quarchpy 2.1.14.dev4__py2.py3-none-any.whl → 2.1.14.dev5__py2.py3-none-any.whl

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 (730) hide show
  1. quarchpy/.idea/.name +1 -0
  2. quarchpy/.idea/workspace.xml +70 -11
  3. quarchpy/__pycache__/_version.cpython-311.pyc +0 -0
  4. quarchpy/__pycache__/run.cpython-311.pyc +0 -0
  5. quarchpy/_version.py +1 -1
  6. quarchpy/_version.py.bak +1 -0
  7. quarchpy/connection_specific/QPS/qis/qis.jar +0 -0
  8. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.04.jar +0 -0
  9. quarchpy/connection_specific/QPS/qps.jar +0 -0
  10. quarchpy/connection_specific/QPS/scriptCommands.txt +2 -2
  11. quarchpy/connection_specific/__pycache__/connection_QIS.cpython-311.pyc +0 -0
  12. quarchpy/connection_specific/connection_QIS.py +6 -4
  13. quarchpy/connection_specific/connection_ReST.py +26 -16
  14. quarchpy/debug/__pycache__/module_debug.cpython-311.pyc +0 -0
  15. quarchpy/debug/__pycache__/simple_terminal.cpython-311.pyc +0 -0
  16. quarchpy/debug/__pycache__/upgrade_quarchpy.cpython-311.pyc +0 -0
  17. quarchpy/device/__pycache__/scanDevices.cpython-311.pyc +0 -0
  18. quarchpy/device/scanDevices.py +2 -4
  19. quarchpy/device/scanDevices.py.bak +657 -0
  20. quarchpy/qis/qisFuncs.py +25 -42
  21. quarchpy/qis/qisFuncs.py.bak +213 -0
  22. quarchpy/qps/__pycache__/qpsFuncs.cpython-311.pyc +0 -0
  23. quarchpy/qps/qpsFuncs.py +18 -22
  24. quarchpy/qps/qpsFuncs.py.bak +224 -0
  25. quarchpy/venv/.gitignore +2 -0
  26. quarchpy/venv/Include/Python-ast.h +535 -0
  27. quarchpy/venv/Include/Python.h +181 -0
  28. quarchpy/venv/Include/abstract.h +1396 -0
  29. quarchpy/venv/Include/asdl.h +45 -0
  30. quarchpy/venv/Include/ast.h +13 -0
  31. quarchpy/venv/Include/bitset.h +32 -0
  32. quarchpy/venv/Include/boolobject.h +36 -0
  33. quarchpy/venv/Include/bufferobject.h +33 -0
  34. quarchpy/venv/Include/bytearrayobject.h +57 -0
  35. quarchpy/venv/Include/bytes_methods.h +75 -0
  36. quarchpy/venv/Include/bytesobject.h +27 -0
  37. quarchpy/venv/Include/cStringIO.h +73 -0
  38. quarchpy/venv/Include/cellobject.h +28 -0
  39. quarchpy/venv/Include/ceval.h +154 -0
  40. quarchpy/venv/Include/classobject.h +83 -0
  41. quarchpy/venv/Include/cobject.h +89 -0
  42. quarchpy/venv/Include/code.h +116 -0
  43. quarchpy/venv/Include/codecs.h +212 -0
  44. quarchpy/venv/Include/compile.h +40 -0
  45. quarchpy/venv/Include/complexobject.h +66 -0
  46. quarchpy/venv/Include/datetime.h +239 -0
  47. quarchpy/venv/Include/descrobject.h +94 -0
  48. quarchpy/venv/Include/dictobject.h +160 -0
  49. quarchpy/venv/Include/dtoa.h +15 -0
  50. quarchpy/venv/Include/enumobject.h +17 -0
  51. quarchpy/venv/Include/errcode.h +37 -0
  52. quarchpy/venv/Include/eval.h +25 -0
  53. quarchpy/venv/Include/fileobject.h +97 -0
  54. quarchpy/venv/Include/floatobject.h +140 -0
  55. quarchpy/venv/Include/frameobject.h +89 -0
  56. quarchpy/venv/Include/funcobject.h +76 -0
  57. quarchpy/venv/Include/genobject.h +40 -0
  58. quarchpy/venv/Include/graminit.h +87 -0
  59. quarchpy/venv/Include/grammar.h +94 -0
  60. quarchpy/venv/Include/import.h +71 -0
  61. quarchpy/venv/Include/intobject.h +84 -0
  62. quarchpy/venv/Include/intrcheck.h +15 -0
  63. quarchpy/venv/Include/iterobject.h +23 -0
  64. quarchpy/venv/Include/listobject.h +68 -0
  65. quarchpy/venv/Include/longintrepr.h +103 -0
  66. quarchpy/venv/Include/longobject.h +135 -0
  67. quarchpy/venv/Include/marshal.h +25 -0
  68. quarchpy/venv/Include/memoryobject.h +74 -0
  69. quarchpy/venv/Include/metagrammar.h +18 -0
  70. quarchpy/venv/Include/methodobject.h +93 -0
  71. quarchpy/venv/Include/modsupport.h +134 -0
  72. quarchpy/venv/Include/moduleobject.h +24 -0
  73. quarchpy/venv/Include/node.h +41 -0
  74. quarchpy/venv/Include/object.h +1046 -0
  75. quarchpy/venv/Include/objimpl.h +369 -0
  76. quarchpy/venv/Include/opcode.h +171 -0
  77. quarchpy/venv/Include/osdefs.h +63 -0
  78. quarchpy/venv/Include/parsetok.h +64 -0
  79. quarchpy/venv/Include/patchlevel.h +43 -0
  80. quarchpy/venv/Include/pgen.h +18 -0
  81. quarchpy/venv/Include/pgenheaders.h +43 -0
  82. quarchpy/venv/Include/py_curses.h +177 -0
  83. quarchpy/venv/Include/pyarena.h +62 -0
  84. quarchpy/venv/Include/pycapsule.h +56 -0
  85. quarchpy/venv/Include/pyconfig.h +770 -0
  86. quarchpy/venv/Include/pyctype.h +31 -0
  87. quarchpy/venv/Include/pydebug.h +41 -0
  88. quarchpy/venv/Include/pyerrors.h +329 -0
  89. quarchpy/venv/Include/pyexpat.h +50 -0
  90. quarchpy/venv/Include/pyfpe.h +176 -0
  91. quarchpy/venv/Include/pygetopt.h +18 -0
  92. quarchpy/venv/Include/pymacconfig.h +102 -0
  93. quarchpy/venv/Include/pymactoolbox.h +232 -0
  94. quarchpy/venv/Include/pymath.h +214 -0
  95. quarchpy/venv/Include/pymem.h +122 -0
  96. quarchpy/venv/Include/pyport.h +950 -0
  97. quarchpy/venv/Include/pystate.h +200 -0
  98. quarchpy/venv/Include/pystrcmp.h +23 -0
  99. quarchpy/venv/Include/pystrtod.h +45 -0
  100. quarchpy/venv/Include/pythonrun.h +181 -0
  101. quarchpy/venv/Include/pythread.h +41 -0
  102. quarchpy/venv/Include/rangeobject.h +28 -0
  103. quarchpy/venv/Include/setobject.h +99 -0
  104. quarchpy/venv/Include/sliceobject.h +50 -0
  105. quarchpy/venv/Include/stringobject.h +210 -0
  106. quarchpy/venv/Include/structmember.h +99 -0
  107. quarchpy/venv/Include/structseq.h +41 -0
  108. quarchpy/venv/Include/symtable.h +98 -0
  109. quarchpy/venv/Include/sysmodule.h +31 -0
  110. quarchpy/venv/Include/timefuncs.h +26 -0
  111. quarchpy/venv/Include/token.h +85 -0
  112. quarchpy/venv/Include/traceback.h +31 -0
  113. quarchpy/venv/Include/tupleobject.h +61 -0
  114. quarchpy/venv/Include/ucnhash.h +33 -0
  115. quarchpy/venv/Include/unicodeobject.h +1413 -0
  116. quarchpy/venv/Include/warnings.h +23 -0
  117. quarchpy/venv/Include/weakrefobject.h +82 -0
  118. quarchpy/venv/Lib/os.py +742 -0
  119. quarchpy/venv/Lib/os.pyc +0 -0
  120. quarchpy/venv/Lib/site-packages/_virtualenv.pth +1 -0
  121. quarchpy/venv/Lib/site-packages/_virtualenv.py +130 -0
  122. quarchpy/venv/Lib/site-packages/_virtualenv.pyc +0 -0
  123. quarchpy/venv/Lib/site-packages/easy_install.py +5 -0
  124. quarchpy/venv/Lib/site-packages/pip/__init__.py +18 -0
  125. quarchpy/venv/Lib/site-packages/pip/__main__.py +26 -0
  126. quarchpy/venv/Lib/site-packages/pip/_internal/__init__.py +17 -0
  127. quarchpy/venv/Lib/site-packages/pip/_internal/build_env.py +242 -0
  128. quarchpy/venv/Lib/site-packages/pip/_internal/cache.py +346 -0
  129. quarchpy/venv/Lib/site-packages/pip/_internal/cli/__init__.py +4 -0
  130. quarchpy/venv/Lib/site-packages/pip/_internal/cli/autocompletion.py +164 -0
  131. quarchpy/venv/Lib/site-packages/pip/_internal/cli/base_command.py +260 -0
  132. quarchpy/venv/Lib/site-packages/pip/_internal/cli/cmdoptions.py +971 -0
  133. quarchpy/venv/Lib/site-packages/pip/_internal/cli/command_context.py +36 -0
  134. quarchpy/venv/Lib/site-packages/pip/_internal/cli/main.py +75 -0
  135. quarchpy/venv/Lib/site-packages/pip/_internal/cli/main_parser.py +96 -0
  136. quarchpy/venv/Lib/site-packages/pip/_internal/cli/parser.py +285 -0
  137. quarchpy/venv/Lib/site-packages/pip/_internal/cli/progress_bars.py +280 -0
  138. quarchpy/venv/Lib/site-packages/pip/_internal/cli/req_command.py +436 -0
  139. quarchpy/venv/Lib/site-packages/pip/_internal/cli/spinners.py +173 -0
  140. quarchpy/venv/Lib/site-packages/pip/_internal/cli/status_codes.py +8 -0
  141. quarchpy/venv/Lib/site-packages/pip/_internal/commands/__init__.py +123 -0
  142. quarchpy/venv/Lib/site-packages/pip/_internal/commands/cache.py +234 -0
  143. quarchpy/venv/Lib/site-packages/pip/_internal/commands/check.py +51 -0
  144. quarchpy/venv/Lib/site-packages/pip/_internal/commands/completion.py +98 -0
  145. quarchpy/venv/Lib/site-packages/pip/_internal/commands/configuration.py +280 -0
  146. quarchpy/venv/Lib/site-packages/pip/_internal/commands/debug.py +230 -0
  147. quarchpy/venv/Lib/site-packages/pip/_internal/commands/download.py +143 -0
  148. quarchpy/venv/Lib/site-packages/pip/_internal/commands/freeze.py +116 -0
  149. quarchpy/venv/Lib/site-packages/pip/_internal/commands/hash.py +63 -0
  150. quarchpy/venv/Lib/site-packages/pip/_internal/commands/help.py +46 -0
  151. quarchpy/venv/Lib/site-packages/pip/_internal/commands/install.py +737 -0
  152. quarchpy/venv/Lib/site-packages/pip/_internal/commands/list.py +327 -0
  153. quarchpy/venv/Lib/site-packages/pip/_internal/commands/search.py +169 -0
  154. quarchpy/venv/Lib/site-packages/pip/_internal/commands/show.py +186 -0
  155. quarchpy/venv/Lib/site-packages/pip/_internal/commands/uninstall.py +95 -0
  156. quarchpy/venv/Lib/site-packages/pip/_internal/commands/wheel.py +198 -0
  157. quarchpy/venv/Lib/site-packages/pip/_internal/configuration.py +407 -0
  158. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/__init__.py +24 -0
  159. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/base.py +46 -0
  160. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/installed.py +25 -0
  161. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/sdist.py +105 -0
  162. quarchpy/venv/Lib/site-packages/pip/_internal/distributions/wheel.py +37 -0
  163. quarchpy/venv/Lib/site-packages/pip/_internal/exceptions.py +391 -0
  164. quarchpy/venv/Lib/site-packages/pip/_internal/index/__init__.py +2 -0
  165. quarchpy/venv/Lib/site-packages/pip/_internal/index/collector.py +667 -0
  166. quarchpy/venv/Lib/site-packages/pip/_internal/index/package_finder.py +1015 -0
  167. quarchpy/venv/Lib/site-packages/pip/_internal/locations.py +193 -0
  168. quarchpy/venv/Lib/site-packages/pip/_internal/main.py +16 -0
  169. quarchpy/venv/Lib/site-packages/pip/_internal/models/__init__.py +2 -0
  170. quarchpy/venv/Lib/site-packages/pip/_internal/models/candidate.py +39 -0
  171. quarchpy/venv/Lib/site-packages/pip/_internal/models/direct_url.py +243 -0
  172. quarchpy/venv/Lib/site-packages/pip/_internal/models/format_control.py +92 -0
  173. quarchpy/venv/Lib/site-packages/pip/_internal/models/index.py +34 -0
  174. quarchpy/venv/Lib/site-packages/pip/_internal/models/link.py +246 -0
  175. quarchpy/venv/Lib/site-packages/pip/_internal/models/scheme.py +31 -0
  176. quarchpy/venv/Lib/site-packages/pip/_internal/models/search_scope.py +135 -0
  177. quarchpy/venv/Lib/site-packages/pip/_internal/models/selection_prefs.py +50 -0
  178. quarchpy/venv/Lib/site-packages/pip/_internal/models/target_python.py +117 -0
  179. quarchpy/venv/Lib/site-packages/pip/_internal/models/wheel.py +78 -0
  180. quarchpy/venv/Lib/site-packages/pip/_internal/network/__init__.py +2 -0
  181. quarchpy/venv/Lib/site-packages/pip/_internal/network/auth.py +310 -0
  182. quarchpy/venv/Lib/site-packages/pip/_internal/network/cache.py +79 -0
  183. quarchpy/venv/Lib/site-packages/pip/_internal/network/download.py +202 -0
  184. quarchpy/venv/Lib/site-packages/pip/_internal/network/lazy_wheel.py +231 -0
  185. quarchpy/venv/Lib/site-packages/pip/_internal/network/session.py +428 -0
  186. quarchpy/venv/Lib/site-packages/pip/_internal/network/utils.py +97 -0
  187. quarchpy/venv/Lib/site-packages/pip/_internal/network/xmlrpc.py +53 -0
  188. quarchpy/venv/Lib/site-packages/pip/_internal/operations/__init__.py +0 -0
  189. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/__init__.py +0 -0
  190. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/metadata.py +38 -0
  191. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/metadata_legacy.py +77 -0
  192. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/wheel.py +47 -0
  193. quarchpy/venv/Lib/site-packages/pip/_internal/operations/build/wheel_legacy.py +113 -0
  194. quarchpy/venv/Lib/site-packages/pip/_internal/operations/check.py +155 -0
  195. quarchpy/venv/Lib/site-packages/pip/_internal/operations/freeze.py +277 -0
  196. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/__init__.py +2 -0
  197. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/editable_legacy.py +52 -0
  198. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/legacy.py +130 -0
  199. quarchpy/venv/Lib/site-packages/pip/_internal/operations/install/wheel.py +846 -0
  200. quarchpy/venv/Lib/site-packages/pip/_internal/operations/prepare.py +608 -0
  201. quarchpy/venv/Lib/site-packages/pip/_internal/pyproject.py +196 -0
  202. quarchpy/venv/Lib/site-packages/pip/_internal/req/__init__.py +103 -0
  203. quarchpy/venv/Lib/site-packages/pip/_internal/req/constructors.py +476 -0
  204. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_file.py +574 -0
  205. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_install.py +907 -0
  206. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_set.py +204 -0
  207. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_tracker.py +151 -0
  208. quarchpy/venv/Lib/site-packages/pip/_internal/req/req_uninstall.py +657 -0
  209. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/__init__.py +0 -0
  210. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/base.py +21 -0
  211. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/legacy/__init__.py +0 -0
  212. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/legacy/resolver.py +473 -0
  213. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/__init__.py +0 -0
  214. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/base.py +156 -0
  215. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/candidates.py +604 -0
  216. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/factory.py +504 -0
  217. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/found_candidates.py +101 -0
  218. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/provider.py +174 -0
  219. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/reporter.py +84 -0
  220. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/requirements.py +201 -0
  221. quarchpy/venv/Lib/site-packages/pip/_internal/resolution/resolvelib/resolver.py +296 -0
  222. quarchpy/venv/Lib/site-packages/pip/_internal/self_outdated_check.py +197 -0
  223. quarchpy/venv/Lib/site-packages/pip/_internal/utils/__init__.py +0 -0
  224. quarchpy/venv/Lib/site-packages/pip/_internal/utils/appdirs.py +44 -0
  225. quarchpy/venv/Lib/site-packages/pip/_internal/utils/compat.py +293 -0
  226. quarchpy/venv/Lib/site-packages/pip/_internal/utils/compatibility_tags.py +178 -0
  227. quarchpy/venv/Lib/site-packages/pip/_internal/utils/datetime.py +14 -0
  228. quarchpy/venv/Lib/site-packages/pip/_internal/utils/deprecation.py +104 -0
  229. quarchpy/venv/Lib/site-packages/pip/_internal/utils/direct_url_helpers.py +126 -0
  230. quarchpy/venv/Lib/site-packages/pip/_internal/utils/distutils_args.py +48 -0
  231. quarchpy/venv/Lib/site-packages/pip/_internal/utils/encoding.py +41 -0
  232. quarchpy/venv/Lib/site-packages/pip/_internal/utils/entrypoints.py +31 -0
  233. quarchpy/venv/Lib/site-packages/pip/_internal/utils/filesystem.py +224 -0
  234. quarchpy/venv/Lib/site-packages/pip/_internal/utils/filetypes.py +26 -0
  235. quarchpy/venv/Lib/site-packages/pip/_internal/utils/glibc.py +98 -0
  236. quarchpy/venv/Lib/site-packages/pip/_internal/utils/hashes.py +169 -0
  237. quarchpy/venv/Lib/site-packages/pip/_internal/utils/inject_securetransport.py +36 -0
  238. quarchpy/venv/Lib/site-packages/pip/_internal/utils/logging.py +399 -0
  239. quarchpy/venv/Lib/site-packages/pip/_internal/utils/misc.py +962 -0
  240. quarchpy/venv/Lib/site-packages/pip/_internal/utils/models.py +44 -0
  241. quarchpy/venv/Lib/site-packages/pip/_internal/utils/packaging.py +95 -0
  242. quarchpy/venv/Lib/site-packages/pip/_internal/utils/parallel.py +107 -0
  243. quarchpy/venv/Lib/site-packages/pip/_internal/utils/pkg_resources.py +44 -0
  244. quarchpy/venv/Lib/site-packages/pip/_internal/utils/setuptools_build.py +181 -0
  245. quarchpy/venv/Lib/site-packages/pip/_internal/utils/subprocess.py +299 -0
  246. quarchpy/venv/Lib/site-packages/pip/_internal/utils/temp_dir.py +284 -0
  247. quarchpy/venv/Lib/site-packages/pip/_internal/utils/typing.py +38 -0
  248. quarchpy/venv/Lib/site-packages/pip/_internal/utils/unpacking.py +281 -0
  249. quarchpy/venv/Lib/site-packages/pip/_internal/utils/urls.py +55 -0
  250. quarchpy/venv/Lib/site-packages/pip/_internal/utils/virtualenv.py +119 -0
  251. quarchpy/venv/Lib/site-packages/pip/_internal/utils/wheel.py +225 -0
  252. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/__init__.py +15 -0
  253. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/bazaar.py +123 -0
  254. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/git.py +454 -0
  255. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/mercurial.py +172 -0
  256. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/subversion.py +340 -0
  257. quarchpy/venv/Lib/site-packages/pip/_internal/vcs/versioncontrol.py +735 -0
  258. quarchpy/venv/Lib/site-packages/pip/_internal/wheel_builder.py +362 -0
  259. quarchpy/venv/Lib/site-packages/pip/_vendor/__init__.py +114 -0
  260. quarchpy/venv/Lib/site-packages/pip/_vendor/appdirs.py +633 -0
  261. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/__init__.py +11 -0
  262. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/_cmd.py +57 -0
  263. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/adapter.py +133 -0
  264. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/cache.py +39 -0
  265. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/__init__.py +2 -0
  266. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/file_cache.py +146 -0
  267. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/caches/redis_cache.py +33 -0
  268. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/compat.py +29 -0
  269. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/controller.py +376 -0
  270. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/filewrapper.py +80 -0
  271. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/heuristics.py +135 -0
  272. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/serialize.py +188 -0
  273. quarchpy/venv/Lib/site-packages/pip/_vendor/cachecontrol/wrapper.py +29 -0
  274. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/__init__.py +3 -0
  275. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/__main__.py +12 -0
  276. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/cacert.pem +4606 -0
  277. quarchpy/venv/Lib/site-packages/pip/_vendor/certifi/core.py +60 -0
  278. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/__init__.py +39 -0
  279. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/big5freq.py +386 -0
  280. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/big5prober.py +47 -0
  281. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/chardistribution.py +233 -0
  282. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/charsetgroupprober.py +106 -0
  283. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/charsetprober.py +145 -0
  284. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cli/__init__.py +1 -0
  285. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cli/chardetect.py +85 -0
  286. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/codingstatemachine.py +88 -0
  287. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/compat.py +34 -0
  288. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/cp949prober.py +49 -0
  289. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/enums.py +76 -0
  290. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/escprober.py +101 -0
  291. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/escsm.py +246 -0
  292. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/eucjpprober.py +92 -0
  293. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euckrfreq.py +195 -0
  294. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euckrprober.py +47 -0
  295. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euctwfreq.py +387 -0
  296. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/euctwprober.py +46 -0
  297. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/gb2312freq.py +283 -0
  298. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/gb2312prober.py +46 -0
  299. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/hebrewprober.py +292 -0
  300. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/jisfreq.py +325 -0
  301. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/jpcntx.py +233 -0
  302. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langbulgarianmodel.py +228 -0
  303. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langcyrillicmodel.py +333 -0
  304. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langgreekmodel.py +225 -0
  305. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langhebrewmodel.py +200 -0
  306. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langhungarianmodel.py +225 -0
  307. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langthaimodel.py +199 -0
  308. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/langturkishmodel.py +193 -0
  309. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/latin1prober.py +145 -0
  310. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcharsetprober.py +91 -0
  311. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcsgroupprober.py +54 -0
  312. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/mbcssm.py +572 -0
  313. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sbcharsetprober.py +132 -0
  314. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sbcsgroupprober.py +73 -0
  315. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/sjisprober.py +92 -0
  316. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/universaldetector.py +286 -0
  317. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/utf8prober.py +82 -0
  318. quarchpy/venv/Lib/site-packages/pip/_vendor/chardet/version.py +9 -0
  319. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/__init__.py +6 -0
  320. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/ansi.py +102 -0
  321. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/ansitowin32.py +258 -0
  322. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/initialise.py +80 -0
  323. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/win32.py +152 -0
  324. quarchpy/venv/Lib/site-packages/pip/_vendor/colorama/winterm.py +169 -0
  325. quarchpy/venv/Lib/site-packages/pip/_vendor/contextlib2.py +518 -0
  326. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/__init__.py +23 -0
  327. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/__init__.py +6 -0
  328. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/misc.py +41 -0
  329. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/shutil.py +764 -0
  330. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.cfg +84 -0
  331. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/sysconfig.py +786 -0
  332. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/_backport/tarfile.py +2607 -0
  333. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/compat.py +1120 -0
  334. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/database.py +1339 -0
  335. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/index.py +516 -0
  336. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/locators.py +1302 -0
  337. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/manifest.py +393 -0
  338. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/markers.py +131 -0
  339. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/metadata.py +1056 -0
  340. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/resources.py +355 -0
  341. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/scripts.py +419 -0
  342. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/t32.exe +0 -0
  343. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/t64.exe +0 -0
  344. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/util.py +1761 -0
  345. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/version.py +736 -0
  346. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/w32.exe +0 -0
  347. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/w64.exe +0 -0
  348. quarchpy/venv/Lib/site-packages/pip/_vendor/distlib/wheel.py +1018 -0
  349. quarchpy/venv/Lib/site-packages/pip/_vendor/distro.py +1230 -0
  350. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/__init__.py +35 -0
  351. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_ihatexml.py +289 -0
  352. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_inputstream.py +918 -0
  353. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_tokenizer.py +1735 -0
  354. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/__init__.py +5 -0
  355. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/_base.py +40 -0
  356. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_trie/py.py +67 -0
  357. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/_utils.py +159 -0
  358. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/constants.py +2946 -0
  359. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/__init__.py +0 -0
  360. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/alphabeticalattributes.py +29 -0
  361. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/base.py +12 -0
  362. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/inject_meta_charset.py +73 -0
  363. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/lint.py +93 -0
  364. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/optionaltags.py +207 -0
  365. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/sanitizer.py +916 -0
  366. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/filters/whitespace.py +38 -0
  367. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/html5parser.py +2795 -0
  368. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/serializer.py +409 -0
  369. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/__init__.py +30 -0
  370. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/genshi.py +54 -0
  371. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treeadapters/sax.py +50 -0
  372. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/__init__.py +88 -0
  373. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/base.py +417 -0
  374. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/dom.py +239 -0
  375. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree.py +343 -0
  376. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treebuilders/etree_lxml.py +392 -0
  377. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/__init__.py +154 -0
  378. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/base.py +252 -0
  379. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/dom.py +43 -0
  380. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree.py +131 -0
  381. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/etree_lxml.py +215 -0
  382. quarchpy/venv/Lib/site-packages/pip/_vendor/html5lib/treewalkers/genshi.py +69 -0
  383. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/__init__.py +2 -0
  384. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/codec.py +118 -0
  385. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/compat.py +12 -0
  386. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/core.py +400 -0
  387. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/idnadata.py +2050 -0
  388. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/intranges.py +53 -0
  389. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/package_data.py +2 -0
  390. quarchpy/venv/Lib/site-packages/pip/_vendor/idna/uts46data.py +8357 -0
  391. quarchpy/venv/Lib/site-packages/pip/_vendor/ipaddress.py +2420 -0
  392. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/__init__.py +54 -0
  393. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/_version.py +1 -0
  394. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/exceptions.py +48 -0
  395. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/ext.py +191 -0
  396. quarchpy/venv/Lib/site-packages/pip/_vendor/msgpack/fallback.py +1063 -0
  397. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/__about__.py +27 -0
  398. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/__init__.py +26 -0
  399. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_compat.py +38 -0
  400. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_structures.py +86 -0
  401. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/_typing.py +48 -0
  402. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/markers.py +328 -0
  403. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/requirements.py +151 -0
  404. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/specifiers.py +864 -0
  405. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/tags.py +852 -0
  406. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/utils.py +67 -0
  407. quarchpy/venv/Lib/site-packages/pip/_vendor/packaging/version.py +556 -0
  408. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/__init__.py +6 -0
  409. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/_in_process.py +280 -0
  410. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/build.py +124 -0
  411. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/check.py +203 -0
  412. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/colorlog.py +115 -0
  413. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/compat.py +34 -0
  414. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/dirtools.py +44 -0
  415. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/envbuild.py +167 -0
  416. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/meta.py +92 -0
  417. quarchpy/venv/Lib/site-packages/pip/_vendor/pep517/wrappers.py +327 -0
  418. quarchpy/venv/Lib/site-packages/pip/_vendor/pkg_resources/__init__.py +3296 -0
  419. quarchpy/venv/Lib/site-packages/pip/_vendor/pkg_resources/py31compat.py +23 -0
  420. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/__init__.py +177 -0
  421. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/bar.py +91 -0
  422. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/counter.py +41 -0
  423. quarchpy/venv/Lib/site-packages/pip/_vendor/progress/spinner.py +43 -0
  424. quarchpy/venv/Lib/site-packages/pip/_vendor/pyparsing.py +7107 -0
  425. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/__init__.py +144 -0
  426. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/__version__.py +14 -0
  427. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/_internal_utils.py +42 -0
  428. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/adapters.py +533 -0
  429. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/api.py +161 -0
  430. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/auth.py +305 -0
  431. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/certs.py +18 -0
  432. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/compat.py +76 -0
  433. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/cookies.py +549 -0
  434. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/exceptions.py +123 -0
  435. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/help.py +119 -0
  436. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/hooks.py +34 -0
  437. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/models.py +956 -0
  438. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/packages.py +16 -0
  439. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/sessions.py +781 -0
  440. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/status_codes.py +123 -0
  441. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/structures.py +105 -0
  442. quarchpy/venv/Lib/site-packages/pip/_vendor/requests/utils.py +988 -0
  443. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/__init__.py +26 -0
  444. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/compat/__init__.py +0 -0
  445. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/compat/collections_abc.py +6 -0
  446. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/providers.py +119 -0
  447. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/reporters.py +37 -0
  448. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/resolvers.py +454 -0
  449. quarchpy/venv/Lib/site-packages/pip/_vendor/resolvelib/structs.py +149 -0
  450. quarchpy/venv/Lib/site-packages/pip/_vendor/retrying.py +267 -0
  451. quarchpy/venv/Lib/site-packages/pip/_vendor/six.py +982 -0
  452. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/__init__.py +25 -0
  453. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/decoder.py +1057 -0
  454. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/encoder.py +304 -0
  455. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/ordered.py +15 -0
  456. quarchpy/venv/Lib/site-packages/pip/_vendor/toml/tz.py +24 -0
  457. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/__init__.py +85 -0
  458. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/_collections.py +337 -0
  459. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/_version.py +2 -0
  460. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/connection.py +535 -0
  461. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/connectionpool.py +1067 -0
  462. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/__init__.py +0 -0
  463. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_appengine_environ.py +36 -0
  464. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/__init__.py +0 -0
  465. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/bindings.py +519 -0
  466. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/_securetransport/low_level.py +396 -0
  467. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/appengine.py +314 -0
  468. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/ntlmpool.py +121 -0
  469. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py +509 -0
  470. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/securetransport.py +920 -0
  471. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/contrib/socks.py +216 -0
  472. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/exceptions.py +313 -0
  473. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/fields.py +274 -0
  474. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/filepost.py +98 -0
  475. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/__init__.py +5 -0
  476. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/__init__.py +0 -0
  477. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/backports/makefile.py +51 -0
  478. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/six.py +1021 -0
  479. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/__init__.py +22 -0
  480. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/packages/ssl_match_hostname/_implementation.py +160 -0
  481. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/poolmanager.py +536 -0
  482. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/request.py +170 -0
  483. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/response.py +821 -0
  484. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/__init__.py +49 -0
  485. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/connection.py +150 -0
  486. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/proxy.py +56 -0
  487. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/queue.py +22 -0
  488. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/request.py +143 -0
  489. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/response.py +107 -0
  490. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/retry.py +601 -0
  491. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/ssl_.py +474 -0
  492. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/ssltransport.py +221 -0
  493. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/timeout.py +268 -0
  494. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/url.py +430 -0
  495. quarchpy/venv/Lib/site-packages/pip/_vendor/urllib3/util/wait.py +153 -0
  496. quarchpy/venv/Lib/site-packages/pip/_vendor/vendor.txt +24 -0
  497. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/__init__.py +342 -0
  498. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/labels.py +231 -0
  499. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/mklabels.py +59 -0
  500. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/tests.py +153 -0
  501. quarchpy/venv/Lib/site-packages/pip/_vendor/webencodings/x_user_defined.py +325 -0
  502. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/INSTALLER +1 -0
  503. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/LICENSE.txt +20 -0
  504. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/METADATA +94 -0
  505. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/RECORD +812 -0
  506. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/WHEEL +6 -0
  507. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/entry_points.txt +5 -0
  508. quarchpy/venv/Lib/site-packages/pip-20.3.4.dist-info/top_level.txt +1 -0
  509. quarchpy/venv/Lib/site-packages/pip-20.3.4.virtualenv +0 -0
  510. quarchpy/venv/Lib/site-packages/pkg_resources/__init__.py +3296 -0
  511. quarchpy/venv/Lib/site-packages/pkg_resources/__init__.pyc +0 -0
  512. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/__init__.py +0 -0
  513. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/__init__.pyc +0 -0
  514. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/appdirs.py +608 -0
  515. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/appdirs.pyc +0 -0
  516. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.py +21 -0
  517. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__about__.pyc +0 -0
  518. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.py +14 -0
  519. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/__init__.pyc +0 -0
  520. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.py +30 -0
  521. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_compat.pyc +0 -0
  522. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.py +68 -0
  523. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/_structures.pyc +0 -0
  524. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.py +301 -0
  525. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/markers.pyc +0 -0
  526. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.py +127 -0
  527. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/requirements.pyc +0 -0
  528. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.py +774 -0
  529. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/specifiers.pyc +0 -0
  530. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/utils.py +14 -0
  531. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.py +393 -0
  532. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/packaging/version.pyc +0 -0
  533. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.py +5742 -0
  534. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/pyparsing.pyc +0 -0
  535. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/six.py +868 -0
  536. quarchpy/venv/Lib/site-packages/pkg_resources/_vendor/six.pyc +0 -0
  537. quarchpy/venv/Lib/site-packages/pkg_resources/extern/__init__.py +73 -0
  538. quarchpy/venv/Lib/site-packages/pkg_resources/extern/__init__.pyc +0 -0
  539. quarchpy/venv/Lib/site-packages/pkg_resources/py31compat.py +23 -0
  540. quarchpy/venv/Lib/site-packages/pkg_resources/py31compat.pyc +0 -0
  541. quarchpy/venv/Lib/site-packages/setuptools/__init__.py +245 -0
  542. quarchpy/venv/Lib/site-packages/setuptools/_deprecation_warning.py +7 -0
  543. quarchpy/venv/Lib/site-packages/setuptools/_imp.py +73 -0
  544. quarchpy/venv/Lib/site-packages/setuptools/_vendor/__init__.py +0 -0
  545. quarchpy/venv/Lib/site-packages/setuptools/_vendor/ordered_set.py +488 -0
  546. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/__about__.py +27 -0
  547. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/__init__.py +26 -0
  548. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/_compat.py +31 -0
  549. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/_structures.py +68 -0
  550. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/markers.py +296 -0
  551. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/requirements.py +138 -0
  552. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/specifiers.py +749 -0
  553. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/tags.py +404 -0
  554. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/utils.py +57 -0
  555. quarchpy/venv/Lib/site-packages/setuptools/_vendor/packaging/version.py +420 -0
  556. quarchpy/venv/Lib/site-packages/setuptools/_vendor/pyparsing.py +5742 -0
  557. quarchpy/venv/Lib/site-packages/setuptools/_vendor/six.py +868 -0
  558. quarchpy/venv/Lib/site-packages/setuptools/archive_util.py +173 -0
  559. quarchpy/venv/Lib/site-packages/setuptools/build_meta.py +264 -0
  560. quarchpy/venv/Lib/site-packages/setuptools/cli-32.exe +0 -0
  561. quarchpy/venv/Lib/site-packages/setuptools/cli-64.exe +0 -0
  562. quarchpy/venv/Lib/site-packages/setuptools/cli.exe +0 -0
  563. quarchpy/venv/Lib/site-packages/setuptools/command/__init__.py +17 -0
  564. quarchpy/venv/Lib/site-packages/setuptools/command/alias.py +80 -0
  565. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_egg.py +502 -0
  566. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_rpm.py +43 -0
  567. quarchpy/venv/Lib/site-packages/setuptools/command/bdist_wininst.py +21 -0
  568. quarchpy/venv/Lib/site-packages/setuptools/command/build_clib.py +98 -0
  569. quarchpy/venv/Lib/site-packages/setuptools/command/build_ext.py +327 -0
  570. quarchpy/venv/Lib/site-packages/setuptools/command/build_py.py +270 -0
  571. quarchpy/venv/Lib/site-packages/setuptools/command/develop.py +221 -0
  572. quarchpy/venv/Lib/site-packages/setuptools/command/dist_info.py +36 -0
  573. quarchpy/venv/Lib/site-packages/setuptools/command/easy_install.py +2347 -0
  574. quarchpy/venv/Lib/site-packages/setuptools/command/egg_info.py +717 -0
  575. quarchpy/venv/Lib/site-packages/setuptools/command/install.py +125 -0
  576. quarchpy/venv/Lib/site-packages/setuptools/command/install_egg_info.py +62 -0
  577. quarchpy/venv/Lib/site-packages/setuptools/command/install_lib.py +121 -0
  578. quarchpy/venv/Lib/site-packages/setuptools/command/install_scripts.py +65 -0
  579. quarchpy/venv/Lib/site-packages/setuptools/command/launcher manifest.xml +15 -0
  580. quarchpy/venv/Lib/site-packages/setuptools/command/py36compat.py +136 -0
  581. quarchpy/venv/Lib/site-packages/setuptools/command/register.py +18 -0
  582. quarchpy/venv/Lib/site-packages/setuptools/command/rotate.py +66 -0
  583. quarchpy/venv/Lib/site-packages/setuptools/command/saveopts.py +22 -0
  584. quarchpy/venv/Lib/site-packages/setuptools/command/sdist.py +252 -0
  585. quarchpy/venv/Lib/site-packages/setuptools/command/setopt.py +149 -0
  586. quarchpy/venv/Lib/site-packages/setuptools/command/test.py +279 -0
  587. quarchpy/venv/Lib/site-packages/setuptools/command/upload.py +17 -0
  588. quarchpy/venv/Lib/site-packages/setuptools/command/upload_docs.py +206 -0
  589. quarchpy/venv/Lib/site-packages/setuptools/config.py +659 -0
  590. quarchpy/venv/Lib/site-packages/setuptools/dep_util.py +23 -0
  591. quarchpy/venv/Lib/site-packages/setuptools/depends.py +176 -0
  592. quarchpy/venv/Lib/site-packages/setuptools/dist.py +1274 -0
  593. quarchpy/venv/Lib/site-packages/setuptools/errors.py +16 -0
  594. quarchpy/venv/Lib/site-packages/setuptools/extension.py +57 -0
  595. quarchpy/venv/Lib/site-packages/setuptools/extern/__init__.py +73 -0
  596. quarchpy/venv/Lib/site-packages/setuptools/glob.py +174 -0
  597. quarchpy/venv/Lib/site-packages/setuptools/gui-32.exe +0 -0
  598. quarchpy/venv/Lib/site-packages/setuptools/gui-64.exe +0 -0
  599. quarchpy/venv/Lib/site-packages/setuptools/gui.exe +0 -0
  600. quarchpy/venv/Lib/site-packages/setuptools/installer.py +150 -0
  601. quarchpy/venv/Lib/site-packages/setuptools/launch.py +35 -0
  602. quarchpy/venv/Lib/site-packages/setuptools/lib2to3_ex.py +62 -0
  603. quarchpy/venv/Lib/site-packages/setuptools/monkey.py +179 -0
  604. quarchpy/venv/Lib/site-packages/setuptools/msvc.py +1679 -0
  605. quarchpy/venv/Lib/site-packages/setuptools/namespaces.py +107 -0
  606. quarchpy/venv/Lib/site-packages/setuptools/package_index.py +1136 -0
  607. quarchpy/venv/Lib/site-packages/setuptools/py27compat.py +60 -0
  608. quarchpy/venv/Lib/site-packages/setuptools/py31compat.py +32 -0
  609. quarchpy/venv/Lib/site-packages/setuptools/py33compat.py +59 -0
  610. quarchpy/venv/Lib/site-packages/setuptools/py34compat.py +13 -0
  611. quarchpy/venv/Lib/site-packages/setuptools/sandbox.py +491 -0
  612. quarchpy/venv/Lib/site-packages/setuptools/script (dev).tmpl +6 -0
  613. quarchpy/venv/Lib/site-packages/setuptools/script.tmpl +3 -0
  614. quarchpy/venv/Lib/site-packages/setuptools/site-patch.py +74 -0
  615. quarchpy/venv/Lib/site-packages/setuptools/ssl_support.py +260 -0
  616. quarchpy/venv/Lib/site-packages/setuptools/unicode_utils.py +44 -0
  617. quarchpy/venv/Lib/site-packages/setuptools/version.py +6 -0
  618. quarchpy/venv/Lib/site-packages/setuptools/wheel.py +220 -0
  619. quarchpy/venv/Lib/site-packages/setuptools/windows_support.py +29 -0
  620. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/INSTALLER +1 -0
  621. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/LICENSE +19 -0
  622. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/METADATA +86 -0
  623. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/RECORD +207 -0
  624. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/WHEEL +6 -0
  625. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/dependency_links.txt +2 -0
  626. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/entry_points.txt +69 -0
  627. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/top_level.txt +3 -0
  628. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.dist-info/zip-safe +1 -0
  629. quarchpy/venv/Lib/site-packages/setuptools-44.1.1.virtualenv +0 -0
  630. quarchpy/venv/Lib/site-packages/wheel/__init__.py +1 -0
  631. quarchpy/venv/Lib/site-packages/wheel/__main__.py +19 -0
  632. quarchpy/venv/Lib/site-packages/wheel/bdist_wheel.py +492 -0
  633. quarchpy/venv/Lib/site-packages/wheel/cli/__init__.py +88 -0
  634. quarchpy/venv/Lib/site-packages/wheel/cli/convert.py +269 -0
  635. quarchpy/venv/Lib/site-packages/wheel/cli/pack.py +82 -0
  636. quarchpy/venv/Lib/site-packages/wheel/cli/unpack.py +25 -0
  637. quarchpy/venv/Lib/site-packages/wheel/macosx_libfile.py +428 -0
  638. quarchpy/venv/Lib/site-packages/wheel/metadata.py +133 -0
  639. quarchpy/venv/Lib/site-packages/wheel/pkginfo.py +43 -0
  640. quarchpy/venv/Lib/site-packages/wheel/util.py +46 -0
  641. quarchpy/venv/Lib/site-packages/wheel/vendored/__init__.py +0 -0
  642. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/__init__.py +0 -0
  643. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/_typing.py +48 -0
  644. quarchpy/venv/Lib/site-packages/wheel/vendored/packaging/tags.py +866 -0
  645. quarchpy/venv/Lib/site-packages/wheel/wheelfile.py +181 -0
  646. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/INSTALLER +1 -0
  647. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/LICENSE.txt +22 -0
  648. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/METADATA +69 -0
  649. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/RECORD +49 -0
  650. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/WHEEL +6 -0
  651. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/entry_points.txt +6 -0
  652. quarchpy/venv/Lib/site-packages/wheel-0.37.1.dist-info/top_level.txt +1 -0
  653. quarchpy/venv/Lib/site-packages/wheel-0.37.1.virtualenv +0 -0
  654. quarchpy/venv/Lib/site.py +190 -0
  655. quarchpy/venv/Lib/site.pyc +0 -0
  656. quarchpy/venv/Scripts/activate +83 -0
  657. quarchpy/venv/Scripts/activate.bat +39 -0
  658. quarchpy/venv/Scripts/activate.fish +100 -0
  659. quarchpy/venv/Scripts/activate.nu +41 -0
  660. quarchpy/venv/Scripts/activate.ps1 +60 -0
  661. quarchpy/venv/Scripts/activate_this.py +32 -0
  662. quarchpy/venv/Scripts/deactivate.bat +19 -0
  663. quarchpy/venv/Scripts/deactivate.nu +11 -0
  664. quarchpy/venv/Scripts/easy_install-2.7.exe +0 -0
  665. quarchpy/venv/Scripts/easy_install.exe +0 -0
  666. quarchpy/venv/Scripts/easy_install2.7.exe +0 -0
  667. quarchpy/venv/Scripts/easy_install2.exe +0 -0
  668. quarchpy/venv/Scripts/pip-2.7.exe +0 -0
  669. quarchpy/venv/Scripts/pip.exe +0 -0
  670. quarchpy/venv/Scripts/pip2.7.exe +0 -0
  671. quarchpy/venv/Scripts/pip2.exe +0 -0
  672. quarchpy/venv/Scripts/pydoc.bat +1 -0
  673. quarchpy/venv/Scripts/python.exe +0 -0
  674. quarchpy/venv/Scripts/python27.dll +0 -0
  675. quarchpy/venv/Scripts/pythonw.exe +0 -0
  676. quarchpy/venv/Scripts/wheel-2.7.exe +0 -0
  677. quarchpy/venv/Scripts/wheel.exe +0 -0
  678. quarchpy/venv/Scripts/wheel2.7.exe +0 -0
  679. quarchpy/venv/Scripts/wheel2.exe +0 -0
  680. quarchpy/venv/libs/_bsddb.lib +0 -0
  681. quarchpy/venv/libs/_ctypes.lib +0 -0
  682. quarchpy/venv/libs/_ctypes_test.lib +0 -0
  683. quarchpy/venv/libs/_elementtree.lib +0 -0
  684. quarchpy/venv/libs/_hashlib.lib +0 -0
  685. quarchpy/venv/libs/_msi.lib +0 -0
  686. quarchpy/venv/libs/_multiprocessing.lib +0 -0
  687. quarchpy/venv/libs/_socket.lib +0 -0
  688. quarchpy/venv/libs/_sqlite3.lib +0 -0
  689. quarchpy/venv/libs/_ssl.lib +0 -0
  690. quarchpy/venv/libs/_testcapi.lib +0 -0
  691. quarchpy/venv/libs/_tkinter.lib +0 -0
  692. quarchpy/venv/libs/bz2.lib +0 -0
  693. quarchpy/venv/libs/libpython27.a +0 -0
  694. quarchpy/venv/libs/pyexpat.lib +0 -0
  695. quarchpy/venv/libs/python27.lib +0 -0
  696. quarchpy/venv/libs/select.lib +0 -0
  697. quarchpy/venv/libs/unicodedata.lib +0 -0
  698. quarchpy/venv/libs/winsound.lib +0 -0
  699. quarchpy/venv/pyvenv.cfg +8 -0
  700. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/METADATA +1 -1
  701. quarchpy-2.1.14.dev5.dist-info/RECORD +1219 -0
  702. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.02.jar +0 -0
  703. quarchpy/connection_specific/QPS/qis/qis_lib/CInterface-1.7.8.jar +0 -0
  704. quarchpy/connection_specific/QPS/qis/qis_lib/Collections-1.2.jar +0 -0
  705. quarchpy/connection_specific/QPS/qis/qis_lib/Desktop-1.0.jar +0 -0
  706. quarchpy/connection_specific/QPS/qis/qis_lib/Executor-3.11.jar +0 -0
  707. quarchpy/connection_specific/QPS/qis/qis_lib/JNA-1.0.jar +0 -0
  708. quarchpy/connection_specific/QPS/qis/qis_lib/OS-1.6.jar +0 -0
  709. quarchpy/connection_specific/QPS/qis/qis_lib/QuarchCommon-0.2.9.jar +0 -0
  710. quarchpy/connection_specific/QPS/qis/qis_lib/SystemTray-4.2.1.jar +0 -0
  711. quarchpy/connection_specific/QPS/qis/qis_lib/Updates-1.1.jar +0 -0
  712. quarchpy/connection_specific/QPS/qis/qis_lib/Utilities-1.39.jar +0 -0
  713. quarchpy/connection_specific/QPS/qis/qis_lib/commons-csv-1.8.jar +0 -0
  714. quarchpy/connection_specific/QPS/qis/qis_lib/javassist-3.29.2-GA.jar +0 -0
  715. quarchpy/connection_specific/QPS/qis/qis_lib/jna-jpms-5.12.1.jar +0 -0
  716. quarchpy/connection_specific/QPS/qis/qis_lib/jna-platform-jpms-5.12.1.jar +0 -0
  717. quarchpy/connection_specific/QPS/qis/qis_lib/kotlin-stdlib-1.7.22.jar +0 -0
  718. quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-api-2.0.9.jar +0 -0
  719. quarchpy/connection_specific/QPS/qis/qis_lib/slf4j-simple-2.0.9.jar +0 -0
  720. quarchpy/connection_specific/QPS/qis/resources/filters/filters.csv +0 -1004
  721. quarchpy/connection_specific/QPS/qps_lib/QuarchCommon-0.2.9.jar +0 -0
  722. quarchpy/connection_specific/QPS/qps_lib/commons-lang3-3.12.0.jar +0 -0
  723. quarchpy/connection_specific/QPS/qps_lib/opencsv-5.9.jar +0 -0
  724. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.4.jar +0 -0
  725. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.5.jar +0 -0
  726. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.6.jar +0 -0
  727. quarchpy/connection_specific/QPS/qps_lib/qis-1.39.7.jar +0 -0
  728. quarchpy-2.1.14.dev4.dist-info/RECORD +0 -561
  729. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/WHEEL +0 -0
  730. {quarchpy-2.1.14.dev4.dist-info → quarchpy-2.1.14.dev5.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,325 @@
1
+ ######################## BEGIN LICENSE BLOCK ########################
2
+ # The Original Code is Mozilla Communicator client code.
3
+ #
4
+ # The Initial Developer of the Original Code is
5
+ # Netscape Communications Corporation.
6
+ # Portions created by the Initial Developer are Copyright (C) 1998
7
+ # the Initial Developer. All Rights Reserved.
8
+ #
9
+ # Contributor(s):
10
+ # Mark Pilgrim - port to Python
11
+ #
12
+ # This library is free software; you can redistribute it and/or
13
+ # modify it under the terms of the GNU Lesser General Public
14
+ # License as published by the Free Software Foundation; either
15
+ # version 2.1 of the License, or (at your option) any later version.
16
+ #
17
+ # This library is distributed in the hope that it will be useful,
18
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
+ # Lesser General Public License for more details.
21
+ #
22
+ # You should have received a copy of the GNU Lesser General Public
23
+ # License along with this library; if not, write to the Free Software
24
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
25
+ # 02110-1301 USA
26
+ ######################### END LICENSE BLOCK #########################
27
+
28
+ # Sampling from about 20M text materials include literature and computer technology
29
+ #
30
+ # Japanese frequency table, applied to both S-JIS and EUC-JP
31
+ # They are sorted in order.
32
+
33
+ # 128 --> 0.77094
34
+ # 256 --> 0.85710
35
+ # 512 --> 0.92635
36
+ # 1024 --> 0.97130
37
+ # 2048 --> 0.99431
38
+ #
39
+ # Ideal Distribution Ratio = 0.92635 / (1-0.92635) = 12.58
40
+ # Random Distribution Ration = 512 / (2965+62+83+86-512) = 0.191
41
+ #
42
+ # Typical Distribution Ratio, 25% of IDR
43
+
44
+ JIS_TYPICAL_DISTRIBUTION_RATIO = 3.0
45
+
46
+ # Char to FreqOrder table ,
47
+ JIS_TABLE_SIZE = 4368
48
+
49
+ JIS_CHAR_TO_FREQ_ORDER = (
50
+ 40, 1, 6, 182, 152, 180, 295,2127, 285, 381,3295,4304,3068,4606,3165,3510, # 16
51
+ 3511,1822,2785,4607,1193,2226,5070,4608, 171,2996,1247, 18, 179,5071, 856,1661, # 32
52
+ 1262,5072, 619, 127,3431,3512,3230,1899,1700, 232, 228,1294,1298, 284, 283,2041, # 48
53
+ 2042,1061,1062, 48, 49, 44, 45, 433, 434,1040,1041, 996, 787,2997,1255,4305, # 64
54
+ 2108,4609,1684,1648,5073,5074,5075,5076,5077,5078,3687,5079,4610,5080,3927,3928, # 80
55
+ 5081,3296,3432, 290,2285,1471,2187,5082,2580,2825,1303,2140,1739,1445,2691,3375, # 96
56
+ 1691,3297,4306,4307,4611, 452,3376,1182,2713,3688,3069,4308,5083,5084,5085,5086, # 112
57
+ 5087,5088,5089,5090,5091,5092,5093,5094,5095,5096,5097,5098,5099,5100,5101,5102, # 128
58
+ 5103,5104,5105,5106,5107,5108,5109,5110,5111,5112,4097,5113,5114,5115,5116,5117, # 144
59
+ 5118,5119,5120,5121,5122,5123,5124,5125,5126,5127,5128,5129,5130,5131,5132,5133, # 160
60
+ 5134,5135,5136,5137,5138,5139,5140,5141,5142,5143,5144,5145,5146,5147,5148,5149, # 176
61
+ 5150,5151,5152,4612,5153,5154,5155,5156,5157,5158,5159,5160,5161,5162,5163,5164, # 192
62
+ 5165,5166,5167,5168,5169,5170,5171,5172,5173,5174,5175,1472, 598, 618, 820,1205, # 208
63
+ 1309,1412,1858,1307,1692,5176,5177,5178,5179,5180,5181,5182,1142,1452,1234,1172, # 224
64
+ 1875,2043,2149,1793,1382,2973, 925,2404,1067,1241, 960,1377,2935,1491, 919,1217, # 240
65
+ 1865,2030,1406,1499,2749,4098,5183,5184,5185,5186,5187,5188,2561,4099,3117,1804, # 256
66
+ 2049,3689,4309,3513,1663,5189,3166,3118,3298,1587,1561,3433,5190,3119,1625,2998, # 272
67
+ 3299,4613,1766,3690,2786,4614,5191,5192,5193,5194,2161, 26,3377, 2,3929, 20, # 288
68
+ 3691, 47,4100, 50, 17, 16, 35, 268, 27, 243, 42, 155, 24, 154, 29, 184, # 304
69
+ 4, 91, 14, 92, 53, 396, 33, 289, 9, 37, 64, 620, 21, 39, 321, 5, # 320
70
+ 12, 11, 52, 13, 3, 208, 138, 0, 7, 60, 526, 141, 151,1069, 181, 275, # 336
71
+ 1591, 83, 132,1475, 126, 331, 829, 15, 69, 160, 59, 22, 157, 55,1079, 312, # 352
72
+ 109, 38, 23, 25, 10, 19, 79,5195, 61, 382,1124, 8, 30,5196,5197,5198, # 368
73
+ 5199,5200,5201,5202,5203,5204,5205,5206, 89, 62, 74, 34,2416, 112, 139, 196, # 384
74
+ 271, 149, 84, 607, 131, 765, 46, 88, 153, 683, 76, 874, 101, 258, 57, 80, # 400
75
+ 32, 364, 121,1508, 169,1547, 68, 235, 145,2999, 41, 360,3027, 70, 63, 31, # 416
76
+ 43, 259, 262,1383, 99, 533, 194, 66, 93, 846, 217, 192, 56, 106, 58, 565, # 432
77
+ 280, 272, 311, 256, 146, 82, 308, 71, 100, 128, 214, 655, 110, 261, 104,1140, # 448
78
+ 54, 51, 36, 87, 67,3070, 185,2618,2936,2020, 28,1066,2390,2059,5207,5208, # 464
79
+ 5209,5210,5211,5212,5213,5214,5215,5216,4615,5217,5218,5219,5220,5221,5222,5223, # 480
80
+ 5224,5225,5226,5227,5228,5229,5230,5231,5232,5233,5234,5235,5236,3514,5237,5238, # 496
81
+ 5239,5240,5241,5242,5243,5244,2297,2031,4616,4310,3692,5245,3071,5246,3598,5247, # 512
82
+ 4617,3231,3515,5248,4101,4311,4618,3808,4312,4102,5249,4103,4104,3599,5250,5251, # 528
83
+ 5252,5253,5254,5255,5256,5257,5258,5259,5260,5261,5262,5263,5264,5265,5266,5267, # 544
84
+ 5268,5269,5270,5271,5272,5273,5274,5275,5276,5277,5278,5279,5280,5281,5282,5283, # 560
85
+ 5284,5285,5286,5287,5288,5289,5290,5291,5292,5293,5294,5295,5296,5297,5298,5299, # 576
86
+ 5300,5301,5302,5303,5304,5305,5306,5307,5308,5309,5310,5311,5312,5313,5314,5315, # 592
87
+ 5316,5317,5318,5319,5320,5321,5322,5323,5324,5325,5326,5327,5328,5329,5330,5331, # 608
88
+ 5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5345,5346,5347, # 624
89
+ 5348,5349,5350,5351,5352,5353,5354,5355,5356,5357,5358,5359,5360,5361,5362,5363, # 640
90
+ 5364,5365,5366,5367,5368,5369,5370,5371,5372,5373,5374,5375,5376,5377,5378,5379, # 656
91
+ 5380,5381, 363, 642,2787,2878,2788,2789,2316,3232,2317,3434,2011, 165,1942,3930, # 672
92
+ 3931,3932,3933,5382,4619,5383,4620,5384,5385,5386,5387,5388,5389,5390,5391,5392, # 688
93
+ 5393,5394,5395,5396,5397,5398,5399,5400,5401,5402,5403,5404,5405,5406,5407,5408, # 704
94
+ 5409,5410,5411,5412,5413,5414,5415,5416,5417,5418,5419,5420,5421,5422,5423,5424, # 720
95
+ 5425,5426,5427,5428,5429,5430,5431,5432,5433,5434,5435,5436,5437,5438,5439,5440, # 736
96
+ 5441,5442,5443,5444,5445,5446,5447,5448,5449,5450,5451,5452,5453,5454,5455,5456, # 752
97
+ 5457,5458,5459,5460,5461,5462,5463,5464,5465,5466,5467,5468,5469,5470,5471,5472, # 768
98
+ 5473,5474,5475,5476,5477,5478,5479,5480,5481,5482,5483,5484,5485,5486,5487,5488, # 784
99
+ 5489,5490,5491,5492,5493,5494,5495,5496,5497,5498,5499,5500,5501,5502,5503,5504, # 800
100
+ 5505,5506,5507,5508,5509,5510,5511,5512,5513,5514,5515,5516,5517,5518,5519,5520, # 816
101
+ 5521,5522,5523,5524,5525,5526,5527,5528,5529,5530,5531,5532,5533,5534,5535,5536, # 832
102
+ 5537,5538,5539,5540,5541,5542,5543,5544,5545,5546,5547,5548,5549,5550,5551,5552, # 848
103
+ 5553,5554,5555,5556,5557,5558,5559,5560,5561,5562,5563,5564,5565,5566,5567,5568, # 864
104
+ 5569,5570,5571,5572,5573,5574,5575,5576,5577,5578,5579,5580,5581,5582,5583,5584, # 880
105
+ 5585,5586,5587,5588,5589,5590,5591,5592,5593,5594,5595,5596,5597,5598,5599,5600, # 896
106
+ 5601,5602,5603,5604,5605,5606,5607,5608,5609,5610,5611,5612,5613,5614,5615,5616, # 912
107
+ 5617,5618,5619,5620,5621,5622,5623,5624,5625,5626,5627,5628,5629,5630,5631,5632, # 928
108
+ 5633,5634,5635,5636,5637,5638,5639,5640,5641,5642,5643,5644,5645,5646,5647,5648, # 944
109
+ 5649,5650,5651,5652,5653,5654,5655,5656,5657,5658,5659,5660,5661,5662,5663,5664, # 960
110
+ 5665,5666,5667,5668,5669,5670,5671,5672,5673,5674,5675,5676,5677,5678,5679,5680, # 976
111
+ 5681,5682,5683,5684,5685,5686,5687,5688,5689,5690,5691,5692,5693,5694,5695,5696, # 992
112
+ 5697,5698,5699,5700,5701,5702,5703,5704,5705,5706,5707,5708,5709,5710,5711,5712, # 1008
113
+ 5713,5714,5715,5716,5717,5718,5719,5720,5721,5722,5723,5724,5725,5726,5727,5728, # 1024
114
+ 5729,5730,5731,5732,5733,5734,5735,5736,5737,5738,5739,5740,5741,5742,5743,5744, # 1040
115
+ 5745,5746,5747,5748,5749,5750,5751,5752,5753,5754,5755,5756,5757,5758,5759,5760, # 1056
116
+ 5761,5762,5763,5764,5765,5766,5767,5768,5769,5770,5771,5772,5773,5774,5775,5776, # 1072
117
+ 5777,5778,5779,5780,5781,5782,5783,5784,5785,5786,5787,5788,5789,5790,5791,5792, # 1088
118
+ 5793,5794,5795,5796,5797,5798,5799,5800,5801,5802,5803,5804,5805,5806,5807,5808, # 1104
119
+ 5809,5810,5811,5812,5813,5814,5815,5816,5817,5818,5819,5820,5821,5822,5823,5824, # 1120
120
+ 5825,5826,5827,5828,5829,5830,5831,5832,5833,5834,5835,5836,5837,5838,5839,5840, # 1136
121
+ 5841,5842,5843,5844,5845,5846,5847,5848,5849,5850,5851,5852,5853,5854,5855,5856, # 1152
122
+ 5857,5858,5859,5860,5861,5862,5863,5864,5865,5866,5867,5868,5869,5870,5871,5872, # 1168
123
+ 5873,5874,5875,5876,5877,5878,5879,5880,5881,5882,5883,5884,5885,5886,5887,5888, # 1184
124
+ 5889,5890,5891,5892,5893,5894,5895,5896,5897,5898,5899,5900,5901,5902,5903,5904, # 1200
125
+ 5905,5906,5907,5908,5909,5910,5911,5912,5913,5914,5915,5916,5917,5918,5919,5920, # 1216
126
+ 5921,5922,5923,5924,5925,5926,5927,5928,5929,5930,5931,5932,5933,5934,5935,5936, # 1232
127
+ 5937,5938,5939,5940,5941,5942,5943,5944,5945,5946,5947,5948,5949,5950,5951,5952, # 1248
128
+ 5953,5954,5955,5956,5957,5958,5959,5960,5961,5962,5963,5964,5965,5966,5967,5968, # 1264
129
+ 5969,5970,5971,5972,5973,5974,5975,5976,5977,5978,5979,5980,5981,5982,5983,5984, # 1280
130
+ 5985,5986,5987,5988,5989,5990,5991,5992,5993,5994,5995,5996,5997,5998,5999,6000, # 1296
131
+ 6001,6002,6003,6004,6005,6006,6007,6008,6009,6010,6011,6012,6013,6014,6015,6016, # 1312
132
+ 6017,6018,6019,6020,6021,6022,6023,6024,6025,6026,6027,6028,6029,6030,6031,6032, # 1328
133
+ 6033,6034,6035,6036,6037,6038,6039,6040,6041,6042,6043,6044,6045,6046,6047,6048, # 1344
134
+ 6049,6050,6051,6052,6053,6054,6055,6056,6057,6058,6059,6060,6061,6062,6063,6064, # 1360
135
+ 6065,6066,6067,6068,6069,6070,6071,6072,6073,6074,6075,6076,6077,6078,6079,6080, # 1376
136
+ 6081,6082,6083,6084,6085,6086,6087,6088,6089,6090,6091,6092,6093,6094,6095,6096, # 1392
137
+ 6097,6098,6099,6100,6101,6102,6103,6104,6105,6106,6107,6108,6109,6110,6111,6112, # 1408
138
+ 6113,6114,2044,2060,4621, 997,1235, 473,1186,4622, 920,3378,6115,6116, 379,1108, # 1424
139
+ 4313,2657,2735,3934,6117,3809, 636,3233, 573,1026,3693,3435,2974,3300,2298,4105, # 1440
140
+ 854,2937,2463, 393,2581,2417, 539, 752,1280,2750,2480, 140,1161, 440, 708,1569, # 1456
141
+ 665,2497,1746,1291,1523,3000, 164,1603, 847,1331, 537,1997, 486, 508,1693,2418, # 1472
142
+ 1970,2227, 878,1220, 299,1030, 969, 652,2751, 624,1137,3301,2619, 65,3302,2045, # 1488
143
+ 1761,1859,3120,1930,3694,3516, 663,1767, 852, 835,3695, 269, 767,2826,2339,1305, # 1504
144
+ 896,1150, 770,1616,6118, 506,1502,2075,1012,2519, 775,2520,2975,2340,2938,4314, # 1520
145
+ 3028,2086,1224,1943,2286,6119,3072,4315,2240,1273,1987,3935,1557, 175, 597, 985, # 1536
146
+ 3517,2419,2521,1416,3029, 585, 938,1931,1007,1052,1932,1685,6120,3379,4316,4623, # 1552
147
+ 804, 599,3121,1333,2128,2539,1159,1554,2032,3810, 687,2033,2904, 952, 675,1467, # 1568
148
+ 3436,6121,2241,1096,1786,2440,1543,1924, 980,1813,2228, 781,2692,1879, 728,1918, # 1584
149
+ 3696,4624, 548,1950,4625,1809,1088,1356,3303,2522,1944, 502, 972, 373, 513,2827, # 1600
150
+ 586,2377,2391,1003,1976,1631,6122,2464,1084, 648,1776,4626,2141, 324, 962,2012, # 1616
151
+ 2177,2076,1384, 742,2178,1448,1173,1810, 222, 102, 301, 445, 125,2420, 662,2498, # 1632
152
+ 277, 200,1476,1165,1068, 224,2562,1378,1446, 450,1880, 659, 791, 582,4627,2939, # 1648
153
+ 3936,1516,1274, 555,2099,3697,1020,1389,1526,3380,1762,1723,1787,2229, 412,2114, # 1664
154
+ 1900,2392,3518, 512,2597, 427,1925,2341,3122,1653,1686,2465,2499, 697, 330, 273, # 1680
155
+ 380,2162, 951, 832, 780, 991,1301,3073, 965,2270,3519, 668,2523,2636,1286, 535, # 1696
156
+ 1407, 518, 671, 957,2658,2378, 267, 611,2197,3030,6123, 248,2299, 967,1799,2356, # 1712
157
+ 850,1418,3437,1876,1256,1480,2828,1718,6124,6125,1755,1664,2405,6126,4628,2879, # 1728
158
+ 2829, 499,2179, 676,4629, 557,2329,2214,2090, 325,3234, 464, 811,3001, 992,2342, # 1744
159
+ 2481,1232,1469, 303,2242, 466,1070,2163, 603,1777,2091,4630,2752,4631,2714, 322, # 1760
160
+ 2659,1964,1768, 481,2188,1463,2330,2857,3600,2092,3031,2421,4632,2318,2070,1849, # 1776
161
+ 2598,4633,1302,2254,1668,1701,2422,3811,2905,3032,3123,2046,4106,1763,1694,4634, # 1792
162
+ 1604, 943,1724,1454, 917, 868,2215,1169,2940, 552,1145,1800,1228,1823,1955, 316, # 1808
163
+ 1080,2510, 361,1807,2830,4107,2660,3381,1346,1423,1134,4108,6127, 541,1263,1229, # 1824
164
+ 1148,2540, 545, 465,1833,2880,3438,1901,3074,2482, 816,3937, 713,1788,2500, 122, # 1840
165
+ 1575, 195,1451,2501,1111,6128, 859, 374,1225,2243,2483,4317, 390,1033,3439,3075, # 1856
166
+ 2524,1687, 266, 793,1440,2599, 946, 779, 802, 507, 897,1081, 528,2189,1292, 711, # 1872
167
+ 1866,1725,1167,1640, 753, 398,2661,1053, 246, 348,4318, 137,1024,3440,1600,2077, # 1888
168
+ 2129, 825,4319, 698, 238, 521, 187,2300,1157,2423,1641,1605,1464,1610,1097,2541, # 1904
169
+ 1260,1436, 759,2255,1814,2150, 705,3235, 409,2563,3304, 561,3033,2005,2564, 726, # 1920
170
+ 1956,2343,3698,4109, 949,3812,3813,3520,1669, 653,1379,2525, 881,2198, 632,2256, # 1936
171
+ 1027, 778,1074, 733,1957, 514,1481,2466, 554,2180, 702,3938,1606,1017,1398,6129, # 1952
172
+ 1380,3521, 921, 993,1313, 594, 449,1489,1617,1166, 768,1426,1360, 495,1794,3601, # 1968
173
+ 1177,3602,1170,4320,2344, 476, 425,3167,4635,3168,1424, 401,2662,1171,3382,1998, # 1984
174
+ 1089,4110, 477,3169, 474,6130,1909, 596,2831,1842, 494, 693,1051,1028,1207,3076, # 2000
175
+ 606,2115, 727,2790,1473,1115, 743,3522, 630, 805,1532,4321,2021, 366,1057, 838, # 2016
176
+ 684,1114,2142,4322,2050,1492,1892,1808,2271,3814,2424,1971,1447,1373,3305,1090, # 2032
177
+ 1536,3939,3523,3306,1455,2199, 336, 369,2331,1035, 584,2393, 902, 718,2600,6131, # 2048
178
+ 2753, 463,2151,1149,1611,2467, 715,1308,3124,1268, 343,1413,3236,1517,1347,2663, # 2064
179
+ 2093,3940,2022,1131,1553,2100,2941,1427,3441,2942,1323,2484,6132,1980, 872,2368, # 2080
180
+ 2441,2943, 320,2369,2116,1082, 679,1933,3941,2791,3815, 625,1143,2023, 422,2200, # 2096
181
+ 3816,6133, 730,1695, 356,2257,1626,2301,2858,2637,1627,1778, 937, 883,2906,2693, # 2112
182
+ 3002,1769,1086, 400,1063,1325,3307,2792,4111,3077, 456,2345,1046, 747,6134,1524, # 2128
183
+ 884,1094,3383,1474,2164,1059, 974,1688,2181,2258,1047, 345,1665,1187, 358, 875, # 2144
184
+ 3170, 305, 660,3524,2190,1334,1135,3171,1540,1649,2542,1527, 927, 968,2793, 885, # 2160
185
+ 1972,1850, 482, 500,2638,1218,1109,1085,2543,1654,2034, 876, 78,2287,1482,1277, # 2176
186
+ 861,1675,1083,1779, 724,2754, 454, 397,1132,1612,2332, 893, 672,1237, 257,2259, # 2192
187
+ 2370, 135,3384, 337,2244, 547, 352, 340, 709,2485,1400, 788,1138,2511, 540, 772, # 2208
188
+ 1682,2260,2272,2544,2013,1843,1902,4636,1999,1562,2288,4637,2201,1403,1533, 407, # 2224
189
+ 576,3308,1254,2071, 978,3385, 170, 136,1201,3125,2664,3172,2394, 213, 912, 873, # 2240
190
+ 3603,1713,2202, 699,3604,3699, 813,3442, 493, 531,1054, 468,2907,1483, 304, 281, # 2256
191
+ 4112,1726,1252,2094, 339,2319,2130,2639, 756,1563,2944, 748, 571,2976,1588,2425, # 2272
192
+ 2715,1851,1460,2426,1528,1392,1973,3237, 288,3309, 685,3386, 296, 892,2716,2216, # 2288
193
+ 1570,2245, 722,1747,2217, 905,3238,1103,6135,1893,1441,1965, 251,1805,2371,3700, # 2304
194
+ 2601,1919,1078, 75,2182,1509,1592,1270,2640,4638,2152,6136,3310,3817, 524, 706, # 2320
195
+ 1075, 292,3818,1756,2602, 317, 98,3173,3605,3525,1844,2218,3819,2502, 814, 567, # 2336
196
+ 385,2908,1534,6137, 534,1642,3239, 797,6138,1670,1529, 953,4323, 188,1071, 538, # 2352
197
+ 178, 729,3240,2109,1226,1374,2000,2357,2977, 731,2468,1116,2014,2051,6139,1261, # 2368
198
+ 1593, 803,2859,2736,3443, 556, 682, 823,1541,6140,1369,2289,1706,2794, 845, 462, # 2384
199
+ 2603,2665,1361, 387, 162,2358,1740, 739,1770,1720,1304,1401,3241,1049, 627,1571, # 2400
200
+ 2427,3526,1877,3942,1852,1500, 431,1910,1503, 677, 297,2795, 286,1433,1038,1198, # 2416
201
+ 2290,1133,1596,4113,4639,2469,1510,1484,3943,6141,2442, 108, 712,4640,2372, 866, # 2432
202
+ 3701,2755,3242,1348, 834,1945,1408,3527,2395,3243,1811, 824, 994,1179,2110,1548, # 2448
203
+ 1453, 790,3003, 690,4324,4325,2832,2909,3820,1860,3821, 225,1748, 310, 346,1780, # 2464
204
+ 2470, 821,1993,2717,2796, 828, 877,3528,2860,2471,1702,2165,2910,2486,1789, 453, # 2480
205
+ 359,2291,1676, 73,1164,1461,1127,3311, 421, 604, 314,1037, 589, 116,2487, 737, # 2496
206
+ 837,1180, 111, 244, 735,6142,2261,1861,1362, 986, 523, 418, 581,2666,3822, 103, # 2512
207
+ 855, 503,1414,1867,2488,1091, 657,1597, 979, 605,1316,4641,1021,2443,2078,2001, # 2528
208
+ 1209, 96, 587,2166,1032, 260,1072,2153, 173, 94, 226,3244, 819,2006,4642,4114, # 2544
209
+ 2203, 231,1744, 782, 97,2667, 786,3387, 887, 391, 442,2219,4326,1425,6143,2694, # 2560
210
+ 633,1544,1202, 483,2015, 592,2052,1958,2472,1655, 419, 129,4327,3444,3312,1714, # 2576
211
+ 1257,3078,4328,1518,1098, 865,1310,1019,1885,1512,1734, 469,2444, 148, 773, 436, # 2592
212
+ 1815,1868,1128,1055,4329,1245,2756,3445,2154,1934,1039,4643, 579,1238, 932,2320, # 2608
213
+ 353, 205, 801, 115,2428, 944,2321,1881, 399,2565,1211, 678, 766,3944, 335,2101, # 2624
214
+ 1459,1781,1402,3945,2737,2131,1010, 844, 981,1326,1013, 550,1816,1545,2620,1335, # 2640
215
+ 1008, 371,2881, 936,1419,1613,3529,1456,1395,2273,1834,2604,1317,2738,2503, 416, # 2656
216
+ 1643,4330, 806,1126, 229, 591,3946,1314,1981,1576,1837,1666, 347,1790, 977,3313, # 2672
217
+ 764,2861,1853, 688,2429,1920,1462, 77, 595, 415,2002,3034, 798,1192,4115,6144, # 2688
218
+ 2978,4331,3035,2695,2582,2072,2566, 430,2430,1727, 842,1396,3947,3702, 613, 377, # 2704
219
+ 278, 236,1417,3388,3314,3174, 757,1869, 107,3530,6145,1194, 623,2262, 207,1253, # 2720
220
+ 2167,3446,3948, 492,1117,1935, 536,1838,2757,1246,4332, 696,2095,2406,1393,1572, # 2736
221
+ 3175,1782, 583, 190, 253,1390,2230, 830,3126,3389, 934,3245,1703,1749,2979,1870, # 2752
222
+ 2545,1656,2204, 869,2346,4116,3176,1817, 496,1764,4644, 942,1504, 404,1903,1122, # 2768
223
+ 1580,3606,2945,1022, 515, 372,1735, 955,2431,3036,6146,2797,1110,2302,2798, 617, # 2784
224
+ 6147, 441, 762,1771,3447,3607,3608,1904, 840,3037, 86, 939,1385, 572,1370,2445, # 2800
225
+ 1336, 114,3703, 898, 294, 203,3315, 703,1583,2274, 429, 961,4333,1854,1951,3390, # 2816
226
+ 2373,3704,4334,1318,1381, 966,1911,2322,1006,1155, 309, 989, 458,2718,1795,1372, # 2832
227
+ 1203, 252,1689,1363,3177, 517,1936, 168,1490, 562, 193,3823,1042,4117,1835, 551, # 2848
228
+ 470,4645, 395, 489,3448,1871,1465,2583,2641, 417,1493, 279,1295, 511,1236,1119, # 2864
229
+ 72,1231,1982,1812,3004, 871,1564, 984,3449,1667,2696,2096,4646,2347,2833,1673, # 2880
230
+ 3609, 695,3246,2668, 807,1183,4647, 890, 388,2333,1801,1457,2911,1765,1477,1031, # 2896
231
+ 3316,3317,1278,3391,2799,2292,2526, 163,3450,4335,2669,1404,1802,6148,2323,2407, # 2912
232
+ 1584,1728,1494,1824,1269, 298, 909,3318,1034,1632, 375, 776,1683,2061, 291, 210, # 2928
233
+ 1123, 809,1249,1002,2642,3038, 206,1011,2132, 144, 975, 882,1565, 342, 667, 754, # 2944
234
+ 1442,2143,1299,2303,2062, 447, 626,2205,1221,2739,2912,1144,1214,2206,2584, 760, # 2960
235
+ 1715, 614, 950,1281,2670,2621, 810, 577,1287,2546,4648, 242,2168, 250,2643, 691, # 2976
236
+ 123,2644, 647, 313,1029, 689,1357,2946,1650, 216, 771,1339,1306, 808,2063, 549, # 2992
237
+ 913,1371,2913,2914,6149,1466,1092,1174,1196,1311,2605,2396,1783,1796,3079, 406, # 3008
238
+ 2671,2117,3949,4649, 487,1825,2220,6150,2915, 448,2348,1073,6151,2397,1707, 130, # 3024
239
+ 900,1598, 329, 176,1959,2527,1620,6152,2275,4336,3319,1983,2191,3705,3610,2155, # 3040
240
+ 3706,1912,1513,1614,6153,1988, 646, 392,2304,1589,3320,3039,1826,1239,1352,1340, # 3056
241
+ 2916, 505,2567,1709,1437,2408,2547, 906,6154,2672, 384,1458,1594,1100,1329, 710, # 3072
242
+ 423,3531,2064,2231,2622,1989,2673,1087,1882, 333, 841,3005,1296,2882,2379, 580, # 3088
243
+ 1937,1827,1293,2585, 601, 574, 249,1772,4118,2079,1120, 645, 901,1176,1690, 795, # 3104
244
+ 2207, 478,1434, 516,1190,1530, 761,2080, 930,1264, 355, 435,1552, 644,1791, 987, # 3120
245
+ 220,1364,1163,1121,1538, 306,2169,1327,1222, 546,2645, 218, 241, 610,1704,3321, # 3136
246
+ 1984,1839,1966,2528, 451,6155,2586,3707,2568, 907,3178, 254,2947, 186,1845,4650, # 3152
247
+ 745, 432,1757, 428,1633, 888,2246,2221,2489,3611,2118,1258,1265, 956,3127,1784, # 3168
248
+ 4337,2490, 319, 510, 119, 457,3612, 274,2035,2007,4651,1409,3128, 970,2758, 590, # 3184
249
+ 2800, 661,2247,4652,2008,3950,1420,1549,3080,3322,3951,1651,1375,2111, 485,2491, # 3200
250
+ 1429,1156,6156,2548,2183,1495, 831,1840,2529,2446, 501,1657, 307,1894,3247,1341, # 3216
251
+ 666, 899,2156,1539,2549,1559, 886, 349,2208,3081,2305,1736,3824,2170,2759,1014, # 3232
252
+ 1913,1386, 542,1397,2948, 490, 368, 716, 362, 159, 282,2569,1129,1658,1288,1750, # 3248
253
+ 2674, 276, 649,2016, 751,1496, 658,1818,1284,1862,2209,2087,2512,3451, 622,2834, # 3264
254
+ 376, 117,1060,2053,1208,1721,1101,1443, 247,1250,3179,1792,3952,2760,2398,3953, # 3280
255
+ 6157,2144,3708, 446,2432,1151,2570,3452,2447,2761,2835,1210,2448,3082, 424,2222, # 3296
256
+ 1251,2449,2119,2836, 504,1581,4338, 602, 817, 857,3825,2349,2306, 357,3826,1470, # 3312
257
+ 1883,2883, 255, 958, 929,2917,3248, 302,4653,1050,1271,1751,2307,1952,1430,2697, # 3328
258
+ 2719,2359, 354,3180, 777, 158,2036,4339,1659,4340,4654,2308,2949,2248,1146,2232, # 3344
259
+ 3532,2720,1696,2623,3827,6158,3129,1550,2698,1485,1297,1428, 637, 931,2721,2145, # 3360
260
+ 914,2550,2587, 81,2450, 612, 827,2646,1242,4655,1118,2884, 472,1855,3181,3533, # 3376
261
+ 3534, 569,1353,2699,1244,1758,2588,4119,2009,2762,2171,3709,1312,1531,6159,1152, # 3392
262
+ 1938, 134,1830, 471,3710,2276,1112,1535,3323,3453,3535, 982,1337,2950, 488, 826, # 3408
263
+ 674,1058,1628,4120,2017, 522,2399, 211, 568,1367,3454, 350, 293,1872,1139,3249, # 3424
264
+ 1399,1946,3006,1300,2360,3324, 588, 736,6160,2606, 744, 669,3536,3828,6161,1358, # 3440
265
+ 199, 723, 848, 933, 851,1939,1505,1514,1338,1618,1831,4656,1634,3613, 443,2740, # 3456
266
+ 3829, 717,1947, 491,1914,6162,2551,1542,4121,1025,6163,1099,1223, 198,3040,2722, # 3472
267
+ 370, 410,1905,2589, 998,1248,3182,2380, 519,1449,4122,1710, 947, 928,1153,4341, # 3488
268
+ 2277, 344,2624,1511, 615, 105, 161,1212,1076,1960,3130,2054,1926,1175,1906,2473, # 3504
269
+ 414,1873,2801,6164,2309, 315,1319,3325, 318,2018,2146,2157, 963, 631, 223,4342, # 3520
270
+ 4343,2675, 479,3711,1197,2625,3712,2676,2361,6165,4344,4123,6166,2451,3183,1886, # 3536
271
+ 2184,1674,1330,1711,1635,1506, 799, 219,3250,3083,3954,1677,3713,3326,2081,3614, # 3552
272
+ 1652,2073,4657,1147,3041,1752, 643,1961, 147,1974,3955,6167,1716,2037, 918,3007, # 3568
273
+ 1994, 120,1537, 118, 609,3184,4345, 740,3455,1219, 332,1615,3830,6168,1621,2980, # 3584
274
+ 1582, 783, 212, 553,2350,3714,1349,2433,2082,4124, 889,6169,2310,1275,1410, 973, # 3600
275
+ 166,1320,3456,1797,1215,3185,2885,1846,2590,2763,4658, 629, 822,3008, 763, 940, # 3616
276
+ 1990,2862, 439,2409,1566,1240,1622, 926,1282,1907,2764, 654,2210,1607, 327,1130, # 3632
277
+ 3956,1678,1623,6170,2434,2192, 686, 608,3831,3715, 903,3957,3042,6171,2741,1522, # 3648
278
+ 1915,1105,1555,2552,1359, 323,3251,4346,3457, 738,1354,2553,2311,2334,1828,2003, # 3664
279
+ 3832,1753,2351,1227,6172,1887,4125,1478,6173,2410,1874,1712,1847, 520,1204,2607, # 3680
280
+ 264,4659, 836,2677,2102, 600,4660,3833,2278,3084,6174,4347,3615,1342, 640, 532, # 3696
281
+ 543,2608,1888,2400,2591,1009,4348,1497, 341,1737,3616,2723,1394, 529,3252,1321, # 3712
282
+ 983,4661,1515,2120, 971,2592, 924, 287,1662,3186,4349,2700,4350,1519, 908,1948, # 3728
283
+ 2452, 156, 796,1629,1486,2223,2055, 694,4126,1259,1036,3392,1213,2249,2742,1889, # 3744
284
+ 1230,3958,1015, 910, 408, 559,3617,4662, 746, 725, 935,4663,3959,3009,1289, 563, # 3760
285
+ 867,4664,3960,1567,2981,2038,2626, 988,2263,2381,4351, 143,2374, 704,1895,6175, # 3776
286
+ 1188,3716,2088, 673,3085,2362,4352, 484,1608,1921,2765,2918, 215, 904,3618,3537, # 3792
287
+ 894, 509, 976,3043,2701,3961,4353,2837,2982, 498,6176,6177,1102,3538,1332,3393, # 3808
288
+ 1487,1636,1637, 233, 245,3962, 383, 650, 995,3044, 460,1520,1206,2352, 749,3327, # 3824
289
+ 530, 700, 389,1438,1560,1773,3963,2264, 719,2951,2724,3834, 870,1832,1644,1000, # 3840
290
+ 839,2474,3717, 197,1630,3394, 365,2886,3964,1285,2133, 734, 922, 818,1106, 732, # 3856
291
+ 480,2083,1774,3458, 923,2279,1350, 221,3086, 85,2233,2234,3835,1585,3010,2147, # 3872
292
+ 1387,1705,2382,1619,2475, 133, 239,2802,1991,1016,2084,2383, 411,2838,1113, 651, # 3888
293
+ 1985,1160,3328, 990,1863,3087,1048,1276,2647, 265,2627,1599,3253,2056, 150, 638, # 3904
294
+ 2019, 656, 853, 326,1479, 680,1439,4354,1001,1759, 413,3459,3395,2492,1431, 459, # 3920
295
+ 4355,1125,3329,2265,1953,1450,2065,2863, 849, 351,2678,3131,3254,3255,1104,1577, # 3936
296
+ 227,1351,1645,2453,2193,1421,2887, 812,2121, 634, 95,2435, 201,2312,4665,1646, # 3952
297
+ 1671,2743,1601,2554,2702,2648,2280,1315,1366,2089,3132,1573,3718,3965,1729,1189, # 3968
298
+ 328,2679,1077,1940,1136, 558,1283, 964,1195, 621,2074,1199,1743,3460,3619,1896, # 3984
299
+ 1916,1890,3836,2952,1154,2112,1064, 862, 378,3011,2066,2113,2803,1568,2839,6178, # 4000
300
+ 3088,2919,1941,1660,2004,1992,2194, 142, 707,1590,1708,1624,1922,1023,1836,1233, # 4016
301
+ 1004,2313, 789, 741,3620,6179,1609,2411,1200,4127,3719,3720,4666,2057,3721, 593, # 4032
302
+ 2840, 367,2920,1878,6180,3461,1521, 628,1168, 692,2211,2649, 300, 720,2067,2571, # 4048
303
+ 2953,3396, 959,2504,3966,3539,3462,1977, 701,6181, 954,1043, 800, 681, 183,3722, # 4064
304
+ 1803,1730,3540,4128,2103, 815,2314, 174, 467, 230,2454,1093,2134, 755,3541,3397, # 4080
305
+ 1141,1162,6182,1738,2039, 270,3256,2513,1005,1647,2185,3837, 858,1679,1897,1719, # 4096
306
+ 2954,2324,1806, 402, 670, 167,4129,1498,2158,2104, 750,6183, 915, 189,1680,1551, # 4112
307
+ 455,4356,1501,2455, 405,1095,2955, 338,1586,1266,1819, 570, 641,1324, 237,1556, # 4128
308
+ 2650,1388,3723,6184,1368,2384,1343,1978,3089,2436, 879,3724, 792,1191, 758,3012, # 4144
309
+ 1411,2135,1322,4357, 240,4667,1848,3725,1574,6185, 420,3045,1546,1391, 714,4358, # 4160
310
+ 1967, 941,1864, 863, 664, 426, 560,1731,2680,1785,2864,1949,2363, 403,3330,1415, # 4176
311
+ 1279,2136,1697,2335, 204, 721,2097,3838, 90,6186,2085,2505, 191,3967, 124,2148, # 4192
312
+ 1376,1798,1178,1107,1898,1405, 860,4359,1243,1272,2375,2983,1558,2456,1638, 113, # 4208
313
+ 3621, 578,1923,2609, 880, 386,4130, 784,2186,2266,1422,2956,2172,1722, 497, 263, # 4224
314
+ 2514,1267,2412,2610, 177,2703,3542, 774,1927,1344, 616,1432,1595,1018, 172,4360, # 4240
315
+ 2325, 911,4361, 438,1468,3622, 794,3968,2024,2173,1681,1829,2957, 945, 895,3090, # 4256
316
+ 575,2212,2476, 475,2401,2681, 785,2744,1745,2293,2555,1975,3133,2865, 394,4668, # 4272
317
+ 3839, 635,4131, 639, 202,1507,2195,2766,1345,1435,2572,3726,1908,1184,1181,2457, # 4288
318
+ 3727,3134,4362, 843,2611, 437, 916,4669, 234, 769,1884,3046,3047,3623, 833,6187, # 4304
319
+ 1639,2250,2402,1355,1185,2010,2047, 999, 525,1732,1290,1488,2612, 948,1578,3728, # 4320
320
+ 2413,2477,1216,2725,2159, 334,3840,1328,3624,2921,1525,4132, 564,1056, 891,4363, # 4336
321
+ 1444,1698,2385,2251,3729,1365,2281,2235,1717,6188, 864,3841,2515, 444, 527,2767, # 4352
322
+ 2922,3625, 544, 461,6189, 566, 209,2437,3398,2098,1065,2068,3331,3626,3257,2137, # 4368 #last 512
323
+ )
324
+
325
+
@@ -0,0 +1,233 @@
1
+ ######################## BEGIN LICENSE BLOCK ########################
2
+ # The Original Code is Mozilla Communicator client code.
3
+ #
4
+ # The Initial Developer of the Original Code is
5
+ # Netscape Communications Corporation.
6
+ # Portions created by the Initial Developer are Copyright (C) 1998
7
+ # the Initial Developer. All Rights Reserved.
8
+ #
9
+ # Contributor(s):
10
+ # Mark Pilgrim - port to Python
11
+ #
12
+ # This library is free software; you can redistribute it and/or
13
+ # modify it under the terms of the GNU Lesser General Public
14
+ # License as published by the Free Software Foundation; either
15
+ # version 2.1 of the License, or (at your option) any later version.
16
+ #
17
+ # This library is distributed in the hope that it will be useful,
18
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
19
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20
+ # Lesser General Public License for more details.
21
+ #
22
+ # You should have received a copy of the GNU Lesser General Public
23
+ # License along with this library; if not, write to the Free Software
24
+ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
25
+ # 02110-1301 USA
26
+ ######################### END LICENSE BLOCK #########################
27
+
28
+
29
+ # This is hiragana 2-char sequence table, the number in each cell represents its frequency category
30
+ jp2CharContext = (
31
+ (0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1),
32
+ (2,4,0,4,0,3,0,4,0,3,4,4,4,2,4,3,3,4,3,2,3,3,4,2,3,3,3,2,4,1,4,3,3,1,5,4,3,4,3,4,3,5,3,0,3,5,4,2,0,3,1,0,3,3,0,3,3,0,1,1,0,4,3,0,3,3,0,4,0,2,0,3,5,5,5,5,4,0,4,1,0,3,4),
33
+ (0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2),
34
+ (0,4,0,5,0,5,0,4,0,4,5,4,4,3,5,3,5,1,5,3,4,3,4,4,3,4,3,3,4,3,5,4,4,3,5,5,3,5,5,5,3,5,5,3,4,5,5,3,1,3,2,0,3,4,0,4,2,0,4,2,1,5,3,2,3,5,0,4,0,2,0,5,4,4,5,4,5,0,4,0,0,4,4),
35
+ (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
36
+ (0,3,0,4,0,3,0,3,0,4,5,4,3,3,3,3,4,3,5,4,4,3,5,4,4,3,4,3,4,4,4,4,5,3,4,4,3,4,5,5,4,5,5,1,4,5,4,3,0,3,3,1,3,3,0,4,4,0,3,3,1,5,3,3,3,5,0,4,0,3,0,4,4,3,4,3,3,0,4,1,1,3,4),
37
+ (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
38
+ (0,4,0,3,0,3,0,4,0,3,4,4,3,2,2,1,2,1,3,1,3,3,3,3,3,4,3,1,3,3,5,3,3,0,4,3,0,5,4,3,3,5,4,4,3,4,4,5,0,1,2,0,1,2,0,2,2,0,1,0,0,5,2,2,1,4,0,3,0,1,0,4,4,3,5,4,3,0,2,1,0,4,3),
39
+ (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
40
+ (0,3,0,5,0,4,0,2,1,4,4,2,4,1,4,2,4,2,4,3,3,3,4,3,3,3,3,1,4,2,3,3,3,1,4,4,1,1,1,4,3,3,2,0,2,4,3,2,0,3,3,0,3,1,1,0,0,0,3,3,0,4,2,2,3,4,0,4,0,3,0,4,4,5,3,4,4,0,3,0,0,1,4),
41
+ (1,4,0,4,0,4,0,4,0,3,5,4,4,3,4,3,5,4,3,3,4,3,5,4,4,4,4,3,4,2,4,3,3,1,5,4,3,2,4,5,4,5,5,4,4,5,4,4,0,3,2,2,3,3,0,4,3,1,3,2,1,4,3,3,4,5,0,3,0,2,0,4,5,5,4,5,4,0,4,0,0,5,4),
42
+ (0,5,0,5,0,4,0,3,0,4,4,3,4,3,3,3,4,0,4,4,4,3,4,3,4,3,3,1,4,2,4,3,4,0,5,4,1,4,5,4,4,5,3,2,4,3,4,3,2,4,1,3,3,3,2,3,2,0,4,3,3,4,3,3,3,4,0,4,0,3,0,4,5,4,4,4,3,0,4,1,0,1,3),
43
+ (0,3,1,4,0,3,0,2,0,3,4,4,3,1,4,2,3,3,4,3,4,3,4,3,4,4,3,2,3,1,5,4,4,1,4,4,3,5,4,4,3,5,5,4,3,4,4,3,1,2,3,1,2,2,0,3,2,0,3,1,0,5,3,3,3,4,3,3,3,3,4,4,4,4,5,4,2,0,3,3,2,4,3),
44
+ (0,2,0,3,0,1,0,1,0,0,3,2,0,0,2,0,1,0,2,1,3,3,3,1,2,3,1,0,1,0,4,2,1,1,3,3,0,4,3,3,1,4,3,3,0,3,3,2,0,0,0,0,1,0,0,2,0,0,0,0,0,4,1,0,2,3,2,2,2,1,3,3,3,4,4,3,2,0,3,1,0,3,3),
45
+ (0,4,0,4,0,3,0,3,0,4,4,4,3,3,3,3,3,3,4,3,4,2,4,3,4,3,3,2,4,3,4,5,4,1,4,5,3,5,4,5,3,5,4,0,3,5,5,3,1,3,3,2,2,3,0,3,4,1,3,3,2,4,3,3,3,4,0,4,0,3,0,4,5,4,4,5,3,0,4,1,0,3,4),
46
+ (0,2,0,3,0,3,0,0,0,2,2,2,1,0,1,0,0,0,3,0,3,0,3,0,1,3,1,0,3,1,3,3,3,1,3,3,3,0,1,3,1,3,4,0,0,3,1,1,0,3,2,0,0,0,0,1,3,0,1,0,0,3,3,2,0,3,0,0,0,0,0,3,4,3,4,3,3,0,3,0,0,2,3),
47
+ (2,3,0,3,0,2,0,1,0,3,3,4,3,1,3,1,1,1,3,1,4,3,4,3,3,3,0,0,3,1,5,4,3,1,4,3,2,5,5,4,4,4,4,3,3,4,4,4,0,2,1,1,3,2,0,1,2,0,0,1,0,4,1,3,3,3,0,3,0,1,0,4,4,4,5,5,3,0,2,0,0,4,4),
48
+ (0,2,0,1,0,3,1,3,0,2,3,3,3,0,3,1,0,0,3,0,3,2,3,1,3,2,1,1,0,0,4,2,1,0,2,3,1,4,3,2,0,4,4,3,1,3,1,3,0,1,0,0,1,0,0,0,1,0,0,0,0,4,1,1,1,2,0,3,0,0,0,3,4,2,4,3,2,0,1,0,0,3,3),
49
+ (0,1,0,4,0,5,0,4,0,2,4,4,2,3,3,2,3,3,5,3,3,3,4,3,4,2,3,0,4,3,3,3,4,1,4,3,2,1,5,5,3,4,5,1,3,5,4,2,0,3,3,0,1,3,0,4,2,0,1,3,1,4,3,3,3,3,0,3,0,1,0,3,4,4,4,5,5,0,3,0,1,4,5),
50
+ (0,2,0,3,0,3,0,0,0,2,3,1,3,0,4,0,1,1,3,0,3,4,3,2,3,1,0,3,3,2,3,1,3,0,2,3,0,2,1,4,1,2,2,0,0,3,3,0,0,2,0,0,0,1,0,0,0,0,2,2,0,3,2,1,3,3,0,2,0,2,0,0,3,3,1,2,4,0,3,0,2,2,3),
51
+ (2,4,0,5,0,4,0,4,0,2,4,4,4,3,4,3,3,3,1,2,4,3,4,3,4,4,5,0,3,3,3,3,2,0,4,3,1,4,3,4,1,4,4,3,3,4,4,3,1,2,3,0,4,2,0,4,1,0,3,3,0,4,3,3,3,4,0,4,0,2,0,3,5,3,4,5,2,0,3,0,0,4,5),
52
+ (0,3,0,4,0,1,0,1,0,1,3,2,2,1,3,0,3,0,2,0,2,0,3,0,2,0,0,0,1,0,1,1,0,0,3,1,0,0,0,4,0,3,1,0,2,1,3,0,0,0,0,0,0,3,0,0,0,0,0,0,0,4,2,2,3,1,0,3,0,0,0,1,4,4,4,3,0,0,4,0,0,1,4),
53
+ (1,4,1,5,0,3,0,3,0,4,5,4,4,3,5,3,3,4,4,3,4,1,3,3,3,3,2,1,4,1,5,4,3,1,4,4,3,5,4,4,3,5,4,3,3,4,4,4,0,3,3,1,2,3,0,3,1,0,3,3,0,5,4,4,4,4,4,4,3,3,5,4,4,3,3,5,4,0,3,2,0,4,4),
54
+ (0,2,0,3,0,1,0,0,0,1,3,3,3,2,4,1,3,0,3,1,3,0,2,2,1,1,0,0,2,0,4,3,1,0,4,3,0,4,4,4,1,4,3,1,1,3,3,1,0,2,0,0,1,3,0,0,0,0,2,0,0,4,3,2,4,3,5,4,3,3,3,4,3,3,4,3,3,0,2,1,0,3,3),
55
+ (0,2,0,4,0,3,0,2,0,2,5,5,3,4,4,4,4,1,4,3,3,0,4,3,4,3,1,3,3,2,4,3,0,3,4,3,0,3,4,4,2,4,4,0,4,5,3,3,2,2,1,1,1,2,0,1,5,0,3,3,2,4,3,3,3,4,0,3,0,2,0,4,4,3,5,5,0,0,3,0,2,3,3),
56
+ (0,3,0,4,0,3,0,1,0,3,4,3,3,1,3,3,3,0,3,1,3,0,4,3,3,1,1,0,3,0,3,3,0,0,4,4,0,1,5,4,3,3,5,0,3,3,4,3,0,2,0,1,1,1,0,1,3,0,1,2,1,3,3,2,3,3,0,3,0,1,0,1,3,3,4,4,1,0,1,2,2,1,3),
57
+ (0,1,0,4,0,4,0,3,0,1,3,3,3,2,3,1,1,0,3,0,3,3,4,3,2,4,2,0,1,0,4,3,2,0,4,3,0,5,3,3,2,4,4,4,3,3,3,4,0,1,3,0,0,1,0,0,1,0,0,0,0,4,2,3,3,3,0,3,0,0,0,4,4,4,5,3,2,0,3,3,0,3,5),
58
+ (0,2,0,3,0,0,0,3,0,1,3,0,2,0,0,0,1,0,3,1,1,3,3,0,0,3,0,0,3,0,2,3,1,0,3,1,0,3,3,2,0,4,2,2,0,2,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,2,1,2,0,1,0,1,0,0,0,1,3,1,2,0,0,0,1,0,0,1,4),
59
+ (0,3,0,3,0,5,0,1,0,2,4,3,1,3,3,2,1,1,5,2,1,0,5,1,2,0,0,0,3,3,2,2,3,2,4,3,0,0,3,3,1,3,3,0,2,5,3,4,0,3,3,0,1,2,0,2,2,0,3,2,0,2,2,3,3,3,0,2,0,1,0,3,4,4,2,5,4,0,3,0,0,3,5),
60
+ (0,3,0,3,0,3,0,1,0,3,3,3,3,0,3,0,2,0,2,1,1,0,2,0,1,0,0,0,2,1,0,0,1,0,3,2,0,0,3,3,1,2,3,1,0,3,3,0,0,1,0,0,0,0,0,2,0,0,0,0,0,2,3,1,2,3,0,3,0,1,0,3,2,1,0,4,3,0,1,1,0,3,3),
61
+ (0,4,0,5,0,3,0,3,0,4,5,5,4,3,5,3,4,3,5,3,3,2,5,3,4,4,4,3,4,3,4,5,5,3,4,4,3,4,4,5,4,4,4,3,4,5,5,4,2,3,4,2,3,4,0,3,3,1,4,3,2,4,3,3,5,5,0,3,0,3,0,5,5,5,5,4,4,0,4,0,1,4,4),
62
+ (0,4,0,4,0,3,0,3,0,3,5,4,4,2,3,2,5,1,3,2,5,1,4,2,3,2,3,3,4,3,3,3,3,2,5,4,1,3,3,5,3,4,4,0,4,4,3,1,1,3,1,0,2,3,0,2,3,0,3,0,0,4,3,1,3,4,0,3,0,2,0,4,4,4,3,4,5,0,4,0,0,3,4),
63
+ (0,3,0,3,0,3,1,2,0,3,4,4,3,3,3,0,2,2,4,3,3,1,3,3,3,1,1,0,3,1,4,3,2,3,4,4,2,4,4,4,3,4,4,3,2,4,4,3,1,3,3,1,3,3,0,4,1,0,2,2,1,4,3,2,3,3,5,4,3,3,5,4,4,3,3,0,4,0,3,2,2,4,4),
64
+ (0,2,0,1,0,0,0,0,0,1,2,1,3,0,0,0,0,0,2,0,1,2,1,0,0,1,0,0,0,0,3,0,0,1,0,1,1,3,1,0,0,0,1,1,0,1,1,0,0,0,0,0,2,0,0,0,0,0,0,0,0,1,1,2,2,0,3,4,0,0,0,1,1,0,0,1,0,0,0,0,0,1,1),
65
+ (0,1,0,0,0,1,0,0,0,0,4,0,4,1,4,0,3,0,4,0,3,0,4,0,3,0,3,0,4,1,5,1,4,0,0,3,0,5,0,5,2,0,1,0,0,0,2,1,4,0,1,3,0,0,3,0,0,3,1,1,4,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0),
66
+ (1,4,0,5,0,3,0,2,0,3,5,4,4,3,4,3,5,3,4,3,3,0,4,3,3,3,3,3,3,2,4,4,3,1,3,4,4,5,4,4,3,4,4,1,3,5,4,3,3,3,1,2,2,3,3,1,3,1,3,3,3,5,3,3,4,5,0,3,0,3,0,3,4,3,4,4,3,0,3,0,2,4,3),
67
+ (0,1,0,4,0,0,0,0,0,1,4,0,4,1,4,2,4,0,3,0,1,0,1,0,0,0,0,0,2,0,3,1,1,1,0,3,0,0,0,1,2,1,0,0,1,1,1,1,0,1,0,0,0,1,0,0,3,0,0,0,0,3,2,0,2,2,0,1,0,0,0,2,3,2,3,3,0,0,0,0,2,1,0),
68
+ (0,5,1,5,0,3,0,3,0,5,4,4,5,1,5,3,3,0,4,3,4,3,5,3,4,3,3,2,4,3,4,3,3,0,3,3,1,4,4,3,4,4,4,3,4,5,5,3,2,3,1,1,3,3,1,3,1,1,3,3,2,4,5,3,3,5,0,4,0,3,0,4,4,3,5,3,3,0,3,4,0,4,3),
69
+ (0,5,0,5,0,3,0,2,0,4,4,3,5,2,4,3,3,3,4,4,4,3,5,3,5,3,3,1,4,0,4,3,3,0,3,3,0,4,4,4,4,5,4,3,3,5,5,3,2,3,1,2,3,2,0,1,0,0,3,2,2,4,4,3,1,5,0,4,0,3,0,4,3,1,3,2,1,0,3,3,0,3,3),
70
+ (0,4,0,5,0,5,0,4,0,4,5,5,5,3,4,3,3,2,5,4,4,3,5,3,5,3,4,0,4,3,4,4,3,2,4,4,3,4,5,4,4,5,5,0,3,5,5,4,1,3,3,2,3,3,1,3,1,0,4,3,1,4,4,3,4,5,0,4,0,2,0,4,3,4,4,3,3,0,4,0,0,5,5),
71
+ (0,4,0,4,0,5,0,1,1,3,3,4,4,3,4,1,3,0,5,1,3,0,3,1,3,1,1,0,3,0,3,3,4,0,4,3,0,4,4,4,3,4,4,0,3,5,4,1,0,3,0,0,2,3,0,3,1,0,3,1,0,3,2,1,3,5,0,3,0,1,0,3,2,3,3,4,4,0,2,2,0,4,4),
72
+ (2,4,0,5,0,4,0,3,0,4,5,5,4,3,5,3,5,3,5,3,5,2,5,3,4,3,3,4,3,4,5,3,2,1,5,4,3,2,3,4,5,3,4,1,2,5,4,3,0,3,3,0,3,2,0,2,3,0,4,1,0,3,4,3,3,5,0,3,0,1,0,4,5,5,5,4,3,0,4,2,0,3,5),
73
+ (0,5,0,4,0,4,0,2,0,5,4,3,4,3,4,3,3,3,4,3,4,2,5,3,5,3,4,1,4,3,4,4,4,0,3,5,0,4,4,4,4,5,3,1,3,4,5,3,3,3,3,3,3,3,0,2,2,0,3,3,2,4,3,3,3,5,3,4,1,3,3,5,3,2,0,0,0,0,4,3,1,3,3),
74
+ (0,1,0,3,0,3,0,1,0,1,3,3,3,2,3,3,3,0,3,0,0,0,3,1,3,0,0,0,2,2,2,3,0,0,3,2,0,1,2,4,1,3,3,0,0,3,3,3,0,1,0,0,2,1,0,0,3,0,3,1,0,3,0,0,1,3,0,2,0,1,0,3,3,1,3,3,0,0,1,1,0,3,3),
75
+ (0,2,0,3,0,2,1,4,0,2,2,3,1,1,3,1,1,0,2,0,3,1,2,3,1,3,0,0,1,0,4,3,2,3,3,3,1,4,2,3,3,3,3,1,0,3,1,4,0,1,1,0,1,2,0,1,1,0,1,1,0,3,1,3,2,2,0,1,0,0,0,2,3,3,3,1,0,0,0,0,0,2,3),
76
+ (0,5,0,4,0,5,0,2,0,4,5,5,3,3,4,3,3,1,5,4,4,2,4,4,4,3,4,2,4,3,5,5,4,3,3,4,3,3,5,5,4,5,5,1,3,4,5,3,1,4,3,1,3,3,0,3,3,1,4,3,1,4,5,3,3,5,0,4,0,3,0,5,3,3,1,4,3,0,4,0,1,5,3),
77
+ (0,5,0,5,0,4,0,2,0,4,4,3,4,3,3,3,3,3,5,4,4,4,4,4,4,5,3,3,5,2,4,4,4,3,4,4,3,3,4,4,5,5,3,3,4,3,4,3,3,4,3,3,3,3,1,2,2,1,4,3,3,5,4,4,3,4,0,4,0,3,0,4,4,4,4,4,1,0,4,2,0,2,4),
78
+ (0,4,0,4,0,3,0,1,0,3,5,2,3,0,3,0,2,1,4,2,3,3,4,1,4,3,3,2,4,1,3,3,3,0,3,3,0,0,3,3,3,5,3,3,3,3,3,2,0,2,0,0,2,0,0,2,0,0,1,0,0,3,1,2,2,3,0,3,0,2,0,4,4,3,3,4,1,0,3,0,0,2,4),
79
+ (0,0,0,4,0,0,0,0,0,0,1,0,1,0,2,0,0,0,0,0,1,0,2,0,1,0,0,0,0,0,3,1,3,0,3,2,0,0,0,1,0,3,2,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,0,2,0,0,0,0,0,0,2),
80
+ (0,2,1,3,0,2,0,2,0,3,3,3,3,1,3,1,3,3,3,3,3,3,4,2,2,1,2,1,4,0,4,3,1,3,3,3,2,4,3,5,4,3,3,3,3,3,3,3,0,1,3,0,2,0,0,1,0,0,1,0,0,4,2,0,2,3,0,3,3,0,3,3,4,2,3,1,4,0,1,2,0,2,3),
81
+ (0,3,0,3,0,1,0,3,0,2,3,3,3,0,3,1,2,0,3,3,2,3,3,2,3,2,3,1,3,0,4,3,2,0,3,3,1,4,3,3,2,3,4,3,1,3,3,1,1,0,1,1,0,1,0,1,0,1,0,0,0,4,1,1,0,3,0,3,1,0,2,3,3,3,3,3,1,0,0,2,0,3,3),
82
+ (0,0,0,0,0,0,0,0,0,0,3,0,2,0,3,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,3,0,3,0,3,1,0,1,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,2,0,2,3,0,0,0,0,0,0,0,0,3),
83
+ (0,2,0,3,1,3,0,3,0,2,3,3,3,1,3,1,3,1,3,1,3,3,3,1,3,0,2,3,1,1,4,3,3,2,3,3,1,2,2,4,1,3,3,0,1,4,2,3,0,1,3,0,3,0,0,1,3,0,2,0,0,3,3,2,1,3,0,3,0,2,0,3,4,4,4,3,1,0,3,0,0,3,3),
84
+ (0,2,0,1,0,2,0,0,0,1,3,2,2,1,3,0,1,1,3,0,3,2,3,1,2,0,2,0,1,1,3,3,3,0,3,3,1,1,2,3,2,3,3,1,2,3,2,0,0,1,0,0,0,0,0,0,3,0,1,0,0,2,1,2,1,3,0,3,0,0,0,3,4,4,4,3,2,0,2,0,0,2,4),
85
+ (0,0,0,1,0,1,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,2,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,3,1,0,0,0,0,0,0,0,3),
86
+ (0,3,0,3,0,2,0,3,0,3,3,3,2,3,2,2,2,0,3,1,3,3,3,2,3,3,0,0,3,0,3,2,2,0,2,3,1,4,3,4,3,3,2,3,1,5,4,4,0,3,1,2,1,3,0,3,1,1,2,0,2,3,1,3,1,3,0,3,0,1,0,3,3,4,4,2,1,0,2,1,0,2,4),
87
+ (0,1,0,3,0,1,0,2,0,1,4,2,5,1,4,0,2,0,2,1,3,1,4,0,2,1,0,0,2,1,4,1,1,0,3,3,0,5,1,3,2,3,3,1,0,3,2,3,0,1,0,0,0,0,0,0,1,0,0,0,0,4,0,1,0,3,0,2,0,1,0,3,3,3,4,3,3,0,0,0,0,2,3),
88
+ (0,0,0,1,0,0,0,0,0,0,2,0,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,1,0,0,1,0,0,0,0,0,3),
89
+ (0,1,0,3,0,4,0,3,0,2,4,3,1,0,3,2,2,1,3,1,2,2,3,1,1,1,2,1,3,0,1,2,0,1,3,2,1,3,0,5,5,1,0,0,1,3,2,1,0,3,0,0,1,0,0,0,0,0,3,4,0,1,1,1,3,2,0,2,0,1,0,2,3,3,1,2,3,0,1,0,1,0,4),
90
+ (0,0,0,1,0,3,0,3,0,2,2,1,0,0,4,0,3,0,3,1,3,0,3,0,3,0,1,0,3,0,3,1,3,0,3,3,0,0,1,2,1,1,1,0,1,2,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,2,2,1,2,0,0,2,0,0,0,0,2,3,3,3,3,0,0,0,0,1,4),
91
+ (0,0,0,3,0,3,0,0,0,0,3,1,1,0,3,0,1,0,2,0,1,0,0,0,0,0,0,0,1,0,3,0,2,0,2,3,0,0,2,2,3,1,2,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,2,0,0,0,0,2,3),
92
+ (2,4,0,5,0,5,0,4,0,3,4,3,3,3,4,3,3,3,4,3,4,4,5,4,5,5,5,2,3,0,5,5,4,1,5,4,3,1,5,4,3,4,4,3,3,4,3,3,0,3,2,0,2,3,0,3,0,0,3,3,0,5,3,2,3,3,0,3,0,3,0,3,4,5,4,5,3,0,4,3,0,3,4),
93
+ (0,3,0,3,0,3,0,3,0,3,3,4,3,2,3,2,3,0,4,3,3,3,3,3,3,3,3,0,3,2,4,3,3,1,3,4,3,4,4,4,3,4,4,3,2,4,4,1,0,2,0,0,1,1,0,2,0,0,3,1,0,5,3,2,1,3,0,3,0,1,2,4,3,2,4,3,3,0,3,2,0,4,4),
94
+ (0,3,0,3,0,1,0,0,0,1,4,3,3,2,3,1,3,1,4,2,3,2,4,2,3,4,3,0,2,2,3,3,3,0,3,3,3,0,3,4,1,3,3,0,3,4,3,3,0,1,1,0,1,0,0,0,4,0,3,0,0,3,1,2,1,3,0,4,0,1,0,4,3,3,4,3,3,0,2,0,0,3,3),
95
+ (0,3,0,4,0,1,0,3,0,3,4,3,3,0,3,3,3,1,3,1,3,3,4,3,3,3,0,0,3,1,5,3,3,1,3,3,2,5,4,3,3,4,5,3,2,5,3,4,0,1,0,0,0,0,0,2,0,0,1,1,0,4,2,2,1,3,0,3,0,2,0,4,4,3,5,3,2,0,1,1,0,3,4),
96
+ (0,5,0,4,0,5,0,2,0,4,4,3,3,2,3,3,3,1,4,3,4,1,5,3,4,3,4,0,4,2,4,3,4,1,5,4,0,4,4,4,4,5,4,1,3,5,4,2,1,4,1,1,3,2,0,3,1,0,3,2,1,4,3,3,3,4,0,4,0,3,0,4,4,4,3,3,3,0,4,2,0,3,4),
97
+ (1,4,0,4,0,3,0,1,0,3,3,3,1,1,3,3,2,2,3,3,1,0,3,2,2,1,2,0,3,1,2,1,2,0,3,2,0,2,2,3,3,4,3,0,3,3,1,2,0,1,1,3,1,2,0,0,3,0,1,1,0,3,2,2,3,3,0,3,0,0,0,2,3,3,4,3,3,0,1,0,0,1,4),
98
+ (0,4,0,4,0,4,0,0,0,3,4,4,3,1,4,2,3,2,3,3,3,1,4,3,4,0,3,0,4,2,3,3,2,2,5,4,2,1,3,4,3,4,3,1,3,3,4,2,0,2,1,0,3,3,0,0,2,0,3,1,0,4,4,3,4,3,0,4,0,1,0,2,4,4,4,4,4,0,3,2,0,3,3),
99
+ (0,0,0,1,0,4,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,3,2,0,0,1,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,2),
100
+ (0,2,0,3,0,4,0,4,0,1,3,3,3,0,4,0,2,1,2,1,1,1,2,0,3,1,1,0,1,0,3,1,0,0,3,3,2,0,1,1,0,0,0,0,0,1,0,2,0,2,2,0,3,1,0,0,1,0,1,1,0,1,2,0,3,0,0,0,0,1,0,0,3,3,4,3,1,0,1,0,3,0,2),
101
+ (0,0,0,3,0,5,0,0,0,0,1,0,2,0,3,1,0,1,3,0,0,0,2,0,0,0,1,0,0,0,1,1,0,0,4,0,0,0,2,3,0,1,4,1,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,3,0,0,0,0,0,3),
102
+ (0,2,0,5,0,5,0,1,0,2,4,3,3,2,5,1,3,2,3,3,3,0,4,1,2,0,3,0,4,0,2,2,1,1,5,3,0,0,1,4,2,3,2,0,3,3,3,2,0,2,4,1,1,2,0,1,1,0,3,1,0,1,3,1,2,3,0,2,0,0,0,1,3,5,4,4,4,0,3,0,0,1,3),
103
+ (0,4,0,5,0,4,0,4,0,4,5,4,3,3,4,3,3,3,4,3,4,4,5,3,4,5,4,2,4,2,3,4,3,1,4,4,1,3,5,4,4,5,5,4,4,5,5,5,2,3,3,1,4,3,1,3,3,0,3,3,1,4,3,4,4,4,0,3,0,4,0,3,3,4,4,5,0,0,4,3,0,4,5),
104
+ (0,4,0,4,0,3,0,3,0,3,4,4,4,3,3,2,4,3,4,3,4,3,5,3,4,3,2,1,4,2,4,4,3,1,3,4,2,4,5,5,3,4,5,4,1,5,4,3,0,3,2,2,3,2,1,3,1,0,3,3,3,5,3,3,3,5,4,4,2,3,3,4,3,3,3,2,1,0,3,2,1,4,3),
105
+ (0,4,0,5,0,4,0,3,0,3,5,5,3,2,4,3,4,0,5,4,4,1,4,4,4,3,3,3,4,3,5,5,2,3,3,4,1,2,5,5,3,5,5,2,3,5,5,4,0,3,2,0,3,3,1,1,5,1,4,1,0,4,3,2,3,5,0,4,0,3,0,5,4,3,4,3,0,0,4,1,0,4,4),
106
+ (1,3,0,4,0,2,0,2,0,2,5,5,3,3,3,3,3,0,4,2,3,4,4,4,3,4,0,0,3,4,5,4,3,3,3,3,2,5,5,4,5,5,5,4,3,5,5,5,1,3,1,0,1,0,0,3,2,0,4,2,0,5,2,3,2,4,1,3,0,3,0,4,5,4,5,4,3,0,4,2,0,5,4),
107
+ (0,3,0,4,0,5,0,3,0,3,4,4,3,2,3,2,3,3,3,3,3,2,4,3,3,2,2,0,3,3,3,3,3,1,3,3,3,0,4,4,3,4,4,1,1,4,4,2,0,3,1,0,1,1,0,4,1,0,2,3,1,3,3,1,3,4,0,3,0,1,0,3,1,3,0,0,1,0,2,0,0,4,4),
108
+ (0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0),
109
+ (0,3,0,3,0,2,0,3,0,1,5,4,3,3,3,1,4,2,1,2,3,4,4,2,4,4,5,0,3,1,4,3,4,0,4,3,3,3,2,3,2,5,3,4,3,2,2,3,0,0,3,0,2,1,0,1,2,0,0,0,0,2,1,1,3,1,0,2,0,4,0,3,4,4,4,5,2,0,2,0,0,1,3),
110
+ (0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,0,0,1,1,0,0,0,4,2,1,1,0,1,0,3,2,0,0,3,1,1,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,1,0,0,0,2,0,0,0,1,4,0,4,2,1,0,0,0,0,0,1),
111
+ (0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,3,1,0,0,0,2,0,2,1,0,0,1,2,1,0,1,1,0,0,3,0,0,0,0,0,0,0,0,0,0,0,1,3,1,0,0,0,0,0,1,0,0,2,1,0,0,0,0,0,0,0,0,2),
112
+ (0,4,0,4,0,4,0,3,0,4,4,3,4,2,4,3,2,0,4,4,4,3,5,3,5,3,3,2,4,2,4,3,4,3,1,4,0,2,3,4,4,4,3,3,3,4,4,4,3,4,1,3,4,3,2,1,2,1,3,3,3,4,4,3,3,5,0,4,0,3,0,4,3,3,3,2,1,0,3,0,0,3,3),
113
+ (0,4,0,3,0,3,0,3,0,3,5,5,3,3,3,3,4,3,4,3,3,3,4,4,4,3,3,3,3,4,3,5,3,3,1,3,2,4,5,5,5,5,4,3,4,5,5,3,2,2,3,3,3,3,2,3,3,1,2,3,2,4,3,3,3,4,0,4,0,2,0,4,3,2,2,1,2,0,3,0,0,4,1),
114
+ )
115
+
116
+ class JapaneseContextAnalysis(object):
117
+ NUM_OF_CATEGORY = 6
118
+ DONT_KNOW = -1
119
+ ENOUGH_REL_THRESHOLD = 100
120
+ MAX_REL_THRESHOLD = 1000
121
+ MINIMUM_DATA_THRESHOLD = 4
122
+
123
+ def __init__(self):
124
+ self._total_rel = None
125
+ self._rel_sample = None
126
+ self._need_to_skip_char_num = None
127
+ self._last_char_order = None
128
+ self._done = None
129
+ self.reset()
130
+
131
+ def reset(self):
132
+ self._total_rel = 0 # total sequence received
133
+ # category counters, each integer counts sequence in its category
134
+ self._rel_sample = [0] * self.NUM_OF_CATEGORY
135
+ # if last byte in current buffer is not the last byte of a character,
136
+ # we need to know how many bytes to skip in next buffer
137
+ self._need_to_skip_char_num = 0
138
+ self._last_char_order = -1 # The order of previous char
139
+ # If this flag is set to True, detection is done and conclusion has
140
+ # been made
141
+ self._done = False
142
+
143
+ def feed(self, byte_str, num_bytes):
144
+ if self._done:
145
+ return
146
+
147
+ # The buffer we got is byte oriented, and a character may span in more than one
148
+ # buffers. In case the last one or two byte in last buffer is not
149
+ # complete, we record how many byte needed to complete that character
150
+ # and skip these bytes here. We can choose to record those bytes as
151
+ # well and analyse the character once it is complete, but since a
152
+ # character will not make much difference, by simply skipping
153
+ # this character will simply our logic and improve performance.
154
+ i = self._need_to_skip_char_num
155
+ while i < num_bytes:
156
+ order, char_len = self.get_order(byte_str[i:i + 2])
157
+ i += char_len
158
+ if i > num_bytes:
159
+ self._need_to_skip_char_num = i - num_bytes
160
+ self._last_char_order = -1
161
+ else:
162
+ if (order != -1) and (self._last_char_order != -1):
163
+ self._total_rel += 1
164
+ if self._total_rel > self.MAX_REL_THRESHOLD:
165
+ self._done = True
166
+ break
167
+ self._rel_sample[jp2CharContext[self._last_char_order][order]] += 1
168
+ self._last_char_order = order
169
+
170
+ def got_enough_data(self):
171
+ return self._total_rel > self.ENOUGH_REL_THRESHOLD
172
+
173
+ def get_confidence(self):
174
+ # This is just one way to calculate confidence. It works well for me.
175
+ if self._total_rel > self.MINIMUM_DATA_THRESHOLD:
176
+ return (self._total_rel - self._rel_sample[0]) / self._total_rel
177
+ else:
178
+ return self.DONT_KNOW
179
+
180
+ def get_order(self, byte_str):
181
+ return -1, 1
182
+
183
+ class SJISContextAnalysis(JapaneseContextAnalysis):
184
+ def __init__(self):
185
+ super(SJISContextAnalysis, self).__init__()
186
+ self._charset_name = "SHIFT_JIS"
187
+
188
+ @property
189
+ def charset_name(self):
190
+ return self._charset_name
191
+
192
+ def get_order(self, byte_str):
193
+ if not byte_str:
194
+ return -1, 1
195
+ # find out current char's byte length
196
+ first_char = byte_str[0]
197
+ if (0x81 <= first_char <= 0x9F) or (0xE0 <= first_char <= 0xFC):
198
+ char_len = 2
199
+ if (first_char == 0x87) or (0xFA <= first_char <= 0xFC):
200
+ self._charset_name = "CP932"
201
+ else:
202
+ char_len = 1
203
+
204
+ # return its order if it is hiragana
205
+ if len(byte_str) > 1:
206
+ second_char = byte_str[1]
207
+ if (first_char == 202) and (0x9F <= second_char <= 0xF1):
208
+ return second_char - 0x9F, char_len
209
+
210
+ return -1, char_len
211
+
212
+ class EUCJPContextAnalysis(JapaneseContextAnalysis):
213
+ def get_order(self, byte_str):
214
+ if not byte_str:
215
+ return -1, 1
216
+ # find out current char's byte length
217
+ first_char = byte_str[0]
218
+ if (first_char == 0x8E) or (0xA1 <= first_char <= 0xFE):
219
+ char_len = 2
220
+ elif first_char == 0x8F:
221
+ char_len = 3
222
+ else:
223
+ char_len = 1
224
+
225
+ # return its order if it is hiragana
226
+ if len(byte_str) > 1:
227
+ second_char = byte_str[1]
228
+ if (first_char == 0xA4) and (0xA1 <= second_char <= 0xF3):
229
+ return second_char - 0xA1, char_len
230
+
231
+ return -1, char_len
232
+
233
+