wijmo 5.20261.45-nightly.d20260105.t014601 → 5.20261.45-nightly.d20260106.t035854

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1113) hide show
  1. package/cultures/wijmo.culture.ar-AE.js +1 -1
  2. package/cultures/wijmo.culture.ar-SA.js +1 -1
  3. package/cultures/wijmo.culture.bg.js +1 -1
  4. package/cultures/wijmo.culture.ca.js +1 -1
  5. package/cultures/wijmo.culture.cs.js +1 -1
  6. package/cultures/wijmo.culture.da.js +1 -1
  7. package/cultures/wijmo.culture.de-CH.js +1 -1
  8. package/cultures/wijmo.culture.de.js +1 -1
  9. package/cultures/wijmo.culture.el.js +1 -1
  10. package/cultures/wijmo.culture.en-CA.js +1 -1
  11. package/cultures/wijmo.culture.en-GB.js +1 -1
  12. package/cultures/wijmo.culture.en.js +1 -1
  13. package/cultures/wijmo.culture.es-419.js +1 -1
  14. package/cultures/wijmo.culture.es-MX.js +1 -1
  15. package/cultures/wijmo.culture.es.js +1 -1
  16. package/cultures/wijmo.culture.et.js +1 -1
  17. package/cultures/wijmo.culture.eu.js +1 -1
  18. package/cultures/wijmo.culture.fi.js +1 -1
  19. package/cultures/wijmo.culture.fr-CA.js +1 -1
  20. package/cultures/wijmo.culture.fr.js +1 -1
  21. package/cultures/wijmo.culture.gl.js +1 -1
  22. package/cultures/wijmo.culture.he.js +1 -1
  23. package/cultures/wijmo.culture.hi.js +1 -1
  24. package/cultures/wijmo.culture.hr.js +1 -1
  25. package/cultures/wijmo.culture.hu.js +1 -1
  26. package/cultures/wijmo.culture.id.js +1 -1
  27. package/cultures/wijmo.culture.it.js +1 -1
  28. package/cultures/wijmo.culture.ja.js +1 -1
  29. package/cultures/wijmo.culture.kk.js +1 -1
  30. package/cultures/wijmo.culture.ko.js +1 -1
  31. package/cultures/wijmo.culture.lt.js +1 -1
  32. package/cultures/wijmo.culture.lv.js +1 -1
  33. package/cultures/wijmo.culture.mn-MN.js +1 -1
  34. package/cultures/wijmo.culture.nl.js +1 -1
  35. package/cultures/wijmo.culture.no.js +1 -1
  36. package/cultures/wijmo.culture.pl.js +1 -1
  37. package/cultures/wijmo.culture.pt.js +1 -1
  38. package/cultures/wijmo.culture.ro.js +1 -1
  39. package/cultures/wijmo.culture.ru.js +1 -1
  40. package/cultures/wijmo.culture.sk.js +1 -1
  41. package/cultures/wijmo.culture.sl.js +1 -1
  42. package/cultures/wijmo.culture.sr.js +1 -1
  43. package/cultures/wijmo.culture.sv.js +1 -1
  44. package/cultures/wijmo.culture.th.js +1 -1
  45. package/cultures/wijmo.culture.tr.js +1 -1
  46. package/cultures/wijmo.culture.uk.js +1 -1
  47. package/cultures/wijmo.culture.vi.js +1 -1
  48. package/cultures/wijmo.culture.zh-HK.js +1 -1
  49. package/cultures/wijmo.culture.zh-TW.js +1 -1
  50. package/cultures/wijmo.culture.zh.js +1 -1
  51. package/package.json +1 -1
  52. package/styles/misc/_constants.scss +1 -1
  53. package/styles/misc/_glyphs.scss +1 -1
  54. package/styles/misc/_mixins.scss +1 -1
  55. package/styles/misc/_variables.scss +1 -1
  56. package/styles/parts/_barcode.scss +1 -1
  57. package/styles/parts/_chart.scss +1 -1
  58. package/styles/parts/_chart_finance.scss +1 -1
  59. package/styles/parts/_chart_hierarchical.scss +1 -1
  60. package/styles/parts/_chart_interaction.scss +1 -1
  61. package/styles/parts/_chart_map.scss +1 -1
  62. package/styles/parts/_core.scss +1 -1
  63. package/styles/parts/_gauge.scss +1 -1
  64. package/styles/parts/_grid.scss +1 -1
  65. package/styles/parts/_grid_cellmaker.scss +1 -1
  66. package/styles/parts/_grid_filter.scss +1 -1
  67. package/styles/parts/_grid_grouppanel.scss +1 -1
  68. package/styles/parts/_grid_multirow.scss +1 -1
  69. package/styles/parts/_grid_search.scss +1 -1
  70. package/styles/parts/_grid_selector.scss +1 -1
  71. package/styles/parts/_grid_sheet.scss +1 -1
  72. package/styles/parts/_grid_transposed_multirow.scss +1 -1
  73. package/styles/parts/_input.scss +1 -1
  74. package/styles/parts/_labeled_input.scss +1 -1
  75. package/styles/parts/_nav.scss +1 -1
  76. package/styles/parts/_olap.scss +1 -1
  77. package/styles/parts/_viewer.scss +1 -1
  78. package/styles/themes/material/wijmo.theme.material.amber-blue.css +1 -1
  79. package/styles/themes/material/wijmo.theme.material.amber-blue.scss +1 -1
  80. package/styles/themes/material/wijmo.theme.material.amber-cyan.css +1 -1
  81. package/styles/themes/material/wijmo.theme.material.amber-cyan.scss +1 -1
  82. package/styles/themes/material/wijmo.theme.material.amber-deep_orange.css +1 -1
  83. package/styles/themes/material/wijmo.theme.material.amber-deep_orange.scss +1 -1
  84. package/styles/themes/material/wijmo.theme.material.amber-deep_purple.css +1 -1
  85. package/styles/themes/material/wijmo.theme.material.amber-deep_purple.scss +1 -1
  86. package/styles/themes/material/wijmo.theme.material.amber-green.css +1 -1
  87. package/styles/themes/material/wijmo.theme.material.amber-green.scss +1 -1
  88. package/styles/themes/material/wijmo.theme.material.amber-indigo.css +1 -1
  89. package/styles/themes/material/wijmo.theme.material.amber-indigo.scss +1 -1
  90. package/styles/themes/material/wijmo.theme.material.amber-light_blue.css +1 -1
  91. package/styles/themes/material/wijmo.theme.material.amber-light_blue.scss +1 -1
  92. package/styles/themes/material/wijmo.theme.material.amber-light_green.css +1 -1
  93. package/styles/themes/material/wijmo.theme.material.amber-light_green.scss +1 -1
  94. package/styles/themes/material/wijmo.theme.material.amber-lime.css +1 -1
  95. package/styles/themes/material/wijmo.theme.material.amber-lime.scss +1 -1
  96. package/styles/themes/material/wijmo.theme.material.amber-orange.css +1 -1
  97. package/styles/themes/material/wijmo.theme.material.amber-orange.scss +1 -1
  98. package/styles/themes/material/wijmo.theme.material.amber-pink.css +1 -1
  99. package/styles/themes/material/wijmo.theme.material.amber-pink.scss +1 -1
  100. package/styles/themes/material/wijmo.theme.material.amber-purple.css +1 -1
  101. package/styles/themes/material/wijmo.theme.material.amber-purple.scss +1 -1
  102. package/styles/themes/material/wijmo.theme.material.amber-red.css +1 -1
  103. package/styles/themes/material/wijmo.theme.material.amber-red.scss +1 -1
  104. package/styles/themes/material/wijmo.theme.material.amber-teal.css +1 -1
  105. package/styles/themes/material/wijmo.theme.material.amber-teal.scss +1 -1
  106. package/styles/themes/material/wijmo.theme.material.amber-yellow.css +1 -1
  107. package/styles/themes/material/wijmo.theme.material.amber-yellow.scss +1 -1
  108. package/styles/themes/material/wijmo.theme.material.blue-amber.css +1 -1
  109. package/styles/themes/material/wijmo.theme.material.blue-amber.scss +1 -1
  110. package/styles/themes/material/wijmo.theme.material.blue-cyan.css +1 -1
  111. package/styles/themes/material/wijmo.theme.material.blue-cyan.scss +1 -1
  112. package/styles/themes/material/wijmo.theme.material.blue-deep_orange.css +1 -1
  113. package/styles/themes/material/wijmo.theme.material.blue-deep_orange.scss +1 -1
  114. package/styles/themes/material/wijmo.theme.material.blue-deep_purple.css +1 -1
  115. package/styles/themes/material/wijmo.theme.material.blue-deep_purple.scss +1 -1
  116. package/styles/themes/material/wijmo.theme.material.blue-green.css +1 -1
  117. package/styles/themes/material/wijmo.theme.material.blue-green.scss +1 -1
  118. package/styles/themes/material/wijmo.theme.material.blue-indigo.css +1 -1
  119. package/styles/themes/material/wijmo.theme.material.blue-indigo.scss +1 -1
  120. package/styles/themes/material/wijmo.theme.material.blue-light_blue.css +1 -1
  121. package/styles/themes/material/wijmo.theme.material.blue-light_blue.scss +1 -1
  122. package/styles/themes/material/wijmo.theme.material.blue-light_green.css +1 -1
  123. package/styles/themes/material/wijmo.theme.material.blue-light_green.scss +1 -1
  124. package/styles/themes/material/wijmo.theme.material.blue-lime.css +1 -1
  125. package/styles/themes/material/wijmo.theme.material.blue-lime.scss +1 -1
  126. package/styles/themes/material/wijmo.theme.material.blue-orange.css +1 -1
  127. package/styles/themes/material/wijmo.theme.material.blue-orange.scss +1 -1
  128. package/styles/themes/material/wijmo.theme.material.blue-pink.css +1 -1
  129. package/styles/themes/material/wijmo.theme.material.blue-pink.scss +1 -1
  130. package/styles/themes/material/wijmo.theme.material.blue-purple.css +1 -1
  131. package/styles/themes/material/wijmo.theme.material.blue-purple.scss +1 -1
  132. package/styles/themes/material/wijmo.theme.material.blue-red.css +1 -1
  133. package/styles/themes/material/wijmo.theme.material.blue-red.scss +1 -1
  134. package/styles/themes/material/wijmo.theme.material.blue-teal.css +1 -1
  135. package/styles/themes/material/wijmo.theme.material.blue-teal.scss +1 -1
  136. package/styles/themes/material/wijmo.theme.material.blue-yellow.css +1 -1
  137. package/styles/themes/material/wijmo.theme.material.blue-yellow.scss +1 -1
  138. package/styles/themes/material/wijmo.theme.material.blue_grey-amber.css +1 -1
  139. package/styles/themes/material/wijmo.theme.material.blue_grey-amber.scss +1 -1
  140. package/styles/themes/material/wijmo.theme.material.blue_grey-blue.css +1 -1
  141. package/styles/themes/material/wijmo.theme.material.blue_grey-blue.scss +1 -1
  142. package/styles/themes/material/wijmo.theme.material.blue_grey-cyan.css +1 -1
  143. package/styles/themes/material/wijmo.theme.material.blue_grey-cyan.scss +1 -1
  144. package/styles/themes/material/wijmo.theme.material.blue_grey-deep_orange.css +1 -1
  145. package/styles/themes/material/wijmo.theme.material.blue_grey-deep_orange.scss +1 -1
  146. package/styles/themes/material/wijmo.theme.material.blue_grey-deep_purple.css +1 -1
  147. package/styles/themes/material/wijmo.theme.material.blue_grey-deep_purple.scss +1 -1
  148. package/styles/themes/material/wijmo.theme.material.blue_grey-green.css +1 -1
  149. package/styles/themes/material/wijmo.theme.material.blue_grey-green.scss +1 -1
  150. package/styles/themes/material/wijmo.theme.material.blue_grey-indigo.css +1 -1
  151. package/styles/themes/material/wijmo.theme.material.blue_grey-indigo.scss +1 -1
  152. package/styles/themes/material/wijmo.theme.material.blue_grey-light_blue.css +1 -1
  153. package/styles/themes/material/wijmo.theme.material.blue_grey-light_blue.scss +1 -1
  154. package/styles/themes/material/wijmo.theme.material.blue_grey-light_green.css +1 -1
  155. package/styles/themes/material/wijmo.theme.material.blue_grey-light_green.scss +1 -1
  156. package/styles/themes/material/wijmo.theme.material.blue_grey-lime.css +1 -1
  157. package/styles/themes/material/wijmo.theme.material.blue_grey-lime.scss +1 -1
  158. package/styles/themes/material/wijmo.theme.material.blue_grey-orange.css +1 -1
  159. package/styles/themes/material/wijmo.theme.material.blue_grey-orange.scss +1 -1
  160. package/styles/themes/material/wijmo.theme.material.blue_grey-pink.css +1 -1
  161. package/styles/themes/material/wijmo.theme.material.blue_grey-pink.scss +1 -1
  162. package/styles/themes/material/wijmo.theme.material.blue_grey-purple.css +1 -1
  163. package/styles/themes/material/wijmo.theme.material.blue_grey-purple.scss +1 -1
  164. package/styles/themes/material/wijmo.theme.material.blue_grey-red.css +1 -1
  165. package/styles/themes/material/wijmo.theme.material.blue_grey-red.scss +1 -1
  166. package/styles/themes/material/wijmo.theme.material.blue_grey-teal.css +1 -1
  167. package/styles/themes/material/wijmo.theme.material.blue_grey-teal.scss +1 -1
  168. package/styles/themes/material/wijmo.theme.material.blue_grey-yellow.css +1 -1
  169. package/styles/themes/material/wijmo.theme.material.blue_grey-yellow.scss +1 -1
  170. package/styles/themes/material/wijmo.theme.material.brown-amber.css +1 -1
  171. package/styles/themes/material/wijmo.theme.material.brown-amber.scss +1 -1
  172. package/styles/themes/material/wijmo.theme.material.brown-blue.css +1 -1
  173. package/styles/themes/material/wijmo.theme.material.brown-blue.scss +1 -1
  174. package/styles/themes/material/wijmo.theme.material.brown-cyan.css +1 -1
  175. package/styles/themes/material/wijmo.theme.material.brown-cyan.scss +1 -1
  176. package/styles/themes/material/wijmo.theme.material.brown-deep_orange.css +1 -1
  177. package/styles/themes/material/wijmo.theme.material.brown-deep_orange.scss +1 -1
  178. package/styles/themes/material/wijmo.theme.material.brown-deep_purple.css +1 -1
  179. package/styles/themes/material/wijmo.theme.material.brown-deep_purple.scss +1 -1
  180. package/styles/themes/material/wijmo.theme.material.brown-green.css +1 -1
  181. package/styles/themes/material/wijmo.theme.material.brown-green.scss +1 -1
  182. package/styles/themes/material/wijmo.theme.material.brown-indigo.css +1 -1
  183. package/styles/themes/material/wijmo.theme.material.brown-indigo.scss +1 -1
  184. package/styles/themes/material/wijmo.theme.material.brown-light_blue.css +1 -1
  185. package/styles/themes/material/wijmo.theme.material.brown-light_blue.scss +1 -1
  186. package/styles/themes/material/wijmo.theme.material.brown-light_green.css +1 -1
  187. package/styles/themes/material/wijmo.theme.material.brown-light_green.scss +1 -1
  188. package/styles/themes/material/wijmo.theme.material.brown-lime.css +1 -1
  189. package/styles/themes/material/wijmo.theme.material.brown-lime.scss +1 -1
  190. package/styles/themes/material/wijmo.theme.material.brown-orange.css +1 -1
  191. package/styles/themes/material/wijmo.theme.material.brown-orange.scss +1 -1
  192. package/styles/themes/material/wijmo.theme.material.brown-pink.css +1 -1
  193. package/styles/themes/material/wijmo.theme.material.brown-pink.scss +1 -1
  194. package/styles/themes/material/wijmo.theme.material.brown-purple.css +1 -1
  195. package/styles/themes/material/wijmo.theme.material.brown-purple.scss +1 -1
  196. package/styles/themes/material/wijmo.theme.material.brown-red.css +1 -1
  197. package/styles/themes/material/wijmo.theme.material.brown-red.scss +1 -1
  198. package/styles/themes/material/wijmo.theme.material.brown-teal.css +1 -1
  199. package/styles/themes/material/wijmo.theme.material.brown-teal.scss +1 -1
  200. package/styles/themes/material/wijmo.theme.material.brown-yellow.css +1 -1
  201. package/styles/themes/material/wijmo.theme.material.brown-yellow.scss +1 -1
  202. package/styles/themes/material/wijmo.theme.material.cyan-amber.css +1 -1
  203. package/styles/themes/material/wijmo.theme.material.cyan-amber.scss +1 -1
  204. package/styles/themes/material/wijmo.theme.material.cyan-blue.css +1 -1
  205. package/styles/themes/material/wijmo.theme.material.cyan-blue.scss +1 -1
  206. package/styles/themes/material/wijmo.theme.material.cyan-deep_orange.css +1 -1
  207. package/styles/themes/material/wijmo.theme.material.cyan-deep_orange.scss +1 -1
  208. package/styles/themes/material/wijmo.theme.material.cyan-deep_purple.css +1 -1
  209. package/styles/themes/material/wijmo.theme.material.cyan-deep_purple.scss +1 -1
  210. package/styles/themes/material/wijmo.theme.material.cyan-green.css +1 -1
  211. package/styles/themes/material/wijmo.theme.material.cyan-green.scss +1 -1
  212. package/styles/themes/material/wijmo.theme.material.cyan-indigo.css +1 -1
  213. package/styles/themes/material/wijmo.theme.material.cyan-indigo.scss +1 -1
  214. package/styles/themes/material/wijmo.theme.material.cyan-light_blue.css +1 -1
  215. package/styles/themes/material/wijmo.theme.material.cyan-light_blue.scss +1 -1
  216. package/styles/themes/material/wijmo.theme.material.cyan-light_green.css +1 -1
  217. package/styles/themes/material/wijmo.theme.material.cyan-light_green.scss +1 -1
  218. package/styles/themes/material/wijmo.theme.material.cyan-lime.css +1 -1
  219. package/styles/themes/material/wijmo.theme.material.cyan-lime.scss +1 -1
  220. package/styles/themes/material/wijmo.theme.material.cyan-orange.css +1 -1
  221. package/styles/themes/material/wijmo.theme.material.cyan-orange.scss +1 -1
  222. package/styles/themes/material/wijmo.theme.material.cyan-pink.css +1 -1
  223. package/styles/themes/material/wijmo.theme.material.cyan-pink.scss +1 -1
  224. package/styles/themes/material/wijmo.theme.material.cyan-purple.css +1 -1
  225. package/styles/themes/material/wijmo.theme.material.cyan-purple.scss +1 -1
  226. package/styles/themes/material/wijmo.theme.material.cyan-red.css +1 -1
  227. package/styles/themes/material/wijmo.theme.material.cyan-red.scss +1 -1
  228. package/styles/themes/material/wijmo.theme.material.cyan-teal.css +1 -1
  229. package/styles/themes/material/wijmo.theme.material.cyan-teal.scss +1 -1
  230. package/styles/themes/material/wijmo.theme.material.cyan-yellow.css +1 -1
  231. package/styles/themes/material/wijmo.theme.material.cyan-yellow.scss +1 -1
  232. package/styles/themes/material/wijmo.theme.material.deep_orange-amber.css +1 -1
  233. package/styles/themes/material/wijmo.theme.material.deep_orange-amber.scss +1 -1
  234. package/styles/themes/material/wijmo.theme.material.deep_orange-blue.css +1 -1
  235. package/styles/themes/material/wijmo.theme.material.deep_orange-blue.scss +1 -1
  236. package/styles/themes/material/wijmo.theme.material.deep_orange-cyan.css +1 -1
  237. package/styles/themes/material/wijmo.theme.material.deep_orange-cyan.scss +1 -1
  238. package/styles/themes/material/wijmo.theme.material.deep_orange-deep_purple.css +1 -1
  239. package/styles/themes/material/wijmo.theme.material.deep_orange-deep_purple.scss +1 -1
  240. package/styles/themes/material/wijmo.theme.material.deep_orange-green.css +1 -1
  241. package/styles/themes/material/wijmo.theme.material.deep_orange-green.scss +1 -1
  242. package/styles/themes/material/wijmo.theme.material.deep_orange-indigo.css +1 -1
  243. package/styles/themes/material/wijmo.theme.material.deep_orange-indigo.scss +1 -1
  244. package/styles/themes/material/wijmo.theme.material.deep_orange-light_blue.css +1 -1
  245. package/styles/themes/material/wijmo.theme.material.deep_orange-light_blue.scss +1 -1
  246. package/styles/themes/material/wijmo.theme.material.deep_orange-light_green.css +1 -1
  247. package/styles/themes/material/wijmo.theme.material.deep_orange-light_green.scss +1 -1
  248. package/styles/themes/material/wijmo.theme.material.deep_orange-lime.css +1 -1
  249. package/styles/themes/material/wijmo.theme.material.deep_orange-lime.scss +1 -1
  250. package/styles/themes/material/wijmo.theme.material.deep_orange-orange.css +1 -1
  251. package/styles/themes/material/wijmo.theme.material.deep_orange-orange.scss +1 -1
  252. package/styles/themes/material/wijmo.theme.material.deep_orange-pink.css +1 -1
  253. package/styles/themes/material/wijmo.theme.material.deep_orange-pink.scss +1 -1
  254. package/styles/themes/material/wijmo.theme.material.deep_orange-purple.css +1 -1
  255. package/styles/themes/material/wijmo.theme.material.deep_orange-purple.scss +1 -1
  256. package/styles/themes/material/wijmo.theme.material.deep_orange-red.css +1 -1
  257. package/styles/themes/material/wijmo.theme.material.deep_orange-red.scss +1 -1
  258. package/styles/themes/material/wijmo.theme.material.deep_orange-teal.css +1 -1
  259. package/styles/themes/material/wijmo.theme.material.deep_orange-teal.scss +1 -1
  260. package/styles/themes/material/wijmo.theme.material.deep_orange-yellow.css +1 -1
  261. package/styles/themes/material/wijmo.theme.material.deep_orange-yellow.scss +1 -1
  262. package/styles/themes/material/wijmo.theme.material.deep_purple-amber.css +1 -1
  263. package/styles/themes/material/wijmo.theme.material.deep_purple-amber.scss +1 -1
  264. package/styles/themes/material/wijmo.theme.material.deep_purple-blue.css +1 -1
  265. package/styles/themes/material/wijmo.theme.material.deep_purple-blue.scss +1 -1
  266. package/styles/themes/material/wijmo.theme.material.deep_purple-cyan.css +1 -1
  267. package/styles/themes/material/wijmo.theme.material.deep_purple-cyan.scss +1 -1
  268. package/styles/themes/material/wijmo.theme.material.deep_purple-deep_orange.css +1 -1
  269. package/styles/themes/material/wijmo.theme.material.deep_purple-deep_orange.scss +1 -1
  270. package/styles/themes/material/wijmo.theme.material.deep_purple-green.css +1 -1
  271. package/styles/themes/material/wijmo.theme.material.deep_purple-green.scss +1 -1
  272. package/styles/themes/material/wijmo.theme.material.deep_purple-indigo.css +1 -1
  273. package/styles/themes/material/wijmo.theme.material.deep_purple-indigo.scss +1 -1
  274. package/styles/themes/material/wijmo.theme.material.deep_purple-light_blue.css +1 -1
  275. package/styles/themes/material/wijmo.theme.material.deep_purple-light_blue.scss +1 -1
  276. package/styles/themes/material/wijmo.theme.material.deep_purple-light_green.css +1 -1
  277. package/styles/themes/material/wijmo.theme.material.deep_purple-light_green.scss +1 -1
  278. package/styles/themes/material/wijmo.theme.material.deep_purple-lime.css +1 -1
  279. package/styles/themes/material/wijmo.theme.material.deep_purple-lime.scss +1 -1
  280. package/styles/themes/material/wijmo.theme.material.deep_purple-orange.css +1 -1
  281. package/styles/themes/material/wijmo.theme.material.deep_purple-orange.scss +1 -1
  282. package/styles/themes/material/wijmo.theme.material.deep_purple-pink.css +1 -1
  283. package/styles/themes/material/wijmo.theme.material.deep_purple-pink.scss +1 -1
  284. package/styles/themes/material/wijmo.theme.material.deep_purple-purple.css +1 -1
  285. package/styles/themes/material/wijmo.theme.material.deep_purple-purple.scss +1 -1
  286. package/styles/themes/material/wijmo.theme.material.deep_purple-red.css +1 -1
  287. package/styles/themes/material/wijmo.theme.material.deep_purple-red.scss +1 -1
  288. package/styles/themes/material/wijmo.theme.material.deep_purple-teal.css +1 -1
  289. package/styles/themes/material/wijmo.theme.material.deep_purple-teal.scss +1 -1
  290. package/styles/themes/material/wijmo.theme.material.deep_purple-yellow.css +1 -1
  291. package/styles/themes/material/wijmo.theme.material.deep_purple-yellow.scss +1 -1
  292. package/styles/themes/material/wijmo.theme.material.green-amber.css +1 -1
  293. package/styles/themes/material/wijmo.theme.material.green-amber.scss +1 -1
  294. package/styles/themes/material/wijmo.theme.material.green-blue.css +1 -1
  295. package/styles/themes/material/wijmo.theme.material.green-blue.scss +1 -1
  296. package/styles/themes/material/wijmo.theme.material.green-cyan.css +1 -1
  297. package/styles/themes/material/wijmo.theme.material.green-cyan.scss +1 -1
  298. package/styles/themes/material/wijmo.theme.material.green-deep_orange.css +1 -1
  299. package/styles/themes/material/wijmo.theme.material.green-deep_orange.scss +1 -1
  300. package/styles/themes/material/wijmo.theme.material.green-deep_purple.css +1 -1
  301. package/styles/themes/material/wijmo.theme.material.green-deep_purple.scss +1 -1
  302. package/styles/themes/material/wijmo.theme.material.green-indigo.css +1 -1
  303. package/styles/themes/material/wijmo.theme.material.green-indigo.scss +1 -1
  304. package/styles/themes/material/wijmo.theme.material.green-light_blue.css +1 -1
  305. package/styles/themes/material/wijmo.theme.material.green-light_blue.scss +1 -1
  306. package/styles/themes/material/wijmo.theme.material.green-light_green.css +1 -1
  307. package/styles/themes/material/wijmo.theme.material.green-light_green.scss +1 -1
  308. package/styles/themes/material/wijmo.theme.material.green-lime.css +1 -1
  309. package/styles/themes/material/wijmo.theme.material.green-lime.scss +1 -1
  310. package/styles/themes/material/wijmo.theme.material.green-orange.css +1 -1
  311. package/styles/themes/material/wijmo.theme.material.green-orange.scss +1 -1
  312. package/styles/themes/material/wijmo.theme.material.green-pink.css +1 -1
  313. package/styles/themes/material/wijmo.theme.material.green-pink.scss +1 -1
  314. package/styles/themes/material/wijmo.theme.material.green-purple.css +1 -1
  315. package/styles/themes/material/wijmo.theme.material.green-purple.scss +1 -1
  316. package/styles/themes/material/wijmo.theme.material.green-red.css +1 -1
  317. package/styles/themes/material/wijmo.theme.material.green-red.scss +1 -1
  318. package/styles/themes/material/wijmo.theme.material.green-teal.css +1 -1
  319. package/styles/themes/material/wijmo.theme.material.green-teal.scss +1 -1
  320. package/styles/themes/material/wijmo.theme.material.green-yellow.css +1 -1
  321. package/styles/themes/material/wijmo.theme.material.green-yellow.scss +1 -1
  322. package/styles/themes/material/wijmo.theme.material.grey-amber.css +1 -1
  323. package/styles/themes/material/wijmo.theme.material.grey-amber.scss +1 -1
  324. package/styles/themes/material/wijmo.theme.material.grey-blue.css +1 -1
  325. package/styles/themes/material/wijmo.theme.material.grey-blue.scss +1 -1
  326. package/styles/themes/material/wijmo.theme.material.grey-cyan.css +1 -1
  327. package/styles/themes/material/wijmo.theme.material.grey-cyan.scss +1 -1
  328. package/styles/themes/material/wijmo.theme.material.grey-deep_orange.css +1 -1
  329. package/styles/themes/material/wijmo.theme.material.grey-deep_orange.scss +1 -1
  330. package/styles/themes/material/wijmo.theme.material.grey-deep_purple.css +1 -1
  331. package/styles/themes/material/wijmo.theme.material.grey-deep_purple.scss +1 -1
  332. package/styles/themes/material/wijmo.theme.material.grey-green.css +1 -1
  333. package/styles/themes/material/wijmo.theme.material.grey-green.scss +1 -1
  334. package/styles/themes/material/wijmo.theme.material.grey-indigo.css +1 -1
  335. package/styles/themes/material/wijmo.theme.material.grey-indigo.scss +1 -1
  336. package/styles/themes/material/wijmo.theme.material.grey-light_blue.css +1 -1
  337. package/styles/themes/material/wijmo.theme.material.grey-light_blue.scss +1 -1
  338. package/styles/themes/material/wijmo.theme.material.grey-light_green.css +1 -1
  339. package/styles/themes/material/wijmo.theme.material.grey-light_green.scss +1 -1
  340. package/styles/themes/material/wijmo.theme.material.grey-lime.css +1 -1
  341. package/styles/themes/material/wijmo.theme.material.grey-lime.scss +1 -1
  342. package/styles/themes/material/wijmo.theme.material.grey-orange.css +1 -1
  343. package/styles/themes/material/wijmo.theme.material.grey-orange.scss +1 -1
  344. package/styles/themes/material/wijmo.theme.material.grey-pink.css +1 -1
  345. package/styles/themes/material/wijmo.theme.material.grey-pink.scss +1 -1
  346. package/styles/themes/material/wijmo.theme.material.grey-purple.css +1 -1
  347. package/styles/themes/material/wijmo.theme.material.grey-purple.scss +1 -1
  348. package/styles/themes/material/wijmo.theme.material.grey-red.css +1 -1
  349. package/styles/themes/material/wijmo.theme.material.grey-red.scss +1 -1
  350. package/styles/themes/material/wijmo.theme.material.grey-teal.css +1 -1
  351. package/styles/themes/material/wijmo.theme.material.grey-teal.scss +1 -1
  352. package/styles/themes/material/wijmo.theme.material.grey-yellow.css +1 -1
  353. package/styles/themes/material/wijmo.theme.material.grey-yellow.scss +1 -1
  354. package/styles/themes/material/wijmo.theme.material.indigo-amber.css +1 -1
  355. package/styles/themes/material/wijmo.theme.material.indigo-amber.scss +1 -1
  356. package/styles/themes/material/wijmo.theme.material.indigo-blue.css +1 -1
  357. package/styles/themes/material/wijmo.theme.material.indigo-blue.scss +1 -1
  358. package/styles/themes/material/wijmo.theme.material.indigo-cyan.css +1 -1
  359. package/styles/themes/material/wijmo.theme.material.indigo-cyan.scss +1 -1
  360. package/styles/themes/material/wijmo.theme.material.indigo-deep_orange.css +1 -1
  361. package/styles/themes/material/wijmo.theme.material.indigo-deep_orange.scss +1 -1
  362. package/styles/themes/material/wijmo.theme.material.indigo-deep_purple.css +1 -1
  363. package/styles/themes/material/wijmo.theme.material.indigo-deep_purple.scss +1 -1
  364. package/styles/themes/material/wijmo.theme.material.indigo-green.css +1 -1
  365. package/styles/themes/material/wijmo.theme.material.indigo-green.scss +1 -1
  366. package/styles/themes/material/wijmo.theme.material.indigo-light_blue.css +1 -1
  367. package/styles/themes/material/wijmo.theme.material.indigo-light_blue.scss +1 -1
  368. package/styles/themes/material/wijmo.theme.material.indigo-light_green.css +1 -1
  369. package/styles/themes/material/wijmo.theme.material.indigo-light_green.scss +1 -1
  370. package/styles/themes/material/wijmo.theme.material.indigo-lime.css +1 -1
  371. package/styles/themes/material/wijmo.theme.material.indigo-lime.scss +1 -1
  372. package/styles/themes/material/wijmo.theme.material.indigo-orange.css +1 -1
  373. package/styles/themes/material/wijmo.theme.material.indigo-orange.scss +1 -1
  374. package/styles/themes/material/wijmo.theme.material.indigo-pink.css +1 -1
  375. package/styles/themes/material/wijmo.theme.material.indigo-pink.scss +1 -1
  376. package/styles/themes/material/wijmo.theme.material.indigo-purple.css +1 -1
  377. package/styles/themes/material/wijmo.theme.material.indigo-purple.scss +1 -1
  378. package/styles/themes/material/wijmo.theme.material.indigo-red.css +1 -1
  379. package/styles/themes/material/wijmo.theme.material.indigo-red.scss +1 -1
  380. package/styles/themes/material/wijmo.theme.material.indigo-teal.css +1 -1
  381. package/styles/themes/material/wijmo.theme.material.indigo-teal.scss +1 -1
  382. package/styles/themes/material/wijmo.theme.material.indigo-yellow.css +1 -1
  383. package/styles/themes/material/wijmo.theme.material.indigo-yellow.scss +1 -1
  384. package/styles/themes/material/wijmo.theme.material.light_blue-amber.css +1 -1
  385. package/styles/themes/material/wijmo.theme.material.light_blue-amber.scss +1 -1
  386. package/styles/themes/material/wijmo.theme.material.light_blue-blue.css +1 -1
  387. package/styles/themes/material/wijmo.theme.material.light_blue-blue.scss +1 -1
  388. package/styles/themes/material/wijmo.theme.material.light_blue-cyan.css +1 -1
  389. package/styles/themes/material/wijmo.theme.material.light_blue-cyan.scss +1 -1
  390. package/styles/themes/material/wijmo.theme.material.light_blue-deep_orange.css +1 -1
  391. package/styles/themes/material/wijmo.theme.material.light_blue-deep_orange.scss +1 -1
  392. package/styles/themes/material/wijmo.theme.material.light_blue-deep_purple.css +1 -1
  393. package/styles/themes/material/wijmo.theme.material.light_blue-deep_purple.scss +1 -1
  394. package/styles/themes/material/wijmo.theme.material.light_blue-green.css +1 -1
  395. package/styles/themes/material/wijmo.theme.material.light_blue-green.scss +1 -1
  396. package/styles/themes/material/wijmo.theme.material.light_blue-indigo.css +1 -1
  397. package/styles/themes/material/wijmo.theme.material.light_blue-indigo.scss +1 -1
  398. package/styles/themes/material/wijmo.theme.material.light_blue-light_green.css +1 -1
  399. package/styles/themes/material/wijmo.theme.material.light_blue-light_green.scss +1 -1
  400. package/styles/themes/material/wijmo.theme.material.light_blue-lime.css +1 -1
  401. package/styles/themes/material/wijmo.theme.material.light_blue-lime.scss +1 -1
  402. package/styles/themes/material/wijmo.theme.material.light_blue-orange.css +1 -1
  403. package/styles/themes/material/wijmo.theme.material.light_blue-orange.scss +1 -1
  404. package/styles/themes/material/wijmo.theme.material.light_blue-pink.css +1 -1
  405. package/styles/themes/material/wijmo.theme.material.light_blue-pink.scss +1 -1
  406. package/styles/themes/material/wijmo.theme.material.light_blue-purple.css +1 -1
  407. package/styles/themes/material/wijmo.theme.material.light_blue-purple.scss +1 -1
  408. package/styles/themes/material/wijmo.theme.material.light_blue-red.css +1 -1
  409. package/styles/themes/material/wijmo.theme.material.light_blue-red.scss +1 -1
  410. package/styles/themes/material/wijmo.theme.material.light_blue-teal.css +1 -1
  411. package/styles/themes/material/wijmo.theme.material.light_blue-teal.scss +1 -1
  412. package/styles/themes/material/wijmo.theme.material.light_blue-yellow.css +1 -1
  413. package/styles/themes/material/wijmo.theme.material.light_blue-yellow.scss +1 -1
  414. package/styles/themes/material/wijmo.theme.material.light_green-amber.css +1 -1
  415. package/styles/themes/material/wijmo.theme.material.light_green-amber.scss +1 -1
  416. package/styles/themes/material/wijmo.theme.material.light_green-blue.css +1 -1
  417. package/styles/themes/material/wijmo.theme.material.light_green-blue.scss +1 -1
  418. package/styles/themes/material/wijmo.theme.material.light_green-cyan.css +1 -1
  419. package/styles/themes/material/wijmo.theme.material.light_green-cyan.scss +1 -1
  420. package/styles/themes/material/wijmo.theme.material.light_green-deep_orange.css +1 -1
  421. package/styles/themes/material/wijmo.theme.material.light_green-deep_orange.scss +1 -1
  422. package/styles/themes/material/wijmo.theme.material.light_green-deep_purple.css +1 -1
  423. package/styles/themes/material/wijmo.theme.material.light_green-deep_purple.scss +1 -1
  424. package/styles/themes/material/wijmo.theme.material.light_green-green.css +1 -1
  425. package/styles/themes/material/wijmo.theme.material.light_green-green.scss +1 -1
  426. package/styles/themes/material/wijmo.theme.material.light_green-indigo.css +1 -1
  427. package/styles/themes/material/wijmo.theme.material.light_green-indigo.scss +1 -1
  428. package/styles/themes/material/wijmo.theme.material.light_green-light_blue.css +1 -1
  429. package/styles/themes/material/wijmo.theme.material.light_green-light_blue.scss +1 -1
  430. package/styles/themes/material/wijmo.theme.material.light_green-lime.css +1 -1
  431. package/styles/themes/material/wijmo.theme.material.light_green-lime.scss +1 -1
  432. package/styles/themes/material/wijmo.theme.material.light_green-orange.css +1 -1
  433. package/styles/themes/material/wijmo.theme.material.light_green-orange.scss +1 -1
  434. package/styles/themes/material/wijmo.theme.material.light_green-pink.css +1 -1
  435. package/styles/themes/material/wijmo.theme.material.light_green-pink.scss +1 -1
  436. package/styles/themes/material/wijmo.theme.material.light_green-purple.css +1 -1
  437. package/styles/themes/material/wijmo.theme.material.light_green-purple.scss +1 -1
  438. package/styles/themes/material/wijmo.theme.material.light_green-red.css +1 -1
  439. package/styles/themes/material/wijmo.theme.material.light_green-red.scss +1 -1
  440. package/styles/themes/material/wijmo.theme.material.light_green-teal.css +1 -1
  441. package/styles/themes/material/wijmo.theme.material.light_green-teal.scss +1 -1
  442. package/styles/themes/material/wijmo.theme.material.light_green-yellow.css +1 -1
  443. package/styles/themes/material/wijmo.theme.material.light_green-yellow.scss +1 -1
  444. package/styles/themes/material/wijmo.theme.material.lime-amber.css +1 -1
  445. package/styles/themes/material/wijmo.theme.material.lime-amber.scss +1 -1
  446. package/styles/themes/material/wijmo.theme.material.lime-blue.css +1 -1
  447. package/styles/themes/material/wijmo.theme.material.lime-blue.scss +1 -1
  448. package/styles/themes/material/wijmo.theme.material.lime-cyan.css +1 -1
  449. package/styles/themes/material/wijmo.theme.material.lime-cyan.scss +1 -1
  450. package/styles/themes/material/wijmo.theme.material.lime-deep_orange.css +1 -1
  451. package/styles/themes/material/wijmo.theme.material.lime-deep_orange.scss +1 -1
  452. package/styles/themes/material/wijmo.theme.material.lime-deep_purple.css +1 -1
  453. package/styles/themes/material/wijmo.theme.material.lime-deep_purple.scss +1 -1
  454. package/styles/themes/material/wijmo.theme.material.lime-green.css +1 -1
  455. package/styles/themes/material/wijmo.theme.material.lime-green.scss +1 -1
  456. package/styles/themes/material/wijmo.theme.material.lime-indigo.css +1 -1
  457. package/styles/themes/material/wijmo.theme.material.lime-indigo.scss +1 -1
  458. package/styles/themes/material/wijmo.theme.material.lime-light_blue.css +1 -1
  459. package/styles/themes/material/wijmo.theme.material.lime-light_blue.scss +1 -1
  460. package/styles/themes/material/wijmo.theme.material.lime-light_green.css +1 -1
  461. package/styles/themes/material/wijmo.theme.material.lime-light_green.scss +1 -1
  462. package/styles/themes/material/wijmo.theme.material.lime-orange.css +1 -1
  463. package/styles/themes/material/wijmo.theme.material.lime-orange.scss +1 -1
  464. package/styles/themes/material/wijmo.theme.material.lime-pink.css +1 -1
  465. package/styles/themes/material/wijmo.theme.material.lime-pink.scss +1 -1
  466. package/styles/themes/material/wijmo.theme.material.lime-purple.css +1 -1
  467. package/styles/themes/material/wijmo.theme.material.lime-purple.scss +1 -1
  468. package/styles/themes/material/wijmo.theme.material.lime-red.css +1 -1
  469. package/styles/themes/material/wijmo.theme.material.lime-red.scss +1 -1
  470. package/styles/themes/material/wijmo.theme.material.lime-teal.css +1 -1
  471. package/styles/themes/material/wijmo.theme.material.lime-teal.scss +1 -1
  472. package/styles/themes/material/wijmo.theme.material.lime-yellow.css +1 -1
  473. package/styles/themes/material/wijmo.theme.material.lime-yellow.scss +1 -1
  474. package/styles/themes/material/wijmo.theme.material.orange-amber.css +1 -1
  475. package/styles/themes/material/wijmo.theme.material.orange-amber.scss +1 -1
  476. package/styles/themes/material/wijmo.theme.material.orange-blue.css +1 -1
  477. package/styles/themes/material/wijmo.theme.material.orange-blue.scss +1 -1
  478. package/styles/themes/material/wijmo.theme.material.orange-cyan.css +1 -1
  479. package/styles/themes/material/wijmo.theme.material.orange-cyan.scss +1 -1
  480. package/styles/themes/material/wijmo.theme.material.orange-deep_orange.css +1 -1
  481. package/styles/themes/material/wijmo.theme.material.orange-deep_orange.scss +1 -1
  482. package/styles/themes/material/wijmo.theme.material.orange-deep_purple.css +1 -1
  483. package/styles/themes/material/wijmo.theme.material.orange-deep_purple.scss +1 -1
  484. package/styles/themes/material/wijmo.theme.material.orange-green.css +1 -1
  485. package/styles/themes/material/wijmo.theme.material.orange-green.scss +1 -1
  486. package/styles/themes/material/wijmo.theme.material.orange-indigo.css +1 -1
  487. package/styles/themes/material/wijmo.theme.material.orange-indigo.scss +1 -1
  488. package/styles/themes/material/wijmo.theme.material.orange-light_blue.css +1 -1
  489. package/styles/themes/material/wijmo.theme.material.orange-light_blue.scss +1 -1
  490. package/styles/themes/material/wijmo.theme.material.orange-light_green.css +1 -1
  491. package/styles/themes/material/wijmo.theme.material.orange-light_green.scss +1 -1
  492. package/styles/themes/material/wijmo.theme.material.orange-lime.css +1 -1
  493. package/styles/themes/material/wijmo.theme.material.orange-lime.scss +1 -1
  494. package/styles/themes/material/wijmo.theme.material.orange-pink.css +1 -1
  495. package/styles/themes/material/wijmo.theme.material.orange-pink.scss +1 -1
  496. package/styles/themes/material/wijmo.theme.material.orange-purple.css +1 -1
  497. package/styles/themes/material/wijmo.theme.material.orange-purple.scss +1 -1
  498. package/styles/themes/material/wijmo.theme.material.orange-red.css +1 -1
  499. package/styles/themes/material/wijmo.theme.material.orange-red.scss +1 -1
  500. package/styles/themes/material/wijmo.theme.material.orange-teal.css +1 -1
  501. package/styles/themes/material/wijmo.theme.material.orange-teal.scss +1 -1
  502. package/styles/themes/material/wijmo.theme.material.orange-yellow.css +1 -1
  503. package/styles/themes/material/wijmo.theme.material.orange-yellow.scss +1 -1
  504. package/styles/themes/material/wijmo.theme.material.pink-amber.css +1 -1
  505. package/styles/themes/material/wijmo.theme.material.pink-amber.scss +1 -1
  506. package/styles/themes/material/wijmo.theme.material.pink-blue.css +1 -1
  507. package/styles/themes/material/wijmo.theme.material.pink-blue.scss +1 -1
  508. package/styles/themes/material/wijmo.theme.material.pink-cyan.css +1 -1
  509. package/styles/themes/material/wijmo.theme.material.pink-cyan.scss +1 -1
  510. package/styles/themes/material/wijmo.theme.material.pink-deep_orange.css +1 -1
  511. package/styles/themes/material/wijmo.theme.material.pink-deep_orange.scss +1 -1
  512. package/styles/themes/material/wijmo.theme.material.pink-deep_purple.css +1 -1
  513. package/styles/themes/material/wijmo.theme.material.pink-deep_purple.scss +1 -1
  514. package/styles/themes/material/wijmo.theme.material.pink-green.css +1 -1
  515. package/styles/themes/material/wijmo.theme.material.pink-green.scss +1 -1
  516. package/styles/themes/material/wijmo.theme.material.pink-indigo.css +1 -1
  517. package/styles/themes/material/wijmo.theme.material.pink-indigo.scss +1 -1
  518. package/styles/themes/material/wijmo.theme.material.pink-light_blue.css +1 -1
  519. package/styles/themes/material/wijmo.theme.material.pink-light_blue.scss +1 -1
  520. package/styles/themes/material/wijmo.theme.material.pink-light_green.css +1 -1
  521. package/styles/themes/material/wijmo.theme.material.pink-light_green.scss +1 -1
  522. package/styles/themes/material/wijmo.theme.material.pink-lime.css +1 -1
  523. package/styles/themes/material/wijmo.theme.material.pink-lime.scss +1 -1
  524. package/styles/themes/material/wijmo.theme.material.pink-orange.css +1 -1
  525. package/styles/themes/material/wijmo.theme.material.pink-orange.scss +1 -1
  526. package/styles/themes/material/wijmo.theme.material.pink-purple.css +1 -1
  527. package/styles/themes/material/wijmo.theme.material.pink-purple.scss +1 -1
  528. package/styles/themes/material/wijmo.theme.material.pink-red.css +1 -1
  529. package/styles/themes/material/wijmo.theme.material.pink-red.scss +1 -1
  530. package/styles/themes/material/wijmo.theme.material.pink-teal.css +1 -1
  531. package/styles/themes/material/wijmo.theme.material.pink-teal.scss +1 -1
  532. package/styles/themes/material/wijmo.theme.material.pink-yellow.css +1 -1
  533. package/styles/themes/material/wijmo.theme.material.pink-yellow.scss +1 -1
  534. package/styles/themes/material/wijmo.theme.material.purple-amber.css +1 -1
  535. package/styles/themes/material/wijmo.theme.material.purple-amber.scss +1 -1
  536. package/styles/themes/material/wijmo.theme.material.purple-blue.css +1 -1
  537. package/styles/themes/material/wijmo.theme.material.purple-blue.scss +1 -1
  538. package/styles/themes/material/wijmo.theme.material.purple-cyan.css +1 -1
  539. package/styles/themes/material/wijmo.theme.material.purple-cyan.scss +1 -1
  540. package/styles/themes/material/wijmo.theme.material.purple-deep_orange.css +1 -1
  541. package/styles/themes/material/wijmo.theme.material.purple-deep_orange.scss +1 -1
  542. package/styles/themes/material/wijmo.theme.material.purple-deep_purple.css +1 -1
  543. package/styles/themes/material/wijmo.theme.material.purple-deep_purple.scss +1 -1
  544. package/styles/themes/material/wijmo.theme.material.purple-green.css +1 -1
  545. package/styles/themes/material/wijmo.theme.material.purple-green.scss +1 -1
  546. package/styles/themes/material/wijmo.theme.material.purple-indigo.css +1 -1
  547. package/styles/themes/material/wijmo.theme.material.purple-indigo.scss +1 -1
  548. package/styles/themes/material/wijmo.theme.material.purple-light_blue.css +1 -1
  549. package/styles/themes/material/wijmo.theme.material.purple-light_blue.scss +1 -1
  550. package/styles/themes/material/wijmo.theme.material.purple-light_green.css +1 -1
  551. package/styles/themes/material/wijmo.theme.material.purple-light_green.scss +1 -1
  552. package/styles/themes/material/wijmo.theme.material.purple-lime.css +1 -1
  553. package/styles/themes/material/wijmo.theme.material.purple-lime.scss +1 -1
  554. package/styles/themes/material/wijmo.theme.material.purple-orange.css +1 -1
  555. package/styles/themes/material/wijmo.theme.material.purple-orange.scss +1 -1
  556. package/styles/themes/material/wijmo.theme.material.purple-pink.css +1 -1
  557. package/styles/themes/material/wijmo.theme.material.purple-pink.scss +1 -1
  558. package/styles/themes/material/wijmo.theme.material.purple-red.css +1 -1
  559. package/styles/themes/material/wijmo.theme.material.purple-red.scss +1 -1
  560. package/styles/themes/material/wijmo.theme.material.purple-teal.css +1 -1
  561. package/styles/themes/material/wijmo.theme.material.purple-teal.scss +1 -1
  562. package/styles/themes/material/wijmo.theme.material.purple-yellow.css +1 -1
  563. package/styles/themes/material/wijmo.theme.material.purple-yellow.scss +1 -1
  564. package/styles/themes/material/wijmo.theme.material.red-amber.css +1 -1
  565. package/styles/themes/material/wijmo.theme.material.red-amber.scss +1 -1
  566. package/styles/themes/material/wijmo.theme.material.red-blue.css +1 -1
  567. package/styles/themes/material/wijmo.theme.material.red-blue.scss +1 -1
  568. package/styles/themes/material/wijmo.theme.material.red-cyan.css +1 -1
  569. package/styles/themes/material/wijmo.theme.material.red-cyan.scss +1 -1
  570. package/styles/themes/material/wijmo.theme.material.red-deep_orange.css +1 -1
  571. package/styles/themes/material/wijmo.theme.material.red-deep_orange.scss +1 -1
  572. package/styles/themes/material/wijmo.theme.material.red-deep_purple.css +1 -1
  573. package/styles/themes/material/wijmo.theme.material.red-deep_purple.scss +1 -1
  574. package/styles/themes/material/wijmo.theme.material.red-green.css +1 -1
  575. package/styles/themes/material/wijmo.theme.material.red-green.scss +1 -1
  576. package/styles/themes/material/wijmo.theme.material.red-indigo.css +1 -1
  577. package/styles/themes/material/wijmo.theme.material.red-indigo.scss +1 -1
  578. package/styles/themes/material/wijmo.theme.material.red-light_blue.css +1 -1
  579. package/styles/themes/material/wijmo.theme.material.red-light_blue.scss +1 -1
  580. package/styles/themes/material/wijmo.theme.material.red-light_green.css +1 -1
  581. package/styles/themes/material/wijmo.theme.material.red-light_green.scss +1 -1
  582. package/styles/themes/material/wijmo.theme.material.red-lime.css +1 -1
  583. package/styles/themes/material/wijmo.theme.material.red-lime.scss +1 -1
  584. package/styles/themes/material/wijmo.theme.material.red-orange.css +1 -1
  585. package/styles/themes/material/wijmo.theme.material.red-orange.scss +1 -1
  586. package/styles/themes/material/wijmo.theme.material.red-pink.css +1 -1
  587. package/styles/themes/material/wijmo.theme.material.red-pink.scss +1 -1
  588. package/styles/themes/material/wijmo.theme.material.red-purple.css +1 -1
  589. package/styles/themes/material/wijmo.theme.material.red-purple.scss +1 -1
  590. package/styles/themes/material/wijmo.theme.material.red-teal.css +1 -1
  591. package/styles/themes/material/wijmo.theme.material.red-teal.scss +1 -1
  592. package/styles/themes/material/wijmo.theme.material.red-yellow.css +1 -1
  593. package/styles/themes/material/wijmo.theme.material.red-yellow.scss +1 -1
  594. package/styles/themes/material/wijmo.theme.material.teal-amber.css +1 -1
  595. package/styles/themes/material/wijmo.theme.material.teal-amber.scss +1 -1
  596. package/styles/themes/material/wijmo.theme.material.teal-blue.css +1 -1
  597. package/styles/themes/material/wijmo.theme.material.teal-blue.scss +1 -1
  598. package/styles/themes/material/wijmo.theme.material.teal-cyan.css +1 -1
  599. package/styles/themes/material/wijmo.theme.material.teal-cyan.scss +1 -1
  600. package/styles/themes/material/wijmo.theme.material.teal-deep_orange.css +1 -1
  601. package/styles/themes/material/wijmo.theme.material.teal-deep_orange.scss +1 -1
  602. package/styles/themes/material/wijmo.theme.material.teal-deep_purple.css +1 -1
  603. package/styles/themes/material/wijmo.theme.material.teal-deep_purple.scss +1 -1
  604. package/styles/themes/material/wijmo.theme.material.teal-green.css +1 -1
  605. package/styles/themes/material/wijmo.theme.material.teal-green.scss +1 -1
  606. package/styles/themes/material/wijmo.theme.material.teal-indigo.css +1 -1
  607. package/styles/themes/material/wijmo.theme.material.teal-indigo.scss +1 -1
  608. package/styles/themes/material/wijmo.theme.material.teal-light_blue.css +1 -1
  609. package/styles/themes/material/wijmo.theme.material.teal-light_blue.scss +1 -1
  610. package/styles/themes/material/wijmo.theme.material.teal-light_green.css +1 -1
  611. package/styles/themes/material/wijmo.theme.material.teal-light_green.scss +1 -1
  612. package/styles/themes/material/wijmo.theme.material.teal-lime.css +1 -1
  613. package/styles/themes/material/wijmo.theme.material.teal-lime.scss +1 -1
  614. package/styles/themes/material/wijmo.theme.material.teal-orange.css +1 -1
  615. package/styles/themes/material/wijmo.theme.material.teal-orange.scss +1 -1
  616. package/styles/themes/material/wijmo.theme.material.teal-pink.css +1 -1
  617. package/styles/themes/material/wijmo.theme.material.teal-pink.scss +1 -1
  618. package/styles/themes/material/wijmo.theme.material.teal-purple.css +1 -1
  619. package/styles/themes/material/wijmo.theme.material.teal-purple.scss +1 -1
  620. package/styles/themes/material/wijmo.theme.material.teal-red.css +1 -1
  621. package/styles/themes/material/wijmo.theme.material.teal-red.scss +1 -1
  622. package/styles/themes/material/wijmo.theme.material.teal-yellow.css +1 -1
  623. package/styles/themes/material/wijmo.theme.material.teal-yellow.scss +1 -1
  624. package/styles/themes/material/wijmo.theme.material.yellow-amber.css +1 -1
  625. package/styles/themes/material/wijmo.theme.material.yellow-amber.scss +1 -1
  626. package/styles/themes/material/wijmo.theme.material.yellow-blue.css +1 -1
  627. package/styles/themes/material/wijmo.theme.material.yellow-blue.scss +1 -1
  628. package/styles/themes/material/wijmo.theme.material.yellow-cyan.css +1 -1
  629. package/styles/themes/material/wijmo.theme.material.yellow-cyan.scss +1 -1
  630. package/styles/themes/material/wijmo.theme.material.yellow-deep_orange.css +1 -1
  631. package/styles/themes/material/wijmo.theme.material.yellow-deep_orange.scss +1 -1
  632. package/styles/themes/material/wijmo.theme.material.yellow-deep_purple.css +1 -1
  633. package/styles/themes/material/wijmo.theme.material.yellow-deep_purple.scss +1 -1
  634. package/styles/themes/material/wijmo.theme.material.yellow-green.css +1 -1
  635. package/styles/themes/material/wijmo.theme.material.yellow-green.scss +1 -1
  636. package/styles/themes/material/wijmo.theme.material.yellow-indigo.css +1 -1
  637. package/styles/themes/material/wijmo.theme.material.yellow-indigo.scss +1 -1
  638. package/styles/themes/material/wijmo.theme.material.yellow-light_blue.css +1 -1
  639. package/styles/themes/material/wijmo.theme.material.yellow-light_blue.scss +1 -1
  640. package/styles/themes/material/wijmo.theme.material.yellow-light_green.css +1 -1
  641. package/styles/themes/material/wijmo.theme.material.yellow-light_green.scss +1 -1
  642. package/styles/themes/material/wijmo.theme.material.yellow-lime.css +1 -1
  643. package/styles/themes/material/wijmo.theme.material.yellow-lime.scss +1 -1
  644. package/styles/themes/material/wijmo.theme.material.yellow-orange.css +1 -1
  645. package/styles/themes/material/wijmo.theme.material.yellow-orange.scss +1 -1
  646. package/styles/themes/material/wijmo.theme.material.yellow-pink.css +1 -1
  647. package/styles/themes/material/wijmo.theme.material.yellow-pink.scss +1 -1
  648. package/styles/themes/material/wijmo.theme.material.yellow-purple.css +1 -1
  649. package/styles/themes/material/wijmo.theme.material.yellow-purple.scss +1 -1
  650. package/styles/themes/material/wijmo.theme.material.yellow-red.css +1 -1
  651. package/styles/themes/material/wijmo.theme.material.yellow-red.scss +1 -1
  652. package/styles/themes/material/wijmo.theme.material.yellow-teal.css +1 -1
  653. package/styles/themes/material/wijmo.theme.material.yellow-teal.scss +1 -1
  654. package/styles/themes/wijmo.theme.cerulean.css +1 -1
  655. package/styles/themes/wijmo.theme.cerulean.scss +1 -1
  656. package/styles/themes/wijmo.theme.cleandark.css +1 -1
  657. package/styles/themes/wijmo.theme.cleandark.scss +1 -1
  658. package/styles/themes/wijmo.theme.cleanlight.css +1 -1
  659. package/styles/themes/wijmo.theme.cleanlight.scss +1 -1
  660. package/styles/themes/wijmo.theme.cocoa.css +1 -1
  661. package/styles/themes/wijmo.theme.cocoa.scss +1 -1
  662. package/styles/themes/wijmo.theme.coral.css +1 -1
  663. package/styles/themes/wijmo.theme.coral.scss +1 -1
  664. package/styles/themes/wijmo.theme.cyborg.css +1 -1
  665. package/styles/themes/wijmo.theme.cyborg.scss +1 -1
  666. package/styles/themes/wijmo.theme.dark.css +1 -1
  667. package/styles/themes/wijmo.theme.dark.scss +1 -1
  668. package/styles/themes/wijmo.theme.darkly.css +1 -1
  669. package/styles/themes/wijmo.theme.darkly.scss +1 -1
  670. package/styles/themes/wijmo.theme.flatly.css +1 -1
  671. package/styles/themes/wijmo.theme.flatly.scss +1 -1
  672. package/styles/themes/wijmo.theme.grayscale.css +1 -1
  673. package/styles/themes/wijmo.theme.grayscale.scss +1 -1
  674. package/styles/themes/wijmo.theme.highcontrast.css +1 -1
  675. package/styles/themes/wijmo.theme.highcontrast.scss +1 -1
  676. package/styles/themes/wijmo.theme.light.css +1 -1
  677. package/styles/themes/wijmo.theme.light.scss +1 -1
  678. package/styles/themes/wijmo.theme.material.amber-indigo.css +1 -1
  679. package/styles/themes/wijmo.theme.material.amber-indigo.scss +1 -1
  680. package/styles/themes/wijmo.theme.material.css +1 -1
  681. package/styles/themes/wijmo.theme.material.indigo-orange.css +1 -1
  682. package/styles/themes/wijmo.theme.material.indigo-orange.scss +1 -1
  683. package/styles/themes/wijmo.theme.material.scss +1 -1
  684. package/styles/themes/wijmo.theme.material.vars.css +1 -1
  685. package/styles/themes/wijmo.theme.material.vars.scss +1 -1
  686. package/styles/themes/wijmo.theme.midnight.css +1 -1
  687. package/styles/themes/wijmo.theme.midnight.scss +1 -1
  688. package/styles/themes/wijmo.theme.minimal.css +1 -1
  689. package/styles/themes/wijmo.theme.minimal.scss +1 -1
  690. package/styles/themes/wijmo.theme.modern.css +1 -1
  691. package/styles/themes/wijmo.theme.modern.scss +1 -1
  692. package/styles/themes/wijmo.theme.office.css +1 -1
  693. package/styles/themes/wijmo.theme.office.scss +1 -1
  694. package/styles/themes/wijmo.theme.organic.css +1 -1
  695. package/styles/themes/wijmo.theme.organic.scss +1 -1
  696. package/styles/themes/wijmo.theme.paper.css +1 -1
  697. package/styles/themes/wijmo.theme.paper.scss +1 -1
  698. package/styles/themes/wijmo.theme.simplex.css +1 -1
  699. package/styles/themes/wijmo.theme.simplex.scss +1 -1
  700. package/styles/themes/wijmo.theme.slate.css +1 -1
  701. package/styles/themes/wijmo.theme.slate.scss +1 -1
  702. package/styles/themes/wijmo.theme.superhero.css +1 -1
  703. package/styles/themes/wijmo.theme.superhero.scss +1 -1
  704. package/styles/themes/wijmo.theme.trust.css +1 -1
  705. package/styles/themes/wijmo.theme.trust.scss +1 -1
  706. package/styles/themes/wijmo.theme.zen.css +1 -1
  707. package/styles/themes/wijmo.theme.zen.scss +1 -1
  708. package/styles/wijmo-core.css +1 -1
  709. package/styles/wijmo-core.scss +1 -1
  710. package/styles/wijmo.css +1 -1
  711. package/styles/wijmo.scss +1 -1
  712. package/wijmo.angular.base.d.ts +1 -1
  713. package/wijmo.angular.base.js +1 -1
  714. package/wijmo.angular.chart.analytics.d.ts +1 -1
  715. package/wijmo.angular.chart.analytics.js +1 -1
  716. package/wijmo.angular.chart.animation.d.ts +1 -1
  717. package/wijmo.angular.chart.animation.js +1 -1
  718. package/wijmo.angular.chart.annotation.d.ts +1 -1
  719. package/wijmo.angular.chart.annotation.js +1 -1
  720. package/wijmo.angular.chart.d.ts +1 -1
  721. package/wijmo.angular.chart.finance.analytics.d.ts +1 -1
  722. package/wijmo.angular.chart.finance.analytics.js +1 -1
  723. package/wijmo.angular.chart.finance.d.ts +1 -1
  724. package/wijmo.angular.chart.finance.js +1 -1
  725. package/wijmo.angular.chart.hierarchical.d.ts +1 -1
  726. package/wijmo.angular.chart.hierarchical.js +1 -1
  727. package/wijmo.angular.chart.interaction.d.ts +1 -1
  728. package/wijmo.angular.chart.interaction.js +1 -1
  729. package/wijmo.angular.chart.js +1 -1
  730. package/wijmo.angular.chart.radar.d.ts +1 -1
  731. package/wijmo.angular.chart.radar.js +1 -1
  732. package/wijmo.angular.core.d.ts +1 -1
  733. package/wijmo.angular.core.js +1 -1
  734. package/wijmo.angular.gauge.d.ts +1 -1
  735. package/wijmo.angular.gauge.js +1 -1
  736. package/wijmo.angular.grid.d.ts +1 -1
  737. package/wijmo.angular.grid.detail.d.ts +1 -1
  738. package/wijmo.angular.grid.detail.js +1 -1
  739. package/wijmo.angular.grid.filter.d.ts +1 -1
  740. package/wijmo.angular.grid.filter.js +1 -1
  741. package/wijmo.angular.grid.grouppanel.d.ts +1 -1
  742. package/wijmo.angular.grid.grouppanel.js +1 -1
  743. package/wijmo.angular.grid.js +1 -1
  744. package/wijmo.angular.grid.multirow.d.ts +1 -1
  745. package/wijmo.angular.grid.multirow.js +1 -1
  746. package/wijmo.angular.grid.sheet.d.ts +1 -1
  747. package/wijmo.angular.grid.sheet.js +1 -1
  748. package/wijmo.angular.input.d.ts +1 -1
  749. package/wijmo.angular.input.js +1 -1
  750. package/wijmo.angular.nav.d.ts +1 -1
  751. package/wijmo.angular.nav.js +1 -1
  752. package/wijmo.angular.olap.d.ts +1 -1
  753. package/wijmo.angular.olap.js +1 -1
  754. package/wijmo.angular.viewer.d.ts +1 -1
  755. package/wijmo.angular.viewer.js +1 -1
  756. package/wijmo.angular2.barcode.common.d.ts +1 -1
  757. package/wijmo.angular2.barcode.common.js +1 -1
  758. package/wijmo.angular2.barcode.composite.d.ts +1 -1
  759. package/wijmo.angular2.barcode.composite.js +1 -1
  760. package/wijmo.angular2.barcode.specialized.d.ts +1 -1
  761. package/wijmo.angular2.barcode.specialized.js +1 -1
  762. package/wijmo.angular2.chart.analytics.d.ts +1 -1
  763. package/wijmo.angular2.chart.analytics.js +1 -1
  764. package/wijmo.angular2.chart.animation.d.ts +1 -1
  765. package/wijmo.angular2.chart.animation.js +1 -1
  766. package/wijmo.angular2.chart.annotation.d.ts +1 -1
  767. package/wijmo.angular2.chart.annotation.js +1 -1
  768. package/wijmo.angular2.chart.d.ts +1 -1
  769. package/wijmo.angular2.chart.finance.analytics.d.ts +1 -1
  770. package/wijmo.angular2.chart.finance.analytics.js +1 -1
  771. package/wijmo.angular2.chart.finance.d.ts +1 -1
  772. package/wijmo.angular2.chart.finance.js +1 -1
  773. package/wijmo.angular2.chart.hierarchical.d.ts +1 -1
  774. package/wijmo.angular2.chart.hierarchical.js +1 -1
  775. package/wijmo.angular2.chart.interaction.d.ts +1 -1
  776. package/wijmo.angular2.chart.interaction.js +1 -1
  777. package/wijmo.angular2.chart.js +1 -1
  778. package/wijmo.angular2.chart.map.d.ts +1 -1
  779. package/wijmo.angular2.chart.map.js +1 -1
  780. package/wijmo.angular2.chart.radar.d.ts +1 -1
  781. package/wijmo.angular2.chart.radar.js +1 -1
  782. package/wijmo.angular2.core.d.ts +1 -1
  783. package/wijmo.angular2.core.js +1 -1
  784. package/wijmo.angular2.directiveBase.d.ts +1 -1
  785. package/wijmo.angular2.directiveBase.js +1 -1
  786. package/wijmo.angular2.gauge.d.ts +1 -1
  787. package/wijmo.angular2.gauge.js +1 -1
  788. package/wijmo.angular2.grid.d.ts +1 -1
  789. package/wijmo.angular2.grid.detail.d.ts +1 -1
  790. package/wijmo.angular2.grid.detail.js +1 -1
  791. package/wijmo.angular2.grid.filter.d.ts +1 -1
  792. package/wijmo.angular2.grid.filter.js +1 -1
  793. package/wijmo.angular2.grid.grouppanel.d.ts +1 -1
  794. package/wijmo.angular2.grid.grouppanel.js +1 -1
  795. package/wijmo.angular2.grid.js +1 -1
  796. package/wijmo.angular2.grid.multirow.d.ts +1 -1
  797. package/wijmo.angular2.grid.multirow.js +1 -1
  798. package/wijmo.angular2.grid.search.d.ts +1 -1
  799. package/wijmo.angular2.grid.search.js +1 -1
  800. package/wijmo.angular2.grid.sheet.d.ts +1 -1
  801. package/wijmo.angular2.grid.sheet.js +1 -1
  802. package/wijmo.angular2.grid.transposed.d.ts +1 -1
  803. package/wijmo.angular2.grid.transposed.js +1 -1
  804. package/wijmo.angular2.grid.transposedmultirow.d.ts +1 -1
  805. package/wijmo.angular2.grid.transposedmultirow.js +1 -1
  806. package/wijmo.angular2.input.d.ts +1 -1
  807. package/wijmo.angular2.input.js +1 -1
  808. package/wijmo.angular2.nav.d.ts +1 -1
  809. package/wijmo.angular2.nav.js +1 -1
  810. package/wijmo.angular2.olap.d.ts +1 -1
  811. package/wijmo.angular2.olap.js +1 -1
  812. package/wijmo.angular2.viewer.d.ts +1 -1
  813. package/wijmo.angular2.viewer.js +1 -1
  814. package/wijmo.barcode.common.d.ts +1 -1
  815. package/wijmo.barcode.common.js +1 -1
  816. package/wijmo.barcode.composite.d.ts +1 -1
  817. package/wijmo.barcode.composite.js +2 -2
  818. package/wijmo.barcode.d.ts +1 -1
  819. package/wijmo.barcode.js +2 -2
  820. package/wijmo.barcode.specialized.d.ts +1 -1
  821. package/wijmo.barcode.specialized.js +2 -2
  822. package/wijmo.chart.analytics.d.ts +1 -1
  823. package/wijmo.chart.analytics.js +1 -1
  824. package/wijmo.chart.animation.d.ts +1 -1
  825. package/wijmo.chart.animation.js +1 -1
  826. package/wijmo.chart.annotation.d.ts +1 -1
  827. package/wijmo.chart.annotation.js +1 -1
  828. package/wijmo.chart.d.ts +2 -1
  829. package/wijmo.chart.finance.analytics.d.ts +1 -1
  830. package/wijmo.chart.finance.analytics.js +1 -1
  831. package/wijmo.chart.finance.d.ts +1 -1
  832. package/wijmo.chart.finance.js +1 -1
  833. package/wijmo.chart.hierarchical.d.ts +1 -1
  834. package/wijmo.chart.hierarchical.js +1 -1
  835. package/wijmo.chart.interaction.d.ts +1 -1
  836. package/wijmo.chart.interaction.js +1 -1
  837. package/wijmo.chart.js +2 -2
  838. package/wijmo.chart.map.d.ts +1 -1
  839. package/wijmo.chart.map.js +1 -1
  840. package/wijmo.chart.radar.d.ts +1 -1
  841. package/wijmo.chart.radar.js +1 -1
  842. package/wijmo.chart.render.d.ts +1 -1
  843. package/wijmo.chart.render.js +1 -1
  844. package/wijmo.chart.webgl.d.ts +1 -1
  845. package/wijmo.chart.webgl.js +1 -1
  846. package/wijmo.cloud.d.ts +1 -1
  847. package/wijmo.cloud.js +1 -1
  848. package/wijmo.d.ts +1 -1
  849. package/wijmo.gauge.d.ts +1 -1
  850. package/wijmo.gauge.js +1 -1
  851. package/wijmo.grid.cellmaker.d.ts +1 -1
  852. package/wijmo.grid.cellmaker.js +2 -2
  853. package/wijmo.grid.d.ts +1 -1
  854. package/wijmo.grid.detail.d.ts +1 -1
  855. package/wijmo.grid.detail.js +1 -1
  856. package/wijmo.grid.filter.d.ts +1 -1
  857. package/wijmo.grid.filter.js +1 -1
  858. package/wijmo.grid.grouppanel.d.ts +1 -1
  859. package/wijmo.grid.grouppanel.js +1 -1
  860. package/wijmo.grid.immutable.d.ts +1 -1
  861. package/wijmo.grid.immutable.js +1 -1
  862. package/wijmo.grid.js +1 -1
  863. package/wijmo.grid.multirow.d.ts +1 -1
  864. package/wijmo.grid.multirow.js +1 -1
  865. package/wijmo.grid.pdf.d.ts +1 -1
  866. package/wijmo.grid.pdf.js +1 -1
  867. package/wijmo.grid.search.d.ts +1 -1
  868. package/wijmo.grid.search.js +1 -1
  869. package/wijmo.grid.selector.d.ts +2 -1
  870. package/wijmo.grid.selector.js +2 -2
  871. package/wijmo.grid.sheet.d.ts +1 -1
  872. package/wijmo.grid.sheet.js +1 -1
  873. package/wijmo.grid.style.d.ts +1 -1
  874. package/wijmo.grid.style.js +1 -1
  875. package/wijmo.grid.transposed.d.ts +1 -1
  876. package/wijmo.grid.transposed.js +1 -1
  877. package/wijmo.grid.transposedmultirow.d.ts +1 -1
  878. package/wijmo.grid.transposedmultirow.js +1 -1
  879. package/wijmo.grid.xlsx.d.ts +1 -1
  880. package/wijmo.grid.xlsx.js +1 -1
  881. package/wijmo.input.d.ts +1 -1
  882. package/wijmo.input.js +2 -2
  883. package/wijmo.interop.grid.d.ts +1 -1
  884. package/wijmo.interop.grid.js +2 -2
  885. package/wijmo.js +1 -1
  886. package/wijmo.knockout.base.d.ts +1 -1
  887. package/wijmo.knockout.base.js +1 -1
  888. package/wijmo.knockout.chart.analytics.d.ts +1 -1
  889. package/wijmo.knockout.chart.analytics.js +1 -1
  890. package/wijmo.knockout.chart.animation.d.ts +1 -1
  891. package/wijmo.knockout.chart.animation.js +1 -1
  892. package/wijmo.knockout.chart.annotation.d.ts +1 -1
  893. package/wijmo.knockout.chart.annotation.js +1 -1
  894. package/wijmo.knockout.chart.d.ts +1 -1
  895. package/wijmo.knockout.chart.finance.analytics.d.ts +1 -1
  896. package/wijmo.knockout.chart.finance.analytics.js +1 -1
  897. package/wijmo.knockout.chart.finance.d.ts +1 -1
  898. package/wijmo.knockout.chart.finance.js +1 -1
  899. package/wijmo.knockout.chart.interaction.d.ts +1 -1
  900. package/wijmo.knockout.chart.interaction.js +1 -1
  901. package/wijmo.knockout.chart.js +1 -1
  902. package/wijmo.knockout.core.d.ts +1 -1
  903. package/wijmo.knockout.core.js +1 -1
  904. package/wijmo.knockout.gauge.d.ts +1 -1
  905. package/wijmo.knockout.gauge.js +1 -1
  906. package/wijmo.knockout.grid.d.ts +1 -1
  907. package/wijmo.knockout.grid.filter.d.ts +1 -1
  908. package/wijmo.knockout.grid.filter.js +1 -1
  909. package/wijmo.knockout.grid.grouppanel.d.ts +1 -1
  910. package/wijmo.knockout.grid.grouppanel.js +1 -1
  911. package/wijmo.knockout.grid.js +1 -1
  912. package/wijmo.knockout.grid.multirow.d.ts +1 -1
  913. package/wijmo.knockout.grid.multirow.js +1 -1
  914. package/wijmo.knockout.grid.sheet.d.ts +1 -1
  915. package/wijmo.knockout.grid.sheet.js +1 -1
  916. package/wijmo.knockout.input.d.ts +1 -1
  917. package/wijmo.knockout.input.js +1 -1
  918. package/wijmo.knockout.nav.d.ts +1 -1
  919. package/wijmo.knockout.nav.js +1 -1
  920. package/wijmo.knockout.olap.d.ts +1 -1
  921. package/wijmo.knockout.olap.js +1 -1
  922. package/wijmo.meta.d.ts +1 -1
  923. package/wijmo.meta.js +2 -2
  924. package/wijmo.nav.d.ts +1 -1
  925. package/wijmo.nav.js +1 -1
  926. package/wijmo.odata.d.ts +1 -1
  927. package/wijmo.odata.js +1 -1
  928. package/wijmo.olap.d.ts +1 -1
  929. package/wijmo.olap.js +1 -1
  930. package/wijmo.pdf.d.ts +1 -1
  931. package/wijmo.pdf.js +1 -1
  932. package/wijmo.pdf.security.d.ts +1 -1
  933. package/wijmo.pdf.security.js +1 -1
  934. package/wijmo.react.barcode.base.d.ts +1 -1
  935. package/wijmo.react.barcode.base.js +1 -1
  936. package/wijmo.react.barcode.common.d.ts +1 -1
  937. package/wijmo.react.barcode.common.js +1 -1
  938. package/wijmo.react.barcode.composite.d.ts +1 -1
  939. package/wijmo.react.barcode.composite.js +1 -1
  940. package/wijmo.react.barcode.specialized.d.ts +1 -1
  941. package/wijmo.react.barcode.specialized.js +1 -1
  942. package/wijmo.react.base.d.ts +1 -1
  943. package/wijmo.react.base.js +1 -1
  944. package/wijmo.react.chart.analytics.d.ts +1 -1
  945. package/wijmo.react.chart.analytics.js +1 -1
  946. package/wijmo.react.chart.animation.d.ts +1 -1
  947. package/wijmo.react.chart.animation.js +1 -1
  948. package/wijmo.react.chart.annotation.d.ts +1 -1
  949. package/wijmo.react.chart.annotation.js +1 -1
  950. package/wijmo.react.chart.d.ts +1 -1
  951. package/wijmo.react.chart.finance.analytics.d.ts +1 -1
  952. package/wijmo.react.chart.finance.analytics.js +1 -1
  953. package/wijmo.react.chart.finance.d.ts +1 -1
  954. package/wijmo.react.chart.finance.js +1 -1
  955. package/wijmo.react.chart.hierarchical.d.ts +1 -1
  956. package/wijmo.react.chart.hierarchical.js +1 -1
  957. package/wijmo.react.chart.interaction.d.ts +1 -1
  958. package/wijmo.react.chart.interaction.js +1 -1
  959. package/wijmo.react.chart.js +1 -1
  960. package/wijmo.react.chart.map.d.ts +1 -1
  961. package/wijmo.react.chart.map.js +1 -1
  962. package/wijmo.react.chart.radar.d.ts +1 -1
  963. package/wijmo.react.chart.radar.js +1 -1
  964. package/wijmo.react.gauge.d.ts +1 -1
  965. package/wijmo.react.gauge.js +1 -1
  966. package/wijmo.react.grid.d.ts +1 -1
  967. package/wijmo.react.grid.detail.d.ts +1 -1
  968. package/wijmo.react.grid.detail.js +1 -1
  969. package/wijmo.react.grid.filter.d.ts +1 -1
  970. package/wijmo.react.grid.filter.js +1 -1
  971. package/wijmo.react.grid.grouppanel.d.ts +1 -1
  972. package/wijmo.react.grid.grouppanel.js +1 -1
  973. package/wijmo.react.grid.immutable.d.ts +1 -1
  974. package/wijmo.react.grid.immutable.js +1 -1
  975. package/wijmo.react.grid.js +1 -1
  976. package/wijmo.react.grid.multirow.d.ts +1 -1
  977. package/wijmo.react.grid.multirow.js +1 -1
  978. package/wijmo.react.grid.search.d.ts +1 -1
  979. package/wijmo.react.grid.search.js +1 -1
  980. package/wijmo.react.grid.sheet.d.ts +1 -1
  981. package/wijmo.react.grid.sheet.js +1 -1
  982. package/wijmo.react.grid.transposed.d.ts +1 -1
  983. package/wijmo.react.grid.transposed.js +1 -1
  984. package/wijmo.react.grid.transposedmultirow.d.ts +1 -1
  985. package/wijmo.react.grid.transposedmultirow.js +1 -1
  986. package/wijmo.react.input.d.ts +1 -1
  987. package/wijmo.react.input.js +1 -1
  988. package/wijmo.react.nav.d.ts +1 -1
  989. package/wijmo.react.nav.js +1 -1
  990. package/wijmo.react.olap.d.ts +1 -1
  991. package/wijmo.react.olap.js +1 -1
  992. package/wijmo.react.viewer.d.ts +1 -1
  993. package/wijmo.react.viewer.js +1 -1
  994. package/wijmo.rest.d.ts +1 -1
  995. package/wijmo.rest.js +1 -1
  996. package/wijmo.touch.d.ts +1 -1
  997. package/wijmo.touch.js +1 -1
  998. package/wijmo.undo.d.ts +1 -1
  999. package/wijmo.undo.js +1 -1
  1000. package/wijmo.viewer.d.ts +1 -1
  1001. package/wijmo.viewer.js +1 -1
  1002. package/wijmo.vue2.barcode.common.d.ts +1 -1
  1003. package/wijmo.vue2.barcode.common.js +1 -1
  1004. package/wijmo.vue2.barcode.composite.d.ts +1 -1
  1005. package/wijmo.vue2.barcode.composite.js +1 -1
  1006. package/wijmo.vue2.barcode.specialized.d.ts +1 -1
  1007. package/wijmo.vue2.barcode.specialized.js +1 -1
  1008. package/wijmo.vue2.base.d.ts +1 -1
  1009. package/wijmo.vue2.base.js +2 -2
  1010. package/wijmo.vue2.chart.analytics.d.ts +1 -1
  1011. package/wijmo.vue2.chart.analytics.js +1 -1
  1012. package/wijmo.vue2.chart.animation.d.ts +1 -1
  1013. package/wijmo.vue2.chart.animation.js +1 -1
  1014. package/wijmo.vue2.chart.annotation.d.ts +1 -1
  1015. package/wijmo.vue2.chart.annotation.js +1 -1
  1016. package/wijmo.vue2.chart.d.ts +1 -1
  1017. package/wijmo.vue2.chart.finance.analytics.d.ts +1 -1
  1018. package/wijmo.vue2.chart.finance.analytics.js +1 -1
  1019. package/wijmo.vue2.chart.finance.d.ts +1 -1
  1020. package/wijmo.vue2.chart.finance.js +1 -1
  1021. package/wijmo.vue2.chart.hierarchical.d.ts +1 -1
  1022. package/wijmo.vue2.chart.hierarchical.js +1 -1
  1023. package/wijmo.vue2.chart.interaction.d.ts +1 -1
  1024. package/wijmo.vue2.chart.interaction.js +1 -1
  1025. package/wijmo.vue2.chart.js +1 -1
  1026. package/wijmo.vue2.chart.map.d.ts +1 -1
  1027. package/wijmo.vue2.chart.map.js +1 -1
  1028. package/wijmo.vue2.chart.radar.d.ts +1 -1
  1029. package/wijmo.vue2.chart.radar.js +1 -1
  1030. package/wijmo.vue2.core.d.ts +1 -1
  1031. package/wijmo.vue2.core.js +1 -1
  1032. package/wijmo.vue2.gauge.d.ts +1 -1
  1033. package/wijmo.vue2.gauge.js +1 -1
  1034. package/wijmo.vue2.grid.d.ts +1 -1
  1035. package/wijmo.vue2.grid.detail.d.ts +1 -1
  1036. package/wijmo.vue2.grid.detail.js +1 -1
  1037. package/wijmo.vue2.grid.filter.d.ts +1 -1
  1038. package/wijmo.vue2.grid.filter.js +1 -1
  1039. package/wijmo.vue2.grid.grouppanel.d.ts +1 -1
  1040. package/wijmo.vue2.grid.grouppanel.js +1 -1
  1041. package/wijmo.vue2.grid.js +1 -1
  1042. package/wijmo.vue2.grid.multirow.d.ts +1 -1
  1043. package/wijmo.vue2.grid.multirow.js +1 -1
  1044. package/wijmo.vue2.grid.search.d.ts +1 -1
  1045. package/wijmo.vue2.grid.search.js +1 -1
  1046. package/wijmo.vue2.grid.sheet.d.ts +1 -1
  1047. package/wijmo.vue2.grid.sheet.js +1 -1
  1048. package/wijmo.vue2.grid.transposed.d.ts +1 -1
  1049. package/wijmo.vue2.grid.transposed.js +1 -1
  1050. package/wijmo.vue2.grid.transposedmultirow.d.ts +1 -1
  1051. package/wijmo.vue2.grid.transposedmultirow.js +1 -1
  1052. package/wijmo.vue2.input.d.ts +1 -1
  1053. package/wijmo.vue2.input.js +1 -1
  1054. package/wijmo.vue2.nav.d.ts +1 -1
  1055. package/wijmo.vue2.nav.js +1 -1
  1056. package/wijmo.vue2.olap.d.ts +1 -1
  1057. package/wijmo.vue2.olap.js +1 -1
  1058. package/wijmo.vue2.viewer.d.ts +1 -1
  1059. package/wijmo.vue2.viewer.js +1 -1
  1060. package/wijmo.webcomponents.barcode.common.d.ts +1 -1
  1061. package/wijmo.webcomponents.barcode.common.js +1 -1
  1062. package/wijmo.webcomponents.barcode.composite.d.ts +1 -1
  1063. package/wijmo.webcomponents.barcode.composite.js +1 -1
  1064. package/wijmo.webcomponents.barcode.specialized.d.ts +1 -1
  1065. package/wijmo.webcomponents.barcode.specialized.js +1 -1
  1066. package/wijmo.webcomponents.base.d.ts +1 -1
  1067. package/wijmo.webcomponents.base.js +1 -1
  1068. package/wijmo.webcomponents.chart.analytics.d.ts +1 -1
  1069. package/wijmo.webcomponents.chart.analytics.js +1 -1
  1070. package/wijmo.webcomponents.chart.animation.d.ts +1 -1
  1071. package/wijmo.webcomponents.chart.animation.js +1 -1
  1072. package/wijmo.webcomponents.chart.d.ts +1 -1
  1073. package/wijmo.webcomponents.chart.finance.analytics.d.ts +1 -1
  1074. package/wijmo.webcomponents.chart.finance.analytics.js +1 -1
  1075. package/wijmo.webcomponents.chart.finance.d.ts +1 -1
  1076. package/wijmo.webcomponents.chart.finance.js +1 -1
  1077. package/wijmo.webcomponents.chart.hierarchical.d.ts +1 -1
  1078. package/wijmo.webcomponents.chart.hierarchical.js +1 -1
  1079. package/wijmo.webcomponents.chart.interaction.d.ts +1 -1
  1080. package/wijmo.webcomponents.chart.interaction.js +1 -1
  1081. package/wijmo.webcomponents.chart.js +1 -1
  1082. package/wijmo.webcomponents.chart.map.d.ts +1 -1
  1083. package/wijmo.webcomponents.chart.map.js +1 -1
  1084. package/wijmo.webcomponents.chart.radar.d.ts +1 -1
  1085. package/wijmo.webcomponents.chart.radar.js +1 -1
  1086. package/wijmo.webcomponents.gauge.d.ts +1 -1
  1087. package/wijmo.webcomponents.gauge.js +1 -1
  1088. package/wijmo.webcomponents.grid.d.ts +1 -1
  1089. package/wijmo.webcomponents.grid.filter.d.ts +1 -1
  1090. package/wijmo.webcomponents.grid.filter.js +1 -1
  1091. package/wijmo.webcomponents.grid.grouppanel.d.ts +1 -1
  1092. package/wijmo.webcomponents.grid.grouppanel.js +1 -1
  1093. package/wijmo.webcomponents.grid.js +1 -1
  1094. package/wijmo.webcomponents.grid.multirow.d.ts +1 -1
  1095. package/wijmo.webcomponents.grid.multirow.js +1 -1
  1096. package/wijmo.webcomponents.grid.search.d.ts +1 -1
  1097. package/wijmo.webcomponents.grid.search.js +1 -1
  1098. package/wijmo.webcomponents.grid.sheet.d.ts +1 -1
  1099. package/wijmo.webcomponents.grid.sheet.js +1 -1
  1100. package/wijmo.webcomponents.grid.transposed.d.ts +1 -1
  1101. package/wijmo.webcomponents.grid.transposed.js +1 -1
  1102. package/wijmo.webcomponents.grid.transposedmultirow.d.ts +1 -1
  1103. package/wijmo.webcomponents.grid.transposedmultirow.js +1 -1
  1104. package/wijmo.webcomponents.input.d.ts +1 -1
  1105. package/wijmo.webcomponents.input.js +1 -1
  1106. package/wijmo.webcomponents.nav.d.ts +1 -1
  1107. package/wijmo.webcomponents.nav.js +1 -1
  1108. package/wijmo.webcomponents.olap.d.ts +1 -1
  1109. package/wijmo.webcomponents.olap.js +1 -1
  1110. package/wijmo.webcomponents.viewer.d.ts +1 -1
  1111. package/wijmo.webcomponents.viewer.js +1 -1
  1112. package/wijmo.xlsx.d.ts +1 -1
  1113. package/wijmo.xlsx.js +1 -1
@@ -1,6 +1,6 @@
1
1
  /*!
2
2
  *
3
- * Wijmo Library 5.20261.45-nightly.d20260105.t014601
3
+ * Wijmo Library 5.20261.45-nightly.d20260106.t035854
4
4
  * https://developer.mescius.com/wijmo
5
5
  *
6
6
  * Copyright(c) MESCIUS inc. All rights reserved.
@@ -11,4 +11,4 @@
11
11
  *
12
12
  */
13
13
 
14
- "use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var wijmo_1=require("wijmo/wijmo"),wijmo_barcode_1=require("wijmo/wijmo.barcode"),selfModule=__importStar(require("wijmo/wijmo.barcode.specialized")),CodeMap=function(){function CodeMap(e,t,r){this.Maps=[e,t,r]}CodeMap.Datas=[new CodeMap(1,4,4),new CodeMap(1,1,4),new CodeMap(1,3,2),new CodeMap(3,1,2),new CodeMap(1,2,3),new CodeMap(1,4,1),new CodeMap(3,2,1),new CodeMap(2,1,3),new CodeMap(2,3,1),new CodeMap(4,1,1),new CodeMap(4,1,4),new CodeMap(3,2,4),new CodeMap(3,4,2),new CodeMap(2,3,4),new CodeMap(4,3,2),new CodeMap(2,4,3),new CodeMap(4,2,3),new CodeMap(4,4,1),new CodeMap(1,1,1),new CodeMap(0,1,3),new CodeMap(3,1,0)];return CodeMap}();exports.CodeMap=CodeMap;exports.ND=255;exports.CODE_CC4=14;var CharMap=function(){function CharMap(e,t,r){this.Char=e;this.Val1=t;this.Val2=r}CharMap.Datas=[new CharMap("0",0,exports.ND),new CharMap("1",1,exports.ND),new CharMap("2",2,exports.ND),new CharMap("3",3,exports.ND),new CharMap("4",4,exports.ND),new CharMap("5",5,exports.ND),new CharMap("6",6,exports.ND),new CharMap("7",7,exports.ND),new CharMap("8",8,exports.ND),new CharMap("9",9,exports.ND),new CharMap("-",10,exports.ND),new CharMap(String.fromCharCode(193),11,exports.ND),new CharMap(String.fromCharCode(194),12,exports.ND),new CharMap(String.fromCharCode(195),13,exports.ND),new CharMap(String.fromCharCode(196),14,exports.ND),new CharMap(String.fromCharCode(197),15,exports.ND),new CharMap(String.fromCharCode(198),16,exports.ND),new CharMap(String.fromCharCode(199),17,exports.ND),new CharMap(String.fromCharCode(200),18,exports.ND),new CharMap("A",11,0),new CharMap("B",11,1),new CharMap("C",11,2),new CharMap("D",11,3),new CharMap("E",11,4),new CharMap("F",11,5),new CharMap("G",11,6),new CharMap("H",11,7),new CharMap("I",11,8),new CharMap("J",11,9),new CharMap("K",12,0),new CharMap("L",12,1),new CharMap("M",12,2),new CharMap("N",12,3),new CharMap("O",12,4),new CharMap("P",12,5),new CharMap("Q",12,6),new CharMap("R",12,7),new CharMap("S",12,8),new CharMap("T",12,9),new CharMap("U",13,0),new CharMap("V",13,1),new CharMap("W",13,2),new CharMap("X",13,3),new CharMap("Y",13,4),new CharMap("Z",13,5),new CharMap("a",11,0),new CharMap("b",11,1),new CharMap("c",11,2),new CharMap("d",11,3),new CharMap("e",11,4),new CharMap("f",11,5),new CharMap("g",11,6),new CharMap("h",11,7),new CharMap("i",11,8),new CharMap("j",11,9),new CharMap("k",12,0),new CharMap("l",12,1),new CharMap("m",12,2),new CharMap("n",12,3),new CharMap("o",12,4),new CharMap("p",12,5),new CharMap("q",12,6),new CharMap("r",12,7),new CharMap("s",12,8),new CharMap("t",12,9),new CharMap("u",13,0),new CharMap("v",13,1),new CharMap("w",13,2),new CharMap("x",13,3),new CharMap("y",13,4),new CharMap("z",13,5),new CharMap(String.fromCharCode(0),0,0)];return CharMap}();exports.CharMap=CharMap;var BarEnum={Long:1,Upward:2,Downward:3,Timing:4},JapanesePost4StateCustomerCode=function(e){__extends(JapanesePost4StateCustomerCode,e);function JapanesePost4StateCustomerCode(t){var r=e.call(this,t)||this,o=r.encodeConfig.text;r.text=o;r.label=o;return r}JapanesePost4StateCustomerCode.prototype.validate=function(){if(this.encodeConfig.text.length>20)throw new wijmo_barcode_1.TextTooLongException};JapanesePost4StateCustomerCode.prototype.checksum=function(e,t){for(var r=0,o=0;o<e;o++)r+=t[o];var n=r%19;0!=n&&(n=19-n);return n};JapanesePost4StateCustomerCode.prototype.calculateData=function(){var e,t,r=this.text,o=this.encodeConfig.hideExtraChecksum,n=[],a=0;n[a++]=19;var i=String.fromCharCode(0);for(e=0;e<r.length;e++){for(t=0;CharMap.Datas[t].Char!=i&&CharMap.Datas[t].Char!=r[e];t++);if(CharMap.Datas[t].Char==i)throw new wijmo_barcode_1.InvalidCharacterException(r[e]);n[a++]=CharMap.Datas[t].Val1;CharMap.Datas[t].Val2!=exports.ND&&(n[a++]=CharMap.Datas[t].Val2);if(a>21)break}for(;a<21;a++)n[a]=exports.CODE_CC4;a=21;var s=this.checksum(a,n);o||(this.label=r+s);n[a++]=s;n[a]=20;return n};JapanesePost4StateCustomerCode.prototype._fillSymbol=function(e,t){var r=t.getContentBox().height/3;e.forEach((function(e){CodeMap.Datas[e].Maps.forEach((function(e){switch(e){case BarEnum.Long:t.append(1,3*r,0);break;case BarEnum.Upward:t.append(1,2*r,0);break;case BarEnum.Downward:t.append(1,2*r,r);break;case BarEnum.Timing:t.append(1,r,r);break;default:return}t.space()}))}));t.space(-1)};JapanesePost4StateCustomerCode.prototype.convertToShape=function(e,t){var r=this.label,o=this.encodeConfig,n=o.quietZone,a=o.isLabelBottom,i=o.height,s=o.showLabel,c=o.fontSizeInUnit,u=this.style.textAlign,l=0;r&&s&&(l=c);var d=2*(3*e.length-2)-1+n.right+n.left,p=i+n.top+n.bottom,h=new wijmo_barcode_1.VerticalLayoutArea,C=new wijmo_barcode_1.SymbolArea(d,p);C.setStyle({padding:{top:n.top,right:n.right,bottom:n.bottom,left:n.left}});var g=C.getSize(),f=new wijmo_barcode_1.LabelArea(g.width,l,u);f.setStyle({padding:{left:n.left,right:n.right}});if(a){h.append(C);h.append(f)}else{h.append(f);h.append(C)}if(!t){this._fillSymbol(e,C);f.append({text:r});this.shapes=h.toShapes()}this.size=h.getSize()};return JapanesePost4StateCustomerCode}(wijmo_barcode_1.OneDimensionalBarcode);exports.JapanesePost4StateCustomerCode=JapanesePost4StateCustomerCode;wijmo_barcode_1.Barcode.registerEncoder("Japanese Postal",JapanesePost4StateCustomerCode);var ITFBase=function(e){__extends(ITFBase,e);function ITFBase(t){var r=this;t.merge(ITFBase.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig.text,a=o.config,i=a.nwRatio,s=a.bearerBar;r.text=n;r.label=n;r.ratio=i;r.bearerBar=s;return r}ITFBase.prototype.checksum=function(e){var t=wijmo_barcode_1.Utils.str2Array(e).reverse().reduce((function(e,t,r){t=+t;return e+=wijmo_barcode_1.Utils.isOdd(r)?t:3*t}),0)%10;return 0===t?0:10-t};ITFBase.prototype._toPairs=function(){var e=this.text,t=[];wijmo_barcode_1.Utils.sliceString(e,2,(function(e){t.push(e)}));return t};ITFBase.prototype._toPattern=function(e){var t=ITFBase.Table[e[0]],r=ITFBase.Table[e[1]],o="";wijmo_barcode_1.Utils.loop((function(e){o=o+t[e]+r[e]}),t.length);return o};ITFBase.prototype._toZeroOnePattern=function(e){var t=this.ratio,r="";wijmo_barcode_1.Utils.loop((function(o){var n=wijmo_barcode_1.Utils.isOdd(o)?"0":"1";r+=wijmo_barcode_1.Utils.strRepeat(n,"W"===e[o]?t:1)}),e.length);return r};ITFBase.prototype.calculateData=function(){var e=this,t=this._toPairs(),r=ITFBase.StartPattern;t.forEach((function(t){r+=e._toPattern(t)}));r+=ITFBase.StopPattern;return this._toZeroOnePattern(r)};ITFBase.prototype.afterApplyDesiredSize=function(){this.bearerBar&&(this.encodeConfig.height-=2*ITFBase.BearerBarWidth)};ITFBase.prototype.convertToShape=function(e,t){var r=this.label,o=this.bearerBar,n=this.encodeConfig,a=n.quietZone,i=n.isLabelBottom,s=n.height,c=n.showLabel,u=n.fontSizeInUnit,l=this.style.textAlign,d=0;r&&c&&(d=u);var p=e.length+a.right+a.left,h=s+a.top+a.bottom,C=new wijmo_barcode_1.VerticalLayoutArea,g=new wijmo_barcode_1.SymbolArea(p,h);g.setStyle({padding:{top:a.top,right:a.right,bottom:a.bottom,left:a.left},border:o?ITFBase.BearerBarWidth:0});var f=g.getSize(),m=new wijmo_barcode_1.LabelArea(f.width,d,l);if(i){C.append(g);C.append(m)}else{C.append(m);C.append(g)}if(!t){g.fromPattern(e);m.append({text:r});this.shapes=C.toShapes()}this.size=C.getSize()};ITFBase.StartPattern="nnnn";ITFBase.StopPattern="Wnn";ITFBase.DefaultConfig={quietZone:{right:10,left:10},nwRatio:3,bearerBar:!1};ITFBase.Table=["nnWWn","WnnnW","nWnnW","WWnnn","nnWnW","WnWnn","nWWnn","nnnWW","WnnWn","nWnWn"];ITFBase.Weight=[1,2,4,7,0];ITFBase.BearerBarWidth=3;return ITFBase}(wijmo_barcode_1.OneDimensionalBarcode);exports.ITFBase=ITFBase;var Interleaved2of5Encoder=function(e){__extends(Interleaved2of5Encoder,e);function Interleaved2of5Encoder(t){var r=this;t.merge(Interleaved2of5Encoder.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig,a=n.text,i=n.hideExtraChecksum,s=a;if(o.config.checkCharacter){a+=r.checksum(a);i||(s=a)}if(wijmo_barcode_1.Utils.isOdd(a.length)){a="0"+a;s="0"+s}r.text=a;r.label=s;return r}Interleaved2of5Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!/^[0-9]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e,"Text should be numbers.");if(e.length>16)throw new wijmo_barcode_1.TextTooLongException};Interleaved2of5Encoder.DefaultConfig={checkCharacter:!1};return Interleaved2of5Encoder}(ITFBase);exports.Interleaved2of5Encoder=Interleaved2of5Encoder;wijmo_barcode_1.Barcode.registerEncoder("Interleaved2of5",Interleaved2of5Encoder);var ITF_14_Encoder=function(e){__extends(ITF_14_Encoder,e);function ITF_14_Encoder(t){var r=e.call(this,t)||this,o=r.encodeConfig,n=o.text,a=o.hideExtraChecksum;r.label=n;if(13===n.length){n+=r.checksum(n);a||(r.label=n)}r.text=n;return r}ITF_14_Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!/^(\d{13}|\d{14})$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e,"Text should be numbers. The length should be 13 or 14.");if(14===e.length){if(this.checksum(e.substr(0,13))!=e[13])throw new wijmo_barcode_1.InvalidTextException(e,"Check digit is invalid.")}};return ITF_14_Encoder}(ITFBase);exports.ITF_14_Encoder=ITF_14_Encoder;wijmo_barcode_1.Barcode.registerEncoder("ITF-14",ITF_14_Encoder);var EncodeTable_Code93=function(){function EncodeTable_Code93(){}EncodeTable_Code93.getCode93Code=function(e){var t=EncodeTable_Code93.TABLE_CH.indexOf(e);if(-1===t)throw new wijmo_barcode_1.InvalidCharacterException(e);return EncodeTable_Code93.TABLE_CODE[t]};EncodeTable_Code93.getCode93Value=function(e){var t=EncodeTable_Code93.TABLE_CH.indexOf(e);if(-1===t)throw new wijmo_barcode_1.InvalidCharacterException(e);return t};EncodeTable_Code93.getCharByValue=function(e){return EncodeTable_Code93.TABLE_CH[e]};EncodeTable_Code93.getFullASCIIChar=function(e){var t="";wijmo_barcode_1.Utils.sliceString(e,1,(function(r){var o=EncodeTable_Code93.TABLE_FULL_ASCII[r.charCodeAt(0)];if(!o)throw new wijmo_barcode_1.InvalidTextException(e);t+=o}));return t};EncodeTable_Code93.TABLE_CH=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%","[","]","{","}","*"];EncodeTable_Code93.TABLE_CODE=["131112","111213","111312","111411","121113","121212","121311","111114","131211","141111","211113","211212","211311","221112","221211","231111","112113","112212","112311","122112","132111","111123","111222","111321","121122","131121","212112","212211","211122","211221","221121","222111","112122","112221","122121","123111","121131","311112","311211","321111","112131","113121","211131","121221","312111","311121","122211","111141"];EncodeTable_Code93.TABLE_FULL_ASCII=["]U","[A","[B","[C","[D","[E","[F","[G","[H","[I","[J","[K","[L","[M","[N","[O","[P","[Q","[R","[S","[T","[U","[V","[W","[X","[Y","[Z","]A","]B","]C","]D","]E"," ","{A","{B","{C","{D","{E","{F","{G","{H","{I","{J","{K","{L","{M","{N","{O","0","1","2","3","4","5","6","7","8","9","{Z","]F","]G","]H","]I","]J","]V","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","]K","]L","]M","]N","]O","]W","}A","}B","}C","}D","}E","}F","}G","}H","}I","}J","}K","}L","}M","}N","}O","}P","}Q","}R","}S","}T","}U","}V","}W","}X","}Y","}Z","]P","]Q","]R","]S","]T"];return EncodeTable_Code93}();exports.EncodeTable_Code93=EncodeTable_Code93;var Code93Encoder=function(e){__extends(Code93Encoder,e);function Code93Encoder(t){var r=this;t.merge(Code93Encoder.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig,a=n.text,i=n.hideExtraChecksum,s=o.config,c=s.fullASCII,u=s.checkDigit,l=c?EncodeTable_Code93.getFullASCIIChar(a):a;r.label=a;if(u){var d=r.checksum(l),p=r.checksum(l+d);r.text=Code93Encoder.START_STOP_CHARACTERS+l+d+p+Code93Encoder.START_STOP_CHARACTERS;i||(r.label=a+d+p)}else r.text=Code93Encoder.START_STOP_CHARACTERS+l+Code93Encoder.START_STOP_CHARACTERS;return r}Code93Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!this.config.fullASCII&&!/^[0-9A-Z\-. $/+%]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e)};Code93Encoder.prototype.encode=function(e){var t="";wijmo_barcode_1.Utils.str2Array(e).forEach((function(e,r){wijmo_barcode_1.Utils.isEven(r)?t+=wijmo_barcode_1.Utils.strRepeat("1",+e):t+=wijmo_barcode_1.Utils.strRepeat("0",+e)}));return t};Code93Encoder.prototype.calculateData=function(){var e=this,t=this.text,r="";wijmo_barcode_1.Utils.sliceString(t,1,(function(t){r+=e.encode(EncodeTable_Code93.getCode93Code(t))}));return r+=Code93Encoder.TERMINATION};Code93Encoder.prototype.checksum=function(e){var t=1,r=wijmo_barcode_1.Utils.str2Array(e).reduceRight((function(e,r){var o=EncodeTable_Code93.getCode93Value(r);t>20&&(t=1);e+=t*o;t++;return e}),0);return EncodeTable_Code93.getCharByValue(r%47)};Code93Encoder.DefaultConfig={checkDigit:!1,fullASCII:!1,quietZone:{right:10,left:10}};Code93Encoder.START_STOP_CHARACTERS="*";Code93Encoder.TERMINATION="1";return Code93Encoder}(wijmo_barcode_1.OneDimensionalBarcode);exports.Code93Encoder=Code93Encoder;wijmo_barcode_1.Barcode.registerEncoder("Code93",Code93Encoder);var ODD_TABLE=[51520,62032,60576,64296,58784,63848,56128,63184,64948,50336,61736,39232,58960,63892,56480,63272,64970,35648,58064,52640,62312,47936,61136,64436,49744,36e3,58152,52816,62356,48288,61224,64458,34208,57704,50896,61876,40352,59240,63962,57040,63412,49448,34384,57748,50984,61898,40528,59284,57128,63434,33488,50024,36560,58292,53096,62426,48848,61364,33576,50068,36648,58314,53140,33128,49588,34664,57818,51124,40808,59354,57268,53568,62544,64788,59808,64104,55104,62928,64884,51360,61992,45376,60496,64276,37696,58576,63796,55712,63080,64922,52128,62184,46912,60880,64372,50256,61716,39072,58920,63882,56400,63252,35232,57960,52432,62260,47520,61032,64410,50640,61812,39840,59112,63930,56784,63348,49704,35920,58132,52776,62346,48208,61204,34e3,57652,50792,61850,40144,59188,56936,63386,49896,36304,58228,52968,62394,48592,61300,49428,34344,57738,50964,40488,59274,33384,49972,36456,58266,53044,48744,61338,49524,34536,57786,51060,40680,59322,57204,33556,50058,36628,33076,49562,34612,51098,40756,33652,50106,36724,53178,49012,53408,62504,64778,41792,59600,64052,54176,62696,64826,44864,60368,64244,51280,61972,45216,60456,64266,37280,58472,63770,55504,63028,51664,62068,45984,60648,64314,38816,58856,63866,56272,63220,50216,61706,38992,58900,56360,63242,35024,57908,52328,62234,47312,60980,50408,61754,39376,58996,56552,63290,35792,58100,52712,62330,48080,61172,49684,35880,58122,52756,33896,57626,50740,40040,59162,56884,49780,36072,58170,52852,48360,61242,34280,57722,50932,40424,59258,57076,49418,34324,50954,33332,49946,36404,53018,49466,34420,51002,40564,57146,33524,50042,36596,53114,48884,33546,33050,34586,33594,36666,33146,34682,40826,53328,62484,41376,59496,64026,53712,62580,42912,59880,64122,55248,62964,51240,61962,45136,60436,37072,58420,55400,63002,51432,62010,45520,60532,37840,58612,55784,63098,52200,62202,47056,60916,50196,38952,58890,34920,57882,52276,47208,60954,50292,39144,58938,56436,35304,57978,52468,47592,61050,50676,39912,59130,56820,49674,35860,33844,50714,39988,49722,35956,52794,48244,34036,50810,40180,56954,49914,36340,52986,48628,34314,33306,36378,34362,40506,33402,36474,48762,34554,40698,53288,62474,41168,59444,53480,62522,41936,59636,54248,62714,45008,60404,51220,36968,58394,55348,51316,45288,60474,37352,58490,55540,51700,46056,60666,38888,58874,56308,50186,34868,52250,50234,39028,56378,35060,52346,47348,50426,39412,56570,35828,52730,48116,33818,35898,33914,40058,36090,48378,34298,40442,62752,64840,56e3,63152,64940,51776,62096,60704,64328,52576,62296,47808,61104,64428,50464,61768,39488,59024,63908,56608,63304,64978,50864,61868,40288,59224,63958,57008,63404,49808,36128,58184,52880,62372,48416,61256,64466,50008,36528,58284,53080,62422,48816,61356,49480,34448,57764,51016,61906,40592,59300,57160,63442,49580,34648,57814,51116,40792,59350,57260,33608,50084,36680,58322,53156,48968,61394,59744,64088,54976,62896,64876,53824,62608,64804,60192,64200,37568,58544,63788,55648,63064,64918,52064,62168,46784,51488,62024,45632,60560,64292,38464,58768,63844,56096,63176,64946,35168,57944,52400,62252,47456,61016,64406,50608,61804,39776,50320,61732,39200,58952,63890,56464,63268,35616,58056,52624,62308,47904,61128,64434,33968,57644,50776,61846,40112,59180,56920,63382,49880,36272,49736,35984,58148,48560,52808,62354,48272,61220,34192,57700,50888,61874,40336,59236,57032,63410,33368,49964,36440,58262,53036,48728,61334,49516,34520,49444,34376,57746,40664,50980,40520,59282,57124,33480,50020,36552,58290,53092,48840,61362,33068,49558,34604,51094,40748,33644,33572,36716,50066,36644,49004,53138,33124,49586,34660,51122,40804,57266,41664,59568,64044,54112,62680,64822,53536,62536,64786,44736,60336,64236,42560,59792,64100,55072,62920,64882,37216,58456,63766,55472,63020,51632,62060,45920,51344,61988,45344,60488,64274,38752,58840,63862,37664,58568,63794,55696,63076,52112,62180,46880,60872,64370,34992,57900,52312,62230,47280,60972,50392,61750,39344,50248,61714,39056,58916,56392,63250,35760,58092,35216,57956,48048,52424,62258,47504,61028,50632,61810,39824,59108,56776,63346,33880,57622,50732,40024,59158,56876,49772,36056,49700,35912,58130,48344,52772,48200,61202,34264,57718,33992,57650,40408,50788,40136,59186,56932,49892,36296,58226,52964,48584,61298,33324,49942,36396,53014,49462,34412,49426,34340,40556,50962,40484,33516,33380,36588,49970,36452,48876,53042,48740,49522,34532,51058,40676,57202,33046,34582,33590,33554,36662,36626,33142,33074,34678,34610,40822,40754,33650,36722,49010,41312,59480,64022,53680,62572,53392,62500,42848,59864,64118,41760,59592,64050,55216,62956,54160,62692,44832,60360,64242,37040,58412,55384,62998,51416,62006,45488,51272,61970,45200,60452,37808,58604,37264,58468,55496,63026,52184,62198,47024,51656,62066,45968,60644,38800,58852,56264,63218,34904,57878,52268,47192,60950,50284,39128,50212,38984,58898,56356,35288,57974,35016,57906,47576,52324,47304,60978,50668,39896,50404,39368,58994,56548,35784,58098,52708,48072,61170,33836,50710,39980,49718,35948,49682,35876,48236,52754,34028,33892,40172,50738,40036,56882,49910,36332,49778,36068,48620,52850,48356,34276,50930,40420,57074,33302,36374,34358,34322,40502,33398,33330,36470,36402,48758,34550,34418,40694,40562,33522,36594,48882,41136,59436,53464,62518,53320,62482,41904,59628,41360,59492,54232,62710,53704,62578,44976,60396,42896,59876,55240,62962,36952,58390,55340,51308,45272,51236,45128,60434,37336,58486,37064,58418,55396,51692,46040,51428,45512,60530,38872,58870,37832,58610,55780,52196,47048,60914,34860,52246,50230,39020,50194,38948,35052,34916,47340,52274,47204,50422,39404,50290,39140,56434,35820,35300,48108,52466,47588,50674,39908,56818,33814,35894,35858,33910,33842,40054,39986,36086,35954,48374,48242,34294,34034,40438,40178,36338,48626,41048,59414,53356,53284,41432,59510,41160,59442,53740,53476,42968,59894,41928,59634,55276,54244,36908,51254,45164,51218,37100,36964,55346,51446,45548,51314,45284,37868,37348,55538,52214,47084,51698,46052,34838,38966,34934,34866,47222,39158,39026,35318,35058,47606,47346,39926,39410,6e4,64152,54336,62736,64836,60784,64348,38080,58672,63820,55904,63128,64934,51744,62088,46144,60688,64324,39648,59064,63918,56688,63324,35424,58008,52528,62284,47712,61080,64422,50448,61764,39456,59016,63906,56592,63300,36208,58204,52920,62382,48496,61276,34096,57676,50840,61862,40240,59212,56984,63398,49800,36112,58180,52872,62370,48400,61252,34488,57774,51036,40632,59310,57180,33432,49996,36504,58278,53068,48792,61350,49476,34440,57762,51012,40584,59298,57156,33628,50094,36700,53166,48988,33100,49574,34636,51110,40780,57254,33604,50082,36676,53154,48964,53984,62648,64814,44480,60272,64220,42176,59696,64076,54880,62872,64870,53792,62600,64802,44096,60176,64196,51568,62044,45792,60600,64302,38624,58808,63854,37472,58520,63782,55600,63052,52016,62156,46688,51472,62020,45600,60552,64290,38432,58760,63842,56080,63172,50360,61742,39280,58972,56504,63278,35696,58076,35120,57932,47984,52376,62246,47408,61004,50584,61798,39728,50312,61730,39184,58948,56456,63266,35600,58052,52616,62306,47888,61124,49756,36024,58158,52828,48312,61230,34232,57710,33944,57638,40376,50764,40088,59174,56908,49868,36248,49732,35976,58146,48536,52804,48264,61218,34184,57698,50884,40328,59234,57028,49454,34396,50990,40540,57134,33500,33356,36572,49958,36428,48860,53030,48716,49510,34508,49442,34372,40652,50978,40516,57122,33476,50018,36548,53090,48836,33582,36654,33134,33062,34670,34598,40814,40742,33638,33570,36710,36642,48998,33122,34658,40802,53616,62556,42720,59832,64110,41568,59544,64038,55152,62940,54064,62668,53520,62532,44640,60312,64230,42528,59784,64098,55056,62916,51384,61998,45424,60508,37744,58588,37168,58444,55448,63014,52152,62190,46960,51608,62054,45872,51336,61986,45328,60484,38704,58828,37648,58564,55688,63074,52104,62178,46864,60868,50268,39096,58926,56412,35256,57966,34968,57894,47544,52300,47256,60966,50652,39864,50380,39320,50244,39048,58914,56388,35736,58086,35208,57954,48024,52420,47496,61026,50628,39816,59106,56772,49710,35932,52782,48220,34012,33868,40156,50726,40012,56870,49902,36316,49766,36044,49698,48604,35908,48332,52770,48196,34252,33988,40396,50786,40132,56930,49890,36292,52962,48580,34350,40494,33390,33318,36462,36390,48750,34542,34406,40686,34338,40550,40482,33510,33378,36582,36450,48870,48738,34530,40674,53432,62510,41840,59612,41264,59468,54200,62702,53656,62566,53384,62498,44912,60380,42800,59852,41744,59588,55192,62950,54152,62690,44816,60356,51292,45240,60462,37304,58478,37016,58406,55372,51676,46008,51404,45464,51268,45192,60450,38840,58862,37784,58598,37256,58466,55492,52172,47e3,51652,45960,60642,38792,58850,56260,50222,39004,56366,35036,34892,47324,52262,47180,50414,39388,50278,39116,50210,38980,56354,35804,35276,48092,35012,47564,52322,47300,50662,39884,50402,39364,56546,35780,52706,48068,35886,33902,33830,40046,39974,36078,35942,48366,35874,48230,34286,34022,40430,33890,40166,40034,36326,36066,48614,48354,34274,40418,53340,41400,59502,41112,59430,53724,53452,53316,42936,59886,41880,59622,41352,59490,55260,54220,53700,44952,60390,42888,59874,51246,45148,37084,36940,55334,51438,45532,51302,45260,51234,45124,37852,37324,37060,55394,52206,47068,51686,46028,51426,45508,38860,37828,55778,38958,34926,34854,47214,39150,39014,38946,35310,35046,47598,34914,47334,47202,39918,39398,39138,35814,35298,48102,47586,53294,41180,41036,53486,53350,53282,41948,41420,41156,54254,53734,53474,45020,42956,41924,36974,36902,45294,45158,37358,37094,36962,46062,45542,45282,38894,37862,37346,54496,62776,64846,43200,59952,64140,54304,62728,64834,56048,63164,51824,62108,46304,60728,64334,37984,58648,63814,55856,63116,51728,62084,46112,60680,64322,52600,62302,47856,61116,50488,61774,39536,59036,56632,63310,35376,57996,52504,62278,47664,61068,50440,61762,39440,59012,56584,63298,50876,40312,59230,57020,49820,36152,58190,52892,48440,61262,34072,57670,50828,40216,59206,56972,49796,36104,58178,52868,48392,61250,50014,36540,53086,48828,49486,34460,51022,40604,57166,33420,49990,36492,53062,48780,49474,34436,51010,40580,57154,34654,40798,33614,36686,48974,33094,34630,40774,33602,36674,48962,59768,64094,55024,62908,53872,62620,44256,60216,64206,42080,59672,64070,54832,62860,53776,62596,44064,60168,64194,37616,58556,55672,63070,52088,62174,46832,51512,62030,45680,60572,38512,58780,37424,58508,55576,63046,51992,62150,46640,51464,62018,45584,60548,38416,58756,56072,63170,35192,57950,52412,47480,61022,50620,39800,50332,39224,58958,56476,35640,58062,35096,57926,47928,52364,47384,60998,50572,39704,50308,39176,58946,56452,35592,58050,52612,47880,61122,33980,50782,40124,56926,49886,36284,49742,35996,48572,52814,48284,34204,33932,40348,50758,40076,56902,49862,36236,49730,35972,48524,52802,48260,34180,50882,40324,57026,33374,36446,48734,34526,34382,40670,40526,33486,33350,36558,36422,48846,48710,34502,34370,40646,40514,33474,36546,48834,41712,59580,54136,62686,53560,62542,44784,60348,42608,59804,41520,59532,55096,62926,54040,62662,53512,62530,44592,60300,42512,59780,55048,62914,37240,58462,55484,51644,45944,51356,45368,60494,38776,58846,37688,58574,37144,58438,55436,52124,46904,51596,45848,51332,45320,60482,38680,58822,37640,58562,55684,52100,46856,60866,35004,52318,47292,50398,39356,50254,39068,56398,35772,35228,48060,34956,47516,52294,47244,50638,39836,50374,39308,50242,39044,56386,35724,35204,48012,52418,47492,50626,39812,56770,33886,40030,36062,35918,48350,48206,34270,33998,40414,33862,40142,40006,36302,36038,48590,35906,48326,48194,34246,33986,40390,40130,36290,48578,41336,59486,53692,53404,42872,59870,41784,59598,41240,59462,55228,54172,53644,53380,44856,60366,42776,59846,41736,59586,55180,54148,37052,55390,51422,45500,51278,45212,37820,37276,37004,55366,52190,47036,51662,45980,51398,45452,51266,45188,38812,37772,37252,55490,52166,46988,51650,45956,34910,47198,39134,38990,35294,35022,47582,34886,47310,47174,39902,39374,39110,38978,35790,35270,48078,35010,47558,47298,39878,39362,41148,53470,53326,41916,41372,41100,54238,53710,53446,53314,44988,42908,41868,41348,55246,54214,53698,36958,45278,45134,37342,37070,36934,46046,45518,45254,45122,38878,37838,37318,37058,47054,46022,45506,41054,41438,41166,41030,42974,41934,41414,41154,43488,60024,64158,54384,62748,43104,59928,64134,54288,62724,60796,38128,58684,55928,63134,51768,62094,46192,60700,37936,58636,55832,63110,51720,62082,46096,60676,39672,59070,56700,35448,58014,52540,47736,61086,50460,39480,59022,56604,35352,57990,52492,47640,61062,50436,39432,59010,56580,36220,52926,48508,34108,50846,40252,56990,49806,36124,52878,48412,34060,50822,40204,56966,49794,36100,52866,48388,34494,40638,33438,36510,48798,34446,40590,33414,36486,48774,34434,40578,54008,62654,44528,60284,42224,59708,54904,62878,53816,62606,44144,60188,42032,59660,54808,62854,53768,62594,44048,60164,51580,45816,60606,38648,58814,37496,58526,55612,52028,46712,51484,45624,60558,38456,58766,37400,58502,55564,51980,46616,51460,45576,60546,38408,58754,56068,50366,39292,56510,35708,35132,47996,52382,47420,50590,39740,50318,39196,56462,35612,35084,47900,52358,47372,50566,39692,50306,39172,56450,35588,52610,47876,36030,48318,34238,33950,40382,40094,36254,35982,48542,48270,34190,33926,40334,40070,36230,35970,48518,48258,34178,40322,53628,42744,59838,41592,59550,55164,54076,53532,44664,60318,42552,59790,41496,59526,55068,54028,53508,44568,60294,42504,59778,51390,45436,37756,37180,55454,52158,46972,51614,45884,51342,45340,38716,37660,37132,55430,52110,46876,51590,45836,51330,45316,38668,37636,55682,39102,35262,34974,47550,47262,39870,39326,39054,35742,35214,48030,34950,47502,47238,39822,39302,39042,35718,35202,48006,47490,53438,41852,41276,54206,53662,53390,44924,42812,41756,41228,55198,54158,53638,53378,44828,42764,41732,45246,37310,37022,46014,45470,45198,38846,37790,37262,36998,47006,45966,45446,45186,38798,37766,37250,41406,41118,42942,41886,41358,41094,44958,42894,41862,41346,54520,62782,43248,59964,54328,62734,43056,59916,54280,62722,56060,51836,46328,60734,38008,58654,55868,51740,46136,60686,37912,58630,55820,51716,46088,60674,52606,47868,50494,39548,56638,35388,52510,47676,50446,39452,56590,35340,52486,47628,50434,39428,56578,40318,36158,48446,34078,40222,36110,48398,34054,40198,36098,48386,59774,55036,53884,44280,60222,42104,59678,54844,53788,44088,60174,42008,59654,54796,53764,37628,55678,52094,46844,51518,45692,38524,37436,55582,51998,46652,51470,45596,38428,37388,55558,51974,46604,51458,45572,35198,47486,39806,39230,35646,35102,47934,47390,39710,39182,35598,35078,47886,47366,39686,39170,41724,54142,53566,44796],EVEN_TABLE=[48732,49518,34524,49446,34380,40668,50982,40524,57126,33484,33348,36556,49954,36420,48844,53026,48708,49506,34500,51042,40644,57186,33070,34606,40750,33646,33574,36718,36646,49006,33126,33058,34662,34594,40806,40738,33634,36706,48994,41696,59576,64046,54128,62684,53552,62540,44768,60344,64238,42592,59800,64102,41504,59528,64034,55088,62924,54032,62660,44576,60296,64226,37232,58460,55480,63022,51640,62062,45936,51352,61990,45360,60492,38768,58844,37680,58572,37136,58436,55432,63010,52120,62182,46896,51592,62050,45840,60612,38672,58820,56200,63202,35e3,57902,52316,47288,60974,50396,39352,50252,39064,58918,56396,35768,58094,35224,57958,48056,34952,57890,47512,52292,47240,60962,50636,39832,50372,39304,58978,56516,35720,58082,52676,48008,61154,33884,50734,40028,56878,49774,36060,49702,35916,48348,52774,48204,34268,33996,40412,33860,40140,50722,40004,56866,49894,36300,49762,36036,48588,52834,48324,34244,50914,40388,57058,33326,36398,34414,34342,40558,40486,33518,33382,36590,33314,36454,48878,36386,48742,34534,34402,40678,40546,33506,36578,48866,41328,59484,53688,62574,53400,62502,42864,59868,41776,59596,41232,59460,55224,62958,54168,62694,53640,62562,44848,60364,42768,59844,55176,62946,37048,58414,55388,51420,45496,51276,45208,60454,37816,58606,37272,58470,37e3,58402,55364,52188,47032,51660,45976,51396,45448,60514,38808,58854,37768,58594,55748,52164,46984,60898,34908,52270,47196,50286,39132,50214,38988,56358,35292,35020,47580,34884,47308,52258,47172,50670,39900,50406,39372,50274,39108,56418,35788,35268,48076,52450,47556,50658,39876,56802,33838,39982,35950,35878,48238,34030,33894,40174,33826,40038,39970,36334,36070,48622,35938,48358,48226,34278,34018,40422,40162,36322,48610,41144,59438,53468,53324,41912,59630,41368,59494,41096,59426,54236,53708,53444,44984,60398,42904,59878,41864,59618,55244,54212,36956,55342,51310,45276,51238,45132,37340,37068,36932,55330,51694,46044,51430,45516,51298,45252,38876,37836,37316,55522,52198,47052,51682,46020,34862,39022,38950,35054,34918,47342,34850,47206,39406,39142,39010,35822,35302,48110,35042,47590,47330,39910,39394,41052,53358,53286,41436,41164,41028,53742,53478,53346,42972,41932,41412,55278,54246,53730,36910,45166,37102,36966,36898,45550,45286,45154,37870,37350,37090,47086,46054,45538,43456,60016,64156,54368,62744,64838,43072,59920,64132,60792,64350,38112,58680,63822,55920,63132,51760,62092,46176,60696,64326,37920,58632,63810,55824,63108,39664,59068,56696,63326,35440,58012,52536,62286,47728,61084,50456,61766,39472,59020,56600,63302,35344,57988,52488,62274,47632,61060,36216,58206,52924,48504,61278,34104,57678,50844,40248,59214,56988,49804,36120,58182,52876,48408,61254,34056,57666,50820,40200,59202,56964,34492,51038,40636,57182,33436,49998,36508,53070,48796,49478,34444,51014,40588,57158,33412,49986,36484,53058,48772,33630,36702,48990,33102,34638,40782,33606,36678,48966,33090,34626,40770,54e3,62652,44512,60280,64222,42208,59704,64078,54896,62876,53808,62604,44128,60184,64198,42016,59656,64066,54800,62852,51576,62046,45808,60604,38640,58812,37488,58524,55608,63054,52024,62158,46704,51480,62022,45616,60556,38448,58764,37392,58500,55560,63042,51976,62146,46608,60804,50364,39288,58974,56508,35704,58078,35128,57934,47992,52380,47416,61006,50588,39736,50316,39192,58950,56460,35608,58054,35080,57922,47896,52356,47368,60994,50564,39688,59074,56708,49758,36028,52830,48316,34236,33948,40380,50766,40092,56910,49870,36252,49734,35980,48540,52806,48268,34188,33924,40332,50754,40068,56898,49858,36228,52930,48516,34398,40542,33502,33358,36574,36430,48862,48718,34510,34374,40654,40518,33478,33346,36550,36418,48838,48706,34498,40642,53624,62558,42736,59836,41584,59548,55160,62942,54072,62670,53528,62534,44656,60316,42544,59788,41488,59524,55064,62918,54024,62658,44560,60292,51388,45432,60510,37752,58590,37176,58446,55452,52156,46968,51612,45880,51340,45336,60486,38712,58830,37656,58566,37128,58434,55428,52108,46872,51588,45832,60610,38664,58818,56196,50270,39100,56414,35260,34972,47548,52302,47260,50654,39868,50382,39324,50246,39052,56390,35740,35212,48028,34948,47500,52290,47236,50630,39820,50370,39300,56514,35716,52674,48004,35934,48222,34014,33870,40158,40014,36318,36046,48606,35910,48334,48198,34254,33990,40398,33858,40134,40002,36294,36034,48582,48322,34242,40386,53436,41848,59614,41272,59470,54204,53660,53388,44920,60382,42808,59854,41752,59590,41224,59458,55196,54156,53636,44824,60358,42760,59842,51294,45244,37308,37020,55374,51678,46012,51406,45468,51270,45196,38844,37788,37260,36996,55362,52174,47004,51654,45964,51394,45444,38796,37764,55746,39006,35038,34894,47326,47182,39390,39118,38982,35806,35278,48094,35014,47566,34882,47302,47170,39886,39366,39106,35782,35266,48070,47554,53342,41404,41116,53726,53454,53318,42940,41884,41356,41092,55262,54222,53702,53442,44956,42892,41860,45150,37086,36942,45534,45262,45126,37854,37326,37062,36930,47070,46030,45510,45250,38862,37830,37314,41182,41038,41950,41422,41158,41026,45022,42958,41926,41410,54512,62780,43232,59960,64142,54320,62732,43040,59912,64130,56056,63166,51832,62110,46320,60732,38e3,58652,55864,63118,51736,62086,46128,60684,37904,58628,55816,63106,52604,47864,61118,50492,39544,59038,56636,35384,57998,52508,47672,61070,50444,39448,59014,56588,35336,57986,52484,47624,61058,50878,40316,57022,49822,36156,52894,48444,34076,50830,40220,56974,49798,36108,52870,48396,34052,50818,40196,56962,36542,48830,34462,40606,33422,36494,48782,34438,40582,33410,36482,48770,59772,55032,62910,53880,62622,44272,60220,42096,59676,54840,62862,53784,62598,44080,60172,42e3,59652,54792,62850,37624,58558,55676,52092,46840,51516,45688,60574,38520,58782,37432,58510,55580,51996,46648,51468,45592,60550,38424,58758,37384,58498,55556,51972,46600,60802,35196,52414,47484,50622,39804,50334,39228,56478,35644,35100,47932,52366,47388,50574,39708,50310,39180,56454,35596,35076,47884,52354,47364,50562,39684,56706,33982,40126,36286,35998,48574,48286,34206,33934,40350,40078,36238,35974,48526,48262,34182,33922,40326,40066,36226,48514,41720,59582,54140,53564,44792,60350,42616,59806,41528,59534,55100,54044,53516,44600,60302,42520,59782,41480,59522,55052,54020,37244,55486,51646,45948,51358,45372,38780,37692,37148,55438,52126,46908,51598,45852,51334,45324,38684,37644,37124,55426,52102,46860,51586,45828,35006,47294,39358,39070,35774,35230,48062,34958,47518,47246,39838,39310,39046,35726,35206,48014,34946,47494,47234,39814,39298,41340,53694,53406,42876,41788,41244,55230,54174,53646,53382,44860,42780,41740,41220,55182,54150,53634,37054,45502,45214,37822,37278,37006,47038,45982,45454,45190,38814,37774,37254,36994,46990,45958,45442,41150,41918,41374,41102,44990,42910,41870,41350,41090,43504,60028,54392,62750,43120,59932,54296,62726,43024,59908,60798,38136,58686,55932,51772,46200,60702,37944,58638,55836,51724,46104,60678,37896,58626,55812,39676,56702,35452,52542,47740,50462,39484,56606,35356,52494,47644,50438,39436,56582,35332,52482,47620,36222,48510,34110,40254,36126,48414,34062,40206,36102,48390,34050,40194,54012,44536,60286,42232,59710,54908,53820,44152,60190,42040,59662,54812,53772,44056,60166,41992,59650,51582,45820,38652,37500,55614,52030,46716,51486,45628,38460,37404,55566,51982,46620,51462,45580,38412,37380,55554,39294,35710,35134,47998,47422,58528,63784,55616,63056,64916,52032,62160,60832,64360,35136,57936,52384,62248,47424,61008,64404,50592,61800,39744,59088,63924,56736,63336,64986,33952,57640,50768,61844,40096,59176,63946,56912,63380,49872,36256,58216,52944,62388,48544,61288,64474,33360,49960,36432,58260,53032,62410,48720,61332,49512,34512,57780,51048,61914,40656,59316,57192,63450,33064,49556,34600,57802,51092,40744,59338,33640,50100,36712,58330,53172,49e3,61402,59552,64040,54080,62672,64820,60320,64232,37184,58448,63764,55456,63016,64906,51616,62056,45888,60624,64308,38720,58832,63860,56224,63208,64954,34976,57896,52304,62228,47264,60968,64394,50384,61748,39328,58984,63898,56528,63284,35744,58088,52688,62324,48032,61160,64442,33872,57620,50728,61834,40016,59156,56872,63370,49768,36048,58164,52840,62362,48336,61236,34256,57716,50920,61882,40400,59252,57064,63418,33320,49940,36392,58250,53012,49460,34408,57754,50996,40552,59290,57140,33512,50036,36584,58298,53108,48872,61370,33044,49546,34580,51082,33588,50074,36660,53146,33140,49594,34676,51130,40820,57274,41280,59472,64020,53664,62568,64794,42816,59856,64116,55200,62952,64890,37024,58408,63754,55376,62996,51408,62004,45472,60520,64282,37792,58600,63802,55760,63092,52176,62196,47008,60904,64378,34896,57876,52264,62218,47184,60948,50280,61722,39120,58932,56424,63258,35280,57972,52456,62266,47568,61044,50664,61818,39888,59124,56808,63354,33832,57610,50708,39976,59146,49716,35944,58138,52788,48232,61210,34024,57658,50804,40168,59194,56948,49908,36328,58234,52980,48616,61306,33300,49930,36372,49434,34356,50970,40500,33396,49978,36468,53050,48756,49530,34548,51066,40692,57210,33034,34570,33562,36634,33082,34618,40762,33658,36730,49018,41120,59432,64010,53456,62516,41888,59624,64058,54224,62708,44960,60392,64250,36944,58388,55336,62986,51304,61978,45264,60468,37328,58484,55528,63034,51688,62074,46032,60660,38864,58868,56296,63226,34856,57866,52244,50228,39016,58906,56372,35048,57914,52340,47336,60986,50420,39400,59002,56564,35816,58106,52724,48104,61178,33812,50698,49690,35892,52762,33908,50746,40052,56890,49786,36084,52858,48372,34292,50938,40436,57082,33290,34330,33338,36410,34426,40570,33530,36602,48890,41040,59412,53352,62490,41424,59508,53736,62586,42960,59892,55272,62970,36904,58378,51252,45160,60442,37096,58426,55412,51444,45544,60538,37864,58618,55796,52212,47080,60922,34836,50202,38964,34932,52282,47220,50298,39156,56442,35316,52474,47604,50682,39924,56826,33802,35866,33850,39994,35962,48250,34042,40186,36346,48634,59968,64144,60768,64344,58656,63816,55872,63120,64932,39616,59056,63916,56672,63320,64982,35392,58e3,52512,62280,47680,61072,64420,36192,58200,52912,62380,48480,61272,64470,34080,57672,50832,61860,40224,59208,63954,56976,63396,34480,57772,51032,61910,40624,59308,57176,63446,33424,49992,36496,58276,53064,62418,48784,61348,33624,50092,36696,58326,53164,48984,61398,33096,49572,34632,57810,51108,40776,59346,57252,53952,62640,64812,60256,64216,59680,64072,54848,62864,64868,51552,62040,45760,60592,64300,38592,58800,63852,37440,58512,63780,55584,63048,64914,52e3,62152,46656,60816,64356,50352,61740,39264,58968,63894,56496,63276,35680,58072,35104,57928,47968,52368,62244,47392,61e3,64402,50576,61796,39712,59080,63922,56720,63332,49752,36016,58156,52824,62358,48304,61228,34224,57708,33936,57636,40368,50760,61842,40080,59172,56904,63378,49864,36240,58212,52936,62386,48528,61284,49452,34392,57750,50988,40536,59286,57132,33496,33352,36568,49956,36424,58258,48856,53028,48712,61330,49508,34504,57778,51044,40648,59314,57188,33580,50070,36652,53142,33132,33060,34668,49554,34596,40812,51090,40740,33636,50098,36708,53170,48996,53600,62552,64790,42688,59824,64108,41536,59536,64036,55136,62936,64886,54048,62664,64818,44608,60304,64228,51376,61996,45408,60504,64278,37728,58584,63798,37152,58440,63762,55440,63012,52144,62188,46944,51600,62052,45856,60616,64306,38688,58824,63858,56208,63204,50264,61718,39088,58924,56408,63254,35248,57964,34960,57892,47536,52296,62226,47248,60964,50648,61814,39856,50376,61746,39312,58980,56520,63282,35728,58084,52680,62322,48016,61156,49708,35928,58134,52780,48216,61206,34008,57654,33864,57618,40152,50724,40008,59154,56868,49900,36312,49764,36040,58162,48600,52836,48328,61234,34248,57714,50916,40392,59250,57060,49430,34348,50966,40492,33388,33316,36460,49938,36388,48748,53010,49526,34540,49458,34404,40684,50994,40548,57138,33508,50034,36580,53106,48868,33558,36630,33078,33042,34614,34578,40758,33654,33586,36726,36658,49014,33138,34674,40818,53424,62508,41824,59608,64054,41248,59464,64018,54192,62700,53648,62564,44896,60376,64246,42784,59848,64114,55184,62948,51288,61974,45232,60460,37296,58476,37008,58404,55368,62994,51672,62070,46e3,51400,62002,45456,60516,38832,58860,37776,58596,55752,63090,52168,62194,46992,60900,50220,39e3,58902,56364,35032,57910,34888,57874,47320,52260,47176,60946,50412,39384,50276,39112,58930,56420,35800,58102,35272,57970,48088,52452,47560,61042,50660,39880,59122,56804,49686,35884,52758,33900,33828,40044,50706,39972,49782,36076,49714,35940,48364,52786,48228,34284,34020,40428,50802,40164,56946,49906,36324,52978,48612,34326,33334,33298,36406,36370,34422,34354,40566,40498,33526,33394,36598,36466,48886,48754,34546,40690,53336,62486,41392,59500,41104,59428,53720,62582,53448,62514,42928,59884,41872,59620,55256,62966,54216,62706,44944,60388,51244,45144,60438,37080,58422,36936,58386,55332,51436,45528,51300,45256,60466,37848,58614,37320,58482,55524,52204,47064,51684,46024,60658,38856,58866,56292,50198,38956,34924,34852,47212,52242,50294,39148,50226,39012,56370,35308,35044,47596,52338,47332,50678,39916,50418,39396,56562,35812,52722,48100,35862,33846,33810,39990,35958,35890,48246,34038,33906,40182,40050,36342,36082,48630,48370,34290,40434,53292,41176,59446,41032,59410,53484,53348,41944,59638,41416,59506,54252,53732,45016,60406,42952,59890,51222,36972,36900,51318,45292,51250,45156,37356,37092,55410,51702,46060,51442,45540,38892,37860,55794,34870,34834,39030,38962,35062,34930,47350,47218,39414,39154,35830,35314,48118,47602,54464,62768,64844,59936,64136,56032,63160,64942,51808,62104,46272,60720,64332,37952,58640,63812,55840,63112,64930,52592,62300,47840,61112,64430,50480,61772,39520,59032,63910,56624,63308,35360,57992,52496,62276,47648,61064,64418,50872,61870,40304,59228,57016,63406,49816,36144,58188,52888,62374,48432,61260,34064,57668,50824,61858,40208,59204,56968,63394,50012,36536,58286,53084,48824,61358,49484,34456,57766,51020,40600,59302,57164,33416,49988,36488,58274,53060,48776,61346,49582,34652,51118,40796,57262,33612,50086,36684,53158,48972,33092,49570,34628,51106,40772,57250,59760,64092,55008,62904,64878,53856,62616,64806,44224,60208,64204,42048,59664,64068,54816,62856,64866,37600,58552,63790,55664,63068,52080,62172,46816,51504,62028,45664,60568,64294,38496,58776,63846,37408,58504,63778,55568,63044,51984,62148,46624,60808,64354,35184,57948,52408,62254,47472,61020,50616,61806,39792,50328,61734,39216,58956,56472,63270,35632,58060,35088,57924,47920,52360,62242,47376,60996,50568,61794,39696,59076,56712,63330,33976,57646,50780,40120,59182,56924,49884,36280,49740,35992,58150,48568,52812,48280,61222,34200,57702,33928,57634,40344,50756,40072,59170,56900,49860,36232,58210,52932,48520,61282,33372,49966,36444,53038],WEIGHT=[[[20,16,38]],[[1,9,31],[9,31,26],[31,26,2],[26,2,12]],[[2,12,17],[12,17,23],[17,23,37],[23,37,18]],[[37,18,22],[18,22,6],[22,6,27],[6,27,44]],[[27,44,15],[44,15,43],[15,43,39],[43,39,11]],[[39,11,13],[11,13,5],[13,5,41],[5,41,33]],[[41,33,36],[33,36,8],[36,8,4],[8,4,32]],[[4,32,3],[32,3,19],[3,19,40],[19,40,25]],[[40,25,29],[25,29,10],[29,10,24],[10,24,30]],[[20,16,38],[0,0,0],[0,0,0],[0,0,0]]],PARITY=[[1,0,0,1],[0,1,0,1],[1,1,0,0],[0,0,1,1],[1,0,1,0],[0,1,1,0],[1,1,1,1],[0,0,0,0]],ALPHA_TABLE=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%"," "," ",wijmo_barcode_1.Constants.FNC1,wijmo_barcode_1.Constants.FNC2,wijmo_barcode_1.Constants.FNC3," "],ASCII_TABLE=["  "," A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V"," W"," X"," Y"," Z"," 1"," 2"," 3"," 4"," 5"," "," 6"," 7"," 8","$","%"," 9"," 0"," -"," ."," $","+"," /","-",".","/","0","1","2","3","4","5","6","7","8","9"," +"," 1"," 2"," 3"," 4"," 5"," 6","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," 7"," 8"," 9"," 0"," -"," ."," A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V"," W"," X"," Y"," Z"," $"," /"," +"," %","  "];function isNumericOnly(e){return/^\d{5,81}$/.test(e)}exports.isNumericOnly=isNumericOnly;function getCharValue_Code49(e){var t=ALPHA_TABLE.indexOf(e);if(t>-1)return[t];var r=e.charCodeAt(0),o=ASCII_TABLE[r];return wijmo_barcode_1.Utils.str2Array(o).map((function(e){return ALPHA_TABLE.indexOf(e)}))}exports.getCharValue_Code49=getCharValue_Code49;function getWeight(e,t){var r=WEIGHT[e][t];return{x:r[0],y:r[1],z:r[2]}}exports.getWeight=getWeight;function getParityPattern(e,t,r,o){return(!(t===o-1)&&PARITY[t][r]?ODD_TABLE[e]:EVEN_TABLE[e]).toString(2)}exports.getParityPattern=getParityPattern;function getGroupInfo(e,t){for(var r=2,o=1;r<t;){o+=r;r++}return o+e}exports.getGroupInfo=getGroupInfo;function getDataLength(e){return wijmo_barcode_1.Utils.str2Array(e).reduce((function(e,t){ALPHA_TABLE.indexOf(t)>-1?e++:e+=2;return e}),0)}function getTextGroup(e){for(var t=0,r=1,o=e.length,n=[];r<o;){if(getDataLength(e.substring(t,r))>48){n.push(e.substring(t,r-1));t=r-1}r++}n.push(e.substring(t,r));return n}exports.getTextGroup=getTextGroup;var Code49Encoder=function(e){__extends(Code49Encoder,e);function Code49Encoder(t){var r=this;t.merge(Code49Encoder.DefaultConfig);var o=(r=e.call(this,t)||this).encodeConfig.text;r.text=o;r.label=o.replace(/[\xc9-\xcf]/g,"");r.mode=isNumericOnly(o)?2:0;r.getModes();return r}Code49Encoder.prototype.validate=function(){var e=this.encodeConfig.text,t=this.config.grouping;if(!/^[\x00-\x80\xcf\xca\xc9]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e);if(!t&&e.length>81)throw new wijmo_barcode_1.TextTooLongException};Code49Encoder.prototype.getModes=function(){var e=this.text,t=this.config,r=t.grouping,o=t.groupNo;if(r){var n=getTextGroup(e);if(n.length>1){if(n.length>9)throw new wijmo_barcode_1.GroupSizeOverflowException(n.length);if(o>n.length-1)throw new wijmo_barcode_1.InvalidOptionsException({groupNo:o},"Max group number is "+(n.length-1));this.groupCount=n.length;this.mode=3;e=n[o]}}for(var a=[],i=0,s=0,c=e.length;i<c;){for(;s<c&&!(e[s]<"0"||e[s]>"9");)s++;if(s-i>=5){a.push({mode:"number",text:e.substring(i,s)});i=s}else{var u=a[a.length-1];u&&"alpha"===u.mode?u.text+=e.substring(i,s+1):a.push({mode:"alpha",text:e.substring(i,s+1)});i=++s}}this.modes=a};Code49Encoder.prototype.encodeNumeric=function(e){var t,r;switch(e.length){case 3:return[~~((t=+e)/48),t%48];case 4:return[~~((t=+e+1e5)/2304),~~(t%2304/48),t%48];case 5:return[~~((t=+e)/2304),~~(t%2304/48),t%48];case 6:t=e.substr(0,5);return this.encodeNumeric(t).concat([+e[5]]);case 7:t=e.substr(0,4);r=e.substr(4,3);return this.encodeNumeric(t).concat(this.encodeNumeric(r));case 8:t=e.substr(0,5);r=e.substr(5,3);return this.encodeNumeric(t).concat(this.encodeNumeric(r));case 9:t=e.substr(0,5);r=e.substr(5,4);return this.encodeNumeric(t).concat(this.encodeNumeric(r));default:t=e.substr(0,5);r=e.substr(5,e.length);return this.encodeNumeric(t).concat(this.encodeNumeric(r))}};Code49Encoder.prototype.encodeAlpha=function(e){return wijmo_barcode_1.Utils.str2Array(e).reduce((function(e,t){return e=e.concat(getCharValue_Code49(t))}),[])};Code49Encoder.prototype.calculateData=function(){var e=this,t=this.modes,r=this.mode,o=this.groupCount,n=this.config.groupNo,a=t.reduce((function(t,o,n){if("number"===o.mode){0===n&&2!==r&&t.push(Code49Encoder.CODE_NS);t=t.concat(e.encodeNumeric(o.text))}else t=t.concat(e.encodeAlpha(o.text));t.push(Code49Encoder.CODE_NS);return t}),[]);a.pop();3===r&&a.unshift(getGroupInfo(n,o));for(var i=a.length%7;a.length%7!=0;)a.push(Code49Encoder.CODE_NS);var s=[];wijmo_barcode_1.Utils.sliceArray(a,7,(function(e){var t=e.reduce((function(e,t){return e+t}),0);e.push(t%49);s=s.concat(e)}));var c=a.length/7;if(c%8>=6||i>2||0==i||c%8==1){s=s.concat(wijmo_barcode_1.Utils.fillArray(new Array(8),Code49Encoder.CODE_NS));c++}if(c>8)throw new wijmo_barcode_1.TextTooLongException;var u=7*(c-2)+r;s[s.length-2]=u;var l=getWeight(0,0),d=u*l.z,p=u*l.y,h=u*l.x,C=8*(c-1)/2;if(c>6){for(var g=0,f=0;g<C;g++,f+=2){d+=getWeight(1+~~(g/4),g%4).z*(49*s[f]+s[f+1])}d%=2401;s[s.length-8]=~~(d/49);s[s.length-7]=~~(d%49)}C++;for(g=0,f=0;g<C;g++,f+=2){p+=getWeight(1+~~(g/4),g%4).y*(49*s[f]+s[f+1])}p%=2401;s[s.length-6]=~~(p/49);s[s.length-5]=~~(p%49);C++;for(g=0,f=0;g<C;g++,f+=2){h+=getWeight(1+~~(g/4),g%4).x*(49*s[f]+s[f+1])}h%=2401;s[s.length-4]=~~(h/49);s[s.length-3]=~~(h%49);var m=s.slice(8*c-8,8*c-1);s[s.length-1]=m.reduce((function(e,t){return e+t}),0)%49;for(var _=[],S=0,b=s.length,w=0;S<b;S+=8,w++){var E=s.slice(S,S+8),x=[];_.push(x);g=0;for(var M=0;g<8;g+=2,M++){var T=49*E[g]+E[g+1];x.push(getParityPattern(T,w,M,c))}x.unshift(Code49Encoder.START_PATTERN);x.push(Code49Encoder.STOP_PATTERN)}return _};Code49Encoder.prototype.convertToShape=function(e,t){var r=this.label,o=this.encodeConfig,n=o.fontSizeInUnit,a=o.isLabelBottom,i=o.height,s=o.quietZone,c=o.showLabel,u=this.style.textAlign,l=0;r&&c&&(l=n);var d=(i-1)/e.length-1,p=70+s.right+s.left,h=i+s.top+s.bottom-2,C=new wijmo_barcode_1.VerticalLayoutArea,g=new wijmo_barcode_1.MatrixSymbolArea(p,h);g.setStyle({padding:{top:s.top,right:s.right,bottom:s.bottom,left:s.left},border:{top:1,bottom:1}});var f=g.getSize(),m=new wijmo_barcode_1.LabelArea(f.width,l,u);if(a){C.append(g);C.append(m)}else{C.append(m);C.append(g)}if(!t){e.forEach((function(t,r){t.forEach((function(e){wijmo_barcode_1.Utils.combineTruthy(e).forEach((function(e){0!==e?g.append(e,d):g.space()}))}));0===r&&r===e.length-1||g.append(70,1)}));m.append({text:r});this.shapes=C.toShapes()}this.size=C.getSize()};Code49Encoder.prototype.adjustDesiredSize=function(){var e=this.size.width,t=this.encodeConfig,r=t.desiredSize,o=t.containerWidth/e;r.forceRounding&&(o=(o=~~o)<1?1:o);this.applyDesiredSize(o)};Code49Encoder.DefaultConfig={showLabel:!0,grouping:!1,groupNo:0,labelPosition:"bottom",height:60,quietZone:{right:1,left:10}};Code49Encoder.CODE_NS=48;Code49Encoder.START_PATTERN="10";Code49Encoder.STOP_PATTERN="1111";return Code49Encoder}(wijmo_barcode_1.TwoDimensionalBarcode);exports.Code49Encoder=Code49Encoder;wijmo_barcode_1.Barcode.registerEncoder("Code49",Code49Encoder);var BitwiseIterator=function(){function BitwiseIterator(e,t){this._data=e;this.offset=t||0}Object.defineProperty(BitwiseIterator.prototype,"bitLength",{get:function(){return 8*this._data.length},enumerable:!0,configurable:!0});Object.defineProperty(BitwiseIterator.prototype,"currentBit",{get:function(){return this.getBit(this.offset)},enumerable:!0,configurable:!0});BitwiseIterator.prototype.fetchBit=function(){return this.getBit(this.offset++)};BitwiseIterator.prototype.getBit=function(e){return!(e>=this.bitLength)&&0!=(this._data[~~(e/8)]&128>>e%8)};BitwiseIterator.prototype.setBit=function(e,t){var r=~~(e/8),o=(128>>e%8)%256;this._data[r]&=(this._data[r]&~o)%256;t&&(this._data[r]|=o)};BitwiseIterator.prototype.putBit=function(e){this.setBit(this.offset,e);this.offset++};BitwiseIterator.prototype.putBitsMSF=function(e,t,r){var o=!!r;o||(r=this.offset);for(var n=2147483648,a=0;a<t;++a){this.setBit(r+a,0!=(e&n));n/=2}o||(this.offset+=t)};BitwiseIterator.prototype.putBitsLSF=function(e,t,r){var o=!!r;o||(r=this.offset);for(var n=1,a=0;a<t;++a){this.setBit(r+a,0!=(e&n));n<<=1}o||(this.offset+=t)};return BitwiseIterator}();exports.BitwiseIterator=BitwiseIterator;var EncodationScheme={Base11:0,Base27:1,Base37:2,Base41:3,ASCII:4,Byte:5};function getEncodationScheme(e){return e>=48&&e<=57||32==e?EncodationScheme.Base11:e>=65&&e<=90?EncodationScheme.Base27:e>=44&&e<=47?EncodationScheme.Base41:e<=127?EncodationScheme.ASCII:EncodationScheme.Byte}function chooseEncodationScheme(e){for(var t=EncodationScheme.Base11,r=0,o=e.length;r<o&&(t=updateEncodationScheme(t,getEncodationScheme(e[r])))!==EncodationScheme.Byte;r++);return t}exports.chooseEncodationScheme=chooseEncodationScheme;function updateEncodationScheme(e,t){if(e==t)return e;if(e==EncodationScheme.Byte||t==EncodationScheme.Byte)return EncodationScheme.Byte;var r=e;switch(e){case EncodationScheme.Base11:t==EncodationScheme.Base27?r=EncodationScheme.Base37:t>r&&(r=t);break;case EncodationScheme.Base27:t==EncodationScheme.Base11?r=EncodationScheme.Base37:t>r&&(r=t);break;case EncodationScheme.Base37:case EncodationScheme.Base41:t>r&&(r=t)}return r}function mod256_140(e){return e%256}function getCodeWord(e,t){if(e==EncodationScheme.Byte)return t;if(e==EncodationScheme.ASCII)return mod256_140(127&t);var r=0;if(32==t)return r;t>=48&&t<=57&&(r=mod256_140(t-47));if(e==EncodationScheme.Base11)return r;r+=26;t>=65&&t<=90&&(r=mod256_140(t-64));if(e!=EncodationScheme.Base41)return r;switch(t){case 44:return 38;case 45:return 39;case 46:return 37;case 47:return 40}return r}exports.getCodeWord=getCodeWord;function setBit(e,t,r){var o=1<<t;e&=~o;r&&(e|=o);return e}exports.setBit=setBit;function RegisterMask(e,t){this.registerNumber=e;this.mask=1<<t}exports.Constants_140={BaseValues:[11,27,37,41,128,256],GroupLengths:[6,5,4,4,1,1],HeaderBits:[126,57358,465934,523278,517006],BitLengths:[[21,4,7,11,14,18,21],[24,5,10,15,20,24],[21,6,11,16,21],[22,6,11,17,22],[7,7],[8,8]],SymbolCapacities:function(){for(var e=[],t=7;t<50;t+=2)e.push(t*t);return e}(),getFormatID:function(e){e===EncodationScheme.Base37?++e:e===EncodationScheme.Base41&&--e;return e},ECCInfos:[{inputBits:1,registerBits:[0],outputBits:1,outputMasks:null},{inputBits:3,registerBits:[3,3,3],outputBits:4,outputMasks:[[new RegisterMask(0,3),new RegisterMask(1,0),new RegisterMask(2,2),new RegisterMask(2,1),new RegisterMask(2,0)],[new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,3),new RegisterMask(1,2),new RegisterMask(1,0)],[new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,2),new RegisterMask(2,3),new RegisterMask(2,2)],[new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(1,3),new RegisterMask(1,2),new RegisterMask(1,1),new RegisterMask(2,3),new RegisterMask(2,2),new RegisterMask(2,0)]]},{inputBits:2,registerBits:[10,11],outputBits:3,outputMasks:[[new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,7),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,0),new RegisterMask(1,8),new RegisterMask(1,4),new RegisterMask(1,3),new RegisterMask(1,0)],[new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,11),new RegisterMask(1,8),new RegisterMask(1,5),new RegisterMask(1,3),new RegisterMask(1,2)],[new RegisterMask(0,10),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(1,11),new RegisterMask(1,10),new RegisterMask(1,9),new RegisterMask(1,7),new RegisterMask(1,4),new RegisterMask(1,2),new RegisterMask(1,0)]]},{inputBits:1,registerBits:[15],outputBits:2,outputMasks:[[new RegisterMask(0,15),new RegisterMask(0,13),new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,7),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,0)],[new RegisterMask(0,15),new RegisterMask(0,14),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,4),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)]]},{inputBits:1,registerBits:[13],outputBits:4,outputMasks:[[new RegisterMask(0,13),new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,3),new RegisterMask(0,1),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,6),new RegisterMask(0,4),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,6),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)]]}],RandomizeBytes:[5,255,199,49,136,168,131,156,100,135,159,100,179,224,77,156,128,41,58,144,179,139,158,144,69,191,245,104,75,8,207,68,184,212,76,91,160,171,114,82,28,228,210,116,164,218,138,8,250,167,199,221,0,48,169,230,100,171,213,139,237,156,121,248,8,209,139,198,34,100,11,51,67,208,128,212,68,149,46,111,94,19,141,71,98,6,235,128,130,201,65,213,115,138,48,35,36,227,127,178,168,11,237,56,66,76,215,176,206,152,189,225,213,228,195,29,21,74,207,209,31,57,38,24,147,252,25,178,45,171,242,110,161,159,175,208,138,43,160,86,176,65,109,67,164,99,243,170,125,175,53,87,194,148,74,101,11,65,222,184,226,48,18,39,155,102,43,52,91,184,153,232,40,113,208,149,107,7,77,60,122,179,229,41,179,186,140,204,45,224,201,192,34,236,76,222,248,88,7,252,25,242,100,226,195,226,216,185,253,103,160,188,245,46,201,73,117,98,130,39,16,244,25,111,73,247,179,132,20,234,235,225,42,49,171,71,125,8,41,172,187,114,250,250,98,184,200,211,134,137,149,253,223,204,156,173,241,212,108,100,35,36,42,86,31,54,235,183,214,255,218,87,244,80,121,8,0],ModuleMapping:[[2,45,10,38,24,21,1,12,40,26,5,33,19,47,22,31,29,15,43,8,36,34,20,48,13,41,27,6,44,9,37,23,17,30,16,39,25,4,32,18,46,11,0,28,14,42,7,35,3],[2,19,55,10,46,28,64,73,1,62,17,53,35,71,8,80,44,26,49,31,67,4,76,40,22,58,13,69,6,78,42,24,60,15,51,33,74,38,20,56,11,47,29,65,37,25,61,16,52,34,70,7,79,43,12,48,30,66,63,75,39,21,57,32,68,5,77,41,23,59,14,50,0,72,36,18,54,9,45,27,3],[2,26,114,70,15,103,59,37,81,4,1,117,73,18,106,62,40,84,7,95,51,29,12,100,56,34,78,92,89,45,23,111,67,65,43,87,10,98,54,32,120,76,21,109,82,5,93,49,27,115,71,16,104,60,38,96,52,30,118,74,19,107,63,41,85,8,24,112,68,13,101,57,35,79,48,90,46,75,20,108,64,42,86,9,97,53,31,119,102,58,36,80,77,91,47,25,113,69,14,39,83,6,94,50,28,116,72,17,105,61,0,88,44,22,110,66,11,99,55,33,3],[2,159,29,133,81,16,120,68,42,146,94,91,1,37,141,89,24,128,76,50,154,102,11,115,63,167,83,18,122,70,44,148,96,5,109,57,161,31,135,125,73,47,151,99,8,112,60,164,34,138,86,21,40,144,92,107,105,53,157,27,131,79,14,118,66,103,12,116,64,168,38,142,90,25,129,77,51,155,110,58,162,32,136,84,19,123,71,45,149,97,6,165,35,139,87,22,126,74,48,152,100,9,113,61,132,80,15,119,67,41,145,93,55,106,54,158,28,23,127,75,49,153,101,10,114,62,166,36,140,88,69,43,147,95,4,108,56,160,30,134,82,17,121,150,98,7,111,59,163,33,137,85,20,124,72,46,0,104,52,156,26,130,78,13,117,65,39,143,3],[2,187,37,157,97,217,22,142,82,202,52,172,112,7,1,41,161,101,221,26,146,86,206,56,176,116,11,131,71,191,93,213,18,138,78,198,48,168,108,105,123,63,183,33,153,28,148,88,208,58,178,118,13,133,73,193,43,163,103,223,80,200,50,170,110,5,125,65,185,35,155,95,215,20,140,54,174,114,9,129,69,189,39,159,99,219,24,144,84,204,106,127,121,61,181,31,151,91,211,16,136,76,196,46,166,134,74,194,44,164,104,224,29,149,89,209,59,179,119,14,186,36,156,96,216,21,141,81,201,51,171,111,6,126,66,160,100,220,25,145,85,205,55,175,115,10,130,70,190,40,212,17,137,77,197,47,167,107,67,122,62,182,32,152,92,147,87,207,57,177,117,12,132,72,192,42,162,102,222,27,199,49,169,109,4,124,64,184,34,154,94,214,19,139,79,173,113,8,128,68,188,38,158,98,218,23,143,83,203,53,0,120,60,180,30,150,90,210,15,135,75,195,45,165,3],[2,69,205,35,171,103,239,18,154,86,222,52,188,120,256,273,1,220,50,186,118,254,33,169,101,237,67,203,135,271,16,288,152,84,178,110,246,25,161,93,229,59,195,127,263,8,280,144,76,212,42,250,29,165,97,233,63,199,131,267,12,284,148,80,216,46,182,114,157,89,225,55,191,123,259,4,276,140,72,208,38,174,106,242,21,235,65,201,133,269,14,286,150,82,218,48,184,116,252,31,167,99,193,125,261,6,278,142,74,210,40,176,108,244,23,159,91,227,57,265,10,282,146,78,214,44,180,112,248,27,163,95,231,61,197,129,274,138,70,206,36,172,104,240,19,155,87,223,53,189,121,257,137,83,219,49,185,117,253,32,168,100,236,66,202,134,270,15,287,151,41,177,109,245,24,160,92,228,58,194,126,262,7,279,143,75,211,113,249,28,164,96,232,62,198,130,266,11,283,147,79,215,45,181,20,156,88,224,54,190,122,258,255,275,139,71,207,37,173,105,241,98,234,64,200,132,268,13,285,149,81,217,47,183,115,251,30,166,56,192,124,260,5,277,141,73,209,39,175,107,243,22,158,90,226,128,264,9,281,145,77,213,43,179,111,247,26,162,94,230,60,196,0,272,136,68,204,34,170,102,238,17,153,85,221,51,187,119,3],[2,82,234,44,348,196,120,272,25,329,177,101,253,63,215,139,291,6,1,239,49,353,201,125,277,30,334,182,106,258,68,220,144,296,11,315,163,87,343,191,115,267,20,324,172,96,248,58,210,134,286,310,305,153,77,229,39,132,284,37,341,189,113,265,75,227,151,303,18,322,170,94,246,56,360,208,28,332,180,104,256,66,218,142,294,9,313,161,85,237,47,351,199,123,275,185,109,261,71,223,147,299,14,318,166,90,242,52,356,204,128,280,33,337,251,61,213,137,289,4,308,156,80,232,42,346,194,118,270,23,327,175,99,225,149,301,16,320,168,92,244,54,358,206,130,282,35,339,187,111,263,73,292,7,311,159,83,235,45,349,197,121,273,26,330,178,102,254,64,216,140,316,164,88,240,50,354,202,126,278,31,335,183,107,259,69,221,145,297,12,78,230,40,344,192,116,268,21,325,173,97,249,59,211,135,287,158,306,154,55,359,207,131,283,36,340,188,112,264,74,226,150,302,17,321,169,93,245,198,122,274,27,331,179,103,255,65,217,141,293,8,312,160,84,236,46,350,279,32,336,184,108,260,70,222,146,298,13,317,165,89,241,51,355,203,127,326,174,98,250,60,212,136,288,285,307,155,79,231,41,345,193,117,269,22,110,262,72,224,148,300,15,319,167,91,243,53,357,205,129,281,34,338,186,62,214,138,290,5,309,157,81,233,43,347,195,119,271,24,328,176,100,252,143,295,10,314,162,86,238,48,352,200,124,276,29,333,181,105,257,67,219,0,304,152,76,228,38,342,190,114,266,19,323,171,95,247,57,209,133,3],[2,88,424,256,46,382,214,130,298,25,361,193,109,277,67,403,235,151,319,4,1,437,269,59,395,227,143,311,38,374,206,122,290,80,416,248,164,332,17,353,185,101,49,385,217,133,301,28,364,196,112,280,70,406,238,154,322,7,343,175,91,427,259,222,138,306,33,369,201,117,285,75,411,243,159,327,12,348,180,96,432,264,54,390,295,22,358,190,106,274,64,400,232,148,316,340,337,169,85,421,253,43,379,211,127,377,209,125,293,83,419,251,167,335,20,356,188,104,440,272,62,398,230,146,314,41,115,283,73,409,241,157,325,10,346,178,94,430,262,52,388,220,136,304,31,367,199,78,414,246,162,330,15,351,183,99,435,267,57,393,225,141,309,36,372,204,120,288,236,152,320,5,341,173,89,425,257,47,383,215,131,299,26,362,194,110,278,68,404,333,18,354,186,102,438,270,60,396,228,144,312,39,375,207,123,291,81,417,249,165,344,176,92,428,260,50,386,218,134,302,29,365,197,113,281,71,407,239,155,323,8,97,433,265,55,391,223,139,307,34,370,202,118,286,76,412,244,160,328,13,349,181,254,44,380,212,128,296,23,359,191,107,275,65,401,233,149,317,172,338,170,86,422,397,229,145,313,40,376,208,124,292,82,418,250,166,334,19,355,187,103,439,271,61,135,303,30,366,198,114,282,72,408,240,156,324,9,345,177,93,429,261,51,387,219,35,371,203,119,287,77,413,245,161,329,14,350,182,98,434,266,56,392,224,140,308,192,108,276,66,402,234,150,318,315,339,171,87,423,255,45,381,213,129,297,24,360,289,79,415,247,163,331,16,352,184,100,436,268,58,394,226,142,310,37,373,205,121,405,237,153,321,6,342,174,90,426,258,48,384,216,132,300,27,363,195,111,279,69,158,326,11,347,179,95,431,263,53,389,221,137,305,32,368,200,116,284,74,410,242,0,336,168,84,420,252,42,378,210,126,294,21,357,189,105,273,63,399,231,147,3],[2,102,470,286,56,424,240,148,516,332,33,401,217,125,493,309,79,447,263,171,355,10,1,476,292,62,430,246,154,522,338,39,407,223,131,499,315,85,453,269,177,361,16,384,200,108,50,418,234,142,510,326,27,395,211,119,487,303,73,441,257,165,349,4,372,188,96,464,280,249,157,525,341,42,410,226,134,502,318,88,456,272,180,364,19,387,203,111,479,295,65,433,513,329,30,398,214,122,490,306,76,444,260,168,352,7,375,191,99,467,283,53,421,237,145,36,404,220,128,496,312,82,450,266,174,358,13,381,197,105,473,289,59,427,243,151,519,335,208,116,484,300,70,438,254,162,346,378,369,185,93,461,277,47,415,231,139,507,323,24,392,505,321,91,459,275,183,367,22,390,206,114,482,298,68,436,252,160,528,344,45,413,229,137,80,448,264,172,356,11,379,195,103,471,287,57,425,241,149,517,333,34,402,218,126,494,310,270,178,362,17,385,201,109,477,293,63,431,247,155,523,339,40,408,224,132,500,316,86,454,350,5,373,189,97,465,281,51,419,235,143,511,327,28,396,212,120,488,304,74,442,258,166,388,204,112,480,296,66,434,250,158,526,342,43,411,227,135,503,319,89,457,273,181,365,20,100,468,284,54,422,238,146,514,330,31,399,215,123,491,307,77,445,261,169,353,8,376,192,290,60,428,244,152,520,336,37,405,221,129,497,313,83,451,267,175,359,14,382,198,106,474,416,232,140,508,324,25,393,209,117,485,301,71,439,255,163,347,194,370,186,94,462,278,48,159,527,343,44,412,228,136,504,320,90,458,274,182,366,21,389,205,113,481,297,67,435,251,331,32,400,216,124,492,308,78,446,262,170,354,9,377,193,101,469,285,55,423,239,147,515,406,222,130,498,314,84,452,268,176,360,15,383,199,107,475,291,61,429,245,153,521,337,38,118,486,302,72,440,256,164,348,345,371,187,95,463,279,49,417,233,141,509,325,26,394,210,317,87,455,271,179,363,18,386,202,110,478,294,64,432,248,156,524,340,41,409,225,133,501,443,259,167,351,6,374,190,98,466,282,52,420,236,144,512,328,29,397,213,121,489,305,75,173,357,12,380,196,104,472,288,58,426,242,150,518,334,35,403,219,127,495,311,81,449,265,0,368,184,92,460,276,46,414,230,138,506,322,23,391,207,115,483,299,69,437,253,161,3],[2,603,103,503,303,53,453,253,153,553,353,28,428,228,128,528,328,78,478,278,178,578,378,375,1,123,523,323,73,473,273,173,573,373,48,448,248,148,548,348,98,498,298,198,598,398,23,423,223,623,311,61,461,261,161,561,361,36,436,236,136,536,336,86,486,286,186,586,386,11,411,211,611,111,511,467,267,167,567,367,42,442,242,142,542,342,92,492,292,192,592,392,17,417,217,617,117,517,317,67,155,555,355,30,430,230,130,530,330,80,480,280,180,580,380,5,405,205,605,105,505,305,55,455,255,370,45,445,245,145,545,345,95,495,295,195,595,395,20,420,220,620,120,520,320,70,470,270,170,570,433,233,133,533,333,83,483,283,183,583,383,8,408,208,608,108,508,308,58,458,258,158,558,358,33,139,539,339,89,489,289,189,589,389,14,414,214,614,114,514,314,64,464,264,164,564,364,39,439,239,326,76,476,276,176,576,376,403,401,201,601,101,501,301,51,451,251,151,551,351,26,426,226,126,526,499,299,199,599,399,24,424,224,624,124,524,324,74,474,274,174,574,374,49,449,249,149,549,349,99,187,587,387,12,412,212,612,112,512,312,62,462,262,162,562,362,37,437,237,137,537,337,87,487,287,393,18,418,218,618,118,518,318,68,468,268,168,568,368,43,443,243,143,543,343,93,493,293,193,593,406,206,606,106,506,306,56,456,256,156,556,356,31,431,231,131,531,331,81,481,281,181,581,381,6,621,121,521,321,71,471,271,171,571,371,46,446,246,146,546,346,96,496,296,196,596,396,21,421,221,509,309,59,459,259,159,559,359,34,434,234,134,534,334,84,484,284,184,584,384,9,409,209,609,109,65,465,265,165,565,365,40,440,240,140,540,340,90,490,290,190,590,390,15,415,215,615,115,515,315,252,152,552,352,27,427,227,127,527,327,77,477,277,177,577,377,203,402,202,602,102,502,302,52,452,572,372,47,447,247,147,547,347,97,497,297,197,597,397,22,422,222,622,122,522,322,72,472,272,172,35,435,235,135,535,335,85,485,285,185,585,385,10,410,210,610,110,510,310,60,460,260,160,560,360,241,141,541,341,91,491,291,191,591,391,16,416,216,616,116,516,316,66,466,266,166,566,366,41,441,529,329,79,479,279,179,579,379,4,404,204,604,104,504,304,54,454,254,154,554,354,29,429,229,129,94,494,294,194,594,394,19,419,219,619,119,519,319,69,469,269,169,569,369,44,444,244,144,544,344,282,182,582,382,7,407,207,607,107,507,307,57,457,257,157,557,357,32,432,232,132,532,332,82,482,588,388,13,413,213,613,113,513,313,63,463,263,163,563,363,38,438,238,138,538,338,88,488,288,188,0,400,200,600,100,500,300,50,450,250,150,550,350,25,425,225,125,525,325,75,475,275,175,575,3],[2,658,118,550,334,64,496,280,712,172,604,388,37,469,253,685,145,577,361,91,523,307,199,631,415,10,1,125,557,341,71,503,287,719,179,611,395,44,476,260,692,152,584,368,98,530,314,206,638,422,17,449,233,665,327,57,489,273,705,165,597,381,30,462,246,678,138,570,354,84,516,300,192,624,408,405,435,219,651,111,543,511,295,727,187,619,403,52,484,268,700,160,592,376,106,538,322,214,646,430,25,457,241,673,133,565,349,79,714,174,606,390,39,471,255,687,147,579,363,93,525,309,201,633,417,12,444,228,660,120,552,336,66,498,282,613,397,46,478,262,694,154,586,370,100,532,316,208,640,424,19,451,235,667,127,559,343,73,505,289,721,181,32,464,248,680,140,572,356,86,518,302,194,626,410,5,437,221,653,113,545,329,59,491,275,707,167,599,383,265,697,157,589,373,103,535,319,211,643,427,22,454,238,670,130,562,346,76,508,292,724,184,616,400,49,481,143,575,359,89,521,305,197,629,413,8,440,224,656,116,548,332,62,494,278,710,170,602,386,35,467,251,683,366,96,528,312,204,636,420,15,447,231,663,123,555,339,69,501,285,717,177,609,393,42,474,258,690,150,582,514,298,190,622,406,442,433,217,649,109,541,325,55,487,271,703,163,595,379,28,460,244,676,136,568,352,82,215,647,431,26,458,242,674,134,566,350,80,512,296,728,188,620,404,53,485,269,701,161,593,377,107,539,323,418,13,445,229,661,121,553,337,67,499,283,715,175,607,391,40,472,256,688,148,580,364,94,526,310,202,634,452,236,668,128,560,344,74,506,290,722,182,614,398,47,479,263,695,155,587,371,101,533,317,209,641,425,20,654,114,546,330,60,492,276,708,168,600,384,33,465,249,681,141,573,357,87,519,303,195,627,411,6,438,222,563,347,77,509,293,725,185,617,401,50,482,266,698,158,590,374,104,536,320,212,644,428,23,455,239,671,131,63,495,279,711,171,603,387,36,468,252,684,144,576,360,90,522,306,198,630,414,9,441,225,657,117,549,333,286,718,178,610,394,43,475,259,691,151,583,367,97,529,313,205,637,421,16,448,232,664,124,556,340,70,502,164,596,380,29,461,245,677,137,569,353,83,515,299,191,623,407,226,434,218,650,110,542,326,56,488,272,704,402,51,483,267,699,159,591,375,105,537,321,213,645,429,24,456,240,672,132,564,348,78,510,294,726,186,618,470,254,686,146,578,362,92,524,308,200,632,416,11,443,227,659,119,551,335,65,497,281,713,173,605,389,38,693,153,585,369,99,531,315,207,639,423,18,450,234,666,126,558,342,72,504,288,720,180,612,396,45,477,261,571,355,85,517,301,193,625,409,4,436,220,652,112,544,328,58,490,274,706,166,598,382,31,463,247,679,139,102,534,318,210,642,426,21,453,237,669,129,561,345,75,507,291,723,183,615,399,48,480,264,696,156,588,372,304,196,628,412,7,439,223,655,115,547,331,61,493,277,709,169,601,385,34,466,250,682,142,574,358,88,520,635,419,14,446,230,662,122,554,338,68,500,284,716,176,608,392,41,473,257,689,149,581,365,95,527,311,203,0,432,216,648,108,540,324,54,486,270,702,162,594,378,27,459,243,675,135,567,351,81,513,297,189,621,3],[2,703,123,587,355,819,65,529,297,761,181,645,413,36,500,268,732,152,616,384,94,558,326,790,210,674,442,7,1,141,605,373,837,83,547,315,779,199,663,431,54,518,286,750,170,634,402,112,576,344,808,228,692,460,25,489,257,721,359,823,69,533,301,765,185,649,417,40,504,272,736,156,620,388,98,562,330,794,214,678,446,11,475,243,707,127,591,76,540,308,772,192,656,424,47,511,279,743,163,627,395,105,569,337,801,221,685,453,18,482,250,714,134,598,366,830,293,757,177,641,409,32,496,264,728,148,612,380,90,554,322,786,206,670,438,435,467,235,699,119,583,351,815,61,525,201,665,433,56,520,288,752,172,636,404,114,578,346,810,230,694,462,27,491,259,723,143,607,375,839,85,549,317,781,419,42,506,274,738,158,622,390,100,564,332,796,216,680,448,13,477,245,709,129,593,361,825,71,535,303,767,187,651,513,281,745,165,629,397,107,571,339,803,223,687,455,20,484,252,716,136,600,368,832,78,542,310,774,194,658,426,49,730,150,614,382,92,556,324,788,208,672,440,5,469,237,701,121,585,353,817,63,527,295,759,179,643,411,34,498,266,632,400,110,574,342,806,226,690,458,23,487,255,719,139,603,371,835,81,545,313,777,197,661,429,52,516,284,748,168,96,560,328,792,212,676,444,9,473,241,705,125,589,357,821,67,531,299,763,183,647,415,38,502,270,734,154,618,386,335,799,219,683,451,16,480,248,712,132,596,364,828,74,538,306,770,190,654,422,45,509,277,741,161,625,393,103,567,204,668,436,471,465,233,697,117,581,349,813,59,523,291,755,175,639,407,30,494,262,726,146,610,378,88,552,320,784,463,28,492,260,724,144,608,376,840,86,550,318,782,202,666,434,57,521,289,753,173,637,405,115,579,347,811,231,695,478,246,710,130,594,362,826,72,536,304,768,188,652,420,43,507,275,739,159,623,391,101,565,333,797,217,681,449,14,717,137,601,369,833,79,543,311,775,195,659,427,50,514,282,746,166,630,398,108,572,340,804,224,688,456,21,485,253,586,354,818,64,528,296,760,180,644,412,35,499,267,731,151,615,383,93,557,325,789,209,673,441,6,470,238,702,122,836,82,546,314,778,198,662,430,53,517,285,749,169,633,401,111,575,343,807,227,691,459,24,488,256,720,140,604,372,532,300,764,184,648,416,39,503,271,735,155,619,387,97,561,329,793,213,677,445,10,474,242,706,126,590,358,822,68,771,191,655,423,46,510,278,742,162,626,394,104,568,336,800,220,684,452,17,481,249,713,133,597,365,829,75,539,307,640,408,31,495,263,727,147,611,379,89,553,321,785,205,669,437,239,466,234,698,118,582,350,814,60,524,292,756,176,55,519,287,751,171,635,403,113,577,345,809,229,693,461,26,490,258,722,142,606,374,838,84,548,316,780,200,664,432,273,737,157,621,389,99,563,331,795,215,679,447,12,476,244,708,128,592,360,824,70,534,302,766,186,650,418,41,505,164,628,396,106,570,338,802,222,686,454,19,483,251,715,135,599,367,831,77,541,309,773,193,657,425,48,512,280,744,381,91,555,323,787,207,671,439,4,468,236,700,120,584,352,816,62,526,294,758,178,642,410,33,497,265,729,149,613,573,341,805,225,689,457,22,486,254,718,138,602,370,834,80,544,312,776,196,660,428,51,515,283,747,167,631,399,109,791,211,675,443,8,472,240,704,124,588,356,820,66,530,298,762,182,646,414,37,501,269,733,153,617,385,95,559,327,682,450,15,479,247,711,131,595,363,827,73,537,305,769,189,653,421,44,508,276,740,160,624,392,102,566,334,798,218,0,464,232,696,116,580,348,812,58,522,290,754,174,638,406,29,493,261,725,145,609,377,87,551,319,783,203,667,3],[2,759,139,635,387,883,77,573,325,821,201,697,449,945,46,542,294,790,170,666,418,914,108,604,356,852,232,728,480,15,1,147,643,395,891,85,581,333,829,209,705,457,953,54,550,302,798,178,674,426,922,116,612,364,860,240,736,488,23,519,271,767,379,875,69,565,317,813,193,689,441,937,38,534,286,782,162,658,410,906,100,596,348,844,224,720,472,7,503,255,751,131,627,89,585,337,833,213,709,461,957,58,554,306,802,182,678,430,926,120,616,368,864,244,740,492,27,523,275,771,151,647,399,895,321,817,197,693,445,941,42,538,290,786,166,662,414,910,104,600,352,848,228,724,476,11,507,259,755,135,631,383,879,73,569,205,701,453,949,50,546,298,794,174,670,422,918,112,608,360,856,236,732,484,19,515,267,763,143,639,391,887,81,577,329,825,437,933,34,530,282,778,158,654,406,902,96,592,344,840,220,716,468,465,499,251,747,127,623,375,871,65,561,313,809,189,685,60,556,308,804,184,680,432,928,122,618,370,866,246,742,494,29,525,277,773,153,649,401,897,91,587,339,835,215,711,463,959,292,788,168,664,416,912,106,602,354,850,230,726,478,13,509,261,757,137,633,385,881,75,571,323,819,199,695,447,943,44,540,176,672,424,920,114,610,362,858,238,734,486,21,517,269,765,145,641,393,889,83,579,331,827,207,703,455,951,52,548,300,796,408,904,98,594,346,842,222,718,470,5,501,253,749,129,625,377,873,67,563,315,811,191,687,439,935,36,532,284,780,160,656,118,614,366,862,242,738,490,25,521,273,769,149,645,397,893,87,583,335,831,211,707,459,955,56,552,304,800,180,676,428,924,350,846,226,722,474,9,505,257,753,133,629,381,877,71,567,319,815,195,691,443,939,40,536,288,784,164,660,412,908,102,598,234,730,482,17,513,265,761,141,637,389,885,79,575,327,823,203,699,451,947,48,544,296,792,172,668,420,916,110,606,358,854,466,511,497,249,745,125,621,373,869,63,559,311,807,187,683,435,931,32,528,280,776,156,652,404,900,94,590,342,838,218,714,526,278,774,154,650,402,898,92,588,340,836,216,712,464,960,61,557,309,805,185,681,433,929,123,619,371,867,247,743,495,30,758,138,634,386,882,76,572,324,820,200,696,448,944,45,541,293,789,169,665,417,913,107,603,355,851,231,727,479,14,510,262,642,394,890,84,580,332,828,208,704,456,952,53,549,301,797,177,673,425,921,115,611,363,859,239,735,487,22,518,270,766,146,874,68,564,316,812,192,688,440,936,37,533,285,781,161,657,409,905,99,595,347,843,223,719,471,6,502,254,750,130,626,378,584,336,832,212,708,460,956,57,553,305,801,181,677,429,925,119,615,367,863,243,739,491,26,522,274,770,150,646,398,894,88,816,196,692,444,940,41,537,289,785,165,661,413,909,103,599,351,847,227,723,475,10,506,258,754,134,630,382,878,72,568,320,700,452,948,49,545,297,793,173,669,421,917,111,607,359,855,235,731,483,18,514,266,762,142,638,390,886,80,576,328,824,204,932,33,529,281,777,157,653,405,901,95,591,343,839,219,715,467,263,498,250,746,126,622,374,870,64,560,312,808,188,684,436,555,307,803,183,679,431,927,121,617,369,865,245,741,493,28,524,276,772,152,648,400,896,90,586,338,834,214,710,462,958,59,787,167,663,415,911,105,601,353,849,229,725,477,12,508,260,756,136,632,384,880,74,570,322,818,198,694,446,942,43,539,291,671,423,919,113,609,361,857,237,733,485,20,516,268,764,144,640,392,888,82,578,330,826,206,702,454,950,51,547,299,795,175,903,97,593,345,841,221,717,469,4,500,252,748,128,624,376,872,66,562,314,810,190,686,438,934,35,531,283,779,159,655,407,613,365,861,241,737,489,24,520,272,768,148,644,396,892,86,582,334,830,210,706,458,954,55,551,303,799,179,675,427,923,117,845,225,721,473,8,504,256,752,132,628,380,876,70,566,318,814,194,690,442,938,39,535,287,783,163,659,411,907,101,597,349,729,481,16,512,264,760,140,636,388,884,78,574,326,822,202,698,450,946,47,543,295,791,171,667,419,915,109,605,357,853,233,0,496,248,744,124,620,372,868,62,558,310,806,186,682,434,930,31,527,279,775,155,651,403,899,93,589,341,837,217,713,3],[2,265,793,133,661,397,925,67,595,331,859,199,727,463,991,34,562,298,826,166,694,430,958,100,628,364,892,232,760,496,1024,1057,1,824,164,692,428,956,98,626,362,890,230,758,494,1022,65,593,329,857,197,725,461,989,131,659,395,923,263,791,527,1055,32,1088,560,296,676,412,940,82,610,346,874,214,742,478,1006,49,577,313,841,181,709,445,973,115,643,379,907,247,775,511,1039,16,1072,544,280,808,148,948,90,618,354,882,222,750,486,1014,57,585,321,849,189,717,453,981,123,651,387,915,255,783,519,1047,24,1080,552,288,816,156,684,420,602,338,866,206,734,470,998,41,569,305,833,173,701,437,965,107,635,371,899,239,767,503,1031,8,1064,536,272,800,140,668,404,932,74,886,226,754,490,1018,61,589,325,853,193,721,457,985,127,655,391,919,259,787,523,1051,28,1084,556,292,820,160,688,424,952,94,622,358,738,474,1002,45,573,309,837,177,705,441,969,111,639,375,903,243,771,507,1035,12,1068,540,276,804,144,672,408,936,78,606,342,870,210,1010,53,581,317,845,185,713,449,977,119,647,383,911,251,779,515,1043,20,1076,548,284,812,152,680,416,944,86,614,350,878,218,746,482,565,301,829,169,697,433,961,103,631,367,895,235,763,499,1027,4,1060,532,268,796,136,664,400,928,70,598,334,862,202,730,466,994,37,855,195,723,459,987,129,657,393,921,261,789,525,1053,30,1086,558,294,822,162,690,426,954,96,624,360,888,228,756,492,1020,63,591,327,707,443,971,113,641,377,905,245,773,509,1037,14,1070,542,278,806,146,674,410,938,80,608,344,872,212,740,476,1004,47,575,311,839,179,979,121,649,385,913,253,781,517,1045,22,1078,550,286,814,154,682,418,946,88,616,352,880,220,748,484,1012,55,583,319,847,187,715,451,633,369,897,237,765,501,1029,6,1062,534,270,798,138,666,402,930,72,600,336,864,204,732,468,996,39,567,303,831,171,699,435,963,105,917,257,785,521,1049,26,1082,554,290,818,158,686,422,950,92,620,356,884,224,752,488,1016,59,587,323,851,191,719,455,983,125,653,389,769,505,1033,10,1066,538,274,802,142,670,406,934,76,604,340,868,208,736,472,1e3,43,571,307,835,175,703,439,967,109,637,373,901,241,1041,18,1074,546,282,810,150,678,414,942,84,612,348,876,216,744,480,1008,51,579,315,843,183,711,447,975,117,645,381,909,249,777,513,1058,530,266,794,134,662,398,926,68,596,332,860,200,728,464,992,35,563,299,827,167,695,431,959,101,629,365,893,233,761,497,1025,529,295,823,163,691,427,955,97,625,361,889,229,757,493,1021,64,592,328,856,196,724,460,988,130,658,394,922,262,790,526,1054,31,1087,559,147,675,411,939,81,609,345,873,213,741,477,1005,48,576,312,840,180,708,444,972,114,642,378,906,246,774,510,1038,15,1071,543,279,807,419,947,89,617,353,881,221,749,485,1013,56,584,320,848,188,716,452,980,122,650,386,914,254,782,518,1046,23,1079,551,287,815,155,683,73,601,337,865,205,733,469,997,40,568,304,832,172,700,436,964,106,634,370,898,238,766,502,1030,7,1063,535,271,799,139,667,403,931,357,885,225,753,489,1017,60,588,324,852,192,720,456,984,126,654,390,918,258,786,522,1050,27,1083,555,291,819,159,687,423,951,93,621,209,737,473,1001,44,572,308,836,176,704,440,968,110,638,374,902,242,770,506,1034,11,1067,539,275,803,143,671,407,935,77,605,341,869,481,1009,52,580,316,844,184,712,448,976,118,646,382,910,250,778,514,1042,19,1075,547,283,811,151,679,415,943,85,613,349,877,217,745,36,564,300,828,168,696,432,960,102,630,366,894,234,762,498,1026,1023,1059,531,267,795,135,663,399,927,69,597,333,861,201,729,465,993,326,854,194,722,458,986,128,656,392,920,260,788,524,1052,29,1085,557,293,821,161,689,425,953,95,623,359,887,227,755,491,1019,62,590,178,706,442,970,112,640,376,904,244,772,508,1036,13,1069,541,277,805,145,673,409,937,79,607,343,871,211,739,475,1003,46,574,310,838,450,978,120,648,384,912,252,780,516,1044,21,1077,549,285,813,153,681,417,945,87,615,351,879,219,747,483,1011,54,582,318,846,186,714,104,632,368,896,236,764,500,1028,5,1061,533,269,797,137,665,401,929,71,599,335,863,203,731,467,995,38,566,302,830,170,698,434,962,388,916,256,784,520,1048,25,1081,553,289,817,157,685,421,949,91,619,355,883,223,751,487,1015,58,586,322,850,190,718,454,982,124,652,240,768,504,1032,9,1065,537,273,801,141,669,405,933,75,603,339,867,207,735,471,999,42,570,306,834,174,702,438,966,108,636,372,900,512,1040,17,1073,545,281,809,149,677,413,941,83,611,347,875,215,743,479,1007,50,578,314,842,182,710,446,974,116,644,380,908,248,776,0,1056,528,264,792,132,660,396,924,66,594,330,858,198,726,462,990,33,561,297,825,165,693,429,957,99,627,363,891,231,759,495,3],[2,290,850,150,710,430,990,80,1200,640,360,920,220,780,500,1060,45,1165,605,325,885,185,745,465,1025,115,675,395,955,255,815,535,1095,10,1,859,159,719,439,999,89,1209,649,369,929,229,789,509,1069,54,1174,614,334,894,194,754,474,1034,124,684,404,964,264,824,544,1104,19,1139,579,299,701,421,981,71,1191,631,351,911,211,771,491,1051,36,1156,596,316,876,176,736,456,1016,106,666,386,946,246,806,526,1086,1130,1121,561,281,841,141,1014,104,1224,664,384,944,244,804,524,1084,69,1189,629,349,909,209,769,489,1049,139,699,419,979,279,839,559,1119,34,1154,594,314,874,174,734,454,1207,647,367,927,227,787,507,1067,52,1172,612,332,892,192,752,472,1032,122,682,402,962,262,822,542,1102,17,1137,577,297,857,157,717,437,997,87,376,936,236,796,516,1076,61,1181,621,341,901,201,761,481,1041,131,691,411,971,271,831,551,1111,26,1146,586,306,866,166,726,446,1006,96,1216,656,218,778,498,1058,43,1163,603,323,883,183,743,463,1023,113,673,393,953,253,813,533,1093,8,1128,568,288,848,148,708,428,988,78,1198,638,358,918,520,1080,65,1185,625,345,905,205,765,485,1045,135,695,415,975,275,835,555,1115,30,1150,590,310,870,170,730,450,1010,100,1220,660,380,940,240,800,48,1168,608,328,888,188,748,468,1028,118,678,398,958,258,818,538,1098,13,1133,573,293,853,153,713,433,993,83,1203,643,363,923,223,783,503,1063,617,337,897,197,757,477,1037,127,687,407,967,267,827,547,1107,22,1142,582,302,862,162,722,442,1002,92,1212,652,372,932,232,792,512,1072,57,1177,879,179,739,459,1019,109,669,389,949,249,809,529,1089,4,1124,564,284,844,144,704,424,984,74,1194,634,354,914,214,774,494,1054,39,1159,599,319,767,487,1047,137,697,417,977,277,837,557,1117,32,1152,592,312,872,172,732,452,1012,102,1222,662,382,942,242,802,522,1082,67,1187,627,347,907,207,1030,120,680,400,960,260,820,540,1100,15,1135,575,295,855,155,715,435,995,85,1205,645,365,925,225,785,505,1065,50,1170,610,330,890,190,750,470,689,409,969,269,829,549,1109,24,1144,584,304,864,164,724,444,1004,94,1214,654,374,934,234,794,514,1074,59,1179,619,339,899,199,759,479,1039,129,951,251,811,531,1091,6,1126,566,286,846,146,706,426,986,76,1196,636,356,916,216,776,496,1056,41,1161,601,321,881,181,741,461,1021,111,671,391,833,553,1113,28,1148,588,308,868,168,728,448,1008,98,1218,658,378,938,238,798,518,1078,63,1183,623,343,903,203,763,483,1043,133,693,413,973,273,1096,11,1131,571,291,851,151,711,431,991,81,1201,641,361,921,221,781,501,1061,46,1166,606,326,886,186,746,466,1026,116,676,396,956,256,816,536,1140,580,300,860,160,720,440,1e3,90,1210,650,370,930,230,790,510,1070,55,1175,615,335,895,195,755,475,1035,125,685,405,965,265,825,545,1105,20,282,842,142,702,422,982,72,1192,632,352,912,212,772,492,1052,37,1157,597,317,877,177,737,457,1017,107,667,387,947,247,807,527,1087,570,1122,562,173,733,453,1013,103,1223,663,383,943,243,803,523,1083,68,1188,628,348,908,208,768,488,1048,138,698,418,978,278,838,558,1118,33,1153,593,313,873,436,996,86,1206,646,366,926,226,786,506,1066,51,1171,611,331,891,191,751,471,1031,121,681,401,961,261,821,541,1101,16,1136,576,296,856,156,716,95,1215,655,375,935,235,795,515,1075,60,1180,620,340,900,200,760,480,1040,130,690,410,970,270,830,550,1110,25,1145,585,305,865,165,725,445,1005,637,357,917,217,777,497,1057,42,1162,602,322,882,182,742,462,1022,112,672,392,952,252,812,532,1092,7,1127,567,287,847,147,707,427,987,77,1197,939,239,799,519,1079,64,1184,624,344,904,204,764,484,1044,134,694,414,974,274,834,554,1114,29,1149,589,309,869,169,729,449,1009,99,1219,659,379,782,502,1062,47,1167,607,327,887,187,747,467,1027,117,677,397,957,257,817,537,1097,12,1132,572,292,852,152,712,432,992,82,1202,642,362,922,222,1071,56,1176,616,336,896,196,756,476,1036,126,686,406,966,266,826,546,1106,21,1141,581,301,861,161,721,441,1001,91,1211,651,371,931,231,791,511,1158,598,318,878,178,738,458,1018,108,668,388,948,248,808,528,1088,1085,1123,563,283,843,143,703,423,983,73,1193,633,353,913,213,773,493,1053,38,346,906,206,766,486,1046,136,696,416,976,276,836,556,1116,31,1151,591,311,871,171,731,451,1011,101,1221,661,381,941,241,801,521,1081,66,1186,626,189,749,469,1029,119,679,399,959,259,819,539,1099,14,1134,574,294,854,154,714,434,994,84,1204,644,364,924,224,784,504,1064,49,1169,609,329,889,478,1038,128,688,408,968,268,828,548,1108,23,1143,583,303,863,163,723,443,1003,93,1213,653,373,933,233,793,513,1073,58,1178,618,338,898,198,758,110,670,390,950,250,810,530,1090,5,1125,565,285,845,145,705,425,985,75,1195,635,355,915,215,775,495,1055,40,1160,600,320,880,180,740,460,1020,412,972,272,832,552,1112,27,1147,587,307,867,167,727,447,1007,97,1217,657,377,937,237,797,517,1077,62,1182,622,342,902,202,762,482,1042,132,692,254,814,534,1094,9,1129,569,289,849,149,709,429,989,79,1199,639,359,919,219,779,499,1059,44,1164,604,324,884,184,744,464,1024,114,674,394,954,543,1103,18,1138,578,298,858,158,718,438,998,88,1208,648,368,928,228,788,508,1068,53,1173,613,333,893,193,753,473,1033,123,683,403,963,263,823,0,1120,560,280,840,140,700,420,980,70,1190,630,350,910,210,770,490,1050,35,1155,595,315,875,175,735,455,1015,105,665,385,945,245,805,525,3],[2,302,894,154,1338,746,450,1042,80,1264,672,376,968,228,820,524,1116,43,1227,635,339,931,191,783,487,1079,117,1301,709,413,1005,265,857,561,1153,6,1,917,177,1361,769,473,1065,103,1287,695,399,991,251,843,547,1139,66,1250,658,362,954,214,806,510,1102,140,1324,732,436,1028,288,880,584,1176,29,1213,621,325,1343,751,455,1047,85,1269,677,381,973,233,825,529,1121,48,1232,640,344,936,196,788,492,1084,122,1306,714,418,1010,270,862,566,1158,11,1195,603,307,899,159,464,1056,94,1278,686,390,982,242,834,538,1130,57,1241,649,353,945,205,797,501,1093,131,1315,723,427,1019,279,871,575,1167,20,1204,612,316,908,168,1352,760,75,1259,667,371,963,223,815,519,1111,38,1222,630,334,926,186,778,482,1074,112,1296,704,408,1e3,260,852,556,1148,1190,1185,593,297,889,149,1333,741,445,1037,702,406,998,258,850,554,1146,73,1257,665,369,961,221,813,517,1109,147,1331,739,443,1035,295,887,591,1183,36,1220,628,332,924,184,1368,776,480,1072,110,1294,980,240,832,536,1128,55,1239,647,351,943,203,795,499,1091,129,1313,721,425,1017,277,869,573,1165,18,1202,610,314,906,166,1350,758,462,1054,92,1276,684,388,841,545,1137,64,1248,656,360,952,212,804,508,1100,138,1322,730,434,1026,286,878,582,1174,27,1211,619,323,915,175,1359,767,471,1063,101,1285,693,397,989,249,1119,46,1230,638,342,934,194,786,490,1082,120,1304,712,416,1008,268,860,564,1156,9,1193,601,305,897,157,1341,749,453,1045,83,1267,675,379,971,231,823,527,1253,661,365,957,217,809,513,1105,143,1327,735,439,1031,291,883,587,1179,32,1216,624,328,920,180,1364,772,476,1068,106,1290,698,402,994,254,846,550,1142,69,347,939,199,791,495,1087,125,1309,717,421,1013,273,865,569,1161,14,1198,606,310,902,162,1346,754,458,1050,88,1272,680,384,976,236,828,532,1124,51,1235,643,208,800,504,1096,134,1318,726,430,1022,282,874,578,1170,23,1207,615,319,911,171,1355,763,467,1059,97,1281,689,393,985,245,837,541,1133,60,1244,652,356,948,485,1077,115,1299,707,411,1003,263,855,559,1151,4,1188,596,300,892,152,1336,744,448,1040,78,1262,670,374,966,226,818,522,1114,41,1225,633,337,929,189,781,145,1329,737,441,1033,293,885,589,1181,34,1218,626,330,922,182,1366,774,478,1070,108,1292,700,404,996,256,848,552,1144,71,1255,663,367,959,219,811,515,1107,719,423,1015,275,867,571,1163,16,1200,608,312,904,164,1348,756,460,1052,90,1274,682,386,978,238,830,534,1126,53,1237,645,349,941,201,793,497,1089,127,1311,1024,284,876,580,1172,25,1209,617,321,913,173,1357,765,469,1061,99,1283,691,395,987,247,839,543,1135,62,1246,654,358,950,210,802,506,1098,136,1320,728,432,858,562,1154,7,1191,599,303,895,155,1339,747,451,1043,81,1265,673,377,969,229,821,525,1117,44,1228,636,340,932,192,784,488,1080,118,1302,710,414,1006,266,1177,30,1214,622,326,918,178,1362,770,474,1066,104,1288,696,400,992,252,844,548,1140,67,1251,659,363,955,215,807,511,1103,141,1325,733,437,1029,289,881,585,1196,604,308,900,160,1344,752,456,1048,86,1270,678,382,974,234,826,530,1122,49,1233,641,345,937,197,789,493,1085,123,1307,715,419,1011,271,863,567,1159,12,317,909,169,1353,761,465,1057,95,1279,687,391,983,243,835,539,1131,58,1242,650,354,946,206,798,502,1094,132,1316,724,428,1020,280,872,576,1168,21,1205,613,150,1334,742,446,1038,76,1260,668,372,964,224,816,520,1112,39,1223,631,335,927,187,779,483,1075,113,1297,705,409,1001,261,853,557,1149,598,1186,594,298,890,775,479,1071,109,1293,701,405,997,257,849,553,1145,72,1256,664,368,960,220,812,516,1108,146,1330,738,442,1034,294,886,590,1182,35,1219,627,331,923,183,1367,1053,91,1275,683,387,979,239,831,535,1127,54,1238,646,350,942,202,794,498,1090,128,1312,720,424,1016,276,868,572,1164,17,1201,609,313,905,165,1349,757,461,1284,692,396,988,248,840,544,1136,63,1247,655,359,951,211,803,507,1099,137,1321,729,433,1025,285,877,581,1173,26,1210,618,322,914,174,1358,766,470,1062,100,378,970,230,822,526,1118,45,1229,637,341,933,193,785,489,1081,119,1303,711,415,1007,267,859,563,1155,8,1192,600,304,896,156,1340,748,452,1044,82,1266,674,253,845,549,1141,68,1252,660,364,956,216,808,512,1104,142,1326,734,438,1030,290,882,586,1178,31,1215,623,327,919,179,1363,771,475,1067,105,1289,697,401,993,531,1123,50,1234,642,346,938,198,790,494,1086,124,1308,716,420,1012,272,864,568,1160,13,1197,605,309,901,161,1345,753,457,1049,87,1271,679,383,975,235,827,59,1243,651,355,947,207,799,503,1095,133,1317,725,429,1021,281,873,577,1169,22,1206,614,318,910,170,1354,762,466,1058,96,1280,688,392,984,244,836,540,1132,632,336,928,188,780,484,1076,114,1298,706,410,1002,262,854,558,1150,1147,1187,595,299,891,151,1335,743,447,1039,77,1261,669,373,965,225,817,521,1113,40,1224,958,218,810,514,1106,144,1328,736,440,1032,292,884,588,1180,33,1217,625,329,921,181,1365,773,477,1069,107,1291,699,403,995,255,847,551,1143,70,1254,662,366,792,496,1088,126,1310,718,422,1014,274,866,570,1162,15,1199,607,311,903,163,1347,755,459,1051,89,1273,681,385,977,237,829,533,1125,52,1236,644,348,940,200,1097,135,1319,727,431,1023,283,875,579,1171,24,1208,616,320,912,172,1356,764,468,1060,98,1282,690,394,986,246,838,542,1134,61,1245,653,357,949,209,801,505,1300,708,412,1004,264,856,560,1152,5,1189,597,301,893,153,1337,745,449,1041,79,1263,671,375,967,227,819,523,1115,42,1226,634,338,930,190,782,486,1078,116,435,1027,287,879,583,1175,28,1212,620,324,916,176,1360,768,472,1064,102,1286,694,398,990,250,842,546,1138,65,1249,657,361,953,213,805,509,1101,139,1323,731,269,861,565,1157,10,1194,602,306,898,158,1342,750,454,1046,84,1268,676,380,972,232,824,528,1120,47,1231,639,343,935,195,787,491,1083,121,1305,713,417,1009,574,1166,19,1203,611,315,907,167,1351,759,463,1055,93,1277,685,389,981,241,833,537,1129,56,1240,648,352,944,204,796,500,1092,130,1314,722,426,1018,278,870,0,1184,592,296,888,148,1332,740,444,1036,74,1258,666,370,962,222,814,518,1110,37,1221,629,333,925,185,777,481,1073,111,1295,703,407,999,259,851,555,3],[2,328,952,172,1420,796,484,1108,94,1342,718,406,1030,250,1498,874,562,1186,55,1303,679,367,991,211,1459,835,523,1147,133,1381,757,445,1069,289,913,601,1225,16,1,962,182,1430,806,494,1118,104,1352,728,416,1040,260,1508,884,572,1196,65,1313,689,377,1001,221,1469,845,533,1157,143,1391,767,455,1079,299,923,611,1235,26,1274,650,338,1410,786,474,1098,84,1332,708,396,1020,240,1488,864,552,1176,45,1293,669,357,981,201,1449,825,513,1137,123,1371,747,435,1059,279,903,591,1215,6,1254,630,318,942,162,499,1123,109,1357,733,421,1045,265,1513,889,577,1201,70,1318,694,382,1006,226,1474,850,538,1162,148,1396,772,460,1084,304,928,616,1240,31,1279,655,343,967,187,1435,811,89,1337,713,401,1025,245,1493,869,557,1181,50,1298,674,362,986,206,1454,830,518,1142,128,1376,752,440,1064,284,908,596,1220,11,1259,635,323,947,167,1415,791,479,1103,723,411,1035,255,1503,879,567,1191,60,1308,684,372,996,216,1464,840,528,1152,138,1386,762,450,1074,294,918,606,1230,21,1269,645,333,957,177,1425,801,489,1113,99,1347,1015,235,1483,859,547,1171,40,1288,664,352,976,196,1444,820,508,1132,118,1366,742,430,1054,274,898,586,1210,1264,1249,625,313,937,157,1405,781,469,1093,79,1327,703,391,1520,896,584,1208,77,1325,701,389,1013,233,1481,857,545,1169,155,1403,779,467,1091,311,935,623,1247,38,1286,662,350,974,194,1442,818,506,1130,116,1364,740,428,1052,272,565,1189,58,1306,682,370,994,214,1462,838,526,1150,136,1384,760,448,1072,292,916,604,1228,19,1267,643,331,955,175,1423,799,487,1111,97,1345,721,409,1033,253,1501,877,68,1316,692,380,1004,224,1472,848,536,1160,146,1394,770,458,1082,302,926,614,1238,29,1277,653,341,965,185,1433,809,497,1121,107,1355,731,419,1043,263,1511,887,575,1199,672,360,984,204,1452,828,516,1140,126,1374,750,438,1062,282,906,594,1218,9,1257,633,321,945,165,1413,789,477,1101,87,1335,711,399,1023,243,1491,867,555,1179,48,1296,1009,229,1477,853,541,1165,151,1399,775,463,1087,307,931,619,1243,34,1282,658,346,970,190,1438,814,502,1126,112,1360,736,424,1048,268,1516,892,580,1204,73,1321,697,385,1457,833,521,1145,131,1379,755,443,1067,287,911,599,1223,14,1262,638,326,950,170,1418,794,482,1106,92,1340,716,404,1028,248,1496,872,560,1184,53,1301,677,365,989,209,531,1155,141,1389,765,453,1077,297,921,609,1233,24,1272,648,336,960,180,1428,804,492,1116,102,1350,726,414,1038,258,1506,882,570,1194,63,1311,687,375,999,219,1467,843,121,1369,745,433,1057,277,901,589,1213,4,1252,628,316,940,160,1408,784,472,1096,82,1330,706,394,1018,238,1486,862,550,1174,43,1291,667,355,979,199,1447,823,511,1135,777,465,1089,309,933,621,1245,36,1284,660,348,972,192,1440,816,504,1128,114,1362,738,426,1050,270,1518,894,582,1206,75,1323,699,387,1011,231,1479,855,543,1167,153,1401,1070,290,914,602,1226,17,1265,641,329,953,173,1421,797,485,1109,95,1343,719,407,1031,251,1499,875,563,1187,56,1304,680,368,992,212,1460,836,524,1148,134,1382,758,446,924,612,1236,27,1275,651,339,963,183,1431,807,495,1119,105,1353,729,417,1041,261,1509,885,573,1197,66,1314,690,378,1002,222,1470,846,534,1158,144,1392,768,456,1080,300,1216,7,1255,631,319,943,163,1411,787,475,1099,85,1333,709,397,1021,241,1489,865,553,1177,46,1294,670,358,982,202,1450,826,514,1138,124,1372,748,436,1060,280,904,592,1280,656,344,968,188,1436,812,500,1124,110,1358,734,422,1046,266,1514,890,578,1202,71,1319,695,383,1007,227,1475,851,539,1163,149,1397,773,461,1085,305,929,617,1241,32,324,948,168,1416,792,480,1104,90,1338,714,402,1026,246,1494,870,558,1182,51,1299,675,363,987,207,1455,831,519,1143,129,1377,753,441,1065,285,909,597,1221,12,1260,636,178,1426,802,490,1114,100,1348,724,412,1036,256,1504,880,568,1192,61,1309,685,373,997,217,1465,841,529,1153,139,1387,763,451,1075,295,919,607,1231,22,1270,646,334,958,782,470,1094,80,1328,704,392,1016,236,1484,860,548,1172,41,1289,665,353,977,197,1445,821,509,1133,119,1367,743,431,1055,275,899,587,1211,640,1250,626,314,938,158,1406,1129,115,1363,739,427,1051,271,1519,895,583,1207,76,1324,700,388,1012,232,1480,856,544,1168,154,1402,778,466,1090,310,934,622,1246,37,1285,661,349,973,193,1441,817,505,1344,720,408,1032,252,1500,876,564,1188,57,1305,681,369,993,213,1461,837,525,1149,135,1383,759,447,1071,291,915,603,1227,18,1266,642,330,954,174,1422,798,486,1110,96,418,1042,262,1510,886,574,1198,67,1315,691,379,1003,223,1471,847,535,1159,145,1393,769,457,1081,301,925,613,1237,28,1276,652,340,964,184,1432,808,496,1120,106,1354,730,242,1490,866,554,1178,47,1295,671,359,983,203,1451,827,515,1139,125,1373,749,437,1061,281,905,593,1217,8,1256,632,320,944,164,1412,788,476,1100,86,1334,710,398,1022,891,579,1203,72,1320,696,384,1008,228,1476,852,540,1164,150,1398,774,462,1086,306,930,618,1242,33,1281,657,345,969,189,1437,813,501,1125,111,1359,735,423,1047,267,1515,1183,52,1300,676,364,988,208,1456,832,520,1144,130,1378,754,442,1066,286,910,598,1222,13,1261,637,325,949,169,1417,793,481,1105,91,1339,715,403,1027,247,1495,871,559,1310,686,374,998,218,1466,842,530,1154,140,1388,764,452,1076,296,920,608,1232,23,1271,647,335,959,179,1427,803,491,1115,101,1349,725,413,1037,257,1505,881,569,1193,62,354,978,198,1446,822,510,1134,120,1368,744,432,1056,276,900,588,1212,1209,1251,627,315,939,159,1407,783,471,1095,81,1329,705,393,1017,237,1485,861,549,1173,42,1290,666,230,1478,854,542,1166,152,1400,776,464,1088,308,932,620,1244,35,1283,659,347,971,191,1439,815,503,1127,113,1361,737,425,1049,269,1517,893,581,1205,74,1322,698,386,1010,834,522,1146,132,1380,756,444,1068,288,912,600,1224,15,1263,639,327,951,171,1419,795,483,1107,93,1341,717,405,1029,249,1497,873,561,1185,54,1302,678,366,990,210,1458,1156,142,1390,766,454,1078,298,922,610,1234,25,1273,649,337,961,181,1429,805,493,1117,103,1351,727,415,1039,259,1507,883,571,1195,64,1312,688,376,1e3,220,1468,844,532,1370,746,434,1058,278,902,590,1214,5,1253,629,317,941,161,1409,785,473,1097,83,1331,707,395,1019,239,1487,863,551,1175,44,1292,668,356,980,200,1448,824,512,1136,122,459,1083,303,927,615,1239,30,1278,654,342,966,186,1434,810,498,1122,108,1356,732,420,1044,264,1512,888,576,1200,69,1317,693,381,1005,225,1473,849,537,1161,147,1395,771,283,907,595,1219,10,1258,634,322,946,166,1414,790,478,1102,88,1336,712,400,1024,244,1492,868,556,1180,49,1297,673,361,985,205,1453,829,517,1141,127,1375,751,439,1063,605,1229,20,1268,644,332,956,176,1424,800,488,1112,98,1346,722,410,1034,254,1502,878,566,1190,59,1307,683,371,995,215,1463,839,527,1151,137,1385,761,449,1073,293,917,0,1248,624,312,936,156,1404,780,468,1092,78,1326,702,390,1014,234,1482,858,546,1170,39,1287,663,351,975,195,1443,819,507,1131,117,1365,741,429,1053,273,897,585,3],[2,332,1644,988,168,1480,824,496,1152,86,1398,742,414,1070,250,1562,906,578,1234,45,1357,701,373,1029,209,1521,865,537,1193,127,1439,783,455,1111,291,1603,947,619,1275,4,1,1677,1021,201,1513,857,529,1185,119,1431,775,447,1103,283,1595,939,611,1267,78,1390,734,406,1062,242,1554,898,570,1226,160,1472,816,488,1144,324,1636,980,652,1308,37,1349,693,365,181,1493,837,509,1165,99,1411,755,427,1083,263,1575,919,591,1247,58,1370,714,386,1042,222,1534,878,550,1206,140,1452,796,468,1124,304,1616,960,632,1288,17,1329,673,345,1657,1001,847,519,1175,109,1421,765,437,1093,273,1585,929,601,1257,68,1380,724,396,1052,232,1544,888,560,1216,150,1462,806,478,1134,314,1626,970,642,1298,27,1339,683,355,1667,1011,191,1503,1155,89,1401,745,417,1073,253,1565,909,581,1237,48,1360,704,376,1032,212,1524,868,540,1196,130,1442,786,458,1114,294,1606,950,622,1278,7,1319,663,335,1647,991,171,1483,827,499,1426,770,442,1098,278,1590,934,606,1262,73,1385,729,401,1057,237,1549,893,565,1221,155,1467,811,483,1139,319,1631,975,647,1303,32,1344,688,360,1672,1016,196,1508,852,524,1180,114,422,1078,258,1570,914,586,1242,53,1365,709,381,1037,217,1529,873,545,1201,135,1447,791,463,1119,299,1611,955,627,1283,12,1324,668,340,1652,996,176,1488,832,504,1160,94,1406,750,268,1580,924,596,1252,63,1375,719,391,1047,227,1539,883,555,1211,145,1457,801,473,1129,309,1621,965,637,1293,22,1334,678,350,1662,1006,186,1498,842,514,1170,104,1416,760,432,1088,903,575,1231,42,1354,698,370,1026,206,1518,862,534,1190,124,1436,780,452,1108,288,1600,944,616,1272,1316,1313,657,329,1641,985,165,1477,821,493,1149,83,1395,739,411,1067,247,1559,1270,81,1393,737,409,1065,245,1557,901,573,1229,163,1475,819,491,1147,327,1639,983,655,1311,40,1352,696,368,1680,1024,204,1516,860,532,1188,122,1434,778,450,1106,286,1598,942,614,1373,717,389,1045,225,1537,881,553,1209,143,1455,799,471,1127,307,1619,963,635,1291,20,1332,676,348,1660,1004,184,1496,840,512,1168,102,1414,758,430,1086,266,1578,922,594,1250,61,399,1055,235,1547,891,563,1219,153,1465,809,481,1137,317,1629,973,645,1301,30,1342,686,358,1670,1014,194,1506,850,522,1178,112,1424,768,440,1096,276,1588,932,604,1260,71,1383,727,215,1527,871,543,1199,133,1445,789,461,1117,297,1609,953,625,1281,10,1322,666,338,1650,994,174,1486,830,502,1158,92,1404,748,420,1076,256,1568,912,584,1240,51,1363,707,379,1035,896,568,1224,158,1470,814,486,1142,322,1634,978,650,1306,35,1347,691,363,1675,1019,199,1511,855,527,1183,117,1429,773,445,1101,281,1593,937,609,1265,76,1388,732,404,1060,240,1552,1204,138,1450,794,466,1122,302,1614,958,630,1286,15,1327,671,343,1655,999,179,1491,835,507,1163,97,1409,753,425,1081,261,1573,917,589,1245,56,1368,712,384,1040,220,1532,876,548,1460,804,476,1132,312,1624,968,640,1296,25,1337,681,353,1665,1009,189,1501,845,517,1173,107,1419,763,435,1091,271,1583,927,599,1255,66,1378,722,394,1050,230,1542,886,558,1214,148,456,1112,292,1604,948,620,1276,5,1317,661,333,1645,989,169,1481,825,497,1153,87,1399,743,415,1071,251,1563,907,579,1235,46,1358,702,374,1030,210,1522,866,538,1194,128,1440,784,325,1637,981,653,1309,38,1350,694,366,1678,1022,202,1514,858,530,1186,120,1432,776,448,1104,284,1596,940,612,1268,79,1391,735,407,1063,243,1555,899,571,1227,161,1473,817,489,1145,961,633,1289,18,1330,674,346,1658,1002,182,1494,838,510,1166,100,1412,756,428,1084,264,1576,920,592,1248,59,1371,715,387,1043,223,1535,879,551,1207,141,1453,797,469,1125,305,1617,1299,28,1340,684,356,1668,1012,192,1504,848,520,1176,110,1422,766,438,1094,274,1586,930,602,1258,69,1381,725,397,1053,233,1545,889,561,1217,151,1463,807,479,1135,315,1627,971,643,1320,664,336,1648,992,172,1484,828,500,1156,90,1402,746,418,1074,254,1566,910,582,1238,49,1361,705,377,1033,213,1525,869,541,1197,131,1443,787,459,1115,295,1607,951,623,1279,8,361,1673,1017,197,1509,853,525,1181,115,1427,771,443,1099,279,1591,935,607,1263,74,1386,730,402,1058,238,1550,894,566,1222,156,1468,812,484,1140,320,1632,976,648,1304,33,1345,689,997,177,1489,833,505,1161,95,1407,751,423,1079,259,1571,915,587,1243,54,1366,710,382,1038,218,1530,874,546,1202,136,1448,792,464,1120,300,1612,956,628,1284,13,1325,669,341,1653,1499,843,515,1171,105,1417,761,433,1089,269,1581,925,597,1253,64,1376,720,392,1048,228,1540,884,556,1212,146,1458,802,474,1130,310,1622,966,638,1294,23,1335,679,351,1663,1007,187,494,1150,84,1396,740,412,1068,248,1560,904,576,1232,43,1355,699,371,1027,207,1519,863,535,1191,125,1437,781,453,1109,289,1601,945,617,1273,660,1314,658,330,1642,986,166,1478,822,121,1433,777,449,1105,285,1597,941,613,1269,80,1392,736,408,1064,244,1556,900,572,1228,162,1474,818,490,1146,326,1638,982,654,1310,39,1351,695,367,1679,1023,203,1515,859,531,1187,757,429,1085,265,1577,921,593,1249,60,1372,716,388,1044,224,1536,880,552,1208,142,1454,798,470,1126,306,1618,962,634,1290,19,1331,675,347,1659,1003,183,1495,839,511,1167,101,1413,1095,275,1587,931,603,1259,70,1382,726,398,1054,234,1546,890,562,1218,152,1464,808,480,1136,316,1628,972,644,1300,29,1341,685,357,1669,1013,193,1505,849,521,1177,111,1423,767,439,1567,911,583,1239,50,1362,706,378,1034,214,1526,870,542,1198,132,1444,788,460,1116,296,1608,952,624,1280,9,1321,665,337,1649,993,173,1485,829,501,1157,91,1403,747,419,1075,255,608,1264,75,1387,731,403,1059,239,1551,895,567,1223,157,1469,813,485,1141,321,1633,977,649,1305,34,1346,690,362,1674,1018,198,1510,854,526,1182,116,1428,772,444,1100,280,1592,936,55,1367,711,383,1039,219,1531,875,547,1203,137,1449,793,465,1121,301,1613,957,629,1285,14,1326,670,342,1654,998,178,1490,834,506,1162,96,1408,752,424,1080,260,1572,916,588,1244,721,393,1049,229,1541,885,557,1213,147,1459,803,475,1131,311,1623,967,639,1295,24,1336,680,352,1664,1008,188,1500,844,516,1172,106,1418,762,434,1090,270,1582,926,598,1254,65,1377,1028,208,1520,864,536,1192,126,1438,782,454,1110,290,1602,946,618,1274,1271,1315,659,331,1643,987,167,1479,823,495,1151,85,1397,741,413,1069,249,1561,905,577,1233,44,1356,700,372,1553,897,569,1225,159,1471,815,487,1143,323,1635,979,651,1307,36,1348,692,364,1676,1020,200,1512,856,528,1184,118,1430,774,446,1102,282,1594,938,610,1266,77,1389,733,405,1061,241,549,1205,139,1451,795,467,1123,303,1615,959,631,1287,16,1328,672,344,1656,1e3,180,1492,836,508,1164,98,1410,754,426,1082,262,1574,918,590,1246,57,1369,713,385,1041,221,1533,877,149,1461,805,477,1133,313,1625,969,641,1297,26,1338,682,354,1666,1010,190,1502,846,518,1174,108,1420,764,436,1092,272,1584,928,600,1256,67,1379,723,395,1051,231,1543,887,559,1215,785,457,1113,293,1605,949,621,1277,6,1318,662,334,1646,990,170,1482,826,498,1154,88,1400,744,416,1072,252,1564,908,580,1236,47,1359,703,375,1031,211,1523,867,539,1195,129,1441,1138,318,1630,974,646,1302,31,1343,687,359,1671,1015,195,1507,851,523,1179,113,1425,769,441,1097,277,1589,933,605,1261,72,1384,728,400,1056,236,1548,892,564,1220,154,1466,810,482,1610,954,626,1282,11,1323,667,339,1651,995,175,1487,831,503,1159,93,1405,749,421,1077,257,1569,913,585,1241,52,1364,708,380,1036,216,1528,872,544,1200,134,1446,790,462,1118,298,636,1292,21,1333,677,349,1661,1005,185,1497,841,513,1169,103,1415,759,431,1087,267,1579,923,595,1251,62,1374,718,390,1046,226,1538,882,554,1210,144,1456,800,472,1128,308,1620,964,0,1312,656,328,1640,984,164,1476,820,492,1148,82,1394,738,410,1066,246,1558,902,574,1230,41,1353,697,369,1025,205,1517,861,533,1189,123,1435,779,451,1107,287,1599,943,615,3],[2,359,1735,1047,187,1563,875,531,1219,101,1477,789,445,1821,1133,273,1649,961,617,1305,58,1434,746,402,1778,1090,230,1606,918,574,1262,144,1520,832,488,1176,316,1692,1004,660,1348,15,1,1746,1058,198,1574,886,542,1230,112,1488,800,456,1832,1144,284,1660,972,628,1316,69,1445,757,413,1789,1101,241,1617,929,585,1273,155,1531,843,499,1187,327,1703,1015,671,1359,26,1402,714,370,176,1552,864,520,1208,90,1466,778,434,1810,1122,262,1638,950,606,1294,47,1423,735,391,1767,1079,219,1595,907,563,1251,133,1509,821,477,1165,305,1681,993,649,1337,4,1380,692,348,1724,1036,899,555,1243,125,1501,813,469,1845,1157,297,1673,985,641,1329,82,1458,770,426,1802,1114,254,1630,942,598,1286,168,1544,856,512,1200,340,1716,1028,684,1372,39,1415,727,383,1759,1071,211,1587,1222,104,1480,792,448,1824,1136,276,1652,964,620,1308,61,1437,749,405,1781,1093,233,1609,921,577,1265,147,1523,835,491,1179,319,1695,1007,663,1351,18,1394,706,362,1738,1050,190,1566,878,534,1491,803,459,1835,1147,287,1663,975,631,1319,72,1448,760,416,1792,1104,244,1620,932,588,1276,158,1534,846,502,1190,330,1706,1018,674,1362,29,1405,717,373,1749,1061,201,1577,889,545,1233,115,437,1813,1125,265,1641,953,609,1297,50,1426,738,394,1770,1082,222,1598,910,566,1254,136,1512,824,480,1168,308,1684,996,652,1340,7,1383,695,351,1727,1039,179,1555,867,523,1211,93,1469,781,1152,292,1668,980,636,1324,77,1453,765,421,1797,1109,249,1625,937,593,1281,163,1539,851,507,1195,335,1711,1023,679,1367,34,1410,722,378,1754,1066,206,1582,894,550,1238,120,1496,808,464,1840,1646,958,614,1302,55,1431,743,399,1775,1087,227,1603,915,571,1259,141,1517,829,485,1173,313,1689,1001,657,1345,12,1388,700,356,1732,1044,184,1560,872,528,1216,98,1474,786,442,1818,1130,270,625,1313,66,1442,754,410,1786,1098,238,1614,926,582,1270,152,1528,840,496,1184,324,1700,1012,668,1356,23,1399,711,367,1743,1055,195,1571,883,539,1227,109,1485,797,453,1829,1141,281,1657,969,44,1420,732,388,1764,1076,216,1592,904,560,1248,130,1506,818,474,1162,302,1678,990,646,1334,1391,1377,689,345,1721,1033,173,1549,861,517,1205,87,1463,775,431,1807,1119,259,1635,947,603,1291,773,429,1805,1117,257,1633,945,601,1289,171,1547,859,515,1203,343,1719,1031,687,1375,42,1418,730,386,1762,1074,214,1590,902,558,1246,128,1504,816,472,1848,1160,300,1676,988,644,1332,85,1461,1784,1096,236,1612,924,580,1268,150,1526,838,494,1182,322,1698,1010,666,1354,21,1397,709,365,1741,1053,193,1569,881,537,1225,107,1483,795,451,1827,1139,279,1655,967,623,1311,64,1440,752,408,247,1623,935,591,1279,161,1537,849,505,1193,333,1709,1021,677,1365,32,1408,720,376,1752,1064,204,1580,892,548,1236,118,1494,806,462,1838,1150,290,1666,978,634,1322,75,1451,763,419,1795,1107,913,569,1257,139,1515,827,483,1171,311,1687,999,655,1343,10,1386,698,354,1730,1042,182,1558,870,526,1214,96,1472,784,440,1816,1128,268,1644,956,612,1300,53,1429,741,397,1773,1085,225,1601,1284,166,1542,854,510,1198,338,1714,1026,682,1370,37,1413,725,381,1757,1069,209,1585,897,553,1241,123,1499,811,467,1843,1155,295,1671,983,639,1327,80,1456,768,424,1800,1112,252,1628,940,596,1521,833,489,1177,317,1693,1005,661,1349,16,1392,704,360,1736,1048,188,1564,876,532,1220,102,1478,790,446,1822,1134,274,1650,962,618,1306,59,1435,747,403,1779,1091,231,1607,919,575,1263,145,500,1188,328,1704,1016,672,1360,27,1403,715,371,1747,1059,199,1575,887,543,1231,113,1489,801,457,1833,1145,285,1661,973,629,1317,70,1446,758,414,1790,1102,242,1618,930,586,1274,156,1532,844,306,1682,994,650,1338,5,1381,693,349,1725,1037,177,1553,865,521,1209,91,1467,779,435,1811,1123,263,1639,951,607,1295,48,1424,736,392,1768,1080,220,1596,908,564,1252,134,1510,822,478,1166,1029,685,1373,40,1416,728,384,1760,1072,212,1588,900,556,1244,126,1502,814,470,1846,1158,298,1674,986,642,1330,83,1459,771,427,1803,1115,255,1631,943,599,1287,169,1545,857,513,1201,341,1717,1352,19,1395,707,363,1739,1051,191,1567,879,535,1223,105,1481,793,449,1825,1137,277,1653,965,621,1309,62,1438,750,406,1782,1094,234,1610,922,578,1266,148,1524,836,492,1180,320,1696,1008,664,1406,718,374,1750,1062,202,1578,890,546,1234,116,1492,804,460,1836,1148,288,1664,976,632,1320,73,1449,761,417,1793,1105,245,1621,933,589,1277,159,1535,847,503,1191,331,1707,1019,675,1363,30,352,1728,1040,180,1556,868,524,1212,94,1470,782,438,1814,1126,266,1642,954,610,1298,51,1427,739,395,1771,1083,223,1599,911,567,1255,137,1513,825,481,1169,309,1685,997,653,1341,8,1384,696,1067,207,1583,895,551,1239,121,1497,809,465,1841,1153,293,1669,981,637,1325,78,1454,766,422,1798,1110,250,1626,938,594,1282,164,1540,852,508,1196,336,1712,1024,680,1368,35,1411,723,379,1755,1561,873,529,1217,99,1475,787,443,1819,1131,271,1647,959,615,1303,56,1432,744,400,1776,1088,228,1604,916,572,1260,142,1518,830,486,1174,314,1690,1002,658,1346,13,1389,701,357,1733,1045,185,540,1228,110,1486,798,454,1830,1142,282,1658,970,626,1314,67,1443,755,411,1787,1099,239,1615,927,583,1271,153,1529,841,497,1185,325,1701,1013,669,1357,24,1400,712,368,1744,1056,196,1572,884,88,1464,776,432,1808,1120,260,1636,948,604,1292,45,1421,733,389,1765,1077,217,1593,905,561,1249,131,1507,819,475,1163,303,1679,991,647,1335,703,1378,690,346,1722,1034,174,1550,862,518,1206,815,471,1847,1159,299,1675,987,643,1331,84,1460,772,428,1804,1116,256,1632,944,600,1288,170,1546,858,514,1202,342,1718,1030,686,1374,41,1417,729,385,1761,1073,213,1589,901,557,1245,127,1503,1826,1138,278,1654,966,622,1310,63,1439,751,407,1783,1095,235,1611,923,579,1267,149,1525,837,493,1181,321,1697,1009,665,1353,20,1396,708,364,1740,1052,192,1568,880,536,1224,106,1482,794,450,289,1665,977,633,1321,74,1450,762,418,1794,1106,246,1622,934,590,1278,160,1536,848,504,1192,332,1708,1020,676,1364,31,1407,719,375,1751,1063,203,1579,891,547,1235,117,1493,805,461,1837,1149,955,611,1299,52,1428,740,396,1772,1084,224,1600,912,568,1256,138,1514,826,482,1170,310,1686,998,654,1342,9,1385,697,353,1729,1041,181,1557,869,525,1213,95,1471,783,439,1815,1127,267,1643,1326,79,1455,767,423,1799,1111,251,1627,939,595,1283,165,1541,853,509,1197,337,1713,1025,681,1369,36,1412,724,380,1756,1068,208,1584,896,552,1240,122,1498,810,466,1842,1154,294,1670,982,638,1433,745,401,1777,1089,229,1605,917,573,1261,143,1519,831,487,1175,315,1691,1003,659,1347,14,1390,702,358,1734,1046,186,1562,874,530,1218,100,1476,788,444,1820,1132,272,1648,960,616,1304,57,412,1788,1100,240,1616,928,584,1272,154,1530,842,498,1186,326,1702,1014,670,1358,25,1401,713,369,1745,1057,197,1573,885,541,1229,111,1487,799,455,1831,1143,283,1659,971,627,1315,68,1444,756,1078,218,1594,906,562,1250,132,1508,820,476,1164,304,1680,992,648,1336,1333,1379,691,347,1723,1035,175,1551,863,519,1207,89,1465,777,433,1809,1121,261,1637,949,605,1293,46,1422,734,390,1766,1629,941,597,1285,167,1543,855,511,1199,339,1715,1027,683,1371,38,1414,726,382,1758,1070,210,1586,898,554,1242,124,1500,812,468,1844,1156,296,1672,984,640,1328,81,1457,769,425,1801,1113,253,576,1264,146,1522,834,490,1178,318,1694,1006,662,1350,17,1393,705,361,1737,1049,189,1565,877,533,1221,103,1479,791,447,1823,1135,275,1651,963,619,1307,60,1436,748,404,1780,1092,232,1608,920,157,1533,845,501,1189,329,1705,1017,673,1361,28,1404,716,372,1748,1060,200,1576,888,544,1232,114,1490,802,458,1834,1146,286,1662,974,630,1318,71,1447,759,415,1791,1103,243,1619,931,587,1275,823,479,1167,307,1683,995,651,1339,6,1382,694,350,1726,1038,178,1554,866,522,1210,92,1468,780,436,1812,1124,264,1640,952,608,1296,49,1425,737,393,1769,1081,221,1597,909,565,1253,135,1511,1194,334,1710,1022,678,1366,33,1409,721,377,1753,1065,205,1581,893,549,1237,119,1495,807,463,1839,1151,291,1667,979,635,1323,76,1452,764,420,1796,1108,248,1624,936,592,1280,162,1538,850,506,1688,1e3,656,1344,11,1387,699,355,1731,1043,183,1559,871,527,1215,97,1473,785,441,1817,1129,269,1645,957,613,1301,54,1430,742,398,1774,1086,226,1602,914,570,1258,140,1516,828,484,1172,312,667,1355,22,1398,710,366,1742,1054,194,1570,882,538,1226,108,1484,796,452,1828,1140,280,1656,968,624,1312,65,1441,753,409,1785,1097,237,1613,925,581,1269,151,1527,839,495,1183,323,1699,1011,0,1376,688,344,1720,1032,172,1548,860,516,1204,86,1462,774,430,1806,1118,258,1634,946,602,1290,43,1419,731,387,1763,1075,215,1591,903,559,1247,129,1505,817,473,1161,301,1677,989,645,3],[2,370,1810,1090,190,1630,910,550,1990,1270,100,1540,820,460,1900,1180,280,1720,1e3,640,1360,55,1495,775,415,1855,1135,235,1675,955,595,1315,145,1585,865,505,1945,1225,325,1765,1045,685,1405,10,1,1838,1118,218,1658,938,578,2018,1298,128,1568,848,488,1928,1208,308,1748,1028,668,1388,83,1523,803,443,1883,1163,263,1703,983,623,1343,173,1613,893,533,1973,1253,353,1793,1073,713,1433,38,1478,758,398,196,1636,916,556,1996,1276,106,1546,826,466,1906,1186,286,1726,1006,646,1366,61,1501,781,421,1861,1141,241,1681,961,601,1321,151,1591,871,511,1951,1231,331,1771,1051,691,1411,16,1456,736,376,1816,1096,927,567,2007,1287,117,1557,837,477,1917,1197,297,1737,1017,657,1377,72,1512,792,432,1872,1152,252,1692,972,612,1332,162,1602,882,522,1962,1242,342,1782,1062,702,1422,27,1467,747,387,1827,1107,207,1647,1984,1264,94,1534,814,454,1894,1174,274,1714,994,634,1354,49,1489,769,409,1849,1129,229,1669,949,589,1309,139,1579,859,499,1939,1219,319,1759,1039,679,1399,4,1444,724,364,1804,1084,184,1624,904,544,131,1571,851,491,1931,1211,311,1751,1031,671,1391,86,1526,806,446,1886,1166,266,1706,986,626,1346,176,1616,896,536,1976,1256,356,1796,1076,716,1436,41,1481,761,401,1841,1121,221,1661,941,581,2021,1301,829,469,1909,1189,289,1729,1009,649,1369,64,1504,784,424,1864,1144,244,1684,964,604,1324,154,1594,874,514,1954,1234,334,1774,1054,694,1414,19,1459,739,379,1819,1099,199,1639,919,559,1999,1279,109,1549,1920,1200,300,1740,1020,660,1380,75,1515,795,435,1875,1155,255,1695,975,615,1335,165,1605,885,525,1965,1245,345,1785,1065,705,1425,30,1470,750,390,1830,1110,210,1650,930,570,2010,1290,120,1560,840,480,277,1717,997,637,1357,52,1492,772,412,1852,1132,232,1672,952,592,1312,142,1582,862,502,1942,1222,322,1762,1042,682,1402,7,1447,727,367,1807,1087,187,1627,907,547,1987,1267,97,1537,817,457,1897,1177,1025,665,1385,80,1520,800,440,1880,1160,260,1700,980,620,1340,170,1610,890,530,1970,1250,350,1790,1070,710,1430,35,1475,755,395,1835,1115,215,1655,935,575,2015,1295,125,1565,845,485,1925,1205,305,1745,1363,58,1498,778,418,1858,1138,238,1678,958,598,1318,148,1588,868,508,1948,1228,328,1768,1048,688,1408,13,1453,733,373,1813,1093,193,1633,913,553,1993,1273,103,1543,823,463,1903,1183,283,1723,1003,643,1509,789,429,1869,1149,249,1689,969,609,1329,159,1599,879,519,1959,1239,339,1779,1059,699,1419,24,1464,744,384,1824,1104,204,1644,924,564,2004,1284,114,1554,834,474,1914,1194,294,1734,1014,654,1374,69,406,1846,1126,226,1666,946,586,1306,136,1576,856,496,1936,1216,316,1756,1036,676,1396,1450,1441,721,361,1801,1081,181,1621,901,541,1981,1261,91,1531,811,451,1891,1171,271,1711,991,631,1351,46,1486,766,1169,269,1709,989,629,1349,179,1619,899,539,1979,1259,359,1799,1079,719,1439,44,1484,764,404,1844,1124,224,1664,944,584,2024,1304,134,1574,854,494,1934,1214,314,1754,1034,674,1394,89,1529,809,449,1889,1687,967,607,1327,157,1597,877,517,1957,1237,337,1777,1057,697,1417,22,1462,742,382,1822,1102,202,1642,922,562,2002,1282,112,1552,832,472,1912,1192,292,1732,1012,652,1372,67,1507,787,427,1867,1147,247,618,1338,168,1608,888,528,1968,1248,348,1788,1068,708,1428,33,1473,753,393,1833,1113,213,1653,933,573,2013,1293,123,1563,843,483,1923,1203,303,1743,1023,663,1383,78,1518,798,438,1878,1158,258,1698,978,146,1586,866,506,1946,1226,326,1766,1046,686,1406,11,1451,731,371,1811,1091,191,1631,911,551,1991,1271,101,1541,821,461,1901,1181,281,1721,1001,641,1361,56,1496,776,416,1856,1136,236,1676,956,596,1316,894,534,1974,1254,354,1794,1074,714,1434,39,1479,759,399,1839,1119,219,1659,939,579,2019,1299,129,1569,849,489,1929,1209,309,1749,1029,669,1389,84,1524,804,444,1884,1164,264,1704,984,624,1344,174,1614,1952,1232,332,1772,1052,692,1412,17,1457,737,377,1817,1097,197,1637,917,557,1997,1277,107,1547,827,467,1907,1187,287,1727,1007,647,1367,62,1502,782,422,1862,1142,242,1682,962,602,1322,152,1592,872,512,343,1783,1063,703,1423,28,1468,748,388,1828,1108,208,1648,928,568,2008,1288,118,1558,838,478,1918,1198,298,1738,1018,658,1378,73,1513,793,433,1873,1153,253,1693,973,613,1333,163,1603,883,523,1963,1243,1040,680,1400,5,1445,725,365,1805,1085,185,1625,905,545,1985,1265,95,1535,815,455,1895,1175,275,1715,995,635,1355,50,1490,770,410,1850,1130,230,1670,950,590,1310,140,1580,860,500,1940,1220,320,1760,1437,42,1482,762,402,1842,1122,222,1662,942,582,2022,1302,132,1572,852,492,1932,1212,312,1752,1032,672,1392,87,1527,807,447,1887,1167,267,1707,987,627,1347,177,1617,897,537,1977,1257,357,1797,1077,717,1460,740,380,1820,1100,200,1640,920,560,2e3,1280,110,1550,830,470,1910,1190,290,1730,1010,650,1370,65,1505,785,425,1865,1145,245,1685,965,605,1325,155,1595,875,515,1955,1235,335,1775,1055,695,1415,20,391,1831,1111,211,1651,931,571,2011,1291,121,1561,841,481,1921,1201,301,1741,1021,661,1381,76,1516,796,436,1876,1156,256,1696,976,616,1336,166,1606,886,526,1966,1246,346,1786,1066,706,1426,31,1471,751,1088,188,1628,908,548,1988,1268,98,1538,818,458,1898,1178,278,1718,998,638,1358,53,1493,773,413,1853,1133,233,1673,953,593,1313,143,1583,863,503,1943,1223,323,1763,1043,683,1403,8,1448,728,368,1808,1656,936,576,2016,1296,126,1566,846,486,1926,1206,306,1746,1026,666,1386,81,1521,801,441,1881,1161,261,1701,981,621,1341,171,1611,891,531,1971,1251,351,1791,1071,711,1431,36,1476,756,396,1836,1116,216,554,1994,1274,104,1544,824,464,1904,1184,284,1724,1004,644,1364,59,1499,779,419,1859,1139,239,1679,959,599,1319,149,1589,869,509,1949,1229,329,1769,1049,689,1409,14,1454,734,374,1814,1094,194,1634,914,1285,115,1555,835,475,1915,1195,295,1735,1015,655,1375,70,1510,790,430,1870,1150,250,1690,970,610,1330,160,1600,880,520,1960,1240,340,1780,1060,700,1420,25,1465,745,385,1825,1105,205,1645,925,565,2005,1532,812,452,1892,1172,272,1712,992,632,1352,47,1487,767,407,1847,1127,227,1667,947,587,1307,137,1577,857,497,1937,1217,317,1757,1037,677,1397,730,1442,722,362,1802,1082,182,1622,902,542,1982,1262,92,493,1933,1213,313,1753,1033,673,1393,88,1528,808,448,1888,1168,268,1708,988,628,1348,178,1618,898,538,1978,1258,358,1798,1078,718,1438,43,1483,763,403,1843,1123,223,1663,943,583,2023,1303,133,1573,853,1191,291,1731,1011,651,1371,66,1506,786,426,1866,1146,246,1686,966,606,1326,156,1596,876,516,1956,1236,336,1776,1056,696,1416,21,1461,741,381,1821,1101,201,1641,921,561,2001,1281,111,1551,831,471,1911,1742,1022,662,1382,77,1517,797,437,1877,1157,257,1697,977,617,1337,167,1607,887,527,1967,1247,347,1787,1067,707,1427,32,1472,752,392,1832,1112,212,1652,932,572,2012,1292,122,1562,842,482,1922,1202,302,639,1359,54,1494,774,414,1854,1134,234,1674,954,594,1314,144,1584,864,504,1944,1224,324,1764,1044,684,1404,9,1449,729,369,1809,1089,189,1629,909,549,1989,1269,99,1539,819,459,1899,1179,279,1719,999,82,1522,802,442,1882,1162,262,1702,982,622,1342,172,1612,892,532,1972,1252,352,1792,1072,712,1432,37,1477,757,397,1837,1117,217,1657,937,577,2017,1297,127,1567,847,487,1927,1207,307,1747,1027,667,1387,780,420,1860,1140,240,1680,960,600,1320,150,1590,870,510,1950,1230,330,1770,1050,690,1410,15,1455,735,375,1815,1095,195,1635,915,555,1995,1275,105,1545,825,465,1905,1185,285,1725,1005,645,1365,60,1500,1871,1151,251,1691,971,611,1331,161,1601,881,521,1961,1241,341,1781,1061,701,1421,26,1466,746,386,1826,1106,206,1646,926,566,2006,1286,116,1556,836,476,1916,1196,296,1736,1016,656,1376,71,1511,791,431,228,1668,948,588,1308,138,1578,858,498,1938,1218,318,1758,1038,678,1398,1395,1443,723,363,1803,1083,183,1623,903,543,1983,1263,93,1533,813,453,1893,1173,273,1713,993,633,1353,48,1488,768,408,1848,1128,985,625,1345,175,1615,895,535,1975,1255,355,1795,1075,715,1435,40,1480,760,400,1840,1120,220,1660,940,580,2020,1300,130,1570,850,490,1930,1210,310,1750,1030,670,1390,85,1525,805,445,1885,1165,265,1705,1323,153,1593,873,513,1953,1233,333,1773,1053,693,1413,18,1458,738,378,1818,1098,198,1638,918,558,1998,1278,108,1548,828,468,1908,1188,288,1728,1008,648,1368,63,1503,783,423,1863,1143,243,1683,963,603,1604,884,524,1964,1244,344,1784,1064,704,1424,29,1469,749,389,1829,1109,209,1649,929,569,2009,1289,119,1559,839,479,1919,1199,299,1739,1019,659,1379,74,1514,794,434,1874,1154,254,1694,974,614,1334,164,501,1941,1221,321,1761,1041,681,1401,6,1446,726,366,1806,1086,186,1626,906,546,1986,1266,96,1536,816,456,1896,1176,276,1716,996,636,1356,51,1491,771,411,1851,1131,231,1671,951,591,1311,141,1581,861,1249,349,1789,1069,709,1429,34,1474,754,394,1834,1114,214,1654,934,574,2014,1294,124,1564,844,484,1924,1204,304,1744,1024,664,1384,79,1519,799,439,1879,1159,259,1699,979,619,1339,169,1609,889,529,1969,1767,1047,687,1407,12,1452,732,372,1812,1092,192,1632,912,552,1992,1272,102,1542,822,462,1902,1182,282,1722,1002,642,1362,57,1497,777,417,1857,1137,237,1677,957,597,1317,147,1587,867,507,1947,1227,327,698,1418,23,1463,743,383,1823,1103,203,1643,923,563,2003,1283,113,1553,833,473,1913,1193,293,1733,1013,653,1373,68,1508,788,428,1868,1148,248,1688,968,608,1328,158,1598,878,518,1958,1238,338,1778,1058,0,1440,720,360,1800,1080,180,1620,900,540,1980,1260,90,1530,810,450,1890,1170,270,1710,990,630,1350,45,1485,765,405,1845,1125,225,1665,945,585,1305,135,1575,855,495,1935,1215,315,1755,1035,675,3],[2,398,1902,1150,210,1714,962,586,2090,1338,116,1620,868,492,1996,1244,304,1808,1056,680,2184,1432,69,1573,821,445,1949,1197,257,1761,1009,633,2137,1385,163,1667,915,539,2043,1291,351,1855,1103,727,1479,22,1,1914,1162,222,1726,974,598,2102,1350,128,1632,880,504,2008,1256,316,1820,1068,692,2196,1444,81,1585,833,457,1961,1209,269,1773,1021,645,2149,1397,175,1679,927,551,2055,1303,363,1867,1115,739,1491,34,1538,786,410,198,1702,950,574,2078,1326,104,1608,856,480,1984,1232,292,1796,1044,668,2172,1420,57,1561,809,433,1937,1185,245,1749,997,621,2125,1373,151,1655,903,527,2031,1279,339,1843,1091,715,1467,10,1514,762,386,1890,1138,980,604,2108,1356,134,1638,886,510,2014,1262,322,1826,1074,698,2202,1450,87,1591,839,463,1967,1215,275,1779,1027,651,2155,1403,181,1685,933,557,2061,1309,369,1873,1121,745,1497,40,1544,792,416,1920,1168,228,1732,2084,1332,110,1614,862,486,1990,1238,298,1802,1050,674,2178,1426,63,1567,815,439,1943,1191,251,1755,1003,627,2131,1379,157,1661,909,533,2037,1285,345,1849,1097,721,1473,16,1520,768,392,1896,1144,204,1708,956,580,122,1626,874,498,2002,1250,310,1814,1062,686,2190,1438,75,1579,827,451,1955,1203,263,1767,1015,639,2143,1391,169,1673,921,545,2049,1297,357,1861,1109,733,1485,28,1532,780,404,1908,1156,216,1720,968,592,2096,1344,850,474,1978,1226,286,1790,1038,662,2166,1414,51,1555,803,427,1931,1179,239,1743,991,615,2119,1367,145,1649,897,521,2025,1273,333,1837,1085,709,1461,4,1508,756,380,1884,1132,192,1696,944,568,2072,1320,98,1602,2017,1265,325,1829,1077,701,2205,1453,90,1594,842,466,1970,1218,278,1782,1030,654,2158,1406,184,1688,936,560,2064,1312,372,1876,1124,748,1500,43,1547,795,419,1923,1171,231,1735,983,607,2111,1359,137,1641,889,513,301,1805,1053,677,2181,1429,66,1570,818,442,1946,1194,254,1758,1006,630,2134,1382,160,1664,912,536,2040,1288,348,1852,1100,724,1476,19,1523,771,395,1899,1147,207,1711,959,583,2087,1335,113,1617,865,489,1993,1241,1065,689,2193,1441,78,1582,830,454,1958,1206,266,1770,1018,642,2146,1394,172,1676,924,548,2052,1300,360,1864,1112,736,1488,31,1535,783,407,1911,1159,219,1723,971,595,2099,1347,125,1629,877,501,2005,1253,313,1817,2169,1417,54,1558,806,430,1934,1182,242,1746,994,618,2122,1370,148,1652,900,524,2028,1276,336,1840,1088,712,1464,7,1511,759,383,1887,1135,195,1699,947,571,2075,1323,101,1605,853,477,1981,1229,289,1793,1041,665,84,1588,836,460,1964,1212,272,1776,1024,648,2152,1400,178,1682,930,554,2058,1306,366,1870,1118,742,1494,37,1541,789,413,1917,1165,225,1729,977,601,2105,1353,131,1635,883,507,2011,1259,319,1823,1071,695,2199,1447,812,436,1940,1188,248,1752,1e3,624,2128,1376,154,1658,906,530,2034,1282,342,1846,1094,718,1470,13,1517,765,389,1893,1141,201,1705,953,577,2081,1329,107,1611,859,483,1987,1235,295,1799,1047,671,2175,1423,60,1564,1952,1200,260,1764,1012,636,2140,1388,166,1670,918,542,2046,1294,354,1858,1106,730,1482,25,1529,777,401,1905,1153,213,1717,965,589,2093,1341,119,1623,871,495,1999,1247,307,1811,1059,683,2187,1435,72,1576,824,448,236,1740,988,612,2116,1364,142,1646,894,518,2022,1270,330,1834,1082,706,1458,1526,1505,753,377,1881,1129,189,1693,941,565,2069,1317,95,1599,847,471,1975,1223,283,1787,1035,659,2163,1411,48,1552,800,424,1928,1176,1033,657,2161,1409,187,1691,939,563,2067,1315,375,1879,1127,751,1503,46,1550,798,422,1926,1174,234,1738,986,610,2114,1362,140,1644,892,516,2020,1268,328,1832,1080,704,2208,1456,93,1597,845,469,1973,1221,281,1785,2138,1386,164,1668,916,540,2044,1292,352,1856,1104,728,1480,23,1527,775,399,1903,1151,211,1715,963,587,2091,1339,117,1621,869,493,1997,1245,305,1809,1057,681,2185,1433,70,1574,822,446,1950,1198,258,1762,1010,634,176,1680,928,552,2056,1304,364,1868,1116,740,1492,35,1539,787,411,1915,1163,223,1727,975,599,2103,1351,129,1633,881,505,2009,1257,317,1821,1069,693,2197,1445,82,1586,834,458,1962,1210,270,1774,1022,646,2150,1398,904,528,2032,1280,340,1844,1092,716,1468,11,1515,763,387,1891,1139,199,1703,951,575,2079,1327,105,1609,857,481,1985,1233,293,1797,1045,669,2173,1421,58,1562,810,434,1938,1186,246,1750,998,622,2126,1374,152,1656,2062,1310,370,1874,1122,746,1498,41,1545,793,417,1921,1169,229,1733,981,605,2109,1357,135,1639,887,511,2015,1263,323,1827,1075,699,2203,1451,88,1592,840,464,1968,1216,276,1780,1028,652,2156,1404,182,1686,934,558,346,1850,1098,722,1474,17,1521,769,393,1897,1145,205,1709,957,581,2085,1333,111,1615,863,487,1991,1239,299,1803,1051,675,2179,1427,64,1568,816,440,1944,1192,252,1756,1004,628,2132,1380,158,1662,910,534,2038,1286,1110,734,1486,29,1533,781,405,1909,1157,217,1721,969,593,2097,1345,123,1627,875,499,2003,1251,311,1815,1063,687,2191,1439,76,1580,828,452,1956,1204,264,1768,1016,640,2144,1392,170,1674,922,546,2050,1298,358,1862,1462,5,1509,757,381,1885,1133,193,1697,945,569,2073,1321,99,1603,851,475,1979,1227,287,1791,1039,663,2167,1415,52,1556,804,428,1932,1180,240,1744,992,616,2120,1368,146,1650,898,522,2026,1274,334,1838,1086,710,1548,796,420,1924,1172,232,1736,984,608,2112,1360,138,1642,890,514,2018,1266,326,1830,1078,702,2206,1454,91,1595,843,467,1971,1219,279,1783,1031,655,2159,1407,185,1689,937,561,2065,1313,373,1877,1125,749,1501,44,396,1900,1148,208,1712,960,584,2088,1336,114,1618,866,490,1994,1242,302,1806,1054,678,2182,1430,67,1571,819,443,1947,1195,255,1759,1007,631,2135,1383,161,1665,913,537,2041,1289,349,1853,1101,725,1477,20,1524,772,1160,220,1724,972,596,2100,1348,126,1630,878,502,2006,1254,314,1818,1066,690,2194,1442,79,1583,831,455,1959,1207,267,1771,1019,643,2147,1395,173,1677,925,549,2053,1301,361,1865,1113,737,1489,32,1536,784,408,1912,1700,948,572,2076,1324,102,1606,854,478,1982,1230,290,1794,1042,666,2170,1418,55,1559,807,431,1935,1183,243,1747,995,619,2123,1371,149,1653,901,525,2029,1277,337,1841,1089,713,1465,8,1512,760,384,1888,1136,196,602,2106,1354,132,1636,884,508,2012,1260,320,1824,1072,696,2200,1448,85,1589,837,461,1965,1213,273,1777,1025,649,2153,1401,179,1683,931,555,2059,1307,367,1871,1119,743,1495,38,1542,790,414,1918,1166,226,1730,978,1330,108,1612,860,484,1988,1236,296,1800,1048,672,2176,1424,61,1565,813,437,1941,1189,249,1753,1001,625,2129,1377,155,1659,907,531,2035,1283,343,1847,1095,719,1471,14,1518,766,390,1894,1142,202,1706,954,578,2082,1624,872,496,2e3,1248,308,1812,1060,684,2188,1436,73,1577,825,449,1953,1201,261,1765,1013,637,2141,1389,167,1671,919,543,2047,1295,355,1859,1107,731,1483,26,1530,778,402,1906,1154,214,1718,966,590,2094,1342,120,472,1976,1224,284,1788,1036,660,2164,1412,49,1553,801,425,1929,1177,237,1741,989,613,2117,1365,143,1647,895,519,2023,1271,331,1835,1083,707,1459,774,1506,754,378,1882,1130,190,1694,942,566,2070,1318,96,1600,848,1267,327,1831,1079,703,2207,1455,92,1596,844,468,1972,1220,280,1784,1032,656,2160,1408,186,1690,938,562,2066,1314,374,1878,1126,750,1502,45,1549,797,421,1925,1173,233,1737,985,609,2113,1361,139,1643,891,515,2019,1807,1055,679,2183,1431,68,1572,820,444,1948,1196,256,1760,1008,632,2136,1384,162,1666,914,538,2042,1290,350,1854,1102,726,1478,21,1525,773,397,1901,1149,209,1713,961,585,2089,1337,115,1619,867,491,1995,1243,303,691,2195,1443,80,1584,832,456,1960,1208,268,1772,1020,644,2148,1396,174,1678,926,550,2054,1302,362,1866,1114,738,1490,33,1537,785,409,1913,1161,221,1725,973,597,2101,1349,127,1631,879,503,2007,1255,315,1819,1067,1419,56,1560,808,432,1936,1184,244,1748,996,620,2124,1372,150,1654,902,526,2030,1278,338,1842,1090,714,1466,9,1513,761,385,1889,1137,197,1701,949,573,2077,1325,103,1607,855,479,1983,1231,291,1795,1043,667,2171,1590,838,462,1966,1214,274,1778,1026,650,2154,1402,180,1684,932,556,2060,1308,368,1872,1120,744,1496,39,1543,791,415,1919,1167,227,1731,979,603,2107,1355,133,1637,885,509,2013,1261,321,1825,1073,697,2201,1449,86,438,1942,1190,250,1754,1002,626,2130,1378,156,1660,908,532,2036,1284,344,1848,1096,720,1472,15,1519,767,391,1895,1143,203,1707,955,579,2083,1331,109,1613,861,485,1989,1237,297,1801,1049,673,2177,1425,62,1566,814,1202,262,1766,1014,638,2142,1390,168,1672,920,544,2048,1296,356,1860,1108,732,1484,27,1531,779,403,1907,1155,215,1719,967,591,2095,1343,121,1625,873,497,2001,1249,309,1813,1061,685,2189,1437,74,1578,826,450,1954,1742,990,614,2118,1366,144,1648,896,520,2024,1272,332,1836,1084,708,1460,1457,1507,755,379,1883,1131,191,1695,943,567,2071,1319,97,1601,849,473,1977,1225,285,1789,1037,661,2165,1413,50,1554,802,426,1930,1178,238,653,2157,1405,183,1687,935,559,2063,1311,371,1875,1123,747,1499,42,1546,794,418,1922,1170,230,1734,982,606,2110,1358,136,1640,888,512,2016,1264,324,1828,1076,700,2204,1452,89,1593,841,465,1969,1217,277,1781,1029,1381,159,1663,911,535,2039,1287,347,1851,1099,723,1475,18,1522,770,394,1898,1146,206,1710,958,582,2086,1334,112,1616,864,488,1992,1240,300,1804,1052,676,2180,1428,65,1569,817,441,1945,1193,253,1757,1005,629,2133,1675,923,547,2051,1299,359,1863,1111,735,1487,30,1534,782,406,1910,1158,218,1722,970,594,2098,1346,124,1628,876,500,2004,1252,312,1816,1064,688,2192,1440,77,1581,829,453,1957,1205,265,1769,1017,641,2145,1393,171,523,2027,1275,335,1839,1087,711,1463,6,1510,758,382,1886,1134,194,1698,946,570,2074,1322,100,1604,852,476,1980,1228,288,1792,1040,664,2168,1416,53,1557,805,429,1933,1181,241,1745,993,617,2121,1369,147,1651,899,1305,365,1869,1117,741,1493,36,1540,788,412,1916,1164,224,1728,976,600,2104,1352,130,1634,882,506,2010,1258,318,1822,1070,694,2198,1446,83,1587,835,459,1963,1211,271,1775,1023,647,2151,1399,177,1681,929,553,2057,1845,1093,717,1469,12,1516,764,388,1892,1140,200,1704,952,576,2080,1328,106,1610,858,482,1986,1234,294,1798,1046,670,2174,1422,59,1563,811,435,1939,1187,247,1751,999,623,2127,1375,153,1657,905,529,2033,1281,341,729,1481,24,1528,776,400,1904,1152,212,1716,964,588,2092,1340,118,1622,870,494,1998,1246,306,1810,1058,682,2186,1434,71,1575,823,447,1951,1199,259,1763,1011,635,2139,1387,165,1669,917,541,2045,1293,353,1857,1105,0,1504,752,376,1880,1128,188,1692,940,564,2068,1316,94,1598,846,470,1974,1222,282,1786,1034,658,2162,1410,47,1551,799,423,1927,1175,235,1739,987,611,2115,1363,141,1645,893,517,2021,1269,329,1833,1081,705,3]]};var ECCModeMap={ECC000:0,ECC050:1,ECC080:2,ECC100:3,ECC140:4};function getECC(e){var t=ECCModeMap[e];return{eccInfo:exports.Constants_140.ECCInfos[t],headerBits:exports.Constants_140.HeaderBits[t]}}exports.getECC=getECC;var SymbolSizeKeys=["square9","square11","square13","square15","square17","square19","square21","square23","square25","square27","square29","square31","square33","square35","square37","square39","square41","square43","square45","square47","square49"];function getSymbolSizeInfo(e){var t=SymbolSizeKeys.indexOf(e);if(t<0)throw new wijmo_barcode_1.InvalidOptionsException({ecc000_140SymbolSize:e});return exports.Constants_140.SymbolCapacities[t]}exports.getSymbolSizeInfo=getSymbolSizeInfo;function getSymbolSizeValue(e){return SymbolSizeKeys.indexOf(e)}exports.getSymbolSizeValue=getSymbolSizeValue;function getProperSymbolSize(e,t){if("auto"==e){e="square9";for(var r=0;r<=SymbolSizeKeys.length-1;++r)if(t<=exports.Constants_140.SymbolCapacities[r]){e=SymbolSizeKeys[r];break}}return e}exports.getProperSymbolSize=getProperSymbolSize;function getModuleMapping(e){var t=SymbolSizeKeys.indexOf(e);return exports.Constants_140.ModuleMapping[t]}exports.getModuleMapping=getModuleMapping;function setFinder_140(e,t){for(var r=e[0],o=0;o<t;o++)wijmo_barcode_1.Utils.isEven(o)?r[o]=1:r[o]=0;var n=e[t-1];for(o=0;o<t;o++)n[o]=1;for(o=1;o<t-1;o++){e[o][0]=1;wijmo_barcode_1.Utils.isEven(o)?e[o][t-1]=1:e[o][t-1]=0}}exports.setFinder_140=setFinder_140;function setRegionData_140(e,t,r){t-=2;for(var o=0;o<t;++o)for(var n=0;n<t;++n)e[1+o][1+n]=+r.getBit(o*t+n)}exports.setRegionData_140=setRegionData_140;var GEN_BIT_MASK=45,MSB_MASK=128,GEN_SEED=1,_elements=wijmo_barcode_1.Utils.fillArray(new Array(256),0),_valToExp=wijmo_barcode_1.Utils.fillArray(new Array(256),0),seed=GEN_SEED,exp=0;do{var last=seed%=256;_elements[exp]=seed;_valToExp[seed]=exp%256;seed<<=1;0!=(last&MSB_MASK)&&(seed^=GEN_BIT_MASK)}while(++exp<=255);function GFSum(e,t){return(e^t)%256}function GFMultiply(e,t){return 0==e||0==t?0:_elements[(_valToExp[e]+_valToExp[t])%255]}var Coefficients=[null,null,null,null,null,[228,48,15,111,62],null,[23,68,144,134,240,92,254],null,null,[28,24,185,166,223,248,116,255,110,61],[175,138,205,12,194,168,39,245,60,97,120],[41,153,158,91,61,42,142,213,97,178,100,242],null,[156,97,192,252,95,9,157,119,138,45,18,186,83,185],null,null,null,[83,195,100,39,188,75,66,61,241,213,109,129,94,254,225,48,90,188],null,[15,195,244,9,233,71,168,2,188,160,153,145,253,79,108,82,27,174,186,172],null,null,null,[52,190,88,205,109,39,176,21,155,197,251,223,155,21,5,172,254,124,12,181,184,96,50,193],null,null,null,[211,231,43,97,71,96,103,174,37,151,170,53,75,34,249,121,17,138,110,213,141,136,120,151,233,168,93,255],null,null,null,null,null,null,null,[245,127,242,218,130,250,162,181,102,120,84,179,220,251,80,182,229,18,2,4,68,33,101,137,95,119,115,44,175,184,59,25,225,98,81,112],null,null,null,null,null,[77,193,137,31,19,38,22,153,247,105,122,2,245,133,242,8,175,95,100,9,167,105,214,111,57,121,21,1,253,57,54,101,248,202,69,50,150,177,226,5,9,5],null,null,null,null,null,[245,132,172,223,96,32,117,22,238,133,238,231,205,188,237,87,191,106,16,147,118,23,37,90,170,205,131,88,120,100,66,138,186,240,82,44,176,87,187,147,160,175,69,213,92,253,225,19],null,null,null,null,null,null,null,[175,9,223,238,12,17,220,208,100,29,175,170,230,192,215,235,150,159,36,223,38,200,132,54,228,146,218,234,117,203,29,232,144,238,22,150,201,117,62,207,164,13,137,245,127,67,247,28,155,43,203,107,233,53,143,46],null,null,null,null,null,[242,93,169,50,144,210,39,118,202,188,201,189,143,108,196,37,185,112,134,230,245,63,197,190,250,106,185,221,175,64,114,71,161,44,147,6,27,218,51,63,87,10,40,130,188,17,163,31,176,170,4,107,232,7,94,166,224,124,86,47,11,204],null,null,null,null,null,[220,228,173,89,251,149,159,56,89,33,147,244,154,36,73,127,213,136,248,180,234,197,158,177,68,122,93,213,15,160,227,236,66,139,153,185,202,167,179,25,220,232,96,210,231,136,223,239,181,241,59,52,172,25,49,232,211,189,64,54,108,153,132,63,96,103,82,186]];function generateErrorCorrectionCode(e,t,r,o){for(var n=wijmo_barcode_1.Utils.fillArray(new Array(o),0),a=Coefficients[o],i=t;i<t+r;++i){for(var s=GFSum(n[o-1],e[i]),c=o-1;c>0;--c)n[c]=GFSum(GFMultiply(s,a[c]),n[c-1]);n[0]=GFMultiply(a[0],s)}n.reverse();return n}exports.generateErrorCorrectionCode=generateErrorCorrectionCode;exports.CONSTANTS={FNC1Input:wijmo_barcode_1.Constants.DataMatrixFNC1.charCodeAt(0),Macro05Input:wijmo_barcode_1.Constants.DataMatrixMacro05.charCodeAt(0),Macro06Input:wijmo_barcode_1.Constants.DataMatrixMacro06.charCodeAt(0),StructuredAppand:233,FileIdentifierMax:254,ASCIIPad:129,ASCIIUpperShift:235,ASCIIFNC1:232,Macro05:236,Macro06:237,TripletUppershift:158,TripletFNC1:155,TripletPad:0,InvalidTripletValue:255,LatchToC40:230,LatchToBase256:231,LatchToX12:238,LatchToText:239,LatchToEDIFACT:240,TripletUnlatch:254,EDIFACTUnlatch:31,PseudoRandomSeed:149,PadRandomBase:253,Base256RandomBase:255,Base256SmallBlockSize:249,EDIFACTMask:63,Unvisited:255,TripletShifts:[255,0,1,2],MaxCodeWrods:2178,MaxStructures:16,MaxLookAheadOffset:50};var SymbolInfo={keys:["square10","square12","square14","square16","square18","square20","square22","square24","square26","square32","square36","square40","square44","square48","square52","square64","square72","square80","square88","square96","square104","square120","square132","square144","rectangular8x18","rectangular8x32","rectangular12x26","rectangular12x36","rectangular16x36","rectangular16x48"],values:[[10,10,3,5,1,1,8,8],[12,12,5,7,1,1,10,10],[14,14,8,10,1,1,12,12],[16,16,12,12,1,1,14,14],[18,18,18,14,1,1,16,16],[20,20,22,18,1,1,18,18],[22,22,30,20,1,1,20,20],[24,24,36,24,1,1,22,22],[26,26,44,28,1,1,24,24],[32,32,62,36,1,4,14,14],[36,36,86,42,1,4,16,16],[40,40,114,48,1,4,18,18],[44,44,144,56,1,4,20,20],[48,48,174,68,1,4,22,22],[52,52,204,84,2,4,24,24],[64,64,280,112,2,16,14,14],[72,72,368,144,4,16,16,16],[80,80,456,192,4,16,18,18],[88,88,576,224,4,16,20,20],[96,96,696,272,4,16,22,22],[104,104,816,336,6,16,24,24],[120,120,1050,408,6,36,18,18],[132,132,1304,496,8,36,20,20],[144,144,1558,620,10,36,22,22],[8,18,5,7,1,1,6,16],[8,32,10,11,1,2,6,14],[12,26,16,14,1,1,10,24],[12,36,22,18,1,2,10,16],[16,36,32,24,1,2,14,16],[16,48,49,28,1,2,14,22]]};function getSymbolInfo(e){var t=SymbolInfo.values[SymbolInfo.keys.indexOf(e)];if(!t)throw new wijmo_barcode_1.InvalidOptionsException({ecc200SymbolSize:e});return{symbolRows:t[0],symbolColumns:t[1],symbolDataCapacity:t[2],eccLength:t[3],interleavedBlocks:t[4],regions:t[5],regionRows:t[6],regionColumns:t[7]}}exports.getSymbolInfo=getSymbolInfo;function getSuitableSymbolSize(e,t){if("squareAuto"!==e&&"rectangularAuto"!==e)return getSymbolInfo(e);for(var r="squareAuto"==e?0:24;r<SymbolInfo.keys.length;++r)if(SymbolInfo.values[r][2]>=t)return getSymbolInfo(SymbolInfo.keys[r]);throw new wijmo_barcode_1.TextTooLongException}exports.getSuitableSymbolSize=getSuitableSymbolSize;function getInfoOfRegions(e){var t;switch(e){case 1:case 2:t=1;break;case 4:t=2;break;case 16:t=4;break;case 36:t=6}return{rowOfRegion:t,colOfRegion:~~(e/t)}}exports.getInfoOfRegions=getInfoOfRegions;function createModules(e,t){t||(t=e);for(var r=[],o=0;o<e;o++)r.push(wijmo_barcode_1.Utils.fillArray(new Array(t),null));return r}exports.createModules=createModules;exports.TripletUppershift=158;exports.TripletFNC1=155;exports.ASCIIMax=127;exports.ExtendedASCIIMin=128;exports.Space=32;exports.NumericMin=48;exports.NumericMax=57;exports.LowerCasedLetterMin=97;exports.LowerCasedLetterMax=122;exports.UpperCasedLetterMin=65;exports.UpperCasedLetterMax=90;function getCharType(e){return e>exports.ASCIIMax?e==exports.CONSTANTS.FNC1Input?"FNC1":"ExtendedASCII":e>=exports.NumericMin&&e<=exports.NumericMax?"Numeric":e>=exports.LowerCasedLetterMin&&e<=exports.LowerCasedLetterMax?"LowerCasedLetter":e>=exports.UpperCasedLetterMin&&e<=exports.UpperCasedLetterMax?"UpperCasedLetter":"ASCIIOther"}exports.getCharType=getCharType;function getX12Value(e){switch(getCharType(e)){case"Numeric":return e-44;case"UpperCasedLetter":return e-51;default:switch(e){case 13:return 0;case 42:return 1;case 62:return 2;case 32:return 3}}return exports.CONSTANTS.InvalidTripletValue}exports.getX12Value=getX12Value;function getTripletCharValue(e,t){if("X12"==e)return getX12Value(t);if(t<32)return t;if(32==t)return 3;if(t<48)return t-33;if(t<58)return t-44;if(t<65)return t-43;if(t<91)return"C40"==e?t-51:t-64;if(t<96)return t-69;if(96==t)return 0;if(t<123)return"C40"==e?t-96:t-83;if(t<128)return t-96;if(t==exports.TripletFNC1||t==exports.TripletUppershift)return t-128;throw new wijmo_barcode_1.InvalidCharacterException(String.fromCharCode(t))}exports.getTripletCharValue=getTripletCharValue;function isDigit(e){return e>=exports.NumericMin&&e<=exports.NumericMax}exports.isDigit=isDigit;function getTripletCharSetChannel(e,t){return"X12"===e?0:t<32?1:32==t?0:t<48?2:t<58?0:t<65?2:t<91?"C40"==e?0:3:t<96?2:96==t?3:t<123?"C40"===e?3:0:t==exports.CONSTANTS.TripletFNC1||t==exports.CONSTANTS.TripletUppershift?2:3}exports.getTripletCharSetChannel=getTripletCharSetChannel;function getTripletEncodeValues(e,t){var r=[];if(t==exports.CONSTANTS.FNC1Input){if("X12"==e)throw new wijmo_barcode_1.InvalidCharacterException("FNC1");t=exports.CONSTANTS.TripletFNC1}else if(t>exports.ASCIIMax){if("C40"!=e&&"Text"!=e)throw new wijmo_barcode_1.InvalidCharacterException(String.fromCharCode(t));r.push(exports.CONSTANTS.TripletShifts[2]);r.push(getTripletCharValue(e,exports.CONSTANTS.TripletUppershift));t-=exports.ExtendedASCIIMin}var o=getTripletCharSetChannel(e,t);o>0&&r.push(exports.CONSTANTS.TripletShifts[o]);r.push(getTripletCharValue(e,t));return r}exports.getTripletEncodeValues=getTripletEncodeValues;function getEDIFACTValue(e){return e<32||e>94?exports.CONSTANTS.InvalidTripletValue:e&exports.CONSTANTS.EDIFACTMask}exports.getEDIFACTValue=getEDIFACTValue;function getRandomizedValue(e,t,r){var o=e+exports.CONSTANTS.PseudoRandomSeed*t%r+1;return o>r+1?o-r-1:o}exports.getRandomizedValue=getRandomizedValue;function mergeUnits(e){var t=[];if(e.length>0){for(var r=e[0],o=1;o<e.length;++o)if(e[o].charSet!=r.charSet){r.length>0&&t.push(wijmo_barcode_1.Utils.assign({},r));r.charSet=e[o].charSet;r.start=e[o].start;r.length=e[o].length}else r.length+=e[o].length;r.length>0&&t.push(r)}return t}exports.mergeUnits=mergeUnits;function setFinder(e,t,r,o){var n=t.regionColumns,a=t.regionRows;o*=n+=2;for(var i=e[r*=a+=2],s=o;s<o+n;s++)wijmo_barcode_1.Utils.isEven(s)?i[s]=1:i[s]=0;var c=e[r+a-1];for(s=o;s<o+n;s++)c[s]=1;for(s=r;s<r+a;s++){e[s][o]=1;wijmo_barcode_1.Utils.isEven(s)?e[s][o+n-1]=0:e[s][o+n-1]=1}}exports.setFinder=setFinder;function setRegionData(e,t,r,o,n){for(var a=t.regionColumns,i=t.regionRows,s=r*(i+2)+1,c=o*(a+2)+1,u=r*i,l=o*a,d=0;d<i;++d)for(var p=0;p<a;++p)e[s+d][c+p]=n[u+d][l+p]}exports.setRegionData=setRegionData;var ECC000_140=function(){function ECC000_140(e,t){this.m_symbol=wijmo_barcode_1.Utils.str2Array(e).map((function(e){return e.charCodeAt(0)}));this.symbolSize=t.ecc000_140SymbolSize;this.eccMode=t.eccMode;this.m_code=[];this.m_module=[]}ECC000_140.prototype.getMatrix=function(){var e=this.m_symbol,t=this.symbolSize,r=this.eccMode,o=this.m_code;if(e.length>569)throw new wijmo_barcode_1.TextTooLongException;var n=chooseEncodationScheme(e),a="ECC000"===r?7:19,i=this.calculateDataBits(n),s=this.calculateTotalBits(n,a,i);this._symbolSize=getProperSymbolSize(t,s);if(s>getSymbolSizeInfo(this._symbolSize))throw new wijmo_barcode_1.TextTooLongException;i+=30;var c=new BitwiseIterator([]);c.putBitsMSF(exports.Constants_140.getFormatID(n)<<27,5);var u=this.crcProcess(n);c.putBitsLSF(u,16);c.putBitsLSF(e.length,9);this.encode(n,c);var l=new BitwiseIterator(o);l.putBitsLSF(getECC(r).headerBits,a);c.offset=0;this.eccProcess(l,c,i);this.randomizeBits();return this.placeModule()};ECC000_140.prototype.eccProcess=function(e,t,r){var o=this.eccMode;if("ECC000"!==o){var n=getECC(o).eccInfo,a=[n.inputBits],i=!1;do{i=!1;for(var s=0;s<n.inputBits;++s){a[s]>>=1;a[s]=setBit(a[s],n.registerBits[s],t.fetchBit())}var c=!1;for(s=0;s<n.outputBits;++s){c=!1;for(var u=0;u<n.outputMasks[s].length;++u)c^=0!=(a[n.outputMasks[s][u].registerNumber]&n.outputMasks[s][u].mask);e.putBit(c)}if(t.offset>=r){for(s=0;s<a.length&&0==a[s];++s);s==a.length&&(i=!0)}}while(!i)}else for(;t.offset<r;)e.putBit(t.fetchBit())};ECC000_140.prototype.randomizeBits=function(){for(var e=this.m_code,t=~~((getSymbolSizeInfo(this._symbolSize)+7)/8),r=0;r<t;++r)e[r]^=exports.Constants_140.RandomizeBytes[r]};ECC000_140.prototype.crcProcess=function(e){var t=this.m_symbol,r=0,o=[];o.push(exports.Constants_140.getFormatID(e)+1);o.push(0);o.push.apply(o,t);for(var n=0;n<o.length;++n)for(var a=0;a<8;++a){var i=0!=(1&r);r>>=1;0!=(o[n]&1<<a)^i&&(r^=33800)}return r};ECC000_140.prototype.calculateDataBits=function(e){var t=this.m_symbol,r=exports.Constants_140.GroupLengths[e];return~~(t.length/r)*exports.Constants_140.BitLengths[e][0]+(t.length%r==0?0:exports.Constants_140.BitLengths[e][t.length%r])};ECC000_140.prototype.calculateTotalBits=function(e,t,r){var o=30+r,n=getECC(this.eccMode).eccInfo;return t+(~~((o+n.inputBits-1)/n.inputBits)+n.registerBits[n.inputBits-1])*n.outputBits};ECC000_140.prototype.encode=function(e,t){for(var r=this.m_symbol,o=0,n=e,a=exports.Constants_140.GroupLengths[n],i=exports.Constants_140.BaseValues[n],s=0;s<r.length;){o=0;var c=1;do{o+=getCodeWord(e,r[s++])*c;c*=i}while(s%a!=0&&s<r.length);var u=s%a;t.putBitsLSF(o,exports.Constants_140.BitLengths[n][u])}};ECC000_140.prototype.placeModule=function(){for(var e=this.m_module,t=this._symbolSize,r=this.m_code,o=getSymbolSizeInfo(t),n=new BitwiseIterator(e),a=new BitwiseIterator(r),i=getModuleMapping(t),s=0;s<o;++s)n.putBit(a.getBit(i[s]));var c=2*getSymbolSizeValue(t)+9,u=createModules(c);setFinder_140(u,c);setRegionData_140(u,c,n);return u};return ECC000_140}();exports.ECC000_140=ECC000_140;var SymbolCharacterPlacement=function(){function SymbolCharacterPlacement(e,t,r){this.nrow=t;this.ncol=r;this.data=e;this.matrix=createModules(t,r)}SymbolCharacterPlacement.prototype.ECC200=function(){var e=this.nrow,t=this.ncol,r=this.matrix,o=4,n=0,a=0;do{o==e&&0==n&&this.corner1(a++);o==e-2&&0==n&&t%4&&this.corner2(a++);o==e-2&&0==n&&t%8==4&&this.corner3(a++);o!=e+4||2!=n||t%8||this.corner4(a++);do{o<e&&n>=0&&null===r[o][n]&&this.utah(o,n,a++);o-=2;n+=2}while(o>=0&&n<t);o+=1;n+=3;do{o>=0&&n<t&&null===r[o][n]&&this.utah(o,n,a++);o+=2;n-=2}while(o<e&&n>=0);o+=3;n+=1}while(o<e||n<t);if(!r[e-1][t-1]){r[e-1][t-1]=r[e-2][t-2]=1;r[e-2][t-1]=r[e-1][t-2]=0}return r};SymbolCharacterPlacement.prototype.module=function(e,t,r,o){var n=this.nrow,a=this.ncol,i=this.matrix,s=this.data;if(e<0){e+=n;t+=4-(n+4)%8}if(t<0){t+=a;e+=4-(a+4)%8}var c=(1<<8-o)%256;i[e][t]=0!=(s[r]&c)?1:0};SymbolCharacterPlacement.prototype.utah=function(e,t,r){this.module(e-2,t-2,r,1);this.module(e-2,t-1,r,2);this.module(e-1,t-2,r,3);this.module(e-1,t-1,r,4);this.module(e-1,t,r,5);this.module(e,t-2,r,6);this.module(e,t-1,r,7);this.module(e,t,r,8)};SymbolCharacterPlacement.prototype.corner1=function(e){var t=this.nrow,r=this.ncol;this.module(t-1,0,e,1);this.module(t-1,1,e,2);this.module(t-1,2,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-1,e,6);this.module(2,r-1,e,7);this.module(3,r-1,e,8)};SymbolCharacterPlacement.prototype.corner2=function(e){var t=this.nrow,r=this.ncol;this.module(t-3,0,e,1);this.module(t-2,0,e,2);this.module(t-1,0,e,3);this.module(0,r-4,e,4);this.module(0,r-3,e,5);this.module(0,r-2,e,6);this.module(0,r-1,e,7);this.module(1,r-1,e,8)};SymbolCharacterPlacement.prototype.corner3=function(e){var t=this.nrow,r=this.ncol;this.module(t-3,0,e,1);this.module(t-2,0,e,2);this.module(t-1,0,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-1,e,6);this.module(2,r-1,e,7);this.module(3,r-1,e,8)};SymbolCharacterPlacement.prototype.corner4=function(e){var t=this.nrow,r=this.ncol;this.module(t-1,0,e,1);this.module(t-1,r-1,e,2);this.module(0,r-3,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-3,e,6);this.module(1,r-2,e,7);this.module(1,r-1,e,8)};return SymbolCharacterPlacement}();exports.SymbolCharacterPlacement=SymbolCharacterPlacement;function mod256(e){return e%256}function roundUpCodeLength(e){return Math.ceil(e-1e-5)}var ECC200=function(){function ECC200(e,t){this.text=e;this.m_symbol=wijmo_barcode_1.Utils.str2Array(e).map((function(e){return e.charCodeAt(0)}));this.symbolSize=t.ecc200SymbolSize;this.encodingMode=t.ecc200EncodingMode;this.structuredAppend=t.structuredAppend;this.structureNumber=t.structureNumber;this.fileIdentifier=t.fileIdentifier;this.symbolInfo=getSymbolInfo("square144");this.m_code=[]}ECC200.prototype.preEncode=function(e,t){var r=this.m_symbol,o=this.m_code,n=r[0];if(n==exports.CONSTANTS.Macro05Input||n==exports.CONSTANTS.Macro06Input){o[e++]=n==exports.CONSTANTS.Macro05Input?exports.CONSTANTS.Macro05:exports.CONSTANTS.Macro06;t++}return{c_pos:e,s_pos:t}};ECC200.prototype.checkValue=function(e){var t=this.encodingMode,r=this.m_symbol;if("X12"==t||"EDIFACT"==t)for(var o=e;o<r.length;++o)if(getTripletCharValue(t,r[o])==exports.CONSTANTS.InvalidTripletValue)return!1;return!0};ECC200.prototype.getEncodingLength=function(e,t,r,o){var n=this.m_symbol;if(t<0)return-1;var a=0;switch(e){case"ASCII":a=t;break;case"C40":case"Text":a=2*~~((t+2)/3)+2;break;case"X12":a=2*~~((t+2)/3)+2;(t%3==1||t%3==2&&isDigit(n[r+o-2])&&isDigit(n[r+o-1]))&&--a;break;case"EDIFACT":a=3*~~(++t/4)+t%4+1;break;case"Base256":a=t+1+(t>exports.CONSTANTS.Base256SmallBlockSize?2:1)}return a};ECC200.prototype.getMaxProperLength=function(e,t){for(var r=this.m_symbol,o=this.encodingMode,n=e+1,a=r.length,i=~~((n+a)/2),s=0,c=0;n<a;){i=~~((n+a)/2);(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,i-e),e,i-e))<0||c>t?a=i-1:n=i+1}if(n>e)if(i<n)s=(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,n-e),e,n-e))<0||c>t?i-e:n-e;else{i=Math.min(i,n);s=(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,i-e),e,i-e))<0||c>t?i-e-1:i-e}return Math.max(0,s)};ECC200.prototype.getCodeWordLength=function(e,t,r){for(var o=this.m_symbol,n=0,a=t;a<t+r;++a){var i=o[a];switch(e){case"ASCII":n+=i>exports.ASCIIMax&&i!=exports.CONSTANTS.FNC1Input?2:1;a<t+r-1&&isDigit(i)&&isDigit(o[a+1])&&++a;break;case"C40":case"Text":if(i==exports.CONSTANTS.FNC1Input)i=exports.CONSTANTS.TripletFNC1;else if(i>exports.ASCIIMax){n+=2;i-=128}n+=0==getTripletCharSetChannel(e,i)?1:2;break;case"X12":getX12Value(i)==exports.CONSTANTS.InvalidTripletValue?n=-1:n+=1;break;case"EDIFACT":getEDIFACTValue(i)==exports.CONSTANTS.InvalidTripletValue?n=-1:n+=1;break;case"Base256":n+=1}if(n<0)return n}return n};ECC200.prototype.getCodeLength=function(e){return this.getEncodingLength(e.charSet,this.getCodeWordLength(e.charSet,e.start,e.length),e.start,e.length)};ECC200.prototype.getEncodingUnitsInfomative=function(e,t,r){var o,n=this.m_symbol;0;for(var a=[],i={charSet:"ASCII",start:e,length:0,codeWords:0,encodingLength:0},s=0,c=e,u=!1,l=n.length;c<l;){u=!1;switch(i.charSet){case"ASCII":for(var d=0;c+d<n.length-1&&s+~~(d/2)<t&&isDigit(n[c+d])&&isDigit(n[c+d+1]);)d+=2;if(d>0){i.codeWords+=d>>1;c+=d;if(s+~~(d/2)>=t)break;continue}break;case"C40":case"Text":case"X12":do{n[c]>exports.ASCIIMax&&(i.codeWords+=2);getTripletCharSetChannel(i.charSet,n[c])>0&&++i.codeWords;++i.codeWords;++c}while(i.codeWords%3!=0&&c<l);break;case"EDIFACT":do{++i.codeWords;++c}while(0!=(3&i.codeWords)&&c<l);break;case"Base256":++i.codeWords;++c}var p=0,h=t-(s+this.getEncodingLength(i.charSet,i.codeWords,i.start,c-i.start)),C=h,g=i.charSet;do{p=(o=this.lookAhead(i.charSet,c,C,p)).d_len,g=o.newCharset}while(--C>0&&this.getEncodingLength(g,this.getCodeWordLength(g,c,p),c,p)>h);if(C<=0)break;if(i.charSet!=g){i.length=c-i.start;if(i.length>0){a.push(i);s+=this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)}i={charSet:g,start:c,length:0,codeWords:0,encodingLength:0};u=!0}var f=t-1;"EDIFACT"==i.charSet&&--f;"Base256"==i.charSet&&++f;if(s+this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)>=f)break;if(!u&&"ASCII"==i.charSet){++i.codeWords;++c}}i.length=c-i.start;if(i.length>0){a.push(i);s+=this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)}i={charSet:"ASCII",start:c,length:0,codeWords:0,encodingLength:0};for(;s<t&&c<n.length;){if(n[c]>exports.ASCIIMax&&n[c]!=exports.CONSTANTS.FNC1Input){if(!(s<t-1))break;++s}++s;++c}if(c>i.start){i.length=c-i.start;a.push(i)}return{s_taken:c-e,units:mergeUnits(a)}};ECC200.prototype.getEncodingUnits=function(e,t){var r,o,n=this,a=this.encodingMode,i=this.m_symbol,s=0,c=0;if(e<i.length){if("auto"!==a){"C40"!==a&&"Text"!=a&&"X12"!=a||t++;var u={charSet:a,start:e,length:c=this.getMaxProperLength(e,t),codeWords:0,encodingLength:0};u.codeWords=this.getCodeWordLength(u.charSet,u.start,u.length);u.encodingLength=this.getEncodingLength(u.charSet,u.codeWords,u.start,u.length);if("X12"==u.charSet&&u.encodingLength==t&&u.codeWords%3==2){--c;--u.length;--u.codeWords;--u.encodingLength}o=[u]}else r=this.getEncodingUnitsInfomative(e,t,c),o=r.units,c=r.s_taken;o.forEach((function(e,t){s+=n.getCodeLength(e);t===o.length-1&&("C40"===e.charSet||"Text"===e.charSet||"X12"===e.charSet&&1==(1&e.codeWords))&&s--}))}return{c_length:s,s_taken:c,units:o}};ECC200.prototype.encodeStructureHeader=function(e,t,r){var o=this.m_code,n=this.structureNumber;o[e++]=exports.CONSTANTS.StructuredAppand;o[e++]=mod256(n<<4|16-t+1);var a=this.generateFileIdentifier(t,r);o[e++]=mod256(a>>8);o[e++]=mod256(a);return e};ECC200.prototype.generateFileIdentifier=function(e,t){var r=this.m_symbol,o=this.fileIdentifier;return t%exports.CONSTANTS.FileIdentifierMax+1<<8|(0==o?r.length%exports.CONSTANTS.FileIdentifierMax+1:o)};ECC200.prototype.encode=function(e,t){switch(e.charSet){case"ASCII":return this.encodeASCII(e.start,e.length,t);case"C40":return this.encodeC40(e.start,e.length,t);case"Text":return this.encodeText(e.start,e.length,t);case"X12":return this.encodeX12(e.start,e.length,t);case"EDIFACT":return this.encodeEDIFACT(e.start,e.length,t);case"Base256":return this.encodeBase256(e.start,e.length,t)}};ECC200.prototype.encodeASCII=function(e,t,r){for(var o=this.m_code,n=this.m_symbol,a=e,i=e+t;a<i;a++){var s=getCharType(n[a]);if("FNC1"!==s)if("ExtendedASCII"!==s)if(a+1<i&&"Numeric"===s&&"Numeric"===getCharType(n[a+1])){var c=10*(n[a]-48)+(n[a+1]-48)+130;o.push(c);r++;a++}else{o.push(n[a]+1);r++}else{o.push(exports.CONSTANTS.ASCIIUpperShift);o.push(n[a]-exports.ASCIIMax);r+=2}else{o.push(exports.CONSTANTS.ASCIIFNC1);r++}}return r};ECC200.prototype.encodeTriplet=function(e,t,r,o){var n=this.m_code,a=this.m_symbol,i=this.symbolInfo,s=0,c=0,u=null,l=[],d=t;switch(e){case"C40":n[o++]=exports.CONSTANTS.LatchToC40;break;case"Text":n[o++]=exports.CONSTANTS.LatchToText;break;case"X12":n[o++]=exports.CONSTANTS.LatchToX12}for(;d<t+r;){u=getTripletEncodeValues(e,a[d++]);l=l.concat(u)}for(;o<=i.symbolDataCapacity-2&&l.length>=3;){s=0;for(c=0;c<3;++c){s*=40;s+=l.length>0?l.shift():0}++s;n[o++]=s>>8;n[o++]=255&s}var p=!0;if(l.length>0){var h=i.symbolDataCapacity-o,C=t+r-l.length,g=l.length;if(0===h||l.length>3||l.length>=2&&h<2||"X12"===e&&this.getEncodingLength("ASCII",this.getCodeWordLength("ASCII",C,g),C,g)>(1==h?1:h-1))throw new wijmo_barcode_1.TextTooLongException;p=!1;if(h>=2)if("X12"==e){n[o++]=exports.CONSTANTS.TripletUnlatch;o=this.encodeASCII(d-l.length,l.length,o)}else{p=!0;for(c=0,s=0;c<3;++c){s*=40;s+=l.length>0?l.shift():0}++s;n[o++]=s>>8;n[o++]=255&s}else{var f=a[d-1];if("X12"===e)o=this.encodeASCII(d-1,1,o);else{if(f>exports.ASCIIMax){n[o-2]=exports.CONSTANTS.TripletUnlatch;--o}o=this.encodeASCII(d-1,1,o)}}}p&&o<i.symbolDataCapacity&&(n[o++]=exports.CONSTANTS.TripletUnlatch);return o};ECC200.prototype.encodeC40=function(e,t,r){return this.encodeTriplet("C40",e,t,r)};ECC200.prototype.encodeText=function(e,t,r){return this.encodeTriplet("Text",e,t,r)};ECC200.prototype.encodeX12=function(e,t,r){return this.encodeTriplet("X12",e,t,r)};ECC200.prototype.encodeEDIFACT=function(e,t,r){var o=this.m_code,n=this.m_symbol,a=this.symbolInfo,i=this.text;o[r++]=exports.CONSTANTS.LatchToEDIFACT;for(var s=0,c=0,u=e,l=!1;u<e+t&&a.symbolDataCapacity-r>2;){s=0;c=0;for(;s<4;){++s;var d=0;if(u<e+t){if((d=getEDIFACTValue(n[u++]))==exports.CONSTANTS.InvalidTripletValue)throw new wijmo_barcode_1.InvalidTextException(i)}else{if(u!=e+t){--s;break}d=exports.CONSTANTS.EDIFACTUnlatch;l=!0;++u}c<<=6;c|=d}switch(s){case 1:o[r++]=mod256(c<<2);break;case 2:o[r++]=mod256(c>>4);o[r++]=mod256(c<<4);break;case 3:o[r++]=mod256(c>>10);o[r++]=mod256(c>>2);o[r++]=mod256(c<<6);break;case 4:o[r++]=mod256(c>>16);o[r++]=mod256(c>>8);o[r++]=mod256(c)}}u<e+t?r=this.encodeASCII(u,n.length-u,r):!l&&r<a.symbolDataCapacity-2&&(o[r++]=exports.CONSTANTS.EDIFACTUnlatch<<2);return r};ECC200.prototype.encodeBase256=function(e,t,r){var o=this.m_code,n=this.m_symbol;o[r++]=exports.CONSTANTS.LatchToBase256;t>exports.CONSTANTS.Base256SmallBlockSize&&(o[r++]=getRandomizedValue(exports.CONSTANTS.Base256SmallBlockSize+t/exports.CONSTANTS.Base256SmallBlockSize,r,exports.CONSTANTS.Base256RandomBase));o[r++]=getRandomizedValue(t%(exports.CONSTANTS.Base256SmallBlockSize+1),r,exports.CONSTANTS.Base256RandomBase);for(var a=e;a<e+t;++a)o[r++]=getRandomizedValue(n[a],r,exports.CONSTANTS.Base256RandomBase);return r};ECC200.prototype.padRight=function(e){for(var t=this.m_code,r=this.symbolInfo,o=e;o<r.symbolDataCapacity;o++)t[o]=o==e?exports.CONSTANTS.ASCIIPad:getRandomizedValue(exports.CONSTANTS.ASCIIPad,o+1,exports.CONSTANTS.PadRandomBase)};ECC200.prototype.lookAhead=function(e,t,r,o){var n={ASCII:0,C40:1,Text:2,X12:3,EDIFACT:4,Base256:5},a=["ASCII","C40","Text","X12","EDIFACT","Base256"],i=this.m_symbol;o=0;var s=!1,c=t,u=[0,1,1,1,1,1.25],l=n.C40;(e=n[e])!=n.ASCII&&(u=u.map((function(e){return++e})));u[e]=0;for(var _loop_1=function(){++o;var e=i[t],d=e==exports.CONSTANTS.FNC1Input,p=e>exports.ASCIIMax;u.forEach((function(t,r){switch(r){case n.ASCII:p&&!d?u[r]=roundUpCodeLength(u[r])+2:isDigit(e)?u[r]+=.5:u[r]+=1;break;case n.C40:case n.Text:u[r]+=d?4/3:p?8/3:0==getTripletCharSetChannel(a[r],e)?2/3:4/3;break;case n.X12:p?u[r]+=13/3:getX12Value(e)!=exports.CONSTANTS.InvalidTripletValue?u[r]+=2/3:u[r]+=10/3;break;case n.EDIFACT:p?u[r]+=4.25:getEDIFACTValue(e)!=exports.CONSTANTS.InvalidTripletValue?u[r]+=.75:u[r]+=3.25;break;case n.Base256:u[r]+=1}}));var h=[n.ASCII,n.Base256,n.EDIFACT,n.Text,n.X12,n.C40];if(o>3)for(var C=0;C<h.length;++C){for(var g=!0,f=h[C],m=u[f]+1,_=0;_<u.length;++_){switch(f){case n.ASCII:u[_]<m&&(g=!1);break;case n.Base256:(_==n.ASCII&&u[_]<m||u[_]<=m)&&(g=!1);break;case n.EDIFACT:case n.Text:case n.X12:u[_]<=m&&(g=!1);break;case n.C40:if(_!=n.X12&&u[_]<=m)g=!1;else{m-=1;if(u[_]<m)g=!1;else if(u[_]==m){for(var S=c;S<=t;){var b=getX12Value(i[S++]);if(b<3)return{value:a[n.X12]};if(b==exports.CONSTANTS.InvalidTripletValue)break}return{value:a[n.C40]}}}}if(!g)break}if(g){l=f;break}}++t;var w=0;for(C=0;C<u.length;++C)roundUpCodeLength(u[C])<roundUpCodeLength(u[w])&&(w=C);if(t<i.length&&roundUpCodeLength(u[w])>=r){s=!0;return"break"}};t<i.length&&t-c<=exports.CONSTANTS.MaxLookAheadOffset;){var d=_loop_1();if("object"==typeof d)return d.value;if("break"===d)break}if(t==i.length||t-c>=exports.CONSTANTS.MaxLookAheadOffset||s){for(var p=0,h=0;h<u.length;++h){u[h]=roundUpCodeLength(u[h]);u[h]<u[p]&&(p=h)}if(0==p||p==n.C40)l=p;else{var C=!0,g=u[p];for(h=0;h<u.length;++h)if(h!=p&&u[h]<=g){C=!1;break}C&&(l=p)}}return{d_len:o,newCharset:a[l]}};ECC200.prototype.getMatrix=function(){var e,t=this,r=this,o=r.text,n=r.m_symbol,a=r.symbolSize,i=r.structuredAppend,s=r.structureNumber,c=r.symbolInfo;if(n.length>3116*(i?16:1))throw new wijmo_barcode_1.TextTooLongException;var u=0,l=0,d=0,p=0,h=0;"squareAuto"!==a&&"rectangularAuto"!==a?c=getSymbolInfo(a):"rectangularAuto"===a&&(c=getSymbolInfo("rectangular16x48"));this.symbolInfo=c;i||(u=(e=this.preEncode(u,l)).s_pos,l=e.c_pos);var C,g=c.symbolDataCapacity;if(i){g-=4;d=4}else{g-=l;d=l}if(!this.checkValue(u))throw new wijmo_barcode_1.InvalidTextException(o);for(;p<(i?exports.CONSTANTS.MaxStructures:1)&&u<n.length;p++){h^=n[u];var f=this.getEncodingUnits(u,g),m=f.s_taken,_=f.c_length,S=f.units;u+=m;if(p==s){C=S;d+=_}}if(null==C)throw new wijmo_barcode_1.InvalidOptionsException({structureNumber:s},"Max structure number is "+p);if(u<n.length)throw new wijmo_barcode_1.TextTooLongException;if("squareAuto"===a||"rectangularAuto"===a){c=getSuitableSymbolSize(a,d);this.symbolInfo=c}i&&(l=this.encodeStructureHeader(l,p,mod256(h^n[n.length-1])));C.forEach((function(e){l=t.encode(e,l)}));l<c.symbolDataCapacity&&this.padRight(l);var b=this.eccProcess(),w=getInfoOfRegions(c.regions),E=w.rowOfRegion,x=w.colOfRegion,M=new SymbolCharacterPlacement(b,c.symbolRows-2*E,c.symbolColumns-2*x).ECC200();return this.placeModules(M)};ECC200.prototype.eccProcess=function(){var e=this.symbolInfo,t=this.m_code,r=e.symbolDataCapacity/e.interleavedBlocks,o=e.eccLength/e.interleavedBlocks;144==e.symbolRows&&++r;for(var n=[],a=0;a<e.interleavedBlocks;++a){for(var i=0,s=a;i<r&&s<e.symbolDataCapacity;++i,s+=e.interleavedBlocks)n[i]=t[s];var c=generateErrorCorrectionCode(n,0,i,o);s=a;for(var u=0;u<c.length;++u,s+=e.interleavedBlocks)t[e.symbolDataCapacity+s]=c[u]}return t};ECC200.prototype.placeModules=function(e){for(var t=this.symbolInfo,r=createModules(t.symbolRows,t.symbolColumns),o=getInfoOfRegions(t.regions),n=o.rowOfRegion,a=o.colOfRegion,i=0;i<n;i++)for(var s=0;s<a;s++){setFinder(r,t,i,s);setRegionData(r,t,i,s,e)}return r};return ECC200}();exports.ECC200=ECC200;var DataMatrixVersion,Ecc200EncodingMode,Ecc200SymbolSize,Ecc000_140SymbolSize,DataMatrixEncoder=function(e){__extends(DataMatrixEncoder,e);function DataMatrixEncoder(t){var r=this;t.merge(DataMatrixEncoder.DefaultConfig);var o,n=(r=e.call(this,t)||this).config,a=n.eccMode,i=n.ecc200SymbolSize,s=n.ecc200EncodingMode,c=n.structuredAppend,u=n.structureNumber,l=n.fileIdentifier,d=n.ecc000_140SymbolSize,p=r.encodeConfig.text;u=+u;l=+l;switch(a){case"ECC200":o=new ECC200(p,{ecc200SymbolSize:i,ecc200EncodingMode:s,structuredAppend:c,structureNumber:u,fileIdentifier:l});break;case"ECC000":case"ECC050":case"ECC080":case"ECC100":case"ECC140":o=new ECC000_140(p,{ecc000_140SymbolSize:d,structuredAppend:c,structureNumber:u,fileIdentifier:l,eccMode:a});break;default:throw new wijmo_barcode_1.InvalidOptionsException({eccMode:a})}r.innerEncoder=o;return r}DataMatrixEncoder.prototype.calculateData=function(){return this.innerEncoder.getMatrix()};DataMatrixEncoder.prototype.validate=function(){var e=this.encodeConfig.text,t=this.config,r=t.eccMode,o=t.structureNumber,n=t.fileIdentifier;if(!("ECC200"===r?/^[\x00-\xFF\u2000\u2004\u2005]+$/:/^[\x00-\xFF]+$/).test(e))throw new wijmo_barcode_1.InvalidTextException(e);if(!wijmo_barcode_1.Utils.isNumberLike(o))throw new wijmo_barcode_1.InvalidOptionsException({structureNumber:o});if(!wijmo_barcode_1.Utils.isNumberLike(n))throw new wijmo_barcode_1.InvalidOptionsException({fileIdentifier:n})};DataMatrixEncoder.DefaultConfig={eccMode:"ECC200",ecc200SymbolSize:"squareAuto",ecc200EncodingMode:"auto",ecc000_140SymbolSize:"auto",structuredAppend:!1,structureNumber:0,fileIdentifier:0,quietZone:{top:2,left:2,right:2,bottom:2}};return DataMatrixEncoder}(wijmo_barcode_1.TwoDimensionalBarcode);exports.DataMatrixEncoder=DataMatrixEncoder;wijmo_barcode_1.Barcode.registerEncoder("DataMatrix",DataMatrixEncoder);exports.Code49ClsNames={hostElement:"wj-barcode-code49"};exports.Code93ClsNames={hostElement:"wj-barcode-code93"};exports.DataMatrixClsNames={hostElement:"wj-barcode-datamatrix"};exports.DataMatrixEcc000ClsNames={hostElement:"wj-barcode-datamatrix-ecc000"};exports.DataMatrixEcc200ClsNames={hostElement:"wj-barcode-datamatrix-ecc200"};exports.Interleaved2of5ClsNames={hostElement:"wj-barcode-interleaved2of5"};exports.Itf14ClsNames={hostElement:"wj-barcode-itf14"};exports.JapanesePostalClsNames={hostElement:"wj-barcode-japanese-postal"};!function(e){e[e.Ecc000=0]="Ecc000";e[e.Ecc050=1]="Ecc050";e[e.Ecc080=2]="Ecc080";e[e.Ecc100=3]="Ecc100";e[e.Ecc140=4]="Ecc140"}(DataMatrixVersion=exports.DataMatrixVersion||(exports.DataMatrixVersion={}));!function(e){e[e.Auto=0]="Auto";e[e.Ascii=1]="Ascii";e[e.C40=2]="C40";e[e.Text=3]="Text";e[e.X12=4]="X12";e[e.Edifact=5]="Edifact";e[e.Base256=6]="Base256"}(Ecc200EncodingMode=exports.Ecc200EncodingMode||(exports.Ecc200EncodingMode={}));!function(e){e[e.SquareAuto=0]="SquareAuto";e[e.RectangularAuto=1]="RectangularAuto";e[e.Square10=2]="Square10";e[e.Square12=3]="Square12";e[e.Square14=4]="Square14";e[e.Square16=5]="Square16";e[e.Square18=6]="Square18";e[e.Square20=7]="Square20";e[e.Square22=8]="Square22";e[e.Square24=9]="Square24";e[e.Square26=10]="Square26";e[e.Square32=11]="Square32";e[e.Square36=12]="Square36";e[e.Square40=13]="Square40";e[e.Square44=14]="Square44";e[e.Square48=15]="Square48";e[e.Square52=16]="Square52";e[e.Square64=17]="Square64";e[e.Square72=18]="Square72";e[e.Square80=19]="Square80";e[e.Square88=20]="Square88";e[e.Square96=21]="Square96";e[e.Square104=22]="Square104";e[e.Square120=23]="Square120";e[e.Square132=24]="Square132";e[e.Square144=25]="Square144";e[e.Rectangular8x18=26]="Rectangular8x18";e[e.Rectangular8x32=27]="Rectangular8x32";e[e.Rectangular12x26=28]="Rectangular12x26";e[e.Rectangular12x36=29]="Rectangular12x36";e[e.Rectangular16x36=30]="Rectangular16x36";e[e.Rectangular16x48=31]="Rectangular16x48"}(Ecc200SymbolSize=exports.Ecc200SymbolSize||(exports.Ecc200SymbolSize={}));!function(e){e[e.Auto=0]="Auto";e[e.Square9=1]="Square9";e[e.Square11=2]="Square11";e[e.Square13=3]="Square13";e[e.Square15=4]="Square15";e[e.Square17=5]="Square17";e[e.Square19=6]="Square19";e[e.Square21=7]="Square21";e[e.Square23=8]="Square23";e[e.Square25=9]="Square25";e[e.Square27=10]="Square27";e[e.Square29=11]="Square29";e[e.Square31=12]="Square31";e[e.Square33=13]="Square33";e[e.Square35=14]="Square35";e[e.Square37=15]="Square37";e[e.Square39=16]="Square39";e[e.Square41=17]="Square41";e[e.Square43=18]="Square43";e[e.Square45=19]="Square45";e[e.Square47=20]="Square47";e[e.Square49=21]="Square49"}(Ecc000_140SymbolSize=exports.Ecc000_140SymbolSize||(exports.Ecc000_140SymbolSize={}));var _DataMatrixVersionConvertor=function(){function _DataMatrixVersionConvertor(){}_DataMatrixVersionConvertor.stringToEnum=function(e){switch(e){case"ECC000":return DataMatrixVersion.Ecc000;case"ECC050":return DataMatrixVersion.Ecc050;case"ECC080":return DataMatrixVersion.Ecc080;case"ECC100":return DataMatrixVersion.Ecc100;case"ECC140":return DataMatrixVersion.Ecc140}throw"Unknown Barcode internal eccMode '"+e+"'"};_DataMatrixVersionConvertor.enumToString=function(e){return DataMatrixVersion[wijmo_1.asEnum(e,DataMatrixVersion)].toUpperCase()};return _DataMatrixVersionConvertor}();exports._DataMatrixVersionConvertor=_DataMatrixVersionConvertor;var _Ecc200EncodingModeConvertor=function(){function _Ecc200EncodingModeConvertor(){}_Ecc200EncodingModeConvertor.stringToEnum=function(e){switch(e){case"auto":return Ecc200EncodingMode.Auto;case"ASCII":return Ecc200EncodingMode.Ascii;case"C40":return Ecc200EncodingMode.C40;case"Text":return Ecc200EncodingMode.Text;case"X12":return Ecc200EncodingMode.X12;case"EDIFACT":return Ecc200EncodingMode.Edifact;case"Base256":return Ecc200EncodingMode.Base256}throw"Unknown Barcode internal ECC200 encoding mode '"+e+"'"};_Ecc200EncodingModeConvertor.enumToString=function(e){var t=wijmo_1.asEnum(e,Ecc200EncodingMode);switch(t){case Ecc200EncodingMode.Auto:return"auto";case Ecc200EncodingMode.Ascii:case Ecc200EncodingMode.Edifact:return Ecc200EncodingMode[t].toUpperCase();default:return Ecc200EncodingMode[t]}};return _Ecc200EncodingModeConvertor}();exports._Ecc200EncodingModeConvertor=_Ecc200EncodingModeConvertor;function _SymbolSizeConvertor(e){return e.charAt(0).toLowerCase()+e.slice(1)}exports._SymbolSizeConvertor=_SymbolSizeConvertor;var DataMatrixBase=function(e){__extends(DataMatrixBase,e);function DataMatrixBase(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixClsNames.hostElement);return o}DataMatrixBase.type="DataMatrix";return DataMatrixBase}(wijmo_barcode_1.BarcodeBase);exports.DataMatrixBase=DataMatrixBase;var DataMatrixEcc000=function(e){__extends(DataMatrixEcc000,e);function DataMatrixEcc000(t,r){var o;DataMatrixEcc000._getEnumDictionary();o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixEcc000ClsNames.hostElement);return o}DataMatrixEcc000._getEnumDictionary=function(){DataMatrixEcc000._symbolSizeDictionary||(DataMatrixEcc000._symbolSizeDictionary=new wijmo_barcode_1._EnumDictionary(Ecc000_140SymbolSize,_SymbolSizeConvertor))};DataMatrixEcc000._getClassDefaults=function(){var e=DataMatrixBase._getClassDefaults();e.eccMode="ECC000";return e};Object.defineProperty(DataMatrixEcc000.prototype,"version",{get:function(){return _DataMatrixVersionConvertor.stringToEnum(this._getProp("eccMode"))},set:function(e){this._setProp("eccMode",_DataMatrixVersionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc000.prototype,"symbolSize",{get:function(){return DataMatrixEcc000._symbolSizeDictionary.getEnumByString(this._getProp("ecc000_140SymbolSize"))},set:function(e){this._setProp("ecc000_140SymbolSize",DataMatrixEcc000._symbolSizeDictionary.getStringByEnum(e))},enumerable:!0,configurable:!0});return DataMatrixEcc000}(DataMatrixBase);exports.DataMatrixEcc000=DataMatrixEcc000;var DataMatrixEcc200=function(e){__extends(DataMatrixEcc200,e);function DataMatrixEcc200(t,r){var o;DataMatrixEcc200._getEnumDictionary();o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixEcc200ClsNames.hostElement);return o}DataMatrixEcc200._getEnumDictionary=function(){DataMatrixEcc200._symbolSizeDictionary||(DataMatrixEcc200._symbolSizeDictionary=new wijmo_barcode_1._EnumDictionary(Ecc200SymbolSize,_SymbolSizeConvertor))};DataMatrixEcc200._getClassDefaults=function(){var e=DataMatrixBase._getClassDefaults();e.eccMode="ECC200";return e};Object.defineProperty(DataMatrixEcc200.prototype,"symbolSize",{get:function(){return DataMatrixEcc200._symbolSizeDictionary.getEnumByString(this._getProp("ecc200SymbolSize"))},set:function(e){this._setProp("ecc200SymbolSize",DataMatrixEcc200._symbolSizeDictionary.getStringByEnum(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"encodingMode",{get:function(){return _Ecc200EncodingModeConvertor.stringToEnum(this._getProp("ecc200EncodingMode"))},set:function(e){this._setProp("ecc200EncodingMode",_Ecc200EncodingModeConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"structuredAppend",{get:function(){return this._getProp("structuredAppend")},set:function(e){this._setProp("structuredAppend",e)},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"structureNumber",{get:function(){return this._getProp("structureNumber")},set:function(e){this._setProp("structureNumber",e)},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"fileIdentifier",{get:function(){return this._getProp("fileIdentifier")},set:function(e){this._setProp("fileIdentifier",e)},enumerable:!0,configurable:!0});return DataMatrixEcc200}(DataMatrixBase);exports.DataMatrixEcc200=DataMatrixEcc200;var Code49=function(e){__extends(Code49,e);function Code49(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.Code49ClsNames.hostElement);return o}Object.defineProperty(Code49,"controlTemplate",{get:function(){Code49._ctrlTemplate||(Code49._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Code49._ctrlTemplate},set:function(e){Code49._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"grouping",{get:function(){return this._getProp("grouping")},set:function(e){this._setProp("grouping",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"groupIndex",{get:function(){return this._getProp("groupNo")},set:function(e){this._setProp("groupNo",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Code49.type="Code49";Code49._ctrlTemplate="";return Code49}(wijmo_barcode_1.BarcodeBase);exports.Code49=Code49;var Code93=function(e){__extends(Code93,e);function Code93(t,r){var o=e.call(this,t)||this;wijmo_1.addClass(o.hostElement,exports.Code93ClsNames.hostElement);o._setAw(!0);o.initialize(r);return o}Object.defineProperty(Code93,"controlTemplate",{get:function(){Code93._ctrlTemplate||(Code93._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Code93._ctrlTemplate},set:function(e){Code93._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"autoWidth",{get:function(){return this._getAw()},set:function(e){this._setAw(e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"autoWidthZoom",{get:function(){return this._getWzoom()},set:function(e){this._setWzoom(e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"checkDigit",{get:function(){return this._getProp("checkDigit")},set:function(e){this._setProp("checkDigit",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"fullAscii",{get:function(){return this._getProp("fullASCII")},set:function(e){this._setProp("fullASCII",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Code93.type="Code93";Code93._ctrlTemplate="";return Code93}(wijmo_barcode_1.BarcodeBase);exports.Code93=Code93;var Itf14=function(e){__extends(Itf14,e);function Itf14(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.Itf14ClsNames.hostElement);return o}Object.defineProperty(Itf14.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"nwRatio",{get:function(){return wijmo_barcode_1._NarrowWideRatioConvertor.stringToEnum(this._getProp("nwRatio"))},set:function(e){this._setProp("nwRatio",wijmo_barcode_1._NarrowWideRatioConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"bearerBar",{get:function(){return this._getProp("bearerBar")},set:function(e){this._setProp("bearerBar",e)},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Itf14.type="ITF-14";return Itf14}(wijmo_barcode_1.BarcodeBase);exports.Itf14=Itf14;var Interleaved2of5=function(e){__extends(Interleaved2of5,e);function Interleaved2of5(t,r){var o=e.call(this,t)||this;wijmo_1.addClass(o.hostElement,exports.Interleaved2of5ClsNames.hostElement);o._setAw(!0);o.initialize(r);return o}Object.defineProperty(Interleaved2of5,"controlTemplate",{get:function(){Interleaved2of5._ctrlTemplate||(Interleaved2of5._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Interleaved2of5._ctrlTemplate},set:function(e){Interleaved2of5._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"autoWidth",{get:function(){return this._getAw()},set:function(e){this._setAw(e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"autoWidthZoom",{get:function(){return this._getWzoom()},set:function(e){this._setWzoom(e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"nwRatio",{get:function(){return wijmo_barcode_1._NarrowWideRatioConvertor.stringToEnum(this._getProp("nwRatio"))},set:function(e){this._setProp("nwRatio",wijmo_barcode_1._NarrowWideRatioConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"bearerBar",{get:function(){return this._getProp("bearerBar")},set:function(e){this._setProp("bearerBar",e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"checkCharacter",{get:function(){return this._getProp("checkCharacter")},set:function(e){this._setProp("checkCharacter",e)},enumerable:!0,configurable:!0});Interleaved2of5.type="Interleaved2of5";Interleaved2of5._ctrlTemplate="";return Interleaved2of5}(wijmo_barcode_1.BarcodeBase);exports.Interleaved2of5=Interleaved2of5;var JapanesePostal=function(e){__extends(JapanesePostal,e);function JapanesePostal(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.JapanesePostalClsNames.hostElement);return o}Object.defineProperty(JapanesePostal.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(JapanesePostal.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});JapanesePostal.type="Japanese Postal";return JapanesePostal}(wijmo_barcode_1.BarcodeBase);exports.JapanesePostal=JapanesePostal;wijmo_1._registerModule("wijmo.barcode.specialized",selfModule);
14
+ "use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var r in e)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var wijmo_1=require("wijmo/wijmo"),wijmo_barcode_1=require("wijmo/wijmo.barcode"),selfModule=__importStar(require("wijmo/wijmo.barcode.specialized")),CodeMap=function(){function CodeMap(e,t,r){this.Maps=[e,t,r]}CodeMap.Datas=[new CodeMap(1,4,4),new CodeMap(1,1,4),new CodeMap(1,3,2),new CodeMap(3,1,2),new CodeMap(1,2,3),new CodeMap(1,4,1),new CodeMap(3,2,1),new CodeMap(2,1,3),new CodeMap(2,3,1),new CodeMap(4,1,1),new CodeMap(4,1,4),new CodeMap(3,2,4),new CodeMap(3,4,2),new CodeMap(2,3,4),new CodeMap(4,3,2),new CodeMap(2,4,3),new CodeMap(4,2,3),new CodeMap(4,4,1),new CodeMap(1,1,1),new CodeMap(0,1,3),new CodeMap(3,1,0)];return CodeMap}();exports.CodeMap=CodeMap;exports.ND=255;exports.CODE_CC4=14;var CharMap=function(){function CharMap(e,t,r){this.Char=e;this.Val1=t;this.Val2=r}CharMap.Datas=[new CharMap("0",0,exports.ND),new CharMap("1",1,exports.ND),new CharMap("2",2,exports.ND),new CharMap("3",3,exports.ND),new CharMap("4",4,exports.ND),new CharMap("5",5,exports.ND),new CharMap("6",6,exports.ND),new CharMap("7",7,exports.ND),new CharMap("8",8,exports.ND),new CharMap("9",9,exports.ND),new CharMap("-",10,exports.ND),new CharMap(String.fromCharCode(193),11,exports.ND),new CharMap(String.fromCharCode(194),12,exports.ND),new CharMap(String.fromCharCode(195),13,exports.ND),new CharMap(String.fromCharCode(196),14,exports.ND),new CharMap(String.fromCharCode(197),15,exports.ND),new CharMap(String.fromCharCode(198),16,exports.ND),new CharMap(String.fromCharCode(199),17,exports.ND),new CharMap(String.fromCharCode(200),18,exports.ND),new CharMap("A",11,0),new CharMap("B",11,1),new CharMap("C",11,2),new CharMap("D",11,3),new CharMap("E",11,4),new CharMap("F",11,5),new CharMap("G",11,6),new CharMap("H",11,7),new CharMap("I",11,8),new CharMap("J",11,9),new CharMap("K",12,0),new CharMap("L",12,1),new CharMap("M",12,2),new CharMap("N",12,3),new CharMap("O",12,4),new CharMap("P",12,5),new CharMap("Q",12,6),new CharMap("R",12,7),new CharMap("S",12,8),new CharMap("T",12,9),new CharMap("U",13,0),new CharMap("V",13,1),new CharMap("W",13,2),new CharMap("X",13,3),new CharMap("Y",13,4),new CharMap("Z",13,5),new CharMap("a",11,0),new CharMap("b",11,1),new CharMap("c",11,2),new CharMap("d",11,3),new CharMap("e",11,4),new CharMap("f",11,5),new CharMap("g",11,6),new CharMap("h",11,7),new CharMap("i",11,8),new CharMap("j",11,9),new CharMap("k",12,0),new CharMap("l",12,1),new CharMap("m",12,2),new CharMap("n",12,3),new CharMap("o",12,4),new CharMap("p",12,5),new CharMap("q",12,6),new CharMap("r",12,7),new CharMap("s",12,8),new CharMap("t",12,9),new CharMap("u",13,0),new CharMap("v",13,1),new CharMap("w",13,2),new CharMap("x",13,3),new CharMap("y",13,4),new CharMap("z",13,5),new CharMap(String.fromCharCode(0),0,0)];return CharMap}();exports.CharMap=CharMap;var BarEnum={Long:1,Upward:2,Downward:3,Timing:4},JapanesePost4StateCustomerCode=function(e){__extends(JapanesePost4StateCustomerCode,e);function JapanesePost4StateCustomerCode(t){var r=e.call(this,t)||this,o=r.encodeConfig.text;r.text=o;r.label=o;return r}JapanesePost4StateCustomerCode.prototype.validate=function(){if(this.encodeConfig.text.length>20)throw new wijmo_barcode_1.TextTooLongException};JapanesePost4StateCustomerCode.prototype.checksum=function(e,t){for(var r=0,o=0;o<e;o++)r+=t[o];var n=r%19;0!=n&&(n=19-n);return n};JapanesePost4StateCustomerCode.prototype.calculateData=function(){var e,t,r=this.text,o=this.encodeConfig.hideExtraChecksum,n=[],a=0;n[a++]=19;var i=String.fromCharCode(0);for(e=0;e<r.length;e++){for(t=0;CharMap.Datas[t].Char!=i&&CharMap.Datas[t].Char!=r[e];t++);if(CharMap.Datas[t].Char==i)throw new wijmo_barcode_1.InvalidCharacterException(r[e]);n[a++]=CharMap.Datas[t].Val1;CharMap.Datas[t].Val2!=exports.ND&&(n[a++]=CharMap.Datas[t].Val2);if(a>21)break}for(;a<21;a++)n[a]=exports.CODE_CC4;a=21;var s=this.checksum(a,n);o||(this.label=r+s);n[a++]=s;n[a]=20;return n};JapanesePost4StateCustomerCode.prototype._fillSymbol=function(e,t){var r=t.getContentBox().height/3;e.forEach((function(e){CodeMap.Datas[e].Maps.forEach((function(e){switch(e){case BarEnum.Long:t.append(1,3*r,0);break;case BarEnum.Upward:t.append(1,2*r,0);break;case BarEnum.Downward:t.append(1,2*r,r);break;case BarEnum.Timing:t.append(1,r,r);break;default:return}t.space()}))}));t.space(-1)};JapanesePost4StateCustomerCode.prototype.convertToShape=function(e,t){var r=this.label,o=this.encodeConfig,n=o.quietZone,a=o.isLabelBottom,i=o.height,s=o.showLabel,c=o.fontSizeInUnit,u=this.style.textAlign,l=0;r&&s&&(l=c);var d=2*(3*e.length-2)-1+n.right+n.left,p=i+n.top+n.bottom,h=new wijmo_barcode_1.VerticalLayoutArea,C=new wijmo_barcode_1.SymbolArea(d,p);C.setStyle({padding:{top:n.top,right:n.right,bottom:n.bottom,left:n.left}});var g=C.getSize(),f=new wijmo_barcode_1.LabelArea(g.width,l,u);f.setStyle({padding:{left:n.left,right:n.right}});if(a){h.append(C);h.append(f)}else{h.append(f);h.append(C)}if(!t){this._fillSymbol(e,C);f.append({text:r});this.shapes=h.toShapes()}this.size=h.getSize()};return JapanesePost4StateCustomerCode}(wijmo_barcode_1.OneDimensionalBarcode);exports.JapanesePost4StateCustomerCode=JapanesePost4StateCustomerCode;wijmo_barcode_1.Barcode.registerEncoder("Japanese Postal",JapanesePost4StateCustomerCode);var ITFBase=function(e){__extends(ITFBase,e);function ITFBase(t){var r=this;t.merge(ITFBase.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig.text,a=o.config,i=a.nwRatio,s=a.bearerBar;r.text=n;r.label=n;r.ratio=i;r.bearerBar=s;return r}ITFBase.prototype.checksum=function(e){var t=wijmo_barcode_1.Utils.str2Array(e).reverse().reduce((function(e,t,r){t=+t;return e+=wijmo_barcode_1.Utils.isOdd(r)?t:3*t}),0)%10;return 0===t?0:10-t};ITFBase.prototype._toPairs=function(){var e=this.text,t=[];wijmo_barcode_1.Utils.sliceString(e,2,(function(e){t.push(e)}));return t};ITFBase.prototype._toPattern=function(e){var t=ITFBase.Table[e[0]],r=ITFBase.Table[e[1]],o="";wijmo_barcode_1.Utils.loop((function(e){o=o+t[e]+r[e]}),t.length);return o};ITFBase.prototype._toZeroOnePattern=function(e){var t=this.ratio,r="";wijmo_barcode_1.Utils.loop((function(o){var n=wijmo_barcode_1.Utils.isOdd(o)?"0":"1";r+=wijmo_barcode_1.Utils.strRepeat(n,"W"===e[o]?t:1)}),e.length);return r};ITFBase.prototype.calculateData=function(){var e=this,t=this._toPairs(),r=ITFBase.StartPattern;t.forEach((function(t){r+=e._toPattern(t)}));r+=ITFBase.StopPattern;return this._toZeroOnePattern(r)};ITFBase.prototype.afterApplyDesiredSize=function(){this.bearerBar&&(this.encodeConfig.height-=2*ITFBase.BearerBarWidth)};ITFBase.prototype.convertToShape=function(e,t){var r=this.label,o=this.bearerBar,n=this.encodeConfig,a=n.quietZone,i=n.isLabelBottom,s=n.height,c=n.showLabel,u=n.fontSizeInUnit,l=this.style.textAlign,d=0;r&&c&&(d=u);var p=e.length+a.right+a.left,h=s+a.top+a.bottom,C=new wijmo_barcode_1.VerticalLayoutArea,g=new wijmo_barcode_1.SymbolArea(p,h);g.setStyle({padding:{top:a.top,right:a.right,bottom:a.bottom,left:a.left},border:o?ITFBase.BearerBarWidth:0});var f=g.getSize(),m=new wijmo_barcode_1.LabelArea(f.width,d,l);if(i){C.append(g);C.append(m)}else{C.append(m);C.append(g)}if(!t){g.fromPattern(e);m.append({text:r});this.shapes=C.toShapes()}this.size=C.getSize()};ITFBase.StartPattern="nnnn";ITFBase.StopPattern="Wnn";ITFBase.DefaultConfig={quietZone:{right:10,left:10},nwRatio:3,bearerBar:!1};ITFBase.Table=["nnWWn","WnnnW","nWnnW","WWnnn","nnWnW","WnWnn","nWWnn","nnnWW","WnnWn","nWnWn"];ITFBase.Weight=[1,2,4,7,0];ITFBase.BearerBarWidth=3;return ITFBase}(wijmo_barcode_1.OneDimensionalBarcode);exports.ITFBase=ITFBase;var Interleaved2of5Encoder=function(e){__extends(Interleaved2of5Encoder,e);function Interleaved2of5Encoder(t){var r=this;t.merge(Interleaved2of5Encoder.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig,a=n.text,i=n.hideExtraChecksum,s=a;if(o.config.checkCharacter){a+=r.checksum(a);i||(s=a)}if(wijmo_barcode_1.Utils.isOdd(a.length)){a="0"+a;s="0"+s}r.text=a;r.label=s;return r}Interleaved2of5Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!/^[0-9]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e,"Text should be numbers.");if(e.length>16)throw new wijmo_barcode_1.TextTooLongException};Interleaved2of5Encoder.DefaultConfig={checkCharacter:!1};return Interleaved2of5Encoder}(ITFBase);exports.Interleaved2of5Encoder=Interleaved2of5Encoder;wijmo_barcode_1.Barcode.registerEncoder("Interleaved2of5",Interleaved2of5Encoder);var ITF_14_Encoder=function(e){__extends(ITF_14_Encoder,e);function ITF_14_Encoder(t){var r=e.call(this,t)||this,o=r.encodeConfig,n=o.text,a=o.hideExtraChecksum;r.label=n;if(13===n.length){n+=r.checksum(n);a||(r.label=n)}r.text=n;return r}ITF_14_Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!/^(\d{13}|\d{14})$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e,"Text should be numbers. The length should be 13 or 14.");if(14===e.length){if(this.checksum(e.substr(0,13))!=e[13])throw new wijmo_barcode_1.InvalidTextException(e,"Check digit is invalid.")}};return ITF_14_Encoder}(ITFBase);exports.ITF_14_Encoder=ITF_14_Encoder;wijmo_barcode_1.Barcode.registerEncoder("ITF-14",ITF_14_Encoder);var EncodeTable_Code93=function(){function EncodeTable_Code93(){}EncodeTable_Code93.getCode93Code=function(e){var t=EncodeTable_Code93.TABLE_CH.indexOf(e);if(-1===t)throw new wijmo_barcode_1.InvalidCharacterException(e);return EncodeTable_Code93.TABLE_CODE[t]};EncodeTable_Code93.getCode93Value=function(e){var t=EncodeTable_Code93.TABLE_CH.indexOf(e);if(-1===t)throw new wijmo_barcode_1.InvalidCharacterException(e);return t};EncodeTable_Code93.getCharByValue=function(e){return EncodeTable_Code93.TABLE_CH[e]};EncodeTable_Code93.getFullASCIIChar=function(e){var t="";wijmo_barcode_1.Utils.sliceString(e,1,(function(r){var o=EncodeTable_Code93.TABLE_FULL_ASCII[r.charCodeAt(0)];if(!o)throw new wijmo_barcode_1.InvalidTextException(e);t+=o}));return t};EncodeTable_Code93.TABLE_CH=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%","[","]","{","}","*"];EncodeTable_Code93.TABLE_CODE=["131112","111213","111312","111411","121113","121212","121311","111114","131211","141111","211113","211212","211311","221112","221211","231111","112113","112212","112311","122112","132111","111123","111222","111321","121122","131121","212112","212211","211122","211221","221121","222111","112122","112221","122121","123111","121131","311112","311211","321111","112131","113121","211131","121221","312111","311121","122211","111141"];EncodeTable_Code93.TABLE_FULL_ASCII=["]U","[A","[B","[C","[D","[E","[F","[G","[H","[I","[J","[K","[L","[M","[N","[O","[P","[Q","[R","[S","[T","[U","[V","[W","[X","[Y","[Z","]A","]B","]C","]D","]E"," ","{A","{B","{C","{D","{E","{F","{G","{H","{I","{J","{K","{L","{M","{N","{O","0","1","2","3","4","5","6","7","8","9","{Z","]F","]G","]H","]I","]J","]V","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","]K","]L","]M","]N","]O","]W","}A","}B","}C","}D","}E","}F","}G","}H","}I","}J","}K","}L","}M","}N","}O","}P","}Q","}R","}S","}T","}U","}V","}W","}X","}Y","}Z","]P","]Q","]R","]S","]T"];return EncodeTable_Code93}();exports.EncodeTable_Code93=EncodeTable_Code93;var Code93Encoder=function(e){__extends(Code93Encoder,e);function Code93Encoder(t){var r=this;t.merge(Code93Encoder.DefaultConfig);var o=r=e.call(this,t)||this,n=o.encodeConfig,a=n.text,i=n.hideExtraChecksum,s=o.config,c=s.fullASCII,u=s.checkDigit,l=c?EncodeTable_Code93.getFullASCIIChar(a):a;r.label=a;if(u){var d=r.checksum(l),p=r.checksum(l+d);r.text=Code93Encoder.START_STOP_CHARACTERS+l+d+p+Code93Encoder.START_STOP_CHARACTERS;i||(r.label=a+d+p)}else r.text=Code93Encoder.START_STOP_CHARACTERS+l+Code93Encoder.START_STOP_CHARACTERS;return r}Code93Encoder.prototype.validate=function(){var e=this.encodeConfig.text;if(!this.config.fullASCII&&!/^[0-9A-Z\-. $/+%]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e)};Code93Encoder.prototype.encode=function(e){var t="";wijmo_barcode_1.Utils.str2Array(e).forEach((function(e,r){wijmo_barcode_1.Utils.isEven(r)?t+=wijmo_barcode_1.Utils.strRepeat("1",+e):t+=wijmo_barcode_1.Utils.strRepeat("0",+e)}));return t};Code93Encoder.prototype.calculateData=function(){var e=this,t=this.text,r="";wijmo_barcode_1.Utils.sliceString(t,1,(function(t){r+=e.encode(EncodeTable_Code93.getCode93Code(t))}));return r+=Code93Encoder.TERMINATION};Code93Encoder.prototype.checksum=function(e){var t=1,r=wijmo_barcode_1.Utils.str2Array(e).reduceRight((function(e,r){var o=EncodeTable_Code93.getCode93Value(r);t>20&&(t=1);e+=t*o;t++;return e}),0);return EncodeTable_Code93.getCharByValue(r%47)};Code93Encoder.DefaultConfig={checkDigit:!1,fullASCII:!1,quietZone:{right:10,left:10}};Code93Encoder.START_STOP_CHARACTERS="*";Code93Encoder.TERMINATION="1";return Code93Encoder}(wijmo_barcode_1.OneDimensionalBarcode);exports.Code93Encoder=Code93Encoder;wijmo_barcode_1.Barcode.registerEncoder("Code93",Code93Encoder);var ODD_TABLE=[51520,62032,60576,64296,58784,63848,56128,63184,64948,50336,61736,39232,58960,63892,56480,63272,64970,35648,58064,52640,62312,47936,61136,64436,49744,36e3,58152,52816,62356,48288,61224,64458,34208,57704,50896,61876,40352,59240,63962,57040,63412,49448,34384,57748,50984,61898,40528,59284,57128,63434,33488,50024,36560,58292,53096,62426,48848,61364,33576,50068,36648,58314,53140,33128,49588,34664,57818,51124,40808,59354,57268,53568,62544,64788,59808,64104,55104,62928,64884,51360,61992,45376,60496,64276,37696,58576,63796,55712,63080,64922,52128,62184,46912,60880,64372,50256,61716,39072,58920,63882,56400,63252,35232,57960,52432,62260,47520,61032,64410,50640,61812,39840,59112,63930,56784,63348,49704,35920,58132,52776,62346,48208,61204,34e3,57652,50792,61850,40144,59188,56936,63386,49896,36304,58228,52968,62394,48592,61300,49428,34344,57738,50964,40488,59274,33384,49972,36456,58266,53044,48744,61338,49524,34536,57786,51060,40680,59322,57204,33556,50058,36628,33076,49562,34612,51098,40756,33652,50106,36724,53178,49012,53408,62504,64778,41792,59600,64052,54176,62696,64826,44864,60368,64244,51280,61972,45216,60456,64266,37280,58472,63770,55504,63028,51664,62068,45984,60648,64314,38816,58856,63866,56272,63220,50216,61706,38992,58900,56360,63242,35024,57908,52328,62234,47312,60980,50408,61754,39376,58996,56552,63290,35792,58100,52712,62330,48080,61172,49684,35880,58122,52756,33896,57626,50740,40040,59162,56884,49780,36072,58170,52852,48360,61242,34280,57722,50932,40424,59258,57076,49418,34324,50954,33332,49946,36404,53018,49466,34420,51002,40564,57146,33524,50042,36596,53114,48884,33546,33050,34586,33594,36666,33146,34682,40826,53328,62484,41376,59496,64026,53712,62580,42912,59880,64122,55248,62964,51240,61962,45136,60436,37072,58420,55400,63002,51432,62010,45520,60532,37840,58612,55784,63098,52200,62202,47056,60916,50196,38952,58890,34920,57882,52276,47208,60954,50292,39144,58938,56436,35304,57978,52468,47592,61050,50676,39912,59130,56820,49674,35860,33844,50714,39988,49722,35956,52794,48244,34036,50810,40180,56954,49914,36340,52986,48628,34314,33306,36378,34362,40506,33402,36474,48762,34554,40698,53288,62474,41168,59444,53480,62522,41936,59636,54248,62714,45008,60404,51220,36968,58394,55348,51316,45288,60474,37352,58490,55540,51700,46056,60666,38888,58874,56308,50186,34868,52250,50234,39028,56378,35060,52346,47348,50426,39412,56570,35828,52730,48116,33818,35898,33914,40058,36090,48378,34298,40442,62752,64840,56e3,63152,64940,51776,62096,60704,64328,52576,62296,47808,61104,64428,50464,61768,39488,59024,63908,56608,63304,64978,50864,61868,40288,59224,63958,57008,63404,49808,36128,58184,52880,62372,48416,61256,64466,50008,36528,58284,53080,62422,48816,61356,49480,34448,57764,51016,61906,40592,59300,57160,63442,49580,34648,57814,51116,40792,59350,57260,33608,50084,36680,58322,53156,48968,61394,59744,64088,54976,62896,64876,53824,62608,64804,60192,64200,37568,58544,63788,55648,63064,64918,52064,62168,46784,51488,62024,45632,60560,64292,38464,58768,63844,56096,63176,64946,35168,57944,52400,62252,47456,61016,64406,50608,61804,39776,50320,61732,39200,58952,63890,56464,63268,35616,58056,52624,62308,47904,61128,64434,33968,57644,50776,61846,40112,59180,56920,63382,49880,36272,49736,35984,58148,48560,52808,62354,48272,61220,34192,57700,50888,61874,40336,59236,57032,63410,33368,49964,36440,58262,53036,48728,61334,49516,34520,49444,34376,57746,40664,50980,40520,59282,57124,33480,50020,36552,58290,53092,48840,61362,33068,49558,34604,51094,40748,33644,33572,36716,50066,36644,49004,53138,33124,49586,34660,51122,40804,57266,41664,59568,64044,54112,62680,64822,53536,62536,64786,44736,60336,64236,42560,59792,64100,55072,62920,64882,37216,58456,63766,55472,63020,51632,62060,45920,51344,61988,45344,60488,64274,38752,58840,63862,37664,58568,63794,55696,63076,52112,62180,46880,60872,64370,34992,57900,52312,62230,47280,60972,50392,61750,39344,50248,61714,39056,58916,56392,63250,35760,58092,35216,57956,48048,52424,62258,47504,61028,50632,61810,39824,59108,56776,63346,33880,57622,50732,40024,59158,56876,49772,36056,49700,35912,58130,48344,52772,48200,61202,34264,57718,33992,57650,40408,50788,40136,59186,56932,49892,36296,58226,52964,48584,61298,33324,49942,36396,53014,49462,34412,49426,34340,40556,50962,40484,33516,33380,36588,49970,36452,48876,53042,48740,49522,34532,51058,40676,57202,33046,34582,33590,33554,36662,36626,33142,33074,34678,34610,40822,40754,33650,36722,49010,41312,59480,64022,53680,62572,53392,62500,42848,59864,64118,41760,59592,64050,55216,62956,54160,62692,44832,60360,64242,37040,58412,55384,62998,51416,62006,45488,51272,61970,45200,60452,37808,58604,37264,58468,55496,63026,52184,62198,47024,51656,62066,45968,60644,38800,58852,56264,63218,34904,57878,52268,47192,60950,50284,39128,50212,38984,58898,56356,35288,57974,35016,57906,47576,52324,47304,60978,50668,39896,50404,39368,58994,56548,35784,58098,52708,48072,61170,33836,50710,39980,49718,35948,49682,35876,48236,52754,34028,33892,40172,50738,40036,56882,49910,36332,49778,36068,48620,52850,48356,34276,50930,40420,57074,33302,36374,34358,34322,40502,33398,33330,36470,36402,48758,34550,34418,40694,40562,33522,36594,48882,41136,59436,53464,62518,53320,62482,41904,59628,41360,59492,54232,62710,53704,62578,44976,60396,42896,59876,55240,62962,36952,58390,55340,51308,45272,51236,45128,60434,37336,58486,37064,58418,55396,51692,46040,51428,45512,60530,38872,58870,37832,58610,55780,52196,47048,60914,34860,52246,50230,39020,50194,38948,35052,34916,47340,52274,47204,50422,39404,50290,39140,56434,35820,35300,48108,52466,47588,50674,39908,56818,33814,35894,35858,33910,33842,40054,39986,36086,35954,48374,48242,34294,34034,40438,40178,36338,48626,41048,59414,53356,53284,41432,59510,41160,59442,53740,53476,42968,59894,41928,59634,55276,54244,36908,51254,45164,51218,37100,36964,55346,51446,45548,51314,45284,37868,37348,55538,52214,47084,51698,46052,34838,38966,34934,34866,47222,39158,39026,35318,35058,47606,47346,39926,39410,6e4,64152,54336,62736,64836,60784,64348,38080,58672,63820,55904,63128,64934,51744,62088,46144,60688,64324,39648,59064,63918,56688,63324,35424,58008,52528,62284,47712,61080,64422,50448,61764,39456,59016,63906,56592,63300,36208,58204,52920,62382,48496,61276,34096,57676,50840,61862,40240,59212,56984,63398,49800,36112,58180,52872,62370,48400,61252,34488,57774,51036,40632,59310,57180,33432,49996,36504,58278,53068,48792,61350,49476,34440,57762,51012,40584,59298,57156,33628,50094,36700,53166,48988,33100,49574,34636,51110,40780,57254,33604,50082,36676,53154,48964,53984,62648,64814,44480,60272,64220,42176,59696,64076,54880,62872,64870,53792,62600,64802,44096,60176,64196,51568,62044,45792,60600,64302,38624,58808,63854,37472,58520,63782,55600,63052,52016,62156,46688,51472,62020,45600,60552,64290,38432,58760,63842,56080,63172,50360,61742,39280,58972,56504,63278,35696,58076,35120,57932,47984,52376,62246,47408,61004,50584,61798,39728,50312,61730,39184,58948,56456,63266,35600,58052,52616,62306,47888,61124,49756,36024,58158,52828,48312,61230,34232,57710,33944,57638,40376,50764,40088,59174,56908,49868,36248,49732,35976,58146,48536,52804,48264,61218,34184,57698,50884,40328,59234,57028,49454,34396,50990,40540,57134,33500,33356,36572,49958,36428,48860,53030,48716,49510,34508,49442,34372,40652,50978,40516,57122,33476,50018,36548,53090,48836,33582,36654,33134,33062,34670,34598,40814,40742,33638,33570,36710,36642,48998,33122,34658,40802,53616,62556,42720,59832,64110,41568,59544,64038,55152,62940,54064,62668,53520,62532,44640,60312,64230,42528,59784,64098,55056,62916,51384,61998,45424,60508,37744,58588,37168,58444,55448,63014,52152,62190,46960,51608,62054,45872,51336,61986,45328,60484,38704,58828,37648,58564,55688,63074,52104,62178,46864,60868,50268,39096,58926,56412,35256,57966,34968,57894,47544,52300,47256,60966,50652,39864,50380,39320,50244,39048,58914,56388,35736,58086,35208,57954,48024,52420,47496,61026,50628,39816,59106,56772,49710,35932,52782,48220,34012,33868,40156,50726,40012,56870,49902,36316,49766,36044,49698,48604,35908,48332,52770,48196,34252,33988,40396,50786,40132,56930,49890,36292,52962,48580,34350,40494,33390,33318,36462,36390,48750,34542,34406,40686,34338,40550,40482,33510,33378,36582,36450,48870,48738,34530,40674,53432,62510,41840,59612,41264,59468,54200,62702,53656,62566,53384,62498,44912,60380,42800,59852,41744,59588,55192,62950,54152,62690,44816,60356,51292,45240,60462,37304,58478,37016,58406,55372,51676,46008,51404,45464,51268,45192,60450,38840,58862,37784,58598,37256,58466,55492,52172,47e3,51652,45960,60642,38792,58850,56260,50222,39004,56366,35036,34892,47324,52262,47180,50414,39388,50278,39116,50210,38980,56354,35804,35276,48092,35012,47564,52322,47300,50662,39884,50402,39364,56546,35780,52706,48068,35886,33902,33830,40046,39974,36078,35942,48366,35874,48230,34286,34022,40430,33890,40166,40034,36326,36066,48614,48354,34274,40418,53340,41400,59502,41112,59430,53724,53452,53316,42936,59886,41880,59622,41352,59490,55260,54220,53700,44952,60390,42888,59874,51246,45148,37084,36940,55334,51438,45532,51302,45260,51234,45124,37852,37324,37060,55394,52206,47068,51686,46028,51426,45508,38860,37828,55778,38958,34926,34854,47214,39150,39014,38946,35310,35046,47598,34914,47334,47202,39918,39398,39138,35814,35298,48102,47586,53294,41180,41036,53486,53350,53282,41948,41420,41156,54254,53734,53474,45020,42956,41924,36974,36902,45294,45158,37358,37094,36962,46062,45542,45282,38894,37862,37346,54496,62776,64846,43200,59952,64140,54304,62728,64834,56048,63164,51824,62108,46304,60728,64334,37984,58648,63814,55856,63116,51728,62084,46112,60680,64322,52600,62302,47856,61116,50488,61774,39536,59036,56632,63310,35376,57996,52504,62278,47664,61068,50440,61762,39440,59012,56584,63298,50876,40312,59230,57020,49820,36152,58190,52892,48440,61262,34072,57670,50828,40216,59206,56972,49796,36104,58178,52868,48392,61250,50014,36540,53086,48828,49486,34460,51022,40604,57166,33420,49990,36492,53062,48780,49474,34436,51010,40580,57154,34654,40798,33614,36686,48974,33094,34630,40774,33602,36674,48962,59768,64094,55024,62908,53872,62620,44256,60216,64206,42080,59672,64070,54832,62860,53776,62596,44064,60168,64194,37616,58556,55672,63070,52088,62174,46832,51512,62030,45680,60572,38512,58780,37424,58508,55576,63046,51992,62150,46640,51464,62018,45584,60548,38416,58756,56072,63170,35192,57950,52412,47480,61022,50620,39800,50332,39224,58958,56476,35640,58062,35096,57926,47928,52364,47384,60998,50572,39704,50308,39176,58946,56452,35592,58050,52612,47880,61122,33980,50782,40124,56926,49886,36284,49742,35996,48572,52814,48284,34204,33932,40348,50758,40076,56902,49862,36236,49730,35972,48524,52802,48260,34180,50882,40324,57026,33374,36446,48734,34526,34382,40670,40526,33486,33350,36558,36422,48846,48710,34502,34370,40646,40514,33474,36546,48834,41712,59580,54136,62686,53560,62542,44784,60348,42608,59804,41520,59532,55096,62926,54040,62662,53512,62530,44592,60300,42512,59780,55048,62914,37240,58462,55484,51644,45944,51356,45368,60494,38776,58846,37688,58574,37144,58438,55436,52124,46904,51596,45848,51332,45320,60482,38680,58822,37640,58562,55684,52100,46856,60866,35004,52318,47292,50398,39356,50254,39068,56398,35772,35228,48060,34956,47516,52294,47244,50638,39836,50374,39308,50242,39044,56386,35724,35204,48012,52418,47492,50626,39812,56770,33886,40030,36062,35918,48350,48206,34270,33998,40414,33862,40142,40006,36302,36038,48590,35906,48326,48194,34246,33986,40390,40130,36290,48578,41336,59486,53692,53404,42872,59870,41784,59598,41240,59462,55228,54172,53644,53380,44856,60366,42776,59846,41736,59586,55180,54148,37052,55390,51422,45500,51278,45212,37820,37276,37004,55366,52190,47036,51662,45980,51398,45452,51266,45188,38812,37772,37252,55490,52166,46988,51650,45956,34910,47198,39134,38990,35294,35022,47582,34886,47310,47174,39902,39374,39110,38978,35790,35270,48078,35010,47558,47298,39878,39362,41148,53470,53326,41916,41372,41100,54238,53710,53446,53314,44988,42908,41868,41348,55246,54214,53698,36958,45278,45134,37342,37070,36934,46046,45518,45254,45122,38878,37838,37318,37058,47054,46022,45506,41054,41438,41166,41030,42974,41934,41414,41154,43488,60024,64158,54384,62748,43104,59928,64134,54288,62724,60796,38128,58684,55928,63134,51768,62094,46192,60700,37936,58636,55832,63110,51720,62082,46096,60676,39672,59070,56700,35448,58014,52540,47736,61086,50460,39480,59022,56604,35352,57990,52492,47640,61062,50436,39432,59010,56580,36220,52926,48508,34108,50846,40252,56990,49806,36124,52878,48412,34060,50822,40204,56966,49794,36100,52866,48388,34494,40638,33438,36510,48798,34446,40590,33414,36486,48774,34434,40578,54008,62654,44528,60284,42224,59708,54904,62878,53816,62606,44144,60188,42032,59660,54808,62854,53768,62594,44048,60164,51580,45816,60606,38648,58814,37496,58526,55612,52028,46712,51484,45624,60558,38456,58766,37400,58502,55564,51980,46616,51460,45576,60546,38408,58754,56068,50366,39292,56510,35708,35132,47996,52382,47420,50590,39740,50318,39196,56462,35612,35084,47900,52358,47372,50566,39692,50306,39172,56450,35588,52610,47876,36030,48318,34238,33950,40382,40094,36254,35982,48542,48270,34190,33926,40334,40070,36230,35970,48518,48258,34178,40322,53628,42744,59838,41592,59550,55164,54076,53532,44664,60318,42552,59790,41496,59526,55068,54028,53508,44568,60294,42504,59778,51390,45436,37756,37180,55454,52158,46972,51614,45884,51342,45340,38716,37660,37132,55430,52110,46876,51590,45836,51330,45316,38668,37636,55682,39102,35262,34974,47550,47262,39870,39326,39054,35742,35214,48030,34950,47502,47238,39822,39302,39042,35718,35202,48006,47490,53438,41852,41276,54206,53662,53390,44924,42812,41756,41228,55198,54158,53638,53378,44828,42764,41732,45246,37310,37022,46014,45470,45198,38846,37790,37262,36998,47006,45966,45446,45186,38798,37766,37250,41406,41118,42942,41886,41358,41094,44958,42894,41862,41346,54520,62782,43248,59964,54328,62734,43056,59916,54280,62722,56060,51836,46328,60734,38008,58654,55868,51740,46136,60686,37912,58630,55820,51716,46088,60674,52606,47868,50494,39548,56638,35388,52510,47676,50446,39452,56590,35340,52486,47628,50434,39428,56578,40318,36158,48446,34078,40222,36110,48398,34054,40198,36098,48386,59774,55036,53884,44280,60222,42104,59678,54844,53788,44088,60174,42008,59654,54796,53764,37628,55678,52094,46844,51518,45692,38524,37436,55582,51998,46652,51470,45596,38428,37388,55558,51974,46604,51458,45572,35198,47486,39806,39230,35646,35102,47934,47390,39710,39182,35598,35078,47886,47366,39686,39170,41724,54142,53566,44796],EVEN_TABLE=[48732,49518,34524,49446,34380,40668,50982,40524,57126,33484,33348,36556,49954,36420,48844,53026,48708,49506,34500,51042,40644,57186,33070,34606,40750,33646,33574,36718,36646,49006,33126,33058,34662,34594,40806,40738,33634,36706,48994,41696,59576,64046,54128,62684,53552,62540,44768,60344,64238,42592,59800,64102,41504,59528,64034,55088,62924,54032,62660,44576,60296,64226,37232,58460,55480,63022,51640,62062,45936,51352,61990,45360,60492,38768,58844,37680,58572,37136,58436,55432,63010,52120,62182,46896,51592,62050,45840,60612,38672,58820,56200,63202,35e3,57902,52316,47288,60974,50396,39352,50252,39064,58918,56396,35768,58094,35224,57958,48056,34952,57890,47512,52292,47240,60962,50636,39832,50372,39304,58978,56516,35720,58082,52676,48008,61154,33884,50734,40028,56878,49774,36060,49702,35916,48348,52774,48204,34268,33996,40412,33860,40140,50722,40004,56866,49894,36300,49762,36036,48588,52834,48324,34244,50914,40388,57058,33326,36398,34414,34342,40558,40486,33518,33382,36590,33314,36454,48878,36386,48742,34534,34402,40678,40546,33506,36578,48866,41328,59484,53688,62574,53400,62502,42864,59868,41776,59596,41232,59460,55224,62958,54168,62694,53640,62562,44848,60364,42768,59844,55176,62946,37048,58414,55388,51420,45496,51276,45208,60454,37816,58606,37272,58470,37e3,58402,55364,52188,47032,51660,45976,51396,45448,60514,38808,58854,37768,58594,55748,52164,46984,60898,34908,52270,47196,50286,39132,50214,38988,56358,35292,35020,47580,34884,47308,52258,47172,50670,39900,50406,39372,50274,39108,56418,35788,35268,48076,52450,47556,50658,39876,56802,33838,39982,35950,35878,48238,34030,33894,40174,33826,40038,39970,36334,36070,48622,35938,48358,48226,34278,34018,40422,40162,36322,48610,41144,59438,53468,53324,41912,59630,41368,59494,41096,59426,54236,53708,53444,44984,60398,42904,59878,41864,59618,55244,54212,36956,55342,51310,45276,51238,45132,37340,37068,36932,55330,51694,46044,51430,45516,51298,45252,38876,37836,37316,55522,52198,47052,51682,46020,34862,39022,38950,35054,34918,47342,34850,47206,39406,39142,39010,35822,35302,48110,35042,47590,47330,39910,39394,41052,53358,53286,41436,41164,41028,53742,53478,53346,42972,41932,41412,55278,54246,53730,36910,45166,37102,36966,36898,45550,45286,45154,37870,37350,37090,47086,46054,45538,43456,60016,64156,54368,62744,64838,43072,59920,64132,60792,64350,38112,58680,63822,55920,63132,51760,62092,46176,60696,64326,37920,58632,63810,55824,63108,39664,59068,56696,63326,35440,58012,52536,62286,47728,61084,50456,61766,39472,59020,56600,63302,35344,57988,52488,62274,47632,61060,36216,58206,52924,48504,61278,34104,57678,50844,40248,59214,56988,49804,36120,58182,52876,48408,61254,34056,57666,50820,40200,59202,56964,34492,51038,40636,57182,33436,49998,36508,53070,48796,49478,34444,51014,40588,57158,33412,49986,36484,53058,48772,33630,36702,48990,33102,34638,40782,33606,36678,48966,33090,34626,40770,54e3,62652,44512,60280,64222,42208,59704,64078,54896,62876,53808,62604,44128,60184,64198,42016,59656,64066,54800,62852,51576,62046,45808,60604,38640,58812,37488,58524,55608,63054,52024,62158,46704,51480,62022,45616,60556,38448,58764,37392,58500,55560,63042,51976,62146,46608,60804,50364,39288,58974,56508,35704,58078,35128,57934,47992,52380,47416,61006,50588,39736,50316,39192,58950,56460,35608,58054,35080,57922,47896,52356,47368,60994,50564,39688,59074,56708,49758,36028,52830,48316,34236,33948,40380,50766,40092,56910,49870,36252,49734,35980,48540,52806,48268,34188,33924,40332,50754,40068,56898,49858,36228,52930,48516,34398,40542,33502,33358,36574,36430,48862,48718,34510,34374,40654,40518,33478,33346,36550,36418,48838,48706,34498,40642,53624,62558,42736,59836,41584,59548,55160,62942,54072,62670,53528,62534,44656,60316,42544,59788,41488,59524,55064,62918,54024,62658,44560,60292,51388,45432,60510,37752,58590,37176,58446,55452,52156,46968,51612,45880,51340,45336,60486,38712,58830,37656,58566,37128,58434,55428,52108,46872,51588,45832,60610,38664,58818,56196,50270,39100,56414,35260,34972,47548,52302,47260,50654,39868,50382,39324,50246,39052,56390,35740,35212,48028,34948,47500,52290,47236,50630,39820,50370,39300,56514,35716,52674,48004,35934,48222,34014,33870,40158,40014,36318,36046,48606,35910,48334,48198,34254,33990,40398,33858,40134,40002,36294,36034,48582,48322,34242,40386,53436,41848,59614,41272,59470,54204,53660,53388,44920,60382,42808,59854,41752,59590,41224,59458,55196,54156,53636,44824,60358,42760,59842,51294,45244,37308,37020,55374,51678,46012,51406,45468,51270,45196,38844,37788,37260,36996,55362,52174,47004,51654,45964,51394,45444,38796,37764,55746,39006,35038,34894,47326,47182,39390,39118,38982,35806,35278,48094,35014,47566,34882,47302,47170,39886,39366,39106,35782,35266,48070,47554,53342,41404,41116,53726,53454,53318,42940,41884,41356,41092,55262,54222,53702,53442,44956,42892,41860,45150,37086,36942,45534,45262,45126,37854,37326,37062,36930,47070,46030,45510,45250,38862,37830,37314,41182,41038,41950,41422,41158,41026,45022,42958,41926,41410,54512,62780,43232,59960,64142,54320,62732,43040,59912,64130,56056,63166,51832,62110,46320,60732,38e3,58652,55864,63118,51736,62086,46128,60684,37904,58628,55816,63106,52604,47864,61118,50492,39544,59038,56636,35384,57998,52508,47672,61070,50444,39448,59014,56588,35336,57986,52484,47624,61058,50878,40316,57022,49822,36156,52894,48444,34076,50830,40220,56974,49798,36108,52870,48396,34052,50818,40196,56962,36542,48830,34462,40606,33422,36494,48782,34438,40582,33410,36482,48770,59772,55032,62910,53880,62622,44272,60220,42096,59676,54840,62862,53784,62598,44080,60172,42e3,59652,54792,62850,37624,58558,55676,52092,46840,51516,45688,60574,38520,58782,37432,58510,55580,51996,46648,51468,45592,60550,38424,58758,37384,58498,55556,51972,46600,60802,35196,52414,47484,50622,39804,50334,39228,56478,35644,35100,47932,52366,47388,50574,39708,50310,39180,56454,35596,35076,47884,52354,47364,50562,39684,56706,33982,40126,36286,35998,48574,48286,34206,33934,40350,40078,36238,35974,48526,48262,34182,33922,40326,40066,36226,48514,41720,59582,54140,53564,44792,60350,42616,59806,41528,59534,55100,54044,53516,44600,60302,42520,59782,41480,59522,55052,54020,37244,55486,51646,45948,51358,45372,38780,37692,37148,55438,52126,46908,51598,45852,51334,45324,38684,37644,37124,55426,52102,46860,51586,45828,35006,47294,39358,39070,35774,35230,48062,34958,47518,47246,39838,39310,39046,35726,35206,48014,34946,47494,47234,39814,39298,41340,53694,53406,42876,41788,41244,55230,54174,53646,53382,44860,42780,41740,41220,55182,54150,53634,37054,45502,45214,37822,37278,37006,47038,45982,45454,45190,38814,37774,37254,36994,46990,45958,45442,41150,41918,41374,41102,44990,42910,41870,41350,41090,43504,60028,54392,62750,43120,59932,54296,62726,43024,59908,60798,38136,58686,55932,51772,46200,60702,37944,58638,55836,51724,46104,60678,37896,58626,55812,39676,56702,35452,52542,47740,50462,39484,56606,35356,52494,47644,50438,39436,56582,35332,52482,47620,36222,48510,34110,40254,36126,48414,34062,40206,36102,48390,34050,40194,54012,44536,60286,42232,59710,54908,53820,44152,60190,42040,59662,54812,53772,44056,60166,41992,59650,51582,45820,38652,37500,55614,52030,46716,51486,45628,38460,37404,55566,51982,46620,51462,45580,38412,37380,55554,39294,35710,35134,47998,47422,58528,63784,55616,63056,64916,52032,62160,60832,64360,35136,57936,52384,62248,47424,61008,64404,50592,61800,39744,59088,63924,56736,63336,64986,33952,57640,50768,61844,40096,59176,63946,56912,63380,49872,36256,58216,52944,62388,48544,61288,64474,33360,49960,36432,58260,53032,62410,48720,61332,49512,34512,57780,51048,61914,40656,59316,57192,63450,33064,49556,34600,57802,51092,40744,59338,33640,50100,36712,58330,53172,49e3,61402,59552,64040,54080,62672,64820,60320,64232,37184,58448,63764,55456,63016,64906,51616,62056,45888,60624,64308,38720,58832,63860,56224,63208,64954,34976,57896,52304,62228,47264,60968,64394,50384,61748,39328,58984,63898,56528,63284,35744,58088,52688,62324,48032,61160,64442,33872,57620,50728,61834,40016,59156,56872,63370,49768,36048,58164,52840,62362,48336,61236,34256,57716,50920,61882,40400,59252,57064,63418,33320,49940,36392,58250,53012,49460,34408,57754,50996,40552,59290,57140,33512,50036,36584,58298,53108,48872,61370,33044,49546,34580,51082,33588,50074,36660,53146,33140,49594,34676,51130,40820,57274,41280,59472,64020,53664,62568,64794,42816,59856,64116,55200,62952,64890,37024,58408,63754,55376,62996,51408,62004,45472,60520,64282,37792,58600,63802,55760,63092,52176,62196,47008,60904,64378,34896,57876,52264,62218,47184,60948,50280,61722,39120,58932,56424,63258,35280,57972,52456,62266,47568,61044,50664,61818,39888,59124,56808,63354,33832,57610,50708,39976,59146,49716,35944,58138,52788,48232,61210,34024,57658,50804,40168,59194,56948,49908,36328,58234,52980,48616,61306,33300,49930,36372,49434,34356,50970,40500,33396,49978,36468,53050,48756,49530,34548,51066,40692,57210,33034,34570,33562,36634,33082,34618,40762,33658,36730,49018,41120,59432,64010,53456,62516,41888,59624,64058,54224,62708,44960,60392,64250,36944,58388,55336,62986,51304,61978,45264,60468,37328,58484,55528,63034,51688,62074,46032,60660,38864,58868,56296,63226,34856,57866,52244,50228,39016,58906,56372,35048,57914,52340,47336,60986,50420,39400,59002,56564,35816,58106,52724,48104,61178,33812,50698,49690,35892,52762,33908,50746,40052,56890,49786,36084,52858,48372,34292,50938,40436,57082,33290,34330,33338,36410,34426,40570,33530,36602,48890,41040,59412,53352,62490,41424,59508,53736,62586,42960,59892,55272,62970,36904,58378,51252,45160,60442,37096,58426,55412,51444,45544,60538,37864,58618,55796,52212,47080,60922,34836,50202,38964,34932,52282,47220,50298,39156,56442,35316,52474,47604,50682,39924,56826,33802,35866,33850,39994,35962,48250,34042,40186,36346,48634,59968,64144,60768,64344,58656,63816,55872,63120,64932,39616,59056,63916,56672,63320,64982,35392,58e3,52512,62280,47680,61072,64420,36192,58200,52912,62380,48480,61272,64470,34080,57672,50832,61860,40224,59208,63954,56976,63396,34480,57772,51032,61910,40624,59308,57176,63446,33424,49992,36496,58276,53064,62418,48784,61348,33624,50092,36696,58326,53164,48984,61398,33096,49572,34632,57810,51108,40776,59346,57252,53952,62640,64812,60256,64216,59680,64072,54848,62864,64868,51552,62040,45760,60592,64300,38592,58800,63852,37440,58512,63780,55584,63048,64914,52e3,62152,46656,60816,64356,50352,61740,39264,58968,63894,56496,63276,35680,58072,35104,57928,47968,52368,62244,47392,61e3,64402,50576,61796,39712,59080,63922,56720,63332,49752,36016,58156,52824,62358,48304,61228,34224,57708,33936,57636,40368,50760,61842,40080,59172,56904,63378,49864,36240,58212,52936,62386,48528,61284,49452,34392,57750,50988,40536,59286,57132,33496,33352,36568,49956,36424,58258,48856,53028,48712,61330,49508,34504,57778,51044,40648,59314,57188,33580,50070,36652,53142,33132,33060,34668,49554,34596,40812,51090,40740,33636,50098,36708,53170,48996,53600,62552,64790,42688,59824,64108,41536,59536,64036,55136,62936,64886,54048,62664,64818,44608,60304,64228,51376,61996,45408,60504,64278,37728,58584,63798,37152,58440,63762,55440,63012,52144,62188,46944,51600,62052,45856,60616,64306,38688,58824,63858,56208,63204,50264,61718,39088,58924,56408,63254,35248,57964,34960,57892,47536,52296,62226,47248,60964,50648,61814,39856,50376,61746,39312,58980,56520,63282,35728,58084,52680,62322,48016,61156,49708,35928,58134,52780,48216,61206,34008,57654,33864,57618,40152,50724,40008,59154,56868,49900,36312,49764,36040,58162,48600,52836,48328,61234,34248,57714,50916,40392,59250,57060,49430,34348,50966,40492,33388,33316,36460,49938,36388,48748,53010,49526,34540,49458,34404,40684,50994,40548,57138,33508,50034,36580,53106,48868,33558,36630,33078,33042,34614,34578,40758,33654,33586,36726,36658,49014,33138,34674,40818,53424,62508,41824,59608,64054,41248,59464,64018,54192,62700,53648,62564,44896,60376,64246,42784,59848,64114,55184,62948,51288,61974,45232,60460,37296,58476,37008,58404,55368,62994,51672,62070,46e3,51400,62002,45456,60516,38832,58860,37776,58596,55752,63090,52168,62194,46992,60900,50220,39e3,58902,56364,35032,57910,34888,57874,47320,52260,47176,60946,50412,39384,50276,39112,58930,56420,35800,58102,35272,57970,48088,52452,47560,61042,50660,39880,59122,56804,49686,35884,52758,33900,33828,40044,50706,39972,49782,36076,49714,35940,48364,52786,48228,34284,34020,40428,50802,40164,56946,49906,36324,52978,48612,34326,33334,33298,36406,36370,34422,34354,40566,40498,33526,33394,36598,36466,48886,48754,34546,40690,53336,62486,41392,59500,41104,59428,53720,62582,53448,62514,42928,59884,41872,59620,55256,62966,54216,62706,44944,60388,51244,45144,60438,37080,58422,36936,58386,55332,51436,45528,51300,45256,60466,37848,58614,37320,58482,55524,52204,47064,51684,46024,60658,38856,58866,56292,50198,38956,34924,34852,47212,52242,50294,39148,50226,39012,56370,35308,35044,47596,52338,47332,50678,39916,50418,39396,56562,35812,52722,48100,35862,33846,33810,39990,35958,35890,48246,34038,33906,40182,40050,36342,36082,48630,48370,34290,40434,53292,41176,59446,41032,59410,53484,53348,41944,59638,41416,59506,54252,53732,45016,60406,42952,59890,51222,36972,36900,51318,45292,51250,45156,37356,37092,55410,51702,46060,51442,45540,38892,37860,55794,34870,34834,39030,38962,35062,34930,47350,47218,39414,39154,35830,35314,48118,47602,54464,62768,64844,59936,64136,56032,63160,64942,51808,62104,46272,60720,64332,37952,58640,63812,55840,63112,64930,52592,62300,47840,61112,64430,50480,61772,39520,59032,63910,56624,63308,35360,57992,52496,62276,47648,61064,64418,50872,61870,40304,59228,57016,63406,49816,36144,58188,52888,62374,48432,61260,34064,57668,50824,61858,40208,59204,56968,63394,50012,36536,58286,53084,48824,61358,49484,34456,57766,51020,40600,59302,57164,33416,49988,36488,58274,53060,48776,61346,49582,34652,51118,40796,57262,33612,50086,36684,53158,48972,33092,49570,34628,51106,40772,57250,59760,64092,55008,62904,64878,53856,62616,64806,44224,60208,64204,42048,59664,64068,54816,62856,64866,37600,58552,63790,55664,63068,52080,62172,46816,51504,62028,45664,60568,64294,38496,58776,63846,37408,58504,63778,55568,63044,51984,62148,46624,60808,64354,35184,57948,52408,62254,47472,61020,50616,61806,39792,50328,61734,39216,58956,56472,63270,35632,58060,35088,57924,47920,52360,62242,47376,60996,50568,61794,39696,59076,56712,63330,33976,57646,50780,40120,59182,56924,49884,36280,49740,35992,58150,48568,52812,48280,61222,34200,57702,33928,57634,40344,50756,40072,59170,56900,49860,36232,58210,52932,48520,61282,33372,49966,36444,53038],WEIGHT=[[[20,16,38]],[[1,9,31],[9,31,26],[31,26,2],[26,2,12]],[[2,12,17],[12,17,23],[17,23,37],[23,37,18]],[[37,18,22],[18,22,6],[22,6,27],[6,27,44]],[[27,44,15],[44,15,43],[15,43,39],[43,39,11]],[[39,11,13],[11,13,5],[13,5,41],[5,41,33]],[[41,33,36],[33,36,8],[36,8,4],[8,4,32]],[[4,32,3],[32,3,19],[3,19,40],[19,40,25]],[[40,25,29],[25,29,10],[29,10,24],[10,24,30]],[[20,16,38],[0,0,0],[0,0,0],[0,0,0]]],PARITY=[[1,0,0,1],[0,1,0,1],[1,1,0,0],[0,0,1,1],[1,0,1,0],[0,1,1,0],[1,1,1,1],[0,0,0,0]],ALPHA_TABLE=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","-","."," ","$","/","+","%"," "," ",wijmo_barcode_1.Constants.FNC1,wijmo_barcode_1.Constants.FNC2,wijmo_barcode_1.Constants.FNC3," "],ASCII_TABLE=["  "," A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V"," W"," X"," Y"," Z"," 1"," 2"," 3"," 4"," 5"," "," 6"," 7"," 8","$","%"," 9"," 0"," -"," ."," $","+"," /","-",".","/","0","1","2","3","4","5","6","7","8","9"," +"," 1"," 2"," 3"," 4"," 5"," 6","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," 7"," 8"," 9"," 0"," -"," ."," A"," B"," C"," D"," E"," F"," G"," H"," I"," J"," K"," L"," M"," N"," O"," P"," Q"," R"," S"," T"," U"," V"," W"," X"," Y"," Z"," $"," /"," +"," %","  "];function isNumericOnly(e){return/^\d{5,81}$/.test(e)}exports.isNumericOnly=isNumericOnly;function getCharValue_Code49(e){var t=ALPHA_TABLE.indexOf(e);if(t>-1)return[t];var r=e.charCodeAt(0),o=ASCII_TABLE[r];return wijmo_barcode_1.Utils.str2Array(o).map((function(e){return ALPHA_TABLE.indexOf(e)}))}exports.getCharValue_Code49=getCharValue_Code49;function getWeight(e,t){var r=WEIGHT[e][t];return{x:r[0],y:r[1],z:r[2]}}exports.getWeight=getWeight;function getParityPattern(e,t,r,o){return(!(t===o-1)&&PARITY[t][r]?ODD_TABLE[e]:EVEN_TABLE[e]).toString(2)}exports.getParityPattern=getParityPattern;function getGroupInfo(e,t){for(var r=2,o=1;r<t;){o+=r;r++}return o+e}exports.getGroupInfo=getGroupInfo;function getDataLength(e){return wijmo_barcode_1.Utils.str2Array(e).reduce((function(e,t){ALPHA_TABLE.indexOf(t)>-1?e++:e+=2;return e}),0)}function getTextGroup(e){for(var t=0,r=1,o=e.length,n=[];r<o;){if(getDataLength(e.substring(t,r))>48){n.push(e.substring(t,r-1));t=r-1}r++}n.push(e.substring(t,r));return n}exports.getTextGroup=getTextGroup;var Code49Encoder=function(e){__extends(Code49Encoder,e);function Code49Encoder(t){var r=this;t.merge(Code49Encoder.DefaultConfig);var o=(r=e.call(this,t)||this).encodeConfig.text;r.text=o;r.label=o.replace(/[\xc9-\xcf]/g,"");r.mode=isNumericOnly(o)?2:0;r.getModes();return r}Code49Encoder.prototype.validate=function(){var e=this.encodeConfig.text,t=this.config.grouping;if(!/^[\x00-\x80\xcf\xca\xc9]+$/.test(e))throw new wijmo_barcode_1.InvalidTextException(e);if(!t&&e.length>81)throw new wijmo_barcode_1.TextTooLongException};Code49Encoder.prototype.getModes=function(){var e=this.text,t=this.config,r=t.grouping,o=t.groupNo;if(r){var n=getTextGroup(e);if(n.length>1){if(n.length>9)throw new wijmo_barcode_1.GroupSizeOverflowException(n.length);if(o>n.length-1)throw new wijmo_barcode_1.InvalidOptionsException({groupNo:o},"Max group number is "+(n.length-1));this.groupCount=n.length;this.mode=3;e=n[o]}}for(var a=[],i=0,s=0,c=e.length;i<c;){for(;s<c&&!(e[s]<"0"||e[s]>"9");)s++;if(s-i>=5){a.push({mode:"number",text:e.substring(i,s)});i=s}else{var u=a[a.length-1];u&&"alpha"===u.mode?u.text+=e.substring(i,s+1):a.push({mode:"alpha",text:e.substring(i,s+1)});i=++s}}this.modes=a};Code49Encoder.prototype.encodeNumeric=function(e){var t,r;switch(e.length){case 3:return[~~((t=+e)/48),t%48];case 4:return[~~((t=+e+1e5)/2304),~~(t%2304/48),t%48];case 5:return[~~((t=+e)/2304),~~(t%2304/48),t%48];case 6:t=e.substr(0,5);return this.encodeNumeric(t).concat([+e[5]]);case 7:t=e.substr(0,4);r=e.substr(4,3);return this.encodeNumeric(t).concat(this.encodeNumeric(r));case 8:t=e.substr(0,5);r=e.substr(5,3);return this.encodeNumeric(t).concat(this.encodeNumeric(r));case 9:t=e.substr(0,5);r=e.substr(5,4);return this.encodeNumeric(t).concat(this.encodeNumeric(r));default:t=e.substr(0,5);r=e.substr(5,e.length);return this.encodeNumeric(t).concat(this.encodeNumeric(r))}};Code49Encoder.prototype.encodeAlpha=function(e){return wijmo_barcode_1.Utils.str2Array(e).reduce((function(e,t){return e=e.concat(getCharValue_Code49(t))}),[])};Code49Encoder.prototype.calculateData=function(){var e=this,t=this.modes,r=this.mode,o=this.groupCount,n=this.config.groupNo,a=t.reduce((function(t,o,n){if("number"===o.mode){0===n&&2!==r&&t.push(Code49Encoder.CODE_NS);t=t.concat(e.encodeNumeric(o.text))}else t=t.concat(e.encodeAlpha(o.text));t.push(Code49Encoder.CODE_NS);return t}),[]);a.pop();3===r&&a.unshift(getGroupInfo(n,o));for(var i=a.length%7;a.length%7!=0;)a.push(Code49Encoder.CODE_NS);var s=[];wijmo_barcode_1.Utils.sliceArray(a,7,(function(e){var t=e.reduce((function(e,t){return e+t}),0);e.push(t%49);s=s.concat(e)}));var c=a.length/7;if(c%8>=6||i>2||0==i||c%8==1){s=s.concat(wijmo_barcode_1.Utils.fillArray(new Array(8),Code49Encoder.CODE_NS));c++}if(c>8)throw new wijmo_barcode_1.TextTooLongException;var u=7*(c-2)+r;s[s.length-2]=u;var l=getWeight(0,0),d=u*l.z,p=u*l.y,h=u*l.x,C=8*(c-1)/2;if(c>6){for(var g=0,f=0;g<C;g++,f+=2){d+=getWeight(1+~~(g/4),g%4).z*(49*s[f]+s[f+1])}d%=2401;s[s.length-8]=~~(d/49);s[s.length-7]=~~(d%49)}C++;for(g=0,f=0;g<C;g++,f+=2){p+=getWeight(1+~~(g/4),g%4).y*(49*s[f]+s[f+1])}p%=2401;s[s.length-6]=~~(p/49);s[s.length-5]=~~(p%49);C++;for(g=0,f=0;g<C;g++,f+=2){h+=getWeight(1+~~(g/4),g%4).x*(49*s[f]+s[f+1])}h%=2401;s[s.length-4]=~~(h/49);s[s.length-3]=~~(h%49);var m=s.slice(8*c-8,8*c-1);s[s.length-1]=m.reduce((function(e,t){return e+t}),0)%49;for(var _=[],S=0,b=s.length,w=0;S<b;S+=8,w++){var E=s.slice(S,S+8),x=[];_.push(x);g=0;for(var M=0;g<8;g+=2,M++){var T=49*E[g]+E[g+1];x.push(getParityPattern(T,w,M,c))}x.unshift(Code49Encoder.START_PATTERN);x.push(Code49Encoder.STOP_PATTERN)}return _};Code49Encoder.prototype.convertToShape=function(e,t){var r=this.label,o=this.encodeConfig,n=o.fontSizeInUnit,a=o.isLabelBottom,i=o.height,s=o.quietZone,c=o.showLabel,u=this.style.textAlign,l=0;r&&c&&(l=n);var d=(i-1)/e.length-1,p=70+s.right+s.left,h=i+s.top+s.bottom-2,C=new wijmo_barcode_1.VerticalLayoutArea,g=new wijmo_barcode_1.MatrixSymbolArea(p,h);g.setStyle({padding:{top:s.top,right:s.right,bottom:s.bottom,left:s.left},border:{top:1,bottom:1}});var f=g.getSize(),m=new wijmo_barcode_1.LabelArea(f.width,l,u);if(a){C.append(g);C.append(m)}else{C.append(m);C.append(g)}if(!t){e.forEach((function(t,r){t.forEach((function(e){wijmo_barcode_1.Utils.combineTruthy(e).forEach((function(e){0!==e?g.append(e,d):g.space()}))}));0===r&&r===e.length-1||g.append(70,1)}));m.append({text:r});this.shapes=C.toShapes()}this.size=C.getSize()};Code49Encoder.prototype.adjustDesiredSize=function(){var e=this.size.width,t=this.encodeConfig,r=t.desiredSize,o=t.containerWidth/e;r.forceRounding&&(o=(o=~~o)<1?1:o);this.applyDesiredSize(o)};Code49Encoder.DefaultConfig={showLabel:!0,grouping:!1,groupNo:0,labelPosition:"bottom",height:60,quietZone:{right:1,left:10}};Code49Encoder.CODE_NS=48;Code49Encoder.START_PATTERN="10";Code49Encoder.STOP_PATTERN="1111";return Code49Encoder}(wijmo_barcode_1.TwoDimensionalBarcode);exports.Code49Encoder=Code49Encoder;wijmo_barcode_1.Barcode.registerEncoder("Code49",Code49Encoder);var BitwiseIterator=function(){function BitwiseIterator(e,t){this._data=e;this.offset=t||0}Object.defineProperty(BitwiseIterator.prototype,"bitLength",{get:function(){return 8*this._data.length},enumerable:!0,configurable:!0});Object.defineProperty(BitwiseIterator.prototype,"currentBit",{get:function(){return this.getBit(this.offset)},enumerable:!0,configurable:!0});BitwiseIterator.prototype.fetchBit=function(){return this.getBit(this.offset++)};BitwiseIterator.prototype.getBit=function(e){return!(e>=this.bitLength)&&0!=(this._data[~~(e/8)]&128>>e%8)};BitwiseIterator.prototype.setBit=function(e,t){var r=~~(e/8),o=(128>>e%8)%256;this._data[r]&=(this._data[r]&~o)%256;t&&(this._data[r]|=o)};BitwiseIterator.prototype.putBit=function(e){this.setBit(this.offset,e);this.offset++};BitwiseIterator.prototype.putBitsMSF=function(e,t,r){var o=!!r;o||(r=this.offset);for(var n=2147483648,a=0;a<t;++a){this.setBit(r+a,0!=(e&n));n/=2}o||(this.offset+=t)};BitwiseIterator.prototype.putBitsLSF=function(e,t,r){var o=!!r;o||(r=this.offset);for(var n=1,a=0;a<t;++a){this.setBit(r+a,0!=(e&n));n<<=1}o||(this.offset+=t)};return BitwiseIterator}();exports.BitwiseIterator=BitwiseIterator;var EncodationScheme={Base11:0,Base27:1,Base37:2,Base41:3,ASCII:4,Byte:5};function getEncodationScheme(e){return e>=48&&e<=57||32==e?EncodationScheme.Base11:e>=65&&e<=90?EncodationScheme.Base27:e>=44&&e<=47?EncodationScheme.Base41:e<=127?EncodationScheme.ASCII:EncodationScheme.Byte}function chooseEncodationScheme(e){for(var t=EncodationScheme.Base11,r=0,o=e.length;r<o&&(t=updateEncodationScheme(t,getEncodationScheme(e[r])))!==EncodationScheme.Byte;r++);return t}exports.chooseEncodationScheme=chooseEncodationScheme;function updateEncodationScheme(e,t){if(e==t)return e;if(e==EncodationScheme.Byte||t==EncodationScheme.Byte)return EncodationScheme.Byte;var r=e;switch(e){case EncodationScheme.Base11:t==EncodationScheme.Base27?r=EncodationScheme.Base37:t>r&&(r=t);break;case EncodationScheme.Base27:t==EncodationScheme.Base11?r=EncodationScheme.Base37:t>r&&(r=t);break;case EncodationScheme.Base37:case EncodationScheme.Base41:t>r&&(r=t)}return r}function mod256_140(e){return e%256}function getCodeWord(e,t){if(e==EncodationScheme.Byte)return t;if(e==EncodationScheme.ASCII)return mod256_140(127&t);var r=0;if(32==t)return r;t>=48&&t<=57&&(r=mod256_140(t-47));if(e==EncodationScheme.Base11)return r;r+=26;t>=65&&t<=90&&(r=mod256_140(t-64));if(e!=EncodationScheme.Base41)return r;switch(t){case 44:return 38;case 45:return 39;case 46:return 37;case 47:return 40}return r}exports.getCodeWord=getCodeWord;function setBit(e,t,r){var o=1<<t;e&=~o;r&&(e|=o);return e}exports.setBit=setBit;function RegisterMask(e,t){this.registerNumber=e;this.mask=1<<t}exports.Constants_140={BaseValues:[11,27,37,41,128,256],GroupLengths:[6,5,4,4,1,1],HeaderBits:[126,57358,465934,523278,517006],BitLengths:[[21,4,7,11,14,18,21],[24,5,10,15,20,24],[21,6,11,16,21],[22,6,11,17,22],[7,7],[8,8]],SymbolCapacities:function(){for(var e=[],t=7;t<50;t+=2)e.push(t*t);return e}(),getFormatID:function(e){e===EncodationScheme.Base37?++e:e===EncodationScheme.Base41&&--e;return e},ECCInfos:[{inputBits:1,registerBits:[0],outputBits:1,outputMasks:null},{inputBits:3,registerBits:[3,3,3],outputBits:4,outputMasks:[[new RegisterMask(0,3),new RegisterMask(1,0),new RegisterMask(2,2),new RegisterMask(2,1),new RegisterMask(2,0)],[new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,3),new RegisterMask(1,2),new RegisterMask(1,0)],[new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,2),new RegisterMask(2,3),new RegisterMask(2,2)],[new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(1,3),new RegisterMask(1,2),new RegisterMask(1,1),new RegisterMask(2,3),new RegisterMask(2,2),new RegisterMask(2,0)]]},{inputBits:2,registerBits:[10,11],outputBits:3,outputMasks:[[new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,7),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,0),new RegisterMask(1,8),new RegisterMask(1,4),new RegisterMask(1,3),new RegisterMask(1,0)],[new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0),new RegisterMask(1,11),new RegisterMask(1,8),new RegisterMask(1,5),new RegisterMask(1,3),new RegisterMask(1,2)],[new RegisterMask(0,10),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(1,11),new RegisterMask(1,10),new RegisterMask(1,9),new RegisterMask(1,7),new RegisterMask(1,4),new RegisterMask(1,2),new RegisterMask(1,0)]]},{inputBits:1,registerBits:[15],outputBits:2,outputMasks:[[new RegisterMask(0,15),new RegisterMask(0,13),new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,7),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,0)],[new RegisterMask(0,15),new RegisterMask(0,14),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,4),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)]]},{inputBits:1,registerBits:[13],outputBits:4,outputMasks:[[new RegisterMask(0,13),new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,3),new RegisterMask(0,1),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,10),new RegisterMask(0,9),new RegisterMask(0,6),new RegisterMask(0,5),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,6),new RegisterMask(0,4),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)],[new RegisterMask(0,13),new RegisterMask(0,12),new RegisterMask(0,11),new RegisterMask(0,9),new RegisterMask(0,8),new RegisterMask(0,6),new RegisterMask(0,4),new RegisterMask(0,3),new RegisterMask(0,2),new RegisterMask(0,1),new RegisterMask(0,0)]]}],RandomizeBytes:[5,255,199,49,136,168,131,156,100,135,159,100,179,224,77,156,128,41,58,144,179,139,158,144,69,191,245,104,75,8,207,68,184,212,76,91,160,171,114,82,28,228,210,116,164,218,138,8,250,167,199,221,0,48,169,230,100,171,213,139,237,156,121,248,8,209,139,198,34,100,11,51,67,208,128,212,68,149,46,111,94,19,141,71,98,6,235,128,130,201,65,213,115,138,48,35,36,227,127,178,168,11,237,56,66,76,215,176,206,152,189,225,213,228,195,29,21,74,207,209,31,57,38,24,147,252,25,178,45,171,242,110,161,159,175,208,138,43,160,86,176,65,109,67,164,99,243,170,125,175,53,87,194,148,74,101,11,65,222,184,226,48,18,39,155,102,43,52,91,184,153,232,40,113,208,149,107,7,77,60,122,179,229,41,179,186,140,204,45,224,201,192,34,236,76,222,248,88,7,252,25,242,100,226,195,226,216,185,253,103,160,188,245,46,201,73,117,98,130,39,16,244,25,111,73,247,179,132,20,234,235,225,42,49,171,71,125,8,41,172,187,114,250,250,98,184,200,211,134,137,149,253,223,204,156,173,241,212,108,100,35,36,42,86,31,54,235,183,214,255,218,87,244,80,121,8,0],ModuleMapping:[[2,45,10,38,24,21,1,12,40,26,5,33,19,47,22,31,29,15,43,8,36,34,20,48,13,41,27,6,44,9,37,23,17,30,16,39,25,4,32,18,46,11,0,28,14,42,7,35,3],[2,19,55,10,46,28,64,73,1,62,17,53,35,71,8,80,44,26,49,31,67,4,76,40,22,58,13,69,6,78,42,24,60,15,51,33,74,38,20,56,11,47,29,65,37,25,61,16,52,34,70,7,79,43,12,48,30,66,63,75,39,21,57,32,68,5,77,41,23,59,14,50,0,72,36,18,54,9,45,27,3],[2,26,114,70,15,103,59,37,81,4,1,117,73,18,106,62,40,84,7,95,51,29,12,100,56,34,78,92,89,45,23,111,67,65,43,87,10,98,54,32,120,76,21,109,82,5,93,49,27,115,71,16,104,60,38,96,52,30,118,74,19,107,63,41,85,8,24,112,68,13,101,57,35,79,48,90,46,75,20,108,64,42,86,9,97,53,31,119,102,58,36,80,77,91,47,25,113,69,14,39,83,6,94,50,28,116,72,17,105,61,0,88,44,22,110,66,11,99,55,33,3],[2,159,29,133,81,16,120,68,42,146,94,91,1,37,141,89,24,128,76,50,154,102,11,115,63,167,83,18,122,70,44,148,96,5,109,57,161,31,135,125,73,47,151,99,8,112,60,164,34,138,86,21,40,144,92,107,105,53,157,27,131,79,14,118,66,103,12,116,64,168,38,142,90,25,129,77,51,155,110,58,162,32,136,84,19,123,71,45,149,97,6,165,35,139,87,22,126,74,48,152,100,9,113,61,132,80,15,119,67,41,145,93,55,106,54,158,28,23,127,75,49,153,101,10,114,62,166,36,140,88,69,43,147,95,4,108,56,160,30,134,82,17,121,150,98,7,111,59,163,33,137,85,20,124,72,46,0,104,52,156,26,130,78,13,117,65,39,143,3],[2,187,37,157,97,217,22,142,82,202,52,172,112,7,1,41,161,101,221,26,146,86,206,56,176,116,11,131,71,191,93,213,18,138,78,198,48,168,108,105,123,63,183,33,153,28,148,88,208,58,178,118,13,133,73,193,43,163,103,223,80,200,50,170,110,5,125,65,185,35,155,95,215,20,140,54,174,114,9,129,69,189,39,159,99,219,24,144,84,204,106,127,121,61,181,31,151,91,211,16,136,76,196,46,166,134,74,194,44,164,104,224,29,149,89,209,59,179,119,14,186,36,156,96,216,21,141,81,201,51,171,111,6,126,66,160,100,220,25,145,85,205,55,175,115,10,130,70,190,40,212,17,137,77,197,47,167,107,67,122,62,182,32,152,92,147,87,207,57,177,117,12,132,72,192,42,162,102,222,27,199,49,169,109,4,124,64,184,34,154,94,214,19,139,79,173,113,8,128,68,188,38,158,98,218,23,143,83,203,53,0,120,60,180,30,150,90,210,15,135,75,195,45,165,3],[2,69,205,35,171,103,239,18,154,86,222,52,188,120,256,273,1,220,50,186,118,254,33,169,101,237,67,203,135,271,16,288,152,84,178,110,246,25,161,93,229,59,195,127,263,8,280,144,76,212,42,250,29,165,97,233,63,199,131,267,12,284,148,80,216,46,182,114,157,89,225,55,191,123,259,4,276,140,72,208,38,174,106,242,21,235,65,201,133,269,14,286,150,82,218,48,184,116,252,31,167,99,193,125,261,6,278,142,74,210,40,176,108,244,23,159,91,227,57,265,10,282,146,78,214,44,180,112,248,27,163,95,231,61,197,129,274,138,70,206,36,172,104,240,19,155,87,223,53,189,121,257,137,83,219,49,185,117,253,32,168,100,236,66,202,134,270,15,287,151,41,177,109,245,24,160,92,228,58,194,126,262,7,279,143,75,211,113,249,28,164,96,232,62,198,130,266,11,283,147,79,215,45,181,20,156,88,224,54,190,122,258,255,275,139,71,207,37,173,105,241,98,234,64,200,132,268,13,285,149,81,217,47,183,115,251,30,166,56,192,124,260,5,277,141,73,209,39,175,107,243,22,158,90,226,128,264,9,281,145,77,213,43,179,111,247,26,162,94,230,60,196,0,272,136,68,204,34,170,102,238,17,153,85,221,51,187,119,3],[2,82,234,44,348,196,120,272,25,329,177,101,253,63,215,139,291,6,1,239,49,353,201,125,277,30,334,182,106,258,68,220,144,296,11,315,163,87,343,191,115,267,20,324,172,96,248,58,210,134,286,310,305,153,77,229,39,132,284,37,341,189,113,265,75,227,151,303,18,322,170,94,246,56,360,208,28,332,180,104,256,66,218,142,294,9,313,161,85,237,47,351,199,123,275,185,109,261,71,223,147,299,14,318,166,90,242,52,356,204,128,280,33,337,251,61,213,137,289,4,308,156,80,232,42,346,194,118,270,23,327,175,99,225,149,301,16,320,168,92,244,54,358,206,130,282,35,339,187,111,263,73,292,7,311,159,83,235,45,349,197,121,273,26,330,178,102,254,64,216,140,316,164,88,240,50,354,202,126,278,31,335,183,107,259,69,221,145,297,12,78,230,40,344,192,116,268,21,325,173,97,249,59,211,135,287,158,306,154,55,359,207,131,283,36,340,188,112,264,74,226,150,302,17,321,169,93,245,198,122,274,27,331,179,103,255,65,217,141,293,8,312,160,84,236,46,350,279,32,336,184,108,260,70,222,146,298,13,317,165,89,241,51,355,203,127,326,174,98,250,60,212,136,288,285,307,155,79,231,41,345,193,117,269,22,110,262,72,224,148,300,15,319,167,91,243,53,357,205,129,281,34,338,186,62,214,138,290,5,309,157,81,233,43,347,195,119,271,24,328,176,100,252,143,295,10,314,162,86,238,48,352,200,124,276,29,333,181,105,257,67,219,0,304,152,76,228,38,342,190,114,266,19,323,171,95,247,57,209,133,3],[2,88,424,256,46,382,214,130,298,25,361,193,109,277,67,403,235,151,319,4,1,437,269,59,395,227,143,311,38,374,206,122,290,80,416,248,164,332,17,353,185,101,49,385,217,133,301,28,364,196,112,280,70,406,238,154,322,7,343,175,91,427,259,222,138,306,33,369,201,117,285,75,411,243,159,327,12,348,180,96,432,264,54,390,295,22,358,190,106,274,64,400,232,148,316,340,337,169,85,421,253,43,379,211,127,377,209,125,293,83,419,251,167,335,20,356,188,104,440,272,62,398,230,146,314,41,115,283,73,409,241,157,325,10,346,178,94,430,262,52,388,220,136,304,31,367,199,78,414,246,162,330,15,351,183,99,435,267,57,393,225,141,309,36,372,204,120,288,236,152,320,5,341,173,89,425,257,47,383,215,131,299,26,362,194,110,278,68,404,333,18,354,186,102,438,270,60,396,228,144,312,39,375,207,123,291,81,417,249,165,344,176,92,428,260,50,386,218,134,302,29,365,197,113,281,71,407,239,155,323,8,97,433,265,55,391,223,139,307,34,370,202,118,286,76,412,244,160,328,13,349,181,254,44,380,212,128,296,23,359,191,107,275,65,401,233,149,317,172,338,170,86,422,397,229,145,313,40,376,208,124,292,82,418,250,166,334,19,355,187,103,439,271,61,135,303,30,366,198,114,282,72,408,240,156,324,9,345,177,93,429,261,51,387,219,35,371,203,119,287,77,413,245,161,329,14,350,182,98,434,266,56,392,224,140,308,192,108,276,66,402,234,150,318,315,339,171,87,423,255,45,381,213,129,297,24,360,289,79,415,247,163,331,16,352,184,100,436,268,58,394,226,142,310,37,373,205,121,405,237,153,321,6,342,174,90,426,258,48,384,216,132,300,27,363,195,111,279,69,158,326,11,347,179,95,431,263,53,389,221,137,305,32,368,200,116,284,74,410,242,0,336,168,84,420,252,42,378,210,126,294,21,357,189,105,273,63,399,231,147,3],[2,102,470,286,56,424,240,148,516,332,33,401,217,125,493,309,79,447,263,171,355,10,1,476,292,62,430,246,154,522,338,39,407,223,131,499,315,85,453,269,177,361,16,384,200,108,50,418,234,142,510,326,27,395,211,119,487,303,73,441,257,165,349,4,372,188,96,464,280,249,157,525,341,42,410,226,134,502,318,88,456,272,180,364,19,387,203,111,479,295,65,433,513,329,30,398,214,122,490,306,76,444,260,168,352,7,375,191,99,467,283,53,421,237,145,36,404,220,128,496,312,82,450,266,174,358,13,381,197,105,473,289,59,427,243,151,519,335,208,116,484,300,70,438,254,162,346,378,369,185,93,461,277,47,415,231,139,507,323,24,392,505,321,91,459,275,183,367,22,390,206,114,482,298,68,436,252,160,528,344,45,413,229,137,80,448,264,172,356,11,379,195,103,471,287,57,425,241,149,517,333,34,402,218,126,494,310,270,178,362,17,385,201,109,477,293,63,431,247,155,523,339,40,408,224,132,500,316,86,454,350,5,373,189,97,465,281,51,419,235,143,511,327,28,396,212,120,488,304,74,442,258,166,388,204,112,480,296,66,434,250,158,526,342,43,411,227,135,503,319,89,457,273,181,365,20,100,468,284,54,422,238,146,514,330,31,399,215,123,491,307,77,445,261,169,353,8,376,192,290,60,428,244,152,520,336,37,405,221,129,497,313,83,451,267,175,359,14,382,198,106,474,416,232,140,508,324,25,393,209,117,485,301,71,439,255,163,347,194,370,186,94,462,278,48,159,527,343,44,412,228,136,504,320,90,458,274,182,366,21,389,205,113,481,297,67,435,251,331,32,400,216,124,492,308,78,446,262,170,354,9,377,193,101,469,285,55,423,239,147,515,406,222,130,498,314,84,452,268,176,360,15,383,199,107,475,291,61,429,245,153,521,337,38,118,486,302,72,440,256,164,348,345,371,187,95,463,279,49,417,233,141,509,325,26,394,210,317,87,455,271,179,363,18,386,202,110,478,294,64,432,248,156,524,340,41,409,225,133,501,443,259,167,351,6,374,190,98,466,282,52,420,236,144,512,328,29,397,213,121,489,305,75,173,357,12,380,196,104,472,288,58,426,242,150,518,334,35,403,219,127,495,311,81,449,265,0,368,184,92,460,276,46,414,230,138,506,322,23,391,207,115,483,299,69,437,253,161,3],[2,603,103,503,303,53,453,253,153,553,353,28,428,228,128,528,328,78,478,278,178,578,378,375,1,123,523,323,73,473,273,173,573,373,48,448,248,148,548,348,98,498,298,198,598,398,23,423,223,623,311,61,461,261,161,561,361,36,436,236,136,536,336,86,486,286,186,586,386,11,411,211,611,111,511,467,267,167,567,367,42,442,242,142,542,342,92,492,292,192,592,392,17,417,217,617,117,517,317,67,155,555,355,30,430,230,130,530,330,80,480,280,180,580,380,5,405,205,605,105,505,305,55,455,255,370,45,445,245,145,545,345,95,495,295,195,595,395,20,420,220,620,120,520,320,70,470,270,170,570,433,233,133,533,333,83,483,283,183,583,383,8,408,208,608,108,508,308,58,458,258,158,558,358,33,139,539,339,89,489,289,189,589,389,14,414,214,614,114,514,314,64,464,264,164,564,364,39,439,239,326,76,476,276,176,576,376,403,401,201,601,101,501,301,51,451,251,151,551,351,26,426,226,126,526,499,299,199,599,399,24,424,224,624,124,524,324,74,474,274,174,574,374,49,449,249,149,549,349,99,187,587,387,12,412,212,612,112,512,312,62,462,262,162,562,362,37,437,237,137,537,337,87,487,287,393,18,418,218,618,118,518,318,68,468,268,168,568,368,43,443,243,143,543,343,93,493,293,193,593,406,206,606,106,506,306,56,456,256,156,556,356,31,431,231,131,531,331,81,481,281,181,581,381,6,621,121,521,321,71,471,271,171,571,371,46,446,246,146,546,346,96,496,296,196,596,396,21,421,221,509,309,59,459,259,159,559,359,34,434,234,134,534,334,84,484,284,184,584,384,9,409,209,609,109,65,465,265,165,565,365,40,440,240,140,540,340,90,490,290,190,590,390,15,415,215,615,115,515,315,252,152,552,352,27,427,227,127,527,327,77,477,277,177,577,377,203,402,202,602,102,502,302,52,452,572,372,47,447,247,147,547,347,97,497,297,197,597,397,22,422,222,622,122,522,322,72,472,272,172,35,435,235,135,535,335,85,485,285,185,585,385,10,410,210,610,110,510,310,60,460,260,160,560,360,241,141,541,341,91,491,291,191,591,391,16,416,216,616,116,516,316,66,466,266,166,566,366,41,441,529,329,79,479,279,179,579,379,4,404,204,604,104,504,304,54,454,254,154,554,354,29,429,229,129,94,494,294,194,594,394,19,419,219,619,119,519,319,69,469,269,169,569,369,44,444,244,144,544,344,282,182,582,382,7,407,207,607,107,507,307,57,457,257,157,557,357,32,432,232,132,532,332,82,482,588,388,13,413,213,613,113,513,313,63,463,263,163,563,363,38,438,238,138,538,338,88,488,288,188,0,400,200,600,100,500,300,50,450,250,150,550,350,25,425,225,125,525,325,75,475,275,175,575,3],[2,658,118,550,334,64,496,280,712,172,604,388,37,469,253,685,145,577,361,91,523,307,199,631,415,10,1,125,557,341,71,503,287,719,179,611,395,44,476,260,692,152,584,368,98,530,314,206,638,422,17,449,233,665,327,57,489,273,705,165,597,381,30,462,246,678,138,570,354,84,516,300,192,624,408,405,435,219,651,111,543,511,295,727,187,619,403,52,484,268,700,160,592,376,106,538,322,214,646,430,25,457,241,673,133,565,349,79,714,174,606,390,39,471,255,687,147,579,363,93,525,309,201,633,417,12,444,228,660,120,552,336,66,498,282,613,397,46,478,262,694,154,586,370,100,532,316,208,640,424,19,451,235,667,127,559,343,73,505,289,721,181,32,464,248,680,140,572,356,86,518,302,194,626,410,5,437,221,653,113,545,329,59,491,275,707,167,599,383,265,697,157,589,373,103,535,319,211,643,427,22,454,238,670,130,562,346,76,508,292,724,184,616,400,49,481,143,575,359,89,521,305,197,629,413,8,440,224,656,116,548,332,62,494,278,710,170,602,386,35,467,251,683,366,96,528,312,204,636,420,15,447,231,663,123,555,339,69,501,285,717,177,609,393,42,474,258,690,150,582,514,298,190,622,406,442,433,217,649,109,541,325,55,487,271,703,163,595,379,28,460,244,676,136,568,352,82,215,647,431,26,458,242,674,134,566,350,80,512,296,728,188,620,404,53,485,269,701,161,593,377,107,539,323,418,13,445,229,661,121,553,337,67,499,283,715,175,607,391,40,472,256,688,148,580,364,94,526,310,202,634,452,236,668,128,560,344,74,506,290,722,182,614,398,47,479,263,695,155,587,371,101,533,317,209,641,425,20,654,114,546,330,60,492,276,708,168,600,384,33,465,249,681,141,573,357,87,519,303,195,627,411,6,438,222,563,347,77,509,293,725,185,617,401,50,482,266,698,158,590,374,104,536,320,212,644,428,23,455,239,671,131,63,495,279,711,171,603,387,36,468,252,684,144,576,360,90,522,306,198,630,414,9,441,225,657,117,549,333,286,718,178,610,394,43,475,259,691,151,583,367,97,529,313,205,637,421,16,448,232,664,124,556,340,70,502,164,596,380,29,461,245,677,137,569,353,83,515,299,191,623,407,226,434,218,650,110,542,326,56,488,272,704,402,51,483,267,699,159,591,375,105,537,321,213,645,429,24,456,240,672,132,564,348,78,510,294,726,186,618,470,254,686,146,578,362,92,524,308,200,632,416,11,443,227,659,119,551,335,65,497,281,713,173,605,389,38,693,153,585,369,99,531,315,207,639,423,18,450,234,666,126,558,342,72,504,288,720,180,612,396,45,477,261,571,355,85,517,301,193,625,409,4,436,220,652,112,544,328,58,490,274,706,166,598,382,31,463,247,679,139,102,534,318,210,642,426,21,453,237,669,129,561,345,75,507,291,723,183,615,399,48,480,264,696,156,588,372,304,196,628,412,7,439,223,655,115,547,331,61,493,277,709,169,601,385,34,466,250,682,142,574,358,88,520,635,419,14,446,230,662,122,554,338,68,500,284,716,176,608,392,41,473,257,689,149,581,365,95,527,311,203,0,432,216,648,108,540,324,54,486,270,702,162,594,378,27,459,243,675,135,567,351,81,513,297,189,621,3],[2,703,123,587,355,819,65,529,297,761,181,645,413,36,500,268,732,152,616,384,94,558,326,790,210,674,442,7,1,141,605,373,837,83,547,315,779,199,663,431,54,518,286,750,170,634,402,112,576,344,808,228,692,460,25,489,257,721,359,823,69,533,301,765,185,649,417,40,504,272,736,156,620,388,98,562,330,794,214,678,446,11,475,243,707,127,591,76,540,308,772,192,656,424,47,511,279,743,163,627,395,105,569,337,801,221,685,453,18,482,250,714,134,598,366,830,293,757,177,641,409,32,496,264,728,148,612,380,90,554,322,786,206,670,438,435,467,235,699,119,583,351,815,61,525,201,665,433,56,520,288,752,172,636,404,114,578,346,810,230,694,462,27,491,259,723,143,607,375,839,85,549,317,781,419,42,506,274,738,158,622,390,100,564,332,796,216,680,448,13,477,245,709,129,593,361,825,71,535,303,767,187,651,513,281,745,165,629,397,107,571,339,803,223,687,455,20,484,252,716,136,600,368,832,78,542,310,774,194,658,426,49,730,150,614,382,92,556,324,788,208,672,440,5,469,237,701,121,585,353,817,63,527,295,759,179,643,411,34,498,266,632,400,110,574,342,806,226,690,458,23,487,255,719,139,603,371,835,81,545,313,777,197,661,429,52,516,284,748,168,96,560,328,792,212,676,444,9,473,241,705,125,589,357,821,67,531,299,763,183,647,415,38,502,270,734,154,618,386,335,799,219,683,451,16,480,248,712,132,596,364,828,74,538,306,770,190,654,422,45,509,277,741,161,625,393,103,567,204,668,436,471,465,233,697,117,581,349,813,59,523,291,755,175,639,407,30,494,262,726,146,610,378,88,552,320,784,463,28,492,260,724,144,608,376,840,86,550,318,782,202,666,434,57,521,289,753,173,637,405,115,579,347,811,231,695,478,246,710,130,594,362,826,72,536,304,768,188,652,420,43,507,275,739,159,623,391,101,565,333,797,217,681,449,14,717,137,601,369,833,79,543,311,775,195,659,427,50,514,282,746,166,630,398,108,572,340,804,224,688,456,21,485,253,586,354,818,64,528,296,760,180,644,412,35,499,267,731,151,615,383,93,557,325,789,209,673,441,6,470,238,702,122,836,82,546,314,778,198,662,430,53,517,285,749,169,633,401,111,575,343,807,227,691,459,24,488,256,720,140,604,372,532,300,764,184,648,416,39,503,271,735,155,619,387,97,561,329,793,213,677,445,10,474,242,706,126,590,358,822,68,771,191,655,423,46,510,278,742,162,626,394,104,568,336,800,220,684,452,17,481,249,713,133,597,365,829,75,539,307,640,408,31,495,263,727,147,611,379,89,553,321,785,205,669,437,239,466,234,698,118,582,350,814,60,524,292,756,176,55,519,287,751,171,635,403,113,577,345,809,229,693,461,26,490,258,722,142,606,374,838,84,548,316,780,200,664,432,273,737,157,621,389,99,563,331,795,215,679,447,12,476,244,708,128,592,360,824,70,534,302,766,186,650,418,41,505,164,628,396,106,570,338,802,222,686,454,19,483,251,715,135,599,367,831,77,541,309,773,193,657,425,48,512,280,744,381,91,555,323,787,207,671,439,4,468,236,700,120,584,352,816,62,526,294,758,178,642,410,33,497,265,729,149,613,573,341,805,225,689,457,22,486,254,718,138,602,370,834,80,544,312,776,196,660,428,51,515,283,747,167,631,399,109,791,211,675,443,8,472,240,704,124,588,356,820,66,530,298,762,182,646,414,37,501,269,733,153,617,385,95,559,327,682,450,15,479,247,711,131,595,363,827,73,537,305,769,189,653,421,44,508,276,740,160,624,392,102,566,334,798,218,0,464,232,696,116,580,348,812,58,522,290,754,174,638,406,29,493,261,725,145,609,377,87,551,319,783,203,667,3],[2,759,139,635,387,883,77,573,325,821,201,697,449,945,46,542,294,790,170,666,418,914,108,604,356,852,232,728,480,15,1,147,643,395,891,85,581,333,829,209,705,457,953,54,550,302,798,178,674,426,922,116,612,364,860,240,736,488,23,519,271,767,379,875,69,565,317,813,193,689,441,937,38,534,286,782,162,658,410,906,100,596,348,844,224,720,472,7,503,255,751,131,627,89,585,337,833,213,709,461,957,58,554,306,802,182,678,430,926,120,616,368,864,244,740,492,27,523,275,771,151,647,399,895,321,817,197,693,445,941,42,538,290,786,166,662,414,910,104,600,352,848,228,724,476,11,507,259,755,135,631,383,879,73,569,205,701,453,949,50,546,298,794,174,670,422,918,112,608,360,856,236,732,484,19,515,267,763,143,639,391,887,81,577,329,825,437,933,34,530,282,778,158,654,406,902,96,592,344,840,220,716,468,465,499,251,747,127,623,375,871,65,561,313,809,189,685,60,556,308,804,184,680,432,928,122,618,370,866,246,742,494,29,525,277,773,153,649,401,897,91,587,339,835,215,711,463,959,292,788,168,664,416,912,106,602,354,850,230,726,478,13,509,261,757,137,633,385,881,75,571,323,819,199,695,447,943,44,540,176,672,424,920,114,610,362,858,238,734,486,21,517,269,765,145,641,393,889,83,579,331,827,207,703,455,951,52,548,300,796,408,904,98,594,346,842,222,718,470,5,501,253,749,129,625,377,873,67,563,315,811,191,687,439,935,36,532,284,780,160,656,118,614,366,862,242,738,490,25,521,273,769,149,645,397,893,87,583,335,831,211,707,459,955,56,552,304,800,180,676,428,924,350,846,226,722,474,9,505,257,753,133,629,381,877,71,567,319,815,195,691,443,939,40,536,288,784,164,660,412,908,102,598,234,730,482,17,513,265,761,141,637,389,885,79,575,327,823,203,699,451,947,48,544,296,792,172,668,420,916,110,606,358,854,466,511,497,249,745,125,621,373,869,63,559,311,807,187,683,435,931,32,528,280,776,156,652,404,900,94,590,342,838,218,714,526,278,774,154,650,402,898,92,588,340,836,216,712,464,960,61,557,309,805,185,681,433,929,123,619,371,867,247,743,495,30,758,138,634,386,882,76,572,324,820,200,696,448,944,45,541,293,789,169,665,417,913,107,603,355,851,231,727,479,14,510,262,642,394,890,84,580,332,828,208,704,456,952,53,549,301,797,177,673,425,921,115,611,363,859,239,735,487,22,518,270,766,146,874,68,564,316,812,192,688,440,936,37,533,285,781,161,657,409,905,99,595,347,843,223,719,471,6,502,254,750,130,626,378,584,336,832,212,708,460,956,57,553,305,801,181,677,429,925,119,615,367,863,243,739,491,26,522,274,770,150,646,398,894,88,816,196,692,444,940,41,537,289,785,165,661,413,909,103,599,351,847,227,723,475,10,506,258,754,134,630,382,878,72,568,320,700,452,948,49,545,297,793,173,669,421,917,111,607,359,855,235,731,483,18,514,266,762,142,638,390,886,80,576,328,824,204,932,33,529,281,777,157,653,405,901,95,591,343,839,219,715,467,263,498,250,746,126,622,374,870,64,560,312,808,188,684,436,555,307,803,183,679,431,927,121,617,369,865,245,741,493,28,524,276,772,152,648,400,896,90,586,338,834,214,710,462,958,59,787,167,663,415,911,105,601,353,849,229,725,477,12,508,260,756,136,632,384,880,74,570,322,818,198,694,446,942,43,539,291,671,423,919,113,609,361,857,237,733,485,20,516,268,764,144,640,392,888,82,578,330,826,206,702,454,950,51,547,299,795,175,903,97,593,345,841,221,717,469,4,500,252,748,128,624,376,872,66,562,314,810,190,686,438,934,35,531,283,779,159,655,407,613,365,861,241,737,489,24,520,272,768,148,644,396,892,86,582,334,830,210,706,458,954,55,551,303,799,179,675,427,923,117,845,225,721,473,8,504,256,752,132,628,380,876,70,566,318,814,194,690,442,938,39,535,287,783,163,659,411,907,101,597,349,729,481,16,512,264,760,140,636,388,884,78,574,326,822,202,698,450,946,47,543,295,791,171,667,419,915,109,605,357,853,233,0,496,248,744,124,620,372,868,62,558,310,806,186,682,434,930,31,527,279,775,155,651,403,899,93,589,341,837,217,713,3],[2,265,793,133,661,397,925,67,595,331,859,199,727,463,991,34,562,298,826,166,694,430,958,100,628,364,892,232,760,496,1024,1057,1,824,164,692,428,956,98,626,362,890,230,758,494,1022,65,593,329,857,197,725,461,989,131,659,395,923,263,791,527,1055,32,1088,560,296,676,412,940,82,610,346,874,214,742,478,1006,49,577,313,841,181,709,445,973,115,643,379,907,247,775,511,1039,16,1072,544,280,808,148,948,90,618,354,882,222,750,486,1014,57,585,321,849,189,717,453,981,123,651,387,915,255,783,519,1047,24,1080,552,288,816,156,684,420,602,338,866,206,734,470,998,41,569,305,833,173,701,437,965,107,635,371,899,239,767,503,1031,8,1064,536,272,800,140,668,404,932,74,886,226,754,490,1018,61,589,325,853,193,721,457,985,127,655,391,919,259,787,523,1051,28,1084,556,292,820,160,688,424,952,94,622,358,738,474,1002,45,573,309,837,177,705,441,969,111,639,375,903,243,771,507,1035,12,1068,540,276,804,144,672,408,936,78,606,342,870,210,1010,53,581,317,845,185,713,449,977,119,647,383,911,251,779,515,1043,20,1076,548,284,812,152,680,416,944,86,614,350,878,218,746,482,565,301,829,169,697,433,961,103,631,367,895,235,763,499,1027,4,1060,532,268,796,136,664,400,928,70,598,334,862,202,730,466,994,37,855,195,723,459,987,129,657,393,921,261,789,525,1053,30,1086,558,294,822,162,690,426,954,96,624,360,888,228,756,492,1020,63,591,327,707,443,971,113,641,377,905,245,773,509,1037,14,1070,542,278,806,146,674,410,938,80,608,344,872,212,740,476,1004,47,575,311,839,179,979,121,649,385,913,253,781,517,1045,22,1078,550,286,814,154,682,418,946,88,616,352,880,220,748,484,1012,55,583,319,847,187,715,451,633,369,897,237,765,501,1029,6,1062,534,270,798,138,666,402,930,72,600,336,864,204,732,468,996,39,567,303,831,171,699,435,963,105,917,257,785,521,1049,26,1082,554,290,818,158,686,422,950,92,620,356,884,224,752,488,1016,59,587,323,851,191,719,455,983,125,653,389,769,505,1033,10,1066,538,274,802,142,670,406,934,76,604,340,868,208,736,472,1e3,43,571,307,835,175,703,439,967,109,637,373,901,241,1041,18,1074,546,282,810,150,678,414,942,84,612,348,876,216,744,480,1008,51,579,315,843,183,711,447,975,117,645,381,909,249,777,513,1058,530,266,794,134,662,398,926,68,596,332,860,200,728,464,992,35,563,299,827,167,695,431,959,101,629,365,893,233,761,497,1025,529,295,823,163,691,427,955,97,625,361,889,229,757,493,1021,64,592,328,856,196,724,460,988,130,658,394,922,262,790,526,1054,31,1087,559,147,675,411,939,81,609,345,873,213,741,477,1005,48,576,312,840,180,708,444,972,114,642,378,906,246,774,510,1038,15,1071,543,279,807,419,947,89,617,353,881,221,749,485,1013,56,584,320,848,188,716,452,980,122,650,386,914,254,782,518,1046,23,1079,551,287,815,155,683,73,601,337,865,205,733,469,997,40,568,304,832,172,700,436,964,106,634,370,898,238,766,502,1030,7,1063,535,271,799,139,667,403,931,357,885,225,753,489,1017,60,588,324,852,192,720,456,984,126,654,390,918,258,786,522,1050,27,1083,555,291,819,159,687,423,951,93,621,209,737,473,1001,44,572,308,836,176,704,440,968,110,638,374,902,242,770,506,1034,11,1067,539,275,803,143,671,407,935,77,605,341,869,481,1009,52,580,316,844,184,712,448,976,118,646,382,910,250,778,514,1042,19,1075,547,283,811,151,679,415,943,85,613,349,877,217,745,36,564,300,828,168,696,432,960,102,630,366,894,234,762,498,1026,1023,1059,531,267,795,135,663,399,927,69,597,333,861,201,729,465,993,326,854,194,722,458,986,128,656,392,920,260,788,524,1052,29,1085,557,293,821,161,689,425,953,95,623,359,887,227,755,491,1019,62,590,178,706,442,970,112,640,376,904,244,772,508,1036,13,1069,541,277,805,145,673,409,937,79,607,343,871,211,739,475,1003,46,574,310,838,450,978,120,648,384,912,252,780,516,1044,21,1077,549,285,813,153,681,417,945,87,615,351,879,219,747,483,1011,54,582,318,846,186,714,104,632,368,896,236,764,500,1028,5,1061,533,269,797,137,665,401,929,71,599,335,863,203,731,467,995,38,566,302,830,170,698,434,962,388,916,256,784,520,1048,25,1081,553,289,817,157,685,421,949,91,619,355,883,223,751,487,1015,58,586,322,850,190,718,454,982,124,652,240,768,504,1032,9,1065,537,273,801,141,669,405,933,75,603,339,867,207,735,471,999,42,570,306,834,174,702,438,966,108,636,372,900,512,1040,17,1073,545,281,809,149,677,413,941,83,611,347,875,215,743,479,1007,50,578,314,842,182,710,446,974,116,644,380,908,248,776,0,1056,528,264,792,132,660,396,924,66,594,330,858,198,726,462,990,33,561,297,825,165,693,429,957,99,627,363,891,231,759,495,3],[2,290,850,150,710,430,990,80,1200,640,360,920,220,780,500,1060,45,1165,605,325,885,185,745,465,1025,115,675,395,955,255,815,535,1095,10,1,859,159,719,439,999,89,1209,649,369,929,229,789,509,1069,54,1174,614,334,894,194,754,474,1034,124,684,404,964,264,824,544,1104,19,1139,579,299,701,421,981,71,1191,631,351,911,211,771,491,1051,36,1156,596,316,876,176,736,456,1016,106,666,386,946,246,806,526,1086,1130,1121,561,281,841,141,1014,104,1224,664,384,944,244,804,524,1084,69,1189,629,349,909,209,769,489,1049,139,699,419,979,279,839,559,1119,34,1154,594,314,874,174,734,454,1207,647,367,927,227,787,507,1067,52,1172,612,332,892,192,752,472,1032,122,682,402,962,262,822,542,1102,17,1137,577,297,857,157,717,437,997,87,376,936,236,796,516,1076,61,1181,621,341,901,201,761,481,1041,131,691,411,971,271,831,551,1111,26,1146,586,306,866,166,726,446,1006,96,1216,656,218,778,498,1058,43,1163,603,323,883,183,743,463,1023,113,673,393,953,253,813,533,1093,8,1128,568,288,848,148,708,428,988,78,1198,638,358,918,520,1080,65,1185,625,345,905,205,765,485,1045,135,695,415,975,275,835,555,1115,30,1150,590,310,870,170,730,450,1010,100,1220,660,380,940,240,800,48,1168,608,328,888,188,748,468,1028,118,678,398,958,258,818,538,1098,13,1133,573,293,853,153,713,433,993,83,1203,643,363,923,223,783,503,1063,617,337,897,197,757,477,1037,127,687,407,967,267,827,547,1107,22,1142,582,302,862,162,722,442,1002,92,1212,652,372,932,232,792,512,1072,57,1177,879,179,739,459,1019,109,669,389,949,249,809,529,1089,4,1124,564,284,844,144,704,424,984,74,1194,634,354,914,214,774,494,1054,39,1159,599,319,767,487,1047,137,697,417,977,277,837,557,1117,32,1152,592,312,872,172,732,452,1012,102,1222,662,382,942,242,802,522,1082,67,1187,627,347,907,207,1030,120,680,400,960,260,820,540,1100,15,1135,575,295,855,155,715,435,995,85,1205,645,365,925,225,785,505,1065,50,1170,610,330,890,190,750,470,689,409,969,269,829,549,1109,24,1144,584,304,864,164,724,444,1004,94,1214,654,374,934,234,794,514,1074,59,1179,619,339,899,199,759,479,1039,129,951,251,811,531,1091,6,1126,566,286,846,146,706,426,986,76,1196,636,356,916,216,776,496,1056,41,1161,601,321,881,181,741,461,1021,111,671,391,833,553,1113,28,1148,588,308,868,168,728,448,1008,98,1218,658,378,938,238,798,518,1078,63,1183,623,343,903,203,763,483,1043,133,693,413,973,273,1096,11,1131,571,291,851,151,711,431,991,81,1201,641,361,921,221,781,501,1061,46,1166,606,326,886,186,746,466,1026,116,676,396,956,256,816,536,1140,580,300,860,160,720,440,1e3,90,1210,650,370,930,230,790,510,1070,55,1175,615,335,895,195,755,475,1035,125,685,405,965,265,825,545,1105,20,282,842,142,702,422,982,72,1192,632,352,912,212,772,492,1052,37,1157,597,317,877,177,737,457,1017,107,667,387,947,247,807,527,1087,570,1122,562,173,733,453,1013,103,1223,663,383,943,243,803,523,1083,68,1188,628,348,908,208,768,488,1048,138,698,418,978,278,838,558,1118,33,1153,593,313,873,436,996,86,1206,646,366,926,226,786,506,1066,51,1171,611,331,891,191,751,471,1031,121,681,401,961,261,821,541,1101,16,1136,576,296,856,156,716,95,1215,655,375,935,235,795,515,1075,60,1180,620,340,900,200,760,480,1040,130,690,410,970,270,830,550,1110,25,1145,585,305,865,165,725,445,1005,637,357,917,217,777,497,1057,42,1162,602,322,882,182,742,462,1022,112,672,392,952,252,812,532,1092,7,1127,567,287,847,147,707,427,987,77,1197,939,239,799,519,1079,64,1184,624,344,904,204,764,484,1044,134,694,414,974,274,834,554,1114,29,1149,589,309,869,169,729,449,1009,99,1219,659,379,782,502,1062,47,1167,607,327,887,187,747,467,1027,117,677,397,957,257,817,537,1097,12,1132,572,292,852,152,712,432,992,82,1202,642,362,922,222,1071,56,1176,616,336,896,196,756,476,1036,126,686,406,966,266,826,546,1106,21,1141,581,301,861,161,721,441,1001,91,1211,651,371,931,231,791,511,1158,598,318,878,178,738,458,1018,108,668,388,948,248,808,528,1088,1085,1123,563,283,843,143,703,423,983,73,1193,633,353,913,213,773,493,1053,38,346,906,206,766,486,1046,136,696,416,976,276,836,556,1116,31,1151,591,311,871,171,731,451,1011,101,1221,661,381,941,241,801,521,1081,66,1186,626,189,749,469,1029,119,679,399,959,259,819,539,1099,14,1134,574,294,854,154,714,434,994,84,1204,644,364,924,224,784,504,1064,49,1169,609,329,889,478,1038,128,688,408,968,268,828,548,1108,23,1143,583,303,863,163,723,443,1003,93,1213,653,373,933,233,793,513,1073,58,1178,618,338,898,198,758,110,670,390,950,250,810,530,1090,5,1125,565,285,845,145,705,425,985,75,1195,635,355,915,215,775,495,1055,40,1160,600,320,880,180,740,460,1020,412,972,272,832,552,1112,27,1147,587,307,867,167,727,447,1007,97,1217,657,377,937,237,797,517,1077,62,1182,622,342,902,202,762,482,1042,132,692,254,814,534,1094,9,1129,569,289,849,149,709,429,989,79,1199,639,359,919,219,779,499,1059,44,1164,604,324,884,184,744,464,1024,114,674,394,954,543,1103,18,1138,578,298,858,158,718,438,998,88,1208,648,368,928,228,788,508,1068,53,1173,613,333,893,193,753,473,1033,123,683,403,963,263,823,0,1120,560,280,840,140,700,420,980,70,1190,630,350,910,210,770,490,1050,35,1155,595,315,875,175,735,455,1015,105,665,385,945,245,805,525,3],[2,302,894,154,1338,746,450,1042,80,1264,672,376,968,228,820,524,1116,43,1227,635,339,931,191,783,487,1079,117,1301,709,413,1005,265,857,561,1153,6,1,917,177,1361,769,473,1065,103,1287,695,399,991,251,843,547,1139,66,1250,658,362,954,214,806,510,1102,140,1324,732,436,1028,288,880,584,1176,29,1213,621,325,1343,751,455,1047,85,1269,677,381,973,233,825,529,1121,48,1232,640,344,936,196,788,492,1084,122,1306,714,418,1010,270,862,566,1158,11,1195,603,307,899,159,464,1056,94,1278,686,390,982,242,834,538,1130,57,1241,649,353,945,205,797,501,1093,131,1315,723,427,1019,279,871,575,1167,20,1204,612,316,908,168,1352,760,75,1259,667,371,963,223,815,519,1111,38,1222,630,334,926,186,778,482,1074,112,1296,704,408,1e3,260,852,556,1148,1190,1185,593,297,889,149,1333,741,445,1037,702,406,998,258,850,554,1146,73,1257,665,369,961,221,813,517,1109,147,1331,739,443,1035,295,887,591,1183,36,1220,628,332,924,184,1368,776,480,1072,110,1294,980,240,832,536,1128,55,1239,647,351,943,203,795,499,1091,129,1313,721,425,1017,277,869,573,1165,18,1202,610,314,906,166,1350,758,462,1054,92,1276,684,388,841,545,1137,64,1248,656,360,952,212,804,508,1100,138,1322,730,434,1026,286,878,582,1174,27,1211,619,323,915,175,1359,767,471,1063,101,1285,693,397,989,249,1119,46,1230,638,342,934,194,786,490,1082,120,1304,712,416,1008,268,860,564,1156,9,1193,601,305,897,157,1341,749,453,1045,83,1267,675,379,971,231,823,527,1253,661,365,957,217,809,513,1105,143,1327,735,439,1031,291,883,587,1179,32,1216,624,328,920,180,1364,772,476,1068,106,1290,698,402,994,254,846,550,1142,69,347,939,199,791,495,1087,125,1309,717,421,1013,273,865,569,1161,14,1198,606,310,902,162,1346,754,458,1050,88,1272,680,384,976,236,828,532,1124,51,1235,643,208,800,504,1096,134,1318,726,430,1022,282,874,578,1170,23,1207,615,319,911,171,1355,763,467,1059,97,1281,689,393,985,245,837,541,1133,60,1244,652,356,948,485,1077,115,1299,707,411,1003,263,855,559,1151,4,1188,596,300,892,152,1336,744,448,1040,78,1262,670,374,966,226,818,522,1114,41,1225,633,337,929,189,781,145,1329,737,441,1033,293,885,589,1181,34,1218,626,330,922,182,1366,774,478,1070,108,1292,700,404,996,256,848,552,1144,71,1255,663,367,959,219,811,515,1107,719,423,1015,275,867,571,1163,16,1200,608,312,904,164,1348,756,460,1052,90,1274,682,386,978,238,830,534,1126,53,1237,645,349,941,201,793,497,1089,127,1311,1024,284,876,580,1172,25,1209,617,321,913,173,1357,765,469,1061,99,1283,691,395,987,247,839,543,1135,62,1246,654,358,950,210,802,506,1098,136,1320,728,432,858,562,1154,7,1191,599,303,895,155,1339,747,451,1043,81,1265,673,377,969,229,821,525,1117,44,1228,636,340,932,192,784,488,1080,118,1302,710,414,1006,266,1177,30,1214,622,326,918,178,1362,770,474,1066,104,1288,696,400,992,252,844,548,1140,67,1251,659,363,955,215,807,511,1103,141,1325,733,437,1029,289,881,585,1196,604,308,900,160,1344,752,456,1048,86,1270,678,382,974,234,826,530,1122,49,1233,641,345,937,197,789,493,1085,123,1307,715,419,1011,271,863,567,1159,12,317,909,169,1353,761,465,1057,95,1279,687,391,983,243,835,539,1131,58,1242,650,354,946,206,798,502,1094,132,1316,724,428,1020,280,872,576,1168,21,1205,613,150,1334,742,446,1038,76,1260,668,372,964,224,816,520,1112,39,1223,631,335,927,187,779,483,1075,113,1297,705,409,1001,261,853,557,1149,598,1186,594,298,890,775,479,1071,109,1293,701,405,997,257,849,553,1145,72,1256,664,368,960,220,812,516,1108,146,1330,738,442,1034,294,886,590,1182,35,1219,627,331,923,183,1367,1053,91,1275,683,387,979,239,831,535,1127,54,1238,646,350,942,202,794,498,1090,128,1312,720,424,1016,276,868,572,1164,17,1201,609,313,905,165,1349,757,461,1284,692,396,988,248,840,544,1136,63,1247,655,359,951,211,803,507,1099,137,1321,729,433,1025,285,877,581,1173,26,1210,618,322,914,174,1358,766,470,1062,100,378,970,230,822,526,1118,45,1229,637,341,933,193,785,489,1081,119,1303,711,415,1007,267,859,563,1155,8,1192,600,304,896,156,1340,748,452,1044,82,1266,674,253,845,549,1141,68,1252,660,364,956,216,808,512,1104,142,1326,734,438,1030,290,882,586,1178,31,1215,623,327,919,179,1363,771,475,1067,105,1289,697,401,993,531,1123,50,1234,642,346,938,198,790,494,1086,124,1308,716,420,1012,272,864,568,1160,13,1197,605,309,901,161,1345,753,457,1049,87,1271,679,383,975,235,827,59,1243,651,355,947,207,799,503,1095,133,1317,725,429,1021,281,873,577,1169,22,1206,614,318,910,170,1354,762,466,1058,96,1280,688,392,984,244,836,540,1132,632,336,928,188,780,484,1076,114,1298,706,410,1002,262,854,558,1150,1147,1187,595,299,891,151,1335,743,447,1039,77,1261,669,373,965,225,817,521,1113,40,1224,958,218,810,514,1106,144,1328,736,440,1032,292,884,588,1180,33,1217,625,329,921,181,1365,773,477,1069,107,1291,699,403,995,255,847,551,1143,70,1254,662,366,792,496,1088,126,1310,718,422,1014,274,866,570,1162,15,1199,607,311,903,163,1347,755,459,1051,89,1273,681,385,977,237,829,533,1125,52,1236,644,348,940,200,1097,135,1319,727,431,1023,283,875,579,1171,24,1208,616,320,912,172,1356,764,468,1060,98,1282,690,394,986,246,838,542,1134,61,1245,653,357,949,209,801,505,1300,708,412,1004,264,856,560,1152,5,1189,597,301,893,153,1337,745,449,1041,79,1263,671,375,967,227,819,523,1115,42,1226,634,338,930,190,782,486,1078,116,435,1027,287,879,583,1175,28,1212,620,324,916,176,1360,768,472,1064,102,1286,694,398,990,250,842,546,1138,65,1249,657,361,953,213,805,509,1101,139,1323,731,269,861,565,1157,10,1194,602,306,898,158,1342,750,454,1046,84,1268,676,380,972,232,824,528,1120,47,1231,639,343,935,195,787,491,1083,121,1305,713,417,1009,574,1166,19,1203,611,315,907,167,1351,759,463,1055,93,1277,685,389,981,241,833,537,1129,56,1240,648,352,944,204,796,500,1092,130,1314,722,426,1018,278,870,0,1184,592,296,888,148,1332,740,444,1036,74,1258,666,370,962,222,814,518,1110,37,1221,629,333,925,185,777,481,1073,111,1295,703,407,999,259,851,555,3],[2,328,952,172,1420,796,484,1108,94,1342,718,406,1030,250,1498,874,562,1186,55,1303,679,367,991,211,1459,835,523,1147,133,1381,757,445,1069,289,913,601,1225,16,1,962,182,1430,806,494,1118,104,1352,728,416,1040,260,1508,884,572,1196,65,1313,689,377,1001,221,1469,845,533,1157,143,1391,767,455,1079,299,923,611,1235,26,1274,650,338,1410,786,474,1098,84,1332,708,396,1020,240,1488,864,552,1176,45,1293,669,357,981,201,1449,825,513,1137,123,1371,747,435,1059,279,903,591,1215,6,1254,630,318,942,162,499,1123,109,1357,733,421,1045,265,1513,889,577,1201,70,1318,694,382,1006,226,1474,850,538,1162,148,1396,772,460,1084,304,928,616,1240,31,1279,655,343,967,187,1435,811,89,1337,713,401,1025,245,1493,869,557,1181,50,1298,674,362,986,206,1454,830,518,1142,128,1376,752,440,1064,284,908,596,1220,11,1259,635,323,947,167,1415,791,479,1103,723,411,1035,255,1503,879,567,1191,60,1308,684,372,996,216,1464,840,528,1152,138,1386,762,450,1074,294,918,606,1230,21,1269,645,333,957,177,1425,801,489,1113,99,1347,1015,235,1483,859,547,1171,40,1288,664,352,976,196,1444,820,508,1132,118,1366,742,430,1054,274,898,586,1210,1264,1249,625,313,937,157,1405,781,469,1093,79,1327,703,391,1520,896,584,1208,77,1325,701,389,1013,233,1481,857,545,1169,155,1403,779,467,1091,311,935,623,1247,38,1286,662,350,974,194,1442,818,506,1130,116,1364,740,428,1052,272,565,1189,58,1306,682,370,994,214,1462,838,526,1150,136,1384,760,448,1072,292,916,604,1228,19,1267,643,331,955,175,1423,799,487,1111,97,1345,721,409,1033,253,1501,877,68,1316,692,380,1004,224,1472,848,536,1160,146,1394,770,458,1082,302,926,614,1238,29,1277,653,341,965,185,1433,809,497,1121,107,1355,731,419,1043,263,1511,887,575,1199,672,360,984,204,1452,828,516,1140,126,1374,750,438,1062,282,906,594,1218,9,1257,633,321,945,165,1413,789,477,1101,87,1335,711,399,1023,243,1491,867,555,1179,48,1296,1009,229,1477,853,541,1165,151,1399,775,463,1087,307,931,619,1243,34,1282,658,346,970,190,1438,814,502,1126,112,1360,736,424,1048,268,1516,892,580,1204,73,1321,697,385,1457,833,521,1145,131,1379,755,443,1067,287,911,599,1223,14,1262,638,326,950,170,1418,794,482,1106,92,1340,716,404,1028,248,1496,872,560,1184,53,1301,677,365,989,209,531,1155,141,1389,765,453,1077,297,921,609,1233,24,1272,648,336,960,180,1428,804,492,1116,102,1350,726,414,1038,258,1506,882,570,1194,63,1311,687,375,999,219,1467,843,121,1369,745,433,1057,277,901,589,1213,4,1252,628,316,940,160,1408,784,472,1096,82,1330,706,394,1018,238,1486,862,550,1174,43,1291,667,355,979,199,1447,823,511,1135,777,465,1089,309,933,621,1245,36,1284,660,348,972,192,1440,816,504,1128,114,1362,738,426,1050,270,1518,894,582,1206,75,1323,699,387,1011,231,1479,855,543,1167,153,1401,1070,290,914,602,1226,17,1265,641,329,953,173,1421,797,485,1109,95,1343,719,407,1031,251,1499,875,563,1187,56,1304,680,368,992,212,1460,836,524,1148,134,1382,758,446,924,612,1236,27,1275,651,339,963,183,1431,807,495,1119,105,1353,729,417,1041,261,1509,885,573,1197,66,1314,690,378,1002,222,1470,846,534,1158,144,1392,768,456,1080,300,1216,7,1255,631,319,943,163,1411,787,475,1099,85,1333,709,397,1021,241,1489,865,553,1177,46,1294,670,358,982,202,1450,826,514,1138,124,1372,748,436,1060,280,904,592,1280,656,344,968,188,1436,812,500,1124,110,1358,734,422,1046,266,1514,890,578,1202,71,1319,695,383,1007,227,1475,851,539,1163,149,1397,773,461,1085,305,929,617,1241,32,324,948,168,1416,792,480,1104,90,1338,714,402,1026,246,1494,870,558,1182,51,1299,675,363,987,207,1455,831,519,1143,129,1377,753,441,1065,285,909,597,1221,12,1260,636,178,1426,802,490,1114,100,1348,724,412,1036,256,1504,880,568,1192,61,1309,685,373,997,217,1465,841,529,1153,139,1387,763,451,1075,295,919,607,1231,22,1270,646,334,958,782,470,1094,80,1328,704,392,1016,236,1484,860,548,1172,41,1289,665,353,977,197,1445,821,509,1133,119,1367,743,431,1055,275,899,587,1211,640,1250,626,314,938,158,1406,1129,115,1363,739,427,1051,271,1519,895,583,1207,76,1324,700,388,1012,232,1480,856,544,1168,154,1402,778,466,1090,310,934,622,1246,37,1285,661,349,973,193,1441,817,505,1344,720,408,1032,252,1500,876,564,1188,57,1305,681,369,993,213,1461,837,525,1149,135,1383,759,447,1071,291,915,603,1227,18,1266,642,330,954,174,1422,798,486,1110,96,418,1042,262,1510,886,574,1198,67,1315,691,379,1003,223,1471,847,535,1159,145,1393,769,457,1081,301,925,613,1237,28,1276,652,340,964,184,1432,808,496,1120,106,1354,730,242,1490,866,554,1178,47,1295,671,359,983,203,1451,827,515,1139,125,1373,749,437,1061,281,905,593,1217,8,1256,632,320,944,164,1412,788,476,1100,86,1334,710,398,1022,891,579,1203,72,1320,696,384,1008,228,1476,852,540,1164,150,1398,774,462,1086,306,930,618,1242,33,1281,657,345,969,189,1437,813,501,1125,111,1359,735,423,1047,267,1515,1183,52,1300,676,364,988,208,1456,832,520,1144,130,1378,754,442,1066,286,910,598,1222,13,1261,637,325,949,169,1417,793,481,1105,91,1339,715,403,1027,247,1495,871,559,1310,686,374,998,218,1466,842,530,1154,140,1388,764,452,1076,296,920,608,1232,23,1271,647,335,959,179,1427,803,491,1115,101,1349,725,413,1037,257,1505,881,569,1193,62,354,978,198,1446,822,510,1134,120,1368,744,432,1056,276,900,588,1212,1209,1251,627,315,939,159,1407,783,471,1095,81,1329,705,393,1017,237,1485,861,549,1173,42,1290,666,230,1478,854,542,1166,152,1400,776,464,1088,308,932,620,1244,35,1283,659,347,971,191,1439,815,503,1127,113,1361,737,425,1049,269,1517,893,581,1205,74,1322,698,386,1010,834,522,1146,132,1380,756,444,1068,288,912,600,1224,15,1263,639,327,951,171,1419,795,483,1107,93,1341,717,405,1029,249,1497,873,561,1185,54,1302,678,366,990,210,1458,1156,142,1390,766,454,1078,298,922,610,1234,25,1273,649,337,961,181,1429,805,493,1117,103,1351,727,415,1039,259,1507,883,571,1195,64,1312,688,376,1e3,220,1468,844,532,1370,746,434,1058,278,902,590,1214,5,1253,629,317,941,161,1409,785,473,1097,83,1331,707,395,1019,239,1487,863,551,1175,44,1292,668,356,980,200,1448,824,512,1136,122,459,1083,303,927,615,1239,30,1278,654,342,966,186,1434,810,498,1122,108,1356,732,420,1044,264,1512,888,576,1200,69,1317,693,381,1005,225,1473,849,537,1161,147,1395,771,283,907,595,1219,10,1258,634,322,946,166,1414,790,478,1102,88,1336,712,400,1024,244,1492,868,556,1180,49,1297,673,361,985,205,1453,829,517,1141,127,1375,751,439,1063,605,1229,20,1268,644,332,956,176,1424,800,488,1112,98,1346,722,410,1034,254,1502,878,566,1190,59,1307,683,371,995,215,1463,839,527,1151,137,1385,761,449,1073,293,917,0,1248,624,312,936,156,1404,780,468,1092,78,1326,702,390,1014,234,1482,858,546,1170,39,1287,663,351,975,195,1443,819,507,1131,117,1365,741,429,1053,273,897,585,3],[2,332,1644,988,168,1480,824,496,1152,86,1398,742,414,1070,250,1562,906,578,1234,45,1357,701,373,1029,209,1521,865,537,1193,127,1439,783,455,1111,291,1603,947,619,1275,4,1,1677,1021,201,1513,857,529,1185,119,1431,775,447,1103,283,1595,939,611,1267,78,1390,734,406,1062,242,1554,898,570,1226,160,1472,816,488,1144,324,1636,980,652,1308,37,1349,693,365,181,1493,837,509,1165,99,1411,755,427,1083,263,1575,919,591,1247,58,1370,714,386,1042,222,1534,878,550,1206,140,1452,796,468,1124,304,1616,960,632,1288,17,1329,673,345,1657,1001,847,519,1175,109,1421,765,437,1093,273,1585,929,601,1257,68,1380,724,396,1052,232,1544,888,560,1216,150,1462,806,478,1134,314,1626,970,642,1298,27,1339,683,355,1667,1011,191,1503,1155,89,1401,745,417,1073,253,1565,909,581,1237,48,1360,704,376,1032,212,1524,868,540,1196,130,1442,786,458,1114,294,1606,950,622,1278,7,1319,663,335,1647,991,171,1483,827,499,1426,770,442,1098,278,1590,934,606,1262,73,1385,729,401,1057,237,1549,893,565,1221,155,1467,811,483,1139,319,1631,975,647,1303,32,1344,688,360,1672,1016,196,1508,852,524,1180,114,422,1078,258,1570,914,586,1242,53,1365,709,381,1037,217,1529,873,545,1201,135,1447,791,463,1119,299,1611,955,627,1283,12,1324,668,340,1652,996,176,1488,832,504,1160,94,1406,750,268,1580,924,596,1252,63,1375,719,391,1047,227,1539,883,555,1211,145,1457,801,473,1129,309,1621,965,637,1293,22,1334,678,350,1662,1006,186,1498,842,514,1170,104,1416,760,432,1088,903,575,1231,42,1354,698,370,1026,206,1518,862,534,1190,124,1436,780,452,1108,288,1600,944,616,1272,1316,1313,657,329,1641,985,165,1477,821,493,1149,83,1395,739,411,1067,247,1559,1270,81,1393,737,409,1065,245,1557,901,573,1229,163,1475,819,491,1147,327,1639,983,655,1311,40,1352,696,368,1680,1024,204,1516,860,532,1188,122,1434,778,450,1106,286,1598,942,614,1373,717,389,1045,225,1537,881,553,1209,143,1455,799,471,1127,307,1619,963,635,1291,20,1332,676,348,1660,1004,184,1496,840,512,1168,102,1414,758,430,1086,266,1578,922,594,1250,61,399,1055,235,1547,891,563,1219,153,1465,809,481,1137,317,1629,973,645,1301,30,1342,686,358,1670,1014,194,1506,850,522,1178,112,1424,768,440,1096,276,1588,932,604,1260,71,1383,727,215,1527,871,543,1199,133,1445,789,461,1117,297,1609,953,625,1281,10,1322,666,338,1650,994,174,1486,830,502,1158,92,1404,748,420,1076,256,1568,912,584,1240,51,1363,707,379,1035,896,568,1224,158,1470,814,486,1142,322,1634,978,650,1306,35,1347,691,363,1675,1019,199,1511,855,527,1183,117,1429,773,445,1101,281,1593,937,609,1265,76,1388,732,404,1060,240,1552,1204,138,1450,794,466,1122,302,1614,958,630,1286,15,1327,671,343,1655,999,179,1491,835,507,1163,97,1409,753,425,1081,261,1573,917,589,1245,56,1368,712,384,1040,220,1532,876,548,1460,804,476,1132,312,1624,968,640,1296,25,1337,681,353,1665,1009,189,1501,845,517,1173,107,1419,763,435,1091,271,1583,927,599,1255,66,1378,722,394,1050,230,1542,886,558,1214,148,456,1112,292,1604,948,620,1276,5,1317,661,333,1645,989,169,1481,825,497,1153,87,1399,743,415,1071,251,1563,907,579,1235,46,1358,702,374,1030,210,1522,866,538,1194,128,1440,784,325,1637,981,653,1309,38,1350,694,366,1678,1022,202,1514,858,530,1186,120,1432,776,448,1104,284,1596,940,612,1268,79,1391,735,407,1063,243,1555,899,571,1227,161,1473,817,489,1145,961,633,1289,18,1330,674,346,1658,1002,182,1494,838,510,1166,100,1412,756,428,1084,264,1576,920,592,1248,59,1371,715,387,1043,223,1535,879,551,1207,141,1453,797,469,1125,305,1617,1299,28,1340,684,356,1668,1012,192,1504,848,520,1176,110,1422,766,438,1094,274,1586,930,602,1258,69,1381,725,397,1053,233,1545,889,561,1217,151,1463,807,479,1135,315,1627,971,643,1320,664,336,1648,992,172,1484,828,500,1156,90,1402,746,418,1074,254,1566,910,582,1238,49,1361,705,377,1033,213,1525,869,541,1197,131,1443,787,459,1115,295,1607,951,623,1279,8,361,1673,1017,197,1509,853,525,1181,115,1427,771,443,1099,279,1591,935,607,1263,74,1386,730,402,1058,238,1550,894,566,1222,156,1468,812,484,1140,320,1632,976,648,1304,33,1345,689,997,177,1489,833,505,1161,95,1407,751,423,1079,259,1571,915,587,1243,54,1366,710,382,1038,218,1530,874,546,1202,136,1448,792,464,1120,300,1612,956,628,1284,13,1325,669,341,1653,1499,843,515,1171,105,1417,761,433,1089,269,1581,925,597,1253,64,1376,720,392,1048,228,1540,884,556,1212,146,1458,802,474,1130,310,1622,966,638,1294,23,1335,679,351,1663,1007,187,494,1150,84,1396,740,412,1068,248,1560,904,576,1232,43,1355,699,371,1027,207,1519,863,535,1191,125,1437,781,453,1109,289,1601,945,617,1273,660,1314,658,330,1642,986,166,1478,822,121,1433,777,449,1105,285,1597,941,613,1269,80,1392,736,408,1064,244,1556,900,572,1228,162,1474,818,490,1146,326,1638,982,654,1310,39,1351,695,367,1679,1023,203,1515,859,531,1187,757,429,1085,265,1577,921,593,1249,60,1372,716,388,1044,224,1536,880,552,1208,142,1454,798,470,1126,306,1618,962,634,1290,19,1331,675,347,1659,1003,183,1495,839,511,1167,101,1413,1095,275,1587,931,603,1259,70,1382,726,398,1054,234,1546,890,562,1218,152,1464,808,480,1136,316,1628,972,644,1300,29,1341,685,357,1669,1013,193,1505,849,521,1177,111,1423,767,439,1567,911,583,1239,50,1362,706,378,1034,214,1526,870,542,1198,132,1444,788,460,1116,296,1608,952,624,1280,9,1321,665,337,1649,993,173,1485,829,501,1157,91,1403,747,419,1075,255,608,1264,75,1387,731,403,1059,239,1551,895,567,1223,157,1469,813,485,1141,321,1633,977,649,1305,34,1346,690,362,1674,1018,198,1510,854,526,1182,116,1428,772,444,1100,280,1592,936,55,1367,711,383,1039,219,1531,875,547,1203,137,1449,793,465,1121,301,1613,957,629,1285,14,1326,670,342,1654,998,178,1490,834,506,1162,96,1408,752,424,1080,260,1572,916,588,1244,721,393,1049,229,1541,885,557,1213,147,1459,803,475,1131,311,1623,967,639,1295,24,1336,680,352,1664,1008,188,1500,844,516,1172,106,1418,762,434,1090,270,1582,926,598,1254,65,1377,1028,208,1520,864,536,1192,126,1438,782,454,1110,290,1602,946,618,1274,1271,1315,659,331,1643,987,167,1479,823,495,1151,85,1397,741,413,1069,249,1561,905,577,1233,44,1356,700,372,1553,897,569,1225,159,1471,815,487,1143,323,1635,979,651,1307,36,1348,692,364,1676,1020,200,1512,856,528,1184,118,1430,774,446,1102,282,1594,938,610,1266,77,1389,733,405,1061,241,549,1205,139,1451,795,467,1123,303,1615,959,631,1287,16,1328,672,344,1656,1e3,180,1492,836,508,1164,98,1410,754,426,1082,262,1574,918,590,1246,57,1369,713,385,1041,221,1533,877,149,1461,805,477,1133,313,1625,969,641,1297,26,1338,682,354,1666,1010,190,1502,846,518,1174,108,1420,764,436,1092,272,1584,928,600,1256,67,1379,723,395,1051,231,1543,887,559,1215,785,457,1113,293,1605,949,621,1277,6,1318,662,334,1646,990,170,1482,826,498,1154,88,1400,744,416,1072,252,1564,908,580,1236,47,1359,703,375,1031,211,1523,867,539,1195,129,1441,1138,318,1630,974,646,1302,31,1343,687,359,1671,1015,195,1507,851,523,1179,113,1425,769,441,1097,277,1589,933,605,1261,72,1384,728,400,1056,236,1548,892,564,1220,154,1466,810,482,1610,954,626,1282,11,1323,667,339,1651,995,175,1487,831,503,1159,93,1405,749,421,1077,257,1569,913,585,1241,52,1364,708,380,1036,216,1528,872,544,1200,134,1446,790,462,1118,298,636,1292,21,1333,677,349,1661,1005,185,1497,841,513,1169,103,1415,759,431,1087,267,1579,923,595,1251,62,1374,718,390,1046,226,1538,882,554,1210,144,1456,800,472,1128,308,1620,964,0,1312,656,328,1640,984,164,1476,820,492,1148,82,1394,738,410,1066,246,1558,902,574,1230,41,1353,697,369,1025,205,1517,861,533,1189,123,1435,779,451,1107,287,1599,943,615,3],[2,359,1735,1047,187,1563,875,531,1219,101,1477,789,445,1821,1133,273,1649,961,617,1305,58,1434,746,402,1778,1090,230,1606,918,574,1262,144,1520,832,488,1176,316,1692,1004,660,1348,15,1,1746,1058,198,1574,886,542,1230,112,1488,800,456,1832,1144,284,1660,972,628,1316,69,1445,757,413,1789,1101,241,1617,929,585,1273,155,1531,843,499,1187,327,1703,1015,671,1359,26,1402,714,370,176,1552,864,520,1208,90,1466,778,434,1810,1122,262,1638,950,606,1294,47,1423,735,391,1767,1079,219,1595,907,563,1251,133,1509,821,477,1165,305,1681,993,649,1337,4,1380,692,348,1724,1036,899,555,1243,125,1501,813,469,1845,1157,297,1673,985,641,1329,82,1458,770,426,1802,1114,254,1630,942,598,1286,168,1544,856,512,1200,340,1716,1028,684,1372,39,1415,727,383,1759,1071,211,1587,1222,104,1480,792,448,1824,1136,276,1652,964,620,1308,61,1437,749,405,1781,1093,233,1609,921,577,1265,147,1523,835,491,1179,319,1695,1007,663,1351,18,1394,706,362,1738,1050,190,1566,878,534,1491,803,459,1835,1147,287,1663,975,631,1319,72,1448,760,416,1792,1104,244,1620,932,588,1276,158,1534,846,502,1190,330,1706,1018,674,1362,29,1405,717,373,1749,1061,201,1577,889,545,1233,115,437,1813,1125,265,1641,953,609,1297,50,1426,738,394,1770,1082,222,1598,910,566,1254,136,1512,824,480,1168,308,1684,996,652,1340,7,1383,695,351,1727,1039,179,1555,867,523,1211,93,1469,781,1152,292,1668,980,636,1324,77,1453,765,421,1797,1109,249,1625,937,593,1281,163,1539,851,507,1195,335,1711,1023,679,1367,34,1410,722,378,1754,1066,206,1582,894,550,1238,120,1496,808,464,1840,1646,958,614,1302,55,1431,743,399,1775,1087,227,1603,915,571,1259,141,1517,829,485,1173,313,1689,1001,657,1345,12,1388,700,356,1732,1044,184,1560,872,528,1216,98,1474,786,442,1818,1130,270,625,1313,66,1442,754,410,1786,1098,238,1614,926,582,1270,152,1528,840,496,1184,324,1700,1012,668,1356,23,1399,711,367,1743,1055,195,1571,883,539,1227,109,1485,797,453,1829,1141,281,1657,969,44,1420,732,388,1764,1076,216,1592,904,560,1248,130,1506,818,474,1162,302,1678,990,646,1334,1391,1377,689,345,1721,1033,173,1549,861,517,1205,87,1463,775,431,1807,1119,259,1635,947,603,1291,773,429,1805,1117,257,1633,945,601,1289,171,1547,859,515,1203,343,1719,1031,687,1375,42,1418,730,386,1762,1074,214,1590,902,558,1246,128,1504,816,472,1848,1160,300,1676,988,644,1332,85,1461,1784,1096,236,1612,924,580,1268,150,1526,838,494,1182,322,1698,1010,666,1354,21,1397,709,365,1741,1053,193,1569,881,537,1225,107,1483,795,451,1827,1139,279,1655,967,623,1311,64,1440,752,408,247,1623,935,591,1279,161,1537,849,505,1193,333,1709,1021,677,1365,32,1408,720,376,1752,1064,204,1580,892,548,1236,118,1494,806,462,1838,1150,290,1666,978,634,1322,75,1451,763,419,1795,1107,913,569,1257,139,1515,827,483,1171,311,1687,999,655,1343,10,1386,698,354,1730,1042,182,1558,870,526,1214,96,1472,784,440,1816,1128,268,1644,956,612,1300,53,1429,741,397,1773,1085,225,1601,1284,166,1542,854,510,1198,338,1714,1026,682,1370,37,1413,725,381,1757,1069,209,1585,897,553,1241,123,1499,811,467,1843,1155,295,1671,983,639,1327,80,1456,768,424,1800,1112,252,1628,940,596,1521,833,489,1177,317,1693,1005,661,1349,16,1392,704,360,1736,1048,188,1564,876,532,1220,102,1478,790,446,1822,1134,274,1650,962,618,1306,59,1435,747,403,1779,1091,231,1607,919,575,1263,145,500,1188,328,1704,1016,672,1360,27,1403,715,371,1747,1059,199,1575,887,543,1231,113,1489,801,457,1833,1145,285,1661,973,629,1317,70,1446,758,414,1790,1102,242,1618,930,586,1274,156,1532,844,306,1682,994,650,1338,5,1381,693,349,1725,1037,177,1553,865,521,1209,91,1467,779,435,1811,1123,263,1639,951,607,1295,48,1424,736,392,1768,1080,220,1596,908,564,1252,134,1510,822,478,1166,1029,685,1373,40,1416,728,384,1760,1072,212,1588,900,556,1244,126,1502,814,470,1846,1158,298,1674,986,642,1330,83,1459,771,427,1803,1115,255,1631,943,599,1287,169,1545,857,513,1201,341,1717,1352,19,1395,707,363,1739,1051,191,1567,879,535,1223,105,1481,793,449,1825,1137,277,1653,965,621,1309,62,1438,750,406,1782,1094,234,1610,922,578,1266,148,1524,836,492,1180,320,1696,1008,664,1406,718,374,1750,1062,202,1578,890,546,1234,116,1492,804,460,1836,1148,288,1664,976,632,1320,73,1449,761,417,1793,1105,245,1621,933,589,1277,159,1535,847,503,1191,331,1707,1019,675,1363,30,352,1728,1040,180,1556,868,524,1212,94,1470,782,438,1814,1126,266,1642,954,610,1298,51,1427,739,395,1771,1083,223,1599,911,567,1255,137,1513,825,481,1169,309,1685,997,653,1341,8,1384,696,1067,207,1583,895,551,1239,121,1497,809,465,1841,1153,293,1669,981,637,1325,78,1454,766,422,1798,1110,250,1626,938,594,1282,164,1540,852,508,1196,336,1712,1024,680,1368,35,1411,723,379,1755,1561,873,529,1217,99,1475,787,443,1819,1131,271,1647,959,615,1303,56,1432,744,400,1776,1088,228,1604,916,572,1260,142,1518,830,486,1174,314,1690,1002,658,1346,13,1389,701,357,1733,1045,185,540,1228,110,1486,798,454,1830,1142,282,1658,970,626,1314,67,1443,755,411,1787,1099,239,1615,927,583,1271,153,1529,841,497,1185,325,1701,1013,669,1357,24,1400,712,368,1744,1056,196,1572,884,88,1464,776,432,1808,1120,260,1636,948,604,1292,45,1421,733,389,1765,1077,217,1593,905,561,1249,131,1507,819,475,1163,303,1679,991,647,1335,703,1378,690,346,1722,1034,174,1550,862,518,1206,815,471,1847,1159,299,1675,987,643,1331,84,1460,772,428,1804,1116,256,1632,944,600,1288,170,1546,858,514,1202,342,1718,1030,686,1374,41,1417,729,385,1761,1073,213,1589,901,557,1245,127,1503,1826,1138,278,1654,966,622,1310,63,1439,751,407,1783,1095,235,1611,923,579,1267,149,1525,837,493,1181,321,1697,1009,665,1353,20,1396,708,364,1740,1052,192,1568,880,536,1224,106,1482,794,450,289,1665,977,633,1321,74,1450,762,418,1794,1106,246,1622,934,590,1278,160,1536,848,504,1192,332,1708,1020,676,1364,31,1407,719,375,1751,1063,203,1579,891,547,1235,117,1493,805,461,1837,1149,955,611,1299,52,1428,740,396,1772,1084,224,1600,912,568,1256,138,1514,826,482,1170,310,1686,998,654,1342,9,1385,697,353,1729,1041,181,1557,869,525,1213,95,1471,783,439,1815,1127,267,1643,1326,79,1455,767,423,1799,1111,251,1627,939,595,1283,165,1541,853,509,1197,337,1713,1025,681,1369,36,1412,724,380,1756,1068,208,1584,896,552,1240,122,1498,810,466,1842,1154,294,1670,982,638,1433,745,401,1777,1089,229,1605,917,573,1261,143,1519,831,487,1175,315,1691,1003,659,1347,14,1390,702,358,1734,1046,186,1562,874,530,1218,100,1476,788,444,1820,1132,272,1648,960,616,1304,57,412,1788,1100,240,1616,928,584,1272,154,1530,842,498,1186,326,1702,1014,670,1358,25,1401,713,369,1745,1057,197,1573,885,541,1229,111,1487,799,455,1831,1143,283,1659,971,627,1315,68,1444,756,1078,218,1594,906,562,1250,132,1508,820,476,1164,304,1680,992,648,1336,1333,1379,691,347,1723,1035,175,1551,863,519,1207,89,1465,777,433,1809,1121,261,1637,949,605,1293,46,1422,734,390,1766,1629,941,597,1285,167,1543,855,511,1199,339,1715,1027,683,1371,38,1414,726,382,1758,1070,210,1586,898,554,1242,124,1500,812,468,1844,1156,296,1672,984,640,1328,81,1457,769,425,1801,1113,253,576,1264,146,1522,834,490,1178,318,1694,1006,662,1350,17,1393,705,361,1737,1049,189,1565,877,533,1221,103,1479,791,447,1823,1135,275,1651,963,619,1307,60,1436,748,404,1780,1092,232,1608,920,157,1533,845,501,1189,329,1705,1017,673,1361,28,1404,716,372,1748,1060,200,1576,888,544,1232,114,1490,802,458,1834,1146,286,1662,974,630,1318,71,1447,759,415,1791,1103,243,1619,931,587,1275,823,479,1167,307,1683,995,651,1339,6,1382,694,350,1726,1038,178,1554,866,522,1210,92,1468,780,436,1812,1124,264,1640,952,608,1296,49,1425,737,393,1769,1081,221,1597,909,565,1253,135,1511,1194,334,1710,1022,678,1366,33,1409,721,377,1753,1065,205,1581,893,549,1237,119,1495,807,463,1839,1151,291,1667,979,635,1323,76,1452,764,420,1796,1108,248,1624,936,592,1280,162,1538,850,506,1688,1e3,656,1344,11,1387,699,355,1731,1043,183,1559,871,527,1215,97,1473,785,441,1817,1129,269,1645,957,613,1301,54,1430,742,398,1774,1086,226,1602,914,570,1258,140,1516,828,484,1172,312,667,1355,22,1398,710,366,1742,1054,194,1570,882,538,1226,108,1484,796,452,1828,1140,280,1656,968,624,1312,65,1441,753,409,1785,1097,237,1613,925,581,1269,151,1527,839,495,1183,323,1699,1011,0,1376,688,344,1720,1032,172,1548,860,516,1204,86,1462,774,430,1806,1118,258,1634,946,602,1290,43,1419,731,387,1763,1075,215,1591,903,559,1247,129,1505,817,473,1161,301,1677,989,645,3],[2,370,1810,1090,190,1630,910,550,1990,1270,100,1540,820,460,1900,1180,280,1720,1e3,640,1360,55,1495,775,415,1855,1135,235,1675,955,595,1315,145,1585,865,505,1945,1225,325,1765,1045,685,1405,10,1,1838,1118,218,1658,938,578,2018,1298,128,1568,848,488,1928,1208,308,1748,1028,668,1388,83,1523,803,443,1883,1163,263,1703,983,623,1343,173,1613,893,533,1973,1253,353,1793,1073,713,1433,38,1478,758,398,196,1636,916,556,1996,1276,106,1546,826,466,1906,1186,286,1726,1006,646,1366,61,1501,781,421,1861,1141,241,1681,961,601,1321,151,1591,871,511,1951,1231,331,1771,1051,691,1411,16,1456,736,376,1816,1096,927,567,2007,1287,117,1557,837,477,1917,1197,297,1737,1017,657,1377,72,1512,792,432,1872,1152,252,1692,972,612,1332,162,1602,882,522,1962,1242,342,1782,1062,702,1422,27,1467,747,387,1827,1107,207,1647,1984,1264,94,1534,814,454,1894,1174,274,1714,994,634,1354,49,1489,769,409,1849,1129,229,1669,949,589,1309,139,1579,859,499,1939,1219,319,1759,1039,679,1399,4,1444,724,364,1804,1084,184,1624,904,544,131,1571,851,491,1931,1211,311,1751,1031,671,1391,86,1526,806,446,1886,1166,266,1706,986,626,1346,176,1616,896,536,1976,1256,356,1796,1076,716,1436,41,1481,761,401,1841,1121,221,1661,941,581,2021,1301,829,469,1909,1189,289,1729,1009,649,1369,64,1504,784,424,1864,1144,244,1684,964,604,1324,154,1594,874,514,1954,1234,334,1774,1054,694,1414,19,1459,739,379,1819,1099,199,1639,919,559,1999,1279,109,1549,1920,1200,300,1740,1020,660,1380,75,1515,795,435,1875,1155,255,1695,975,615,1335,165,1605,885,525,1965,1245,345,1785,1065,705,1425,30,1470,750,390,1830,1110,210,1650,930,570,2010,1290,120,1560,840,480,277,1717,997,637,1357,52,1492,772,412,1852,1132,232,1672,952,592,1312,142,1582,862,502,1942,1222,322,1762,1042,682,1402,7,1447,727,367,1807,1087,187,1627,907,547,1987,1267,97,1537,817,457,1897,1177,1025,665,1385,80,1520,800,440,1880,1160,260,1700,980,620,1340,170,1610,890,530,1970,1250,350,1790,1070,710,1430,35,1475,755,395,1835,1115,215,1655,935,575,2015,1295,125,1565,845,485,1925,1205,305,1745,1363,58,1498,778,418,1858,1138,238,1678,958,598,1318,148,1588,868,508,1948,1228,328,1768,1048,688,1408,13,1453,733,373,1813,1093,193,1633,913,553,1993,1273,103,1543,823,463,1903,1183,283,1723,1003,643,1509,789,429,1869,1149,249,1689,969,609,1329,159,1599,879,519,1959,1239,339,1779,1059,699,1419,24,1464,744,384,1824,1104,204,1644,924,564,2004,1284,114,1554,834,474,1914,1194,294,1734,1014,654,1374,69,406,1846,1126,226,1666,946,586,1306,136,1576,856,496,1936,1216,316,1756,1036,676,1396,1450,1441,721,361,1801,1081,181,1621,901,541,1981,1261,91,1531,811,451,1891,1171,271,1711,991,631,1351,46,1486,766,1169,269,1709,989,629,1349,179,1619,899,539,1979,1259,359,1799,1079,719,1439,44,1484,764,404,1844,1124,224,1664,944,584,2024,1304,134,1574,854,494,1934,1214,314,1754,1034,674,1394,89,1529,809,449,1889,1687,967,607,1327,157,1597,877,517,1957,1237,337,1777,1057,697,1417,22,1462,742,382,1822,1102,202,1642,922,562,2002,1282,112,1552,832,472,1912,1192,292,1732,1012,652,1372,67,1507,787,427,1867,1147,247,618,1338,168,1608,888,528,1968,1248,348,1788,1068,708,1428,33,1473,753,393,1833,1113,213,1653,933,573,2013,1293,123,1563,843,483,1923,1203,303,1743,1023,663,1383,78,1518,798,438,1878,1158,258,1698,978,146,1586,866,506,1946,1226,326,1766,1046,686,1406,11,1451,731,371,1811,1091,191,1631,911,551,1991,1271,101,1541,821,461,1901,1181,281,1721,1001,641,1361,56,1496,776,416,1856,1136,236,1676,956,596,1316,894,534,1974,1254,354,1794,1074,714,1434,39,1479,759,399,1839,1119,219,1659,939,579,2019,1299,129,1569,849,489,1929,1209,309,1749,1029,669,1389,84,1524,804,444,1884,1164,264,1704,984,624,1344,174,1614,1952,1232,332,1772,1052,692,1412,17,1457,737,377,1817,1097,197,1637,917,557,1997,1277,107,1547,827,467,1907,1187,287,1727,1007,647,1367,62,1502,782,422,1862,1142,242,1682,962,602,1322,152,1592,872,512,343,1783,1063,703,1423,28,1468,748,388,1828,1108,208,1648,928,568,2008,1288,118,1558,838,478,1918,1198,298,1738,1018,658,1378,73,1513,793,433,1873,1153,253,1693,973,613,1333,163,1603,883,523,1963,1243,1040,680,1400,5,1445,725,365,1805,1085,185,1625,905,545,1985,1265,95,1535,815,455,1895,1175,275,1715,995,635,1355,50,1490,770,410,1850,1130,230,1670,950,590,1310,140,1580,860,500,1940,1220,320,1760,1437,42,1482,762,402,1842,1122,222,1662,942,582,2022,1302,132,1572,852,492,1932,1212,312,1752,1032,672,1392,87,1527,807,447,1887,1167,267,1707,987,627,1347,177,1617,897,537,1977,1257,357,1797,1077,717,1460,740,380,1820,1100,200,1640,920,560,2e3,1280,110,1550,830,470,1910,1190,290,1730,1010,650,1370,65,1505,785,425,1865,1145,245,1685,965,605,1325,155,1595,875,515,1955,1235,335,1775,1055,695,1415,20,391,1831,1111,211,1651,931,571,2011,1291,121,1561,841,481,1921,1201,301,1741,1021,661,1381,76,1516,796,436,1876,1156,256,1696,976,616,1336,166,1606,886,526,1966,1246,346,1786,1066,706,1426,31,1471,751,1088,188,1628,908,548,1988,1268,98,1538,818,458,1898,1178,278,1718,998,638,1358,53,1493,773,413,1853,1133,233,1673,953,593,1313,143,1583,863,503,1943,1223,323,1763,1043,683,1403,8,1448,728,368,1808,1656,936,576,2016,1296,126,1566,846,486,1926,1206,306,1746,1026,666,1386,81,1521,801,441,1881,1161,261,1701,981,621,1341,171,1611,891,531,1971,1251,351,1791,1071,711,1431,36,1476,756,396,1836,1116,216,554,1994,1274,104,1544,824,464,1904,1184,284,1724,1004,644,1364,59,1499,779,419,1859,1139,239,1679,959,599,1319,149,1589,869,509,1949,1229,329,1769,1049,689,1409,14,1454,734,374,1814,1094,194,1634,914,1285,115,1555,835,475,1915,1195,295,1735,1015,655,1375,70,1510,790,430,1870,1150,250,1690,970,610,1330,160,1600,880,520,1960,1240,340,1780,1060,700,1420,25,1465,745,385,1825,1105,205,1645,925,565,2005,1532,812,452,1892,1172,272,1712,992,632,1352,47,1487,767,407,1847,1127,227,1667,947,587,1307,137,1577,857,497,1937,1217,317,1757,1037,677,1397,730,1442,722,362,1802,1082,182,1622,902,542,1982,1262,92,493,1933,1213,313,1753,1033,673,1393,88,1528,808,448,1888,1168,268,1708,988,628,1348,178,1618,898,538,1978,1258,358,1798,1078,718,1438,43,1483,763,403,1843,1123,223,1663,943,583,2023,1303,133,1573,853,1191,291,1731,1011,651,1371,66,1506,786,426,1866,1146,246,1686,966,606,1326,156,1596,876,516,1956,1236,336,1776,1056,696,1416,21,1461,741,381,1821,1101,201,1641,921,561,2001,1281,111,1551,831,471,1911,1742,1022,662,1382,77,1517,797,437,1877,1157,257,1697,977,617,1337,167,1607,887,527,1967,1247,347,1787,1067,707,1427,32,1472,752,392,1832,1112,212,1652,932,572,2012,1292,122,1562,842,482,1922,1202,302,639,1359,54,1494,774,414,1854,1134,234,1674,954,594,1314,144,1584,864,504,1944,1224,324,1764,1044,684,1404,9,1449,729,369,1809,1089,189,1629,909,549,1989,1269,99,1539,819,459,1899,1179,279,1719,999,82,1522,802,442,1882,1162,262,1702,982,622,1342,172,1612,892,532,1972,1252,352,1792,1072,712,1432,37,1477,757,397,1837,1117,217,1657,937,577,2017,1297,127,1567,847,487,1927,1207,307,1747,1027,667,1387,780,420,1860,1140,240,1680,960,600,1320,150,1590,870,510,1950,1230,330,1770,1050,690,1410,15,1455,735,375,1815,1095,195,1635,915,555,1995,1275,105,1545,825,465,1905,1185,285,1725,1005,645,1365,60,1500,1871,1151,251,1691,971,611,1331,161,1601,881,521,1961,1241,341,1781,1061,701,1421,26,1466,746,386,1826,1106,206,1646,926,566,2006,1286,116,1556,836,476,1916,1196,296,1736,1016,656,1376,71,1511,791,431,228,1668,948,588,1308,138,1578,858,498,1938,1218,318,1758,1038,678,1398,1395,1443,723,363,1803,1083,183,1623,903,543,1983,1263,93,1533,813,453,1893,1173,273,1713,993,633,1353,48,1488,768,408,1848,1128,985,625,1345,175,1615,895,535,1975,1255,355,1795,1075,715,1435,40,1480,760,400,1840,1120,220,1660,940,580,2020,1300,130,1570,850,490,1930,1210,310,1750,1030,670,1390,85,1525,805,445,1885,1165,265,1705,1323,153,1593,873,513,1953,1233,333,1773,1053,693,1413,18,1458,738,378,1818,1098,198,1638,918,558,1998,1278,108,1548,828,468,1908,1188,288,1728,1008,648,1368,63,1503,783,423,1863,1143,243,1683,963,603,1604,884,524,1964,1244,344,1784,1064,704,1424,29,1469,749,389,1829,1109,209,1649,929,569,2009,1289,119,1559,839,479,1919,1199,299,1739,1019,659,1379,74,1514,794,434,1874,1154,254,1694,974,614,1334,164,501,1941,1221,321,1761,1041,681,1401,6,1446,726,366,1806,1086,186,1626,906,546,1986,1266,96,1536,816,456,1896,1176,276,1716,996,636,1356,51,1491,771,411,1851,1131,231,1671,951,591,1311,141,1581,861,1249,349,1789,1069,709,1429,34,1474,754,394,1834,1114,214,1654,934,574,2014,1294,124,1564,844,484,1924,1204,304,1744,1024,664,1384,79,1519,799,439,1879,1159,259,1699,979,619,1339,169,1609,889,529,1969,1767,1047,687,1407,12,1452,732,372,1812,1092,192,1632,912,552,1992,1272,102,1542,822,462,1902,1182,282,1722,1002,642,1362,57,1497,777,417,1857,1137,237,1677,957,597,1317,147,1587,867,507,1947,1227,327,698,1418,23,1463,743,383,1823,1103,203,1643,923,563,2003,1283,113,1553,833,473,1913,1193,293,1733,1013,653,1373,68,1508,788,428,1868,1148,248,1688,968,608,1328,158,1598,878,518,1958,1238,338,1778,1058,0,1440,720,360,1800,1080,180,1620,900,540,1980,1260,90,1530,810,450,1890,1170,270,1710,990,630,1350,45,1485,765,405,1845,1125,225,1665,945,585,1305,135,1575,855,495,1935,1215,315,1755,1035,675,3],[2,398,1902,1150,210,1714,962,586,2090,1338,116,1620,868,492,1996,1244,304,1808,1056,680,2184,1432,69,1573,821,445,1949,1197,257,1761,1009,633,2137,1385,163,1667,915,539,2043,1291,351,1855,1103,727,1479,22,1,1914,1162,222,1726,974,598,2102,1350,128,1632,880,504,2008,1256,316,1820,1068,692,2196,1444,81,1585,833,457,1961,1209,269,1773,1021,645,2149,1397,175,1679,927,551,2055,1303,363,1867,1115,739,1491,34,1538,786,410,198,1702,950,574,2078,1326,104,1608,856,480,1984,1232,292,1796,1044,668,2172,1420,57,1561,809,433,1937,1185,245,1749,997,621,2125,1373,151,1655,903,527,2031,1279,339,1843,1091,715,1467,10,1514,762,386,1890,1138,980,604,2108,1356,134,1638,886,510,2014,1262,322,1826,1074,698,2202,1450,87,1591,839,463,1967,1215,275,1779,1027,651,2155,1403,181,1685,933,557,2061,1309,369,1873,1121,745,1497,40,1544,792,416,1920,1168,228,1732,2084,1332,110,1614,862,486,1990,1238,298,1802,1050,674,2178,1426,63,1567,815,439,1943,1191,251,1755,1003,627,2131,1379,157,1661,909,533,2037,1285,345,1849,1097,721,1473,16,1520,768,392,1896,1144,204,1708,956,580,122,1626,874,498,2002,1250,310,1814,1062,686,2190,1438,75,1579,827,451,1955,1203,263,1767,1015,639,2143,1391,169,1673,921,545,2049,1297,357,1861,1109,733,1485,28,1532,780,404,1908,1156,216,1720,968,592,2096,1344,850,474,1978,1226,286,1790,1038,662,2166,1414,51,1555,803,427,1931,1179,239,1743,991,615,2119,1367,145,1649,897,521,2025,1273,333,1837,1085,709,1461,4,1508,756,380,1884,1132,192,1696,944,568,2072,1320,98,1602,2017,1265,325,1829,1077,701,2205,1453,90,1594,842,466,1970,1218,278,1782,1030,654,2158,1406,184,1688,936,560,2064,1312,372,1876,1124,748,1500,43,1547,795,419,1923,1171,231,1735,983,607,2111,1359,137,1641,889,513,301,1805,1053,677,2181,1429,66,1570,818,442,1946,1194,254,1758,1006,630,2134,1382,160,1664,912,536,2040,1288,348,1852,1100,724,1476,19,1523,771,395,1899,1147,207,1711,959,583,2087,1335,113,1617,865,489,1993,1241,1065,689,2193,1441,78,1582,830,454,1958,1206,266,1770,1018,642,2146,1394,172,1676,924,548,2052,1300,360,1864,1112,736,1488,31,1535,783,407,1911,1159,219,1723,971,595,2099,1347,125,1629,877,501,2005,1253,313,1817,2169,1417,54,1558,806,430,1934,1182,242,1746,994,618,2122,1370,148,1652,900,524,2028,1276,336,1840,1088,712,1464,7,1511,759,383,1887,1135,195,1699,947,571,2075,1323,101,1605,853,477,1981,1229,289,1793,1041,665,84,1588,836,460,1964,1212,272,1776,1024,648,2152,1400,178,1682,930,554,2058,1306,366,1870,1118,742,1494,37,1541,789,413,1917,1165,225,1729,977,601,2105,1353,131,1635,883,507,2011,1259,319,1823,1071,695,2199,1447,812,436,1940,1188,248,1752,1e3,624,2128,1376,154,1658,906,530,2034,1282,342,1846,1094,718,1470,13,1517,765,389,1893,1141,201,1705,953,577,2081,1329,107,1611,859,483,1987,1235,295,1799,1047,671,2175,1423,60,1564,1952,1200,260,1764,1012,636,2140,1388,166,1670,918,542,2046,1294,354,1858,1106,730,1482,25,1529,777,401,1905,1153,213,1717,965,589,2093,1341,119,1623,871,495,1999,1247,307,1811,1059,683,2187,1435,72,1576,824,448,236,1740,988,612,2116,1364,142,1646,894,518,2022,1270,330,1834,1082,706,1458,1526,1505,753,377,1881,1129,189,1693,941,565,2069,1317,95,1599,847,471,1975,1223,283,1787,1035,659,2163,1411,48,1552,800,424,1928,1176,1033,657,2161,1409,187,1691,939,563,2067,1315,375,1879,1127,751,1503,46,1550,798,422,1926,1174,234,1738,986,610,2114,1362,140,1644,892,516,2020,1268,328,1832,1080,704,2208,1456,93,1597,845,469,1973,1221,281,1785,2138,1386,164,1668,916,540,2044,1292,352,1856,1104,728,1480,23,1527,775,399,1903,1151,211,1715,963,587,2091,1339,117,1621,869,493,1997,1245,305,1809,1057,681,2185,1433,70,1574,822,446,1950,1198,258,1762,1010,634,176,1680,928,552,2056,1304,364,1868,1116,740,1492,35,1539,787,411,1915,1163,223,1727,975,599,2103,1351,129,1633,881,505,2009,1257,317,1821,1069,693,2197,1445,82,1586,834,458,1962,1210,270,1774,1022,646,2150,1398,904,528,2032,1280,340,1844,1092,716,1468,11,1515,763,387,1891,1139,199,1703,951,575,2079,1327,105,1609,857,481,1985,1233,293,1797,1045,669,2173,1421,58,1562,810,434,1938,1186,246,1750,998,622,2126,1374,152,1656,2062,1310,370,1874,1122,746,1498,41,1545,793,417,1921,1169,229,1733,981,605,2109,1357,135,1639,887,511,2015,1263,323,1827,1075,699,2203,1451,88,1592,840,464,1968,1216,276,1780,1028,652,2156,1404,182,1686,934,558,346,1850,1098,722,1474,17,1521,769,393,1897,1145,205,1709,957,581,2085,1333,111,1615,863,487,1991,1239,299,1803,1051,675,2179,1427,64,1568,816,440,1944,1192,252,1756,1004,628,2132,1380,158,1662,910,534,2038,1286,1110,734,1486,29,1533,781,405,1909,1157,217,1721,969,593,2097,1345,123,1627,875,499,2003,1251,311,1815,1063,687,2191,1439,76,1580,828,452,1956,1204,264,1768,1016,640,2144,1392,170,1674,922,546,2050,1298,358,1862,1462,5,1509,757,381,1885,1133,193,1697,945,569,2073,1321,99,1603,851,475,1979,1227,287,1791,1039,663,2167,1415,52,1556,804,428,1932,1180,240,1744,992,616,2120,1368,146,1650,898,522,2026,1274,334,1838,1086,710,1548,796,420,1924,1172,232,1736,984,608,2112,1360,138,1642,890,514,2018,1266,326,1830,1078,702,2206,1454,91,1595,843,467,1971,1219,279,1783,1031,655,2159,1407,185,1689,937,561,2065,1313,373,1877,1125,749,1501,44,396,1900,1148,208,1712,960,584,2088,1336,114,1618,866,490,1994,1242,302,1806,1054,678,2182,1430,67,1571,819,443,1947,1195,255,1759,1007,631,2135,1383,161,1665,913,537,2041,1289,349,1853,1101,725,1477,20,1524,772,1160,220,1724,972,596,2100,1348,126,1630,878,502,2006,1254,314,1818,1066,690,2194,1442,79,1583,831,455,1959,1207,267,1771,1019,643,2147,1395,173,1677,925,549,2053,1301,361,1865,1113,737,1489,32,1536,784,408,1912,1700,948,572,2076,1324,102,1606,854,478,1982,1230,290,1794,1042,666,2170,1418,55,1559,807,431,1935,1183,243,1747,995,619,2123,1371,149,1653,901,525,2029,1277,337,1841,1089,713,1465,8,1512,760,384,1888,1136,196,602,2106,1354,132,1636,884,508,2012,1260,320,1824,1072,696,2200,1448,85,1589,837,461,1965,1213,273,1777,1025,649,2153,1401,179,1683,931,555,2059,1307,367,1871,1119,743,1495,38,1542,790,414,1918,1166,226,1730,978,1330,108,1612,860,484,1988,1236,296,1800,1048,672,2176,1424,61,1565,813,437,1941,1189,249,1753,1001,625,2129,1377,155,1659,907,531,2035,1283,343,1847,1095,719,1471,14,1518,766,390,1894,1142,202,1706,954,578,2082,1624,872,496,2e3,1248,308,1812,1060,684,2188,1436,73,1577,825,449,1953,1201,261,1765,1013,637,2141,1389,167,1671,919,543,2047,1295,355,1859,1107,731,1483,26,1530,778,402,1906,1154,214,1718,966,590,2094,1342,120,472,1976,1224,284,1788,1036,660,2164,1412,49,1553,801,425,1929,1177,237,1741,989,613,2117,1365,143,1647,895,519,2023,1271,331,1835,1083,707,1459,774,1506,754,378,1882,1130,190,1694,942,566,2070,1318,96,1600,848,1267,327,1831,1079,703,2207,1455,92,1596,844,468,1972,1220,280,1784,1032,656,2160,1408,186,1690,938,562,2066,1314,374,1878,1126,750,1502,45,1549,797,421,1925,1173,233,1737,985,609,2113,1361,139,1643,891,515,2019,1807,1055,679,2183,1431,68,1572,820,444,1948,1196,256,1760,1008,632,2136,1384,162,1666,914,538,2042,1290,350,1854,1102,726,1478,21,1525,773,397,1901,1149,209,1713,961,585,2089,1337,115,1619,867,491,1995,1243,303,691,2195,1443,80,1584,832,456,1960,1208,268,1772,1020,644,2148,1396,174,1678,926,550,2054,1302,362,1866,1114,738,1490,33,1537,785,409,1913,1161,221,1725,973,597,2101,1349,127,1631,879,503,2007,1255,315,1819,1067,1419,56,1560,808,432,1936,1184,244,1748,996,620,2124,1372,150,1654,902,526,2030,1278,338,1842,1090,714,1466,9,1513,761,385,1889,1137,197,1701,949,573,2077,1325,103,1607,855,479,1983,1231,291,1795,1043,667,2171,1590,838,462,1966,1214,274,1778,1026,650,2154,1402,180,1684,932,556,2060,1308,368,1872,1120,744,1496,39,1543,791,415,1919,1167,227,1731,979,603,2107,1355,133,1637,885,509,2013,1261,321,1825,1073,697,2201,1449,86,438,1942,1190,250,1754,1002,626,2130,1378,156,1660,908,532,2036,1284,344,1848,1096,720,1472,15,1519,767,391,1895,1143,203,1707,955,579,2083,1331,109,1613,861,485,1989,1237,297,1801,1049,673,2177,1425,62,1566,814,1202,262,1766,1014,638,2142,1390,168,1672,920,544,2048,1296,356,1860,1108,732,1484,27,1531,779,403,1907,1155,215,1719,967,591,2095,1343,121,1625,873,497,2001,1249,309,1813,1061,685,2189,1437,74,1578,826,450,1954,1742,990,614,2118,1366,144,1648,896,520,2024,1272,332,1836,1084,708,1460,1457,1507,755,379,1883,1131,191,1695,943,567,2071,1319,97,1601,849,473,1977,1225,285,1789,1037,661,2165,1413,50,1554,802,426,1930,1178,238,653,2157,1405,183,1687,935,559,2063,1311,371,1875,1123,747,1499,42,1546,794,418,1922,1170,230,1734,982,606,2110,1358,136,1640,888,512,2016,1264,324,1828,1076,700,2204,1452,89,1593,841,465,1969,1217,277,1781,1029,1381,159,1663,911,535,2039,1287,347,1851,1099,723,1475,18,1522,770,394,1898,1146,206,1710,958,582,2086,1334,112,1616,864,488,1992,1240,300,1804,1052,676,2180,1428,65,1569,817,441,1945,1193,253,1757,1005,629,2133,1675,923,547,2051,1299,359,1863,1111,735,1487,30,1534,782,406,1910,1158,218,1722,970,594,2098,1346,124,1628,876,500,2004,1252,312,1816,1064,688,2192,1440,77,1581,829,453,1957,1205,265,1769,1017,641,2145,1393,171,523,2027,1275,335,1839,1087,711,1463,6,1510,758,382,1886,1134,194,1698,946,570,2074,1322,100,1604,852,476,1980,1228,288,1792,1040,664,2168,1416,53,1557,805,429,1933,1181,241,1745,993,617,2121,1369,147,1651,899,1305,365,1869,1117,741,1493,36,1540,788,412,1916,1164,224,1728,976,600,2104,1352,130,1634,882,506,2010,1258,318,1822,1070,694,2198,1446,83,1587,835,459,1963,1211,271,1775,1023,647,2151,1399,177,1681,929,553,2057,1845,1093,717,1469,12,1516,764,388,1892,1140,200,1704,952,576,2080,1328,106,1610,858,482,1986,1234,294,1798,1046,670,2174,1422,59,1563,811,435,1939,1187,247,1751,999,623,2127,1375,153,1657,905,529,2033,1281,341,729,1481,24,1528,776,400,1904,1152,212,1716,964,588,2092,1340,118,1622,870,494,1998,1246,306,1810,1058,682,2186,1434,71,1575,823,447,1951,1199,259,1763,1011,635,2139,1387,165,1669,917,541,2045,1293,353,1857,1105,0,1504,752,376,1880,1128,188,1692,940,564,2068,1316,94,1598,846,470,1974,1222,282,1786,1034,658,2162,1410,47,1551,799,423,1927,1175,235,1739,987,611,2115,1363,141,1645,893,517,2021,1269,329,1833,1081,705,3]]};var ECCModeMap={ECC000:0,ECC050:1,ECC080:2,ECC100:3,ECC140:4};function getECC(e){var t=ECCModeMap[e];return{eccInfo:exports.Constants_140.ECCInfos[t],headerBits:exports.Constants_140.HeaderBits[t]}}exports.getECC=getECC;var SymbolSizeKeys=["square9","square11","square13","square15","square17","square19","square21","square23","square25","square27","square29","square31","square33","square35","square37","square39","square41","square43","square45","square47","square49"];function getSymbolSizeInfo(e){var t=SymbolSizeKeys.indexOf(e);if(t<0)throw new wijmo_barcode_1.InvalidOptionsException({ecc000_140SymbolSize:e});return exports.Constants_140.SymbolCapacities[t]}exports.getSymbolSizeInfo=getSymbolSizeInfo;function getSymbolSizeValue(e){return SymbolSizeKeys.indexOf(e)}exports.getSymbolSizeValue=getSymbolSizeValue;function getProperSymbolSize(e,t){if("auto"==e){e="square9";for(var r=0;r<=SymbolSizeKeys.length-1;++r)if(t<=exports.Constants_140.SymbolCapacities[r]){e=SymbolSizeKeys[r];break}}return e}exports.getProperSymbolSize=getProperSymbolSize;function getModuleMapping(e){var t=SymbolSizeKeys.indexOf(e);return exports.Constants_140.ModuleMapping[t]}exports.getModuleMapping=getModuleMapping;function setFinder_140(e,t){for(var r=e[0],o=0;o<t;o++)wijmo_barcode_1.Utils.isEven(o)?r[o]=1:r[o]=0;var n=e[t-1];for(o=0;o<t;o++)n[o]=1;for(o=1;o<t-1;o++){e[o][0]=1;wijmo_barcode_1.Utils.isEven(o)?e[o][t-1]=1:e[o][t-1]=0}}exports.setFinder_140=setFinder_140;function setRegionData_140(e,t,r){t-=2;for(var o=0;o<t;++o)for(var n=0;n<t;++n)e[1+o][1+n]=+r.getBit(o*t+n)}exports.setRegionData_140=setRegionData_140;var GEN_BIT_MASK=45,MSB_MASK=128,GEN_SEED=1,_elements=wijmo_barcode_1.Utils.fillArray(new Array(256),0),_valToExp=wijmo_barcode_1.Utils.fillArray(new Array(256),0),seed=GEN_SEED,exp=0;do{var last=seed%=256;_elements[exp]=seed;_valToExp[seed]=exp%256;seed<<=1;0!=(last&MSB_MASK)&&(seed^=GEN_BIT_MASK)}while(++exp<=255);function GFSum(e,t){return(e^t)%256}function GFMultiply(e,t){return 0==e||0==t?0:_elements[(_valToExp[e]+_valToExp[t])%255]}var Coefficients=[null,null,null,null,null,[228,48,15,111,62],null,[23,68,144,134,240,92,254],null,null,[28,24,185,166,223,248,116,255,110,61],[175,138,205,12,194,168,39,245,60,97,120],[41,153,158,91,61,42,142,213,97,178,100,242],null,[156,97,192,252,95,9,157,119,138,45,18,186,83,185],null,null,null,[83,195,100,39,188,75,66,61,241,213,109,129,94,254,225,48,90,188],null,[15,195,244,9,233,71,168,2,188,160,153,145,253,79,108,82,27,174,186,172],null,null,null,[52,190,88,205,109,39,176,21,155,197,251,223,155,21,5,172,254,124,12,181,184,96,50,193],null,null,null,[211,231,43,97,71,96,103,174,37,151,170,53,75,34,249,121,17,138,110,213,141,136,120,151,233,168,93,255],null,null,null,null,null,null,null,[245,127,242,218,130,250,162,181,102,120,84,179,220,251,80,182,229,18,2,4,68,33,101,137,95,119,115,44,175,184,59,25,225,98,81,112],null,null,null,null,null,[77,193,137,31,19,38,22,153,247,105,122,2,245,133,242,8,175,95,100,9,167,105,214,111,57,121,21,1,253,57,54,101,248,202,69,50,150,177,226,5,9,5],null,null,null,null,null,[245,132,172,223,96,32,117,22,238,133,238,231,205,188,237,87,191,106,16,147,118,23,37,90,170,205,131,88,120,100,66,138,186,240,82,44,176,87,187,147,160,175,69,213,92,253,225,19],null,null,null,null,null,null,null,[175,9,223,238,12,17,220,208,100,29,175,170,230,192,215,235,150,159,36,223,38,200,132,54,228,146,218,234,117,203,29,232,144,238,22,150,201,117,62,207,164,13,137,245,127,67,247,28,155,43,203,107,233,53,143,46],null,null,null,null,null,[242,93,169,50,144,210,39,118,202,188,201,189,143,108,196,37,185,112,134,230,245,63,197,190,250,106,185,221,175,64,114,71,161,44,147,6,27,218,51,63,87,10,40,130,188,17,163,31,176,170,4,107,232,7,94,166,224,124,86,47,11,204],null,null,null,null,null,[220,228,173,89,251,149,159,56,89,33,147,244,154,36,73,127,213,136,248,180,234,197,158,177,68,122,93,213,15,160,227,236,66,139,153,185,202,167,179,25,220,232,96,210,231,136,223,239,181,241,59,52,172,25,49,232,211,189,64,54,108,153,132,63,96,103,82,186]];function generateErrorCorrectionCode(e,t,r,o){for(var n=wijmo_barcode_1.Utils.fillArray(new Array(o),0),a=Coefficients[o],i=t;i<t+r;++i){for(var s=GFSum(n[o-1],e[i]),c=o-1;c>0;--c)n[c]=GFSum(GFMultiply(s,a[c]),n[c-1]);n[0]=GFMultiply(a[0],s)}n.reverse();return n}exports.generateErrorCorrectionCode=generateErrorCorrectionCode;exports.CONSTANTS={FNC1Input:wijmo_barcode_1.Constants.DataMatrixFNC1.charCodeAt(0),Macro05Input:wijmo_barcode_1.Constants.DataMatrixMacro05.charCodeAt(0),Macro06Input:wijmo_barcode_1.Constants.DataMatrixMacro06.charCodeAt(0),StructuredAppand:233,FileIdentifierMax:254,ASCIIPad:129,ASCIIUpperShift:235,ASCIIFNC1:232,Macro05:236,Macro06:237,TripletUppershift:158,TripletFNC1:155,TripletPad:0,InvalidTripletValue:255,LatchToC40:230,LatchToBase256:231,LatchToX12:238,LatchToText:239,LatchToEDIFACT:240,TripletUnlatch:254,EDIFACTUnlatch:31,PseudoRandomSeed:149,PadRandomBase:253,Base256RandomBase:255,Base256SmallBlockSize:249,EDIFACTMask:63,Unvisited:255,TripletShifts:[255,0,1,2],MaxCodeWrods:2178,MaxStructures:16,MaxLookAheadOffset:50};var SymbolInfo={keys:["square10","square12","square14","square16","square18","square20","square22","square24","square26","square32","square36","square40","square44","square48","square52","square64","square72","square80","square88","square96","square104","square120","square132","square144","rectangular8x18","rectangular8x32","rectangular12x26","rectangular12x36","rectangular16x36","rectangular16x48"],values:[[10,10,3,5,1,1,8,8],[12,12,5,7,1,1,10,10],[14,14,8,10,1,1,12,12],[16,16,12,12,1,1,14,14],[18,18,18,14,1,1,16,16],[20,20,22,18,1,1,18,18],[22,22,30,20,1,1,20,20],[24,24,36,24,1,1,22,22],[26,26,44,28,1,1,24,24],[32,32,62,36,1,4,14,14],[36,36,86,42,1,4,16,16],[40,40,114,48,1,4,18,18],[44,44,144,56,1,4,20,20],[48,48,174,68,1,4,22,22],[52,52,204,84,2,4,24,24],[64,64,280,112,2,16,14,14],[72,72,368,144,4,16,16,16],[80,80,456,192,4,16,18,18],[88,88,576,224,4,16,20,20],[96,96,696,272,4,16,22,22],[104,104,816,336,6,16,24,24],[120,120,1050,408,6,36,18,18],[132,132,1304,496,8,36,20,20],[144,144,1558,620,10,36,22,22],[8,18,5,7,1,1,6,16],[8,32,10,11,1,2,6,14],[12,26,16,14,1,1,10,24],[12,36,22,18,1,2,10,16],[16,36,32,24,1,2,14,16],[16,48,49,28,1,2,14,22]]};function getSymbolInfo(e){var t=SymbolInfo.values[SymbolInfo.keys.indexOf(e)];if(!t)throw new wijmo_barcode_1.InvalidOptionsException({ecc200SymbolSize:e});return{symbolRows:t[0],symbolColumns:t[1],symbolDataCapacity:t[2],eccLength:t[3],interleavedBlocks:t[4],regions:t[5],regionRows:t[6],regionColumns:t[7]}}exports.getSymbolInfo=getSymbolInfo;function getSuitableSymbolSize(e,t){if("squareAuto"!==e&&"rectangularAuto"!==e)return getSymbolInfo(e);for(var r="squareAuto"==e?0:24;r<SymbolInfo.keys.length;++r)if(SymbolInfo.values[r][2]>=t)return getSymbolInfo(SymbolInfo.keys[r]);throw new wijmo_barcode_1.TextTooLongException}exports.getSuitableSymbolSize=getSuitableSymbolSize;function getInfoOfRegions(e){var t;switch(e){case 1:case 2:t=1;break;case 4:t=2;break;case 16:t=4;break;case 36:t=6}return{rowOfRegion:t,colOfRegion:~~(e/t)}}exports.getInfoOfRegions=getInfoOfRegions;function createModules(e,t){t||(t=e);for(var r=[],o=0;o<e;o++)r.push(wijmo_barcode_1.Utils.fillArray(new Array(t),null));return r}exports.createModules=createModules;exports.TripletUppershift=158;exports.TripletFNC1=155;exports.ASCIIMax=127;exports.ExtendedASCIIMin=128;exports.Space=32;exports.NumericMin=48;exports.NumericMax=57;exports.LowerCasedLetterMin=97;exports.LowerCasedLetterMax=122;exports.UpperCasedLetterMin=65;exports.UpperCasedLetterMax=90;function getCharType(e){return e>exports.ASCIIMax?e==exports.CONSTANTS.FNC1Input?"FNC1":"ExtendedASCII":e>=exports.NumericMin&&e<=exports.NumericMax?"Numeric":e>=exports.LowerCasedLetterMin&&e<=exports.LowerCasedLetterMax?"LowerCasedLetter":e>=exports.UpperCasedLetterMin&&e<=exports.UpperCasedLetterMax?"UpperCasedLetter":"ASCIIOther"}exports.getCharType=getCharType;function getX12Value(e){switch(getCharType(e)){case"Numeric":return e-44;case"UpperCasedLetter":return e-51;default:switch(e){case 13:return 0;case 42:return 1;case 62:return 2;case 32:return 3}}return exports.CONSTANTS.InvalidTripletValue}exports.getX12Value=getX12Value;function getTripletCharValue(e,t){if("X12"==e)return getX12Value(t);if(t<32)return t;if(32==t)return 3;if(t<48)return t-33;if(t<58)return t-44;if(t<65)return t-43;if(t<91)return"C40"==e?t-51:t-64;if(t<96)return t-69;if(96==t)return 0;if(t<123)return"C40"==e?t-96:t-83;if(t<128)return t-96;if(t==exports.TripletFNC1||t==exports.TripletUppershift)return t-128;throw new wijmo_barcode_1.InvalidCharacterException(String.fromCharCode(t))}exports.getTripletCharValue=getTripletCharValue;function isDigit(e){return e>=exports.NumericMin&&e<=exports.NumericMax}exports.isDigit=isDigit;function getTripletCharSetChannel(e,t){return"X12"===e?0:t<32?1:32==t?0:t<48?2:t<58?0:t<65?2:t<91?"C40"==e?0:3:t<96?2:96==t?3:t<123?"C40"===e?3:0:t==exports.CONSTANTS.TripletFNC1||t==exports.CONSTANTS.TripletUppershift?2:3}exports.getTripletCharSetChannel=getTripletCharSetChannel;function getTripletEncodeValues(e,t){var r=[];if(t==exports.CONSTANTS.FNC1Input){if("X12"==e)throw new wijmo_barcode_1.InvalidCharacterException("FNC1");t=exports.CONSTANTS.TripletFNC1}else if(t>exports.ASCIIMax){if("C40"!=e&&"Text"!=e)throw new wijmo_barcode_1.InvalidCharacterException(String.fromCharCode(t));r.push(exports.CONSTANTS.TripletShifts[2]);r.push(getTripletCharValue(e,exports.CONSTANTS.TripletUppershift));t-=exports.ExtendedASCIIMin}var o=getTripletCharSetChannel(e,t);o>0&&r.push(exports.CONSTANTS.TripletShifts[o]);r.push(getTripletCharValue(e,t));return r}exports.getTripletEncodeValues=getTripletEncodeValues;function getEDIFACTValue(e){return e<32||e>94?exports.CONSTANTS.InvalidTripletValue:e&exports.CONSTANTS.EDIFACTMask}exports.getEDIFACTValue=getEDIFACTValue;function getRandomizedValue(e,t,r){var o=e+exports.CONSTANTS.PseudoRandomSeed*t%r+1;return o>r+1?o-r-1:o}exports.getRandomizedValue=getRandomizedValue;function mergeUnits(e){var t=[];if(e.length>0){for(var r=e[0],o=1;o<e.length;++o)if(e[o].charSet!=r.charSet){r.length>0&&t.push(wijmo_barcode_1.Utils.assign({},r));r.charSet=e[o].charSet;r.start=e[o].start;r.length=e[o].length}else r.length+=e[o].length;r.length>0&&t.push(r)}return t}exports.mergeUnits=mergeUnits;function setFinder(e,t,r,o){var n=t.regionColumns,a=t.regionRows;o*=n+=2;for(var i=e[r*=a+=2],s=o;s<o+n;s++)wijmo_barcode_1.Utils.isEven(s)?i[s]=1:i[s]=0;var c=e[r+a-1];for(s=o;s<o+n;s++)c[s]=1;for(s=r;s<r+a;s++){e[s][o]=1;wijmo_barcode_1.Utils.isEven(s)?e[s][o+n-1]=0:e[s][o+n-1]=1}}exports.setFinder=setFinder;function setRegionData(e,t,r,o,n){for(var a=t.regionColumns,i=t.regionRows,s=r*(i+2)+1,c=o*(a+2)+1,u=r*i,l=o*a,d=0;d<i;++d)for(var p=0;p<a;++p)e[s+d][c+p]=n[u+d][l+p]}exports.setRegionData=setRegionData;var ECC000_140=function(){function ECC000_140(e,t){this.m_symbol=wijmo_barcode_1.Utils.str2Array(e).map((function(e){return e.charCodeAt(0)}));this.symbolSize=t.ecc000_140SymbolSize;this.eccMode=t.eccMode;this.m_code=[];this.m_module=[]}ECC000_140.prototype.getMatrix=function(){var e=this.m_symbol,t=this.symbolSize,r=this.eccMode,o=this.m_code;if(e.length>569)throw new wijmo_barcode_1.TextTooLongException;var n=chooseEncodationScheme(e),a="ECC000"===r?7:19,i=this.calculateDataBits(n),s=this.calculateTotalBits(n,a,i);this._symbolSize=getProperSymbolSize(t,s);if(s>getSymbolSizeInfo(this._symbolSize))throw new wijmo_barcode_1.TextTooLongException;i+=30;var c=new BitwiseIterator([]);c.putBitsMSF(exports.Constants_140.getFormatID(n)<<27,5);var u=this.crcProcess(n);c.putBitsLSF(u,16);c.putBitsLSF(e.length,9);this.encode(n,c);var l=new BitwiseIterator(o);l.putBitsLSF(getECC(r).headerBits,a);c.offset=0;this.eccProcess(l,c,i);this.randomizeBits();return this.placeModule()};ECC000_140.prototype.eccProcess=function(e,t,r){var o=this.eccMode;if("ECC000"!==o){var n=getECC(o).eccInfo,a=[n.inputBits],i=!1;do{i=!1;for(var s=0;s<n.inputBits;++s){a[s]>>=1;a[s]=setBit(a[s],n.registerBits[s],t.fetchBit())}var c=!1;for(s=0;s<n.outputBits;++s){c=!1;for(var u=0;u<n.outputMasks[s].length;++u)c^=0!=(a[n.outputMasks[s][u].registerNumber]&n.outputMasks[s][u].mask);e.putBit(c)}if(t.offset>=r){for(s=0;s<a.length&&0==a[s];++s);s==a.length&&(i=!0)}}while(!i)}else for(;t.offset<r;)e.putBit(t.fetchBit())};ECC000_140.prototype.randomizeBits=function(){for(var e=this.m_code,t=~~((getSymbolSizeInfo(this._symbolSize)+7)/8),r=0;r<t;++r)e[r]^=exports.Constants_140.RandomizeBytes[r]};ECC000_140.prototype.crcProcess=function(e){var t=this.m_symbol,r=0,o=[];o.push(exports.Constants_140.getFormatID(e)+1);o.push(0);o.push.apply(o,t);for(var n=0;n<o.length;++n)for(var a=0;a<8;++a){var i=0!=(1&r);r>>=1;0!=(o[n]&1<<a)^i&&(r^=33800)}return r};ECC000_140.prototype.calculateDataBits=function(e){var t=this.m_symbol,r=exports.Constants_140.GroupLengths[e];return~~(t.length/r)*exports.Constants_140.BitLengths[e][0]+(t.length%r==0?0:exports.Constants_140.BitLengths[e][t.length%r])};ECC000_140.prototype.calculateTotalBits=function(e,t,r){var o=30+r,n=getECC(this.eccMode).eccInfo;return t+(~~((o+n.inputBits-1)/n.inputBits)+n.registerBits[n.inputBits-1])*n.outputBits};ECC000_140.prototype.encode=function(e,t){for(var r=this.m_symbol,o=0,n=e,a=exports.Constants_140.GroupLengths[n],i=exports.Constants_140.BaseValues[n],s=0;s<r.length;){o=0;var c=1;do{o+=getCodeWord(e,r[s++])*c;c*=i}while(s%a!=0&&s<r.length);var u=s%a;t.putBitsLSF(o,exports.Constants_140.BitLengths[n][u])}};ECC000_140.prototype.placeModule=function(){for(var e=this.m_module,t=this._symbolSize,r=this.m_code,o=getSymbolSizeInfo(t),n=new BitwiseIterator(e),a=new BitwiseIterator(r),i=getModuleMapping(t),s=0;s<o;++s)n.putBit(a.getBit(i[s]));var c=2*getSymbolSizeValue(t)+9,u=createModules(c);setFinder_140(u,c);setRegionData_140(u,c,n);return u};return ECC000_140}();exports.ECC000_140=ECC000_140;var SymbolCharacterPlacement=function(){function SymbolCharacterPlacement(e,t,r){this.nrow=t;this.ncol=r;this.data=e;this.matrix=createModules(t,r)}SymbolCharacterPlacement.prototype.ECC200=function(){var e=this.nrow,t=this.ncol,r=this.matrix,o=4,n=0,a=0;do{o==e&&0==n&&this.corner1(a++);o==e-2&&0==n&&t%4&&this.corner2(a++);o==e-2&&0==n&&t%8==4&&this.corner3(a++);o!=e+4||2!=n||t%8||this.corner4(a++);do{o<e&&n>=0&&null===r[o][n]&&this.utah(o,n,a++);o-=2;n+=2}while(o>=0&&n<t);o+=1;n+=3;do{o>=0&&n<t&&null===r[o][n]&&this.utah(o,n,a++);o+=2;n-=2}while(o<e&&n>=0);o+=3;n+=1}while(o<e||n<t);if(!r[e-1][t-1]){r[e-1][t-1]=r[e-2][t-2]=1;r[e-2][t-1]=r[e-1][t-2]=0}return r};SymbolCharacterPlacement.prototype.module=function(e,t,r,o){var n=this.nrow,a=this.ncol,i=this.matrix,s=this.data;if(e<0){e+=n;t+=4-(n+4)%8}if(t<0){t+=a;e+=4-(a+4)%8}var c=(1<<8-o)%256;i[e][t]=0!=(s[r]&c)?1:0};SymbolCharacterPlacement.prototype.utah=function(e,t,r){this.module(e-2,t-2,r,1);this.module(e-2,t-1,r,2);this.module(e-1,t-2,r,3);this.module(e-1,t-1,r,4);this.module(e-1,t,r,5);this.module(e,t-2,r,6);this.module(e,t-1,r,7);this.module(e,t,r,8)};SymbolCharacterPlacement.prototype.corner1=function(e){var t=this.nrow,r=this.ncol;this.module(t-1,0,e,1);this.module(t-1,1,e,2);this.module(t-1,2,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-1,e,6);this.module(2,r-1,e,7);this.module(3,r-1,e,8)};SymbolCharacterPlacement.prototype.corner2=function(e){var t=this.nrow,r=this.ncol;this.module(t-3,0,e,1);this.module(t-2,0,e,2);this.module(t-1,0,e,3);this.module(0,r-4,e,4);this.module(0,r-3,e,5);this.module(0,r-2,e,6);this.module(0,r-1,e,7);this.module(1,r-1,e,8)};SymbolCharacterPlacement.prototype.corner3=function(e){var t=this.nrow,r=this.ncol;this.module(t-3,0,e,1);this.module(t-2,0,e,2);this.module(t-1,0,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-1,e,6);this.module(2,r-1,e,7);this.module(3,r-1,e,8)};SymbolCharacterPlacement.prototype.corner4=function(e){var t=this.nrow,r=this.ncol;this.module(t-1,0,e,1);this.module(t-1,r-1,e,2);this.module(0,r-3,e,3);this.module(0,r-2,e,4);this.module(0,r-1,e,5);this.module(1,r-3,e,6);this.module(1,r-2,e,7);this.module(1,r-1,e,8)};return SymbolCharacterPlacement}();exports.SymbolCharacterPlacement=SymbolCharacterPlacement;function mod256(e){return e%256}function roundUpCodeLength(e){return Math.ceil(e-1e-5)}var ECC200=function(){function ECC200(e,t){this.text=e;this.m_symbol=wijmo_barcode_1.Utils.str2Array(e).map((function(e){return e.charCodeAt(0)}));this.symbolSize=t.ecc200SymbolSize;this.encodingMode=t.ecc200EncodingMode;this.structuredAppend=t.structuredAppend;this.structureNumber=t.structureNumber;this.fileIdentifier=t.fileIdentifier;this.symbolInfo=getSymbolInfo("square144");this.m_code=[]}ECC200.prototype.preEncode=function(e,t){var r=this.m_symbol,o=this.m_code,n=r[0];if(n==exports.CONSTANTS.Macro05Input||n==exports.CONSTANTS.Macro06Input){o[e++]=n==exports.CONSTANTS.Macro05Input?exports.CONSTANTS.Macro05:exports.CONSTANTS.Macro06;t++}return{c_pos:e,s_pos:t}};ECC200.prototype.checkValue=function(e){var t=this.encodingMode,r=this.m_symbol;if("X12"==t||"EDIFACT"==t)for(var o=e;o<r.length;++o)if(getTripletCharValue(t,r[o])==exports.CONSTANTS.InvalidTripletValue)return!1;return!0};ECC200.prototype.getEncodingLength=function(e,t,r,o){var n=this.m_symbol;if(t<0)return-1;var a=0;switch(e){case"ASCII":a=t;break;case"C40":case"Text":a=2*~~((t+2)/3)+2;break;case"X12":a=2*~~((t+2)/3)+2;(t%3==1||t%3==2&&isDigit(n[r+o-2])&&isDigit(n[r+o-1]))&&--a;break;case"EDIFACT":a=3*~~(++t/4)+t%4+1;break;case"Base256":a=t+1+(t>exports.CONSTANTS.Base256SmallBlockSize?2:1)}return a};ECC200.prototype.getMaxProperLength=function(e,t){for(var r=this.m_symbol,o=this.encodingMode,n=e+1,a=r.length,i=~~((n+a)/2),s=0,c=0;n<a;){i=~~((n+a)/2);(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,i-e),e,i-e))<0||c>t?a=i-1:n=i+1}if(n>e)if(i<n)s=(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,n-e),e,n-e))<0||c>t?i-e:n-e;else{i=Math.min(i,n);s=(c=this.getEncodingLength(o,this.getCodeWordLength(o,e,i-e),e,i-e))<0||c>t?i-e-1:i-e}return Math.max(0,s)};ECC200.prototype.getCodeWordLength=function(e,t,r){for(var o=this.m_symbol,n=0,a=t;a<t+r;++a){var i=o[a];switch(e){case"ASCII":n+=i>exports.ASCIIMax&&i!=exports.CONSTANTS.FNC1Input?2:1;a<t+r-1&&isDigit(i)&&isDigit(o[a+1])&&++a;break;case"C40":case"Text":if(i==exports.CONSTANTS.FNC1Input)i=exports.CONSTANTS.TripletFNC1;else if(i>exports.ASCIIMax){n+=2;i-=128}n+=0==getTripletCharSetChannel(e,i)?1:2;break;case"X12":getX12Value(i)==exports.CONSTANTS.InvalidTripletValue?n=-1:n+=1;break;case"EDIFACT":getEDIFACTValue(i)==exports.CONSTANTS.InvalidTripletValue?n=-1:n+=1;break;case"Base256":n+=1}if(n<0)return n}return n};ECC200.prototype.getCodeLength=function(e){return this.getEncodingLength(e.charSet,this.getCodeWordLength(e.charSet,e.start,e.length),e.start,e.length)};ECC200.prototype.getEncodingUnitsInfomative=function(e,t,r){var o,n=this.m_symbol;0;for(var a=[],i={charSet:"ASCII",start:e,length:0,codeWords:0,encodingLength:0},s=0,c=e,u=!1,l=n.length;c<l;){u=!1;switch(i.charSet){case"ASCII":for(var d=0;c+d<n.length-1&&s+~~(d/2)<t&&isDigit(n[c+d])&&isDigit(n[c+d+1]);)d+=2;if(d>0){i.codeWords+=d>>1;c+=d;if(s+~~(d/2)>=t)break;continue}break;case"C40":case"Text":case"X12":do{n[c]>exports.ASCIIMax&&(i.codeWords+=2);getTripletCharSetChannel(i.charSet,n[c])>0&&++i.codeWords;++i.codeWords;++c}while(i.codeWords%3!=0&&c<l);break;case"EDIFACT":do{++i.codeWords;++c}while(0!=(3&i.codeWords)&&c<l);break;case"Base256":++i.codeWords;++c}var p=0,h=t-(s+this.getEncodingLength(i.charSet,i.codeWords,i.start,c-i.start)),C=h,g=i.charSet;do{p=(o=this.lookAhead(i.charSet,c,C,p)).d_len,g=o.newCharset}while(--C>0&&this.getEncodingLength(g,this.getCodeWordLength(g,c,p),c,p)>h);if(C<=0)break;if(i.charSet!=g){i.length=c-i.start;if(i.length>0){a.push(i);s+=this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)}i={charSet:g,start:c,length:0,codeWords:0,encodingLength:0};u=!0}var f=t-1;"EDIFACT"==i.charSet&&--f;"Base256"==i.charSet&&++f;if(s+this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)>=f)break;if(!u&&"ASCII"==i.charSet){++i.codeWords;++c}}i.length=c-i.start;if(i.length>0){a.push(i);s+=this.getEncodingLength(i.charSet,i.codeWords,i.start,i.length)}i={charSet:"ASCII",start:c,length:0,codeWords:0,encodingLength:0};for(;s<t&&c<n.length;){if(n[c]>exports.ASCIIMax&&n[c]!=exports.CONSTANTS.FNC1Input){if(!(s<t-1))break;++s}++s;++c}if(c>i.start){i.length=c-i.start;a.push(i)}return{s_taken:c-e,units:mergeUnits(a)}};ECC200.prototype.getEncodingUnits=function(e,t){var r,o,n=this,a=this.encodingMode,i=this.m_symbol,s=0,c=0;if(e<i.length){if("auto"!==a){"C40"!==a&&"Text"!=a&&"X12"!=a||t++;var u={charSet:a,start:e,length:c=this.getMaxProperLength(e,t),codeWords:0,encodingLength:0};u.codeWords=this.getCodeWordLength(u.charSet,u.start,u.length);u.encodingLength=this.getEncodingLength(u.charSet,u.codeWords,u.start,u.length);if("X12"==u.charSet&&u.encodingLength==t&&u.codeWords%3==2){--c;--u.length;--u.codeWords;--u.encodingLength}o=[u]}else r=this.getEncodingUnitsInfomative(e,t,c),o=r.units,c=r.s_taken;o.forEach((function(e,t){s+=n.getCodeLength(e);t===o.length-1&&("C40"===e.charSet||"Text"===e.charSet||"X12"===e.charSet&&1==(1&e.codeWords))&&s--}))}return{c_length:s,s_taken:c,units:o}};ECC200.prototype.encodeStructureHeader=function(e,t,r){var o=this.m_code,n=this.structureNumber;o[e++]=exports.CONSTANTS.StructuredAppand;o[e++]=mod256(n<<4|16-t+1);var a=this.generateFileIdentifier(t,r);o[e++]=mod256(a>>8);o[e++]=mod256(a);return e};ECC200.prototype.generateFileIdentifier=function(e,t){var r=this.m_symbol,o=this.fileIdentifier;return t%exports.CONSTANTS.FileIdentifierMax+1<<8|(0==o?r.length%exports.CONSTANTS.FileIdentifierMax+1:o)};ECC200.prototype.encode=function(e,t){switch(e.charSet){case"ASCII":return this.encodeASCII(e.start,e.length,t);case"C40":return this.encodeC40(e.start,e.length,t);case"Text":return this.encodeText(e.start,e.length,t);case"X12":return this.encodeX12(e.start,e.length,t);case"EDIFACT":return this.encodeEDIFACT(e.start,e.length,t);case"Base256":return this.encodeBase256(e.start,e.length,t)}};ECC200.prototype.encodeASCII=function(e,t,r){for(var o=this.m_code,n=this.m_symbol,a=e,i=e+t;a<i;a++){var s=getCharType(n[a]);if("FNC1"!==s)if("ExtendedASCII"!==s)if(a+1<i&&"Numeric"===s&&"Numeric"===getCharType(n[a+1])){var c=10*(n[a]-48)+(n[a+1]-48)+130;o.push(c);r++;a++}else{o.push(n[a]+1);r++}else{o.push(exports.CONSTANTS.ASCIIUpperShift);o.push(n[a]-exports.ASCIIMax);r+=2}else{o.push(exports.CONSTANTS.ASCIIFNC1);r++}}return r};ECC200.prototype.encodeTriplet=function(e,t,r,o){var n=this.m_code,a=this.m_symbol,i=this.symbolInfo,s=0,c=0,u=null,l=[],d=t;switch(e){case"C40":n[o++]=exports.CONSTANTS.LatchToC40;break;case"Text":n[o++]=exports.CONSTANTS.LatchToText;break;case"X12":n[o++]=exports.CONSTANTS.LatchToX12}for(;d<t+r;){u=getTripletEncodeValues(e,a[d++]);l=l.concat(u)}for(;o<=i.symbolDataCapacity-2&&l.length>=3;){s=0;for(c=0;c<3;++c){s*=40;s+=l.length>0?l.shift():0}++s;n[o++]=s>>8;n[o++]=255&s}var p=!0;if(l.length>0){var h=i.symbolDataCapacity-o,C=t+r-l.length,g=l.length;if(0===h||l.length>3||l.length>=2&&h<2||"X12"===e&&this.getEncodingLength("ASCII",this.getCodeWordLength("ASCII",C,g),C,g)>(1==h?1:h-1))throw new wijmo_barcode_1.TextTooLongException;p=!1;if(h>=2)if("X12"==e){n[o++]=exports.CONSTANTS.TripletUnlatch;o=this.encodeASCII(d-l.length,l.length,o)}else{p=!0;for(c=0,s=0;c<3;++c){s*=40;s+=l.length>0?l.shift():0}++s;n[o++]=s>>8;n[o++]=255&s}else{var f=a[d-1];if("X12"===e)o=this.encodeASCII(d-1,1,o);else{if(f>exports.ASCIIMax){n[o-2]=exports.CONSTANTS.TripletUnlatch;--o}o=this.encodeASCII(d-1,1,o)}}}p&&o<i.symbolDataCapacity&&(n[o++]=exports.CONSTANTS.TripletUnlatch);return o};ECC200.prototype.encodeC40=function(e,t,r){return this.encodeTriplet("C40",e,t,r)};ECC200.prototype.encodeText=function(e,t,r){return this.encodeTriplet("Text",e,t,r)};ECC200.prototype.encodeX12=function(e,t,r){return this.encodeTriplet("X12",e,t,r)};ECC200.prototype.encodeEDIFACT=function(e,t,r){var o=this.m_code,n=this.m_symbol,a=this.symbolInfo,i=this.text;o[r++]=exports.CONSTANTS.LatchToEDIFACT;for(var s=0,c=0,u=e,l=!1;u<e+t&&a.symbolDataCapacity-r>2;){s=0;c=0;for(;s<4;){++s;var d=0;if(u<e+t){if((d=getEDIFACTValue(n[u++]))==exports.CONSTANTS.InvalidTripletValue)throw new wijmo_barcode_1.InvalidTextException(i)}else{if(u!=e+t){--s;break}d=exports.CONSTANTS.EDIFACTUnlatch;l=!0;++u}c<<=6;c|=d}switch(s){case 1:o[r++]=mod256(c<<2);break;case 2:o[r++]=mod256(c>>4);o[r++]=mod256(c<<4);break;case 3:o[r++]=mod256(c>>10);o[r++]=mod256(c>>2);o[r++]=mod256(c<<6);break;case 4:o[r++]=mod256(c>>16);o[r++]=mod256(c>>8);o[r++]=mod256(c)}}u<e+t?r=this.encodeASCII(u,n.length-u,r):!l&&r<a.symbolDataCapacity-2&&(o[r++]=exports.CONSTANTS.EDIFACTUnlatch<<2);return r};ECC200.prototype.encodeBase256=function(e,t,r){var o=this.m_code,n=this.m_symbol;o[r++]=exports.CONSTANTS.LatchToBase256;t>exports.CONSTANTS.Base256SmallBlockSize&&(o[r++]=getRandomizedValue(exports.CONSTANTS.Base256SmallBlockSize+t/exports.CONSTANTS.Base256SmallBlockSize,r,exports.CONSTANTS.Base256RandomBase));o[r++]=getRandomizedValue(t%(exports.CONSTANTS.Base256SmallBlockSize+1),r,exports.CONSTANTS.Base256RandomBase);for(var a=e;a<e+t;++a)o[r++]=getRandomizedValue(n[a],r,exports.CONSTANTS.Base256RandomBase);return r};ECC200.prototype.padRight=function(e){for(var t=this.m_code,r=this.symbolInfo,o=e;o<r.symbolDataCapacity;o++)t[o]=o==e?exports.CONSTANTS.ASCIIPad:getRandomizedValue(exports.CONSTANTS.ASCIIPad,o+1,exports.CONSTANTS.PadRandomBase)};ECC200.prototype.lookAhead=function(e,t,r,o){var n={ASCII:0,C40:1,Text:2,X12:3,EDIFACT:4,Base256:5},a=["ASCII","C40","Text","X12","EDIFACT","Base256"],i=this.m_symbol;o=0;var s=!1,c=t,u=[0,1,1,1,1,1.25],l=n.C40;(e=n[e])!=n.ASCII&&(u=u.map((function(e){return++e})));u[e]=0;for(var _loop_1=function(){++o;var e=i[t],d=e==exports.CONSTANTS.FNC1Input,p=e>exports.ASCIIMax;u.forEach((function(t,r){switch(r){case n.ASCII:p&&!d?u[r]=roundUpCodeLength(u[r])+2:isDigit(e)?u[r]+=.5:u[r]+=1;break;case n.C40:case n.Text:u[r]+=d?4/3:p?8/3:0==getTripletCharSetChannel(a[r],e)?2/3:4/3;break;case n.X12:p?u[r]+=13/3:getX12Value(e)!=exports.CONSTANTS.InvalidTripletValue?u[r]+=2/3:u[r]+=10/3;break;case n.EDIFACT:p?u[r]+=4.25:getEDIFACTValue(e)!=exports.CONSTANTS.InvalidTripletValue?u[r]+=.75:u[r]+=3.25;break;case n.Base256:u[r]+=1}}));var h=[n.ASCII,n.Base256,n.EDIFACT,n.Text,n.X12,n.C40];if(o>3)for(var C=0;C<h.length;++C){for(var g=!0,f=h[C],m=u[f]+1,_=0;_<u.length;++_){switch(f){case n.ASCII:u[_]<m&&(g=!1);break;case n.Base256:(_==n.ASCII&&u[_]<m||u[_]<=m)&&(g=!1);break;case n.EDIFACT:case n.Text:case n.X12:u[_]<=m&&(g=!1);break;case n.C40:if(_!=n.X12&&u[_]<=m)g=!1;else{m-=1;if(u[_]<m)g=!1;else if(u[_]==m){for(var S=c;S<=t;){var b=getX12Value(i[S++]);if(b<3)return{value:a[n.X12]};if(b==exports.CONSTANTS.InvalidTripletValue)break}return{value:a[n.C40]}}}}if(!g)break}if(g){l=f;break}}++t;var w=0;for(C=0;C<u.length;++C)roundUpCodeLength(u[C])<roundUpCodeLength(u[w])&&(w=C);if(t<i.length&&roundUpCodeLength(u[w])>=r){s=!0;return"break"}};t<i.length&&t-c<=exports.CONSTANTS.MaxLookAheadOffset;){var d=_loop_1();if("object"==typeof d)return d.value;if("break"===d)break}if(t==i.length||t-c>=exports.CONSTANTS.MaxLookAheadOffset||s){for(var p=0,h=0;h<u.length;++h){u[h]=roundUpCodeLength(u[h]);u[h]<u[p]&&(p=h)}if(0==p||p==n.C40)l=p;else{var C=!0,g=u[p];for(h=0;h<u.length;++h)if(h!=p&&u[h]<=g){C=!1;break}C&&(l=p)}}return{d_len:o,newCharset:a[l]}};ECC200.prototype.getMatrix=function(){var e,t=this,r=this,o=r.text,n=r.m_symbol,a=r.symbolSize,i=r.structuredAppend,s=r.structureNumber,c=r.symbolInfo;if(n.length>3116*(i?16:1))throw new wijmo_barcode_1.TextTooLongException;var u=0,l=0,d=0,p=0,h=0;"squareAuto"!==a&&"rectangularAuto"!==a?c=getSymbolInfo(a):"rectangularAuto"===a&&(c=getSymbolInfo("rectangular16x48"));this.symbolInfo=c;i||(u=(e=this.preEncode(u,l)).s_pos,l=e.c_pos);var C,g=c.symbolDataCapacity;if(i){g-=4;d=4}else{g-=l;d=l}if(!this.checkValue(u))throw new wijmo_barcode_1.InvalidTextException(o);for(;p<(i?exports.CONSTANTS.MaxStructures:1)&&u<n.length;p++){h^=n[u];var f=this.getEncodingUnits(u,g),m=f.s_taken,_=f.c_length,S=f.units;u+=m;if(p==s){C=S;d+=_}}if(null==C)throw new wijmo_barcode_1.InvalidOptionsException({structureNumber:s},"Max structure number is "+p);if(u<n.length)throw new wijmo_barcode_1.TextTooLongException;if("squareAuto"===a||"rectangularAuto"===a){c=getSuitableSymbolSize(a,d);this.symbolInfo=c}i&&(l=this.encodeStructureHeader(l,p,mod256(h^n[n.length-1])));C.forEach((function(e){l=t.encode(e,l)}));l<c.symbolDataCapacity&&this.padRight(l);var b=this.eccProcess(),w=getInfoOfRegions(c.regions),E=w.rowOfRegion,x=w.colOfRegion,M=new SymbolCharacterPlacement(b,c.symbolRows-2*E,c.symbolColumns-2*x).ECC200();return this.placeModules(M)};ECC200.prototype.eccProcess=function(){var e=this.symbolInfo,t=this.m_code,r=e.symbolDataCapacity/e.interleavedBlocks,o=e.eccLength/e.interleavedBlocks;144==e.symbolRows&&++r;for(var n=[],a=0;a<e.interleavedBlocks;++a){for(var i=0,s=a;i<r&&s<e.symbolDataCapacity;++i,s+=e.interleavedBlocks)n[i]=t[s];var c=generateErrorCorrectionCode(n,0,i,o);s=a;for(var u=0;u<c.length;++u,s+=e.interleavedBlocks)t[e.symbolDataCapacity+s]=c[u]}return t};ECC200.prototype.placeModules=function(e){for(var t=this.symbolInfo,r=createModules(t.symbolRows,t.symbolColumns),o=getInfoOfRegions(t.regions),n=o.rowOfRegion,a=o.colOfRegion,i=0;i<n;i++)for(var s=0;s<a;s++){setFinder(r,t,i,s);setRegionData(r,t,i,s,e)}return r};return ECC200}();exports.ECC200=ECC200;var DataMatrixVersion,Ecc200EncodingMode,Ecc200SymbolSize,Ecc000_140SymbolSize,DataMatrixEncoder=function(e){__extends(DataMatrixEncoder,e);function DataMatrixEncoder(t){var r=this;t.merge(DataMatrixEncoder.DefaultConfig);var o,n=(r=e.call(this,t)||this).config,a=n.eccMode,i=n.ecc200SymbolSize,s=n.ecc200EncodingMode,c=n.structuredAppend,u=n.structureNumber,l=n.fileIdentifier,d=n.ecc000_140SymbolSize,p=r.encodeConfig.text;u=+u;l=+l;switch(a){case"ECC200":o=new ECC200(p,{ecc200SymbolSize:i,ecc200EncodingMode:s,structuredAppend:c,structureNumber:u,fileIdentifier:l});break;case"ECC000":case"ECC050":case"ECC080":case"ECC100":case"ECC140":o=new ECC000_140(p,{ecc000_140SymbolSize:d,structuredAppend:c,structureNumber:u,fileIdentifier:l,eccMode:a});break;default:throw new wijmo_barcode_1.InvalidOptionsException({eccMode:a})}r.innerEncoder=o;return r}DataMatrixEncoder.prototype.calculateData=function(){return this.innerEncoder.getMatrix()};DataMatrixEncoder.prototype.validate=function(){var e=this.encodeConfig.text,t=this.config,r=t.eccMode,o=t.structureNumber,n=t.fileIdentifier;if(!("ECC200"===r?/^[\x00-\xFF\u2000\u2004\u2005]+$/:/^[\x00-\xFF]+$/).test(e))throw new wijmo_barcode_1.InvalidTextException(e);if(!wijmo_barcode_1.Utils.isNumberLike(o))throw new wijmo_barcode_1.InvalidOptionsException({structureNumber:o});if(!wijmo_barcode_1.Utils.isNumberLike(n))throw new wijmo_barcode_1.InvalidOptionsException({fileIdentifier:n})};DataMatrixEncoder.DefaultConfig={eccMode:"ECC200",ecc200SymbolSize:"squareAuto",ecc200EncodingMode:"auto",ecc000_140SymbolSize:"auto",structuredAppend:!1,structureNumber:0,fileIdentifier:0,quietZone:{top:2,left:2,right:2,bottom:2}};return DataMatrixEncoder}(wijmo_barcode_1.TwoDimensionalBarcode);exports.DataMatrixEncoder=DataMatrixEncoder;wijmo_barcode_1.Barcode.registerEncoder("DataMatrix",DataMatrixEncoder);exports.Code49ClsNames={hostElement:"wj-barcode-code49"};exports.Code93ClsNames={hostElement:"wj-barcode-code93"};exports.DataMatrixClsNames={hostElement:"wj-barcode-datamatrix"};exports.DataMatrixEcc000ClsNames={hostElement:"wj-barcode-datamatrix-ecc000"};exports.DataMatrixEcc200ClsNames={hostElement:"wj-barcode-datamatrix-ecc200"};exports.Interleaved2of5ClsNames={hostElement:"wj-barcode-interleaved2of5"};exports.Itf14ClsNames={hostElement:"wj-barcode-itf14"};exports.JapanesePostalClsNames={hostElement:"wj-barcode-japanese-postal"};!function(e){e[e.Ecc000=0]="Ecc000";e[e.Ecc050=1]="Ecc050";e[e.Ecc080=2]="Ecc080";e[e.Ecc100=3]="Ecc100";e[e.Ecc140=4]="Ecc140"}(DataMatrixVersion=exports.DataMatrixVersion||(exports.DataMatrixVersion={}));!function(e){e[e.Auto=0]="Auto";e[e.Ascii=1]="Ascii";e[e.C40=2]="C40";e[e.Text=3]="Text";e[e.X12=4]="X12";e[e.Edifact=5]="Edifact";e[e.Base256=6]="Base256"}(Ecc200EncodingMode=exports.Ecc200EncodingMode||(exports.Ecc200EncodingMode={}));!function(e){e[e.SquareAuto=0]="SquareAuto";e[e.RectangularAuto=1]="RectangularAuto";e[e.Square10=2]="Square10";e[e.Square12=3]="Square12";e[e.Square14=4]="Square14";e[e.Square16=5]="Square16";e[e.Square18=6]="Square18";e[e.Square20=7]="Square20";e[e.Square22=8]="Square22";e[e.Square24=9]="Square24";e[e.Square26=10]="Square26";e[e.Square32=11]="Square32";e[e.Square36=12]="Square36";e[e.Square40=13]="Square40";e[e.Square44=14]="Square44";e[e.Square48=15]="Square48";e[e.Square52=16]="Square52";e[e.Square64=17]="Square64";e[e.Square72=18]="Square72";e[e.Square80=19]="Square80";e[e.Square88=20]="Square88";e[e.Square96=21]="Square96";e[e.Square104=22]="Square104";e[e.Square120=23]="Square120";e[e.Square132=24]="Square132";e[e.Square144=25]="Square144";e[e.Rectangular8x18=26]="Rectangular8x18";e[e.Rectangular8x32=27]="Rectangular8x32";e[e.Rectangular12x26=28]="Rectangular12x26";e[e.Rectangular12x36=29]="Rectangular12x36";e[e.Rectangular16x36=30]="Rectangular16x36";e[e.Rectangular16x48=31]="Rectangular16x48"}(Ecc200SymbolSize=exports.Ecc200SymbolSize||(exports.Ecc200SymbolSize={}));!function(e){e[e.Auto=0]="Auto";e[e.Square9=1]="Square9";e[e.Square11=2]="Square11";e[e.Square13=3]="Square13";e[e.Square15=4]="Square15";e[e.Square17=5]="Square17";e[e.Square19=6]="Square19";e[e.Square21=7]="Square21";e[e.Square23=8]="Square23";e[e.Square25=9]="Square25";e[e.Square27=10]="Square27";e[e.Square29=11]="Square29";e[e.Square31=12]="Square31";e[e.Square33=13]="Square33";e[e.Square35=14]="Square35";e[e.Square37=15]="Square37";e[e.Square39=16]="Square39";e[e.Square41=17]="Square41";e[e.Square43=18]="Square43";e[e.Square45=19]="Square45";e[e.Square47=20]="Square47";e[e.Square49=21]="Square49"}(Ecc000_140SymbolSize=exports.Ecc000_140SymbolSize||(exports.Ecc000_140SymbolSize={}));var _DataMatrixVersionConvertor=function(){function _DataMatrixVersionConvertor(){}_DataMatrixVersionConvertor.stringToEnum=function(e){switch(e){case"ECC000":return DataMatrixVersion.Ecc000;case"ECC050":return DataMatrixVersion.Ecc050;case"ECC080":return DataMatrixVersion.Ecc080;case"ECC100":return DataMatrixVersion.Ecc100;case"ECC140":return DataMatrixVersion.Ecc140}throw"Unknown Barcode internal eccMode '"+e+"'"};_DataMatrixVersionConvertor.enumToString=function(e){return DataMatrixVersion[wijmo_1.asEnum(e,DataMatrixVersion)].toUpperCase()};return _DataMatrixVersionConvertor}();exports._DataMatrixVersionConvertor=_DataMatrixVersionConvertor;var _Ecc200EncodingModeConvertor=function(){function _Ecc200EncodingModeConvertor(){}_Ecc200EncodingModeConvertor.stringToEnum=function(e){switch(e){case"auto":return Ecc200EncodingMode.Auto;case"ASCII":return Ecc200EncodingMode.Ascii;case"C40":return Ecc200EncodingMode.C40;case"Text":return Ecc200EncodingMode.Text;case"X12":return Ecc200EncodingMode.X12;case"EDIFACT":return Ecc200EncodingMode.Edifact;case"Base256":return Ecc200EncodingMode.Base256}throw"Unknown Barcode internal ECC200 encoding mode '"+e+"'"};_Ecc200EncodingModeConvertor.enumToString=function(e){var t=wijmo_1.asEnum(e,Ecc200EncodingMode);switch(t){case Ecc200EncodingMode.Auto:return"auto";case Ecc200EncodingMode.Ascii:case Ecc200EncodingMode.Edifact:return Ecc200EncodingMode[t].toUpperCase();default:return Ecc200EncodingMode[t]}};return _Ecc200EncodingModeConvertor}();exports._Ecc200EncodingModeConvertor=_Ecc200EncodingModeConvertor;function _SymbolSizeConvertor(e){return e.charAt(0).toLowerCase()+e.slice(1)}exports._SymbolSizeConvertor=_SymbolSizeConvertor;var DataMatrixBase=function(e){__extends(DataMatrixBase,e);function DataMatrixBase(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixClsNames.hostElement);return o}DataMatrixBase.type="DataMatrix";return DataMatrixBase}(wijmo_barcode_1.BarcodeBase);exports.DataMatrixBase=DataMatrixBase;var DataMatrixEcc000=function(e){__extends(DataMatrixEcc000,e);function DataMatrixEcc000(t,r){var o;DataMatrixEcc000._getEnumDictionary();o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixEcc000ClsNames.hostElement);return o}DataMatrixEcc000._getEnumDictionary=function(){DataMatrixEcc000._symbolSizeDictionary||(DataMatrixEcc000._symbolSizeDictionary=new wijmo_barcode_1._EnumDictionary(Ecc000_140SymbolSize,_SymbolSizeConvertor))};DataMatrixEcc000._getClassDefaults=function(){var t=e._getClassDefaults.call(this);t.eccMode="ECC000";return t};Object.defineProperty(DataMatrixEcc000.prototype,"version",{get:function(){return _DataMatrixVersionConvertor.stringToEnum(this._getProp("eccMode"))},set:function(e){this._setProp("eccMode",_DataMatrixVersionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc000.prototype,"symbolSize",{get:function(){return DataMatrixEcc000._symbolSizeDictionary.getEnumByString(this._getProp("ecc000_140SymbolSize"))},set:function(e){this._setProp("ecc000_140SymbolSize",DataMatrixEcc000._symbolSizeDictionary.getStringByEnum(e))},enumerable:!0,configurable:!0});return DataMatrixEcc000}(DataMatrixBase);exports.DataMatrixEcc000=DataMatrixEcc000;var DataMatrixEcc200=function(e){__extends(DataMatrixEcc200,e);function DataMatrixEcc200(t,r){var o;DataMatrixEcc200._getEnumDictionary();o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.DataMatrixEcc200ClsNames.hostElement);return o}DataMatrixEcc200._getEnumDictionary=function(){DataMatrixEcc200._symbolSizeDictionary||(DataMatrixEcc200._symbolSizeDictionary=new wijmo_barcode_1._EnumDictionary(Ecc200SymbolSize,_SymbolSizeConvertor))};DataMatrixEcc200._getClassDefaults=function(){var t=e._getClassDefaults.call(this);t.eccMode="ECC200";return t};Object.defineProperty(DataMatrixEcc200.prototype,"symbolSize",{get:function(){return DataMatrixEcc200._symbolSizeDictionary.getEnumByString(this._getProp("ecc200SymbolSize"))},set:function(e){this._setProp("ecc200SymbolSize",DataMatrixEcc200._symbolSizeDictionary.getStringByEnum(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"encodingMode",{get:function(){return _Ecc200EncodingModeConvertor.stringToEnum(this._getProp("ecc200EncodingMode"))},set:function(e){this._setProp("ecc200EncodingMode",_Ecc200EncodingModeConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"structuredAppend",{get:function(){return this._getProp("structuredAppend")},set:function(e){this._setProp("structuredAppend",e)},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"structureNumber",{get:function(){return this._getProp("structureNumber")},set:function(e){this._setProp("structureNumber",e)},enumerable:!0,configurable:!0});Object.defineProperty(DataMatrixEcc200.prototype,"fileIdentifier",{get:function(){return this._getProp("fileIdentifier")},set:function(e){this._setProp("fileIdentifier",e)},enumerable:!0,configurable:!0});return DataMatrixEcc200}(DataMatrixBase);exports.DataMatrixEcc200=DataMatrixEcc200;var Code49=function(e){__extends(Code49,e);function Code49(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.Code49ClsNames.hostElement);return o}Object.defineProperty(Code49,"controlTemplate",{get:function(){Code49._ctrlTemplate||(Code49._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Code49._ctrlTemplate},set:function(e){Code49._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"grouping",{get:function(){return this._getProp("grouping")},set:function(e){this._setProp("grouping",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"groupIndex",{get:function(){return this._getProp("groupNo")},set:function(e){this._setProp("groupNo",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code49.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Code49.type="Code49";Code49._ctrlTemplate="";return Code49}(wijmo_barcode_1.BarcodeBase);exports.Code49=Code49;var Code93=function(e){__extends(Code93,e);function Code93(t,r){var o=e.call(this,t)||this;wijmo_1.addClass(o.hostElement,exports.Code93ClsNames.hostElement);o._setAw(!0);o.initialize(r);return o}Object.defineProperty(Code93,"controlTemplate",{get:function(){Code93._ctrlTemplate||(Code93._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Code93._ctrlTemplate},set:function(e){Code93._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"autoWidth",{get:function(){return this._getAw()},set:function(e){this._setAw(e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"autoWidthZoom",{get:function(){return this._getWzoom()},set:function(e){this._setWzoom(e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"checkDigit",{get:function(){return this._getProp("checkDigit")},set:function(e){this._setProp("checkDigit",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"fullAscii",{get:function(){return this._getProp("fullASCII")},set:function(e){this._setProp("fullASCII",e)},enumerable:!0,configurable:!0});Object.defineProperty(Code93.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Code93.type="Code93";Code93._ctrlTemplate="";return Code93}(wijmo_barcode_1.BarcodeBase);exports.Code93=Code93;var Itf14=function(e){__extends(Itf14,e);function Itf14(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.Itf14ClsNames.hostElement);return o}Object.defineProperty(Itf14.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"nwRatio",{get:function(){return wijmo_barcode_1._NarrowWideRatioConvertor.stringToEnum(this._getProp("nwRatio"))},set:function(e){this._setProp("nwRatio",wijmo_barcode_1._NarrowWideRatioConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"bearerBar",{get:function(){return this._getProp("bearerBar")},set:function(e){this._setProp("bearerBar",e)},enumerable:!0,configurable:!0});Object.defineProperty(Itf14.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Itf14.type="ITF-14";return Itf14}(wijmo_barcode_1.BarcodeBase);exports.Itf14=Itf14;var Interleaved2of5=function(e){__extends(Interleaved2of5,e);function Interleaved2of5(t,r){var o=e.call(this,t)||this;wijmo_1.addClass(o.hostElement,exports.Interleaved2of5ClsNames.hostElement);o._setAw(!0);o.initialize(r);return o}Object.defineProperty(Interleaved2of5,"controlTemplate",{get:function(){Interleaved2of5._ctrlTemplate||(Interleaved2of5._ctrlTemplate=wijmo_barcode_1.BarcodeBase.controlTemplate);return Interleaved2of5._ctrlTemplate},set:function(e){Interleaved2of5._ctrlTemplate=e},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"autoWidth",{get:function(){return this._getAw()},set:function(e){this._setAw(e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"autoWidthZoom",{get:function(){return this._getWzoom()},set:function(e){this._setWzoom(e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"nwRatio",{get:function(){return wijmo_barcode_1._NarrowWideRatioConvertor.stringToEnum(this._getProp("nwRatio"))},set:function(e){this._setProp("nwRatio",wijmo_barcode_1._NarrowWideRatioConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"bearerBar",{get:function(){return this._getProp("bearerBar")},set:function(e){this._setProp("bearerBar",e)},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});Object.defineProperty(Interleaved2of5.prototype,"checkCharacter",{get:function(){return this._getProp("checkCharacter")},set:function(e){this._setProp("checkCharacter",e)},enumerable:!0,configurable:!0});Interleaved2of5.type="Interleaved2of5";Interleaved2of5._ctrlTemplate="";return Interleaved2of5}(wijmo_barcode_1.BarcodeBase);exports.Interleaved2of5=Interleaved2of5;var JapanesePostal=function(e){__extends(JapanesePostal,e);function JapanesePostal(t,r){var o=e.call(this,t,r)||this;wijmo_1.addClass(o.hostElement,exports.JapanesePostalClsNames.hostElement);return o}Object.defineProperty(JapanesePostal.prototype,"showLabel",{get:function(){return this._getProp("showLabel")},set:function(e){this._setProp("showLabel",e)},enumerable:!0,configurable:!0});Object.defineProperty(JapanesePostal.prototype,"labelPosition",{get:function(){return wijmo_barcode_1._LabelPositionConvertor.stringToEnum(this._getProp("labelPosition"))},set:function(e){this._setProp("labelPosition",wijmo_barcode_1._LabelPositionConvertor.enumToString(e))},enumerable:!0,configurable:!0});JapanesePostal.type="Japanese Postal";return JapanesePostal}(wijmo_barcode_1.BarcodeBase);exports.JapanesePostal=JapanesePostal;wijmo_1._registerModule("wijmo.barcode.specialized",selfModule);