diff options
-rw-r--r-- | Lib/importlib/__init__.py | 8 | ||||
-rw-r--r-- | Lib/importlib/_bootstrap.py | 8 | ||||
-rw-r--r-- | Lib/test/test_importlib/test_api.py | 120 | ||||
-rw-r--r-- | Misc/NEWS | 2 | ||||
-rw-r--r-- | Python/importlib.h | 1011 |
5 files changed, 642 insertions, 507 deletions
diff --git a/Lib/importlib/__init__.py b/Lib/importlib/__init__.py index 69ca9ce..e56e9c3 100644 --- a/Lib/importlib/__init__.py +++ b/Lib/importlib/__init__.py @@ -107,7 +107,7 @@ def reload(module): if not module or not isinstance(module, types.ModuleType): raise TypeError("reload() argument must be module") name = module.__name__ - if name not in sys.modules: + if sys.modules.get(name) is not module: msg = "module {} not in sys.modules" raise ImportError(msg.format(name), name=name) if name in _RELOADING: @@ -118,7 +118,11 @@ def reload(module): if parent_name and parent_name not in sys.modules: msg = "parent {!r} not in sys.modules" raise ImportError(msg.format(parent_name), name=parent_name) - module.__loader__.load_module(name) + loader = _bootstrap._find_module(name, None) + if loader is None: + raise ImportError(_bootstrap._ERR_MSG.format(name), name=name) + module.__loader__ = loader + loader.load_module(name) # The module may have replaced itself in sys.modules! return sys.modules[module.__name__] finally: diff --git a/Lib/importlib/_bootstrap.py b/Lib/importlib/_bootstrap.py index ec10532..a06a02f 100644 --- a/Lib/importlib/_bootstrap.py +++ b/Lib/importlib/_bootstrap.py @@ -1510,15 +1510,19 @@ def _find_module(name, path): """Find a module's loader.""" if not sys.meta_path: _warnings.warn('sys.meta_path is empty', ImportWarning) + is_reload = name in sys.modules for finder in sys.meta_path: with _ImportLockContext(): loader = finder.find_module(name, path) if loader is not None: # The parent import may have already imported this module. - if name not in sys.modules: + if is_reload or name not in sys.modules: return loader else: - return sys.modules[name].__loader__ + try: + return sys.modules[name].__loader__ + except AttributeError: + return loader else: return None diff --git a/Lib/test/test_importlib/test_api.py b/Lib/test/test_importlib/test_api.py index 5843a5c..1fa905c 100644 --- a/Lib/test/test_importlib/test_api.py +++ b/Lib/test/test_importlib/test_api.py @@ -1,8 +1,10 @@ from . import util frozen_init, source_init = util.import_importlib('importlib') +frozen_util, source_util = util.import_importlib('importlib.util') frozen_machinery, source_machinery = util.import_importlib('importlib.machinery') +import os.path import sys from test import support import types @@ -190,11 +192,129 @@ class ReloadTests: self.assertEqual(actual.spam, 3) self.assertEqual(reloaded.spam, 3) + def test_reload_missing_loader(self): + with support.CleanImport('types'): + import types + loader = types.__loader__ + del types.__loader__ + reloaded = self.init.reload(types) + + self.assertIs(reloaded, types) + self.assertIs(sys.modules['types'], types) + self.assertEqual(reloaded.__loader__.path, loader.path) + + def test_reload_loader_replaced(self): + with support.CleanImport('types'): + import types + types.__loader__ = None + self.init.invalidate_caches() + reloaded = self.init.reload(types) + + self.assertIsNot(reloaded.__loader__, None) + self.assertIs(reloaded, types) + self.assertIs(sys.modules['types'], types) + + def test_reload_location_changed(self): + name = 'spam' + with support.temp_cwd(None) as cwd: + with util.uncache('spam'): + with support.DirsOnSysPath(cwd): + self.init.invalidate_caches() + path = os.path.join(cwd, name + '.py') + cached = self.util.cache_from_source(path) + expected = {'__name__': name, + '__package__': '', + '__file__': path, + '__cached__': cached, + '__doc__': None, + '__builtins__': __builtins__, + } + support.create_empty_file(path) + module = self.init.import_module(name) + ns = vars(module) + del ns['__initializing__'] + loader = ns.pop('__loader__') + self.assertEqual(loader.path, path) + self.assertEqual(ns, expected) + + self.init.invalidate_caches() + init_path = os.path.join(cwd, name, '__init__.py') + cached = self.util.cache_from_source(init_path) + expected = {'__name__': name, + '__package__': name, + '__file__': init_path, + '__cached__': cached, + '__path__': [os.path.dirname(init_path)], + '__doc__': None, + '__builtins__': __builtins__, + } + os.mkdir(name) + os.rename(path, init_path) + reloaded = self.init.reload(module) + ns = vars(reloaded) + del ns['__initializing__'] + loader = ns.pop('__loader__') + self.assertIs(reloaded, module) + self.assertEqual(loader.path, init_path) + self.assertEqual(ns, expected) + + def test_reload_namespace_changed(self): + self.maxDiff = None + name = 'spam' + with support.temp_cwd(None) as cwd: + with util.uncache('spam'): + with support.DirsOnSysPath(cwd): + self.init.invalidate_caches() + bad_path = os.path.join(cwd, name, '__init.py') + cached = self.util.cache_from_source(bad_path) + expected = {'__name__': name, + '__package__': name, + '__doc__': None, + } + os.mkdir(name) + with open(bad_path, 'w') as init_file: + init_file.write('eggs = None') + module = self.init.import_module(name) + ns = vars(module) + del ns['__initializing__'] + loader = ns.pop('__loader__') + path = ns.pop('__path__') + self.assertEqual(list(path), + [os.path.dirname(bad_path)] * 2) + with self.assertRaises(AttributeError): + # a NamespaceLoader + loader.path + self.assertEqual(ns, expected) + + self.init.invalidate_caches() + init_path = os.path.join(cwd, name, '__init__.py') + cached = self.util.cache_from_source(init_path) + expected = {'__name__': name, + '__package__': name, + '__file__': init_path, + '__cached__': cached, + '__path__': [os.path.dirname(init_path)], + '__doc__': None, + '__builtins__': __builtins__, + 'eggs': None, + } + os.rename(bad_path, init_path) + reloaded = self.init.reload(module) + ns = vars(reloaded) + del ns['__initializing__'] + loader = ns.pop('__loader__') + self.assertIs(reloaded, module) + self.assertEqual(loader.path, init_path) + self.assertEqual(ns, expected) + + class Frozen_ReloadTests(ReloadTests, unittest.TestCase): init = frozen_init + util = frozen_util class Source_ReloadTests(ReloadTests, unittest.TestCase): init = source_init + util = source_util class InvalidateCacheTests: @@ -127,6 +127,8 @@ Library - Issue #8964: fix platform._sys_version to handle IronPython 2.6+. Patch by Martin Matusiak. +- Issue #19413: Restore pre-3.3 reload() semantics of re-finding modules. + - Issue #18958: Improve error message for json.load(s) while passing a string that starts with a UTF-8 BOM. diff --git a/Python/importlib.h b/Python/importlib.h index 40e204c..b00ddd6 100644 --- a/Python/importlib.h +++ b/Python/importlib.h @@ -2932,510 +2932,515 @@ const unsigned char _Py_M__importlib[] = { 0,114,5,0,0,0,218,13,95,114,101,115,111,108,118,101, 95,110,97,109,101,220,5,0,0,115,10,0,0,0,0,2, 22,1,18,1,15,1,10,1,114,59,1,0,0,99,2,0, - 0,0,0,0,0,0,4,0,0,0,11,0,0,0,67,0, - 0,0,115,138,0,0,0,116,0,0,106,1,0,115,28,0, + 0,0,0,0,0,0,5,0,0,0,19,0,0,0,67,0, + 0,0,115,188,0,0,0,116,0,0,106,1,0,115,28,0, 116,2,0,106,3,0,100,1,0,116,4,0,131,2,0,1, - 110,0,0,120,103,0,116,0,0,106,1,0,68,93,88,0, - 125,2,0,116,5,0,131,0,0,143,23,0,1,124,2,0, - 106,6,0,124,0,0,124,1,0,131,2,0,125,3,0,87, - 100,2,0,81,88,124,3,0,100,2,0,107,9,0,114,38, - 0,124,0,0,116,0,0,106,7,0,107,7,0,114,109,0, - 124,3,0,83,116,0,0,106,7,0,124,0,0,25,106,8, - 0,83,113,38,0,113,38,0,87,100,2,0,83,100,2,0, - 83,41,3,122,23,70,105,110,100,32,97,32,109,111,100,117, - 108,101,39,115,32,108,111,97,100,101,114,46,122,22,115,121, - 115,46,109,101,116,97,95,112,97,116,104,32,105,115,32,101, - 109,112,116,121,78,41,9,114,7,0,0,0,218,9,109,101, - 116,97,95,112,97,116,104,114,186,0,0,0,114,187,0,0, - 0,114,188,0,0,0,114,55,1,0,0,114,218,0,0,0, - 114,141,0,0,0,114,172,0,0,0,41,4,114,72,0,0, - 0,114,35,0,0,0,114,32,1,0,0,114,161,0,0,0, - 114,4,0,0,0,114,4,0,0,0,114,5,0,0,0,218, - 12,95,102,105,110,100,95,109,111,100,117,108,101,229,5,0, - 0,115,20,0,0,0,0,2,9,1,19,1,16,1,10,1, - 24,1,12,2,15,1,4,2,21,2,114,61,1,0,0,99, - 3,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0, - 67,0,0,0,115,194,0,0,0,116,0,0,124,0,0,116, - 1,0,131,2,0,115,45,0,116,2,0,100,1,0,106,3, - 0,116,4,0,124,0,0,131,1,0,131,1,0,131,1,0, - 130,1,0,110,0,0,124,2,0,100,2,0,107,0,0,114, - 72,0,116,5,0,100,3,0,131,1,0,130,1,0,110,0, - 0,124,1,0,114,156,0,116,0,0,124,1,0,116,1,0, - 131,2,0,115,108,0,116,2,0,100,4,0,131,1,0,130, - 1,0,113,156,0,124,1,0,116,6,0,106,7,0,107,7, - 0,114,156,0,100,5,0,125,3,0,116,8,0,124,3,0, - 106,3,0,124,1,0,131,1,0,131,1,0,130,1,0,113, - 156,0,110,0,0,124,0,0,12,114,190,0,124,2,0,100, - 2,0,107,2,0,114,190,0,116,5,0,100,6,0,131,1, - 0,130,1,0,110,0,0,100,7,0,83,41,8,122,28,86, - 101,114,105,102,121,32,97,114,103,117,109,101,110,116,115,32, - 97,114,101,32,34,115,97,110,101,34,46,122,31,109,111,100, - 117,108,101,32,110,97,109,101,32,109,117,115,116,32,98,101, - 32,115,116,114,44,32,110,111,116,32,123,125,114,68,0,0, - 0,122,18,108,101,118,101,108,32,109,117,115,116,32,98,101, - 32,62,61,32,48,122,31,95,95,112,97,99,107,97,103,101, - 95,95,32,110,111,116,32,115,101,116,32,116,111,32,97,32, - 115,116,114,105,110,103,122,61,80,97,114,101,110,116,32,109, - 111,100,117,108,101,32,123,33,114,125,32,110,111,116,32,108, - 111,97,100,101,100,44,32,99,97,110,110,111,116,32,112,101, - 114,102,111,114,109,32,114,101,108,97,116,105,118,101,32,105, - 109,112,111,114,116,122,17,69,109,112,116,121,32,109,111,100, - 117,108,101,32,110,97,109,101,78,41,9,114,203,0,0,0, - 114,36,1,0,0,218,9,84,121,112,101,69,114,114,111,114, - 114,47,0,0,0,114,153,0,0,0,114,119,0,0,0,114, - 7,0,0,0,114,141,0,0,0,218,11,83,121,115,116,101, - 109,69,114,114,111,114,41,4,114,72,0,0,0,114,57,1, - 0,0,114,58,1,0,0,114,190,0,0,0,114,4,0,0, - 0,114,4,0,0,0,114,5,0,0,0,218,13,95,115,97, - 110,105,116,121,95,99,104,101,99,107,246,5,0,0,115,24, - 0,0,0,0,2,15,1,30,1,12,1,15,1,6,1,15, - 1,15,1,15,1,6,2,27,1,19,1,114,64,1,0,0, - 122,16,78,111,32,109,111,100,117,108,101,32,110,97,109,101, - 100,32,122,4,123,33,114,125,99,2,0,0,0,0,0,0, - 0,8,0,0,0,27,0,0,0,67,0,0,0,115,6,2, - 0,0,100,0,0,125,2,0,124,0,0,106,0,0,100,1, - 0,131,1,0,100,2,0,25,125,3,0,124,3,0,114,178, - 0,124,3,0,116,1,0,106,2,0,107,7,0,114,62,0, - 116,3,0,124,1,0,124,3,0,131,2,0,1,110,0,0, - 124,0,0,116,1,0,106,2,0,107,6,0,114,88,0,116, - 1,0,106,2,0,124,0,0,25,83,116,1,0,106,2,0, - 124,3,0,25,125,4,0,121,13,0,124,4,0,106,4,0, - 125,2,0,87,113,178,0,4,116,5,0,107,10,0,114,174, - 0,1,1,1,116,6,0,100,3,0,23,106,7,0,124,0, - 0,124,3,0,131,2,0,125,5,0,116,8,0,124,5,0, - 100,4,0,124,0,0,131,1,1,130,1,0,89,113,178,0, - 88,110,0,0,116,9,0,124,0,0,124,2,0,131,2,0, - 125,6,0,124,6,0,100,0,0,107,8,0,114,235,0,116, - 8,0,116,6,0,106,7,0,124,0,0,131,1,0,100,4, - 0,124,0,0,131,1,1,130,1,0,110,47,0,124,0,0, - 116,1,0,106,2,0,107,7,0,114,26,1,124,6,0,106, - 10,0,124,0,0,131,1,0,1,116,11,0,100,5,0,124, - 0,0,124,6,0,131,3,0,1,110,0,0,116,1,0,106, - 2,0,124,0,0,25,125,7,0,124,3,0,114,90,1,116, - 1,0,106,2,0,124,3,0,25,125,4,0,116,12,0,124, - 4,0,124,0,0,106,0,0,100,1,0,131,1,0,100,6, - 0,25,124,7,0,131,3,0,1,110,0,0,116,13,0,124, - 7,0,100,7,0,100,0,0,131,3,0,100,0,0,107,8, - 0,114,197,1,121,59,0,124,7,0,106,14,0,124,7,0, - 95,15,0,116,16,0,124,7,0,100,8,0,131,2,0,115, - 172,1,124,7,0,106,15,0,106,0,0,100,1,0,131,1, - 0,100,2,0,25,124,7,0,95,15,0,110,0,0,87,113, - 197,1,4,116,5,0,107,10,0,114,193,1,1,1,1,89, - 113,197,1,88,110,0,0,116,13,0,124,7,0,100,9,0, - 100,0,0,131,3,0,100,0,0,107,8,0,114,2,2,121, - 13,0,124,6,0,124,7,0,95,17,0,87,113,2,2,4, - 116,5,0,107,10,0,114,254,1,1,1,1,89,113,2,2, - 88,110,0,0,124,7,0,83,41,10,78,114,102,0,0,0, - 114,68,0,0,0,122,21,59,32,123,125,32,105,115,32,110, - 111,116,32,97,32,112,97,99,107,97,103,101,114,72,0,0, - 0,122,18,105,109,112,111,114,116,32,123,33,114,125,32,35, - 32,123,33,114,125,114,101,0,0,0,114,159,0,0,0,114, - 160,0,0,0,114,172,0,0,0,41,18,114,32,0,0,0, - 114,7,0,0,0,114,141,0,0,0,114,100,0,0,0,114, - 160,0,0,0,114,155,0,0,0,218,8,95,69,82,82,95, - 77,83,71,114,47,0,0,0,114,158,0,0,0,114,61,1, - 0,0,114,219,0,0,0,114,138,0,0,0,114,61,0,0, - 0,114,62,0,0,0,114,57,0,0,0,114,159,0,0,0, - 114,60,0,0,0,114,172,0,0,0,41,8,114,72,0,0, - 0,218,7,105,109,112,111,114,116,95,114,35,0,0,0,114, - 7,1,0,0,90,13,112,97,114,101,110,116,95,109,111,100, - 117,108,101,114,190,0,0,0,114,161,0,0,0,114,162,0, + 110,0,0,124,0,0,116,0,0,106,5,0,107,6,0,125, + 2,0,120,138,0,116,0,0,106,1,0,68,93,123,0,125, + 3,0,116,6,0,131,0,0,143,23,0,1,124,3,0,106, + 7,0,124,0,0,124,1,0,131,2,0,125,4,0,87,100, + 2,0,81,88,124,4,0,100,2,0,107,9,0,114,53,0, + 124,2,0,115,126,0,124,0,0,116,0,0,106,5,0,107, + 7,0,114,130,0,124,4,0,83,121,18,0,116,0,0,106, + 5,0,124,0,0,25,106,8,0,83,87,113,176,0,4,116, + 9,0,107,10,0,114,172,0,1,1,1,124,4,0,83,89, + 113,176,0,88,113,53,0,113,53,0,87,100,2,0,83,100, + 2,0,83,41,3,122,23,70,105,110,100,32,97,32,109,111, + 100,117,108,101,39,115,32,108,111,97,100,101,114,46,122,22, + 115,121,115,46,109,101,116,97,95,112,97,116,104,32,105,115, + 32,101,109,112,116,121,78,41,10,114,7,0,0,0,218,9, + 109,101,116,97,95,112,97,116,104,114,186,0,0,0,114,187, + 0,0,0,114,188,0,0,0,114,141,0,0,0,114,55,1, + 0,0,114,218,0,0,0,114,172,0,0,0,114,155,0,0, + 0,41,5,114,72,0,0,0,114,35,0,0,0,90,9,105, + 115,95,114,101,108,111,97,100,114,32,1,0,0,114,161,0, 0,0,114,4,0,0,0,114,4,0,0,0,114,5,0,0, - 0,218,23,95,102,105,110,100,95,97,110,100,95,108,111,97, - 100,95,117,110,108,111,99,107,101,100,10,6,0,0,115,72, - 0,0,0,0,1,6,1,19,1,6,1,15,1,16,2,15, - 1,11,2,13,1,3,1,13,1,13,1,22,1,26,1,15, - 1,12,1,30,1,15,2,13,1,19,2,13,1,6,2,13, - 1,32,2,24,1,3,1,12,1,15,1,32,1,13,1,8, - 2,24,1,3,1,13,1,13,1,8,1,114,67,1,0,0, - 99,2,0,0,0,0,0,0,0,3,0,0,0,18,0,0, - 0,67,0,0,0,115,75,0,0,0,122,16,0,116,0,0, - 124,0,0,131,1,0,125,2,0,87,100,1,0,116,1,0, - 106,2,0,131,0,0,1,88,124,2,0,106,3,0,131,0, - 0,1,122,17,0,116,4,0,124,0,0,124,1,0,131,2, - 0,83,87,100,1,0,124,2,0,106,5,0,131,0,0,1, - 88,100,1,0,83,41,2,122,54,70,105,110,100,32,97,110, - 100,32,108,111,97,100,32,116,104,101,32,109,111,100,117,108, - 101,44,32,97,110,100,32,114,101,108,101,97,115,101,32,116, - 104,101,32,105,109,112,111,114,116,32,108,111,99,107,46,78, - 41,6,114,94,0,0,0,114,95,0,0,0,114,96,0,0, - 0,114,84,0,0,0,114,67,1,0,0,114,85,0,0,0, - 41,3,114,72,0,0,0,114,66,1,0,0,114,70,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, - 218,14,95,102,105,110,100,95,97,110,100,95,108,111,97,100, - 56,6,0,0,115,14,0,0,0,0,2,3,1,16,2,11, - 1,10,1,3,1,17,2,114,68,1,0,0,99,3,0,0, - 0,0,0,0,0,5,0,0,0,4,0,0,0,67,0,0, - 0,115,172,0,0,0,116,0,0,124,0,0,124,1,0,124, - 2,0,131,3,0,1,124,2,0,100,1,0,107,4,0,114, - 49,0,116,1,0,124,0,0,124,1,0,124,2,0,131,3, - 0,125,0,0,110,0,0,116,2,0,106,3,0,131,0,0, - 1,124,0,0,116,4,0,106,5,0,107,7,0,114,87,0, - 116,6,0,124,0,0,116,7,0,131,2,0,83,116,4,0, - 106,5,0,124,0,0,25,125,3,0,124,3,0,100,2,0, - 107,8,0,114,158,0,116,2,0,106,8,0,131,0,0,1, - 100,3,0,106,9,0,124,0,0,131,1,0,125,4,0,116, - 10,0,124,4,0,100,4,0,124,0,0,131,1,1,130,1, - 0,110,0,0,116,11,0,124,0,0,131,1,0,1,124,3, - 0,83,41,5,97,50,1,0,0,73,109,112,111,114,116,32, - 97,110,100,32,114,101,116,117,114,110,32,116,104,101,32,109, - 111,100,117,108,101,32,98,97,115,101,100,32,111,110,32,105, - 116,115,32,110,97,109,101,44,32,116,104,101,32,112,97,99, - 107,97,103,101,32,116,104,101,32,99,97,108,108,32,105,115, - 10,32,32,32,32,98,101,105,110,103,32,109,97,100,101,32, - 102,114,111,109,44,32,97,110,100,32,116,104,101,32,108,101, - 118,101,108,32,97,100,106,117,115,116,109,101,110,116,46,10, - 10,32,32,32,32,84,104,105,115,32,102,117,110,99,116,105, - 111,110,32,114,101,112,114,101,115,101,110,116,115,32,116,104, - 101,32,103,114,101,97,116,101,115,116,32,99,111,109,109,111, - 110,32,100,101,110,111,109,105,110,97,116,111,114,32,111,102, - 32,102,117,110,99,116,105,111,110,97,108,105,116,121,10,32, - 32,32,32,98,101,116,119,101,101,110,32,105,109,112,111,114, - 116,95,109,111,100,117,108,101,32,97,110,100,32,95,95,105, - 109,112,111,114,116,95,95,46,32,84,104,105,115,32,105,110, - 99,108,117,100,101,115,32,115,101,116,116,105,110,103,32,95, - 95,112,97,99,107,97,103,101,95,95,32,105,102,10,32,32, - 32,32,116,104,101,32,108,111,97,100,101,114,32,100,105,100, - 32,110,111,116,46,10,10,32,32,32,32,114,68,0,0,0, - 78,122,40,105,109,112,111,114,116,32,111,102,32,123,125,32, - 104,97,108,116,101,100,59,32,78,111,110,101,32,105,110,32, - 115,121,115,46,109,111,100,117,108,101,115,114,72,0,0,0, - 41,12,114,64,1,0,0,114,59,1,0,0,114,95,0,0, - 0,114,56,1,0,0,114,7,0,0,0,114,141,0,0,0, - 114,68,1,0,0,218,11,95,103,99,100,95,105,109,112,111, - 114,116,114,96,0,0,0,114,47,0,0,0,114,158,0,0, - 0,114,97,0,0,0,41,5,114,72,0,0,0,114,57,1, - 0,0,114,58,1,0,0,114,162,0,0,0,114,137,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, - 114,69,1,0,0,69,6,0,0,115,26,0,0,0,0,9, - 16,1,12,1,21,1,10,1,15,1,13,1,13,1,12,1, - 10,2,15,1,21,1,10,1,114,69,1,0,0,99,3,0, - 0,0,0,0,0,0,6,0,0,0,17,0,0,0,67,0, - 0,0,115,1,1,0,0,116,0,0,124,0,0,100,1,0, - 131,2,0,114,253,0,100,2,0,124,1,0,107,6,0,114, - 89,0,116,1,0,124,1,0,131,1,0,125,1,0,124,1, - 0,106,2,0,100,2,0,131,1,0,1,116,0,0,124,0, - 0,100,3,0,131,2,0,114,89,0,124,1,0,106,3,0, - 124,0,0,106,4,0,131,1,0,1,113,89,0,110,0,0, - 120,161,0,124,1,0,68,93,150,0,125,3,0,116,0,0, - 124,0,0,124,3,0,131,2,0,115,96,0,100,4,0,106, - 5,0,124,0,0,106,6,0,124,3,0,131,2,0,125,4, - 0,121,17,0,116,7,0,124,2,0,124,4,0,131,2,0, - 1,87,113,246,0,4,116,8,0,107,10,0,114,242,0,1, - 125,5,0,1,122,53,0,116,9,0,124,5,0,131,1,0, - 106,10,0,116,11,0,131,1,0,114,221,0,124,5,0,106, - 12,0,124,4,0,107,2,0,114,221,0,119,96,0,113,221, - 0,110,0,0,130,0,0,87,89,100,5,0,100,5,0,125, - 5,0,126,5,0,88,113,246,0,88,113,96,0,113,96,0, - 87,110,0,0,124,0,0,83,41,6,122,238,70,105,103,117, - 114,101,32,111,117,116,32,119,104,97,116,32,95,95,105,109, - 112,111,114,116,95,95,32,115,104,111,117,108,100,32,114,101, - 116,117,114,110,46,10,10,32,32,32,32,84,104,101,32,105, - 109,112,111,114,116,95,32,112,97,114,97,109,101,116,101,114, - 32,105,115,32,97,32,99,97,108,108,97,98,108,101,32,119, - 104,105,99,104,32,116,97,107,101,115,32,116,104,101,32,110, - 97,109,101,32,111,102,32,109,111,100,117,108,101,32,116,111, - 10,32,32,32,32,105,109,112,111,114,116,46,32,73,116,32, - 105,115,32,114,101,113,117,105,114,101,100,32,116,111,32,100, - 101,99,111,117,112,108,101,32,116,104,101,32,102,117,110,99, - 116,105,111,110,32,102,114,111,109,32,97,115,115,117,109,105, - 110,103,32,105,109,112,111,114,116,108,105,98,39,115,10,32, - 32,32,32,105,109,112,111,114,116,32,105,109,112,108,101,109, - 101,110,116,97,116,105,111,110,32,105,115,32,100,101,115,105, - 114,101,100,46,10,10,32,32,32,32,114,160,0,0,0,250, - 1,42,218,7,95,95,97,108,108,95,95,122,5,123,125,46, - 123,125,78,41,13,114,60,0,0,0,218,4,108,105,115,116, - 218,6,114,101,109,111,118,101,114,208,0,0,0,114,71,1, - 0,0,114,47,0,0,0,114,57,0,0,0,114,100,0,0, - 0,114,158,0,0,0,114,36,1,0,0,114,9,0,0,0, - 218,15,95,69,82,82,95,77,83,71,95,80,82,69,70,73, - 88,114,72,0,0,0,41,6,114,162,0,0,0,218,8,102, - 114,111,109,108,105,115,116,114,66,1,0,0,114,16,0,0, - 0,90,9,102,114,111,109,95,110,97,109,101,114,249,0,0, - 0,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, - 218,16,95,104,97,110,100,108,101,95,102,114,111,109,108,105, - 115,116,93,6,0,0,115,34,0,0,0,0,10,15,1,12, - 1,12,1,13,1,15,1,22,1,13,1,15,1,21,1,3, - 1,17,1,18,4,21,1,15,1,9,1,32,1,114,76,1, - 0,0,99,1,0,0,0,0,0,0,0,2,0,0,0,2, - 0,0,0,67,0,0,0,115,78,0,0,0,124,0,0,106, - 0,0,100,1,0,131,1,0,125,1,0,124,1,0,100,2, - 0,107,8,0,114,74,0,124,0,0,100,3,0,25,125,1, - 0,100,4,0,124,0,0,107,7,0,114,74,0,124,1,0, - 106,1,0,100,5,0,131,1,0,100,6,0,25,125,1,0, - 113,74,0,110,0,0,124,1,0,83,41,7,122,167,67,97, - 108,99,117,108,97,116,101,32,119,104,97,116,32,95,95,112, - 97,99,107,97,103,101,95,95,32,115,104,111,117,108,100,32, - 98,101,46,10,10,32,32,32,32,95,95,112,97,99,107,97, - 103,101,95,95,32,105,115,32,110,111,116,32,103,117,97,114, - 97,110,116,101,101,100,32,116,111,32,98,101,32,100,101,102, - 105,110,101,100,32,111,114,32,99,111,117,108,100,32,98,101, - 32,115,101,116,32,116,111,32,78,111,110,101,10,32,32,32, - 32,116,111,32,114,101,112,114,101,115,101,110,116,32,116,104, - 97,116,32,105,116,115,32,112,114,111,112,101,114,32,118,97, - 108,117,101,32,105,115,32,117,110,107,110,111,119,110,46,10, - 10,32,32,32,32,114,159,0,0,0,78,114,57,0,0,0, - 114,160,0,0,0,114,102,0,0,0,114,68,0,0,0,41, - 2,114,80,0,0,0,114,32,0,0,0,41,2,218,7,103, - 108,111,98,97,108,115,114,57,1,0,0,114,4,0,0,0, - 114,4,0,0,0,114,5,0,0,0,218,17,95,99,97,108, - 99,95,95,95,112,97,99,107,97,103,101,95,95,125,6,0, - 0,115,12,0,0,0,0,7,15,1,12,1,10,1,12,1, - 25,1,114,78,1,0,0,99,0,0,0,0,0,0,0,0, - 3,0,0,0,3,0,0,0,67,0,0,0,115,55,0,0, - 0,116,0,0,116,1,0,106,2,0,131,0,0,102,2,0, - 125,0,0,116,3,0,116,4,0,102,2,0,125,1,0,116, - 5,0,116,6,0,102,2,0,125,2,0,124,0,0,124,1, - 0,124,2,0,103,3,0,83,41,1,122,95,82,101,116,117, - 114,110,115,32,97,32,108,105,115,116,32,111,102,32,102,105, - 108,101,45,98,97,115,101,100,32,109,111,100,117,108,101,32, - 108,111,97,100,101,114,115,46,10,10,32,32,32,32,69,97, - 99,104,32,105,116,101,109,32,105,115,32,97,32,116,117,112, - 108,101,32,40,108,111,97,100,101,114,44,32,115,117,102,102, - 105,120,101,115,41,46,10,32,32,32,32,41,7,114,9,1, - 0,0,114,95,0,0,0,218,18,101,120,116,101,110,115,105, - 111,110,95,115,117,102,102,105,120,101,115,114,3,1,0,0, - 114,120,0,0,0,114,8,1,0,0,218,17,66,89,84,69, - 67,79,68,69,95,83,85,70,70,73,88,69,83,41,3,90, - 10,101,120,116,101,110,115,105,111,110,115,90,6,115,111,117, - 114,99,101,90,8,98,121,116,101,99,111,100,101,114,4,0, - 0,0,114,4,0,0,0,114,5,0,0,0,114,235,0,0, - 0,140,6,0,0,115,8,0,0,0,0,5,18,1,12,1, - 12,1,114,235,0,0,0,99,5,0,0,0,0,0,0,0, - 9,0,0,0,5,0,0,0,67,0,0,0,115,227,0,0, - 0,124,4,0,100,1,0,107,2,0,114,27,0,116,0,0, - 124,0,0,131,1,0,125,5,0,110,54,0,124,1,0,100, - 2,0,107,9,0,114,45,0,124,1,0,110,3,0,105,0, - 0,125,6,0,116,1,0,124,6,0,131,1,0,125,7,0, - 116,0,0,124,0,0,124,7,0,124,4,0,131,3,0,125, - 5,0,124,3,0,115,207,0,124,4,0,100,1,0,107,2, - 0,114,122,0,116,0,0,124,0,0,106,2,0,100,3,0, - 131,1,0,100,1,0,25,131,1,0,83,124,0,0,115,132, - 0,124,5,0,83,116,3,0,124,0,0,131,1,0,116,3, + 0,218,12,95,102,105,110,100,95,109,111,100,117,108,101,229, + 5,0,0,115,28,0,0,0,0,2,9,1,19,1,15,1, + 16,1,10,1,24,1,12,2,21,1,4,2,3,1,18,1, + 13,1,16,2,114,61,1,0,0,99,3,0,0,0,0,0, + 0,0,4,0,0,0,4,0,0,0,67,0,0,0,115,194, + 0,0,0,116,0,0,124,0,0,116,1,0,131,2,0,115, + 45,0,116,2,0,100,1,0,106,3,0,116,4,0,124,0, + 0,131,1,0,131,1,0,131,1,0,130,1,0,110,0,0, + 124,2,0,100,2,0,107,0,0,114,72,0,116,5,0,100, + 3,0,131,1,0,130,1,0,110,0,0,124,1,0,114,156, + 0,116,0,0,124,1,0,116,1,0,131,2,0,115,108,0, + 116,2,0,100,4,0,131,1,0,130,1,0,113,156,0,124, + 1,0,116,6,0,106,7,0,107,7,0,114,156,0,100,5, + 0,125,3,0,116,8,0,124,3,0,106,3,0,124,1,0, + 131,1,0,131,1,0,130,1,0,113,156,0,110,0,0,124, + 0,0,12,114,190,0,124,2,0,100,2,0,107,2,0,114, + 190,0,116,5,0,100,6,0,131,1,0,130,1,0,110,0, + 0,100,7,0,83,41,8,122,28,86,101,114,105,102,121,32, + 97,114,103,117,109,101,110,116,115,32,97,114,101,32,34,115, + 97,110,101,34,46,122,31,109,111,100,117,108,101,32,110,97, + 109,101,32,109,117,115,116,32,98,101,32,115,116,114,44,32, + 110,111,116,32,123,125,114,68,0,0,0,122,18,108,101,118, + 101,108,32,109,117,115,116,32,98,101,32,62,61,32,48,122, + 31,95,95,112,97,99,107,97,103,101,95,95,32,110,111,116, + 32,115,101,116,32,116,111,32,97,32,115,116,114,105,110,103, + 122,61,80,97,114,101,110,116,32,109,111,100,117,108,101,32, + 123,33,114,125,32,110,111,116,32,108,111,97,100,101,100,44, + 32,99,97,110,110,111,116,32,112,101,114,102,111,114,109,32, + 114,101,108,97,116,105,118,101,32,105,109,112,111,114,116,122, + 17,69,109,112,116,121,32,109,111,100,117,108,101,32,110,97, + 109,101,78,41,9,114,203,0,0,0,114,36,1,0,0,218, + 9,84,121,112,101,69,114,114,111,114,114,47,0,0,0,114, + 153,0,0,0,114,119,0,0,0,114,7,0,0,0,114,141, + 0,0,0,218,11,83,121,115,116,101,109,69,114,114,111,114, + 41,4,114,72,0,0,0,114,57,1,0,0,114,58,1,0, + 0,114,190,0,0,0,114,4,0,0,0,114,4,0,0,0, + 114,5,0,0,0,218,13,95,115,97,110,105,116,121,95,99, + 104,101,99,107,250,5,0,0,115,24,0,0,0,0,2,15, + 1,30,1,12,1,15,1,6,1,15,1,15,1,15,1,6, + 2,27,1,19,1,114,64,1,0,0,122,16,78,111,32,109, + 111,100,117,108,101,32,110,97,109,101,100,32,122,4,123,33, + 114,125,99,2,0,0,0,0,0,0,0,8,0,0,0,27, + 0,0,0,67,0,0,0,115,6,2,0,0,100,0,0,125, + 2,0,124,0,0,106,0,0,100,1,0,131,1,0,100,2, + 0,25,125,3,0,124,3,0,114,178,0,124,3,0,116,1, + 0,106,2,0,107,7,0,114,62,0,116,3,0,124,1,0, + 124,3,0,131,2,0,1,110,0,0,124,0,0,116,1,0, + 106,2,0,107,6,0,114,88,0,116,1,0,106,2,0,124, + 0,0,25,83,116,1,0,106,2,0,124,3,0,25,125,4, + 0,121,13,0,124,4,0,106,4,0,125,2,0,87,113,178, + 0,4,116,5,0,107,10,0,114,174,0,1,1,1,116,6, + 0,100,3,0,23,106,7,0,124,0,0,124,3,0,131,2, + 0,125,5,0,116,8,0,124,5,0,100,4,0,124,0,0, + 131,1,1,130,1,0,89,113,178,0,88,110,0,0,116,9, + 0,124,0,0,124,2,0,131,2,0,125,6,0,124,6,0, + 100,0,0,107,8,0,114,235,0,116,8,0,116,6,0,106, + 7,0,124,0,0,131,1,0,100,4,0,124,0,0,131,1, + 1,130,1,0,110,47,0,124,0,0,116,1,0,106,2,0, + 107,7,0,114,26,1,124,6,0,106,10,0,124,0,0,131, + 1,0,1,116,11,0,100,5,0,124,0,0,124,6,0,131, + 3,0,1,110,0,0,116,1,0,106,2,0,124,0,0,25, + 125,7,0,124,3,0,114,90,1,116,1,0,106,2,0,124, + 3,0,25,125,4,0,116,12,0,124,4,0,124,0,0,106, + 0,0,100,1,0,131,1,0,100,6,0,25,124,7,0,131, + 3,0,1,110,0,0,116,13,0,124,7,0,100,7,0,100, + 0,0,131,3,0,100,0,0,107,8,0,114,197,1,121,59, + 0,124,7,0,106,14,0,124,7,0,95,15,0,116,16,0, + 124,7,0,100,8,0,131,2,0,115,172,1,124,7,0,106, + 15,0,106,0,0,100,1,0,131,1,0,100,2,0,25,124, + 7,0,95,15,0,110,0,0,87,113,197,1,4,116,5,0, + 107,10,0,114,193,1,1,1,1,89,113,197,1,88,110,0, + 0,116,13,0,124,7,0,100,9,0,100,0,0,131,3,0, + 100,0,0,107,8,0,114,2,2,121,13,0,124,6,0,124, + 7,0,95,17,0,87,113,2,2,4,116,5,0,107,10,0, + 114,254,1,1,1,1,89,113,2,2,88,110,0,0,124,7, + 0,83,41,10,78,114,102,0,0,0,114,68,0,0,0,122, + 21,59,32,123,125,32,105,115,32,110,111,116,32,97,32,112, + 97,99,107,97,103,101,114,72,0,0,0,122,18,105,109,112, + 111,114,116,32,123,33,114,125,32,35,32,123,33,114,125,114, + 101,0,0,0,114,159,0,0,0,114,160,0,0,0,114,172, + 0,0,0,41,18,114,32,0,0,0,114,7,0,0,0,114, + 141,0,0,0,114,100,0,0,0,114,160,0,0,0,114,155, + 0,0,0,218,8,95,69,82,82,95,77,83,71,114,47,0, + 0,0,114,158,0,0,0,114,61,1,0,0,114,219,0,0, + 0,114,138,0,0,0,114,61,0,0,0,114,62,0,0,0, + 114,57,0,0,0,114,159,0,0,0,114,60,0,0,0,114, + 172,0,0,0,41,8,114,72,0,0,0,218,7,105,109,112, + 111,114,116,95,114,35,0,0,0,114,7,1,0,0,90,13, + 112,97,114,101,110,116,95,109,111,100,117,108,101,114,190,0, + 0,0,114,161,0,0,0,114,162,0,0,0,114,4,0,0, + 0,114,4,0,0,0,114,5,0,0,0,218,23,95,102,105, + 110,100,95,97,110,100,95,108,111,97,100,95,117,110,108,111, + 99,107,101,100,14,6,0,0,115,72,0,0,0,0,1,6, + 1,19,1,6,1,15,1,16,2,15,1,11,2,13,1,3, + 1,13,1,13,1,22,1,26,1,15,1,12,1,30,1,15, + 2,13,1,19,2,13,1,6,2,13,1,32,2,24,1,3, + 1,12,1,15,1,32,1,13,1,8,2,24,1,3,1,13, + 1,13,1,8,1,114,67,1,0,0,99,2,0,0,0,0, + 0,0,0,3,0,0,0,18,0,0,0,67,0,0,0,115, + 75,0,0,0,122,16,0,116,0,0,124,0,0,131,1,0, + 125,2,0,87,100,1,0,116,1,0,106,2,0,131,0,0, + 1,88,124,2,0,106,3,0,131,0,0,1,122,17,0,116, + 4,0,124,0,0,124,1,0,131,2,0,83,87,100,1,0, + 124,2,0,106,5,0,131,0,0,1,88,100,1,0,83,41, + 2,122,54,70,105,110,100,32,97,110,100,32,108,111,97,100, + 32,116,104,101,32,109,111,100,117,108,101,44,32,97,110,100, + 32,114,101,108,101,97,115,101,32,116,104,101,32,105,109,112, + 111,114,116,32,108,111,99,107,46,78,41,6,114,94,0,0, + 0,114,95,0,0,0,114,96,0,0,0,114,84,0,0,0, + 114,67,1,0,0,114,85,0,0,0,41,3,114,72,0,0, + 0,114,66,1,0,0,114,70,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,218,14,95,102,105,110, + 100,95,97,110,100,95,108,111,97,100,60,6,0,0,115,14, + 0,0,0,0,2,3,1,16,2,11,1,10,1,3,1,17, + 2,114,68,1,0,0,99,3,0,0,0,0,0,0,0,5, + 0,0,0,4,0,0,0,67,0,0,0,115,172,0,0,0, + 116,0,0,124,0,0,124,1,0,124,2,0,131,3,0,1, + 124,2,0,100,1,0,107,4,0,114,49,0,116,1,0,124, + 0,0,124,1,0,124,2,0,131,3,0,125,0,0,110,0, + 0,116,2,0,106,3,0,131,0,0,1,124,0,0,116,4, + 0,106,5,0,107,7,0,114,87,0,116,6,0,124,0,0, + 116,7,0,131,2,0,83,116,4,0,106,5,0,124,0,0, + 25,125,3,0,124,3,0,100,2,0,107,8,0,114,158,0, + 116,2,0,106,8,0,131,0,0,1,100,3,0,106,9,0, + 124,0,0,131,1,0,125,4,0,116,10,0,124,4,0,100, + 4,0,124,0,0,131,1,1,130,1,0,110,0,0,116,11, + 0,124,0,0,131,1,0,1,124,3,0,83,41,5,97,50, + 1,0,0,73,109,112,111,114,116,32,97,110,100,32,114,101, + 116,117,114,110,32,116,104,101,32,109,111,100,117,108,101,32, + 98,97,115,101,100,32,111,110,32,105,116,115,32,110,97,109, + 101,44,32,116,104,101,32,112,97,99,107,97,103,101,32,116, + 104,101,32,99,97,108,108,32,105,115,10,32,32,32,32,98, + 101,105,110,103,32,109,97,100,101,32,102,114,111,109,44,32, + 97,110,100,32,116,104,101,32,108,101,118,101,108,32,97,100, + 106,117,115,116,109,101,110,116,46,10,10,32,32,32,32,84, + 104,105,115,32,102,117,110,99,116,105,111,110,32,114,101,112, + 114,101,115,101,110,116,115,32,116,104,101,32,103,114,101,97, + 116,101,115,116,32,99,111,109,109,111,110,32,100,101,110,111, + 109,105,110,97,116,111,114,32,111,102,32,102,117,110,99,116, + 105,111,110,97,108,105,116,121,10,32,32,32,32,98,101,116, + 119,101,101,110,32,105,109,112,111,114,116,95,109,111,100,117, + 108,101,32,97,110,100,32,95,95,105,109,112,111,114,116,95, + 95,46,32,84,104,105,115,32,105,110,99,108,117,100,101,115, + 32,115,101,116,116,105,110,103,32,95,95,112,97,99,107,97, + 103,101,95,95,32,105,102,10,32,32,32,32,116,104,101,32, + 108,111,97,100,101,114,32,100,105,100,32,110,111,116,46,10, + 10,32,32,32,32,114,68,0,0,0,78,122,40,105,109,112, + 111,114,116,32,111,102,32,123,125,32,104,97,108,116,101,100, + 59,32,78,111,110,101,32,105,110,32,115,121,115,46,109,111, + 100,117,108,101,115,114,72,0,0,0,41,12,114,64,1,0, + 0,114,59,1,0,0,114,95,0,0,0,114,56,1,0,0, + 114,7,0,0,0,114,141,0,0,0,114,68,1,0,0,218, + 11,95,103,99,100,95,105,109,112,111,114,116,114,96,0,0, + 0,114,47,0,0,0,114,158,0,0,0,114,97,0,0,0, + 41,5,114,72,0,0,0,114,57,1,0,0,114,58,1,0, + 0,114,162,0,0,0,114,137,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,114,69,1,0,0,73, + 6,0,0,115,26,0,0,0,0,9,16,1,12,1,21,1, + 10,1,15,1,13,1,13,1,12,1,10,2,15,1,21,1, + 10,1,114,69,1,0,0,99,3,0,0,0,0,0,0,0, + 6,0,0,0,17,0,0,0,67,0,0,0,115,1,1,0, + 0,116,0,0,124,0,0,100,1,0,131,2,0,114,253,0, + 100,2,0,124,1,0,107,6,0,114,89,0,116,1,0,124, + 1,0,131,1,0,125,1,0,124,1,0,106,2,0,100,2, + 0,131,1,0,1,116,0,0,124,0,0,100,3,0,131,2, + 0,114,89,0,124,1,0,106,3,0,124,0,0,106,4,0, + 131,1,0,1,113,89,0,110,0,0,120,161,0,124,1,0, + 68,93,150,0,125,3,0,116,0,0,124,0,0,124,3,0, + 131,2,0,115,96,0,100,4,0,106,5,0,124,0,0,106, + 6,0,124,3,0,131,2,0,125,4,0,121,17,0,116,7, + 0,124,2,0,124,4,0,131,2,0,1,87,113,246,0,4, + 116,8,0,107,10,0,114,242,0,1,125,5,0,1,122,53, + 0,116,9,0,124,5,0,131,1,0,106,10,0,116,11,0, + 131,1,0,114,221,0,124,5,0,106,12,0,124,4,0,107, + 2,0,114,221,0,119,96,0,113,221,0,110,0,0,130,0, + 0,87,89,100,5,0,100,5,0,125,5,0,126,5,0,88, + 113,246,0,88,113,96,0,113,96,0,87,110,0,0,124,0, + 0,83,41,6,122,238,70,105,103,117,114,101,32,111,117,116, + 32,119,104,97,116,32,95,95,105,109,112,111,114,116,95,95, + 32,115,104,111,117,108,100,32,114,101,116,117,114,110,46,10, + 10,32,32,32,32,84,104,101,32,105,109,112,111,114,116,95, + 32,112,97,114,97,109,101,116,101,114,32,105,115,32,97,32, + 99,97,108,108,97,98,108,101,32,119,104,105,99,104,32,116, + 97,107,101,115,32,116,104,101,32,110,97,109,101,32,111,102, + 32,109,111,100,117,108,101,32,116,111,10,32,32,32,32,105, + 109,112,111,114,116,46,32,73,116,32,105,115,32,114,101,113, + 117,105,114,101,100,32,116,111,32,100,101,99,111,117,112,108, + 101,32,116,104,101,32,102,117,110,99,116,105,111,110,32,102, + 114,111,109,32,97,115,115,117,109,105,110,103,32,105,109,112, + 111,114,116,108,105,98,39,115,10,32,32,32,32,105,109,112, + 111,114,116,32,105,109,112,108,101,109,101,110,116,97,116,105, + 111,110,32,105,115,32,100,101,115,105,114,101,100,46,10,10, + 32,32,32,32,114,160,0,0,0,250,1,42,218,7,95,95, + 97,108,108,95,95,122,5,123,125,46,123,125,78,41,13,114, + 60,0,0,0,218,4,108,105,115,116,218,6,114,101,109,111, + 118,101,114,208,0,0,0,114,71,1,0,0,114,47,0,0, + 0,114,57,0,0,0,114,100,0,0,0,114,158,0,0,0, + 114,36,1,0,0,114,9,0,0,0,218,15,95,69,82,82, + 95,77,83,71,95,80,82,69,70,73,88,114,72,0,0,0, + 41,6,114,162,0,0,0,218,8,102,114,111,109,108,105,115, + 116,114,66,1,0,0,114,16,0,0,0,90,9,102,114,111, + 109,95,110,97,109,101,114,249,0,0,0,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,218,16,95,104,97,110, + 100,108,101,95,102,114,111,109,108,105,115,116,97,6,0,0, + 115,34,0,0,0,0,10,15,1,12,1,12,1,13,1,15, + 1,22,1,13,1,15,1,21,1,3,1,17,1,18,4,21, + 1,15,1,9,1,32,1,114,76,1,0,0,99,1,0,0, + 0,0,0,0,0,2,0,0,0,2,0,0,0,67,0,0, + 0,115,78,0,0,0,124,0,0,106,0,0,100,1,0,131, + 1,0,125,1,0,124,1,0,100,2,0,107,8,0,114,74, + 0,124,0,0,100,3,0,25,125,1,0,100,4,0,124,0, + 0,107,7,0,114,74,0,124,1,0,106,1,0,100,5,0, + 131,1,0,100,6,0,25,125,1,0,113,74,0,110,0,0, + 124,1,0,83,41,7,122,167,67,97,108,99,117,108,97,116, + 101,32,119,104,97,116,32,95,95,112,97,99,107,97,103,101, + 95,95,32,115,104,111,117,108,100,32,98,101,46,10,10,32, + 32,32,32,95,95,112,97,99,107,97,103,101,95,95,32,105, + 115,32,110,111,116,32,103,117,97,114,97,110,116,101,101,100, + 32,116,111,32,98,101,32,100,101,102,105,110,101,100,32,111, + 114,32,99,111,117,108,100,32,98,101,32,115,101,116,32,116, + 111,32,78,111,110,101,10,32,32,32,32,116,111,32,114,101, + 112,114,101,115,101,110,116,32,116,104,97,116,32,105,116,115, + 32,112,114,111,112,101,114,32,118,97,108,117,101,32,105,115, + 32,117,110,107,110,111,119,110,46,10,10,32,32,32,32,114, + 159,0,0,0,78,114,57,0,0,0,114,160,0,0,0,114, + 102,0,0,0,114,68,0,0,0,41,2,114,80,0,0,0, + 114,32,0,0,0,41,2,218,7,103,108,111,98,97,108,115, + 114,57,1,0,0,114,4,0,0,0,114,4,0,0,0,114, + 5,0,0,0,218,17,95,99,97,108,99,95,95,95,112,97, + 99,107,97,103,101,95,95,129,6,0,0,115,12,0,0,0, + 0,7,15,1,12,1,10,1,12,1,25,1,114,78,1,0, + 0,99,0,0,0,0,0,0,0,0,3,0,0,0,3,0, + 0,0,67,0,0,0,115,55,0,0,0,116,0,0,116,1, + 0,106,2,0,131,0,0,102,2,0,125,0,0,116,3,0, + 116,4,0,102,2,0,125,1,0,116,5,0,116,6,0,102, + 2,0,125,2,0,124,0,0,124,1,0,124,2,0,103,3, + 0,83,41,1,122,95,82,101,116,117,114,110,115,32,97,32, + 108,105,115,116,32,111,102,32,102,105,108,101,45,98,97,115, + 101,100,32,109,111,100,117,108,101,32,108,111,97,100,101,114, + 115,46,10,10,32,32,32,32,69,97,99,104,32,105,116,101, + 109,32,105,115,32,97,32,116,117,112,108,101,32,40,108,111, + 97,100,101,114,44,32,115,117,102,102,105,120,101,115,41,46, + 10,32,32,32,32,41,7,114,9,1,0,0,114,95,0,0, + 0,218,18,101,120,116,101,110,115,105,111,110,95,115,117,102, + 102,105,120,101,115,114,3,1,0,0,114,120,0,0,0,114, + 8,1,0,0,218,17,66,89,84,69,67,79,68,69,95,83, + 85,70,70,73,88,69,83,41,3,90,10,101,120,116,101,110, + 115,105,111,110,115,90,6,115,111,117,114,99,101,90,8,98, + 121,116,101,99,111,100,101,114,4,0,0,0,114,4,0,0, + 0,114,5,0,0,0,114,235,0,0,0,144,6,0,0,115, + 8,0,0,0,0,5,18,1,12,1,12,1,114,235,0,0, + 0,99,5,0,0,0,0,0,0,0,9,0,0,0,5,0, + 0,0,67,0,0,0,115,227,0,0,0,124,4,0,100,1, + 0,107,2,0,114,27,0,116,0,0,124,0,0,131,1,0, + 125,5,0,110,54,0,124,1,0,100,2,0,107,9,0,114, + 45,0,124,1,0,110,3,0,105,0,0,125,6,0,116,1, + 0,124,6,0,131,1,0,125,7,0,116,0,0,124,0,0, + 124,7,0,124,4,0,131,3,0,125,5,0,124,3,0,115, + 207,0,124,4,0,100,1,0,107,2,0,114,122,0,116,0, 0,124,0,0,106,2,0,100,3,0,131,1,0,100,1,0, - 25,131,1,0,24,125,8,0,116,4,0,106,5,0,124,5, - 0,106,6,0,100,2,0,116,3,0,124,5,0,106,6,0, - 131,1,0,124,8,0,24,133,2,0,25,25,83,110,16,0, - 116,7,0,124,5,0,124,3,0,116,0,0,131,3,0,83, - 100,2,0,83,41,4,97,214,1,0,0,73,109,112,111,114, - 116,32,97,32,109,111,100,117,108,101,46,10,10,32,32,32, - 32,84,104,101,32,39,103,108,111,98,97,108,115,39,32,97, - 114,103,117,109,101,110,116,32,105,115,32,117,115,101,100,32, - 116,111,32,105,110,102,101,114,32,119,104,101,114,101,32,116, - 104,101,32,105,109,112,111,114,116,32,105,115,32,111,99,99, - 117,114,105,110,103,32,102,114,111,109,10,32,32,32,32,116, - 111,32,104,97,110,100,108,101,32,114,101,108,97,116,105,118, - 101,32,105,109,112,111,114,116,115,46,32,84,104,101,32,39, - 108,111,99,97,108,115,39,32,97,114,103,117,109,101,110,116, - 32,105,115,32,105,103,110,111,114,101,100,46,32,84,104,101, - 10,32,32,32,32,39,102,114,111,109,108,105,115,116,39,32, - 97,114,103,117,109,101,110,116,32,115,112,101,99,105,102,105, - 101,115,32,119,104,97,116,32,115,104,111,117,108,100,32,101, - 120,105,115,116,32,97,115,32,97,116,116,114,105,98,117,116, - 101,115,32,111,110,32,116,104,101,32,109,111,100,117,108,101, - 10,32,32,32,32,98,101,105,110,103,32,105,109,112,111,114, - 116,101,100,32,40,101,46,103,46,32,96,96,102,114,111,109, - 32,109,111,100,117,108,101,32,105,109,112,111,114,116,32,60, - 102,114,111,109,108,105,115,116,62,96,96,41,46,32,32,84, - 104,101,32,39,108,101,118,101,108,39,10,32,32,32,32,97, - 114,103,117,109,101,110,116,32,114,101,112,114,101,115,101,110, - 116,115,32,116,104,101,32,112,97,99,107,97,103,101,32,108, - 111,99,97,116,105,111,110,32,116,111,32,105,109,112,111,114, - 116,32,102,114,111,109,32,105,110,32,97,32,114,101,108,97, - 116,105,118,101,10,32,32,32,32,105,109,112,111,114,116,32, - 40,101,46,103,46,32,96,96,102,114,111,109,32,46,46,112, - 107,103,32,105,109,112,111,114,116,32,109,111,100,96,96,32, - 119,111,117,108,100,32,104,97,118,101,32,97,32,39,108,101, - 118,101,108,39,32,111,102,32,50,41,46,10,10,32,32,32, - 32,114,68,0,0,0,78,114,102,0,0,0,41,8,114,69, - 1,0,0,114,78,1,0,0,114,107,0,0,0,114,31,0, - 0,0,114,7,0,0,0,114,141,0,0,0,114,57,0,0, - 0,114,76,1,0,0,41,9,114,72,0,0,0,114,77,1, - 0,0,218,6,108,111,99,97,108,115,114,75,1,0,0,114, - 58,1,0,0,114,162,0,0,0,90,8,103,108,111,98,97, - 108,115,95,114,57,1,0,0,90,7,99,117,116,95,111,102, - 102,114,4,0,0,0,114,4,0,0,0,114,5,0,0,0, - 218,10,95,95,105,109,112,111,114,116,95,95,151,6,0,0, - 115,26,0,0,0,0,11,12,1,15,2,24,1,12,1,18, - 1,6,3,12,1,23,1,6,1,4,4,35,3,40,2,114, - 82,1,0,0,99,2,0,0,0,0,0,0,0,16,0,0, - 0,13,0,0,0,67,0,0,0,115,237,2,0,0,124,1, - 0,97,0,0,124,0,0,97,1,0,116,1,0,106,2,0, - 106,3,0,114,33,0,116,4,0,97,5,0,110,6,0,116, - 6,0,97,5,0,116,7,0,116,1,0,131,1,0,125,2, - 0,120,128,0,116,1,0,106,8,0,106,9,0,131,0,0, - 68,93,111,0,92,2,0,125,3,0,125,4,0,116,10,0, - 124,4,0,124,2,0,131,2,0,114,67,0,116,11,0,124, - 4,0,100,1,0,100,2,0,131,3,0,100,2,0,107,8, - 0,114,178,0,124,3,0,116,1,0,106,12,0,107,6,0, - 114,145,0,116,13,0,124,4,0,95,14,0,113,175,0,116, - 0,0,106,15,0,124,3,0,131,1,0,114,175,0,116,16, - 0,124,4,0,95,14,0,113,175,0,113,178,0,113,67,0, - 113,67,0,87,116,1,0,106,8,0,116,17,0,25,125,5, - 0,120,76,0,100,27,0,68,93,68,0,125,6,0,124,6, - 0,116,1,0,106,8,0,107,7,0,114,241,0,116,13,0, - 106,18,0,124,6,0,131,1,0,125,7,0,110,13,0,116, - 1,0,106,8,0,124,6,0,25,125,7,0,116,19,0,124, - 5,0,124,6,0,124,7,0,131,3,0,1,113,202,0,87, - 100,7,0,100,8,0,103,1,0,102,2,0,100,9,0,100, - 10,0,100,8,0,103,2,0,102,2,0,102,2,0,125,8, - 0,120,149,0,124,8,0,68,93,129,0,92,2,0,125,9, - 0,125,10,0,116,20,0,100,11,0,100,12,0,132,0,0, - 124,10,0,68,131,1,0,131,1,0,115,101,1,116,21,0, - 130,1,0,124,10,0,100,13,0,25,125,11,0,124,9,0, - 116,1,0,106,8,0,107,6,0,114,143,1,116,1,0,106, - 8,0,124,9,0,25,125,12,0,80,113,58,1,121,20,0, - 116,13,0,106,18,0,124,9,0,131,1,0,125,12,0,80, - 87,113,58,1,4,116,22,0,107,10,0,114,186,1,1,1, - 1,119,58,1,89,113,58,1,88,113,58,1,87,116,22,0, - 100,14,0,131,1,0,130,1,0,121,19,0,116,13,0,106, - 18,0,100,15,0,131,1,0,125,13,0,87,110,24,0,4, - 116,22,0,107,10,0,114,248,1,1,1,1,100,2,0,125, - 13,0,89,110,1,0,88,116,13,0,106,18,0,100,16,0, - 131,1,0,125,14,0,124,9,0,100,9,0,107,2,0,114, - 54,2,116,13,0,106,18,0,100,17,0,131,1,0,125,15, - 0,116,19,0,124,5,0,100,18,0,124,15,0,131,3,0, - 1,110,0,0,116,19,0,124,5,0,100,19,0,124,12,0, - 131,3,0,1,116,19,0,124,5,0,100,15,0,124,13,0, - 131,3,0,1,116,19,0,124,5,0,100,16,0,124,14,0, - 131,3,0,1,116,19,0,124,5,0,100,20,0,124,11,0, - 131,3,0,1,116,19,0,124,5,0,100,21,0,100,22,0, - 106,23,0,124,10,0,131,1,0,131,3,0,1,116,19,0, - 124,5,0,100,23,0,116,24,0,131,0,0,131,3,0,1, - 116,25,0,106,26,0,116,0,0,106,27,0,131,0,0,131, - 1,0,1,124,9,0,100,9,0,107,2,0,114,233,2,116, - 28,0,106,29,0,100,24,0,131,1,0,1,100,25,0,116, - 25,0,107,6,0,114,233,2,100,26,0,116,30,0,95,31, - 0,113,233,2,110,0,0,100,2,0,83,41,28,122,250,83, - 101,116,117,112,32,105,109,112,111,114,116,108,105,98,32,98, - 121,32,105,109,112,111,114,116,105,110,103,32,110,101,101,100, - 101,100,32,98,117,105,108,116,45,105,110,32,109,111,100,117, - 108,101,115,32,97,110,100,32,105,110,106,101,99,116,105,110, - 103,32,116,104,101,109,10,32,32,32,32,105,110,116,111,32, - 116,104,101,32,103,108,111,98,97,108,32,110,97,109,101,115, - 112,97,99,101,46,10,10,32,32,32,32,65,115,32,115,121, - 115,32,105,115,32,110,101,101,100,101,100,32,102,111,114,32, - 115,121,115,46,109,111,100,117,108,101,115,32,97,99,99,101, - 115,115,32,97,110,100,32,95,105,109,112,32,105,115,32,110, - 101,101,100,101,100,32,116,111,32,108,111,97,100,32,98,117, - 105,108,116,45,105,110,10,32,32,32,32,109,111,100,117,108, - 101,115,44,32,116,104,111,115,101,32,116,119,111,32,109,111, - 100,117,108,101,115,32,109,117,115,116,32,98,101,32,101,120, - 112,108,105,99,105,116,108,121,32,112,97,115,115,101,100,32, - 105,110,46,10,10,32,32,32,32,114,172,0,0,0,78,114, - 49,0,0,0,114,186,0,0,0,218,8,98,117,105,108,116, - 105,110,115,114,202,0,0,0,90,5,112,111,115,105,120,250, - 1,47,218,2,110,116,250,1,92,99,1,0,0,0,0,0, - 0,0,2,0,0,0,3,0,0,0,115,0,0,0,115,33, - 0,0,0,124,0,0,93,23,0,125,1,0,116,0,0,124, - 1,0,131,1,0,100,0,0,107,2,0,86,1,113,3,0, - 100,1,0,83,41,2,114,29,0,0,0,78,41,1,114,31, - 0,0,0,41,2,114,22,0,0,0,114,116,0,0,0,114, - 4,0,0,0,114,4,0,0,0,114,5,0,0,0,114,144, - 0,0,0,224,6,0,0,115,2,0,0,0,6,0,122,25, - 95,115,101,116,117,112,46,60,108,111,99,97,108,115,62,46, - 60,103,101,110,101,120,112,114,62,114,68,0,0,0,122,30, - 105,109,112,111,114,116,108,105,98,32,114,101,113,117,105,114, - 101,115,32,112,111,115,105,120,32,111,114,32,110,116,114,69, - 0,0,0,114,93,0,0,0,90,6,119,105,110,114,101,103, - 114,226,0,0,0,114,3,0,0,0,114,25,0,0,0,114, - 21,0,0,0,114,30,0,0,0,114,6,0,0,0,122,4, - 46,112,121,119,122,6,95,100,46,112,121,100,84,41,4,122, - 3,95,105,111,122,9,95,119,97,114,110,105,110,103,115,122, - 8,98,117,105,108,116,105,110,115,122,7,109,97,114,115,104, - 97,108,41,32,114,95,0,0,0,114,7,0,0,0,114,103, - 0,0,0,114,104,0,0,0,114,106,0,0,0,114,80,1, - 0,0,114,105,0,0,0,114,153,0,0,0,114,141,0,0, - 0,218,5,105,116,101,109,115,114,203,0,0,0,114,62,0, - 0,0,114,178,0,0,0,114,215,0,0,0,114,172,0,0, - 0,114,182,0,0,0,114,223,0,0,0,114,57,0,0,0, - 114,219,0,0,0,114,61,0,0,0,218,3,97,108,108,114, - 87,0,0,0,114,158,0,0,0,114,26,0,0,0,114,11, - 0,0,0,114,12,1,0,0,114,208,0,0,0,114,79,1, - 0,0,114,120,0,0,0,114,166,0,0,0,114,225,0,0, - 0,114,229,0,0,0,41,16,218,10,115,121,115,95,109,111, - 100,117,108,101,218,11,95,105,109,112,95,109,111,100,117,108, - 101,90,11,109,111,100,117,108,101,95,116,121,112,101,114,72, - 0,0,0,114,162,0,0,0,90,11,115,101,108,102,95,109, - 111,100,117,108,101,90,12,98,117,105,108,116,105,110,95,110, - 97,109,101,90,14,98,117,105,108,116,105,110,95,109,111,100, - 117,108,101,90,10,111,115,95,100,101,116,97,105,108,115,90, - 10,98,117,105,108,116,105,110,95,111,115,114,21,0,0,0, - 114,25,0,0,0,90,9,111,115,95,109,111,100,117,108,101, - 90,13,116,104,114,101,97,100,95,109,111,100,117,108,101,90, - 14,119,101,97,107,114,101,102,95,109,111,100,117,108,101,90, - 13,119,105,110,114,101,103,95,109,111,100,117,108,101,114,4, - 0,0,0,114,4,0,0,0,114,5,0,0,0,218,6,95, - 115,101,116,117,112,187,6,0,0,115,102,0,0,0,0,9, - 6,1,6,2,12,1,9,2,6,2,12,1,28,1,15,1, - 24,1,15,1,12,1,15,1,22,2,13,1,13,1,15,1, - 18,2,13,1,20,2,33,1,19,2,31,1,10,1,15,1, - 13,1,4,2,3,1,15,1,5,1,13,1,12,2,12,2, - 3,1,19,1,13,2,11,1,15,2,12,1,15,1,19,2, - 16,1,16,1,16,1,16,1,25,2,19,1,19,1,12,1, - 13,1,12,1,114,91,1,0,0,99,2,0,0,0,0,0, - 0,0,3,0,0,0,3,0,0,0,67,0,0,0,115,136, - 0,0,0,116,0,0,124,0,0,124,1,0,131,2,0,1, - 116,1,0,131,0,0,125,2,0,116,2,0,106,3,0,106, - 4,0,116,5,0,106,6,0,124,2,0,140,0,0,103,1, - 0,131,1,0,1,116,2,0,106,7,0,106,8,0,116,9, - 0,131,1,0,1,116,2,0,106,7,0,106,8,0,116,10, - 0,131,1,0,1,116,11,0,106,12,0,100,1,0,107,2, - 0,114,116,0,116,2,0,106,7,0,106,8,0,116,13,0, - 131,1,0,1,110,0,0,116,2,0,106,7,0,106,8,0, - 116,14,0,131,1,0,1,100,2,0,83,41,3,122,50,73, - 110,115,116,97,108,108,32,105,109,112,111,114,116,108,105,98, - 32,97,115,32,116,104,101,32,105,109,112,108,101,109,101,110, - 116,97,116,105,111,110,32,111,102,32,105,109,112,111,114,116, - 46,114,85,1,0,0,78,41,15,114,91,1,0,0,114,235, - 0,0,0,114,7,0,0,0,114,33,1,0,0,114,208,0, - 0,0,114,40,1,0,0,114,54,1,0,0,114,60,1,0, - 0,114,166,0,0,0,114,215,0,0,0,114,223,0,0,0, - 114,3,0,0,0,114,57,0,0,0,114,225,0,0,0,114, - 28,1,0,0,41,3,114,89,1,0,0,114,90,1,0,0, - 90,17,115,117,112,112,111,114,116,101,100,95,108,111,97,100, - 101,114,115,114,4,0,0,0,114,4,0,0,0,114,5,0, - 0,0,218,8,95,105,110,115,116,97,108,108,7,7,0,0, - 115,16,0,0,0,0,2,13,1,9,1,28,1,16,1,16, - 1,15,1,19,1,114,92,1,0,0,41,3,122,3,119,105, - 110,114,1,0,0,0,114,2,0,0,0,41,82,114,59,0, - 0,0,114,10,0,0,0,114,11,0,0,0,114,17,0,0, - 0,114,19,0,0,0,114,28,0,0,0,114,38,0,0,0, - 114,43,0,0,0,114,44,0,0,0,114,46,0,0,0,114, - 55,0,0,0,114,65,0,0,0,114,153,0,0,0,218,8, - 95,95,99,111,100,101,95,95,114,204,0,0,0,114,90,0, - 0,0,114,79,0,0,0,114,86,0,0,0,114,66,0,0, - 0,114,67,0,0,0,114,89,0,0,0,114,94,0,0,0, - 114,97,0,0,0,114,100,0,0,0,114,15,0,0,0,114, - 196,0,0,0,114,14,0,0,0,114,18,0,0,0,90,17, - 95,82,65,87,95,77,65,71,73,67,95,78,85,77,66,69, - 82,114,111,0,0,0,114,120,0,0,0,114,105,0,0,0, - 114,106,0,0,0,114,118,0,0,0,114,121,0,0,0,114, - 128,0,0,0,114,130,0,0,0,114,138,0,0,0,114,139, - 0,0,0,114,147,0,0,0,114,156,0,0,0,114,163,0, - 0,0,114,167,0,0,0,114,171,0,0,0,114,174,0,0, - 0,114,177,0,0,0,114,181,0,0,0,114,184,0,0,0, - 114,191,0,0,0,114,201,0,0,0,114,206,0,0,0,114, - 209,0,0,0,114,214,0,0,0,114,215,0,0,0,114,223, - 0,0,0,114,225,0,0,0,114,238,0,0,0,114,242,0, - 0,0,114,1,1,0,0,114,3,1,0,0,114,8,1,0, - 0,114,12,1,0,0,114,9,1,0,0,114,13,1,0,0, - 114,27,1,0,0,114,28,1,0,0,114,40,1,0,0,114, - 55,1,0,0,114,59,1,0,0,114,61,1,0,0,114,64, - 1,0,0,114,74,1,0,0,114,65,1,0,0,114,67,1, - 0,0,114,68,1,0,0,114,69,1,0,0,114,76,1,0, - 0,114,78,1,0,0,114,235,0,0,0,114,82,1,0,0, - 114,91,1,0,0,114,92,1,0,0,114,4,0,0,0,114, - 4,0,0,0,114,4,0,0,0,114,5,0,0,0,218,8, - 60,109,111,100,117,108,101,62,8,0,0,0,115,150,0,0, - 0,6,17,6,3,12,12,12,5,12,5,12,6,12,12,12, - 10,12,6,12,7,15,22,12,8,15,6,6,2,6,3,22, - 4,19,68,19,23,12,19,12,20,12,113,22,1,18,2,6, - 2,9,2,9,1,9,2,15,27,12,23,12,19,12,12,18, - 8,19,17,22,42,18,9,12,15,12,11,12,13,12,11,12, - 18,12,11,12,11,12,13,21,55,21,12,18,10,12,14,19, - 52,19,49,19,50,19,41,22,110,19,29,25,43,25,20,6, - 3,19,45,19,55,19,32,19,91,19,127,19,13,12,9,12, - 17,12,17,6,1,10,2,12,46,12,13,18,24,12,32,12, - 15,12,11,24,36,12,76, + 25,131,1,0,83,124,0,0,115,132,0,124,5,0,83,116, + 3,0,124,0,0,131,1,0,116,3,0,124,0,0,106,2, + 0,100,3,0,131,1,0,100,1,0,25,131,1,0,24,125, + 8,0,116,4,0,106,5,0,124,5,0,106,6,0,100,2, + 0,116,3,0,124,5,0,106,6,0,131,1,0,124,8,0, + 24,133,2,0,25,25,83,110,16,0,116,7,0,124,5,0, + 124,3,0,116,0,0,131,3,0,83,100,2,0,83,41,4, + 97,214,1,0,0,73,109,112,111,114,116,32,97,32,109,111, + 100,117,108,101,46,10,10,32,32,32,32,84,104,101,32,39, + 103,108,111,98,97,108,115,39,32,97,114,103,117,109,101,110, + 116,32,105,115,32,117,115,101,100,32,116,111,32,105,110,102, + 101,114,32,119,104,101,114,101,32,116,104,101,32,105,109,112, + 111,114,116,32,105,115,32,111,99,99,117,114,105,110,103,32, + 102,114,111,109,10,32,32,32,32,116,111,32,104,97,110,100, + 108,101,32,114,101,108,97,116,105,118,101,32,105,109,112,111, + 114,116,115,46,32,84,104,101,32,39,108,111,99,97,108,115, + 39,32,97,114,103,117,109,101,110,116,32,105,115,32,105,103, + 110,111,114,101,100,46,32,84,104,101,10,32,32,32,32,39, + 102,114,111,109,108,105,115,116,39,32,97,114,103,117,109,101, + 110,116,32,115,112,101,99,105,102,105,101,115,32,119,104,97, + 116,32,115,104,111,117,108,100,32,101,120,105,115,116,32,97, + 115,32,97,116,116,114,105,98,117,116,101,115,32,111,110,32, + 116,104,101,32,109,111,100,117,108,101,10,32,32,32,32,98, + 101,105,110,103,32,105,109,112,111,114,116,101,100,32,40,101, + 46,103,46,32,96,96,102,114,111,109,32,109,111,100,117,108, + 101,32,105,109,112,111,114,116,32,60,102,114,111,109,108,105, + 115,116,62,96,96,41,46,32,32,84,104,101,32,39,108,101, + 118,101,108,39,10,32,32,32,32,97,114,103,117,109,101,110, + 116,32,114,101,112,114,101,115,101,110,116,115,32,116,104,101, + 32,112,97,99,107,97,103,101,32,108,111,99,97,116,105,111, + 110,32,116,111,32,105,109,112,111,114,116,32,102,114,111,109, + 32,105,110,32,97,32,114,101,108,97,116,105,118,101,10,32, + 32,32,32,105,109,112,111,114,116,32,40,101,46,103,46,32, + 96,96,102,114,111,109,32,46,46,112,107,103,32,105,109,112, + 111,114,116,32,109,111,100,96,96,32,119,111,117,108,100,32, + 104,97,118,101,32,97,32,39,108,101,118,101,108,39,32,111, + 102,32,50,41,46,10,10,32,32,32,32,114,68,0,0,0, + 78,114,102,0,0,0,41,8,114,69,1,0,0,114,78,1, + 0,0,114,107,0,0,0,114,31,0,0,0,114,7,0,0, + 0,114,141,0,0,0,114,57,0,0,0,114,76,1,0,0, + 41,9,114,72,0,0,0,114,77,1,0,0,218,6,108,111, + 99,97,108,115,114,75,1,0,0,114,58,1,0,0,114,162, + 0,0,0,90,8,103,108,111,98,97,108,115,95,114,57,1, + 0,0,90,7,99,117,116,95,111,102,102,114,4,0,0,0, + 114,4,0,0,0,114,5,0,0,0,218,10,95,95,105,109, + 112,111,114,116,95,95,155,6,0,0,115,26,0,0,0,0, + 11,12,1,15,2,24,1,12,1,18,1,6,3,12,1,23, + 1,6,1,4,4,35,3,40,2,114,82,1,0,0,99,2, + 0,0,0,0,0,0,0,16,0,0,0,13,0,0,0,67, + 0,0,0,115,237,2,0,0,124,1,0,97,0,0,124,0, + 0,97,1,0,116,1,0,106,2,0,106,3,0,114,33,0, + 116,4,0,97,5,0,110,6,0,116,6,0,97,5,0,116, + 7,0,116,1,0,131,1,0,125,2,0,120,128,0,116,1, + 0,106,8,0,106,9,0,131,0,0,68,93,111,0,92,2, + 0,125,3,0,125,4,0,116,10,0,124,4,0,124,2,0, + 131,2,0,114,67,0,116,11,0,124,4,0,100,1,0,100, + 2,0,131,3,0,100,2,0,107,8,0,114,178,0,124,3, + 0,116,1,0,106,12,0,107,6,0,114,145,0,116,13,0, + 124,4,0,95,14,0,113,175,0,116,0,0,106,15,0,124, + 3,0,131,1,0,114,175,0,116,16,0,124,4,0,95,14, + 0,113,175,0,113,178,0,113,67,0,113,67,0,87,116,1, + 0,106,8,0,116,17,0,25,125,5,0,120,76,0,100,27, + 0,68,93,68,0,125,6,0,124,6,0,116,1,0,106,8, + 0,107,7,0,114,241,0,116,13,0,106,18,0,124,6,0, + 131,1,0,125,7,0,110,13,0,116,1,0,106,8,0,124, + 6,0,25,125,7,0,116,19,0,124,5,0,124,6,0,124, + 7,0,131,3,0,1,113,202,0,87,100,7,0,100,8,0, + 103,1,0,102,2,0,100,9,0,100,10,0,100,8,0,103, + 2,0,102,2,0,102,2,0,125,8,0,120,149,0,124,8, + 0,68,93,129,0,92,2,0,125,9,0,125,10,0,116,20, + 0,100,11,0,100,12,0,132,0,0,124,10,0,68,131,1, + 0,131,1,0,115,101,1,116,21,0,130,1,0,124,10,0, + 100,13,0,25,125,11,0,124,9,0,116,1,0,106,8,0, + 107,6,0,114,143,1,116,1,0,106,8,0,124,9,0,25, + 125,12,0,80,113,58,1,121,20,0,116,13,0,106,18,0, + 124,9,0,131,1,0,125,12,0,80,87,113,58,1,4,116, + 22,0,107,10,0,114,186,1,1,1,1,119,58,1,89,113, + 58,1,88,113,58,1,87,116,22,0,100,14,0,131,1,0, + 130,1,0,121,19,0,116,13,0,106,18,0,100,15,0,131, + 1,0,125,13,0,87,110,24,0,4,116,22,0,107,10,0, + 114,248,1,1,1,1,100,2,0,125,13,0,89,110,1,0, + 88,116,13,0,106,18,0,100,16,0,131,1,0,125,14,0, + 124,9,0,100,9,0,107,2,0,114,54,2,116,13,0,106, + 18,0,100,17,0,131,1,0,125,15,0,116,19,0,124,5, + 0,100,18,0,124,15,0,131,3,0,1,110,0,0,116,19, + 0,124,5,0,100,19,0,124,12,0,131,3,0,1,116,19, + 0,124,5,0,100,15,0,124,13,0,131,3,0,1,116,19, + 0,124,5,0,100,16,0,124,14,0,131,3,0,1,116,19, + 0,124,5,0,100,20,0,124,11,0,131,3,0,1,116,19, + 0,124,5,0,100,21,0,100,22,0,106,23,0,124,10,0, + 131,1,0,131,3,0,1,116,19,0,124,5,0,100,23,0, + 116,24,0,131,0,0,131,3,0,1,116,25,0,106,26,0, + 116,0,0,106,27,0,131,0,0,131,1,0,1,124,9,0, + 100,9,0,107,2,0,114,233,2,116,28,0,106,29,0,100, + 24,0,131,1,0,1,100,25,0,116,25,0,107,6,0,114, + 233,2,100,26,0,116,30,0,95,31,0,113,233,2,110,0, + 0,100,2,0,83,41,28,122,250,83,101,116,117,112,32,105, + 109,112,111,114,116,108,105,98,32,98,121,32,105,109,112,111, + 114,116,105,110,103,32,110,101,101,100,101,100,32,98,117,105, + 108,116,45,105,110,32,109,111,100,117,108,101,115,32,97,110, + 100,32,105,110,106,101,99,116,105,110,103,32,116,104,101,109, + 10,32,32,32,32,105,110,116,111,32,116,104,101,32,103,108, + 111,98,97,108,32,110,97,109,101,115,112,97,99,101,46,10, + 10,32,32,32,32,65,115,32,115,121,115,32,105,115,32,110, + 101,101,100,101,100,32,102,111,114,32,115,121,115,46,109,111, + 100,117,108,101,115,32,97,99,99,101,115,115,32,97,110,100, + 32,95,105,109,112,32,105,115,32,110,101,101,100,101,100,32, + 116,111,32,108,111,97,100,32,98,117,105,108,116,45,105,110, + 10,32,32,32,32,109,111,100,117,108,101,115,44,32,116,104, + 111,115,101,32,116,119,111,32,109,111,100,117,108,101,115,32, + 109,117,115,116,32,98,101,32,101,120,112,108,105,99,105,116, + 108,121,32,112,97,115,115,101,100,32,105,110,46,10,10,32, + 32,32,32,114,172,0,0,0,78,114,49,0,0,0,114,186, + 0,0,0,218,8,98,117,105,108,116,105,110,115,114,202,0, + 0,0,90,5,112,111,115,105,120,250,1,47,218,2,110,116, + 250,1,92,99,1,0,0,0,0,0,0,0,2,0,0,0, + 3,0,0,0,115,0,0,0,115,33,0,0,0,124,0,0, + 93,23,0,125,1,0,116,0,0,124,1,0,131,1,0,100, + 0,0,107,2,0,86,1,113,3,0,100,1,0,83,41,2, + 114,29,0,0,0,78,41,1,114,31,0,0,0,41,2,114, + 22,0,0,0,114,116,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,114,144,0,0,0,228,6,0, + 0,115,2,0,0,0,6,0,122,25,95,115,101,116,117,112, + 46,60,108,111,99,97,108,115,62,46,60,103,101,110,101,120, + 112,114,62,114,68,0,0,0,122,30,105,109,112,111,114,116, + 108,105,98,32,114,101,113,117,105,114,101,115,32,112,111,115, + 105,120,32,111,114,32,110,116,114,69,0,0,0,114,93,0, + 0,0,90,6,119,105,110,114,101,103,114,226,0,0,0,114, + 3,0,0,0,114,25,0,0,0,114,21,0,0,0,114,30, + 0,0,0,114,6,0,0,0,122,4,46,112,121,119,122,6, + 95,100,46,112,121,100,84,41,4,122,3,95,105,111,122,9, + 95,119,97,114,110,105,110,103,115,122,8,98,117,105,108,116, + 105,110,115,122,7,109,97,114,115,104,97,108,41,32,114,95, + 0,0,0,114,7,0,0,0,114,103,0,0,0,114,104,0, + 0,0,114,106,0,0,0,114,80,1,0,0,114,105,0,0, + 0,114,153,0,0,0,114,141,0,0,0,218,5,105,116,101, + 109,115,114,203,0,0,0,114,62,0,0,0,114,178,0,0, + 0,114,215,0,0,0,114,172,0,0,0,114,182,0,0,0, + 114,223,0,0,0,114,57,0,0,0,114,219,0,0,0,114, + 61,0,0,0,218,3,97,108,108,114,87,0,0,0,114,158, + 0,0,0,114,26,0,0,0,114,11,0,0,0,114,12,1, + 0,0,114,208,0,0,0,114,79,1,0,0,114,120,0,0, + 0,114,166,0,0,0,114,225,0,0,0,114,229,0,0,0, + 41,16,218,10,115,121,115,95,109,111,100,117,108,101,218,11, + 95,105,109,112,95,109,111,100,117,108,101,90,11,109,111,100, + 117,108,101,95,116,121,112,101,114,72,0,0,0,114,162,0, + 0,0,90,11,115,101,108,102,95,109,111,100,117,108,101,90, + 12,98,117,105,108,116,105,110,95,110,97,109,101,90,14,98, + 117,105,108,116,105,110,95,109,111,100,117,108,101,90,10,111, + 115,95,100,101,116,97,105,108,115,90,10,98,117,105,108,116, + 105,110,95,111,115,114,21,0,0,0,114,25,0,0,0,90, + 9,111,115,95,109,111,100,117,108,101,90,13,116,104,114,101, + 97,100,95,109,111,100,117,108,101,90,14,119,101,97,107,114, + 101,102,95,109,111,100,117,108,101,90,13,119,105,110,114,101, + 103,95,109,111,100,117,108,101,114,4,0,0,0,114,4,0, + 0,0,114,5,0,0,0,218,6,95,115,101,116,117,112,191, + 6,0,0,115,102,0,0,0,0,9,6,1,6,2,12,1, + 9,2,6,2,12,1,28,1,15,1,24,1,15,1,12,1, + 15,1,22,2,13,1,13,1,15,1,18,2,13,1,20,2, + 33,1,19,2,31,1,10,1,15,1,13,1,4,2,3,1, + 15,1,5,1,13,1,12,2,12,2,3,1,19,1,13,2, + 11,1,15,2,12,1,15,1,19,2,16,1,16,1,16,1, + 16,1,25,2,19,1,19,1,12,1,13,1,12,1,114,91, + 1,0,0,99,2,0,0,0,0,0,0,0,3,0,0,0, + 3,0,0,0,67,0,0,0,115,136,0,0,0,116,0,0, + 124,0,0,124,1,0,131,2,0,1,116,1,0,131,0,0, + 125,2,0,116,2,0,106,3,0,106,4,0,116,5,0,106, + 6,0,124,2,0,140,0,0,103,1,0,131,1,0,1,116, + 2,0,106,7,0,106,8,0,116,9,0,131,1,0,1,116, + 2,0,106,7,0,106,8,0,116,10,0,131,1,0,1,116, + 11,0,106,12,0,100,1,0,107,2,0,114,116,0,116,2, + 0,106,7,0,106,8,0,116,13,0,131,1,0,1,110,0, + 0,116,2,0,106,7,0,106,8,0,116,14,0,131,1,0, + 1,100,2,0,83,41,3,122,50,73,110,115,116,97,108,108, + 32,105,109,112,111,114,116,108,105,98,32,97,115,32,116,104, + 101,32,105,109,112,108,101,109,101,110,116,97,116,105,111,110, + 32,111,102,32,105,109,112,111,114,116,46,114,85,1,0,0, + 78,41,15,114,91,1,0,0,114,235,0,0,0,114,7,0, + 0,0,114,33,1,0,0,114,208,0,0,0,114,40,1,0, + 0,114,54,1,0,0,114,60,1,0,0,114,166,0,0,0, + 114,215,0,0,0,114,223,0,0,0,114,3,0,0,0,114, + 57,0,0,0,114,225,0,0,0,114,28,1,0,0,41,3, + 114,89,1,0,0,114,90,1,0,0,90,17,115,117,112,112, + 111,114,116,101,100,95,108,111,97,100,101,114,115,114,4,0, + 0,0,114,4,0,0,0,114,5,0,0,0,218,8,95,105, + 110,115,116,97,108,108,11,7,0,0,115,16,0,0,0,0, + 2,13,1,9,1,28,1,16,1,16,1,15,1,19,1,114, + 92,1,0,0,41,3,122,3,119,105,110,114,1,0,0,0, + 114,2,0,0,0,41,82,114,59,0,0,0,114,10,0,0, + 0,114,11,0,0,0,114,17,0,0,0,114,19,0,0,0, + 114,28,0,0,0,114,38,0,0,0,114,43,0,0,0,114, + 44,0,0,0,114,46,0,0,0,114,55,0,0,0,114,65, + 0,0,0,114,153,0,0,0,218,8,95,95,99,111,100,101, + 95,95,114,204,0,0,0,114,90,0,0,0,114,79,0,0, + 0,114,86,0,0,0,114,66,0,0,0,114,67,0,0,0, + 114,89,0,0,0,114,94,0,0,0,114,97,0,0,0,114, + 100,0,0,0,114,15,0,0,0,114,196,0,0,0,114,14, + 0,0,0,114,18,0,0,0,90,17,95,82,65,87,95,77, + 65,71,73,67,95,78,85,77,66,69,82,114,111,0,0,0, + 114,120,0,0,0,114,105,0,0,0,114,106,0,0,0,114, + 118,0,0,0,114,121,0,0,0,114,128,0,0,0,114,130, + 0,0,0,114,138,0,0,0,114,139,0,0,0,114,147,0, + 0,0,114,156,0,0,0,114,163,0,0,0,114,167,0,0, + 0,114,171,0,0,0,114,174,0,0,0,114,177,0,0,0, + 114,181,0,0,0,114,184,0,0,0,114,191,0,0,0,114, + 201,0,0,0,114,206,0,0,0,114,209,0,0,0,114,214, + 0,0,0,114,215,0,0,0,114,223,0,0,0,114,225,0, + 0,0,114,238,0,0,0,114,242,0,0,0,114,1,1,0, + 0,114,3,1,0,0,114,8,1,0,0,114,12,1,0,0, + 114,9,1,0,0,114,13,1,0,0,114,27,1,0,0,114, + 28,1,0,0,114,40,1,0,0,114,55,1,0,0,114,59, + 1,0,0,114,61,1,0,0,114,64,1,0,0,114,74,1, + 0,0,114,65,1,0,0,114,67,1,0,0,114,68,1,0, + 0,114,69,1,0,0,114,76,1,0,0,114,78,1,0,0, + 114,235,0,0,0,114,82,1,0,0,114,91,1,0,0,114, + 92,1,0,0,114,4,0,0,0,114,4,0,0,0,114,4, + 0,0,0,114,5,0,0,0,218,8,60,109,111,100,117,108, + 101,62,8,0,0,0,115,150,0,0,0,6,17,6,3,12, + 12,12,5,12,5,12,6,12,12,12,10,12,6,12,7,15, + 22,12,8,15,6,6,2,6,3,22,4,19,68,19,23,12, + 19,12,20,12,113,22,1,18,2,6,2,9,2,9,1,9, + 2,15,27,12,23,12,19,12,12,18,8,19,17,22,42,18, + 9,12,15,12,11,12,13,12,11,12,18,12,11,12,11,12, + 13,21,55,21,12,18,10,12,14,19,52,19,49,19,50,19, + 41,22,110,19,29,25,43,25,20,6,3,19,45,19,55,19, + 32,19,91,19,127,19,13,12,9,12,21,12,17,6,1,10, + 2,12,46,12,13,18,24,12,32,12,15,12,11,24,36,12, + 76, }; |