Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2019
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 292.02 KB | None | 0 0
  1.  
  2. def get_opts(args, log=False):
  3. seed = int(args[1])
  4. max_num = int(args[2])
  5. max_depth = int(args[3])
  6. random.seed(seed)
  7. sys.setrecursionlimit(20900)
  8. if log:
  9. print("seed=%d, num=%d, depth=%d" % (seed, max_num, max_depth), file=sys.stderr)
  10. return max_num, max_depth
  11.  
  12. pool_of_start = ['<!DOCTYPE html><html><head></head><frameset></frameset></html>', '<!DOCTYPE html><html><head></head><body></body></html>']
  13. pool_of__l_ = ['<']
  14. pool_of__r_ = ['>']
  15. pool_of__cl_ = ['</']
  16. pool_of_a_tag = ['<a></a>']
  17. pool_of_a_content = ['']
  18. pool_of_abbr_tag = ['<abbr></abbr>']
  19. pool_of_acronym_tag = ['<acronym></acronym>']
  20. pool_of_address_tag = ['<address></address>']
  21. pool_of_address_content = ['']
  22. pool_of_applet_content = ['<hr>', '<bgsound>']
  23. pool_of_area = ['<area>']
  24. pool_of_applet_tag = ['<applet><hr></applet>', '<applet><bgsound></applet>']
  25. pool_of_b_tag = ['<b></b>']
  26. pool_of_basefont_tag = ['<basefront><hr></basefront>', '<basefront><bgsound></basefront>']
  27. pool_of_bdo_tag = ['<bdo></bdo>']
  28. pool_of_big_tag = ['<big></big>']
  29. pool_of_blink_tag = ['<blink></blink>']
  30. pool_of_block = ['']
  31. pool_of_block_content = ['<form></form>', '<center></center>', '<pre></pre>', '<menu></menu>', '<ul></ul>', '<table></table>']
  32. pool_of_blockquote_tag = ['<blockquote><bgsound></blockquote>', '<blockquote><hr></blockquote>']
  33. pool_of_body_content = ['<hr>', '<bgsound>']
  34. pool_of_body_tag = ['<body></body>']
  35. pool_of_caption_tag = ['<caption></caption>']
  36. pool_of_center_tag = ['<center></center>']
  37. pool_of_cite_tag = ['<cite></cite>']
  38. pool_of_code_tag = ['<code></code>']
  39. pool_of_colgroup_content = ['<col']
  40. pool_of_colgroup_tag = ['<colgroup><col']
  41. pool_of_content_style = ['<kbd></kbd>', '<q></q>', '<abbr></abbr>', '<em></em>', '<dfn></dfn>', '<var></var>', '<acronym></acronym>', '<cite></cite>', '<code></code>', '<strong></strong>']
  42. pool_of_dd_tag = ['<dd></dd>']
  43. pool_of_del_tag = ['<del></del>']
  44. pool_of_dfn_tag = ['<dfn></dfn>']
  45. pool_of_dir_tag = ['<dir><li></li></dir>']
  46. pool_of_div_tag = ['<div><bgsound></div>', '<div><hr></div>']
  47. pool_of_dl_content = ['<dt></dt><dd></dd>']
  48. pool_of_dl_tag = ['<dl><dt></dt><dd></dd></dl>']
  49. pool_of_dt_tag = ['<dt></dt>']
  50. pool_of_em_tag = ['<em></em>']
  51. pool_of_fieldset_tag = ['<fieldset></fieldset>']
  52. pool_of_flow = ['']
  53. pool_of_flow_content = ['', '']
  54. pool_of_font_tag = ['<font></font>']
  55. pool_of_form_content = ['<keygen>', '<input>']
  56. pool_of_form_tag = ['<form></form>']
  57. pool_of_frameset_content = ['<frame>']
  58. pool_of_frameset_tag = ['<frameset></frameset>']
  59. pool_of_h1_tag = ['<h1></h1>']
  60. pool_of_h2_tag = ['<h2></h2>']
  61. pool_of_h3_tag = ['<h3></h3>']
  62. pool_of_h4_tag = ['<h4></h4>']
  63. pool_of_h5_tag = ['<h5></h5>']
  64. pool_of_h6_tag = ['<h6></h6>']
  65. pool_of_head_content = ['<link>', '<base>', '<meta>']
  66. pool_of_head_tag = ['<head></head>']
  67. pool_of_heading = ['<h3></h3>', '<h1></h1>', '<h5></h5>', '<h2></h2>', '<h6></h6>', '<h4></h4>']
  68. pool_of_html_content = ['<head></head><body></body>', '<head></head><frameset></frameset>']
  69. pool_of_html_document = ['<html><head></head><frameset></frameset></html>', '<html><head></head><body></body></html>']
  70. pool_of_html_tag = ['<html><head></head><body></body></html>', '<html><head></head><frameset></frameset></html>']
  71. pool_of_i_tag = ['<i></i>']
  72. pool_of_ilayer_tag = ['<ilayer><bgsound></ilayer>', '<ilayer><hr></ilayer>']
  73. pool_of_ins_tag = ['<ins></ins>']
  74. pool_of_kbd_tag = ['<kbd></kbd>']
  75. pool_of_label_content = ['<input>']
  76. pool_of_label_tag = ['<label></label>']
  77. pool_of_layer_tag = ['<layer><bgsound></layer>', '<layer><hr></layer>']
  78. pool_of_legend_tag = ['<legend></legend>']
  79. pool_of_li_tag = ['<li></li>']
  80. pool_of_literal_text = ['']
  81. pool_of_listing_tag = ['<listing></listing>']
  82. pool_of_map_content = ['']
  83. pool_of_map_tag = ['<map></map>']
  84. pool_of_marquee_tag = ['<marquee></marquee>']
  85. pool_of_menu_tag = ['<menu></menu>']
  86. pool_of_multicol_tag = ['<multicol><bgsound></multicol>', '<multicol><hr></multicol>']
  87. pool_of_nobr_tag = ['<nobr></nobr>']
  88. pool_of_noembed_tag = ['<noembed></noembed>']
  89. pool_of_noframes_tag = ['<noframes></noframes>']
  90. pool_of_noscript_tag = ['<noscript></noscript>']
  91. pool_of_object_content = ['<hr>', '<bgsound>']
  92. pool_of_object_tag = ['<object><hr></object>', '<object><bgsound></object>']
  93. pool_of_ol_tag = ['<ol><li></li></ol>']
  94. pool_of_optgroup_tag = ['<optgroup></optgroup>']
  95. pool_of_option_tag = ['<option></option>']
  96. pool_of_p_tag = ['<p></p>']
  97. pool_of_param = ['<param>']
  98. pool_of_plain_text = ['']
  99. pool_of_entity = ['F', '2', 'i', '%', 'v', '{', '!', 'c', 's', 'M', '6', 'Q', '[', 'R', 'C', '9', 'W', ',', 'k', 'I', '+', 'a', ']', 'e', 'h', '\\', 'l', '5', 'J', '/', '*', '?', '\r', '3', '1', 'V', 'u', 'p', '$', 'Z', 'H', 'K', 'm', ' ', 'w', "'", 'U', 'b', 'G', 'D', '7', '>', 'z', '\t', '@', 'A', 'q', '~', 't', 'g', 'd', 'P', 'n', '^', 'L', '\n', 'E', 'x', 'y', '(', '-', 'S', '.', '<', '_', '}', '&nbsp;', 'B', ';', ')', 'j', 'f', '=', 'r', 'N', '|', 'Y', 'X', 'o', '#', '\x0c', '4', '8', ':', 'T', '`', '"', '0', 'O']
  100. pool_of_char = ['[', '\r', '/', ' ', 'z', 'M', 'u', '1', '^', 'n', 'p', 'w', 'e', '_', '9', 'P', 'l', 'J', 'N', 'h', '%', 'c', '~', '<', 'f', 'U', 'm', 's', 'o', ']', 'i', 'q', '\x0c', 'D', ',', ';', '\t', 'C', '!', 'Q', 'y', '@', '"', '4', 'O', '0', 'V', 'S', 'b', '+', '7', '\\', 'W', 'Y', "'", 't', 'j', 'd', 'F', 'G', '}', 'B', 'k', '#', 'X', '2', '-', '(', 'Z', 'R', 'K', '?', '6', '5', '|', '*', ':', '3', '>', 'r', '`', '.', 'a', ')', 'A', '$', 'x', '8', '{', 'I', 'g', 'E', '\n', '=', 'L', 'H', 'v', 'T']
  101. pool_of_ampersand = ['&nbsp;']
  102. pool_of_physical_style = ['<font></font>']
  103. pool_of_pre_content = ['<br>', '<hr>']
  104. pool_of_pre_tag = ['<pre></pre>']
  105. pool_of_q_tag = ['<q></q>']
  106. pool_of_s_tag = ['<s></s>']
  107. pool_of_script_tag = ['<script></script>']
  108. pool_of_select_content = ['<optgroup></optgroup>']
  109. pool_of_select_tag = ['<select></select>']
  110. pool_of_small_tag = ['<small></small>']
  111. pool_of_span_tag = ['<span></span>']
  112. pool_of_strike_tag = ['<strike></strike>']
  113. pool_of_strong_tag = ['<strong></strong>']
  114. pool_of_style_tag = ['<style></style>']
  115. pool_of_style_text = ['']
  116. pool_of_sub_tag = ['<sub></sub>']
  117. pool_of_sup_tag = ['<sup></sup>']
  118. pool_of_table_cell = ['<th><hr></th>', '<th><bgsound></th>', '<td><hr></td>', '<td><bgsound></td>']
  119. pool_of_table_content = ['<tbody>', '<thead>', '<tfoot>']
  120. pool_of_table_tag = ['<table></table>']
  121. pool_of_td_tag = ['<td><bgsound></td>', '<td><hr></td>']
  122. pool_of_text = ['']
  123. pool_of_text_content = ['<br>', '<wbr>', '<spacer>', '<img>', '<embed>', '<iframe>']
  124. pool_of_textarea_tag = ['<textarea></textarea>']
  125. pool_of_th_tag = ['<th><bgsound></th>', '<th><hr></th>']
  126. pool_of_title_tag = ['<title></title>']
  127. pool_of_tr_tag = ['<tr></tr>']
  128. pool_of_tt_tag = ['<tt></tt>']
  129. pool_of_u_tag = ['<u></u>']
  130. pool_of_ul_tag = ['<ul></ul>']
  131. pool_of_var_tag = ['<var></var>']
  132. pool_of_xmp_tag = ['<xmp></xmp>']
  133. pool_of_d = ['']
  134. pool_of_attribute = ['\r', 'V', 'r', 'x', '8', 'w', 'z', 'K', 'C', 'M', '4', 'I', 'q', 'd', '!', 'O', '^', '%', 'p', 'E', 'W', '7', '+', '{', 's', 'J', '|', ':', 'P', 'Y', 'Q', '`', '@', '-', 'i', 'c', 'a', 'g', '*', '#', 'o', '9', 'n', ')', ',', 'H', 'R', 'L', 'S', '2', 'N', 'm', 'G', '3', '?', '\\', 'X', '$', 'B', 'b', '0', 'U', 'v', '[', '1', '~', '.', 'y', 'u', 'h', '6', '&', 'D', 'k', '_', 'e', 'f', 'l', ';', 'T', 'Z', '(', 't', 'j', '}', '\x0c', 'F', '5', 'A', ']']
  135. pool_of_key = ['R', 'C', 'h', 'K', '.', '{', 'j', 'D', 'n', '?', '6', 'd', '(', '0', 'x', '#', '1', '}', 'B', 'a', 'S', 'l', '\\', 'q', '2', 'v', 'w', 'Z', '!', '9', 'k', '@', 'L', 'r', 'W', 'i', 'c', 'T', 'E', '+', 'p', 'f', 'O', 'm', 'U', 'V', '$', 't', 'G', 'o', 'P', '3', '\x0c', ';', '7', '|', 's', '8', ')', '`', 'u', 'X', '[', 'H', 'N', '~', '5', '&', 'b', 'F', 'z', 'J', '\r', 'Q', 'A', 'y', ':', '%', 'g', ',', '^', '_', '-', '*', 'e', '4', 'Y', 'I', ']', 'M']
  136. pool_of_allchars = ['y', ',', '8', '5', '6', 'j', '}', 'w', 'R', 'x', '!', 'p', 's', 'H', '+', '7', 'T', 'Q', 'F', 'b', 'h', 'v', 'k', ':', '\r', '0', '#', 'c', '&', 'V', '(', 'l', 'f', ')', 'z', 'm', '2', 'e', '\x0c', 'S', 'P', '*', '@', 'L', '9', 'o', 'W', '1', 't', 'D', 'N', '`', 'A', 'g', 'i', '3', 'u', 'd', 'M', '?', 'X', '_', '-', ';', '[', '~', 'r', 'q', '4', 'E', ']', '.', 'Y', 'n', '^', 'C', 'O', 'a', 'I', 'B', 'Z', 'J', 'U', '%', '{', '$', '|', 'G', 'K', '\\']
  137. pool_of_value = ['']
  138. pool_of_anychar = ['x', 'Z', 'v', 'F', 'p', 'B', ')', '?', '%', ';', 'W', '7', '\r', '2', ',', '=', 'k', ' ', 'G', 'd', 'P', 'g', 'O', '\x0b', '@', '>', 'f', '4', '#', '5', '3', 'I', 'm', "'", 'z', 'X', 'q', 'i', 'J', 'T', '.', '{', '<', '*', '6', '^', 'a', '\n', '"', 'D', '-', 'U', 'A', 'S', 'c', 'w', 'Q', '+', 'L', '|', '(', 'N', 'u', 'Y', 'K', 'r', 'e', 'h', 's', '8', '\\', '[', 'H', '9', 'l', 'V', 'C', 'b', ']', '/', 'n', '}', '\t', '$', '!', '~', 'R', ':', 'M', 't', '&', 'o', 'j', '\x0c', '`', '_', '0', 'E', '1', 'y']
  139. pool_of_anychars = ['']
  140. pool_of_uqvalue = [';', '\\', '.', 'w', '&', ')', 'u', 'A', 'k', 'd', '1', 'S', 'U', 'j', '\x0c', '\r', 'F', 'a', 'm', 'h', '5', '{', 'f', ',', 'q', 'e', '}', '_', 'K', 'Y', 'T', '+', '?', 'D', '%', '@', '-', 'R', 'G', 'P', 'b', ']', 'n', '0', '4', '(', 'v', 'L', 'W', 'V', 'z', 'X', 'r', 'p', 'M', '~', 'i', '6', 's', 'o', 'x', 'y', 'Q', 'E', 'O', '7', 'C', 'l', 'J', 'N', '$', 'B', 'H', ':', 'c', '8', 'I', '|', '2', 'g', '^', 't', '[', '9', '*', '3', '!', 'Z', '#']
  141. pool_of_uqchar = ['E', 'm', '+', 'U', '$', ':', 'H', 'Y', 'D', 's', 'G', '^', '|', 'Q', 'n', 't', '(', 'g', 'v', '_', '4', 'M', '9', 'y', 'S', 'p', 'u', 'X', '6', '7', '\r', 'i', 'd', 'R', 'c', '8', '*', '1', 'T', 'w', '5', 'F', '}', 'o', ']', 'O', '%', 'N', '?', '@', 'k', 'l', 'V', 'x', '[', ')', '0', 'I', 'a', '3', ';', 'J', 'z', '&', 'r', '2', 'q', ',', 'C', 'Z', 'A', '\\', 'j', 'W', '-', 'h', '!', '\x0c', 'P', 'L', '.', 'B', '~', 'K', 'e', '#', 'b', '{', 'f']
  142. pool_of_uqchars = ['o', 'M', 'O', 'd', 'Y', 'H', ';', 'B', 'w', '\x0c', '?', 'F', 'u', 'I', 'p', 'S', 't', '~', 'g', '}', 'P', '+', '!', 'l', 'U', '8', 'J', '_', 'D', '7', '\r', '{', '\\', 'Q', 'V', 'j', 'z', 'b', 'K', 'x', 'v', 'i', '|', ']', 'q', 'X', 'n', 'y', '6', 'G', '3', '@', 'a', '.', '5', 'Z', 'k', 'R', 'N', '4', ')', ',', '&', '[', '(', 'C', '#', 'A', '-', 'm', 'c', 'W', '*', 's', '%', 'e', 'r', '9', ':', '2', '1', '^', 'h', '$', '0', 'f', 'T', 'L', 'E']
  143. pool_of_attributes = ['r', '0', '{', 'M', '%', 'n', 'l', 'v', 'y', '8', 'J', 'm', '4', ',', '?', 's', '9', ';', '}', '\\', '\r', '!', '6', 'G', '`', ':', ')', 'F', 'E', '*', '[', '$', 'b', 'K', '#', '5', '-', 'D', '7', '&', '~', 'N', '1', 'f', 'V', 'I', '^', 'g', 'X', '.', 'R', 'q', 'C', 'z', 't', 'S', 'P', 'x', 'o', 'j', 'W', 'Z', 'u', 'U', 'w', 'h', '_', 'a', 'H', 'c', 'T', 'O', 'd', 'Y', '@', 'k', ']', 'e', '3', '\x0c', '+', 'Q', 'L', '(', 'B', '|', '2', 'p', 'i', 'A']
  144. pool_of_space = ['\t', ' ', '\n']
  145. pool_of_a_content_1 = ['']
  146. pool_of_address_content_1 = ['']
  147. pool_of_param_1 = ['']
  148. pool_of_block_content_1 = ['']
  149. pool_of_body_content_1 = ['']
  150. pool_of_body_content_2 = ['']
  151. pool_of_body_content_3 = ['']
  152. pool_of__r__1 = ['']
  153. pool_of_li_tag_1 = ['<li></li>']
  154. pool_of_dl_content_1 = ['<dt></dt><dd></dd>']
  155. pool_of_legend_tag_1 = ['']
  156. pool_of_form_content_1 = ['']
  157. pool_of_flow_content_1 = ['']
  158. pool_of_form_content_2 = ['']
  159. pool_of_frameset_content_1 = ['']
  160. pool_of_head_content_1 = ['']
  161. pool_of_label_content_1 = ['']
  162. pool_of_area_1 = ['']
  163. pool_of_li_tag_2 = ['']
  164. pool_of_body_content_4 = ['']
  165. pool_of_param_2 = ['']
  166. pool_of_li_tag_3 = ['<li></li>']
  167. pool_of_option_tag_1 = ['']
  168. pool_of_plain_text_1 = ['']
  169. pool_of_entity_1 = ['']
  170. pool_of_pre_content_1 = ['']
  171. pool_of_select_content_1 = ['']
  172. pool_of_caption_tag_1 = ['']
  173. pool_of_colgroup_tag_1 = ['']
  174. pool_of_table_content_1 = ['']
  175. pool_of_text_content_1 = ['']
  176. pool_of_table_cell_1 = ['']
  177. pool_of_li_tag_4 = ['']
  178. pool_of_space_1 = [' ', '\n', '\t']
  179. pool_of_attributes_1 = ['']
  180. pool_of_space_2 = ['']
  181. pool_of_anychar_1 = ['']
  182. pool_of_uqchar_1 = ['v', 'k', 'J', '7', 'g', 'b', 'K', 'n', 'P', 'm', '(', 'U', '&', 'h', 'w', 'd', ']', 'D', ',', '^', '9', 'u', '\r', '*', 'Q', 'N', 'r', 'o', '_', '[', 'j', ';', 'a', 'L', '.', 'S', 'Y', '|', '4', '1', ':', '#', 'T', '@', 'Z', 'i', 'X', ')', 'p', 'x', '}', 'y', '5', 'V', 'W', '\\', '%', 'R', 'l', '0', '6', '-', 'I', '{', 'A', '8', 'z', '!', 'G', 'O', '\x0c', '~', '2', 'M', '+', '?', 'q', '$', 'E', 'F', 'B', 'C', 'H', 's', 't', 'c', 'e', '3', 'f']
  183. pool_of_space_3 = ['\t', ' ', '\n']
  184.  
  185. result = []
  186.  
  187. def gen_start(depth, max_depth):
  188. next_depth = depth + 1
  189. if depth > max_depth:
  190. result.append(random.choice(pool_of_start))
  191. return
  192. val = random.randrange(1)
  193. if val == 0:
  194. gen__l_(next_depth, max_depth)
  195. result.append("!")
  196. result.append("D")
  197. result.append("O")
  198. result.append("C")
  199. result.append("T")
  200. result.append("Y")
  201. result.append("P")
  202. result.append("E")
  203. result.append(" ")
  204. result.append("h")
  205. result.append("t")
  206. result.append("m")
  207. result.append("l")
  208. gen__r_(next_depth, max_depth)
  209. gen_html_document(next_depth, max_depth)
  210. return
  211.  
  212. def gen__l_(depth, max_depth):
  213. next_depth = depth + 1
  214. if depth > max_depth:
  215. result.append(random.choice(pool_of__l_))
  216. return
  217. val = random.randrange(1)
  218. if val == 0:
  219. result.append("<")
  220. return
  221.  
  222. def gen__r_(depth, max_depth):
  223. next_depth = depth + 1
  224. if depth > max_depth:
  225. result.append(random.choice(pool_of__r_))
  226. return
  227. val = random.randrange(1)
  228. if val == 0:
  229. result.append(">")
  230. return
  231.  
  232. def gen__cl_(depth, max_depth):
  233. next_depth = depth + 1
  234. if depth > max_depth:
  235. result.append(random.choice(pool_of__cl_))
  236. return
  237. val = random.randrange(1)
  238. if val == 0:
  239. result.append("<")
  240. result.append("/")
  241. return
  242.  
  243. def gen_a_tag(depth, max_depth):
  244. next_depth = depth + 1
  245. if depth > max_depth:
  246. result.append(random.choice(pool_of_a_tag))
  247. return
  248. val = random.randrange(1)
  249. if val == 0:
  250. gen__l_(next_depth, max_depth)
  251. result.append("a")
  252. gen_d(next_depth, max_depth)
  253. gen__r_(next_depth, max_depth)
  254. gen_a_content_1(next_depth, max_depth)
  255. gen__cl_(next_depth, max_depth)
  256. result.append("a")
  257. gen__r_(next_depth, max_depth)
  258. return
  259.  
  260. def gen_a_content(depth, max_depth):
  261. next_depth = depth + 1
  262. if depth > max_depth:
  263. result.append(random.choice(pool_of_a_content))
  264. return
  265. val = random.randrange(2)
  266. if val == 0:
  267. gen_text(next_depth, max_depth)
  268. return
  269. if val == 1:
  270. gen_heading(next_depth, max_depth)
  271. return
  272.  
  273. def gen_abbr_tag(depth, max_depth):
  274. next_depth = depth + 1
  275. if depth > max_depth:
  276. result.append(random.choice(pool_of_abbr_tag))
  277. return
  278. val = random.randrange(1)
  279. if val == 0:
  280. gen__l_(next_depth, max_depth)
  281. result.append("a")
  282. result.append("b")
  283. result.append("b")
  284. result.append("r")
  285. gen_d(next_depth, max_depth)
  286. gen__r_(next_depth, max_depth)
  287. gen_text(next_depth, max_depth)
  288. gen__cl_(next_depth, max_depth)
  289. result.append("a")
  290. result.append("b")
  291. result.append("b")
  292. result.append("r")
  293. gen__r_(next_depth, max_depth)
  294. return
  295.  
  296. def gen_acronym_tag(depth, max_depth):
  297. next_depth = depth + 1
  298. if depth > max_depth:
  299. result.append(random.choice(pool_of_acronym_tag))
  300. return
  301. val = random.randrange(1)
  302. if val == 0:
  303. gen__l_(next_depth, max_depth)
  304. result.append("a")
  305. result.append("c")
  306. result.append("r")
  307. result.append("o")
  308. result.append("n")
  309. result.append("y")
  310. result.append("m")
  311. gen_d(next_depth, max_depth)
  312. gen__r_(next_depth, max_depth)
  313. gen_text(next_depth, max_depth)
  314. gen__cl_(next_depth, max_depth)
  315. result.append("a")
  316. result.append("c")
  317. result.append("r")
  318. result.append("o")
  319. result.append("n")
  320. result.append("y")
  321. result.append("m")
  322. gen__r_(next_depth, max_depth)
  323. return
  324.  
  325. def gen_address_tag(depth, max_depth):
  326. next_depth = depth + 1
  327. if depth > max_depth:
  328. result.append(random.choice(pool_of_address_tag))
  329. return
  330. val = random.randrange(1)
  331. if val == 0:
  332. gen__l_(next_depth, max_depth)
  333. result.append("a")
  334. result.append("d")
  335. result.append("d")
  336. result.append("r")
  337. result.append("e")
  338. result.append("s")
  339. result.append("s")
  340. gen_d(next_depth, max_depth)
  341. gen__r_(next_depth, max_depth)
  342. gen_address_content_1(next_depth, max_depth)
  343. gen__cl_(next_depth, max_depth)
  344. result.append("a")
  345. result.append("d")
  346. result.append("d")
  347. result.append("r")
  348. result.append("e")
  349. result.append("s")
  350. result.append("s")
  351. gen__r_(next_depth, max_depth)
  352. return
  353.  
  354. def gen_address_content(depth, max_depth):
  355. next_depth = depth + 1
  356. if depth > max_depth:
  357. result.append(random.choice(pool_of_address_content))
  358. return
  359. val = random.randrange(2)
  360. if val == 0:
  361. gen_text(next_depth, max_depth)
  362. return
  363. if val == 1:
  364. gen_p_tag(next_depth, max_depth)
  365. return
  366.  
  367. def gen_applet_content(depth, max_depth):
  368. next_depth = depth + 1
  369. if depth > max_depth:
  370. result.append(random.choice(pool_of_applet_content))
  371. return
  372. val = random.randrange(1)
  373. if val == 0:
  374. gen_param_1(next_depth, max_depth)
  375. gen_body_content(next_depth, max_depth)
  376. return
  377.  
  378. def gen_area(depth, max_depth):
  379. next_depth = depth + 1
  380. if depth > max_depth:
  381. result.append(random.choice(pool_of_area))
  382. return
  383. val = random.randrange(1)
  384. if val == 0:
  385. gen__l_(next_depth, max_depth)
  386. result.append("a")
  387. result.append("r")
  388. result.append("e")
  389. result.append("a")
  390. gen_d(next_depth, max_depth)
  391. gen__r_(next_depth, max_depth)
  392. return
  393.  
  394. def gen_applet_tag(depth, max_depth):
  395. next_depth = depth + 1
  396. if depth > max_depth:
  397. result.append(random.choice(pool_of_applet_tag))
  398. return
  399. val = random.randrange(1)
  400. if val == 0:
  401. gen__l_(next_depth, max_depth)
  402. result.append("a")
  403. result.append("p")
  404. result.append("p")
  405. result.append("l")
  406. result.append("e")
  407. result.append("t")
  408. gen_d(next_depth, max_depth)
  409. gen__r_(next_depth, max_depth)
  410. gen_applet_content(next_depth, max_depth)
  411. gen__cl_(next_depth, max_depth)
  412. result.append("a")
  413. result.append("p")
  414. result.append("p")
  415. result.append("l")
  416. result.append("e")
  417. result.append("t")
  418. gen__r_(next_depth, max_depth)
  419. return
  420.  
  421. def gen_b_tag(depth, max_depth):
  422. next_depth = depth + 1
  423. if depth > max_depth:
  424. result.append(random.choice(pool_of_b_tag))
  425. return
  426. val = random.randrange(1)
  427. if val == 0:
  428. gen__l_(next_depth, max_depth)
  429. result.append("b")
  430. gen_d(next_depth, max_depth)
  431. gen__r_(next_depth, max_depth)
  432. gen_text(next_depth, max_depth)
  433. gen__cl_(next_depth, max_depth)
  434. result.append("b")
  435. gen__r_(next_depth, max_depth)
  436. return
  437.  
  438. def gen_basefont_tag(depth, max_depth):
  439. next_depth = depth + 1
  440. if depth > max_depth:
  441. result.append(random.choice(pool_of_basefont_tag))
  442. return
  443. val = random.randrange(1)
  444. if val == 0:
  445. gen__l_(next_depth, max_depth)
  446. result.append("b")
  447. result.append("a")
  448. result.append("s")
  449. result.append("e")
  450. result.append("f")
  451. result.append("r")
  452. result.append("o")
  453. result.append("n")
  454. result.append("t")
  455. gen_d(next_depth, max_depth)
  456. gen__r_(next_depth, max_depth)
  457. gen_body_content(next_depth, max_depth)
  458. gen__cl_(next_depth, max_depth)
  459. result.append("b")
  460. result.append("a")
  461. result.append("s")
  462. result.append("e")
  463. result.append("f")
  464. result.append("r")
  465. result.append("o")
  466. result.append("n")
  467. result.append("t")
  468. gen__r_(next_depth, max_depth)
  469. return
  470.  
  471. def gen_bdo_tag(depth, max_depth):
  472. next_depth = depth + 1
  473. if depth > max_depth:
  474. result.append(random.choice(pool_of_bdo_tag))
  475. return
  476. val = random.randrange(1)
  477. if val == 0:
  478. gen__l_(next_depth, max_depth)
  479. result.append("b")
  480. result.append("d")
  481. result.append("o")
  482. gen_d(next_depth, max_depth)
  483. gen__r_(next_depth, max_depth)
  484. gen_text(next_depth, max_depth)
  485. gen__cl_(next_depth, max_depth)
  486. result.append("b")
  487. result.append("d")
  488. result.append("o")
  489. gen__r_(next_depth, max_depth)
  490. return
  491.  
  492. def gen_big_tag(depth, max_depth):
  493. next_depth = depth + 1
  494. if depth > max_depth:
  495. result.append(random.choice(pool_of_big_tag))
  496. return
  497. val = random.randrange(1)
  498. if val == 0:
  499. gen__l_(next_depth, max_depth)
  500. result.append("b")
  501. result.append("i")
  502. result.append("g")
  503. gen_d(next_depth, max_depth)
  504. gen__r_(next_depth, max_depth)
  505. gen_text(next_depth, max_depth)
  506. gen__cl_(next_depth, max_depth)
  507. result.append("b")
  508. result.append("i")
  509. result.append("g")
  510. gen__r_(next_depth, max_depth)
  511. return
  512.  
  513. def gen_blink_tag(depth, max_depth):
  514. next_depth = depth + 1
  515. if depth > max_depth:
  516. result.append(random.choice(pool_of_blink_tag))
  517. return
  518. val = random.randrange(1)
  519. if val == 0:
  520. gen__l_(next_depth, max_depth)
  521. result.append("b")
  522. result.append("l")
  523. result.append("i")
  524. result.append("n")
  525. result.append("k")
  526. gen_d(next_depth, max_depth)
  527. gen__r_(next_depth, max_depth)
  528. gen_text(next_depth, max_depth)
  529. gen__cl_(next_depth, max_depth)
  530. result.append("b")
  531. result.append("l")
  532. result.append("i")
  533. result.append("n")
  534. result.append("k")
  535. gen__r_(next_depth, max_depth)
  536. return
  537.  
  538. def gen_block(depth, max_depth):
  539. next_depth = depth + 1
  540. if depth > max_depth:
  541. result.append(random.choice(pool_of_block))
  542. return
  543. val = random.randrange(1)
  544. if val == 0:
  545. gen_block_content_1(next_depth, max_depth)
  546. return
  547.  
  548. def gen_block_content(depth, max_depth):
  549. next_depth = depth + 1
  550. if depth > max_depth:
  551. result.append(random.choice(pool_of_block_content))
  552. return
  553. val = random.randrange(17)
  554. if val == 0:
  555. gen_center_tag(next_depth, max_depth)
  556. return
  557. if val == 1:
  558. gen_form_tag(next_depth, max_depth)
  559. return
  560. if val == 2:
  561. gen_menu_tag(next_depth, max_depth)
  562. return
  563. if val == 3:
  564. gen_pre_tag(next_depth, max_depth)
  565. return
  566. if val == 4:
  567. gen_table_tag(next_depth, max_depth)
  568. return
  569. if val == 5:
  570. gen_ul_tag(next_depth, max_depth)
  571. return
  572. if val == 6:
  573. gen_nobr_tag(next_depth, max_depth)
  574. return
  575. if val == 7:
  576. gen_p_tag(next_depth, max_depth)
  577. return
  578. if val == 8:
  579. gen_listing_tag(next_depth, max_depth)
  580. return
  581. if val == 9:
  582. gen_xmp_tag(next_depth, max_depth)
  583. return
  584. if val == 10:
  585. gen_dir_tag(next_depth, max_depth)
  586. return
  587. if val == 11:
  588. gen_ol_tag(next_depth, max_depth)
  589. return
  590. if val == 12:
  591. gen_dl_tag(next_depth, max_depth)
  592. return
  593. if val == 13:
  594. gen_basefont_tag(next_depth, max_depth)
  595. return
  596. if val == 14:
  597. gen_blockquote_tag(next_depth, max_depth)
  598. return
  599. if val == 15:
  600. gen_div_tag(next_depth, max_depth)
  601. return
  602. if val == 16:
  603. gen_multicol_tag(next_depth, max_depth)
  604. return
  605.  
  606. def gen_blockquote_tag(depth, max_depth):
  607. next_depth = depth + 1
  608. if depth > max_depth:
  609. result.append(random.choice(pool_of_blockquote_tag))
  610. return
  611. val = random.randrange(1)
  612. if val == 0:
  613. gen__l_(next_depth, max_depth)
  614. result.append("b")
  615. result.append("l")
  616. result.append("o")
  617. result.append("c")
  618. result.append("k")
  619. result.append("q")
  620. result.append("u")
  621. result.append("o")
  622. result.append("t")
  623. result.append("e")
  624. gen_d(next_depth, max_depth)
  625. gen__r_(next_depth, max_depth)
  626. gen_body_content(next_depth, max_depth)
  627. gen__cl_(next_depth, max_depth)
  628. result.append("b")
  629. result.append("l")
  630. result.append("o")
  631. result.append("c")
  632. result.append("k")
  633. result.append("q")
  634. result.append("u")
  635. result.append("o")
  636. result.append("t")
  637. result.append("e")
  638. gen__r_(next_depth, max_depth)
  639. return
  640.  
  641. def gen_body_content(depth, max_depth):
  642. next_depth = depth + 1
  643. if depth > max_depth:
  644. result.append(random.choice(pool_of_body_content))
  645. return
  646. val = random.randrange(11)
  647. if val == 0:
  648. gen__l_(next_depth, max_depth)
  649. result.append("b")
  650. result.append("g")
  651. result.append("s")
  652. result.append("o")
  653. result.append("u")
  654. result.append("n")
  655. result.append("d")
  656. gen_d(next_depth, max_depth)
  657. gen__r_(next_depth, max_depth)
  658. return
  659. if val == 1:
  660. gen__l_(next_depth, max_depth)
  661. result.append("h")
  662. result.append("r")
  663. gen__r_(next_depth, max_depth)
  664. return
  665. if val == 2:
  666. gen_address_tag(next_depth, max_depth)
  667. return
  668. if val == 3:
  669. gen_block(next_depth, max_depth)
  670. return
  671. if val == 4:
  672. gen_text(next_depth, max_depth)
  673. return
  674. if val == 5:
  675. gen_del_tag(next_depth, max_depth)
  676. return
  677. if val == 6:
  678. gen_ins_tag(next_depth, max_depth)
  679. return
  680. if val == 7:
  681. gen_map_tag(next_depth, max_depth)
  682. return
  683. if val == 8:
  684. gen_marquee_tag(next_depth, max_depth)
  685. return
  686. if val == 9:
  687. gen_heading(next_depth, max_depth)
  688. return
  689. if val == 10:
  690. gen_layer_tag(next_depth, max_depth)
  691. return
  692.  
  693. def gen_body_tag(depth, max_depth):
  694. next_depth = depth + 1
  695. if depth > max_depth:
  696. result.append(random.choice(pool_of_body_tag))
  697. return
  698. val = random.randrange(1)
  699. if val == 0:
  700. gen__l_(next_depth, max_depth)
  701. result.append("b")
  702. result.append("o")
  703. result.append("d")
  704. result.append("y")
  705. gen_d(next_depth, max_depth)
  706. gen__r_(next_depth, max_depth)
  707. gen_body_content_1(next_depth, max_depth)
  708. gen__cl_(next_depth, max_depth)
  709. result.append("b")
  710. result.append("o")
  711. result.append("d")
  712. result.append("y")
  713. gen__r_(next_depth, max_depth)
  714. return
  715.  
  716. def gen_caption_tag(depth, max_depth):
  717. next_depth = depth + 1
  718. if depth > max_depth:
  719. result.append(random.choice(pool_of_caption_tag))
  720. return
  721. val = random.randrange(1)
  722. if val == 0:
  723. gen__l_(next_depth, max_depth)
  724. result.append("c")
  725. result.append("a")
  726. result.append("p")
  727. result.append("t")
  728. result.append("i")
  729. result.append("o")
  730. result.append("n")
  731. gen_d(next_depth, max_depth)
  732. gen__r_(next_depth, max_depth)
  733. gen_body_content_2(next_depth, max_depth)
  734. gen__cl_(next_depth, max_depth)
  735. result.append("c")
  736. result.append("a")
  737. result.append("p")
  738. result.append("t")
  739. result.append("i")
  740. result.append("o")
  741. result.append("n")
  742. gen__r_(next_depth, max_depth)
  743. return
  744.  
  745. def gen_center_tag(depth, max_depth):
  746. next_depth = depth + 1
  747. if depth > max_depth:
  748. result.append(random.choice(pool_of_center_tag))
  749. return
  750. val = random.randrange(1)
  751. if val == 0:
  752. gen__l_(next_depth, max_depth)
  753. result.append("c")
  754. result.append("e")
  755. result.append("n")
  756. result.append("t")
  757. result.append("e")
  758. result.append("r")
  759. gen_d(next_depth, max_depth)
  760. gen__r_(next_depth, max_depth)
  761. gen_body_content_3(next_depth, max_depth)
  762. gen__cl_(next_depth, max_depth)
  763. result.append("c")
  764. result.append("e")
  765. result.append("n")
  766. result.append("t")
  767. result.append("e")
  768. result.append("r")
  769. gen__r_(next_depth, max_depth)
  770. return
  771.  
  772. def gen_cite_tag(depth, max_depth):
  773. next_depth = depth + 1
  774. if depth > max_depth:
  775. result.append(random.choice(pool_of_cite_tag))
  776. return
  777. val = random.randrange(1)
  778. if val == 0:
  779. gen__l_(next_depth, max_depth)
  780. result.append("c")
  781. result.append("i")
  782. result.append("t")
  783. result.append("e")
  784. gen_d(next_depth, max_depth)
  785. gen__r_(next_depth, max_depth)
  786. gen_text(next_depth, max_depth)
  787. gen__cl_(next_depth, max_depth)
  788. result.append("c")
  789. result.append("i")
  790. result.append("t")
  791. result.append("e")
  792. gen__r_(next_depth, max_depth)
  793. return
  794.  
  795. def gen_code_tag(depth, max_depth):
  796. next_depth = depth + 1
  797. if depth > max_depth:
  798. result.append(random.choice(pool_of_code_tag))
  799. return
  800. val = random.randrange(1)
  801. if val == 0:
  802. gen__l_(next_depth, max_depth)
  803. result.append("c")
  804. result.append("o")
  805. result.append("d")
  806. result.append("e")
  807. gen_d(next_depth, max_depth)
  808. gen__r_(next_depth, max_depth)
  809. gen_text(next_depth, max_depth)
  810. gen__cl_(next_depth, max_depth)
  811. result.append("c")
  812. result.append("o")
  813. result.append("d")
  814. result.append("e")
  815. gen__r_(next_depth, max_depth)
  816. return
  817.  
  818. def gen_colgroup_content(depth, max_depth):
  819. next_depth = depth + 1
  820. if depth > max_depth:
  821. result.append(random.choice(pool_of_colgroup_content))
  822. return
  823. val = random.randrange(1)
  824. if val == 0:
  825. gen__l_(next_depth, max_depth)
  826. result.append("c")
  827. result.append("o")
  828. result.append("l")
  829. gen_d(next_depth, max_depth)
  830. gen__r__1(next_depth, max_depth)
  831. return
  832.  
  833. def gen_colgroup_tag(depth, max_depth):
  834. next_depth = depth + 1
  835. if depth > max_depth:
  836. result.append(random.choice(pool_of_colgroup_tag))
  837. return
  838. val = random.randrange(1)
  839. if val == 0:
  840. gen__l_(next_depth, max_depth)
  841. result.append("c")
  842. result.append("o")
  843. result.append("l")
  844. result.append("g")
  845. result.append("r")
  846. result.append("o")
  847. result.append("u")
  848. result.append("p")
  849. gen_d(next_depth, max_depth)
  850. gen__r_(next_depth, max_depth)
  851. gen_colgroup_content(next_depth, max_depth)
  852. return
  853.  
  854. def gen_content_style(depth, max_depth):
  855. next_depth = depth + 1
  856. if depth > max_depth:
  857. result.append(random.choice(pool_of_content_style))
  858. return
  859. val = random.randrange(10)
  860. if val == 0:
  861. gen_abbr_tag(next_depth, max_depth)
  862. return
  863. if val == 1:
  864. gen_acronym_tag(next_depth, max_depth)
  865. return
  866. if val == 2:
  867. gen_cite_tag(next_depth, max_depth)
  868. return
  869. if val == 3:
  870. gen_code_tag(next_depth, max_depth)
  871. return
  872. if val == 4:
  873. gen_dfn_tag(next_depth, max_depth)
  874. return
  875. if val == 5:
  876. gen_em_tag(next_depth, max_depth)
  877. return
  878. if val == 6:
  879. gen_kbd_tag(next_depth, max_depth)
  880. return
  881. if val == 7:
  882. gen_q_tag(next_depth, max_depth)
  883. return
  884. if val == 8:
  885. gen_strong_tag(next_depth, max_depth)
  886. return
  887. if val == 9:
  888. gen_var_tag(next_depth, max_depth)
  889. return
  890.  
  891. def gen_dd_tag(depth, max_depth):
  892. next_depth = depth + 1
  893. if depth > max_depth:
  894. result.append(random.choice(pool_of_dd_tag))
  895. return
  896. val = random.randrange(1)
  897. if val == 0:
  898. gen__l_(next_depth, max_depth)
  899. result.append("d")
  900. result.append("d")
  901. gen_d(next_depth, max_depth)
  902. gen__r_(next_depth, max_depth)
  903. gen_flow(next_depth, max_depth)
  904. gen__cl_(next_depth, max_depth)
  905. result.append("d")
  906. result.append("d")
  907. gen__r_(next_depth, max_depth)
  908. return
  909.  
  910. def gen_del_tag(depth, max_depth):
  911. next_depth = depth + 1
  912. if depth > max_depth:
  913. result.append(random.choice(pool_of_del_tag))
  914. return
  915. val = random.randrange(1)
  916. if val == 0:
  917. gen__l_(next_depth, max_depth)
  918. result.append("d")
  919. result.append("e")
  920. result.append("l")
  921. gen_d(next_depth, max_depth)
  922. gen__r_(next_depth, max_depth)
  923. gen_flow(next_depth, max_depth)
  924. gen__cl_(next_depth, max_depth)
  925. result.append("d")
  926. result.append("e")
  927. result.append("l")
  928. gen__r_(next_depth, max_depth)
  929. return
  930.  
  931. def gen_dfn_tag(depth, max_depth):
  932. next_depth = depth + 1
  933. if depth > max_depth:
  934. result.append(random.choice(pool_of_dfn_tag))
  935. return
  936. val = random.randrange(1)
  937. if val == 0:
  938. gen__l_(next_depth, max_depth)
  939. result.append("d")
  940. result.append("f")
  941. result.append("n")
  942. gen_d(next_depth, max_depth)
  943. gen__r_(next_depth, max_depth)
  944. gen_text(next_depth, max_depth)
  945. gen__cl_(next_depth, max_depth)
  946. result.append("d")
  947. result.append("f")
  948. result.append("n")
  949. gen__r_(next_depth, max_depth)
  950. return
  951.  
  952. def gen_dir_tag(depth, max_depth):
  953. next_depth = depth + 1
  954. if depth > max_depth:
  955. result.append(random.choice(pool_of_dir_tag))
  956. return
  957. val = random.randrange(1)
  958. if val == 0:
  959. gen__l_(next_depth, max_depth)
  960. result.append("d")
  961. result.append("i")
  962. result.append("r")
  963. gen_d(next_depth, max_depth)
  964. gen__r_(next_depth, max_depth)
  965. gen_li_tag_1(next_depth, max_depth)
  966. gen__cl_(next_depth, max_depth)
  967. result.append("d")
  968. result.append("i")
  969. result.append("r")
  970. gen__r_(next_depth, max_depth)
  971. return
  972.  
  973. def gen_div_tag(depth, max_depth):
  974. next_depth = depth + 1
  975. if depth > max_depth:
  976. result.append(random.choice(pool_of_div_tag))
  977. return
  978. val = random.randrange(1)
  979. if val == 0:
  980. gen__l_(next_depth, max_depth)
  981. result.append("d")
  982. result.append("i")
  983. result.append("v")
  984. gen_d(next_depth, max_depth)
  985. gen__r_(next_depth, max_depth)
  986. gen_body_content(next_depth, max_depth)
  987. gen__cl_(next_depth, max_depth)
  988. result.append("d")
  989. result.append("i")
  990. result.append("v")
  991. gen__r_(next_depth, max_depth)
  992. return
  993.  
  994. def gen_dl_content(depth, max_depth):
  995. next_depth = depth + 1
  996. if depth > max_depth:
  997. result.append(random.choice(pool_of_dl_content))
  998. return
  999. val = random.randrange(1)
  1000. if val == 0:
  1001. gen_dt_tag(next_depth, max_depth)
  1002. gen_dd_tag(next_depth, max_depth)
  1003. return
  1004.  
  1005. def gen_dl_tag(depth, max_depth):
  1006. next_depth = depth + 1
  1007. if depth > max_depth:
  1008. result.append(random.choice(pool_of_dl_tag))
  1009. return
  1010. val = random.randrange(1)
  1011. if val == 0:
  1012. gen__l_(next_depth, max_depth)
  1013. result.append("d")
  1014. result.append("l")
  1015. gen_d(next_depth, max_depth)
  1016. gen__r_(next_depth, max_depth)
  1017. gen_dl_content_1(next_depth, max_depth)
  1018. gen__cl_(next_depth, max_depth)
  1019. result.append("d")
  1020. result.append("l")
  1021. gen__r_(next_depth, max_depth)
  1022. return
  1023.  
  1024. def gen_dt_tag(depth, max_depth):
  1025. next_depth = depth + 1
  1026. if depth > max_depth:
  1027. result.append(random.choice(pool_of_dt_tag))
  1028. return
  1029. val = random.randrange(1)
  1030. if val == 0:
  1031. gen__l_(next_depth, max_depth)
  1032. result.append("d")
  1033. result.append("t")
  1034. gen_d(next_depth, max_depth)
  1035. gen__r_(next_depth, max_depth)
  1036. gen_text(next_depth, max_depth)
  1037. gen__cl_(next_depth, max_depth)
  1038. result.append("d")
  1039. result.append("t")
  1040. gen__r_(next_depth, max_depth)
  1041. return
  1042.  
  1043. def gen_em_tag(depth, max_depth):
  1044. next_depth = depth + 1
  1045. if depth > max_depth:
  1046. result.append(random.choice(pool_of_em_tag))
  1047. return
  1048. val = random.randrange(1)
  1049. if val == 0:
  1050. gen__l_(next_depth, max_depth)
  1051. result.append("e")
  1052. result.append("m")
  1053. gen_d(next_depth, max_depth)
  1054. gen__r_(next_depth, max_depth)
  1055. gen_text(next_depth, max_depth)
  1056. gen__cl_(next_depth, max_depth)
  1057. result.append("e")
  1058. result.append("m")
  1059. gen__r_(next_depth, max_depth)
  1060. return
  1061.  
  1062. def gen_fieldset_tag(depth, max_depth):
  1063. next_depth = depth + 1
  1064. if depth > max_depth:
  1065. result.append(random.choice(pool_of_fieldset_tag))
  1066. return
  1067. val = random.randrange(1)
  1068. if val == 0:
  1069. gen__l_(next_depth, max_depth)
  1070. result.append("f")
  1071. result.append("i")
  1072. result.append("e")
  1073. result.append("l")
  1074. result.append("d")
  1075. result.append("s")
  1076. result.append("e")
  1077. result.append("t")
  1078. gen_d(next_depth, max_depth)
  1079. gen__r_(next_depth, max_depth)
  1080. gen_legend_tag_1(next_depth, max_depth)
  1081. gen_form_content_1(next_depth, max_depth)
  1082. gen__cl_(next_depth, max_depth)
  1083. result.append("f")
  1084. result.append("i")
  1085. result.append("e")
  1086. result.append("l")
  1087. result.append("d")
  1088. result.append("s")
  1089. result.append("e")
  1090. result.append("t")
  1091. gen__r_(next_depth, max_depth)
  1092. return
  1093.  
  1094. def gen_flow(depth, max_depth):
  1095. next_depth = depth + 1
  1096. if depth > max_depth:
  1097. result.append(random.choice(pool_of_flow))
  1098. return
  1099. val = random.randrange(1)
  1100. if val == 0:
  1101. gen_flow_content_1(next_depth, max_depth)
  1102. return
  1103.  
  1104. def gen_flow_content(depth, max_depth):
  1105. next_depth = depth + 1
  1106. if depth > max_depth:
  1107. result.append(random.choice(pool_of_flow_content))
  1108. return
  1109. val = random.randrange(2)
  1110. if val == 0:
  1111. gen_block(next_depth, max_depth)
  1112. return
  1113. if val == 1:
  1114. gen_text(next_depth, max_depth)
  1115. return
  1116.  
  1117. def gen_font_tag(depth, max_depth):
  1118. next_depth = depth + 1
  1119. if depth > max_depth:
  1120. result.append(random.choice(pool_of_font_tag))
  1121. return
  1122. val = random.randrange(1)
  1123. if val == 0:
  1124. gen__l_(next_depth, max_depth)
  1125. result.append("f")
  1126. result.append("o")
  1127. result.append("n")
  1128. result.append("t")
  1129. gen_d(next_depth, max_depth)
  1130. gen__r_(next_depth, max_depth)
  1131. gen_style_text(next_depth, max_depth)
  1132. gen__cl_(next_depth, max_depth)
  1133. result.append("f")
  1134. result.append("o")
  1135. result.append("n")
  1136. result.append("t")
  1137. gen__r_(next_depth, max_depth)
  1138. return
  1139.  
  1140. def gen_form_content(depth, max_depth):
  1141. next_depth = depth + 1
  1142. if depth > max_depth:
  1143. result.append(random.choice(pool_of_form_content))
  1144. return
  1145. val = random.randrange(7)
  1146. if val == 0:
  1147. gen__l_(next_depth, max_depth)
  1148. result.append("i")
  1149. result.append("n")
  1150. result.append("p")
  1151. result.append("u")
  1152. result.append("t")
  1153. gen_d(next_depth, max_depth)
  1154. gen__r_(next_depth, max_depth)
  1155. return
  1156. if val == 1:
  1157. gen__l_(next_depth, max_depth)
  1158. result.append("k")
  1159. result.append("e")
  1160. result.append("y")
  1161. result.append("g")
  1162. result.append("e")
  1163. result.append("n")
  1164. gen_d(next_depth, max_depth)
  1165. gen__r_(next_depth, max_depth)
  1166. return
  1167. if val == 2:
  1168. gen_body_content(next_depth, max_depth)
  1169. return
  1170. if val == 3:
  1171. gen_fieldset_tag(next_depth, max_depth)
  1172. return
  1173. if val == 4:
  1174. gen_label_tag(next_depth, max_depth)
  1175. return
  1176. if val == 5:
  1177. gen_select_tag(next_depth, max_depth)
  1178. return
  1179. if val == 6:
  1180. gen_textarea_tag(next_depth, max_depth)
  1181. return
  1182.  
  1183. def gen_form_tag(depth, max_depth):
  1184. next_depth = depth + 1
  1185. if depth > max_depth:
  1186. result.append(random.choice(pool_of_form_tag))
  1187. return
  1188. val = random.randrange(1)
  1189. if val == 0:
  1190. gen__l_(next_depth, max_depth)
  1191. result.append("f")
  1192. result.append("o")
  1193. result.append("r")
  1194. result.append("m")
  1195. gen_d(next_depth, max_depth)
  1196. gen__r_(next_depth, max_depth)
  1197. gen_form_content_2(next_depth, max_depth)
  1198. gen__cl_(next_depth, max_depth)
  1199. result.append("f")
  1200. result.append("o")
  1201. result.append("r")
  1202. result.append("m")
  1203. gen__r_(next_depth, max_depth)
  1204. return
  1205.  
  1206. def gen_frameset_content(depth, max_depth):
  1207. next_depth = depth + 1
  1208. if depth > max_depth:
  1209. result.append(random.choice(pool_of_frameset_content))
  1210. return
  1211. val = random.randrange(2)
  1212. if val == 0:
  1213. gen__l_(next_depth, max_depth)
  1214. result.append("f")
  1215. result.append("r")
  1216. result.append("a")
  1217. result.append("m")
  1218. result.append("e")
  1219. gen_d(next_depth, max_depth)
  1220. gen__r_(next_depth, max_depth)
  1221. return
  1222. if val == 1:
  1223. gen_noframes_tag(next_depth, max_depth)
  1224. return
  1225.  
  1226. def gen_frameset_tag(depth, max_depth):
  1227. next_depth = depth + 1
  1228. if depth > max_depth:
  1229. result.append(random.choice(pool_of_frameset_tag))
  1230. return
  1231. val = random.randrange(1)
  1232. if val == 0:
  1233. gen__l_(next_depth, max_depth)
  1234. result.append("f")
  1235. result.append("r")
  1236. result.append("a")
  1237. result.append("m")
  1238. result.append("e")
  1239. result.append("s")
  1240. result.append("e")
  1241. result.append("t")
  1242. gen_d(next_depth, max_depth)
  1243. gen__r_(next_depth, max_depth)
  1244. gen_frameset_content_1(next_depth, max_depth)
  1245. gen__cl_(next_depth, max_depth)
  1246. result.append("f")
  1247. result.append("r")
  1248. result.append("a")
  1249. result.append("m")
  1250. result.append("e")
  1251. result.append("s")
  1252. result.append("e")
  1253. result.append("t")
  1254. gen__r_(next_depth, max_depth)
  1255. return
  1256.  
  1257. def gen_h1_tag(depth, max_depth):
  1258. next_depth = depth + 1
  1259. if depth > max_depth:
  1260. result.append(random.choice(pool_of_h1_tag))
  1261. return
  1262. val = random.randrange(1)
  1263. if val == 0:
  1264. gen__l_(next_depth, max_depth)
  1265. result.append("h")
  1266. result.append("1")
  1267. gen_d(next_depth, max_depth)
  1268. gen__r_(next_depth, max_depth)
  1269. gen_text(next_depth, max_depth)
  1270. gen__cl_(next_depth, max_depth)
  1271. result.append("h")
  1272. result.append("1")
  1273. gen__r_(next_depth, max_depth)
  1274. return
  1275.  
  1276. def gen_h2_tag(depth, max_depth):
  1277. next_depth = depth + 1
  1278. if depth > max_depth:
  1279. result.append(random.choice(pool_of_h2_tag))
  1280. return
  1281. val = random.randrange(1)
  1282. if val == 0:
  1283. gen__l_(next_depth, max_depth)
  1284. result.append("h")
  1285. result.append("2")
  1286. gen_d(next_depth, max_depth)
  1287. gen__r_(next_depth, max_depth)
  1288. gen_text(next_depth, max_depth)
  1289. gen__cl_(next_depth, max_depth)
  1290. result.append("h")
  1291. result.append("2")
  1292. gen__r_(next_depth, max_depth)
  1293. return
  1294.  
  1295. def gen_h3_tag(depth, max_depth):
  1296. next_depth = depth + 1
  1297. if depth > max_depth:
  1298. result.append(random.choice(pool_of_h3_tag))
  1299. return
  1300. val = random.randrange(1)
  1301. if val == 0:
  1302. gen__l_(next_depth, max_depth)
  1303. result.append("h")
  1304. result.append("3")
  1305. gen_d(next_depth, max_depth)
  1306. gen__r_(next_depth, max_depth)
  1307. gen_text(next_depth, max_depth)
  1308. gen__cl_(next_depth, max_depth)
  1309. result.append("h")
  1310. result.append("3")
  1311. gen__r_(next_depth, max_depth)
  1312. return
  1313.  
  1314. def gen_h4_tag(depth, max_depth):
  1315. next_depth = depth + 1
  1316. if depth > max_depth:
  1317. result.append(random.choice(pool_of_h4_tag))
  1318. return
  1319. val = random.randrange(1)
  1320. if val == 0:
  1321. gen__l_(next_depth, max_depth)
  1322. result.append("h")
  1323. result.append("4")
  1324. gen_d(next_depth, max_depth)
  1325. gen__r_(next_depth, max_depth)
  1326. gen_text(next_depth, max_depth)
  1327. gen__cl_(next_depth, max_depth)
  1328. result.append("h")
  1329. result.append("4")
  1330. gen__r_(next_depth, max_depth)
  1331. return
  1332.  
  1333. def gen_h5_tag(depth, max_depth):
  1334. next_depth = depth + 1
  1335. if depth > max_depth:
  1336. result.append(random.choice(pool_of_h5_tag))
  1337. return
  1338. val = random.randrange(1)
  1339. if val == 0:
  1340. gen__l_(next_depth, max_depth)
  1341. result.append("h")
  1342. result.append("5")
  1343. gen_d(next_depth, max_depth)
  1344. gen__r_(next_depth, max_depth)
  1345. gen_text(next_depth, max_depth)
  1346. gen__cl_(next_depth, max_depth)
  1347. result.append("h")
  1348. result.append("5")
  1349. gen__r_(next_depth, max_depth)
  1350. return
  1351.  
  1352. def gen_h6_tag(depth, max_depth):
  1353. next_depth = depth + 1
  1354. if depth > max_depth:
  1355. result.append(random.choice(pool_of_h6_tag))
  1356. return
  1357. val = random.randrange(1)
  1358. if val == 0:
  1359. gen__l_(next_depth, max_depth)
  1360. result.append("h")
  1361. result.append("6")
  1362. gen_d(next_depth, max_depth)
  1363. gen__r_(next_depth, max_depth)
  1364. gen_text(next_depth, max_depth)
  1365. gen__cl_(next_depth, max_depth)
  1366. result.append("h")
  1367. result.append("6")
  1368. gen__r_(next_depth, max_depth)
  1369. return
  1370.  
  1371. def gen_head_content(depth, max_depth):
  1372. next_depth = depth + 1
  1373. if depth > max_depth:
  1374. result.append(random.choice(pool_of_head_content))
  1375. return
  1376. val = random.randrange(6)
  1377. if val == 0:
  1378. gen__l_(next_depth, max_depth)
  1379. result.append("b")
  1380. result.append("a")
  1381. result.append("s")
  1382. result.append("e")
  1383. gen_d(next_depth, max_depth)
  1384. gen__r_(next_depth, max_depth)
  1385. return
  1386. if val == 1:
  1387. gen__l_(next_depth, max_depth)
  1388. result.append("l")
  1389. result.append("i")
  1390. result.append("n")
  1391. result.append("k")
  1392. gen_d(next_depth, max_depth)
  1393. gen__r_(next_depth, max_depth)
  1394. return
  1395. if val == 2:
  1396. gen__l_(next_depth, max_depth)
  1397. result.append("m")
  1398. result.append("e")
  1399. result.append("t")
  1400. result.append("a")
  1401. gen_d(next_depth, max_depth)
  1402. gen__r_(next_depth, max_depth)
  1403. return
  1404. if val == 3:
  1405. gen_script_tag(next_depth, max_depth)
  1406. return
  1407. if val == 4:
  1408. gen_style_tag(next_depth, max_depth)
  1409. return
  1410. if val == 5:
  1411. gen_title_tag(next_depth, max_depth)
  1412. return
  1413.  
  1414. def gen_head_tag(depth, max_depth):
  1415. next_depth = depth + 1
  1416. if depth > max_depth:
  1417. result.append(random.choice(pool_of_head_tag))
  1418. return
  1419. val = random.randrange(1)
  1420. if val == 0:
  1421. gen__l_(next_depth, max_depth)
  1422. result.append("h")
  1423. result.append("e")
  1424. result.append("a")
  1425. result.append("d")
  1426. gen_d(next_depth, max_depth)
  1427. gen__r_(next_depth, max_depth)
  1428. gen_head_content_1(next_depth, max_depth)
  1429. gen__cl_(next_depth, max_depth)
  1430. result.append("h")
  1431. result.append("e")
  1432. result.append("a")
  1433. result.append("d")
  1434. gen__r_(next_depth, max_depth)
  1435. return
  1436.  
  1437. def gen_heading(depth, max_depth):
  1438. next_depth = depth + 1
  1439. if depth > max_depth:
  1440. result.append(random.choice(pool_of_heading))
  1441. return
  1442. val = random.randrange(6)
  1443. if val == 0:
  1444. gen_h1_tag(next_depth, max_depth)
  1445. return
  1446. if val == 1:
  1447. gen_h2_tag(next_depth, max_depth)
  1448. return
  1449. if val == 2:
  1450. gen_h3_tag(next_depth, max_depth)
  1451. return
  1452. if val == 3:
  1453. gen_h4_tag(next_depth, max_depth)
  1454. return
  1455. if val == 4:
  1456. gen_h5_tag(next_depth, max_depth)
  1457. return
  1458. if val == 5:
  1459. gen_h6_tag(next_depth, max_depth)
  1460. return
  1461.  
  1462. def gen_html_content(depth, max_depth):
  1463. next_depth = depth + 1
  1464. if depth > max_depth:
  1465. result.append(random.choice(pool_of_html_content))
  1466. return
  1467. val = random.randrange(2)
  1468. if val == 0:
  1469. gen_head_tag(next_depth, max_depth)
  1470. gen_body_tag(next_depth, max_depth)
  1471. return
  1472. if val == 1:
  1473. gen_head_tag(next_depth, max_depth)
  1474. gen_frameset_tag(next_depth, max_depth)
  1475. return
  1476.  
  1477. def gen_html_document(depth, max_depth):
  1478. next_depth = depth + 1
  1479. if depth > max_depth:
  1480. result.append(random.choice(pool_of_html_document))
  1481. return
  1482. val = random.randrange(1)
  1483. if val == 0:
  1484. gen_html_tag(next_depth, max_depth)
  1485. return
  1486.  
  1487. def gen_html_tag(depth, max_depth):
  1488. next_depth = depth + 1
  1489. if depth > max_depth:
  1490. result.append(random.choice(pool_of_html_tag))
  1491. return
  1492. val = random.randrange(1)
  1493. if val == 0:
  1494. gen__l_(next_depth, max_depth)
  1495. result.append("h")
  1496. result.append("t")
  1497. result.append("m")
  1498. result.append("l")
  1499. gen__r_(next_depth, max_depth)
  1500. gen_html_content(next_depth, max_depth)
  1501. gen__cl_(next_depth, max_depth)
  1502. result.append("h")
  1503. result.append("t")
  1504. result.append("m")
  1505. result.append("l")
  1506. gen__r_(next_depth, max_depth)
  1507. return
  1508.  
  1509. def gen_i_tag(depth, max_depth):
  1510. next_depth = depth + 1
  1511. if depth > max_depth:
  1512. result.append(random.choice(pool_of_i_tag))
  1513. return
  1514. val = random.randrange(1)
  1515. if val == 0:
  1516. gen__l_(next_depth, max_depth)
  1517. result.append("i")
  1518. gen_d(next_depth, max_depth)
  1519. gen__r_(next_depth, max_depth)
  1520. gen_text(next_depth, max_depth)
  1521. gen__cl_(next_depth, max_depth)
  1522. result.append("i")
  1523. gen__r_(next_depth, max_depth)
  1524. return
  1525.  
  1526. def gen_ilayer_tag(depth, max_depth):
  1527. next_depth = depth + 1
  1528. if depth > max_depth:
  1529. result.append(random.choice(pool_of_ilayer_tag))
  1530. return
  1531. val = random.randrange(1)
  1532. if val == 0:
  1533. gen__l_(next_depth, max_depth)
  1534. result.append("i")
  1535. result.append("l")
  1536. result.append("a")
  1537. result.append("y")
  1538. result.append("e")
  1539. result.append("r")
  1540. gen_d(next_depth, max_depth)
  1541. gen__r_(next_depth, max_depth)
  1542. gen_body_content(next_depth, max_depth)
  1543. gen__cl_(next_depth, max_depth)
  1544. result.append("i")
  1545. result.append("l")
  1546. result.append("a")
  1547. result.append("y")
  1548. result.append("e")
  1549. result.append("r")
  1550. gen__r_(next_depth, max_depth)
  1551. return
  1552.  
  1553. def gen_ins_tag(depth, max_depth):
  1554. next_depth = depth + 1
  1555. if depth > max_depth:
  1556. result.append(random.choice(pool_of_ins_tag))
  1557. return
  1558. val = random.randrange(1)
  1559. if val == 0:
  1560. gen__l_(next_depth, max_depth)
  1561. result.append("i")
  1562. result.append("n")
  1563. result.append("s")
  1564. gen_d(next_depth, max_depth)
  1565. gen__r_(next_depth, max_depth)
  1566. gen_flow(next_depth, max_depth)
  1567. gen__cl_(next_depth, max_depth)
  1568. result.append("i")
  1569. result.append("n")
  1570. result.append("s")
  1571. gen__r_(next_depth, max_depth)
  1572. return
  1573.  
  1574. def gen_kbd_tag(depth, max_depth):
  1575. next_depth = depth + 1
  1576. if depth > max_depth:
  1577. result.append(random.choice(pool_of_kbd_tag))
  1578. return
  1579. val = random.randrange(1)
  1580. if val == 0:
  1581. gen__l_(next_depth, max_depth)
  1582. result.append("k")
  1583. result.append("b")
  1584. result.append("d")
  1585. gen_d(next_depth, max_depth)
  1586. gen__r_(next_depth, max_depth)
  1587. gen_text(next_depth, max_depth)
  1588. gen__cl_(next_depth, max_depth)
  1589. result.append("k")
  1590. result.append("b")
  1591. result.append("d")
  1592. gen__r_(next_depth, max_depth)
  1593. return
  1594.  
  1595. def gen_label_content(depth, max_depth):
  1596. next_depth = depth + 1
  1597. if depth > max_depth:
  1598. result.append(random.choice(pool_of_label_content))
  1599. return
  1600. val = random.randrange(4)
  1601. if val == 0:
  1602. gen__l_(next_depth, max_depth)
  1603. result.append("i")
  1604. result.append("n")
  1605. result.append("p")
  1606. result.append("u")
  1607. result.append("t")
  1608. gen_d(next_depth, max_depth)
  1609. gen__r_(next_depth, max_depth)
  1610. return
  1611. if val == 1:
  1612. gen_body_content(next_depth, max_depth)
  1613. return
  1614. if val == 2:
  1615. gen_select_tag(next_depth, max_depth)
  1616. return
  1617. if val == 3:
  1618. gen_textarea_tag(next_depth, max_depth)
  1619. return
  1620.  
  1621. def gen_label_tag(depth, max_depth):
  1622. next_depth = depth + 1
  1623. if depth > max_depth:
  1624. result.append(random.choice(pool_of_label_tag))
  1625. return
  1626. val = random.randrange(1)
  1627. if val == 0:
  1628. gen__l_(next_depth, max_depth)
  1629. result.append("l")
  1630. result.append("a")
  1631. result.append("b")
  1632. result.append("e")
  1633. result.append("l")
  1634. gen_d(next_depth, max_depth)
  1635. gen__r_(next_depth, max_depth)
  1636. gen_label_content_1(next_depth, max_depth)
  1637. gen__cl_(next_depth, max_depth)
  1638. result.append("l")
  1639. result.append("a")
  1640. result.append("b")
  1641. result.append("e")
  1642. result.append("l")
  1643. gen__r_(next_depth, max_depth)
  1644. return
  1645.  
  1646. def gen_layer_tag(depth, max_depth):
  1647. next_depth = depth + 1
  1648. if depth > max_depth:
  1649. result.append(random.choice(pool_of_layer_tag))
  1650. return
  1651. val = random.randrange(1)
  1652. if val == 0:
  1653. gen__l_(next_depth, max_depth)
  1654. result.append("l")
  1655. result.append("a")
  1656. result.append("y")
  1657. result.append("e")
  1658. result.append("r")
  1659. gen_d(next_depth, max_depth)
  1660. gen__r_(next_depth, max_depth)
  1661. gen_body_content(next_depth, max_depth)
  1662. gen__cl_(next_depth, max_depth)
  1663. result.append("l")
  1664. result.append("a")
  1665. result.append("y")
  1666. result.append("e")
  1667. result.append("r")
  1668. gen__r_(next_depth, max_depth)
  1669. return
  1670.  
  1671. def gen_legend_tag(depth, max_depth):
  1672. next_depth = depth + 1
  1673. if depth > max_depth:
  1674. result.append(random.choice(pool_of_legend_tag))
  1675. return
  1676. val = random.randrange(1)
  1677. if val == 0:
  1678. gen__l_(next_depth, max_depth)
  1679. result.append("l")
  1680. result.append("e")
  1681. result.append("g")
  1682. result.append("e")
  1683. result.append("n")
  1684. result.append("d")
  1685. gen_d(next_depth, max_depth)
  1686. gen__r_(next_depth, max_depth)
  1687. gen_text(next_depth, max_depth)
  1688. gen__cl_(next_depth, max_depth)
  1689. result.append("l")
  1690. result.append("e")
  1691. result.append("g")
  1692. result.append("e")
  1693. result.append("n")
  1694. result.append("d")
  1695. gen__r_(next_depth, max_depth)
  1696. return
  1697.  
  1698. def gen_li_tag(depth, max_depth):
  1699. next_depth = depth + 1
  1700. if depth > max_depth:
  1701. result.append(random.choice(pool_of_li_tag))
  1702. return
  1703. val = random.randrange(1)
  1704. if val == 0:
  1705. gen__l_(next_depth, max_depth)
  1706. result.append("l")
  1707. result.append("i")
  1708. gen_d(next_depth, max_depth)
  1709. gen__r_(next_depth, max_depth)
  1710. gen_flow(next_depth, max_depth)
  1711. gen__cl_(next_depth, max_depth)
  1712. result.append("l")
  1713. result.append("i")
  1714. gen__r_(next_depth, max_depth)
  1715. return
  1716.  
  1717. def gen_literal_text(depth, max_depth):
  1718. next_depth = depth + 1
  1719. if depth > max_depth:
  1720. result.append(random.choice(pool_of_literal_text))
  1721. return
  1722. val = random.randrange(1)
  1723. if val == 0:
  1724. gen_plain_text(next_depth, max_depth)
  1725. return
  1726.  
  1727. def gen_listing_tag(depth, max_depth):
  1728. next_depth = depth + 1
  1729. if depth > max_depth:
  1730. result.append(random.choice(pool_of_listing_tag))
  1731. return
  1732. val = random.randrange(1)
  1733. if val == 0:
  1734. gen__l_(next_depth, max_depth)
  1735. result.append("l")
  1736. result.append("i")
  1737. result.append("s")
  1738. result.append("t")
  1739. result.append("i")
  1740. result.append("n")
  1741. result.append("g")
  1742. gen_d(next_depth, max_depth)
  1743. gen__r_(next_depth, max_depth)
  1744. gen_literal_text(next_depth, max_depth)
  1745. gen__cl_(next_depth, max_depth)
  1746. result.append("l")
  1747. result.append("i")
  1748. result.append("s")
  1749. result.append("t")
  1750. result.append("i")
  1751. result.append("n")
  1752. result.append("g")
  1753. gen__r_(next_depth, max_depth)
  1754. return
  1755.  
  1756. def gen_map_content(depth, max_depth):
  1757. next_depth = depth + 1
  1758. if depth > max_depth:
  1759. result.append(random.choice(pool_of_map_content))
  1760. return
  1761. val = random.randrange(1)
  1762. if val == 0:
  1763. gen_area_1(next_depth, max_depth)
  1764. return
  1765.  
  1766. def gen_map_tag(depth, max_depth):
  1767. next_depth = depth + 1
  1768. if depth > max_depth:
  1769. result.append(random.choice(pool_of_map_tag))
  1770. return
  1771. val = random.randrange(1)
  1772. if val == 0:
  1773. gen__l_(next_depth, max_depth)
  1774. result.append("m")
  1775. result.append("a")
  1776. result.append("p")
  1777. gen_d(next_depth, max_depth)
  1778. gen__r_(next_depth, max_depth)
  1779. gen_map_content(next_depth, max_depth)
  1780. gen__cl_(next_depth, max_depth)
  1781. result.append("m")
  1782. result.append("a")
  1783. result.append("p")
  1784. gen__r_(next_depth, max_depth)
  1785. return
  1786.  
  1787. def gen_marquee_tag(depth, max_depth):
  1788. next_depth = depth + 1
  1789. if depth > max_depth:
  1790. result.append(random.choice(pool_of_marquee_tag))
  1791. return
  1792. val = random.randrange(1)
  1793. if val == 0:
  1794. gen__l_(next_depth, max_depth)
  1795. result.append("m")
  1796. result.append("a")
  1797. result.append("r")
  1798. result.append("q")
  1799. result.append("u")
  1800. result.append("e")
  1801. result.append("e")
  1802. gen_d(next_depth, max_depth)
  1803. gen__r_(next_depth, max_depth)
  1804. gen_style_text(next_depth, max_depth)
  1805. gen__cl_(next_depth, max_depth)
  1806. result.append("m")
  1807. result.append("a")
  1808. result.append("r")
  1809. result.append("q")
  1810. result.append("u")
  1811. result.append("e")
  1812. result.append("e")
  1813. gen__r_(next_depth, max_depth)
  1814. return
  1815.  
  1816. def gen_menu_tag(depth, max_depth):
  1817. next_depth = depth + 1
  1818. if depth > max_depth:
  1819. result.append(random.choice(pool_of_menu_tag))
  1820. return
  1821. val = random.randrange(1)
  1822. if val == 0:
  1823. gen__l_(next_depth, max_depth)
  1824. result.append("m")
  1825. result.append("e")
  1826. result.append("n")
  1827. result.append("u")
  1828. gen_d(next_depth, max_depth)
  1829. gen__r_(next_depth, max_depth)
  1830. gen_li_tag_2(next_depth, max_depth)
  1831. gen__cl_(next_depth, max_depth)
  1832. result.append("m")
  1833. result.append("e")
  1834. result.append("n")
  1835. result.append("u")
  1836. gen__r_(next_depth, max_depth)
  1837. return
  1838.  
  1839. def gen_multicol_tag(depth, max_depth):
  1840. next_depth = depth + 1
  1841. if depth > max_depth:
  1842. result.append(random.choice(pool_of_multicol_tag))
  1843. return
  1844. val = random.randrange(1)
  1845. if val == 0:
  1846. gen__l_(next_depth, max_depth)
  1847. result.append("m")
  1848. result.append("u")
  1849. result.append("l")
  1850. result.append("t")
  1851. result.append("i")
  1852. result.append("c")
  1853. result.append("o")
  1854. result.append("l")
  1855. gen_d(next_depth, max_depth)
  1856. gen__r_(next_depth, max_depth)
  1857. gen_body_content(next_depth, max_depth)
  1858. gen__cl_(next_depth, max_depth)
  1859. result.append("m")
  1860. result.append("u")
  1861. result.append("l")
  1862. result.append("t")
  1863. result.append("i")
  1864. result.append("c")
  1865. result.append("o")
  1866. result.append("l")
  1867. gen__r_(next_depth, max_depth)
  1868. return
  1869.  
  1870. def gen_nobr_tag(depth, max_depth):
  1871. next_depth = depth + 1
  1872. if depth > max_depth:
  1873. result.append(random.choice(pool_of_nobr_tag))
  1874. return
  1875. val = random.randrange(1)
  1876. if val == 0:
  1877. gen__l_(next_depth, max_depth)
  1878. result.append("n")
  1879. result.append("o")
  1880. result.append("b")
  1881. result.append("r")
  1882. gen_d(next_depth, max_depth)
  1883. gen__r_(next_depth, max_depth)
  1884. gen_text(next_depth, max_depth)
  1885. gen__cl_(next_depth, max_depth)
  1886. result.append("n")
  1887. result.append("o")
  1888. result.append("b")
  1889. result.append("r")
  1890. gen__r_(next_depth, max_depth)
  1891. return
  1892.  
  1893. def gen_noembed_tag(depth, max_depth):
  1894. next_depth = depth + 1
  1895. if depth > max_depth:
  1896. result.append(random.choice(pool_of_noembed_tag))
  1897. return
  1898. val = random.randrange(1)
  1899. if val == 0:
  1900. gen__l_(next_depth, max_depth)
  1901. result.append("n")
  1902. result.append("o")
  1903. result.append("e")
  1904. result.append("m")
  1905. result.append("b")
  1906. result.append("e")
  1907. result.append("d")
  1908. gen_d(next_depth, max_depth)
  1909. gen__r_(next_depth, max_depth)
  1910. gen_text(next_depth, max_depth)
  1911. gen__cl_(next_depth, max_depth)
  1912. result.append("n")
  1913. result.append("o")
  1914. result.append("e")
  1915. result.append("m")
  1916. result.append("b")
  1917. result.append("e")
  1918. result.append("d")
  1919. gen__r_(next_depth, max_depth)
  1920. return
  1921.  
  1922. def gen_noframes_tag(depth, max_depth):
  1923. next_depth = depth + 1
  1924. if depth > max_depth:
  1925. result.append(random.choice(pool_of_noframes_tag))
  1926. return
  1927. val = random.randrange(1)
  1928. if val == 0:
  1929. gen__l_(next_depth, max_depth)
  1930. result.append("n")
  1931. result.append("o")
  1932. result.append("f")
  1933. result.append("r")
  1934. result.append("a")
  1935. result.append("m")
  1936. result.append("e")
  1937. result.append("s")
  1938. gen_d(next_depth, max_depth)
  1939. gen__r_(next_depth, max_depth)
  1940. gen_body_content_4(next_depth, max_depth)
  1941. gen__cl_(next_depth, max_depth)
  1942. result.append("n")
  1943. result.append("o")
  1944. result.append("f")
  1945. result.append("r")
  1946. result.append("a")
  1947. result.append("m")
  1948. result.append("e")
  1949. result.append("s")
  1950. gen__r_(next_depth, max_depth)
  1951. return
  1952.  
  1953. def gen_noscript_tag(depth, max_depth):
  1954. next_depth = depth + 1
  1955. if depth > max_depth:
  1956. result.append(random.choice(pool_of_noscript_tag))
  1957. return
  1958. val = random.randrange(1)
  1959. if val == 0:
  1960. gen__l_(next_depth, max_depth)
  1961. result.append("n")
  1962. result.append("o")
  1963. result.append("s")
  1964. result.append("c")
  1965. result.append("r")
  1966. result.append("i")
  1967. result.append("p")
  1968. result.append("t")
  1969. gen_d(next_depth, max_depth)
  1970. gen__r_(next_depth, max_depth)
  1971. gen_text(next_depth, max_depth)
  1972. gen__cl_(next_depth, max_depth)
  1973. result.append("n")
  1974. result.append("o")
  1975. result.append("s")
  1976. result.append("c")
  1977. result.append("r")
  1978. result.append("i")
  1979. result.append("p")
  1980. result.append("t")
  1981. gen__r_(next_depth, max_depth)
  1982. return
  1983.  
  1984. def gen_object_content(depth, max_depth):
  1985. next_depth = depth + 1
  1986. if depth > max_depth:
  1987. result.append(random.choice(pool_of_object_content))
  1988. return
  1989. val = random.randrange(1)
  1990. if val == 0:
  1991. gen_param_2(next_depth, max_depth)
  1992. gen_body_content(next_depth, max_depth)
  1993. return
  1994.  
  1995. def gen_object_tag(depth, max_depth):
  1996. next_depth = depth + 1
  1997. if depth > max_depth:
  1998. result.append(random.choice(pool_of_object_tag))
  1999. return
  2000. val = random.randrange(1)
  2001. if val == 0:
  2002. gen__l_(next_depth, max_depth)
  2003. result.append("o")
  2004. result.append("b")
  2005. result.append("j")
  2006. result.append("e")
  2007. result.append("c")
  2008. result.append("t")
  2009. gen_d(next_depth, max_depth)
  2010. gen__r_(next_depth, max_depth)
  2011. gen_object_content(next_depth, max_depth)
  2012. gen__cl_(next_depth, max_depth)
  2013. result.append("o")
  2014. result.append("b")
  2015. result.append("j")
  2016. result.append("e")
  2017. result.append("c")
  2018. result.append("t")
  2019. gen__r_(next_depth, max_depth)
  2020. return
  2021.  
  2022. def gen_ol_tag(depth, max_depth):
  2023. next_depth = depth + 1
  2024. if depth > max_depth:
  2025. result.append(random.choice(pool_of_ol_tag))
  2026. return
  2027. val = random.randrange(1)
  2028. if val == 0:
  2029. gen__l_(next_depth, max_depth)
  2030. result.append("o")
  2031. result.append("l")
  2032. gen_d(next_depth, max_depth)
  2033. gen__r_(next_depth, max_depth)
  2034. gen_li_tag_3(next_depth, max_depth)
  2035. gen__cl_(next_depth, max_depth)
  2036. result.append("o")
  2037. result.append("l")
  2038. gen__r_(next_depth, max_depth)
  2039. return
  2040.  
  2041. def gen_optgroup_tag(depth, max_depth):
  2042. next_depth = depth + 1
  2043. if depth > max_depth:
  2044. result.append(random.choice(pool_of_optgroup_tag))
  2045. return
  2046. val = random.randrange(1)
  2047. if val == 0:
  2048. gen__l_(next_depth, max_depth)
  2049. result.append("o")
  2050. result.append("p")
  2051. result.append("t")
  2052. result.append("g")
  2053. result.append("r")
  2054. result.append("o")
  2055. result.append("u")
  2056. result.append("p")
  2057. gen_d(next_depth, max_depth)
  2058. gen__r_(next_depth, max_depth)
  2059. gen_option_tag_1(next_depth, max_depth)
  2060. gen__cl_(next_depth, max_depth)
  2061. result.append("o")
  2062. result.append("p")
  2063. result.append("t")
  2064. result.append("g")
  2065. result.append("r")
  2066. result.append("o")
  2067. result.append("u")
  2068. result.append("p")
  2069. gen__r_(next_depth, max_depth)
  2070. return
  2071.  
  2072. def gen_option_tag(depth, max_depth):
  2073. next_depth = depth + 1
  2074. if depth > max_depth:
  2075. result.append(random.choice(pool_of_option_tag))
  2076. return
  2077. val = random.randrange(1)
  2078. if val == 0:
  2079. gen__l_(next_depth, max_depth)
  2080. result.append("o")
  2081. result.append("p")
  2082. result.append("t")
  2083. result.append("i")
  2084. result.append("o")
  2085. result.append("n")
  2086. gen_d(next_depth, max_depth)
  2087. gen__r_(next_depth, max_depth)
  2088. gen_plain_text_1(next_depth, max_depth)
  2089. gen__cl_(next_depth, max_depth)
  2090. result.append("o")
  2091. result.append("p")
  2092. result.append("t")
  2093. result.append("i")
  2094. result.append("o")
  2095. result.append("n")
  2096. gen__r_(next_depth, max_depth)
  2097. return
  2098.  
  2099. def gen_p_tag(depth, max_depth):
  2100. next_depth = depth + 1
  2101. if depth > max_depth:
  2102. result.append(random.choice(pool_of_p_tag))
  2103. return
  2104. val = random.randrange(1)
  2105. if val == 0:
  2106. gen__l_(next_depth, max_depth)
  2107. result.append("p")
  2108. gen__r_(next_depth, max_depth)
  2109. gen_text(next_depth, max_depth)
  2110. gen__cl_(next_depth, max_depth)
  2111. result.append("p")
  2112. gen__r_(next_depth, max_depth)
  2113. return
  2114.  
  2115. def gen_param(depth, max_depth):
  2116. next_depth = depth + 1
  2117. if depth > max_depth:
  2118. result.append(random.choice(pool_of_param))
  2119. return
  2120. val = random.randrange(1)
  2121. if val == 0:
  2122. gen__l_(next_depth, max_depth)
  2123. result.append("p")
  2124. result.append("a")
  2125. result.append("r")
  2126. result.append("a")
  2127. result.append("m")
  2128. gen__r_(next_depth, max_depth)
  2129. return
  2130.  
  2131. def gen_plain_text(depth, max_depth):
  2132. next_depth = depth + 1
  2133. if depth > max_depth:
  2134. result.append(random.choice(pool_of_plain_text))
  2135. return
  2136. val = random.randrange(1)
  2137. if val == 0:
  2138. gen_entity_1(next_depth, max_depth)
  2139. return
  2140.  
  2141. def gen_entity(depth, max_depth):
  2142. next_depth = depth + 1
  2143. if depth > max_depth:
  2144. result.append(random.choice(pool_of_entity))
  2145. return
  2146. val = random.randrange(2)
  2147. if val == 0:
  2148. gen_ampersand(next_depth, max_depth)
  2149. return
  2150. if val == 1:
  2151. gen_char(next_depth, max_depth)
  2152. return
  2153.  
  2154. def gen_char(depth, max_depth):
  2155. next_depth = depth + 1
  2156. if depth > max_depth:
  2157. result.append(random.choice(pool_of_char))
  2158. return
  2159. val = random.randrange(98)
  2160. if val == 0:
  2161. result.append("\t")
  2162. return
  2163. if val == 1:
  2164. result.append("\n")
  2165. return
  2166. if val == 2:
  2167. result.append(" ")
  2168. return
  2169. if val == 3:
  2170. result.append("\r")
  2171. return
  2172. if val == 4:
  2173. result.append(" ")
  2174. return
  2175. if val == 5:
  2176. result.append("!")
  2177. return
  2178. if val == 6:
  2179. result.append("\"")
  2180. return
  2181. if val == 7:
  2182. result.append("#")
  2183. return
  2184. if val == 8:
  2185. result.append("$")
  2186. return
  2187. if val == 9:
  2188. result.append("%")
  2189. return
  2190. if val == 10:
  2191. result.append("'")
  2192. return
  2193. if val == 11:
  2194. result.append("(")
  2195. return
  2196. if val == 12:
  2197. result.append(")")
  2198. return
  2199. if val == 13:
  2200. result.append("*")
  2201. return
  2202. if val == 14:
  2203. result.append("+")
  2204. return
  2205. if val == 15:
  2206. result.append(",")
  2207. return
  2208. if val == 16:
  2209. result.append("-")
  2210. return
  2211. if val == 17:
  2212. result.append(".")
  2213. return
  2214. if val == 18:
  2215. result.append("/")
  2216. return
  2217. if val == 19:
  2218. result.append("0")
  2219. return
  2220. if val == 20:
  2221. result.append("1")
  2222. return
  2223. if val == 21:
  2224. result.append("2")
  2225. return
  2226. if val == 22:
  2227. result.append("3")
  2228. return
  2229. if val == 23:
  2230. result.append("4")
  2231. return
  2232. if val == 24:
  2233. result.append("5")
  2234. return
  2235. if val == 25:
  2236. result.append("6")
  2237. return
  2238. if val == 26:
  2239. result.append("7")
  2240. return
  2241. if val == 27:
  2242. result.append("8")
  2243. return
  2244. if val == 28:
  2245. result.append("9")
  2246. return
  2247. if val == 29:
  2248. result.append(":")
  2249. return
  2250. if val == 30:
  2251. result.append(";")
  2252. return
  2253. if val == 31:
  2254. result.append("<")
  2255. return
  2256. if val == 32:
  2257. result.append("=")
  2258. return
  2259. if val == 33:
  2260. result.append(">")
  2261. return
  2262. if val == 34:
  2263. result.append("?")
  2264. return
  2265. if val == 35:
  2266. result.append("@")
  2267. return
  2268. if val == 36:
  2269. result.append("A")
  2270. return
  2271. if val == 37:
  2272. result.append("B")
  2273. return
  2274. if val == 38:
  2275. result.append("C")
  2276. return
  2277. if val == 39:
  2278. result.append("D")
  2279. return
  2280. if val == 40:
  2281. result.append("E")
  2282. return
  2283. if val == 41:
  2284. result.append("F")
  2285. return
  2286. if val == 42:
  2287. result.append("G")
  2288. return
  2289. if val == 43:
  2290. result.append("H")
  2291. return
  2292. if val == 44:
  2293. result.append("I")
  2294. return
  2295. if val == 45:
  2296. result.append("J")
  2297. return
  2298. if val == 46:
  2299. result.append("K")
  2300. return
  2301. if val == 47:
  2302. result.append("L")
  2303. return
  2304. if val == 48:
  2305. result.append("M")
  2306. return
  2307. if val == 49:
  2308. result.append("N")
  2309. return
  2310. if val == 50:
  2311. result.append("O")
  2312. return
  2313. if val == 51:
  2314. result.append("P")
  2315. return
  2316. if val == 52:
  2317. result.append("Q")
  2318. return
  2319. if val == 53:
  2320. result.append("R")
  2321. return
  2322. if val == 54:
  2323. result.append("S")
  2324. return
  2325. if val == 55:
  2326. result.append("T")
  2327. return
  2328. if val == 56:
  2329. result.append("U")
  2330. return
  2331. if val == 57:
  2332. result.append("V")
  2333. return
  2334. if val == 58:
  2335. result.append("W")
  2336. return
  2337. if val == 59:
  2338. result.append("X")
  2339. return
  2340. if val == 60:
  2341. result.append("Y")
  2342. return
  2343. if val == 61:
  2344. result.append("Z")
  2345. return
  2346. if val == 62:
  2347. result.append("[")
  2348. return
  2349. if val == 63:
  2350. result.append("\\")
  2351. return
  2352. if val == 64:
  2353. result.append("]")
  2354. return
  2355. if val == 65:
  2356. result.append("^")
  2357. return
  2358. if val == 66:
  2359. result.append("_")
  2360. return
  2361. if val == 67:
  2362. result.append("`")
  2363. return
  2364. if val == 68:
  2365. result.append("a")
  2366. return
  2367. if val == 69:
  2368. result.append("b")
  2369. return
  2370. if val == 70:
  2371. result.append("c")
  2372. return
  2373. if val == 71:
  2374. result.append("d")
  2375. return
  2376. if val == 72:
  2377. result.append("e")
  2378. return
  2379. if val == 73:
  2380. result.append("f")
  2381. return
  2382. if val == 74:
  2383. result.append("g")
  2384. return
  2385. if val == 75:
  2386. result.append("h")
  2387. return
  2388. if val == 76:
  2389. result.append("i")
  2390. return
  2391. if val == 77:
  2392. result.append("j")
  2393. return
  2394. if val == 78:
  2395. result.append("k")
  2396. return
  2397. if val == 79:
  2398. result.append("l")
  2399. return
  2400. if val == 80:
  2401. result.append("m")
  2402. return
  2403. if val == 81:
  2404. result.append("n")
  2405. return
  2406. if val == 82:
  2407. result.append("o")
  2408. return
  2409. if val == 83:
  2410. result.append("p")
  2411. return
  2412. if val == 84:
  2413. result.append("q")
  2414. return
  2415. if val == 85:
  2416. result.append("r")
  2417. return
  2418. if val == 86:
  2419. result.append("s")
  2420. return
  2421. if val == 87:
  2422. result.append("t")
  2423. return
  2424. if val == 88:
  2425. result.append("u")
  2426. return
  2427. if val == 89:
  2428. result.append("v")
  2429. return
  2430. if val == 90:
  2431. result.append("w")
  2432. return
  2433. if val == 91:
  2434. result.append("x")
  2435. return
  2436. if val == 92:
  2437. result.append("y")
  2438. return
  2439. if val == 93:
  2440. result.append("z")
  2441. return
  2442. if val == 94:
  2443. result.append("{")
  2444. return
  2445. if val == 95:
  2446. result.append("|")
  2447. return
  2448. if val == 96:
  2449. result.append("}")
  2450. return
  2451. if val == 97:
  2452. result.append("~")
  2453. return
  2454.  
  2455. def gen_ampersand(depth, max_depth):
  2456. next_depth = depth + 1
  2457. if depth > max_depth:
  2458. result.append(random.choice(pool_of_ampersand))
  2459. return
  2460. val = random.randrange(1)
  2461. if val == 0:
  2462. result.append("&")
  2463. result.append("n")
  2464. result.append("b")
  2465. result.append("s")
  2466. result.append("p")
  2467. result.append(";")
  2468. return
  2469.  
  2470. def gen_physical_style(depth, max_depth):
  2471. next_depth = depth + 1
  2472. if depth > max_depth:
  2473. result.append(random.choice(pool_of_physical_style))
  2474. return
  2475. val = random.randrange(14)
  2476. if val == 0:
  2477. gen_font_tag(next_depth, max_depth)
  2478. return
  2479. if val == 1:
  2480. gen_b_tag(next_depth, max_depth)
  2481. return
  2482. if val == 2:
  2483. gen_bdo_tag(next_depth, max_depth)
  2484. return
  2485. if val == 3:
  2486. gen_big_tag(next_depth, max_depth)
  2487. return
  2488. if val == 4:
  2489. gen_blink_tag(next_depth, max_depth)
  2490. return
  2491. if val == 5:
  2492. gen_i_tag(next_depth, max_depth)
  2493. return
  2494. if val == 6:
  2495. gen_s_tag(next_depth, max_depth)
  2496. return
  2497. if val == 7:
  2498. gen_small_tag(next_depth, max_depth)
  2499. return
  2500. if val == 8:
  2501. gen_span_tag(next_depth, max_depth)
  2502. return
  2503. if val == 9:
  2504. gen_strike_tag(next_depth, max_depth)
  2505. return
  2506. if val == 10:
  2507. gen_sub_tag(next_depth, max_depth)
  2508. return
  2509. if val == 11:
  2510. gen_sup_tag(next_depth, max_depth)
  2511. return
  2512. if val == 12:
  2513. gen_tt_tag(next_depth, max_depth)
  2514. return
  2515. if val == 13:
  2516. gen_u_tag(next_depth, max_depth)
  2517. return
  2518.  
  2519. def gen_pre_content(depth, max_depth):
  2520. next_depth = depth + 1
  2521. if depth > max_depth:
  2522. result.append(random.choice(pool_of_pre_content))
  2523. return
  2524. val = random.randrange(4)
  2525. if val == 0:
  2526. gen__l_(next_depth, max_depth)
  2527. result.append("b")
  2528. result.append("r")
  2529. gen__r_(next_depth, max_depth)
  2530. return
  2531. if val == 1:
  2532. gen__l_(next_depth, max_depth)
  2533. result.append("h")
  2534. result.append("r")
  2535. gen__r_(next_depth, max_depth)
  2536. return
  2537. if val == 2:
  2538. gen_a_tag(next_depth, max_depth)
  2539. return
  2540. if val == 3:
  2541. gen_style_text(next_depth, max_depth)
  2542. return
  2543.  
  2544. def gen_pre_tag(depth, max_depth):
  2545. next_depth = depth + 1
  2546. if depth > max_depth:
  2547. result.append(random.choice(pool_of_pre_tag))
  2548. return
  2549. val = random.randrange(1)
  2550. if val == 0:
  2551. gen__l_(next_depth, max_depth)
  2552. result.append("p")
  2553. result.append("r")
  2554. result.append("e")
  2555. gen__r_(next_depth, max_depth)
  2556. gen_pre_content_1(next_depth, max_depth)
  2557. gen__cl_(next_depth, max_depth)
  2558. result.append("p")
  2559. result.append("r")
  2560. result.append("e")
  2561. gen__r_(next_depth, max_depth)
  2562. return
  2563.  
  2564. def gen_q_tag(depth, max_depth):
  2565. next_depth = depth + 1
  2566. if depth > max_depth:
  2567. result.append(random.choice(pool_of_q_tag))
  2568. return
  2569. val = random.randrange(1)
  2570. if val == 0:
  2571. gen__l_(next_depth, max_depth)
  2572. result.append("q")
  2573. gen__r_(next_depth, max_depth)
  2574. gen_text(next_depth, max_depth)
  2575. gen__cl_(next_depth, max_depth)
  2576. result.append("q")
  2577. gen__r_(next_depth, max_depth)
  2578. return
  2579.  
  2580. def gen_s_tag(depth, max_depth):
  2581. next_depth = depth + 1
  2582. if depth > max_depth:
  2583. result.append(random.choice(pool_of_s_tag))
  2584. return
  2585. val = random.randrange(1)
  2586. if val == 0:
  2587. gen__l_(next_depth, max_depth)
  2588. result.append("s")
  2589. gen__r_(next_depth, max_depth)
  2590. gen_text(next_depth, max_depth)
  2591. gen__cl_(next_depth, max_depth)
  2592. result.append("s")
  2593. gen__r_(next_depth, max_depth)
  2594. return
  2595.  
  2596. def gen_script_tag(depth, max_depth):
  2597. next_depth = depth + 1
  2598. if depth > max_depth:
  2599. result.append(random.choice(pool_of_script_tag))
  2600. return
  2601. val = random.randrange(1)
  2602. if val == 0:
  2603. gen__l_(next_depth, max_depth)
  2604. result.append("s")
  2605. result.append("c")
  2606. result.append("r")
  2607. result.append("i")
  2608. result.append("p")
  2609. result.append("t")
  2610. gen_d(next_depth, max_depth)
  2611. gen__r_(next_depth, max_depth)
  2612. gen_plain_text(next_depth, max_depth)
  2613. gen__cl_(next_depth, max_depth)
  2614. result.append("s")
  2615. result.append("c")
  2616. result.append("r")
  2617. result.append("i")
  2618. result.append("p")
  2619. result.append("t")
  2620. gen__r_(next_depth, max_depth)
  2621. return
  2622.  
  2623. def gen_select_content(depth, max_depth):
  2624. next_depth = depth + 1
  2625. if depth > max_depth:
  2626. result.append(random.choice(pool_of_select_content))
  2627. return
  2628. val = random.randrange(2)
  2629. if val == 0:
  2630. gen_optgroup_tag(next_depth, max_depth)
  2631. return
  2632. if val == 1:
  2633. gen_option_tag(next_depth, max_depth)
  2634. return
  2635.  
  2636. def gen_select_tag(depth, max_depth):
  2637. next_depth = depth + 1
  2638. if depth > max_depth:
  2639. result.append(random.choice(pool_of_select_tag))
  2640. return
  2641. val = random.randrange(1)
  2642. if val == 0:
  2643. gen__l_(next_depth, max_depth)
  2644. result.append("s")
  2645. result.append("e")
  2646. result.append("l")
  2647. result.append("e")
  2648. result.append("c")
  2649. result.append("t")
  2650. gen_d(next_depth, max_depth)
  2651. gen__r_(next_depth, max_depth)
  2652. gen_select_content_1(next_depth, max_depth)
  2653. gen__cl_(next_depth, max_depth)
  2654. result.append("s")
  2655. result.append("e")
  2656. result.append("l")
  2657. result.append("e")
  2658. result.append("c")
  2659. result.append("t")
  2660. gen__r_(next_depth, max_depth)
  2661. return
  2662.  
  2663. def gen_small_tag(depth, max_depth):
  2664. next_depth = depth + 1
  2665. if depth > max_depth:
  2666. result.append(random.choice(pool_of_small_tag))
  2667. return
  2668. val = random.randrange(1)
  2669. if val == 0:
  2670. gen__l_(next_depth, max_depth)
  2671. result.append("s")
  2672. result.append("m")
  2673. result.append("a")
  2674. result.append("l")
  2675. result.append("l")
  2676. gen_d(next_depth, max_depth)
  2677. gen__r_(next_depth, max_depth)
  2678. gen_text(next_depth, max_depth)
  2679. gen__cl_(next_depth, max_depth)
  2680. result.append("s")
  2681. result.append("m")
  2682. result.append("a")
  2683. result.append("l")
  2684. result.append("l")
  2685. gen__r_(next_depth, max_depth)
  2686. return
  2687.  
  2688. def gen_span_tag(depth, max_depth):
  2689. next_depth = depth + 1
  2690. if depth > max_depth:
  2691. result.append(random.choice(pool_of_span_tag))
  2692. return
  2693. val = random.randrange(1)
  2694. if val == 0:
  2695. gen__l_(next_depth, max_depth)
  2696. result.append("s")
  2697. result.append("p")
  2698. result.append("a")
  2699. result.append("n")
  2700. gen_d(next_depth, max_depth)
  2701. gen__r_(next_depth, max_depth)
  2702. gen_text(next_depth, max_depth)
  2703. gen__cl_(next_depth, max_depth)
  2704. result.append("s")
  2705. result.append("p")
  2706. result.append("a")
  2707. result.append("n")
  2708. gen__r_(next_depth, max_depth)
  2709. return
  2710.  
  2711. def gen_strike_tag(depth, max_depth):
  2712. next_depth = depth + 1
  2713. if depth > max_depth:
  2714. result.append(random.choice(pool_of_strike_tag))
  2715. return
  2716. val = random.randrange(1)
  2717. if val == 0:
  2718. gen__l_(next_depth, max_depth)
  2719. result.append("s")
  2720. result.append("t")
  2721. result.append("r")
  2722. result.append("i")
  2723. result.append("k")
  2724. result.append("e")
  2725. gen_d(next_depth, max_depth)
  2726. gen__r_(next_depth, max_depth)
  2727. gen_text(next_depth, max_depth)
  2728. gen__cl_(next_depth, max_depth)
  2729. result.append("s")
  2730. result.append("t")
  2731. result.append("r")
  2732. result.append("i")
  2733. result.append("k")
  2734. result.append("e")
  2735. gen__r_(next_depth, max_depth)
  2736. return
  2737.  
  2738. def gen_strong_tag(depth, max_depth):
  2739. next_depth = depth + 1
  2740. if depth > max_depth:
  2741. result.append(random.choice(pool_of_strong_tag))
  2742. return
  2743. val = random.randrange(1)
  2744. if val == 0:
  2745. gen__l_(next_depth, max_depth)
  2746. result.append("s")
  2747. result.append("t")
  2748. result.append("r")
  2749. result.append("o")
  2750. result.append("n")
  2751. result.append("g")
  2752. gen_d(next_depth, max_depth)
  2753. gen__r_(next_depth, max_depth)
  2754. gen_text(next_depth, max_depth)
  2755. gen__cl_(next_depth, max_depth)
  2756. result.append("s")
  2757. result.append("t")
  2758. result.append("r")
  2759. result.append("o")
  2760. result.append("n")
  2761. result.append("g")
  2762. gen__r_(next_depth, max_depth)
  2763. return
  2764.  
  2765. def gen_style_tag(depth, max_depth):
  2766. next_depth = depth + 1
  2767. if depth > max_depth:
  2768. result.append(random.choice(pool_of_style_tag))
  2769. return
  2770. val = random.randrange(1)
  2771. if val == 0:
  2772. gen__l_(next_depth, max_depth)
  2773. result.append("s")
  2774. result.append("t")
  2775. result.append("y")
  2776. result.append("l")
  2777. result.append("e")
  2778. gen_d(next_depth, max_depth)
  2779. gen__r_(next_depth, max_depth)
  2780. gen_plain_text(next_depth, max_depth)
  2781. gen__cl_(next_depth, max_depth)
  2782. result.append("s")
  2783. result.append("t")
  2784. result.append("y")
  2785. result.append("l")
  2786. result.append("e")
  2787. gen__r_(next_depth, max_depth)
  2788. return
  2789.  
  2790. def gen_style_text(depth, max_depth):
  2791. next_depth = depth + 1
  2792. if depth > max_depth:
  2793. result.append(random.choice(pool_of_style_text))
  2794. return
  2795. val = random.randrange(1)
  2796. if val == 0:
  2797. gen_plain_text(next_depth, max_depth)
  2798. return
  2799.  
  2800. def gen_sub_tag(depth, max_depth):
  2801. next_depth = depth + 1
  2802. if depth > max_depth:
  2803. result.append(random.choice(pool_of_sub_tag))
  2804. return
  2805. val = random.randrange(1)
  2806. if val == 0:
  2807. gen__l_(next_depth, max_depth)
  2808. result.append("s")
  2809. result.append("u")
  2810. result.append("b")
  2811. gen_d(next_depth, max_depth)
  2812. gen__r_(next_depth, max_depth)
  2813. gen_text(next_depth, max_depth)
  2814. gen__cl_(next_depth, max_depth)
  2815. result.append("s")
  2816. result.append("u")
  2817. result.append("b")
  2818. gen__r_(next_depth, max_depth)
  2819. return
  2820.  
  2821. def gen_sup_tag(depth, max_depth):
  2822. next_depth = depth + 1
  2823. if depth > max_depth:
  2824. result.append(random.choice(pool_of_sup_tag))
  2825. return
  2826. val = random.randrange(1)
  2827. if val == 0:
  2828. gen__l_(next_depth, max_depth)
  2829. result.append("s")
  2830. result.append("u")
  2831. result.append("p")
  2832. gen_d(next_depth, max_depth)
  2833. gen__r_(next_depth, max_depth)
  2834. gen_text(next_depth, max_depth)
  2835. gen__cl_(next_depth, max_depth)
  2836. result.append("s")
  2837. result.append("u")
  2838. result.append("p")
  2839. gen__r_(next_depth, max_depth)
  2840. return
  2841.  
  2842. def gen_table_cell(depth, max_depth):
  2843. next_depth = depth + 1
  2844. if depth > max_depth:
  2845. result.append(random.choice(pool_of_table_cell))
  2846. return
  2847. val = random.randrange(2)
  2848. if val == 0:
  2849. gen_td_tag(next_depth, max_depth)
  2850. return
  2851. if val == 1:
  2852. gen_th_tag(next_depth, max_depth)
  2853. return
  2854.  
  2855. def gen_table_content(depth, max_depth):
  2856. next_depth = depth + 1
  2857. if depth > max_depth:
  2858. result.append(random.choice(pool_of_table_content))
  2859. return
  2860. val = random.randrange(4)
  2861. if val == 0:
  2862. gen__l_(next_depth, max_depth)
  2863. result.append("t")
  2864. result.append("b")
  2865. result.append("o")
  2866. result.append("d")
  2867. result.append("y")
  2868. gen_d(next_depth, max_depth)
  2869. gen__r_(next_depth, max_depth)
  2870. return
  2871. if val == 1:
  2872. gen__l_(next_depth, max_depth)
  2873. result.append("t")
  2874. result.append("f")
  2875. result.append("o")
  2876. result.append("o")
  2877. result.append("t")
  2878. gen_d(next_depth, max_depth)
  2879. gen__r_(next_depth, max_depth)
  2880. return
  2881. if val == 2:
  2882. gen__l_(next_depth, max_depth)
  2883. result.append("t")
  2884. result.append("h")
  2885. result.append("e")
  2886. result.append("a")
  2887. result.append("d")
  2888. gen_d(next_depth, max_depth)
  2889. gen__r_(next_depth, max_depth)
  2890. return
  2891. if val == 3:
  2892. gen_tr_tag(next_depth, max_depth)
  2893. return
  2894.  
  2895. def gen_table_tag(depth, max_depth):
  2896. next_depth = depth + 1
  2897. if depth > max_depth:
  2898. result.append(random.choice(pool_of_table_tag))
  2899. return
  2900. val = random.randrange(1)
  2901. if val == 0:
  2902. gen__l_(next_depth, max_depth)
  2903. result.append("t")
  2904. result.append("a")
  2905. result.append("b")
  2906. result.append("l")
  2907. result.append("e")
  2908. gen_d(next_depth, max_depth)
  2909. gen__r_(next_depth, max_depth)
  2910. gen_caption_tag_1(next_depth, max_depth)
  2911. gen_colgroup_tag_1(next_depth, max_depth)
  2912. gen_table_content_1(next_depth, max_depth)
  2913. gen__cl_(next_depth, max_depth)
  2914. result.append("t")
  2915. result.append("a")
  2916. result.append("b")
  2917. result.append("l")
  2918. result.append("e")
  2919. gen__r_(next_depth, max_depth)
  2920. return
  2921.  
  2922. def gen_td_tag(depth, max_depth):
  2923. next_depth = depth + 1
  2924. if depth > max_depth:
  2925. result.append(random.choice(pool_of_td_tag))
  2926. return
  2927. val = random.randrange(1)
  2928. if val == 0:
  2929. gen__l_(next_depth, max_depth)
  2930. result.append("t")
  2931. result.append("d")
  2932. gen_d(next_depth, max_depth)
  2933. gen__r_(next_depth, max_depth)
  2934. gen_body_content(next_depth, max_depth)
  2935. gen__cl_(next_depth, max_depth)
  2936. result.append("t")
  2937. result.append("d")
  2938. gen__r_(next_depth, max_depth)
  2939. return
  2940.  
  2941. def gen_text(depth, max_depth):
  2942. next_depth = depth + 1
  2943. if depth > max_depth:
  2944. result.append(random.choice(pool_of_text))
  2945. return
  2946. val = random.randrange(1)
  2947. if val == 0:
  2948. gen_text_content_1(next_depth, max_depth)
  2949. return
  2950.  
  2951. def gen_text_content(depth, max_depth):
  2952. next_depth = depth + 1
  2953. if depth > max_depth:
  2954. result.append(random.choice(pool_of_text_content))
  2955. return
  2956. val = random.randrange(15)
  2957. if val == 0:
  2958. gen__l_(next_depth, max_depth)
  2959. result.append("b")
  2960. result.append("r")
  2961. gen_d(next_depth, max_depth)
  2962. gen__r_(next_depth, max_depth)
  2963. return
  2964. if val == 1:
  2965. gen__l_(next_depth, max_depth)
  2966. result.append("e")
  2967. result.append("m")
  2968. result.append("b")
  2969. result.append("e")
  2970. result.append("d")
  2971. gen_d(next_depth, max_depth)
  2972. gen__r_(next_depth, max_depth)
  2973. return
  2974. if val == 2:
  2975. gen__l_(next_depth, max_depth)
  2976. result.append("i")
  2977. result.append("f")
  2978. result.append("r")
  2979. result.append("a")
  2980. result.append("m")
  2981. result.append("e")
  2982. gen_d(next_depth, max_depth)
  2983. gen__r_(next_depth, max_depth)
  2984. return
  2985. if val == 3:
  2986. gen__l_(next_depth, max_depth)
  2987. result.append("i")
  2988. result.append("m")
  2989. result.append("g")
  2990. gen_d(next_depth, max_depth)
  2991. gen__r_(next_depth, max_depth)
  2992. return
  2993. if val == 4:
  2994. gen__l_(next_depth, max_depth)
  2995. result.append("s")
  2996. result.append("p")
  2997. result.append("a")
  2998. result.append("c")
  2999. result.append("e")
  3000. result.append("r")
  3001. gen_d(next_depth, max_depth)
  3002. gen__r_(next_depth, max_depth)
  3003. return
  3004. if val == 5:
  3005. gen__l_(next_depth, max_depth)
  3006. result.append("w")
  3007. result.append("b")
  3008. result.append("r")
  3009. gen_d(next_depth, max_depth)
  3010. gen__r_(next_depth, max_depth)
  3011. return
  3012. if val == 6:
  3013. gen_a_tag(next_depth, max_depth)
  3014. return
  3015. if val == 7:
  3016. gen_plain_text(next_depth, max_depth)
  3017. return
  3018. if val == 8:
  3019. gen_physical_style(next_depth, max_depth)
  3020. return
  3021. if val == 9:
  3022. gen_applet_tag(next_depth, max_depth)
  3023. return
  3024. if val == 10:
  3025. gen_content_style(next_depth, max_depth)
  3026. return
  3027. if val == 11:
  3028. gen_ilayer_tag(next_depth, max_depth)
  3029. return
  3030. if val == 12:
  3031. gen_noembed_tag(next_depth, max_depth)
  3032. return
  3033. if val == 13:
  3034. gen_noscript_tag(next_depth, max_depth)
  3035. return
  3036. if val == 14:
  3037. gen_object_tag(next_depth, max_depth)
  3038. return
  3039.  
  3040. def gen_textarea_tag(depth, max_depth):
  3041. next_depth = depth + 1
  3042. if depth > max_depth:
  3043. result.append(random.choice(pool_of_textarea_tag))
  3044. return
  3045. val = random.randrange(1)
  3046. if val == 0:
  3047. gen__l_(next_depth, max_depth)
  3048. result.append("t")
  3049. result.append("e")
  3050. result.append("x")
  3051. result.append("t")
  3052. result.append("a")
  3053. result.append("r")
  3054. result.append("e")
  3055. result.append("a")
  3056. gen_d(next_depth, max_depth)
  3057. gen__r_(next_depth, max_depth)
  3058. gen_plain_text(next_depth, max_depth)
  3059. gen__cl_(next_depth, max_depth)
  3060. result.append("t")
  3061. result.append("e")
  3062. result.append("x")
  3063. result.append("t")
  3064. result.append("a")
  3065. result.append("r")
  3066. result.append("e")
  3067. result.append("a")
  3068. gen__r_(next_depth, max_depth)
  3069. return
  3070.  
  3071. def gen_th_tag(depth, max_depth):
  3072. next_depth = depth + 1
  3073. if depth > max_depth:
  3074. result.append(random.choice(pool_of_th_tag))
  3075. return
  3076. val = random.randrange(1)
  3077. if val == 0:
  3078. gen__l_(next_depth, max_depth)
  3079. result.append("t")
  3080. result.append("h")
  3081. gen_d(next_depth, max_depth)
  3082. gen__r_(next_depth, max_depth)
  3083. gen_body_content(next_depth, max_depth)
  3084. gen__cl_(next_depth, max_depth)
  3085. result.append("t")
  3086. result.append("h")
  3087. gen__r_(next_depth, max_depth)
  3088. return
  3089.  
  3090. def gen_title_tag(depth, max_depth):
  3091. next_depth = depth + 1
  3092. if depth > max_depth:
  3093. result.append(random.choice(pool_of_title_tag))
  3094. return
  3095. val = random.randrange(1)
  3096. if val == 0:
  3097. gen__l_(next_depth, max_depth)
  3098. result.append("t")
  3099. result.append("i")
  3100. result.append("t")
  3101. result.append("l")
  3102. result.append("e")
  3103. gen_d(next_depth, max_depth)
  3104. gen__r_(next_depth, max_depth)
  3105. gen_plain_text(next_depth, max_depth)
  3106. gen__cl_(next_depth, max_depth)
  3107. result.append("t")
  3108. result.append("i")
  3109. result.append("t")
  3110. result.append("l")
  3111. result.append("e")
  3112. gen__r_(next_depth, max_depth)
  3113. return
  3114.  
  3115. def gen_tr_tag(depth, max_depth):
  3116. next_depth = depth + 1
  3117. if depth > max_depth:
  3118. result.append(random.choice(pool_of_tr_tag))
  3119. return
  3120. val = random.randrange(1)
  3121. if val == 0:
  3122. gen__l_(next_depth, max_depth)
  3123. result.append("t")
  3124. result.append("r")
  3125. gen_d(next_depth, max_depth)
  3126. gen__r_(next_depth, max_depth)
  3127. gen_table_cell_1(next_depth, max_depth)
  3128. gen__cl_(next_depth, max_depth)
  3129. result.append("t")
  3130. result.append("r")
  3131. gen__r_(next_depth, max_depth)
  3132. return
  3133.  
  3134. def gen_tt_tag(depth, max_depth):
  3135. next_depth = depth + 1
  3136. if depth > max_depth:
  3137. result.append(random.choice(pool_of_tt_tag))
  3138. return
  3139. val = random.randrange(1)
  3140. if val == 0:
  3141. gen__l_(next_depth, max_depth)
  3142. result.append("t")
  3143. result.append("t")
  3144. gen_d(next_depth, max_depth)
  3145. gen__r_(next_depth, max_depth)
  3146. gen_text(next_depth, max_depth)
  3147. gen__cl_(next_depth, max_depth)
  3148. result.append("t")
  3149. result.append("t")
  3150. gen__r_(next_depth, max_depth)
  3151. return
  3152.  
  3153. def gen_u_tag(depth, max_depth):
  3154. next_depth = depth + 1
  3155. if depth > max_depth:
  3156. result.append(random.choice(pool_of_u_tag))
  3157. return
  3158. val = random.randrange(1)
  3159. if val == 0:
  3160. gen__l_(next_depth, max_depth)
  3161. result.append("u")
  3162. gen_d(next_depth, max_depth)
  3163. gen__r_(next_depth, max_depth)
  3164. gen_text(next_depth, max_depth)
  3165. gen__cl_(next_depth, max_depth)
  3166. result.append("u")
  3167. gen__r_(next_depth, max_depth)
  3168. return
  3169.  
  3170. def gen_ul_tag(depth, max_depth):
  3171. next_depth = depth + 1
  3172. if depth > max_depth:
  3173. result.append(random.choice(pool_of_ul_tag))
  3174. return
  3175. val = random.randrange(1)
  3176. if val == 0:
  3177. gen__l_(next_depth, max_depth)
  3178. result.append("u")
  3179. result.append("l")
  3180. gen_d(next_depth, max_depth)
  3181. gen__r_(next_depth, max_depth)
  3182. gen_li_tag_4(next_depth, max_depth)
  3183. gen__cl_(next_depth, max_depth)
  3184. result.append("u")
  3185. result.append("l")
  3186. gen__r_(next_depth, max_depth)
  3187. return
  3188.  
  3189. def gen_var_tag(depth, max_depth):
  3190. next_depth = depth + 1
  3191. if depth > max_depth:
  3192. result.append(random.choice(pool_of_var_tag))
  3193. return
  3194. val = random.randrange(1)
  3195. if val == 0:
  3196. gen__l_(next_depth, max_depth)
  3197. result.append("v")
  3198. result.append("a")
  3199. result.append("r")
  3200. gen_d(next_depth, max_depth)
  3201. gen__r_(next_depth, max_depth)
  3202. gen_text(next_depth, max_depth)
  3203. gen__cl_(next_depth, max_depth)
  3204. result.append("v")
  3205. result.append("a")
  3206. result.append("r")
  3207. gen__r_(next_depth, max_depth)
  3208. return
  3209.  
  3210. def gen_xmp_tag(depth, max_depth):
  3211. next_depth = depth + 1
  3212. if depth > max_depth:
  3213. result.append(random.choice(pool_of_xmp_tag))
  3214. return
  3215. val = random.randrange(1)
  3216. if val == 0:
  3217. gen__l_(next_depth, max_depth)
  3218. result.append("x")
  3219. result.append("m")
  3220. result.append("p")
  3221. gen_d(next_depth, max_depth)
  3222. gen__r_(next_depth, max_depth)
  3223. gen_literal_text(next_depth, max_depth)
  3224. gen__cl_(next_depth, max_depth)
  3225. result.append("x")
  3226. result.append("m")
  3227. result.append("p")
  3228. gen__r_(next_depth, max_depth)
  3229. return
  3230.  
  3231. def gen_d(depth, max_depth):
  3232. next_depth = depth + 1
  3233. if depth > max_depth:
  3234. result.append(random.choice(pool_of_d))
  3235. return
  3236. val = random.randrange(2)
  3237. if val == 0:
  3238.  
  3239. return
  3240. if val == 1:
  3241. gen_space_1(next_depth, max_depth)
  3242. gen_attributes_1(next_depth, max_depth)
  3243. gen_space_2(next_depth, max_depth)
  3244. return
  3245.  
  3246. def gen_attribute(depth, max_depth):
  3247. next_depth = depth + 1
  3248. if depth > max_depth:
  3249. result.append(random.choice(pool_of_attribute))
  3250. return
  3251. val = random.randrange(4)
  3252. if val == 0:
  3253. gen_key(next_depth, max_depth)
  3254. return
  3255. if val == 1:
  3256. gen_key(next_depth, max_depth)
  3257. result.append("=")
  3258. result.append("\"")
  3259. gen_value(next_depth, max_depth)
  3260. result.append("\"")
  3261. return
  3262. if val == 2:
  3263. gen_key(next_depth, max_depth)
  3264. result.append("=")
  3265. result.append("'")
  3266. gen_value(next_depth, max_depth)
  3267. result.append("'")
  3268. return
  3269. if val == 3:
  3270. gen_key(next_depth, max_depth)
  3271. result.append("=")
  3272. gen_uqvalue(next_depth, max_depth)
  3273. return
  3274.  
  3275. def gen_key(depth, max_depth):
  3276. next_depth = depth + 1
  3277. if depth > max_depth:
  3278. result.append(random.choice(pool_of_key))
  3279. return
  3280. val = random.randrange(1)
  3281. if val == 0:
  3282. gen_allchars(next_depth, max_depth)
  3283. return
  3284.  
  3285. def gen_allchars(depth, max_depth):
  3286. next_depth = depth + 1
  3287. if depth > max_depth:
  3288. result.append(random.choice(pool_of_allchars))
  3289. return
  3290. val = random.randrange(90)
  3291. if val == 0:
  3292. result.append(" ")
  3293. return
  3294. if val == 1:
  3295. result.append("\r")
  3296. return
  3297. if val == 2:
  3298. result.append("!")
  3299. return
  3300. if val == 3:
  3301. result.append("#")
  3302. return
  3303. if val == 4:
  3304. result.append("$")
  3305. return
  3306. if val == 5:
  3307. result.append("%")
  3308. return
  3309. if val == 6:
  3310. result.append("&")
  3311. return
  3312. if val == 7:
  3313. result.append("(")
  3314. return
  3315. if val == 8:
  3316. result.append(")")
  3317. return
  3318. if val == 9:
  3319. result.append("*")
  3320. return
  3321. if val == 10:
  3322. result.append("+")
  3323. return
  3324. if val == 11:
  3325. result.append(",")
  3326. return
  3327. if val == 12:
  3328. result.append("-")
  3329. return
  3330. if val == 13:
  3331. result.append(".")
  3332. return
  3333. if val == 14:
  3334. result.append("0")
  3335. return
  3336. if val == 15:
  3337. result.append("1")
  3338. return
  3339. if val == 16:
  3340. result.append("2")
  3341. return
  3342. if val == 17:
  3343. result.append("3")
  3344. return
  3345. if val == 18:
  3346. result.append("4")
  3347. return
  3348. if val == 19:
  3349. result.append("5")
  3350. return
  3351. if val == 20:
  3352. result.append("6")
  3353. return
  3354. if val == 21:
  3355. result.append("7")
  3356. return
  3357. if val == 22:
  3358. result.append("8")
  3359. return
  3360. if val == 23:
  3361. result.append("9")
  3362. return
  3363. if val == 24:
  3364. result.append(":")
  3365. return
  3366. if val == 25:
  3367. result.append(";")
  3368. return
  3369. if val == 26:
  3370. result.append("?")
  3371. return
  3372. if val == 27:
  3373. result.append("@")
  3374. return
  3375. if val == 28:
  3376. result.append("A")
  3377. return
  3378. if val == 29:
  3379. result.append("B")
  3380. return
  3381. if val == 30:
  3382. result.append("C")
  3383. return
  3384. if val == 31:
  3385. result.append("D")
  3386. return
  3387. if val == 32:
  3388. result.append("E")
  3389. return
  3390. if val == 33:
  3391. result.append("F")
  3392. return
  3393. if val == 34:
  3394. result.append("G")
  3395. return
  3396. if val == 35:
  3397. result.append("H")
  3398. return
  3399. if val == 36:
  3400. result.append("I")
  3401. return
  3402. if val == 37:
  3403. result.append("J")
  3404. return
  3405. if val == 38:
  3406. result.append("K")
  3407. return
  3408. if val == 39:
  3409. result.append("L")
  3410. return
  3411. if val == 40:
  3412. result.append("M")
  3413. return
  3414. if val == 41:
  3415. result.append("N")
  3416. return
  3417. if val == 42:
  3418. result.append("O")
  3419. return
  3420. if val == 43:
  3421. result.append("P")
  3422. return
  3423. if val == 44:
  3424. result.append("Q")
  3425. return
  3426. if val == 45:
  3427. result.append("R")
  3428. return
  3429. if val == 46:
  3430. result.append("S")
  3431. return
  3432. if val == 47:
  3433. result.append("T")
  3434. return
  3435. if val == 48:
  3436. result.append("U")
  3437. return
  3438. if val == 49:
  3439. result.append("V")
  3440. return
  3441. if val == 50:
  3442. result.append("W")
  3443. return
  3444. if val == 51:
  3445. result.append("X")
  3446. return
  3447. if val == 52:
  3448. result.append("Y")
  3449. return
  3450. if val == 53:
  3451. result.append("Z")
  3452. return
  3453. if val == 54:
  3454. result.append("[")
  3455. return
  3456. if val == 55:
  3457. result.append("\\")
  3458. return
  3459. if val == 56:
  3460. result.append("]")
  3461. return
  3462. if val == 57:
  3463. result.append("^")
  3464. return
  3465. if val == 58:
  3466. result.append("_")
  3467. return
  3468. if val == 59:
  3469. result.append("`")
  3470. return
  3471. if val == 60:
  3472. result.append("a")
  3473. return
  3474. if val == 61:
  3475. result.append("b")
  3476. return
  3477. if val == 62:
  3478. result.append("c")
  3479. return
  3480. if val == 63:
  3481. result.append("d")
  3482. return
  3483. if val == 64:
  3484. result.append("e")
  3485. return
  3486. if val == 65:
  3487. result.append("f")
  3488. return
  3489. if val == 66:
  3490. result.append("g")
  3491. return
  3492. if val == 67:
  3493. result.append("h")
  3494. return
  3495. if val == 68:
  3496. result.append("i")
  3497. return
  3498. if val == 69:
  3499. result.append("j")
  3500. return
  3501. if val == 70:
  3502. result.append("k")
  3503. return
  3504. if val == 71:
  3505. result.append("l")
  3506. return
  3507. if val == 72:
  3508. result.append("m")
  3509. return
  3510. if val == 73:
  3511. result.append("n")
  3512. return
  3513. if val == 74:
  3514. result.append("o")
  3515. return
  3516. if val == 75:
  3517. result.append("p")
  3518. return
  3519. if val == 76:
  3520. result.append("q")
  3521. return
  3522. if val == 77:
  3523. result.append("r")
  3524. return
  3525. if val == 78:
  3526. result.append("s")
  3527. return
  3528. if val == 79:
  3529. result.append("t")
  3530. return
  3531. if val == 80:
  3532. result.append("u")
  3533. return
  3534. if val == 81:
  3535. result.append("v")
  3536. return
  3537. if val == 82:
  3538. result.append("w")
  3539. return
  3540. if val == 83:
  3541. result.append("x")
  3542. return
  3543. if val == 84:
  3544. result.append("y")
  3545. return
  3546. if val == 85:
  3547. result.append("z")
  3548. return
  3549. if val == 86:
  3550. result.append("{")
  3551. return
  3552. if val == 87:
  3553. result.append("|")
  3554. return
  3555. if val == 88:
  3556. result.append("}")
  3557. return
  3558. if val == 89:
  3559. result.append("~")
  3560. return
  3561.  
  3562. def gen_value(depth, max_depth):
  3563. next_depth = depth + 1
  3564. if depth > max_depth:
  3565. result.append(random.choice(pool_of_value))
  3566. return
  3567. val = random.randrange(1)
  3568. if val == 0:
  3569. gen_anychars(next_depth, max_depth)
  3570. return
  3571.  
  3572. def gen_anychar(depth, max_depth):
  3573. next_depth = depth + 1
  3574. if depth > max_depth:
  3575. result.append(random.choice(pool_of_anychar))
  3576. return
  3577. val = random.randrange(100)
  3578. if val == 0:
  3579. result.append("\t")
  3580. return
  3581. if val == 1:
  3582. result.append("\n")
  3583. return
  3584. if val == 2:
  3585. result.append("\v")
  3586. return
  3587. if val == 3:
  3588. result.append(" ")
  3589. return
  3590. if val == 4:
  3591. result.append("\r")
  3592. return
  3593. if val == 5:
  3594. result.append(" ")
  3595. return
  3596. if val == 6:
  3597. result.append("!")
  3598. return
  3599. if val == 7:
  3600. result.append("\"")
  3601. return
  3602. if val == 8:
  3603. result.append("#")
  3604. return
  3605. if val == 9:
  3606. result.append("$")
  3607. return
  3608. if val == 10:
  3609. result.append("%")
  3610. return
  3611. if val == 11:
  3612. result.append("&")
  3613. return
  3614. if val == 12:
  3615. result.append("'")
  3616. return
  3617. if val == 13:
  3618. result.append("(")
  3619. return
  3620. if val == 14:
  3621. result.append(")")
  3622. return
  3623. if val == 15:
  3624. result.append("*")
  3625. return
  3626. if val == 16:
  3627. result.append("+")
  3628. return
  3629. if val == 17:
  3630. result.append(",")
  3631. return
  3632. if val == 18:
  3633. result.append("-")
  3634. return
  3635. if val == 19:
  3636. result.append(".")
  3637. return
  3638. if val == 20:
  3639. result.append("/")
  3640. return
  3641. if val == 21:
  3642. result.append("0")
  3643. return
  3644. if val == 22:
  3645. result.append("1")
  3646. return
  3647. if val == 23:
  3648. result.append("2")
  3649. return
  3650. if val == 24:
  3651. result.append("3")
  3652. return
  3653. if val == 25:
  3654. result.append("4")
  3655. return
  3656. if val == 26:
  3657. result.append("5")
  3658. return
  3659. if val == 27:
  3660. result.append("6")
  3661. return
  3662. if val == 28:
  3663. result.append("7")
  3664. return
  3665. if val == 29:
  3666. result.append("8")
  3667. return
  3668. if val == 30:
  3669. result.append("9")
  3670. return
  3671. if val == 31:
  3672. result.append(":")
  3673. return
  3674. if val == 32:
  3675. result.append(";")
  3676. return
  3677. if val == 33:
  3678. result.append("<")
  3679. return
  3680. if val == 34:
  3681. result.append("=")
  3682. return
  3683. if val == 35:
  3684. result.append(">")
  3685. return
  3686. if val == 36:
  3687. result.append("?")
  3688. return
  3689. if val == 37:
  3690. result.append("@")
  3691. return
  3692. if val == 38:
  3693. result.append("A")
  3694. return
  3695. if val == 39:
  3696. result.append("B")
  3697. return
  3698. if val == 40:
  3699. result.append("C")
  3700. return
  3701. if val == 41:
  3702. result.append("D")
  3703. return
  3704. if val == 42:
  3705. result.append("E")
  3706. return
  3707. if val == 43:
  3708. result.append("F")
  3709. return
  3710. if val == 44:
  3711. result.append("G")
  3712. return
  3713. if val == 45:
  3714. result.append("H")
  3715. return
  3716. if val == 46:
  3717. result.append("I")
  3718. return
  3719. if val == 47:
  3720. result.append("J")
  3721. return
  3722. if val == 48:
  3723. result.append("K")
  3724. return
  3725. if val == 49:
  3726. result.append("L")
  3727. return
  3728. if val == 50:
  3729. result.append("M")
  3730. return
  3731. if val == 51:
  3732. result.append("N")
  3733. return
  3734. if val == 52:
  3735. result.append("O")
  3736. return
  3737. if val == 53:
  3738. result.append("P")
  3739. return
  3740. if val == 54:
  3741. result.append("Q")
  3742. return
  3743. if val == 55:
  3744. result.append("R")
  3745. return
  3746. if val == 56:
  3747. result.append("S")
  3748. return
  3749. if val == 57:
  3750. result.append("T")
  3751. return
  3752. if val == 58:
  3753. result.append("U")
  3754. return
  3755. if val == 59:
  3756. result.append("V")
  3757. return
  3758. if val == 60:
  3759. result.append("W")
  3760. return
  3761. if val == 61:
  3762. result.append("X")
  3763. return
  3764. if val == 62:
  3765. result.append("Y")
  3766. return
  3767. if val == 63:
  3768. result.append("Z")
  3769. return
  3770. if val == 64:
  3771. result.append("[")
  3772. return
  3773. if val == 65:
  3774. result.append("\\")
  3775. return
  3776. if val == 66:
  3777. result.append("]")
  3778. return
  3779. if val == 67:
  3780. result.append("^")
  3781. return
  3782. if val == 68:
  3783. result.append("_")
  3784. return
  3785. if val == 69:
  3786. result.append("`")
  3787. return
  3788. if val == 70:
  3789. result.append("a")
  3790. return
  3791. if val == 71:
  3792. result.append("b")
  3793. return
  3794. if val == 72:
  3795. result.append("c")
  3796. return
  3797. if val == 73:
  3798. result.append("d")
  3799. return
  3800. if val == 74:
  3801. result.append("e")
  3802. return
  3803. if val == 75:
  3804. result.append("f")
  3805. return
  3806. if val == 76:
  3807. result.append("g")
  3808. return
  3809. if val == 77:
  3810. result.append("h")
  3811. return
  3812. if val == 78:
  3813. result.append("i")
  3814. return
  3815. if val == 79:
  3816. result.append("j")
  3817. return
  3818. if val == 80:
  3819. result.append("k")
  3820. return
  3821. if val == 81:
  3822. result.append("l")
  3823. return
  3824. if val == 82:
  3825. result.append("m")
  3826. return
  3827. if val == 83:
  3828. result.append("n")
  3829. return
  3830. if val == 84:
  3831. result.append("o")
  3832. return
  3833. if val == 85:
  3834. result.append("p")
  3835. return
  3836. if val == 86:
  3837. result.append("q")
  3838. return
  3839. if val == 87:
  3840. result.append("r")
  3841. return
  3842. if val == 88:
  3843. result.append("s")
  3844. return
  3845. if val == 89:
  3846. result.append("t")
  3847. return
  3848. if val == 90:
  3849. result.append("u")
  3850. return
  3851. if val == 91:
  3852. result.append("v")
  3853. return
  3854. if val == 92:
  3855. result.append("w")
  3856. return
  3857. if val == 93:
  3858. result.append("x")
  3859. return
  3860. if val == 94:
  3861. result.append("y")
  3862. return
  3863. if val == 95:
  3864. result.append("z")
  3865. return
  3866. if val == 96:
  3867. result.append("{")
  3868. return
  3869. if val == 97:
  3870. result.append("|")
  3871. return
  3872. if val == 98:
  3873. result.append("}")
  3874. return
  3875. if val == 99:
  3876. result.append("~")
  3877. return
  3878.  
  3879. def gen_anychars(depth, max_depth):
  3880. next_depth = depth + 1
  3881. if depth > max_depth:
  3882. result.append(random.choice(pool_of_anychars))
  3883. return
  3884. val = random.randrange(1)
  3885. if val == 0:
  3886. gen_anychar_1(next_depth, max_depth)
  3887. return
  3888.  
  3889. def gen_uqvalue(depth, max_depth):
  3890. next_depth = depth + 1
  3891. if depth > max_depth:
  3892. result.append(random.choice(pool_of_uqvalue))
  3893. return
  3894. val = random.randrange(1)
  3895. if val == 0:
  3896. gen_uqchars(next_depth, max_depth)
  3897. return
  3898.  
  3899. def gen_uqchar(depth, max_depth):
  3900. next_depth = depth + 1
  3901. if depth > max_depth:
  3902. result.append(random.choice(pool_of_uqchar))
  3903. return
  3904. val = random.randrange(89)
  3905. if val == 0:
  3906. result.append(" ")
  3907. return
  3908. if val == 1:
  3909. result.append("\r")
  3910. return
  3911. if val == 2:
  3912. result.append("!")
  3913. return
  3914. if val == 3:
  3915. result.append("#")
  3916. return
  3917. if val == 4:
  3918. result.append("$")
  3919. return
  3920. if val == 5:
  3921. result.append("%")
  3922. return
  3923. if val == 6:
  3924. result.append("&")
  3925. return
  3926. if val == 7:
  3927. result.append("(")
  3928. return
  3929. if val == 8:
  3930. result.append(")")
  3931. return
  3932. if val == 9:
  3933. result.append("*")
  3934. return
  3935. if val == 10:
  3936. result.append("+")
  3937. return
  3938. if val == 11:
  3939. result.append(",")
  3940. return
  3941. if val == 12:
  3942. result.append("-")
  3943. return
  3944. if val == 13:
  3945. result.append(".")
  3946. return
  3947. if val == 14:
  3948. result.append("0")
  3949. return
  3950. if val == 15:
  3951. result.append("1")
  3952. return
  3953. if val == 16:
  3954. result.append("2")
  3955. return
  3956. if val == 17:
  3957. result.append("3")
  3958. return
  3959. if val == 18:
  3960. result.append("4")
  3961. return
  3962. if val == 19:
  3963. result.append("5")
  3964. return
  3965. if val == 20:
  3966. result.append("6")
  3967. return
  3968. if val == 21:
  3969. result.append("7")
  3970. return
  3971. if val == 22:
  3972. result.append("8")
  3973. return
  3974. if val == 23:
  3975. result.append("9")
  3976. return
  3977. if val == 24:
  3978. result.append(":")
  3979. return
  3980. if val == 25:
  3981. result.append(";")
  3982. return
  3983. if val == 26:
  3984. result.append("?")
  3985. return
  3986. if val == 27:
  3987. result.append("@")
  3988. return
  3989. if val == 28:
  3990. result.append("A")
  3991. return
  3992. if val == 29:
  3993. result.append("B")
  3994. return
  3995. if val == 30:
  3996. result.append("C")
  3997. return
  3998. if val == 31:
  3999. result.append("D")
  4000. return
  4001. if val == 32:
  4002. result.append("E")
  4003. return
  4004. if val == 33:
  4005. result.append("F")
  4006. return
  4007. if val == 34:
  4008. result.append("G")
  4009. return
  4010. if val == 35:
  4011. result.append("H")
  4012. return
  4013. if val == 36:
  4014. result.append("I")
  4015. return
  4016. if val == 37:
  4017. result.append("J")
  4018. return
  4019. if val == 38:
  4020. result.append("K")
  4021. return
  4022. if val == 39:
  4023. result.append("L")
  4024. return
  4025. if val == 40:
  4026. result.append("M")
  4027. return
  4028. if val == 41:
  4029. result.append("N")
  4030. return
  4031. if val == 42:
  4032. result.append("O")
  4033. return
  4034. if val == 43:
  4035. result.append("P")
  4036. return
  4037. if val == 44:
  4038. result.append("Q")
  4039. return
  4040. if val == 45:
  4041. result.append("R")
  4042. return
  4043. if val == 46:
  4044. result.append("S")
  4045. return
  4046. if val == 47:
  4047. result.append("T")
  4048. return
  4049. if val == 48:
  4050. result.append("U")
  4051. return
  4052. if val == 49:
  4053. result.append("V")
  4054. return
  4055. if val == 50:
  4056. result.append("W")
  4057. return
  4058. if val == 51:
  4059. result.append("X")
  4060. return
  4061. if val == 52:
  4062. result.append("Y")
  4063. return
  4064. if val == 53:
  4065. result.append("Z")
  4066. return
  4067. if val == 54:
  4068. result.append("[")
  4069. return
  4070. if val == 55:
  4071. result.append("\\")
  4072. return
  4073. if val == 56:
  4074. result.append("]")
  4075. return
  4076. if val == 57:
  4077. result.append("^")
  4078. return
  4079. if val == 58:
  4080. result.append("_")
  4081. return
  4082. if val == 59:
  4083. result.append("a")
  4084. return
  4085. if val == 60:
  4086. result.append("b")
  4087. return
  4088. if val == 61:
  4089. result.append("c")
  4090. return
  4091. if val == 62:
  4092. result.append("d")
  4093. return
  4094. if val == 63:
  4095. result.append("e")
  4096. return
  4097. if val == 64:
  4098. result.append("f")
  4099. return
  4100. if val == 65:
  4101. result.append("g")
  4102. return
  4103. if val == 66:
  4104. result.append("h")
  4105. return
  4106. if val == 67:
  4107. result.append("i")
  4108. return
  4109. if val == 68:
  4110. result.append("j")
  4111. return
  4112. if val == 69:
  4113. result.append("k")
  4114. return
  4115. if val == 70:
  4116. result.append("l")
  4117. return
  4118. if val == 71:
  4119. result.append("m")
  4120. return
  4121. if val == 72:
  4122. result.append("n")
  4123. return
  4124. if val == 73:
  4125. result.append("o")
  4126. return
  4127. if val == 74:
  4128. result.append("p")
  4129. return
  4130. if val == 75:
  4131. result.append("q")
  4132. return
  4133. if val == 76:
  4134. result.append("r")
  4135. return
  4136. if val == 77:
  4137. result.append("s")
  4138. return
  4139. if val == 78:
  4140. result.append("t")
  4141. return
  4142. if val == 79:
  4143. result.append("u")
  4144. return
  4145. if val == 80:
  4146. result.append("v")
  4147. return
  4148. if val == 81:
  4149. result.append("w")
  4150. return
  4151. if val == 82:
  4152. result.append("x")
  4153. return
  4154. if val == 83:
  4155. result.append("y")
  4156. return
  4157. if val == 84:
  4158. result.append("z")
  4159. return
  4160. if val == 85:
  4161. result.append("{")
  4162. return
  4163. if val == 86:
  4164. result.append("|")
  4165. return
  4166. if val == 87:
  4167. result.append("}")
  4168. return
  4169. if val == 88:
  4170. result.append("~")
  4171. return
  4172.  
  4173. def gen_uqchars(depth, max_depth):
  4174. next_depth = depth + 1
  4175. if depth > max_depth:
  4176. result.append(random.choice(pool_of_uqchars))
  4177. return
  4178. val = random.randrange(1)
  4179. if val == 0:
  4180. gen_uqchar_1(next_depth, max_depth)
  4181. return
  4182.  
  4183. def gen_attributes(depth, max_depth):
  4184. next_depth = depth + 1
  4185. if depth > max_depth:
  4186. result.append(random.choice(pool_of_attributes))
  4187. return
  4188. val = random.randrange(2)
  4189. if val == 0:
  4190. gen_attribute(next_depth, max_depth)
  4191. return
  4192. if val == 1:
  4193. gen_attribute(next_depth, max_depth)
  4194. gen_space_3(next_depth, max_depth)
  4195. gen_attributes(next_depth, max_depth)
  4196. return
  4197.  
  4198. def gen_space(depth, max_depth):
  4199. next_depth = depth + 1
  4200. if depth > max_depth:
  4201. result.append(random.choice(pool_of_space))
  4202. return
  4203. val = random.randrange(3)
  4204. if val == 0:
  4205. result.append("\t")
  4206. return
  4207. if val == 1:
  4208. result.append("\n")
  4209. return
  4210. if val == 2:
  4211. result.append(" ")
  4212. return
  4213.  
  4214. def gen_a_content_1(depth, max_depth):
  4215. next_depth = depth + 1
  4216. if depth > max_depth:
  4217. result.append(random.choice(pool_of_a_content_1))
  4218. return
  4219. val = random.randrange(2)
  4220. if val == 0:
  4221.  
  4222. return
  4223. if val == 1:
  4224. gen_a_content(next_depth, max_depth)
  4225. gen_a_content_1(next_depth, max_depth)
  4226. return
  4227.  
  4228. def gen_address_content_1(depth, max_depth):
  4229. next_depth = depth + 1
  4230. if depth > max_depth:
  4231. result.append(random.choice(pool_of_address_content_1))
  4232. return
  4233. val = random.randrange(2)
  4234. if val == 0:
  4235.  
  4236. return
  4237. if val == 1:
  4238. gen_address_content(next_depth, max_depth)
  4239. gen_address_content_1(next_depth, max_depth)
  4240. return
  4241.  
  4242. def gen_param_1(depth, max_depth):
  4243. next_depth = depth + 1
  4244. if depth > max_depth:
  4245. result.append(random.choice(pool_of_param_1))
  4246. return
  4247. val = random.randrange(2)
  4248. if val == 0:
  4249.  
  4250. return
  4251. if val == 1:
  4252. gen_param(next_depth, max_depth)
  4253. gen_param_1(next_depth, max_depth)
  4254. return
  4255.  
  4256. def gen_block_content_1(depth, max_depth):
  4257. next_depth = depth + 1
  4258. if depth > max_depth:
  4259. result.append(random.choice(pool_of_block_content_1))
  4260. return
  4261. val = random.randrange(2)
  4262. if val == 0:
  4263.  
  4264. return
  4265. if val == 1:
  4266. gen_block_content(next_depth, max_depth)
  4267. gen_block_content_1(next_depth, max_depth)
  4268. return
  4269.  
  4270. def gen_body_content_1(depth, max_depth):
  4271. next_depth = depth + 1
  4272. if depth > max_depth:
  4273. result.append(random.choice(pool_of_body_content_1))
  4274. return
  4275. val = random.randrange(2)
  4276. if val == 0:
  4277.  
  4278. return
  4279. if val == 1:
  4280. gen_body_content(next_depth, max_depth)
  4281. gen_body_content_1(next_depth, max_depth)
  4282. return
  4283.  
  4284. def gen_body_content_2(depth, max_depth):
  4285. next_depth = depth + 1
  4286. if depth > max_depth:
  4287. result.append(random.choice(pool_of_body_content_2))
  4288. return
  4289. val = random.randrange(2)
  4290. if val == 0:
  4291.  
  4292. return
  4293. if val == 1:
  4294. gen_body_content(next_depth, max_depth)
  4295. gen_body_content_2(next_depth, max_depth)
  4296. return
  4297.  
  4298. def gen_body_content_3(depth, max_depth):
  4299. next_depth = depth + 1
  4300. if depth > max_depth:
  4301. result.append(random.choice(pool_of_body_content_3))
  4302. return
  4303. val = random.randrange(2)
  4304. if val == 0:
  4305.  
  4306. return
  4307. if val == 1:
  4308. gen_body_content(next_depth, max_depth)
  4309. gen_body_content_3(next_depth, max_depth)
  4310. return
  4311.  
  4312. def gen__r__1(depth, max_depth):
  4313. next_depth = depth + 1
  4314. if depth > max_depth:
  4315. result.append(random.choice(pool_of__r__1))
  4316. return
  4317. val = random.randrange(2)
  4318. if val == 0:
  4319.  
  4320. return
  4321. if val == 1:
  4322. gen__r_(next_depth, max_depth)
  4323. gen__r__1(next_depth, max_depth)
  4324. return
  4325.  
  4326. def gen_li_tag_1(depth, max_depth):
  4327. next_depth = depth + 1
  4328. if depth > max_depth:
  4329. result.append(random.choice(pool_of_li_tag_1))
  4330. return
  4331. val = random.randrange(2)
  4332. if val == 0:
  4333. gen_li_tag(next_depth, max_depth)
  4334. return
  4335. if val == 1:
  4336. gen_li_tag(next_depth, max_depth)
  4337. gen_li_tag_1(next_depth, max_depth)
  4338. return
  4339.  
  4340. def gen_dl_content_1(depth, max_depth):
  4341. next_depth = depth + 1
  4342. if depth > max_depth:
  4343. result.append(random.choice(pool_of_dl_content_1))
  4344. return
  4345. val = random.randrange(2)
  4346. if val == 0:
  4347. gen_dl_content(next_depth, max_depth)
  4348. return
  4349. if val == 1:
  4350. gen_dl_content(next_depth, max_depth)
  4351. gen_dl_content_1(next_depth, max_depth)
  4352. return
  4353.  
  4354. def gen_legend_tag_1(depth, max_depth):
  4355. next_depth = depth + 1
  4356. if depth > max_depth:
  4357. result.append(random.choice(pool_of_legend_tag_1))
  4358. return
  4359. val = random.randrange(2)
  4360. if val == 0:
  4361.  
  4362. return
  4363. if val == 1:
  4364. gen_legend_tag(next_depth, max_depth)
  4365. gen_legend_tag_1(next_depth, max_depth)
  4366. return
  4367.  
  4368. def gen_form_content_1(depth, max_depth):
  4369. next_depth = depth + 1
  4370. if depth > max_depth:
  4371. result.append(random.choice(pool_of_form_content_1))
  4372. return
  4373. val = random.randrange(2)
  4374. if val == 0:
  4375.  
  4376. return
  4377. if val == 1:
  4378. gen_form_content(next_depth, max_depth)
  4379. gen_form_content_1(next_depth, max_depth)
  4380. return
  4381.  
  4382. def gen_flow_content_1(depth, max_depth):
  4383. next_depth = depth + 1
  4384. if depth > max_depth:
  4385. result.append(random.choice(pool_of_flow_content_1))
  4386. return
  4387. val = random.randrange(2)
  4388. if val == 0:
  4389.  
  4390. return
  4391. if val == 1:
  4392. gen_flow_content(next_depth, max_depth)
  4393. gen_flow_content_1(next_depth, max_depth)
  4394. return
  4395.  
  4396. def gen_form_content_2(depth, max_depth):
  4397. next_depth = depth + 1
  4398. if depth > max_depth:
  4399. result.append(random.choice(pool_of_form_content_2))
  4400. return
  4401. val = random.randrange(2)
  4402. if val == 0:
  4403.  
  4404. return
  4405. if val == 1:
  4406. gen_form_content(next_depth, max_depth)
  4407. gen_form_content_2(next_depth, max_depth)
  4408. return
  4409.  
  4410. def gen_frameset_content_1(depth, max_depth):
  4411. next_depth = depth + 1
  4412. if depth > max_depth:
  4413. result.append(random.choice(pool_of_frameset_content_1))
  4414. return
  4415. val = random.randrange(2)
  4416. if val == 0:
  4417.  
  4418. return
  4419. if val == 1:
  4420. gen_frameset_content(next_depth, max_depth)
  4421. gen_frameset_content_1(next_depth, max_depth)
  4422. return
  4423.  
  4424. def gen_head_content_1(depth, max_depth):
  4425. next_depth = depth + 1
  4426. if depth > max_depth:
  4427. result.append(random.choice(pool_of_head_content_1))
  4428. return
  4429. val = random.randrange(2)
  4430. if val == 0:
  4431.  
  4432. return
  4433. if val == 1:
  4434. gen_head_content(next_depth, max_depth)
  4435. gen_head_content_1(next_depth, max_depth)
  4436. return
  4437.  
  4438. def gen_label_content_1(depth, max_depth):
  4439. next_depth = depth + 1
  4440. if depth > max_depth:
  4441. result.append(random.choice(pool_of_label_content_1))
  4442. return
  4443. val = random.randrange(2)
  4444. if val == 0:
  4445.  
  4446. return
  4447. if val == 1:
  4448. gen_label_content(next_depth, max_depth)
  4449. gen_label_content_1(next_depth, max_depth)
  4450. return
  4451.  
  4452. def gen_area_1(depth, max_depth):
  4453. next_depth = depth + 1
  4454. if depth > max_depth:
  4455. result.append(random.choice(pool_of_area_1))
  4456. return
  4457. val = random.randrange(2)
  4458. if val == 0:
  4459.  
  4460. return
  4461. if val == 1:
  4462. gen_area(next_depth, max_depth)
  4463. gen_area_1(next_depth, max_depth)
  4464. return
  4465.  
  4466. def gen_li_tag_2(depth, max_depth):
  4467. next_depth = depth + 1
  4468. if depth > max_depth:
  4469. result.append(random.choice(pool_of_li_tag_2))
  4470. return
  4471. val = random.randrange(2)
  4472. if val == 0:
  4473.  
  4474. return
  4475. if val == 1:
  4476. gen_li_tag(next_depth, max_depth)
  4477. gen_li_tag_2(next_depth, max_depth)
  4478. return
  4479.  
  4480. def gen_body_content_4(depth, max_depth):
  4481. next_depth = depth + 1
  4482. if depth > max_depth:
  4483. result.append(random.choice(pool_of_body_content_4))
  4484. return
  4485. val = random.randrange(2)
  4486. if val == 0:
  4487.  
  4488. return
  4489. if val == 1:
  4490. gen_body_content(next_depth, max_depth)
  4491. gen_body_content_4(next_depth, max_depth)
  4492. return
  4493.  
  4494. def gen_param_2(depth, max_depth):
  4495. next_depth = depth + 1
  4496. if depth > max_depth:
  4497. result.append(random.choice(pool_of_param_2))
  4498. return
  4499. val = random.randrange(2)
  4500. if val == 0:
  4501.  
  4502. return
  4503. if val == 1:
  4504. gen_param(next_depth, max_depth)
  4505. gen_param_2(next_depth, max_depth)
  4506. return
  4507.  
  4508. def gen_li_tag_3(depth, max_depth):
  4509. next_depth = depth + 1
  4510. if depth > max_depth:
  4511. result.append(random.choice(pool_of_li_tag_3))
  4512. return
  4513. val = random.randrange(2)
  4514. if val == 0:
  4515. gen_li_tag(next_depth, max_depth)
  4516. return
  4517. if val == 1:
  4518. gen_li_tag(next_depth, max_depth)
  4519. gen_li_tag_3(next_depth, max_depth)
  4520. return
  4521.  
  4522. def gen_option_tag_1(depth, max_depth):
  4523. next_depth = depth + 1
  4524. if depth > max_depth:
  4525. result.append(random.choice(pool_of_option_tag_1))
  4526. return
  4527. val = random.randrange(2)
  4528. if val == 0:
  4529.  
  4530. return
  4531. if val == 1:
  4532. gen_option_tag(next_depth, max_depth)
  4533. gen_option_tag_1(next_depth, max_depth)
  4534. return
  4535.  
  4536. def gen_plain_text_1(depth, max_depth):
  4537. next_depth = depth + 1
  4538. if depth > max_depth:
  4539. result.append(random.choice(pool_of_plain_text_1))
  4540. return
  4541. val = random.randrange(2)
  4542. if val == 0:
  4543. gen_plain_text(next_depth, max_depth)
  4544. return
  4545. if val == 1:
  4546. gen_plain_text(next_depth, max_depth)
  4547. gen_plain_text_1(next_depth, max_depth)
  4548. return
  4549.  
  4550. def gen_entity_1(depth, max_depth):
  4551. next_depth = depth + 1
  4552. if depth > max_depth:
  4553. result.append(random.choice(pool_of_entity_1))
  4554. return
  4555. val = random.randrange(2)
  4556. if val == 0:
  4557.  
  4558. return
  4559. if val == 1:
  4560. gen_entity(next_depth, max_depth)
  4561. gen_entity_1(next_depth, max_depth)
  4562. return
  4563.  
  4564. def gen_pre_content_1(depth, max_depth):
  4565. next_depth = depth + 1
  4566. if depth > max_depth:
  4567. result.append(random.choice(pool_of_pre_content_1))
  4568. return
  4569. val = random.randrange(2)
  4570. if val == 0:
  4571.  
  4572. return
  4573. if val == 1:
  4574. gen_pre_content(next_depth, max_depth)
  4575. gen_pre_content_1(next_depth, max_depth)
  4576. return
  4577.  
  4578. def gen_select_content_1(depth, max_depth):
  4579. next_depth = depth + 1
  4580. if depth > max_depth:
  4581. result.append(random.choice(pool_of_select_content_1))
  4582. return
  4583. val = random.randrange(2)
  4584. if val == 0:
  4585.  
  4586. return
  4587. if val == 1:
  4588. gen_select_content(next_depth, max_depth)
  4589. gen_select_content_1(next_depth, max_depth)
  4590. return
  4591.  
  4592. def gen_caption_tag_1(depth, max_depth):
  4593. next_depth = depth + 1
  4594. if depth > max_depth:
  4595. result.append(random.choice(pool_of_caption_tag_1))
  4596. return
  4597. val = random.randrange(2)
  4598. if val == 0:
  4599.  
  4600. return
  4601. if val == 1:
  4602. gen_caption_tag(next_depth, max_depth)
  4603. gen_caption_tag_1(next_depth, max_depth)
  4604. return
  4605.  
  4606. def gen_colgroup_tag_1(depth, max_depth):
  4607. next_depth = depth + 1
  4608. if depth > max_depth:
  4609. result.append(random.choice(pool_of_colgroup_tag_1))
  4610. return
  4611. val = random.randrange(2)
  4612. if val == 0:
  4613.  
  4614. return
  4615. if val == 1:
  4616. gen_colgroup_tag(next_depth, max_depth)
  4617. gen_colgroup_tag_1(next_depth, max_depth)
  4618. return
  4619.  
  4620. def gen_table_content_1(depth, max_depth):
  4621. next_depth = depth + 1
  4622. if depth > max_depth:
  4623. result.append(random.choice(pool_of_table_content_1))
  4624. return
  4625. val = random.randrange(2)
  4626. if val == 0:
  4627.  
  4628. return
  4629. if val == 1:
  4630. gen_table_content(next_depth, max_depth)
  4631. gen_table_content_1(next_depth, max_depth)
  4632. return
  4633.  
  4634. def gen_text_content_1(depth, max_depth):
  4635. next_depth = depth + 1
  4636. if depth > max_depth:
  4637. result.append(random.choice(pool_of_text_content_1))
  4638. return
  4639. val = random.randrange(2)
  4640. if val == 0:
  4641.  
  4642. return
  4643. if val == 1:
  4644. gen_text_content(next_depth, max_depth)
  4645. gen_text_content_1(next_depth, max_depth)
  4646. return
  4647.  
  4648. def gen_table_cell_1(depth, max_depth):
  4649. next_depth = depth + 1
  4650. if depth > max_depth:
  4651. result.append(random.choice(pool_of_table_cell_1))
  4652. return
  4653. val = random.randrange(2)
  4654. if val == 0:
  4655.  
  4656. return
  4657. if val == 1:
  4658. gen_table_cell(next_depth, max_depth)
  4659. gen_table_cell_1(next_depth, max_depth)
  4660. return
  4661.  
  4662. def gen_li_tag_4(depth, max_depth):
  4663. next_depth = depth + 1
  4664. if depth > max_depth:
  4665. result.append(random.choice(pool_of_li_tag_4))
  4666. return
  4667. val = random.randrange(2)
  4668. if val == 0:
  4669.  
  4670. return
  4671. if val == 1:
  4672. gen_li_tag(next_depth, max_depth)
  4673. gen_li_tag_4(next_depth, max_depth)
  4674. return
  4675.  
  4676. def gen_space_1(depth, max_depth):
  4677. next_depth = depth + 1
  4678. if depth > max_depth:
  4679. result.append(random.choice(pool_of_space_1))
  4680. return
  4681. val = random.randrange(2)
  4682. if val == 0:
  4683. gen_space(next_depth, max_depth)
  4684. return
  4685. if val == 1:
  4686. gen_space(next_depth, max_depth)
  4687. gen_space_1(next_depth, max_depth)
  4688. return
  4689.  
  4690. def gen_attributes_1(depth, max_depth):
  4691. next_depth = depth + 1
  4692. if depth > max_depth:
  4693. result.append(random.choice(pool_of_attributes_1))
  4694. return
  4695. val = random.randrange(2)
  4696. if val == 0:
  4697.  
  4698. return
  4699. if val == 1:
  4700. gen_attributes(next_depth, max_depth)
  4701. gen_attributes_1(next_depth, max_depth)
  4702. return
  4703.  
  4704. def gen_space_2(depth, max_depth):
  4705. next_depth = depth + 1
  4706. if depth > max_depth:
  4707. result.append(random.choice(pool_of_space_2))
  4708. return
  4709. val = random.randrange(2)
  4710. if val == 0:
  4711.  
  4712. return
  4713. if val == 1:
  4714. gen_space(next_depth, max_depth)
  4715. gen_space_2(next_depth, max_depth)
  4716. return
  4717.  
  4718. def gen_anychar_1(depth, max_depth):
  4719. next_depth = depth + 1
  4720. if depth > max_depth:
  4721. result.append(random.choice(pool_of_anychar_1))
  4722. return
  4723. val = random.randrange(2)
  4724. if val == 0:
  4725.  
  4726. return
  4727. if val == 1:
  4728. gen_anychar(next_depth, max_depth)
  4729. gen_anychar_1(next_depth, max_depth)
  4730. return
  4731.  
  4732. def gen_uqchar_1(depth, max_depth):
  4733. next_depth = depth + 1
  4734. if depth > max_depth:
  4735. result.append(random.choice(pool_of_uqchar_1))
  4736. return
  4737. val = random.randrange(2)
  4738. if val == 0:
  4739. gen_uqchar(next_depth, max_depth)
  4740. return
  4741. if val == 1:
  4742. gen_uqchar(next_depth, max_depth)
  4743. gen_uqchar_1(next_depth, max_depth)
  4744. return
  4745.  
  4746. def gen_space_3(depth, max_depth):
  4747. next_depth = depth + 1
  4748. if depth > max_depth:
  4749. result.append(random.choice(pool_of_space_3))
  4750. return
  4751. val = random.randrange(2)
  4752. if val == 0:
  4753. gen_space(next_depth, max_depth)
  4754. return
  4755. if val == 1:
  4756. gen_space(next_depth, max_depth)
  4757. gen_space_3(next_depth, max_depth)
  4758. return
  4759. import random
  4760. import sys
  4761. def main(args):
  4762. global result
  4763. max_num, max_depth = get_opts(args)
  4764. for i in range(max_num):
  4765. gen_start(0, max_depth)
  4766. print(''.join(result))
  4767. result = []
  4768.  
  4769. main(sys.argv)
  4770.  
  4771. #define _LARGEFILE64_SOURCE
  4772. #define _FILE_OFFSET_BITS 64
  4773.  
  4774. #include <stdlib.h>
  4775. #include <stdio.h>
  4776. #include <time.h>
  4777. #include <string.h>
  4778.  
  4779.  
  4780. int max_depth = 0;
  4781.  
  4782. void gen_init__();
  4783.  
  4784. int map(int v) {
  4785. return random() % v;
  4786. }
  4787.  
  4788.  
  4789. void __attribute__((always_inline)) out(const char s) {
  4790. fputc(s, stdout);
  4791. }
  4792.  
  4793.  
  4794. int main(int argc, char** argv) {
  4795. int seed, max_num;
  4796.  
  4797. if (argc < 3) {
  4798. printf("%s <seed> <max_num> <max_depth>\n", argv[0]);
  4799. return 0;
  4800. }
  4801. seed = atoi(argv[1]);
  4802. max_num = atoi(argv[2]);
  4803. max_depth = atoi(argv[3]);
  4804. //srandom(time(0));
  4805. srandom(seed);
  4806.  
  4807. for(int i=0; i < max_num; i++) {
  4808. gen_init__();
  4809. }
  4810. return 0;
  4811. }
  4812.  
  4813.  
  4814.  
  4815. #include <stdlib.h>
  4816. #include <stdio.h>
  4817. #include <time.h>
  4818. #include <string.h>
  4819.  
  4820.  
  4821. void __attribute__((always_inline)) out(const char s);
  4822.  
  4823. int map(int v);
  4824.  
  4825. extern int max_depth;
  4826. void gen_start(int depth);
  4827. void gen__l_(int depth);
  4828. void gen__r_(int depth);
  4829. void gen__cl_(int depth);
  4830. void gen_a_tag(int depth);
  4831. void gen_a_content(int depth);
  4832. void gen_abbr_tag(int depth);
  4833. void gen_acronym_tag(int depth);
  4834. void gen_address_tag(int depth);
  4835. void gen_address_content(int depth);
  4836. void gen_applet_content(int depth);
  4837. void gen_area(int depth);
  4838. void gen_applet_tag(int depth);
  4839. void gen_b_tag(int depth);
  4840. void gen_basefont_tag(int depth);
  4841. void gen_bdo_tag(int depth);
  4842. void gen_big_tag(int depth);
  4843. void gen_blink_tag(int depth);
  4844. void gen_block(int depth);
  4845. void gen_block_content(int depth);
  4846. void gen_blockquote_tag(int depth);
  4847. void gen_body_content(int depth);
  4848. void gen_body_tag(int depth);
  4849. void gen_caption_tag(int depth);
  4850. void gen_center_tag(int depth);
  4851. void gen_cite_tag(int depth);
  4852. void gen_code_tag(int depth);
  4853. void gen_colgroup_content(int depth);
  4854. void gen_colgroup_tag(int depth);
  4855. void gen_content_style(int depth);
  4856. void gen_dd_tag(int depth);
  4857. void gen_del_tag(int depth);
  4858. void gen_dfn_tag(int depth);
  4859. void gen_dir_tag(int depth);
  4860. void gen_div_tag(int depth);
  4861. void gen_dl_content(int depth);
  4862. void gen_dl_tag(int depth);
  4863. void gen_dt_tag(int depth);
  4864. void gen_em_tag(int depth);
  4865. void gen_fieldset_tag(int depth);
  4866. void gen_flow(int depth);
  4867. void gen_flow_content(int depth);
  4868. void gen_font_tag(int depth);
  4869. void gen_form_content(int depth);
  4870. void gen_form_tag(int depth);
  4871. void gen_frameset_content(int depth);
  4872. void gen_frameset_tag(int depth);
  4873. void gen_h1_tag(int depth);
  4874. void gen_h2_tag(int depth);
  4875. void gen_h3_tag(int depth);
  4876. void gen_h4_tag(int depth);
  4877. void gen_h5_tag(int depth);
  4878. void gen_h6_tag(int depth);
  4879. void gen_head_content(int depth);
  4880. void gen_head_tag(int depth);
  4881. void gen_heading(int depth);
  4882. void gen_html_content(int depth);
  4883. void gen_html_document(int depth);
  4884. void gen_html_tag(int depth);
  4885. void gen_i_tag(int depth);
  4886. void gen_ilayer_tag(int depth);
  4887. void gen_ins_tag(int depth);
  4888. void gen_kbd_tag(int depth);
  4889. void gen_label_content(int depth);
  4890. void gen_label_tag(int depth);
  4891. void gen_layer_tag(int depth);
  4892. void gen_legend_tag(int depth);
  4893. void gen_li_tag(int depth);
  4894. void gen_literal_text(int depth);
  4895. void gen_listing_tag(int depth);
  4896. void gen_map_content(int depth);
  4897. void gen_map_tag(int depth);
  4898. void gen_marquee_tag(int depth);
  4899. void gen_menu_tag(int depth);
  4900. void gen_multicol_tag(int depth);
  4901. void gen_nobr_tag(int depth);
  4902. void gen_noembed_tag(int depth);
  4903. void gen_noframes_tag(int depth);
  4904. void gen_noscript_tag(int depth);
  4905. void gen_object_content(int depth);
  4906. void gen_object_tag(int depth);
  4907. void gen_ol_tag(int depth);
  4908. void gen_optgroup_tag(int depth);
  4909. void gen_option_tag(int depth);
  4910. void gen_p_tag(int depth);
  4911. void gen_param(int depth);
  4912. void gen_plain_text(int depth);
  4913. void gen_entity(int depth);
  4914. void gen_char(int depth);
  4915. void gen_ampersand(int depth);
  4916. void gen_physical_style(int depth);
  4917. void gen_pre_content(int depth);
  4918. void gen_pre_tag(int depth);
  4919. void gen_q_tag(int depth);
  4920. void gen_s_tag(int depth);
  4921. void gen_script_tag(int depth);
  4922. void gen_select_content(int depth);
  4923. void gen_select_tag(int depth);
  4924. void gen_small_tag(int depth);
  4925. void gen_span_tag(int depth);
  4926. void gen_strike_tag(int depth);
  4927. void gen_strong_tag(int depth);
  4928. void gen_style_tag(int depth);
  4929. void gen_style_text(int depth);
  4930. void gen_sub_tag(int depth);
  4931. void gen_sup_tag(int depth);
  4932. void gen_table_cell(int depth);
  4933. void gen_table_content(int depth);
  4934. void gen_table_tag(int depth);
  4935. void gen_td_tag(int depth);
  4936. void gen_text(int depth);
  4937. void gen_text_content(int depth);
  4938. void gen_textarea_tag(int depth);
  4939. void gen_th_tag(int depth);
  4940. void gen_title_tag(int depth);
  4941. void gen_tr_tag(int depth);
  4942. void gen_tt_tag(int depth);
  4943. void gen_u_tag(int depth);
  4944. void gen_ul_tag(int depth);
  4945. void gen_var_tag(int depth);
  4946. void gen_xmp_tag(int depth);
  4947. void gen_d(int depth);
  4948. void gen_attribute(int depth);
  4949. void gen_key(int depth);
  4950. void gen_allchars(int depth);
  4951. void gen_value(int depth);
  4952. void gen_anychar(int depth);
  4953. void gen_anychars(int depth);
  4954. void gen_uqvalue(int depth);
  4955. void gen_uqchar(int depth);
  4956. void gen_uqchars(int depth);
  4957. void gen_attributes(int depth);
  4958. void gen_space(int depth);
  4959. void gen_a_content_1(int depth);
  4960. void gen_address_content_1(int depth);
  4961. void gen_param_1(int depth);
  4962. void gen_block_content_1(int depth);
  4963. void gen_body_content_1(int depth);
  4964. void gen_body_content_2(int depth);
  4965. void gen_body_content_3(int depth);
  4966. void gen__r__1(int depth);
  4967. void gen_li_tag_1(int depth);
  4968. void gen_dl_content_1(int depth);
  4969. void gen_legend_tag_1(int depth);
  4970. void gen_form_content_1(int depth);
  4971. void gen_flow_content_1(int depth);
  4972. void gen_form_content_2(int depth);
  4973. void gen_frameset_content_1(int depth);
  4974. void gen_head_content_1(int depth);
  4975. void gen_label_content_1(int depth);
  4976. void gen_area_1(int depth);
  4977. void gen_li_tag_2(int depth);
  4978. void gen_body_content_4(int depth);
  4979. void gen_param_2(int depth);
  4980. void gen_li_tag_3(int depth);
  4981. void gen_option_tag_1(int depth);
  4982. void gen_plain_text_1(int depth);
  4983. void gen_entity_1(int depth);
  4984. void gen_pre_content_1(int depth);
  4985. void gen_select_content_1(int depth);
  4986. void gen_caption_tag_1(int depth);
  4987. void gen_colgroup_tag_1(int depth);
  4988. void gen_table_content_1(int depth);
  4989. void gen_text_content_1(int depth);
  4990. void gen_table_cell_1(int depth);
  4991. void gen_li_tag_4(int depth);
  4992. void gen_space_1(int depth);
  4993. void gen_attributes_1(int depth);
  4994. void gen_space_2(int depth);
  4995. void gen_anychar_1(int depth);
  4996. void gen_uqchar_1(int depth);
  4997. void gen_space_3(int depth);
  4998.  
  4999. const char* pool_start[] = {"<!DOCTYPE html><html><head></head><frameset></frameset></html>", "<!DOCTYPE html><html><head></head><body></body></html>"};
  5000. const int pool_l_start[] = {62, 54};
  5001.  
  5002.  
  5003. const char* pool__l_[] = {"<"};
  5004. const int pool_l__l_[] = {1};
  5005.  
  5006.  
  5007. const char* pool__r_[] = {">"};
  5008. const int pool_l__r_[] = {1};
  5009.  
  5010.  
  5011. const char* pool__cl_[] = {"</"};
  5012. const int pool_l__cl_[] = {2};
  5013.  
  5014.  
  5015. const char* pool_a_tag[] = {"<a></a>"};
  5016. const int pool_l_a_tag[] = {7};
  5017.  
  5018.  
  5019. const char* pool_a_content[] = {""};
  5020. const int pool_l_a_content[] = {0};
  5021.  
  5022.  
  5023. const char* pool_abbr_tag[] = {"<abbr></abbr>"};
  5024. const int pool_l_abbr_tag[] = {13};
  5025.  
  5026.  
  5027. const char* pool_acronym_tag[] = {"<acronym></acronym>"};
  5028. const int pool_l_acronym_tag[] = {19};
  5029.  
  5030.  
  5031. const char* pool_address_tag[] = {"<address></address>"};
  5032. const int pool_l_address_tag[] = {19};
  5033.  
  5034.  
  5035. const char* pool_address_content[] = {""};
  5036. const int pool_l_address_content[] = {0};
  5037.  
  5038.  
  5039. const char* pool_applet_content[] = {"<hr>", "<bgsound>"};
  5040. const int pool_l_applet_content[] = {4, 9};
  5041.  
  5042.  
  5043. const char* pool_area[] = {"<area>"};
  5044. const int pool_l_area[] = {6};
  5045.  
  5046.  
  5047. const char* pool_applet_tag[] = {"<applet><bgsound></applet>", "<applet><hr></applet>"};
  5048. const int pool_l_applet_tag[] = {26, 21};
  5049.  
  5050.  
  5051. const char* pool_b_tag[] = {"<b></b>"};
  5052. const int pool_l_b_tag[] = {7};
  5053.  
  5054.  
  5055. const char* pool_basefont_tag[] = {"<basefront><bgsound></basefront>", "<basefront><hr></basefront>"};
  5056. const int pool_l_basefont_tag[] = {32, 27};
  5057.  
  5058.  
  5059. const char* pool_bdo_tag[] = {"<bdo></bdo>"};
  5060. const int pool_l_bdo_tag[] = {11};
  5061.  
  5062.  
  5063. const char* pool_big_tag[] = {"<big></big>"};
  5064. const int pool_l_big_tag[] = {11};
  5065.  
  5066.  
  5067. const char* pool_blink_tag[] = {"<blink></blink>"};
  5068. const int pool_l_blink_tag[] = {15};
  5069.  
  5070.  
  5071. const char* pool_block[] = {""};
  5072. const int pool_l_block[] = {0};
  5073.  
  5074.  
  5075. const char* pool_block_content[] = {"<menu></menu>", "<table></table>", "<pre></pre>", "<center></center>", "<form></form>", "<ul></ul>"};
  5076. const int pool_l_block_content[] = {13, 15, 11, 17, 13, 9};
  5077.  
  5078.  
  5079. const char* pool_blockquote_tag[] = {"<blockquote><bgsound></blockquote>", "<blockquote><hr></blockquote>"};
  5080. const int pool_l_blockquote_tag[] = {34, 29};
  5081.  
  5082.  
  5083. const char* pool_body_content[] = {"<hr>", "<bgsound>"};
  5084. const int pool_l_body_content[] = {4, 9};
  5085.  
  5086.  
  5087. const char* pool_body_tag[] = {"<body></body>"};
  5088. const int pool_l_body_tag[] = {13};
  5089.  
  5090.  
  5091. const char* pool_caption_tag[] = {"<caption></caption>"};
  5092. const int pool_l_caption_tag[] = {19};
  5093.  
  5094.  
  5095. const char* pool_center_tag[] = {"<center></center>"};
  5096. const int pool_l_center_tag[] = {17};
  5097.  
  5098.  
  5099. const char* pool_cite_tag[] = {"<cite></cite>"};
  5100. const int pool_l_cite_tag[] = {13};
  5101.  
  5102.  
  5103. const char* pool_code_tag[] = {"<code></code>"};
  5104. const int pool_l_code_tag[] = {13};
  5105.  
  5106.  
  5107. const char* pool_colgroup_content[] = {"<col"};
  5108. const int pool_l_colgroup_content[] = {4};
  5109.  
  5110.  
  5111. const char* pool_colgroup_tag[] = {"<colgroup><col"};
  5112. const int pool_l_colgroup_tag[] = {14};
  5113.  
  5114.  
  5115. const char* pool_content_style[] = {"<q></q>", "<em></em>", "<code></code>", "<acronym></acronym>", "<kbd></kbd>", "<dfn></dfn>", "<cite></cite>", "<abbr></abbr>", "<strong></strong>", "<var></var>"};
  5116. const int pool_l_content_style[] = {7, 9, 13, 19, 11, 11, 13, 13, 17, 11};
  5117.  
  5118.  
  5119. const char* pool_dd_tag[] = {"<dd></dd>"};
  5120. const int pool_l_dd_tag[] = {9};
  5121.  
  5122.  
  5123. const char* pool_del_tag[] = {"<del></del>"};
  5124. const int pool_l_del_tag[] = {11};
  5125.  
  5126.  
  5127. const char* pool_dfn_tag[] = {"<dfn></dfn>"};
  5128. const int pool_l_dfn_tag[] = {11};
  5129.  
  5130.  
  5131. const char* pool_dir_tag[] = {"<dir><li></li></dir>"};
  5132. const int pool_l_dir_tag[] = {20};
  5133.  
  5134.  
  5135. const char* pool_div_tag[] = {"<div><bgsound></div>", "<div><hr></div>"};
  5136. const int pool_l_div_tag[] = {20, 15};
  5137.  
  5138.  
  5139. const char* pool_dl_content[] = {"<dt></dt><dd></dd>"};
  5140. const int pool_l_dl_content[] = {18};
  5141.  
  5142.  
  5143. const char* pool_dl_tag[] = {"<dl><dt></dt><dd></dd></dl>"};
  5144. const int pool_l_dl_tag[] = {27};
  5145.  
  5146.  
  5147. const char* pool_dt_tag[] = {"<dt></dt>"};
  5148. const int pool_l_dt_tag[] = {9};
  5149.  
  5150.  
  5151. const char* pool_em_tag[] = {"<em></em>"};
  5152. const int pool_l_em_tag[] = {9};
  5153.  
  5154.  
  5155. const char* pool_fieldset_tag[] = {"<fieldset></fieldset>"};
  5156. const int pool_l_fieldset_tag[] = {21};
  5157.  
  5158.  
  5159. const char* pool_flow[] = {""};
  5160. const int pool_l_flow[] = {0};
  5161.  
  5162.  
  5163. const char* pool_flow_content[] = {"", ""};
  5164. const int pool_l_flow_content[] = {0, 0};
  5165.  
  5166.  
  5167. const char* pool_font_tag[] = {"<font></font>"};
  5168. const int pool_l_font_tag[] = {13};
  5169.  
  5170.  
  5171. const char* pool_form_content[] = {"<input>", "<keygen>"};
  5172. const int pool_l_form_content[] = {7, 8};
  5173.  
  5174.  
  5175. const char* pool_form_tag[] = {"<form></form>"};
  5176. const int pool_l_form_tag[] = {13};
  5177.  
  5178.  
  5179. const char* pool_frameset_content[] = {"<frame>"};
  5180. const int pool_l_frameset_content[] = {7};
  5181.  
  5182.  
  5183. const char* pool_frameset_tag[] = {"<frameset></frameset>"};
  5184. const int pool_l_frameset_tag[] = {21};
  5185.  
  5186.  
  5187. const char* pool_h1_tag[] = {"<h1></h1>"};
  5188. const int pool_l_h1_tag[] = {9};
  5189.  
  5190.  
  5191. const char* pool_h2_tag[] = {"<h2></h2>"};
  5192. const int pool_l_h2_tag[] = {9};
  5193.  
  5194.  
  5195. const char* pool_h3_tag[] = {"<h3></h3>"};
  5196. const int pool_l_h3_tag[] = {9};
  5197.  
  5198.  
  5199. const char* pool_h4_tag[] = {"<h4></h4>"};
  5200. const int pool_l_h4_tag[] = {9};
  5201.  
  5202.  
  5203. const char* pool_h5_tag[] = {"<h5></h5>"};
  5204. const int pool_l_h5_tag[] = {9};
  5205.  
  5206.  
  5207. const char* pool_h6_tag[] = {"<h6></h6>"};
  5208. const int pool_l_h6_tag[] = {9};
  5209.  
  5210.  
  5211. const char* pool_head_content[] = {"<base>", "<link>", "<meta>"};
  5212. const int pool_l_head_content[] = {6, 6, 6};
  5213.  
  5214.  
  5215. const char* pool_head_tag[] = {"<head></head>"};
  5216. const int pool_l_head_tag[] = {13};
  5217.  
  5218.  
  5219. const char* pool_heading[] = {"<h3></h3>", "<h2></h2>", "<h6></h6>", "<h4></h4>", "<h5></h5>", "<h1></h1>"};
  5220. const int pool_l_heading[] = {9, 9, 9, 9, 9, 9};
  5221.  
  5222.  
  5223. const char* pool_html_content[] = {"<head></head><frameset></frameset>", "<head></head><body></body>"};
  5224. const int pool_l_html_content[] = {34, 26};
  5225.  
  5226.  
  5227. const char* pool_html_document[] = {"<html><head></head><body></body></html>", "<html><head></head><frameset></frameset></html>"};
  5228. const int pool_l_html_document[] = {39, 47};
  5229.  
  5230.  
  5231. const char* pool_html_tag[] = {"<html><head></head><body></body></html>", "<html><head></head><frameset></frameset></html>"};
  5232. const int pool_l_html_tag[] = {39, 47};
  5233.  
  5234.  
  5235. const char* pool_i_tag[] = {"<i></i>"};
  5236. const int pool_l_i_tag[] = {7};
  5237.  
  5238.  
  5239. const char* pool_ilayer_tag[] = {"<ilayer><bgsound></ilayer>", "<ilayer><hr></ilayer>"};
  5240. const int pool_l_ilayer_tag[] = {26, 21};
  5241.  
  5242.  
  5243. const char* pool_ins_tag[] = {"<ins></ins>"};
  5244. const int pool_l_ins_tag[] = {11};
  5245.  
  5246.  
  5247. const char* pool_kbd_tag[] = {"<kbd></kbd>"};
  5248. const int pool_l_kbd_tag[] = {11};
  5249.  
  5250.  
  5251. const char* pool_label_content[] = {"<input>"};
  5252. const int pool_l_label_content[] = {7};
  5253.  
  5254.  
  5255. const char* pool_label_tag[] = {"<label></label>"};
  5256. const int pool_l_label_tag[] = {15};
  5257.  
  5258.  
  5259. const char* pool_layer_tag[] = {"<layer><hr></layer>", "<layer><bgsound></layer>"};
  5260. const int pool_l_layer_tag[] = {19, 24};
  5261.  
  5262.  
  5263. const char* pool_legend_tag[] = {"<legend></legend>"};
  5264. const int pool_l_legend_tag[] = {17};
  5265.  
  5266.  
  5267. const char* pool_li_tag[] = {"<li></li>"};
  5268. const int pool_l_li_tag[] = {9};
  5269.  
  5270.  
  5271. const char* pool_literal_text[] = {""};
  5272. const int pool_l_literal_text[] = {0};
  5273.  
  5274.  
  5275. const char* pool_listing_tag[] = {"<listing></listing>"};
  5276. const int pool_l_listing_tag[] = {19};
  5277.  
  5278.  
  5279. const char* pool_map_content[] = {""};
  5280. const int pool_l_map_content[] = {0};
  5281.  
  5282.  
  5283. const char* pool_map_tag[] = {"<map></map>"};
  5284. const int pool_l_map_tag[] = {11};
  5285.  
  5286.  
  5287. const char* pool_marquee_tag[] = {"<marquee></marquee>"};
  5288. const int pool_l_marquee_tag[] = {19};
  5289.  
  5290.  
  5291. const char* pool_menu_tag[] = {"<menu></menu>"};
  5292. const int pool_l_menu_tag[] = {13};
  5293.  
  5294.  
  5295. const char* pool_multicol_tag[] = {"<multicol><bgsound></multicol>", "<multicol><hr></multicol>"};
  5296. const int pool_l_multicol_tag[] = {30, 25};
  5297.  
  5298.  
  5299. const char* pool_nobr_tag[] = {"<nobr></nobr>"};
  5300. const int pool_l_nobr_tag[] = {13};
  5301.  
  5302.  
  5303. const char* pool_noembed_tag[] = {"<noembed></noembed>"};
  5304. const int pool_l_noembed_tag[] = {19};
  5305.  
  5306.  
  5307. const char* pool_noframes_tag[] = {"<noframes></noframes>"};
  5308. const int pool_l_noframes_tag[] = {21};
  5309.  
  5310.  
  5311. const char* pool_noscript_tag[] = {"<noscript></noscript>"};
  5312. const int pool_l_noscript_tag[] = {21};
  5313.  
  5314.  
  5315. const char* pool_object_content[] = {"<bgsound>", "<hr>"};
  5316. const int pool_l_object_content[] = {9, 4};
  5317.  
  5318.  
  5319. const char* pool_object_tag[] = {"<object><hr></object>", "<object><bgsound></object>"};
  5320. const int pool_l_object_tag[] = {21, 26};
  5321.  
  5322.  
  5323. const char* pool_ol_tag[] = {"<ol><li></li></ol>"};
  5324. const int pool_l_ol_tag[] = {18};
  5325.  
  5326.  
  5327. const char* pool_optgroup_tag[] = {"<optgroup></optgroup>"};
  5328. const int pool_l_optgroup_tag[] = {21};
  5329.  
  5330.  
  5331. const char* pool_option_tag[] = {"<option></option>"};
  5332. const int pool_l_option_tag[] = {17};
  5333.  
  5334.  
  5335. const char* pool_p_tag[] = {"<p></p>"};
  5336. const int pool_l_p_tag[] = {7};
  5337.  
  5338.  
  5339. const char* pool_param[] = {"<param>"};
  5340. const int pool_l_param[] = {7};
  5341.  
  5342.  
  5343. const char* pool_plain_text[] = {""};
  5344. const int pool_l_plain_text[] = {0};
  5345.  
  5346.  
  5347. const char* pool_entity[] = {"c", "9", "D", ",", "N", ":", "1", "I", "$", "3", "\t", "X", "R", "0", "m", "7", "J", "E", ";", "T", "5", "a", "?", "z", "\r", "Y", "V", "S", ")", "f", "n", "{", "-", "t", "i", "]", "'", "6", "g", "\"", "[", "O", "!", "F", "v", "_", "*", "^", "}", "U", ">", "&nbsp;", "\\", "/", "L", "\n", "p", "+", "M", "b", "K", "o", "e", "8", "G", "|", "%", "#", " ", "w", "A", "Z", "q", "<", "u", "l", "~", "h", "s", ".", "W", "B", "y", "Q", "C", "d", "(", "k", "r", "2", "@", "x", "j", "H", "`", "P", "4", "=", " "};
  5348. const int pool_l_entity[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 6, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5349.  
  5350.  
  5351. const char* pool_char[] = {"5", "g", "7", "]", "\\", "Z", "{", " ", "[", "w", "`", "|", "U", "k", "b", "9", "v", "/", "\"", "K", "P", "#", "l", "\n", "j", "\t", "1", "d", " ", "_", ",", "G", ";", "I", "a", "V", "!", "8", "S", "2", "-", "f", "t", "m", "0", "~", "}", "=", "@", "L", "J", "p", "6", "c", "E", "W", "u", ">", "o", "C", "%", "z", "F", "q", "<", "D", "H", "Q", "Y", "*", ".", ")", "3", "+", "4", "?", "T", "(", "'", "e", "y", ":", "A", "B", "s", "\r", "i", "n", "N", "O", "^", "$", "M", "r", "h", "X", "x", "R"};
  5352. const int pool_l_char[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5353.  
  5354.  
  5355. const char* pool_ampersand[] = {"&nbsp;"};
  5356. const int pool_l_ampersand[] = {6};
  5357.  
  5358.  
  5359. const char* pool_physical_style[] = {"<font></font>"};
  5360. const int pool_l_physical_style[] = {13};
  5361.  
  5362.  
  5363. const char* pool_pre_content[] = {"<hr>", "<br>"};
  5364. const int pool_l_pre_content[] = {4, 4};
  5365.  
  5366.  
  5367. const char* pool_pre_tag[] = {"<pre></pre>"};
  5368. const int pool_l_pre_tag[] = {11};
  5369.  
  5370.  
  5371. const char* pool_q_tag[] = {"<q></q>"};
  5372. const int pool_l_q_tag[] = {7};
  5373.  
  5374.  
  5375. const char* pool_s_tag[] = {"<s></s>"};
  5376. const int pool_l_s_tag[] = {7};
  5377.  
  5378.  
  5379. const char* pool_script_tag[] = {"<script></script>"};
  5380. const int pool_l_script_tag[] = {17};
  5381.  
  5382.  
  5383. const char* pool_select_content[] = {"<optgroup></optgroup>"};
  5384. const int pool_l_select_content[] = {21};
  5385.  
  5386.  
  5387. const char* pool_select_tag[] = {"<select></select>"};
  5388. const int pool_l_select_tag[] = {17};
  5389.  
  5390.  
  5391. const char* pool_small_tag[] = {"<small></small>"};
  5392. const int pool_l_small_tag[] = {15};
  5393.  
  5394.  
  5395. const char* pool_span_tag[] = {"<span></span>"};
  5396. const int pool_l_span_tag[] = {13};
  5397.  
  5398.  
  5399. const char* pool_strike_tag[] = {"<strike></strike>"};
  5400. const int pool_l_strike_tag[] = {17};
  5401.  
  5402.  
  5403. const char* pool_strong_tag[] = {"<strong></strong>"};
  5404. const int pool_l_strong_tag[] = {17};
  5405.  
  5406.  
  5407. const char* pool_style_tag[] = {"<style></style>"};
  5408. const int pool_l_style_tag[] = {15};
  5409.  
  5410.  
  5411. const char* pool_style_text[] = {""};
  5412. const int pool_l_style_text[] = {0};
  5413.  
  5414.  
  5415. const char* pool_sub_tag[] = {"<sub></sub>"};
  5416. const int pool_l_sub_tag[] = {11};
  5417.  
  5418.  
  5419. const char* pool_sup_tag[] = {"<sup></sup>"};
  5420. const int pool_l_sup_tag[] = {11};
  5421.  
  5422.  
  5423. const char* pool_table_cell[] = {"<th><bgsound></th>", "<th><hr></th>", "<td><bgsound></td>", "<td><hr></td>"};
  5424. const int pool_l_table_cell[] = {18, 13, 18, 13};
  5425.  
  5426.  
  5427. const char* pool_table_content[] = {"<tfoot>", "<tbody>", "<thead>"};
  5428. const int pool_l_table_content[] = {7, 7, 7};
  5429.  
  5430.  
  5431. const char* pool_table_tag[] = {"<table></table>"};
  5432. const int pool_l_table_tag[] = {15};
  5433.  
  5434.  
  5435. const char* pool_td_tag[] = {"<td><hr></td>", "<td><bgsound></td>"};
  5436. const int pool_l_td_tag[] = {13, 18};
  5437.  
  5438.  
  5439. const char* pool_text[] = {""};
  5440. const int pool_l_text[] = {0};
  5441.  
  5442.  
  5443. const char* pool_text_content[] = {"<spacer>", "<img>", "<wbr>", "<iframe>", "<embed>", "<br>"};
  5444. const int pool_l_text_content[] = {8, 5, 5, 8, 7, 4};
  5445.  
  5446.  
  5447. const char* pool_textarea_tag[] = {"<textarea></textarea>"};
  5448. const int pool_l_textarea_tag[] = {21};
  5449.  
  5450.  
  5451. const char* pool_th_tag[] = {"<th><bgsound></th>", "<th><hr></th>"};
  5452. const int pool_l_th_tag[] = {18, 13};
  5453.  
  5454.  
  5455. const char* pool_title_tag[] = {"<title></title>"};
  5456. const int pool_l_title_tag[] = {15};
  5457.  
  5458.  
  5459. const char* pool_tr_tag[] = {"<tr></tr>"};
  5460. const int pool_l_tr_tag[] = {9};
  5461.  
  5462.  
  5463. const char* pool_tt_tag[] = {"<tt></tt>"};
  5464. const int pool_l_tt_tag[] = {9};
  5465.  
  5466.  
  5467. const char* pool_u_tag[] = {"<u></u>"};
  5468. const int pool_l_u_tag[] = {7};
  5469.  
  5470.  
  5471. const char* pool_ul_tag[] = {"<ul></ul>"};
  5472. const int pool_l_ul_tag[] = {9};
  5473.  
  5474.  
  5475. const char* pool_var_tag[] = {"<var></var>"};
  5476. const int pool_l_var_tag[] = {11};
  5477.  
  5478.  
  5479. const char* pool_xmp_tag[] = {"<xmp></xmp>"};
  5480. const int pool_l_xmp_tag[] = {11};
  5481.  
  5482.  
  5483. const char* pool_d[] = {""};
  5484. const int pool_l_d[] = {0};
  5485.  
  5486.  
  5487. const char* pool_attribute[] = {"Q", "8", "a", "#", "M", "2", "(", "J", "7", "q", "H", "[", "|", "C", "r", "t", "!", "&", "N", "d", ";", "w", "\r", "x", "z", "i", "Y", "F", "_", "G", "e", "o", "{", "y", "B", "-", "4", "%", "D", "g", "$", "R", "j", "`", "p", "5", "v", "\\", "3", "V", " ", "O", "E", "U", ":", "l", "W", "u", "c", "n", "~", "Z", "h", "+", "X", "*", "1", "6", "L", "m", "I", "^", "]", "?", "A", "S", "9", "s", "@", "}", ",", "K", "f", "k", ")", ".", "P", "T", "0", "b"};
  5488. const int pool_l_attribute[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5489.  
  5490.  
  5491. const char* pool_key[] = {"T", "\\", "&", "W", "8", "?", "]", "Y", "w", "r", "{", " ", "a", "q", "7", "o", "s", "[", "Z", "+", "g", "^", "l", "S", "n", "H", "p", "j", "1", "B", "u", "P", "f", "0", ")", "I", "*", ";", "(", "$", "D", "3", "R", ":", "i", "M", "h", "J", "O", "v", "m", "t", "|", "_", ",", "%", "`", "X", "k", "~", "K", "d", "V", "G", "c", ".", "C", "-", "e", "#", "U", "5", "N", "F", "b", "Q", "z", "!", "4", "2", "}", "L", "y", "6", "A", "E", "\r", "@", "x", "9"};
  5492. const int pool_l_key[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5493.  
  5494.  
  5495. const char* pool_allchars[] = {"d", "h", "_", "j", "-", "\\", "?", "F", "J", "S", "6", "M", "Y", ")", "7", "^", "(", "B", "*", "P", "a", "4", "+", "]", "X", "e", "m", "`", "5", "\r", "I", "#", "H", "t", "8", "3", "n", "b", "f", "w", "c", "r", "U", "V", "0", "E", "z", "T", "L", "9", "O", "p", "k", "%", "@", "}", "x", "W", "o", "G", "u", "C", "v", "Z", "!", "D", ",", "|", "y", "i", "&", "~", "s", "A", "K", "q", "1", "2", "$", "g", "R", "l", "N", "{", ";", ":", "Q", ".", " ", "["};
  5496. const int pool_l_allchars[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5497.  
  5498.  
  5499. const char* pool_value[] = {""};
  5500. const int pool_l_value[] = {0};
  5501.  
  5502.  
  5503. const char* pool_anychar[] = {"N", "B", ":", "$", "F", ")", "p", "a", "L", "0", "n", "\n", "W", "?", "u", "U", "k", "/", ">", "=", "Z", "j", "*", "g", "r", "K", "^", "S", "e", "5", "(", "`", "~", "_", "\r", "i", "7", "Y", "[", "%", "X", "E", "@", "l", "I", "P", "\"", "R", " ", " ", "w", "4", "C", "A", "2", "9", "\t", "o", "q", "G", "+", "t", "m", "&", "|", "z", "M", "Q", "y", "1", "d", "]", "h", ".", "v", ",", "V", "H", "-", "f", "8", "x", "'", "T", "3", "!", ";", "#", "}", "<", "c", "6", "\v", "\\", "J", "O", "b", "{", "D", "s"};
  5504. const int pool_l_anychar[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5505.  
  5506.  
  5507. const char* pool_anychars[] = {""};
  5508. const int pool_l_anychars[] = {0};
  5509.  
  5510.  
  5511. const char* pool_uqvalue[] = {"D", "\\", "r", "8", ",", "v", "#", "m", "5", "{", "U", "W", "3", "?", "@", "H", "%", "&", ";", "O", "f", "j", "i", "k", "R", "L", "1", "s", "\r", "E", "2", "M", "Z", "(", "~", "n", "7", "[", "C", ":", "0", "N", "w", "S", "4", "K", "]", "T", "|", "b", "p", "-", "A", "I", "9", ".", "^", "x", "+", "$", "u", "!", "Q", "_", "z", "B", "o", "c", "V", "y", "Y", "6", "J", " ", "*", "q", "e", "P", "g", "X", "h", "t", "F", "l", "G", "}", "d", "a", ")"};
  5512. const int pool_l_uqvalue[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5513.  
  5514.  
  5515. const char* pool_uqchar[] = {":", "D", "a", "h", "x", "#", "0", "1", "g", "p", "Y", "5", "!", "y", "j", "]", "+", "V", "z", "t", "e", "f", "_", "R", "{", "r", "b", "v", "C", "c", "N", "Q", "O", "E", "J", "A", "u", ".", "4", "|", "P", "d", ",", "~", "T", "B", "I", "}", "i", "w", "X", "%", "9", "3", "Z", "?", "7", "s", "l", "\r", "8", "W", "H", " ", "q", "\\", "G", "n", "m", "-", ";", "6", "o", "*", "U", "^", "$", "[", "&", "S", "@", "K", "F", "L", "(", "2", "k", "M", ")"};
  5516. const int pool_l_uqchar[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5517.  
  5518.  
  5519. const char* pool_uqchars[] = {"+", "%", "M", "p", "W", "9", "g", "i", "6", ".", ":", ";", "J", "T", "b", "B", "m", "@", "7", "K", "$", "t", "|", "3", "[", "L", "f", "q", "#", "V", "]", "a", "y", "X", "n", "o", "C", "\r", "w", "I", "Z", "O", "{", "}", "e", "s", "l", ")", "v", "N", "j", "H", "8", "k", "P", "-", "r", "d", "c", "z", "0", "?", "!", "A", "G", "h", "\\", ",", " ", "5", "1", "_", "(", "Q", "S", "^", "F", "2", "R", "D", "~", "4", "E", "u", "x", "*", "U", "&", "Y"};
  5520. const int pool_l_uqchars[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5521.  
  5522.  
  5523. const char* pool_attributes[] = {"2", "^", "h", "5", "T", "K", "q", ";", "b", "k", "M", "A", "H", "@", "d", "\\", "z", "}", "u", "l", ":", "W", "Q", ")", "D", "R", "X", "{", "4", "C", "~", "y", "G", "S", "?", "-", "Z", "9", "6", "x", "#", "O", "r", "t", "s", "w", "[", "%", "J", "a", "7", "i", "p", "1", "f", "E", "3", "$", "|", "n", "P", "I", "(", "&", "+", "o", "8", "!", "B", "*", "L", "V", "_", "j", "\r", "e", "]", ".", "c", "g", "U", "Y", "v", ",", "m", "F", "`", " ", "N", "0"};
  5524. const int pool_l_attributes[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5525.  
  5526.  
  5527. const char* pool_space[] = {"\t", "\n", " "};
  5528. const int pool_l_space[] = {1, 1, 1};
  5529.  
  5530.  
  5531. const char* pool_a_content_1[] = {""};
  5532. const int pool_l_a_content_1[] = {0};
  5533.  
  5534.  
  5535. const char* pool_address_content_1[] = {""};
  5536. const int pool_l_address_content_1[] = {0};
  5537.  
  5538.  
  5539. const char* pool_param_1[] = {""};
  5540. const int pool_l_param_1[] = {0};
  5541.  
  5542.  
  5543. const char* pool_block_content_1[] = {""};
  5544. const int pool_l_block_content_1[] = {0};
  5545.  
  5546.  
  5547. const char* pool_body_content_1[] = {""};
  5548. const int pool_l_body_content_1[] = {0};
  5549.  
  5550.  
  5551. const char* pool_body_content_2[] = {""};
  5552. const int pool_l_body_content_2[] = {0};
  5553.  
  5554.  
  5555. const char* pool_body_content_3[] = {""};
  5556. const int pool_l_body_content_3[] = {0};
  5557.  
  5558.  
  5559. const char* pool__r__1[] = {""};
  5560. const int pool_l__r__1[] = {0};
  5561.  
  5562.  
  5563. const char* pool_li_tag_1[] = {"<li></li>"};
  5564. const int pool_l_li_tag_1[] = {9};
  5565.  
  5566.  
  5567. const char* pool_dl_content_1[] = {"<dt></dt><dd></dd>"};
  5568. const int pool_l_dl_content_1[] = {18};
  5569.  
  5570.  
  5571. const char* pool_legend_tag_1[] = {""};
  5572. const int pool_l_legend_tag_1[] = {0};
  5573.  
  5574.  
  5575. const char* pool_form_content_1[] = {""};
  5576. const int pool_l_form_content_1[] = {0};
  5577.  
  5578.  
  5579. const char* pool_flow_content_1[] = {""};
  5580. const int pool_l_flow_content_1[] = {0};
  5581.  
  5582.  
  5583. const char* pool_form_content_2[] = {""};
  5584. const int pool_l_form_content_2[] = {0};
  5585.  
  5586.  
  5587. const char* pool_frameset_content_1[] = {""};
  5588. const int pool_l_frameset_content_1[] = {0};
  5589.  
  5590.  
  5591. const char* pool_head_content_1[] = {""};
  5592. const int pool_l_head_content_1[] = {0};
  5593.  
  5594.  
  5595. const char* pool_label_content_1[] = {""};
  5596. const int pool_l_label_content_1[] = {0};
  5597.  
  5598.  
  5599. const char* pool_area_1[] = {""};
  5600. const int pool_l_area_1[] = {0};
  5601.  
  5602.  
  5603. const char* pool_li_tag_2[] = {""};
  5604. const int pool_l_li_tag_2[] = {0};
  5605.  
  5606.  
  5607. const char* pool_body_content_4[] = {""};
  5608. const int pool_l_body_content_4[] = {0};
  5609.  
  5610.  
  5611. const char* pool_param_2[] = {""};
  5612. const int pool_l_param_2[] = {0};
  5613.  
  5614.  
  5615. const char* pool_li_tag_3[] = {"<li></li>"};
  5616. const int pool_l_li_tag_3[] = {9};
  5617.  
  5618.  
  5619. const char* pool_option_tag_1[] = {""};
  5620. const int pool_l_option_tag_1[] = {0};
  5621.  
  5622.  
  5623. const char* pool_plain_text_1[] = {""};
  5624. const int pool_l_plain_text_1[] = {0};
  5625.  
  5626.  
  5627. const char* pool_entity_1[] = {""};
  5628. const int pool_l_entity_1[] = {0};
  5629.  
  5630.  
  5631. const char* pool_pre_content_1[] = {""};
  5632. const int pool_l_pre_content_1[] = {0};
  5633.  
  5634.  
  5635. const char* pool_select_content_1[] = {""};
  5636. const int pool_l_select_content_1[] = {0};
  5637.  
  5638.  
  5639. const char* pool_caption_tag_1[] = {""};
  5640. const int pool_l_caption_tag_1[] = {0};
  5641.  
  5642.  
  5643. const char* pool_colgroup_tag_1[] = {""};
  5644. const int pool_l_colgroup_tag_1[] = {0};
  5645.  
  5646.  
  5647. const char* pool_table_content_1[] = {""};
  5648. const int pool_l_table_content_1[] = {0};
  5649.  
  5650.  
  5651. const char* pool_text_content_1[] = {""};
  5652. const int pool_l_text_content_1[] = {0};
  5653.  
  5654.  
  5655. const char* pool_table_cell_1[] = {""};
  5656. const int pool_l_table_cell_1[] = {0};
  5657.  
  5658.  
  5659. const char* pool_li_tag_4[] = {""};
  5660. const int pool_l_li_tag_4[] = {0};
  5661.  
  5662.  
  5663. const char* pool_space_1[] = {" ", "\t", "\n"};
  5664. const int pool_l_space_1[] = {1, 1, 1};
  5665.  
  5666.  
  5667. const char* pool_attributes_1[] = {""};
  5668. const int pool_l_attributes_1[] = {0};
  5669.  
  5670.  
  5671. const char* pool_space_2[] = {""};
  5672. const int pool_l_space_2[] = {0};
  5673.  
  5674.  
  5675. const char* pool_anychar_1[] = {""};
  5676. const int pool_l_anychar_1[] = {0};
  5677.  
  5678.  
  5679. const char* pool_uqchar_1[] = {"#", "h", "Y", "L", "B", "v", "|", "T", " ", "2", ":", ".", "q", "O", "+", "w", "r", "~", "N", "V", "$", "m", "8", "9", "n", "E", "I", "5", ")", "Q", "s", "S", "_", "?", "t", "F", "-", "&", "X", "g", "(", "%", "!", "4", ";", "J", "c", "1", "W", "d", "p", "k", "6", ",", "a", "x", "y", "b", "[", "\\", "K", "z", "7", "U", "C", "u", "D", "Z", "R", "l", "{", "P", "M", "0", "]", "@", "e", "i", "H", "^", "3", "f", "*", "}", "o", "A", "j", "G", "\r"};
  5680. const int pool_l_uqchar_1[] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
  5681.  
  5682.  
  5683. const char* pool_space_3[] = {" ", "\t", "\n"};
  5684. const int pool_l_space_3[] = {1, 1, 1};
  5685.  
  5686.  
  5687. void gen_start(int depth) {
  5688. if (depth > max_depth) {
  5689. int val = map(2);
  5690. const char* str = pool_start[val];
  5691. const int str_l = pool_l_start[val];
  5692. for (int i = 0; i < str_l; i++) {
  5693. out(str[i]);
  5694. }
  5695. return;
  5696. }
  5697.  
  5698. int val = map(1);
  5699. switch(val) {
  5700.  
  5701. case 0:
  5702. gen__l_(depth +1);
  5703. out('!');
  5704. out('D');
  5705. out('O');
  5706. out('C');
  5707. out('T');
  5708. out('Y');
  5709. out('P');
  5710. out('E');
  5711. out(' ');
  5712. out('h');
  5713. out('t');
  5714. out('m');
  5715. out('l');
  5716. gen__r_(depth +1);
  5717. gen_html_document(depth +1);
  5718. break;
  5719.  
  5720. }
  5721. }
  5722.  
  5723.  
  5724. void gen__l_(int depth) {
  5725. if (depth > max_depth) {
  5726. int val = map(1);
  5727. const char* str = pool__l_[val];
  5728. const int str_l = pool_l__l_[val];
  5729. for (int i = 0; i < str_l; i++) {
  5730. out(str[i]);
  5731. }
  5732. return;
  5733. }
  5734.  
  5735. int val = map(1);
  5736. switch(val) {
  5737.  
  5738. case 0:
  5739. out('<');
  5740. break;
  5741.  
  5742. }
  5743. }
  5744.  
  5745.  
  5746. void gen__r_(int depth) {
  5747. if (depth > max_depth) {
  5748. int val = map(1);
  5749. const char* str = pool__r_[val];
  5750. const int str_l = pool_l__r_[val];
  5751. for (int i = 0; i < str_l; i++) {
  5752. out(str[i]);
  5753. }
  5754. return;
  5755. }
  5756.  
  5757. int val = map(1);
  5758. switch(val) {
  5759.  
  5760. case 0:
  5761. out('>');
  5762. break;
  5763.  
  5764. }
  5765. }
  5766.  
  5767.  
  5768. void gen__cl_(int depth) {
  5769. if (depth > max_depth) {
  5770. int val = map(1);
  5771. const char* str = pool__cl_[val];
  5772. const int str_l = pool_l__cl_[val];
  5773. for (int i = 0; i < str_l; i++) {
  5774. out(str[i]);
  5775. }
  5776. return;
  5777. }
  5778.  
  5779. int val = map(1);
  5780. switch(val) {
  5781.  
  5782. case 0:
  5783. out('<');
  5784. out('/');
  5785. break;
  5786.  
  5787. }
  5788. }
  5789.  
  5790.  
  5791. void gen_a_tag(int depth) {
  5792. if (depth > max_depth) {
  5793. int val = map(1);
  5794. const char* str = pool_a_tag[val];
  5795. const int str_l = pool_l_a_tag[val];
  5796. for (int i = 0; i < str_l; i++) {
  5797. out(str[i]);
  5798. }
  5799. return;
  5800. }
  5801.  
  5802. int val = map(1);
  5803. switch(val) {
  5804.  
  5805. case 0:
  5806. gen__l_(depth +1);
  5807. out('a');
  5808. gen_d(depth +1);
  5809. gen__r_(depth +1);
  5810. gen_a_content_1(depth +1);
  5811. gen__cl_(depth +1);
  5812. out('a');
  5813. gen__r_(depth +1);
  5814. break;
  5815.  
  5816. }
  5817. }
  5818.  
  5819.  
  5820. void gen_a_content(int depth) {
  5821. if (depth > max_depth) {
  5822. int val = map(1);
  5823. const char* str = pool_a_content[val];
  5824. const int str_l = pool_l_a_content[val];
  5825. for (int i = 0; i < str_l; i++) {
  5826. out(str[i]);
  5827. }
  5828. return;
  5829. }
  5830.  
  5831. int val = map(2);
  5832. switch(val) {
  5833.  
  5834. case 0:
  5835. gen_text(depth +1);
  5836. break;
  5837.  
  5838. case 1:
  5839. gen_heading(depth +1);
  5840. break;
  5841.  
  5842. }
  5843. }
  5844.  
  5845.  
  5846. void gen_abbr_tag(int depth) {
  5847. if (depth > max_depth) {
  5848. int val = map(1);
  5849. const char* str = pool_abbr_tag[val];
  5850. const int str_l = pool_l_abbr_tag[val];
  5851. for (int i = 0; i < str_l; i++) {
  5852. out(str[i]);
  5853. }
  5854. return;
  5855. }
  5856.  
  5857. int val = map(1);
  5858. switch(val) {
  5859.  
  5860. case 0:
  5861. gen__l_(depth +1);
  5862. out('a');
  5863. out('b');
  5864. out('b');
  5865. out('r');
  5866. gen_d(depth +1);
  5867. gen__r_(depth +1);
  5868. gen_text(depth +1);
  5869. gen__cl_(depth +1);
  5870. out('a');
  5871. out('b');
  5872. out('b');
  5873. out('r');
  5874. gen__r_(depth +1);
  5875. break;
  5876.  
  5877. }
  5878. }
  5879.  
  5880.  
  5881. void gen_acronym_tag(int depth) {
  5882. if (depth > max_depth) {
  5883. int val = map(1);
  5884. const char* str = pool_acronym_tag[val];
  5885. const int str_l = pool_l_acronym_tag[val];
  5886. for (int i = 0; i < str_l; i++) {
  5887. out(str[i]);
  5888. }
  5889. return;
  5890. }
  5891.  
  5892. int val = map(1);
  5893. switch(val) {
  5894.  
  5895. case 0:
  5896. gen__l_(depth +1);
  5897. out('a');
  5898. out('c');
  5899. out('r');
  5900. out('o');
  5901. out('n');
  5902. out('y');
  5903. out('m');
  5904. gen_d(depth +1);
  5905. gen__r_(depth +1);
  5906. gen_text(depth +1);
  5907. gen__cl_(depth +1);
  5908. out('a');
  5909. out('c');
  5910. out('r');
  5911. out('o');
  5912. out('n');
  5913. out('y');
  5914. out('m');
  5915. gen__r_(depth +1);
  5916. break;
  5917.  
  5918. }
  5919. }
  5920.  
  5921.  
  5922. void gen_address_tag(int depth) {
  5923. if (depth > max_depth) {
  5924. int val = map(1);
  5925. const char* str = pool_address_tag[val];
  5926. const int str_l = pool_l_address_tag[val];
  5927. for (int i = 0; i < str_l; i++) {
  5928. out(str[i]);
  5929. }
  5930. return;
  5931. }
  5932.  
  5933. int val = map(1);
  5934. switch(val) {
  5935.  
  5936. case 0:
  5937. gen__l_(depth +1);
  5938. out('a');
  5939. out('d');
  5940. out('d');
  5941. out('r');
  5942. out('e');
  5943. out('s');
  5944. out('s');
  5945. gen_d(depth +1);
  5946. gen__r_(depth +1);
  5947. gen_address_content_1(depth +1);
  5948. gen__cl_(depth +1);
  5949. out('a');
  5950. out('d');
  5951. out('d');
  5952. out('r');
  5953. out('e');
  5954. out('s');
  5955. out('s');
  5956. gen__r_(depth +1);
  5957. break;
  5958.  
  5959. }
  5960. }
  5961.  
  5962.  
  5963. void gen_address_content(int depth) {
  5964. if (depth > max_depth) {
  5965. int val = map(1);
  5966. const char* str = pool_address_content[val];
  5967. const int str_l = pool_l_address_content[val];
  5968. for (int i = 0; i < str_l; i++) {
  5969. out(str[i]);
  5970. }
  5971. return;
  5972. }
  5973.  
  5974. int val = map(2);
  5975. switch(val) {
  5976.  
  5977. case 0:
  5978. gen_text(depth +1);
  5979. break;
  5980.  
  5981. case 1:
  5982. gen_p_tag(depth +1);
  5983. break;
  5984.  
  5985. }
  5986. }
  5987.  
  5988.  
  5989. void gen_applet_content(int depth) {
  5990. if (depth > max_depth) {
  5991. int val = map(2);
  5992. const char* str = pool_applet_content[val];
  5993. const int str_l = pool_l_applet_content[val];
  5994. for (int i = 0; i < str_l; i++) {
  5995. out(str[i]);
  5996. }
  5997. return;
  5998. }
  5999.  
  6000. int val = map(1);
  6001. switch(val) {
  6002.  
  6003. case 0:
  6004. gen_param_1(depth +1);
  6005. gen_body_content(depth +1);
  6006. break;
  6007.  
  6008. }
  6009. }
  6010.  
  6011.  
  6012. void gen_area(int depth) {
  6013. if (depth > max_depth) {
  6014. int val = map(1);
  6015. const char* str = pool_area[val];
  6016. const int str_l = pool_l_area[val];
  6017. for (int i = 0; i < str_l; i++) {
  6018. out(str[i]);
  6019. }
  6020. return;
  6021. }
  6022.  
  6023. int val = map(1);
  6024. switch(val) {
  6025.  
  6026. case 0:
  6027. gen__l_(depth +1);
  6028. out('a');
  6029. out('r');
  6030. out('e');
  6031. out('a');
  6032. gen_d(depth +1);
  6033. gen__r_(depth +1);
  6034. break;
  6035.  
  6036. }
  6037. }
  6038.  
  6039.  
  6040. void gen_applet_tag(int depth) {
  6041. if (depth > max_depth) {
  6042. int val = map(2);
  6043. const char* str = pool_applet_tag[val];
  6044. const int str_l = pool_l_applet_tag[val];
  6045. for (int i = 0; i < str_l; i++) {
  6046. out(str[i]);
  6047. }
  6048. return;
  6049. }
  6050.  
  6051. int val = map(1);
  6052. switch(val) {
  6053.  
  6054. case 0:
  6055. gen__l_(depth +1);
  6056. out('a');
  6057. out('p');
  6058. out('p');
  6059. out('l');
  6060. out('e');
  6061. out('t');
  6062. gen_d(depth +1);
  6063. gen__r_(depth +1);
  6064. gen_applet_content(depth +1);
  6065. gen__cl_(depth +1);
  6066. out('a');
  6067. out('p');
  6068. out('p');
  6069. out('l');
  6070. out('e');
  6071. out('t');
  6072. gen__r_(depth +1);
  6073. break;
  6074.  
  6075. }
  6076. }
  6077.  
  6078.  
  6079. void gen_b_tag(int depth) {
  6080. if (depth > max_depth) {
  6081. int val = map(1);
  6082. const char* str = pool_b_tag[val];
  6083. const int str_l = pool_l_b_tag[val];
  6084. for (int i = 0; i < str_l; i++) {
  6085. out(str[i]);
  6086. }
  6087. return;
  6088. }
  6089.  
  6090. int val = map(1);
  6091. switch(val) {
  6092.  
  6093. case 0:
  6094. gen__l_(depth +1);
  6095. out('b');
  6096. gen_d(depth +1);
  6097. gen__r_(depth +1);
  6098. gen_text(depth +1);
  6099. gen__cl_(depth +1);
  6100. out('b');
  6101. gen__r_(depth +1);
  6102. break;
  6103.  
  6104. }
  6105. }
  6106.  
  6107.  
  6108. void gen_basefont_tag(int depth) {
  6109. if (depth > max_depth) {
  6110. int val = map(2);
  6111. const char* str = pool_basefont_tag[val];
  6112. const int str_l = pool_l_basefont_tag[val];
  6113. for (int i = 0; i < str_l; i++) {
  6114. out(str[i]);
  6115. }
  6116. return;
  6117. }
  6118.  
  6119. int val = map(1);
  6120. switch(val) {
  6121.  
  6122. case 0:
  6123. gen__l_(depth +1);
  6124. out('b');
  6125. out('a');
  6126. out('s');
  6127. out('e');
  6128. out('f');
  6129. out('r');
  6130. out('o');
  6131. out('n');
  6132. out('t');
  6133. gen_d(depth +1);
  6134. gen__r_(depth +1);
  6135. gen_body_content(depth +1);
  6136. gen__cl_(depth +1);
  6137. out('b');
  6138. out('a');
  6139. out('s');
  6140. out('e');
  6141. out('f');
  6142. out('r');
  6143. out('o');
  6144. out('n');
  6145. out('t');
  6146. gen__r_(depth +1);
  6147. break;
  6148.  
  6149. }
  6150. }
  6151.  
  6152.  
  6153. void gen_bdo_tag(int depth) {
  6154. if (depth > max_depth) {
  6155. int val = map(1);
  6156. const char* str = pool_bdo_tag[val];
  6157. const int str_l = pool_l_bdo_tag[val];
  6158. for (int i = 0; i < str_l; i++) {
  6159. out(str[i]);
  6160. }
  6161. return;
  6162. }
  6163.  
  6164. int val = map(1);
  6165. switch(val) {
  6166.  
  6167. case 0:
  6168. gen__l_(depth +1);
  6169. out('b');
  6170. out('d');
  6171. out('o');
  6172. gen_d(depth +1);
  6173. gen__r_(depth +1);
  6174. gen_text(depth +1);
  6175. gen__cl_(depth +1);
  6176. out('b');
  6177. out('d');
  6178. out('o');
  6179. gen__r_(depth +1);
  6180. break;
  6181.  
  6182. }
  6183. }
  6184.  
  6185.  
  6186. void gen_big_tag(int depth) {
  6187. if (depth > max_depth) {
  6188. int val = map(1);
  6189. const char* str = pool_big_tag[val];
  6190. const int str_l = pool_l_big_tag[val];
  6191. for (int i = 0; i < str_l; i++) {
  6192. out(str[i]);
  6193. }
  6194. return;
  6195. }
  6196.  
  6197. int val = map(1);
  6198. switch(val) {
  6199.  
  6200. case 0:
  6201. gen__l_(depth +1);
  6202. out('b');
  6203. out('i');
  6204. out('g');
  6205. gen_d(depth +1);
  6206. gen__r_(depth +1);
  6207. gen_text(depth +1);
  6208. gen__cl_(depth +1);
  6209. out('b');
  6210. out('i');
  6211. out('g');
  6212. gen__r_(depth +1);
  6213. break;
  6214.  
  6215. }
  6216. }
  6217.  
  6218.  
  6219. void gen_blink_tag(int depth) {
  6220. if (depth > max_depth) {
  6221. int val = map(1);
  6222. const char* str = pool_blink_tag[val];
  6223. const int str_l = pool_l_blink_tag[val];
  6224. for (int i = 0; i < str_l; i++) {
  6225. out(str[i]);
  6226. }
  6227. return;
  6228. }
  6229.  
  6230. int val = map(1);
  6231. switch(val) {
  6232.  
  6233. case 0:
  6234. gen__l_(depth +1);
  6235. out('b');
  6236. out('l');
  6237. out('i');
  6238. out('n');
  6239. out('k');
  6240. gen_d(depth +1);
  6241. gen__r_(depth +1);
  6242. gen_text(depth +1);
  6243. gen__cl_(depth +1);
  6244. out('b');
  6245. out('l');
  6246. out('i');
  6247. out('n');
  6248. out('k');
  6249. gen__r_(depth +1);
  6250. break;
  6251.  
  6252. }
  6253. }
  6254.  
  6255.  
  6256. void gen_block(int depth) {
  6257. if (depth > max_depth) {
  6258. int val = map(1);
  6259. const char* str = pool_block[val];
  6260. const int str_l = pool_l_block[val];
  6261. for (int i = 0; i < str_l; i++) {
  6262. out(str[i]);
  6263. }
  6264. return;
  6265. }
  6266.  
  6267. int val = map(1);
  6268. switch(val) {
  6269.  
  6270. case 0:
  6271. gen_block_content_1(depth +1);
  6272. break;
  6273.  
  6274. }
  6275. }
  6276.  
  6277.  
  6278. void gen_block_content(int depth) {
  6279. if (depth > max_depth) {
  6280. int val = map(6);
  6281. const char* str = pool_block_content[val];
  6282. const int str_l = pool_l_block_content[val];
  6283. for (int i = 0; i < str_l; i++) {
  6284. out(str[i]);
  6285. }
  6286. return;
  6287. }
  6288.  
  6289. int val = map(17);
  6290. switch(val) {
  6291.  
  6292. case 0:
  6293. gen_center_tag(depth +1);
  6294. break;
  6295.  
  6296. case 1:
  6297. gen_form_tag(depth +1);
  6298. break;
  6299.  
  6300. case 2:
  6301. gen_menu_tag(depth +1);
  6302. break;
  6303.  
  6304. case 3:
  6305. gen_pre_tag(depth +1);
  6306. break;
  6307.  
  6308. case 4:
  6309. gen_table_tag(depth +1);
  6310. break;
  6311.  
  6312. case 5:
  6313. gen_ul_tag(depth +1);
  6314. break;
  6315.  
  6316. case 6:
  6317. gen_nobr_tag(depth +1);
  6318. break;
  6319.  
  6320. case 7:
  6321. gen_p_tag(depth +1);
  6322. break;
  6323.  
  6324. case 8:
  6325. gen_listing_tag(depth +1);
  6326. break;
  6327.  
  6328. case 9:
  6329. gen_xmp_tag(depth +1);
  6330. break;
  6331.  
  6332. case 10:
  6333. gen_dir_tag(depth +1);
  6334. break;
  6335.  
  6336. case 11:
  6337. gen_ol_tag(depth +1);
  6338. break;
  6339.  
  6340. case 12:
  6341. gen_dl_tag(depth +1);
  6342. break;
  6343.  
  6344. case 13:
  6345. gen_basefont_tag(depth +1);
  6346. break;
  6347.  
  6348. case 14:
  6349. gen_blockquote_tag(depth +1);
  6350. break;
  6351.  
  6352. case 15:
  6353. gen_div_tag(depth +1);
  6354. break;
  6355.  
  6356. case 16:
  6357. gen_multicol_tag(depth +1);
  6358. break;
  6359.  
  6360. }
  6361. }
  6362.  
  6363.  
  6364. void gen_blockquote_tag(int depth) {
  6365. if (depth > max_depth) {
  6366. int val = map(2);
  6367. const char* str = pool_blockquote_tag[val];
  6368. const int str_l = pool_l_blockquote_tag[val];
  6369. for (int i = 0; i < str_l; i++) {
  6370. out(str[i]);
  6371. }
  6372. return;
  6373. }
  6374.  
  6375. int val = map(1);
  6376. switch(val) {
  6377.  
  6378. case 0:
  6379. gen__l_(depth +1);
  6380. out('b');
  6381. out('l');
  6382. out('o');
  6383. out('c');
  6384. out('k');
  6385. out('q');
  6386. out('u');
  6387. out('o');
  6388. out('t');
  6389. out('e');
  6390. gen_d(depth +1);
  6391. gen__r_(depth +1);
  6392. gen_body_content(depth +1);
  6393. gen__cl_(depth +1);
  6394. out('b');
  6395. out('l');
  6396. out('o');
  6397. out('c');
  6398. out('k');
  6399. out('q');
  6400. out('u');
  6401. out('o');
  6402. out('t');
  6403. out('e');
  6404. gen__r_(depth +1);
  6405. break;
  6406.  
  6407. }
  6408. }
  6409.  
  6410.  
  6411. void gen_body_content(int depth) {
  6412. if (depth > max_depth) {
  6413. int val = map(2);
  6414. const char* str = pool_body_content[val];
  6415. const int str_l = pool_l_body_content[val];
  6416. for (int i = 0; i < str_l; i++) {
  6417. out(str[i]);
  6418. }
  6419. return;
  6420. }
  6421.  
  6422. int val = map(11);
  6423. switch(val) {
  6424.  
  6425. case 0:
  6426. gen__l_(depth +1);
  6427. out('b');
  6428. out('g');
  6429. out('s');
  6430. out('o');
  6431. out('u');
  6432. out('n');
  6433. out('d');
  6434. gen_d(depth +1);
  6435. gen__r_(depth +1);
  6436. break;
  6437.  
  6438. case 1:
  6439. gen__l_(depth +1);
  6440. out('h');
  6441. out('r');
  6442. gen__r_(depth +1);
  6443. break;
  6444.  
  6445. case 2:
  6446. gen_address_tag(depth +1);
  6447. break;
  6448.  
  6449. case 3:
  6450. gen_block(depth +1);
  6451. break;
  6452.  
  6453. case 4:
  6454. gen_text(depth +1);
  6455. break;
  6456.  
  6457. case 5:
  6458. gen_del_tag(depth +1);
  6459. break;
  6460.  
  6461. case 6:
  6462. gen_ins_tag(depth +1);
  6463. break;
  6464.  
  6465. case 7:
  6466. gen_map_tag(depth +1);
  6467. break;
  6468.  
  6469. case 8:
  6470. gen_marquee_tag(depth +1);
  6471. break;
  6472.  
  6473. case 9:
  6474. gen_heading(depth +1);
  6475. break;
  6476.  
  6477. case 10:
  6478. gen_layer_tag(depth +1);
  6479. break;
  6480.  
  6481. }
  6482. }
  6483.  
  6484.  
  6485. void gen_body_tag(int depth) {
  6486. if (depth > max_depth) {
  6487. int val = map(1);
  6488. const char* str = pool_body_tag[val];
  6489. const int str_l = pool_l_body_tag[val];
  6490. for (int i = 0; i < str_l; i++) {
  6491. out(str[i]);
  6492. }
  6493. return;
  6494. }
  6495.  
  6496. int val = map(1);
  6497. switch(val) {
  6498.  
  6499. case 0:
  6500. gen__l_(depth +1);
  6501. out('b');
  6502. out('o');
  6503. out('d');
  6504. out('y');
  6505. gen_d(depth +1);
  6506. gen__r_(depth +1);
  6507. gen_body_content_1(depth +1);
  6508. gen__cl_(depth +1);
  6509. out('b');
  6510. out('o');
  6511. out('d');
  6512. out('y');
  6513. gen__r_(depth +1);
  6514. break;
  6515.  
  6516. }
  6517. }
  6518.  
  6519.  
  6520. void gen_caption_tag(int depth) {
  6521. if (depth > max_depth) {
  6522. int val = map(1);
  6523. const char* str = pool_caption_tag[val];
  6524. const int str_l = pool_l_caption_tag[val];
  6525. for (int i = 0; i < str_l; i++) {
  6526. out(str[i]);
  6527. }
  6528. return;
  6529. }
  6530.  
  6531. int val = map(1);
  6532. switch(val) {
  6533.  
  6534. case 0:
  6535. gen__l_(depth +1);
  6536. out('c');
  6537. out('a');
  6538. out('p');
  6539. out('t');
  6540. out('i');
  6541. out('o');
  6542. out('n');
  6543. gen_d(depth +1);
  6544. gen__r_(depth +1);
  6545. gen_body_content_2(depth +1);
  6546. gen__cl_(depth +1);
  6547. out('c');
  6548. out('a');
  6549. out('p');
  6550. out('t');
  6551. out('i');
  6552. out('o');
  6553. out('n');
  6554. gen__r_(depth +1);
  6555. break;
  6556.  
  6557. }
  6558. }
  6559.  
  6560.  
  6561. void gen_center_tag(int depth) {
  6562. if (depth > max_depth) {
  6563. int val = map(1);
  6564. const char* str = pool_center_tag[val];
  6565. const int str_l = pool_l_center_tag[val];
  6566. for (int i = 0; i < str_l; i++) {
  6567. out(str[i]);
  6568. }
  6569. return;
  6570. }
  6571.  
  6572. int val = map(1);
  6573. switch(val) {
  6574.  
  6575. case 0:
  6576. gen__l_(depth +1);
  6577. out('c');
  6578. out('e');
  6579. out('n');
  6580. out('t');
  6581. out('e');
  6582. out('r');
  6583. gen_d(depth +1);
  6584. gen__r_(depth +1);
  6585. gen_body_content_3(depth +1);
  6586. gen__cl_(depth +1);
  6587. out('c');
  6588. out('e');
  6589. out('n');
  6590. out('t');
  6591. out('e');
  6592. out('r');
  6593. gen__r_(depth +1);
  6594. break;
  6595.  
  6596. }
  6597. }
  6598.  
  6599.  
  6600. void gen_cite_tag(int depth) {
  6601. if (depth > max_depth) {
  6602. int val = map(1);
  6603. const char* str = pool_cite_tag[val];
  6604. const int str_l = pool_l_cite_tag[val];
  6605. for (int i = 0; i < str_l; i++) {
  6606. out(str[i]);
  6607. }
  6608. return;
  6609. }
  6610.  
  6611. int val = map(1);
  6612. switch(val) {
  6613.  
  6614. case 0:
  6615. gen__l_(depth +1);
  6616. out('c');
  6617. out('i');
  6618. out('t');
  6619. out('e');
  6620. gen_d(depth +1);
  6621. gen__r_(depth +1);
  6622. gen_text(depth +1);
  6623. gen__cl_(depth +1);
  6624. out('c');
  6625. out('i');
  6626. out('t');
  6627. out('e');
  6628. gen__r_(depth +1);
  6629. break;
  6630.  
  6631. }
  6632. }
  6633.  
  6634.  
  6635. void gen_code_tag(int depth) {
  6636. if (depth > max_depth) {
  6637. int val = map(1);
  6638. const char* str = pool_code_tag[val];
  6639. const int str_l = pool_l_code_tag[val];
  6640. for (int i = 0; i < str_l; i++) {
  6641. out(str[i]);
  6642. }
  6643. return;
  6644. }
  6645.  
  6646. int val = map(1);
  6647. switch(val) {
  6648.  
  6649. case 0:
  6650. gen__l_(depth +1);
  6651. out('c');
  6652. out('o');
  6653. out('d');
  6654. out('e');
  6655. gen_d(depth +1);
  6656. gen__r_(depth +1);
  6657. gen_text(depth +1);
  6658. gen__cl_(depth +1);
  6659. out('c');
  6660. out('o');
  6661. out('d');
  6662. out('e');
  6663. gen__r_(depth +1);
  6664. break;
  6665.  
  6666. }
  6667. }
  6668.  
  6669.  
  6670. void gen_colgroup_content(int depth) {
  6671. if (depth > max_depth) {
  6672. int val = map(1);
  6673. const char* str = pool_colgroup_content[val];
  6674. const int str_l = pool_l_colgroup_content[val];
  6675. for (int i = 0; i < str_l; i++) {
  6676. out(str[i]);
  6677. }
  6678. return;
  6679. }
  6680.  
  6681. int val = map(1);
  6682. switch(val) {
  6683.  
  6684. case 0:
  6685. gen__l_(depth +1);
  6686. out('c');
  6687. out('o');
  6688. out('l');
  6689. gen_d(depth +1);
  6690. gen__r__1(depth +1);
  6691. break;
  6692.  
  6693. }
  6694. }
  6695.  
  6696.  
  6697. void gen_colgroup_tag(int depth) {
  6698. if (depth > max_depth) {
  6699. int val = map(1);
  6700. const char* str = pool_colgroup_tag[val];
  6701. const int str_l = pool_l_colgroup_tag[val];
  6702. for (int i = 0; i < str_l; i++) {
  6703. out(str[i]);
  6704. }
  6705. return;
  6706. }
  6707.  
  6708. int val = map(1);
  6709. switch(val) {
  6710.  
  6711. case 0:
  6712. gen__l_(depth +1);
  6713. out('c');
  6714. out('o');
  6715. out('l');
  6716. out('g');
  6717. out('r');
  6718. out('o');
  6719. out('u');
  6720. out('p');
  6721. gen_d(depth +1);
  6722. gen__r_(depth +1);
  6723. gen_colgroup_content(depth +1);
  6724. break;
  6725.  
  6726. }
  6727. }
  6728.  
  6729.  
  6730. void gen_content_style(int depth) {
  6731. if (depth > max_depth) {
  6732. int val = map(10);
  6733. const char* str = pool_content_style[val];
  6734. const int str_l = pool_l_content_style[val];
  6735. for (int i = 0; i < str_l; i++) {
  6736. out(str[i]);
  6737. }
  6738. return;
  6739. }
  6740.  
  6741. int val = map(10);
  6742. switch(val) {
  6743.  
  6744. case 0:
  6745. gen_abbr_tag(depth +1);
  6746. break;
  6747.  
  6748. case 1:
  6749. gen_acronym_tag(depth +1);
  6750. break;
  6751.  
  6752. case 2:
  6753. gen_cite_tag(depth +1);
  6754. break;
  6755.  
  6756. case 3:
  6757. gen_code_tag(depth +1);
  6758. break;
  6759.  
  6760. case 4:
  6761. gen_dfn_tag(depth +1);
  6762. break;
  6763.  
  6764. case 5:
  6765. gen_em_tag(depth +1);
  6766. break;
  6767.  
  6768. case 6:
  6769. gen_kbd_tag(depth +1);
  6770. break;
  6771.  
  6772. case 7:
  6773. gen_q_tag(depth +1);
  6774. break;
  6775.  
  6776. case 8:
  6777. gen_strong_tag(depth +1);
  6778. break;
  6779.  
  6780. case 9:
  6781. gen_var_tag(depth +1);
  6782. break;
  6783.  
  6784. }
  6785. }
  6786.  
  6787.  
  6788. void gen_dd_tag(int depth) {
  6789. if (depth > max_depth) {
  6790. int val = map(1);
  6791. const char* str = pool_dd_tag[val];
  6792. const int str_l = pool_l_dd_tag[val];
  6793. for (int i = 0; i < str_l; i++) {
  6794. out(str[i]);
  6795. }
  6796. return;
  6797. }
  6798.  
  6799. int val = map(1);
  6800. switch(val) {
  6801.  
  6802. case 0:
  6803. gen__l_(depth +1);
  6804. out('d');
  6805. out('d');
  6806. gen_d(depth +1);
  6807. gen__r_(depth +1);
  6808. gen_flow(depth +1);
  6809. gen__cl_(depth +1);
  6810. out('d');
  6811. out('d');
  6812. gen__r_(depth +1);
  6813. break;
  6814.  
  6815. }
  6816. }
  6817.  
  6818.  
  6819. void gen_del_tag(int depth) {
  6820. if (depth > max_depth) {
  6821. int val = map(1);
  6822. const char* str = pool_del_tag[val];
  6823. const int str_l = pool_l_del_tag[val];
  6824. for (int i = 0; i < str_l; i++) {
  6825. out(str[i]);
  6826. }
  6827. return;
  6828. }
  6829.  
  6830. int val = map(1);
  6831. switch(val) {
  6832.  
  6833. case 0:
  6834. gen__l_(depth +1);
  6835. out('d');
  6836. out('e');
  6837. out('l');
  6838. gen_d(depth +1);
  6839. gen__r_(depth +1);
  6840. gen_flow(depth +1);
  6841. gen__cl_(depth +1);
  6842. out('d');
  6843. out('e');
  6844. out('l');
  6845. gen__r_(depth +1);
  6846. break;
  6847.  
  6848. }
  6849. }
  6850.  
  6851.  
  6852. void gen_dfn_tag(int depth) {
  6853. if (depth > max_depth) {
  6854. int val = map(1);
  6855. const char* str = pool_dfn_tag[val];
  6856. const int str_l = pool_l_dfn_tag[val];
  6857. for (int i = 0; i < str_l; i++) {
  6858. out(str[i]);
  6859. }
  6860. return;
  6861. }
  6862.  
  6863. int val = map(1);
  6864. switch(val) {
  6865.  
  6866. case 0:
  6867. gen__l_(depth +1);
  6868. out('d');
  6869. out('f');
  6870. out('n');
  6871. gen_d(depth +1);
  6872. gen__r_(depth +1);
  6873. gen_text(depth +1);
  6874. gen__cl_(depth +1);
  6875. out('d');
  6876. out('f');
  6877. out('n');
  6878. gen__r_(depth +1);
  6879. break;
  6880.  
  6881. }
  6882. }
  6883.  
  6884.  
  6885. void gen_dir_tag(int depth) {
  6886. if (depth > max_depth) {
  6887. int val = map(1);
  6888. const char* str = pool_dir_tag[val];
  6889. const int str_l = pool_l_dir_tag[val];
  6890. for (int i = 0; i < str_l; i++) {
  6891. out(str[i]);
  6892. }
  6893. return;
  6894. }
  6895.  
  6896. int val = map(1);
  6897. switch(val) {
  6898.  
  6899. case 0:
  6900. gen__l_(depth +1);
  6901. out('d');
  6902. out('i');
  6903. out('r');
  6904. gen_d(depth +1);
  6905. gen__r_(depth +1);
  6906. gen_li_tag_1(depth +1);
  6907. gen__cl_(depth +1);
  6908. out('d');
  6909. out('i');
  6910. out('r');
  6911. gen__r_(depth +1);
  6912. break;
  6913.  
  6914. }
  6915. }
  6916.  
  6917.  
  6918. void gen_div_tag(int depth) {
  6919. if (depth > max_depth) {
  6920. int val = map(2);
  6921. const char* str = pool_div_tag[val];
  6922. const int str_l = pool_l_div_tag[val];
  6923. for (int i = 0; i < str_l; i++) {
  6924. out(str[i]);
  6925. }
  6926. return;
  6927. }
  6928.  
  6929. int val = map(1);
  6930. switch(val) {
  6931.  
  6932. case 0:
  6933. gen__l_(depth +1);
  6934. out('d');
  6935. out('i');
  6936. out('v');
  6937. gen_d(depth +1);
  6938. gen__r_(depth +1);
  6939. gen_body_content(depth +1);
  6940. gen__cl_(depth +1);
  6941. out('d');
  6942. out('i');
  6943. out('v');
  6944. gen__r_(depth +1);
  6945. break;
  6946.  
  6947. }
  6948. }
  6949.  
  6950.  
  6951. void gen_dl_content(int depth) {
  6952. if (depth > max_depth) {
  6953. int val = map(1);
  6954. const char* str = pool_dl_content[val];
  6955. const int str_l = pool_l_dl_content[val];
  6956. for (int i = 0; i < str_l; i++) {
  6957. out(str[i]);
  6958. }
  6959. return;
  6960. }
  6961.  
  6962. int val = map(1);
  6963. switch(val) {
  6964.  
  6965. case 0:
  6966. gen_dt_tag(depth +1);
  6967. gen_dd_tag(depth +1);
  6968. break;
  6969.  
  6970. }
  6971. }
  6972.  
  6973.  
  6974. void gen_dl_tag(int depth) {
  6975. if (depth > max_depth) {
  6976. int val = map(1);
  6977. const char* str = pool_dl_tag[val];
  6978. const int str_l = pool_l_dl_tag[val];
  6979. for (int i = 0; i < str_l; i++) {
  6980. out(str[i]);
  6981. }
  6982. return;
  6983. }
  6984.  
  6985. int val = map(1);
  6986. switch(val) {
  6987.  
  6988. case 0:
  6989. gen__l_(depth +1);
  6990. out('d');
  6991. out('l');
  6992. gen_d(depth +1);
  6993. gen__r_(depth +1);
  6994. gen_dl_content_1(depth +1);
  6995. gen__cl_(depth +1);
  6996. out('d');
  6997. out('l');
  6998. gen__r_(depth +1);
  6999. break;
  7000.  
  7001. }
  7002. }
  7003.  
  7004.  
  7005. void gen_dt_tag(int depth) {
  7006. if (depth > max_depth) {
  7007. int val = map(1);
  7008. const char* str = pool_dt_tag[val];
  7009. const int str_l = pool_l_dt_tag[val];
  7010. for (int i = 0; i < str_l; i++) {
  7011. out(str[i]);
  7012. }
  7013. return;
  7014. }
  7015.  
  7016. int val = map(1);
  7017. switch(val) {
  7018.  
  7019. case 0:
  7020. gen__l_(depth +1);
  7021. out('d');
  7022. out('t');
  7023. gen_d(depth +1);
  7024. gen__r_(depth +1);
  7025. gen_text(depth +1);
  7026. gen__cl_(depth +1);
  7027. out('d');
  7028. out('t');
  7029. gen__r_(depth +1);
  7030. break;
  7031.  
  7032. }
  7033. }
  7034.  
  7035.  
  7036. void gen_em_tag(int depth) {
  7037. if (depth > max_depth) {
  7038. int val = map(1);
  7039. const char* str = pool_em_tag[val];
  7040. const int str_l = pool_l_em_tag[val];
  7041. for (int i = 0; i < str_l; i++) {
  7042. out(str[i]);
  7043. }
  7044. return;
  7045. }
  7046.  
  7047. int val = map(1);
  7048. switch(val) {
  7049.  
  7050. case 0:
  7051. gen__l_(depth +1);
  7052. out('e');
  7053. out('m');
  7054. gen_d(depth +1);
  7055. gen__r_(depth +1);
  7056. gen_text(depth +1);
  7057. gen__cl_(depth +1);
  7058. out('e');
  7059. out('m');
  7060. gen__r_(depth +1);
  7061. break;
  7062.  
  7063. }
  7064. }
  7065.  
  7066.  
  7067. void gen_fieldset_tag(int depth) {
  7068. if (depth > max_depth) {
  7069. int val = map(1);
  7070. const char* str = pool_fieldset_tag[val];
  7071. const int str_l = pool_l_fieldset_tag[val];
  7072. for (int i = 0; i < str_l; i++) {
  7073. out(str[i]);
  7074. }
  7075. return;
  7076. }
  7077.  
  7078. int val = map(1);
  7079. switch(val) {
  7080.  
  7081. case 0:
  7082. gen__l_(depth +1);
  7083. out('f');
  7084. out('i');
  7085. out('e');
  7086. out('l');
  7087. out('d');
  7088. out('s');
  7089. out('e');
  7090. out('t');
  7091. gen_d(depth +1);
  7092. gen__r_(depth +1);
  7093. gen_legend_tag_1(depth +1);
  7094. gen_form_content_1(depth +1);
  7095. gen__cl_(depth +1);
  7096. out('f');
  7097. out('i');
  7098. out('e');
  7099. out('l');
  7100. out('d');
  7101. out('s');
  7102. out('e');
  7103. out('t');
  7104. gen__r_(depth +1);
  7105. break;
  7106.  
  7107. }
  7108. }
  7109.  
  7110.  
  7111. void gen_flow(int depth) {
  7112. if (depth > max_depth) {
  7113. int val = map(1);
  7114. const char* str = pool_flow[val];
  7115. const int str_l = pool_l_flow[val];
  7116. for (int i = 0; i < str_l; i++) {
  7117. out(str[i]);
  7118. }
  7119. return;
  7120. }
  7121.  
  7122. int val = map(1);
  7123. switch(val) {
  7124.  
  7125. case 0:
  7126. gen_flow_content_1(depth +1);
  7127. break;
  7128.  
  7129. }
  7130. }
  7131.  
  7132.  
  7133. void gen_flow_content(int depth) {
  7134. if (depth > max_depth) {
  7135. int val = map(2);
  7136. const char* str = pool_flow_content[val];
  7137. const int str_l = pool_l_flow_content[val];
  7138. for (int i = 0; i < str_l; i++) {
  7139. out(str[i]);
  7140. }
  7141. return;
  7142. }
  7143.  
  7144. int val = map(2);
  7145. switch(val) {
  7146.  
  7147. case 0:
  7148. gen_block(depth +1);
  7149. break;
  7150.  
  7151. case 1:
  7152. gen_text(depth +1);
  7153. break;
  7154.  
  7155. }
  7156. }
  7157.  
  7158.  
  7159. void gen_font_tag(int depth) {
  7160. if (depth > max_depth) {
  7161. int val = map(1);
  7162. const char* str = pool_font_tag[val];
  7163. const int str_l = pool_l_font_tag[val];
  7164. for (int i = 0; i < str_l; i++) {
  7165. out(str[i]);
  7166. }
  7167. return;
  7168. }
  7169.  
  7170. int val = map(1);
  7171. switch(val) {
  7172.  
  7173. case 0:
  7174. gen__l_(depth +1);
  7175. out('f');
  7176. out('o');
  7177. out('n');
  7178. out('t');
  7179. gen_d(depth +1);
  7180. gen__r_(depth +1);
  7181. gen_style_text(depth +1);
  7182. gen__cl_(depth +1);
  7183. out('f');
  7184. out('o');
  7185. out('n');
  7186. out('t');
  7187. gen__r_(depth +1);
  7188. break;
  7189.  
  7190. }
  7191. }
  7192.  
  7193.  
  7194. void gen_form_content(int depth) {
  7195. if (depth > max_depth) {
  7196. int val = map(2);
  7197. const char* str = pool_form_content[val];
  7198. const int str_l = pool_l_form_content[val];
  7199. for (int i = 0; i < str_l; i++) {
  7200. out(str[i]);
  7201. }
  7202. return;
  7203. }
  7204.  
  7205. int val = map(7);
  7206. switch(val) {
  7207.  
  7208. case 0:
  7209. gen__l_(depth +1);
  7210. out('i');
  7211. out('n');
  7212. out('p');
  7213. out('u');
  7214. out('t');
  7215. gen_d(depth +1);
  7216. gen__r_(depth +1);
  7217. break;
  7218.  
  7219. case 1:
  7220. gen__l_(depth +1);
  7221. out('k');
  7222. out('e');
  7223. out('y');
  7224. out('g');
  7225. out('e');
  7226. out('n');
  7227. gen_d(depth +1);
  7228. gen__r_(depth +1);
  7229. break;
  7230.  
  7231. case 2:
  7232. gen_body_content(depth +1);
  7233. break;
  7234.  
  7235. case 3:
  7236. gen_fieldset_tag(depth +1);
  7237. break;
  7238.  
  7239. case 4:
  7240. gen_label_tag(depth +1);
  7241. break;
  7242.  
  7243. case 5:
  7244. gen_select_tag(depth +1);
  7245. break;
  7246.  
  7247. case 6:
  7248. gen_textarea_tag(depth +1);
  7249. break;
  7250.  
  7251. }
  7252. }
  7253.  
  7254.  
  7255. void gen_form_tag(int depth) {
  7256. if (depth > max_depth) {
  7257. int val = map(1);
  7258. const char* str = pool_form_tag[val];
  7259. const int str_l = pool_l_form_tag[val];
  7260. for (int i = 0; i < str_l; i++) {
  7261. out(str[i]);
  7262. }
  7263. return;
  7264. }
  7265.  
  7266. int val = map(1);
  7267. switch(val) {
  7268.  
  7269. case 0:
  7270. gen__l_(depth +1);
  7271. out('f');
  7272. out('o');
  7273. out('r');
  7274. out('m');
  7275. gen_d(depth +1);
  7276. gen__r_(depth +1);
  7277. gen_form_content_2(depth +1);
  7278. gen__cl_(depth +1);
  7279. out('f');
  7280. out('o');
  7281. out('r');
  7282. out('m');
  7283. gen__r_(depth +1);
  7284. break;
  7285.  
  7286. }
  7287. }
  7288.  
  7289.  
  7290. void gen_frameset_content(int depth) {
  7291. if (depth > max_depth) {
  7292. int val = map(1);
  7293. const char* str = pool_frameset_content[val];
  7294. const int str_l = pool_l_frameset_content[val];
  7295. for (int i = 0; i < str_l; i++) {
  7296. out(str[i]);
  7297. }
  7298. return;
  7299. }
  7300.  
  7301. int val = map(2);
  7302. switch(val) {
  7303.  
  7304. case 0:
  7305. gen__l_(depth +1);
  7306. out('f');
  7307. out('r');
  7308. out('a');
  7309. out('m');
  7310. out('e');
  7311. gen_d(depth +1);
  7312. gen__r_(depth +1);
  7313. break;
  7314.  
  7315. case 1:
  7316. gen_noframes_tag(depth +1);
  7317. break;
  7318.  
  7319. }
  7320. }
  7321.  
  7322.  
  7323. void gen_frameset_tag(int depth) {
  7324. if (depth > max_depth) {
  7325. int val = map(1);
  7326. const char* str = pool_frameset_tag[val];
  7327. const int str_l = pool_l_frameset_tag[val];
  7328. for (int i = 0; i < str_l; i++) {
  7329. out(str[i]);
  7330. }
  7331. return;
  7332. }
  7333.  
  7334. int val = map(1);
  7335. switch(val) {
  7336.  
  7337. case 0:
  7338. gen__l_(depth +1);
  7339. out('f');
  7340. out('r');
  7341. out('a');
  7342. out('m');
  7343. out('e');
  7344. out('s');
  7345. out('e');
  7346. out('t');
  7347. gen_d(depth +1);
  7348. gen__r_(depth +1);
  7349. gen_frameset_content_1(depth +1);
  7350. gen__cl_(depth +1);
  7351. out('f');
  7352. out('r');
  7353. out('a');
  7354. out('m');
  7355. out('e');
  7356. out('s');
  7357. out('e');
  7358. out('t');
  7359. gen__r_(depth +1);
  7360. break;
  7361.  
  7362. }
  7363. }
  7364.  
  7365.  
  7366. void gen_h1_tag(int depth) {
  7367. if (depth > max_depth) {
  7368. int val = map(1);
  7369. const char* str = pool_h1_tag[val];
  7370. const int str_l = pool_l_h1_tag[val];
  7371. for (int i = 0; i < str_l; i++) {
  7372. out(str[i]);
  7373. }
  7374. return;
  7375. }
  7376.  
  7377. int val = map(1);
  7378. switch(val) {
  7379.  
  7380. case 0:
  7381. gen__l_(depth +1);
  7382. out('h');
  7383. out('1');
  7384. gen_d(depth +1);
  7385. gen__r_(depth +1);
  7386. gen_text(depth +1);
  7387. gen__cl_(depth +1);
  7388. out('h');
  7389. out('1');
  7390. gen__r_(depth +1);
  7391. break;
  7392.  
  7393. }
  7394. }
  7395.  
  7396.  
  7397. void gen_h2_tag(int depth) {
  7398. if (depth > max_depth) {
  7399. int val = map(1);
  7400. const char* str = pool_h2_tag[val];
  7401. const int str_l = pool_l_h2_tag[val];
  7402. for (int i = 0; i < str_l; i++) {
  7403. out(str[i]);
  7404. }
  7405. return;
  7406. }
  7407.  
  7408. int val = map(1);
  7409. switch(val) {
  7410.  
  7411. case 0:
  7412. gen__l_(depth +1);
  7413. out('h');
  7414. out('2');
  7415. gen_d(depth +1);
  7416. gen__r_(depth +1);
  7417. gen_text(depth +1);
  7418. gen__cl_(depth +1);
  7419. out('h');
  7420. out('2');
  7421. gen__r_(depth +1);
  7422. break;
  7423.  
  7424. }
  7425. }
  7426.  
  7427.  
  7428. void gen_h3_tag(int depth) {
  7429. if (depth > max_depth) {
  7430. int val = map(1);
  7431. const char* str = pool_h3_tag[val];
  7432. const int str_l = pool_l_h3_tag[val];
  7433. for (int i = 0; i < str_l; i++) {
  7434. out(str[i]);
  7435. }
  7436. return;
  7437. }
  7438.  
  7439. int val = map(1);
  7440. switch(val) {
  7441.  
  7442. case 0:
  7443. gen__l_(depth +1);
  7444. out('h');
  7445. out('3');
  7446. gen_d(depth +1);
  7447. gen__r_(depth +1);
  7448. gen_text(depth +1);
  7449. gen__cl_(depth +1);
  7450. out('h');
  7451. out('3');
  7452. gen__r_(depth +1);
  7453. break;
  7454.  
  7455. }
  7456. }
  7457.  
  7458.  
  7459. void gen_h4_tag(int depth) {
  7460. if (depth > max_depth) {
  7461. int val = map(1);
  7462. const char* str = pool_h4_tag[val];
  7463. const int str_l = pool_l_h4_tag[val];
  7464. for (int i = 0; i < str_l; i++) {
  7465. out(str[i]);
  7466. }
  7467. return;
  7468. }
  7469.  
  7470. int val = map(1);
  7471. switch(val) {
  7472.  
  7473. case 0:
  7474. gen__l_(depth +1);
  7475. out('h');
  7476. out('4');
  7477. gen_d(depth +1);
  7478. gen__r_(depth +1);
  7479. gen_text(depth +1);
  7480. gen__cl_(depth +1);
  7481. out('h');
  7482. out('4');
  7483. gen__r_(depth +1);
  7484. break;
  7485.  
  7486. }
  7487. }
  7488.  
  7489.  
  7490. void gen_h5_tag(int depth) {
  7491. if (depth > max_depth) {
  7492. int val = map(1);
  7493. const char* str = pool_h5_tag[val];
  7494. const int str_l = pool_l_h5_tag[val];
  7495. for (int i = 0; i < str_l; i++) {
  7496. out(str[i]);
  7497. }
  7498. return;
  7499. }
  7500.  
  7501. int val = map(1);
  7502. switch(val) {
  7503.  
  7504. case 0:
  7505. gen__l_(depth +1);
  7506. out('h');
  7507. out('5');
  7508. gen_d(depth +1);
  7509. gen__r_(depth +1);
  7510. gen_text(depth +1);
  7511. gen__cl_(depth +1);
  7512. out('h');
  7513. out('5');
  7514. gen__r_(depth +1);
  7515. break;
  7516.  
  7517. }
  7518. }
  7519.  
  7520.  
  7521. void gen_h6_tag(int depth) {
  7522. if (depth > max_depth) {
  7523. int val = map(1);
  7524. const char* str = pool_h6_tag[val];
  7525. const int str_l = pool_l_h6_tag[val];
  7526. for (int i = 0; i < str_l; i++) {
  7527. out(str[i]);
  7528. }
  7529. return;
  7530. }
  7531.  
  7532. int val = map(1);
  7533. switch(val) {
  7534.  
  7535. case 0:
  7536. gen__l_(depth +1);
  7537. out('h');
  7538. out('6');
  7539. gen_d(depth +1);
  7540. gen__r_(depth +1);
  7541. gen_text(depth +1);
  7542. gen__cl_(depth +1);
  7543. out('h');
  7544. out('6');
  7545. gen__r_(depth +1);
  7546. break;
  7547.  
  7548. }
  7549. }
  7550.  
  7551.  
  7552. void gen_head_content(int depth) {
  7553. if (depth > max_depth) {
  7554. int val = map(3);
  7555. const char* str = pool_head_content[val];
  7556. const int str_l = pool_l_head_content[val];
  7557. for (int i = 0; i < str_l; i++) {
  7558. out(str[i]);
  7559. }
  7560. return;
  7561. }
  7562.  
  7563. int val = map(6);
  7564. switch(val) {
  7565.  
  7566. case 0:
  7567. gen__l_(depth +1);
  7568. out('b');
  7569. out('a');
  7570. out('s');
  7571. out('e');
  7572. gen_d(depth +1);
  7573. gen__r_(depth +1);
  7574. break;
  7575.  
  7576. case 1:
  7577. gen__l_(depth +1);
  7578. out('l');
  7579. out('i');
  7580. out('n');
  7581. out('k');
  7582. gen_d(depth +1);
  7583. gen__r_(depth +1);
  7584. break;
  7585.  
  7586. case 2:
  7587. gen__l_(depth +1);
  7588. out('m');
  7589. out('e');
  7590. out('t');
  7591. out('a');
  7592. gen_d(depth +1);
  7593. gen__r_(depth +1);
  7594. break;
  7595.  
  7596. case 3:
  7597. gen_script_tag(depth +1);
  7598. break;
  7599.  
  7600. case 4:
  7601. gen_style_tag(depth +1);
  7602. break;
  7603.  
  7604. case 5:
  7605. gen_title_tag(depth +1);
  7606. break;
  7607.  
  7608. }
  7609. }
  7610.  
  7611.  
  7612. void gen_head_tag(int depth) {
  7613. if (depth > max_depth) {
  7614. int val = map(1);
  7615. const char* str = pool_head_tag[val];
  7616. const int str_l = pool_l_head_tag[val];
  7617. for (int i = 0; i < str_l; i++) {
  7618. out(str[i]);
  7619. }
  7620. return;
  7621. }
  7622.  
  7623. int val = map(1);
  7624. switch(val) {
  7625.  
  7626. case 0:
  7627. gen__l_(depth +1);
  7628. out('h');
  7629. out('e');
  7630. out('a');
  7631. out('d');
  7632. gen_d(depth +1);
  7633. gen__r_(depth +1);
  7634. gen_head_content_1(depth +1);
  7635. gen__cl_(depth +1);
  7636. out('h');
  7637. out('e');
  7638. out('a');
  7639. out('d');
  7640. gen__r_(depth +1);
  7641. break;
  7642.  
  7643. }
  7644. }
  7645.  
  7646.  
  7647. void gen_heading(int depth) {
  7648. if (depth > max_depth) {
  7649. int val = map(6);
  7650. const char* str = pool_heading[val];
  7651. const int str_l = pool_l_heading[val];
  7652. for (int i = 0; i < str_l; i++) {
  7653. out(str[i]);
  7654. }
  7655. return;
  7656. }
  7657.  
  7658. int val = map(6);
  7659. switch(val) {
  7660.  
  7661. case 0:
  7662. gen_h1_tag(depth +1);
  7663. break;
  7664.  
  7665. case 1:
  7666. gen_h2_tag(depth +1);
  7667. break;
  7668.  
  7669. case 2:
  7670. gen_h3_tag(depth +1);
  7671. break;
  7672.  
  7673. case 3:
  7674. gen_h4_tag(depth +1);
  7675. break;
  7676.  
  7677. case 4:
  7678. gen_h5_tag(depth +1);
  7679. break;
  7680.  
  7681. case 5:
  7682. gen_h6_tag(depth +1);
  7683. break;
  7684.  
  7685. }
  7686. }
  7687.  
  7688.  
  7689. void gen_html_content(int depth) {
  7690. if (depth > max_depth) {
  7691. int val = map(2);
  7692. const char* str = pool_html_content[val];
  7693. const int str_l = pool_l_html_content[val];
  7694. for (int i = 0; i < str_l; i++) {
  7695. out(str[i]);
  7696. }
  7697. return;
  7698. }
  7699.  
  7700. int val = map(2);
  7701. switch(val) {
  7702.  
  7703. case 0:
  7704. gen_head_tag(depth +1);
  7705. gen_body_tag(depth +1);
  7706. break;
  7707.  
  7708. case 1:
  7709. gen_head_tag(depth +1);
  7710. gen_frameset_tag(depth +1);
  7711. break;
  7712.  
  7713. }
  7714. }
  7715.  
  7716.  
  7717. void gen_html_document(int depth) {
  7718. if (depth > max_depth) {
  7719. int val = map(2);
  7720. const char* str = pool_html_document[val];
  7721. const int str_l = pool_l_html_document[val];
  7722. for (int i = 0; i < str_l; i++) {
  7723. out(str[i]);
  7724. }
  7725. return;
  7726. }
  7727.  
  7728. int val = map(1);
  7729. switch(val) {
  7730.  
  7731. case 0:
  7732. gen_html_tag(depth +1);
  7733. break;
  7734.  
  7735. }
  7736. }
  7737.  
  7738.  
  7739. void gen_html_tag(int depth) {
  7740. if (depth > max_depth) {
  7741. int val = map(2);
  7742. const char* str = pool_html_tag[val];
  7743. const int str_l = pool_l_html_tag[val];
  7744. for (int i = 0; i < str_l; i++) {
  7745. out(str[i]);
  7746. }
  7747. return;
  7748. }
  7749.  
  7750. int val = map(1);
  7751. switch(val) {
  7752.  
  7753. case 0:
  7754. gen__l_(depth +1);
  7755. out('h');
  7756. out('t');
  7757. out('m');
  7758. out('l');
  7759. gen__r_(depth +1);
  7760. gen_html_content(depth +1);
  7761. gen__cl_(depth +1);
  7762. out('h');
  7763. out('t');
  7764. out('m');
  7765. out('l');
  7766. gen__r_(depth +1);
  7767. break;
  7768.  
  7769. }
  7770. }
  7771.  
  7772.  
  7773. void gen_i_tag(int depth) {
  7774. if (depth > max_depth) {
  7775. int val = map(1);
  7776. const char* str = pool_i_tag[val];
  7777. const int str_l = pool_l_i_tag[val];
  7778. for (int i = 0; i < str_l; i++) {
  7779. out(str[i]);
  7780. }
  7781. return;
  7782. }
  7783.  
  7784. int val = map(1);
  7785. switch(val) {
  7786.  
  7787. case 0:
  7788. gen__l_(depth +1);
  7789. out('i');
  7790. gen_d(depth +1);
  7791. gen__r_(depth +1);
  7792. gen_text(depth +1);
  7793. gen__cl_(depth +1);
  7794. out('i');
  7795. gen__r_(depth +1);
  7796. break;
  7797.  
  7798. }
  7799. }
  7800.  
  7801.  
  7802. void gen_ilayer_tag(int depth) {
  7803. if (depth > max_depth) {
  7804. int val = map(2);
  7805. const char* str = pool_ilayer_tag[val];
  7806. const int str_l = pool_l_ilayer_tag[val];
  7807. for (int i = 0; i < str_l; i++) {
  7808. out(str[i]);
  7809. }
  7810. return;
  7811. }
  7812.  
  7813. int val = map(1);
  7814. switch(val) {
  7815.  
  7816. case 0:
  7817. gen__l_(depth +1);
  7818. out('i');
  7819. out('l');
  7820. out('a');
  7821. out('y');
  7822. out('e');
  7823. out('r');
  7824. gen_d(depth +1);
  7825. gen__r_(depth +1);
  7826. gen_body_content(depth +1);
  7827. gen__cl_(depth +1);
  7828. out('i');
  7829. out('l');
  7830. out('a');
  7831. out('y');
  7832. out('e');
  7833. out('r');
  7834. gen__r_(depth +1);
  7835. break;
  7836.  
  7837. }
  7838. }
  7839.  
  7840.  
  7841. void gen_ins_tag(int depth) {
  7842. if (depth > max_depth) {
  7843. int val = map(1);
  7844. const char* str = pool_ins_tag[val];
  7845. const int str_l = pool_l_ins_tag[val];
  7846. for (int i = 0; i < str_l; i++) {
  7847. out(str[i]);
  7848. }
  7849. return;
  7850. }
  7851.  
  7852. int val = map(1);
  7853. switch(val) {
  7854.  
  7855. case 0:
  7856. gen__l_(depth +1);
  7857. out('i');
  7858. out('n');
  7859. out('s');
  7860. gen_d(depth +1);
  7861. gen__r_(depth +1);
  7862. gen_flow(depth +1);
  7863. gen__cl_(depth +1);
  7864. out('i');
  7865. out('n');
  7866. out('s');
  7867. gen__r_(depth +1);
  7868. break;
  7869.  
  7870. }
  7871. }
  7872.  
  7873.  
  7874. void gen_kbd_tag(int depth) {
  7875. if (depth > max_depth) {
  7876. int val = map(1);
  7877. const char* str = pool_kbd_tag[val];
  7878. const int str_l = pool_l_kbd_tag[val];
  7879. for (int i = 0; i < str_l; i++) {
  7880. out(str[i]);
  7881. }
  7882. return;
  7883. }
  7884.  
  7885. int val = map(1);
  7886. switch(val) {
  7887.  
  7888. case 0:
  7889. gen__l_(depth +1);
  7890. out('k');
  7891. out('b');
  7892. out('d');
  7893. gen_d(depth +1);
  7894. gen__r_(depth +1);
  7895. gen_text(depth +1);
  7896. gen__cl_(depth +1);
  7897. out('k');
  7898. out('b');
  7899. out('d');
  7900. gen__r_(depth +1);
  7901. break;
  7902.  
  7903. }
  7904. }
  7905.  
  7906.  
  7907. void gen_label_content(int depth) {
  7908. if (depth > max_depth) {
  7909. int val = map(1);
  7910. const char* str = pool_label_content[val];
  7911. const int str_l = pool_l_label_content[val];
  7912. for (int i = 0; i < str_l; i++) {
  7913. out(str[i]);
  7914. }
  7915. return;
  7916. }
  7917.  
  7918. int val = map(4);
  7919. switch(val) {
  7920.  
  7921. case 0:
  7922. gen__l_(depth +1);
  7923. out('i');
  7924. out('n');
  7925. out('p');
  7926. out('u');
  7927. out('t');
  7928. gen_d(depth +1);
  7929. gen__r_(depth +1);
  7930. break;
  7931.  
  7932. case 1:
  7933. gen_body_content(depth +1);
  7934. break;
  7935.  
  7936. case 2:
  7937. gen_select_tag(depth +1);
  7938. break;
  7939.  
  7940. case 3:
  7941. gen_textarea_tag(depth +1);
  7942. break;
  7943.  
  7944. }
  7945. }
  7946.  
  7947.  
  7948. void gen_label_tag(int depth) {
  7949. if (depth > max_depth) {
  7950. int val = map(1);
  7951. const char* str = pool_label_tag[val];
  7952. const int str_l = pool_l_label_tag[val];
  7953. for (int i = 0; i < str_l; i++) {
  7954. out(str[i]);
  7955. }
  7956. return;
  7957. }
  7958.  
  7959. int val = map(1);
  7960. switch(val) {
  7961.  
  7962. case 0:
  7963. gen__l_(depth +1);
  7964. out('l');
  7965. out('a');
  7966. out('b');
  7967. out('e');
  7968. out('l');
  7969. gen_d(depth +1);
  7970. gen__r_(depth +1);
  7971. gen_label_content_1(depth +1);
  7972. gen__cl_(depth +1);
  7973. out('l');
  7974. out('a');
  7975. out('b');
  7976. out('e');
  7977. out('l');
  7978. gen__r_(depth +1);
  7979. break;
  7980.  
  7981. }
  7982. }
  7983.  
  7984.  
  7985. void gen_layer_tag(int depth) {
  7986. if (depth > max_depth) {
  7987. int val = map(2);
  7988. const char* str = pool_layer_tag[val];
  7989. const int str_l = pool_l_layer_tag[val];
  7990. for (int i = 0; i < str_l; i++) {
  7991. out(str[i]);
  7992. }
  7993. return;
  7994. }
  7995.  
  7996. int val = map(1);
  7997. switch(val) {
  7998.  
  7999. case 0:
  8000. gen__l_(depth +1);
  8001. out('l');
  8002. out('a');
  8003. out('y');
  8004. out('e');
  8005. out('r');
  8006. gen_d(depth +1);
  8007. gen__r_(depth +1);
  8008. gen_body_content(depth +1);
  8009. gen__cl_(depth +1);
  8010. out('l');
  8011. out('a');
  8012. out('y');
  8013. out('e');
  8014. out('r');
  8015. gen__r_(depth +1);
  8016. break;
  8017.  
  8018. }
  8019. }
  8020.  
  8021.  
  8022. void gen_legend_tag(int depth) {
  8023. if (depth > max_depth) {
  8024. int val = map(1);
  8025. const char* str = pool_legend_tag[val];
  8026. const int str_l = pool_l_legend_tag[val];
  8027. for (int i = 0; i < str_l; i++) {
  8028. out(str[i]);
  8029. }
  8030. return;
  8031. }
  8032.  
  8033. int val = map(1);
  8034. switch(val) {
  8035.  
  8036. case 0:
  8037. gen__l_(depth +1);
  8038. out('l');
  8039. out('e');
  8040. out('g');
  8041. out('e');
  8042. out('n');
  8043. out('d');
  8044. gen_d(depth +1);
  8045. gen__r_(depth +1);
  8046. gen_text(depth +1);
  8047. gen__cl_(depth +1);
  8048. out('l');
  8049. out('e');
  8050. out('g');
  8051. out('e');
  8052. out('n');
  8053. out('d');
  8054. gen__r_(depth +1);
  8055. break;
  8056.  
  8057. }
  8058. }
  8059.  
  8060.  
  8061. void gen_li_tag(int depth) {
  8062. if (depth > max_depth) {
  8063. int val = map(1);
  8064. const char* str = pool_li_tag[val];
  8065. const int str_l = pool_l_li_tag[val];
  8066. for (int i = 0; i < str_l; i++) {
  8067. out(str[i]);
  8068. }
  8069. return;
  8070. }
  8071.  
  8072. int val = map(1);
  8073. switch(val) {
  8074.  
  8075. case 0:
  8076. gen__l_(depth +1);
  8077. out('l');
  8078. out('i');
  8079. gen_d(depth +1);
  8080. gen__r_(depth +1);
  8081. gen_flow(depth +1);
  8082. gen__cl_(depth +1);
  8083. out('l');
  8084. out('i');
  8085. gen__r_(depth +1);
  8086. break;
  8087.  
  8088. }
  8089. }
  8090.  
  8091.  
  8092. void gen_literal_text(int depth) {
  8093. if (depth > max_depth) {
  8094. int val = map(1);
  8095. const char* str = pool_literal_text[val];
  8096. const int str_l = pool_l_literal_text[val];
  8097. for (int i = 0; i < str_l; i++) {
  8098. out(str[i]);
  8099. }
  8100. return;
  8101. }
  8102.  
  8103. int val = map(1);
  8104. switch(val) {
  8105.  
  8106. case 0:
  8107. gen_plain_text(depth +1);
  8108. break;
  8109.  
  8110. }
  8111. }
  8112.  
  8113.  
  8114. void gen_listing_tag(int depth) {
  8115. if (depth > max_depth) {
  8116. int val = map(1);
  8117. const char* str = pool_listing_tag[val];
  8118. const int str_l = pool_l_listing_tag[val];
  8119. for (int i = 0; i < str_l; i++) {
  8120. out(str[i]);
  8121. }
  8122. return;
  8123. }
  8124.  
  8125. int val = map(1);
  8126. switch(val) {
  8127.  
  8128. case 0:
  8129. gen__l_(depth +1);
  8130. out('l');
  8131. out('i');
  8132. out('s');
  8133. out('t');
  8134. out('i');
  8135. out('n');
  8136. out('g');
  8137. gen_d(depth +1);
  8138. gen__r_(depth +1);
  8139. gen_literal_text(depth +1);
  8140. gen__cl_(depth +1);
  8141. out('l');
  8142. out('i');
  8143. out('s');
  8144. out('t');
  8145. out('i');
  8146. out('n');
  8147. out('g');
  8148. gen__r_(depth +1);
  8149. break;
  8150.  
  8151. }
  8152. }
  8153.  
  8154.  
  8155. void gen_map_content(int depth) {
  8156. if (depth > max_depth) {
  8157. int val = map(1);
  8158. const char* str = pool_map_content[val];
  8159. const int str_l = pool_l_map_content[val];
  8160. for (int i = 0; i < str_l; i++) {
  8161. out(str[i]);
  8162. }
  8163. return;
  8164. }
  8165.  
  8166. int val = map(1);
  8167. switch(val) {
  8168.  
  8169. case 0:
  8170. gen_area_1(depth +1);
  8171. break;
  8172.  
  8173. }
  8174. }
  8175.  
  8176.  
  8177. void gen_map_tag(int depth) {
  8178. if (depth > max_depth) {
  8179. int val = map(1);
  8180. const char* str = pool_map_tag[val];
  8181. const int str_l = pool_l_map_tag[val];
  8182. for (int i = 0; i < str_l; i++) {
  8183. out(str[i]);
  8184. }
  8185. return;
  8186. }
  8187.  
  8188. int val = map(1);
  8189. switch(val) {
  8190.  
  8191. case 0:
  8192. gen__l_(depth +1);
  8193. out('m');
  8194. out('a');
  8195. out('p');
  8196. gen_d(depth +1);
  8197. gen__r_(depth +1);
  8198. gen_map_content(depth +1);
  8199. gen__cl_(depth +1);
  8200. out('m');
  8201. out('a');
  8202. out('p');
  8203. gen__r_(depth +1);
  8204. break;
  8205.  
  8206. }
  8207. }
  8208.  
  8209.  
  8210. void gen_marquee_tag(int depth) {
  8211. if (depth > max_depth) {
  8212. int val = map(1);
  8213. const char* str = pool_marquee_tag[val];
  8214. const int str_l = pool_l_marquee_tag[val];
  8215. for (int i = 0; i < str_l; i++) {
  8216. out(str[i]);
  8217. }
  8218. return;
  8219. }
  8220.  
  8221. int val = map(1);
  8222. switch(val) {
  8223.  
  8224. case 0:
  8225. gen__l_(depth +1);
  8226. out('m');
  8227. out('a');
  8228. out('r');
  8229. out('q');
  8230. out('u');
  8231. out('e');
  8232. out('e');
  8233. gen_d(depth +1);
  8234. gen__r_(depth +1);
  8235. gen_style_text(depth +1);
  8236. gen__cl_(depth +1);
  8237. out('m');
  8238. out('a');
  8239. out('r');
  8240. out('q');
  8241. out('u');
  8242. out('e');
  8243. out('e');
  8244. gen__r_(depth +1);
  8245. break;
  8246.  
  8247. }
  8248. }
  8249.  
  8250.  
  8251. void gen_menu_tag(int depth) {
  8252. if (depth > max_depth) {
  8253. int val = map(1);
  8254. const char* str = pool_menu_tag[val];
  8255. const int str_l = pool_l_menu_tag[val];
  8256. for (int i = 0; i < str_l; i++) {
  8257. out(str[i]);
  8258. }
  8259. return;
  8260. }
  8261.  
  8262. int val = map(1);
  8263. switch(val) {
  8264.  
  8265. case 0:
  8266. gen__l_(depth +1);
  8267. out('m');
  8268. out('e');
  8269. out('n');
  8270. out('u');
  8271. gen_d(depth +1);
  8272. gen__r_(depth +1);
  8273. gen_li_tag_2(depth +1);
  8274. gen__cl_(depth +1);
  8275. out('m');
  8276. out('e');
  8277. out('n');
  8278. out('u');
  8279. gen__r_(depth +1);
  8280. break;
  8281.  
  8282. }
  8283. }
  8284.  
  8285.  
  8286. void gen_multicol_tag(int depth) {
  8287. if (depth > max_depth) {
  8288. int val = map(2);
  8289. const char* str = pool_multicol_tag[val];
  8290. const int str_l = pool_l_multicol_tag[val];
  8291. for (int i = 0; i < str_l; i++) {
  8292. out(str[i]);
  8293. }
  8294. return;
  8295. }
  8296.  
  8297. int val = map(1);
  8298. switch(val) {
  8299.  
  8300. case 0:
  8301. gen__l_(depth +1);
  8302. out('m');
  8303. out('u');
  8304. out('l');
  8305. out('t');
  8306. out('i');
  8307. out('c');
  8308. out('o');
  8309. out('l');
  8310. gen_d(depth +1);
  8311. gen__r_(depth +1);
  8312. gen_body_content(depth +1);
  8313. gen__cl_(depth +1);
  8314. out('m');
  8315. out('u');
  8316. out('l');
  8317. out('t');
  8318. out('i');
  8319. out('c');
  8320. out('o');
  8321. out('l');
  8322. gen__r_(depth +1);
  8323. break;
  8324.  
  8325. }
  8326. }
  8327.  
  8328.  
  8329. void gen_nobr_tag(int depth) {
  8330. if (depth > max_depth) {
  8331. int val = map(1);
  8332. const char* str = pool_nobr_tag[val];
  8333. const int str_l = pool_l_nobr_tag[val];
  8334. for (int i = 0; i < str_l; i++) {
  8335. out(str[i]);
  8336. }
  8337. return;
  8338. }
  8339.  
  8340. int val = map(1);
  8341. switch(val) {
  8342.  
  8343. case 0:
  8344. gen__l_(depth +1);
  8345. out('n');
  8346. out('o');
  8347. out('b');
  8348. out('r');
  8349. gen_d(depth +1);
  8350. gen__r_(depth +1);
  8351. gen_text(depth +1);
  8352. gen__cl_(depth +1);
  8353. out('n');
  8354. out('o');
  8355. out('b');
  8356. out('r');
  8357. gen__r_(depth +1);
  8358. break;
  8359.  
  8360. }
  8361. }
  8362.  
  8363.  
  8364. void gen_noembed_tag(int depth) {
  8365. if (depth > max_depth) {
  8366. int val = map(1);
  8367. const char* str = pool_noembed_tag[val];
  8368. const int str_l = pool_l_noembed_tag[val];
  8369. for (int i = 0; i < str_l; i++) {
  8370. out(str[i]);
  8371. }
  8372. return;
  8373. }
  8374.  
  8375. int val = map(1);
  8376. switch(val) {
  8377.  
  8378. case 0:
  8379. gen__l_(depth +1);
  8380. out('n');
  8381. out('o');
  8382. out('e');
  8383. out('m');
  8384. out('b');
  8385. out('e');
  8386. out('d');
  8387. gen_d(depth +1);
  8388. gen__r_(depth +1);
  8389. gen_text(depth +1);
  8390. gen__cl_(depth +1);
  8391. out('n');
  8392. out('o');
  8393. out('e');
  8394. out('m');
  8395. out('b');
  8396. out('e');
  8397. out('d');
  8398. gen__r_(depth +1);
  8399. break;
  8400.  
  8401. }
  8402. }
  8403.  
  8404.  
  8405. void gen_noframes_tag(int depth) {
  8406. if (depth > max_depth) {
  8407. int val = map(1);
  8408. const char* str = pool_noframes_tag[val];
  8409. const int str_l = pool_l_noframes_tag[val];
  8410. for (int i = 0; i < str_l; i++) {
  8411. out(str[i]);
  8412. }
  8413. return;
  8414. }
  8415.  
  8416. int val = map(1);
  8417. switch(val) {
  8418.  
  8419. case 0:
  8420. gen__l_(depth +1);
  8421. out('n');
  8422. out('o');
  8423. out('f');
  8424. out('r');
  8425. out('a');
  8426. out('m');
  8427. out('e');
  8428. out('s');
  8429. gen_d(depth +1);
  8430. gen__r_(depth +1);
  8431. gen_body_content_4(depth +1);
  8432. gen__cl_(depth +1);
  8433. out('n');
  8434. out('o');
  8435. out('f');
  8436. out('r');
  8437. out('a');
  8438. out('m');
  8439. out('e');
  8440. out('s');
  8441. gen__r_(depth +1);
  8442. break;
  8443.  
  8444. }
  8445. }
  8446.  
  8447.  
  8448. void gen_noscript_tag(int depth) {
  8449. if (depth > max_depth) {
  8450. int val = map(1);
  8451. const char* str = pool_noscript_tag[val];
  8452. const int str_l = pool_l_noscript_tag[val];
  8453. for (int i = 0; i < str_l; i++) {
  8454. out(str[i]);
  8455. }
  8456. return;
  8457. }
  8458.  
  8459. int val = map(1);
  8460. switch(val) {
  8461.  
  8462. case 0:
  8463. gen__l_(depth +1);
  8464. out('n');
  8465. out('o');
  8466. out('s');
  8467. out('c');
  8468. out('r');
  8469. out('i');
  8470. out('p');
  8471. out('t');
  8472. gen_d(depth +1);
  8473. gen__r_(depth +1);
  8474. gen_text(depth +1);
  8475. gen__cl_(depth +1);
  8476. out('n');
  8477. out('o');
  8478. out('s');
  8479. out('c');
  8480. out('r');
  8481. out('i');
  8482. out('p');
  8483. out('t');
  8484. gen__r_(depth +1);
  8485. break;
  8486.  
  8487. }
  8488. }
  8489.  
  8490.  
  8491. void gen_object_content(int depth) {
  8492. if (depth > max_depth) {
  8493. int val = map(2);
  8494. const char* str = pool_object_content[val];
  8495. const int str_l = pool_l_object_content[val];
  8496. for (int i = 0; i < str_l; i++) {
  8497. out(str[i]);
  8498. }
  8499. return;
  8500. }
  8501.  
  8502. int val = map(1);
  8503. switch(val) {
  8504.  
  8505. case 0:
  8506. gen_param_2(depth +1);
  8507. gen_body_content(depth +1);
  8508. break;
  8509.  
  8510. }
  8511. }
  8512.  
  8513.  
  8514. void gen_object_tag(int depth) {
  8515. if (depth > max_depth) {
  8516. int val = map(2);
  8517. const char* str = pool_object_tag[val];
  8518. const int str_l = pool_l_object_tag[val];
  8519. for (int i = 0; i < str_l; i++) {
  8520. out(str[i]);
  8521. }
  8522. return;
  8523. }
  8524.  
  8525. int val = map(1);
  8526. switch(val) {
  8527.  
  8528. case 0:
  8529. gen__l_(depth +1);
  8530. out('o');
  8531. out('b');
  8532. out('j');
  8533. out('e');
  8534. out('c');
  8535. out('t');
  8536. gen_d(depth +1);
  8537. gen__r_(depth +1);
  8538. gen_object_content(depth +1);
  8539. gen__cl_(depth +1);
  8540. out('o');
  8541. out('b');
  8542. out('j');
  8543. out('e');
  8544. out('c');
  8545. out('t');
  8546. gen__r_(depth +1);
  8547. break;
  8548.  
  8549. }
  8550. }
  8551.  
  8552.  
  8553. void gen_ol_tag(int depth) {
  8554. if (depth > max_depth) {
  8555. int val = map(1);
  8556. const char* str = pool_ol_tag[val];
  8557. const int str_l = pool_l_ol_tag[val];
  8558. for (int i = 0; i < str_l; i++) {
  8559. out(str[i]);
  8560. }
  8561. return;
  8562. }
  8563.  
  8564. int val = map(1);
  8565. switch(val) {
  8566.  
  8567. case 0:
  8568. gen__l_(depth +1);
  8569. out('o');
  8570. out('l');
  8571. gen_d(depth +1);
  8572. gen__r_(depth +1);
  8573. gen_li_tag_3(depth +1);
  8574. gen__cl_(depth +1);
  8575. out('o');
  8576. out('l');
  8577. gen__r_(depth +1);
  8578. break;
  8579.  
  8580. }
  8581. }
  8582.  
  8583.  
  8584. void gen_optgroup_tag(int depth) {
  8585. if (depth > max_depth) {
  8586. int val = map(1);
  8587. const char* str = pool_optgroup_tag[val];
  8588. const int str_l = pool_l_optgroup_tag[val];
  8589. for (int i = 0; i < str_l; i++) {
  8590. out(str[i]);
  8591. }
  8592. return;
  8593. }
  8594.  
  8595. int val = map(1);
  8596. switch(val) {
  8597.  
  8598. case 0:
  8599. gen__l_(depth +1);
  8600. out('o');
  8601. out('p');
  8602. out('t');
  8603. out('g');
  8604. out('r');
  8605. out('o');
  8606. out('u');
  8607. out('p');
  8608. gen_d(depth +1);
  8609. gen__r_(depth +1);
  8610. gen_option_tag_1(depth +1);
  8611. gen__cl_(depth +1);
  8612. out('o');
  8613. out('p');
  8614. out('t');
  8615. out('g');
  8616. out('r');
  8617. out('o');
  8618. out('u');
  8619. out('p');
  8620. gen__r_(depth +1);
  8621. break;
  8622.  
  8623. }
  8624. }
  8625.  
  8626.  
  8627. void gen_option_tag(int depth) {
  8628. if (depth > max_depth) {
  8629. int val = map(1);
  8630. const char* str = pool_option_tag[val];
  8631. const int str_l = pool_l_option_tag[val];
  8632. for (int i = 0; i < str_l; i++) {
  8633. out(str[i]);
  8634. }
  8635. return;
  8636. }
  8637.  
  8638. int val = map(1);
  8639. switch(val) {
  8640.  
  8641. case 0:
  8642. gen__l_(depth +1);
  8643. out('o');
  8644. out('p');
  8645. out('t');
  8646. out('i');
  8647. out('o');
  8648. out('n');
  8649. gen_d(depth +1);
  8650. gen__r_(depth +1);
  8651. gen_plain_text_1(depth +1);
  8652. gen__cl_(depth +1);
  8653. out('o');
  8654. out('p');
  8655. out('t');
  8656. out('i');
  8657. out('o');
  8658. out('n');
  8659. gen__r_(depth +1);
  8660. break;
  8661.  
  8662. }
  8663. }
  8664.  
  8665.  
  8666. void gen_p_tag(int depth) {
  8667. if (depth > max_depth) {
  8668. int val = map(1);
  8669. const char* str = pool_p_tag[val];
  8670. const int str_l = pool_l_p_tag[val];
  8671. for (int i = 0; i < str_l; i++) {
  8672. out(str[i]);
  8673. }
  8674. return;
  8675. }
  8676.  
  8677. int val = map(1);
  8678. switch(val) {
  8679.  
  8680. case 0:
  8681. gen__l_(depth +1);
  8682. out('p');
  8683. gen__r_(depth +1);
  8684. gen_text(depth +1);
  8685. gen__cl_(depth +1);
  8686. out('p');
  8687. gen__r_(depth +1);
  8688. break;
  8689.  
  8690. }
  8691. }
  8692.  
  8693.  
  8694. void gen_param(int depth) {
  8695. if (depth > max_depth) {
  8696. int val = map(1);
  8697. const char* str = pool_param[val];
  8698. const int str_l = pool_l_param[val];
  8699. for (int i = 0; i < str_l; i++) {
  8700. out(str[i]);
  8701. }
  8702. return;
  8703. }
  8704.  
  8705. int val = map(1);
  8706. switch(val) {
  8707.  
  8708. case 0:
  8709. gen__l_(depth +1);
  8710. out('p');
  8711. out('a');
  8712. out('r');
  8713. out('a');
  8714. out('m');
  8715. gen__r_(depth +1);
  8716. break;
  8717.  
  8718. }
  8719. }
  8720.  
  8721.  
  8722. void gen_plain_text(int depth) {
  8723. if (depth > max_depth) {
  8724. int val = map(1);
  8725. const char* str = pool_plain_text[val];
  8726. const int str_l = pool_l_plain_text[val];
  8727. for (int i = 0; i < str_l; i++) {
  8728. out(str[i]);
  8729. }
  8730. return;
  8731. }
  8732.  
  8733. int val = map(1);
  8734. switch(val) {
  8735.  
  8736. case 0:
  8737. gen_entity_1(depth +1);
  8738. break;
  8739.  
  8740. }
  8741. }
  8742.  
  8743.  
  8744. void gen_entity(int depth) {
  8745. if (depth > max_depth) {
  8746. int val = map(99);
  8747. const char* str = pool_entity[val];
  8748. const int str_l = pool_l_entity[val];
  8749. for (int i = 0; i < str_l; i++) {
  8750. out(str[i]);
  8751. }
  8752. return;
  8753. }
  8754.  
  8755. int val = map(2);
  8756. switch(val) {
  8757.  
  8758. case 0:
  8759. gen_ampersand(depth +1);
  8760. break;
  8761.  
  8762. case 1:
  8763. gen_char(depth +1);
  8764. break;
  8765.  
  8766. }
  8767. }
  8768.  
  8769.  
  8770. void gen_char(int depth) {
  8771. if (depth > max_depth) {
  8772. int val = map(98);
  8773. const char* str = pool_char[val];
  8774. const int str_l = pool_l_char[val];
  8775. for (int i = 0; i < str_l; i++) {
  8776. out(str[i]);
  8777. }
  8778. return;
  8779. }
  8780.  
  8781. int val = map(98);
  8782. switch(val) {
  8783.  
  8784. case 0:
  8785. out('\t');
  8786. break;
  8787.  
  8788. case 1:
  8789. out('\n');
  8790. break;
  8791.  
  8792. case 2:
  8793. out(' ');
  8794. break;
  8795.  
  8796. case 3:
  8797. out('\r');
  8798. break;
  8799.  
  8800. case 4:
  8801. out(' ');
  8802. break;
  8803.  
  8804. case 5:
  8805. out('!');
  8806. break;
  8807.  
  8808. case 6:
  8809. out('"');
  8810. break;
  8811.  
  8812. case 7:
  8813. out('#');
  8814. break;
  8815.  
  8816. case 8:
  8817. out('$');
  8818. break;
  8819.  
  8820. case 9:
  8821. out('%');
  8822. break;
  8823.  
  8824. case 10:
  8825. out('\'');
  8826. break;
  8827.  
  8828. case 11:
  8829. out('(');
  8830. break;
  8831.  
  8832. case 12:
  8833. out(')');
  8834. break;
  8835.  
  8836. case 13:
  8837. out('*');
  8838. break;
  8839.  
  8840. case 14:
  8841. out('+');
  8842. break;
  8843.  
  8844. case 15:
  8845. out(',');
  8846. break;
  8847.  
  8848. case 16:
  8849. out('-');
  8850. break;
  8851.  
  8852. case 17:
  8853. out('.');
  8854. break;
  8855.  
  8856. case 18:
  8857. out('/');
  8858. break;
  8859.  
  8860. case 19:
  8861. out('0');
  8862. break;
  8863.  
  8864. case 20:
  8865. out('1');
  8866. break;
  8867.  
  8868. case 21:
  8869. out('2');
  8870. break;
  8871.  
  8872. case 22:
  8873. out('3');
  8874. break;
  8875.  
  8876. case 23:
  8877. out('4');
  8878. break;
  8879.  
  8880. case 24:
  8881. out('5');
  8882. break;
  8883.  
  8884. case 25:
  8885. out('6');
  8886. break;
  8887.  
  8888. case 26:
  8889. out('7');
  8890. break;
  8891.  
  8892. case 27:
  8893. out('8');
  8894. break;
  8895.  
  8896. case 28:
  8897. out('9');
  8898. break;
  8899.  
  8900. case 29:
  8901. out(':');
  8902. break;
  8903.  
  8904. case 30:
  8905. out(';');
  8906. break;
  8907.  
  8908. case 31:
  8909. out('<');
  8910. break;
  8911.  
  8912. case 32:
  8913. out('=');
  8914. break;
  8915.  
  8916. case 33:
  8917. out('>');
  8918. break;
  8919.  
  8920. case 34:
  8921. out('?');
  8922. break;
  8923.  
  8924. case 35:
  8925. out('@');
  8926. break;
  8927.  
  8928. case 36:
  8929. out('A');
  8930. break;
  8931.  
  8932. case 37:
  8933. out('B');
  8934. break;
  8935.  
  8936. case 38:
  8937. out('C');
  8938. break;
  8939.  
  8940. case 39:
  8941. out('D');
  8942. break;
  8943.  
  8944. case 40:
  8945. out('E');
  8946. break;
  8947.  
  8948. case 41:
  8949. out('F');
  8950. break;
  8951.  
  8952. case 42:
  8953. out('G');
  8954. break;
  8955.  
  8956. case 43:
  8957. out('H');
  8958. break;
  8959.  
  8960. case 44:
  8961. out('I');
  8962. break;
  8963.  
  8964. case 45:
  8965. out('J');
  8966. break;
  8967.  
  8968. case 46:
  8969. out('K');
  8970. break;
  8971.  
  8972. case 47:
  8973. out('L');
  8974. break;
  8975.  
  8976. case 48:
  8977. out('M');
  8978. break;
  8979.  
  8980. case 49:
  8981. out('N');
  8982. break;
  8983.  
  8984. case 50:
  8985. out('O');
  8986. break;
  8987.  
  8988. case 51:
  8989. out('P');
  8990. break;
  8991.  
  8992. case 52:
  8993. out('Q');
  8994. break;
  8995.  
  8996. case 53:
  8997. out('R');
  8998. break;
  8999.  
  9000. case 54:
  9001. out('S');
  9002. break;
  9003.  
  9004. case 55:
  9005. out('T');
  9006. break;
  9007.  
  9008. case 56:
  9009. out('U');
  9010. break;
  9011.  
  9012. case 57:
  9013. out('V');
  9014. break;
  9015.  
  9016. case 58:
  9017. out('W');
  9018. break;
  9019.  
  9020. case 59:
  9021. out('X');
  9022. break;
  9023.  
  9024. case 60:
  9025. out('Y');
  9026. break;
  9027.  
  9028. case 61:
  9029. out('Z');
  9030. break;
  9031.  
  9032. case 62:
  9033. out('[');
  9034. break;
  9035.  
  9036. case 63:
  9037. out('\\');
  9038. break;
  9039.  
  9040. case 64:
  9041. out(']');
  9042. break;
  9043.  
  9044. case 65:
  9045. out('^');
  9046. break;
  9047.  
  9048. case 66:
  9049. out('_');
  9050. break;
  9051.  
  9052. case 67:
  9053. out('`');
  9054. break;
  9055.  
  9056. case 68:
  9057. out('a');
  9058. break;
  9059.  
  9060. case 69:
  9061. out('b');
  9062. break;
  9063.  
  9064. case 70:
  9065. out('c');
  9066. break;
  9067.  
  9068. case 71:
  9069. out('d');
  9070. break;
  9071.  
  9072. case 72:
  9073. out('e');
  9074. break;
  9075.  
  9076. case 73:
  9077. out('f');
  9078. break;
  9079.  
  9080. case 74:
  9081. out('g');
  9082. break;
  9083.  
  9084. case 75:
  9085. out('h');
  9086. break;
  9087.  
  9088. case 76:
  9089. out('i');
  9090. break;
  9091.  
  9092. case 77:
  9093. out('j');
  9094. break;
  9095.  
  9096. case 78:
  9097. out('k');
  9098. break;
  9099.  
  9100. case 79:
  9101. out('l');
  9102. break;
  9103.  
  9104. case 80:
  9105. out('m');
  9106. break;
  9107.  
  9108. case 81:
  9109. out('n');
  9110. break;
  9111.  
  9112. case 82:
  9113. out('o');
  9114. break;
  9115.  
  9116. case 83:
  9117. out('p');
  9118. break;
  9119.  
  9120. case 84:
  9121. out('q');
  9122. break;
  9123.  
  9124. case 85:
  9125. out('r');
  9126. break;
  9127.  
  9128. case 86:
  9129. out('s');
  9130. break;
  9131.  
  9132. case 87:
  9133. out('t');
  9134. break;
  9135.  
  9136. case 88:
  9137. out('u');
  9138. break;
  9139.  
  9140. case 89:
  9141. out('v');
  9142. break;
  9143.  
  9144. case 90:
  9145. out('w');
  9146. break;
  9147.  
  9148. case 91:
  9149. out('x');
  9150. break;
  9151.  
  9152. case 92:
  9153. out('y');
  9154. break;
  9155.  
  9156. case 93:
  9157. out('z');
  9158. break;
  9159.  
  9160. case 94:
  9161. out('{');
  9162. break;
  9163.  
  9164. case 95:
  9165. out('|');
  9166. break;
  9167.  
  9168. case 96:
  9169. out('}');
  9170. break;
  9171.  
  9172. case 97:
  9173. out('~');
  9174. break;
  9175.  
  9176. }
  9177. }
  9178.  
  9179.  
  9180. void gen_ampersand(int depth) {
  9181. if (depth > max_depth) {
  9182. int val = map(1);
  9183. const char* str = pool_ampersand[val];
  9184. const int str_l = pool_l_ampersand[val];
  9185. for (int i = 0; i < str_l; i++) {
  9186. out(str[i]);
  9187. }
  9188. return;
  9189. }
  9190.  
  9191. int val = map(1);
  9192. switch(val) {
  9193.  
  9194. case 0:
  9195. out('&');
  9196. out('n');
  9197. out('b');
  9198. out('s');
  9199. out('p');
  9200. out(';');
  9201. break;
  9202.  
  9203. }
  9204. }
  9205.  
  9206.  
  9207. void gen_physical_style(int depth) {
  9208. if (depth > max_depth) {
  9209. int val = map(1);
  9210. const char* str = pool_physical_style[val];
  9211. const int str_l = pool_l_physical_style[val];
  9212. for (int i = 0; i < str_l; i++) {
  9213. out(str[i]);
  9214. }
  9215. return;
  9216. }
  9217.  
  9218. int val = map(14);
  9219. switch(val) {
  9220.  
  9221. case 0:
  9222. gen_font_tag(depth +1);
  9223. break;
  9224.  
  9225. case 1:
  9226. gen_b_tag(depth +1);
  9227. break;
  9228.  
  9229. case 2:
  9230. gen_bdo_tag(depth +1);
  9231. break;
  9232.  
  9233. case 3:
  9234. gen_big_tag(depth +1);
  9235. break;
  9236.  
  9237. case 4:
  9238. gen_blink_tag(depth +1);
  9239. break;
  9240.  
  9241. case 5:
  9242. gen_i_tag(depth +1);
  9243. break;
  9244.  
  9245. case 6:
  9246. gen_s_tag(depth +1);
  9247. break;
  9248.  
  9249. case 7:
  9250. gen_small_tag(depth +1);
  9251. break;
  9252.  
  9253. case 8:
  9254. gen_span_tag(depth +1);
  9255. break;
  9256.  
  9257. case 9:
  9258. gen_strike_tag(depth +1);
  9259. break;
  9260.  
  9261. case 10:
  9262. gen_sub_tag(depth +1);
  9263. break;
  9264.  
  9265. case 11:
  9266. gen_sup_tag(depth +1);
  9267. break;
  9268.  
  9269. case 12:
  9270. gen_tt_tag(depth +1);
  9271. break;
  9272.  
  9273. case 13:
  9274. gen_u_tag(depth +1);
  9275. break;
  9276.  
  9277. }
  9278. }
  9279.  
  9280.  
  9281. void gen_pre_content(int depth) {
  9282. if (depth > max_depth) {
  9283. int val = map(2);
  9284. const char* str = pool_pre_content[val];
  9285. const int str_l = pool_l_pre_content[val];
  9286. for (int i = 0; i < str_l; i++) {
  9287. out(str[i]);
  9288. }
  9289. return;
  9290. }
  9291.  
  9292. int val = map(4);
  9293. switch(val) {
  9294.  
  9295. case 0:
  9296. gen__l_(depth +1);
  9297. out('b');
  9298. out('r');
  9299. gen__r_(depth +1);
  9300. break;
  9301.  
  9302. case 1:
  9303. gen__l_(depth +1);
  9304. out('h');
  9305. out('r');
  9306. gen__r_(depth +1);
  9307. break;
  9308.  
  9309. case 2:
  9310. gen_a_tag(depth +1);
  9311. break;
  9312.  
  9313. case 3:
  9314. gen_style_text(depth +1);
  9315. break;
  9316.  
  9317. }
  9318. }
  9319.  
  9320.  
  9321. void gen_pre_tag(int depth) {
  9322. if (depth > max_depth) {
  9323. int val = map(1);
  9324. const char* str = pool_pre_tag[val];
  9325. const int str_l = pool_l_pre_tag[val];
  9326. for (int i = 0; i < str_l; i++) {
  9327. out(str[i]);
  9328. }
  9329. return;
  9330. }
  9331.  
  9332. int val = map(1);
  9333. switch(val) {
  9334.  
  9335. case 0:
  9336. gen__l_(depth +1);
  9337. out('p');
  9338. out('r');
  9339. out('e');
  9340. gen__r_(depth +1);
  9341. gen_pre_content_1(depth +1);
  9342. gen__cl_(depth +1);
  9343. out('p');
  9344. out('r');
  9345. out('e');
  9346. gen__r_(depth +1);
  9347. break;
  9348.  
  9349. }
  9350. }
  9351.  
  9352.  
  9353. void gen_q_tag(int depth) {
  9354. if (depth > max_depth) {
  9355. int val = map(1);
  9356. const char* str = pool_q_tag[val];
  9357. const int str_l = pool_l_q_tag[val];
  9358. for (int i = 0; i < str_l; i++) {
  9359. out(str[i]);
  9360. }
  9361. return;
  9362. }
  9363.  
  9364. int val = map(1);
  9365. switch(val) {
  9366.  
  9367. case 0:
  9368. gen__l_(depth +1);
  9369. out('q');
  9370. gen__r_(depth +1);
  9371. gen_text(depth +1);
  9372. gen__cl_(depth +1);
  9373. out('q');
  9374. gen__r_(depth +1);
  9375. break;
  9376.  
  9377. }
  9378. }
  9379.  
  9380.  
  9381. void gen_s_tag(int depth) {
  9382. if (depth > max_depth) {
  9383. int val = map(1);
  9384. const char* str = pool_s_tag[val];
  9385. const int str_l = pool_l_s_tag[val];
  9386. for (int i = 0; i < str_l; i++) {
  9387. out(str[i]);
  9388. }
  9389. return;
  9390. }
  9391.  
  9392. int val = map(1);
  9393. switch(val) {
  9394.  
  9395. case 0:
  9396. gen__l_(depth +1);
  9397. out('s');
  9398. gen__r_(depth +1);
  9399. gen_text(depth +1);
  9400. gen__cl_(depth +1);
  9401. out('s');
  9402. gen__r_(depth +1);
  9403. break;
  9404.  
  9405. }
  9406. }
  9407.  
  9408.  
  9409. void gen_script_tag(int depth) {
  9410. if (depth > max_depth) {
  9411. int val = map(1);
  9412. const char* str = pool_script_tag[val];
  9413. const int str_l = pool_l_script_tag[val];
  9414. for (int i = 0; i < str_l; i++) {
  9415. out(str[i]);
  9416. }
  9417. return;
  9418. }
  9419.  
  9420. int val = map(1);
  9421. switch(val) {
  9422.  
  9423. case 0:
  9424. gen__l_(depth +1);
  9425. out('s');
  9426. out('c');
  9427. out('r');
  9428. out('i');
  9429. out('p');
  9430. out('t');
  9431. gen_d(depth +1);
  9432. gen__r_(depth +1);
  9433. gen_plain_text(depth +1);
  9434. gen__cl_(depth +1);
  9435. out('s');
  9436. out('c');
  9437. out('r');
  9438. out('i');
  9439. out('p');
  9440. out('t');
  9441. gen__r_(depth +1);
  9442. break;
  9443.  
  9444. }
  9445. }
  9446.  
  9447.  
  9448. void gen_select_content(int depth) {
  9449. if (depth > max_depth) {
  9450. int val = map(1);
  9451. const char* str = pool_select_content[val];
  9452. const int str_l = pool_l_select_content[val];
  9453. for (int i = 0; i < str_l; i++) {
  9454. out(str[i]);
  9455. }
  9456. return;
  9457. }
  9458.  
  9459. int val = map(2);
  9460. switch(val) {
  9461.  
  9462. case 0:
  9463. gen_optgroup_tag(depth +1);
  9464. break;
  9465.  
  9466. case 1:
  9467. gen_option_tag(depth +1);
  9468. break;
  9469.  
  9470. }
  9471. }
  9472.  
  9473.  
  9474. void gen_select_tag(int depth) {
  9475. if (depth > max_depth) {
  9476. int val = map(1);
  9477. const char* str = pool_select_tag[val];
  9478. const int str_l = pool_l_select_tag[val];
  9479. for (int i = 0; i < str_l; i++) {
  9480. out(str[i]);
  9481. }
  9482. return;
  9483. }
  9484.  
  9485. int val = map(1);
  9486. switch(val) {
  9487.  
  9488. case 0:
  9489. gen__l_(depth +1);
  9490. out('s');
  9491. out('e');
  9492. out('l');
  9493. out('e');
  9494. out('c');
  9495. out('t');
  9496. gen_d(depth +1);
  9497. gen__r_(depth +1);
  9498. gen_select_content_1(depth +1);
  9499. gen__cl_(depth +1);
  9500. out('s');
  9501. out('e');
  9502. out('l');
  9503. out('e');
  9504. out('c');
  9505. out('t');
  9506. gen__r_(depth +1);
  9507. break;
  9508.  
  9509. }
  9510. }
  9511.  
  9512.  
  9513. void gen_small_tag(int depth) {
  9514. if (depth > max_depth) {
  9515. int val = map(1);
  9516. const char* str = pool_small_tag[val];
  9517. const int str_l = pool_l_small_tag[val];
  9518. for (int i = 0; i < str_l; i++) {
  9519. out(str[i]);
  9520. }
  9521. return;
  9522. }
  9523.  
  9524. int val = map(1);
  9525. switch(val) {
  9526.  
  9527. case 0:
  9528. gen__l_(depth +1);
  9529. out('s');
  9530. out('m');
  9531. out('a');
  9532. out('l');
  9533. out('l');
  9534. gen_d(depth +1);
  9535. gen__r_(depth +1);
  9536. gen_text(depth +1);
  9537. gen__cl_(depth +1);
  9538. out('s');
  9539. out('m');
  9540. out('a');
  9541. out('l');
  9542. out('l');
  9543. gen__r_(depth +1);
  9544. break;
  9545.  
  9546. }
  9547. }
  9548.  
  9549.  
  9550. void gen_span_tag(int depth) {
  9551. if (depth > max_depth) {
  9552. int val = map(1);
  9553. const char* str = pool_span_tag[val];
  9554. const int str_l = pool_l_span_tag[val];
  9555. for (int i = 0; i < str_l; i++) {
  9556. out(str[i]);
  9557. }
  9558. return;
  9559. }
  9560.  
  9561. int val = map(1);
  9562. switch(val) {
  9563.  
  9564. case 0:
  9565. gen__l_(depth +1);
  9566. out('s');
  9567. out('p');
  9568. out('a');
  9569. out('n');
  9570. gen_d(depth +1);
  9571. gen__r_(depth +1);
  9572. gen_text(depth +1);
  9573. gen__cl_(depth +1);
  9574. out('s');
  9575. out('p');
  9576. out('a');
  9577. out('n');
  9578. gen__r_(depth +1);
  9579. break;
  9580.  
  9581. }
  9582. }
  9583.  
  9584.  
  9585. void gen_strike_tag(int depth) {
  9586. if (depth > max_depth) {
  9587. int val = map(1);
  9588. const char* str = pool_strike_tag[val];
  9589. const int str_l = pool_l_strike_tag[val];
  9590. for (int i = 0; i < str_l; i++) {
  9591. out(str[i]);
  9592. }
  9593. return;
  9594. }
  9595.  
  9596. int val = map(1);
  9597. switch(val) {
  9598.  
  9599. case 0:
  9600. gen__l_(depth +1);
  9601. out('s');
  9602. out('t');
  9603. out('r');
  9604. out('i');
  9605. out('k');
  9606. out('e');
  9607. gen_d(depth +1);
  9608. gen__r_(depth +1);
  9609. gen_text(depth +1);
  9610. gen__cl_(depth +1);
  9611. out('s');
  9612. out('t');
  9613. out('r');
  9614. out('i');
  9615. out('k');
  9616. out('e');
  9617. gen__r_(depth +1);
  9618. break;
  9619.  
  9620. }
  9621. }
  9622.  
  9623.  
  9624. void gen_strong_tag(int depth) {
  9625. if (depth > max_depth) {
  9626. int val = map(1);
  9627. const char* str = pool_strong_tag[val];
  9628. const int str_l = pool_l_strong_tag[val];
  9629. for (int i = 0; i < str_l; i++) {
  9630. out(str[i]);
  9631. }
  9632. return;
  9633. }
  9634.  
  9635. int val = map(1);
  9636. switch(val) {
  9637.  
  9638. case 0:
  9639. gen__l_(depth +1);
  9640. out('s');
  9641. out('t');
  9642. out('r');
  9643. out('o');
  9644. out('n');
  9645. out('g');
  9646. gen_d(depth +1);
  9647. gen__r_(depth +1);
  9648. gen_text(depth +1);
  9649. gen__cl_(depth +1);
  9650. out('s');
  9651. out('t');
  9652. out('r');
  9653. out('o');
  9654. out('n');
  9655. out('g');
  9656. gen__r_(depth +1);
  9657. break;
  9658.  
  9659. }
  9660. }
  9661.  
  9662.  
  9663. void gen_style_tag(int depth) {
  9664. if (depth > max_depth) {
  9665. int val = map(1);
  9666. const char* str = pool_style_tag[val];
  9667. const int str_l = pool_l_style_tag[val];
  9668. for (int i = 0; i < str_l; i++) {
  9669. out(str[i]);
  9670. }
  9671. return;
  9672. }
  9673.  
  9674. int val = map(1);
  9675. switch(val) {
  9676.  
  9677. case 0:
  9678. gen__l_(depth +1);
  9679. out('s');
  9680. out('t');
  9681. out('y');
  9682. out('l');
  9683. out('e');
  9684. gen_d(depth +1);
  9685. gen__r_(depth +1);
  9686. gen_plain_text(depth +1);
  9687. gen__cl_(depth +1);
  9688. out('s');
  9689. out('t');
  9690. out('y');
  9691. out('l');
  9692. out('e');
  9693. gen__r_(depth +1);
  9694. break;
  9695.  
  9696. }
  9697. }
  9698.  
  9699.  
  9700. void gen_style_text(int depth) {
  9701. if (depth > max_depth) {
  9702. int val = map(1);
  9703. const char* str = pool_style_text[val];
  9704. const int str_l = pool_l_style_text[val];
  9705. for (int i = 0; i < str_l; i++) {
  9706. out(str[i]);
  9707. }
  9708. return;
  9709. }
  9710.  
  9711. int val = map(1);
  9712. switch(val) {
  9713.  
  9714. case 0:
  9715. gen_plain_text(depth +1);
  9716. break;
  9717.  
  9718. }
  9719. }
  9720.  
  9721.  
  9722. void gen_sub_tag(int depth) {
  9723. if (depth > max_depth) {
  9724. int val = map(1);
  9725. const char* str = pool_sub_tag[val];
  9726. const int str_l = pool_l_sub_tag[val];
  9727. for (int i = 0; i < str_l; i++) {
  9728. out(str[i]);
  9729. }
  9730. return;
  9731. }
  9732.  
  9733. int val = map(1);
  9734. switch(val) {
  9735.  
  9736. case 0:
  9737. gen__l_(depth +1);
  9738. out('s');
  9739. out('u');
  9740. out('b');
  9741. gen_d(depth +1);
  9742. gen__r_(depth +1);
  9743. gen_text(depth +1);
  9744. gen__cl_(depth +1);
  9745. out('s');
  9746. out('u');
  9747. out('b');
  9748. gen__r_(depth +1);
  9749. break;
  9750.  
  9751. }
  9752. }
  9753.  
  9754.  
  9755. void gen_sup_tag(int depth) {
  9756. if (depth > max_depth) {
  9757. int val = map(1);
  9758. const char* str = pool_sup_tag[val];
  9759. const int str_l = pool_l_sup_tag[val];
  9760. for (int i = 0; i < str_l; i++) {
  9761. out(str[i]);
  9762. }
  9763. return;
  9764. }
  9765.  
  9766. int val = map(1);
  9767. switch(val) {
  9768.  
  9769. case 0:
  9770. gen__l_(depth +1);
  9771. out('s');
  9772. out('u');
  9773. out('p');
  9774. gen_d(depth +1);
  9775. gen__r_(depth +1);
  9776. gen_text(depth +1);
  9777. gen__cl_(depth +1);
  9778. out('s');
  9779. out('u');
  9780. out('p');
  9781. gen__r_(depth +1);
  9782. break;
  9783.  
  9784. }
  9785. }
  9786.  
  9787.  
  9788. void gen_table_cell(int depth) {
  9789. if (depth > max_depth) {
  9790. int val = map(4);
  9791. const char* str = pool_table_cell[val];
  9792. const int str_l = pool_l_table_cell[val];
  9793. for (int i = 0; i < str_l; i++) {
  9794. out(str[i]);
  9795. }
  9796. return;
  9797. }
  9798.  
  9799. int val = map(2);
  9800. switch(val) {
  9801.  
  9802. case 0:
  9803. gen_td_tag(depth +1);
  9804. break;
  9805.  
  9806. case 1:
  9807. gen_th_tag(depth +1);
  9808. break;
  9809.  
  9810. }
  9811. }
  9812.  
  9813.  
  9814. void gen_table_content(int depth) {
  9815. if (depth > max_depth) {
  9816. int val = map(3);
  9817. const char* str = pool_table_content[val];
  9818. const int str_l = pool_l_table_content[val];
  9819. for (int i = 0; i < str_l; i++) {
  9820. out(str[i]);
  9821. }
  9822. return;
  9823. }
  9824.  
  9825. int val = map(4);
  9826. switch(val) {
  9827.  
  9828. case 0:
  9829. gen__l_(depth +1);
  9830. out('t');
  9831. out('b');
  9832. out('o');
  9833. out('d');
  9834. out('y');
  9835. gen_d(depth +1);
  9836. gen__r_(depth +1);
  9837. break;
  9838.  
  9839. case 1:
  9840. gen__l_(depth +1);
  9841. out('t');
  9842. out('f');
  9843. out('o');
  9844. out('o');
  9845. out('t');
  9846. gen_d(depth +1);
  9847. gen__r_(depth +1);
  9848. break;
  9849.  
  9850. case 2:
  9851. gen__l_(depth +1);
  9852. out('t');
  9853. out('h');
  9854. out('e');
  9855. out('a');
  9856. out('d');
  9857. gen_d(depth +1);
  9858. gen__r_(depth +1);
  9859. break;
  9860.  
  9861. case 3:
  9862. gen_tr_tag(depth +1);
  9863. break;
  9864.  
  9865. }
  9866. }
  9867.  
  9868.  
  9869. void gen_table_tag(int depth) {
  9870. if (depth > max_depth) {
  9871. int val = map(1);
  9872. const char* str = pool_table_tag[val];
  9873. const int str_l = pool_l_table_tag[val];
  9874. for (int i = 0; i < str_l; i++) {
  9875. out(str[i]);
  9876. }
  9877. return;
  9878. }
  9879.  
  9880. int val = map(1);
  9881. switch(val) {
  9882.  
  9883. case 0:
  9884. gen__l_(depth +1);
  9885. out('t');
  9886. out('a');
  9887. out('b');
  9888. out('l');
  9889. out('e');
  9890. gen_d(depth +1);
  9891. gen__r_(depth +1);
  9892. gen_caption_tag_1(depth +1);
  9893. gen_colgroup_tag_1(depth +1);
  9894. gen_table_content_1(depth +1);
  9895. gen__cl_(depth +1);
  9896. out('t');
  9897. out('a');
  9898. out('b');
  9899. out('l');
  9900. out('e');
  9901. gen__r_(depth +1);
  9902. break;
  9903.  
  9904. }
  9905. }
  9906.  
  9907.  
  9908. void gen_td_tag(int depth) {
  9909. if (depth > max_depth) {
  9910. int val = map(2);
  9911. const char* str = pool_td_tag[val];
  9912. const int str_l = pool_l_td_tag[val];
  9913. for (int i = 0; i < str_l; i++) {
  9914. out(str[i]);
  9915. }
  9916. return;
  9917. }
  9918.  
  9919. int val = map(1);
  9920. switch(val) {
  9921.  
  9922. case 0:
  9923. gen__l_(depth +1);
  9924. out('t');
  9925. out('d');
  9926. gen_d(depth +1);
  9927. gen__r_(depth +1);
  9928. gen_body_content(depth +1);
  9929. gen__cl_(depth +1);
  9930. out('t');
  9931. out('d');
  9932. gen__r_(depth +1);
  9933. break;
  9934.  
  9935. }
  9936. }
  9937.  
  9938.  
  9939. void gen_text(int depth) {
  9940. if (depth > max_depth) {
  9941. int val = map(1);
  9942. const char* str = pool_text[val];
  9943. const int str_l = pool_l_text[val];
  9944. for (int i = 0; i < str_l; i++) {
  9945. out(str[i]);
  9946. }
  9947. return;
  9948. }
  9949.  
  9950. int val = map(1);
  9951. switch(val) {
  9952.  
  9953. case 0:
  9954. gen_text_content_1(depth +1);
  9955. break;
  9956.  
  9957. }
  9958. }
  9959.  
  9960.  
  9961. void gen_text_content(int depth) {
  9962. if (depth > max_depth) {
  9963. int val = map(6);
  9964. const char* str = pool_text_content[val];
  9965. const int str_l = pool_l_text_content[val];
  9966. for (int i = 0; i < str_l; i++) {
  9967. out(str[i]);
  9968. }
  9969. return;
  9970. }
  9971.  
  9972. int val = map(15);
  9973. switch(val) {
  9974.  
  9975. case 0:
  9976. gen__l_(depth +1);
  9977. out('b');
  9978. out('r');
  9979. gen_d(depth +1);
  9980. gen__r_(depth +1);
  9981. break;
  9982.  
  9983. case 1:
  9984. gen__l_(depth +1);
  9985. out('e');
  9986. out('m');
  9987. out('b');
  9988. out('e');
  9989. out('d');
  9990. gen_d(depth +1);
  9991. gen__r_(depth +1);
  9992. break;
  9993.  
  9994. case 2:
  9995. gen__l_(depth +1);
  9996. out('i');
  9997. out('f');
  9998. out('r');
  9999. out('a');
  10000. out('m');
  10001. out('e');
  10002. gen_d(depth +1);
  10003. gen__r_(depth +1);
  10004. break;
  10005.  
  10006. case 3:
  10007. gen__l_(depth +1);
  10008. out('i');
  10009. out('m');
  10010. out('g');
  10011. gen_d(depth +1);
  10012. gen__r_(depth +1);
  10013. break;
  10014.  
  10015. case 4:
  10016. gen__l_(depth +1);
  10017. out('s');
  10018. out('p');
  10019. out('a');
  10020. out('c');
  10021. out('e');
  10022. out('r');
  10023. gen_d(depth +1);
  10024. gen__r_(depth +1);
  10025. break;
  10026.  
  10027. case 5:
  10028. gen__l_(depth +1);
  10029. out('w');
  10030. out('b');
  10031. out('r');
  10032. gen_d(depth +1);
  10033. gen__r_(depth +1);
  10034. break;
  10035.  
  10036. case 6:
  10037. gen_a_tag(depth +1);
  10038. break;
  10039.  
  10040. case 7:
  10041. gen_plain_text(depth +1);
  10042. break;
  10043.  
  10044. case 8:
  10045. gen_physical_style(depth +1);
  10046. break;
  10047.  
  10048. case 9:
  10049. gen_applet_tag(depth +1);
  10050. break;
  10051.  
  10052. case 10:
  10053. gen_content_style(depth +1);
  10054. break;
  10055.  
  10056. case 11:
  10057. gen_ilayer_tag(depth +1);
  10058. break;
  10059.  
  10060. case 12:
  10061. gen_noembed_tag(depth +1);
  10062. break;
  10063.  
  10064. case 13:
  10065. gen_noscript_tag(depth +1);
  10066. break;
  10067.  
  10068. case 14:
  10069. gen_object_tag(depth +1);
  10070. break;
  10071.  
  10072. }
  10073. }
  10074.  
  10075.  
  10076. void gen_textarea_tag(int depth) {
  10077. if (depth > max_depth) {
  10078. int val = map(1);
  10079. const char* str = pool_textarea_tag[val];
  10080. const int str_l = pool_l_textarea_tag[val];
  10081. for (int i = 0; i < str_l; i++) {
  10082. out(str[i]);
  10083. }
  10084. return;
  10085. }
  10086.  
  10087. int val = map(1);
  10088. switch(val) {
  10089.  
  10090. case 0:
  10091. gen__l_(depth +1);
  10092. out('t');
  10093. out('e');
  10094. out('x');
  10095. out('t');
  10096. out('a');
  10097. out('r');
  10098. out('e');
  10099. out('a');
  10100. gen_d(depth +1);
  10101. gen__r_(depth +1);
  10102. gen_plain_text(depth +1);
  10103. gen__cl_(depth +1);
  10104. out('t');
  10105. out('e');
  10106. out('x');
  10107. out('t');
  10108. out('a');
  10109. out('r');
  10110. out('e');
  10111. out('a');
  10112. gen__r_(depth +1);
  10113. break;
  10114.  
  10115. }
  10116. }
  10117.  
  10118.  
  10119. void gen_th_tag(int depth) {
  10120. if (depth > max_depth) {
  10121. int val = map(2);
  10122. const char* str = pool_th_tag[val];
  10123. const int str_l = pool_l_th_tag[val];
  10124. for (int i = 0; i < str_l; i++) {
  10125. out(str[i]);
  10126. }
  10127. return;
  10128. }
  10129.  
  10130. int val = map(1);
  10131. switch(val) {
  10132.  
  10133. case 0:
  10134. gen__l_(depth +1);
  10135. out('t');
  10136. out('h');
  10137. gen_d(depth +1);
  10138. gen__r_(depth +1);
  10139. gen_body_content(depth +1);
  10140. gen__cl_(depth +1);
  10141. out('t');
  10142. out('h');
  10143. gen__r_(depth +1);
  10144. break;
  10145.  
  10146. }
  10147. }
  10148.  
  10149.  
  10150. void gen_title_tag(int depth) {
  10151. if (depth > max_depth) {
  10152. int val = map(1);
  10153. const char* str = pool_title_tag[val];
  10154. const int str_l = pool_l_title_tag[val];
  10155. for (int i = 0; i < str_l; i++) {
  10156. out(str[i]);
  10157. }
  10158. return;
  10159. }
  10160.  
  10161. int val = map(1);
  10162. switch(val) {
  10163.  
  10164. case 0:
  10165. gen__l_(depth +1);
  10166. out('t');
  10167. out('i');
  10168. out('t');
  10169. out('l');
  10170. out('e');
  10171. gen_d(depth +1);
  10172. gen__r_(depth +1);
  10173. gen_plain_text(depth +1);
  10174. gen__cl_(depth +1);
  10175. out('t');
  10176. out('i');
  10177. out('t');
  10178. out('l');
  10179. out('e');
  10180. gen__r_(depth +1);
  10181. break;
  10182.  
  10183. }
  10184. }
  10185.  
  10186.  
  10187. void gen_tr_tag(int depth) {
  10188. if (depth > max_depth) {
  10189. int val = map(1);
  10190. const char* str = pool_tr_tag[val];
  10191. const int str_l = pool_l_tr_tag[val];
  10192. for (int i = 0; i < str_l; i++) {
  10193. out(str[i]);
  10194. }
  10195. return;
  10196. }
  10197.  
  10198. int val = map(1);
  10199. switch(val) {
  10200.  
  10201. case 0:
  10202. gen__l_(depth +1);
  10203. out('t');
  10204. out('r');
  10205. gen_d(depth +1);
  10206. gen__r_(depth +1);
  10207. gen_table_cell_1(depth +1);
  10208. gen__cl_(depth +1);
  10209. out('t');
  10210. out('r');
  10211. gen__r_(depth +1);
  10212. break;
  10213.  
  10214. }
  10215. }
  10216.  
  10217.  
  10218. void gen_tt_tag(int depth) {
  10219. if (depth > max_depth) {
  10220. int val = map(1);
  10221. const char* str = pool_tt_tag[val];
  10222. const int str_l = pool_l_tt_tag[val];
  10223. for (int i = 0; i < str_l; i++) {
  10224. out(str[i]);
  10225. }
  10226. return;
  10227. }
  10228.  
  10229. int val = map(1);
  10230. switch(val) {
  10231.  
  10232. case 0:
  10233. gen__l_(depth +1);
  10234. out('t');
  10235. out('t');
  10236. gen_d(depth +1);
  10237. gen__r_(depth +1);
  10238. gen_text(depth +1);
  10239. gen__cl_(depth +1);
  10240. out('t');
  10241. out('t');
  10242. gen__r_(depth +1);
  10243. break;
  10244.  
  10245. }
  10246. }
  10247.  
  10248.  
  10249. void gen_u_tag(int depth) {
  10250. if (depth > max_depth) {
  10251. int val = map(1);
  10252. const char* str = pool_u_tag[val];
  10253. const int str_l = pool_l_u_tag[val];
  10254. for (int i = 0; i < str_l; i++) {
  10255. out(str[i]);
  10256. }
  10257. return;
  10258. }
  10259.  
  10260. int val = map(1);
  10261. switch(val) {
  10262.  
  10263. case 0:
  10264. gen__l_(depth +1);
  10265. out('u');
  10266. gen_d(depth +1);
  10267. gen__r_(depth +1);
  10268. gen_text(depth +1);
  10269. gen__cl_(depth +1);
  10270. out('u');
  10271. gen__r_(depth +1);
  10272. break;
  10273.  
  10274. }
  10275. }
  10276.  
  10277.  
  10278. void gen_ul_tag(int depth) {
  10279. if (depth > max_depth) {
  10280. int val = map(1);
  10281. const char* str = pool_ul_tag[val];
  10282. const int str_l = pool_l_ul_tag[val];
  10283. for (int i = 0; i < str_l; i++) {
  10284. out(str[i]);
  10285. }
  10286. return;
  10287. }
  10288.  
  10289. int val = map(1);
  10290. switch(val) {
  10291.  
  10292. case 0:
  10293. gen__l_(depth +1);
  10294. out('u');
  10295. out('l');
  10296. gen_d(depth +1);
  10297. gen__r_(depth +1);
  10298. gen_li_tag_4(depth +1);
  10299. gen__cl_(depth +1);
  10300. out('u');
  10301. out('l');
  10302. gen__r_(depth +1);
  10303. break;
  10304.  
  10305. }
  10306. }
  10307.  
  10308.  
  10309. void gen_var_tag(int depth) {
  10310. if (depth > max_depth) {
  10311. int val = map(1);
  10312. const char* str = pool_var_tag[val];
  10313. const int str_l = pool_l_var_tag[val];
  10314. for (int i = 0; i < str_l; i++) {
  10315. out(str[i]);
  10316. }
  10317. return;
  10318. }
  10319.  
  10320. int val = map(1);
  10321. switch(val) {
  10322.  
  10323. case 0:
  10324. gen__l_(depth +1);
  10325. out('v');
  10326. out('a');
  10327. out('r');
  10328. gen_d(depth +1);
  10329. gen__r_(depth +1);
  10330. gen_text(depth +1);
  10331. gen__cl_(depth +1);
  10332. out('v');
  10333. out('a');
  10334. out('r');
  10335. gen__r_(depth +1);
  10336. break;
  10337.  
  10338. }
  10339. }
  10340.  
  10341.  
  10342. void gen_xmp_tag(int depth) {
  10343. if (depth > max_depth) {
  10344. int val = map(1);
  10345. const char* str = pool_xmp_tag[val];
  10346. const int str_l = pool_l_xmp_tag[val];
  10347. for (int i = 0; i < str_l; i++) {
  10348. out(str[i]);
  10349. }
  10350. return;
  10351. }
  10352.  
  10353. int val = map(1);
  10354. switch(val) {
  10355.  
  10356. case 0:
  10357. gen__l_(depth +1);
  10358. out('x');
  10359. out('m');
  10360. out('p');
  10361. gen_d(depth +1);
  10362. gen__r_(depth +1);
  10363. gen_literal_text(depth +1);
  10364. gen__cl_(depth +1);
  10365. out('x');
  10366. out('m');
  10367. out('p');
  10368. gen__r_(depth +1);
  10369. break;
  10370.  
  10371. }
  10372. }
  10373.  
  10374.  
  10375. void gen_d(int depth) {
  10376. if (depth > max_depth) {
  10377. int val = map(1);
  10378. const char* str = pool_d[val];
  10379. const int str_l = pool_l_d[val];
  10380. for (int i = 0; i < str_l; i++) {
  10381. out(str[i]);
  10382. }
  10383. return;
  10384. }
  10385.  
  10386. int val = map(2);
  10387. switch(val) {
  10388.  
  10389. case 0:
  10390.  
  10391. break;
  10392.  
  10393. case 1:
  10394. gen_space_1(depth +1);
  10395. gen_attributes_1(depth +1);
  10396. gen_space_2(depth +1);
  10397. break;
  10398.  
  10399. }
  10400. }
  10401.  
  10402.  
  10403. void gen_attribute(int depth) {
  10404. if (depth > max_depth) {
  10405. int val = map(90);
  10406. const char* str = pool_attribute[val];
  10407. const int str_l = pool_l_attribute[val];
  10408. for (int i = 0; i < str_l; i++) {
  10409. out(str[i]);
  10410. }
  10411. return;
  10412. }
  10413.  
  10414. int val = map(4);
  10415. switch(val) {
  10416.  
  10417. case 0:
  10418. gen_key(depth +1);
  10419. break;
  10420.  
  10421. case 1:
  10422. gen_key(depth +1);
  10423. out('=');
  10424. out('"');
  10425. gen_value(depth +1);
  10426. out('"');
  10427. break;
  10428.  
  10429. case 2:
  10430. gen_key(depth +1);
  10431. out('=');
  10432. out('\'');
  10433. gen_value(depth +1);
  10434. out('\'');
  10435. break;
  10436.  
  10437. case 3:
  10438. gen_key(depth +1);
  10439. out('=');
  10440. gen_uqvalue(depth +1);
  10441. break;
  10442.  
  10443. }
  10444. }
  10445.  
  10446.  
  10447. void gen_key(int depth) {
  10448. if (depth > max_depth) {
  10449. int val = map(90);
  10450. const char* str = pool_key[val];
  10451. const int str_l = pool_l_key[val];
  10452. for (int i = 0; i < str_l; i++) {
  10453. out(str[i]);
  10454. }
  10455. return;
  10456. }
  10457.  
  10458. int val = map(1);
  10459. switch(val) {
  10460.  
  10461. case 0:
  10462. gen_allchars(depth +1);
  10463. break;
  10464.  
  10465. }
  10466. }
  10467.  
  10468.  
  10469. void gen_allchars(int depth) {
  10470. if (depth > max_depth) {
  10471. int val = map(90);
  10472. const char* str = pool_allchars[val];
  10473. const int str_l = pool_l_allchars[val];
  10474. for (int i = 0; i < str_l; i++) {
  10475. out(str[i]);
  10476. }
  10477. return;
  10478. }
  10479.  
  10480. int val = map(90);
  10481. switch(val) {
  10482.  
  10483. case 0:
  10484. out(' ');
  10485. break;
  10486.  
  10487. case 1:
  10488. out('\r');
  10489. break;
  10490.  
  10491. case 2:
  10492. out('!');
  10493. break;
  10494.  
  10495. case 3:
  10496. out('#');
  10497. break;
  10498.  
  10499. case 4:
  10500. out('$');
  10501. break;
  10502.  
  10503. case 5:
  10504. out('%');
  10505. break;
  10506.  
  10507. case 6:
  10508. out('&');
  10509. break;
  10510.  
  10511. case 7:
  10512. out('(');
  10513. break;
  10514.  
  10515. case 8:
  10516. out(')');
  10517. break;
  10518.  
  10519. case 9:
  10520. out('*');
  10521. break;
  10522.  
  10523. case 10:
  10524. out('+');
  10525. break;
  10526.  
  10527. case 11:
  10528. out(',');
  10529. break;
  10530.  
  10531. case 12:
  10532. out('-');
  10533. break;
  10534.  
  10535. case 13:
  10536. out('.');
  10537. break;
  10538.  
  10539. case 14:
  10540. out('0');
  10541. break;
  10542.  
  10543. case 15:
  10544. out('1');
  10545. break;
  10546.  
  10547. case 16:
  10548. out('2');
  10549. break;
  10550.  
  10551. case 17:
  10552. out('3');
  10553. break;
  10554.  
  10555. case 18:
  10556. out('4');
  10557. break;
  10558.  
  10559. case 19:
  10560. out('5');
  10561. break;
  10562.  
  10563. case 20:
  10564. out('6');
  10565. break;
  10566.  
  10567. case 21:
  10568. out('7');
  10569. break;
  10570.  
  10571. case 22:
  10572. out('8');
  10573. break;
  10574.  
  10575. case 23:
  10576. out('9');
  10577. break;
  10578.  
  10579. case 24:
  10580. out(':');
  10581. break;
  10582.  
  10583. case 25:
  10584. out(';');
  10585. break;
  10586.  
  10587. case 26:
  10588. out('?');
  10589. break;
  10590.  
  10591. case 27:
  10592. out('@');
  10593. break;
  10594.  
  10595. case 28:
  10596. out('A');
  10597. break;
  10598.  
  10599. case 29:
  10600. out('B');
  10601. break;
  10602.  
  10603. case 30:
  10604. out('C');
  10605. break;
  10606.  
  10607. case 31:
  10608. out('D');
  10609. break;
  10610.  
  10611. case 32:
  10612. out('E');
  10613. break;
  10614.  
  10615. case 33:
  10616. out('F');
  10617. break;
  10618.  
  10619. case 34:
  10620. out('G');
  10621. break;
  10622.  
  10623. case 35:
  10624. out('H');
  10625. break;
  10626.  
  10627. case 36:
  10628. out('I');
  10629. break;
  10630.  
  10631. case 37:
  10632. out('J');
  10633. break;
  10634.  
  10635. case 38:
  10636. out('K');
  10637. break;
  10638.  
  10639. case 39:
  10640. out('L');
  10641. break;
  10642.  
  10643. case 40:
  10644. out('M');
  10645. break;
  10646.  
  10647. case 41:
  10648. out('N');
  10649. break;
  10650.  
  10651. case 42:
  10652. out('O');
  10653. break;
  10654.  
  10655. case 43:
  10656. out('P');
  10657. break;
  10658.  
  10659. case 44:
  10660. out('Q');
  10661. break;
  10662.  
  10663. case 45:
  10664. out('R');
  10665. break;
  10666.  
  10667. case 46:
  10668. out('S');
  10669. break;
  10670.  
  10671. case 47:
  10672. out('T');
  10673. break;
  10674.  
  10675. case 48:
  10676. out('U');
  10677. break;
  10678.  
  10679. case 49:
  10680. out('V');
  10681. break;
  10682.  
  10683. case 50:
  10684. out('W');
  10685. break;
  10686.  
  10687. case 51:
  10688. out('X');
  10689. break;
  10690.  
  10691. case 52:
  10692. out('Y');
  10693. break;
  10694.  
  10695. case 53:
  10696. out('Z');
  10697. break;
  10698.  
  10699. case 54:
  10700. out('[');
  10701. break;
  10702.  
  10703. case 55:
  10704. out('\\');
  10705. break;
  10706.  
  10707. case 56:
  10708. out(']');
  10709. break;
  10710.  
  10711. case 57:
  10712. out('^');
  10713. break;
  10714.  
  10715. case 58:
  10716. out('_');
  10717. break;
  10718.  
  10719. case 59:
  10720. out('`');
  10721. break;
  10722.  
  10723. case 60:
  10724. out('a');
  10725. break;
  10726.  
  10727. case 61:
  10728. out('b');
  10729. break;
  10730.  
  10731. case 62:
  10732. out('c');
  10733. break;
  10734.  
  10735. case 63:
  10736. out('d');
  10737. break;
  10738.  
  10739. case 64:
  10740. out('e');
  10741. break;
  10742.  
  10743. case 65:
  10744. out('f');
  10745. break;
  10746.  
  10747. case 66:
  10748. out('g');
  10749. break;
  10750.  
  10751. case 67:
  10752. out('h');
  10753. break;
  10754.  
  10755. case 68:
  10756. out('i');
  10757. break;
  10758.  
  10759. case 69:
  10760. out('j');
  10761. break;
  10762.  
  10763. case 70:
  10764. out('k');
  10765. break;
  10766.  
  10767. case 71:
  10768. out('l');
  10769. break;
  10770.  
  10771. case 72:
  10772. out('m');
  10773. break;
  10774.  
  10775. case 73:
  10776. out('n');
  10777. break;
  10778.  
  10779. case 74:
  10780. out('o');
  10781. break;
  10782.  
  10783. case 75:
  10784. out('p');
  10785. break;
  10786.  
  10787. case 76:
  10788. out('q');
  10789. break;
  10790.  
  10791. case 77:
  10792. out('r');
  10793. break;
  10794.  
  10795. case 78:
  10796. out('s');
  10797. break;
  10798.  
  10799. case 79:
  10800. out('t');
  10801. break;
  10802.  
  10803. case 80:
  10804. out('u');
  10805. break;
  10806.  
  10807. case 81:
  10808. out('v');
  10809. break;
  10810.  
  10811. case 82:
  10812. out('w');
  10813. break;
  10814.  
  10815. case 83:
  10816. out('x');
  10817. break;
  10818.  
  10819. case 84:
  10820. out('y');
  10821. break;
  10822.  
  10823. case 85:
  10824. out('z');
  10825. break;
  10826.  
  10827. case 86:
  10828. out('{');
  10829. break;
  10830.  
  10831. case 87:
  10832. out('|');
  10833. break;
  10834.  
  10835. case 88:
  10836. out('}');
  10837. break;
  10838.  
  10839. case 89:
  10840. out('~');
  10841. break;
  10842.  
  10843. }
  10844. }
  10845.  
  10846.  
  10847. void gen_value(int depth) {
  10848. if (depth > max_depth) {
  10849. int val = map(1);
  10850. const char* str = pool_value[val];
  10851. const int str_l = pool_l_value[val];
  10852. for (int i = 0; i < str_l; i++) {
  10853. out(str[i]);
  10854. }
  10855. return;
  10856. }
  10857.  
  10858. int val = map(1);
  10859. switch(val) {
  10860.  
  10861. case 0:
  10862. gen_anychars(depth +1);
  10863. break;
  10864.  
  10865. }
  10866. }
  10867.  
  10868.  
  10869. void gen_anychar(int depth) {
  10870. if (depth > max_depth) {
  10871. int val = map(100);
  10872. const char* str = pool_anychar[val];
  10873. const int str_l = pool_l_anychar[val];
  10874. for (int i = 0; i < str_l; i++) {
  10875. out(str[i]);
  10876. }
  10877. return;
  10878. }
  10879.  
  10880. int val = map(100);
  10881. switch(val) {
  10882.  
  10883. case 0:
  10884. out('\t');
  10885. break;
  10886.  
  10887. case 1:
  10888. out('\n');
  10889. break;
  10890.  
  10891. case 2:
  10892. out('\v');
  10893. break;
  10894.  
  10895. case 3:
  10896. out(' ');
  10897. break;
  10898.  
  10899. case 4:
  10900. out('\r');
  10901. break;
  10902.  
  10903. case 5:
  10904. out(' ');
  10905. break;
  10906.  
  10907. case 6:
  10908. out('!');
  10909. break;
  10910.  
  10911. case 7:
  10912. out('"');
  10913. break;
  10914.  
  10915. case 8:
  10916. out('#');
  10917. break;
  10918.  
  10919. case 9:
  10920. out('$');
  10921. break;
  10922.  
  10923. case 10:
  10924. out('%');
  10925. break;
  10926.  
  10927. case 11:
  10928. out('&');
  10929. break;
  10930.  
  10931. case 12:
  10932. out('\'');
  10933. break;
  10934.  
  10935. case 13:
  10936. out('(');
  10937. break;
  10938.  
  10939. case 14:
  10940. out(')');
  10941. break;
  10942.  
  10943. case 15:
  10944. out('*');
  10945. break;
  10946.  
  10947. case 16:
  10948. out('+');
  10949. break;
  10950.  
  10951. case 17:
  10952. out(',');
  10953. break;
  10954.  
  10955. case 18:
  10956. out('-');
  10957. break;
  10958.  
  10959. case 19:
  10960. out('.');
  10961. break;
  10962.  
  10963. case 20:
  10964. out('/');
  10965. break;
  10966.  
  10967. case 21:
  10968. out('0');
  10969. break;
  10970.  
  10971. case 22:
  10972. out('1');
  10973. break;
  10974.  
  10975. case 23:
  10976. out('2');
  10977. break;
  10978.  
  10979. case 24:
  10980. out('3');
  10981. break;
  10982.  
  10983. case 25:
  10984. out('4');
  10985. break;
  10986.  
  10987. case 26:
  10988. out('5');
  10989. break;
  10990.  
  10991. case 27:
  10992. out('6');
  10993. break;
  10994.  
  10995. case 28:
  10996. out('7');
  10997. break;
  10998.  
  10999. case 29:
  11000. out('8');
  11001. break;
  11002.  
  11003. case 30:
  11004. out('9');
  11005. break;
  11006.  
  11007. case 31:
  11008. out(':');
  11009. break;
  11010.  
  11011. case 32:
  11012. out(';');
  11013. break;
  11014.  
  11015. case 33:
  11016. out('<');
  11017. break;
  11018.  
  11019. case 34:
  11020. out('=');
  11021. break;
  11022.  
  11023. case 35:
  11024. out('>');
  11025. break;
  11026.  
  11027. case 36:
  11028. out('?');
  11029. break;
  11030.  
  11031. case 37:
  11032. out('@');
  11033. break;
  11034.  
  11035. case 38:
  11036. out('A');
  11037. break;
  11038.  
  11039. case 39:
  11040. out('B');
  11041. break;
  11042.  
  11043. case 40:
  11044. out('C');
  11045. break;
  11046.  
  11047. case 41:
  11048. out('D');
  11049. break;
  11050.  
  11051. case 42:
  11052. out('E');
  11053. break;
  11054.  
  11055. case 43:
  11056. out('F');
  11057. break;
  11058.  
  11059. case 44:
  11060. out('G');
  11061. break;
  11062.  
  11063. case 45:
  11064. out('H');
  11065. break;
  11066.  
  11067. case 46:
  11068. out('I');
  11069. break;
  11070.  
  11071. case 47:
  11072. out('J');
  11073. break;
  11074.  
  11075. case 48:
  11076. out('K');
  11077. break;
  11078.  
  11079. case 49:
  11080. out('L');
  11081. break;
  11082.  
  11083. case 50:
  11084. out('M');
  11085. break;
  11086.  
  11087. case 51:
  11088. out('N');
  11089. break;
  11090.  
  11091. case 52:
  11092. out('O');
  11093. break;
  11094.  
  11095. case 53:
  11096. out('P');
  11097. break;
  11098.  
  11099. case 54:
  11100. out('Q');
  11101. break;
  11102.  
  11103. case 55:
  11104. out('R');
  11105. break;
  11106.  
  11107. case 56:
  11108. out('S');
  11109. break;
  11110.  
  11111. case 57:
  11112. out('T');
  11113. break;
  11114.  
  11115. case 58:
  11116. out('U');
  11117. break;
  11118.  
  11119. case 59:
  11120. out('V');
  11121. break;
  11122.  
  11123. case 60:
  11124. out('W');
  11125. break;
  11126.  
  11127. case 61:
  11128. out('X');
  11129. break;
  11130.  
  11131. case 62:
  11132. out('Y');
  11133. break;
  11134.  
  11135. case 63:
  11136. out('Z');
  11137. break;
  11138.  
  11139. case 64:
  11140. out('[');
  11141. break;
  11142.  
  11143. case 65:
  11144. out('\\');
  11145. break;
  11146.  
  11147. case 66:
  11148. out(']');
  11149. break;
  11150.  
  11151. case 67:
  11152. out('^');
  11153. break;
  11154.  
  11155. case 68:
  11156. out('_');
  11157. break;
  11158.  
  11159. case 69:
  11160. out('`');
  11161. break;
  11162.  
  11163. case 70:
  11164. out('a');
  11165. break;
  11166.  
  11167. case 71:
  11168. out('b');
  11169. break;
  11170.  
  11171. case 72:
  11172. out('c');
  11173. break;
  11174.  
  11175. case 73:
  11176. out('d');
  11177. break;
  11178.  
  11179. case 74:
  11180. out('e');
  11181. break;
  11182.  
  11183. case 75:
  11184. out('f');
  11185. break;
  11186.  
  11187. case 76:
  11188. out('g');
  11189. break;
  11190.  
  11191. case 77:
  11192. out('h');
  11193. break;
  11194.  
  11195. case 78:
  11196. out('i');
  11197. break;
  11198.  
  11199. case 79:
  11200. out('j');
  11201. break;
  11202.  
  11203. case 80:
  11204. out('k');
  11205. break;
  11206.  
  11207. case 81:
  11208. out('l');
  11209. break;
  11210.  
  11211. case 82:
  11212. out('m');
  11213. break;
  11214.  
  11215. case 83:
  11216. out('n');
  11217. break;
  11218.  
  11219. case 84:
  11220. out('o');
  11221. break;
  11222.  
  11223. case 85:
  11224. out('p');
  11225. break;
  11226.  
  11227. case 86:
  11228. out('q');
  11229. break;
  11230.  
  11231. case 87:
  11232. out('r');
  11233. break;
  11234.  
  11235. case 88:
  11236. out('s');
  11237. break;
  11238.  
  11239. case 89:
  11240. out('t');
  11241. break;
  11242.  
  11243. case 90:
  11244. out('u');
  11245. break;
  11246.  
  11247. case 91:
  11248. out('v');
  11249. break;
  11250.  
  11251. case 92:
  11252. out('w');
  11253. break;
  11254.  
  11255. case 93:
  11256. out('x');
  11257. break;
  11258.  
  11259. case 94:
  11260. out('y');
  11261. break;
  11262.  
  11263. case 95:
  11264. out('z');
  11265. break;
  11266.  
  11267. case 96:
  11268. out('{');
  11269. break;
  11270.  
  11271. case 97:
  11272. out('|');
  11273. break;
  11274.  
  11275. case 98:
  11276. out('}');
  11277. break;
  11278.  
  11279. case 99:
  11280. out('~');
  11281. break;
  11282.  
  11283. }
  11284. }
  11285.  
  11286.  
  11287. void gen_anychars(int depth) {
  11288. if (depth > max_depth) {
  11289. int val = map(1);
  11290. const char* str = pool_anychars[val];
  11291. const int str_l = pool_l_anychars[val];
  11292. for (int i = 0; i < str_l; i++) {
  11293. out(str[i]);
  11294. }
  11295. return;
  11296. }
  11297.  
  11298. int val = map(1);
  11299. switch(val) {
  11300.  
  11301. case 0:
  11302. gen_anychar_1(depth +1);
  11303. break;
  11304.  
  11305. }
  11306. }
  11307.  
  11308.  
  11309. void gen_uqvalue(int depth) {
  11310. if (depth > max_depth) {
  11311. int val = map(89);
  11312. const char* str = pool_uqvalue[val];
  11313. const int str_l = pool_l_uqvalue[val];
  11314. for (int i = 0; i < str_l; i++) {
  11315. out(str[i]);
  11316. }
  11317. return;
  11318. }
  11319.  
  11320. int val = map(1);
  11321. switch(val) {
  11322.  
  11323. case 0:
  11324. gen_uqchars(depth +1);
  11325. break;
  11326.  
  11327. }
  11328. }
  11329.  
  11330.  
  11331. void gen_uqchar(int depth) {
  11332. if (depth > max_depth) {
  11333. int val = map(89);
  11334. const char* str = pool_uqchar[val];
  11335. const int str_l = pool_l_uqchar[val];
  11336. for (int i = 0; i < str_l; i++) {
  11337. out(str[i]);
  11338. }
  11339. return;
  11340. }
  11341.  
  11342. int val = map(89);
  11343. switch(val) {
  11344.  
  11345. case 0:
  11346. out(' ');
  11347. break;
  11348.  
  11349. case 1:
  11350. out('\r');
  11351. break;
  11352.  
  11353. case 2:
  11354. out('!');
  11355. break;
  11356.  
  11357. case 3:
  11358. out('#');
  11359. break;
  11360.  
  11361. case 4:
  11362. out('$');
  11363. break;
  11364.  
  11365. case 5:
  11366. out('%');
  11367. break;
  11368.  
  11369. case 6:
  11370. out('&');
  11371. break;
  11372.  
  11373. case 7:
  11374. out('(');
  11375. break;
  11376.  
  11377. case 8:
  11378. out(')');
  11379. break;
  11380.  
  11381. case 9:
  11382. out('*');
  11383. break;
  11384.  
  11385. case 10:
  11386. out('+');
  11387. break;
  11388.  
  11389. case 11:
  11390. out(',');
  11391. break;
  11392.  
  11393. case 12:
  11394. out('-');
  11395. break;
  11396.  
  11397. case 13:
  11398. out('.');
  11399. break;
  11400.  
  11401. case 14:
  11402. out('0');
  11403. break;
  11404.  
  11405. case 15:
  11406. out('1');
  11407. break;
  11408.  
  11409. case 16:
  11410. out('2');
  11411. break;
  11412.  
  11413. case 17:
  11414. out('3');
  11415. break;
  11416.  
  11417. case 18:
  11418. out('4');
  11419. break;
  11420.  
  11421. case 19:
  11422. out('5');
  11423. break;
  11424.  
  11425. case 20:
  11426. out('6');
  11427. break;
  11428.  
  11429. case 21:
  11430. out('7');
  11431. break;
  11432.  
  11433. case 22:
  11434. out('8');
  11435. break;
  11436.  
  11437. case 23:
  11438. out('9');
  11439. break;
  11440.  
  11441. case 24:
  11442. out(':');
  11443. break;
  11444.  
  11445. case 25:
  11446. out(';');
  11447. break;
  11448.  
  11449. case 26:
  11450. out('?');
  11451. break;
  11452.  
  11453. case 27:
  11454. out('@');
  11455. break;
  11456.  
  11457. case 28:
  11458. out('A');
  11459. break;
  11460.  
  11461. case 29:
  11462. out('B');
  11463. break;
  11464.  
  11465. case 30:
  11466. out('C');
  11467. break;
  11468.  
  11469. case 31:
  11470. out('D');
  11471. break;
  11472.  
  11473. case 32:
  11474. out('E');
  11475. break;
  11476.  
  11477. case 33:
  11478. out('F');
  11479. break;
  11480.  
  11481. case 34:
  11482. out('G');
  11483. break;
  11484.  
  11485. case 35:
  11486. out('H');
  11487. break;
  11488.  
  11489. case 36:
  11490. out('I');
  11491. break;
  11492.  
  11493. case 37:
  11494. out('J');
  11495. break;
  11496.  
  11497. case 38:
  11498. out('K');
  11499. break;
  11500.  
  11501. case 39:
  11502. out('L');
  11503. break;
  11504.  
  11505. case 40:
  11506. out('M');
  11507. break;
  11508.  
  11509. case 41:
  11510. out('N');
  11511. break;
  11512.  
  11513. case 42:
  11514. out('O');
  11515. break;
  11516.  
  11517. case 43:
  11518. out('P');
  11519. break;
  11520.  
  11521. case 44:
  11522. out('Q');
  11523. break;
  11524.  
  11525. case 45:
  11526. out('R');
  11527. break;
  11528.  
  11529. case 46:
  11530. out('S');
  11531. break;
  11532.  
  11533. case 47:
  11534. out('T');
  11535. break;
  11536.  
  11537. case 48:
  11538. out('U');
  11539. break;
  11540.  
  11541. case 49:
  11542. out('V');
  11543. break;
  11544.  
  11545. case 50:
  11546. out('W');
  11547. break;
  11548.  
  11549. case 51:
  11550. out('X');
  11551. break;
  11552.  
  11553. case 52:
  11554. out('Y');
  11555. break;
  11556.  
  11557. case 53:
  11558. out('Z');
  11559. break;
  11560.  
  11561. case 54:
  11562. out('[');
  11563. break;
  11564.  
  11565. case 55:
  11566. out('\\');
  11567. break;
  11568.  
  11569. case 56:
  11570. out(']');
  11571. break;
  11572.  
  11573. case 57:
  11574. out('^');
  11575. break;
  11576.  
  11577. case 58:
  11578. out('_');
  11579. break;
  11580.  
  11581. case 59:
  11582. out('a');
  11583. break;
  11584.  
  11585. case 60:
  11586. out('b');
  11587. break;
  11588.  
  11589. case 61:
  11590. out('c');
  11591. break;
  11592.  
  11593. case 62:
  11594. out('d');
  11595. break;
  11596.  
  11597. case 63:
  11598. out('e');
  11599. break;
  11600.  
  11601. case 64:
  11602. out('f');
  11603. break;
  11604.  
  11605. case 65:
  11606. out('g');
  11607. break;
  11608.  
  11609. case 66:
  11610. out('h');
  11611. break;
  11612.  
  11613. case 67:
  11614. out('i');
  11615. break;
  11616.  
  11617. case 68:
  11618. out('j');
  11619. break;
  11620.  
  11621. case 69:
  11622. out('k');
  11623. break;
  11624.  
  11625. case 70:
  11626. out('l');
  11627. break;
  11628.  
  11629. case 71:
  11630. out('m');
  11631. break;
  11632.  
  11633. case 72:
  11634. out('n');
  11635. break;
  11636.  
  11637. case 73:
  11638. out('o');
  11639. break;
  11640.  
  11641. case 74:
  11642. out('p');
  11643. break;
  11644.  
  11645. case 75:
  11646. out('q');
  11647. break;
  11648.  
  11649. case 76:
  11650. out('r');
  11651. break;
  11652.  
  11653. case 77:
  11654. out('s');
  11655. break;
  11656.  
  11657. case 78:
  11658. out('t');
  11659. break;
  11660.  
  11661. case 79:
  11662. out('u');
  11663. break;
  11664.  
  11665. case 80:
  11666. out('v');
  11667. break;
  11668.  
  11669. case 81:
  11670. out('w');
  11671. break;
  11672.  
  11673. case 82:
  11674. out('x');
  11675. break;
  11676.  
  11677. case 83:
  11678. out('y');
  11679. break;
  11680.  
  11681. case 84:
  11682. out('z');
  11683. break;
  11684.  
  11685. case 85:
  11686. out('{');
  11687. break;
  11688.  
  11689. case 86:
  11690. out('|');
  11691. break;
  11692.  
  11693. case 87:
  11694. out('}');
  11695. break;
  11696.  
  11697. case 88:
  11698. out('~');
  11699. break;
  11700.  
  11701. }
  11702. }
  11703.  
  11704.  
  11705. void gen_uqchars(int depth) {
  11706. if (depth > max_depth) {
  11707. int val = map(89);
  11708. const char* str = pool_uqchars[val];
  11709. const int str_l = pool_l_uqchars[val];
  11710. for (int i = 0; i < str_l; i++) {
  11711. out(str[i]);
  11712. }
  11713. return;
  11714. }
  11715.  
  11716. int val = map(1);
  11717. switch(val) {
  11718.  
  11719. case 0:
  11720. gen_uqchar_1(depth +1);
  11721. break;
  11722.  
  11723. }
  11724. }
  11725.  
  11726.  
  11727. void gen_attributes(int depth) {
  11728. if (depth > max_depth) {
  11729. int val = map(90);
  11730. const char* str = pool_attributes[val];
  11731. const int str_l = pool_l_attributes[val];
  11732. for (int i = 0; i < str_l; i++) {
  11733. out(str[i]);
  11734. }
  11735. return;
  11736. }
  11737.  
  11738. int val = map(2);
  11739. switch(val) {
  11740.  
  11741. case 0:
  11742. gen_attribute(depth +1);
  11743. break;
  11744.  
  11745. case 1:
  11746. gen_attribute(depth +1);
  11747. gen_space_3(depth +1);
  11748. gen_attributes(depth +1);
  11749. break;
  11750.  
  11751. }
  11752. }
  11753.  
  11754.  
  11755. void gen_space(int depth) {
  11756. if (depth > max_depth) {
  11757. int val = map(3);
  11758. const char* str = pool_space[val];
  11759. const int str_l = pool_l_space[val];
  11760. for (int i = 0; i < str_l; i++) {
  11761. out(str[i]);
  11762. }
  11763. return;
  11764. }
  11765.  
  11766. int val = map(3);
  11767. switch(val) {
  11768.  
  11769. case 0:
  11770. out('\t');
  11771. break;
  11772.  
  11773. case 1:
  11774. out('\n');
  11775. break;
  11776.  
  11777. case 2:
  11778. out(' ');
  11779. break;
  11780.  
  11781. }
  11782. }
  11783.  
  11784.  
  11785. void gen_a_content_1(int depth) {
  11786. if (depth > max_depth) {
  11787. int val = map(1);
  11788. const char* str = pool_a_content_1[val];
  11789. const int str_l = pool_l_a_content_1[val];
  11790. for (int i = 0; i < str_l; i++) {
  11791. out(str[i]);
  11792. }
  11793. return;
  11794. }
  11795.  
  11796. int val = map(2);
  11797. switch(val) {
  11798.  
  11799. case 0:
  11800.  
  11801. break;
  11802.  
  11803. case 1:
  11804. gen_a_content(depth +1);
  11805. gen_a_content_1(depth +1);
  11806. break;
  11807.  
  11808. }
  11809. }
  11810.  
  11811.  
  11812. void gen_address_content_1(int depth) {
  11813. if (depth > max_depth) {
  11814. int val = map(1);
  11815. const char* str = pool_address_content_1[val];
  11816. const int str_l = pool_l_address_content_1[val];
  11817. for (int i = 0; i < str_l; i++) {
  11818. out(str[i]);
  11819. }
  11820. return;
  11821. }
  11822.  
  11823. int val = map(2);
  11824. switch(val) {
  11825.  
  11826. case 0:
  11827.  
  11828. break;
  11829.  
  11830. case 1:
  11831. gen_address_content(depth +1);
  11832. gen_address_content_1(depth +1);
  11833. break;
  11834.  
  11835. }
  11836. }
  11837.  
  11838.  
  11839. void gen_param_1(int depth) {
  11840. if (depth > max_depth) {
  11841. int val = map(1);
  11842. const char* str = pool_param_1[val];
  11843. const int str_l = pool_l_param_1[val];
  11844. for (int i = 0; i < str_l; i++) {
  11845. out(str[i]);
  11846. }
  11847. return;
  11848. }
  11849.  
  11850. int val = map(2);
  11851. switch(val) {
  11852.  
  11853. case 0:
  11854.  
  11855. break;
  11856.  
  11857. case 1:
  11858. gen_param(depth +1);
  11859. gen_param_1(depth +1);
  11860. break;
  11861.  
  11862. }
  11863. }
  11864.  
  11865.  
  11866. void gen_block_content_1(int depth) {
  11867. if (depth > max_depth) {
  11868. int val = map(1);
  11869. const char* str = pool_block_content_1[val];
  11870. const int str_l = pool_l_block_content_1[val];
  11871. for (int i = 0; i < str_l; i++) {
  11872. out(str[i]);
  11873. }
  11874. return;
  11875. }
  11876.  
  11877. int val = map(2);
  11878. switch(val) {
  11879.  
  11880. case 0:
  11881.  
  11882. break;
  11883.  
  11884. case 1:
  11885. gen_block_content(depth +1);
  11886. gen_block_content_1(depth +1);
  11887. break;
  11888.  
  11889. }
  11890. }
  11891.  
  11892.  
  11893. void gen_body_content_1(int depth) {
  11894. if (depth > max_depth) {
  11895. int val = map(1);
  11896. const char* str = pool_body_content_1[val];
  11897. const int str_l = pool_l_body_content_1[val];
  11898. for (int i = 0; i < str_l; i++) {
  11899. out(str[i]);
  11900. }
  11901. return;
  11902. }
  11903.  
  11904. int val = map(2);
  11905. switch(val) {
  11906.  
  11907. case 0:
  11908.  
  11909. break;
  11910.  
  11911. case 1:
  11912. gen_body_content(depth +1);
  11913. gen_body_content_1(depth +1);
  11914. break;
  11915.  
  11916. }
  11917. }
  11918.  
  11919.  
  11920. void gen_body_content_2(int depth) {
  11921. if (depth > max_depth) {
  11922. int val = map(1);
  11923. const char* str = pool_body_content_2[val];
  11924. const int str_l = pool_l_body_content_2[val];
  11925. for (int i = 0; i < str_l; i++) {
  11926. out(str[i]);
  11927. }
  11928. return;
  11929. }
  11930.  
  11931. int val = map(2);
  11932. switch(val) {
  11933.  
  11934. case 0:
  11935.  
  11936. break;
  11937.  
  11938. case 1:
  11939. gen_body_content(depth +1);
  11940. gen_body_content_2(depth +1);
  11941. break;
  11942.  
  11943. }
  11944. }
  11945.  
  11946.  
  11947. void gen_body_content_3(int depth) {
  11948. if (depth > max_depth) {
  11949. int val = map(1);
  11950. const char* str = pool_body_content_3[val];
  11951. const int str_l = pool_l_body_content_3[val];
  11952. for (int i = 0; i < str_l; i++) {
  11953. out(str[i]);
  11954. }
  11955. return;
  11956. }
  11957.  
  11958. int val = map(2);
  11959. switch(val) {
  11960.  
  11961. case 0:
  11962.  
  11963. break;
  11964.  
  11965. case 1:
  11966. gen_body_content(depth +1);
  11967. gen_body_content_3(depth +1);
  11968. break;
  11969.  
  11970. }
  11971. }
  11972.  
  11973.  
  11974. void gen__r__1(int depth) {
  11975. if (depth > max_depth) {
  11976. int val = map(1);
  11977. const char* str = pool__r__1[val];
  11978. const int str_l = pool_l__r__1[val];
  11979. for (int i = 0; i < str_l; i++) {
  11980. out(str[i]);
  11981. }
  11982. return;
  11983. }
  11984.  
  11985. int val = map(2);
  11986. switch(val) {
  11987.  
  11988. case 0:
  11989.  
  11990. break;
  11991.  
  11992. case 1:
  11993. gen__r_(depth +1);
  11994. gen__r__1(depth +1);
  11995. break;
  11996.  
  11997. }
  11998. }
  11999.  
  12000.  
  12001. void gen_li_tag_1(int depth) {
  12002. if (depth > max_depth) {
  12003. int val = map(1);
  12004. const char* str = pool_li_tag_1[val];
  12005. const int str_l = pool_l_li_tag_1[val];
  12006. for (int i = 0; i < str_l; i++) {
  12007. out(str[i]);
  12008. }
  12009. return;
  12010. }
  12011.  
  12012. int val = map(2);
  12013. switch(val) {
  12014.  
  12015. case 0:
  12016. gen_li_tag(depth +1);
  12017. break;
  12018.  
  12019. case 1:
  12020. gen_li_tag(depth +1);
  12021. gen_li_tag_1(depth +1);
  12022. break;
  12023.  
  12024. }
  12025. }
  12026.  
  12027.  
  12028. void gen_dl_content_1(int depth) {
  12029. if (depth > max_depth) {
  12030. int val = map(1);
  12031. const char* str = pool_dl_content_1[val];
  12032. const int str_l = pool_l_dl_content_1[val];
  12033. for (int i = 0; i < str_l; i++) {
  12034. out(str[i]);
  12035. }
  12036. return;
  12037. }
  12038.  
  12039. int val = map(2);
  12040. switch(val) {
  12041.  
  12042. case 0:
  12043. gen_dl_content(depth +1);
  12044. break;
  12045.  
  12046. case 1:
  12047. gen_dl_content(depth +1);
  12048. gen_dl_content_1(depth +1);
  12049. break;
  12050.  
  12051. }
  12052. }
  12053.  
  12054.  
  12055. void gen_legend_tag_1(int depth) {
  12056. if (depth > max_depth) {
  12057. int val = map(1);
  12058. const char* str = pool_legend_tag_1[val];
  12059. const int str_l = pool_l_legend_tag_1[val];
  12060. for (int i = 0; i < str_l; i++) {
  12061. out(str[i]);
  12062. }
  12063. return;
  12064. }
  12065.  
  12066. int val = map(2);
  12067. switch(val) {
  12068.  
  12069. case 0:
  12070.  
  12071. break;
  12072.  
  12073. case 1:
  12074. gen_legend_tag(depth +1);
  12075. gen_legend_tag_1(depth +1);
  12076. break;
  12077.  
  12078. }
  12079. }
  12080.  
  12081.  
  12082. void gen_form_content_1(int depth) {
  12083. if (depth > max_depth) {
  12084. int val = map(1);
  12085. const char* str = pool_form_content_1[val];
  12086. const int str_l = pool_l_form_content_1[val];
  12087. for (int i = 0; i < str_l; i++) {
  12088. out(str[i]);
  12089. }
  12090. return;
  12091. }
  12092.  
  12093. int val = map(2);
  12094. switch(val) {
  12095.  
  12096. case 0:
  12097.  
  12098. break;
  12099.  
  12100. case 1:
  12101. gen_form_content(depth +1);
  12102. gen_form_content_1(depth +1);
  12103. break;
  12104.  
  12105. }
  12106. }
  12107.  
  12108.  
  12109. void gen_flow_content_1(int depth) {
  12110. if (depth > max_depth) {
  12111. int val = map(1);
  12112. const char* str = pool_flow_content_1[val];
  12113. const int str_l = pool_l_flow_content_1[val];
  12114. for (int i = 0; i < str_l; i++) {
  12115. out(str[i]);
  12116. }
  12117. return;
  12118. }
  12119.  
  12120. int val = map(2);
  12121. switch(val) {
  12122.  
  12123. case 0:
  12124.  
  12125. break;
  12126.  
  12127. case 1:
  12128. gen_flow_content(depth +1);
  12129. gen_flow_content_1(depth +1);
  12130. break;
  12131.  
  12132. }
  12133. }
  12134.  
  12135.  
  12136. void gen_form_content_2(int depth) {
  12137. if (depth > max_depth) {
  12138. int val = map(1);
  12139. const char* str = pool_form_content_2[val];
  12140. const int str_l = pool_l_form_content_2[val];
  12141. for (int i = 0; i < str_l; i++) {
  12142. out(str[i]);
  12143. }
  12144. return;
  12145. }
  12146.  
  12147. int val = map(2);
  12148. switch(val) {
  12149.  
  12150. case 0:
  12151.  
  12152. break;
  12153.  
  12154. case 1:
  12155. gen_form_content(depth +1);
  12156. gen_form_content_2(depth +1);
  12157. break;
  12158.  
  12159. }
  12160. }
  12161.  
  12162.  
  12163. void gen_frameset_content_1(int depth) {
  12164. if (depth > max_depth) {
  12165. int val = map(1);
  12166. const char* str = pool_frameset_content_1[val];
  12167. const int str_l = pool_l_frameset_content_1[val];
  12168. for (int i = 0; i < str_l; i++) {
  12169. out(str[i]);
  12170. }
  12171. return;
  12172. }
  12173.  
  12174. int val = map(2);
  12175. switch(val) {
  12176.  
  12177. case 0:
  12178.  
  12179. break;
  12180.  
  12181. case 1:
  12182. gen_frameset_content(depth +1);
  12183. gen_frameset_content_1(depth +1);
  12184. break;
  12185.  
  12186. }
  12187. }
  12188.  
  12189.  
  12190. void gen_head_content_1(int depth) {
  12191. if (depth > max_depth) {
  12192. int val = map(1);
  12193. const char* str = pool_head_content_1[val];
  12194. const int str_l = pool_l_head_content_1[val];
  12195. for (int i = 0; i < str_l; i++) {
  12196. out(str[i]);
  12197. }
  12198. return;
  12199. }
  12200.  
  12201. int val = map(2);
  12202. switch(val) {
  12203.  
  12204. case 0:
  12205.  
  12206. break;
  12207.  
  12208. case 1:
  12209. gen_head_content(depth +1);
  12210. gen_head_content_1(depth +1);
  12211. break;
  12212.  
  12213. }
  12214. }
  12215.  
  12216.  
  12217. void gen_label_content_1(int depth) {
  12218. if (depth > max_depth) {
  12219. int val = map(1);
  12220. const char* str = pool_label_content_1[val];
  12221. const int str_l = pool_l_label_content_1[val];
  12222. for (int i = 0; i < str_l; i++) {
  12223. out(str[i]);
  12224. }
  12225. return;
  12226. }
  12227.  
  12228. int val = map(2);
  12229. switch(val) {
  12230.  
  12231. case 0:
  12232.  
  12233. break;
  12234.  
  12235. case 1:
  12236. gen_label_content(depth +1);
  12237. gen_label_content_1(depth +1);
  12238. break;
  12239.  
  12240. }
  12241. }
  12242.  
  12243.  
  12244. void gen_area_1(int depth) {
  12245. if (depth > max_depth) {
  12246. int val = map(1);
  12247. const char* str = pool_area_1[val];
  12248. const int str_l = pool_l_area_1[val];
  12249. for (int i = 0; i < str_l; i++) {
  12250. out(str[i]);
  12251. }
  12252. return;
  12253. }
  12254.  
  12255. int val = map(2);
  12256. switch(val) {
  12257.  
  12258. case 0:
  12259.  
  12260. break;
  12261.  
  12262. case 1:
  12263. gen_area(depth +1);
  12264. gen_area_1(depth +1);
  12265. break;
  12266.  
  12267. }
  12268. }
  12269.  
  12270.  
  12271. void gen_li_tag_2(int depth) {
  12272. if (depth > max_depth) {
  12273. int val = map(1);
  12274. const char* str = pool_li_tag_2[val];
  12275. const int str_l = pool_l_li_tag_2[val];
  12276. for (int i = 0; i < str_l; i++) {
  12277. out(str[i]);
  12278. }
  12279. return;
  12280. }
  12281.  
  12282. int val = map(2);
  12283. switch(val) {
  12284.  
  12285. case 0:
  12286.  
  12287. break;
  12288.  
  12289. case 1:
  12290. gen_li_tag(depth +1);
  12291. gen_li_tag_2(depth +1);
  12292. break;
  12293.  
  12294. }
  12295. }
  12296.  
  12297.  
  12298. void gen_body_content_4(int depth) {
  12299. if (depth > max_depth) {
  12300. int val = map(1);
  12301. const char* str = pool_body_content_4[val];
  12302. const int str_l = pool_l_body_content_4[val];
  12303. for (int i = 0; i < str_l; i++) {
  12304. out(str[i]);
  12305. }
  12306. return;
  12307. }
  12308.  
  12309. int val = map(2);
  12310. switch(val) {
  12311.  
  12312. case 0:
  12313.  
  12314. break;
  12315.  
  12316. case 1:
  12317. gen_body_content(depth +1);
  12318. gen_body_content_4(depth +1);
  12319. break;
  12320.  
  12321. }
  12322. }
  12323.  
  12324.  
  12325. void gen_param_2(int depth) {
  12326. if (depth > max_depth) {
  12327. int val = map(1);
  12328. const char* str = pool_param_2[val];
  12329. const int str_l = pool_l_param_2[val];
  12330. for (int i = 0; i < str_l; i++) {
  12331. out(str[i]);
  12332. }
  12333. return;
  12334. }
  12335.  
  12336. int val = map(2);
  12337. switch(val) {
  12338.  
  12339. case 0:
  12340.  
  12341. break;
  12342.  
  12343. case 1:
  12344. gen_param(depth +1);
  12345. gen_param_2(depth +1);
  12346. break;
  12347.  
  12348. }
  12349. }
  12350.  
  12351.  
  12352. void gen_li_tag_3(int depth) {
  12353. if (depth > max_depth) {
  12354. int val = map(1);
  12355. const char* str = pool_li_tag_3[val];
  12356. const int str_l = pool_l_li_tag_3[val];
  12357. for (int i = 0; i < str_l; i++) {
  12358. out(str[i]);
  12359. }
  12360. return;
  12361. }
  12362.  
  12363. int val = map(2);
  12364. switch(val) {
  12365.  
  12366. case 0:
  12367. gen_li_tag(depth +1);
  12368. break;
  12369.  
  12370. case 1:
  12371. gen_li_tag(depth +1);
  12372. gen_li_tag_3(depth +1);
  12373. break;
  12374.  
  12375. }
  12376. }
  12377.  
  12378.  
  12379. void gen_option_tag_1(int depth) {
  12380. if (depth > max_depth) {
  12381. int val = map(1);
  12382. const char* str = pool_option_tag_1[val];
  12383. const int str_l = pool_l_option_tag_1[val];
  12384. for (int i = 0; i < str_l; i++) {
  12385. out(str[i]);
  12386. }
  12387. return;
  12388. }
  12389.  
  12390. int val = map(2);
  12391. switch(val) {
  12392.  
  12393. case 0:
  12394.  
  12395. break;
  12396.  
  12397. case 1:
  12398. gen_option_tag(depth +1);
  12399. gen_option_tag_1(depth +1);
  12400. break;
  12401.  
  12402. }
  12403. }
  12404.  
  12405.  
  12406. void gen_plain_text_1(int depth) {
  12407. if (depth > max_depth) {
  12408. int val = map(1);
  12409. const char* str = pool_plain_text_1[val];
  12410. const int str_l = pool_l_plain_text_1[val];
  12411. for (int i = 0; i < str_l; i++) {
  12412. out(str[i]);
  12413. }
  12414. return;
  12415. }
  12416.  
  12417. int val = map(2);
  12418. switch(val) {
  12419.  
  12420. case 0:
  12421. gen_plain_text(depth +1);
  12422. break;
  12423.  
  12424. case 1:
  12425. gen_plain_text(depth +1);
  12426. gen_plain_text_1(depth +1);
  12427. break;
  12428.  
  12429. }
  12430. }
  12431.  
  12432.  
  12433. void gen_entity_1(int depth) {
  12434. if (depth > max_depth) {
  12435. int val = map(1);
  12436. const char* str = pool_entity_1[val];
  12437. const int str_l = pool_l_entity_1[val];
  12438. for (int i = 0; i < str_l; i++) {
  12439. out(str[i]);
  12440. }
  12441. return;
  12442. }
  12443.  
  12444. int val = map(2);
  12445. switch(val) {
  12446.  
  12447. case 0:
  12448.  
  12449. break;
  12450.  
  12451. case 1:
  12452. gen_entity(depth +1);
  12453. gen_entity_1(depth +1);
  12454. break;
  12455.  
  12456. }
  12457. }
  12458.  
  12459.  
  12460. void gen_pre_content_1(int depth) {
  12461. if (depth > max_depth) {
  12462. int val = map(1);
  12463. const char* str = pool_pre_content_1[val];
  12464. const int str_l = pool_l_pre_content_1[val];
  12465. for (int i = 0; i < str_l; i++) {
  12466. out(str[i]);
  12467. }
  12468. return;
  12469. }
  12470.  
  12471. int val = map(2);
  12472. switch(val) {
  12473.  
  12474. case 0:
  12475.  
  12476. break;
  12477.  
  12478. case 1:
  12479. gen_pre_content(depth +1);
  12480. gen_pre_content_1(depth +1);
  12481. break;
  12482.  
  12483. }
  12484. }
  12485.  
  12486.  
  12487. void gen_select_content_1(int depth) {
  12488. if (depth > max_depth) {
  12489. int val = map(1);
  12490. const char* str = pool_select_content_1[val];
  12491. const int str_l = pool_l_select_content_1[val];
  12492. for (int i = 0; i < str_l; i++) {
  12493. out(str[i]);
  12494. }
  12495. return;
  12496. }
  12497.  
  12498. int val = map(2);
  12499. switch(val) {
  12500.  
  12501. case 0:
  12502.  
  12503. break;
  12504.  
  12505. case 1:
  12506. gen_select_content(depth +1);
  12507. gen_select_content_1(depth +1);
  12508. break;
  12509.  
  12510. }
  12511. }
  12512.  
  12513.  
  12514. void gen_caption_tag_1(int depth) {
  12515. if (depth > max_depth) {
  12516. int val = map(1);
  12517. const char* str = pool_caption_tag_1[val];
  12518. const int str_l = pool_l_caption_tag_1[val];
  12519. for (int i = 0; i < str_l; i++) {
  12520. out(str[i]);
  12521. }
  12522. return;
  12523. }
  12524.  
  12525. int val = map(2);
  12526. switch(val) {
  12527.  
  12528. case 0:
  12529.  
  12530. break;
  12531.  
  12532. case 1:
  12533. gen_caption_tag(depth +1);
  12534. gen_caption_tag_1(depth +1);
  12535. break;
  12536.  
  12537. }
  12538. }
  12539.  
  12540.  
  12541. void gen_colgroup_tag_1(int depth) {
  12542. if (depth > max_depth) {
  12543. int val = map(1);
  12544. const char* str = pool_colgroup_tag_1[val];
  12545. const int str_l = pool_l_colgroup_tag_1[val];
  12546. for (int i = 0; i < str_l; i++) {
  12547. out(str[i]);
  12548. }
  12549. return;
  12550. }
  12551.  
  12552. int val = map(2);
  12553. switch(val) {
  12554.  
  12555. case 0:
  12556.  
  12557. break;
  12558.  
  12559. case 1:
  12560. gen_colgroup_tag(depth +1);
  12561. gen_colgroup_tag_1(depth +1);
  12562. break;
  12563.  
  12564. }
  12565. }
  12566.  
  12567.  
  12568. void gen_table_content_1(int depth) {
  12569. if (depth > max_depth) {
  12570. int val = map(1);
  12571. const char* str = pool_table_content_1[val];
  12572. const int str_l = pool_l_table_content_1[val];
  12573. for (int i = 0; i < str_l; i++) {
  12574. out(str[i]);
  12575. }
  12576. return;
  12577. }
  12578.  
  12579. int val = map(2);
  12580. switch(val) {
  12581.  
  12582. case 0:
  12583.  
  12584. break;
  12585.  
  12586. case 1:
  12587. gen_table_content(depth +1);
  12588. gen_table_content_1(depth +1);
  12589. break;
  12590.  
  12591. }
  12592. }
  12593.  
  12594.  
  12595. void gen_text_content_1(int depth) {
  12596. if (depth > max_depth) {
  12597. int val = map(1);
  12598. const char* str = pool_text_content_1[val];
  12599. const int str_l = pool_l_text_content_1[val];
  12600. for (int i = 0; i < str_l; i++) {
  12601. out(str[i]);
  12602. }
  12603. return;
  12604. }
  12605.  
  12606. int val = map(2);
  12607. switch(val) {
  12608.  
  12609. case 0:
  12610.  
  12611. break;
  12612.  
  12613. case 1:
  12614. gen_text_content(depth +1);
  12615. gen_text_content_1(depth +1);
  12616. break;
  12617.  
  12618. }
  12619. }
  12620.  
  12621.  
  12622. void gen_table_cell_1(int depth) {
  12623. if (depth > max_depth) {
  12624. int val = map(1);
  12625. const char* str = pool_table_cell_1[val];
  12626. const int str_l = pool_l_table_cell_1[val];
  12627. for (int i = 0; i < str_l; i++) {
  12628. out(str[i]);
  12629. }
  12630. return;
  12631. }
  12632.  
  12633. int val = map(2);
  12634. switch(val) {
  12635.  
  12636. case 0:
  12637.  
  12638. break;
  12639.  
  12640. case 1:
  12641. gen_table_cell(depth +1);
  12642. gen_table_cell_1(depth +1);
  12643. break;
  12644.  
  12645. }
  12646. }
  12647.  
  12648.  
  12649. void gen_li_tag_4(int depth) {
  12650. if (depth > max_depth) {
  12651. int val = map(1);
  12652. const char* str = pool_li_tag_4[val];
  12653. const int str_l = pool_l_li_tag_4[val];
  12654. for (int i = 0; i < str_l; i++) {
  12655. out(str[i]);
  12656. }
  12657. return;
  12658. }
  12659.  
  12660. int val = map(2);
  12661. switch(val) {
  12662.  
  12663. case 0:
  12664.  
  12665. break;
  12666.  
  12667. case 1:
  12668. gen_li_tag(depth +1);
  12669. gen_li_tag_4(depth +1);
  12670. break;
  12671.  
  12672. }
  12673. }
  12674.  
  12675.  
  12676. void gen_space_1(int depth) {
  12677. if (depth > max_depth) {
  12678. int val = map(3);
  12679. const char* str = pool_space_1[val];
  12680. const int str_l = pool_l_space_1[val];
  12681. for (int i = 0; i < str_l; i++) {
  12682. out(str[i]);
  12683. }
  12684. return;
  12685. }
  12686.  
  12687. int val = map(2);
  12688. switch(val) {
  12689.  
  12690. case 0:
  12691. gen_space(depth +1);
  12692. break;
  12693.  
  12694. case 1:
  12695. gen_space(depth +1);
  12696. gen_space_1(depth +1);
  12697. break;
  12698.  
  12699. }
  12700. }
  12701.  
  12702.  
  12703. void gen_attributes_1(int depth) {
  12704. if (depth > max_depth) {
  12705. int val = map(1);
  12706. const char* str = pool_attributes_1[val];
  12707. const int str_l = pool_l_attributes_1[val];
  12708. for (int i = 0; i < str_l; i++) {
  12709. out(str[i]);
  12710. }
  12711. return;
  12712. }
  12713.  
  12714. int val = map(2);
  12715. switch(val) {
  12716.  
  12717. case 0:
  12718.  
  12719. break;
  12720.  
  12721. case 1:
  12722. gen_attributes(depth +1);
  12723. gen_attributes_1(depth +1);
  12724. break;
  12725.  
  12726. }
  12727. }
  12728.  
  12729.  
  12730. void gen_space_2(int depth) {
  12731. if (depth > max_depth) {
  12732. int val = map(1);
  12733. const char* str = pool_space_2[val];
  12734. const int str_l = pool_l_space_2[val];
  12735. for (int i = 0; i < str_l; i++) {
  12736. out(str[i]);
  12737. }
  12738. return;
  12739. }
  12740.  
  12741. int val = map(2);
  12742. switch(val) {
  12743.  
  12744. case 0:
  12745.  
  12746. break;
  12747.  
  12748. case 1:
  12749. gen_space(depth +1);
  12750. gen_space_2(depth +1);
  12751. break;
  12752.  
  12753. }
  12754. }
  12755.  
  12756.  
  12757. void gen_anychar_1(int depth) {
  12758. if (depth > max_depth) {
  12759. int val = map(1);
  12760. const char* str = pool_anychar_1[val];
  12761. const int str_l = pool_l_anychar_1[val];
  12762. for (int i = 0; i < str_l; i++) {
  12763. out(str[i]);
  12764. }
  12765. return;
  12766. }
  12767.  
  12768. int val = map(2);
  12769. switch(val) {
  12770.  
  12771. case 0:
  12772.  
  12773. break;
  12774.  
  12775. case 1:
  12776. gen_anychar(depth +1);
  12777. gen_anychar_1(depth +1);
  12778. break;
  12779.  
  12780. }
  12781. }
  12782.  
  12783.  
  12784. void gen_uqchar_1(int depth) {
  12785. if (depth > max_depth) {
  12786. int val = map(89);
  12787. const char* str = pool_uqchar_1[val];
  12788. const int str_l = pool_l_uqchar_1[val];
  12789. for (int i = 0; i < str_l; i++) {
  12790. out(str[i]);
  12791. }
  12792. return;
  12793. }
  12794.  
  12795. int val = map(2);
  12796. switch(val) {
  12797.  
  12798. case 0:
  12799. gen_uqchar(depth +1);
  12800. break;
  12801.  
  12802. case 1:
  12803. gen_uqchar(depth +1);
  12804. gen_uqchar_1(depth +1);
  12805. break;
  12806.  
  12807. }
  12808. }
  12809.  
  12810.  
  12811. void gen_space_3(int depth) {
  12812. if (depth > max_depth) {
  12813. int val = map(3);
  12814. const char* str = pool_space_3[val];
  12815. const int str_l = pool_l_space_3[val];
  12816. for (int i = 0; i < str_l; i++) {
  12817. out(str[i]);
  12818. }
  12819. return;
  12820. }
  12821.  
  12822. int val = map(2);
  12823. switch(val) {
  12824.  
  12825. case 0:
  12826. gen_space(depth +1);
  12827. break;
  12828.  
  12829. case 1:
  12830. gen_space(depth +1);
  12831. gen_space_3(depth +1);
  12832. break;
  12833.  
  12834. }
  12835. }
  12836.  
  12837.  
  12838. void gen_init__() {
  12839. gen_start(0);
  12840. out('\n');
  12841. return;
  12842. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement