diff --git a/Import/GacUICompiler.cpp b/Import/GacUICompiler.cpp index 577e6868..9ba1dbf5 100644 --- a/Import/GacUICompiler.cpp +++ b/Import/GacUICompiler.cpp @@ -9459,24 +9459,24 @@ namespace vl { void GuiInstanceQueryParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 2917; // 26562 bytes before compressing + static const vl::vint dataLength = 2989; // 28122 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 101; + static const vl::vint dataRemain = 173; static const vl::vint dataSolidRows = 11; static const vl::vint dataRows = 12; static const char* compressed[] = { - "\xC2\x67\x00\x00\x5D\x0B\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9", + "\xDA\x6D\x00\x00\xA5\x0B\x00\x00\x0D\x00\x01\x82\x80\x07\x03\x82\x81\x82\x06\x89\x82\x88\x0A\x87\x06\x84\x0C\x0A\x9D\x0A\x86\x1A\x87\x16\x84\x77\x02\x09\xBF\x7B\x8C\x8B\x8E\x84\x00\x1D\x9D\x9F\x81\x9C\x8B\x90\x93\x7F\x1F\x9F\x81\x0A\x8B\x91\x85\x96\x83\x27\xA8\x8A\x91\x96\x94\x91\x9B\x90\x37\xA2\xB3\x87\x99\x9D\x93\x9C\x9B\x3F\xB8\x81\xBA\x9A\x8C\x9F\xA0\x9F\x45\xC0\x89\xA2\xAB\xA4\xA0\x98\xA3\x4D\xC8\x8F\xAA\xA3\xAC\xA5\xAA\xA7\x03\xB4\x87\xBE\x8B\xAA\x99\xA8\xAE\x09\x99\xAE\x9D\xAD\x98\xB3\xAA\xA9\x59\xD0\xA7\xA6\xB9\xB4\xA9\xB6\xAB\x6F\xD8\x82\x9A\xAF\xAE\xAF\xB4\xBB\x71\xE8\x82\x83\x0C\x94\xB2\xBF\xBA\x65\xF8\xB3\xAA\xB3\x84\x01\xBE\xC0\x7F\xF7\x81\xCB\xC9\xC1\xBC\xB7\xC1\x6E\x90\xF0\xB2\xC2\xB9\x81\x03\xC3\x8A\x8D\xD4\xDA\xB1\x84\xB9\xCC\xC4\xA0\x9F\xE2\xCE\xC2\xC5\xCC\xC3\xCD\x8F\xA6\xD1\xCA\xD3\xC9\x82\x02\xCC\xA4\x8C\xE1\xD1\xDA\xCC\xD5\xCA\x90\xA7\xB6\xDC\xD8\xDB\xD4\xDD\xD6\xDF\xB7\x9E\xC3\x88\x86\x87\x94\xDB\xD9\xA8\xA5\xC0\xFB\xD2\xE3\x84\xD9\xE4\xB2\xA3\xD0\xF5\xDB\xE1\xD5\xEA\xE5\xCD\xBA\xD6\xF9", "\xE0\x01\x07\xE6\xED\xD8\xB9\xD7\xF1\xE7\xE2\xE8\xF0\xF2\xD3\xC8\xE7\xF4\xEC\xED\xF6\xF0\xF7\xBD\xDC\xCA\x1F\xE0\x03\x04\xFA\xF8\xBF\xF8\xC1\xE2\xFC\x07\xFB\xF7\xFF\xF1\x40\x89\x7E\x80\xFB\x41\x86\x83\x80\x07\x85\x88\x83\x82\x0A\x8D\x8C\x72\x78\x00\x63\x5A\x7B\x78\xEC\x44\x8F\x81\x82\x17\x8C\x89\x86\x83\xDB\x56\x8D\x84\x86\x1F\x9A\x81\x8B\x6D\x0E\x3E\x70\x89\x78\x27\xA8\x7B\x7B\x84\x0E\x52\x86\x78\x85\x13\xBA\x7B\x87\x8C\x23\xB4\x88\x8A\x88\x37\x9C\x89\x8F\x6E\x10\x26\x88\x8F\x47\x11\x3E\x8A\x8E\x8A\x30\xAF\x82\x8D\x8D\x48\xBB\x89\x90\x91\x47\x8A\x9E\x90\x93\xE2\x52\x04\x7F\x04\x42\xB6\x80\x95\x8A\x15\x98\x91\x8E\x87\xCA\x54\x04\x7D\x05\x55\x8B\x9A\x42\x05\x61\x8F\x99\x97\x8F\x67\x83\x99\x9A\x95\x6B\xA2\x9B\x96\x96\x46\x9C\x97\x94\x9A\x09\x57\x05\x9B\x9C\x6A\xAF\x94\x9D\x9C\x70\xA5\x7E\x9D\x7A\x7C\xBB\x9F\x9F\x8A\x81\xB9\x96\x40\x44\x2E\x83\xA5\x92\xA2\x4D\xB8\x9C\x9B\x84\x19\x34\x7A\x07\x9D\xD4\x5B\x04\xA6\x9E\x86\x8C\xA2\x9C\x75\x1C\x17\xA5\xA3\xA3\x9F\xAE\x91\xAA\x99\x98\xA0\xAA\xA5\x9F\x80\x8A\xA2\x45\xA2", "\x02\x5E\x0E\xA7\xA9\x82\xA9\xA2\x43\x07\xAF\xB2\xA4\xA3\x40\x20\x35\xA7\xAE\xAD\x8B\xBC\xAD\xA1\x9B\xA4\xA3\xAE\xA2\xA8\xB0\x99\xA2\x41\x08\xF4\x62\x0A\xAD\xAF\xBB\x8D\xBC\xB0\x00\x23\x0B\xBF\xAD\xA9\xD6\x64\x04\x7D\x09\xD2\xA2\x74\x44\xAB\xCE\x93\xB2\xB0\xB0\xC3\x81\xB5\xB2\xA9\xBE\x9B\xA4\xB6\xB8\xE5\xA8\xAD\xB6\xB9\x06\x67\x04\x7C\x0A\xD9\xBD\x69\x09\xBC\xB1\xAB\xBA\xBB\xB3\xDC\x6A\x04\x7F\x0A\xF4\x86\xB6\xBD\xBD\xF8\xAC\xB3\xB8\xB1\xBC\xAC\x04\x7D\x0B\xFD\xA4\xBF\xBE\xBF\x01\xF7\xBE\xB7\xC0\xE8\x8E\xBE\x08\x7D\x16\x5C\xBD\xC3\x6F\x30\x09\xC4\xC3\xC2\x0A\xD7\xCC\xC3\xC3\xE9\x80\xC0\xC8\xC7\x1B\xDE\xCD\xC7\xC8\xCF\xB1\x04\x7E\x0C\x1A\xCA\x73\x0D\xCB\xE1\xB1\xC0\xBA\x42\x34\x34\x75\x0E\x42\x62\x5F\xB7\xBA\xCC\x3B\xF3\xCD\xCF\xCF\x2F\xB7\x04\x7C\x0E\x30\xCA\x49\x0D\xD1\x40\xD0\xCC\xCE\x41\x3A\x34\x7B\x0C\xCE\x3E\xFA\xC2\xD6\xD2\x51\xD4\xD9\xD1\xC8\x1F\xE2\x7D\x0C\xD2\x53\xD8\xD7\xCA\xC0\x5E\xE5\xC8\xCB\xD8\xE2\x7E\x0C\xD6\xD5\x5D\xC1\x4F\x0C\x7D\x40\x10\xD7\xD4\xC9\x11\xE6\xC2\xD8\xD8\x70\xCB\xDA\xA2\x10\xF4", - "\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xC2\x3D\xF2\x01\x46\x71\xE1\x4C\x0C\x49\x4F\x69\x5D\x39\xC3\x4E\xF8\x78\xF7\xC0\x09\xFC\xFC\x0A\x44\x74\x6B\xFC\x77\x2D\x48\xFF\x09\x27\x33\xBA\x39\x7B\x7F\x27\x31\x7E\x41\x7E\x79\x38\x00\xA4\x31\x26\xF9\x61\x32\x02\xC3\x3D\x2A\x07\x89\x3A\x80\x09\x8A\x21\x01\xF7\x21\x83\xAE\x13\x87\x20\x15\x9D\x29\x4C\x06\x35\x2F\x98\x35\x7A\x20\x08\x87\x47\x00\x86\x26\x82\xF0\x24\x81\x80\x27\x27\x85\xFB\x5D\x2F\x85\x07\xA7\x27\x80\x1E\x8A\x20\x5F\x75\x2D\x85\xEB\x18\x84", - "\x24\x1F\x81\x22\x0C\xD7\x3D\x83\xBA\x01\x88\x00\x3B\x97\x2D\x0F\xB1\x26\x85\x96\x6B\x83\x20\x4B\x91\x85\x99\x35\x87\x83\x93\x14\x88\x3C\x23\x82\x87\x49\x51\x8C\x89\x90\x17\x8E\x87\x56\x9A\x88\x49\x5F\x8D\x8B\x31\xA2\x8E\x8B\x67\x9D\x20\x19\xE5\x8A\x8D\x34\x9C\x23\x8D\x6C\x9B\x20\x1C\xF1\x83\x8E\x36\xB5\x8D\x8C\x77\x9D\x89\x1E\xCC\x8B\x8F\x2C\xA5\x87\x86\x29\x26\x8A\x42\x7B\x8C\x8A\x3A\xAE\x8B\x23\x43\x89\x84\x8E\x4F\x82\x21\x42\xAD\x8F\x8F\x24\x29\x90\x0D\x87\x9F\x1E\x1C\x82\x91\x21\x84\x94\x91\x1F\xD2\x86\x63\x1F\xA1\x27\x88\x8E\x8F\x8C\x25\x92\x95\x2F\x4D\xA6\x88\x92\x68\x88\x97\x23\xB0\x87\x94\x56\xA9\x96\x95\xAB\x96\x85\x2B\xB2\x9F\x94\x5A\xB1\x95\x8A\x24\x21\x95\x17\xBA\x9C\x89\x24\x81\x90\x3C\x47\x8A\x91\x47\x3C\x91\x26\x62\xA7\x26\x97\xBF\x8C\x93\x0C\xA5\x9A\x93\x66\xAA\x92\x94\xCF\x92\x8E\x33\xB0\x90\x9A\x6A\x92\x99\x9A\xFF\x06\x95\x2D\xB8\x9B\x9A\x2C\xA1\x88\x9B\xDA\x97\x96\x37\xB3\x9C\x9B\x8E\x16\x97\x2E\x47\x9E\x38\x0F\x94\x97\x9C\xD2\x29\x99\x84\xD8\x88\x99\x40\x72\x97\x3B\x23\x87\x88\x82\x65\x4F", - "\x9F\x3A\xF1\x9A\x87\x1C\x89\x27\x9E\xDF\x96\x99\x36\xD3\x96\x97\x6A\x85\xA7\x9A\x02\xA1\x9C\x47\x45\x88\x9C\x85\x2A\x9A\x89\xEC\x9F\x96\x3B\x8E\xA0\x9E\x81\xB4\x9C\x9E\xCA\x80\x00\x40\xA4\x2C\xA1\x89\x89\x27\xA1\xFF\x74\x93\x45\xFE\x96\x21\x8D\xA1\x26\x98\xB9\x82\xA5\x3F\x97\x95\xA5\x8A\x87\xA7\x1F\x23\xAC\xA7\x40\x26\xA2\x9C\x30\xA4\x9B\x9C\xDD\x96\xA5\x4E\xF1\x86\xA1\x72\xBD\xA0\xA7\x35\xBC\xA4\x42\xAF\xAA\xA1\xA1\xBE\xA6\xA8\x40\xBF\xA6\x4E\xC1\xA2\xA9\xA2\x83\xA0\x9C\x04\xA7\xAB\x53\x89\xA1\xAB\xA4\x88\xAB\xA9\x0B\xAC\x7D\x3D\x94\xAB\x9E\x81\xB9\x7B\x88\x19\xA0\xA5\x03\xAA\xA9\x20\x8C\x99\x87\x9F\x5D\x3F\xA8\x49\x83\x22\xAC\xF0\x28\xA1\x24\x31\xAD\xA0\x5A\xCC\x90\xAB\xBA\x94\xAE\xAE\x44\xB5\xA8\x56\xD7\xA2\xA9\xA9\xAF\xA1\x7F\x66\xA0\x88\x57\x90\xA8\x9A\xC0\xAB\xAA\x20\x6D\xB7\x3B\x5B\x9D\x21\xAE\x8F\xAD\xA6\x80\x2B\xB2\xAE\x41\x09\xB5\x98\xB2\x86\x21\xB0\x9F\x8A\x20\x4D\x9C\x2B\xB0\xCE\x96\xB3\x20\x98\xBD\x22\x3D\xAE\xA2\xAB\xC6\x89\x3B\xB4\x74\xB7\xAE\x6A\xF9\xA8\xAE\xA9\x8E\xAF\xB5\x7A\xBD\xAC\x6C\xAD", - "\xB6\xAA\xBF\xAE\xB1\xB6\x42\xBD\xB3\x46\x1B\x8F\xA4\xDE\x92\xAE\xB7\xB5\xA0\xBB\x5E\xFF\x12\xB9\xBE\x85\xBA\xA8\xC7\xBC\xA5\x72\xF1\x8B\xB8\x36\x87\x8A\x82\x0A\x33\x3E\x4C\x82\x22\xBA\xC9\x83\x25\xBA\x8E\xB7\xB9\x57\x5C\x02\xA3\x5F\xAD\x9A\x20\x43\x94\x9F\x17\xC2\xBD\x87\xF0\x83\x92\x83\x0A\x25\xBD\x64\x85\x38\xBC\xF9\x7D\x7D\xBB\x01\x2C\x81\x20\xF2\xBA\xA2\xF8\xB5\xB8\xBE\xA0\x89\xBE\x7E\x9F\xA3\xB0\xB6\xAD\xBC\x85\xFF\xB0\x89\x80\x8D\x91\xBB\xFD\x86\x20\xBB\x04\xC9\x20\x82\xAE\x3A\x20\xFB\x2E\xB9\x21\x0E\xC0\xC0\x84\x86\xCC\xBC\x02\x94\xC2\x20\xE3\xB7\xC1\x40\x19\xCF\xC0\x83\x3D\x3E\xC2\x1D\xC3\x23\x87\x86\x24\xBC\x85\x23\xC3\x20\x25\xC9\x21\x84\x24\xCA\xC2\x00\x2B\xC0\xC5\x2D\xCF\xC6\x40\x29\xC7\xB3\xF3\xA0\xC2\xC2\x35\xD8\x93\x80\x8C\xC5\xAC\x1B\xEC\xC1\xC4\x02\x25\x44\x7C\x8B\xC9\x24\x72\x34\x3F\x23\x32\xC1\x91\x39\x74\x3D\x86\x29\x70\xBE\x1C\xF4\x22\xBA\xCA\x70\xB7\x1C\xFA\x1F\x8B\x62\xF0\xA8\x1C\x7D\x74\x98\x5A\xF8\xA9\x1C\x3E\x43\x9D\x50\x7C\xEA\x14\x3F\xFC\x5E\x48\xBE\xEB\x05\xCF\x98\x76\xBC\x1C\x30", - "\xCA\x26\x52\xF0\xAD\x1F\x96\x8A\x29\x56\xF8\xAE\x1B\xCE\x09\x2A\x58\x7C\xEF\x16\xCA\x85\x33\x58\xBE\xF0\x1D\xCD\x42\x7C\x50\xBF\x78\x34\x3A\x0B\xF6\xA2\xBA\x7D\xFA\x7E\xCD\x09\x5F\x23\x88\x1F\x34\x9E\x30\x9D\x64\x95\xEE\x9F\x89\xB4\x94\xCB\xBD\x32\xA9\x7F\x36\xF1\xB6\xBC\x3B\xF4\xA0\xAE\x78\x5F\x8D\xA2\xC4\x9A\xD3\x76\x30\xD6\x63\x47\x27\xCB\x2E\xD9\x40\x04\xC6\x12\xAC\x7A\x72\x3D\x84\xBE\x22\x6D\x46\x20\xA2\xDD\x34\x7D\xA5\xD1\x21\x20\x7D\xC0\x74\x47\x8A\xD2\x42\x67\xC8\xD7\x35\xE1\x2E\xBE\xF9\x67\x88\xA4\x8F\x2A\xAA\xEE\x1F\xB9\x20\x47\x91\xC2\x44\x93\x5D\x93\xC2\x44\xC9\xB1\x1F\x30\xCD\x8E\x9A\x72\xDA\x81\x2C\xD1\x90\xDC\x2E\x57\xB1\x93\x4D\xDB\x80\x02\xCD\xBB\xB2\xCB\xD6\x42\x67\xD1\xD6\x4E\xF7\x31\xC9\xDD\x36\xBD\x9D\xDB\xD0\x76\x73\xFB\xC1\x25\xD1\x56\x62\xB5\x63\xD5\xD8\x8B\x6C\xD8\xBC\xF6\xBB\x59\x71\x54\x32\xD3\x86\x0A\x26\x4E\xF0\xAE\x5D\xB5\xF7\x57\xD7\x81\x20\x48\xBE\xF0\x4B\xE0\xC0\x0D\xE2\x20\x2A\x70\xBF\xCF\x03\xE0\x76\xAF\x86\x2D\x46\xF8\xBA\x5A\xE2\x0C\x6E\xCA\x41\x1B\xED\xDD\xEF\x5F\x26\xE2", - "\x06\x28\xE1\x77\x84\xDF\xC7\x17\x5C\xC6\x20\x28\xEE\xE2\x7D\x99\x67\xC6\x45\x49\xB2\xB8\x31\xF5\xE2\x7D\xB7\x65\xE6\x5E\x7F\xDE\x32\xC3\xCA\x21\xC7\xDD\xBD\x69\x5F\xDA\x77\xE1\x2D\xF2\xA3\xD6\x7C\xD3\x21\xB5\x4C\xEA\xE7\x4F\xE1\x20\xD2\x83\x2B\xD9\x84\x01\x0D\xD9\xE2\x33\xE8\xC0\x89\x2A\xEB\x80\x25\xD9\x25\x7A\x60\xE7\x6E\x2A\xE6\x7E\x63\xDC\xE6\xBE\x7D\x66\xE9\xBD\x80\x04\xED\x19\xF6\xB9\x72\x51\xE0\x00\xE6\x71\xE8\x51\x7E\xE9\xE2\xAB\x1F\x22\x75\xDC\xDC\x34\xDA\xBB\xC3\x25\xED\x5E\xF6\xBE\xE9\x62\xE6\x3A\x31\xD9\xE7\x50\x07\xF6\xBF\xEA\x7B\xE2\x3D\x55\x47\xF3\x20\x75\xF2\xE4\x7C\xD0\x08\xEB\xDE\x22\xDF\xF1\x02\x31\xF0\xD4\xDD\xB3\x78\xC6\xFD\x34\x56\x16\x7D\xEF\xDF\xF6\xB8\x78\xC2\xCA\x3B\xDE\x65\xE9\x22\xE8\x82\x2D\xEB\x94\x15\x0B\x59\xC8\x41\xF6\x42\x39\xE1\x90\xE9\x66\xF7\x23\x7A\xD8\xF1\x40\x5A\xD3\x21\x48\x70\xBC\x7A\xB7\xF5\x52\x42\x2B\xF1\x90\xEB\x71\xE8\xD1\xC1\xE9\x22\xE1\xBD\xF6\xBF\x2D\x0F\x73\xF9\x02\x24\xF9\x4A\x5C\xB1\xEE\x2F\x0B\x5E\xF1\xA3\xF0\xBF\x17\x27\xDF\x59\x7C\xFE\xEA\x20\xD8\xEC\xF6", - "\x7D\xE2\x0C\xFA\xEE\x1D\xCF\xFB\x01\x21\xFD\x40\x34\xF9\x25\x32\x25\xFA\x3C\x0A\xE8\xFC\x00\x20\xF7\xEE\xF8\xA8\x0D\xF2\xBF\x38\xE0\xD5\x8A\x24\xFE\xC9\xDD\xBA\x0D\xF8\x77\x1B\x2C\x7B\x7F\x09\x1D\x7F\x9B\x72\x51\x6C\x01\x80\xBB\x18\x30\x71\x78\x7A\xAD\x26\x5F\x6E\x0F\x7E\xF7\x2E\x80\x01\x1E\x7D\x12\x51\x07\x3E\x63\x10\x75\x0B\x2C\x14\x80\x00\xFB\x6D\x5D\x76\x09\x81\x02\x1A\x07\xB0\x79\x78\xF0\x5B\x07\x0A\x86\x1D\x15\x32\x7F\xB1\x76\x10\xAD\x7F\x11\x7D\x09\x82\xCA\x13\x65\x2C\x83\x7B\xF6\x5F\x07\x32\x8F\x11\x2F\x31\x77\xB9\x73\x10\x97\x72\x51\x81\x02\x81\x00\x3D\x83\x02\x16\x81\xBF\x44\x08\x22\x81\x10\x88\x0B\x2C\x44\x81\x10\x1F\x82\x51\x89\x09\x84\x00\x0D\x08\xCB\x26\x84\x01\x16\x80\xE0\x6E\x6E\xBB\x1F\x84\xC7\x2F\x69\x5A\x86\x1D\xE7\x7E\x83\xF6\x5E\x08\x8F\x31\x86\x45\x86\x5F\x8F\x0A\x55\x91\x0B\x2C\x66\x8E\x84\xF6\x52\x09\x5A\x54\x09\xCB\x22\x70\xD9\x7D\x5D\x95\x02\x85\xDC\x1C\x73\xF4\x62\x10\x74\x82\x7E\xF0\x59\x09\x78\x82\x1E\x44\x3A\x76\x7C\x86\x83\xF0\x5D\x09\x81\x8D\x1B\x4F\x34\x88\x01\x11\x71\xF5\x7D", - "\x5D\xA1\x02\x84\xB7\x16\x36\x8C\x80\x00\x8E\x8E\x7F\x12\x54\x0A\x92\x8B\x1B\x57\x75\x89\x97\x87\x80\xBF\x47\x0A\x9B\x86\x1D\x69\x7B\x87\x01\x1A\x7F\x02\x11\x7F\x12\x5A\x0A\xA3\x81\x37\xA8\x81\x10\x06\x30\x5F\xAD\x02\x85\xB1\x0B\x2C\xAF\x80\x00\x0C\x8D\x5D\xB2\x02\x85\xB6\x0B\x2C\x1F\x7F\x88\x12\x57\x0B\xAD\x8F\x11\x70\x76\x8A\x00\x0F\x8B\x98\x8F\x4B\xBA\x03\x8C\x0A\x1A\x04\xDC\x78\x8C\xA0\x81\x48\xBD\x0C\x8C\x09\x13\x78\xC6\x83\x80\xA9\x86\x5F\xC0\x04\x8D\x2F\x28\x8D\xB0\x86\x5F\xC3\x02\x85\xC7\x0B\x2C\xDE\x88\x8B\xF6\x58\x0C\x52\x8C\x0C\xCB\x21\x8B\x06\x1F\x89\x59\x86\x72\x0A\x19\x8B\x03\x10\x8D\xEF\x81\x3E\xD6\x18\x65\xED\x26\x5F\xCD\x0F\x38\xF8\x83\x10\xEC\x82\x51\xCE\x0A\x55\xD0\x0B\x2C\xFD\x82\x10\xF2\x8F\x4B\xD1\x0A\x55\xD3\x0B\x2C\x2B\x85\x87\x12\x54\x0D\xF7\x6C\x1D\x94\x7A\x63\x09\x1D\x90\x7E\x8D\x5D\xD9\x01\x91\xE2\x15\x7A\x06\x1F\x45\x16\x9B\x7E\xF6\x5E\x0D\x1A\x9D\x1B\xC6\x7D\x91\x0A\x14\x83\x03\x14\x73\xDD\x53\x0E\x8F\x3C\x32\xF0\x5C\x1D\x3E\x4B\x68\x32\x93\x93\x2A\x1B\x68\xBC\x6B\x4C\xB7\x73\x69", - "\x59\x58\x6C\x47\x6F\x6C\x38\x99\x7A\x16\x31\x41\xB9\x68\x13\x43\x91\x12\x43\x40\x69\x47\x9F\x68\x78\x75\x75\x71\x79\x12\x95\x62\x7F\x11\x48\x69\x1E\x12\x95\x1B\x15\x70\xDC\x71\x95\x8B\x6B\x47\x00\x0D\x47\x5F\x40\x69\x5D\x9F\x11\xA4\x60\x96\x47\x6F\x95\x52\x81\x41\x5F\x49\x12\xCD\x55\x12\x69\x9C\x11\xC2\x51\x41\x6D\x9F\x11\xC2\x50\x69\x71\x90\x97\x47\x63\x97\xF7\x69\x12\xBC\x40\x00\xC4\x4D\x43\x29\x10", + "\x43\x17\xDA\x40\x44\x3B\xD5\xDD\xD5\x61\xF1\xD4\xDA\xC3\x74\xF2\xD2\xE1\xE1\x83\xE2\xC2\x79\x11\xF4\x46\x1E\xDC\x00\x47\x0F\xE9\xE1\xD6\xF7\x88\x14\x7D\x12\x6E\xE9\xD6\xE2\xDD\x81\xDC\xEF\xDF\xDB\xCF\x8B\x14\x7C\x13\x8F\xCD\x12\xE4\xE2\xA8\xF7\xBE\x10\x7D\x4F\x19\xE8\xDB\xEB\x9D\xC0\xEF\xE6\xE6\x93\xDF\xD4\xE3\xED\x00\xD1\x17\xE8\xEE\x94\xCA\xEC\xEE\xED\xBE\xFF\x62\x17\xEE\x00\xD3\x14\x7C\x15\xAE\xF1\xE0\xE9\xED\x73\xFF\xED\xF1\xF0\xB7\x56\x14\x7F\x15\x8F\xD8\x14\xF1\xEF\xD8\xC0\xF9\xF7\xF3\xDB\xC7\xEE\xF2\xF7\xD0\xFB\x69\x17\xF5\xDA\xE5\xFC\xF6\xF9\xE0\xCC\xC2\x3D\xF2\x01\x46\x71\xE1\x4C\xF3\x49\x4F\x69\x5D\x39\xC3\x4E\xF8\x78\xF7\xC0\x09\xFC\xFC\x0A\x44\x74\x6B\xFC\x77\x2D\x48\xFF\x09\x27\x33\xBA\x39\x7B\x7F\x27\x31\x7E\x41\x7E\x79\x38\x00\xA4\x31\x26\xF9\x61\x32\x02\xC3\x3D\x2A\x07\x89\x3A\x80\x09\x8A\x21\x01\xF7\x21\x83\xAE\x13\x87\x20\x15\x9D\x29\x4C\x06\x35\x2F\x98\x35\x7A\x20\x08\x87\x47\x00\x86\x26\x82\xF0\x24\x81\x80\x27\x27\x85\xFB\x5D\x2F\x85\x07\xA7\x23\x83\x36\x84\x27\x01\x9E\x8A\x20\xBE\x35\x2D", + "\x85\xD7\x38\x80\x49\x1F\x81\x20\x19\x97\x3D\x83\x75\x24\x88\x00\x3E\x87\x2E\x20\xB1\x26\x84\x2D\x6B\x87\x40\x4E\x81\x87\x32\x75\x87\x82\x27\x37\x88\x78\x23\x82\x85\x93\x14\x8F\x89\x21\x3A\x89\x10\xD9\x8D\x8A\x92\x22\x88\x8C\x66\x85\x8D\x18\xEA\x8D\x23\x33\xA8\x8D\x8D\x6C\x9C\x22\x1B\xEF\x8B\x23\x39\xB4\x8E\x8E\x6F\x98\x8C\x1A\xFA\x80\x8C\x3E\x8F\x8E\x8F\x5C\x85\x87\x49\x48\x87\x2E\x25\xBE\x8F\x8B\x77\x91\x8F\x46\x46\x89\x84\x1C\x52\x8A\x20\x88\x90\x8E\x20\xA4\x2C\x90\x1A\x8A\x97\x1F\x3B\x89\x8A\x42\x07\x97\x92\x40\x95\x8E\x62\x42\x81\x26\x12\x91\x92\x8F\x4B\x95\x95\x2E\x9E\x89\x8F\x24\xEB\x8B\x94\x49\xB0\x82\x95\xAF\x8C\x95\x2C\xAE\x99\x86\x59\xB5\x94\x96\x58\x90\x97\x2D\x9C\x24\x94\x30\xBD\x97\x89\x4C\x89\x25\x72\x4A\x8D\x91\x8E\x3F\x91\x26\xC7\x87\x25\x30\xC2\x97\x3A\x62\x96\x95\x95\xA5\x90\x99\x1D\x9D\x94\x9A\x69\xBF\x19\x95\xB6\x99\x95\x36\xDB\x84\x8C\x6B\x98\x98\x97\xDC\x9A\x96\x36\xE0\x93\x8C\x71\xA1\x9B\x9B\xE5\x81\x25\x26\x85\x9A\x20\xEF\x3F\x87\x92\xEB\x84\x36\x12\xEE\x9D\x89\x4B\x8B\x99\x20\xF7\x8D", + "\x9A\x42\x0C\x26\x81\x32\x73\x99\x84\xD6\x99\x9D\x3E\x8F\x91\x20\x7E\xB7\x2F\x9B\xD1\x93\x95\x42\xBB\x93\x9A\x6F\x95\x9A\xA1\x1B\x24\x92\x3C\xED\x90\xA0\x88\x98\x94\x99\x13\xA9\x20\x3D\xFF\x76\x9F\x1E\xBC\x81\x21\x06\xA4\x36\x44\xC3\x94\xA3\x77\x81\xA6\xA3\x9A\x80\xA5\x45\x8C\xAF\x1F\x64\xA4\x22\xA0\x1F\xA6\x21\x48\x8D\x8D\xA3\x84\x03\xA1\x83\x2A\xA8\x97\x43\xAC\xA8\xA1\x86\x96\xA5\xA7\xD7\x9B\xA7\x38\x8B\xA3\xA8\x9F\xBC\xA2\xA8\xE7\x84\x9C\x1D\xC4\xA9\xA8\xA6\xA9\x9A\xA9\x4B\xA1\xAA\x43\xD3\xAF\xA6\xA4\x8F\xAE\xA9\x51\xB7\xA1\x58\x31\xA3\x21\x8D\xB4\xA6\x9A\xF9\x66\x88\x41\xDD\x3B\xA5\xA2\xBF\x18\xA6\x29\xB2\xA5\x57\x61\xAC\xAA\x81\x1E\xA8\x3C\x2E\xA1\x24\x5A\xEC\x99\xA7\x83\x96\xA9\xAB\x40\xB9\xAF\x5D\xD1\xAA\xAE\xAA\xAC\xA1\x7F\x37\xA3\x89\x49\xF5\x90\xAC\x94\xB4\xAE\x20\x6F\xB7\x39\x5C\x9D\x23\xAF\x8C\xAA\xAD\x9F\x36\xAD\xAD\x40\x09\xB8\x99\x9A\x86\x21\xB0\xA2\x9B\x9D\x59\xCD\xAB\x23\xC5\x9C\x25\xB1\x24\xB5\xAC\x47\xA7\xA1\xB3\xB4\x83\x23\xA6\x2E\x9B\xAF\x52\xFD\xA5\xAA\xBF\xA6\xAC\xB5\x47\xAE\xB4\x67\xD2", + "\xAD\xB5\xDA\xB1\xB6\xB6\x66\xB8\x86\x59\x9E\xBB\x22\xDD\xB3\xB6\xB7\x57\xBD\xB7\x25\xC0\xB9\xAA\xE2\x91\xAE\xB8\x4B\xA8\xB8\x1D\xCA\x82\x82\x85\x0A\x8B\xAC\xCF\xB8\xA6\x41\x51\xB2\xB1\x84\x14\xB9\x24\x5C\x18\xA0\x33\xF1\x92\x20\x23\xB9\x9A\x8C\xC0\xA0\x8A\x77\x9B\x9A\x82\x85\x22\xBE\xB0\x85\x25\xBE\xFC\x7D\x7A\xBB\x80\x0C\x82\x98\xEF\xA0\x00\x6A\xA9\x23\xBF\x8F\x33\xB8\x88\xF8\xA3\xB1\x57\xFA\xB2\x21\xF0\xAA\xBC\x85\xFF\xB3\x8A\x73\xE6\xB3\xC1\xF5\x96\xBC\xC0\x09\x36\x3E\x81\x86\x2A\xC0\x00\xC9\xC0\xC1\x06\x20\xBC\x84\xE9\xB4\x81\x09\xC2\x22\xC2\x0B\xC3\x21\x7F\x15\xC9\xC2\x81\x1B\xC6\x20\xFE\xA9\x23\x87\x83\x21\xC4\x83\x11\x40\xC4\x16\xC1\x23\x89\xA4\xC9\xC4\x00\x2B\xC5\xBF\x2D\xDF\xB9\x80\x90\x98\xBD\x0B\xF3\xC6\x35\x35\xC1\x20\x86\x8E\xC6\x21\x12\x6D\xBC\xB9\x39\xCF\x5B\x47\x2F\xC2\x99\x7C\xA6\x1C\x3E\x40\x92\x49\x7B\xF9\x97\x1C\xFA\x00\xBA\x65\x4B\xD4\x3A\x18\x93\x61\xCB\x84\x28\x1C\x3E\xF9\x98\x59\x95\x86\x29\x1C\xFA\x06\x8D\x53\x5B\xC3\x22\x3A\x74\x39\x7E\x2F\x61\xCA\x20\xEB\x04\xCF\x98\x6D\xBB\x88\x85", + "\x2C\x1E\xCB\x0A\x36\x50\x9B\x8A\x2D\x1C\x2C\xCA\x21\x57\x73\xC9\x22\x3B\x76\xC9\x20\x65\x79\xCE\x20\xEF\x14\x3E\x18\xF3\x5F\xCF\x81\x30\x1A\xD0\x0A\x3C\x5D\xA1\x82\x21\x1E\xFA\x1A\x0C\xCD\xCA\xB7\x37\x9C\xDC\xB5\x88\xEA\x1F\x22\xAC\xE2\x3F\x21\x3E\xC5\x9D\x63\x53\xAF\x47\x23\x62\x98\xB0\xC3\x63\xB3\x42\xCF\x4F\x5A\xC6\xA5\xD4\x39\x7C\x98\xDD\x36\x31\x9C\xD6\x3A\x1F\x29\xB2\xA8\x9D\x60\xB9\x57\xCA\x3F\x23\x23\xDB\x2E\xEC\x00\x05\xC4\x45\x66\xD4\x3B\x40\x91\xBC\x77\x44\x4D\x44\x83\x2C\xD7\x37\xF1\xB6\xD7\x9C\xC1\x45\xB4\xCD\x73\xB9\xD2\xBB\x3F\x22\x99\xC6\xDB\xCD\xAD\xAD\xB9\x7F\xF3\xA7\xDA\xA4\x8F\x2C\x7D\x67\x54\xD2\xBE\x0A\x2D\xC2\xAF\x8A\x23\x52\x50\x85\x77\x9F\xA9\xC9\x22\x9C\x91\xCB\xD6\x71\xDE\xC6\xD2\xD4\x34\x56\xB5\xAF\x4E\xDD\x80\x3E\xC7\xD3\xBB\xDC\x39\xAE\xF6\xD0\xDF\xE5\x50\x44\xBF\xCE\x5F\x20\xB2\x4D\xD0\x76\x7E\xDC\xC0\xDF\x09\x36\x5A\xC5\x5A\xC4\xDB\x79\xF6\x7A\x21\xF7\xC3\x22\xB6\xD1\xDA\x20\x77\x66\xDD\x37\x9B\xCD\x22\x42\x76\x49\xDC\x83\x30\x5F\xE2\x00\x65\xDB\x40\x60\x4D\xE3\x81\x04\xD5\x38", + "\xBB\xC2\xE6\x40\x54\x45\xE4\x81\x3A\x58\xE4\x0C\x6C\xDA\x41\x3D\x4D\xE5\x80\x0A\xD0\xE5\xA0\x6A\xCA\x41\x32\xE3\xDC\x7F\xFD\x34\xE5\x06\x3C\xE0\xC2\x86\x26\x61\x83\xCA\x53\xC7\x03\x20\xEB\xC8\xFD\xD6\x20\x28\xE8\xC3\x42\x89\xA0\xBA\xD2\xAB\xEC\xE9\x81\x36\x07\xC6\xCF\x51\xE0\x8C\x89\x23\xDB\x81\x34\xE3\xE8\x03\x2F\x68\xC1\xCA\x76\x20\x92\xCF\xE8\xEC\x02\x26\x6E\xC3\x82\x2D\x6D\xB5\xC1\x23\xEA\x95\xC9\x22\xD9\x92\xE5\xEA\x81\x38\x6E\xED\xCF\x53\xED\x77\x8A\x2A\xEF\x80\x35\xDA\xC8\x0A\x3D\x6C\xCC\xBB\x32\xE9\x87\xC9\x24\x4C\x09\x3F\xE9\xCF\x86\x2C\x71\xB1\xF3\x73\x20\x85\xFB\xE8\xDA\x81\x26\x72\xBC\xCA\x0D\xDB\x88\x4D\xE1\xD0\xDD\xD3\xD8\x85\x24\x70\xEF\xDC\x25\xDE\xE6\x90\xF1\xDD\xBA\xC1\x23\x75\x83\xF6\x38\x98\xB8\xE7\x51\x8D\xE6\xF0\x00\xAD\x60\xF6\x78\x2B\x5C\xF5\x81\x19\xF3\xE9\x35\xE0\x02\xEE\x32\xFD\x36\x57\x56\x67\xF6\x54\xF9\xF6\xF1\x3C\xFF\x36\x79\xF5\xF2\x20\xA2\xE4\xF5\xEE\xD5\x0B\x58\x3C\xC7\xF9\x20\xC9\xE2\x21\xDF\x80\xF9\x20\xE9\x69\xF2\x39\x03\xEF\xF8\x00\x51\xFF\xED\xD7\xD4\x7F\xFA\x1F\x3E\xCE", + "\xF6\xEB\xD3\x21\x48\x79\xF6\x7A\xE0\xF5\x50\xB9\xAF\xF3\x7C\xBC\xDB\x0B\x59\xAB\xE5\xFF\xEB\xD9\xB9\xFD\x09\x71\xF8\xF9\xAF\xFD\x09\xB7\xDF\x0B\x58\xDA\xCA\xFB\xF2\x00\x00\x06\x41\x6C\x1D\xD1\x28\x77\xFE\x72\x7D\xAF\x73\x06\x03\x82\x1E\x0C\x74\x77\x09\x17\x80\xDD\x79\x7B\x66\x0B\x80\xBD\x16\x71\xA3\x73\x2B\xAE\x79\x7B\x69\x0C\x79\xE2\x17\x72\x0E\x86\x10\xC6\x78\x7B\x00\x8B\x06\x1C\x8D\x1B\x37\x7F\x81\x03\x11\x82\xC1\x70\x80\x6D\x05\x82\xBF\x18\x30\x78\x7E\x7C\x03\x1E\x7B\x00\x8F\x06\x14\x80\x30\x32\x82\x10\x05\x80\x80\x72\x04\x5E\x09\x16\x07\xCD\x7A\x10\x0A\x70\x80\x77\x0E\x83\x06\x1B\x07\xCB\x29\x7D\xFF\x7B\x78\x03\x1C\x07\x2E\x87\x1B\x15\x37\x81\x01\x1A\x84\x08\x89\x7B\x7E\x0F\x84\xBB\x1E\x74\x28\x87\x2C\x0A\x10\x77\xD4\x76\x10\x80\x08\x85\xD6\x1F\x32\x78\x72\x7E\x33\x8F\x7A\x82\x07\x83\x0C\x36\x86\x3A\x8F\x7A\x85\x06\x84\x03\x19\x08\xCB\x2C\x86\x01\x13\x84\x4C\x82\x10\x8A\x00\x87\x02\x1E\x08\xCB\x2B\x83\x29\x8F\x7A\xCC\x3A\x1C\x76\x8C\x85\xB9\x71\x88\x1F\x1D\x80\xAD\x2F\x7A\x8F\x0F\x38\x88\x81\x10\x7E\x8C", + "\x2B\x1F\x10\x09\xDD\x62\x09\xCB\x2D\x88\x00\x03\x88\x01\x7A\x10\x93\x0D\x6D\x95\x0B\x2C\xDB\x2B\x79\xB9\x76\x09\x7A\x8E\x2C\x37\x3E\x78\x00\x0F\x89\x22\x87\x87\x01\x1A\x09\xA3\x8F\x2C\x44\x36\x8A\xA8\x8B\x82\xAA\x80\x00\x9E\x0D\x8A\xDC\x12\x76\x97\x5A\x10\x1F\x70\x8A\x00\x82\x0A\x6A\x8B\x1B\x6A\x79\x8B\x09\x1B\x8B\xA9\x80\x89\x0A\x15\x0A\xBF\x86\x1D\x41\x01\x64\xC4\x82\x8B\xC6\x89\x10\xA8\x09\x8C\xCA\x12\x78\xC2\x86\x10\x1E\x82\x10\x16\x83\x8B\xAB\x02\x8D\x44\x27\x8D\x01\x15\x74\x00\x8E\x0A\xAD\x82\x0B\xCB\x2E\x8D\x00\x00\x83\x00\x83\x0B\xAD\x87\x0B\xCB\x2F\x72\xBC\x83\x8B\xB8\x0C\x8D\x0A\x11\x39\xA6\x8E\x8E\xC5\x89\x89\x09\x1B\x0B\xF2\x89\x10\x97\x75\x8F\x5D\x8F\x7A\xBE\x0B\x8F\x06\x16\x3A\xA6\x87\x82\xD8\x8F\x7A\xC1\x02\x90\x8A\x26\x90\xDF\x8F\x7A\xC4\x0D\x8A\xC8\x0B\x2C\x0C\x97\x8E\xAF\x79\x0C\xAD\x8D\x0C\xCB\x20\x8E\x03\x1D\x8C\xF8\x84\x3B\xE2\x18\x8E\x03\x16\x8F\xCF\x8E\x91\xBD\x14\x65\xED\x2F\x7A\xCE\x0F\x38\x26\x93\x10\x1A\x93\x92\x03\x1F\x0C\xDD\x61\x0D\xCB\x2B\x92\x02\x10\x92\x2E\x92\x10\xD2\x0D\x6D", + "\xD4\x0B\x2C\x51\x8B\x84\x37\x91\x10\xD5\x08\x75\xDC\x10\x05\xAD\x8D\x93\x55\x80\x80\xDA\x02\x94\xE2\x18\x3C\x09\x12\x46\x46\x91\x81\x00\x8F\x0D\x4A\x9D\x1B\xE8\x7C\x6E\x09\x1A\x85\x02\x19\x31\xB9\x74\x0E\x62\x81\x37\x2C\x3D\x5E\xC3\x6F\x44\x8B\x63\x96\x7F\x63\x52\x28\x43\x69\x2A\x14\x16\xB6\x6A\x55\xD7\x64\x1F\xFA\x3E\x96\xDF\x6F\x96\x16\x30\x00\x13\x7E\x11\x75\x9B\x48\xDD\x64\x97\x79\x96\x44\x46\x4A\x97\x6C\x6D\x97\x97\x6E\x96\x9E\x65\x8D\xB1\x13\x6B\x9F\x5E\x96\x19\x71\x64\x29\x1E\x47\x00\x00\x48\x62\x4D\x97\x8F\x90\x6A\x6E\x9E\x6A\x92\x98\x77\x8D\x93\x99\x73\x60\x6D\x1E\x1A\x99\xC2\x53\x97\xB5\x6F\x11\xC0\x5D\x97\xA1\x90\x9A\x6E\x93\x9A\x58\x79\x12\xBF\x40\x00\xC7\x40\x44\x79\x60", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -9647,19 +9647,19 @@ GuiInstanceQueryAstInsReceiver : public vl::glr::AstInsReceiverBase } } - void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) + void GuiInstanceQueryAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) { auto cppFieldName = GuiInstanceQueryCppFieldName((GuiInstanceQueryFields)field); switch((GuiInstanceQueryFields)field) { case GuiInstanceQueryFields::PrimaryQuery_attributeNameOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::attributeNameOption, object, field, enumItem, weakAssignment, cppFieldName); case GuiInstanceQueryFields::PrimaryQuery_childOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::childOption, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::childOption, object, field, enumItem, weakAssignment, cppFieldName); case GuiInstanceQueryFields::PrimaryQuery_typeNameOption: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqPrimaryQuery::typeNameOption, object, field, enumItem, weakAssignment, cppFieldName); case GuiInstanceQueryFields::SetQuery_op: - return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqSetQuery::op, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::presentation::instancequery::GuiIqSetQuery::op, object, field, enumItem, weakAssignment, cppFieldName); default: return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); } diff --git a/Import/GacUICompiler.h b/Import/GacUICompiler.h index 3acef37b..f830059e 100644 --- a/Import/GacUICompiler.h +++ b/Import/GacUICompiler.h @@ -913,7 +913,7 @@ namespace vl vl::Ptr CreateAstNode(vl::vint32_t type) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; }; } @@ -1003,7 +1003,8 @@ namespace vl extern void GuiInstanceQueryParserData(vl::stream::IStream& outputStream); class Parser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; diff --git a/Import/VlppGlrParser.cpp b/Import/VlppGlrParser.cpp index 4f8fcbc9..82350425 100644 --- a/Import/VlppGlrParser.cpp +++ b/Import/VlppGlrParser.cpp @@ -275,18 +275,34 @@ AstInsReceiverBase } } - void AstInsReceiverBase::SetField(ParsingAstBase* object, vint32_t field, const ObjectOrToken& value) + void AstInsReceiverBase::SetField(ParsingAstBase* object, vint32_t field, const ObjectOrToken& value, bool weakAssignment) { if (value.object) { + if (weakAssignment) + { + throw AstInsException( + L"Weak assignment only available for field of enum type", + AstInsErrorType::FieldWeakAssignmentOnNonEnum, + field + ); + } SetField(object, field, value.object); } else if (value.enumItem != -1) { - SetField(object, field, value.enumItem); + SetField(object, field, value.enumItem, weakAssignment); } else { + if (weakAssignment) + { + throw AstInsException( + L"Weak assignment only available for field of enum type", + AstInsErrorType::FieldWeakAssignmentOnNonEnum, + field + ); + } SetField(object, field, value.token, value.tokenIndex); } } @@ -357,10 +373,12 @@ AstInsReceiverBase case AstInsType::DelayFieldAssignment: case AstInsType::ResolveAmbiguity: case AstInsType::AccumulatedDfa: + case AstInsType::LriStore: + case AstInsType::LriFetch: break; default: throw AstInsException( - L"There is no created objects.", + L"There is no created object.", AstInsErrorType::NoRootObject ); } @@ -456,7 +474,7 @@ AstInsReceiverBase for (auto&& dfa : createdObject.delayedFieldAssignments) { - SetField(createdObject.object.Obj(), dfa.field, dfa.value); + SetField(createdObject.object.Obj(), dfa.field, dfa.value, dfa.weakAssignment); } createdObject.delayedFieldAssignments.Clear(); } @@ -510,7 +528,68 @@ AstInsReceiverBase pushed.RemoveAt(pushed.Count() - 1); } break; + case AstInsType::LriStore: + { + { + vint pushedCount = 0; + if (created.Count() > 0) + { + auto& createdObject = TopCreated(); + pushedCount = createdObject.pushedCount; + } + + if (pushed.Count() <= pushedCount) + { + throw AstInsException( + L"There is no pushed value to run LriStore.", + AstInsErrorType::MissingValueToLriStore + ); + } + } + + auto value = pushed[pushed.Count() - 1]; + if (value.object) + { + if (lriStoredObject) + { + throw AstInsException( + L"LriFetch is not executed before the next LriStore.", + AstInsErrorType::LriStoredValueNotCleared + ); + } + else + { + lriStoredObject = value.object; + pushed.RemoveAt(pushed.Count() - 1); + } + } + else + { + throw AstInsException( + L"The value to run LriStore is not an object.", + AstInsErrorType::LriStoredValueIsNotObject + ); + } + } + break; + case AstInsType::LriFetch: + { + if (lriStoredObject) + { + pushed.Add(ObjectOrToken{ lriStoredObject }); + lriStoredObject = nullptr; + } + else + { + throw AstInsException( + L"LriStore is not executed before the next LriFetch.", + AstInsErrorType::LriStoredValueNotExists + ); + } + } + break; case AstInsType::Field: + case AstInsType::FieldIfUnassigned: { auto& createdObject = TopCreated(); if (pushed.Count() <= createdObject.pushedCount) @@ -524,13 +603,14 @@ AstInsReceiverBase auto value = pushed[pushed.Count() - 1]; pushed.RemoveAt(pushed.Count() - 1); + bool weakAssignment = instruction.type == AstInsType::FieldIfUnassigned; if (createdObject.object) { - SetField(createdObject.object.Obj(), instruction.param, value); + SetField(createdObject.object.Obj(), instruction.param, value, weakAssignment); } else { - DelayAssign({ value,instruction.param }); + DelayAssign({ value,instruction.param,weakAssignment }); } } break; @@ -679,7 +759,7 @@ IAstInsReceiver (Code Generation Error Templates) throw AstInsException( WString::Unmanaged(L"Field \"") + WString::Unmanaged(cppFieldName) + - WString::Unmanaged(L"\" is not an object."), + WString::Unmanaged(L"\" cannot be assigned with an object."), AstInsErrorType::ObjectTypeMismatchedToField, field); } else @@ -695,7 +775,7 @@ IAstInsReceiver (Code Generation Error Templates) throw AstInsException( WString::Unmanaged(L"Field \"") + WString::Unmanaged(cppFieldName) + - WString::Unmanaged(L"\" is not a token."), + WString::Unmanaged(L"\" cannot be assigned with a token."), AstInsErrorType::ObjectTypeMismatchedToField, field); } else @@ -711,7 +791,7 @@ IAstInsReceiver (Code Generation Error Templates) throw AstInsException( WString::Unmanaged(L"Field \"") + WString::Unmanaged(cppFieldName) + - WString::Unmanaged(L"\" is not an enum item."), + WString::Unmanaged(L"\" cannot be assigned with an enum item."), AstInsErrorType::ObjectTypeMismatchedToField, field); } else @@ -1021,6 +1101,7 @@ namespace vl SERIALIZE_ENUM(AstInsType) SERIALIZE_ENUM(EdgePriority) + SERIALIZE_ENUM(ReturnRuleType) BEGIN_SERIALIZATION(AstIns) SERIALIZE(type) @@ -1033,6 +1114,11 @@ namespace vl SERIALIZE(count) END_SERIALIZATION + BEGIN_SERIALIZATION(StringLiteral) + SERIALIZE(start) + SERIALIZE(count) + END_SERIALIZATION + BEGIN_SERIALIZATION(ReturnIndexArray) SERIALIZE(start) SERIALIZE(count) @@ -1047,12 +1133,14 @@ namespace vl SERIALIZE(consumedRule) SERIALIZE(returnState) SERIALIZE(priority) + SERIALIZE(ruleType) SERIALIZE(insAfterInput) END_SERIALIZATION BEGIN_SERIALIZATION(EdgeDesc) SERIALIZE(fromState) SERIALIZE(toState) + SERIALIZE(condition) SERIALIZE(priority) SERIALIZE(insBeforeInput) SERIALIZE(insAfterInput) @@ -1070,11 +1158,12 @@ namespace vl SERIALIZE(ruleCount) SERIALIZE(ruleStartStates) SERIALIZE(transitions) - SERIALIZE(instructions) + SERIALIZE(astInstructions) SERIALIZE(returnIndices) SERIALIZE(returns) SERIALIZE(edges) SERIALIZE(states) + SERIALIZE(stringLiteralBuffer) END_SERIALIZATION } } @@ -1125,12 +1214,12 @@ ErrorArgs const_cast(token), *static_cast*>(nullptr), *static_cast(nullptr), - *static_cast(nullptr), + nullptr, nullptr }; } - ErrorArgs ErrorArgs::InvalidToken(regex::RegexToken& token, collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager) + ErrorArgs ErrorArgs::InvalidToken(regex::RegexToken& token, collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor) { return { true, @@ -1139,12 +1228,12 @@ ErrorArgs token, tokens, executable, - traceManager, + executor, nullptr }; } - ErrorArgs ErrorArgs::InputIncomplete(vint codeIndex, collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager) + ErrorArgs ErrorArgs::InputIncomplete(vint codeIndex, collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor) { return { true, @@ -1153,12 +1242,12 @@ ErrorArgs *static_cast(nullptr), tokens, executable, - traceManager, + executor, nullptr }; } - ErrorArgs ErrorArgs::UnexpectedAstType(collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager, Ptr ast) + ErrorArgs ErrorArgs::UnexpectedAstType(collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor, Ptr ast) { return { true, @@ -1167,7 +1256,7 @@ ErrorArgs *static_cast(nullptr), tokens, executable, - traceManager, + executor, ast }; } @@ -2164,20 +2253,20 @@ namespace vl { void JsonParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 1866; // 16217 bytes before compressing + static const vl::vint dataLength = 1919; // 17265 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 74; + static const vl::vint dataRemain = 127; static const vl::vint dataSolidRows = 7; static const vl::vint dataRows = 8; static const char* compressed[] = { - "\x59\x3F\x00\x00\x42\x07\x00\x00\x0C\x00\x01\x82\x80\x06\x03\x82\x81\x82\x06\x89\x82\x87\x0A\x80\x81\x84\x09\x0A\x98\x0A\x9D\x0A\x86\x65\x01\x84\xFF\x19\x9A\x99\x8A\x80\x03\x8D\x8D\x1D\x9D\x97\x89\x83\x96\x81\x93\x81\x02\x0A\xA7\x82\x8F\x8A\x8D\x8F\x96\x1C\x8A\xB0\x9F\x7F\x90\x99\x9B\x96\x37\x9F\x9D\x83\x0A\x92\x84\x03\x9E\x18\xB6\xB2\x82\xA1\xA0\x9F\xA0\xA3\x45\xBA\x87\xAA\xA9\xA0\x93\xA4\xA7\x4D\xAE\x8F\xB2\xA1\xA9\x99\xAA\x9A\x53\xD6\x86\x93\x99\x98\xAA\x83\x02\x40\xDB\x84\xA2\xB8\xA4\xB0\xA6\xB3\x5E\x83\x9C\xB9\xA8\xAF\xA9\xAE\xAA\x68\xF0\xAA\xA3\xB3\xBD\xB1\xBB\xB3\x77\xE9\x87\x81\xB9\xBA\xB8\x96\xBA\x7F\xF6\x81\xD8\xB3\xC2\xBD\x81\xB5\x6E\xEC\xAF\xBA\xAD\xBC\xC5\xC2\xBF\x87\x80\xD1\xC2\xC1\x84\x84\x92\xC5\x98\x89\xDA\xD1\xBE\xC3\xC8\xC2\xCF\x86\x9E\x92\xC2\xD4\xCC\xD3\xCE\xD3\xA1\x88\xDC\xCD\xB6\x80\x04\xBF\xC7\x9D\xA8\xD0\xD2\xD1\xDA\xD5\xC6\xD6\xB7\x8B\xF8\xD0\xDB\xD8\xD3\xD8\xDB\xBC\xBA\xC2\xEA\x89\x07\xD6\xDF\xDA\xA3\xC0\xC7\xFD\xD4\xDC\xE6\xE5\xE6\xC3\x9B\xF9\xD9\xCB\xD1\xE9\xEA\xEA\xD3\xD2\xC1\xF8", + "\x71\x43\x00\x00\x77\x07\x00\x00\x0C\x00\x01\x82\x80\x06\x03\x82\x81\x82\x06\x89\x82\x87\x0A\x80\x81\x84\x09\x0A\x98\x0A\x9D\x0A\x86\x65\x01\x84\xFF\x19\x9A\x99\x8A\x80\x03\x8D\x8D\x1D\x9D\x97\x89\x83\x96\x81\x93\x81\x02\x0A\xA7\x82\x8F\x8A\x8D\x8F\x96\x1C\x8A\xB0\x9F\x7F\x90\x99\x9B\x96\x37\x9F\x9D\x83\x0A\x92\x84\x03\x9E\x18\xB6\xB2\x82\xA1\xA0\x9F\xA0\xA3\x45\xBA\x87\xAA\xA9\xA0\x93\xA4\xA7\x4D\xAE\x8F\xB2\xA1\xA9\x99\xAA\x9A\x53\xD6\x86\x93\x99\x98\xAA\x83\x02\x40\xDB\x84\xA2\xB8\xA4\xB0\xA6\xB3\x5E\x83\x9C\xB9\xA8\xAF\xA9\xAE\xAA\x68\xF0\xAA\xA3\xB3\xBD\xB1\xBB\xB3\x77\xE9\x87\x81\xB9\xBA\xB8\x96\xBA\x7F\xF6\x81\xD8\xB3\xC2\xBD\x81\xB5\x6E\xEC\xAF\xBA\xAD\xBC\xC5\xC2\xBF\x87\x80\xD1\xC2\xC1\x84\x84\x92\xC5\x98\x89\xDA\xD1\xBE\xC3\xC8\xC2\xCF\x86\x9E\x92\xC2\xD4\xCC\xD3\xCE\xD3\xA1\x88\xDC\xCD\xB6\x80\x04\xBF\xC7\x9D\xA8\xD0\xD2\xD1\xDA\xD5\xC6\xD6\xB7\x8B\xF8\xD0\xDB\xD8\xD3\xD8\xDB\xBC\xBA\xC2\xEA\x89\x07\xD6\xDF\xDA\xA3\xC0\xC7\xFD\xD4\xDC\xE6\xE5\xE6\xC3\x9B\xF9\xD9\xCB\xD1\xE9\xEA\xEA\xD3\xD2\xC1\xF8", "\xEB\xEA\xEF\xE4\xEB\xD9\xD7\xC9\x8A\x06\xE0\xE8\xEF\xEF\xE7\xE6\xDE\xEA\xF2\xF5\xF5\xF1\xF7\xDD\xEE\xF1\xF0\xF8\xF3\xF7\x05\xF2\x0E\xA6\x8A\x8D\x05\xF6\x05\xF3\xE7\x0F\x3F\x79\x73\x80\xA5\x50\x05\x79\x04\x02\xA5\x60\x47\x65\xEB\x4F\x7E\x80\x81\xA7\x4F\x85\x6A\x84\x11\x90\x89\x6A\x85\xBF\x58\x88\x73\x84\x1A\x8E\x7D\x84\x78\xF3\x61\x81\x43\x04\x09\x95\x8C\x87\x89\x26\xA9\x87\x84\x8A\xA1\x54\x05\x8B\x8A\x2A\x99\x8C\x8A\x8C\x31\x9B\x85\x8E\x87\x33\xB6\x80\x8F\x8E\x34\xBC\x8A\x8D\x8F\x40\xBF\x82\x90\x8E\x37\xA0\x85\x7E\x7C\x47\xB4\x70\x01\x05\x2F\x81\x94\x92\x8F\x4F\xB3\x66\x05\x93\x43\x86\x9C\x7A\x92\x14\x90\x96\x95\x96\x4E\x96\x97\x04\x95\xCC\x52\x4C\x80\x92\x57\xA2\x85\x99\x92\x66\x9C\x95\x95\x7A\x6A\x91\x9B\x99\x83\x1F\xAC\x93\x69\x06\x60\x96\x9A\x05\x9D\x72\xB9\x8E\x9B\x9E\x5B\xB1\x90\x9D\x69\x1B\x38\x9F\x9D\x91\x79\x84\xA3\xA2\x96\x85\x88\xA7\xA1\x97\x89\x8C\xAB\xA3\x9B\x06\x5C\x05\x78\x45\x63\x83\x4E\x05\x79\x1F\x02\xA6\x40\x08\xE5\x61\x0A\xA6\x92\x22\x25\x73\x0B\xA7\x69\xA3\x64\x09\x79\x25\x25\x76\x09\x79", - "\x27\x24\xA1\x40\x0A\xAE\xA7\x92\xAD\x0A\xE5\x6A\x01\xAF\x0A\xB1\xAD\x9D\x9E\x9E\xBB\x86\xA4\x9A\xAE\x8D\x90\xA8\x96\x9F\xBF\x84\xB3\x40\x0B\xE5\x6D\x09\xAE\xB1\xA5\xBC\xAA\x42\x0B\xE5\x6F\x05\x78\x0C\xE5\x71\x01\xAE\x0C\xCB\x8E\xB9\x43\x0C\xE5\x74\x09\xB6\xAF\xC3\x9A\xB5\xB2\xB8\xE1\xA0\xBD\xB2\xB9\x01\x75\x0F\xB6\xA2\xE3\xA8\xB2\xAC\xB0\x8F\xBC\x99\x7A\x0D\xEB\x8E\xAD\xB8\xBB\xE5\xB8\xB7\xBA\xBE\x68\x81\x47\x0D\xBD\xC2\xBB\xB6\xBD\xBE\x03\xC2\xC1\xC1\xBF\xEF\x8C\xB8\xC3\x73\x38\x31\xA9\x0C\xC0\xF2\xB1\xBD\xAC\xBF\x09\xE4\xB6\xC1\xC4\xF7\x85\xCB\xC2\xC2\x00\x3A\x00\xC7\xC4\x1A\xD5\xCE\xB8\xBC\x19\xC7\xC0\x03\x0E\x1F\xC1\xB8\xC4\xC1\x26\xE4\xCC\xCB\xCA\x02\x7D\x1A\x41\x4A\x95\xBC\x64\xCE\x7E\x57\x77\xC3\x43\x4A\xCB\x7A\xC2\x40\x4F\xF1\xB3\x4E\x69\x42\x3E\xFD\xCA\x40\x42\x25\xF3\x4F\x3F\xD0\x06\x48\xD7\x6C\xCF\x00\x10\xD2\xD0\x98\x4E\xFC\x63\x4C\xD4\x45\xCD\x7C\xD3\xCE\x6C\x55\xDB\x73\xD5\x21\x57\x5B\xD6\x40\x52\xF0\x4E\xD5\x73\x33\x67\xDA\xD2\xD9\x6C\x73\x49\xD4\x58\x41\xF0\x43\xD9\x40\x3F\x57\x55\xDF\x6A\x6E", - "\xE0\x97\xDF\x6D\x79\xF5\xCB\x73\xDE\x56\xF0\x49\xD5\xD9\x2D\x40\xEF\xD6\xE0\x3E\x6C\x56\xE0\xDA\x88\xE1\xD7\x6F\xE2\x6B\xED\x49\xD4\xD0\x49\xD3\xD4\xD2\xE2\x6D\xCD\xED\xD2\xCA\x96\xDB\xE7\x56\xDA\x91\xDB\x49\xD4\xE4\x9A\xC3\x40\xDD\xE5\x72\xC9\xE9\xCE\x42\xA7\xEF\xCD\xE7\x40\xA4\xED\x40\xE9\xE8\x19\x59\xDA\x6D\xEC\xB4\xC3\xE8\xE7\x55\x7D\xF8\xCB\x68\xEE\xA1\xFA\xE6\xDD\xE6\x92\xEA\xEF\xEC\xF1\x1F\x76\xEB\xEC\xDE\xA5\xFF\xCC\xE5\xEA\x97\xC3\xFC\xED\xF3\x01\x73\xE7\x8F\xEB\x7B\x52\xFC\xF1\xF1\x7E\xCD\x70\xF1\xE4\xC2\xC7\xF3\xF4\xF7\xBE\xCF\xE8\xF2\xE8\xC6\xE6\xF3\xF9\xF2\x8E\xEA\xFB\xF4\xFB\x09\x54\xEE\xE8\xF4\x06\x59\xD3\x4F\xF7\x6B\xD9\xD6\xF4\x94\xD8\xD5\xFD\xD7\xF9\x1A\x38\x7E\xD2\x61\x7E\x7C\xBE\x54\x79\x6A\xCB\x66\x80\xF9\x5C\x6A\x7A\x05\xB0\x7E\x20\x02\x82\x81\xEF\x6D\x77\x7E\x00\xB5\x72\x21\xF2\x77\x61\xFF\x00\x06\x7E\x98\x12\x87\x80\xFB\x6E\x4B\x06\xA1\x89\x22\x12\x8A\x6E\x84\x69\x76\x83\x3F\x1F\x8B\x80\x81\x11\x82\x85\xCA\x7F\x72\x0A\xA8\x84\x7E\xD3\x6C\x2D\x75\x81\x6D\x24\x0E\x87\x7A\x86\x15\xB3\x68", - "\x00\x19\x8B\x3B\x0F\xC1\x8A\x6B\xF6\x7C\x37\x87\xBA\x3B\x84\xE3\x3D\x8B\x7D\x8D\x2A\x5E\x88\x08\x90\x88\xD4\x22\x20\x8A\x0E\x95\x8C\x88\x54\x92\x89\xFA\x02\x2A\x89\xB3\x50\x6E\x8B\x47\x65\x3F\xD9\x7A\x78\x83\x30\x9D\x78\x8C\x09\x36\x31\xF9\x0B\x25\x3C\x35\x8C\x86\x20\x6E\x82\x21\xD6\x71\x81\x20\x22\xB4\x89\x8A\x70\x85\x3C\xD4\x7B\x83\x67\x32\x9D\x78\x6A\x3F\x85\x3B\x78\x5B\x81\x20\xF2\x10\x8B\x0E\xE5\x3D\x21\xA0\x50\x84\x0F\xF2\x19\x6A\x52\x50\x95\x0D\x79\x44\x87\x4E\x28\xB6\x0A\x8F\x0A\x28\x40\x14\xF7\x08\x93\x84\x1A\x96\x88\x78\x05\x3F\xE2\x5F\x40\x8B\x3C\x22\x92\x21\xA4\x86\x8A\x1E\x0E\x9A\x20\x4E\x50\x8B\x0F\x93\x8A\x21\xA6\x50\x8C\x0F\xF2\x3C\x05\x8A\x8B\x75\x88\x1E\xAF\x6A\x97\x18\xAB\x89\x20\x84\x6E\x5F\x4E\x55\x84\x81\x8B\x7A\x92\x89\xC3\x9D\x7B\xE2\x1D\x85\x35\x8E\x27\x6E\x99\x6D\x9D\x8F\x7A\x45\x91\x6C\x41\x86\x24\x88\x2E\x6E\x79\xF7\x1D\x29\x3F\x81\x18\x9C\x63\x8B\x73\x8A\x42\x01\x41\x7E\x95\x5D\x22\x89\xE2\x8F\x21\xCA\x09\x28\x8C\x23\xA4\x45\x7B\xD9\x95\x32\x42\x77\x30\x8A\x17\x5D\x7C\x49\xD1\x64", - "\x4E\x35\xB0\x75\x8B\x54\xA8\x21\x3D\x1D\x39\x6B\x3E\xF2\x85\x8A\x3A\x79\x9A\x49\x59\x62\xA2\x1F\xC6\x8B\x91\xFA\x69\x3B\x99\xC4\x2A\x22\x7F\x50\x84\x52\x87\xAB\x3B\x8C\x11\xA9\x22\x3D\xC6\x83\x96\x8B\xA4\x4F\x87\x0A\xA9\x20\x32\x8A\x2E\x53\x83\x82\x23\x54\x26\xA5\x92\x34\x86\x23\xA0\xFF\x50\x89\x55\x29\xA0\x01\xAB\x31\xAD\x9A\x82\x83\x91\x21\x48\x8A\x20\xAD\x70\x9C\x62\x7A\xAC\xA5\x8A\xF1\x92\x55\x4D\x81\x23\xA2\x23\xB6\x54\xA7\x16\x64\xAA\x42\x06\x40\x8B\xA0\x8F\x3D\xA8\x03\x3E\xA5\xFB\x38\x5D\x7A\x64\x71\xA0\xAA\x64\x63\x9F\x3C\xD5\x80\x5B\xEE\x52\x59\xA6\xE4\x9F\x94\x00\x4C\xA6\x20\xFE\x10\x8E\x5A\x48\xAE\x5F\x27\x83\x24\xAC\x0A\x9C\x67\x39\x6B\xA2\x21\x58\xEE\xA9\xA8\x59\x4B\x46\x20\x1B\xAD\x7C\xB6\x69\xA4\x63\xBC\xAE\x85\x8A\xDC\x51\xA7\x73\x6D\xA6\xA6\xBC\xAB\xA5\x7D\x4F\x9E\xA2\x92\x77\xAF\x9E\x8D\x8B\xA5\x7D\xFF\x42\xB3\x68\x7E\xA1\x21\xAC\x54\xB0\x00\x58\xA1\x6F\xC3\x12\xB5\x35\x29\x71\xA7\xB2\x97\xBD\x20\xCA\x1C\xB7\x34\x31\x4A\xB2\x20\x97\xBE\xB2\x11\xCE\xA3\xB2\xD6\x55\x8D\x07\x87\xA2\x23\x0F\x31", - "\xB1\x21\x4A\xA7\xB1\x20\x97\xAF\x9A\x42\x41\x04\xB6\x00\x03\x0D\xB7\x90\x97\xB7\x92\x04\x91\x25\x22\x3D\xB7\x39\x97\x51\xA4\x3E\xC2\xBD\x23\x23\x07\xBB\x34\xAE\x82\xBB\x72\xDE\x95\x8B\x24\x0F\xBD\x34\xA1\x4A\xBA\x44\xD5\x8B\x09\xEB\xA7\x37\x54\xDA\xAE\xB0\x14\xCD\x0E\xBB\xD0\x2B\x51\xBC\x5F\x35\x8B\x13\x3D\xB1\x0B\xDE\xB0\x50\xBD\x03\x3A\xB5\x42\x53\x0D\xB7\x2A\x3D\xB7\xA8\xC2\xAA\xB7\x40\x6F\x96\x89\x2B\x2B\x9E\x20\xFE\x82\x22\x7E\x8E\x7C\xB5\xD2\x01\xC1\x20\xD3\xA4\xC3\x5B\xA3\x36\xB4\x7E\x90\x88\x0B\xE5\xB3\x36\x55\xE2\xAD\xC1\xC2\xAD\x7A\x0B\x11\xD1\x36\xB2\x5D\x75\xC3\x3A\x95\x8C\x0B\x19\xCC\x39\x57\x94\xCB\xBA\x28\x9E\x09\xC4\x1D\x3F\xA8\x89\xE2\xB6\x88\x30\x28\xC2\x21\xD4\x5C\xC2\x6B\xD0\x82\x0D\xDE\xA4\x0D\xB7\x68\xAB\xC6\xE7\x46\x86\x0D\xDE\xA8\x0D\xB7\x7B\xA2\xAE\x6D\x83\x26\xA0\x23\xAA\x0F\xBF\x03\x2D\xA0\x91\xD5\x8B\x0C\x24\xC2\x21\xB8\x4B\xD0\x88\x1B\x4E\xC1\x21\x8A\x83\x21\xB3\x21\x2D\x0F\x8B\xDB\x53\x52\x85\x21\xB2\x21\x6F\x1B\xCA\x41\x5E\x5D\x7B\x8E\x96\x55\x8A\x71\x14\xC8\x00\x51\xB7\xCC\x28", - "\xB2\x0A\xCD\x25\xAB\xB7\x68\x68\x69\x98\x28\xB9\x91\xA0\xBA\x89\x9D\x15\xC1\x90\x24\x3E\xDB\x22\xCF\x62\xA1\x24\xA0\x8D\xB5\x3A\x66\xAD\x86\x71\xBE\x8C\xB8\x9E\xD7\x8A\x31\x6F\xB0\x20\x8B\x75\xC6\x88\xA4\x8F\xBD\x7C\x01\x80\x02\x82\x10\xA4\xB9\x48\x61\x97\x9C\xC5\x0A\x8A\x69\xE8\x9D\xD1\x15\x80", + "\x27\x24\xA1\x40\x0A\xAE\xA7\x92\xAD\x0A\xE5\x6A\x01\xAF\x0A\xB1\xAD\x9D\x9E\x9E\xBB\x86\xA4\x9A\xAE\x8D\x90\xA8\x96\x9F\xBF\x84\xB3\x40\x0B\xE5\x6D\x09\xAE\xB1\xA5\xBC\xAA\x42\x0B\xE5\x6F\x05\x78\x0C\xE5\x71\x01\xAE\x0C\xCB\x8E\xB9\x43\x0C\xE5\x74\x09\xB6\xAF\xC3\x9A\xB5\xB2\xB8\xE1\xA0\xBD\xB2\xB9\x01\x75\x0F\xB6\xA2\xE3\xA8\xB2\xAC\xB0\x8F\xBC\x99\x7A\x0D\xEB\x8E\xAD\xB8\xBB\xE5\xB8\xB7\xBA\xBE\x68\x81\x47\x0D\xBD\xC2\xBB\xB6\xBD\xBE\x03\xC2\xC1\xC1\xBF\xEF\x8C\xB8\xC3\x73\x38\x31\xA9\x0C\xC0\xF2\xB1\xBD\xAC\xBF\x09\xE4\xB6\xC1\xC4\xF7\x85\xCB\xC2\xC2\x00\x3A\x00\xC7\xC4\x1A\xD5\xCE\xB8\xBC\x19\xC7\xC0\x03\x0E\x1F\xC1\xB8\xC4\xC1\x26\xE4\xCC\xCB\xCA\x02\x7D\x1A\x41\x4A\x95\xBC\x64\xCE\x7E\x57\x77\xC3\x43\x4A\xCB\x7A\xC2\x40\x4F\xF1\xB3\x44\x79\x42\x3E\xFD\xCA\x40\x42\x25\xF3\x4F\x3F\xD0\x06\x48\xD7\x6C\xCF\x00\x10\xD2\xD0\x98\x4E\xFC\x63\x4C\xD4\x45\xCD\x7C\xD3\xCE\x6C\x55\xDB\x73\xD5\x21\x57\x5B\xD6\x40\x52\xF0\x4E\xD5\x73\x33\x67\xDA\xD2\xD9\x6C\x73\x49\xD4\x58\x41\xF0\x43\xD9\x40\x3F\x57\x55\xDF\x6A\x6E", + "\xE0\x97\xDF\x6D\x79\xF5\xCB\x73\xDE\x56\xF0\x49\xD5\xD9\x2D\x40\xEF\xD6\xE0\x3E\x6C\x56\xE0\xDA\x88\xE1\xD7\x6F\xE2\x6B\xED\x49\xD4\xD0\x49\xD3\xD4\xD2\xE2\x6D\xCD\xED\xD2\xCA\x96\xDB\xE7\x56\xDA\x91\xDB\x49\xD4\xE4\x9A\xC3\x40\xDD\xE5\x72\xC9\xE9\xCE\x42\xA7\xEF\xCD\xE7\x40\xA4\xED\x40\xE9\xE8\x19\x59\xDA\x6D\xEC\xB4\xC3\xE8\xE7\x55\x7D\xF8\xCB\x68\xEE\xA1\xFA\xE6\xDD\xE6\x92\xEA\xEF\xEC\xF1\x1F\x76\xEB\xEC\xDE\xA5\xFF\xCC\xE5\xEA\x97\xC3\xFC\xED\xF3\x01\x73\xE7\x8F\xEB\x7B\x52\xFC\xF1\xF1\x7E\xCD\x70\xF1\xE4\xC2\xC7\xF3\xF4\xF7\xBE\xCF\xE8\xF2\xE8\xC6\xE6\xF3\xF9\xF2\x8E\xEA\xFB\xF4\xFB\x09\x54\xEE\xE8\xF4\x06\x59\xD3\x4F\xF7\x6B\xD9\xD6\xF4\x94\xD8\xD5\xFD\xD7\xF9\x1A\x38\x7E\xD2\x61\x7E\x7C\xBE\x54\x79\x6A\xCB\x66\x80\xF9\x5C\x6A\x7A\x05\xB0\x7E\x20\x02\x82\x81\xEF\x6D\x77\x7E\x00\xB5\x72\x21\xF2\x77\x61\xFF\x00\x06\x7E\x98\x12\x87\x80\xFB\x6E\x4B\x06\xA1\x89\x23\xD6\x41\x72\x76\x16\x9F\x1E\x09\x87\x78\x85\xF5\x5B\x23\x85\x8C\x6D\x87\xFB\x1B\x2F\x83\x05\x82\x21\x82\x29\x8A\x7B\x55\x30\x84\x76\x8D\x24\x82", + "\x69\x3C\x9D\x87\x3F\x3F\x8B\x83\x20\xAD\x23\x6E\x00\x19\x83\x72\x48\x8A\x88\xAD\x6D\x7C\x37\x48\x9A\x36\xBA\x4F\x88\x80\x2A\x90\x6A\x24\x54\x9C\x81\x16\xCD\x88\x8A\x2B\xA9\x7A\x20\x30\x87\x6C\xD4\x62\x87\x69\xF2\x27\x6A\x7F\x18\x85\x8D\xF7\x64\x89\x20\xCB\x25\x7B\x21\xE5\x2E\x8C\x03\x86\x22\x8E\x81\x19\x6D\x8E\x01\x2D\x88\x1E\xD5\x84\x8F\xF2\x10\x6F\x8F\x33\x69\x8D\xF7\x50\x6E\x35\x84\x05\x3B\x3C\x5F\x81\x21\x14\xD9\x88\x0F\xF2\x1D\x21\x50\x54\x8D\x8B\x73\x59\x62\x53\x48\xA9\x3D\x89\x77\x56\x93\x7A\x50\x68\x41\x2C\x8A\x21\x0F\x7E\x8A\x21\x27\x9E\x96\x20\x3D\x25\x3B\x71\x5F\x44\x96\x41\x7B\x07\x94\x85\x29\x92\x95\x02\x3C\x0D\x79\x59\x6C\x52\x4D\xA4\x4D\x89\x99\x56\x96\x92\x3C\x09\x8A\x01\xB0\x97\x8D\x1B\x65\x35\x47\x1D\x82\x99\x50\x92\x63\x8B\xE9\x23\x99\xCA\x54\x86\x89\xD3\x3B\x25\x95\xD1\x64\x4D\x47\x3F\x8E\x92\x36\xBD\x89\x9A\x4A\x44\x82\x99\x1D\x27\x90\x83\x12\x94\x63\x4D\x84\x72\x33\x8D\x22\x91\xA4\x5D\x23\x71\xE2\x81\x35\x47\x01\x41\x7E\x95\x5D\x20\x86\xE9\x93\x35\x47\x0B\x40\x98\x91\x61\x36\x9A\x4A\x5D", + "\x20\x89\x5D\x7E\x64\x38\x89\x27\x3E\xEB\x3D\x22\x8B\x5D\x7C\x48\x6C\xA6\x4D\x9B\xB0\x69\x9A\x2B\x81\x91\xA0\x86\x86\x20\xA1\x76\x8A\xA1\x42\x74\x46\xA0\x84\x59\x69\x6B\x10\xB9\x8E\x44\x86\x20\x93\xFA\x69\x3B\x71\x18\xAA\x22\x7F\x0D\xA9\x20\x4A\x5E\xA3\x3D\x67\x84\x3A\x42\x03\xA2\x9A\x85\x39\x97\xA4\x64\x45\x90\x4C\x83\x29\xA2\x00\x0D\x9A\x9D\x0A\x3E\x51\x45\x80\x03\x55\x9D\x88\x89\xA4\x09\x34\x99\x16\xA9\x5B\xA7\x56\x7B\xA1\x3F\x28\x2A\x20\x12\xB2\xA9\x9E\x85\x34\x54\x9F\x1C\x60\xA3\x43\x9B\xAF\x64\x2B\x48\xAA\x20\x23\xAD\xA5\x42\x36\x50\xAA\x8B\x41\x21\xAB\x03\x26\x40\x49\xE6\x99\x3C\xB0\x82\x22\xAA\x4D\xA9\x20\xAE\x5D\x78\x59\x9D\xA6\xA9\x20\x50\x6C\x9E\x41\x68\xAB\x9B\x67\x51\x5E\xA1\x03\x32\xAF\x1C\xE1\xAB\x3E\xAA\x82\x26\x5A\x5D\xAE\x5F\x28\xFC\xA3\xAD\xAA\xA9\x3B\xB0\x02\x3A\xAD\x5D\xC7\x9B\x3C\x7A\x83\x24\xA5\x69\xA6\x20\xB6\x01\xB4\x62\xC8\xB7\x86\xAF\x01\x3C\x5B\x4E\xCF\x32\xAD\x99\x82\x26\xB2\x01\x24\x9B\x38\x89\x23\x8A\xCF\x88\x66\xB1\x11\xA9\x20\x68\xC9\x88\xB2\x00\x3F\x5B\xB3\xA3\x2B\xB5\xD6\x2B", + "\xBF\xAC\x59\x5D\x27\x61\xB0\xA5\x37\x94\x3B\xAB\xB5\xD5\x8F\x3D\x23\x28\x79\xB7\x69\x62\x46\xB4\x00\x2B\xB3\xB7\x5A\xA4\xAF\x7A\x2B\xB7\xA6\x79\x8A\x25\x07\x78\xA2\x23\x0F\x51\xB1\x21\x4C\x85\xBB\xB5\x42\xB4\x89\x10\x54\xB0\x01\x21\x1C\xBD\x92\xC5\xA5\xA0\x04\xAD\xB5\x08\xEE\x8F\x3F\x52\x3B\xA2\xBD\x52\x85\xB2\x21\x23\x26\xBB\x34\xB5\x81\xBD\x39\x91\xB3\x21\x24\x2F\xBD\x34\xA1\x49\xBE\x48\xAD\xBB\x09\xFB\xA7\x37\x54\xFA\xAA\xB5\x6B\xCD\x0E\xBF\xD0\x2B\x51\xC0\x5F\x2D\xB7\x13\x5C\xB1\x0A\xEE\xB0\x50\xC1\x03\x39\xBB\x13\xD3\x0C\xBB\x2A\x1C\xBC\xAB\xC5\xA8\xBB\x40\x7B\x99\xB9\x81\x17\x0B\x99\x06\x2F\x97\x40\x1A\xCB\xB0\xE5\xA4\x4A\xC4\x02\x2A\xBD\x89\x86\xBB\x3C\xE2\x89\xA4\xBD\x01\x38\x09\x81\xB3\x3D\xAD\x7A\xAE\xC1\xB5\x1D\xC2\x22\x16\x33\xC1\x36\x65\x5D\x7F\xC6\x1A\xB0\xC4\x00\x5C\x0C\xC6\xE6\x10\x5F\xC7\xFB\xA2\xCA\x17\x45\xCD\x22\x69\x48\xCA\xC0\x42\xC0\x0C\x93\x8A\x24\x5B\x27\xC9\xC2\xC8\x62\x1C\xB8\x19\x5C\xB0\xB0\x1B\xEA\x89\xC7\x01\x26\x0C\x77\xE8\x0C\xBB\xC9\xB5\x9E\xBA\x03\x34\xA0\x98\x80\x0A\x0D\x29", + "\xEB\x3D\xA3\x69\xCD\xB4\x1B\x6E\xC4\x4C\xF0\xB1\xCA\xC8\x6E\x14\xCE\x92\x26\xA3\x21\xDA\xBF\xB2\x21\x70\x1A\xCE\x40\x1A\xB5\x9E\x3E\xDF\xB5\xB5\x72\x02\xD1\x40\x5E\x5D\x7B\x97\x96\x55\xB5\x74\x0A\xD2\xAC\x71\xBF\xD0\x21\xF6\x0A\xD2\xCF\x3A\xA7\x13\xBF\xBA\x69\x67\xBD\x96\x93\x3A\x9D\x7A\x2A\xF1\x9C\x22\x52\xD9\x27\x8A\x5D\x9E\x89\x16\xA2\xB0\x24\x56\xE8\x7B\xD5\xA0\xD1\xD4\x32\xEE\x2F\x9A\x98\x1C\x8E\xD3\xBA\x8D\x7F\xAD\x89\x90\x3A\x09\xA0\xA7\x9C\x9E\x88\x9F\x3B\x8A\x3D\xB8\x8D\x30\x9B\xD8\xBF\x82\x20", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -2334,13 +2423,13 @@ JsonAstInsReceiver : public vl::glr::AstInsReceiverBase } } - void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) + void JsonAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) { auto cppFieldName = JsonCppFieldName((JsonFields)field); switch((JsonFields)field) { case JsonFields::Literal_value: - return vl::glr::AssemblerSetEnumField(&vl::glr::json::JsonLiteral::value, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::glr::json::JsonLiteral::value, object, field, enumItem, weakAssignment, cppFieldName); default: return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); } @@ -2523,7 +2612,7 @@ namespace vl /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER.CPP +.\TRACEMANAGER\TMINPUT.CPP ***********************************************************************/ namespace vl @@ -2532,189 +2621,1191 @@ namespace vl { namespace automaton { + using namespace collections; /*********************************************************************** -TraceManager +Initialize ***********************************************************************/ - void TraceManager::BeginSwap() + void TraceManager::Initialize(vint32_t startState) { - concurrentCount = 0; + state = TraceManagerState::WaitingForInput; + + returnStacks.Clear(); + traces.Clear(); + competitions.Clear(); + attendingCompetitions.Clear(); + + traces1.Clear(); + traces2.Clear(); + concurrentTraces = &traces1; + backupTraces = &traces2; + + activeCompetitions = nullref; + initialReturnStackCache = {}; + + temporaryConditionStack.Clear(); + temporaryConditionStackSize = 0; + MergeStack_MagicCounter = 0; + + traceExecs.Clear(); + insExecs.Resize(0); + insExec_Objects.Clear(); + insExec_InsRefLinks.Clear(); + insExec_ObjRefLinks.Clear(); + insExec_ObjectStacks.Clear(); + insExec_CreateStacks.Clear(); + + firstBranchTrace = nullref; + firstMergeTrace = nullref; + firstStep = nullref; + traceAmbiguities.Clear(); + traceAmbiguityLinks.Clear(); + executionSteps.Clear(); + + initialTrace = AllocateTrace(); + initialTrace->state = startState; + concurrentCount = 1; + concurrentTraces->Add(initialTrace); } - void TraceManager::AddTrace(Trace* trace) +/*********************************************************************** +GetInitialTrace +***********************************************************************/ + + Trace* TraceManager::GetInitialTrace() { - if (concurrentCount < backupTraces->Count()) + return initialTrace; + } + +/*********************************************************************** +GetInitialTrace +***********************************************************************/ + + ExecutionStep* TraceManager::GetInitialExecutionStep() + { + return firstStep == nullref ? nullptr : GetExecutionStep(firstStep); + } + +/*********************************************************************** +Input +***********************************************************************/ + + bool TraceManager::Input(vint32_t currentTokenIndex, regex::RegexToken* token, regex::RegexToken* lookAhead) + { + CHECK_ERROR(state == TraceManagerState::WaitingForInput, L"vl::glr::automaton::TraceManager::Input(vint, vint)#Wrong timing to call this function."); + vint32_t traceCount = concurrentCount; + vint32_t input = Executable::TokenBegin + (vint32_t)token->token; + + BeginSwap(); + + // for each surviving trace + // step one TokenInput transition + // followed by multiple and EndingInput, LeftrecInput and their combination + // one surviving trace could create multiple surviving trace + for (vint32_t traceIndex = 0; traceIndex < traceCount; traceIndex++) { - backupTraces->Set(concurrentCount, trace); + auto currentTrace = concurrentTraces->Get(traceIndex); + auto stateTrace = EnsureTraceWithValidStates(currentTrace); + vint32_t transitionIndex = executable.GetTransitionIndex(stateTrace->state, input); + auto&& edgeArray = executable.transitions[transitionIndex]; + WalkAlongTokenEdges(currentTokenIndex, input, token, lookAhead, { currentTrace, stateTrace }, edgeArray); } - else + + // if competitions happen between new surviving traces + // remove traces that known to have lost the competition + CheckBackupTracesBeforeSwapping(currentTokenIndex); + + EndSwap(); + + // if there are unused spaces in concurrentTraces + // set them to nullptr to clear out traces from the last round + for (vint32_t traceIndex = concurrentCount; traceIndex < concurrentTraces->Count(); traceIndex++) { - backupTraces->Add(trace); + concurrentTraces->Set(traceIndex, nullptr); } - concurrentCount++; - } - void TraceManager::EndSwap() - { - auto t = concurrentTraces; - concurrentTraces = backupTraces; - backupTraces = t; + return concurrentCount > 0; } - void TraceManager::AddTraceToCollection(Trace* owner, Trace* element, TraceCollection(Trace::* collection)) +/*********************************************************************** +FillSuccessorsAfterEndOfInput +***********************************************************************/ + + void TraceManager::FillSuccessorsAfterEndOfInput(bool& ambiguityInvolved) { - auto errorMessage = L"vl::glr::automaton::TraceManager::AddTraceToCollection(Trace*, Trace*, TraceCollection(Trace::*))#Multiple to multiple predecessor-successor relationship is not supported."; - auto&& elementCollection = element->*collection; - if (elementCollection.siblingNext == -1 && elementCollection.siblingPrev == -1) + ambiguityInvolved = false; + List visiting; + + // create a merge trace for multiple surviving traces + if (concurrentCount > 1) { - auto&& ownerCollection = owner->*collection; - if (ownerCollection.first == -1) - { - ownerCollection.first = element->allocatedIndex; - ownerCollection.last = element->allocatedIndex; - } - else + auto newTrace = GetTrace(traces.Allocate()); + for (vint32_t traceIndex = 0; traceIndex < concurrentCount; traceIndex++) { - auto sibling = GetTrace(ownerCollection.last); - auto&& siblingCollection = sibling->*collection; - CHECK_ERROR(siblingCollection.siblingNext == -1, errorMessage); + auto trace = concurrentTraces->Get(traceIndex); + auto first = trace; + auto last = trace; + + if (trace->state == -1) + { + // a surviving trace could also be a merge trace + // in this case we move predecessors to the new trace + first = GetTrace(trace->predecessors.first); + last = GetTrace(trace->predecessors.last); + } - siblingCollection.siblingNext = element->allocatedIndex; - elementCollection.siblingPrev = sibling->allocatedIndex; - ownerCollection.last = element->allocatedIndex; + if (newTrace->predecessors.first == nullref) + { + newTrace->predecessors.first = first; + newTrace->predecessors.last = last; + } + else + { + GetTrace(newTrace->predecessors.last)->predecessors.siblingNext = first; + first->predecessors.siblingPrev = newTrace->predecessors.last; + newTrace->predecessors.last = last; + } } + BeginSwap(); + AddTrace(newTrace); + EndSwap(); } - else if (collection == &Trace::predecessors) - { - // there is a valid scenario when - // B(ending) ---+ - // | - // O(origin) -+-> A(ending) -+-+-> C(merged) - // | - // +---> D(token) + visiting.Add(concurrentTraces->Get(0)); - // in this case, we need to copy A(ending) to avoid the multiple to multiple relationship - // the reason we cannot have such relationship is that - // TraceCollection::(siblingPrev|siblingNext) is a linked list - // it represents a predecessor collections of owner - // if a trace is shared in two predecessor collections - // there is no place for a second linked list - // the data structure is not able to represent such relationship + // fill successors based on predecessors + bool initialTraceVisited = false; + while (visiting.Count() > 0) + { + auto current = visiting[visiting.Count() - 1]; + visiting.RemoveAt(visiting.Count() - 1); - // but this it is not doable if A also has multiple predecessors - // because copying A replaces a new multiple to multiple relationship to an old one like this - // O1(origin) -+-+ B(ending) -+ - // | | | - // O2(origin) -+-+-> A(ending) -+-> C(merged) - // | - // +---> X(ending) ---> D(token) - CHECK_ERROR(element->predecessors.first == element->predecessors.last, errorMessage); + // if (current->predecessorCount != 0) + // it means this trace has been processed when comming from another sibling + // but initialTrace->predecessorCount is always 0 + // so initialTraceVisited is introduced + if (current == initialTrace) + { + if (initialTraceVisited) continue; + initialTraceVisited = true; + } + else if (current->predecessorCount != 0) + { + continue; + } - auto copiedElement = AllocateTrace(); + // fill successors { - vint32_t copiedId = copiedElement->allocatedIndex; - *copiedElement = *element; - copiedElement->allocatedIndex = copiedId; + auto predecessorId = current->predecessors.first; + while (predecessorId != nullref) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingNext; + current->predecessorCount++; + predecessor->successorCount++; + AddTraceToCollection(predecessor, current, &Trace::successors); + } } - // clear sibilingPrev and sibilingNext because it belongs to no collection at this moment - // keep first and last so that it still knows its predecessors - copiedElement->predecessors.siblingPrev = -1; - copiedElement->predecessors.siblingNext = -1; + // add predecessors to the list to continue + { + auto predecessorId = current->predecessors.last; + while (predecessorId != nullref) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingPrev; + visiting.Add(predecessor); + } + } - // now it becomes - // B(ending) -+ - // | - // O(origin) -+-> A(ending) -+-> C(merged) - // | - // +-> X(ending) ---> D(token) - AddTraceToCollection(owner, copiedElement, collection); - } - else - { - // Trace::predecessors is filled by Input - // Trace::successors is filled by PrepareTraceRoute - // if Input and EndOfInput succeeded - // there should not be any multiple to multiple relationship - CHECK_FAIL(errorMessage); + // set ambiguityInvolved when a trace has multiple predecessors + if (current->predecessorCount > 1) + { + ambiguityInvolved = true; + } } } - TraceManager::TraceManager(Executable& _executable, const ITypeCallback* _typeCallback) - : executable(_executable) - , typeCallback(_typeCallback) - { - } +/*********************************************************************** +EndOfInput +***********************************************************************/ - ReturnStack* TraceManager::GetReturnStack(vint32_t index) + bool TraceManager::EndOfInput(bool& ambiguityInvolved) { - return returnStacks.Get(index); - } + CHECK_ERROR(state == TraceManagerState::WaitingForInput, L"vl::glr::automaton::TraceManager::EndOfInput()#Wrong timing to call this function."); + state = TraceManagerState::Finished; - ReturnStack* TraceManager::AllocateReturnStack() - { - return returnStacks.Get(returnStacks.Allocate()); - } + vint32_t traceCount = concurrentCount; + BeginSwap(); - Trace* TraceManager::GetTrace(vint32_t index) - { - return traces.Get(index); - } + // check all surviving traces and remove all that + // 1) does not stay in an ending state + // 2) return stack is not empty + // the remaining are all traces that successfully walked to the ending state of the root rule + for (vint32_t traceIndex = 0; traceIndex < traceCount; traceIndex++) + { + auto trace = concurrentTraces->Get(traceIndex); + auto actualTrace = EnsureTraceWithValidStates(trace); + auto& stateDesc = executable.states[actualTrace->state]; + if (actualTrace->returnStack == nullref && stateDesc.endingState) + { + AddTrace(trace); + } + } - Trace* TraceManager::AllocateTrace() - { - return traces.Get(traces.Allocate()); - } + EndSwap(); + if (concurrentCount == 0) return false; - Competition* TraceManager::GetCompetition(vint32_t index) - { - return competitions.Get(index); - } + FillSuccessorsAfterEndOfInput(ambiguityInvolved); + if (!ambiguityInvolved) + { + state = TraceManagerState::ResolvedAmbiguity; + auto step = GetExecutionStep(executionSteps.Allocate()); + firstStep = step; - Competition* TraceManager::AllocateCompetition() - { - return competitions.Get(competitions.Allocate()); - } + auto lastTrace = concurrentTraces->Get(0); + TraceInsLists insList; + ReadInstructionList(lastTrace, insList); - AttendingCompetitions* TraceManager::GetAttendingCompetitions(vint32_t index) - { - return attendingCompetitions.Get(index); + step->et_i.startTrace = initialTrace->allocatedIndex; + step->et_i.startIns = 0; + step->et_i.endTrace = lastTrace->allocatedIndex; + step->et_i.endIns = insList.c3 - 1; + } + return initialTrace; } - - AttendingCompetitions* TraceManager::AllocateAttendingCompetitions() + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMINPUT_AMBIGUITY.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + +/*********************************************************************** +EnsureTraceWithValidStates +***********************************************************************/ + + Trace* TraceManager::EnsureTraceWithValidStates(Trace* trace) + { + if (trace->state == -1) + { + return GetTrace(trace->predecessors.first); + } + else + { + return trace; + } + } + +/*********************************************************************** +AreTwoEndingInputTraceEqual +***********************************************************************/ + + bool TraceManager::AreTwoEndingInputTraceEqual(Trace* newTrace, Trace* candidate) + { + // two traces equal to each other if + // 1) they are in the same state + // 2) they have the same executedReturnStack (and therefore the same returnStack) + // 3) they are attending same competitions + // 4) they have the same switchValues + // 5) the candidate has an ending input + + candidate = EnsureTraceWithValidStates(candidate); + + if (candidate->byInput != Executable::EndingInput) return false; + if (newTrace->state != candidate->state) return false; + if (newTrace->executedReturnStack != candidate->executedReturnStack) return false; + if (newTrace->returnStack != candidate->returnStack) return false; + if (newTrace->competitionRouting.attendingCompetitions != candidate->competitionRouting.attendingCompetitions) return false; + return true; + } + +/*********************************************************************** +MergeTwoEndingInputTrace +***********************************************************************/ + + void TraceManager::MergeTwoEndingInputTrace(Trace* newTrace, Trace* candidate) + { + // goal of this function is to create a structure + // NEWTRACE ---+->AMBIGUITY + // | + // CANDIDATE --+ + + // if CANDIDATE is not a merged trace + // a former trace will copy CANDIDATE and insert before CANDIDATE + // and CANDIDATE will be initialized to an empty trace + + if (candidate->state == -1) + { + AddTraceToCollection(candidate, newTrace, &Trace::predecessors); + } + else + { + auto formerTrace = AllocateTrace(); + auto formerTraceId = formerTrace->allocatedIndex; + auto candidateId = candidate->allocatedIndex; + + *formerTrace = *candidate; + formerTrace->allocatedIndex = formerTraceId; + + *candidate = {}; + candidate->allocatedIndex = candidateId; + + AddTraceToCollection(candidate, formerTrace, &Trace::predecessors); + AddTraceToCollection(candidate, newTrace, &Trace::predecessors); + } + } + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMINPUT_COMPETITION.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + +/*********************************************************************** +AttendCompetition +***********************************************************************/ + + void TraceManager::AttendCompetition( + Trace* trace, + Ref& newAttendingCompetitions, + Ref& newCarriedCompetitions, + Ref returnStack, + vint32_t ruleId, + vint32_t clauseId, + bool forHighPriority + ) + { + // a competition is defined by its rule, clause and the owner trace + // but we don't need to compare the trace + // since only transitions starting from that trace will search competitions in that trace + // we only create a new Competition object if it has not been created for the trace yet + Competition* competition = nullptr; + { + auto cid = trace->competitionRouting.holdingCompetitions; + while (cid != nullref) + { + auto cpt = GetCompetition(cid); + if (cpt->ruleId == ruleId && cpt->clauseId == clauseId) + { + competition = cpt; + break; + } + cid = cpt->nextHoldCompetition; + } + } + + if (!competition) + { + // create a Competition object + competition = AllocateCompetition(); + competition->nextHoldCompetition = trace->competitionRouting.holdingCompetitions; + trace->competitionRouting.holdingCompetitions = competition; + + competition->currentTokenIndex = trace->currentTokenIndex; + competition->ruleId = ruleId; + competition->clauseId = clauseId; + + competition->nextActiveCompetition = activeCompetitions; + activeCompetitions = competition; + } + + // target traces from the current trace could attend different competitions + // but they also inherit all attending competitions from the current trace + // it is fine for different traces share all or part of AttendingCompetitions in their RuntimeRouting::attendingCompetitions linked list + // because if a competition is settled in the future + // AttendingCompetitions objects for this competition is going to be removed anyway + // sharing a linked list doesn't change the result + + auto ac = AllocateAttendingCompetitions(); + ac->competition = competition; + ac->forHighPriority = forHighPriority; + ac->returnStack = returnStack; + + ac->nextActiveAC = newAttendingCompetitions; + newAttendingCompetitions = ac; + + ac->nextCarriedAC = newCarriedCompetitions; + newCarriedCompetitions = ac; + } + +/*********************************************************************** +AttendCompetitionIfNecessary +***********************************************************************/ + + void TraceManager::AttendCompetitionIfNecessary( + Trace* trace, + vint32_t currentTokenIndex, + EdgeDesc& edgeDesc, + Ref& newAttendingCompetitions, + Ref& newCarriedCompetitions, + Ref& newReturnStack + ) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::AttendCompetitionIfNecessary(Trace*, EdgeDesc&, vint32_t&, vint32_t&)#" + newAttendingCompetitions = trace->competitionRouting.attendingCompetitions; + newCarriedCompetitions = trace->competitionRouting.carriedCompetitions; + newReturnStack = trace->returnStack; + + // visit each compact transition in order + // 1) returns + token + // 2) ending + // 3) leftrec + // find out if any of them attends a competition + + vint32_t edgeFromState = edgeDesc.fromState; + for (vint32_t returnRef = 0; returnRef < edgeDesc.returnIndices.count; returnRef++) + { + auto returnIndex = executable.returnIndices[edgeDesc.returnIndices.start + returnRef]; + auto&& returnDesc = executable.returns[returnIndex]; + + if (returnDesc.priority != EdgePriority::NoCompetition) + { + // attend a competition from a ReturnDesc edge + // find out the rule id and the clause id for this competition + // a ReturnDesc is a compact transition which consumes a rule + // so it does not points to the ending state + // therefore we just need the toState of this ReturnDesc for reference + auto&& stateForClause = executable.states[returnDesc.returnState]; + vint32_t competitionRule = stateForClause.rule; + vint32_t competitionClause = stateForClause.clause; + CHECK_ERROR(competitionRule != -1 && competitionClause != -1, ERROR_MESSAGE_PREFIX L"Illegal rule or clause id."); + AttendCompetition(trace, newAttendingCompetitions, newCarriedCompetitions, newReturnStack, competitionRule, competitionClause, returnDesc.priority == EdgePriority::HighPriority); + } + + // push this ReturnDesc to the ReturnStack + newReturnStack = PushReturnStack( + newReturnStack, returnIndex, + trace, + currentTokenIndex, + (returnDesc.ruleType != ReturnRuleType::Reuse) + ); + edgeFromState = executable.ruleStartStates[returnDesc.consumedRule]; + } + + if (edgeDesc.priority != EdgePriority::NoCompetition) + { + // attend a competition from a EdgeDesc edge + // find out the rule id and the clause id for this competition + auto&& fromState = executable.states[edgeFromState]; + auto&& toState = executable.states[edgeDesc.toState]; + vint32_t competitionRule = toState.rule; + vint32_t competitionClause = toState.clause; + if (toState.endingState) + { + competitionRule = fromState.rule; + competitionClause = fromState.clause; + } + CHECK_ERROR(competitionRule != -1 && competitionClause != -1, ERROR_MESSAGE_PREFIX L"Illegal rule or clause id."); + AttendCompetition(trace, newAttendingCompetitions, newCarriedCompetitions, newReturnStack, competitionRule, competitionClause, edgeDesc.priority == EdgePriority::HighPriority); + } +#undef ERROR_MESSAGE_PREFIX + } + +/*********************************************************************** +CheckAttendingCompetitionsOnEndingEdge +***********************************************************************/ + + void TraceManager::CheckAttendingCompetitionsOnEndingEdge( + Trace* trace, + EdgeDesc& edgeDesc, + Ref acId, + Ref returnStack + ) + { + while (acId != nullref) + { + // when executing an EndingInput transition, we announce high priority win a competition if + // 1) such EndingInput transitions ends the clause, and the state of the trace holding competition belongs to the same clause + // we ensure this by comparing rule id, clause id in Competition + // and compare ReturnStack object (not content) in AttendingCompetitions + // the reason returnStack is not in Competition is that + // different transitions always create new ReturnStack objects + // 2) this trace bets high + // 3) the competition has not been settled + auto ac = GetAttendingCompetitions(acId); + if (ac->returnStack == returnStack) + { + auto cpt = GetCompetition(ac->competition); + // ensure that this EndingInput edge and the competition belong to the same clause + auto&& stateDesc = executable.states[edgeDesc.fromState]; + if (cpt->ruleId == stateDesc.rule && cpt->clauseId == stateDesc.clause) + { + // check if it is a high bet + if (ac->forHighPriority && cpt->status == CompetitionStatus::Holding) + { + cpt->status = CompetitionStatus::HighPriorityWin; + } + } + } + acId = ac->nextActiveAC; + } + } + +/*********************************************************************** +CheckBackupTracesBeforeSwapping +***********************************************************************/ + + void TraceManager::CheckBackupTracesBeforeSwapping(vint32_t currentTokenIndex) + { + // try to find if any competition could be settled at this moment + + { + // reset highCounter and lowCounter for any active competitions + auto cId = activeCompetitions; + while (cId != nullref) + { + auto cpt = GetCompetition(cId); + cpt->highCounter = 0; + cpt->lowCounter = 0; + cId = cpt->nextActiveCompetition; + } + } + + // for any surviving traces + // add itself to the appriopriate counter for all attending competitions + for (vint i = 0; i < concurrentCount; i++) + { + auto trace = EnsureTraceWithValidStates(backupTraces->Get(i)); + auto acId = trace->competitionRouting.attendingCompetitions; + while (acId != nullref) + { + auto ac = GetAttendingCompetitions(acId); + auto cpt = GetCompetition(ac->competition); + (ac->forHighPriority ? cpt->highCounter : cpt->lowCounter)++; + acId = ac->nextActiveAC; + } + } + + // revisit all active competitions + // some competitions could have been settled + // but settled competitions will only be removed before consuming the next token + { + auto cId = activeCompetitions; + while (cId != nullref) + { + auto cpt = GetCompetition(cId); + if (cpt->status == CompetitionStatus::Holding) + { + if (cpt->highCounter > 0 && cpt->lowCounter == 0) + { + // if only high bet traces survive, high priority win + cpt->status = CompetitionStatus::HighPriorityWin; + } + else if (cpt->highCounter == 0 && cpt->lowCounter > 0) + { + // if only low bet traces survive + // low priority win after at least one token is consumed from when the competition is created + // low priority epsilon transitions could have been visited right after a competition is created + // but high priority token transitions could only be visited when consuming the next token + // if all high priority transitions are token transitions + // and all low priority transitions are epsilon transitions + // closing the competition too early will direct to a wrong result + // so we need to wait at least one step to see if any trace will visit the high priority transition in the future + if (cpt->currentTokenIndex != currentTokenIndex) + { + cpt->status = CompetitionStatus::LowPriorityWin; + } + } + } + cId = cpt->nextActiveCompetition; + } + } + + // for any surviving traces + // if it loses any one of its attending competitions + // this trace will be removed + for (vint i = concurrentCount - 1; i >= 0; i--) + { + auto trace =EnsureTraceWithValidStates(backupTraces->Get(i)); + auto acId = trace->competitionRouting.attendingCompetitions; + while (acId != nullref) + { + auto ac = GetAttendingCompetitions(acId); + auto cpt = GetCompetition(ac->competition); + if (cpt->status != CompetitionStatus::Holding) + { + ac->closed = true; + if (ac->forHighPriority != (cpt->status == CompetitionStatus::HighPriorityWin)) + { + concurrentCount--; + backupTraces->RemoveAt(i); + goto TRACE_REMOVED; + } + } + acId = ac->nextActiveAC; + } + TRACE_REMOVED:; + } + + // remove all settled competition from the active competitions linked list + { + auto pnext = &activeCompetitions; + while (*pnext != nullref) + { + auto cpt = GetCompetition(*pnext); + if (cpt->status != CompetitionStatus::Holding || (cpt->highCounter == 0 && cpt->lowCounter == 0)) + { + *pnext = cpt->nextActiveCompetition; + } + else + { + pnext = &cpt->nextActiveCompetition; + } + } + } + + // remove all settled AttendingCompetitions object from linked lists of any surviving trace + for (vint i = 0; i < concurrentCount; i++) + { + auto trace = EnsureTraceWithValidStates(backupTraces->Get(i)); + auto* pnext = &trace->competitionRouting.attendingCompetitions; + while (*pnext != nullref) + { + auto ac = GetAttendingCompetitions(*pnext); + if (ac->closed) + { + *pnext = ac->nextActiveAC; + } + else + { + pnext = &ac->nextActiveAC; + } + } + } + } + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMINPUT_RETURNSTACK.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + +/*********************************************************************** +GetCurrentSuccessorInReturnStack +***********************************************************************/ + + ReturnStackSuccessors* TraceManager::GetCurrentSuccessorInReturnStack(Ref base, vint32_t currentTokenIndex) + { + auto& cache = base == nullref ? initialReturnStackCache : GetReturnStack(base)->cache; + if (cache.successors.tokenIndex == currentTokenIndex) + { + return &cache.successors; + } + if (cache.lastSuccessors.tokenIndex == currentTokenIndex) + { + return &cache.lastSuccessors; + } + + CHECK_ERROR(currentTokenIndex > cache.successors.tokenIndex, L"vl::glr::automaton::TraceManager::GetCurrentSuccessorInReturnStack(vint32_t, vint32_t)#ReturnStackSuccessors::tokenIndex corrupted."); + cache.lastSuccessors = cache.successors; + cache.successors = {}; + cache.successors.tokenIndex = currentTokenIndex; + return &cache.successors; + } + +/*********************************************************************** +PushReturnStack +***********************************************************************/ + + ReturnStack* TraceManager::PushReturnStack(Ref base, vint32_t returnIndex, Ref fromTrace, vint32_t currentTokenIndex, bool allowReuse) + { + auto siblings = allowReuse ? GetCurrentSuccessorInReturnStack(base, currentTokenIndex) : nullptr; + + if (siblings) + { + auto successorId = siblings->first; + while (successorId != nullref) + { + auto successor = GetReturnStack(successorId); + successorId = successor->cache.next; + + if (successor->returnIndex == returnIndex && successor->fromTrace == fromTrace) + { + return successor; + } + } + } + + auto returnStack = AllocateReturnStack(); + returnStack->previous = base; + returnStack->returnIndex = returnIndex; + returnStack->fromTrace = fromTrace; + returnStack->cache.tokenIndex = currentTokenIndex; + + if (siblings) + { + if (siblings->first == nullref) + { + siblings->first = returnStack; + siblings->last = returnStack; + } + else + { + GetReturnStack(siblings->last)->cache.next = returnStack; + returnStack->cache.prev = siblings->last; + siblings->last = returnStack; + } + } + return returnStack; + } + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMINPUT_WALK.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + +/*********************************************************************** +TraceManager::IsQualifiedTokenForCondition +***********************************************************************/ + + bool TraceManager::IsQualifiedTokenForCondition(regex::RegexToken* token, StringLiteral condition) + { + if (condition.start == -1) return true; + if (token->length != condition.count) return false; + auto reading = executable.stringLiteralBuffer.Buffer(); + if (memcmp(token->reading, reading + condition.start, sizeof(wchar_t) * condition.count) != 0) return false; + return true; + } + +/*********************************************************************** +TraceManager::IsQualifiedTokenForEdgeArray +***********************************************************************/ + + bool TraceManager::IsQualifiedTokenForEdgeArray(regex::RegexToken* token, EdgeArray& edgeArray) { - return attendingCompetitions.Get(attendingCompetitions.Allocate()); + for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) + { + vint32_t byEdge = edgeArray.start + edgeRef; + auto& edgeDesc = executable.edges[byEdge]; + if (IsQualifiedTokenForCondition(token, edgeDesc.condition)) return true; + } + return false; + } + +/*********************************************************************** +TraceManager::WalkAlongSingleEdge +***********************************************************************/ + + WalkingTrace TraceManager::WalkAlongSingleEdge( + vint32_t currentTokenIndex, + vint32_t input, + WalkingTrace trace, + vint32_t byEdge, + EdgeDesc& edgeDesc + ) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::WalkAlongSingleEdge(vint, vint, vint, Trace*, vint, EdgeDesc&)#" + vint32_t state = edgeDesc.toState; + Ref returnStack; + Ref attendingCompetitions; + Ref carriedCompetitions; + Ref executedReturnStack; + Trace* ambiguityTraceToMerge = nullptr; + + // attend a competition hold by the current trace if the priority is set for this output transition + AttendCompetitionIfNecessary(trace.stateTrace, currentTokenIndex, edgeDesc, attendingCompetitions, carriedCompetitions, returnStack); + + if (input == Executable::EndingInput) + { + // an EndingInput transition consume return record in the return stack + // such return will be popped from the return stack and stored in Trace::executedReturnStack + CHECK_ERROR(edgeDesc.returnIndices.count == 0, ERROR_MESSAGE_PREFIX L"Ending input edge is not allowed to push something into the return stack."); + if (returnStack != nullref) + { + executedReturnStack = returnStack; + auto rs = GetReturnStack(returnStack); + returnStack = rs->previous; + state = executable.returns[rs->returnIndex].returnState; + } + + // an EndingInput transition also settle a competition if + // 1) there is a competition + // 2) the returnStack of the trace holding the competition is the same to the current returnStack + // 3) the target trace bets high priority + // in this case, high priority traces wins the competition + // but no traces are being removed for now, just mark the competition + CheckAttendingCompetitionsOnEndingEdge(trace.stateTrace, edgeDesc, attendingCompetitions, trace.stateTrace->returnStack); + } + + // create a new trace for this current move + auto newTrace = AllocateTrace(); + AddTraceToCollection(newTrace, trace.currentTrace, &Trace::predecessors); + newTrace->state = state; + newTrace->returnStack = returnStack; + newTrace->executedReturnStack = executedReturnStack; + newTrace->byEdge = byEdge; + newTrace->byInput = input; + newTrace->currentTokenIndex = currentTokenIndex; + newTrace->competitionRouting.attendingCompetitions = attendingCompetitions; + newTrace->competitionRouting.carriedCompetitions = carriedCompetitions; + + if (input == Executable::EndingInput) + { + // see if the target trace has the same state to any other surviving trace + for (vint i = 0; i < concurrentCount; i++) + { + auto& candidate = backupTraces->operator[](i); + if (candidate->byInput == Executable::EndingInput || candidate->state == -1) + { + if (AreTwoEndingInputTraceEqual(newTrace, candidate)) + { + // create a merging + MergeTwoEndingInputTrace(newTrace, candidate); + return { nullptr,nullptr }; + } + } + } + } + + // add to the current trace list only if it is not involved in ambiguity resolving + AddTrace(newTrace); + return { newTrace,newTrace }; +#undef ERROR_MESSAGE_PREFIX + } + +/*********************************************************************** +TraceManager::WalkAlongEpsilonEdges +***********************************************************************/ + + void TraceManager::WalkAlongLeftrecEdges( + vint32_t currentTokenIndex, + regex::RegexToken* lookAhead, + WalkingTrace trace, + EdgeArray& edgeArray + ) + { + // if there is no more token + // then it is not possible for more left recursions + if (!lookAhead) return; + + for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) + { + vint32_t byEdge = edgeArray.start + edgeRef; + auto& edgeDesc = executable.edges[byEdge]; + + // see if the target state could consume that token + vint32_t lookAheadTransitionIndex = executable.GetTransitionIndex(edgeDesc.toState, Executable::TokenBegin + (vint32_t)lookAhead->token); + auto& lookAheadEdgeArray = executable.transitions[lookAheadTransitionIndex]; + if (!IsQualifiedTokenForEdgeArray(lookAhead, lookAheadEdgeArray)) continue; + + // proceed only if it can + WalkAlongSingleEdge(currentTokenIndex, Executable::LeftrecInput, trace, byEdge, edgeDesc); + + // A LeftrecInput transition points to a non ending state in another clause + // so there is no need to find other epsilon transitions after LeftrecInput + } + } + + void TraceManager::WalkAlongEpsilonEdges( + vint32_t currentTokenIndex, + regex::RegexToken* lookAhead, + WalkingTrace trace + ) + { + // if we could walk along multiple EndingInput transition + // but the last several transition will fail + // then creating them is wasting the performance + // so we count how many EndingInput transition we could walk along first + + vint32_t endingCount = -1; + + if (!lookAhead) + { + // if there is no more tokens + // then we have to go all the way to the end anyway + vint32_t currentState = trace.stateTrace->state; + auto currentReturnStack = trace.stateTrace->returnStack; + + while (currentState != -1) + { + vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::EndingInput); + auto&& edgeArray = executable.transitions[transitionIndex]; + + // at most one EndingInput transition could exist from any state + CHECK_ERROR(edgeArray.count < 2, L"vl::glr::automaton::TraceManager::WalkAlongEpsilonEdges(vint32_t, vint32_t, Trace*)#Too many EndingInput transitions."); + + if (edgeArray.count == 0) + { + // if there is no more EndingInput to go + // and the current state is not an ending state + // then we just give up + + auto&& stateDesc = executable.states[currentState]; + if (stateDesc.endingState) + { + currentState = -1; + } + else + { + return; + } + } + else if (currentReturnStack == nullref) + { + vint32_t byEdge = edgeArray.start; + auto& edgeDesc = executable.edges[byEdge]; + currentState = edgeDesc.toState; + } + else + { + auto rs = GetReturnStack(currentReturnStack); + currentReturnStack = rs->previous; + currentState = executable.returns[rs->returnIndex].returnState; + } + } + } + else + { + // otherwise we see how many EndingInput transition we need to walk along + vint32_t currentCount = 0; + vint32_t currentState = trace.stateTrace->state; + auto currentReturnStack = trace.stateTrace->returnStack; + + while (currentState != -1) + { + currentCount++; + + // try LeftrecInput + lookAhead + { + vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::LeftrecInput); + auto&& edgeArray = executable.transitions[transitionIndex]; + for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) + { + vint32_t byEdge = edgeArray.start + edgeRef; + auto& edgeDesc = executable.edges[byEdge]; + vint32_t lookAheadTransitionIndex = executable.GetTransitionIndex(edgeDesc.toState, Executable::TokenBegin + (vint32_t)lookAhead->token); + auto& lookAheadEdgeArray = executable.transitions[lookAheadTransitionIndex]; + + // mark this EndingInput if any LeftrecInput + lookAhead transition exists + if (IsQualifiedTokenForEdgeArray(lookAhead, lookAheadEdgeArray)) + { + endingCount = currentCount; + goto TRY_ENDING_INPUT; + } + } + } + + // try lookAhead + { + vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::TokenBegin + (vint32_t)lookAhead->token); + auto&& edgeArray = executable.transitions[transitionIndex]; + + // mark this EndingInput if lookAhead transition exists + if (IsQualifiedTokenForEdgeArray(lookAhead, edgeArray)) + { + endingCount = currentCount; + } + } + + // try EndingInput + TRY_ENDING_INPUT: + { + vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::EndingInput); + auto&& edgeArray = executable.transitions[transitionIndex]; + + // at most one EndingInput transition could exist from any state + CHECK_ERROR(edgeArray.count < 2, L"vl::glr::automaton::TraceManager::WalkAlongEpsilonEdges(vint32_t, vint32_t, Trace*)#Too many EndingInput transitions."); + + if (edgeArray.count == 0 || currentReturnStack == nullref) + { + // currentReturnStack == -1 means this is the last possible EndingInput + // no need to test forward + // because if the current EndingInput is doable + // it would have already been marked + currentState = -1; + } + else + { + auto rs = GetReturnStack(currentReturnStack); + currentReturnStack = rs->previous; + currentState = executable.returns[rs->returnIndex].returnState; + } + } + } + } + + for (vint32_t i = 0; trace && (i < endingCount || endingCount == -1); i++) + { + { + // LeftrecInput transition is an epsilon transition + vint32_t transitionIndex = executable.GetTransitionIndex(trace.stateTrace->state, Executable::LeftrecInput); + auto&& edgeArray = executable.transitions[transitionIndex]; + WalkAlongLeftrecEdges(currentTokenIndex, lookAhead, trace, edgeArray); + } + + // EndingInput transition is an epsilon transition + vint32_t transitionIndex = executable.GetTransitionIndex(trace.stateTrace->state, Executable::EndingInput); + auto&& edgeArray = executable.transitions[transitionIndex]; + + // it has been ensured that edgeArray.count < 2 + if (edgeArray.count == 0) + { + trace = { nullptr,nullptr }; + } + else + { + vint32_t byEdge = edgeArray.start; + auto& edgeDesc = executable.edges[byEdge]; + trace = WalkAlongSingleEdge(currentTokenIndex, Executable::EndingInput, trace, byEdge, edgeDesc); + + // EndingInput could be followed by EndingInput or LeftrecInput + } + } + } + +/*********************************************************************** +TraceManager::WalkAlongTokenEdges +***********************************************************************/ + + void TraceManager::WalkAlongTokenEdges( + vint32_t currentTokenIndex, + vint32_t input, + regex::RegexToken* token, + regex::RegexToken* lookAhead, + WalkingTrace trace, + EdgeArray& edgeArray + ) + { + // find all transitions that has the expected input + // there could be multiple transitions with the same input + // but with different instructions and destinations + for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) + { + vint32_t byEdge = edgeArray.start + edgeRef; + auto& edgeDesc = executable.edges[edgeArray.start + edgeRef]; + if (IsQualifiedTokenForCondition(token, edgeDesc.condition)) + { + if (auto newTrace = WalkAlongSingleEdge(currentTokenIndex, input, trace, byEdge, edgeDesc)) + { + // continue with as much EndingInput and LeftrecInput transitions as possible + // TokenInput could be followed by EndingInput or LeftrecInput + WalkAlongEpsilonEdges(currentTokenIndex, lookAhead, newTrace); + } + } + } } + } + } +} - void TraceManager::Initialize(vint32_t startState) +/*********************************************************************** +.\TRACEMANAGER\TMPTR.CPP +***********************************************************************/ + +#if defined VCZH_MSVC && defined _DEBUG +#define VCZH_DO_DEBUG_CHECK +#endif + +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +DebugCheckTraceExecData +***********************************************************************/ + +#ifdef VCZH_DO_DEBUG_CHECK + void TraceManager::DebugCheckTraceExecData() { - state = TraceManagerState::WaitingForInput; +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::DebugCheckTraceExecData()#" + IterateSurvivedTraces( + [this](Trace* trace, Trace* predecessor, vint32_t visitCount, vint32_t predecessorCount) + { + if (predecessorCount <= 1) + { + auto traceExec = GetTraceExec(trace->traceExecRef); + for (vint32_t insRef = 0; insRef < traceExec->insExecRefs.count; insRef++) + { + auto&& ins = ReadInstruction(insRef, traceExec->insLists); + auto insExec = GetInsExec(traceExec->insExecRefs.start + insRef); - returnStacks.Clear(); - traces.Clear(); - competitions.Clear(); - attendingCompetitions.Clear(); + // ensure BO/BOLR/DFA are closed + switch (ins.type) + { + case AstInsType::BeginObject: + case AstInsType::BeginObjectLeftRecursive: + case AstInsType::DelayFieldAssignment: + CHECK_ERROR(insExec->eoInsRefs != nullref, ERROR_MESSAGE_PREFIX L"Internal error: BO/BOLA/DFA not closed."); + break; + } - traces1.Clear(); - traces2.Clear(); - concurrentTraces = &traces1; - backupTraces = &traces2; + // ensure DFA are associated with objects closed + switch (ins.type) + { + case AstInsType::DelayFieldAssignment: + CHECK_ERROR(insExec->objRefs != nullref, ERROR_MESSAGE_PREFIX L"Internal error: DFA not associated."); + break; + } + } + } + } + ); +#undef ERROR_MESSAGE_PREFIX + } +#endif + +/*********************************************************************** +PrepareTraceRoute +***********************************************************************/ - activeCompetitions = -1; - initialReturnStackSuccessors = {}; + void TraceManager::PrepareTraceRoute() + { + CHECK_ERROR(state == TraceManagerState::Finished, L"vl::glr::automaton::TraceManager::PrepareTraceRoute()#Wrong timing to call this function."); + state = TraceManagerState::PreparedTraceRoute; - initialTrace = AllocateTrace(); - initialTrace->state = startState; - concurrentCount = 1; - concurrentTraces->Add(initialTrace); + AllocateExecutionData(); + PartialExecuteTraces(); + BuildAmbiguityStructures(); +#ifdef VCZH_DO_DEBUG_CHECK + DebugCheckTraceExecData(); +#endif } } } } +#if defined VCZH_MSVC && defined _DEBUG +#undef VCZH_DO_DEBUG_CHECK +#endif + /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_EXECUTETRACE.CPP +.\TRACEMANAGER\TMPTR_ALLOCATEEXECUTIONDATA.CPP ***********************************************************************/ namespace vl @@ -2724,306 +3815,207 @@ namespace vl namespace automaton { /*********************************************************************** -TraceManager::ExecuteTrace +AllocateExecutionData ***********************************************************************/ - struct TraceManagerSubmitter + void TraceManager::AllocateExecutionData() { - // AccumulatedDfa - vint32_t adfaCount = 0; - vint32_t adfaIndex = -1; - regex::RegexToken* adfaToken = nullptr; - - // AccumulatedEoRo - vint32_t aeoroCount = 0; - vint32_t aeoroIndex = -1; - regex::RegexToken* aeoroToken = nullptr; - - // Caching - AstIns cachedIns; - vint32_t cachedIndex = -1; - regex::RegexToken* cachedToken = nullptr; - - IAstInsReceiver* receiver = nullptr; - - void Submit(AstIns& ins, regex::RegexToken& token, vint32_t tokenIndex) +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::AllocateExecutionData()#" + vint32_t insExecCount = 0; + auto nextBranchTrace = &firstBranchTrace; + auto nextMergeTrace = &firstMergeTrace; + IterateSurvivedTraces([&](Trace* trace, Trace* predecessor, vint32_t visitCount, vint32_t predecessorCount) { - // multiple DelayFieldAssignment are compressed to single AccumulatedDfa - // multiple EndObject+ReopenObject are compressed to single AccumulatedEoRo + // ensure traceExecRef reflects the partial order of the execution order of traces + if (predecessorCount > 1 && visitCount != predecessorCount) return; - switch (ins.type) - { - case AstInsType::DelayFieldAssignment: - if (aeoroToken == nullptr && cachedToken == nullptr && (adfaToken == nullptr || adfaToken == &token)) - { - adfaCount++; - adfaIndex = tokenIndex; - adfaToken = &token; - } - else - { - ExecuteSubmitted(); - adfaCount = 1; - adfaIndex = tokenIndex; - adfaToken = &token; - } - break; - case AstInsType::EndObject: - if (adfaToken == nullptr && cachedToken == nullptr) - { - cachedIns = ins; - cachedIndex = tokenIndex; - cachedToken = &token; - } - else - { - ExecuteSubmitted(); - cachedIns = ins; - cachedIndex = tokenIndex; - cachedToken = &token; - } - break; - case AstInsType::ReopenObject: - if (adfaToken != nullptr || cachedToken == nullptr || cachedIns.type != AstInsType::EndObject) - { - ExecuteSubmitted(); - receiver->Execute(ins, token, tokenIndex); - } - else if ((aeoroToken == nullptr || aeoroToken == &token) && cachedToken == &token) - { - aeoroCount++; - aeoroIndex = tokenIndex; - aeoroToken = &token; - cachedToken = nullptr; - } - else if (cachedToken == &token) - { - cachedToken = nullptr; - ExecuteSubmitted(); - aeoroCount = 1; - aeoroIndex = tokenIndex; - aeoroToken = &token; - } - else - { - ExecuteSubmitted(); - receiver->Execute(ins, token, tokenIndex); - } - break; - default: - ExecuteSubmitted(); - receiver->Execute(ins, token, tokenIndex); - } - } + CHECK_ERROR(trace->traceExecRef == nullref, ERROR_MESSAGE_PREFIX L"Internal error: IterateSurvivedTraces unexpectedly revisit a trace."); + trace->traceExecRef = traceExecs.Allocate(); - void ExecuteSubmitted() - { - if (adfaToken) + auto traceExec = GetTraceExec(trace->traceExecRef); + traceExec->traceId = trace; + ReadInstructionList(trace, traceExec->insLists); + if (traceExec->insLists.c3 > 0) { - if (adfaCount == 1) - { - AstIns ins = { AstInsType::DelayFieldAssignment }; - receiver->Execute(ins, *adfaToken, adfaIndex); - } - else - { - AstIns ins = { AstInsType::AccumulatedDfa,-1,adfaCount }; - receiver->Execute(ins, *adfaToken, adfaIndex); - } - adfaCount = 0; - adfaToken = nullptr; + traceExec->insExecRefs.start = insExecCount; + traceExec->insExecRefs.count = traceExec->insLists.c3; + insExecCount += traceExec->insLists.c3; } - if (aeoroToken) + + // fill branch trace linked list + if (trace->successors.first != trace->successors.last) { - AstIns ins = { AstInsType::AccumulatedEoRo,-1,aeoroCount }; - receiver->Execute(ins, *aeoroToken, aeoroIndex); - aeoroCount = 0; - aeoroToken = nullptr; + *nextBranchTrace = trace; + nextBranchTrace = &traceExec->nextBranchTrace; } - if (cachedToken) + + // fill merge branch linked list + if (trace->predecessors.first != trace->predecessors.last) { - receiver->Execute(cachedIns, *cachedToken, aeoroIndex); - cachedToken = nullptr; + *nextMergeTrace = trace; + nextMergeTrace = &traceExec->nextMergeTrace; } - } - }; + }); + insExecs.Resize(insExecCount); +#undef ERROR_MESSAGE_PREFIX + } + } + } +} - Ptr TraceManager::ExecuteTrace(Trace* trace, IAstInsReceiver& receiver, collections::List& tokens) - { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::ExecuteTrace(Trace*, IAstInsReceiver&, List&)#" - CHECK_ERROR(state == TraceManagerState::PreparedTraceRoute, ERROR_MESSAGE_PREFIX L"Wrong timing to call this function."); +/*********************************************************************** +.\TRACEMANAGER\TMPTR_BUILDAMBIGUITYSTRUCTURES.CPP +***********************************************************************/ - TraceManagerSubmitter submitter; - submitter.receiver = &receiver; +namespace vl +{ + namespace glr + { + namespace automaton + { +#define NEW_MERGE_STACK_MAGIC_COUNTER (void)(MergeStack_MagicCounter++) - // execute from the root trace +/*********************************************************************** +BuildAmbiguityStructures +***********************************************************************/ - vint32_t startIns = 0; - while (trace) + Trace* TraceManager::StepForward(Trace* trace) + { + auto traceExec = GetTraceExec(trace->traceExecRef); + + // for ordinary trace, go to its forwardTrace + if (traceExec->branchData.forwardTrace != trace) { - TraceInsLists insLists; - ReadInstructionList(trace, insLists); + return GetTrace(traceExec->branchData.forwardTrace); + } - vint32_t minIns = 0; - vint32_t maxIns = insLists.c3 - 1; - if (trace->ambiguityMergeInsPostfix != -1) - { - minIns = insLists.c3 - trace->ambiguityMergeInsPostfix; - } - if (trace->ambiguityBranchInsPostfix != -1) - { - maxIns = insLists.c3 - trace->ambiguityBranchInsPostfix - 1; - } + // for initialTrace, stop + if (trace->predecessors.first == nullref) + { + return nullptr; + } + + // for merge trace, go to the forwardTrace of its commonForwardTrace + if (trace->predecessors.first != trace->predecessors.last) + { + return GetTrace(GetTraceExec(GetTrace(traceExec->branchData.commonForwardBranch)->traceExecRef)->branchData.forwardTrace); + } - // if the current trace is an ambiguity resolving trace - // we check if all predecessors has been visited - // if yes, we continue - // if no, we jump to the BeginObject and repeat it again + // otherwise, it is a successor of a branch trace + // go to its predecessor's forwardTrace + return GetTrace(GetTraceExec(GetTrace(trace->predecessors.first)->traceExecRef)->branchData.forwardTrace); + } - if (trace->ambiguity.traceBeginObject != -1 && trace->ambiguityRouting.predecessorCount == -1) + void TraceManager::BuildAmbiguityStructures() + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::BuildAmbiguityStructures()#" + IterateSurvivedTraces( + [this](Trace* trace, Trace* predecessor, vint32_t visitCount, vint32_t predecessorCount) { - // we need to know how many predecessors there - // the number is calculated and cached when an ambiguity resolving trace is visited for the first time - trace->ambiguityRouting.predecessorCount = 0; - auto predecessorId = trace->predecessors.first; - while (predecessorId != -1) + auto traceExec = GetTraceExec(trace->traceExecRef); + if (predecessorCount == 0) { - trace->ambiguityRouting.predecessorCount++; - predecessorId = GetTrace(predecessorId)->predecessors.siblingNext; + // for initialTrace, forwardTrace is itself + traceExec->branchData.forwardTrace = trace; } - } - - if (trace->ambiguity.traceBeginObject != -1) - { - if (0 <= trace->ambiguity.insEndObject && trace->ambiguity.insEndObject < insLists.c3) + else if (predecessorCount == 1) { - // execute from the beginning to EndObject instruction if it exists - // if ambiguityMergeInsPostfix exists - // then insEndObject will be the last instruction in the prefix - // so it is skipped and this loop does nothing - // the EndObject instruction has already been executed by its predecessors - for (vint32_t i = minIns; i <= trace->ambiguity.insEndObject; i++) + if (predecessor->successors.first != predecessor->successors.last) + { + // for any successors of a branch trace, forwardTrace is itself + traceExec->branchData.forwardTrace = trace; + } + else { - auto& ins = ReadInstruction(i, insLists); - auto& token = tokens[trace->currentTokenIndex]; - submitter.Submit(ins, token, trace->currentTokenIndex); + // if any ordinary trace, use the data from its predecessor + traceExec->branchData.forwardTrace = GetTraceExec(predecessor->traceExecRef)->branchData.forwardTrace ; } } else { - // otherwise this must be the trace created by CreateLastMergingTrace - CHECK_ERROR(insLists.c3 == 0 && trace->successors.first == -1 && trace->successors.last == -1, ERROR_MESSAGE_PREFIX L"Instruction index out of range."); - } - - // for any ambiguity resolving trace - // we check all predecessors has been visited - trace->ambiguityRouting.branchVisited++; - auto traceBeginObject = GetTrace(trace->ambiguity.traceBeginObject); + CHECK_ERROR(predecessor->state != -1, ERROR_MESSAGE_PREFIX L"Predecessor trace of a merge trace cannot be a merge trace."); - if (trace->ambiguityRouting.branchVisited == trace->ambiguityRouting.predecessorCount) - { - // if all predecessors has been visited - // we reset the number to 0 - // because TraceManager::ExecuteTrace could be called multiple time - trace->ambiguityRouting.branchVisited = 0; + if (visitCount == 1) { - // submit a ResolveAmbiguity instruction - auto& token = tokens[trace->currentTokenIndex]; - AstIns insResolve = { AstInsType::ResolveAmbiguity,trace->ambiguity.ambiguityType,trace->ambiguityRouting.predecessorCount }; - submitter.Submit(insResolve, token, trace->currentTokenIndex); - } + // for any merge trace, forwardTrace is itself + traceExec->branchData.forwardTrace = trace; - // execute all instructions after EndObject - // these part should not be repeated - for (vint32_t i = trace->ambiguity.insEndObject + 1; i <= maxIns; i++) + // for the first visiting, set commonForwardBranch to the forwardTrace of its first predecessor + traceExec->branchData.commonForwardBranch = GetTrace(GetTraceExec(predecessor->traceExecRef)->branchData.forwardTrace); + } + else { - auto& ins = ReadInstruction(i, insLists); - auto& token = tokens[trace->currentTokenIndex]; - submitter.Submit(ins, token, trace->currentTokenIndex); + // find the latest forwardTrace of its commonForwardBranch and the forwardTrace of the predecessor + NEW_MERGE_STACK_MAGIC_COUNTER; + + auto currentTrace = GetTrace(traceExec->branchData.commonForwardBranch); + while (currentTrace) + { + GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter = MergeStack_MagicCounter; + currentTrace = StepForward(currentTrace); + } + + currentTrace = GetTrace(GetTraceExec(predecessor->traceExecRef)->branchData.forwardTrace); + while (currentTrace) + { + if (GetTraceExec(currentTrace->traceExecRef)->branchData.mergeCounter == MergeStack_MagicCounter) + { + break; + } + currentTrace = StepForward(currentTrace); + } + CHECK_ERROR(currentTrace != nullptr, ERROR_MESSAGE_PREFIX L"Cannot determine commonForwardBranch of a merge trace."); + traceExec->branchData.commonForwardBranch = currentTrace; } } - else - { - // if there are unvisited predecessors - // we jump to the BeginObject instruction and repeat it again - startIns = trace->ambiguity.insBeginObject; - trace = traceBeginObject; - goto FOUND_NEXT_TRACE; - } - } - else - { - // otherwise, just submit instructions - CHECK_ERROR(minIns <= startIns, ERROR_MESSAGE_PREFIX L"startIns corrupted."); - for (vint32_t i = startIns; i <= maxIns; i++) - { - auto& ins = ReadInstruction(i, insLists); - auto& token = tokens[trace->currentTokenIndex]; - submitter.Submit(ins, token, trace->currentTokenIndex); - } } + ); +#undef ERROR_MESSAGE_PREFIX + } - if (trace->successors.first == -1) - { - trace = nullptr; - startIns = 0; - } - else if (trace->successors.first == trace->successors.last) - { - trace = GetTrace(trace->successors.first); - startIns = 0; - } - else - { - // if there are multiple successors - // whenever this trace is visited - // we pick a different successor to continue - auto nextSuccessorId = trace->successors.first; - Trace* successor = nullptr; - for (vint i = 0; i <= trace->ambiguityRouting.branchVisited; i++) - { - CHECK_ERROR(nextSuccessorId != -1, ERROR_MESSAGE_PREFIX L"branchVisited corrupted."); - successor = GetTrace(nextSuccessorId); - nextSuccessorId = successor->successors.siblingNext; - } +#undef NEW_MERGE_STACK_MAGIC_COUNTER + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +PartialExecuteTraces +***********************************************************************/ - if (nextSuccessorId == -1) + void TraceManager::PartialExecuteTraces() + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::PartialExecuteTraces()#" + IterateSurvivedTraces( + [this](Trace* trace, Trace* predecessor, vint32_t visitCount, vint32_t predecessorCount) + { + if (predecessorCount <= 1) { - trace->ambiguityRouting.branchVisited = 0; + PartialExecuteOrdinaryTrace(trace); } else { - trace->ambiguityRouting.branchVisited++; - } + if (visitCount > 1) + { + EnsureInsExecContextCompatible(predecessor, GetTrace(trace->predecessors.first)); + } - // this could happen when all BeginObject are in successors - // if the current successor is the first successor - // then we need to execute the prefix - if (startIns >= insLists.c3) - { - startIns -= insLists.c3; - if (trace->successors.first == successor->allocatedIndex) + if (visitCount == predecessorCount) { - ReadInstructionList(successor, insLists); - for (vint32_t i = 0; i < startIns; i++) - { - auto& ins = ReadInstruction(i, insLists); - auto& token = tokens[successor->currentTokenIndex]; - submitter.Submit(ins, token, trace->currentTokenIndex); - } + MergeInsExecContext(trace); } } - else - { - startIns = 0; - } - trace = successor; } - FOUND_NEXT_TRACE:; - } - - submitter.ExecuteSubmitted(); - return receiver.Finished(); + ); #undef ERROR_MESSAGE_PREFIX } } @@ -3031,7 +4023,7 @@ TraceManager::ExecuteTrace } /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_INPUT.CPP +.\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES_ENSUREINSEXECCONTEXTCOMPATIBLE.CPP ***********************************************************************/ namespace vl @@ -3040,79 +4032,226 @@ namespace vl { namespace automaton { - /*********************************************************************** -Input +EnsureInsExecContextCompatible ***********************************************************************/ - void TraceManager::Input(vint32_t currentTokenIndex, vint32_t token, vint32_t lookAhead) + void TraceManager::EnsureInsExecContextCompatible(Trace* baselineTrace, Trace* commingTrace) { - CHECK_ERROR(state == TraceManagerState::WaitingForInput, L"vl::glr::automaton::TraceManager::Input(vint, vint)#Wrong timing to call this function."); - vint32_t traceCount = concurrentCount; - vint32_t input = Executable::TokenBegin + token; +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::EnsureInsExecContextCompatible(Trace*, Trace*)#" + auto&& contextComming = GetTraceExec(baselineTrace->traceExecRef)->context; + auto&& contextBaseline = GetTraceExec(commingTrace->traceExecRef)->context; + auto error = []() + { + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Execution results of traces to merge are different."); + }; - BeginSwap(); + // check if the two lriStored be both empty or non-empty + if ((contextBaseline.lriStoredObjects == nullref) != (contextComming.lriStoredObjects == nullref)) error(); - // for each surviving trace - // step one TokenInput transition - // followed by multiple and EndingInput, LeftrecInput and their combination - // one surviving trace could create multiple surviving trace - for (vint32_t traceIndex = 0; traceIndex < traceCount; traceIndex++) + // check if the two objectStack have the same depth + if ((contextBaseline.objectStack == nullref) != (contextComming.objectStack == nullref)) error(); + if (contextBaseline.objectStack != nullref) { - auto trace = concurrentTraces->Get(traceIndex); - vint32_t transitionIndex = executable.GetTransitionIndex(trace->state, input); - auto&& edgeArray = executable.transitions[transitionIndex]; - WalkAlongTokenEdges(currentTokenIndex, input, lookAhead, trace, edgeArray); + auto stackBaseline = GetInsExec_ObjectStack(contextBaseline.objectStack); + auto stackComming = GetInsExec_ObjectStack(contextComming.objectStack); + if (stackBaseline->pushedCount != stackComming->pushedCount) error(); } - // if competitions happen between new surviving traces - // remove traces that known to have lost the competition - CheckBackupTracesBeforeSwapping(currentTokenIndex); + // check if the two createStack have the same depth + // check each corresponding createStack have the same stackBase + auto stack1 = contextBaseline.createStack; + auto stack2 = contextComming.createStack; + while (stack1 != stack2) + { + if (stack1 == nullref || stack2 == nullref) error(); - EndSwap(); + auto stackObj1 = GetInsExec_CreateStack(stack1); + auto stackObj2 = GetInsExec_CreateStack(stack2); - // if there are unused spaces in concurrentTraces - // set them to nullptr to clear out traces from the last round - for (vint32_t traceIndex = concurrentCount; traceIndex < concurrentTraces->Count(); traceIndex++) - { - concurrentTraces->Set(traceIndex, nullptr); + if (stackObj1->stackBase != stackObj2->stackBase) error(); + + stack1 = stackObj1->previous; + stack2 = stackObj2->previous; } +#undef ERROR_MESSAGE_PREFIX } + } + } +} /*********************************************************************** -EndOfInput +.\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES_MERGEINSEXECCONTEXT.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + using namespace collections; + +#define NEW_MERGE_STACK_MAGIC_COUNTER (void)(MergeStack_MagicCounter++) + +/*********************************************************************** +MergeInsExecContext ***********************************************************************/ - void TraceManager::EndOfInput() + void TraceManager::PushInsRefLinkWithCounter(Ref& link, Ref comming) { - CHECK_ERROR(state == TraceManagerState::WaitingForInput, L"vl::glr::automaton::TraceManager::EndOfInput()#Wrong timing to call this function."); - state = TraceManagerState::Finished; + while (comming != nullref) + { + auto commingStack = GetInsExec_InsRefLink(comming); + comming = commingStack->previous; - vint32_t traceCount = concurrentCount; - BeginSwap(); + auto insTrace = GetTrace(commingStack->trace); + auto insTraceExec = GetTraceExec(insTrace->traceExecRef); + auto insExec = GetInsExec(insTraceExec->insExecRefs.start + commingStack->ins); + if (insExec->mergeCounter == MergeStack_MagicCounter) continue; - // check all surviving traces and remove all that - // 1) does not stay in an ending state - // 2) return stack is not empty - // the remaining are all traces that successfully walked to the ending state of the root rule - for (vint32_t traceIndex = 0; traceIndex < traceCount; traceIndex++) + insExec->mergeCounter = MergeStack_MagicCounter; + PushInsRefLink(link, commingStack->trace, commingStack->ins); + } + } + + void TraceManager::PushObjRefLinkWithCounter(Ref& link, Ref comming) + { + while (comming != nullref) { - auto trace = concurrentTraces->Get(traceIndex); - auto& stateDesc = executable.states[trace->state]; - if (trace->returnStack == -1 && stateDesc.endingState) + auto commingStack = GetInsExec_ObjRefLink(comming); + comming = commingStack->previous; + + auto ieObject = GetInsExec_Object(commingStack->id); + if (ieObject->mergeCounter == MergeStack_MagicCounter) continue; + + ieObject->mergeCounter = MergeStack_MagicCounter; + PushObjRefLink(link, ieObject); + } + } + + template), Ref (InsExec_Context::* stack), typename TMerge> + Ref TraceManager::MergeStack(Trace* mergeTrace, AllocateOnly& allocator, TMerge&& merge) + { + Array stacks(mergeTrace->predecessorCount); + + // fill the first level of stacks objects + { + vint index = 0; + auto predecessorId = mergeTrace->predecessors.first; + while (predecessorId != nullref) { - AddTrace(trace); + auto predecessor = GetTrace(predecessorId); + auto traceExec = GetTraceExec(predecessor->traceExecRef); + + auto stackId = traceExec->context.*stack; + stacks[index++] = stackId == nullref ? nullptr : (this->*get)(stackId); + predecessorId = predecessor->predecessors.siblingNext; } } - EndSwap(); + Ref stackTop; + Ref* pStackPrevious = &stackTop; + while (stacks[0]) + { + // check if all stack objects are the same + bool sameStackObject = true; + for (vint index = 1; index < stacks.Count(); index++) + { + if (stacks[0] != stacks[index]) + { + sameStackObject = false; + break; + } + } + + if (sameStackObject) + { + // if yes, reuse this stack object + *pStackPrevious = stacks[0]; + break; + } + + // otherwise, create a new stack object to merge all + auto newStack = (this->*get)(allocator.Allocate()); + *pStackPrevious = newStack; + pStackPrevious = &(newStack->previous); + + // call this macro to create a one-time set for InsExec* + NEW_MERGE_STACK_MAGIC_COUNTER; + for (vint index = 0; index < stacks.Count(); index++) + { + // do not visit the same stack object repeatly + if (stacks[index]->mergeCounter == MergeStack_MagicCounter) continue; + stacks[index]->mergeCounter = MergeStack_MagicCounter; + merge(newStack, stacks[index]); + + // do not visit the same object repeatly + PushObjRefLinkWithCounter(newStack->objectIds, stacks[index]->objectIds); + } + + // move to next level of stack objects + for (vint index = 0; index < stacks.Count(); index++) + { + auto stackId = stacks[index]->previous; + stacks[index] = stackId == nullref ? nullptr : (this->*get)(stackId); + } + } + return stackTop; + } + + void TraceManager::MergeInsExecContext(Trace* mergeTrace) + { + // merge stacks so that objects created in all branches are accessible + auto traceExec = GetTraceExec(mergeTrace->traceExecRef); + + traceExec->context.objectStack = MergeStack< + InsExec_ObjectStack, + &TraceManager::GetInsExec_ObjectStack, + &InsExec_Context::objectStack + >( + mergeTrace, + insExec_ObjectStacks, + [this](InsExec_ObjectStack* newStack, InsExec_ObjectStack* commingStack) + { + // all commingStack->pushedCount are ensured to be the same + newStack->pushedCount = commingStack->pushedCount; + }); + + traceExec->context.createStack = MergeStack< + InsExec_CreateStack, + &TraceManager::GetInsExec_CreateStack, + &InsExec_Context::createStack + >( + mergeTrace, + insExec_CreateStacks, + [this](InsExec_CreateStack* newStack, InsExec_CreateStack* commingStack) + { + // all commingStack->stackBase are ensured to be the same + newStack->stackBase = commingStack->stackBase; + PushInsRefLinkWithCounter(newStack->createInsRefs, commingStack->createInsRefs); + }); + + NEW_MERGE_STACK_MAGIC_COUNTER; + auto predecessorId = mergeTrace->predecessors.first; + while (predecessorId != nullref) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingNext; + auto predecessorTraceExec = GetTraceExec(predecessor->traceExecRef); + + // do not visit the same object repeatly + PushObjRefLinkWithCounter(traceExec->context.lriStoredObjects, predecessorTraceExec->context.lriStoredObjects); + } } + +#undef NEW_MERGE_STACK_MAGIC_COUNTER } } } /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_INPUT_AMBIGUITY.CPP +.\TRACEMANAGER\TMPTR_PARTIALEXECUTETRACES_PARTIALEXECUTEORDINARYTRACE.CPP ***********************************************************************/ namespace vl @@ -3121,1757 +4260,2365 @@ namespace vl { namespace automaton { +#define NEW_MERGE_STACK_MAGIC_COUNTER (void)(MergeStack_MagicCounter++) /*********************************************************************** -AreTwoTraceEqual +PartialExecuteOrdinaryTrace ***********************************************************************/ - bool TraceManager::AreTwoEndingInputTraceEqual(vint32_t state, vint32_t returnStack, vint32_t executedReturnStack, vint32_t acId, Trace* candidate) + InsExec_Object* TraceManager::NewObject() { - // two traces equal to each other if - // 1) they are in the same state - // 2) they have the same executedReturnStack (and therefore the same returnStack) - // 3) they are attending same competitions - // 4) the candidate has an ending input - // TODO: verify if we can do "acId == candidate->runtimeRouting.attendingCompetitions" or not - - if (state != candidate->state) return false; - if (acId != candidate->competitionRouting.attendingCompetitions) return false; - if (candidate->byInput != Executable::EndingInput) return false; + return GetInsExec_Object(insExec_Objects.Allocate()); + } - if (executedReturnStack != candidate->executedReturnStack) return false; - if (returnStack != candidate->returnStack) return false; - return true; + vint32_t TraceManager::GetStackBase(InsExec_Context& context) + { + if (context.createStack == nullref) + { + return 0; + } + else + { + return GetInsExec_CreateStack(context.createStack)->stackBase; + } } -/*********************************************************************** -GetInstructionPostfix -***********************************************************************/ + vint32_t TraceManager::GetStackTop(InsExec_Context& context) + { + if (context.objectStack == nullref) + { + return 0; + } + else + { + return GetInsExec_ObjectStack(context.objectStack)->pushedCount; + } + } - vint32_t TraceManager::GetInstructionPostfix(EdgeDesc& oldEdge, EdgeDesc& newEdge) + void TraceManager::PushInsRefLink(Ref& link, Ref trace, vint32_t ins) { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::GetInstructionPostfix(EdgeDesc&, EdgeDesc&)#" - // given two equal traces, calculate their common instruction postfix length in insBeforeInput - // EndObject is the last instruction of the prefix + auto newLink = GetInsExec_InsRefLink(insExec_InsRefLinks.Allocate()); + newLink->previous = link; + newLink->trace = trace; + newLink->ins = ins; + link = newLink; + } - // EndObject may not be the first instruction in both edges - // and instructions before EndObject could be different - // the most common case is different {field = value} before EndObject - // if the ambiguity is created by two left recursive clauses which consume the same series of tokens + void TraceManager::PushObjRefLink(Ref& link, Ref id) + { + auto newLink = GetInsExec_ObjRefLink(insExec_ObjRefLinks.Allocate()); + newLink->previous = link; + newLink->id = id; + link = newLink; + } - CHECK_ERROR(oldEdge.insAfterInput.count == 0, ERROR_MESSAGE_PREFIX L"EndingInput edge is not allowed to have insAfterInput."); - CHECK_ERROR(newEdge.insAfterInput.count == 0, ERROR_MESSAGE_PREFIX L"EndingInput edge is not allowed to have insAfterInput."); + Ref TraceManager::JoinInsRefLink(Ref first, Ref second) + { + if (first == nullref) return second; + if (second == nullref) return first; - // find the first EndObject instruction - vint32_t i1 = -1; - vint32_t i2 = -1; + Ref newStack; - for (vint32_t insRef = 0; insRef < oldEdge.insBeforeInput.count; insRef++) + while (first != nullref) { - auto&& ins = executable.instructions[oldEdge.insBeforeInput.start + insRef]; - if (ins.type == AstInsType::EndObject) - { - i1 = insRef; - break; - } + auto stack = GetInsExec_InsRefLink(first); + first = stack->previous; + PushInsRefLink(newStack, stack->trace, stack->ins); } - for (vint32_t insRef = 0; insRef < newEdge.insBeforeInput.count; insRef++) + while (second != nullref) { - auto&& ins = executable.instructions[newEdge.insBeforeInput.start + insRef]; - if (ins.type == AstInsType::EndObject) - { - i2 = insRef; - break; - } + auto stack = GetInsExec_InsRefLink(second); + second = stack->previous; + PushInsRefLink(newStack, stack->trace, stack->ins); } - CHECK_ERROR(i1 != -1, ERROR_MESSAGE_PREFIX L"EndObject from oldEdge not found."); - CHECK_ERROR(i2 != -1, ERROR_MESSAGE_PREFIX L"EndObject from newEdge not found."); + return newStack; + } + + Ref TraceManager::JoinObjRefLink(Ref first, Ref second) + { + if (first == nullref) return second; + if (second == nullref) return first; - // ensure they have the same instruction postfix starting from EndObject - CHECK_ERROR(oldEdge.insBeforeInput.count - i1 == newEdge.insBeforeInput.count - i2, L"Two instruction postfix after EndObject not equal."); + Ref newStack; - vint32_t postfix = oldEdge.insBeforeInput.count - i1 - 1; - for (vint32_t postfixRef = 0; postfixRef < postfix; postfixRef++) + while (first != nullref) { - auto&& ins1 = executable.instructions[oldEdge.insBeforeInput.start + i1 + 1 + postfixRef]; - auto&& ins2 = executable.instructions[newEdge.insBeforeInput.start + i2 + 1 + postfixRef]; - CHECK_ERROR(ins1 == ins2, L"Two instruction postfix after EndObject not equal."); + auto stack = GetInsExec_ObjRefLink(first); + first = stack->previous; + PushObjRefLink(newStack, stack->id); } - return postfix; -#undef ERROR_MESSAGE_PREFIX + + while (second != nullref) + { + auto stack = GetInsExec_ObjRefLink(second); + second = stack->previous; + PushObjRefLink(newStack, stack->id); + } + + return newStack; } -/*********************************************************************** -MergeTwoEndingInputTrace -***********************************************************************/ + InsExec_ObjectStack* TraceManager::PushObjectStackSingle(InsExec_Context& context, Ref objectId) + { + auto ie = GetInsExec_ObjectStack(insExec_ObjectStacks.Allocate()); + ie->previous = context.objectStack; + PushObjRefLink(ie->objectIds, objectId); + ie->pushedCount = GetStackTop(context) + 1; + context.objectStack = ie; + return ie; + } - void TraceManager::MergeTwoEndingInputTrace( - Trace* trace, - Trace* ambiguityTraceToMerge, - vint32_t currentTokenIndex, - vint32_t input, - vint32_t byEdge, - EdgeDesc& edgeDesc, - vint32_t state, - vint32_t returnStack, - vint32_t attendingCompetitions, - vint32_t carriedCompetitions, - vint32_t executedReturnStack) - { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MergeTwoEndingInputTrace(...)#" - // if ambiguity resolving happens - // find the instruction postfix - // the instruction prefix ends at EndObject of a trace - // and both instruction postfix should equal - - // old == ambiguityTraceToMerge - // new == the trace that is being created (could skip) - auto& oldEdge = executable.edges[ambiguityTraceToMerge->byEdge]; - vint32_t oldInsCount = oldEdge.insBeforeInput.count + oldEdge.insAfterInput.count; - vint32_t newInsCount = edgeDesc.insBeforeInput.count + edgeDesc.insAfterInput.count; - vint32_t returnInsCount = 0; - vint32_t postfix = GetInstructionPostfix(oldEdge, edgeDesc); - - // if two state can merge - // then executedReturnStack == ambiguityTraceToMerge.executedReturnStack - // so two ReturnDesc.insAfterInput.count are identical - // and also instructions - if (executedReturnStack != -1) - { - auto rs = GetReturnStack(executedReturnStack); - auto& rd = executable.returns[rs->returnIndex]; - returnInsCount = rd.insAfterInput.count; - postfix += returnInsCount; - oldInsCount += returnInsCount; - newInsCount += returnInsCount; - } - - // a trace needs to be cut if EndObject is not its first instruction - bool needCut = oldInsCount > postfix + 1 || newInsCount > postfix + 1; - - if (ambiguityTraceToMerge->ambiguityMergeInsPostfix == -1 && needCut) - { - // append an extra trace after predecessors of ambiguityTraceToMerge - Trace* firstFormer = nullptr; - Trace* lastFormer = nullptr; - vint32_t predecessorId = ambiguityTraceToMerge->predecessors.first; - while (predecessorId != -1) + InsExec_ObjectStack* TraceManager::PushObjectStackMultiple(InsExec_Context& context, Ref linkId) + { + auto ie = GetInsExec_ObjectStack(insExec_ObjectStacks.Allocate()); + ie->previous = context.objectStack; + ie->objectIds = JoinObjRefLink(ie->objectIds, linkId); + ie->pushedCount = GetStackTop(context) + 1; + context.objectStack = ie; + return ie; + } + + InsExec_CreateStack* TraceManager::PushCreateStack(InsExec_Context& context) + { + auto ie = GetInsExec_CreateStack(insExec_CreateStacks.Allocate()); + ie->previous = context.createStack; + context.createStack = ie; + return ie; + } + + void TraceManager::PartialExecuteOrdinaryTrace(Trace* trace) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::PartialExecuteOrdinaryTrace(Trace*)#" + InsExec_Context context; + if (trace->predecessors.first != nullref) + { + auto predecessor = GetTrace(trace->predecessors.first); + auto traceExec = GetTraceExec(predecessor->traceExecRef); + context = traceExec->context; + } + + auto traceExec = GetTraceExec(trace->traceExecRef); + for (vint32_t insRef = 0; insRef < traceExec->insLists.c3; insRef++) + { + auto&& ins = ReadInstruction(insRef, traceExec->insLists); + auto insExec = GetInsExec(traceExec->insExecRefs.start + insRef); + insExec->contextBeforeExecution = context; + + switch (ins.type) { - auto predecessor = GetTrace(predecessorId); - predecessorId = predecessor->predecessors.siblingNext; + case AstInsType::BeginObject: + { + // new object + auto ieObject = NewObject(); + ieObject->bo_bolr_Trace = trace; + ieObject->bo_bolr_Ins = insRef; + + // new create stack + auto ieCSTop = PushCreateStack(context); + PushInsRefLink(ieCSTop->createInsRefs, trace, insRef); + ieCSTop->stackBase = GetStackTop(context); + PushObjRefLink(ieCSTop->objectIds, ieObject); + + // InsExec::createdObjectId + insExec->createdObjectId = ieObject; + } + break; + case AstInsType::BeginObjectLeftRecursive: + { + CHECK_ERROR(GetStackTop(context) - GetStackBase(context) >= 1, ERROR_MESSAGE_PREFIX L"Pushed values not enough."); + + // observe the object stack top + auto ieOSTop = GetInsExec_ObjectStack(context.objectStack); + + // new object + auto ieObject = NewObject(); + ieObject->lrObjectIds = ieOSTop->objectIds; + ieObject->bo_bolr_Trace = trace; + ieObject->bo_bolr_Ins = insRef; + + // new create stack, the top object is not frozen + auto ieCSTop = PushCreateStack(context); + PushInsRefLink(ieCSTop->createInsRefs, trace, insRef); + ieCSTop->stackBase = ieOSTop->pushedCount - 1; + PushObjRefLink(ieCSTop->objectIds, ieObject); - auto formerTrace = AllocateTrace(); + // InsExec::createdObjectId + insExec->createdObjectId = ieObject; + } + break; + case AstInsType::DelayFieldAssignment: { - vint32_t formerId = formerTrace->allocatedIndex; - *formerTrace = *ambiguityTraceToMerge; - formerTrace->allocatedIndex = formerId; + // new create stack + auto ieCSTop = PushCreateStack(context); + PushInsRefLink(ieCSTop->createInsRefs, trace, insRef); + ieCSTop->stackBase = GetStackTop(context); } + break; + case AstInsType::ReopenObject: + { + CHECK_ERROR(GetStackTop(context) - GetStackBase(context) >= 1, ERROR_MESSAGE_PREFIX L"Pushed values not enough."); + CHECK_ERROR(context.createStack != nullref, ERROR_MESSAGE_PREFIX L"There is no created object."); + + // pop an object + auto ieOSTop = GetInsExec_ObjectStack(context.objectStack); + context.objectStack = ieOSTop->previous; + + // reopen an object + // ReopenObject in different branches could write to the same InsExec_CreateStack + // this happens when ambiguity happens in the !Rule syntax + // but the same InsExec_CreateStack means the clause of !Rule does not have ambiguity + // so ambiguity should also be resolved here + // and such ReopenObject will be the last instruction in a trace + // this means it is impossible to continue with InsExec_CreateStack polluted by sibling traces + // therefore adding multiple objects to the same InsExec_CreateStack in multiple branches is fine + // the successor trace will be a merge trace taking all of the information + auto ieCSTop = GetInsExec_CreateStack(context.createStack); + NEW_MERGE_STACK_MAGIC_COUNTER; + { + auto ref = ieCSTop->objectIds; + while (ref != nullref) + { + auto link = GetInsExec_ObjRefLink(ref); + auto ieObject = GetInsExec_Object(link->id); + ieObject->mergeCounter = MergeStack_MagicCounter; + ref = link->previous; + } + } + { + auto ref = ieOSTop->objectIds; + while (ref != nullref) + { + auto link = GetInsExec_ObjRefLink(ref); + auto ieObject = GetInsExec_Object(link->id); + if (ieObject->mergeCounter != MergeStack_MagicCounter) + { + ieObject->mergeCounter = MergeStack_MagicCounter; + PushObjRefLink(ieCSTop->objectIds, link->id); + } + ref = link->previous; + } + } + + auto insRefLinkId = ieCSTop->createInsRefs; + while(insRefLinkId != nullref) + { + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + insRefLinkId = insRefLink->previous; - // connect predecessor and formerTrace - formerTrace->predecessors.first = predecessor->allocatedIndex; - formerTrace->predecessors.last = predecessor->allocatedIndex; - formerTrace->predecessors.siblingPrev = -1; - formerTrace->predecessors.siblingNext = -1; + // check if the top create stack is from DFA + auto traceCSTop = GetTrace(insRefLink->trace); + auto traceExecCSTop = GetTraceExec(traceCSTop->traceExecRef); + CHECK_ERROR(ReadInstruction(insRefLink->ins, traceExecCSTop->insLists).type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"DelayFieldAssignment is not submitted before ReopenObject."); - // connect ambiguityTraceToMerge and formerTrace - if (firstFormer == nullptr) + auto insExecDfa = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->ins); + auto ref = ieOSTop->objectIds; + while (ref != nullref) + { + auto link = GetInsExec_ObjRefLink(ref); + auto ieObject = GetInsExec_Object(link->id); + // InsExec_Object::dfaInsRefs + PushInsRefLink(ieObject->dfaInsRefs, insRefLink->trace, insRefLink->ins); + // InsExec::objRefs + PushObjRefLink(insExecDfa->objRefs, ieObject); + ref = link->previous; + } + } + } + break; + case AstInsType::EndObject: { - firstFormer = formerTrace; - lastFormer = formerTrace; + CHECK_ERROR(context.createStack != nullref, ERROR_MESSAGE_PREFIX L"There is no created object."); + + // pop a create stack + auto ieCSTop = GetInsExec_CreateStack(context.createStack); + context.createStack = ieCSTop->previous; + + // push an object + CHECK_ERROR(ieCSTop->objectIds != nullref, ERROR_MESSAGE_PREFIX L"An object has not been associated to the create stack yet."); + PushObjectStackMultiple(context, ieCSTop->objectIds); + + // InsExec::objRefs + insExec->objRefs = ieCSTop->objectIds; + + // InsExec::eoInsRefs + auto insRefLinkId = ieCSTop->createInsRefs; + while (insRefLinkId != nullref) + { + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + insRefLinkId = insRefLink->previous; + + auto traceCSTop = GetTrace(insRefLink->trace); + auto traceExecCSTop = GetTraceExec(traceCSTop->traceExecRef); + auto insExecCreate = GetInsExec(traceExecCSTop->insExecRefs.start + insRefLink->ins); + PushInsRefLink(insExecCreate->eoInsRefs, trace, insRef); + } } - else + break; + case AstInsType::DiscardValue: + case AstInsType::Field: + case AstInsType::FieldIfUnassigned: + { + CHECK_ERROR(GetStackTop(context) - GetStackBase(context) >= 1, ERROR_MESSAGE_PREFIX L"Pushed values not enough."); + + auto ieObjTop = GetInsExec_ObjectStack(context.objectStack); + context.objectStack = ieObjTop->previous; + } + break; + case AstInsType::LriStore: + { + CHECK_ERROR(GetStackTop(context) - GetStackBase(context) >= 1, ERROR_MESSAGE_PREFIX L"Pushed values not enough."); + CHECK_ERROR(context.lriStoredObjects == nullref, ERROR_MESSAGE_PREFIX L"LriFetch is not executed before the next LriStore."); + + auto ieObjTop = GetInsExec_ObjectStack(context.objectStack); + context.objectStack = ieObjTop->previous; + context.lriStoredObjects = ieObjTop->objectIds; + } + break; + case AstInsType::LriFetch: + { + CHECK_ERROR(context.lriStoredObjects != nullref, ERROR_MESSAGE_PREFIX L"LriStore is not executed before the next LriFetch."); + PushObjectStackMultiple(context, context.lriStoredObjects); + context.lriStoredObjects = nullref; + } + break; + case AstInsType::Token: + case AstInsType::EnumItem: { - lastFormer->predecessors.siblingNext = formerTrace->allocatedIndex; - formerTrace->predecessors.siblingPrev = lastFormer->allocatedIndex; - lastFormer = formerTrace; + PushObjectStackSingle(context, Ref(-2)); } + break; + case AstInsType::ResolveAmbiguity: + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"ResolveAmbiguity should not appear in traces."); + default:; + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Unrecognizabled instruction."); + } + } + traceExec->context = context; +#undef ERROR_MESSAGE_PREFIX + } + +#undef NEW_MERGE_STACK_MAGIC_COUNTER + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TMRA.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +ResolveAmbiguity +***********************************************************************/ - // executedReturnStack is from the EndObject instruction - // which is available in the instruction postfix - // so formerTrace->executedReturnStack should be -1 and keep the previous return stack - formerTrace->executedReturnStack = -1; - formerTrace->returnStack = predecessor->returnStack; - - // ambiguity is filled by PrepareTraceRoute, skipped - // runtimeRouting.holdingCompetition always belong to the second trace - // runtimeRouting.attendingCompetitions is inherited - // runtimeRouting.carriedCompetitions is inherited - formerTrace->competitionRouting = {}; - formerTrace->competitionRouting.attendingCompetitions = ambiguityTraceToMerge->competitionRouting.attendingCompetitions; - formerTrace->competitionRouting.carriedCompetitions = ambiguityTraceToMerge->competitionRouting.carriedCompetitions; - - // both traces need to have the same postfix - // since formerTrace doesn't have executedReturnStack but ambiguityTraceToMerge has - // the amount of returnInsCount need to cut from the postfix - formerTrace->ambiguityBranchInsPostfix = postfix - returnInsCount; - } - - ambiguityTraceToMerge->ambiguityMergeInsPostfix = postfix; - ambiguityTraceToMerge->predecessors.first = firstFormer->allocatedIndex; - ambiguityTraceToMerge->predecessors.last = lastFormer->allocatedIndex; - } - - if (needCut) - { - // otherwise, create a new trace with the instruction prefix - auto newTrace = AllocateTrace(); - AddTraceToCollection(newTrace, trace, &Trace::predecessors); - newTrace->state = state; - newTrace->returnStack = returnStack; - newTrace->byEdge = byEdge; - newTrace->byInput = input; - newTrace->currentTokenIndex = currentTokenIndex; - - // executedReturnStack == ambiguityTraceToMerge->executedReturnStack is ensured - // so no need to assign executedReturnStack to newTrace - // acid == ambiguityTraceToMerge->runtimeRouting.attendingCompetitions is ensure - // this is affected by TODO: in TraceManager::AreTwoEndingInputTraceEqual - // and ambiguityTraceToMerge is supposed to inherit this value - newTrace->competitionRouting.attendingCompetitions = attendingCompetitions; - newTrace->competitionRouting.carriedCompetitions = carriedCompetitions; - - // both traces need to have the same postfix - // since newTrace doesn't have executedReturnStack but ambiguityTraceToMerge has - // the amount of returnInsCount need to cut from the postfix - newTrace->ambiguityBranchInsPostfix = postfix - returnInsCount; - - AddTraceToCollection(ambiguityTraceToMerge, newTrace, &Trace::predecessors); - } - else - { - // if EndObject is the first instruction of the new trace - // then no need to create the new trace - AddTraceToCollection(ambiguityTraceToMerge, trace, &Trace::predecessors); - } -#undef ERROR_MESSAGE_PREFIX + void TraceManager::ResolveAmbiguity() + { + CHECK_ERROR(state == TraceManagerState::PreparedTraceRoute, L"vl::glr::automaton::TraceManager::ResolveAmbiguity()#Wrong timing to call this function."); + state = TraceManagerState::ResolvedAmbiguity; + + CheckMergeTraces(); + BuildExecutionOrder(); } + +#undef NEW_MERGE_STACK_MAGIC_COUNTER } } } /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_INPUT_COMPETITION.CPP +.\TRACEMANAGER\TMRA_BUILDEXECUTIONORDER.CPP ***********************************************************************/ +#define DEFINE_EXECUTION_STEP_CONTEXT ExecutionStep*& root, ExecutionStep*& firstLeaf, ExecutionStep*& currentStep, ExecutionStep*& currentLeaf +#define PASS_EXECUTION_STEP_CONTEXT root, firstLeaf, currentStep, currentLeaf + namespace vl { namespace glr { namespace automaton { - /*********************************************************************** -AttendCompetition +MarkNewLeafStep ***********************************************************************/ - void TraceManager::AttendCompetition(Trace* trace, vint32_t& newAttendingCompetitions, vint32_t& newCarriedCompetitions, vint32_t returnStack, vint32_t ruleId, vint32_t clauseId, bool forHighPriority) + void TraceManager::MarkNewLeafStep(ExecutionStep* step, ExecutionStep*& firstLeaf, ExecutionStep*& currentLeaf) { - // a competition is defined by its rule, clause and the owner trace - // but we don't need to compare the trace - // since only transitions starting from that trace will search competitions in that trace - // we only create a new Competition object if it has not been created for the trace yet - Competition* competition = nullptr; + if (!firstLeaf) { - vint32_t cid = trace->competitionRouting.holdingCompetitions; - while (cid != -1) - { - auto cpt = GetCompetition(cid); - if (cpt->ruleId == ruleId && cpt->clauseId == clauseId) - { - competition = cpt; - break; - } - cid = cpt->nextHoldCompetition; - } + firstLeaf = step; } - if (!competition) + if (currentLeaf) { - // create a Competition object - competition = AllocateCompetition(); - competition->nextHoldCompetition = trace->competitionRouting.holdingCompetitions; - trace->competitionRouting.holdingCompetitions = competition->allocatedIndex; - - competition->currentTokenIndex = trace->currentTokenIndex; - competition->ruleId = ruleId; - competition->clauseId = clauseId; - - competition->nextActiveCompetition = activeCompetitions; - activeCompetitions = competition->allocatedIndex; + currentLeaf->next = step; } - - // target traces from the current trace could attend different competitions - // but they also inherit all attending competitions from the current trace - // it is fine for different traces share all or part of AttendingCompetitions in their RuntimeRouting::attendingCompetitions linked list - // because if a competition is settled in the future - // AttendingCompetitions objects for this competition is going to be removed anyway - // sharing a linked list doesn't change the result - - auto ac = AllocateAttendingCompetitions(); - ac->competition = competition->allocatedIndex; - ac->forHighPriority = forHighPriority; - ac->returnStack = returnStack; - - ac->nextActiveAC = newAttendingCompetitions; - newAttendingCompetitions = ac->allocatedIndex; - - ac->nextCarriedAC = newCarriedCompetitions; - newCarriedCompetitions = ac->allocatedIndex; + currentLeaf = step; } - /*********************************************************************** -AttendCompetitionIfNecessary +AppendStepLink ***********************************************************************/ - ReturnStack* TraceManager::PushReturnStack(vint32_t base, vint32_t returnIndex, vint32_t currentTokenIndex) + void TraceManager::AppendStepLink(ExecutionStep* first, ExecutionStep* last, bool leafNode, DEFINE_EXECUTION_STEP_CONTEXT) { - auto siblings = base == -1 ? &initialReturnStackSuccessors : &GetReturnStack(base)->successors; - - if (siblings->successorTokenIndex == -1 && currentTokenIndex - siblings->createdTokenIndex <= 1) + if (!root) { - siblings->successorTokenIndex = currentTokenIndex; + root = first; } - if (siblings->successorTokenIndex == currentTokenIndex) - { - vint32_t successorId = siblings->first; - while (successorId != -1) - { - auto successor = GetReturnStack(successorId); - successorId = successor->successors.next; + first->parent = currentStep; + currentStep = last; - if (successor->returnIndex == returnIndex) - { - return successor; - } - } + if (leafNode) + { + MarkNewLeafStep(last, firstLeaf, currentLeaf); } + } - auto returnStack = AllocateReturnStack(); - returnStack->previous = base; - returnStack->returnIndex = returnIndex; - returnStack->successors.createdTokenIndex = currentTokenIndex; +/*********************************************************************** +AppendStepsBeforeAmbiguity +***********************************************************************/ - if (siblings->successorTokenIndex == currentTokenIndex) + void TraceManager::AppendStepsBeforeAmbiguity(Trace* startTrace, vint32_t startIns, TraceAmbiguity* ta, DEFINE_EXECUTION_STEP_CONTEXT) + { + // append a step from current position to the beginning of TraceAmbiguity + auto taFirst = GetTrace(ta->firstTrace); + auto taFirstExec = GetTraceExec(taFirst->traceExecRef); + if ( taFirst->traceExecRef > startTrace->traceExecRef || + (taFirst->traceExecRef == startTrace->traceExecRef && ta->prefix > startIns)) { - if (siblings->first == -1) + if (ta->prefix > taFirstExec->insLists.c3) { - siblings->first = returnStack->allocatedIndex; - siblings->last = returnStack->allocatedIndex; + // if the first ambiguous instruction is in successors of the branch trace + // execution from the current position to the end of the prefix + if (startTrace != taFirst || startIns < taFirstExec->insLists.c3) + { + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = startTrace->allocatedIndex; + step->et_i.startIns = startIns; + step->et_i.endTrace = taFirst->allocatedIndex; + step->et_i.endIns = taFirstExec->insLists.c3 - 1; + AppendStepLink(step, step, false, PASS_EXECUTION_STEP_CONTEXT); + } + if (ta->prefix > taFirstExec->insLists.c3) + { + auto prefixTrace = GetTrace(taFirst->successors.first); + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = prefixTrace->allocatedIndex; + step->et_i.startIns = 0; + step->et_i.endTrace = prefixTrace->allocatedIndex; + step->et_i.endIns = ta->prefix - taFirstExec->insLists.c3 - 1; + AppendStepLink(step, step, false, PASS_EXECUTION_STEP_CONTEXT); + } } else { - GetReturnStack(siblings->last)->successors.next = returnStack->allocatedIndex; - returnStack->successors.prev = siblings->last; - siblings->last = returnStack->allocatedIndex; + // execute instructions before the first ambiguous instruction + if (startTrace != taFirst || startIns < ta->prefix) + { + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = startTrace->allocatedIndex; + step->et_i.startIns = startIns; + step->et_i.endTrace = taFirst->allocatedIndex; + step->et_i.endIns = ta->prefix - 1; + AppendStepLink(step, step, false, PASS_EXECUTION_STEP_CONTEXT); + } } } - return returnStack; } /*********************************************************************** -AttendCompetitionIfNecessary +AppendStepsAfterAmbiguity ***********************************************************************/ - void TraceManager::AttendCompetitionIfNecessary(Trace* trace, vint32_t currentTokenIndex, EdgeDesc& edgeDesc, vint32_t& newAttendingCompetitions, vint32_t& newCarriedCompetitions, vint32_t& newReturnStack) + void TraceManager::AppendStepsAfterAmbiguity(Trace*& startTrace, vint32_t& startIns, TraceAmbiguity* ta, DEFINE_EXECUTION_STEP_CONTEXT) { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::AttendCompetitionIfNecessary(Trace*, EdgeDesc&, vint32_t&, vint32_t&)#" - newAttendingCompetitions = trace->competitionRouting.attendingCompetitions; - newCarriedCompetitions = trace->competitionRouting.carriedCompetitions; - newReturnStack = trace->returnStack; - - // visit each compact transition in order - // 1) returns + token - // 2) ending - // 3) leftrec - // find out if any of them attends a competition - - vint32_t edgeFromState = edgeDesc.fromState; - for (vint32_t returnRef = 0; returnRef < edgeDesc.returnIndices.count; returnRef++) + auto taLast = GetTrace(ta->lastTrace); + auto taLastExec = GetTraceExec(taLast->traceExecRef); + if (ta->postfix > taLastExec->insLists.c3) { - auto returnIndex = executable.returnIndices[edgeDesc.returnIndices.start + returnRef]; - auto&& returnDesc = executable.returns[returnIndex]; - - if (returnDesc.priority != EdgePriority::NoCompetition) + // if the last ambiguous instruction is in predecessors of the merge trace + // execute the postfix + auto postfixTrace = GetTrace(taLast->predecessors.first); + auto postfixTraceExec = GetTraceExec(postfixTrace->traceExecRef); { - // attend a competition from a ReturnDesc edge - // find out the rule id and the clause id for this competition - // a ReturnDesc is a compact transition which consumes a rule - // so it does not points to the ending state - // therefore we just need the toState of this ReturnDesc for reference - auto&& stateForClause = executable.states[returnDesc.returnState]; - vint32_t competitionRule = stateForClause.rule; - vint32_t competitionClause = stateForClause.clause; - CHECK_ERROR(competitionRule != -1 && competitionClause != -1, ERROR_MESSAGE_PREFIX L"Illegal rule or clause id."); - AttendCompetition(trace, newAttendingCompetitions, newCarriedCompetitions, newReturnStack, competitionRule, competitionClause, returnDesc.priority == EdgePriority::HighPriority); + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = postfixTrace->allocatedIndex; + step->et_i.startIns = postfixTraceExec->insLists.c3 - (ta->postfix - taLastExec->insLists.c3); + step->et_i.endTrace = postfixTrace->allocatedIndex; + step->et_i.endIns = postfixTraceExec->insLists.c3 - 1; + AppendStepLink(step, step, false, PASS_EXECUTION_STEP_CONTEXT); } - // push this ReturnDesc to the ReturnStack - newReturnStack = PushReturnStack(newReturnStack, returnIndex, currentTokenIndex)->allocatedIndex; - edgeFromState = executable.ruleStartStates[returnDesc.consumedRule]; + // set the corrent position to the beginning of taList + startTrace = taLast; + startIns = 0; } - - if (edgeDesc.priority != EdgePriority::NoCompetition) + else { - // attend a competition from a EdgeDesc edge - // find out the rule id and the clause id for this competition - auto&& fromState = executable.states[edgeFromState]; - auto&& toState = executable.states[edgeDesc.toState]; - vint32_t competitionRule = toState.rule; - vint32_t competitionClause = toState.clause; - if (toState.endingState) - { - competitionRule = fromState.rule; - competitionClause = fromState.clause; - } - CHECK_ERROR(competitionRule != -1 && competitionClause != -1, ERROR_MESSAGE_PREFIX L"Illegal rule or clause id."); - AttendCompetition(trace, newAttendingCompetitions, newCarriedCompetitions, newReturnStack, competitionRule, competitionClause, edgeDesc.priority == EdgePriority::HighPriority); + // otherwise set the current position to the instruction after the last ambiguous instruction + startTrace = taLast; + startIns = GetTraceExec(startTrace->traceExecRef)->insLists.c3 - ta->postfix; } -#undef ERROR_MESSAGE_PREFIX } /*********************************************************************** -CheckAttendingCompetitionsOnEndingEdge +AppendStepsForAmbiguity +***********************************************************************/ + + void TraceManager::AppendStepsForAmbiguity(TraceAmbiguity* ta, bool checkCoveredMark, DEFINE_EXECUTION_STEP_CONTEXT) + { + ExecutionStep* taStepFirst = nullptr; + ExecutionStep* taStepLast = nullptr; + BuildAmbiguousStepLink(ta, checkCoveredMark, taStepFirst, taStepLast); + AppendStepLink(taStepFirst, taStepLast, false, PASS_EXECUTION_STEP_CONTEXT); + } + +/*********************************************************************** +AppendStepsBeforeBranch ***********************************************************************/ - void TraceManager::CheckAttendingCompetitionsOnEndingEdge(Trace* trace, EdgeDesc& edgeDesc, vint32_t acId, vint32_t returnStack) + void TraceManager::AppendStepsBeforeBranch(Trace* startTrace, vint32_t startIns, Trace* branchTrace, TraceExec* branchTraceExec, DEFINE_EXECUTION_STEP_CONTEXT) { - while (acId != -1) + if (startTrace->traceExecRef < branchTrace->traceExecRef || + (startTrace->traceExecRef == branchTrace->traceExecRef && startIns < branchTraceExec->insLists.c3)) { - // when executing an EndingInput transition, we announce high priority win a competition if - // 1) such EndingInput transitions ends the clause, and the state of the trace holding competition belongs to the same clause - // we ensure this by comparing rule id, clause id in Competition - // and compare ReturnStack object (not content) in AttendingCompetitions - // the reason returnStack is not in Competition is that - // different transitions always create new ReturnStack objects - // 2) this trace bets high - // 3) the competition has not been settled - auto ac = GetAttendingCompetitions(acId); - if (ac->returnStack == returnStack) - { - auto cpt = GetCompetition(ac->competition); - // ensure that this EndingInput edge and the competition belong to the same clause - auto&& stateDesc = executable.states[edgeDesc.fromState]; - if (cpt->ruleId == stateDesc.rule && cpt->clauseId == stateDesc.clause) - { - // check if it is a high bet - if (ac->forHighPriority && cpt->status == CompetitionStatus::Holding) - { - cpt->status = CompetitionStatus::HighPriorityWin; - } - } - } - acId = ac->nextActiveAC; + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = startTrace->allocatedIndex; + step->et_i.startIns = startIns; + step->et_i.endTrace = branchTrace->allocatedIndex; + step->et_i.endIns = branchTraceExec->insLists.c3 - 1; + AppendStepLink(step, step, false, PASS_EXECUTION_STEP_CONTEXT); } } /*********************************************************************** -CheckBackupTracesBeforeSwapping +BuildStepTree ***********************************************************************/ - void TraceManager::CheckBackupTracesBeforeSwapping(vint32_t currentTokenIndex) + void TraceManager::BuildStepTree(Trace* startTrace, vint32_t startIns, Trace* endTrace, vint32_t endIns, ExecutionStep*& root, ExecutionStep*& firstLeaf, ExecutionStep* currentStep, ExecutionStep*& currentLeaf) { - // try to find if any competition could be settled at this moment + // find the next critical trace record which is or after startTrace + auto critical = GetTrace(GetTraceExec(startTrace->traceExecRef)->branchData.forwardTrace); + // traverse critical until we hit endTrace + while (true) { - // reset highCounter and lowCounter for any active competitions - auto cId = activeCompetitions; - while (cId != -1) + // skip if critical is before startTrace + if (critical && critical->traceExecRef < startTrace->traceExecRef) { - auto cpt = GetCompetition(cId); - cpt->highCounter = 0; - cpt->lowCounter = 0; - cId = cpt->nextActiveCompetition; + goto NEXT_CRITICAL; } - } - // for any surviving traces - // add itself to the appriopriate counter for all attending competitions - for (vint i = 0; i < concurrentCount; i++) - { - auto trace = backupTraces->Get(i); - auto acId = trace->competitionRouting.attendingCompetitions; - while (acId != -1) + // if critical is empty + // or critical is after endTrace + // or critical is endTrace and the first ambiguous instruction is not before endIns + + if (critical) { - auto ac = GetAttendingCompetitions(acId); - auto cpt = GetCompetition(ac->competition); - (ac->forHighPriority ? cpt->highCounter : cpt->lowCounter)++; - acId = ac->nextActiveAC; + if (critical->traceExecRef < endTrace->traceExecRef) + { + goto CONTINUE_SEARCHING; + } + if (critical == endTrace) + { + auto criticalExec = GetTraceExec(critical->traceExecRef); + if (criticalExec->ambiguityBegins != nullref) + { + auto taLinkRef = criticalExec->ambiguityBegins; + while (taLinkRef != nullref) + { + auto taLink = GetTraceAmbiguityLink(taLinkRef); + taLinkRef = taLink->previous; + + auto ta = GetTraceAmbiguity(taLink->ambiguity); + if (ta->prefix < endIns) + { + goto CONTINUE_SEARCHING; + } + } + } + } } - } - // revisit all active competitions - // some competitions could have been settled - // but settled competitions will only be removed before consuming the next token - { - auto cId = activeCompetitions; - while (cId != -1) + // it means we have reached the end + break; + + CONTINUE_SEARCHING: + + // there is three kinds of critical node: + // ambiguous trace (could also be a branch tree) + // branch trace + // predecessor of merge trace + { - auto cpt = GetCompetition(cId); - if (cpt->status == CompetitionStatus::Holding) + auto criticalExec = GetTraceExec(critical->traceExecRef); + if (criticalExec->ambiguityBegins != nullref) { - if (cpt->highCounter > 0 && cpt->lowCounter == 0) + // check if the only one TraceAmbiguity covers all successors + bool singleCompleteAmbiguity = true; { - // if only high bet traces survive, high priority win - cpt->status = CompetitionStatus::HighPriorityWin; + auto firstSuccessor = GetTrace(critical->successors.first); + auto successorId = firstSuccessor->successors.siblingNext; + auto covered = GetTraceExec(firstSuccessor->traceExecRef)->ambiguityCoveredInForward; + while (successorId != nullref) + { + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingNext; + + if (covered != GetTraceExec(successor->traceExecRef)->ambiguityCoveredInForward) + { + singleCompleteAmbiguity = false; + break; + } + } } - else if (cpt->highCounter == 0 && cpt->lowCounter > 0) + + if (singleCompleteAmbiguity) { - // if only low bet traces survive - // low priority win after at least one token is consumed from when the competition is created - // low priority epsilon transitions could have been visited right after a competition is created - // but high priority token transitions could only be visited when consuming the next token - // if all high priority transitions are token transitions - // and all low priority transitions are epsilon transitions - // closing the competition too early will direct to a wrong result - // so we need to wait at least one step to see if any trace will visit the high priority transition in the future - if (cpt->currentTokenIndex != currentTokenIndex) + // if yes, it means the TraceAmbiguity will cover all successors + // run the ambiguity in place, no need for recursion + auto taLink = GetTraceAmbiguityLink(criticalExec->ambiguityBegins); + auto ta = GetTraceAmbiguity(taLink->ambiguity); + + // append steps for ambiguity and fix the current position + AppendStepsBeforeAmbiguity(startTrace, startIns, ta, PASS_EXECUTION_STEP_CONTEXT); + AppendStepsForAmbiguity(ta, false, PASS_EXECUTION_STEP_CONTEXT); + AppendStepsAfterAmbiguity(startTrace, startIns, ta, PASS_EXECUTION_STEP_CONTEXT); + + // fix critical + critical = GetTrace(GetTraceExec(startTrace->traceExecRef)->branchData.forwardTrace); + continue; + } + else + { + // there could be one or more TraceAmbiguity + // there could also be successors that are not covered by any TraceAmbiguity + auto taLinkRef = criticalExec->ambiguityBegins; + while (taLinkRef != nullref) { - cpt->status = CompetitionStatus::LowPriorityWin; + auto taLink = GetTraceAmbiguityLink(taLinkRef); + taLinkRef = taLink->previous; + auto ta = GetTraceAmbiguity(taLink->ambiguity); + + auto branchStartTrace = startTrace; + auto branchStartIns = startIns; + auto branchStep = currentStep; + +#define PASS_BRANCH_STEP_CONTEXT root, firstLeaf, branchStep, currentLeaf + AppendStepsBeforeAmbiguity(branchStartTrace, branchStartIns, ta, PASS_BRANCH_STEP_CONTEXT); + AppendStepsForAmbiguity(ta, true, PASS_BRANCH_STEP_CONTEXT); + AppendStepsAfterAmbiguity(branchStartTrace, branchStartIns, ta, PASS_BRANCH_STEP_CONTEXT); + BuildStepTree(branchStartTrace, branchStartIns, endTrace, endIns, PASS_BRANCH_STEP_CONTEXT); +#undef PASS_BRANCH_STEP_CONTEXT + } + + // treat the remaining successors as from a branch trace + AppendStepsBeforeBranch(startTrace, startIns, critical, criticalExec, PASS_EXECUTION_STEP_CONTEXT); + + auto successorId = critical->successors.first; + while (successorId != nullref) + { + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingNext; + if (GetTraceExec(successor->traceExecRef)->ambiguityCoveredInForward == nullref) + { + BuildStepTree(successor, 0, endTrace, endIns, PASS_EXECUTION_STEP_CONTEXT); + } } + return; } } - cId = cpt->nextActiveCompetition; + else if (critical->successors.first != critical->successors.last) + { + // if critical is a branch tree + + // append a step current position to the end of critical + AppendStepsBeforeBranch(startTrace, startIns, critical, criticalExec, PASS_EXECUTION_STEP_CONTEXT); + + // recursively process all successors + auto successorId = critical->successors.first; + while (successorId != nullref) + { + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingNext; + BuildStepTree(successor, 0, endTrace, endIns, PASS_EXECUTION_STEP_CONTEXT); + } + return; + } + else if (critical->predecessors.siblingPrev != critical->predecessors.siblingNext) + { + // if critical is a predecessor of a merge tree + // see if it could be an end + if (critical->successors.first == endTrace && endIns < 0) + { + // fix endTrace and endIns + endTrace = critical; + endIns = criticalExec->insLists.c3 + endIns; + break; + } + else + { + // otherwise, fix critical + critical = GetTrace(GetTraceExec(GetTrace(critical->successors.first)->traceExecRef)->branchData.forwardTrace); + continue; + } + } + else + { + // this happens when the forward trace is not critical + } + } + + NEXT_CRITICAL: + auto criticalRef = GetTraceExec(critical->traceExecRef)->nextAmbiguityCriticalTrace; + critical = criticalRef == nullref ? nullptr : GetTrace(criticalRef); + } + + if ( startTrace->traceExecRef < endTrace->traceExecRef || + (startTrace->traceExecRef == endTrace->traceExecRef && startIns <= endIns)) + { + auto step = GetExecutionStep(executionSteps.Allocate()); + step->et_i.startTrace = startTrace->allocatedIndex; + step->et_i.startIns = startIns; + step->et_i.endTrace = endTrace->allocatedIndex; + step->et_i.endIns = endIns; + AppendStepLink(step, step, true, PASS_EXECUTION_STEP_CONTEXT); + } + else + { + MarkNewLeafStep(currentStep, firstLeaf, currentLeaf); + } + } + +/*********************************************************************** +ConvertStepTreeToLink +***********************************************************************/ + + void TraceManager::ConvertStepTreeToLink(ExecutionStep* root, ExecutionStep* firstLeaf, ExecutionStep*& first, ExecutionStep*& last) + { + // calculate copyCount + Ref currentLeafRef = firstLeaf; + while (currentLeafRef != nullref) + { + auto currentRef = currentLeafRef; + while (currentRef != nullref) + { + auto current = GetExecutionStep(currentRef); + current->copyCount++; + currentRef = current->parent; } + + currentLeafRef = GetExecutionStep(currentLeafRef)->next; } - // for any surviving traces - // if it loses any one of its attending competitions - // this trace will be removed - for (vint i = concurrentCount - 1; i >= 0; i--) + // for each leaf, build a step link from root to the leaf + // concat all link, fill first and last + currentLeafRef = firstLeaf; + while (currentLeafRef != nullref) { - auto trace = backupTraces->Get(i); - auto acId = trace->competitionRouting.attendingCompetitions; - while (acId != -1) + // disconnect currentLeaf to the next leaf + auto currentLeaf = GetExecutionStep(currentLeafRef); + auto nextLeafRef = currentLeaf->next; + currentLeaf->next = nullref; + + // fix next from root to currentLeaf + auto current = currentLeaf; + while (current->parent != nullref) { - auto ac = GetAttendingCompetitions(acId); - auto cpt = GetCompetition(ac->competition); - if (cpt->status != CompetitionStatus::Holding) + auto parent = GetExecutionStep(current->parent); + parent->next = current; + current = parent; + } + + // make a step link from root to currentLeaf + ExecutionStep* linkFirst = nullptr; + ExecutionStep* linkLast = nullptr; + + Ref currentRef = root; + while (currentRef != nullref) + { + // increase visitCount + auto current = GetExecutionStep(currentRef); + current->visitCount++; + + if (current->visitCount == current->copyCount) { - ac->closed = true; - if (ac->forHighPriority != (cpt->status == CompetitionStatus::HighPriorityWin)) + // if visitCount == copyCount + // it means current will not be copied in the next round + // sublink from current to currentLeaf copy be used directly + if (!linkFirst) { - concurrentCount--; - backupTraces->RemoveAt(i); - goto TRACE_REMOVED; + linkFirst = current; } + if (linkLast) + { + linkLast->next = current; + } + linkLast = currentLeaf; + break; + } + else + { + // otherwise, copy current + static_assert(sizeof(ExecutionStep::ETI) >= sizeof(ExecutionStep::ETRA)); + auto step = GetExecutionStep(executionSteps.Allocate()); + step->type = current->type; + step->et_i = current->et_i; + + if (!linkFirst) + { + linkFirst = step; + } + if (linkLast) + { + linkLast->next = step; + } + linkLast = step; + currentRef = current->next; } - acId = ac->nextActiveAC; } - TRACE_REMOVED:; + + if (!first) + { + first = linkFirst; + } + if (last) + { + last->next = linkFirst; + } + last = linkLast; + + currentLeafRef = nextLeafRef; } + } - // remove all settled competition from the active competitions linked list +/*********************************************************************** +BuildAmbiguousStepLink +***********************************************************************/ + + void TraceManager::BuildAmbiguousStepLink(TraceAmbiguity* ta, bool checkCoveredMark, ExecutionStep*& first, ExecutionStep*& last) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckMergeTraces()#" + auto taFirst = GetTrace(ta->firstTrace); + auto taFirstExec = GetTraceExec(taFirst->traceExecRef); + auto taLast = GetTrace(ta->lastTrace); + auto taLastExec = GetTraceExec(taLast->traceExecRef); + + ExecutionStep* root = GetExecutionStep(executionSteps.Allocate()); + root->type = ExecutionType::Empty; + + ExecutionStep* firstLeaf = nullptr; + ExecutionStep* currentLeaf = nullptr; + + if (ta->prefix < taFirstExec->insLists.c3) { - vint32_t* pnext = &activeCompetitions; - while (*pnext != -1) + // if the first ambiguous instruction is in taFirst + + // traverse all successors + auto successorId = taFirst->successors.first; + while (successorId != nullref) { - auto cpt = GetCompetition(*pnext); - if (cpt->status != CompetitionStatus::Holding || (cpt->highCounter == 0 && cpt->lowCounter == 0)) + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingNext; + if (checkCoveredMark && GetTraceExec(successor->traceExecRef)->ambiguityCoveredInForward != ta) { - *pnext = cpt->nextActiveCompetition; + continue; } - else + + // append a step to execute from the first ambiguous instruction + auto first = GetExecutionStep(executionSteps.Allocate()); + first->parent = root; + first->et_i.startTrace = taFirst->allocatedIndex; + first->et_i.startIns = ta->prefix; + first->et_i.endTrace = taFirst->allocatedIndex; + first->et_i.endIns = taFirstExec->insLists.c3 - 1; + + // run from successor to the end + BuildStepTree( + successor, 0, + taLast, taLastExec->insLists.c3 - ta->postfix - 1, + root, firstLeaf, first, currentLeaf + ); + } + } + else + { + // if the first ambiguous instruction is in successor traces + + // traverse all successors + auto successorId = taFirst->successors.first; + while (successorId != nullref) + { + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingNext; + if (checkCoveredMark && GetTraceExec(successor->traceExecRef)->ambiguityCoveredInForward != ta) { - pnext = &cpt->nextActiveCompetition; + continue; } + + // run from the first ambiguous instruction to the last + BuildStepTree( + successor, ta->prefix - taFirstExec->insLists.c3, + taLast, taLastExec->insLists.c3 - ta->postfix - 1, + root, firstLeaf, root, currentLeaf + ); } } - // remove all settled AttendingCompetitions object from linked lists of any surviving trace - for (vint i = 0; i < concurrentCount; i++) + // create the ResolveAmbiguity step + auto stepRA = GetExecutionStep(executionSteps.Allocate()); + stepRA->type = ExecutionType::ResolveAmbiguity; + stepRA->et_ra.count = 0; + stepRA->et_ra.type = -1; + stepRA->et_ra.trace = taLast->allocatedIndex; { - auto trace = backupTraces->Get(i); - vint32_t* pnext = &trace->competitionRouting.attendingCompetitions; - while (*pnext != -1) + Ref currentLeafRef = firstLeaf; + while (currentLeafRef != nullref) { - auto ac = GetAttendingCompetitions(*pnext); - if (ac->closed) + stepRA->et_ra.count++; + currentLeafRef = GetExecutionStep(currentLeafRef)->next; + } + } + { + CHECK_ERROR(typeCallback != nullptr, ERROR_MESSAGE_PREFIX L"Missing ITypeCallback to resolve the type from multiple objects."); + auto linkRef = ta->bottomObjectIds; + while (linkRef != nullref) + { + auto link = GetInsExec_ObjRefLink(linkRef); + linkRef = link->previous; + + auto ieObject = GetInsExec_Object(link->id); + auto ieTrace = GetTrace(ieObject->bo_bolr_Trace); + auto ieTraceExec = GetTraceExec(ieTrace->traceExecRef); + + auto&& ins = ReadInstruction(ieObject->bo_bolr_Ins, ieTraceExec->insLists); + if (stepRA->et_ra.type == -1) { - *pnext = ac->nextActiveAC; + stepRA->et_ra.type = ins.param; } else { - pnext = &ac->nextActiveAC; + stepRA->et_ra.type = typeCallback->FindCommonBaseClass(stepRA->et_ra.type, ins.param); + CHECK_ERROR(stepRA->et_ra.type != -1, ERROR_MESSAGE_PREFIX L"Unable to resolve the type from multiple objects."); } } } + + // append the ResolveAmbiguity step to the step tree + ConvertStepTreeToLink(root, firstLeaf, first, last); + + auto current = first; + while (current != last) + { + auto next = GetExecutionStep(current->next); + current->next = nullref; + next->parent = current; + current = next; + } + + stepRA->parent = last; + last = stepRA; +#undef ERROR_MESSAGE_PREFIX + } + +/*********************************************************************** +BuildExecutionOrder +***********************************************************************/ + + void TraceManager::BuildExecutionOrder() + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckMergeTraces()#" + // get the instruction range + auto startTrace = initialTrace; + vint32_t startIns = 0; + auto endTrace = concurrentTraces->Get(0); + vint32_t endIns = GetTraceExec(endTrace->traceExecRef)->insLists.c3 - 1; + + // build step tree + ExecutionStep* root = nullptr; + ExecutionStep* firstLeaf = nullptr; + ExecutionStep* currentLeaf = nullptr; + BuildStepTree(startTrace, startIns, endTrace, endIns, root, firstLeaf, nullptr, currentLeaf); + + // BuildAmbiguousStepLink should have merged a tree to a link + CHECK_ERROR(firstLeaf != nullptr, ERROR_MESSAGE_PREFIX L"Ambiguity is not fully identified."); + CHECK_ERROR(firstLeaf->next == nullref, ERROR_MESSAGE_PREFIX L"Ambiguity is not fully identified."); + + // fill firstStep + ExecutionStep* first = nullptr; + ExecutionStep* last = nullptr; + ConvertStepTreeToLink(root, firstLeaf, first, last); + firstStep = first; +#undef ERROR_MESSAGE_PREFIX } } } } +#undef PASS_EXECUTION_STEP_CONTEXT +#undef DEFINE_EXECUTION_STEP_CONTEXT + /*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_INPUT_WALK.CPP +.\TRACEMANAGER\TMRA_CHECKMERGETRACES.CPP ***********************************************************************/ +#if defined VCZH_MSVC && defined _DEBUG +#define VCZH_DO_DEBUG_CHECK +#endif + namespace vl { namespace glr { namespace automaton { + using namespace collections; + +#define NEW_MERGE_STACK_MAGIC_COUNTER (void)(MergeStack_MagicCounter++) /*********************************************************************** -TraceManager::WalkAlongSingleEdge +CheckMergeTrace ***********************************************************************/ - Trace* TraceManager::WalkAlongSingleEdge( - vint32_t currentTokenIndex, - vint32_t input, - Trace* trace, - vint32_t byEdge, - EdgeDesc& edgeDesc - ) + template + bool TraceManager::SearchForObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback) { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::WalkAlongSingleEdge(vint, vint, vint, Trace*, vint, EdgeDesc&)#" - vint32_t state = edgeDesc.toState; - vint32_t returnStack = -1; - vint32_t attendingCompetitions = -1; - vint32_t carriedCompetitions = -1; - vint32_t executedReturnStack = -1; - Trace* ambiguityTraceToMerge = nullptr; - - // attend a competition hold by the current trace if the priority is set for this output transition - AttendCompetitionIfNecessary(trace, currentTokenIndex, edgeDesc, attendingCompetitions, carriedCompetitions, returnStack); - - if (input == Executable::EndingInput) + // check every object in the link + auto linkId = objRefLinkStartSet; + while (linkId != nullref) { - // an EndingInput transition consume return record in the return stack - // such return will be popped from the return stack and stored in Trace::executedReturnStack - CHECK_ERROR(edgeDesc.returnIndices.count == 0, ERROR_MESSAGE_PREFIX L"Ending input edge is not allowed to push something into the return stack."); - if (returnStack != -1) + auto objRefLink = GetInsExec_ObjRefLink(linkId); + linkId = objRefLink->previous; + auto ieObject = GetInsExec_Object(objRefLink->id); + + if (withCounter) { - executedReturnStack = returnStack; - auto rs = GetReturnStack(returnStack); - returnStack = rs->previous; - state = executable.returns[rs->returnIndex].returnState; + // skip if it has been searched + if (ieObject->mergeCounter == MergeStack_MagicCounter) goto CHECK_NEXT_OBJECT; + ieObject->mergeCounter = MergeStack_MagicCounter; } - // an EndingInput transition also settle a competition if - // 1) there is a competition - // 2) the returnStack of the trace holding the competition is the same to the current returnStack - // 3) the target trace bets high priority - // in this case, high priority traces wins the competition - // but no traces are being removed for now, just mark the competition - CheckAttendingCompetitionsOnEndingEdge(trace, edgeDesc, attendingCompetitions, trace->returnStack); + if (!callback(ieObject)) return false; + CHECK_NEXT_OBJECT:; + } + return true; + } - // if the target trace has exactly the same to another surviving trace - // stop creating a Trace instance for the target trace - // instead connect the correct trace to that surviving trace and form a ambiguity resolving structure - for (vint i = 0; i < concurrentCount; i++) + template + bool TraceManager::SearchForAllLevelObjectsWithCounter(InsExec_Object* startObject, collections::List>& visitingIds, TCallback&& callback) + { +#define PUSH_ID(ID) \ + do{ \ + if (availableIds == visitingIds.Count()) \ + visitingIds.Add(ID); \ + else \ + visitingIds[availableIds] = ID; \ + availableIds++; \ + } while (false) + + vint availableIds = 0; + auto processObject = [&](InsExec_Object* ieObject) + { + // skip if it has been searched + if (ieObject->mergeCounter == MergeStack_MagicCounter) return true; + ieObject->mergeCounter = MergeStack_MagicCounter; + if (!callback(ieObject)) return false; + + // keep searching until ieObject->lrObjectIds is empty + while (ieObject->lrObjectIds != nullref) { - auto candidate = backupTraces->Get(i); - if (AreTwoEndingInputTraceEqual(state, returnStack, executedReturnStack, attendingCompetitions, candidate)) + auto lrObjRefLink = GetInsExec_ObjRefLink(ieObject->lrObjectIds); + if (lrObjRefLink->previous == nullref) + { + // if ieObject->lrObjectIds has only one object + // continue in place + ieObject = GetInsExec_Object(lrObjRefLink->id); + + // skip if it has been searched + if (ieObject->mergeCounter == MergeStack_MagicCounter) return true; + ieObject->mergeCounter = MergeStack_MagicCounter; + if (!callback(ieObject)) return false; + } + else { - ambiguityTraceToMerge = candidate; + // otherwise + // the link is pushed and search it later + PUSH_ID(ieObject->lrObjectIds); break; } } - } - if (ambiguityTraceToMerge) + return true; + }; + + // start with startObject + if (!processObject(startObject)) return false; + for (vint linkIdIndex = 0; linkIdIndex < availableIds; linkIdIndex++) { - MergeTwoEndingInputTrace( - trace, - ambiguityTraceToMerge, - currentTokenIndex, - input, - byEdge, - edgeDesc, - state, - returnStack, - attendingCompetitions, - carriedCompetitions, - executedReturnStack); - - // return nullptr so that there is no WalkAlongEpsilonEdges following WalkAlongSingleEdge - return nullptr; + // for any new object link, check every object in it + auto linkId = visitingIds[linkIdIndex]; + while (linkId != nullref) + { + auto objRefLink = GetInsExec_ObjRefLink(linkId); + linkId = objRefLink->previous; + auto ieObject = GetInsExec_Object(objRefLink->id); + if (!processObject(ieObject)) return false; + } } - else + return true; +#undef PUSH_ID + } + +#ifdef VCZH_DO_DEBUG_CHECK + void TraceManager::EnsureSameForwardTrace(Ref currentTraceId, Ref forwardTraceId) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::EnsureSameForwardTrace(vint32_t, vint32_t)#" + auto currentTrace = GetTrace(currentTraceId); + auto currentTraceExec = GetTraceExec(currentTrace->traceExecRef); + while (currentTraceExec->branchData.forwardTrace > forwardTraceId) { - // if ambiguity resolving doesn't happen - // create an instance of the target trace - // and connect the current trace to this target trace - auto newTrace = AllocateTrace(); - AddTrace(newTrace); - AddTraceToCollection(newTrace, trace, &Trace::predecessors); - newTrace->state = state; - newTrace->returnStack = returnStack; - newTrace->executedReturnStack = executedReturnStack; - newTrace->byEdge = byEdge; - newTrace->byInput = input; - newTrace->currentTokenIndex = currentTokenIndex; - newTrace->competitionRouting.attendingCompetitions = attendingCompetitions; - newTrace->competitionRouting.carriedCompetitions = carriedCompetitions; - - return newTrace; + currentTrace = StepForward(currentTrace); + currentTraceExec = GetTraceExec(currentTrace->traceExecRef); } + CHECK_ERROR(currentTraceExec->branchData.forwardTrace == forwardTraceId, ERROR_MESSAGE_PREFIX L"Internal error: assumption is broken."); #undef ERROR_MESSAGE_PREFIX } +#endif -/*********************************************************************** -TraceManager::WalkAlongEpsilonEdges -***********************************************************************/ - - void TraceManager::WalkAlongLeftrecEdges( - vint32_t currentTokenIndex, - vint32_t lookAhead, - Trace* trace, - EdgeArray& edgeArray - ) + template + bool TraceManager::SearchForTopCreateInstructions(InsExec_Object* ieObject, TCallback&& callback) { - // if there is no more token - // then it is not possible for more left recursions - if (lookAhead == -1) return; +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::SearchForTopCreateInstructions(InsExec_Object*, TCallback&&)#" + // find the first instruction in all create instructions + // its trace should be a common ancestor of all traces of all create instructions + auto trace = ieObject->bo_bolr_Trace; + vint32_t ins = ieObject->bo_bolr_Ins; - for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) + auto insRefLinkId = ieObject->dfaInsRefs; + while (insRefLinkId != nullref) { - vint32_t byEdge = edgeArray.start + edgeRef; - auto& edgeDesc = executable.edges[byEdge]; - - // see if the target state could consume that token - vint32_t lookAheadTransitionIndex = executable.GetTransitionIndex(edgeDesc.toState, Executable::TokenBegin + lookAhead); - auto& lookAheadEdgeArray = executable.transitions[lookAheadTransitionIndex]; - if (lookAheadEdgeArray.count == 0) continue; - - // proceed only if it can - WalkAlongSingleEdge(currentTokenIndex, Executable::LeftrecInput, trace, byEdge, edgeDesc); + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + insRefLinkId = insRefLink->previous; + if (insRefLink->trace < trace || (insRefLink->trace == trace && insRefLink->ins < ins)) + { + trace = insRefLink->trace; + ins = insRefLink->ins; + } + } - // A LeftrecInput transition points to a non ending state in another clause - // so there is no need to find other epsilon transitions after LeftrecInput +#ifdef VCZH_DO_DEBUG_CHECK + // ensure they actually have the same ancestor trace + auto forwardTraceId = GetTraceExec(GetTrace(trace)->traceExecRef)->branchData.forwardTrace; + EnsureSameForwardTrace(ieObject->bo_bolr_Trace, forwardTraceId); + insRefLinkId = ieObject->dfaInsRefs; + while (insRefLinkId != nullref) + { + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + EnsureSameForwardTrace(GetInsExec_InsRefLink(insRefLinkId)->trace, forwardTraceId); + insRefLinkId = insRefLink->previous; } +#endif + // there will be only one top create instruction per object + return callback(trace, ins); +#undef ERROR_MESSAGE_PREFIX } - void TraceManager::WalkAlongEpsilonEdges( - vint32_t currentTokenIndex, - vint32_t lookAhead, - Trace* trace - ) + template + bool TraceManager::SearchForTopCreateInstructionsInAllLevelsWithCounter(InsExec_Object* startObject, collections::List>& visitingIds, TCallback&& callback) { - // if we could walk along multiple EndingInput transition - // but the last several transition will fail - // then creating them is wasting the performance - // so we count how many EndingInput transition we could walk along first - - vint32_t endingCount = -1; +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::SearchForTopCreateInstructionsInAllLevelsWithCounter(InsExec_Object*, List&, TCallback&&)#" +#ifdef VCZH_DO_DEBUG_CHECK + Ref insForEachObject; +#endif + Ref trace; + vint32_t ins = -1; - if (lookAhead == -1) + bool succeeded = SearchForAllLevelObjectsWithCounter(startObject, visitingIds, [&](InsExec_Object* ieObject) { - // if there is no more tokens - // then we have to go all the way to the end anyway - vint32_t currentState = trace->state; - vint32_t currentReturnStack = trace->returnStack; - - while (currentState != -1) + return SearchForTopCreateInstructions(ieObject, [&](Ref createTraceId, vint32_t createIns) { - vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::EndingInput); - auto&& edgeArray = executable.transitions[transitionIndex]; - - // at most one EndingInput transition could exist from any state - CHECK_ERROR(edgeArray.count < 2, L"vl::glr::automaton::TraceManager::WalkAlongEpsilonEdges(vint32_t, vint32_t, Trace*)#Too many EndingInput transitions."); - - if (edgeArray.count == 0) - { - // if there is no more EndingInput to go - // and the current state is not an ending state - // then we just give up - - auto&& stateDesc = executable.states[currentState]; - if (stateDesc.endingState) - { - currentState = -1; - } - else - { - return; - } - } - else if (currentReturnStack == -1) - { - vint32_t byEdge = edgeArray.start; - auto& edgeDesc = executable.edges[byEdge]; - currentState = edgeDesc.toState; - } - else +#ifdef VCZH_DO_DEBUG_CHECK + PushInsRefLink(insForEachObject, createTraceId, createIns); +#endif + if (trace == nullref || createTraceId < trace || (createTraceId == trace && createIns < ins)) { - auto rs = GetReturnStack(currentReturnStack); - currentReturnStack = rs->previous; - currentState = executable.returns[rs->returnIndex].returnState; + trace = createTraceId; + ins = createIns; } - } + return true; + }); + }); + if (trace == nullref) return true; + if (!succeeded) return false; +#ifdef VCZH_DO_DEBUG_CHECK + // ensure they actually have the same ancestor trace + auto forwardTraceId = GetTraceExec(GetTrace(trace)->traceExecRef)->branchData.forwardTrace; + auto insRefLinkId = insForEachObject; + while (insRefLinkId != nullref) + { + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + EnsureSameForwardTrace(insRefLink->trace, forwardTraceId); + insRefLinkId = insRefLink->previous; } - else +#endif + // there will be only one top create instruction per object + // even when InsExec_Object::lrObjectIds are considered + return callback(trace, ins); +#undef ERROR_MESSAGE_PREFIX + } + + template + bool TraceManager::SearchForEndObjectInstructions(Trace* createTrace, vint32_t createIns, TCallback&& callback) + { + // all EndObject ending a BO/BOLR/DFA are considered + // there is no "bottom EndObject" + // each EndObject should be in different branches + auto traceExec = GetTraceExec(createTrace->traceExecRef); + auto insExec = GetInsExec(traceExec->insExecRefs.start + createIns); + auto insRefLinkId = insExec->eoInsRefs; + while (insRefLinkId != nullref) { - // otherwise we see how many EndingInput transition we need to walk along - vint32_t currentCount = 0; - vint32_t currentState = trace->state; - vint32_t currentReturnStack = trace->returnStack; + auto insRefLink = GetInsExec_InsRefLink(insRefLinkId); + insRefLinkId = insRefLink->previous; + if (!callback(GetTrace(insRefLink->trace), insRefLink->ins)) return false; + } + return true; + } - while (currentState != -1) - { - currentCount++; + bool TraceManager::ComparePrefix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t prefix) + { + if (commingTraceExec->insLists.c3 < prefix) return false; + for (vint32_t i = 0; i < prefix; i++) + { + auto&& insBaseline = ReadInstruction(i, baselineTraceExec->insLists); + auto&& insComming = ReadInstruction(i, baselineTraceExec->insLists); + if (insBaseline != insComming) return false; + } - // try LeftrecInput + lookAhead - { - vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::LeftrecInput); - auto&& edgeArray = executable.transitions[transitionIndex]; - for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) - { - vint32_t byEdge = edgeArray.start + edgeRef; - auto& edgeDesc = executable.edges[byEdge]; - vint32_t lookAheadTransitionIndex = executable.GetTransitionIndex(edgeDesc.toState, Executable::TokenBegin + lookAhead); - auto& lookAheadEdgeArray = executable.transitions[lookAheadTransitionIndex]; + return true; + } + + bool TraceManager::ComparePostfix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t postfix) + { + if (commingTraceExec->insLists.c3 < postfix) return false; + for (vint32_t i = 0; i < postfix; i++) + { + auto&& insBaseline = ReadInstruction(baselineTraceExec->insLists.c3 - i - 1, baselineTraceExec->insLists); + auto&& insComming = ReadInstruction(baselineTraceExec->insLists.c3 - i - 1, baselineTraceExec->insLists); + if (insBaseline != insComming) return false; + } - // mark this EndingInput if any LeftrecInput + lookAhead transition exists - if (lookAheadEdgeArray.count > 0) - { - endingCount = currentCount; - goto TRY_ENDING_INPUT; - } - } - } + return true; + } - // try lookAhead + template + bool TraceManager::CheckAmbiguityResolution(TraceAmbiguity* ta, collections::List>& visitingIds, TCallback&& callback) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckAmbiguityResolution(TraceAmbiguity&, List&, TCallback&&)#" + // following conditions need to be satisfies if multiple objects could be the result of ambiguity + // + // BO/DFA that create objects must be + // the same instruction in the same trace + // in different trace + // these traces share the same predecessor + // prefix in these traces are the same + // + // EO that ed objects must be + // the same instruction in the same trace + // in different trace + // these traces share the same successor + // postfix in these traces are the same + + // initialize TraceAmbiguity + Trace* first = nullptr; + Trace* last = nullptr; + TraceExec* firstTraceExec = nullptr; + TraceExec* lastTraceExec = nullptr; + bool foundBeginSame = false; + bool foundBeginPrefix = false; + bool foundEndSame = false; + bool foundEndPostfix = false; + bool succeeded = false; + + // iterate all top objects + succeeded = callback([&](Ref objRefLink) + { + return SearchForObjects(objRefLink, false, [&](InsExec_Object* ieObject) + { + // check if BO/DFA satisfies the condition + NEW_MERGE_STACK_MAGIC_COUNTER; + return SearchForTopCreateInstructionsInAllLevelsWithCounter(ieObject, visitingIds, [&](Ref createTraceId, vint32_t createIns) { - vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::TokenBegin + lookAhead); - auto&& edgeArray = executable.transitions[transitionIndex]; + auto createTrace = GetTrace(createTraceId); +#ifdef VCZH_DO_DEBUG_CHECK + { + auto traceExec = GetTraceExec(createTrace->traceExecRef); + auto&& ins = ReadInstruction(createIns, traceExec->insLists); + CHECK_ERROR(ins.type == AstInsType::BeginObject || ins.type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"The found instruction is not a BeginObject or DelayFieldAssignment instruction."); + } +#endif - // mark this EndingInput if lookAhead transition exists - if (edgeArray.count > 0) + if (!first) { - endingCount = currentCount; + first = createTrace; + firstTraceExec = GetTraceExec(first->traceExecRef); + ta->firstTrace = createTrace; + ta->prefix = createIns; + } + else if (first == createTrace) + { + // check if two instruction is the same + if (ta->prefix != createIns) return false; + foundBeginSame = true; + } + else + { + // check if two instruction shares the same prefix + if (first->predecessors.first != createTrace->predecessors.first) return false; + auto createTraceExec = GetTraceExec(createTrace->traceExecRef); + if (!ComparePrefix(firstTraceExec, createTraceExec, ta->prefix)) return false; + foundBeginPrefix = true; } - } - // try EndingInput - TRY_ENDING_INPUT: - { - vint32_t transitionIndex = executable.GetTransitionIndex(currentState, Executable::EndingInput); - auto&& edgeArray = executable.transitions[transitionIndex]; + return true; + }); + }); + }); + if (!succeeded) return false; - // at most one EndingInput transition could exist from any state - CHECK_ERROR(edgeArray.count < 2, L"vl::glr::automaton::TraceManager::WalkAlongEpsilonEdges(vint32_t, vint32_t, Trace*)#Too many EndingInput transitions."); + // iterate all bottom objects + NEW_MERGE_STACK_MAGIC_COUNTER; + succeeded = callback([&](Ref objRefLink) + { + return SearchForObjects(objRefLink, true, [&](InsExec_Object* ieObject) + { + PushObjRefLink(ta->bottomObjectIds, ieObject); - if (edgeArray.count == 0 || currentReturnStack == -1) + // check if BO/DFA satisfies the condition + return SearchForTopCreateInstructions(ieObject, [&](Ref createTraceId, vint32_t createIns) + { + auto createTrace = GetTrace(createTraceId); +#ifdef VCZH_DO_DEBUG_CHECK { - // currentReturnStack == -1 means this is the last possible EndingInput - // no need to test forward - // because if the current EndingInput is doable - // it would have already been marked - currentState = -1; + auto traceExec = GetTraceExec(createTrace->traceExecRef); + auto&& ins = ReadInstruction(createIns, traceExec->insLists); + CHECK_ERROR(ins.type == AstInsType::BeginObject || ins.type == AstInsType::DelayFieldAssignment, ERROR_MESSAGE_PREFIX L"The found instruction is not a BeginObject or DelayFieldAssignment instruction."); } - else +#endif + + // check if EO satisfies the condition + return SearchForEndObjectInstructions(createTrace, createIns, [&](Trace* eoTrace, vint32_t eoIns) { - auto rs = GetReturnStack(currentReturnStack); - currentReturnStack = rs->previous; - currentState = executable.returns[rs->returnIndex].returnState; - } - } - } +#ifdef VCZH_DO_DEBUG_CHECK + { + auto traceExec = GetTraceExec(eoTrace->traceExecRef); + auto&& ins = ReadInstruction(eoIns, traceExec->insLists); + CHECK_ERROR(ins.type == AstInsType::EndObject, ERROR_MESSAGE_PREFIX L"The found instruction is not a EndObject instruction."); + } +#endif + + if (!last) + { + last = eoTrace; + lastTraceExec = GetTraceExec(last->traceExecRef); + ta->lastTrace = eoTrace; + ta->postfix = lastTraceExec->insLists.c3 - eoIns - 1; + } + else if (last == eoTrace) + { + // check if two instruction is the same + auto eoTraceExec = GetTraceExec(eoTrace->traceExecRef); + if (ta->postfix != eoTraceExec->insLists.c3 - eoIns - 1) return false; + foundEndSame = true; + } + else + { + // check if two instruction shares the same postfix + if (last->successors.first != eoTrace->successors.first) return false; + auto eoTraceExec = GetTraceExec(eoTrace->traceExecRef); + if (!ComparePostfix(lastTraceExec, eoTraceExec, ta->postfix + 1)) return false; + foundEndPostfix = true; + } + return true; + }); + }); + }); + }); + if (!succeeded) return false; + + // ensure the statistics result is compatible + if (first && !foundBeginSame && !foundBeginPrefix) foundBeginSame = true; + if (last && !foundEndSame && !foundEndPostfix) foundEndSame = true; + if (foundBeginSame == foundBeginPrefix) return false; + if (foundEndSame == foundEndPostfix) return false; + + // fix prefix if necessary + if (foundBeginPrefix) + { + auto first = GetTrace(GetTrace(ta->firstTrace)->predecessors.first); + auto traceExec = GetTraceExec(first->traceExecRef); + ta->firstTrace = first; + ta->prefix += traceExec->insLists.c3; } - for (vint32_t i = 0; trace && (i < endingCount || endingCount == -1); i++) + // fix postfix if necessary + if (foundEndPostfix) + { + // last will be a merge trace + // so ta->postfix doesn't need to change + auto last = GetTrace(GetTrace(ta->lastTrace)->successors.first); + auto traceExec = GetTraceExec(last->traceExecRef); + ta->lastTrace = last; + } + + return true; +#undef ERROR_MESSAGE_PREFIX + } + + bool TraceManager::CheckMergeTrace(TraceAmbiguity* ta, Trace* trace, TraceExec* traceExec, collections::List>& visitingIds) + { + // when a merge trace is the surviving trace + // objects in the top object stack are the result of ambiguity + if (trace->successorCount == 0) { + auto ieOSTop = GetInsExec_ObjectStack(traceExec->context.objectStack); + return CheckAmbiguityResolution(ta, visitingIds, [=](auto&& callback) { - // LeftrecInput transition is an epsilon transition - vint32_t transitionIndex = executable.GetTransitionIndex(trace->state, Executable::LeftrecInput); - auto&& edgeArray = executable.transitions[transitionIndex]; - WalkAlongLeftrecEdges(currentTokenIndex, lookAhead, trace, edgeArray); - } + return callback(ieOSTop->objectIds); + }); + } - // EndingInput transition is an epsilon transition - vint32_t transitionIndex = executable.GetTransitionIndex(trace->state, Executable::EndingInput); - auto&& edgeArray = executable.transitions[transitionIndex]; + // otherwise + // objects in the top create stack are the result of ambiguity + // even when there is only one object in the stack - // it has been ensured that edgeArray.count < 2 - if (edgeArray.count == 0) + // but in some cases + // objects in the top object stack are the result of ambiguity + // when these objects are the only difference in branches + // here we need to test if the condition satisfied + + { + // [CONDITION] + // the first predecessor must has a EndObject instruction + // count the number of instructions after EndObject + // these instructions are the postfix + vint32_t postfix = -1; + auto firstTrace = GetTrace(trace->predecessors.first); + auto firstTraceExec = GetTraceExec(firstTrace->traceExecRef); + for (vint32_t i = firstTraceExec->insLists.c3 - 1; i >= 0; i--) { - trace = nullptr; + auto&& ins = ReadInstruction(i, firstTraceExec->insLists); + if (ins.type == AstInsType::EndObject) + { + postfix = firstTraceExec->insLists.c3 - i - 1; + break; + } } - else + if (postfix == -1) { - vint32_t byEdge = edgeArray.start; - auto& edgeDesc = executable.edges[byEdge]; - trace = WalkAlongSingleEdge(currentTokenIndex, Executable::EndingInput, trace, byEdge, edgeDesc); - - // EndingInput could be followed by EndingInput or LeftrecInput + goto CHECK_OBJECTS_IN_TOP_CREATE_STACK; } - } - } -/*********************************************************************** -TraceManager::WalkAlongTokenEdges -***********************************************************************/ + // [CONDITION] + // all predecessor must have a EndObject instruction + // posftix of all predecessors must be the same + { + auto predecessorId = trace->predecessors.last; + while (predecessorId != firstTrace) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingPrev; + if (!ComparePostfix(firstTraceExec, GetTraceExec(predecessor->traceExecRef), postfix + 1)) + { + goto CHECK_OBJECTS_IN_TOP_CREATE_STACK; + } + } + } - void TraceManager::WalkAlongTokenEdges( - vint32_t currentTokenIndex, - vint32_t input, - vint32_t lookAhead, - Trace* trace, - EdgeArray& edgeArray - ) - { - // find all transitions that has the expected input - // there could be multiple transitions with the same input - // but with different instructions and destinations - for (vint32_t edgeRef = 0; edgeRef < edgeArray.count; edgeRef++) - { - vint32_t byEdge = edgeArray.start + edgeRef; - auto& edgeDesc = executable.edges[edgeArray.start + edgeRef]; - if (auto newTrace = WalkAlongSingleEdge(currentTokenIndex, input, trace, byEdge, edgeDesc)) + // check if all EndObject ended objects are the result of ambiguity + if (postfix == 0) { - // continue with as much EndingInput and LeftrecInput transitions as possible - // TokenInput could be followed by EndingInput or LeftrecInput - WalkAlongEpsilonEdges(currentTokenIndex, lookAhead, newTrace); + // if EndObject is the last instruction of predecessors + // then their objRefs has been written to the top object stack + auto ieOSTop = GetInsExec_ObjectStack(traceExec->context.objectStack); + auto succeeded = CheckAmbiguityResolution(ta, visitingIds, [=](auto&& callback) + { + return callback(ieOSTop->objectIds); + }); + if (succeeded) return true; + } + else + { + // otherwise find all objRefs of EndObject + auto succeeded = CheckAmbiguityResolution(ta, visitingIds, [=, &visitingIds](auto&& callback) + { + auto predecessorId = trace->predecessors.first; + while (predecessorId != nullref) + { + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingNext; + + // search for the object it ends + auto predecessorTraceExec = GetTraceExec(predecessor->traceExecRef); + auto indexEO = predecessorTraceExec->insLists.c3 - postfix - 1; + auto insExecEO = GetInsExec(predecessorTraceExec->insExecRefs.start + indexEO); + if (!callback(insExecEO->objRefs)) return false; + } + return true; + }); + if (succeeded) return true; } + } + CHECK_OBJECTS_IN_TOP_CREATE_STACK: + auto ieCSTop = GetInsExec_CreateStack(traceExec->context.createStack); + return CheckAmbiguityResolution(ta, visitingIds, [=](auto&& callback) + { + return callback(ieCSTop->objectIds); + }); } - } - } -} - -/*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER_PREPARETRACEROUTE.CPP -***********************************************************************/ - -namespace vl -{ - namespace glr - { - namespace automaton - { - using namespace collections; /*********************************************************************** -ReadInstructionList +LinkAmbiguityCriticalTrace ***********************************************************************/ - void TraceManager::ReadInstructionList(Trace* trace, TraceInsLists& insLists) + void TraceManager::LinkAmbiguityCriticalTrace(Ref traceId) { - // this function collects the following instructions in order: - // 1) byEdge.insBeforeInput - // 2) byEdge.insAfterInput - // 3) executedReturnStack.returnIndex.insAfterInput in order - if (trace->byEdge != -1) - { - auto& edgeDesc = executable.edges[trace->byEdge]; - insLists.edgeInsBeforeInput = edgeDesc.insBeforeInput; - insLists.edgeInsAfterInput = edgeDesc.insAfterInput; - } - else - { - insLists.edgeInsBeforeInput = {}; - insLists.edgeInsAfterInput = {}; - } - if (trace->executedReturnStack != -1) - { - auto returnStack = GetReturnStack(trace->executedReturnStack); - auto& returnDesc = executable.returns[returnStack->returnIndex]; - insLists.returnInsAfterInput = returnDesc.insAfterInput; - } - else + auto trace = GetTrace(traceId); + auto forward = GetTrace(GetTraceExec(trace->traceExecRef)->branchData.forwardTrace); + if (trace == forward) return; + + auto nextAct = &GetTraceExec(forward->traceExecRef)->nextAmbiguityCriticalTrace; + while (*nextAct != nullref) { - insLists.returnInsAfterInput = {}; + if (*nextAct == traceId) return; + if (*nextAct > traceId) break; + nextAct = &GetTraceExec(GetTrace(*nextAct)->traceExecRef)->nextAmbiguityCriticalTrace; } - insLists.c1 = (vint32_t)(insLists.edgeInsBeforeInput.count); - insLists.c2 = (vint32_t)(insLists.c1 + insLists.edgeInsAfterInput.count); - insLists.c3 = (vint32_t)(insLists.c2 + insLists.returnInsAfterInput.count); + auto traceExec = GetTraceExec(trace->traceExecRef); + traceExec->nextAmbiguityCriticalTrace = *nextAct; + *nextAct = traceId; } /*********************************************************************** -ReadInstruction +CheckTraceAmbiguity ***********************************************************************/ - AstIns& TraceManager::ReadInstruction(vint32_t instruction, TraceInsLists& insLists) + void TraceManager::CheckTraceAmbiguity(TraceAmbiguity* ta) { - // access the instruction object from a trace - // the index is the instruction in a virtual instruction array - // defined by all InstructionArray in TraceInsLists combined together -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::ReadInstruction(vint, TraceInsLists&)#" - CHECK_ERROR(0 <= instruction && instruction <= insLists.c3, ERROR_MESSAGE_PREFIX L"Instruction index out of range."); +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckTraceAmbiguity(TraceAmbiguity*)#" + auto teFirst = GetTraceExec(GetTrace(ta->firstTrace)->traceExecRef); - vint insRef = -1; - if (instruction < insLists.c1) + if (teFirst->ambiguityBegins == nullref) { - insRef = insLists.edgeInsBeforeInput.start + instruction; + LinkAmbiguityCriticalTrace(ta->firstTrace); } - else if (instruction < insLists.c2) + + // search in all ambiguityBegins and try to find one has the same lastTrace + TraceAmbiguityLink* taLinkToOverride = nullptr; + auto taLinkRef = teFirst->ambiguityBegins; + while (taLinkRef != nullref) { - insRef = insLists.edgeInsAfterInput.start + (instruction - insLists.c1); + auto taLink = GetTraceAmbiguityLink(taLinkRef); + taLinkRef = taLink->previous; + + auto ta2 = GetTraceAmbiguity(taLink->ambiguity); + if (ta->lastTrace == ta2->lastTrace) + { + // if there is any, try to override this TraceAmbiguity + taLinkToOverride = taLink; + break; + } } - else if (instruction < insLists.c3) + + if (taLinkToOverride) { - insRef = insLists.returnInsAfterInput.start + (instruction - insLists.c2); + // if there is a TraceAmbiguity to override + // ensure they are equivalent + auto ta2 = GetTraceAmbiguity(taLinkToOverride->ambiguity); +#ifdef VCZH_DO_DEBUG_CHECK + CHECK_ERROR(ta2->prefix == ta->prefix, ERROR_MESSAGE_PREFIX L"Incompatible TraceAmbiguity has been assigned at the same place."); + CHECK_ERROR(ta2->postfix == ta->postfix, ERROR_MESSAGE_PREFIX L"Incompatible TraceAmbiguity has been assigned at the same place."); +#endif + // override ambiguityBegins + taLinkToOverride->ambiguity = ta; + + // override TraceAmbiguity + ta->overridedAmbiguity = ta2; } else { - CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Instruction index out of range."); + // otherwise, append itself to the list + auto taLink = GetTraceAmbiguityLink(traceAmbiguityLinks.Allocate()); + taLink->ambiguity = ta; + taLink->previous = teFirst->ambiguityBegins; + teFirst->ambiguityBegins = taLink; } - - return executable.instructions[insRef]; #undef ERROR_MESSAGE_PREFIX } /*********************************************************************** -RunInstruction +DebugCheckTraceAmbiguityInSameTrace ***********************************************************************/ - bool TraceManager::RunInstruction(vint32_t instruction, TraceInsLists& insLists, vint32_t& objectCount, vint32_t& reopenCount) +#ifdef VCZH_DO_DEBUG_CHECK + void TraceManager::DebugCheckTraceAmbiguitiesInSameTrace(Trace* trace, TraceExec* traceExec) { - // run an instruction to simulate the number of extra constructing AST objects in the stack -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::SearchSingleTraceForBeginObject(Trace*&, vint&, vint&)#" - auto& ins = ReadInstruction(instruction, insLists); - switch (ins.type) - { - case AstInsType::EndObject: - objectCount++; - break; - case AstInsType::ReopenObject: - case AstInsType::BeginObject: - case AstInsType::BeginObjectLeftRecursive: - CHECK_ERROR(objectCount > 0, ERROR_MESSAGE_PREFIX L"Encountered unbalanced instructions."); - objectCount--; - break; - default:; - } +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::DebugCheckTraceAmbiguityInSameTrace(Trace*, TraceExec*)#" - switch (ins.type) + // if there are multiple ambiguityBegins + // first ambiguity instructions must all be in successors + vint faiInBranch = 0; + vint faiInSuccessor = 0; + auto taLinkRef = traceExec->ambiguityBegins; + while (taLinkRef != nullref) { - case AstInsType::ReopenObject: - reopenCount++; - break; - case AstInsType::DelayFieldAssignment: - reopenCount--; - break; - default:; - } - - // if we found a ReopenObject - // we should continue to search until we reach BeginObject or BeginObjectLeftRecursive - return objectCount == 0 && (ins.type == AstInsType::BeginObject || ins.type == AstInsType::BeginObjectLeftRecursive); -#undef ERROR_MESSAGE_PREFIX - } - -/*********************************************************************** -AdjustToRealTrace -***********************************************************************/ + auto taLink = GetTraceAmbiguityLink(taLinkRef); + taLinkRef = taLink->previous; - void TraceManager::AdjustToRealTrace(SharedBeginObject& shared) - { - TraceInsLists insLists; - ReadInstructionList(shared.traceBeginObject, insLists); - if (shared.insBeginObject >= insLists.c3) - { - shared.traceBeginObject = GetTrace(shared.traceBeginObject->successors.first); - shared.insBeginObject -= insLists.c3; + auto ta = GetTraceAmbiguity(taLink->ambiguity); + if (ta->prefix >= traceExec->insLists.c3) + { + faiInSuccessor++; + } + else + { + faiInBranch++; + } } + CHECK_ERROR((faiInBranch == 1 && faiInSuccessor == 0) || faiInBranch == 0, ERROR_MESSAGE_PREFIX L"Incompatible TraceAmbiguity has been assigned at the same place."); +#undef ERROR_MESSAGE_PREFIX } +#endif /*********************************************************************** -FindBalancedBoOrBolr +CategorizeTraceAmbiguities ***********************************************************************/ - void TraceManager::FindBalancedBoOrBolr(SharedBeginObject& balanced, vint32_t& objectCount, vint32_t& reopenCount) + void TraceManager::MarkAmbiguityCoveredForward(Trace* currentTrace, TraceAmbiguity* ta, Trace* firstTrace, TraceExec* firstTraceExec) { - // given the current instruction and the current constructing AST objects - // find the nearlest BeginObject or BeginObjectLeftRecursive before the current instruction - // that creates the bottom object -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::FindBalancedBoOrBolr(Trace*&, vint&, vint&)#" - TraceInsLists insLists; - ReadInstructionList(balanced.traceBeginObject, insLists); - +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MarkAmbiguityCoveredForward(Trace*, TraceAmbiguity*, Trace*, TraceExec*)#" while (true) { - if (balanced.traceBeginObject->predecessors.first != balanced.traceBeginObject->predecessors.last) - { - // if there are multiple predecessors - // then this is a ambiguity resolving trace - auto ambiguityBegin = FillAmbiguityInfoForMergingTrace(balanced.traceBeginObject); - - // execute all instructions until it reaches the first EndObject instruction - // and this EndObject instruction is not executed - for (auto i = balanced.insBeginObject; i > balanced.traceBeginObject->ambiguity.insEndObject; i--) - { - if (RunInstruction(i, insLists, objectCount, reopenCount)) - { - balanced.insBeginObject = i; - return; - } - } + auto forward = GetTrace(GetTraceExec(currentTrace->traceExecRef)->branchData.forwardTrace); + CHECK_ERROR(forward->traceExecRef > firstTraceExec, ERROR_MESSAGE_PREFIX L"Unexpected ambiguity resolving structure found."); - // since the BeginObject instruction for this EndObject instruction will be executed after calling FillAmbiguityInfoForMergingTrace - // must jump to the instruction before that BeginObject instruction - - balanced = ambiguityBegin; - if (objectCount == 0) - { - return; - } - else - { - AdjustToRealTrace(balanced); - balanced.insBeginObject--; - ReadInstructionList(balanced.traceBeginObject, insLists); - } - } - else + auto forwardExec = GetTraceExec(forward->traceExecRef); + if (forward->predecessors.first != forward->predecessors.last) { - // if there is only one predecessor - // run all instructions until we find the correct BeginObject or BeginObjectLeftRecursive instruction - - vint32_t minIns = 0; - vint32_t maxIns = insLists.c3; - if (balanced.traceBeginObject->ambiguityMergeInsPostfix != -1) - { - minIns = insLists.c3 - balanced.traceBeginObject->ambiguityMergeInsPostfix; - } - if (balanced.traceBeginObject->ambiguityBranchInsPostfix != -1) - { - maxIns = insLists.c3 - balanced.traceBeginObject->ambiguityBranchInsPostfix - 1; - } - if (balanced.insBeginObject > maxIns) + if (forwardExec->ambiguityDetected != nullref && forwardExec->ambiguityDetected != ta) { - balanced.insBeginObject = maxIns; + currentTrace = GetTrace(GetTraceAmbiguity(forwardExec->ambiguityDetected)->firstTrace); } - - for (auto i = balanced.insBeginObject; i >= minIns; i--) + else { - if (RunInstruction(i, insLists, objectCount, reopenCount)) + auto predecessorId = forward->predecessors.first; + while (predecessorId != nullref) { - balanced.insBeginObject = i; - return; + auto predecessor = GetTrace(predecessorId); + predecessorId = predecessor->predecessors.siblingNext; + MarkAmbiguityCoveredForward(predecessor, ta, firstTrace, firstTraceExec); } + return; } + } + else if (forward->predecessors.first == firstTrace) + { + auto forwardExec = GetTraceExec(forward->traceExecRef); + CHECK_ERROR(forwardExec->ambiguityCoveredInForward == nullref || forwardExec->ambiguityCoveredInForward == ta, L"Unexpected ambiguity resolving structure found."); + forwardExec->ambiguityCoveredInForward = ta; + return; + } + else + { + currentTrace = GetTrace(forward->predecessors.first); + } + } +#undef ERROR_MESSAGE_PREFIX + } - // if not found, then we continue searching in the predecessor trace - CHECK_ERROR(balanced.traceBeginObject->predecessors.first != -1, ERROR_MESSAGE_PREFIX L"Encountered unbalanced instructions."); + void TraceManager::CategorizeTraceAmbiguities(Trace* trace, TraceExec* traceExec) + { + // find all ambiguityBegins whose first ambiguity instruction is in successors + auto taLinkRef = traceExec->ambiguityBegins; + while (taLinkRef != nullref) + { + auto taLink = GetTraceAmbiguityLink(taLinkRef); + taLinkRef = taLink->previous; - balanced.traceBeginObject = GetTrace(balanced.traceBeginObject->predecessors.first); - ReadInstructionList(balanced.traceBeginObject, insLists); - balanced.insBeginObject = insLists.c3 - 1; + auto ta = GetTraceAmbiguity(taLink->ambiguity); + if (ta->prefix >= traceExec->insLists.c3) + { + // mark ambiguityCoveredInForward + MarkAmbiguityCoveredForward(GetTrace(ta->lastTrace), ta, trace, traceExec); } } -#undef ERROR_MESSAGE_PREFIX } /*********************************************************************** -FindBalancedBoOrDfa +CheckMergeTraces ***********************************************************************/ - void TraceManager::FindBalancedBoOrDfa(Trace* trace, vint32_t objectCount, SharedBeginObject& branch) + void TraceManager::CheckMergeTraces() { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::FindBalancedBoOrDfa(Trace*, vint32_t, Trace*&, vint32_t&, vint32_t&)#" - // find the first balanced BeginObject or BeginObjectLeftRecursive - TraceInsLists branchInsLists; - ReadInstructionList(trace, branchInsLists); - branch.traceBeginObject = trace; - branch.insBeginObject = branchInsLists.c3 - 1; - vint32_t branchObjectCount = objectCount; - vint32_t branchReopenCount = 0; - FindBalancedBoOrBolr(branch, branchObjectCount, branchReopenCount); - - // no matter if we found BeginObject or BeginObjectLeftRecursive - // we now know what type of the AST we need to resolve - AdjustToRealTrace(branch); - ReadInstructionList(branch.traceBeginObject, branchInsLists); - auto ins = ReadInstruction(branch.insBeginObject, branchInsLists); - branch.type = ins.param; - - // if we found a BeginObjectLeftRecursive which creates the bottom object in stack - // then we should continue until we reach the BeginObject - // because such BeginObject creates objects that eventually become part of BeginObjectLeftRecursive created objects - // we cannot allow sharing the same child AST object in different parent AST objects. - while (ins.type == AstInsType::BeginObjectLeftRecursive) +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::CheckMergeTraces()#" + // mark all branch trace critical { - branch.insBeginObject--; - FindBalancedBoOrBolr(branch, branchObjectCount, branchReopenCount); - AdjustToRealTrace(branch); - ReadInstructionList(branch.traceBeginObject, branchInsLists); - ins = ReadInstruction(branch.insBeginObject, branchInsLists); + auto traceId = firstBranchTrace; + while (traceId != nullref) + { + LinkAmbiguityCriticalTrace(traceId); + traceId = GetTraceExec(GetTrace(traceId)->traceExecRef)->nextBranchTrace; + } } - // if branchReopenCount > 0 - // it means there must be this amount of DelayFieldAssignment instruction before BeginOpen - // the first DelayFieldAssignment must be located - if (branchReopenCount > 0) + // mark all predecessor of merge trace critical { - ReadInstructionList(branch.traceBeginObject, branchInsLists); - while (true) + auto traceId = firstMergeTrace; + while (traceId != nullref) { - branch.insBeginObject--; - if (branch.insBeginObject == -1) + auto trace = GetTrace(traceId); + auto predecessorId = trace->predecessors.first; + while (predecessorId != nullref) { - // a merging trace must at least have one EndObject before the balanced BeginObject - // so it is not possible to see it here + LinkAmbiguityCriticalTrace(predecessorId); + predecessorId = GetTrace(predecessorId)->predecessors.siblingNext; + } + traceId = GetTraceExec(trace->traceExecRef)->nextMergeTrace; + } + } - CHECK_ERROR( - branch.traceBeginObject->predecessors.first == branch.traceBeginObject->predecessors.last, - ERROR_MESSAGE_PREFIX L"Unexpected merging trace when searching for DelayFieldAssignment." - ); - CHECK_ERROR( - branch.traceBeginObject->predecessors.first != -1, - ERROR_MESSAGE_PREFIX L"Unexpected root trace when searching for DelayFieldAssignment." - ); + // iterating TraceMergeExec + List> visitingIds; + auto traceId = firstMergeTrace; + while (traceId != nullref) + { + auto trace = GetTrace(traceId); + auto traceExec = GetTraceExec(trace->traceExecRef); + traceId = traceExec->nextMergeTrace; - branch.traceBeginObject = GetTrace(branch.traceBeginObject->predecessors.first); - ReadInstructionList(branch.traceBeginObject, branchInsLists); - branch.insBeginObject = branchInsLists.c3; - } - else + auto ta = GetTraceAmbiguity(traceAmbiguities.Allocate()); + bool succeeded = CheckMergeTrace(ta, trace, traceExec, visitingIds); + CHECK_ERROR(succeeded, ERROR_MESSAGE_PREFIX L"Failed to find ambiguous objects in a merge trace."); + traceExec->ambiguityDetected = ta; + + // check if existing TraceAmbiguity in firstTrace are compatible + CheckTraceAmbiguity(ta); + } + + // find all branch trace with ambiguityBegins + { + auto traceId = firstBranchTrace; + while (traceId != nullref) + { + auto trace = GetTrace(traceId); + auto traceExec = GetTraceExec(trace->traceExecRef); + traceId = traceExec->nextBranchTrace; + + if (traceExec->ambiguityBegins != nullref) { - auto& ins = ReadInstruction(branch.insBeginObject, branchInsLists); - switch (ins.type) - { - case AstInsType::EndObject: - // if we see EndObject, find its balanced BeginObject or BeginObjectLeftRecursive - FindBalancedBoOrBolr(branch, branchObjectCount, branchReopenCount); - AdjustToRealTrace(branch); - ReadInstructionList(branch.traceBeginObject, branchInsLists); - break; - case AstInsType::ReopenObject: - branchReopenCount++; - break; - case AstInsType::DelayFieldAssignment: - branchReopenCount--; - if (branchReopenCount == 0) - { - return; - } - break; - default:; - } +#ifdef VCZH_DO_DEBUG_CHECK + DebugCheckTraceAmbiguitiesInSameTrace(trace, traceExec); +#endif + CategorizeTraceAmbiguities(trace, traceExec); } } } #undef ERROR_MESSAGE_PREFIX } +#undef NEW_MERGE_STACK_MAGIC_COUNTER + } + } +} + +#if defined VCZH_MSVC && defined _DEBUG +#undef VCZH_DO_DEBUG_CHECK +#endif + +/*********************************************************************** +.\TRACEMANAGER\TRACEMANAGER.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace automaton + { + /*********************************************************************** -MergeAmbiguityType +TraceManager ***********************************************************************/ - void TraceManager::MergeAmbiguityType(vint32_t& ambiguityType, vint32_t branchType) + void TraceManager::BeginSwap() { -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MergeAmbiguityType(vint32_t&, vint32_t)#" - if (ambiguityType == -1) - { - ambiguityType = branchType; - } - else if (typeCallback) + concurrentCount = 0; + } + + void TraceManager::AddTrace(Trace* trace) + { + if (concurrentCount < backupTraces->Count()) { - vint32_t newType = typeCallback->FindCommonBaseClass(ambiguityType, branchType); - CHECK_ERROR(newType != -1, ERROR_MESSAGE_PREFIX L"Failed to merge from ambiguity types."); - ambiguityType = newType; + backupTraces->Set(concurrentCount, trace); } else { - CHECK_ERROR(ambiguityType == branchType, ERROR_MESSAGE_PREFIX L"TraceManager::ITypeCallback is not installed, unable to merge from ambiguity types."); + backupTraces->Add(trace); } -#undef ERROR_MESSAGE_PREFIX + concurrentCount++; } -/*********************************************************************** -MergeSharedBeginObjectsSingleRoot -***********************************************************************/ - - TraceManager::SharedBeginObject TraceManager::MergeSharedBeginObjectsSingleRoot(Trace* trace, collections::Dictionary& predecessorToBranches) + void TraceManager::EndSwap() { - // predecessorToBranches.Count() == 1 - // it means all values in predecessorToBranches must be identical + auto t = concurrentTraces; + concurrentTraces = backupTraces; + backupTraces = t; + } -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MergeSharedBeginObjectsSingleRoot(Trace*, Dictionary&)#" - SharedBeginObject shared; - vint32_t predecessorId = trace->predecessors.first; - while (predecessorId != -1) + void TraceManager::AddTraceToCollection(Trace* owner, Trace* element, TraceCollection(Trace::* collection)) + { + auto errorMessage = L"vl::glr::automaton::TraceManager::AddTraceToCollection(Trace*, Trace*, TraceCollection(Trace::*))#Multiple to multiple predecessor-successor relationship is not supported."; + auto&& elementCollection = element->*collection; + if (elementCollection.siblingNext == nullref && elementCollection.siblingPrev == nullref) { - auto predecessor = GetTrace(predecessorId); - auto branch = predecessorToBranches[predecessor]; - predecessorId = predecessor->predecessors.siblingNext; - - // BeginObject found from different predecessors must be the same - if (shared.traceBeginObject == nullptr) + auto&& ownerCollection = owner->*collection; + if (ownerCollection.first == nullref) { - shared = branch; + ownerCollection.first = element; + ownerCollection.last = element; } else { - CHECK_ERROR(shared.traceBeginObject == branch.traceBeginObject && shared.insBeginObject == branch.insBeginObject, ERROR_MESSAGE_PREFIX L"BeginObject searched from different branches are not the same."); + auto sibling = GetTrace(ownerCollection.last); + auto&& siblingCollection = sibling->*collection; + CHECK_ERROR(siblingCollection.siblingNext == nullref, errorMessage); + + siblingCollection.siblingNext = element; + elementCollection.siblingPrev = sibling; + ownerCollection.last = element; } } + else if (collection == &Trace::predecessors) + { + // there is a valid scenario when + // B(ending) ---+ + // | + // O(origin) -+-> A(ending) -+-+-> C(merged) + // | + // +---> D(token) - shared.type = -1; - return shared; -#undef ERROR_MESSAGE_PREFIX - } + // in this case, we need to copy A(ending) to avoid the multiple to multiple relationship + // the reason we cannot have such relationship is that + // TraceCollection::(siblingPrev|siblingNext) is a linked list + // it represents a predecessor collections of owner + // if a trace is shared in two predecessor collections + // there is no place for a second linked list + // the data structure is not able to represent such relationship -/*********************************************************************** -MergeSharedBeginObjectsMultipleRoot -***********************************************************************/ + // but this it is not doable if A also has multiple predecessors + // because copying A replaces a new multiple to multiple relationship to an old one like this + // O1(origin) -+-+ B(ending) -+ + // | | | + // O2(origin) -+-+-> A(ending) -+-> C(merged) + // | + // +---> X(ending) ---> D(token) + CHECK_ERROR(element->predecessors.first == element->predecessors.last, errorMessage); - TraceManager::SharedBeginObject TraceManager::MergeSharedBeginObjectsMultipleRoot(Trace* trace, collections::Dictionary& predecessorToBranches) - { - // predecessorToBranches.Count() == number of predecessors - // it means all values in predecessorToBranches must be identical - // after they are adjusted to locate in the common predecessor + auto copiedElement = AllocateTrace(); + { + vint32_t copiedId = copiedElement->allocatedIndex; + *copiedElement = *element; + copiedElement->allocatedIndex = copiedId; + } -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MergeSharedBeginObjectsMultipleRoot(Trace*, Dictionary&)#" - SharedBeginObject shared; - vint32_t predecessorId = trace->predecessors.first; + // clear sibilingPrev and sibilingNext because it belongs to no collection at this moment + // keep first and last so that it still knows its predecessors + copiedElement->predecessors.siblingPrev = nullref; + copiedElement->predecessors.siblingNext = nullref; - Trace* firstBranch = nullptr; - while (predecessorId != -1) + // now it becomes + // B(ending) -+ + // | + // O(origin) -+-> A(ending) -+-> C(merged) + // | + // +-> X(ending) ---> D(token) + AddTraceToCollection(owner, copiedElement, collection); + } + else { - auto predecessor = GetTrace(predecessorId); - auto branch = predecessorToBranches[predecessor]; - predecessorId = predecessor->predecessors.siblingNext; + // Trace::predecessors is filled by Input + // Trace::successors is filled by EndOfInput + // if Input and EndOfInput succeeded + // there should not be any multiple to multiple relationship + CHECK_FAIL(errorMessage); + } + } - if (firstBranch == nullptr) - { - firstBranch = branch.traceBeginObject; - } - Trace* currentBranch = branch.traceBeginObject; + TraceManager::TraceManager(Executable& _executable, const ITypeCallback* _typeCallback, vint blockSize) + : executable(_executable) + , typeCallback(_typeCallback) + , returnStacks(blockSize) + , traces(blockSize) + , competitions(blockSize) + , attendingCompetitions(blockSize) + , traceExecs(blockSize) + , insExec_Objects(blockSize) + , insExec_InsRefLinks(blockSize) + , insExec_ObjRefLinks(blockSize) + , insExec_ObjectStacks(blockSize) + , insExec_CreateStacks(blockSize) + , traceAmbiguities(blockSize) + , traceAmbiguityLinks(blockSize) + , executionSteps(blockSize) + { + } - // adjust branch to locate in its predecessor - { - TraceInsLists parentInsLists; - Trace* parentTrace = GetTrace(branch.traceBeginObject->predecessors.first); + ReturnStack* TraceManager::GetReturnStack(Ref index) + { + return returnStacks.Get(index); + } - ReadInstructionList(parentTrace, parentInsLists); - branch.traceBeginObject = parentTrace; - branch.insBeginObject += parentInsLists.c3; - } + ReturnStack* TraceManager::AllocateReturnStack() + { + return returnStacks.Get(returnStacks.Allocate()); + } - // multiple BeginObject must belong to successors of the same trace - // and the instructions prefix before these BeginObject must be identical - if (shared.traceBeginObject == nullptr) - { - shared = branch; - } - else - { -#define ERROR_MESSAGE ERROR_MESSAGE_PREFIX L"Failed to merge prefix from BeginObject of multiple successors." - CHECK_ERROR(shared.traceBeginObject == branch.traceBeginObject && shared.insBeginObject == branch.insBeginObject, ERROR_MESSAGE); + Trace* TraceManager::GetTrace(Ref index) + { + return traces.Get(index); + } - TraceInsLists sharedInsLists, firstInsLists, currentInsLists; - ReadInstructionList(shared.traceBeginObject, sharedInsLists); - ReadInstructionList(firstBranch, firstInsLists); - ReadInstructionList(currentBranch, currentInsLists); + Trace* TraceManager::AllocateTrace() + { + return traces.Get(traces.Allocate()); + } - vint32_t insBeginObject = shared.insBeginObject - sharedInsLists.c3; - CHECK_ERROR(insBeginObject < firstInsLists.c3, ERROR_MESSAGE); - CHECK_ERROR(insBeginObject < currentInsLists.c3, ERROR_MESSAGE); + Competition* TraceManager::GetCompetition(Ref index) + { + return competitions.Get(index); + } - for (vint32_t i = 0; i < insBeginObject; i++) - { - auto& ins1 = ReadInstruction(i, firstInsLists); - auto& ins2 = ReadInstruction(i, currentInsLists); - CHECK_ERROR(ins1 == ins2, ERROR_MESSAGE); - } -#undef ERROR_MESSAGE - } - } + Competition* TraceManager::AllocateCompetition() + { + return competitions.Get(competitions.Allocate()); + } - shared.type = -1; - return shared; -#undef ERROR_MESSAGE_PREFIX + AttendingCompetitions* TraceManager::GetAttendingCompetitions(Ref index) + { + return attendingCompetitions.Get(index); } -/*********************************************************************** -MergeSharedBeginObjectsMultipleRoot -***********************************************************************/ + AttendingCompetitions* TraceManager::AllocateAttendingCompetitions() + { + return attendingCompetitions.Get(attendingCompetitions.Allocate()); + } - TraceManager::SharedBeginObject TraceManager::MergeSharedBeginObjectsPartialMultipleRoot(Trace* trace, vint32_t ambiguityType, collections::Group& beginToPredecessors, collections::Dictionary& predecessorToBranches) + InsExec* TraceManager::GetInsExec(vint32_t index) + { + return &insExecs[index]; + } + + InsExec_Object* TraceManager::GetInsExec_Object(Ref index) { - // some values in predecessorToBranches are the same but some are not - // the result is the same to one when all values in predecessorToBranches are different - // but we need to merge subset of predecessors which share the same value + return insExec_Objects.Get(index); + } -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::MergeSharedBeginObjectsPartialMultipleRoot(Trace*, vint32_t, Group&, Dictionary&)#" - vint32_t predecessorId = trace->predecessors.first; - while (predecessorId != -1) - { - auto predecessor = GetTrace(predecessorId); - auto branch = predecessorToBranches[predecessor]; - predecessorId = predecessor->predecessors.siblingNext; + InsExec_InsRefLink* TraceManager::GetInsExec_InsRefLink(Ref index) + { + return insExec_InsRefLinks.Get(index); + } - // we start with the first predecessor from all subset - auto& subset = beginToPredecessors[branch.traceBeginObject]; - if (subset.Count()==1 || predecessor != subset[0]) continue; + InsExec_ObjRefLink* TraceManager::GetInsExec_ObjRefLink(Ref index) + { + return insExec_ObjRefLinks.Get(index); + } -#define ERROR_MESSAGE ERROR_MESSAGE_PREFIX L"Failed to merge prefix from BeginObject of multiple successors." - // ensure all value in the subset are identical - for (vint i = 1; i < subset.Count(); i++) - { - auto anotherBranch = predecessorToBranches[subset[i]]; - CHECK_ERROR(branch.traceBeginObject == anotherBranch.traceBeginObject && branch.insBeginObject == anotherBranch.insBeginObject, ERROR_MESSAGE); - } + InsExec_ObjectStack* TraceManager::GetInsExec_ObjectStack(Ref index) + { + return insExec_ObjectStacks.Get(index); + } - // ensure all predecessor in the subset are identical in their critical content - TraceInsLists insLists; - ReadInstructionList(predecessor, insLists); - for (vint i = 1; i < subset.Count(); i++) - { - auto anotherPredecessor = subset[i]; - CHECK_ERROR(predecessor->state == anotherPredecessor->state, ERROR_MESSAGE); - CHECK_ERROR(predecessor->byInput == anotherPredecessor->byInput, ERROR_MESSAGE); - CHECK_ERROR(predecessor->currentTokenIndex == anotherPredecessor->currentTokenIndex, ERROR_MESSAGE); - CHECK_ERROR(predecessor->returnStack == anotherPredecessor->returnStack, ERROR_MESSAGE); + InsExec_CreateStack* TraceManager::GetInsExec_CreateStack(Ref index) + { + return insExec_CreateStacks.Get(index); + } - TraceInsLists anotherInsLists; - ReadInstructionList(anotherPredecessor, anotherInsLists); - CHECK_ERROR(insLists.c3 == anotherInsLists.c3, ERROR_MESSAGE); - for (vint32_t j = 0; j < insLists.c3; j++) - { - auto& ins1 = ReadInstruction(j, insLists); - auto& ins2 = ReadInstruction(j, anotherInsLists); - CHECK_ERROR(ins1 == ins2, ERROR_MESSAGE); - } - } + TraceExec* TraceManager::GetTraceExec(Ref index) + { + return traceExecs.Get(index); + } - // ensure all predecessor in the subset has only one predecessor - // otherwise we are replacing the current issue with another same issue - for (vint i = 0; i < subset.Count(); i++) - { - auto anotherPredecessor = subset[i]; - CHECK_ERROR(anotherPredecessor->predecessors.first == anotherPredecessor->predecessors.last, ERROR_MESSAGE); - } + TraceAmbiguity* TraceManager::GetTraceAmbiguity(Ref index) + { + return traceAmbiguities.Get(index); + } - // connect all predecessors of predecessors in the subset to the first one - for (vint i = 1; i < subset.Count(); i++) - { - auto p1 = subset[i]; - auto p2 = GetTrace(p1->predecessors.first); - p2->successors = {}; - AddTraceToCollection(predecessor, p2, &Trace::predecessors); - AddTraceToCollection(p2, predecessor, &Trace::successors); - } + TraceAmbiguityLink* TraceManager::GetTraceAmbiguityLink(Ref index) + { + return traceAmbiguityLinks.Get(index); + } - // remove all predecessors in the subset except the first one - for (vint i = 1; i < subset.Count(); i++) - { - auto p = subset[i]; - if (p->predecessors.siblingPrev != -1) - { - GetTrace(p->predecessors.siblingPrev)->predecessors.siblingNext = p->predecessors.siblingNext; - } - if (p->predecessors.siblingNext != -1) - { - GetTrace(p->predecessors.siblingNext)->predecessors.siblingPrev = p->predecessors.siblingPrev; - } - if (trace->predecessors.first == p->allocatedIndex) - { - trace->predecessors.first = p->predecessors.siblingNext; - } - if (trace->predecessors.last == p->allocatedIndex) - { - trace->predecessors.last = p->predecessors.siblingPrev; - } - } + ExecutionStep* TraceManager::GetExecutionStep(Ref index) + { + return executionSteps.Get(index); + } - // fix predecessor->ambiguity - predecessor->ambiguity.traceBeginObject = branch.traceBeginObject->allocatedIndex; - predecessor->ambiguity.insBeginObject = branch.insBeginObject; - predecessor->ambiguity.ambiguityType = ambiguityType; +/*********************************************************************** +CreateExecutor +***********************************************************************/ - for (vint32_t i = 0; i < insLists.c3; i++) - { - auto& ins = ReadInstruction(i, insLists); - if (ins.type == AstInsType::EndObject) - { - predecessor->ambiguity.insEndObject = i; - break; - } - } - CHECK_ERROR(predecessor->ambiguity.insEndObject != -1, ERROR_MESSAGE); -#undef ERROR_MESSAGE - } - return MergeSharedBeginObjectsMultipleRoot(trace, predecessorToBranches); -#undef ERROR_MESSAGE_PREFIX + Ptr CreateExecutor(Executable& executable, const IExecutor::ITypeCallback* typeCallback, vint blockSize) + { + return new TraceManager(executable, typeCallback, blockSize); } + } + } +} /*********************************************************************** -FillAmbiguityInfoForMergingTrace +.\TRACEMANAGER\TRACEMANAGER_COMMON.CPP ***********************************************************************/ - TraceManager::SharedBeginObject TraceManager::FillAmbiguityInfoForMergingTrace(Trace* trace) - { - // assuming that this is a ambiguity resolving trace - // find the first instruction that accesses the object which is closed by the first EndObject in this trace - // such instruction must be BeginObject - // it is possible that the object closed by EndObject is created by a BeginObjectLeftRecursive - // in this case we need to keep searching - // until we find the BeginObject which creates the object that is consumed by BeginObjectLeftRecursive - // by executing from such BeginObject instead of BeginObjectLeftRecursive for all branches - // we prevent the object created by such BeginObject to be shared in multiple other objects +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +ReadInstructionList +***********************************************************************/ -#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::FillAmbiguityInfoForMergingTrace(Trace*)#" - // skip if the instruction has been found - if (trace->ambiguity.traceBeginObject != -1) + void TraceManager::ReadInstructionList(Trace* trace, TraceInsLists& insLists) + { + // this function collects the following instructions in order: + // 1) byEdge.insBeforeInput + // 2) byEdge.insAfterInput + // 3) executedReturnStack.returnIndex.insAfterInput in order + if (trace->byEdge != -1) { - SharedBeginObject shared; - shared.traceBeginObject = GetTrace(trace->ambiguity.traceBeginObject); - shared.insBeginObject = trace->ambiguity.insBeginObject; - shared.type = trace->ambiguity.ambiguityType; - return shared; + auto& edgeDesc = executable.edges[trace->byEdge]; + insLists.edgeInsBeforeInput = edgeDesc.insBeforeInput; + insLists.edgeInsAfterInput = edgeDesc.insAfterInput; } - - CHECK_ERROR(trace->predecessors.first != trace->predecessors.last, L"This function is not allowed to run on non-merging traces."); - - // find the first EndObject instruction - TraceInsLists insLists; - ReadInstructionList(trace, insLists); - - vint32_t insEndObject = -1; - for (vint32_t i = 0; i < insLists.c3; i++) + else { - auto& ins = ReadInstruction(i, insLists); - if (ins.type == AstInsType::EndObject) - { - insEndObject = i; - break; - } + insLists.edgeInsBeforeInput = {}; + insLists.edgeInsAfterInput = {}; } - CHECK_ERROR(insEndObject != -1, ERROR_MESSAGE_PREFIX L"Cannot find EndObject instruction in the merging trace."); - if (trace->ambiguityMergeInsPostfix != -1) + if (trace->executedReturnStack != nullref) { - CHECK_ERROR(insEndObject == insLists.c3 - trace->ambiguityMergeInsPostfix - 1, L"ambiguityMergeInsPostfix and insEndObject does not match."); + auto returnStack = GetReturnStack(trace->executedReturnStack); + auto& returnDesc = executable.returns[returnStack->returnIndex]; + insLists.returnInsAfterInput = returnDesc.insAfterInput; } - - vint32_t ambiguityType = -1; - Group beginToPredecessors; - Dictionary predecessorToBranches; - - // call FindBalancedBoOrBolr on all predecessors - auto predecessorId = trace->predecessors.first; - vint predecessorCount = 0; - while (predecessorId != -1) + else { - predecessorCount++; - auto predecessor = GetTrace(predecessorId); - - SharedBeginObject branch; - if (trace->ambiguityMergeInsPostfix == -1) - { - // theoretically we need to run from EndObject to the first instruction - // but there will be nothing interested before EndObject - // so just set objectCount to 1 - FindBalancedBoOrDfa(predecessor, 1, branch); - } - else - { - // having a postfix means the predecessor is another half of this trace - // the EndObject instruction is in the predecessor - FindBalancedBoOrDfa(predecessor, 0, branch); - } + insLists.returnInsAfterInput = {}; + } - beginToPredecessors.Add(branch.traceBeginObject, predecessor); - predecessorToBranches.Add(predecessor, branch); + insLists.c1 = (vint32_t)(insLists.edgeInsBeforeInput.count); + insLists.c2 = (vint32_t)(insLists.c1 + insLists.edgeInsAfterInput.count); + insLists.c3 = (vint32_t)(insLists.c2 + insLists.returnInsAfterInput.count); + } - // if EndObject is not the first instruction - // then the all instruction prefix are stored in predecessors - // so no need to really touch the prefix in this trace. +/*********************************************************************** +ReadInstruction +***********************************************************************/ - MergeAmbiguityType(ambiguityType, branch.type); + AstIns& TraceManager::ReadInstruction(vint32_t instruction, TraceInsLists& insLists) + { + // access the instruction object from a trace + // the index is the instruction in a virtual instruction array + // defined by all InstructionArray in TraceInsLists combined together +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::ReadInstruction(vint, TraceInsLists&)#" + CHECK_ERROR(0 <= instruction && instruction < insLists.c3, ERROR_MESSAGE_PREFIX L"Instruction index out of range."); - predecessorId = predecessor->predecessors.siblingNext; + vint32_t insRef = -1; + if (instruction < insLists.c1) + { + insRef = insLists.edgeInsBeforeInput.start + instruction; } - - SharedBeginObject shared; - if (beginToPredecessors.Count() == 1) + else if (instruction < insLists.c2) { - shared = MergeSharedBeginObjectsSingleRoot(trace, predecessorToBranches); + insRef = insLists.edgeInsAfterInput.start + (instruction - insLists.c1); } - else if (beginToPredecessors.Count() == predecessorCount) + else if (instruction < insLists.c3) { - shared = MergeSharedBeginObjectsMultipleRoot(trace, predecessorToBranches); + insRef = insLists.returnInsAfterInput.start + (instruction - insLists.c2); } else { - shared = MergeSharedBeginObjectsPartialMultipleRoot(trace, ambiguityType, beginToPredecessors, predecessorToBranches); + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Instruction index out of range."); } - trace->ambiguity.insEndObject = insEndObject; - trace->ambiguity.insBeginObject = shared.insBeginObject; - trace->ambiguity.traceBeginObject = shared.traceBeginObject->allocatedIndex; - trace->ambiguity.ambiguityType = ambiguityType; - return shared; + return executable.astInstructions[insRef]; #undef ERROR_MESSAGE_PREFIX } + } + } +} + +/*********************************************************************** +.\TRACEMANAGER\TRACEMANAGER_EXECUTETRACE.CPP +***********************************************************************/ +namespace vl +{ + namespace glr + { + namespace automaton + { /*********************************************************************** -FillAmbiguityInfoForPredecessorTraces +TraceManager::ExecuteTrace ***********************************************************************/ - void TraceManager::FillAmbiguityInfoForPredecessorTraces(Trace* trace) + struct TraceManagerSubmitter { - // fill Trace::ambiguity in any traces that could be reached by the current trace - while (trace) + // AccumulatedDfa + vint32_t adfaCount = 0; + vint32_t adfaIndex = -1; + regex::RegexToken* adfaToken = nullptr; + + // AccumulatedEoRo + vint32_t aeoroCount = 0; + vint32_t aeoroIndex = -1; + regex::RegexToken* aeoroToken = nullptr; + + // Caching + AstIns cachedIns; + vint32_t cachedIndex = -1; + regex::RegexToken* cachedToken = nullptr; + + IAstInsReceiver* receiver = nullptr; + + void Submit(AstIns& ins, regex::RegexToken& token, vint32_t tokenIndex) { - if (trace->predecessors.first != trace->predecessors.last) + // multiple DelayFieldAssignment are compressed to single AccumulatedDfa + // multiple EndObject+ReopenObject are compressed to single AccumulatedEoRo + + switch (ins.type) { - // if an ambiguity resolving trace has been filled - // then we could stop here - // because a previous call should have visited from this trace all the way to the root trace - if (trace->ambiguity.traceBeginObject == -1) + case AstInsType::DelayFieldAssignment: + if (aeoroToken == nullptr && cachedToken == nullptr && (adfaToken == nullptr || adfaToken == &token)) + { + adfaCount++; + adfaIndex = tokenIndex; + adfaToken = &token; + } + else + { + ExecuteSubmitted(); + adfaCount = 1; + adfaIndex = tokenIndex; + adfaToken = &token; + } + break; + case AstInsType::EndObject: + if (adfaToken == nullptr && cachedToken == nullptr) { - FillAmbiguityInfoForMergingTrace(trace); - trace = GetTrace(trace->ambiguity.traceBeginObject); + cachedIns = ins; + cachedIndex = tokenIndex; + cachedToken = &token; } else { - break; + ExecuteSubmitted(); + cachedIns = ins; + cachedIndex = tokenIndex; + cachedToken = &token; } - } - else - { - if (trace->predecessors.first == -1) break; - trace = GetTrace(trace->predecessors.first); + break; + case AstInsType::ReopenObject: + if (adfaToken != nullptr || cachedToken == nullptr || cachedIns.type != AstInsType::EndObject) + { + ExecuteSubmitted(); + receiver->Execute(ins, token, tokenIndex); + } + else if ((aeoroToken == nullptr || aeoroToken == &token) && cachedToken == &token) + { + aeoroCount++; + aeoroIndex = tokenIndex; + aeoroToken = &token; + cachedToken = nullptr; + } + else if (cachedToken == &token) + { + cachedToken = nullptr; + ExecuteSubmitted(); + aeoroCount = 1; + aeoroIndex = tokenIndex; + aeoroToken = &token; + } + else + { + ExecuteSubmitted(); + receiver->Execute(ins, token, tokenIndex); + } + break; + default: + ExecuteSubmitted(); + receiver->Execute(ins, token, tokenIndex); } } - } - -/*********************************************************************** -CreateLastMergingTrace -***********************************************************************/ - void TraceManager::CreateLastMergingTrace(Trace* rootTraceCandidate) - { - // if there are multiple surviving traces - // they are all EndingInput transition to the ending state - // and their last instruction are EndObject - // so we could merge every surviving trace to one - - // first, we need to determine the ambiguity type - vint32_t ambiguityType = -1; - for (vint i = 0; i < concurrentCount; i++) + void ExecuteSubmitted() { - auto trace = concurrentTraces->Get(i); - if (trace->predecessors.first == trace->predecessors.last) + if (adfaToken) { - // if this trace has only one predecessor - // find its BeginObject or BeginObjectLeftRecursive instruction for the type - TraceInsLists insLists; - ReadInstructionList(trace, insLists); - - SharedBeginObject balanced; - balanced.traceBeginObject = trace; - balanced.insBeginObject = insLists.c3 - 1; - vint32_t objectCount = 0; - vint32_t reopenCount = 0; - FindBalancedBoOrBolr(balanced, objectCount, reopenCount); - - AdjustToRealTrace(balanced); - ReadInstructionList(balanced.traceBeginObject, insLists); - auto ins = ReadInstruction(balanced.insBeginObject, insLists); - MergeAmbiguityType(ambiguityType, ins.param); + if (adfaCount == 1) + { + AstIns ins = { AstInsType::DelayFieldAssignment }; + receiver->Execute(ins, *adfaToken, adfaIndex); + } + else + { + AstIns ins = { AstInsType::AccumulatedDfa,-1,adfaCount }; + receiver->Execute(ins, *adfaToken, adfaIndex); + } + adfaCount = 0; + adfaToken = nullptr; } - else + if (aeoroToken) { - // otherwise, the type has been calculated before - MergeAmbiguityType(ambiguityType, trace->ambiguity.ambiguityType); + AstIns ins = { AstInsType::AccumulatedEoRo,-1,aeoroCount }; + receiver->Execute(ins, *aeoroToken, aeoroIndex); + aeoroCount = 0; + aeoroToken = nullptr; } - } - - // second, create a merging ending trace - // such merging ending trace has no instruction - // it just merges all ending traces - auto mergingTrace = AllocateTrace(); - for (vint i = 0; i < concurrentCount; i++) - { - auto trace = concurrentTraces->Get(i); - if (i == 0) + if (cachedToken) { - // copy data from the first one - mergingTrace->state = trace->state; - mergingTrace->byInput = trace->byInput; - mergingTrace->currentTokenIndex = trace->currentTokenIndex; - - // set the ambiguity data - // rootTraceCandidate has no instruction - // the first instructions of all successors are all we need - TraceInsLists insLists; - ReadInstructionList(mergingTrace, insLists); - mergingTrace->ambiguity.traceBeginObject = rootTraceCandidate->allocatedIndex; - mergingTrace->ambiguity.insBeginObject = 0; - mergingTrace->ambiguity.insEndObject = 0; - mergingTrace->ambiguity.ambiguityType = ambiguityType; + receiver->Execute(cachedIns, *cachedToken, aeoroIndex); + cachedToken = nullptr; } - - AddTraceToCollection(mergingTrace, trace, &Trace::predecessors); - AddTraceToCollection(trace, mergingTrace, &Trace::successors); } + }; - // finally, the new merging trace should be the only surviving trace - concurrentCount = 1; - concurrentTraces->Set(0, mergingTrace); - for (vint i = 1; i < concurrentTraces->Count(); i++) +#define ERROR_MESSAGE_PREFIX L"vl::glr::automaton::TraceManager::ExecuteTrace(Trace*, IAstInsReceiver&, List&)#" + + void TraceManager::ExecuteSingleTrace(TraceManagerSubmitter& submitter, Trace* trace, vint32_t firstIns, vint32_t lastIns, TraceInsLists& insLists, collections::List& tokens) + { + for (vint32_t i = firstIns; i <= lastIns; i++) { - concurrentTraces->Set(i, nullptr); + auto& ins = ReadInstruction(i, insLists); + auto& token = tokens[trace->currentTokenIndex]; + submitter.Submit(ins, token, trace->currentTokenIndex); } } -/*********************************************************************** -PrepareTraceRoute -***********************************************************************/ - - Trace* TraceManager::PrepareTraceRoute() + void TraceManager::ExecuteSingleStep(TraceManagerSubmitter& submitter, ExecutionStep* step, collections::List& tokens) { - if (state == TraceManagerState::PreparedTraceRoute) return initialTrace; - CHECK_ERROR(state == TraceManagerState::Finished, L"vl::glr::automaton::TraceManager::PrepareTraceRoute()#Wrong timing to call this function."); - state = TraceManagerState::PreparedTraceRoute; + TraceInsLists temp; - // we starts from all surviving traces - // and visit all predecessors - // until we reach the end - // so that we could skip all failed traces + switch (step->type) + { + case ExecutionType::Instruction: + { + // execute from the start trace + auto trace = GetTrace(Ref(step->et_i.startTrace)); - SortedList available; - List visited; + while (trace) + { + vint32_t firstIns = -1; + vint32_t lastIns = -1; + auto insLists = &temp; + if (trace->traceExecRef == nullref) + { + ReadInstructionList(trace, temp); + } + else + { + insLists = &GetTraceExec(trace->traceExecRef)->insLists; + } - for (vint i = 0; i < concurrentCount; i++) - { - auto trace = concurrentTraces->Get(i); - visited.Add(trace); - } + // find instruction range to execute + if (trace->allocatedIndex == step->et_i.startTrace) + { + firstIns = step->et_i.startIns; + } + else + { + firstIns = 0; + } - for (vint i = 0; i < visited.Count(); i++) - { - auto visiting = visited[i]; - if (available.Contains(visiting)) continue; - available.Add(visiting); + if (trace->allocatedIndex == step->et_i.endTrace) + { + lastIns = step->et_i.endIns; + } + else + { + lastIns = insLists->c3 - 1; + } - // add the current trace to its predecessors' successors collection - // so that a succeeded trace only have other succeeded successors in its successor collection - auto predecessorId = visiting->predecessors.first; - while (predecessorId != -1) + // execute instructions + ExecuteSingleTrace(submitter, trace, firstIns, lastIns, *insLists, tokens); + + // find the next trace + if (step->et_i.endTrace == trace->allocatedIndex) + { + break; + } + else if (trace->successors.first == nullref) + { + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Successor trace missing!"); + } + else if (trace->successors.first == trace->successors.last) + { + trace = GetTrace(trace->successors.first); + } + else + { + CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Ambiguity should not happen inside one execution step!"); + } + } + } + break; + case ExecutionType::ResolveAmbiguity: { - auto predecessor = GetTrace(predecessorId); - AddTraceToCollection(predecessor, visiting, &Trace::successors); - predecessorId = predecessor->predecessors.siblingNext; - visited.Add(predecessor); + AstIns ins = { AstInsType::ResolveAmbiguity,step->et_ra.type,step->et_ra.count }; + auto raTrace = GetTrace(Ref(step->et_ra.trace)); + raTrace = EnsureTraceWithValidStates(raTrace); + auto raToken = raTrace->currentTokenIndex; + submitter.Submit(ins, tokens[raToken], raToken); } + break; + default:; } + } - // find all ambiguity resolving traces and fill their Trace::ambiguity - for (vint i = 0; i < concurrentCount; i++) - { - auto trace = concurrentTraces->Get(i); - FillAmbiguityInfoForPredecessorTraces(trace); - } + Ptr TraceManager::ExecuteTrace(IAstInsReceiver& receiver, collections::List& tokens) + { + CHECK_ERROR(state == TraceManagerState::ResolvedAmbiguity, ERROR_MESSAGE_PREFIX L"Wrong timing to call this function."); - // if there are multiple surviving traces - // check if the ambiguity happens in the root AST - if (concurrentCount > 1) + TraceManagerSubmitter submitter; + submitter.receiver = &receiver; + + // execute from the first step + auto step = GetInitialExecutionStep(); + CHECK_ERROR(step != nullptr, L"Internal error: execution steps not built!"); + while (step) { - CreateLastMergingTrace(initialTrace); + // execute step + ExecuteSingleStep(submitter, step, tokens); + + // find the next step + step = step->next == nullref ? nullptr : GetExecutionStep(step->next); } - return initialTrace; + submitter.ExecuteSubmitted(); + return receiver.Finished(); } +#undef ERROR_MESSAGE_PREFIX } } } @@ -6306,22 +8053,22 @@ namespace vl { void XmlParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 2446; // 22181 bytes before compressing + static const vl::vint dataLength = 2518; // 23493 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 142; + static const vl::vint dataRemain = 214; static const vl::vint dataSolidRows = 9; static const vl::vint dataRows = 10; static const char* compressed[] = { - "\xA5\x56\x00\x00\x86\x09\x00\x00\x0D\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x85\x0A\x83\x06\x84\x07\x0A\x91\x0A\x9C\x0A\x82\x12\x84\x14\x0A\xA3\x42\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x91\x91\x91\x00\x34\xAC\xB9\x8E\x9B\x98\x98\x8F\x9A\x3D\xA7\x81\xA0\x93\xA3\x9B\x9E\x9D\x47\xBC\x89\xBE\x96\x82\x9B\x96\xA1\x4B\xD0\x8D\xA0\xA1\xAC\xA1\xAA\xA3\x53\xC8\x99\xAA\xAB\xAC\xA7\x80\xA7\x45\xCF\x96\xBD\xA2\xAF\xAC\xAA\xB2\x63\xE6\x9A\xAA\xBC\xAC\xB6\xAE\x81\x60\xD7\xB7\x8A\x88\x9A\xB9\xB1\xBB\x76\x89\x9B\x89\x85\xB8\xB4\xAC\xB7\x65\xF0\xA7\xA0\xC9\xB2\xC3\xB4\xC3\x6D\x88\xEF\xA1\x81\xBE\xBE\xB1\xBF\x8A\x81\xCC\xC3\xC1\xCD\xC3\xC9\xC3\x97\x89\xD9\xCB\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCD\xC7\x81\x03\x74\xB8\xAE\xCB\xD4\xC0\xC9\xCF\x96\xA5\xE0\xC7\xD5\xCF\xD6\xD9\xD8\xB4\xB0\xF6\xD9\xD7\xDB\xDE\xCE\x00\x04\x2A\xC9\x8C\x8C\xBA\x86\x02\xE1\xAC\xF9\x86\x87\x08\xE6\xD7\xC7\xE7\xAD\xB5\xD0\xEA\xEE\xE1\xEA\xDD\xE9\xC9\xD9\xD5\xF4", + "\xC5\x5B\x00\x00\xCE\x09\x00\x00\x0D\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x85\x0A\x83\x06\x84\x07\x0A\x91\x0A\x9C\x0A\x82\x12\x84\x14\x0A\xA3\x42\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x91\x91\x91\x00\x34\xAC\xB9\x8E\x9B\x98\x98\x8F\x9A\x3D\xA7\x81\xA0\x93\xA3\x9B\x9E\x9D\x47\xBC\x89\xBE\x96\x82\x9B\x96\xA1\x4B\xD0\x8D\xA0\xA1\xAC\xA1\xAA\xA3\x53\xC8\x99\xAA\xAB\xAC\xA7\x80\xA7\x45\xCF\x96\xBD\xA2\xAF\xAC\xAA\xB2\x63\xE6\x9A\xAA\xBC\xAC\xB6\xAE\x81\x60\xD7\xB7\x8A\x88\x9A\xB9\xB1\xBB\x76\x89\x9B\x89\x85\xB8\xB4\xAC\xB7\x65\xF0\xA7\xA0\xC9\xB2\xC3\xB4\xC3\x6D\x88\xEF\xA1\x81\xBE\xBE\xB1\xBF\x8A\x81\xCC\xC3\xC1\xCD\xC3\xC9\xC3\x97\x89\xD9\xCB\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCD\xC7\x81\x03\x74\xB8\xAE\xCB\xD4\xC0\xC9\xCF\x96\xA5\xE0\xC7\xD5\xCF\xD6\xD9\xD8\xB4\xB0\xF6\xD9\xD7\xDB\xDE\xCE\x00\x04\x2A\xC9\x8C\x8C\xBA\x86\x02\xE1\xAC\xF9\x86\x87\x08\xE6\xD7\xC7\xE7\xAD\xB5\xD0\xEA\xEE\xE1\xEA\xDD\xE9\xC9\xD9\xD5\xF4", "\xE2\xEA\x84\x84\x83\x7D\xDB\xDA\xFD\xEC\xEF\xEA\xEB\xDE\xD8\xE2\xEA\xE4\xF3\xF6\xF1\xF2\x00\x09\x4D\xEC\xEB\xFE\xF5\xF4\xF5\xF3\xBC\xF9\xFF\xDA\xF2\xD4\xFC\xD2\xDE\x0A\x32\x75\x7C\x7D\xF7\x6F\x7E\x7E\x69\xFB\x49\x8D\x7E\x82\xFF\x4C\x88\x82\x68\x0E\x45\x76\x82\x83\xB3\x54\x88\x6E\x85\xBE\x4B\x8A\x85\x83\x1B\x8F\x8C\x87\x87\x1E\xA1\x85\x85\x87\x23\xA0\x85\x8A\x88\x17\xA4\x89\x88\x69\x0C\x02\x85\x82\x7D\x07\xA7\x82\x8F\x8A\x28\x99\x86\x88\x8D\x33\xB6\x85\x8D\x7A\xF3\x7D\x81\x40\x40\x12\xB0\x88\x84\x8F\x03\xBE\x8F\x88\x81\x31\xB8\x8A\x92\x8E\x39\x84\x97\x92\x91\x49\x8C\x9B\x92\x93\x51\x8E\x90\x45\x90\x48\x83\x98\x7E\x96\x13\xAA\x82\x97\x97\x54\x9C\x92\x92\x97\x4E\x8F\x0E\x89\x95\x5B\xA4\x99\x9B\x8D\x60\xAB\x9B\x8E\x9B\x4D\xB0\x93\x96\x9C\xB6\x50\x07\x9A\x98\x59\xAA\x9D\x94\x9B\x61\xBA\x93\x98\x9F\x74\xBD\x90\xA3\x9E\x6F\x84\xA1\x9E\xA1\x73\x88\xAD\x9B\x7B\x12\x58\x90\x94\x9E\x8F\xBE\x99\x9F\xA0\xF6\x52\x07\x9E\x68\x13\x17\xA4\x68\x05\x9A\x85\xAF\x9E\xA7\x93\xA0\xA1\xA4\x69\x15\x1D\xA0\x6A\x05\xA6\xB1\x67\x05\xAA", "\x8B\x9F\xA7\xA2\x41\x18\x2C\xA2\xA2\xA8\x45\xB5\xAF\x92\xAD\x68\x8A\xA3\xAF\xAB\xA1\xBC\xA2\x41\x06\xB2\x8A\x4A\x05\xB0\x09\x5B\x0E\x88\x45\x8E\x81\x4D\x06\x8B\x1E\x2E\x8F\x06\x8B\x20\x04\xBE\xA9\xA2\xF6\x61\x02\xB7\x40\x16\x49\xB7\xAC\x00\x23\x2E\x84\x0A\x8B\x25\x2E\x86\x0A\x8B\x27\x2E\x88\x46\xB6\xB9\x93\xBD\xA9\xAF\xD4\xAC\xB6\x6D\x0A\xD7\xA3\xA4\xAF\xB6\x2A\x31\xB8\xAC\xA4\xF7\x92\xA2\xBE\xAF\xF9\x94\xAE\xBB\xAE\xED\xBB\xB1\xC1\x40\x2B\x36\xBB\xB5\xBA\xFF\x81\xAA\xC2\xAE\xE7\x6C\x06\xC1\x0B\x2E\xAE\x0E\x8B\x0B\x2E\xB0\x0E\x89\x0C\x2E\xB2\x06\xC0\xC2\x02\xEB\xBD\xC4\xC0\x1E\xFD\xB3\xBC\xC7\x01\x73\x0B\xC4\xBE\x07\xE8\xC4\xC9\xCA\xFA\xA2\xCC\xBC\x00\x34\x27\xCD\xC8\xCB\xFE\x9F\xCB\xC2\xBA\x20\xE1\x45\x0E\xCC\x35\xEE\xC3\xC0\xCD\x23\xEA\xC2\xD2\x68\x36\x3C\xC1\xD3\xCC\x2B\xC9\xD3\xD1\xCF\x40\xEF\xC7\x0E\xD1\x2F\xCA\xD8\xD3\xD2\x47\xCC\xD2\xD6\xD5\x54\xD1\xD9\xD7\xCF\x57\xD5\xDE\xD6\xD6\x53\xE2\x68\x0C\xD4\x5C\xDB\xD1\xCB\xB6\x39\x24\xD7\xDB\xCA\x3A\x2A\xD9\xCF\xCD\x09\xC9\x4B\x0E\xDB\x70\xC6\x9C\x0C\xDD\x0C", - "\xEF\x7D\x0C\xDE\x38\xF5\xDE\xCF\xDA\x66\xEF\xD9\xDE\x41\x3E\x3C\xD4\x83\x0F\x86\xF6\xC9\x40\x10\x89\xFF\xD2\xE1\xDF\x83\xF1\xD0\xE7\xE4\x92\xD5\xE2\x41\x10\x8D\xDB\xB2\x11\xE6\x2B\xC3\x1C\xE7\x6F\x44\x1F\xE1\xD8\xD6\xA3\xDF\xD5\xD9\xE9\x2F\xC5\x12\xE8\x69\x46\x2B\xE3\xBF\x11\xAE\xE0\x6D\x2A\x42\x7B\x76\x4E\xBA\x4C\xDF\x76\xEF\xDC\xEE\xAC\x87\x77\x56\x4C\xB5\xC3\x4C\x72\xA2\xBC\xC9\x4D\x8B\x55\xC1\xC2\x43\xF2\xBA\xC5\xC6\x47\xF2\x5F\xC9\xC1\x4B\xF3\xED\x29\x79\xE2\x43\xF3\xAE\x51\xF0\x03\xF4\x1D\xCD\xF3\x40\xF6\xB5\x7E\xEE\x5E\x4C\xE2\xEE\x64\xF9\x51\xE7\xFF\xE9\x4A\xF6\xE1\x5D\xF5\xF4\xED\x45\x65\xF5\x6C\xF0\xF0\xC4\xFF\xF9\x42\xA9\x57\x52\xFE\x6E\xF4\xC9\x41\x72\xFD\x26\x36\x79\x40\x02\x8D\x36\xED\x60\x66\x7B\xBA\x7D\x7E\xEE\x3B\x77\x7F\x05\xBD\x33\x7F\xBD\x32\x27\xFF\x63\x7B\x7C\x85\x13\x86\x35\x17\x93\x7D\x05\x89\x2C\x7A\x06\x81\x82\x21\xE0\x7A\x35\x06\xFC\x7B\x83\xE5\x34\x48\x81\x01\x21\x85\x6F\x23\x81\x83\x12\x82\x7F\x84\x0D\x9F\x79\x51\x2C\x82\x26\x05\x83\x22\x7B\x51\x48\x84\x00\x79\x7E\x2E\x1A\xB5\x86", - "\x24\xEC\x70\x87\x07\xFA\x23\x86\xF4\x6E\x82\x79\x42\x83\x24\x01\xAA\x82\x82\x23\x80\x8E\x82\x45\x8A\x7F\x13\x9C\x89\x89\x8F\x0B\x89\x8A\x14\x93\x8A\x09\x80\x8A\x88\x10\x98\x8E\x7C\x47\x92\x79\x15\x9E\x27\x8B\xAB\x3E\x87\x87\x1F\x3A\x78\x0E\x98\x4A\x86\x1E\x98\x86\x89\x23\x21\x88\x17\xD6\x85\x7F\x1E\xB0\x89\x8D\x0A\x3D\x81\xD3\x3F\x85\x8C\xE6\x71\x80\x89\xFA\x77\x8E\x47\x67\x88\x8D\x8E\x1A\x7C\x90\x1F\x28\x90\x1A\xDA\x7A\x8F\x1C\xBF\x89\x85\x5F\x9A\x82\x16\xAF\x83\x8E\x32\x9E\x8E\x8C\x82\x86\x91\x1E\xE3\x8D\x23\x3E\xAF\x8A\x8A\x71\x95\x8C\xF5\x43\x86\x20\x37\xB5\x32\x91\x3F\x92\x8E\x1F\xA4\x97\x87\x48\xA4\x83\x92\x80\x8B\x95\x17\xC6\x71\x7F\x4C\xBF\x18\x82\x85\x9F\x20\x2E\xB9\x9D\x23\x5D\xBC\x92\x7B\xC4\x32\x94\x1D\x89\x21\x42\xE8\x4E\x86\x83\xB3\x8E\x82\x0D\x89\x8C\x8D\x47\xB6\x21\x7D\x59\x81\x94\xFE\x45\x20\x98\x6A\x8A\x26\x94\xBA\x27\x92\x35\xD3\x98\x78\x51\xAE\x7C\x95\x02\x38\x99\x01\x8A\x21\x99\xEC\x50\x8D\x9B\x44\x95\x91\x27\xD7\x95\x96\x50\xB8\x8B\x38\xDB\x86\x20\x2A\xFF\x1A\x8C\x4E\xBF\x1C\x80\xE2\x9A", - "\x86\x2F\xC9\x93\x21\x7D\x83\x9E\x20\xF1\x37\x29\x39\x92\x93\x25\x81\xAF\x95\xA0\xB6\x86\xA1\x0B\xE0\x91\x21\x80\xBE\x2C\x80\x01\x57\x28\x44\xC5\x24\x81\x79\x84\x82\xA1\x3A\x96\xA3\x39\x8F\xA4\x9C\x8A\x9B\xA6\x35\x15\xBE\xA0\x3C\x92\xAF\xA3\xDA\x16\x67\x98\xED\x61\x22\xF6\x62\x9A\x9B\x74\xB2\x9E\x9B\x01\x2C\x85\x35\xAE\xAD\x9E\x98\x80\x3B\x93\xDC\x9B\x8B\x4B\xD4\x8E\x7E\x9C\xBB\xA2\xA7\x03\x2A\xA2\x1E\x90\x8A\x8E\x16\xA2\x9C\x85\x48\xBD\xA1\x42\x10\x8C\x84\x02\x8E\xA3\x20\x11\xA6\x21\x31\xB2\x89\x20\x20\x46\x27\x4A\x06\x26\x4D\x42\x76\x49\x21\x46\x46\x26\x52\x09\x39\x53\x31\xA5\x57\x98\x4D\x2E\x41\x24\x64\xAE\x83\x26\x2E\x4A\xA1\x58\x47\x9C\x13\x2E\x4C\x87\xB3\x47\x9D\x12\x17\x69\xA0\x00\xCD\x47\x9A\x27\x2E\x42\x9D\x68\x47\x9F\x13\x2E\x5A\x7A\xB5\x47\x90\x14\xB6\x8A\x26\xAD\x0E\x81\x17\x59\x8A\x23\x5D\x63\xA2\x13\xB1\x09\x2D\xB2\x03\xA3\x1E\x44\x08\xB5\x5F\x98\xA4\x11\xAE\x42\x05\x67\x99\x52\x3C\xAA\x21\x0E\x67\x9A\x29\x15\xBA\x21\xCB\x8E\x87\x14\x9A\xA9\x20\x67\x8E\x88\x15\xCF\x89\x21\xB4\x0E\x89\x14\x69\x89", - "\x26\xB5\x05\xAA\x11\xB5\x06\x2B\xB7\x02\xAB\x1E\xB4\x83\x30\xB3\x81\xAC\x0E\x44\x12\x47\x97\xA6\xE2\xB6\xAE\xA6\xBC\x2B\xA4\x71\xBC\x3C\xA5\xF3\x22\x9F\xAE\x21\x2A\xA3\x5D\xAB\x62\xA7\xE5\x81\x72\xA9\x40\xBA\x74\x04\xF7\xAA\x8F\x35\xA2\x32\xA1\x4F\xBA\x75\x78\x81\x27\xAF\xA8\xAD\x97\x3D\x0A\xA4\x81\x48\x2A\x87\xAE\xAB\xA7\xBE\x3E\x0A\xA6\xBE\xEE\x5A\xA0\x3C\x85\x1C\xAE\x20\xDE\xA4\x37\x50\xC4\xB0\xAD\xFA\x91\x77\x20\xC6\x24\xBA\x58\xFE\xB4\x72\x81\x23\xB8\x00\x10\x81\x24\xA7\x68\x58\x64\xF9\x81\x21\xC1\x0A\x29\xAF\x40\x53\xB8\x65\xA9\x82\x26\xBD\xBA\x68\x56\xB6\x2B\x54\xA6\x23\x58\xC0\x92\xC7\x80\x58\x83\xB3\x68\xAB\x81\x37\xBB\x81\xC3\x5A\x5A\xB1\x1D\xC6\x57\x13\xC2\x24\xBE\x0B\x8B\x5B\x88\xCC\x6E\xAB\x81\x03\xC3\x81\x79\xA4\xC2\xE5\x01\x27\xC6\x81\x0B\xC2\x99\xBF\x33\xAC\x7E\xE7\x3F\xC7\x81\x1A\xC0\xC8\xA8\x71\x35\x91\x82\x2C\xC2\x24\xE4\x73\x53\x25\xB6\x77\x60\xBA\xC2\x21\x6C\x43\xC8\xA5\x11\xCA\x23\x91\x8B\x8D\x6A\xD0\x12\xC4\xC9\xD6\xA9\xCA\x6D\x5F\xC1\xA6\xE2\x9F\x5A\x5B\xE1\x4C\xC4\x00\x77\xA7\xAF\x2D", - "\xC2\x25\xBF\x0B\x85\x5F\x8C\xF3\x5D\xC9\x81\x22\xC6\xC9\xA6\x76\x35\x9D\x82\x2D\xC6\xDB\x67\x5F\xCA\xF6\x35\x9D\x42\x7B\xC2\x8D\x63\xB5\xB2\x20\xDA\x7F\xB4\xA2\xD1\xC0\x00\xED\x44\xD0\x3E\xC4\xB2\x62\x9A\xA7\xA0\xD1\x9A\xAA\xCF\xD1\xEA\xAA\x22\xC6\x6A\xC1\x66\x35\xC4\x86\xD1\xF6\xA4\xB9\xD1\x6A\xC3\x6C\x35\xCE\xC5\xD1\x0A\x2F\xD3\x87\xB6\x2D\x6C\x35\xF7\x6A\xCD\x2A\x80\xD5\x42\x27\xD1\x25\xC2\x6A\xCC\x71\x6A\xC5\xC7\xA2\x89\x28\xB0\x3B\xE1\xCF\xC9\x9C\x3D\xD4\x9F\xC4\xBB\x72\x35\xFC\x36\xC5\x2A\xA7\xB2\x4F\x8B\x81\x74\x35\xED\x72\xCD\x70\xDB\xD4\xAC\x0A\x27\xC1\x90\x03\xBA\xCD\x4A\x16\xA7\x92\xC9\xDC\xD6\xEF\x04\xBC\x09\x36\xAE\x0A\x4D\xEE\xCC\xDB\x69\xDB\xAC\xB8\x50\x16\xA6\x14\x36\xA2\xD9\x72\xC3\x25\xDD\x00\x0B\xD5\x48\x54\x06\xA6\x2B\x36\xA1\xC5\x95\xC2\x20\xBC\xB4\xDA\x20\x2C\x36\xA2\x0B\x36\xA8\x59\xBE\x81\x27\xCF\x81\x2B\xC0\xCF\xA0\x3C\x08\x72\xBF\x38\xDF\x81\x11\xDE\x76\x5E\x19\x73\xC1\x83\x2D\xE0\x66\xA2\xC9\x24\x02\xF6\xC4\x71\xDF\x0B\xE0\xD1\x39\xC3\xC2\x13\x2B\xDA\xEE\x61\x06\xA7\x31\x36\xA2\xC8", - "\x20\xE9\x21\xC6\x86\xC4\xB9\x32\x36\xA7\x0C\x36\xBE\xAC\x95\x81\x2B\xE5\x01\x84\xB9\x0D\x36\xAB\x0E\x4D\xD3\xC9\xE4\x83\x35\xE0\x00\xC8\xD6\x25\x1B\x36\xAF\x0C\x9B\x96\xCD\xE7\x03\x3F\xE6\xBC\x8A\x21\x0E\x9B\xB3\x0E\xA6\xDD\x5A\x5B\xCF\xFC\xD9\x21\x3A\x36\xA7\x0E\x36\xA7\xCF\xCC\xF8\xAA\x20\x19\xCE\x81\x0F\x99\x68\xE6\x40\x5E\xEB\x80\x3D\x19\x72\xE6\x03\x24\xEE\xEE\x7B\x09\x72\x9E\xE3\xEC\xB8\x7C\x19\x73\xD1\x82\x2A\xEB\x05\xBD\x09\x73\x75\xE2\x21\x9A\x88\xE1\x36\x3F\x1D\xE4\x34\x7B\xE3\x22\x9C\xFC\xE0\x70\xD1\x01\xF2\x20\x2C\x81\x24\x20\x2E\x41\x10\x9B\x87\xF4\xBC\x8C\xAA\x23\xE0\xDC\xC7\xBB\xC8\x8C\xD1\x24\x83\x0E\x44\x21\x36\xA2\xB2\xA4\xC2\x23\xF2\x02\x31\xEA\x03\x86\x19\x73\x3F\xC3\x21\xEF\xB6\x67\x13\xDF\x9C\x30\xF4\xC8\xC9\x26\xF4\xC3\xC7\x99\x22\x2B\xF0\x34\xD8\xEE\xF6\x20\xB6\xE0\xE8\x71\x8B\x16\xA7\x46\x36\xA0\x5E\xDA\x47\xD1\x40\x28\xF6\x27\x47\x06\x62\xF8\x6B\xC5\xB6\x42\x7D\xC6\x26\x48\x06\x62\xB7\x02\x37\xAC\xF2\xC1\xE1\x25\x48\x2E\x42\x12\x36\xAA\xD3\xED\x83\x20\xFB\x80\x00\xFE\x81\x94\x19\x72", - "\xF6\x80\x04\xF9\x90\x15\x17\x61\x2E\x43\xFC\xF3\xA1\x26\x12\x83\x52\xD3\xEB\xE3\xF4\xFA\x42\x17\x1E\x44\x4C\x36\xA4\x62\xDA\x50\x63\x31\xBC\x31\x82\xE3\xBE\xFF\xFF\x14\x6C\x12\x01\x86\x12\x6C\x63\x17\x6A\x69\x7C\xC4\x57\x57\xE2\x48\x6A\x72\x19\x5F\xD2\x47\x4C\xF9\x45\x13\x11\x89\x12\x0B\x81\x12\xF3\x45\x5C\xE3\x39\x78\x16\x86\x5C\x1A\x87\x79\x1B\x84\x5C\x1D\x8D\x53\x20\x8C\x81\xC6\x58\x51\x35\x16\x82\x29\x1A\x50\x36\x1A\x82\xD1\x55\x82\xC6\x5E\x4F\x27\x10\x83\x1E\x10\x61\x01\x64\x5C\x34\x8B\x54\xC6\x5D\x48\x35\x1A\x83\x29\x1A\x47\x36\x1E\x83\x21\x10\x84\x0A\x10", + "\xEF\x7D\x0C\xDE\x38\xF5\xDE\xCF\xDA\x66\xEF\xD9\xDE\x41\x3E\x3C\xD4\x83\x0F\x86\xF6\xC9\x40\x10\x89\xFF\xD2\xE1\xDF\x83\xF1\xD0\xE7\xE4\x92\xD5\xE2\x41\x10\x8D\xDB\xB2\x11\xE6\x2B\xC3\x1C\xE7\x6F\x44\x1F\xE1\xD8\xD6\xA3\xDF\xD5\xD9\xE9\x2F\xC5\x12\xE8\x69\x46\x2B\xE3\xBF\x11\xAE\xE0\x6D\x2A\x42\x7B\x76\x4E\xBA\x4C\x01\xB6\xE7\xED\x4A\xB9\xE0\x75\x53\x71\x57\x72\x45\xEF\x40\xCC\x4A\xA8\xEE\x42\x2D\x97\x53\xF2\x40\xC5\xEA\xB7\xF1\x42\xC9\xFE\x5B\xF1\x40\xCD\xFB\xE6\x49\xEF\x03\x51\xFE\x6B\xF4\x00\x15\xFD\xC7\xF3\x06\x5A\xF5\x6C\xF0\x7E\x72\x44\xFA\x6B\xE6\xC5\x59\xF9\xF0\x29\x5C\xF1\x7B\xF7\xBC\xF4\xEF\xEE\xFA\xED\xF2\xF6\xF1\xFC\x09\x69\x67\x57\xF9\xB5\x42\xFA\x41\x70\xF7\x77\x7A\x77\x45\x2C\x7A\x90\x60\x7A\x77\xBD\x25\x80\x9D\x07\x8A\x77\xF5\x65\x79\x25\x00\x8F\x82\x49\x5C\x71\x82\xD7\x15\x85\x7F\xF5\x69\x22\xF7\x7F\x6C\x81\x80\x22\x7A\x37\x17\x9A\x36\xFF\x1A\x8B\x80\xFC\x61\x7D\x28\x21\x9D\x37\x08\xCB\x35\x84\x01\x90\x78\x85\xF4\x73\x82\xFD\x4E\x76\x84\xD4\x30\x84\x7D\x32\x88\x5C\x86\x1D\x80\x00\xEE\x72\x21", + "\x85\x32\x2B\x84\xF1\x2D\x83\x24\xEC\x42\x27\x83\xBD\x20\x89\x10\xB9\x86\x20\x25\xA6\x26\x89\x4B\x9E\x20\xF7\x1B\x8D\x69\x25\x86\x8E\x83\x37\x92\x83\x48\x53\x84\x89\x8F\x17\x88\x00\x48\x9F\x85\x0C\xDB\x8A\x20\x2A\x91\x4C\x87\x61\x90\x83\x18\x9F\x2C\x7A\x1F\xBB\x85\x86\x02\x3A\x7E\x5F\x50\x81\x8B\x7F\x2E\x7D\x8B\x1E\x3F\x8A\x1B\xCF\x8B\x8C\x29\xA5\x88\x8F\x1D\x3F\x89\x1A\xDE\x4C\x86\x33\xA9\x24\x7F\x22\x8A\x8C\x0E\xE4\x89\x20\x3A\x9E\x26\x91\x4B\x9C\x89\x00\xC5\x88\x79\x2C\xA8\x79\x83\x2C\x93\x92\x17\x95\x97\x2A\x48\x81\x8A\x92\x34\x8E\x87\x09\x9D\x9D\x8F\x8E\x2D\x88\x90\xFF\x1F\x8A\x1C\x96\x85\x94\x3B\xAA\x6C\x87\x7B\x83\x26\x27\xC2\x8C\x78\x54\x82\x95\x28\xC4\x3A\x8B\x47\x08\x9A\x85\x94\x39\x97\x92\x26\x3C\x95\x1D\x9F\x2F\x96\x0C\x81\x9D\x95\xC5\x89\x93\x31\x8B\x9C\x8C\x85\x09\x9D\x8A\x41\x9F\x89\x84\x52\x78\x80\xF8\x62\x90\x81\xB4\x96\x77\x19\xF0\x8A\x9B\x43\xAD\x94\x7B\xAB\x95\x34\xF7\x4F\x99\x9A\x00\x21\x9A\x37\x14\x84\x82\x42\x67\x99\x81\x19\x96\x7C\x92\xF9\x6A\x9F\x70\x72\x9D\x88\x7A\x83\x21\x96\x35\x5C", + "\x84\x3B\x8E\x80\x98\x46\x86\x24\x9C\x98\x83\x22\x27\xA7\x9A\x93\x3C\xAB\x9D\x28\x5F\x82\x98\x37\x80\x0A\xA1\x6B\x82\x21\x3E\x57\x3F\x88\x44\xFE\x2F\x8B\x2F\xBC\x86\xA2\x0B\xBE\x93\x17\x80\xAE\xA1\x80\x1A\xA7\x7F\x08\xAE\x99\x48\x8D\x93\xA5\x7A\x91\xA2\xA4\x27\xA4\xA7\x55\x16\x65\x9A\x00\x2F\x79\x20\xE0\x8E\x9E\x40\x29\x89\x9C\xBD\x20\xA6\xA6\xF3\x98\xA6\x41\x3C\x95\xA7\x4C\x86\x24\x9D\x54\x89\x85\x50\xFF\x8A\xA4\x9F\x83\x27\x99\x54\x9C\x97\x50\xF1\x95\xA8\x81\xB7\xA7\x9F\xC6\x2F\xAB\x40\x5F\x33\x21\x89\x83\x22\x9A\x9C\x86\x20\x90\x06\x27\x4A\x83\x26\x49\x21\x76\x49\x21\xA3\x06\x26\x53\x84\x19\x55\xA5\xA5\x4D\xA5\x48\x1E\x1E\x45\x90\x29\xAA\xAD\x09\x3F\x12\x8B\x4F\x91\x56\xB8\x89\x20\x14\x2E\x49\x86\xB5\x2D\xAB\x9F\xDF\x2F\xA0\x00\xCD\x5C\xAF\x79\x6C\x91\x5A\xC1\xAF\x3C\x7B\xCF\x46\xB2\x7D\x74\xA6\xAF\x84\x21\x15\xAD\x0A\x23\x5D\x63\x83\x22\x14\xC8\x89\x22\xB2\x93\xA1\x23\x28\x2E\x4C\x97\x7A\x59\xB1\x20\xA4\x19\xAE\x42\x05\x6F\xB2\x00\x25\x16\x45\xEC\x8E\x61\x69\xA6\x1C\xB2\x85\x1E\xB7\xB3\xA7\x02\xB5\x42\x24", + "\xBF\xB2\x54\x28\xB2\x21\xAA\xBF\xB1\x2A\x2D\xB9\x21\xD7\x99\xB2\x15\xB2\xA6\x20\x6D\x99\xBB\x15\xDB\x89\x21\xB7\x99\xAC\x16\x8B\x48\x0A\xAC\x4F\xA5\xB1\x20\x7F\xBF\xAC\x3E\xA0\x31\xA7\xF7\x0E\x4C\x9D\xD3\xB1\x34\x3B\xFF\xAC\x37\x90\x0F\x9C\xBB\x28\x74\xA7\x79\x0F\x74\x40\xA4\xA3\xB9\xAA\xDA\x54\x89\x76\xB6\x3F\x98\xAB\x86\x49\x24\xEE\xB0\xBA\x42\x7A\x87\x3D\x67\x94\xAF\xBD\x59\xA3\x23\x5F\xDB\xA7\x9F\xFA\xB3\xBF\xBC\x09\x3F\xAA\xEF\x60\xA2\xA6\x5B\x49\xA8\xC0\x64\xB9\x73\x7D\x81\x2D\xA0\xD2\x21\x27\xAC\x03\xD4\x73\x43\xE8\xB6\x3F\x90\x1C\x52\x87\x33\x69\xA0\x82\x83\x2F\xAC\xFD\xBE\x68\x00\xD3\x83\x20\x7F\xF8\xB9\x20\x54\x5A\x5B\x55\x3A\xA4\x43\x88\xD8\x86\xBA\x85\x00\x58\xC3\x4C\x7D\xAB\x40\x61\xA5\xC2\x61\x6E\x46\x58\x29\xC6\x48\x8D\x83\x22\xC0\x02\x61\x23\x59\x30\xD3\x5F\x58\x83\x20\xC2\x1F\xCA\x21\xB0\x11\xD6\x71\x40\x45\xC2\x21\x0B\xF5\xC7\x3D\x89\xA6\x23\x7A\x96\xCA\x20\x13\xCF\xCA\xC2\xB6\x4E\xCB\x40\x28\xC7\xCA\x25\xDB\x5A\xCB\x33\xBB\xC2\x40\x7B\xA9\xC8\x81\x19\x5A\xCA\x6A\xBF\xAD\x87\x82\x26\xCA\x23", + "\xD1\x76\x48\x6B\xC1\x20\x97\xEE\xC8\xCB\x6D\x71\xC8\x38\x62\xC1\x23\xB7\x5A\x51\x5D\x1C\xF2\xBA\x5B\x6D\xC2\x21\x59\xDD\xC2\x21\x72\x41\xCF\x65\x73\xDF\x55\x9E\xD0\x9E\x49\x44\xCB\xCB\xD1\xE7\x48\xCF\x61\x85\xC0\x00\x47\xDD\x7B\xD1\xBE\xA2\x20\xF7\x48\xBA\xD2\xA9\x9D\xD1\x21\x96\xD1\xBF\xB6\x21\x22\x62\x3F\xC0\x04\xA5\x92\xDB\xA4\xA5\x96\xDB\xC1\x51\xCA\x22\x63\xA6\xD1\x66\xA9\xAD\xDC\x7A\x4B\xFB\xC4\xC4\x06\x25\x6A\xA9\xE3\x66\xD4\xFA\xA0\xD2\x21\x2B\xCE\xD5\x42\x6D\x66\xD5\xBB\x66\xD0\x89\xB5\xDF\xBD\x8B\x89\x25\x70\x53\xCC\x76\xD4\x32\xDF\xD0\xAC\x2E\xCB\xD1\xAE\x60\x35\xAE\x06\x2C\xCA\xAD\x21\x2B\x72\x53\xFC\x37\xD6\x30\xAA\x20\xB6\xC3\x8B\xD8\x83\x21\x76\xD4\xAD\x66\xD7\xA0\xFD\xB9\x21\x71\xD3\xC5\xDC\x03\x2C\xBA\xA9\xCA\x04\xD2\x30\xE1\xDD\xDD\x03\x90\xDE\x40\x4C\x04\xD2\x27\x14\xD1\xD0\xF7\xD3\xD8\x81\xFA\xD1\x20\x28\x14\xD2\x0A\x94\xCE\xDD\xC0\x83\x2A\xE0\x00\x01\xDD\xBB\x0A\x34\x08\xA5\xD6\x04\xD3\x61\x66\xD5\xE1\x18\xA2\x35\x48\x58\x04\xD2\x2D\x14\xD0\x59\xA9\xC3\x23\x8B\x86\x28\xC6\x42\xF6\x54\x0B", + "\x94\xDC\x36\xC5\x89\xC4\xE0\x00\x1E\x09\x73\x25\xE3\x23\xCA\xF4\xCE\xCA\xDE\x20\xE4\xC8\x8B\xDF\x09\xCA\xBF\x38\xC8\x0F\xC9\x27\xE6\xB5\x8D\xE5\x18\x14\xD3\x0C\x4A\xD1\xCE\xE7\x06\x20\xE9\x40\x22\xD0\xE3\x84\x25\x0C\xD2\x67\x14\xD1\x61\xE5\xC1\x20\xA5\xC4\x23\xD1\x69\x14\xD3\x1A\x14\xD4\xCC\xA4\xC3\x26\xEA\xE0\xC2\xDA\x41\x6D\x04\xD3\x37\x14\xD7\xCC\x5E\xE2\x22\xD5\x8F\xEF\x37\x90\x31\x0C\xD2\x73\x14\xD1\xB7\x5A\x56\xEB\x8C\xCE\xC2\x21\x75\x14\xD3\x1D\x14\xDB\xCE\xAA\xC0\xB2\x21\x40\xC6\xE4\x00\x79\x0B\xE7\x99\x47\xEA\x20\x81\xF4\xE6\x40\x7B\x05\xF0\xA6\x53\xEB\x20\x89\xF8\xD7\x40\x7D\x0D\xF1\x79\x5D\xE8\xF1\x8B\xDF\x0D\xE5\xAF\x68\xEC\x81\x3D\xEA\xF1\x01\x21\x11\xE6\x1F\xF2\x21\x3E\xC2\xF4\x37\x82\x1B\xF1\x6C\x26\xF3\x20\x43\xE7\xF1\x70\x0A\x2C\xF5\x98\xAD\xE4\x10\x17\x45\x14\xD2\xB2\xFF\xCE\x41\x18\xBD\xF5\x6A\xF0\xF7\xB2\x9E\xDB\xDA\x42\x07\x1E\x44\x44\x14\xD4\xF7\x02\x3F\xAE\xEB\x83\x23\xEE\xC1\xCA\x11\x73\x91\xC3\x20\xE9\xC2\xF9\x21\x45\x2A\xF6\x36\xCB\xE9\xFB\x45\x0A\x2A\xDA\xB1\xC3\x25\x11\xD7\xE1\x25", + "\xF4\xDA\xF9\x21\xF1\xC1\x21\xEC\x4D\xE6\x23\x23\x14\xD1\x12\x4A\xF0\x5A\x5B\x99\xDA\xCF\xA2\x93\x16\x61\xF8\xEE\xA6\xB5\xDC\xEB\xD0\x25\x06\x63\xB8\xF2\xC6\x26\xFE\xE8\x7D\x76\x0A\x15\x09\x2E\x26\x09\x94\x6C\x69\xBA\x73\x10\xFD\x71\x10\xEF\x72\x78\x98\x09\x39\x08\x80\x00\xD3\x7E\x7D\x02\x19\x09\x0F\x3E\x22\x11\x8D\x7D\xE9\x73\x10\x9A\x06\x30\xA5\x6E\x77\x11\x81\x80\x1A\x7A\x10\x9B\x0E\x22\x9C\x04\x69\x14\x3A\x2D\x10\x3D\x52\xDD\x51\x44\xCF\x5F\x82\x69\x77\x1D\xE0\x59\x12\xD1\x53\x17\xA6\x67\x7F\x69\x67\x50\xE1\x7B\x5E\xAE\x4A\x56\x7D\x5C\x12\x3F\x86\x12\xEC\x46\x13\xCE\x53\x4B\x29\x44\x84\x70\x57\x84\x21\x1A\x84\xC1\x76\x3B\x4C\x8D\x54\x08\x4F\x84\x26\x5D\x52\x1C\x5E\x12\x55\x83\x12\xCF\x46\x13\x59\x8E\x5D\x70\x5B\x85\x14\x6E\x1C\x0D\x63\x12\xBC\x46\x13\x63\x81\x12\x65\x8F\x85\x08\x46\x48\x2C\x1A\x86\x26\x14\x45\x36\x1E\x86\x21\x10\x87\x6A\x50", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -6374,10 +8121,10 @@ namespace vl L"[27][XElement]< \"<\" NAME { XAttribute } ( \"/>\" | \">\" { XSubNode } \"\" ) >", L"[28][XSubNode] BEGIN ", L"[29][XSubNode] END [ENDING]", - L"[30][XSubNode]<< ( ( ( !XText @ | !XCData ) | !XComment ) | !XElement ) >>", - L"[31][XSubNode]<< ( ( ( !XText | !XCData ) | !XComment ) | !XElement @ ) >>", - L"[32][XSubNode]<< ( ( ( !XText | !XCData ) | !XComment @ ) | !XElement ) >>", - L"[33][XSubNode]<< ( ( ( !XText | !XCData @ ) | !XComment ) | !XElement ) >>", + L"[30][XSubNode]<< ( !XText @ | !XCData | !XComment | !XElement ) >>", + L"[31][XSubNode]<< ( !XText | !XCData @ | !XComment | !XElement ) >>", + L"[32][XSubNode]<< ( !XText | !XCData | !XComment @ | !XElement ) >>", + L"[33][XSubNode]<< ( !XText | !XCData | !XComment | !XElement @ ) >>", L"[34][XInstruction] BEGIN ", L"[35][XInstruction] END [ENDING]", L"[36][XInstruction]< \"\" >", @@ -6518,7 +8265,7 @@ XmlAstInsReceiver : public vl::glr::AstInsReceiverBase } } - void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) + void XmlAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) { auto cppFieldName = XmlCppFieldName((XmlFields)field); return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); diff --git a/Import/VlppGlrParser.h b/Import/VlppGlrParser.h index 7c145ce2..b8ffe791 100644 --- a/Import/VlppGlrParser.h +++ b/Import/VlppGlrParser.h @@ -280,7 +280,10 @@ Instructions ReopenObject, // ReopenObject() : Move the last pushed object back to creating status. EndObject, // EndObject() : Finish creating an AST node, all objects pushed after BeginObject are supposed to be its fields. DiscardValue, // DiscardValue() : Remove a pushed value. + LriStore, // LriStore() : Take the top object away and store to a register temporarily. + LriFetch, // LriFetch() : Clear the register and put it back as a top object. Field, // Field(Field) : Associate a field name with the top object. + FieldIfUnassigned, // FieldIfUnassigned(Field) : Like Field(Field) but only take effect if such field has never been assigned. ResolveAmbiguity, // ResolveAmbiguity(Type, Count) : Combine several top objects to one using an ambiguity node. Type is the type of each top object. AccumulatedDfa, // AccumulatedDfa(Count) : Multiple DelayFieldAssignment @@ -319,6 +322,7 @@ Instructions UnexpectedAmbiguousCandidate, // UnexpectedAmbiguousCandidate(Type) : The type of the ambiguous candidate is not compatible to the required type. FieldNotExistsInType, // FieldNotExistsInType(Field) : The type doesn't have such field. FieldReassigned, // FieldReassigned(Field) : An object is assigned to a field but this field has already been assigned. + FieldWeakAssignmentOnNonEnum, // FieldWeakAssignmentOnNonEnum(Field) : Weak assignment only available for field of enum type. ObjectTypeMismatchedToField, // ObjectTypeMismatchedToField(Field) : Unable to assign an object to a field because the type does not match. NoRootObject, // NoRootObject() : There is no created objects. @@ -330,6 +334,10 @@ Instructions MissingValueToReopen, // MissingValueToReopen() : There is no pushed value to reopen. ReopenedValueIsNotObject, // ReopenedValueIsNotObject() : The pushed value to reopen is not an object. MissingValueToDiscard, // MissingValueToDiscard() : There is no pushed value to discard. + MissingValueToLriStore, // MissingValueToLriStore() : There is no pushed value to run LriStore. + LriStoredValueIsNotObject, // LriStoredValueIsNotObject() : The value to run LriStore is not an object. + LriStoredValueNotCleared, // LriStoredValueNotCleared() : LriFetch is not executed before the next LriStore. + LriStoredValueNotExists, // LriStoredValueNotExists() : LriStore is not executed before the next LriFetch. LeavingUnassignedValues, // LeavingUnassignedValues() : There are still values to assign to fields before finishing an object. MissingFieldValue, // MissingFieldValue() : There is no pushed value to be assigned to a field. MissingAmbiguityCandidate, // MissingAmbiguityCandidate() : There are not enough candidates to create an ambiguity node. @@ -382,7 +390,8 @@ IAstInsReceiver struct FieldAssignment { ObjectOrToken value; - vint32_t field; + vint32_t field = -1; + bool weakAssignment = false; }; struct CreatedObject @@ -410,11 +419,12 @@ IAstInsReceiver collections::List created; collections::List pushed; + Ptr lriStoredObject; bool finished = false; bool corrupted = false; void EnsureContinuable(); - void SetField(ParsingAstBase* object, vint32_t field, const ObjectOrToken& value); + void SetField(ParsingAstBase* object, vint32_t field, const ObjectOrToken& value, bool weakAssignment); CreatedObject& PushCreated(CreatedObject&& createdObject); const CreatedObject& TopCreated(); @@ -424,7 +434,7 @@ IAstInsReceiver virtual Ptr CreateAstNode(vint32_t type) = 0; virtual void SetField(ParsingAstBase* object, vint32_t field, Ptr value) = 0; virtual void SetField(ParsingAstBase* object, vint32_t field, const regex::RegexToken& token, vint32_t tokenIndex) = 0; - virtual void SetField(ParsingAstBase* object, vint32_t field, vint32_t enumValue) = 0; + virtual void SetField(ParsingAstBase* object, vint32_t field, vint32_t enumValue, bool weakAssignment) = 0; virtual Ptr ResolveAmbiguity(vint32_t type, collections::Array>& candidates) = 0; public: @@ -526,7 +536,7 @@ IAstInsReceiver (Code Generation Templates) } template - void AssemblerSetEnumField(TField(TClass::* member), ParsingAstBase* object, vint32_t field, vint32_t enumItem, const wchar_t* cppFieldName) + void AssemblerSetEnumField(TField(TClass::* member), ParsingAstBase* object, vint32_t field, vint32_t enumItem, bool weakAssignment, const wchar_t* cppFieldName) { auto typedObject = dynamic_cast(object); if (!typedObject) @@ -539,6 +549,7 @@ IAstInsReceiver (Code Generation Templates) } if ((typedObject->*member) != TField::UNDEFINED_ENUM_ITEM_VALUE) { + if (weakAssignment) return; throw AstInsException( WString::Unmanaged(L"Field \"") + WString::Unmanaged(cppFieldName) + @@ -763,6 +774,12 @@ Executable vint32_t count = 0; }; + struct StringLiteral + { + vint32_t start = -1; + vint32_t count = 0; + }; + struct ReturnIndexArray { vint32_t start = -1; @@ -782,11 +799,20 @@ Executable LowPriority, }; + enum class ReturnRuleType + { + Field, + Partial, + Discard, + Reuse, + }; + struct ReturnDesc { vint32_t consumedRule = -1; vint32_t returnState = -1; EdgePriority priority = EdgePriority::NoCompetition; + ReturnRuleType ruleType = ReturnRuleType::Field; InstructionArray insAfterInput; }; @@ -794,6 +820,7 @@ Executable { vint32_t fromState = -1; vint32_t toState = -1; + StringLiteral condition; EdgePriority priority = EdgePriority::NoCompetition; InstructionArray insBeforeInput; InstructionArray insAfterInput; @@ -818,11 +845,12 @@ Executable vint32_t ruleCount = 0; collections::Array ruleStartStates; // ruleStartStates[rule] = the start state of this rule. collections::Array transitions; // transitions[state * (TokenBegin + tokenCount) + input] = edges from state with specified input. - collections::Array instructions; // referenced by InstructionArray + collections::Array astInstructions; // referenced by EdgeDesc::insBeforeInput and EdgeDesc::insAfterInput collections::Array returnIndices; // referenced by ReturnIndexArray collections::Array returns; // referenced by Executable::returnIndices collections::Array edges; // referenced by EdgeArray - collections::Array states; // refereced by returnState/fromState/toState + collections::Array states; // referenced by returnState/fromState/toState + WString stringLiteralBuffer; // referenced by StringLiteral Executable() = default; Executable(stream::IStream& inputStream); @@ -840,367 +868,30 @@ Executable collections::Array ruleNames; collections::Array stateLabels; }; - } - } -} - -#endif - -/*********************************************************************** -.\TRACEMANAGER\TRACEMANAGER.H -***********************************************************************/ -/*********************************************************************** -Author: Zihan Chen (vczh) -Licensed under https://github.com/vczh-libraries/License -***********************************************************************/ - -#ifndef VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER -#define VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER - - -namespace vl -{ - namespace glr - { - namespace automaton - { -/*********************************************************************** -AllocateOnly -***********************************************************************/ - - template - class AllocateOnly : public Object - { - protected: - vint blockSize; - vint remains; - collections::List>> buffers; - - public: - AllocateOnly(vint _blockSize = 65536) - : blockSize(_blockSize) - , remains(0) - { - } - - T* Get(vint32_t index) - { - vint row = index / blockSize; - vint column = index % blockSize; - CHECK_ERROR(0 <= row && row < buffers.Count(), L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); - if (row == buffers.Count() - 1) - { - CHECK_ERROR(0 <= column && column < (blockSize - remains), L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); - } - else - { - CHECK_ERROR(0 <= column && column < blockSize, L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); - } - return &buffers[row]->operator[](column); - } - - vint32_t Allocate() - { - if (remains == 0) - { - buffers.Add(new collections::Array(blockSize)); - remains = blockSize; - } - vint index = blockSize * (buffers.Count() - 1) + (blockSize - remains); - buffers[buffers.Count() - 1]->operator[](blockSize - remains).allocatedIndex = (vint32_t)index; - remains--; - return (vint32_t)index; - } - - void Clear() - { - remains = 0; - buffers.Clear(); - } - }; - /*********************************************************************** -TraceManager (Data Structures) +IExecutor ***********************************************************************/ - struct ReturnStackSuccessors - { - vint32_t createdTokenIndex = -1; // index of the token when this ReturnStack is created - vint32_t successorTokenIndex = -1; // index of the token when this ReturnStack has its first successor - // the following members records all successors - // that is created at the token index - - vint32_t first = -1; // first successor - vint32_t last = -1; // last successor - vint32_t prev = -1; // previous successor of ReturnStack::previous - vint32_t next = -1; // next successor of ReturnStack::previous - }; - - struct ReturnStack - { - vint32_t allocatedIndex = -1; // id of this ReturnStack - vint32_t previous = -1; // id of the previous ReturnStack - vint32_t returnIndex = -1; // index of ReturnDesc - ReturnStackSuccessors successors; - }; - - struct TraceCollection - { - vint32_t first = -1; // first trace in the collection - vint32_t last = -1; // last trace in the collection - vint32_t siblingPrev = -1; // previous trace in the collection of the owned trace - vint32_t siblingNext = -1; // next trace in the collection of the owned trace - }; - - struct TraceAmbiguity - { - vint32_t insEndObject = -1; // the index of the first EndObject instruction - // in {byEdge.insBeforeInput, byEdge.insAfterInput, executedReturnStack.returnIndex.insAfterInput} combined - // when this member is valid, the trace should satisfies: - // trace.ambiguity.insEndObject == trace.byEdge.insBeforeInput.count - trace.ambiguityInsPostfix - - vint32_t traceBeginObject = -1; // id of the trace containing BeginObject or DelayFieldAssignment - // that ends by the above EndObject - - vint32_t insBeginObject = -1; // the index of the BeginObject instruction - // from traceBeginObject - // in {byEdge.insBeforeInput, byEdge.insAfterInput, executedReturnStack.returnIndex.insAfterInput} combined - // if insBeginObject is larger than the number of instructions in traceBeginObject - // then the branches begin from the (insBeginObject - instruction-count(traceBeginObject))-th instruction (starting from 0) in all successors - - vint32_t ambiguityType = -1; // when the BeginObject creates an object that later be consumed by BeginObjectLeftRecursive - // than the correct type is the type in BeginObjectLeftRecursive - }; - - enum class CompetitionStatus - { - Holding, - HighPriorityWin, - LowPriorityWin, - }; - - struct Competition - { - vint32_t allocatedIndex = -1; - vint32_t nextActiveCompetition = -1; // next active Competition - vint32_t nextHoldCompetition = -1; // next Competition hold by this trace - - CompetitionStatus status = CompetitionStatus::Holding; // if predecessors from this trace have different priority, the competition begins - // when the competition is over, it will be changed to HighPriorityWin or LowPriorityWin - // if all candidates fail, it could be Holding forever - - vint32_t currentTokenIndex = -1; // currentTokenIndex from the trace that creates this competition - vint32_t ruleId = -1; // the rule id of state, when an edge starts this competition - vint32_t clauseId = -1; // the clause id of the state, when an edge starts this competition - // an state must be picked up and ensure that, the syntax creating the priority and the state belong to the same clause - - vint32_t highCounter = 0; // temporary counter for all existing high bets - // in the current step of input - vint32_t lowCounter = 0; // temporary counter for all existing low bets - // in the current step of input - }; - - struct AttendingCompetitions - { - vint32_t allocatedIndex = -1; // id of this AttendingCompetitions - vint32_t nextActiveAC = -1; // the next AttendingCompetitions for RuntimeRouting::attendingCompetitions - vint32_t nextCarriedAC = -1; // the next AttendingCompetitions for RuntimeRouting::carriedCompetitions - vint32_t competition = -1; // the id of the Competition - bool forHighPriority = false; // bet of this competition - - vint32_t returnStack = -1; // the ReturnStack object for the competition - // if the competition is attended by a ReturnDesc - // then the ReturnStack object is the one before a ReturnDesc transition happens - - bool closed = false; // true if the competition has been closed - // this flag is not always updated for discarded AttendingCompetitions objects - }; - - struct CompetitionRouting - { - vint32_t holdingCompetitions = -1; // the id of the active Competition - - vint32_t attendingCompetitions = -1; // a linked list containing all AttendingCompetitions that this trace is attending - // predecessors could share and modify the same linked list - // if a competition is over, node could be removed from the linked list - // one competition only creates two AttendingCompetitions, traces with the same bet share the object - - vint32_t carriedCompetitions = -1; // all attended competitions regardless of the status of the competition - }; - - struct AmbiguityRouting - { - vint32_t predecessorCount = -1; // the number of predecessors - // (filled by ExecuteTrace) - - vint32_t branchVisited = 0; // the number of visited branches in the current loop. - // if these branches are contained in a larger ambiguity resolving loop, all branches could be visited multiple times - // (filled by ExecuteTrace) - }; - - struct Trace - { - vint32_t allocatedIndex = -1; // id of this Trace - TraceCollection predecessors; // id of the predecessor Trace - TraceCollection successors; // successors (filled by PrepareTraceRoute) - - vint32_t state = -1; // id of the current StateDesc - vint32_t returnStack = -1; // id of the current ReturnStack - vint32_t executedReturnStack = -1; // id of the executed ReturnStack that contains the ReturnDesc being executed - vint32_t byEdge = -1; // id of the last EdgeDesc that make this trace - vint32_t byInput = -1; // the last input that make this trace - vint32_t currentTokenIndex = -1; // the index of the token that is byInput - - TraceAmbiguity ambiguity; // where to end resolving ambiguity in instructions from this trace - // this member is useful when it has multiple predecessors - // (filled by PrepareTraceRoute) - - vint32_t ambiguityBranchInsPostfix = -1; // this member is useful when it is not -1 and the trace has multiple successors - // specifying the length of the postfix - // of {byEdge.insBeforeInput, byEdge.insAfterInput, executedReturnStack.returnIndex.insAfterInput} combined - // only execute the specified prefix of instructions - // usually EndObject is the last instruction in the prefix - - vint32_t ambiguityMergeInsPostfix = -1; // this member is useful when it is not -1 and the trace has multiple predecessors - // specifying the length of the postfix - // of {byEdge.insBeforeInput, byEdge.insAfterInput, executedReturnStack.returnIndex.insAfterInput} combined - // only execute the specified postfix of instructions - // usually EndObject is the last instruction in the prefix - - CompetitionRouting competitionRouting; // a data structure carrying priority and competition information - - AmbiguityRouting ambiguityRouting; // a data structure guiding instruction execution when a trace need to be executed multiple times - // this member is useful when it has multiple predecessors or successors - }; - - enum class TraceManagerState - { - Uninitialized, - WaitingForInput, - Finished, - PreparedTraceRoute, - }; - - struct TraceInsLists - { - InstructionArray edgeInsBeforeInput; - InstructionArray edgeInsAfterInput; - InstructionArray returnInsAfterInput; - vint32_t c1; - vint32_t c2; - vint32_t c3; - }; - -/*********************************************************************** -TraceManager -***********************************************************************/ + struct Trace; - class TraceManager : public Object + class IExecutor : public virtual Interface { public: class ITypeCallback : public virtual Interface { public: - virtual vint32_t FindCommonBaseClass(vint32_t class1, vint32_t class2) const= 0; - }; - - protected: - Executable& executable; - const ITypeCallback* typeCallback = nullptr; - - TraceManagerState state = TraceManagerState::Uninitialized; - AllocateOnly returnStacks; - AllocateOnly traces; - AllocateOnly competitions; - AllocateOnly attendingCompetitions; - - collections::List traces1; - collections::List traces2; - - Trace* initialTrace = nullptr; - vint32_t activeCompetitions = -1; - ReturnStackSuccessors initialReturnStackSuccessors; - - void BeginSwap(); - void AddTrace(Trace* trace); - void EndSwap(); - void AddTraceToCollection(Trace* owner, Trace* element, TraceCollection(Trace::* collection)); - - // Ambiguity - bool AreTwoEndingInputTraceEqual(vint32_t state, vint32_t returnStack, vint32_t executedReturnStack, vint32_t acId, Trace* candidate); - vint32_t GetInstructionPostfix(EdgeDesc& oldEdge, EdgeDesc& newEdge); - void MergeTwoEndingInputTrace( - Trace* trace, - Trace* ambiguityTraceToMerge, - vint32_t currentTokenIndex, - vint32_t input, - vint32_t byEdge, - EdgeDesc& edgeDesc, - vint32_t state, - vint32_t returnStack, - vint32_t attendingCompetitions, - vint32_t carriedCompetitions, - vint32_t executedReturnStack); - - // Competition - void AttendCompetition(Trace* trace, vint32_t& newAttendingCompetitions, vint32_t& newCarriedCompetitions, vint32_t returnStack, vint32_t ruleId, vint32_t clauseId, bool forHighPriority); - ReturnStack* PushReturnStack(vint32_t base, vint32_t returnIndex, vint32_t currentTokenIndex); - void AttendCompetitionIfNecessary(Trace* trace, vint32_t currentTokenIndex, EdgeDesc& edgeDesc, vint32_t& newAttendingCompetitions, vint32_t& newCarriedCompetitions, vint32_t& newReturnStack); - void CheckAttendingCompetitionsOnEndingEdge(Trace* trace, EdgeDesc& edgeDesc, vint32_t acId, vint32_t returnStack); - void CheckBackupTracesBeforeSwapping(vint32_t currentTokenIndex); - - // Walk - Trace* WalkAlongSingleEdge(vint32_t currentTokenIndex, vint32_t input, Trace* trace, vint32_t byEdge, EdgeDesc& edgeDesc); - void WalkAlongLeftrecEdges(vint32_t currentTokenIndex, vint32_t lookAhead, Trace* trace, EdgeArray& edgeArray); - void WalkAlongEpsilonEdges(vint32_t currentTokenIndex, vint32_t lookAhead, Trace* trace); - void WalkAlongTokenEdges(vint32_t currentTokenIndex, vint32_t input, vint32_t lookAhead, Trace* trace, EdgeArray& edgeArray); - - // PrepareTraceRoute - struct SharedBeginObject - { - Trace* traceBeginObject = nullptr; - vint32_t insBeginObject = -1; - vint32_t type = -1; + virtual vint32_t FindCommonBaseClass(vint32_t class1, vint32_t class2) const = 0; }; - void ReadInstructionList(Trace* trace, TraceInsLists& insLists); - AstIns& ReadInstruction(vint32_t instruction, TraceInsLists& insLists); - bool RunInstruction(vint32_t instruction, TraceInsLists& insLists, vint32_t& objectCount, vint32_t& reopenCount); - void AdjustToRealTrace(SharedBeginObject& shared); - - void FindBalancedBoOrBolr(SharedBeginObject& balanced, vint32_t& objectCount, vint32_t& reopenCount); - void FindBalancedBoOrDfa(Trace* trace, vint32_t objectCount, SharedBeginObject& branch); - - void MergeAmbiguityType(vint32_t& ambiguityType, vint32_t branchType); - SharedBeginObject MergeSharedBeginObjectsSingleRoot(Trace* trace, collections::Dictionary& predecessorToBranches); - SharedBeginObject MergeSharedBeginObjectsMultipleRoot(Trace* trace, collections::Dictionary& predecessorToBranches); - SharedBeginObject MergeSharedBeginObjectsPartialMultipleRoot(Trace* trace, vint32_t ambiguityType, collections::Group& beginToPredecessors, collections::Dictionary& predecessorToBranches); - - SharedBeginObject FillAmbiguityInfoForMergingTrace(Trace* trace); - void FillAmbiguityInfoForPredecessorTraces(Trace* trace); - void CreateLastMergingTrace(Trace* rootTraceCandidate); - public: - TraceManager(Executable& _executable, const ITypeCallback* _typeCallback = nullptr); - - vint32_t concurrentCount = 0; - collections::List* concurrentTraces = nullptr; - collections::List* backupTraces = nullptr; - - ReturnStack* GetReturnStack(vint32_t index); - ReturnStack* AllocateReturnStack(); - Trace* GetTrace(vint32_t index); - Trace* AllocateTrace(); - Competition* GetCompetition(vint32_t index); - Competition* AllocateCompetition(); - AttendingCompetitions* GetAttendingCompetitions(vint32_t index); - AttendingCompetitions* AllocateAttendingCompetitions(); - - void Initialize(vint32_t startState); - void Input(vint32_t currentTokenIndex, vint32_t token, vint32_t lookAhead); - void EndOfInput(); - Trace* PrepareTraceRoute(); - Ptr ExecuteTrace(Trace* trace, IAstInsReceiver& receiver, collections::List& tokens); + virtual void Initialize(vint32_t startState) = 0; + virtual bool Input(vint32_t currentTokenIndex, regex::RegexToken* token, regex::RegexToken* lookAhead) = 0; + virtual bool EndOfInput(bool& ambiguityInvolved) = 0; + virtual void PrepareTraceRoute() = 0; + virtual void ResolveAmbiguity() = 0; + virtual Ptr ExecuteTrace(IAstInsReceiver& receiver, collections::List& tokens) = 0; }; + + extern Ptr CreateExecutor(Executable& executable, const IExecutor::ITypeCallback* typeCallback, vint _blockSize); } } } @@ -1235,12 +926,28 @@ ParserBase UnexpectedAstType, // (tokens, executable, traceManager, ast) unexpected type of the created AST }; - struct EndOfInputArgs + enum class TraceProcessingPhase + { + EndOfInput, + PrepareTraceRoute, + ResolveAmbiguity, + }; + + struct TraceProcessingArgs { collections::List& tokens; automaton::Executable& executable; - automaton::TraceManager& traceManager; - automaton::Trace* rootTrace; + automaton::IExecutor* executor; + bool ambiguityInvolved; + TraceProcessingPhase phase; + }; + + struct ReadyToExecuteArgs + { + collections::List& tokens; + automaton::Executable& executable; + automaton::IExecutor* executor; + bool ambiguityInvolved; }; struct ErrorArgs @@ -1251,13 +958,13 @@ ParserBase regex::RegexToken& token; collections::List& tokens; automaton::Executable& executable; - automaton::TraceManager& traceManager; + automaton::IExecutor* executor; Ptr ast; static ErrorArgs UnrecognizedToken (const regex::RegexToken& token); - static ErrorArgs InvalidToken (regex::RegexToken& token, collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager); - static ErrorArgs InputIncomplete (vint codeIndex, collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager); - static ErrorArgs UnexpectedAstType (collections::List& tokens, automaton::Executable& executable, automaton::TraceManager& traceManager, Ptr ast); + static ErrorArgs InvalidToken (regex::RegexToken& token, collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor); + static ErrorArgs InputIncomplete (vint codeIndex, collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor); + static ErrorArgs UnexpectedAstType (collections::List& tokens, automaton::Executable& executable, automaton::IExecutor* executor, Ptr ast); ParsingError ToParsingError(); }; @@ -1285,7 +992,8 @@ ParserBase using Deleter = bool(*)(vint); using TokenList = collections::List; - using EndOfInputCallback = void(EndOfInputArgs&); + using TraceProcessingCallback = void(TraceProcessingArgs&); + using ReadyToExecuteCallback = void(ReadyToExecuteArgs&); using ErrorCallback = void(ErrorArgs&); protected: Deleter deleter; @@ -1293,7 +1001,8 @@ ParserBase Ptr executable; public: - Event OnEndOfInput; + Event OnTraceProcessing; + Event OnReadyToExecute; Event OnError; ParserBase( @@ -1352,7 +1061,7 @@ ParserBase } protected: - Ptr ParseInternal(TokenList& tokens, vint32_t state, automaton::TraceManager& tm, const automaton::TraceManager::ITypeCallback* typeCallback, vint codeIndex) const + Ptr ParseInternal(TokenList& tokens, vint32_t state, automaton::IExecutor* executor, const automaton::IExecutor::ITypeCallback* typeCallback, vint codeIndex) const { #define ERROR_MESSAGE_PREFIX L"vl::glr::ParserBase<...>::ParseInternal(List&, vint32_t TraceManager::ITypeCallback*)#" if (codeIndex == -1 && tokens.Count() > 0) @@ -1360,54 +1069,69 @@ ParserBase codeIndex = tokens[0].codeIndex; } - tm.Initialize(state); + executor->Initialize(state); for (vint32_t i = 0; i < tokens.Count(); i++) { - auto&& token = tokens[i]; - auto lookAhead = i == tokens.Count() - 1 ? -1 : tokens[i + 1].token; - tm.Input(i, (vint32_t)token.token, (vint32_t)lookAhead); + auto token = &tokens[i]; + auto lookAhead = i == tokens.Count() - 1 ? nullptr : &tokens[i + 1]; - if (tm.concurrentCount == 0) + if (!executor->Input(i, token, lookAhead)) { - auto args = ErrorArgs::InvalidToken(token, tokens, *executable.Obj(), tm); + auto args = ErrorArgs::InvalidToken(*token, tokens, *executable.Obj(), executor); OnError(args); if (args.throwError) CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Error happens during parsing."); return nullptr; } } - tm.EndOfInput(); - if (tm.concurrentCount == 0) + bool ambiguityInvolved = false; + if (!executor->EndOfInput(ambiguityInvolved)) { - auto args = ErrorArgs::InputIncomplete(codeIndex, tokens, *executable.Obj(), tm); + auto args = ErrorArgs::InputIncomplete(codeIndex, tokens, *executable.Obj(), executor); OnError(args); if (args.throwError) CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Input is incomplete."); return nullptr; } - auto rootTrace = tm.PrepareTraceRoute(); { - EndOfInputArgs args = { tokens, *executable.Obj(), tm, rootTrace }; - OnEndOfInput(args); + TraceProcessingArgs args = { tokens, *executable.Obj(), executor, ambiguityInvolved, TraceProcessingPhase::EndOfInput }; + OnTraceProcessing(args); + } + if (ambiguityInvolved) + { + { + executor->PrepareTraceRoute(); + TraceProcessingArgs args = { tokens, *executable.Obj(), executor, ambiguityInvolved, TraceProcessingPhase::PrepareTraceRoute }; + OnTraceProcessing(args); + } + { + executor->ResolveAmbiguity(); + TraceProcessingArgs args = { tokens, *executable.Obj(), executor, ambiguityInvolved, TraceProcessingPhase::ResolveAmbiguity }; + OnTraceProcessing(args); + } + } + { + ReadyToExecuteArgs args = { tokens, *executable.Obj(), executor, ambiguityInvolved }; + OnReadyToExecute(args); } TReceiver receiver; - return tm.ExecuteTrace(rootTrace, receiver, tokens); + return executor->ExecuteTrace(receiver, tokens); #undef ERROR_MESSAGE_PREFIX } template - Ptr ParseWithTokens(TokenList& tokens, const automaton::TraceManager::ITypeCallback* typeCallback, vint codeIndex) const + Ptr ParseWithTokens(TokenList& tokens, const automaton::IExecutor::ITypeCallback* typeCallback, vint codeIndex, vint blockSize = 1024) const { #define ERROR_MESSAGE_PREFIX L"vl::glr::ParserBase<...>::Parse(List& TraceManager::ITypeCallback*)#" - automaton::TraceManager tm(*executable.Obj(), typeCallback); - auto ast = ParseInternal(tokens, (vint32_t)State, tm, typeCallback, codeIndex); + auto executor = automaton::CreateExecutor(*executable.Obj(), typeCallback, blockSize); + auto ast = ParseInternal(tokens, (vint32_t)State, executor.Obj(), typeCallback, codeIndex); auto typedAst = ast.template Cast(); if (ast && !typedAst) { - auto args = ErrorArgs::UnexpectedAstType(tokens, *executable.Obj(), tm, ast); + auto args = ErrorArgs::UnexpectedAstType(tokens, *executable.Obj(), executor.Obj(), ast); OnError(args); if (args.throwError) CHECK_FAIL(ERROR_MESSAGE_PREFIX L"Unexpected type of the created AST."); } @@ -1416,11 +1140,11 @@ ParserBase } template - Ptr ParseWithString(const WString& input, const automaton::TraceManager::ITypeCallback* typeCallback, vint codeIndex) const + Ptr ParseWithString(const WString& input, const automaton::IExecutor::ITypeCallback* typeCallback, vint codeIndex, vint blockSize = 1024) const { TokenList tokens; Tokenize(input, tokens, codeIndex); - return ParseWithTokens(tokens, typeCallback, codeIndex); + return ParseWithTokens(tokens, typeCallback, codeIndex, blockSize); } }; } @@ -1922,7 +1646,7 @@ namespace vl vl::Ptr CreateAstNode(vl::vint32_t type) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; }; } @@ -2010,7 +1734,8 @@ namespace vl extern void JsonParserData(vl::stream::IStream& outputStream); class Parser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; @@ -2066,6 +1791,783 @@ namespace vl #endif +/*********************************************************************** +.\TRACEMANAGER\TRACEMANAGER.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER +#define VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER + + +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +AllocateOnly +***********************************************************************/ + + struct WithMagicCounter + { + vuint64_t mergeCounter = 0; // a temporary counter for internal use + }; + + struct NullRef {}; + constexpr auto nullref = NullRef{}; + + template + struct Ref + { + vint32_t handle = -1; + + Ref() = default; + Ref(NullRef) :handle(-1) {} + Ref(T* obj) :handle(obj == nullptr ? -1 : obj->allocatedIndex) {} + Ref(const Ref& ref) :handle(ref.handle) {} + explicit Ref(vint32_t _handle) :handle(_handle) {} + + __forceinline bool operator==(NullRef) const { return handle == -1; } + __forceinline bool operator!=(NullRef) const { return handle != -1; } + __forceinline bool operator==(const Ref& ref) const { return handle == ref.handle; } + __forceinline bool operator!=(const Ref& ref) const { return handle != ref.handle; } + __forceinline bool operator> (const Ref& ref) const { return handle > ref.handle; } + __forceinline bool operator>=(const Ref& ref) const { return handle >= ref.handle; } + __forceinline bool operator< (const Ref& ref) const { return handle < ref.handle; } + __forceinline bool operator<=(const Ref& ref) const { return handle <= ref.handle; } + + __forceinline Ref& operator=(const Ref& ref) { handle = ref.handle; return *this; } + __forceinline Ref& operator=(T* obj) { handle = obj == nullptr ? -1 : obj->allocatedIndex; return *this; } + __forceinline Ref& operator=(NullRef) { handle = -1; return *this; } + + __forceinline bool operator==(vint32_t) = delete; + __forceinline bool operator!=(vint32_t) = delete; + __forceinline bool operator> (vint32_t) = delete; + __forceinline bool operator>=(vint32_t) = delete; + __forceinline bool operator< (vint32_t) = delete; + __forceinline bool operator<=(vint32_t) = delete; + __forceinline Ref& operator=(vint32_t) = delete; + }; + + template + struct Allocatable + { + vint32_t allocatedIndex = -1; + }; + + template + class AllocateOnly : public Object + { + static_assert(std::is_base_of_v, T>, "T in AllocateOnly does not inherit from Allocatable."); + protected: + vint blockSize; + vint remains; + collections::List>> buffers; + + public: + AllocateOnly(vint _blockSize) + : blockSize(_blockSize) + , remains(0) + { + } + + T* Get(Ref index) + { + vint row = index.handle / blockSize; + vint column = index.handle % blockSize; + CHECK_ERROR(0 <= row && row < buffers.Count(), L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); + if (row == buffers.Count() - 1) + { + CHECK_ERROR(0 <= column && column < (blockSize - remains), L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); + } + else + { + CHECK_ERROR(0 <= column && column < blockSize, L"vl::glr::automaton::AllocateOnly::Get(vint)#Index out of range."); + } + return &buffers[row]->operator[](column); + } + + Ref Allocate() + { + if (remains == 0) + { + buffers.Add(new collections::Array(blockSize)); + remains = blockSize; + } + vint index = blockSize * (buffers.Count() - 1) + (blockSize - remains); + buffers[buffers.Count() - 1]->operator[](blockSize - remains).allocatedIndex = (vint32_t)index; + remains--; + return Ref((vint32_t)index); + } + + void Clear() + { + remains = 0; + buffers.Clear(); + } + }; + + struct ReturnStack; + struct Trace; + struct TraceExec; + struct InsExec_Object; + +/*********************************************************************** +TraceManager (Data Structures) +***********************************************************************/ + + struct ReturnStackSuccessors + { + vint32_t tokenIndex = -1; // index of the token when successors in this list are created + // the following members records all successors + // that is created at the token index + + Ref first; // first successor + Ref last; // last successor + }; + + struct ReturnStackCache + { + ReturnStackSuccessors lastSuccessors; // the value of successors before the current one is changed + ReturnStackSuccessors successors; // successors of ReturnStack for a token + vint32_t tokenIndex = -1; // index of the token when this ReturnStack is created. + Ref prev; // previous successor of ReturnStack::previous + Ref next; // next successor of ReturnStack::previous + }; + + struct ReturnStack : Allocatable + { + Ref previous; // id of the previous ReturnStack + vint32_t returnIndex = -1; // index of the ReturnDesc + Ref fromTrace; // id of the Trace which has a transition containing this ReturnStack + ReturnStackCache cache; + }; + + enum class CompetitionStatus + { + Holding, + HighPriorityWin, + LowPriorityWin, + }; + + struct Competition : Allocatable + { + Ref nextActiveCompetition; // next active Competition + Ref nextHoldCompetition; // next Competition hold by this trace + + CompetitionStatus status = CompetitionStatus::Holding; // if predecessors from this trace have different priority, the competition begins + // when the competition is over, it will be changed to HighPriorityWin or LowPriorityWin + // if all candidates fail, it could be Holding forever + + vint32_t currentTokenIndex = -1; // currentTokenIndex from the trace that creates this competition + vint32_t ruleId = -1; // the rule id of state, when an edge starts this competition + vint32_t clauseId = -1; // the clause id of the state, when an edge starts this competition + // an state must be picked up and ensure that, the syntax creating the priority and the state belong to the same clause + + vint32_t highCounter = 0; // temporary counter for all existing high bets + // in the current step of input + vint32_t lowCounter = 0; // temporary counter for all existing low bets + // in the current step of input + }; + + struct AttendingCompetitions : Allocatable + { + Ref nextActiveAC; // the next AttendingCompetitions for RuntimeRouting::attendingCompetitions + Ref nextCarriedAC; // the next AttendingCompetitions for RuntimeRouting::carriedCompetitions + Ref competition; // the id of the Competition + bool forHighPriority = false; // bet of this competition + + Ref returnStack; // the ReturnStack object for the competition + // if the competition is attended by a ReturnDesc + // then the ReturnStack object is the one before a ReturnDesc transition happens + + bool closed = false; // true if the competition has been closed + // this flag is not always updated for discarded AttendingCompetitions objects + }; + +/*********************************************************************** +TraceManager (Data Structures -- Input/EndOfInput) +***********************************************************************/ + + struct TraceCollection + { + Ref first; // first trace in the collection + Ref last; // last trace in the collection + Ref siblingPrev; // previous trace in the collection of the owned trace + Ref siblingNext; // next trace in the collection of the owned trace + }; + + struct CompetitionRouting + { + Ref holdingCompetitions; // the id of the active Competition + + Ref attendingCompetitions; // a linked list containing all AttendingCompetitions that this trace is attending + // predecessors could share and modify the same linked list + // if a competition is over, node could be removed from the linked list + // one competition only creates two AttendingCompetitions, traces with the same bet share the object + + Ref carriedCompetitions; // all attended competitions regardless of the status of the competition + }; + + struct Trace : Allocatable + { + TraceCollection predecessors; // ids of predecessor Trace + + // (filled by EndOfInput) + TraceCollection successors; // ids of successor Trace + vint32_t predecessorCount = 0; + vint32_t successorCount = 0; + + // if state == -1 + // it means this is an ambiguity resolving trace + // all merged traces are in predecessors + + vint32_t state = -1; // id of the current StateDesc + Ref returnStack; // id of the current ReturnStack + Ref executedReturnStack; // id of the executed ReturnStack that contains the ReturnDesc being executed + vint32_t byEdge = -1; // id of the last EdgeDesc that make this trace + vint32_t byInput = -1; // the last input that make this trace + vint32_t currentTokenIndex = -1; // the index of the token that is byInput + CompetitionRouting competitionRouting; // a data structure carrying priority and competition information + + // (filled by PrepareTraceRoute) + Ref traceExecRef; // the allocated TraceExec + vint32_t iterateCounter = 0; // a temporary counter for IterateSurvivedTraces internal use + }; + +/*********************************************************************** +TraceManager (Data Structures -- PrepareTraceRoute/ResolveAmbiguity) +***********************************************************************/ + + struct InsExec_InsRefLink : Allocatable + { + Ref previous; + Ref trace; + vint32_t ins = -1; + }; + + struct InsExec_ObjRefLink : Allocatable + { + Ref previous; + Ref id; + }; + + struct InsExec_Object : Allocatable, WithMagicCounter + { + // lrObjectIds are objects it takes while being created by BOLR + Ref lrObjectIds; + + // instruction that creates this object + Ref bo_bolr_Trace; + vint32_t bo_bolr_Ins = -1; + + // DelayFieldAssignment instructions that associates to the current object + Ref dfaInsRefs; + }; + + struct InsExec_ObjectStack : Allocatable, WithMagicCounter + { + Ref previous; + Ref objectIds; + vint32_t pushedCount = -1; // number for InsExec_CreateStack::stackBase + }; + + struct InsExec_CreateStack : Allocatable, WithMagicCounter + { + Ref previous; + vint32_t stackBase = -1; // the number of objects in the object stack that is frozen + + // All InsExec_InsRefLink that create the current InsExec_CreateStack + Ref createInsRefs; + + // InsExec_ObjRefLink assigned by BO/BOLA/RO + Ref objectIds; + }; + + struct InsExec_Context + { + Ref objectStack; // InsExec_ObjectStack after executing instructions + Ref createStack; // InsExec_CreateStack after executing instructions + Ref lriStoredObjects; // LriStore stored InsExec_ObjRefLink after executing instructions + }; + + struct InsExec : WithMagicCounter + { + // BO/BOLR: + // the created object + Ref createdObjectId; + + // DFA: + // all associated objects + // EO: + // all ended objects + Ref objRefs; + + // InsExec_InsRefLink + // BO/BOLR/DFA: + // EndingObject instructions that close objects or create stack created by the current instruction + Ref eoInsRefs; + + // context before executing the current instruction + InsExec_Context contextBeforeExecution; + }; + + struct TraceAmbiguity : Allocatable + { + // all objects to merge + Ref bottomObjectIds; + + // if multiple TraceAmbiguity are assigned to the same place + // it records the one it overrides + Ref overridedAmbiguity; + + // the trace where ambiguity resolution begins + // prefix is the number of instructions before BO/DFA + // if prefix + 1 is larger than instructions in firstTrace + // then BO/DFA is in all successors + // these instructions create topObjectIds + Ref firstTrace; + vint32_t prefix = -1; + + // the trace when ambiguity resolution ends + // postfix is the number of instructions after EO + // if lastTrace is a merge trace + // then EO is in all predecessors + // these instructions end bottomObjectIds + Ref lastTrace; + vint32_t postfix = -1; + }; + + struct TraceAmbiguityLink : Allocatable + { + Ref previous; + Ref ambiguity; + }; + + struct TraceInsLists + { + InstructionArray edgeInsBeforeInput; + InstructionArray edgeInsAfterInput; + InstructionArray returnInsAfterInput; + vint32_t c1; + vint32_t c2; + vint32_t c3; + }; + + struct TraceBranchData : WithMagicCounter + { + // it stores the first trace of non branching path that this trace is in + // such trace could be: + // the initial trace + // successors of a branch trace + // a merge trace + Ref forwardTrace; + + // for merge trace, it stores the latest forwardTrace that all comming branches share + Ref commonForwardBranch; + }; + + struct TraceExec : Allocatable + { + Ref traceId; + TraceInsLists insLists; // instruction list of this trace + InstructionArray insExecRefs; // allocated InsExec for instructions + + InsExec_Context context; + TraceBranchData branchData; + + // linked list of branch traces + Ref nextBranchTrace; + + // linked list of merge traces + Ref nextMergeTrace; + + // linked list of ambiguity critical trace (order by trace id ascending) + // the linked list begins from a trace whose forwardTrace is itself + // record all traces that is + // a branch trace + // a predecessor of a merge trace + // a trace pointed by TraceAmbiguity::firstTrace + Ref nextAmbiguityCriticalTrace; + + // TraceAmbiguity associated to the trace + // it could be associated to + // firstTrace (order by prefix ascending) + // lastTrace (order by postfix ascending) + // the merge trace that create this TraceAmbiguity + // ambiguityBegins will contain multiple TraceAmbiguity when + // multiple ambiguity begins in different group of successors + // there is also a possibility when all ambiguities don't cover all successors + Ref ambiguityDetected; + Ref ambiguityBegins; + + // when this trace is a successor of a branch trace + // and such branch trace has non-empty ambiguityBegins + // ambiguityCoveredInForward points to the ambiguity which begins in the current trace + Ref ambiguityCoveredInForward; + }; + +/*********************************************************************** +TraceManager (Data Structures -- BuildExecutionOrder) +***********************************************************************/ + + struct ExecutionStep; + + enum class ExecutionType + { + Empty, + Instruction, + ResolveAmbiguity, + }; + + struct ExecutionStep : Allocatable + { + struct ETI + { + vint32_t startTrace; + vint32_t startIns; + vint32_t endTrace; + vint32_t endIns; + }; + + struct ETRA + { + vint32_t count; + vint32_t type; + vint32_t trace; + }; + + ExecutionType type = ExecutionType::Instruction; + + // for steps that ready to execute + // "next" means the next step to execute + // for steps that returns from BuildStepTree + // "next" in a leaf step points to the next leaf step + Ref next; + + // for steps that returns from BuildStepTree + // "next" is the parent step in the tree + Ref parent; + + vint32_t copyCount = 0; + vint32_t visitCount = 0; + + union + { + ETI et_i; + ETRA et_ra; + }; + }; + +/*********************************************************************** +TraceManager +***********************************************************************/ + + enum class TraceManagerState + { + Uninitialized, + WaitingForInput, + Finished, + PreparedTraceRoute, + ResolvedAmbiguity, + }; + + struct WalkingTrace + { + Trace* currentTrace; + Trace* stateTrace; + + operator bool() const + { + return currentTrace && stateTrace; + } + }; + + struct TraceManagerSubmitter; + + class TraceManager : public Object, public virtual IExecutor + { + protected: + Executable& executable; + const ITypeCallback* typeCallback = nullptr; + + TraceManagerState state = TraceManagerState::Uninitialized; + AllocateOnly returnStacks; + AllocateOnly traces; + AllocateOnly competitions; + AllocateOnly attendingCompetitions; + + collections::List traces1; + collections::List traces2; + + Trace* initialTrace = nullptr; + Ref activeCompetitions; + ReturnStackCache initialReturnStackCache; + + collections::List temporaryConditionStack; + vint32_t temporaryConditionStackSize = 0; + + void BeginSwap(); + void AddTrace(Trace* trace); + void EndSwap(); + void AddTraceToCollection(Trace* owner, Trace* element, TraceCollection(Trace::* collection)); + + // Ambiguity + Trace* EnsureTraceWithValidStates(Trace* trace); + bool AreTwoEndingInputTraceEqual(Trace* newTrace, Trace* candidate); + void MergeTwoEndingInputTrace(Trace* newTrace, Trace* candidate); + + // Competition + void AttendCompetition(Trace* trace, Ref& newAttendingCompetitions, Ref& newCarriedCompetitions, Ref returnStack, vint32_t ruleId, vint32_t clauseId, bool forHighPriority); + void AttendCompetitionIfNecessary(Trace* trace, vint32_t currentTokenIndex, EdgeDesc& edgeDesc, Ref& newAttendingCompetitions, Ref& newCarriedCompetitions, Ref& newReturnStack); + void CheckAttendingCompetitionsOnEndingEdge(Trace* trace, EdgeDesc& edgeDesc, Ref acId, Ref returnStack); + void CheckBackupTracesBeforeSwapping(vint32_t currentTokenIndex); + + // ReturnStack + ReturnStackSuccessors* GetCurrentSuccessorInReturnStack(Ref base, vint32_t currentTokenIndex); + ReturnStack* PushReturnStack(Ref base, vint32_t returnIndex, Ref fromTrace, vint32_t currentTokenIndex, bool allowReuse); + + // Walk + bool IsQualifiedTokenForCondition(regex::RegexToken* token, StringLiteral condition); + bool IsQualifiedTokenForEdgeArray(regex::RegexToken* token, EdgeArray& edgeArray); + WalkingTrace WalkAlongSingleEdge(vint32_t currentTokenIndex, vint32_t input, WalkingTrace trace, vint32_t byEdge, EdgeDesc& edgeDesc); + void WalkAlongLeftrecEdges(vint32_t currentTokenIndex, regex::RegexToken* lookAhead, WalkingTrace trace, EdgeArray& edgeArray); + void WalkAlongEpsilonEdges(vint32_t currentTokenIndex, regex::RegexToken* lookAhead, WalkingTrace trace); + void WalkAlongTokenEdges(vint32_t currentTokenIndex, vint32_t input, regex::RegexToken* token, regex::RegexToken* lookAhead, WalkingTrace trace, EdgeArray& edgeArray); + + // EndOfInput + void FillSuccessorsAfterEndOfInput(bool& ambiguityInvolved); + + protected: + // Common + vuint64_t MergeStack_MagicCounter = 0; + + template + void IterateSurvivedTraces(TCallback&& callback); + void ReadInstructionList(Trace* trace, TraceInsLists& insLists); + AstIns& ReadInstruction(vint32_t instruction, TraceInsLists& insLists); + + protected: + // PrepareTraceRoute + AllocateOnly traceExecs; + collections::Array insExecs; + AllocateOnly insExec_Objects; + AllocateOnly insExec_InsRefLinks; + AllocateOnly insExec_ObjRefLinks; + AllocateOnly insExec_ObjectStacks; + AllocateOnly insExec_CreateStacks; + + // phase: AllocateExecutionData + void AllocateExecutionData(); + + // phase: PartialExecuteTraces - PartialExecuteOrdinaryTrace + InsExec_Object* NewObject(); + vint32_t GetStackBase(InsExec_Context& context); + vint32_t GetStackTop(InsExec_Context& context); + void PushInsRefLink(Ref& link, Ref trace, vint32_t ins); + void PushObjRefLink(Ref& link, Ref id); + Ref JoinInsRefLink(Ref first, Ref second); + Ref JoinObjRefLink(Ref first, Ref second); + InsExec_ObjectStack* PushObjectStackSingle(InsExec_Context& context, Ref objectId); + InsExec_ObjectStack* PushObjectStackMultiple(InsExec_Context& context, Ref linkId); + InsExec_CreateStack* PushCreateStack(InsExec_Context& context); + void PartialExecuteOrdinaryTrace(Trace* trace); + + // phase: PartialExecuteTraces - EnsureInsExecContextCompatible + void EnsureInsExecContextCompatible(Trace* baselineTrace, Trace* commingTrace); + + // phase: PartialExecuteTraces - MergeInsExecContext + void PushInsRefLinkWithCounter(Ref& link, Ref comming); + void PushObjRefLinkWithCounter(Ref& link, Ref comming); + template), Ref (InsExec_Context::*stack), typename TMerge> + Ref MergeStack(Trace* mergeTrace, AllocateOnly& allocator, TMerge&& merge); + void MergeInsExecContext(Trace* mergeTrace); + + // phase: PartialExecuteTraces + void PartialExecuteTraces(); + + // phase: BuildAmbiguityStructures + Trace* StepForward(Trace* trace); + void BuildAmbiguityStructures(); + +#if defined VCZH_MSVC && defined _DEBUG + // phase: DebugCheckTraceExecData + void DebugCheckTraceExecData(); +#endif + + protected: + // ResolveAmbiguity + Ref firstBranchTrace; + Ref firstMergeTrace; + Ref firstStep; + AllocateOnly traceAmbiguities; + AllocateOnly traceAmbiguityLinks; + AllocateOnly executionSteps; + + // phase: CheckMergeTraces + template + bool SearchForObjects(Ref objRefLinkStartSet, bool withCounter, TCallback&& callback); + template + bool SearchForAllLevelObjectsWithCounter(InsExec_Object* startObject, collections::List>& visitingIds, TCallback&& callback); +#if defined VCZH_MSVC && defined _DEBUG + void EnsureSameForwardTrace(Ref currentTraceId, Ref forwardTraceId); +#endif + template + bool SearchForTopCreateInstructions(InsExec_Object* ieObject, TCallback&& callback); + template + bool SearchForTopCreateInstructionsInAllLevelsWithCounter(InsExec_Object* startObject, collections::List>& visitingIds, TCallback&& callback); + template + bool SearchForEndObjectInstructions(Trace* createTrace, vint32_t createIns, TCallback&& callback); + bool ComparePrefix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t prefix); + bool ComparePostfix(TraceExec* baselineTraceExec, TraceExec* commingTraceExec, vint32_t postfix); + template + bool CheckAmbiguityResolution(TraceAmbiguity* ta, collections::List>& visitingIds, TCallback&& callback); + bool CheckMergeTrace(TraceAmbiguity* ta, Trace* trace, TraceExec* traceExec, collections::List>& visitingIds); + void LinkAmbiguityCriticalTrace(Ref traceId); + void CheckTraceAmbiguity(TraceAmbiguity* ta); +#if defined VCZH_MSVC && defined _DEBUG + void DebugCheckTraceAmbiguitiesInSameTrace(Trace* trace, TraceExec* traceExec); +#endif + void MarkAmbiguityCoveredForward(Trace* currentTrace, TraceAmbiguity* ta, Trace* firstTrace, TraceExec* firstTraceExec); + void CategorizeTraceAmbiguities(Trace* trace, TraceExec* traceExec); + void CheckMergeTraces(); + + // phase: BuildExecutionOrder +#define DEFINE_EXECUTION_STEP_CONTEXT ExecutionStep*& root, ExecutionStep*& firstLeaf, ExecutionStep*& currentStep, ExecutionStep*& currentLeaf + void MarkNewLeafStep(ExecutionStep* step, ExecutionStep*& firstLeaf, ExecutionStep*& currentLeaf); + void AppendStepLink(ExecutionStep* first, ExecutionStep* last, bool leapNode, DEFINE_EXECUTION_STEP_CONTEXT); + void AppendStepsBeforeAmbiguity(Trace* startTrace, vint32_t startIns, TraceAmbiguity* ta, DEFINE_EXECUTION_STEP_CONTEXT); + void AppendStepsAfterAmbiguity(Trace*& startTrace, vint32_t& startIns, TraceAmbiguity* ta, DEFINE_EXECUTION_STEP_CONTEXT); + void AppendStepsForAmbiguity(TraceAmbiguity* ta, bool checkCoveredMark, DEFINE_EXECUTION_STEP_CONTEXT); + void AppendStepsBeforeBranch(Trace* startTrace, vint32_t startIns, Trace* branchTrace, TraceExec* branchTraceExec, DEFINE_EXECUTION_STEP_CONTEXT); + void BuildStepTree(Trace* startTrace, vint32_t startIns, Trace* endTrace, vint32_t endIns, ExecutionStep*& root, ExecutionStep*& firstLeaf, ExecutionStep* currentStep, ExecutionStep*& currentLeaf); + void ConvertStepTreeToLink(ExecutionStep* root, ExecutionStep* firstLeaf, ExecutionStep*& first, ExecutionStep*& last); + void BuildAmbiguousStepLink(TraceAmbiguity* ta, bool checkCoveredMark, ExecutionStep*& first, ExecutionStep*& last); + void BuildExecutionOrder(); +#undef DEFINE_EXECUTION_STEP_CONTEXT + + public: + TraceManager(Executable& _executable, const ITypeCallback* _typeCallback, vint blockSize); + + vint32_t concurrentCount = 0; + collections::List* concurrentTraces = nullptr; + collections::List* backupTraces = nullptr; + + ReturnStack* GetReturnStack(Ref index); + ReturnStack* AllocateReturnStack(); + Trace* GetTrace(Ref index); + Trace* AllocateTrace(); + Competition* GetCompetition(Ref index); + Competition* AllocateCompetition(); + AttendingCompetitions* GetAttendingCompetitions(Ref index); + AttendingCompetitions* AllocateAttendingCompetitions(); + + InsExec* GetInsExec(vint32_t index); + InsExec_Object* GetInsExec_Object(Ref index); + InsExec_InsRefLink* GetInsExec_InsRefLink(Ref index); + InsExec_ObjRefLink* GetInsExec_ObjRefLink(Ref index); + InsExec_ObjectStack* GetInsExec_ObjectStack(Ref index); + InsExec_CreateStack* GetInsExec_CreateStack(Ref index); + TraceExec* GetTraceExec(Ref index); + TraceAmbiguity* GetTraceAmbiguity(Ref index); + TraceAmbiguityLink* GetTraceAmbiguityLink(Ref index); + ExecutionStep* GetExecutionStep(Ref index); + + void Initialize(vint32_t startState) override; + Trace* GetInitialTrace(); + ExecutionStep* GetInitialExecutionStep(); + + bool Input(vint32_t currentTokenIndex, regex::RegexToken* token, regex::RegexToken* lookAhead) override; + bool EndOfInput(bool& ambiguityInvolved) override; + + void PrepareTraceRoute() override; + void ResolveAmbiguity() override; + + protected: + void ExecuteSingleTrace(TraceManagerSubmitter& submitter, Trace* trace, vint32_t firstIns, vint32_t lastIns, TraceInsLists& insLists, collections::List& tokens); + void ExecuteSingleStep(TraceManagerSubmitter& submitter, ExecutionStep* step, collections::List& tokens); + public: + Ptr ExecuteTrace(IAstInsReceiver& receiver, collections::List& tokens) override; + }; + } + } +} + +#endif + +/*********************************************************************** +.\TRACEMANAGER\TRACEMANAGER_COMMON.H +***********************************************************************/ +/*********************************************************************** +Author: Zihan Chen (vczh) +Licensed under https://github.com/vczh-libraries/License +***********************************************************************/ + +#ifndef VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER_COMMON +#define VCZH_PARSER2_TRACEMANAGER_TRACEMANAGER_COMMON + + +namespace vl +{ + namespace glr + { + namespace automaton + { +/*********************************************************************** +IterateSurvivedTraces +***********************************************************************/ + + template + void TraceManager::IterateSurvivedTraces(TCallback&& callback) + { + Trace* lastTrace = nullptr; + collections::List traces; + traces.Add(initialTrace); + + while (traces.Count() > 0) + { + auto current = traces[traces.Count() - 1]; + traces.RemoveAt(traces.Count() - 1); + + if (current->iterateCounter == current->predecessorCount) + { + current->iterateCounter = 0; + } + + current->iterateCounter++; + callback( + current, + ( + current->predecessorCount == 0 ? nullptr : + current->predecessorCount == 1 ? GetTrace(current->predecessors.first) : + lastTrace + ), + current->iterateCounter, + current->predecessorCount + ); + lastTrace = current; + if (current->iterateCounter < current->predecessorCount) continue; + + auto successorId = current->successors.last; + while (successorId != nullref) + { + auto successor = GetTrace(successorId); + successorId = successor->successors.siblingPrev; + traces.Add(successor); + } + } + } + } + } +} + +#endif + /*********************************************************************** .\XML\GENERATED\XMLAST.H ***********************************************************************/ @@ -2599,7 +3101,7 @@ namespace vl vl::Ptr CreateAstNode(vl::vint32_t type) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; }; } @@ -2690,7 +3192,8 @@ namespace vl extern void XmlParserData(vl::stream::IStream& outputStream); class Parser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; diff --git a/Import/VlppGlrParserCompiler.cpp b/Import/VlppGlrParserCompiler.cpp index 8453fcf5..b29fe724 100644 --- a/Import/VlppGlrParserCompiler.cpp +++ b/Import/VlppGlrParserCompiler.cpp @@ -480,7 +480,7 @@ WriteAstAssemblerHeaderFile writer.WriteLine(prefix + L"\tvl::Ptr CreateAstNode(vl::vint32_t type) override;"); writer.WriteLine(prefix + L"\tvoid SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override;"); writer.WriteLine(prefix + L"\tvoid SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override;"); - writer.WriteLine(prefix + L"\tvoid SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override;"); + writer.WriteLine(prefix + L"\tvoid SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override;"); writer.WriteLine(prefix + L"\tvl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override;"); writer.WriteLine(prefix + L"};"); } @@ -639,7 +639,7 @@ WriteAstAssemblerCppFile { writer.WriteLine(L""); - writer.WriteLine(prefix + L"void " + manager.Global().name + L"AstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem)"); + writer.WriteLine(prefix + L"void " + manager.Global().name + L"AstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment)"); writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"\tauto cppFieldName = " + manager.Global().name + L"CppFieldName((" + manager.Global().name + L"Fields)field);"); @@ -673,7 +673,7 @@ WriteAstAssemblerCppFile PrintCppType(nullptr, classSymbol, writer); writer.WriteString(L"::"); writer.WriteString(propSymbol->Name()); - writer.WriteLine(L", object, field, enumItem, cppFieldName);"); + writer.WriteLine(L", object, field, enumItem, weakAssignment, cppFieldName);"); } writer.WriteLine(prefix + L"\tdefault:"); writer.WriteLine(prefix + L"\t\treturn vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName);"); @@ -747,23 +747,32 @@ WriteAstAssemblerCppFile writer.WriteLine(L""); writer.WriteLine(prefix + L"const wchar_t* " + manager.Global().name + L"FieldName(" + manager.Global().name + L"Fields field)"); writer.WriteLine(prefix + L"{"); - writer.WriteLine(prefix + L"\tconst wchar_t* results[] = {"); - Array idToFields(output->fieldIds.Count()); - for (auto [k, v] : output->fieldIds) + if (output->fieldIds.Count() > 0) { - idToFields[v] = k; - } + writer.WriteLine(prefix + L"\tconst wchar_t* results[] = {"); + + Array idToFields(output->fieldIds.Count()); + for (auto [k, v] : output->fieldIds) + { + idToFields[v] = k; + } + + for (auto propSymbol : idToFields) + { + auto classSymbol = propSymbol->Parent(); + writer.WriteLine(prefix + L"\t\tL\"" + classSymbol->Name() + L"::" + propSymbol->Name() + L"\","); + } - for (auto propSymbol : idToFields) + writer.WriteLine(prefix + L"\t};"); + writer.WriteLine(prefix + L"\tvl::vint index = (vl::vint)field;"); + writer.WriteLine(prefix + L"\treturn 0 <= index && index < " + itow(idToFields.Count()) + L" ? results[index] : nullptr;"); + } + else { - auto classSymbol = propSymbol->Parent(); - writer.WriteLine(prefix + L"\t\tL\"" + classSymbol->Name() + L"::" + propSymbol->Name() + L"\","); + writer.WriteLine(prefix + L"\treturn nullptr;"); } - writer.WriteLine(prefix + L"\t};"); - writer.WriteLine(prefix + L"\tvl::vint index = (vl::vint)field;"); - writer.WriteLine(prefix + L"\treturn 0 <= index && index < " + itow(idToFields.Count()) + L" ? results[index] : nullptr;"); writer.WriteLine(prefix + L"}"); } @@ -774,25 +783,34 @@ WriteAstAssemblerCppFile writer.WriteLine(L""); writer.WriteLine(prefix + L"const wchar_t* " + manager.Global().name + L"CppFieldName(" + manager.Global().name + L"Fields field)"); writer.WriteLine(prefix + L"{"); - writer.WriteLine(prefix + L"\tconst wchar_t* results[] = {"); - Array idToFields(output->fieldIds.Count()); - for (auto [k, v] : output->fieldIds) + if (output->fieldIds.Count() > 0) { - idToFields[v] = k; - } + writer.WriteLine(prefix + L"\tconst wchar_t* results[] = {"); + + Array idToFields(output->fieldIds.Count()); + for (auto [k, v] : output->fieldIds) + { + idToFields[v] = k; + } + + for (auto propSymbol : idToFields) + { + auto classSymbol = propSymbol->Parent(); + writer.WriteString(prefix + L"\t\tL\""); + PrintCppType(nullptr, classSymbol, writer); + writer.WriteLine(L"::" + propSymbol->Name() + L"\","); + } - for (auto propSymbol : idToFields) + writer.WriteLine(prefix + L"\t};"); + writer.WriteLine(prefix + L"\tvl::vint index = (vl::vint)field;"); + writer.WriteLine(prefix + L"\treturn 0 <= index && index < " + itow(idToFields.Count()) + L" ? results[index] : nullptr;"); + } + else { - auto classSymbol = propSymbol->Parent(); - writer.WriteString(prefix + L"\t\tL\""); - PrintCppType(nullptr, classSymbol, writer); - writer.WriteLine(L"::" + propSymbol->Name() + L"\","); + writer.WriteLine(prefix + L"\treturn nullptr;"); } - writer.WriteLine(prefix + L"\t};"); - writer.WriteLine(prefix + L"\tvl::vint index = (vl::vint)field;"); - writer.WriteLine(prefix + L"\treturn 0 <= index && index < " + itow(idToFields.Count()) + L" ? results[index] : nullptr;"); writer.WriteLine(prefix + L"}"); } @@ -2524,7 +2542,7 @@ AstEnumSymbol AstEnumItemSymbol* AstEnumSymbol::CreateItem(const WString& itemName, ParsingTextRange codeRange) { auto symbol = new AstEnumItemSymbol(this, itemName); - symbol->value = items.items.Count(); + symbol->value = items.map.Count(); if (!items.Add(itemName, symbol)) { ownerFile->AddError( @@ -2895,17 +2913,59 @@ CreateParserGenRuleAst Fill(_ast->refNss, L"glr", L"parsergen"); _ast->classPrefix = L"Glr"; + /////////////////////////////////////////////////////////////////////////////////// + // Condition + /////////////////////////////////////////////////////////////////////////////////// + + auto _Condition = _ast->CreateClass(L"Condition"); + + auto _RefCondition = _ast->CreateClass(L"RefCondition"); + _RefCondition->SetBaseClass(L"Condition"); + _RefCondition->CreateProp(L"name")->SetPropType(AstPropType::Token); + + auto _NotCondition = _ast->CreateClass(L"NotCondition"); + _NotCondition->SetBaseClass(L"Condition"); + _NotCondition->CreateProp(L"condition")->SetPropType(AstPropType::Type, L"Condition"); + + auto _AndCondition = _ast->CreateClass(L"AndCondition"); + _AndCondition->SetBaseClass(L"Condition"); + _AndCondition->CreateProp(L"first")->SetPropType(AstPropType::Type, L"Condition"); + _AndCondition->CreateProp(L"second")->SetPropType(AstPropType::Type, L"Condition"); + + auto _OrCondition = _ast->CreateClass(L"OrCondition"); + _OrCondition->SetBaseClass(L"Condition"); + _OrCondition->CreateProp(L"first")->SetPropType(AstPropType::Type, L"Condition"); + _OrCondition->CreateProp(L"second")->SetPropType(AstPropType::Type, L"Condition"); + + /////////////////////////////////////////////////////////////////////////////////// + // Switch + /////////////////////////////////////////////////////////////////////////////////// + + auto _SwitchValue = _ast->CreateEnum(L"SwitchValue"); + _SwitchValue->CreateItem(L"False"); + _SwitchValue->CreateItem(L"True"); + + auto _Switch = _ast->CreateClass(L"SwitchItem"); + _Switch->CreateProp(L"name")->SetPropType(AstPropType::Token); + _Switch->CreateProp(L"value")->SetPropType(AstPropType::Type, L"SwitchValue"); + + /////////////////////////////////////////////////////////////////////////////////// + // Syntax + /////////////////////////////////////////////////////////////////////////////////// + auto _Syntax = _ast->CreateClass(L"Syntax"); + auto _RefType = _ast->CreateEnum(L"RefType"); + _RefType->CreateItem(L"Id"); + _RefType->CreateItem(L"Literal"); + _RefType->CreateItem(L"ConditionalLiteral"); + auto _RefSyntax = _ast->CreateClass(L"RefSyntax"); _RefSyntax->SetBaseClass(L"Syntax"); - _RefSyntax->CreateProp(L"name")->SetPropType(AstPropType::Token); + _RefSyntax->CreateProp(L"refType")->SetPropType(AstPropType::Type, L"RefType"); + _RefSyntax->CreateProp(L"literal")->SetPropType(AstPropType::Token); _RefSyntax->CreateProp(L"field")->SetPropType(AstPropType::Token); - auto _LiteralSyntax = _ast->CreateClass(L"LiteralSyntax"); - _LiteralSyntax->SetBaseClass(L"Syntax"); - _LiteralSyntax->CreateProp(L"value")->SetPropType(AstPropType::Token); - auto _UseSyntax = _ast->CreateClass(L"UseSyntax"); _UseSyntax->SetBaseClass(L"Syntax"); _UseSyntax->CreateProp(L"name")->SetPropType(AstPropType::Token); @@ -2935,9 +2995,35 @@ CreateParserGenRuleAst _AlternativeSyntax->CreateProp(L"first")->SetPropType(AstPropType::Type, L"Syntax"); _AlternativeSyntax->CreateProp(L"second")->SetPropType(AstPropType::Type, L"Syntax"); + /////////////////////////////////////////////////////////////////////////////////// + // Conditional Clause + /////////////////////////////////////////////////////////////////////////////////// + + auto _PushConditionSyntax = _ast->CreateClass(L"PushConditionSyntax"); + _PushConditionSyntax->SetBaseClass(L"Syntax"); + _PushConditionSyntax->CreateProp(L"switches")->SetPropType(AstPropType::Array, L"SwitchItem"); + _PushConditionSyntax->CreateProp(L"syntax")->SetPropType(AstPropType::Type, L"Syntax"); + + auto _TestConditionBranch = _ast->CreateClass(L"TestConditionBranch"); + _TestConditionBranch->CreateProp(L"condition")->SetPropType(AstPropType::Type, L"Condition"); + _TestConditionBranch->CreateProp(L"syntax")->SetPropType(AstPropType::Type, L"Syntax"); + + auto _TestConditionSyntax = _ast->CreateClass(L"TestConditionSyntax"); + _TestConditionSyntax->SetBaseClass(L"Syntax"); + _TestConditionSyntax->CreateProp(L"branches")->SetPropType(AstPropType::Array, L"TestConditionBranch"); + + /////////////////////////////////////////////////////////////////////////////////// + // Clause + /////////////////////////////////////////////////////////////////////////////////// + auto _Clause = _ast->CreateClass(L"Clause"); + auto _AssignmentType = _ast->CreateEnum(L"AssignmentType"); + _AssignmentType->CreateItem(L"Strong"); + _AssignmentType->CreateItem(L"Weak"); + auto _Assignment = _ast->CreateClass(L"Assignment"); + _Assignment->CreateProp(L"type")->SetPropType(AstPropType::Type, L"AssignmentType"); _Assignment->CreateProp(L"field")->SetPropType(AstPropType::Token); _Assignment->CreateProp(L"value")->SetPropType(AstPropType::Token); @@ -2958,11 +3044,56 @@ CreateParserGenRuleAst _ReuseClause->CreateProp(L"syntax")->SetPropType(AstPropType::Type, L"Syntax"); _ReuseClause->CreateProp(L"assignments")->SetPropType(AstPropType::Array, L"Assignment"); + /////////////////////////////////////////////////////////////////////////////////// + // Left Recursion Clauses + /////////////////////////////////////////////////////////////////////////////////// + + auto _Lrp = _ast->CreateClass(L"LeftRecursionPlaceholder"); + _Lrp->CreateProp(L"flag")->SetPropType(AstPropType::Token); + + auto _LrpClause = _ast->CreateClass(L"LeftRecursionPlaceholderClause"); + _LrpClause->SetBaseClass(L"Clause"); + _LrpClause->CreateProp(L"flags")->SetPropType(AstPropType::Array, L"LeftRecursionPlaceholder"); + + auto LriConfig = _ast->CreateEnum(L"LeftRecursionConfiguration"); + LriConfig->CreateItem(L"Single"); + LriConfig->CreateItem(L"Multiple"); + + auto LriContinuationType = _ast->CreateEnum(L"LeftRecursionInjectContinuationType"); + LriContinuationType->CreateItem(L"Optional"); + LriContinuationType->CreateItem(L"Required"); + + auto _LriContinuation = _ast->CreateClass(L"LeftRecursionInjectContinuation"); + auto _LriClause = _ast->CreateClass(L"LeftRecursionInjectClause"); + + _LriContinuation->CreateProp(L"flag")->SetPropType(AstPropType::Type, L"LeftRecursionPlaceholder"); + _LriContinuation->CreateProp(L"configuration")->SetPropType(AstPropType::Type, L"LeftRecursionConfiguration"); + _LriContinuation->CreateProp(L"type")->SetPropType(AstPropType::Type, L"LeftRecursionInjectContinuationType"); + _LriContinuation->CreateProp(L"injectionTargets")->SetPropType(AstPropType::Array, L"LeftRecursionInjectClause"); + + _LriClause->SetBaseClass(L"Clause"); + _LriClause->CreateProp(L"rule")->SetPropType(AstPropType::Type, L"RefSyntax"); + _LriClause->CreateProp(L"continuation")->SetPropType(AstPropType::Type, L"LeftRecursionInjectContinuation"); + + auto _PmClause = _ast->CreateClass(L"PrefixMergeClause"); + _PmClause->SetBaseClass(L"Clause"); + _PmClause->CreateProp(L"rule")->SetPropType(AstPropType::Type, L"RefSyntax"); + + /////////////////////////////////////////////////////////////////////////////////// + // Rule + /////////////////////////////////////////////////////////////////////////////////// + auto _Rule = _ast->CreateClass(L"Rule"); _Rule->CreateProp(L"name")->SetPropType(AstPropType::Token); + _Rule->CreateProp(L"type")->SetPropType(AstPropType::Token); _Rule->CreateProp(L"clauses")->SetPropType(AstPropType::Array, L"Clause"); + /////////////////////////////////////////////////////////////////////////////////// + // File + /////////////////////////////////////////////////////////////////////////////////// + auto _File = _ast->CreateClass(L"SyntaxFile"); + _File->CreateProp(L"switches")->SetPropType(AstPropType::Array, L"SwitchItem"); _File->CreateProp(L"rules")->SetPropType(AstPropType::Array, L"Rule"); return _ast; @@ -3395,6 +3526,7 @@ CreateParserGenAst manager.CreateToken(L"CLASS", L"class"); manager.CreateToken(L"ENUM", L"enum"); manager.CreateToken(L"VAR", L"var"); + manager.CreateToken(L"SWITCH", L"switch"); manager.CreateToken(L"TOKEN", L"token"); manager.CreateToken(L"AS", L"as"); manager.CreateToken(L"PARTIAL", L"partial"); @@ -3406,6 +3538,11 @@ CreateParserGenAst manager.CreateToken(L"OPEN_CURLY", L"/{"); manager.CreateToken(L"CLOSE_CURLY", L"/}"); + manager.CreateToken(L"OPEN_PUSH", L"!/("); + manager.CreateToken(L"OPEN_TEST", L"/?/("); + manager.CreateToken(L"AND", L"&&"); + manager.CreateToken(L"OR", L"/|/|"); + manager.CreateToken(L"COMMA", L","); manager.CreateToken(L"COLON", L":"); manager.CreateToken(L"SEMICOLON", L";"); @@ -3414,11 +3551,17 @@ CreateParserGenAst manager.CreateToken(L"ALTERNATIVE", L"/|"); manager.CreateToken(L"USE", L"!"); manager.CreateToken(L"ASSIGN", L"="); + manager.CreateToken(L"WEAK_ASSIGN", L"/?="); manager.CreateToken(L"POSITIVE", L"/+"); manager.CreateToken(L"NEGATIVE", L"-"); + manager.CreateToken(L"LS_PH", L"left_recursion_placeholder"); + manager.CreateToken(L"LS_I", L"left_recursion_inject"); + manager.CreateToken(L"LS_IM", L"left_recursion_inject_multiple"); + manager.CreateToken(L"LS_PM", L"prefix_merge"); manager.CreateToken(L"ID", L"[a-zA-Z_][a-zA-Z0-9_]*"); manager.CreateToken(L"STRING", L"(\"[^\"]*\")+"); + manager.CreateToken(L"CONDITIONAL_LITERAL", L"(\'[^\']*\')+"); manager.CreateDiscardedToken(L"SPACE", L"/s+"); manager.CreateDiscardedToken(L"COMMENT", L"////[^/r/n]*"); @@ -3545,19 +3688,47 @@ namespace vl { namespace parsergen { + using namespace collections; using namespace stream; using namespace regex; +/*********************************************************************** +UnescapeLiteral +***********************************************************************/ + + WString UnescapeLiteral(const WString& literal, wchar_t quot) + { + Array buffer(literal.Length()); + wchar_t* writing = &buffer[0]; + + for (vint i = 1; i < literal.Length() - 1; i++) + { + wchar_t c = literal[i]; + *writing++ = c; + if (c == quot) + { + i++; + } + } + *writing = 0; + + return &buffer[0]; + } + /*********************************************************************** CompileLexer ***********************************************************************/ void CompileLexer(LexerSymbolManager& lexerManager, const WString& input) { - Regex regexToken(L"^(/s*|(discard/s)?/s*([a-zA-Z_]/w*):(/.+))$"); + Regex regexToken(L"^(/s*|(discard/s)?/s*(/$?[a-zA-Z_]/w*)/s*:(/.+))$"); + Regex regexFragment(L"/{(/$[a-zA-Z_]/w*)/}"); vint _discard = regexToken.CaptureNames().IndexOf(L"discard"); vint _name = regexToken.CaptureNames().IndexOf(L"name"); vint _regex = regexToken.CaptureNames().IndexOf(L"regex"); + vint _fragment = regexFragment.CaptureNames().IndexOf(L"fragment"); + + Dictionary fragments; StringReader reader(input); vint lineIndex = 0; @@ -3571,17 +3742,73 @@ CompileLexer { auto tokenName = match->Groups()[_name][0].Value(); auto tokenRegex = match->Groups()[_regex][0].Value(); - if (match->Groups().Keys().Contains(_discard)) + auto tokenDiscard = match->Groups().Keys().Contains(_discard); + + if (tokenName[0] == L'$') { - lexerManager.CreateDiscardedToken(tokenName, tokenRegex, codeRange); + if (tokenDiscard) + { + lexerManager.AddError( + ParserErrorType::InvalidTokenDefinition, + codeRange, + line + ); + } + else if (fragments.Keys().Contains(tokenName)) + { + lexerManager.AddError( + ParserErrorType::DuplicatedTokenFragment, + codeRange, + tokenName + ); + } + else + { + fragments.Add(tokenName, tokenRegex); + } } else { - lexerManager.CreateToken(tokenName, tokenRegex, codeRange); + WString resolvedRegex; + List> matches; + regexFragment.Cut(tokenRegex, false, matches); + for (auto&& fragment : matches) + { + if (fragment->Success()) + { + auto fragmentName = fragment->Groups()[_fragment][0].Value(); + vint index = fragments.Keys().IndexOf(fragmentName); + if (index == -1) + { + lexerManager.AddError( + ParserErrorType::TokenFragmentNotExists, + codeRange, + fragmentName + ); + } + else + { + resolvedRegex += fragments.Values()[index]; + } + } + else + { + resolvedRegex += fragment->Result().Value(); + } + } + + if (tokenDiscard) + { + lexerManager.CreateDiscardedToken(tokenName, resolvedRegex, codeRange); + } + else + { + lexerManager.CreateToken(tokenName, resolvedRegex, codeRange); + } } } } - else + else if (line.Length() < 2 || line.Left(2) != L"//") { lexerManager.AddError( ParserErrorType::InvalidTokenDefinition, @@ -3609,65 +3836,152 @@ namespace vl using namespace collections; using namespace compile_syntax; - extern void ResolveName(VisitorContext& context, List>& files); - extern void ValidatePartialRules(VisitorContext& context, List>& files); - extern void CalculateRuleAndClauseTypes(VisitorContext& context); - extern void ValidateTypes(VisitorContext& context, List>& files); - extern void ValidateStructure(VisitorContext& context, List>& files); - extern void CompileSyntax(VisitorContext& context, List>& files); + extern void ResolveName(VisitorContext& context, VisitorSwitchContext& sContext, Ptr syntaxFile); + extern void ValidateSwitchesAndConditions(VisitorContext& context, VisitorSwitchContext& sContext, Ptr syntaxFile); + extern void ValidatePartialRules(VisitorContext& context, Ptr syntaxFile); + extern void CalculateRuleAndClauseTypes(VisitorContext& context); + + extern void CalculateFirstSet(VisitorContext& context, Ptr syntaxFile); + extern void ValidateTypes(VisitorContext& context, Ptr syntaxFile); + extern void ValidateStructure(VisitorContext& context, Ptr syntaxFile); + + extern Ptr RewriteSyntax_Switch(VisitorContext& context, VisitorSwitchContext& sContext, SyntaxSymbolManager& syntaxManager, Ptr syntaxFile); + extern Ptr RewriteSyntax_PrefixMerge(VisitorContext& context, SyntaxSymbolManager& syntaxManager, Ptr syntaxFile); + extern void CompileSyntax(VisitorContext& context, Ptr output, Ptr syntaxFile); /*********************************************************************** CompileSyntax ***********************************************************************/ - void CompileSyntax(AstSymbolManager& astManager, LexerSymbolManager& lexerManager, SyntaxSymbolManager& syntaxManager, Ptr output, collections::List>& files) + bool NeedRewritten_Switch(Ptr syntaxFile) { - VisitorContext context(astManager, lexerManager, syntaxManager, output); + return syntaxFile->switches.Count() > 0; + } - for (auto file : files) + bool NeedRewritten_PrefixMerge(Ptr syntaxFile) + { + return !From(syntaxFile->rules) + .SelectMany([](auto rule) { return From(rule->clauses); }) + .FindType() + .IsEmpty(); + } + + void CreateSyntaxSymbols(LexerSymbolManager& lexerManager, SyntaxSymbolManager& syntaxManager, Ptr syntaxFile) + { + for (auto rule : syntaxFile->rules) { - for (auto rule : file->rules) + if (lexerManager.Tokens().Keys().Contains(rule->name.value)) { - if (context.lexerManager.Tokens().Keys().Contains(rule->name.value)) - { - context.syntaxManager.AddError( - ParserErrorType::RuleNameConflictedWithToken, - rule->codeRange, - rule->name.value + syntaxManager.AddError( + ParserErrorType::RuleNameConflictedWithToken, + rule->codeRange, + rule->name.value ); - } - else + } + else + { + auto ruleSymbol = syntaxManager.CreateRule(rule->name.value, rule->codeRange); + } + + for (auto clause : rule->clauses) + { + if (auto lrpClause = clause.Cast()) { - auto ruleSymbol = context.syntaxManager.CreateRule(rule->name.value, rule->codeRange); - context.astRules.Add(ruleSymbol, rule.Obj()); + for (auto flag : lrpClause->flags) + { + if (!syntaxManager.lrpFlags.Contains(flag->flag.value)) + { + syntaxManager.lrpFlags.Add(flag->flag.value); + } + } } } } - if (syntaxManager.Global().Errors().Count() > 0) return; + } + + bool VerifySyntax_UntilSwitch(VisitorContext& context, VisitorSwitchContext& sContext, Ptr syntaxFile) + { + ResolveName(context, sContext, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; - ResolveName(context, files); - if (syntaxManager.Global().Errors().Count() > 0) return; + ValidateSwitchesAndConditions(context, sContext, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; - ValidatePartialRules(context, files); - if (syntaxManager.Global().Errors().Count() > 0) return; + ValidatePartialRules(context, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; CalculateRuleAndClauseTypes(context); - if (syntaxManager.Global().Errors().Count() > 0) return; + if (context.syntaxManager.Global().Errors().Count() > 0) return false; + + return true; + } - ValidateTypes(context, files); - if (syntaxManager.Global().Errors().Count() > 0) return; + bool VerifySyntax_UntilPrefixMerge(VisitorContext& context, Ptr syntaxFile) + { + CalculateFirstSet(context, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; + + ValidateTypes(context, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; + + ValidateStructure(context, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) return false; + + return true; + } + + Ptr CompileSyntax(AstSymbolManager& astManager, LexerSymbolManager& lexerManager, SyntaxSymbolManager& syntaxManager, Ptr output, collections::List>& files) + { + // merge files to single syntax file + auto syntaxFile = MakePtr(); + for (auto file : files) + { + CopyFrom(syntaxFile->switches, file->switches, true); + CopyFrom(syntaxFile->rules, file->rules, true); + } + + auto rawSyntaxFile = syntaxFile; + + CreateSyntaxSymbols(lexerManager, syntaxManager, syntaxFile); + if (syntaxManager.Global().Errors().Count() > 0) goto FINISHED_COMPILING; + + if (NeedRewritten_Switch(syntaxFile)) + { + VisitorContext context(astManager, lexerManager, syntaxManager); + VisitorSwitchContext sContext; + if (!VerifySyntax_UntilSwitch(context, sContext, syntaxFile)) goto FINISHED_COMPILING; + + syntaxFile = RewriteSyntax_Switch(context, sContext, syntaxManager, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) goto FINISHED_COMPILING; + } + + if (NeedRewritten_PrefixMerge(syntaxFile)) + { + VisitorContext context(astManager, lexerManager, syntaxManager); + VisitorSwitchContext sContext; + if (!VerifySyntax_UntilSwitch(context, sContext, syntaxFile)) goto FINISHED_COMPILING; + if (!VerifySyntax_UntilPrefixMerge(context, syntaxFile)) goto FINISHED_COMPILING; - ValidateStructure(context, files); - if (syntaxManager.Global().Errors().Count() > 0) return; + syntaxFile = RewriteSyntax_PrefixMerge(context, syntaxManager, syntaxFile); + if (context.syntaxManager.Global().Errors().Count() > 0) goto FINISHED_COMPILING; + } - CompileSyntax(context, files); + { + VisitorContext context(astManager, lexerManager, syntaxManager); + VisitorSwitchContext sContext; + if (!VerifySyntax_UntilSwitch(context, sContext, syntaxFile)) goto FINISHED_COMPILING; + if (!VerifySyntax_UntilPrefixMerge(context, syntaxFile)) goto FINISHED_COMPILING; + CompileSyntax(context, output, syntaxFile); + } + FINISHED_COMPILING: + return rawSyntaxFile == syntaxFile ? nullptr : syntaxFile; } } } } /*********************************************************************** -.\PARSERGEN\COMPILESYNTAX_CALCULATETYPES.CPP +.\PARSERGEN\COMPILESYNTAX_CALCULATEFIRSTSET.CPP ***********************************************************************/ namespace vl @@ -3680,643 +3994,600 @@ namespace vl using namespace compile_syntax; /*********************************************************************** -ValidatePartialRules +DirectFirstSetVisitor ***********************************************************************/ - void ValidatePartialRules(VisitorContext& context, List>& files) + class DirectFirstSetVisitor + : public Object + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor { - for (auto file : files) - { - for (auto rule : file->rules) - { - List> partialClauses; - CopyFrom(partialClauses, From(rule->clauses).FindType()); - if (partialClauses.Count() == 0) continue; + private: + bool couldBeEmpty = false; - auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; - ruleSymbol->isPartial = partialClauses.Count() > 0; + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + GlrClause* currentClause = nullptr; - if (partialClauses.Count() != rule->clauses.Count()) - { - context.syntaxManager.AddError( - ParserErrorType::RuleMixedPartialClauseWithOtherClause, - rule->codeRange, - ruleSymbol->Name() - ); - } + RuleSymbol* TryGetRuleSymbol(const WString& name) + { + vint index = context.syntaxManager.Rules().Keys().IndexOf(name); + if (index == -1) return nullptr; + return context.syntaxManager.Rules().Values()[index]; + } - AstClassSymbol* partialType = nullptr; - for (auto clause : partialClauses) + void AddStartRule(const WString& name) + { + if (auto startRule = TryGetRuleSymbol(name)) + { + context.directStartRules.Add(ruleSymbol, { startRule,currentClause }); + context.clauseToStartRules.Add(currentClause, ruleSymbol); + if (ruleSymbol == startRule && !context.leftRecursiveClauses.Contains(ruleSymbol, currentClause)) { - vint index = context.clauseTypes.Keys().IndexOf(clause.Obj()); - if (index != -1) - { - auto type = context.clauseTypes.Values()[index]; - if (!partialType) - { - partialType = type; - } - else if (type && partialType != type) - { - context.syntaxManager.AddError( - ParserErrorType::RuleWithDifferentPartialTypes, - rule->codeRange, - ruleSymbol->Name() - ); - break; - } - } + context.leftRecursiveClauses.Add(ruleSymbol, currentClause); } } } - } - -/*********************************************************************** -CalculateRuleAndClauseTypes -***********************************************************************/ - void CalculateRuleAndClauseTypes(VisitorContext& context) - { - // find cyclic dependencies in "Rule ::= !Rule" - auto&& rules = context.syntaxManager.Rules().Values(); - PartialOrderingProcessor pop; - pop.InitWithGroup(rules, context.ruleReuseDependencies); - pop.Sort(); + public: + DirectFirstSetVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + { + } - // remove cyclic dependended rules from ruleReuseDependencies - List> cyclicReuseDependencies; - for (auto&& component : pop.components) + void VisitClause(Ptr clause) { - if (component.nodeCount == 1) continue; + currentClause = clause.Obj(); + clause->Accept(this); + } + protected: - for (vint i = 0; i < component.nodeCount - 1; i++) - { - for (vint j = i + 1; j < component.nodeCount; j++) - { - auto r1 = rules[component.firstNode[i]]; - auto r2 = rules[component.firstNode[j]]; - context.ruleReuseDependencies.Remove(r1, r2); - context.ruleReuseDependencies.Remove(r2, r1); - } - } + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// - List cyclicRules; - for (vint i = 0; i < component.nodeCount; i++) + void Visit(GlrRefSyntax* node) override + { + if (node->refType == GlrRefType::Id) { - cyclicRules.Add(rules[component.firstNode[i]]); + AddStartRule(node->literal.value); } - cyclicReuseDependencies.Add(std::move(cyclicRules)); + couldBeEmpty = false; } - // calculate types for rules from clauses with known types - for (auto rule : rules) + void Visit(GlrUseSyntax* node) override { - for (auto clause : context.astRules[rule]->clauses) - { - vint index = context.clauseTypes.Keys().IndexOf(clause.Obj()); - if (index != -1) - { - rule->ruleType = FindCommonBaseClass(rule->ruleType, context.clauseTypes.Values()[index]); - if (!rule->ruleType) - { - context.syntaxManager.AddError( - ParserErrorType::RuleCannotResolveToDeterministicType, - context.astRules[rule]->codeRange, - rule->Name() - ); - break; - } - } - } + AddStartRule(node->name.value); + couldBeEmpty = false; } - if (context.global.Errors().Count() > 0) return; - // calculate types for rules that contain reuse dependency - for (auto&& component : pop.components) + void Visit(GlrLoopSyntax* node) override { - for (vint i = 0; i < component.nodeCount; i++) - { - auto rule = rules[component.firstNode[i]]; - vint index = context.ruleReuseDependencies.Keys().IndexOf(rule); - if (index != -1) - { - AstClassSymbol* type = nullptr; - for (auto dep : context.ruleReuseDependencies.GetByIndex(index)) - { - type = FindCommonBaseClass(type, dep->ruleType); - } - if (type) - { - rule->ruleType = FindCommonBaseClass(rule->ruleType, type); - if (!rule->ruleType) - { - context.syntaxManager.AddError( - ParserErrorType::RuleCannotResolveToDeterministicType, - context.astRules[rule]->codeRange, - rule->Name() - ); - break; - } - } - } - } + node->syntax->Accept(this); + couldBeEmpty = true; } - if (context.global.Errors().Count() > 0) return; - // calculate types for rules that contain cyclic reuse dependency - for (auto&& cyclicRules : cyclicReuseDependencies) + void Visit(GlrOptionalSyntax* node) override { - AstClassSymbol* type = nullptr; - for (auto rule : cyclicRules) - { - type = FindCommonBaseClass(type, rule->ruleType); - } - - if (!type) - { - for (auto rule : cyclicRules) - { - context.syntaxManager.AddError( - ParserErrorType::CyclicDependedRuleTypeIncompatible, - context.astRules[rule]->codeRange, - rule->Name() - ); - } - } - else - { - for (auto rule : cyclicRules) - { - rule->ruleType = type; - } - } + node->syntax->Accept(this); + couldBeEmpty = true; } - // prompt errors - for (auto rule : rules) + void Visit(GlrSequenceSyntax* node) override { - if (!rule->ruleType) - { - context.syntaxManager.AddError( - ParserErrorType::RuleCannotResolveToDeterministicType, - context.astRules[rule]->codeRange, - rule->Name() - ); - } + node->first->Accept(this); + if (couldBeEmpty) node->second->Accept(this); } - // calculate types for reuse clauses - for (auto astRule : context.astRules.Values()) + void Visit(GlrAlternativeSyntax* node) override { - for (auto clause : From(astRule->clauses).FindType()) - { - vint index = context.clauseReuseDependencies.Keys().IndexOf(clause.Obj()); - if (index == -1) - { - context.syntaxManager.AddError( - ParserErrorType::ReuseClauseContainsNoUseRule, - clause->codeRange, - astRule->name.value - ); - } - else - { - AstClassSymbol* type = nullptr; - for (auto dep : context.clauseReuseDependencies.GetByIndex(index)) - { - type = FindCommonBaseClass(type, dep->ruleType); - } - - if (type) - { - context.clauseTypes.Add(clause.Obj(), type); - } - else - { - context.syntaxManager.AddError( - ParserErrorType::ReuseClauseCannotResolveToDeterministicType, - clause->codeRange, - astRule->name.value - ); - } - } - } + node->first->Accept(this); + bool firstCouldBeEmpty = couldBeEmpty; + node->second->Accept(this); + bool secondCouldBeEmpty = couldBeEmpty; + couldBeEmpty = firstCouldBeEmpty || secondCouldBeEmpty; } - } - } - } -} - -/*********************************************************************** -.\PARSERGEN\COMPILESYNTAX_COMPILESYNTAX.CPP -***********************************************************************/ - -namespace vl -{ - namespace glr - { - namespace parsergen - { - using namespace collections; - using namespace compile_syntax; - -/*********************************************************************** -CompileSyntaxVisitor -***********************************************************************/ - class CompileSyntaxVisitor - : public Object - , protected virtual GlrSyntax::IVisitor - , protected virtual GlrClause::IVisitor - { - protected: - struct StatePair + void Visit(GlrPushConditionSyntax* node) override { - StateSymbol* begin; - StateSymbol* end; - }; + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } - using StatePosMap = Dictionary; - protected: - VisitorContext& context; - RuleSymbol* ruleSymbol; - AstClassSymbol* clauseType; + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } - WString clauseDisplayText; - StatePosMap startPoses; - StatePosMap endPoses; - StatePair result; + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// - StateSymbol* CreateState() + void Visit(GlrCreateClause* node) override { - return ruleSymbol->Owner()->CreateState(ruleSymbol, ruleSymbol->CurrentClauseId()); + node->syntax->Accept(this); } - EdgeSymbol* CreateEdge(StateSymbol* from, StateSymbol* to) + void Visit(GlrPartialClause* node) override { - return ruleSymbol->Owner()->CreateEdge(from, to); + node->syntax->Accept(this); } - StatePair Build(const Ptr& node) + void Visit(GlrReuseClause* node) override { - node->Accept(this); - return result; + node->syntax->Accept(this); + if (node->assignments.Count() == 0) + { + auto nodeSyntax = node->syntax.Obj(); + auto pushSyntax = dynamic_cast(nodeSyntax); + if (pushSyntax) nodeSyntax = pushSyntax->syntax.Obj(); + + if (auto useSyntax = dynamic_cast(nodeSyntax)) + { + if (auto startRule = TryGetRuleSymbol(useSyntax->name.value)) + { + context.directSimpleUseRules.Add(ruleSymbol, { startRule,currentClause }); + context.simpleUseClauseToReferencedRules.Add(currentClause, startRule); + } + } + } } - StatePair Build(const Ptr& node) + void Visit(GlrLeftRecursionPlaceholderClause* node) override { - node->Accept(this); - return result; } - public: - CompileSyntaxVisitor( - VisitorContext& _context, - RuleSymbol* _ruleSymbol - ) - : context(_context) - , ruleSymbol(_ruleSymbol) + + void Visit(GlrLeftRecursionInjectClause* node) override { + node->rule->Accept(this); } - void AssignClause(const Ptr& node) + void Visit(GlrPrefixMergeClause* node) override { - ruleSymbol->NewClause(); - - clauseDisplayText = L""; - startPoses.Clear(); - endPoses.Clear(); + node->rule->Accept(this); + } + }; - auto pair = Build(node); - ruleSymbol->startStates.Add(pair.begin); - pair.end->endingState = true; +/*********************************************************************** +CalculateFirstSet +***********************************************************************/ - vint l = clauseDisplayText.Length(); - for (auto [state, pos] : startPoses) + void CalculateFirstSet_DirectStartRules(VisitorContext& context, Ptr syntaxFile) + { + for (auto rule : syntaxFile->rules) + { + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + DirectFirstSetVisitor visitor(context, ruleSymbol); + for (auto clause : rule->clauses) { - state->label = clauseDisplayText.Left(pos) + L"@ " + clauseDisplayText.Right(l - pos); + visitor.VisitClause(clause); } - for (auto [state, pos] : endPoses) + } + } + + void CalculateFirstSet_RuleClosure(const RulePathDependencies& direct, RulePathDependencies& indirect, PathToLastRuleMap& pathToLastRules) + { + for (auto [rule, index] : indexed(direct.Keys())) + { + auto&& startRules = direct.GetByIndex(index); + for (auto [startRule, clause] : startRules) { - state->label = clauseDisplayText.Left(pos) + L" @" + clauseDisplayText.Right(l - pos); + indirect.Add(rule, { startRule,clause }); + pathToLastRules.Add({ rule,startRule }, { rule,clause }); } } - protected: - void Visit(GlrRefSyntax* node) override + while (true) { + vint offset = 0; + for (auto [rule, index] : indexed(indirect.Keys())) { - vint index = context.lexerManager.TokenOrder().IndexOf(node->name.value); - if (index != -1) + auto&& startRules1 = indirect.GetByIndex(index); + for (auto [startRule1, clause1] : startRules1) { - auto token = context.lexerManager.Tokens()[node->name.value]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - + if (rule == startRule1) continue; + vint index2 = direct.Keys().IndexOf(startRule1); + if (index2 != -1) { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Token; - edge->input.token = (vint32_t)index; - if (node->field) + auto&& startRules2 = direct.GetByIndex(index2); + for (auto [startRule2, clause2] : startRules2) { - auto propSymbol = FindPropSymbol(clauseType, node->field.value); - edge->insAfterInput.Add({ AstInsType::Token }); - edge->insAfterInput.Add({ AstInsType::Field,context.output->fieldIds[propSymbol] }); + if (rule == startRule2 || startRule1 == startRule2) continue; + if (!pathToLastRules.Contains({ rule,startRule2 }, { startRule1,clause2 })) + { + offset++; + if (!indirect.Contains(rule, { startRule2,clause2 })) + { + indirect.Add(rule, { startRule2,clause2 }); + } + pathToLastRules.Add({ rule,startRule2 }, { startRule1,clause2 }); + } } } - - clauseDisplayText += token->displayText == L"" ? token->Name() : L"\"" + token->displayText + L"\""; - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - return; } } + + if (offset == 0) { - vint index = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (index != -1) - { - auto rule = context.syntaxManager.Rules().Values()[index]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); + break; + } + } + } - { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Rule; - edge->input.rule = rule; - if (node->field) - { - auto propSymbol = FindPropSymbol(clauseType, node->field.value); - edge->insAfterInput.Add({ AstInsType::Field,context.output->fieldIds[propSymbol] }); - } - else if (!rule->isPartial) - { - edge->insAfterInput.Add({ AstInsType::DiscardValue }); - } - } + void CalculateFirstSet_IndirectStartRules(VisitorContext& context) + { + CalculateFirstSet_RuleClosure( + context.directStartRules, + context.indirectStartRules, + context.indirectStartPathToLastRules + ); + } - clauseDisplayText += rule->Name(); - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - return; + void CalculateFirstSet_IndirectSimpleUseRules(VisitorContext& context) + { + CalculateFirstSet_RuleClosure( + context.directSimpleUseRules, + context.indirectSimpleUseRules, + context.indirectSimpleUsePathToLastRules + ); + } + + template + void CalculateFirstSet_MoveFromDirectClauses( + SortedList& clauses, + Group& indirectClauses, + Group& directClauses, + RuleSymbol* rule, + RuleSymbol* startRule + ) + { + vint index = directClauses.Keys().IndexOf(startRule); + if (index != -1) + { + for (auto clause : directClauses.GetByIndex(index)) + { + if (!clauses.Contains(clause)) + { + clauses.Add(clause); + indirectClauses.Add(rule, clause); } } - CHECK_FAIL(L"Should not reach here!"); } + } - void Visit(GlrLiteralSyntax* node) override + void CalculateFirstSet_IndirectLrpPmClauses(VisitorContext& context) + { + for (auto [rule, index] : indexed(context.indirectStartRules.Keys())) { - vint index = context.literalTokens[node]; - auto token = context.lexerManager.Tokens()[context.lexerManager.TokenOrder()[index]]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); + SortedList lriClauses; + SortedList lrpClauses; + SortedList pmClauses; - { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Token; - edge->input.token = context.literalTokens[node]; - } + CalculateFirstSet_MoveFromDirectClauses(lriClauses, context.indirectLriClauses, context.directLriClauses, rule, rule); + CalculateFirstSet_MoveFromDirectClauses(lrpClauses, context.indirectLrpClauses, context.directLrpClauses, rule, rule); + CalculateFirstSet_MoveFromDirectClauses(pmClauses, context.indirectPmClauses, context.directPmClauses, rule, rule); - clauseDisplayText += token->displayText == L"" ? token->Name() : L"\"" + token->displayText + L"\""; - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - } + auto&& startRules = context.indirectStartRules.GetByIndex(index); - void Visit(GlrUseSyntax* node) override - { - vint index = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (index == -1) + for (auto startRule : startRules) { - context.syntaxManager.AddError( - ParserErrorType::TokenOrRuleNotExistsInRule, - node->codeRange, - node->name.value - ); - return; + CalculateFirstSet_MoveFromDirectClauses(lriClauses, context.indirectLriClauses, context.directLriClauses, rule, startRule.ruleSymbol); + CalculateFirstSet_MoveFromDirectClauses(lrpClauses, context.indirectLrpClauses, context.directLrpClauses, rule, startRule.ruleSymbol); + CalculateFirstSet_MoveFromDirectClauses(pmClauses, context.indirectPmClauses, context.directPmClauses, rule, startRule.ruleSymbol); } + } + } - auto rule = context.syntaxManager.Rules().Values()[index]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); + void CalculateFirstSet(VisitorContext& context, Ptr syntaxFile) + { + CalculateFirstSet_DirectStartRules(context, syntaxFile); + CalculateFirstSet_IndirectStartRules(context); + CalculateFirstSet_IndirectSimpleUseRules(context); + CalculateFirstSet_IndirectLrpPmClauses(context); + } + } + } +} - { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Rule; - edge->input.rule = rule; - edge->insAfterInput.Add({ AstInsType::ReopenObject }); - } +/*********************************************************************** +.\PARSERGEN\COMPILESYNTAX_CALCULATETYPES.CPP +***********************************************************************/ - clauseDisplayText += L"!" + rule->Name(); - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - } +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + using namespace compile_syntax; - void Visit(GlrLoopSyntax* node) override +/*********************************************************************** +ValidatePartialRules +***********************************************************************/ + + void ValidatePartialRules(VisitorContext& context, Ptr syntaxFile) + { + for (auto rule : syntaxFile->rules) { - StatePair pair, bodyPair, delimiterPair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); + List> partialClauses; + CopyFrom(partialClauses, From(rule->clauses).FindType()); + if (partialClauses.Count() == 0) continue; - clauseDisplayText += L"{ "; - bodyPair = Build(node->syntax); - if (node->delimiter) - { - clauseDisplayText += L" ; "; - delimiterPair = Build(node->delimiter); - } - clauseDisplayText += L" }"; + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + ruleSymbol->isPartial = partialClauses.Count() > 0; - CreateEdge(pair.begin, bodyPair.begin); - CreateEdge(bodyPair.end, pair.end); - CreateEdge(pair.begin, pair.end); - if (node->delimiter) + if (partialClauses.Count() != rule->clauses.Count()) { - CreateEdge(bodyPair.end, delimiterPair.begin); - CreateEdge(delimiterPair.end, bodyPair.begin); + context.syntaxManager.AddError( + ParserErrorType::RuleMixedPartialClauseWithOtherClause, + rule->codeRange, + ruleSymbol->Name() + ); } - else + + AstClassSymbol* partialType = nullptr; + for (auto clause : partialClauses) { - CreateEdge(bodyPair.end, bodyPair.begin); + vint index = context.clauseTypes.Keys().IndexOf(clause.Obj()); + if (index != -1) + { + auto type = context.clauseTypes.Values()[index]; + if (!partialType) + { + partialType = type; + } + else if (type && partialType != type) + { + context.syntaxManager.AddError( + ParserErrorType::RuleWithDifferentPartialTypes, + rule->codeRange, + ruleSymbol->Name(), + partialType->Name(), + type->Name() + ); + break; + } + } } - - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; } + } - void Visit(GlrOptionalSyntax* node) override - { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); +/*********************************************************************** +CalculateRuleAndClauseTypes +***********************************************************************/ - switch (node->priority) - { - case GlrOptionalPriority::Equal: - clauseDisplayText += L"[ "; - break; - case GlrOptionalPriority::PreferTake: - clauseDisplayText += L"+[ "; - break; - case GlrOptionalPriority::PreferSkip: - clauseDisplayText += L"-[ "; - break; - default:; - } - auto bodyPair = Build(node->syntax); - clauseDisplayText += L" ]"; + WString GetRuleTypes(const IEnumerable& rules) + { + return + From(rules) + .Select([](auto r) { return r->ruleType; }) + .Where([](auto rt) { return rt != nullptr; }) + .Select([](auto rt) { return rt->Name(); }) + .Aggregate(WString::Empty, [](auto a, auto b) {return a == WString::Empty ? b : a + L", " + b; }) + ; + } + + void CalculateRuleAndClauseTypes(VisitorContext& context) + { + // find cyclic dependencies in "Rule ::= !Rule" + auto&& rules = context.syntaxManager.Rules().Values(); + PartialOrderingProcessor pop; + pop.InitWithGroup(rules, context.ruleReuseDependencies); + pop.Sort(); - auto takeEdge = CreateEdge(pair.begin, bodyPair.begin); - CreateEdge(bodyPair.end, pair.end); - auto skipEdge = CreateEdge(pair.begin, pair.end); + // remove cyclic dependended rules from ruleReuseDependencies + // TODO: in order to remove the while(ruleTypeChanged) below + // we need to determine the type following the order from PartialOrderingProcessor + // instead of doing a tricky way to solve non-cyclic reusing before cyclic reusing + // and having to while(ruleTypeChanged) because non-cyclic reusing could depends on the result from cyclic reusing + List> cyclicReuseDependencies; + for (auto&& component : pop.components) + { + if (component.nodeCount == 1) continue; - if (node->priority == GlrOptionalPriority::PreferTake) + for (vint i = 0; i < component.nodeCount - 1; i++) { - takeEdge->important = true; + for (vint j = i + 1; j < component.nodeCount; j++) + { + auto r1 = rules[component.firstNode[i]]; + auto r2 = rules[component.firstNode[j]]; + context.ruleReuseDependencies.Remove(r1, r2); + context.ruleReuseDependencies.Remove(r2, r1); + } } - if (node->priority == GlrOptionalPriority::PreferSkip) + + List cyclicRules; + for (vint i = 0; i < component.nodeCount; i++) { - skipEdge->important = true; + cyclicRules.Add(rules[component.firstNode[i]]); } - - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - } - - void Visit(GlrSequenceSyntax* node) override - { - auto firstPair = Build(node->first); - clauseDisplayText += L" "; - auto secondPair = Build(node->second); - CreateEdge(firstPair.end, secondPair.begin); - result = { firstPair.begin,secondPair.end }; - } - - void Visit(GlrAlternativeSyntax* node) override - { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"( "; - auto firstPair = Build(node->first); - clauseDisplayText += L" | "; - auto secondPair = Build(node->second); - clauseDisplayText += L" )"; - - CreateEdge(pair.begin, firstPair.begin); - CreateEdge(firstPair.end, pair.end); - CreateEdge(pair.begin, secondPair.begin); - CreateEdge(secondPair.end, pair.end); - - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; + cyclicReuseDependencies.Add(std::move(cyclicRules)); } - StatePair Visit(StatePair pair, GlrAssignment* node) + // do not update explicitly specified rule type + SortedList explicitlyTypedRules; + for (auto rule : rules) { - auto withState = CreateState(); - auto edge = CreateEdge(pair.end, withState); - - auto propSymbol = FindPropSymbol(clauseType, node->field.value); - auto enumSymbol = dynamic_cast(propSymbol->propSymbol); - edge->insBeforeInput.Add({ AstInsType::EnumItem,(vint32_t)enumSymbol->ItemOrder().IndexOf(node->value.value) }); - edge->insBeforeInput.Add({ AstInsType::Field,context.output->fieldIds[propSymbol] }); - - endPoses.Add(withState, clauseDisplayText.Length()); - return { pair.begin,withState }; + if (rule->ruleType) + { + explicitlyTypedRules.Add(rule); + } } - void Visit(GlrCreateClause* node) override + // define updateRuleType function, check clause type added to rule + auto updateRuleType = [&context, &explicitlyTypedRules](RuleSymbol* rule, AstClassSymbol* newClauseType, bool promptIfNull, bool* ruleTypeChanged = nullptr) { - clauseType = context.clauseTypes[node]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"< "; - auto bodyPair = Build(node->syntax); - for (auto assignment : node->assignments) - { - bodyPair = Visit(bodyPair, assignment.Obj()); - } - clauseDisplayText += L" >"; + auto newRuleType = FindCommonBaseClass(rule->ruleType, newClauseType); + if (explicitlyTypedRules.Contains(rule)) { - auto classSymbol = dynamic_cast(context.astManager.Symbols()[node->type.value]); - auto edge = CreateEdge(pair.begin, bodyPair.begin); - edge->insBeforeInput.Add({ AstInsType::BeginObject,context.output->classIds[classSymbol] }); + if (rule->ruleType != newRuleType) + { + context.syntaxManager.AddError( + ParserErrorType::RuleExplicitTypeIsNotCompatibleWithClauseType, + context.astRules[rule]->codeRange, + rule->Name(), + (rule->ruleType ? rule->ruleType->Name() : WString::Empty), + (newClauseType ? newClauseType->Name() : WString::Empty) + ); + return false; + } } + else { - auto edge = CreateEdge(bodyPair.end, pair.end); - edge->insBeforeInput.Add({ AstInsType::EndObject }); + if (promptIfNull && !newRuleType) + { + context.syntaxManager.AddError( + ParserErrorType::RuleCannotResolveToDeterministicType, + context.astRules[rule]->codeRange, + rule->Name(), + (rule->ruleType ? rule->ruleType->Name() : WString::Empty), + (newClauseType ? newClauseType->Name() : WString::Empty) + ); + return false; + } + if (ruleTypeChanged && newRuleType && rule->ruleType != newRuleType) + { + *ruleTypeChanged = true; + } + rule->ruleType = newRuleType; } - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; - } + return true; + }; - void Visit(GlrPartialClause* node) override + // calculate types for rules from clauses with known types + for (auto rule : rules) { - clauseType = context.clauseTypes[node]; - auto bodyPair = Build(node->syntax); - for (auto assignment : node->assignments) + for (auto clause : context.astRules[rule]->clauses) { - bodyPair = Visit(bodyPair, assignment.Obj()); + vint index = context.clauseTypes.Keys().IndexOf(clause.Obj()); + if (index != -1) + { + auto newClauseType = context.clauseTypes.Values()[index]; + if (!updateRuleType(rule, newClauseType, true)) + { + break; + } + } } - result = bodyPair; } + if (context.global.Errors().Count() > 0) return; - void Visit(GlrReuseClause* node) override + bool ruleTypeChanged = true; + while(ruleTypeChanged) { - clauseType = context.clauseTypes[node]; - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); + ruleTypeChanged = false; - clauseDisplayText += L"<< "; - auto bodyPair = Build(node->syntax); - for (auto assignment : node->assignments) + // calculate types for rules that contain reuse dependency + for (auto&& component : pop.components) { - bodyPair = Visit(bodyPair, assignment.Obj()); + for (vint i = 0; i < component.nodeCount; i++) + { + auto rule = rules[component.firstNode[i]]; + vint index = context.ruleReuseDependencies.Keys().IndexOf(rule); + if (index != -1) + { + AstClassSymbol* type = nullptr; + for (auto dep : context.ruleReuseDependencies.GetByIndex(index)) + { + type = FindCommonBaseClass(type, dep->ruleType); + } + if (type && !updateRuleType(rule, type, true, &ruleTypeChanged)) + { + break; + } + } + } } - clauseDisplayText += L" >>"; + if (context.global.Errors().Count() > 0) return; + + // calculate types for rules that contain cyclic reuse dependency + for (auto&& cyclicRules : cyclicReuseDependencies) { - auto edge = CreateEdge(pair.begin, bodyPair.begin); - edge->insBeforeInput.Add({ AstInsType::DelayFieldAssignment }); + AstClassSymbol* type = nullptr; + for (auto rule : cyclicRules) + { + type = FindCommonBaseClass(type, rule->ruleType); + } + + if (!type) + { + auto ruleTypes = GetRuleTypes(cyclicRules); + for (auto rule : cyclicRules) + { + context.syntaxManager.AddError( + ParserErrorType::CyclicDependedRuleTypeIncompatible, + context.astRules[rule]->codeRange, + rule->Name(), + ruleTypes + ); + } + } + else + { + for (auto rule : cyclicRules) + { + updateRuleType(rule, type, false, &ruleTypeChanged); + } + } } + + if (context.global.Errors().Count() > 0) break; + } + + // prompt errors + for (auto rule : rules) + { + if (!rule->ruleType) { - auto edge = CreateEdge(bodyPair.end, pair.end); - edge->insBeforeInput.Add({ AstInsType::EndObject }); + context.syntaxManager.AddError( + ParserErrorType::RuleCannotResolveToDeterministicType, + context.astRules[rule]->codeRange, + rule->Name() + ); } - endPoses.Add(pair.end, clauseDisplayText.Length()); - result = pair; } - }; - -/*********************************************************************** -CompileSyntax -***********************************************************************/ - void CompileSyntax(VisitorContext& context, List>& files) - { - for (auto file : files) + // calculate types for reuse clauses + for (auto astRule : context.astRules.Values()) { - for (auto rule : file->rules) + for (auto clause : From(astRule->clauses).FindType()) { - auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; - CompileSyntaxVisitor visitor(context, ruleSymbol); - for (auto clause : rule->clauses) + vint index = context.clauseReuseDependencies.Keys().IndexOf(clause.Obj()); + if (index == -1) + { + context.syntaxManager.AddError( + ParserErrorType::ReuseClauseContainsNoUseRule, + clause->codeRange, + astRule->name.value + ); + } + else { - visitor.AssignClause(clause); + AstClassSymbol* type = nullptr; + for (auto dep : context.clauseReuseDependencies.GetByIndex(index)) + { + type = FindCommonBaseClass(type, dep->ruleType); + } + + if (type) + { + context.clauseTypes.Add(clause.Obj(), type); + } + else + { + auto ruleTypes = GetRuleTypes(context.clauseReuseDependencies.GetByIndex(index)); + context.syntaxManager.AddError( + ParserErrorType::ReuseClauseCannotResolveToDeterministicType, + clause->codeRange, + astRule->name.value, + ruleTypes + ); + } } } } @@ -4326,7 +4597,7 @@ CompileSyntax } /*********************************************************************** -.\PARSERGEN\COMPILESYNTAX_RESOLVENAME.CPP +.\PARSERGEN\COMPILESYNTAX_COMPILESYNTAX.CPP ***********************************************************************/ namespace vl @@ -4339,208 +4610,319 @@ namespace vl using namespace compile_syntax; /*********************************************************************** -ResolveNameVisitor +CompileSyntaxVisitor ***********************************************************************/ - class ResolveNameVisitor + class CompileSyntaxVisitor : public Object , protected virtual GlrSyntax::IVisitor , protected virtual GlrClause::IVisitor { + using StatePair = AutomatonBuilder::StatePair; protected: - VisitorContext& context; - RuleSymbol* ruleSymbol; - GlrClause* clause = nullptr; + AutomatonBuilder automatonBuilder; + VisitorContext& context; + Ptr output; + AstClassSymbol* clauseType; + StatePair result; - AstClassSymbol* GetRuleClass(ParsingToken& typeName) + StatePair Build(const Ptr& node) { - vint index = context.astManager.Symbols().Keys().IndexOf(typeName.value); - if (index == -1) - { - context.syntaxManager.AddError( - ParserErrorType::TypeNotExistsInRule, - typeName.codeRange, - ruleSymbol->Name(), - typeName.value - ); - return nullptr; - } - - auto classSymbol = dynamic_cast(context.astManager.Symbols().Values()[index]); - if (!classSymbol) - { - context.syntaxManager.AddError( - ParserErrorType::TypeNotClassInRule, - typeName.codeRange, - ruleSymbol->Name(), - typeName.value - ); - } - return classSymbol; + node->Accept(this); + return result; } public: - ResolveNameVisitor( + CompileSyntaxVisitor( VisitorContext& _context, + Ptr _output, RuleSymbol* _ruleSymbol ) - : context(_context) - , ruleSymbol(_ruleSymbol) + : automatonBuilder(_ruleSymbol) + , context(_context) + , output(_output) { } - void ResolveClause(Ptr clause) + void AssignClause(const Ptr& node) { - clause->Accept(this); + node->Accept(this); } protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + void Visit(GlrRefSyntax* node) override { - vint tokenIndex = context.lexerManager.TokenOrder().IndexOf(node->name.value); - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (tokenIndex == -1 && ruleIndex == -1) + vint32_t field = -1; + if (node->field) { - context.syntaxManager.AddError( - ParserErrorType::TokenOrRuleNotExistsInRule, - node->codeRange, - ruleSymbol->Name(), - node->name.value - ); + auto propSymbol = FindPropSymbol(clauseType, node->field.value); + field = output->fieldIds[propSymbol]; } - } - void Visit(GlrLiteralSyntax* node) override - { - if (node->value.value.Length() > 2) + switch (node->refType) { - Array buffer(node->value.value.Length()); - wchar_t* writing = &buffer[0]; - - for (vint i = 1; i < node->value.value.Length() - 1; i++) + case GlrRefType::Id: { - wchar_t c = node->value.value[i]; - *writing++ = c; - if (c == L'\"') + vint index = context.lexerManager.TokenOrder().IndexOf(node->literal.value); + if (index != -1) { - i++; + auto token = context.lexerManager.Tokens()[node->literal.value]; + auto displayText = token->displayText == L"" ? token->Name() : L"\"" + token->displayText + L"\""; + result = automatonBuilder.BuildTokenSyntax((vint32_t)index, displayText, {}, field); + return; } } - *writing = 0; - - auto literalValue = WString::Unmanaged(&buffer[0]); - for (auto&& [tokenName, tokenIndex] : indexed(context.lexerManager.TokenOrder())) { - auto tokenSymbol = context.lexerManager.Tokens()[tokenName]; - if (tokenSymbol->displayText==literalValue) + vint index = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (index != -1) { - context.literalTokens.Add(node, (vint32_t)tokenIndex); + auto rule = context.syntaxManager.Rules().Values()[index]; + if (rule->isPartial) + { + result = automatonBuilder.BuildPartialRuleSyntax(rule); + } + else if (field == -1) + { + result = automatonBuilder.BuildDiscardRuleSyntax(rule); + } + else + { + result = automatonBuilder.BuildFieldRuleSyntax(rule, field); + } return; } } + CHECK_FAIL(L"Should not reach here!"); + break; + case GlrRefType::Literal: + { + vint index = context.literalTokens[node]; + auto token = context.lexerManager.Tokens()[context.lexerManager.TokenOrder()[index]]; + auto displayText = token->displayText == L"" ? token->Name() : L"\"" + token->displayText + L"\""; + result = automatonBuilder.BuildTokenSyntax((vint32_t)index, displayText, {}, field); + } + break; + case GlrRefType::ConditionalLiteral: + { + vint index = context.literalTokens[node]; + auto token = context.lexerManager.Tokens()[context.lexerManager.TokenOrder()[index]]; + auto condition = UnescapeLiteral(node->literal.value, L'\''); + auto displayText = token->displayText == L"" ? token->Name() : L"\"" + token->displayText + L"\""; + result = automatonBuilder.BuildTokenSyntax((vint32_t)index, displayText, condition, field); + } + break; + default:; } - context.syntaxManager.AddError( - ParserErrorType::TokenOrRuleNotExistsInRule, - node->codeRange, - ruleSymbol->Name(), - node->value.value - ); } void Visit(GlrUseSyntax* node) override { - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (ruleIndex == -1) - { - context.syntaxManager.AddError( - ParserErrorType::TokenOrRuleNotExistsInRule, - node->codeRange, - ruleSymbol->Name(), - node->name.value - ); - } - else if (clause) - { - auto usedRuleSymbol = context.syntaxManager.Rules().Values()[ruleIndex]; - if (!context.ruleReuseDependencies.Contains(ruleSymbol, usedRuleSymbol)) - { - context.ruleReuseDependencies.Add(ruleSymbol, usedRuleSymbol); - } - if (!context.clauseReuseDependencies.Contains(clause, usedRuleSymbol)) - { - context.clauseReuseDependencies.Add(clause, usedRuleSymbol); - } - } + auto rule = context.syntaxManager.Rules()[node->name.value]; + result = automatonBuilder.BuildUseSyntax(rule); } void Visit(GlrLoopSyntax* node) override { - node->syntax->Accept(this); - if (node->delimiter) - { - node->delimiter->Accept(this); - } + result = automatonBuilder.BuildLoopSyntax( + [this, node]() { return Build(node->syntax); }, + [this, node]() { return Build(node->delimiter); }, + node->delimiter + ); } void Visit(GlrOptionalSyntax* node) override { - node->syntax->Accept(this); + result = automatonBuilder.BuildOptionalSyntax( + node->priority == GlrOptionalPriority::PreferTake, + node->priority == GlrOptionalPriority::PreferSkip, + [this, node]() { return Build(node->syntax); } + ); + } + + template + void CollectElements(GlrSyntax* node, List>& elements) + { + if (auto pair = dynamic_cast(node)) + { + CollectElements(pair->first.Obj(), elements); + CollectElements(pair->second.Obj(), elements); + } + else + { + elements.Add([this, node]() { return Build(node); }); + } } void Visit(GlrSequenceSyntax* node) override { - node->first->Accept(this); - node->second->Accept(this); + List> elements; + CollectElements(node, elements); + result = automatonBuilder.BuildSequenceSyntax(elements); } void Visit(GlrAlternativeSyntax* node) override { - node->first->Accept(this); - node->second->Accept(this); + List> elements; + CollectElements(node, elements); + result = automatonBuilder.BuildAlternativeSyntax(elements); } - void Visit(GlrCreateClause* node) override + void Visit(GlrPushConditionSyntax* node) override { - if (auto classSymbol = GetRuleClass(node->type)) + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + StatePair BuildAssignments(StatePair pair, List>& assignments) + { + for (auto node : assignments) { - context.ruleKnownTypes.Add(ruleSymbol, classSymbol); - context.clauseTypes.Add(node, classSymbol); + auto propSymbol = FindPropSymbol(clauseType, node->field.value); + auto enumSymbol = dynamic_cast(propSymbol->propSymbol); + auto enumItem = (vint32_t)enumSymbol->ItemOrder().IndexOf(node->value.value); + auto field = output->fieldIds[propSymbol]; + pair = automatonBuilder.BuildAssignment(pair, enumItem, field, (node->type == GlrAssignmentType::Weak)); } - node->syntax->Accept(this); + return pair; + } + + void Visit(GlrCreateClause* node) override + { + clauseType = context.clauseTypes[node]; + result = automatonBuilder.BuildClause([this, node]() + { + return automatonBuilder.BuildCreateClause( + output->classIds[clauseType], + [this, node]() { return BuildAssignments(Build(node->syntax), node->assignments); } + ); + }); } void Visit(GlrPartialClause* node) override { - if (auto classSymbol = GetRuleClass(node->type)) + clauseType = context.clauseTypes[node]; + result = automatonBuilder.BuildClause([this, node]() { - context.ruleKnownTypes.Add(ruleSymbol, classSymbol); - context.clauseTypes.Add(node, classSymbol); - } - node->syntax->Accept(this); + return automatonBuilder.BuildPartialClause( + [this, node]() { return BuildAssignments(Build(node->syntax), node->assignments); } + ); + }); } void Visit(GlrReuseClause* node) override { - clause = node; - node->syntax->Accept(this); + clauseType = context.clauseTypes[node]; + result = automatonBuilder.BuildClause([this, node]() + { + return automatonBuilder.BuildReuseClause( + [this, node]() { return BuildAssignments(Build(node->syntax), node->assignments); } + ); + }); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + List flags; + CopyFrom( + flags, + From(node->flags) + .Select([this](Ptr flag) + { + return (vint32_t)context.syntaxManager.lrpFlags.IndexOf(flag->flag.value); + }) + .Distinct() + ); + + result = automatonBuilder.BuildClause([this, &flags]() + { + return automatonBuilder.BuildLrpClause(flags, [&](vint32_t flag) { return context.syntaxManager.lrpFlags[flag]; }); + }); + } + + using StateBuilder = Func; + + StateBuilder CompileLriTargetWithoutSwitches(vint32_t parentFlag, GlrLeftRecursionInjectClause* lriTarget) + { + StateBuilder useOrLriSyntax; + auto rule = context.syntaxManager.Rules()[lriTarget->rule->literal.value]; + if (parentFlag == -1) + { + useOrLriSyntax = [this, rule]() { return automatonBuilder.BuildUseSyntax(rule); }; + } + else + { + useOrLriSyntax = [this, rule, parentFlag]() { return automatonBuilder.BuildLriSyntax(parentFlag, rule); }; + } + + if (!lriTarget->continuation) + { + return useOrLriSyntax; + } + else + { + auto cont = lriTarget->continuation; + return [this, useOrLriSyntax, cont]() + { + bool optional = cont->type == GlrLeftRecursionInjectContinuationType::Optional; + auto flag = (vint32_t)context.syntaxManager.lrpFlags.IndexOf(cont->flag->flag.value); + + List targetRules; + for (auto lriTarget : cont->injectionTargets) + { + targetRules.Add(CompileLriTarget(flag, lriTarget.Obj())); + } + return automatonBuilder.BuildLriClauseSyntax( + useOrLriSyntax, + optional, + std::move(targetRules)); + }; + } + } + + StateBuilder CompileLriTarget(vint32_t parentFlag, GlrLeftRecursionInjectClause* lriTarget) + { + return CompileLriTargetWithoutSwitches(parentFlag, lriTarget); + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + result = automatonBuilder.BuildClause([this, node]() + { + return automatonBuilder.BuildReuseClause(CompileLriTarget(-1, node)); + }); + } + + void Visit(GlrPrefixMergeClause* node) override + { + CHECK_FAIL(L"GlrPrefixMergeClause should have been removed after RewriteSyntax_PrefixMerge()!"); } }; /*********************************************************************** -ResolveName +CompileSyntax ***********************************************************************/ - void ResolveName(VisitorContext& context, List>& files) + void CompileSyntax(VisitorContext& context, Ptr output, Ptr syntaxFile) { - for (auto file : files) + for (auto rule : syntaxFile->rules) { - for (auto rule : file->rules) + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + CompileSyntaxVisitor visitor(context, output, ruleSymbol); + for (auto clause : rule->clauses) { - auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; - ResolveNameVisitor visitor(context, ruleSymbol); - for (auto clause : rule->clauses) - { - visitor.ResolveClause(clause); - } + visitor.AssignClause(clause); } } } @@ -4549,7 +4931,7 @@ ResolveName } /*********************************************************************** -.\PARSERGEN\COMPILESYNTAX_VALIDATESTRUCTURE.CPP +.\PARSERGEN\COMPILESYNTAX_RESOLVENAME.CPP ***********************************************************************/ namespace vl @@ -4562,579 +4944,3943 @@ namespace vl using namespace compile_syntax; /*********************************************************************** -ValidateStructureCountingVisitor +ResolveNameVisitor ***********************************************************************/ - class ValidateStructureCountingVisitor + class ResolveNameVisitor : public Object , protected virtual GlrSyntax::IVisitor + , protected virtual GlrCondition::IVisitor , protected virtual GlrClause::IVisitor { protected: VisitorContext& context; + VisitorSwitchContext& sContext; + SortedList& accessedSwitches; RuleSymbol* ruleSymbol; - GlrClause* clause = nullptr; - - vint optionalCounter = 0; - vint loopCounter = 0; - bool lastSyntaxPiece = true; - bool prioritySyntaxOccurred = false; - - vint syntaxMinLength = 0; - vint syntaxMinUseRuleCount = 0; - vint syntaxMaxUseRuleCount = 0; + GlrReuseClause* reuseClause = nullptr; public: - ValidateStructureCountingVisitor( + ResolveNameVisitor( VisitorContext& _context, + VisitorSwitchContext& _sContext, + SortedList& _accessedSwitches, RuleSymbol* _ruleSymbol ) : context(_context) + , sContext(_sContext) + , accessedSwitches(_accessedSwitches) , ruleSymbol(_ruleSymbol) { } - void ValidateClause(Ptr clause) + AstClassSymbol* GetRuleClass(ParsingToken& typeName) { - optionalCounter = 0; - loopCounter = 0; - lastSyntaxPiece = true; - prioritySyntaxOccurred = false; + vint index = context.astManager.Symbols().Keys().IndexOf(typeName.value); + if (index == -1) + { + context.syntaxManager.AddError( + ParserErrorType::TypeNotExistsInRule, + typeName.codeRange, + ruleSymbol->Name(), + typeName.value + ); + return nullptr; + } + + auto classSymbol = dynamic_cast(context.astManager.Symbols().Values()[index]); + if (!classSymbol) + { + context.syntaxManager.AddError( + ParserErrorType::TypeNotClassInRule, + typeName.codeRange, + ruleSymbol->Name(), + typeName.value + ); + } + return classSymbol; + } + + void ResolveClause(Ptr clause) + { + context.clauseToRules.Add(clause.Obj(), ruleSymbol); clause->Accept(this); } protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + void Visit(GlrRefSyntax* node) override { - syntaxMinLength = 1; - syntaxMinUseRuleCount = 0; - syntaxMaxUseRuleCount = 0; - - if (loopCounter > 0) + switch (node->refType) { - auto clauseType = context.clauseTypes[clause]; - - if (node->field) + case GlrRefType::Id: { - auto prop = FindPropSymbol(clauseType, node->field.value); - if (prop->propType != AstPropType::Array) + vint tokenIndex = context.lexerManager.TokenOrder().IndexOf(node->literal.value); + vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (tokenIndex == -1 && ruleIndex == -1) { context.syntaxManager.AddError( - ParserErrorType::NonArrayFieldAssignedInLoop, + ParserErrorType::TokenOrRuleNotExistsInRule, node->codeRange, ruleSymbol->Name(), - clauseType->Name(), - prop->Name() + node->literal.value ); } } - - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (ruleIndex != -1) + break; + case GlrRefType::Literal: { - auto fieldRule = context.syntaxManager.Rules().Values()[ruleIndex]; - if (fieldRule->isPartial && fieldRule->assignedNonArrayField) + if (node->literal.value.Length() > 2) { - context.syntaxManager.AddError( - ParserErrorType::NonLoopablePartialRuleUsedInLoop, - node->codeRange, - ruleSymbol->Name(), - clauseType->Name(), - fieldRule->Name() - ); + auto literalValue = UnescapeLiteral(node->literal.value, L'\"'); + for (auto&& [tokenName, tokenIndex] : indexed(context.lexerManager.TokenOrder())) + { + auto tokenSymbol = context.lexerManager.Tokens()[tokenName]; + if (tokenSymbol->displayText == literalValue) + { + if (tokenSymbol->discarded) + { + context.syntaxManager.AddError( + ParserErrorType::LiteralIsDiscardedToken, + node->codeRange, + ruleSymbol->Name(), + node->literal.value + ); + } + else + { + context.literalTokens.Add(node, (vint32_t)tokenIndex); + } + return; + } + } + } + context.syntaxManager.AddError( + ParserErrorType::LiteralNotValidToken, + node->codeRange, + ruleSymbol->Name(), + node->literal.value + ); + } + break; + case GlrRefType::ConditionalLiteral: + { + if (node->literal.value.Length() > 2) + { + auto literalValue = UnescapeLiteral(node->literal.value, L'\''); + auto&& lexer = context.GetCachedLexer(); + List tokens; + lexer.Parse(literalValue).ReadToEnd(tokens); + if (tokens.Count() == 1 && tokens[0].token != -1 && tokens[0].completeToken) + { + auto tokenSymbol = context.lexerManager.Tokens()[context.lexerManager.TokenOrder()[tokens[0].token]]; + if (tokenSymbol->displayText != L"") + { + context.syntaxManager.AddError( + ParserErrorType::ConditionalLiteralIsDisplayText, + node->codeRange, + ruleSymbol->Name(), + node->literal.value + ); + } + if (tokenSymbol->discarded) + { + context.syntaxManager.AddError( + ParserErrorType::ConditionalLiteralIsDiscardedToken, + node->codeRange, + ruleSymbol->Name(), + node->literal.value + ); + } + context.literalTokens.Add(node, (vint32_t)tokens[0].token); + return; + } } + context.syntaxManager.AddError( + ParserErrorType::ConditionalLiteralNotValidToken, + node->codeRange, + ruleSymbol->Name(), + node->literal.value + ); } + break; + default:; } } - void Visit(GlrLiteralSyntax* node) override - { - syntaxMinLength = 1; - syntaxMinUseRuleCount = 0; - syntaxMaxUseRuleCount = 0; - } - - void Visit(GlrUseSyntax* node) override + void VisitReuseSyntax(ParsingToken& name, bool addRuleReuseDependency) { - syntaxMinLength = 1; - syntaxMinUseRuleCount = 1; - syntaxMaxUseRuleCount = 1; - - if (loopCounter > 0) + vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(name.value); + if (ruleIndex == -1) { context.syntaxManager.AddError( - ParserErrorType::UseRuleUsedInLoopBody, - node->codeRange, + ParserErrorType::TokenOrRuleNotExistsInRule, + name.codeRange, ruleSymbol->Name(), - node->name.value + name.value ); } - if (optionalCounter > 0) + else { - context.syntaxManager.AddError( - ParserErrorType::UseRuleUsedInOptionalBody, - node->codeRange, - ruleSymbol->Name(), - node->name.value - ); + auto usedRuleSymbol = context.syntaxManager.Rules().Values()[ruleIndex]; + if (addRuleReuseDependency) + { + if (!context.ruleReuseDependencies.Contains(ruleSymbol, usedRuleSymbol)) + { + context.ruleReuseDependencies.Add(ruleSymbol, usedRuleSymbol); + } + } + if (reuseClause) + { + if (!context.clauseReuseDependencies.Contains(reuseClause, usedRuleSymbol)) + { + context.clauseReuseDependencies.Add(reuseClause, usedRuleSymbol); + } + } } } - void Visit(GlrLoopSyntax* node) override + void Visit(GlrUseSyntax* node) override { - vint bodyMinLength = 0, bodyMaxUseRuleCount = 0; - vint delimiterMinLength = 0, delimiterMaxUseRuleCount = 0; - - loopCounter++; + VisitReuseSyntax(node->name, reuseClause != nullptr); + } + void Visit(GlrLoopSyntax* node) override + { node->syntax->Accept(this); - bodyMinLength = syntaxMinLength; - bodyMaxUseRuleCount = syntaxMaxUseRuleCount; - if (node->delimiter) { node->delimiter->Accept(this); - delimiterMinLength = syntaxMinLength; - delimiterMaxUseRuleCount = syntaxMaxUseRuleCount; } + } - if (delimiterMinLength + bodyMinLength == 0) - { - context.syntaxManager.AddError( - ParserErrorType::LoopBodyCouldExpandToEmptySequence, - node->codeRange, - ruleSymbol->Name() - ); - } - syntaxMinLength = 0; - syntaxMinUseRuleCount = 0; - syntaxMaxUseRuleCount = bodyMaxUseRuleCount * 2 + delimiterMaxUseRuleCount * 2; + void Visit(GlrOptionalSyntax* node) override + { + node->syntax->Accept(this); + } - loopCounter--; + void Visit(GlrSequenceSyntax* node) override + { + node->first->Accept(this); + node->second->Accept(this); } - void Visit(GlrOptionalSyntax* node) override + void Visit(GlrAlternativeSyntax* node) override { - if (node->priority != GlrOptionalPriority::Equal) + node->first->Accept(this); + node->second->Accept(this); + } + + void VisitSwitchItems(List>& switches) + { + for (auto&& switchItem : switches) { - if (prioritySyntaxOccurred) + if (!sContext.switches.Keys().Contains(switchItem->name.value)) { context.syntaxManager.AddError( - ParserErrorType::MultiplePrioritySyntaxInAClause, - node->codeRange, - ruleSymbol->Name() - ); + ParserErrorType::SwitchNotExists, + switchItem->name.codeRange, + ruleSymbol->Name(), + switchItem->name.value + ); } - else + else if (!accessedSwitches.Contains(switchItem->name.value)) { - prioritySyntaxOccurred = true; + accessedSwitches.Add(switchItem->name.value); } } - optionalCounter++; + } + void Visit(GlrPushConditionSyntax* node) override + { + VisitSwitchItems(node->switches); node->syntax->Accept(this); + } - if (syntaxMinLength == 0) + void Visit(GlrTestConditionSyntax* node) override + { + for (auto&& branch : node->branches) { - context.syntaxManager.AddError( - ParserErrorType::OptionalBodyCouldExpandToEmptySequence, - node->codeRange, - ruleSymbol->Name() - ); + branch->condition->Accept(this); + if (branch->syntax) + { + branch->syntax->Accept(this); + } } + } - if (node->priority == GlrOptionalPriority::PreferSkip && lastSyntaxPiece) + //////////////////////////////////////////////////////////////////////// + // GlrCondition::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrRefCondition* node) override + { + if (!sContext.switches.Keys().Contains(node->name.value)) { context.syntaxManager.AddError( - ParserErrorType::NegativeOptionalEndsAClause, - node->codeRange, - ruleSymbol->Name() + ParserErrorType::SwitchNotExists, + node->name.codeRange, + ruleSymbol->Name(), + node->name.value ); } - syntaxMinLength = 0; - syntaxMinUseRuleCount = 0; + else if (!accessedSwitches.Contains(node->name.value)) + { + accessedSwitches.Add(node->name.value); + } + } - optionalCounter--; + void Visit(GlrNotCondition* node) override + { + node->condition->Accept(this); } - void Visit(GlrSequenceSyntax* node) override + void Visit(GlrAndCondition* node) override { + node->first->Accept(this); node->second->Accept(this); - vint secondMinLength = syntaxMinLength; - vint secondMinUseRuleCount = syntaxMinUseRuleCount; - vint secondMaxUseRuleCount = syntaxMaxUseRuleCount; + } - bool last = lastSyntaxPiece; - lastSyntaxPiece = last && secondMinLength == 0; + void Visit(GlrOrCondition* node) override + { node->first->Accept(this); - vint firstMinLength = syntaxMinLength; - vint firstMinUseRuleCount = syntaxMinUseRuleCount; - vint firstMaxUseRuleCount = syntaxMaxUseRuleCount; - lastSyntaxPiece = last; + node->second->Accept(this); + } - syntaxMinLength = firstMinLength + secondMinLength; - syntaxMinUseRuleCount = firstMinUseRuleCount + secondMinUseRuleCount; - syntaxMaxUseRuleCount = firstMaxUseRuleCount + secondMaxUseRuleCount; + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrCreateClause* node) override + { + if (auto classSymbol = GetRuleClass(node->type)) + { + context.ruleKnownTypes.Add(ruleSymbol, classSymbol); + context.clauseTypes.Add(node, classSymbol); + } + node->syntax->Accept(this); } - void Visit(GlrAlternativeSyntax* node) override + void Visit(GlrPartialClause* node) override { - node->first->Accept(this); - vint firstMinLength = syntaxMinLength; - vint firstMinUseRuleCount = syntaxMinUseRuleCount; - vint firstMaxUseRuleCount = syntaxMaxUseRuleCount; + if (auto classSymbol = GetRuleClass(node->type)) + { + context.ruleKnownTypes.Add(ruleSymbol, classSymbol); + context.clauseTypes.Add(node, classSymbol); + } + node->syntax->Accept(this); + } - node->second->Accept(this); - vint secondMinLength = syntaxMinLength; - vint secondMinUseRuleCount = syntaxMinUseRuleCount; - vint secondMaxUseRuleCount = syntaxMaxUseRuleCount; + void Visit(GlrReuseClause* node) override + { + reuseClause = node; + node->syntax->Accept(this); + } - syntaxMinLength = firstMinLength < secondMinLength ? firstMinLength : secondMinLength; - syntaxMinUseRuleCount = firstMinUseRuleCount < secondMinUseRuleCount ? firstMinUseRuleCount : secondMinUseRuleCount; - syntaxMaxUseRuleCount = firstMaxUseRuleCount > secondMaxUseRuleCount ? firstMaxUseRuleCount : secondMaxUseRuleCount; + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + for (auto flag : node->flags) + { + auto name = flag->flag.value; + if (!ruleSymbol->lrFlags.Contains(name)) + { + ruleSymbol->lrFlags.Add(name); + } + } + context.directLrpClauses.Add(ruleSymbol, node); } - void CheckAfterClause(GlrClause* node, bool reuseClause) + void VisitLriClause(GlrLeftRecursionInjectClause* node) { - if (syntaxMinLength == 0) + VisitReuseSyntax(node->rule->literal, true); + if (node->continuation) + { + for (auto lriTarget : node->continuation->injectionTargets) + { + VisitLriClause(lriTarget.Obj()); + } + } + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + VisitLriClause(node); + context.directLriClauses.Add(ruleSymbol, node); + } + + void Visit(GlrPrefixMergeClause* node) override + { + VisitReuseSyntax(node->rule->literal, true); + context.directPmClauses.Add(ruleSymbol, node); + } + }; + +/*********************************************************************** +ResolveName +***********************************************************************/ + + bool IsLegalNameBeforeWithSwitch(const WString& name) + { + if (wcsstr(name.Buffer(), L"_SWITCH")) return false; + if (wcsstr(name.Buffer(), L"SWITCH_")) return false; + return true; + } + + bool IsLegalNameBeforeWithPrefixMerge(const WString& name) + { + if (wcsstr(name.Buffer(), L"_LRI")) return false; + if (wcsstr(name.Buffer(), L"_LRIP")) return false; + if (wcsstr(name.Buffer(), L"LRI_")) return false; + if (wcsstr(name.Buffer(), L"LRIP_")) return false; + return true; + } + + void ResolveName(VisitorContext& context, VisitorSwitchContext& sContext, Ptr syntaxFile) + { + for (auto switchItem : syntaxFile->switches) + { + if (sContext.switches.Keys().Contains(switchItem->name.value)) { context.syntaxManager.AddError( - ParserErrorType::ClauseCouldExpandToEmptySequence, - node->codeRange, - ruleSymbol->Name() + ParserErrorType::DuplicatedSwitch, + switchItem->name.codeRange, + switchItem->name.value ); } - if (reuseClause) + else { - if (syntaxMinUseRuleCount == 0) + sContext.switches.Add( + switchItem->name.value, { + (switchItem->value == GlrSwitchValue::True), + switchItem.Obj() + }); + } + } + + for (auto rule : syntaxFile->rules) + { + context.astRules.Add(context.syntaxManager.Rules()[rule->name.value], rule.Obj()); + } + + SortedList accessedSwitches; + for (auto rule : syntaxFile->rules) + { + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + ResolveNameVisitor visitor(context, sContext, accessedSwitches, ruleSymbol); + if (rule->type) + { + ruleSymbol->ruleType = visitor.GetRuleClass(rule->type); + } + for (auto clause : rule->clauses) + { + visitor.ResolveClause(clause); + } + } + + { + vint index = 0; + for (auto&& switchName : sContext.switches.Keys()) + { + if (index == accessedSwitches.Count() || switchName != accessedSwitches[index]) { context.syntaxManager.AddError( - ParserErrorType::ClauseNotCreateObject, - node->codeRange, - ruleSymbol->Name() - ); + ParserErrorType::UnusedSwitch, + sContext.switches[switchName].value->codeRange, + switchName + ); } - if (syntaxMaxUseRuleCount > 1) + else + { + index++; + } + } + } + + if (sContext.switches.Count() > 0) + { + for (auto rule : syntaxFile->rules) + { + if (!IsLegalNameBeforeWithSwitch(rule->name.value)) { context.syntaxManager.AddError( - ParserErrorType::ClauseTooManyUseRule, - node->codeRange, - ruleSymbol->Name() - ); + ParserErrorType::SyntaxInvolvesSwitchWithIllegalRuleName, + rule->name.codeRange, + rule->name.value + ); + } + } + } + + if (context.directPmClauses.Count() > 0) + { + for (auto rule : syntaxFile->rules) + { + if (!IsLegalNameBeforeWithPrefixMerge(rule->name.value)) + { + context.syntaxManager.AddError( + ParserErrorType::SyntaxInvolvesPrefixMergeWithIllegalRuleName, + rule->name.codeRange, + rule->name.value + ); + } + + for (auto lrp : From(rule->clauses).FindType()) + { + for (auto p : lrp->flags) + { + if (!IsLegalNameBeforeWithPrefixMerge(p->flag.value)) + { + context.syntaxManager.AddError( + ParserErrorType::SyntaxInvolvesPrefixMergeWithIllegalPlaceholderName, + p->flag.codeRange, + rule->name.value, + p->flag.value + ); + } + } } } } + } + } + } +} + +/*********************************************************************** +.\PARSERGEN\COMPILESYNTAX_REWRITESYNTAX_PREFIXMERGE.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + using namespace compile_syntax; + + extern void CalculateFirstSet_IndirectStartRules(VisitorContext& context); + extern void CalculateFirstSet_IndirectSimpleUseRules(VisitorContext& context); + + namespace rewritesyntax_prefixmerge + { + struct RewritingPrefixConflict + { + // all clauses are simple use clauses, RuleSymbol* in values are the rule referenced by keys + SortedList unaffectedClauses; // clauses that are not affected by prefix extraction + SortedList prefixClauses; // simple use clauses that are prefix themselves + Group conflictedClauses; // c1 -> c2 if c1's prefix is prefix clause c2 + }; + + struct PrefixRuleWithClause + { + RuleSymbol* ruleSymbol = nullptr; + GlrClause* clause = nullptr; + + bool operator==(PrefixRuleWithClause& p) const + { + return ruleSymbol == p.ruleSymbol && clause == p.clause; + } + }; + + struct RewritingContext + { + List pmRules; // all rules that need to be rewritten + Dictionary originRules; // rewritten RuleSymbol -> GlrRule ends with _LRI_Original, which is the same GlrRule object before rewritten + Dictionary lriRules; // rewritten RuleSymbol -> GlrRule containing left_recursion_inject clauses + Dictionary fixedAstRules; // RuleSymbol -> GlrRule relationship after rewritten + + Group extractPrefixClauses; // RuleSymbol -> {rule to be extracted, clause begins with rule} + Dictionary, GlrRule*> extractedPrefixRules; // {rewritten RuleSymbol, prefix RuleSymbol} -> GlrRule ends with _LRI_Prefix + Dictionary> extractedConflicts; // rewritten RuleSymbol -> all needed information if prefix extraction affects how it generates left_recursion_inject clauses + }; + + Ptr GetConflict(const RewritingContext& rContext, RuleSymbol* ruleSymbol) + { + vint indexConflict = rContext.extractedConflicts.Keys().IndexOf(ruleSymbol); + if (indexConflict == -1) + { + return nullptr; + } + else + { + return rContext.extractedConflicts.Values()[indexConflict]; + } + } + + Ptr EnsureGetConflict(RewritingContext& rContext, RuleSymbol* ruleSymbol) + { + auto conflict = GetConflict(rContext, ruleSymbol); + if (!conflict) + { + conflict = MakePtr(); + rContext.extractedConflicts.Add(ruleSymbol, conflict); + } + return conflict; + } + +/*********************************************************************** +FillMissingPrefixMergeClauses +***********************************************************************/ + + void RemoveDirectReferences(RulePathDependencies& references, RuleSymbol* ruleSymbol, GlrClause* clause) + { + vint index = references.Keys().IndexOf(ruleSymbol); + if (index != -1) + { + auto&& values = const_cast&>(references.GetByIndex(index)); + for (vint i = values.Count() - 1; i >= 0; i--) + { + if (values[i].clause == clause) + { + values.RemoveAt(i); + } + } + + if (values.Count() == 0) + { + references.Remove(ruleSymbol); + } + } + } + + void FillMissingPrefixMergeClauses(VisitorContext& vContext, SyntaxSymbolManager& syntaxManager, Ptr rewritten) + { + // find position of thses clauses in rules + for (auto clauseRaw : vContext.clauseToConvertedToPrefixMerge) + { + auto ruleSymbol = vContext.clauseToRules[clauseRaw]; + auto ruleRaw = vContext.astRules[ruleSymbol]; + vint ruleIndex = rewritten->rules.IndexOf(ruleRaw); + vint clauseIndex = ruleRaw->clauses.IndexOf(clauseRaw); + auto clause = ruleRaw->clauses[clauseIndex]; + + // create new rule and replace the clause with prefix_merge + auto newRule = MakePtr(); + rewritten->rules.Insert(ruleIndex, newRule); + newRule->name.value = ruleRaw->name.value + L"_LRI_Isolated_" + itow(clauseIndex); + newRule->clauses.Add(clause); + + auto newPM = MakePtr(); + ruleRaw->clauses[clauseIndex] = newPM; + { + auto startRule = MakePtr(); + newPM->rule = startRule; + + startRule->refType = GlrRefType::Id; + startRule->literal.value = newRule->name.value; + } + + // remove direct references + RemoveDirectReferences(vContext.directStartRules, ruleSymbol, clause.Obj()); + RemoveDirectReferences(vContext.directSimpleUseRules, ruleSymbol, clause.Obj()); + + // fix rule and clause symbols + auto newRuleSymbol = syntaxManager.CreateRule(newRule->name.value, ruleRaw->name.codeRange); + newRuleSymbol->ruleType = vContext.clauseTypes[clause.Obj()]; + vContext.astRules.Add(newRuleSymbol, newRule.Obj()); + vContext.clauseTypes.Add(newPM.Obj(), newRuleSymbol->ruleType); + vContext.clauseToRules.Set(clause.Obj(), newRuleSymbol); + vContext.clauseToRules.Add(newPM.Obj(), ruleSymbol); + vContext.clauseToStartRules.Add(newPM.Obj(), newRuleSymbol); + + // fix directPmClauses + // indirectPmClauses + // directStartRules + vContext.directPmClauses.Add(ruleSymbol, newPM.Obj()); + vContext.indirectPmClauses.Add(ruleSymbol, newPM.Obj()); + vContext.directStartRules.Add(ruleSymbol, { newRuleSymbol,newPM.Obj() }); + for (auto key : syntaxManager.Rules().Values()) + { + if (vContext.indirectStartPathToLastRules.Contains({ key,ruleSymbol })) + { + vContext.indirectPmClauses.Add(key, newPM.Obj()); + } + } + } + + // fix indirectStartRules + // indirectSimpleUseRules + // indirectStartPathToLastRules + // indirectSimpleUsePathToLastRules + vContext.indirectStartRules.Clear(); + vContext.indirectSimpleUseRules.Clear(); + vContext.indirectStartPathToLastRules.Clear(); + vContext.indirectSimpleUsePathToLastRules.Clear(); + CalculateFirstSet_IndirectStartRules(vContext); + CalculateFirstSet_IndirectSimpleUseRules(vContext); + } + +/*********************************************************************** +CollectRewritingTargets +***********************************************************************/ + + void CollectRewritingTargets(const VisitorContext& vContext, RewritingContext& rContext, Ptr rewritten) + { + for (auto rule : rewritten->rules) + { + auto ruleSymbol = vContext.syntaxManager.Rules()[rule->name.value]; + if (vContext.indirectPmClauses.Keys().Contains(ruleSymbol)) + { + rContext.pmRules.Add(ruleSymbol); + + vint indexStart = vContext.directStartRules.Keys().IndexOf(ruleSymbol); + vint indexSimpleUse = vContext.directSimpleUseRules.Keys().IndexOf(ruleSymbol); + + if (indexStart != -1 && indexSimpleUse != -1) + { + // all clauses should be simple use to enable prefix detection + if (vContext.directSimpleUseRules.GetByIndex(indexSimpleUse).Count() != rule->clauses.Count()) continue; + Ptr conflict; + + for (auto [startRule, startClause] : vContext.directStartRules.GetByIndex(indexStart)) + { + // prefix_merge clauses and left recursive clauses are not involved in prefix detection/extraction + if (dynamic_cast(startClause)) continue; + if (vContext.leftRecursiveClauses.Contains(ruleSymbol, startClause)) continue; + + // find all clause pair "!X" and "Y ...", see if X is a prefix of Y + for (auto [simpleUseRule, simpleUseClause] : vContext.directSimpleUseRules.GetByIndex(indexSimpleUse)) + { + // ignore if X is Y + if (startRule == simpleUseRule) continue; + + // ignore if X is not a prefix of Y + vint indexExtract = vContext.indirectStartPathToLastRules.Keys().IndexOf({ startRule,simpleUseRule }); + if (indexExtract == -1) continue; + + // ignore if Y ::= X directly or indirectly + for (auto [extractRule, extractClause] : vContext.indirectStartPathToLastRules.GetByIndex(indexExtract)) + { + // ignore if Y ::= X directly or indirectly + if (vContext.directSimpleUseRules.Contains(extractRule, { simpleUseRule,extractClause })) continue; + + // prefix extraction needed + if (!rContext.extractPrefixClauses.Contains(extractRule, { simpleUseRule,extractClause })) + { + rContext.extractPrefixClauses.Add(extractRule, { simpleUseRule,extractClause }); + } + + // fill conflict information for ruleSymbol + if (!conflict) + { + conflict = EnsureGetConflict(rContext, ruleSymbol); + } + + if (!conflict->prefixClauses.Contains(simpleUseClause)) + { + conflict->prefixClauses.Add(simpleUseClause); + } + if (!conflict->conflictedClauses.Contains(startClause, simpleUseClause)) + { + conflict->conflictedClauses.Add(startClause, simpleUseClause); + } + } + } + } + + if (conflict) + { + for (auto clause : rule->clauses) + { + if (!conflict->prefixClauses.Contains(clause.Obj()) && !conflict->conflictedClauses.Contains(clause.Obj())) + { + conflict->unaffectedClauses.Add(clause.Obj()); + } + } + } + } + } + } + } + +/*********************************************************************** +CreateRewrittenRules +***********************************************************************/ + + void CreateRewrittenRules(const VisitorContext& vContext, RewritingContext& rContext, Ptr rewritten) + { + for (auto ruleSymbol : rContext.pmRules) + { + auto originRule = vContext.astRules[ruleSymbol]; + rContext.originRules.Add(ruleSymbol, originRule); + + auto lri = MakePtr(); + rewritten->rules.Add(lri); + rContext.lriRules.Add(ruleSymbol, lri.Obj()); + + lri->name.value = originRule->name.value; + originRule->name.value += L"_LRI_Original"; + } + + for (auto [ruleSymbol, index] : indexed(rContext.extractPrefixClauses.Keys())) + { + auto originRule = vContext.astRules[ruleSymbol]; + auto&& prefixClauses = rContext.extractPrefixClauses.GetByIndex(index); + for (auto [prefixRuleSymbol, prefixClause] : From(prefixClauses) + .OrderBy([](auto p1, auto p2) {return WString::Compare(p1.ruleSymbol->Name(), p2.ruleSymbol->Name()); })) + { + auto ep = MakePtr(); + rewritten->rules.Insert(rewritten->rules.IndexOf(originRule), ep); + rContext.extractedPrefixRules.Add({ ruleSymbol,prefixRuleSymbol }, ep.Obj()); + + ep->name.value = ruleSymbol->Name() + L"_" + prefixRuleSymbol->Name() + L"_LRI_Prefix"; + } + } + } + +/*********************************************************************** +FixRuleTypes +***********************************************************************/ + + void FixRuleTypes(const VisitorContext& vContext, RewritingContext& rContext, SyntaxSymbolManager& syntaxManager) + { + CopyFrom(rContext.fixedAstRules, vContext.astRules); + for (auto ruleSymbol : rContext.pmRules) + { + auto originRule = rContext.originRules[ruleSymbol]; + auto lriRule = rContext.lriRules[ruleSymbol]; + auto originSymbol = syntaxManager.CreateRule(originRule->name.value, originRule->codeRange); + + originSymbol->ruleType = ruleSymbol->ruleType; + rContext.fixedAstRules.Set(originSymbol, originRule); + rContext.fixedAstRules.Set(ruleSymbol, lriRule); + } + + for (auto [pair, epRule] : rContext.extractedPrefixRules) + { + auto originRule = rContext.originRules[pair.key]; + auto epRuleSymbol = syntaxManager.CreateRule(epRule->name.value, originRule->codeRange); + epRuleSymbol->ruleType = pair.value->ruleType; + rContext.fixedAstRules.Add(epRuleSymbol, epRule); + } + + for (auto [ruleSymbol, rule] : rContext.fixedAstRules) + { + if (!rule->type) + { + rule->type.value = ruleSymbol->ruleType->Name(); + } + } + + for (auto ruleSymbol : syntaxManager.Rules().Values()) + { + ruleSymbol->isPartial = false; + ruleSymbol->assignedNonArrayField = false; + ruleSymbol->ruleType = nullptr; + ruleSymbol->lrFlags.Clear(); + } + } + +/*********************************************************************** +RewriteExtractedPrefixRules +***********************************************************************/ + + void RewriteExtractedPrefixRules(const VisitorContext& vContext, RewritingContext& rContext, SyntaxSymbolManager& syntaxManager) + { + for (auto [pair, epRule] : rContext.extractedPrefixRules) + { + { + auto lrpClause = MakePtr(); + epRule->clauses.Add(lrpClause); + + auto lrp = MakePtr(); + lrpClause->flags.Add(lrp); + lrp->flag.value = L"LRIP_" + pair.key->Name() + L"_" + pair.value->Name(); + syntaxManager.lrpFlags.Add(lrp->flag.value); + } + { + auto reuseClause = MakePtr(); + epRule->clauses.Add(reuseClause); + + auto useSyntax = MakePtr(); + reuseClause->syntax = useSyntax; + useSyntax->name.value = rContext.originRules[pair.value]->name.value; + } + } + } + +/*********************************************************************** +RewriteRules (Common) +***********************************************************************/ + + using PMClauseRecord = GenericRuleClausePath; + + struct PMInjectRecord + { + RuleSymbol* pmRule = nullptr; + RuleSymbol* injectIntoRule = nullptr; + }; + + void RewriteRules_AddPmClause( + const VisitorContext& vContext, + RuleSymbol* ruleSymbol, + GlrPrefixMergeClause* pmClause, + Group& pmClauses + ) + { + auto pmRule = vContext.clauseToRules[pmClause]; + if (ruleSymbol == pmRule) + { + if (!pmClauses.Contains(pmClause->rule->literal.value, { ruleSymbol,pmClause })) + { + pmClauses.Add(pmClause->rule->literal.value, { ruleSymbol,pmClause }); + } + } + else + { + for (auto [indirectStartRule, indirectClause] : vContext.indirectStartPathToLastRules[{ ruleSymbol, pmRule }]) + { + if (!pmClauses.Contains(pmClause->rule->literal.value, { ruleSymbol,pmClause })) + { + pmClauses.Add(pmClause->rule->literal.value, { ruleSymbol,pmClause }); + } + } + } + } + + Ptr RewriteRules_CollectUnaffectedIndirectPmClauses( + const VisitorContext& vContext, + const RewritingContext& rContext, + RuleSymbol* initiatedRuleSymbol, + RuleSymbol* ruleSymbol, + SortedList& visited, + Group& pmClauses + ) + { + auto conflict = initiatedRuleSymbol == ruleSymbol ? GetConflict(rContext, ruleSymbol) : nullptr; + if (!visited.Contains(ruleSymbol)) + { + visited.Add(ruleSymbol); + + if (conflict) + { + for (auto [simpleUseRule, simpleUseClause] : vContext.directSimpleUseRules[ruleSymbol]) + { + if (conflict->unaffectedClauses.Contains(simpleUseClause)) + { + RewriteRules_CollectUnaffectedIndirectPmClauses(vContext, rContext, initiatedRuleSymbol, simpleUseRule, visited, pmClauses); + } + else + { + vint indexConflicted = conflict->conflictedClauses.Keys().IndexOf(simpleUseClause); + if (indexConflicted == -1) continue; + + auto&& prefixClauses = conflict->conflictedClauses.GetByIndex(indexConflicted); + for (auto pmClause : + From(vContext.indirectPmClauses[ruleSymbol]).Except( + From(prefixClauses) + .SelectMany([&](GlrClause* prefixClause) + { + return From(vContext.indirectPmClauses[vContext.simpleUseClauseToReferencedRules[prefixClause]]); + }) + )) + { + RewriteRules_AddPmClause(vContext, simpleUseRule, pmClause, pmClauses); + } + } + } + } + else + { + for (auto pmClause : vContext.indirectPmClauses[ruleSymbol]) + { + RewriteRules_AddPmClause(vContext, ruleSymbol, pmClause, pmClauses); + } + } + } + return conflict; + } + + void RewriteRules_CheckPath( + const VisitorContext& vContext, + RuleSymbol* startSymbol, + RuleSymbol* endSymbol, + bool& hasSimpleUseTransition, + bool& hasNonSimpleUseTransition + ) + { + // check the path from startSymbol to endSymbol + // hasSimpleUseTransition and hasNonSimpleUseTransition must be false before non-recursive calling from outside + // if a transition is found + // either of one will be set to true + // meaning such transition is counted + + bool isEndSymbolLeftRecursive = vContext.leftRecursiveClauses.Keys().Contains(endSymbol); + if (isEndSymbolLeftRecursive) + { + // if endSymbol is left recursive + // then we find a non-simple-use transition from startSymbol to endSymbol + hasNonSimpleUseTransition = true; + } + + if (startSymbol == endSymbol) + { + // if startSymbol is endSymbol + // then we find a simple-use transition + // which does not actually transit + hasSimpleUseTransition = true; + } + else + { + // otherwise we look through all possible path from startSymbol to endSymbol + vint index = vContext.indirectStartPathToLastRules.Keys().IndexOf({ startSymbol,endSymbol }); + if (index != -1) + { + for (auto [lastRuleSymbol, clause] : vContext.indirectStartPathToLastRules.GetByIndex(index)) + { + if (vContext.simpleUseClauseToReferencedRules.Keys().Contains(clause)) + { + // if we find a simple-use clause + // we check how all transitions look like from startSymbol to lastRuleSymbol + RewriteRules_CheckPath(vContext, startSymbol, lastRuleSymbol, hasSimpleUseTransition, hasNonSimpleUseTransition); + } + else + { + // if we find a non-simple-use clause + // then we find a non-simple-use transition from startSymbol to endSymbol + hasNonSimpleUseTransition = true; + } + } + } + } + } + + void RewriteRules_CollectFlags( + const VisitorContext& vContext, + RuleSymbol* ruleSymbol, + const List& pmClauses, + Dictionary& flags, + bool& generateOptionalLri + ) + { + for (auto [injectIntoRule, pmClause] : pmClauses) + { + auto pmRule = vContext.clauseToRules[pmClause]; + bool hasSimpleUseTransition = false; + bool hasNonSimpleUseTransition = false; + RewriteRules_CheckPath(vContext, ruleSymbol, pmRule, hasSimpleUseTransition, hasNonSimpleUseTransition); + + if (hasSimpleUseTransition) + { + generateOptionalLri = true; + } + + if (hasNonSimpleUseTransition) + { + flags.Add(L"LRI_" + pmRule->Name(), { pmRule,injectIntoRule }); + } + } + } + + bool RewriteRules_HasMultiplePaths( + const VisitorContext& vContext, + RuleSymbol* fromRule, + RuleSymbol* toRule, + Dictionary, vint>& pathCounter + ) + { + Pair key = { fromRule, toRule }; + vint index = pathCounter.Keys().IndexOf(key); + if (index != -1) return pathCounter.Values()[index]; + + RuleSymbol* currentRule = toRule; + bool hasMultiplePaths = false; + + while (currentRule != fromRule) + { + index = vContext.indirectStartPathToLastRules.Keys().IndexOf({ fromRule,currentRule }); + if (index == -1) goto FINISHED; + + auto&& lastRules = vContext.indirectStartPathToLastRules.GetByIndex(index); + if (lastRules.Count() > 1) { + hasMultiplePaths = true; + goto FINISHED; + } + currentRule = lastRules[0].ruleSymbol; + } + + FINISHED: + pathCounter.Add(key, hasMultiplePaths); + return hasMultiplePaths; + } + +/*********************************************************************** +RewriteRules (AST Creation) +***********************************************************************/ + + Ptr CreateLriClause( + const WString& ruleName + ) + { + auto lriClause = MakePtr(); + + auto lriStartRule = MakePtr(); + lriClause->rule = lriStartRule; + lriStartRule->refType = GlrRefType::Id; + lriStartRule->literal.value = ruleName; + + return lriClause; + } + + Ptr CreateLriContinuation( + const VisitorContext& vContext, + const RewritingContext& rContext, + RuleSymbol* ruleSymbol, + const PMInjectRecord& pmInjectRecord, + const WString& flag, + Dictionary, vint>& pathCounter, + bool generateOptionalLri + ) + { + auto lriCont = MakePtr(); + + if (RewriteRules_HasMultiplePaths(vContext, ruleSymbol, pmInjectRecord.pmRule, pathCounter)) + { + lriCont->configuration = GlrLeftRecursionConfiguration::Multiple; + } + else + { + lriCont->configuration = GlrLeftRecursionConfiguration::Single; + } + + if (generateOptionalLri) + { + lriCont->type = GlrLeftRecursionInjectContinuationType::Optional; + } + else + { + lriCont->type = GlrLeftRecursionInjectContinuationType::Required; + } + + auto lriContFlag = MakePtr(); + lriCont->flag = lriContFlag; + lriContFlag->flag.value = flag; + + auto lriContTarget = CreateLriClause(rContext.originRules[pmInjectRecord.injectIntoRule]->name.value); + lriCont->injectionTargets.Add(lriContTarget); + + return lriCont; + } + +/*********************************************************************** +RewriteRules (Unaffected) +***********************************************************************/ + + void RewriteRules_GenerateUnaffectedLRIClauses( + const VisitorContext& vContext, + const RewritingContext& rContext, + RuleSymbol* ruleSymbol, + GlrRule* lriRule, + Dictionary, vint>& pathCounter, + Group& pmClauses, + SortedList& knownOptionalStartRules + ) + { + for (auto [pmName, pmIndex] : indexed(pmClauses.Keys())) + { + // if originRule is not left recursive + // do not generate lriClause for the flag created for originRule, because there is no continuation + // if a pmName does generate some lriClause + // it becomes GLRICT::Optional + // otherwise + // it becomse GLRICT::Required + // generate useSyntax instead of lriClause + + Dictionary flags; + bool generateOptionalLri = false; + RewriteRules_CollectFlags( + vContext, + ruleSymbol, + pmClauses.GetByIndex(pmIndex), + flags, + generateOptionalLri + ); + + if (generateOptionalLri && flags.Count() == 0) + { + auto reuseClause = MakePtr(); + lriRule->clauses.Add(reuseClause); + + auto useSyntax = MakePtr(); + reuseClause->syntax = useSyntax; + useSyntax->name.value = pmName; + } + + for (auto [flag, pmInjectRecord] : flags) + { + auto lriClause = CreateLriClause(pmName); + lriRule->clauses.Add(lriClause); + + auto lriCont = CreateLriContinuation( + vContext, + rContext, + ruleSymbol, + pmInjectRecord, + flag, + pathCounter, + generateOptionalLri + ); + lriClause->continuation = lriCont; + + if (generateOptionalLri) + { + generateOptionalLri = false; + knownOptionalStartRules.Add(pmName); + } + } + } + } + +/*********************************************************************** +RewriteRules (Affected) +***********************************************************************/ + + void RewriteRules_GenerateAffectedLRIClausesSubgroup( + const VisitorContext& vContext, + const RewritingContext& rContext, + RuleSymbol* conflictedRuleSymbol, + RuleSymbol* prefixRuleSymbol, + SortedList& lripFlags, + GlrRule* lriRule, + Dictionary, vint>& pathCounter, + SortedList& knownOptionalStartRules + ) + { + Group pmClauses; + { + SortedList visited; + auto conflict = RewriteRules_CollectUnaffectedIndirectPmClauses( + vContext, + rContext, + prefixRuleSymbol, + prefixRuleSymbol, + visited, + pmClauses + ); + + if (conflict) + { + vContext.syntaxManager.AddError( + ParserErrorType::PrefixExtractionAffectedRuleReferencedAnother, + rContext.originRules[vContext.syntaxManager.Rules()[lriRule->name.value]]->codeRange, + lriRule->name.value, + conflictedRuleSymbol->Name(), + prefixRuleSymbol->Name() + ); + return; + } + } + + for (auto [pmName, pmIndex] : indexed(pmClauses.Keys())) + { + // if originRule is not left recursive + // left_recursion_inject directly into conflictedRuleSymbol + // if a pmName does generate some lriClause + // it becomes GLRICT::Optional + // otherwise + // it becomse GLRICT::Required + // generate useSyntax instead of lriClause + + auto&& pmClauseRecords = pmClauses.GetByIndex(pmIndex); + + Dictionary flags; + bool omittedSelf = false; + bool generateOptionalLri = false; + RewriteRules_CollectFlags( + vContext, + prefixRuleSymbol, + pmClauseRecords, + flags, + generateOptionalLri + ); + + if (generateOptionalLri) + { + // TODO: add test case for omittedSelf == true + for (auto lripFlag : lripFlags) + { + auto lriClause = CreateLriClause(pmName); + lriRule->clauses.Add(lriClause); + + auto lriCont = CreateLriContinuation( + vContext, + rContext, + conflictedRuleSymbol, + { prefixRuleSymbol,conflictedRuleSymbol }, + lripFlag, + pathCounter, + false + ); + lriClause->continuation = lriCont; + } + } + + if (knownOptionalStartRules.Contains(pmName)) + { + generateOptionalLri = false; + } + + for (auto [flag, pmInjectRecord] : flags) + { + { + // Since there is no switches in pmClauses + // So there is no switches in pmInjectRecord as well + // because flags comes from pmClauses, collected by RewriteRules_CollectFlags above + auto lriClause = CreateLriClause(pmName); + lriRule->clauses.Add(lriClause); + + auto lriCont = CreateLriContinuation( + vContext, + rContext, + prefixRuleSymbol, + { pmInjectRecord.pmRule,prefixRuleSymbol }, + flag, + pathCounter, + generateOptionalLri + ); + lriClause->continuation = lriCont; + + for (auto lripFlag : lripFlags) + { + auto lriCont2 = CreateLriContinuation( + vContext, + rContext, + conflictedRuleSymbol, + { prefixRuleSymbol,conflictedRuleSymbol }, + lripFlag, + pathCounter, + true + ); + + auto branchStart = lriCont->injectionTargets[0]; + if (branchStart->continuation) + { + // TODO: add test case + auto newBranchStart = CreateLriClause(branchStart->rule->literal.value); + newBranchStart->continuation = lriCont2; + lriCont->injectionTargets.Add(newBranchStart); + } + else + { + branchStart->continuation = lriCont2; + } + } + + if (generateOptionalLri) + { + generateOptionalLri = false; + } + } + } + } + } + + void RewriteRules_GenerateAffectedLRIClauses( + const VisitorContext& vContext, + const RewritingContext& rContext, + RuleSymbol* ruleSymbol, + GlrRule* lriRule, + Ptr conflict, + Dictionary, vint>& pathCounter, + SortedList& knownOptionalStartRules + ) + { + for (auto [conflictedClause, conflictedIndex] : indexed(conflict->conflictedClauses.Keys())) + { + auto conflictedRuleSymbol = vContext.simpleUseClauseToReferencedRules[conflictedClause]; + auto&& prefixClauses = conflict->conflictedClauses.GetByIndex(conflictedIndex); + for (auto prefixClause : prefixClauses) + { + auto prefixRuleSymbol = vContext.simpleUseClauseToReferencedRules[prefixClause]; + SortedList lripFlags; + for (auto extracted : vContext.indirectStartPathToLastRules[{conflictedRuleSymbol, prefixRuleSymbol}]) + { + lripFlags.Add(L"LRIP_" + extracted.ruleSymbol->Name() + L"_" + prefixRuleSymbol->Name()); + } + RewriteRules_GenerateAffectedLRIClausesSubgroup( + vContext, + rContext, + conflictedRuleSymbol, + prefixRuleSymbol, + lripFlags, + lriRule, + pathCounter, + knownOptionalStartRules + ); + } + } + } + +/*********************************************************************** +RewriteRules +***********************************************************************/ + + void RewriteRules(const VisitorContext& vContext, const RewritingContext& rContext, SyntaxSymbolManager& syntaxManager) + { + Dictionary, vint> pathCounter; + for (auto [ruleSymbol, originRule] : rContext.originRules) + { + auto lriRule = rContext.lriRules[ruleSymbol]; + Ptr conflict; + Group pmClauses; + { + SortedList visited; + conflict = RewriteRules_CollectUnaffectedIndirectPmClauses( + vContext, + rContext, + ruleSymbol, + ruleSymbol, + visited, + pmClauses + ); + } + + SortedList knownOptionalStartRules; + RewriteRules_GenerateUnaffectedLRIClauses( + vContext, + rContext, + ruleSymbol, + lriRule, + pathCounter, + pmClauses, + knownOptionalStartRules + ); + + if (conflict) + { + RewriteRules_GenerateAffectedLRIClauses( + vContext, + rContext, + ruleSymbol, + lriRule, + conflict, + pathCounter, + knownOptionalStartRules + ); + } + } + } + +/*********************************************************************** +FixPrefixMergeClauses +***********************************************************************/ + + void FixPrefixMergeClauses(const VisitorContext& vContext, const RewritingContext& rContext, SyntaxSymbolManager& syntaxManager) + { + for (auto ruleSymbol : vContext.directPmClauses.Keys()) + { + auto originRule = rContext.originRules[ruleSymbol]; + + auto lrpClause = MakePtr(); + originRule->clauses.Insert(0, lrpClause); + + auto lrp = MakePtr(); + lrp->flag.value = L"LRI_" + ruleSymbol->Name(); + lrpClause->flags.Add(lrp); + syntaxManager.lrpFlags.Add(lrp->flag.value); + + for (vint i = 0; i < originRule->clauses.Count(); i++) + { + if (auto pmClause = originRule->clauses[i].Cast()) + { + auto reuseClause = MakePtr(); + originRule->clauses[i] = reuseClause; + + auto useSyntax = MakePtr(); + useSyntax->name.value = pmClause->rule->literal.value; + reuseClause->syntax = useSyntax; + } + } + } + } + +/*********************************************************************** +RenamePrefix +***********************************************************************/ + + class RenamePrefixVisitor + : public Object + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor + { + protected: + const RewritingContext& rContext; + RuleSymbol* ruleSymbol; + const SyntaxSymbolManager& syntaxManager; + + public: + RenamePrefixVisitor( + const RewritingContext& _rContext, + RuleSymbol* _ruleSymbol, + const SyntaxSymbolManager& _syntaxManager + ) + : rContext(_rContext) + , ruleSymbol(_ruleSymbol) + , syntaxManager(_syntaxManager) + { + } + + void FixClause(Ptr clause) + { + clause->Accept(this); + } + + protected: + + void FixStartRule(ParsingToken& ruleName) + { + auto startRuleSymbol = syntaxManager.Rules()[ruleName.value]; + vint index = rContext.extractedPrefixRules.Keys().IndexOf({ ruleSymbol,startRuleSymbol }); + if (index != -1) + { + auto epRule = rContext.extractedPrefixRules.Values()[index]; + ruleName.value = epRule->name.value; + return; + } + + index = rContext.originRules.Keys().IndexOf(startRuleSymbol); + if (index != -1) + { + auto originRule = rContext.originRules.Values()[index]; + ruleName.value = originRule->name.value; + } + } + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrRefSyntax* node) override + { + if (node->refType == GlrRefType::Id) + { + vint index = syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (index != -1) + { + FixStartRule(node->literal); + } + } + } + + void Visit(GlrUseSyntax* node) override + { + FixStartRule(node->name); + } + + void Visit(GlrLoopSyntax* node) override + { + } + + void Visit(GlrOptionalSyntax* node) override + { + } + + void Visit(GlrSequenceSyntax* node) override + { + node->first->Accept(this); + } + + void Visit(GlrAlternativeSyntax* node) override + { + } + + void Visit(GlrPushConditionSyntax* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrTestConditionSyntax* node) override + { + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrCreateClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrPartialClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrReuseClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + } + + void Visit(GlrPrefixMergeClause* node) override + { + } + }; + + void RenamePrefix(RewritingContext& rContext, const SyntaxSymbolManager& syntaxManager) + { + for (auto [ruleSymbol, originRule] : rContext.originRules) + { + RenamePrefixVisitor visitor(rContext, ruleSymbol, syntaxManager); + for (auto clause : originRule->clauses) + { + // !(a; b) should be moved from rule X_LRI_Original to left_recursion_inject clauses in rule X + if (auto reuseClause = clause.Cast()) + { + if (auto pushSyntax = reuseClause->syntax.Cast()) + { + reuseClause->syntax = pushSyntax->syntax; + } + } + visitor.FixClause(clause); + } + } + } + } + +/*********************************************************************** +RewriteSyntax +***********************************************************************/ + + Ptr RewriteSyntax_PrefixMerge(VisitorContext& context, SyntaxSymbolManager& syntaxManager, Ptr syntaxFile) + { + using namespace rewritesyntax_prefixmerge; + + // merge files to single syntax file + auto rewritten = MakePtr(); + CopyFrom(rewritten->rules, syntaxFile->rules); + + // find clauses that need to be converted to prefix_merge and fix VisitorContext + FillMissingPrefixMergeClauses(context, syntaxManager, rewritten); + + // find rules that need to be rewritten using left_recursion_inject + RewritingContext rewritingContext; + CollectRewritingTargets(context, rewritingContext, rewritten); + + // create rewritten rules, rename origin rules + CreateRewrittenRules(context, rewritingContext, rewritten); + + // fix rule types (fix syntaxManager.rules, clear RuleSymbol fields) + FixRuleTypes(context, rewritingContext, syntaxManager); + + // create clauses in rewritten X_Y_LRI_Prefix rules + RewriteExtractedPrefixRules(context, rewritingContext, syntaxManager); + + // create left_recursion_inject clauses in rewritten rules + RewriteRules(context, rewritingContext, syntaxManager); + + // convert prefix_merge to left_recursion_placeholder and reuse clauses (fix syntaxManager.lrpFlags) + FixPrefixMergeClauses(context, rewritingContext, syntaxManager); + + // rename rule references in origin rules + RenamePrefix(rewritingContext, syntaxManager); + + return rewritten; + } + } + } +} + +/*********************************************************************** +.\PARSERGEN\COMPILESYNTAX_REWRITESYNTAX_SWITCH.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + using namespace compile_syntax; + + namespace rewritesyntax_switch + { + struct GeneratedRule + { + GlrRule* ruleToExpand = nullptr; + Ptr> switchValues; + }; + + struct RewritingContext + { + Group> generatedRules; + Group> expandedCombinedRules; + Group> expandedFirstLevelRules; + + Dictionary> combinedRulesByName; + Group validCombinedClauses; + Group invalidCombinedClauses; + }; + + class EmptySyntax : public GlrSyntax + { + public: + void Accept(GlrSyntax::IVisitor* visitor) override + { + CHECK_FAIL(L"vl::glr::parsergen::rewritesyntax_switch::EmptySyntax::Accept(GlrSyntax::IVisitor*)#EmptySyntax should not be used!"); + } + }; + + Ptr> ApplySwitches(Ptr> currentValues, GlrPushConditionSyntax* node) + { + auto newValues = MakePtr>(); + if (currentValues) + { + CopyFrom(*newValues.Obj(), *currentValues.Obj()); + } + for (auto switchItem : node->switches) + { + newValues->Set(switchItem->name.value, switchItem->value == GlrSwitchValue::True); + } + return newValues; + } + +/*********************************************************************** +EvaluateConditionVisitor +**********************************************************************/ + + class EvaluateConditionVisitor + : public Object + , protected GlrCondition::IVisitor + { + // this visitor evaluates a condition with given switch values + protected: + Dictionary& workingSwitchValues; + + void Visit(GlrRefCondition* node) override + { + vint index = workingSwitchValues.Keys().IndexOf(node->name.value); + CHECK_ERROR( + index != -1, + L"vl::glr::parsergen::rewritesyntax_switch::EvaluateConditionVisitor::Visit(GlrRefCondition*)#" + L"Internal error: specified switch value is unevaluated" + ); + result = workingSwitchValues.Values()[index]; + } + + void Visit(GlrNotCondition* node) override + { + node->condition->Accept(this); + result = !result; + } + + void Visit(GlrAndCondition* node) override + { + node->first->Accept(this); + bool first = result; + node->second->Accept(this); + bool second = result; + result = first && second; + } + + void Visit(GlrOrCondition* node) override + { + node->first->Accept(this); + bool first = result; + node->second->Accept(this); + bool second = result; + result = first || second; + } + + public: + bool result = false; + + EvaluateConditionVisitor( + Dictionary& _workingSwitchValues + ) + : workingSwitchValues(_workingSwitchValues) + { + } + + bool Evaluate(GlrCondition* condition) + { + condition->Accept(this); + return result; + } + }; + +/*********************************************************************** +ExpandSwitchSyntaxVisitor +***********************************************************************/ + + class ExpandSwitchSyntaxVisitor : public traverse_visitor::RuleAstVisitor + { + // this visitor look into all rules which is affected by switch values + // and find all possible switch combination for these rules + protected: + struct Identification + { + RuleSymbol* workingRule = nullptr; + Ptr> workingSwitchValues = nullptr; + Ptr generatedRule; + }; + + VisitorContext& vContext; + VisitorSwitchContext& sContext; + RewritingContext& rContext; + SortedList scannedUnaffectedRules; + + Identification identification; + + protected: + void TraverseRule(const ParsingToken& ruleName) + { + // check if it is a rule + vint index = vContext.syntaxManager.Rules().Keys().IndexOf(ruleName.value); + if (index == -1) return; + + auto ruleSymbol = vContext.syntaxManager.Rules().Values()[index]; + auto rule = vContext.astRules[ruleSymbol]; + + // check if it is affected + index = sContext.ruleAffectedSwitches.Keys().IndexOf(ruleSymbol); + if (index == -1) + { + InspectIntoUnaffectedRule(rule); + } + else + { + InspectIntoAffectedRule( + rule, + sContext.ruleAffectedSwitches.GetByIndex(index), + identification.workingSwitchValues + ); + } + } + + void Traverse(GlrRefSyntax* node) override + { + if (node->refType == GlrRefType::Id) + { + TraverseRule(node->literal); + } + } + + void Traverse(GlrUseSyntax* node) override + { + TraverseRule(node->name); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_ERROR( + identification.workingSwitchValues, + L"vl::glr::parsergen::rewritesyntax_switch::ExpandSwitchSyntaxVisitor::Visit(GlrTestConditionSyntax*)#" + L"Internal error: switch values are unevaluated" + ); + EvaluateConditionVisitor visitor(*identification.workingSwitchValues.Obj()); + + for (auto branch : node->branches) + { + // inspect into the branch only when it satisfies the condition + if (!branch || visitor.Evaluate(branch->condition.Obj())) + { + InspectInto(branch->syntax.Obj()); + } + } + } + + void Visit(GlrPushConditionSyntax* node) override + { + // inspect into the syntax with updated values + auto oldValues = identification.workingSwitchValues; + auto newValues = ApplySwitches(oldValues, node); + + identification.workingSwitchValues = newValues; + traverse_visitor::RuleAstVisitor::Visit(node); + identification.workingSwitchValues = oldValues; + } + + public: + ExpandSwitchSyntaxVisitor( + VisitorContext& _vContext, + VisitorSwitchContext& _sContext, + RewritingContext& _rContext + ) + : vContext(_vContext) + , sContext(_sContext) + , rContext(_rContext) + { + } + + void InspectIntoAffectedRule( + GlrRule* rule, + const List& affectedSwitches, + Ptr> currentSwitchValues + ) + { + // an affected rule respond to switch values + // collect switch values that the rule cares + auto workingSwitchValues = MakePtr>(); + for (auto&& name : affectedSwitches) + { + vint index = -1; + if (currentSwitchValues) + { + index = currentSwitchValues->Keys().IndexOf(name); + } + + if (index == -1) + { + workingSwitchValues->Set(name, sContext.switches[name].key); + } + else + { + workingSwitchValues->Set(name, currentSwitchValues->Values()[index]); + } + } + + // skip if the rule with collected switch values has been inspected + auto workingRule = vContext.syntaxManager.Rules()[rule->name.value]; + vint index = rContext.generatedRules.Keys().IndexOf(workingRule); + if (index != -1) + { + for (auto generatedRule : rContext.generatedRules.GetByIndex(index)) + { + if (CompareEnumerable(*generatedRule->switchValues.Obj(), *workingSwitchValues.Obj()) == 0) + { + return; + } + } + } + + // make a record of the collected switch values + auto generatedRule = MakePtr(); + generatedRule->ruleToExpand = rule; + generatedRule->switchValues = workingSwitchValues; + rContext.generatedRules.Add(workingRule, generatedRule); + + // inspect into the rule with collected switch values + auto oldId = identification; + identification.workingRule = workingRule; + identification.workingSwitchValues = workingSwitchValues; + identification.generatedRule = generatedRule; + InspectInto(rule); + identification = oldId; + } + + void InspectIntoUnaffectedRule(GlrRule* rule) + { + // an unaffected rule does not respond to switch values + // skip if it has been inspected + auto workingRule = vContext.syntaxManager.Rules()[rule->name.value]; + if (scannedUnaffectedRules.Contains(workingRule)) return; + scannedUnaffectedRules.Add(workingRule); + + auto oldId = identification; + identification = {}; + identification.workingRule = workingRule; + InspectInto(rule); + identification = oldId; + } + }; + +/*********************************************************************** +ExpandClauseVisitor +***********************************************************************/ + + class ExpandClauseVisitor : public copy_visitor::RuleAstVisitor + { + // this visitor expand syntax with given switch values + // the expanded syntax does not include GlrPushConditionSyntax + // GlrTestConditionSyntax will be possibly converts to GlrAlternativeSyntax + // only with branches whose condition is evaluated to true under given switch values + // EmptySyntax will be generated for ?(true: ; | false: allOtherBranches) + // CancelBranch will be thrown for ?(false: allBranches) + protected: + struct CancelBranch {}; + + VisitorContext& vContext; + VisitorSwitchContext& sContext; + Ptr> workingSwitchValues; + + protected: + + void FixRuleName(ParsingToken& name) + { + // check if it is an affected rule + vint index = vContext.syntaxManager.Rules().Keys().IndexOf(name.value); + if (index == -1) return; + + auto ruleSymbol = vContext.syntaxManager.Rules().Values()[index]; + index = sContext.ruleAffectedSwitches.Keys().IndexOf(ruleSymbol); + if (index == -1) return; + + // for an affected rule + // the name referencing the rule need to be changed + // by appending switch values after it + SortedList switchNames; + CopyFrom(switchNames, sContext.ruleAffectedSwitches.GetByIndex(index)); + + name.value += L"_SWITCH"; + for (auto&& switchName : switchNames) + { + auto value = workingSwitchValues->Get(switchName); + name.value += (value ? L"_1" : L"_0") + switchName; + } + } + + void ExpandSyntaxToList(Ptr syntax, List>& items) + { + try + { + items.Add(CopyNode(syntax.Obj())); + } + catch (CancelBranch) + { + } + } + + void BuildAlt(bool optional, List>& items) + { + // build syntax [items...] + if (items.Count() == 0) + { + // if there is no branch + if (optional) + { + // optional of nothing is EmptySyntax + result = MakePtr(); + return; + } + else + { + // non-optional of nothing results in an exception + result = nullptr; + throw CancelBranch(); + } + } + else if (items.Count() == 1) + { + // if there is only on branch, just use it + result = items[0]; + } + else + { + // otherwise create alternative syntax for them + auto alt = MakePtr(); + alt->first = items[0]; + alt->second = items[1]; + for (vint i = 2; i < items.Count(); i++) + { + auto newAlt = MakePtr(); + newAlt->first = alt; + newAlt->second = items[i]; + alt = newAlt; + } + result = alt; + } + + if (optional) + { + // make it optional if necessary + auto opt = MakePtr(); + opt->syntax = result.Cast(); + result = opt; + } + } + + protected: + + void Visit(GlrRefSyntax* node) override + { + // only need to fix rule name for GlrRefSyntax + copy_visitor::RuleAstVisitor::Visit(node); + if (node->refType == GlrRefType::Id) + { + FixRuleName(result.Cast()->literal); + } + } + + void Visit(GlrUseSyntax* node) override + { + // only need to fix rule name for GlrUseSyntax + copy_visitor::RuleAstVisitor::Visit(node); + FixRuleName(result.Cast()->name); + } + + void Visit(GlrAlternativeSyntax* node) override + { + // alternative syntax converts to alternative syntax + List> items; + ExpandSyntaxToList(node->first, items); + ExpandSyntaxToList(node->second, items); + BuildAlt(false, items); + } + + void Visit(GlrTestConditionSyntax* node) override + { + // test condition syntax converts alternative syntax with optional if necessary + bool optional = false; + List> items; + EvaluateConditionVisitor visitor(*workingSwitchValues.Obj()); + for (auto branch : node->branches) + { + if (!branch || visitor.Evaluate(branch->condition.Obj())) + { + if (branch->syntax) + { + ExpandSyntaxToList(branch->syntax, items); + } + else + { + optional = true; + } + } + } + BuildAlt(optional, items); + } + + void Visit(GlrPushConditionSyntax* node) override + { + // push condition syntax will be replaced by the syntax inside it + auto oldValues = workingSwitchValues; + auto newValues = ApplySwitches(oldValues, node); + + workingSwitchValues = newValues; + node->syntax->Accept(this); + workingSwitchValues = oldValues; + } + + public: + ExpandClauseVisitor( + VisitorContext& _vContext, + VisitorSwitchContext& _sContext, + Ptr> _workingSwitchValues + ) + : vContext(_vContext) + , sContext(_sContext) + , workingSwitchValues(_workingSwitchValues) + { + } + + Ptr ExpandClause(GlrClause* node) + { + try + { + return CopyNode(node); + } + catch (CancelBranch) + { + return nullptr; + } + } + }; + +/*********************************************************************** +DeductEmptySyntaxVisitor +***********************************************************************/ + + class DeductEmptySyntaxVisitor : public copy_visitor::RuleAstVisitor + { + // this visitor rewrite a syntax by removing EmptySyntax + // but it is possible that the whole syntax is evaluated to EmptySyntax + // in this case it is rewritten to EmptySyntax + protected: + + Ptr CopyNodeSafe(Ptr node) + { + if (node.Cast()) + { + return node; + } + else + { + return CopyNode(node.Obj()); + } + } + protected: + void Visit(GlrRefSyntax* node) override + { + result = node; + } + + void Visit(GlrUseSyntax* node) override + { + result = node; + } + + void Visit(GlrLoopSyntax* node) override + { + node->syntax = CopyNodeSafe(node->syntax); + node->delimiter = CopyNodeSafe(node->delimiter); + result = node; + + if (node->syntax.Cast()) + { + // if the loop body is empty, it is empty + result = node->syntax; + } + else if (node->delimiter.Cast()) + { + node->delimiter = nullptr; + } + } + + void Visit(GlrOptionalSyntax* node) override + { + node->syntax = CopyNodeSafe(node->syntax); + result = node; + + if (node->syntax.Cast()) + { + // if the optional body is empty, it is empty + result = node->syntax; + } + } + + void Visit(GlrSequenceSyntax* node) override + { + node->first = CopyNodeSafe(node->first); + node->second = CopyNodeSafe(node->second); + result = node; + + bool first = !node->first.Cast(); + bool second = !node->second.Cast(); + if (first && second) + { + // if both are not empty, nothing need to worry + } + else if (first) + { + // if only first is not empty, it is second + result = node->first; + } + else if (second) + { + // if only second is empty, it is second + result = node->second; + } + else + { + // if both are empty, it is empty + result = node->first; + } + } + + void Visit(GlrAlternativeSyntax* node) override + { + node->first = CopyNodeSafe(node->first); + node->second = CopyNodeSafe(node->second); + result = node; + + bool first = !node->first.Cast(); + bool second = !node->second.Cast(); + if (first && second) + { + // if both are not empty, nothing need to worry + } + else if (first) + { + // if only first is not empty, it is [first] + auto opt = MakePtr(); + opt->syntax = node->first; + result = opt; + } + else if (second) + { + // if only second is not empty, it is [second] + auto opt = MakePtr(); + opt->syntax = node->second; + result = opt; + } + else + { + // if both are empty, it is empty + result = node->first; + } + } + + void Visit(GlrPushConditionSyntax* node) override + { + CHECK_FAIL(L"vl::glr::parsergen::rewritesyntax_switch::DeductEmptySyntaxVisitor::Visit(GlrPushConditionSyntax*)#This should have been removed."); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"vl::glr::parsergen::rewritesyntax_switch::DeductEmptySyntaxVisitor::Visit(GlrTestConditionSyntax*)#This should have been removed."); + } + }; + +/*********************************************************************** +DeductAndVerifyClauseVisitor +**********************************************************************/ + + class DeductAndVerifyClauseVisitor + : public Object + , protected GlrClause::IVisitor + { + // this visitor remove EmptySyntax in clauses + // if it is not possible, it returns false + protected: + void Verify(Ptr& syntax) + { + auto deducted = DeductEmptySyntaxVisitor().CopyNode(syntax.Obj()); + if (deducted.Cast()) + { + result = false; + } + else + { + syntax = deducted; + result = true; + } + } + + void Visit(GlrCreateClause* node) override + { + Verify(node->syntax); + } + + void Visit(GlrPartialClause* node) override + { + Verify(node->syntax); + } + + void Visit(GlrReuseClause* node) override + { + Verify(node->syntax); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + result = true; + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + result = true; + } + + void Visit(GlrPrefixMergeClause* node) override + { + result = true; + } + + public: + bool result = false; + + bool Evaluate(GlrClause* node) + { + node->Accept(this); + return result; + } + }; + +/*********************************************************************** +RewriteSyntax +***********************************************************************/ + + WString CreateRuleName(Ptr rule, const wchar_t* tag, Dictionary& switchValues) + { + auto ruleName = rule->name.value + tag; + for (auto [name, value] : switchValues) + { + ruleName += (value ? L"_1" : L"_0") + name; + } + + return ruleName; + } + + Ptr CreateRule(RuleSymbol* ruleSymbol, Ptr rule, const WString& name) + { + auto newRule = MakePtr(); + newRule->codeRange = rule->codeRange; + newRule->name = rule->name; + newRule->name.value = name; + newRule->type = rule->type; + newRule->type.value = ruleSymbol->ruleType->Name(); + return newRule; + } + + Ptr CreateRule(RuleSymbol* ruleSymbol, Ptr rule, const wchar_t* tag, Dictionary& switchValues) + { + return CreateRule(ruleSymbol, rule, CreateRuleName(rule, tag, switchValues)); + } + + void AddRules(RuleSymbol* ruleSymbol, Ptr rewritten, Group>& expandedRules) + { + vint index = expandedRules.Keys().IndexOf(ruleSymbol); + if (index != -1) + { + for (auto expandedRule : From(expandedRules.GetByIndex(index)) + .OrderBy([](auto a, auto b) { return WString::Compare(a->name.value, b->name.value); }) + ) + { + rewritten->rules.Add(expandedRule); + } + } + } + + void CreateRuleSymbols(SyntaxSymbolManager& syntaxManager, Group>& expandedRules) + { + for (auto ruleSymbol : From(expandedRules.Keys()) + .OrderBy([](auto a, auto b) { return WString::Compare(a->Name(), b->Name()); }) + ) + { + for (auto rule : expandedRules[ruleSymbol]) + { + auto newRuleSymbol = syntaxManager.CreateRule( + rule->name.value, + rule->name.codeRange + ); + } + } + } + } + + Ptr RewriteSyntax_Switch(VisitorContext& context, VisitorSwitchContext& sContext, SyntaxSymbolManager& syntaxManager, Ptr syntaxFile) + { + using namespace rewritesyntax_switch; + + if (sContext.ruleAffectedSwitches.Count() == syntaxManager.Rules().Count()) + { + syntaxManager.AddError( + ParserErrorType::NoSwitchUnaffectedRule, + {} + ); + return nullptr; + } + + RewritingContext rewritingContext; + { + // find out all expansion of rules affected by switch values + ExpandSwitchSyntaxVisitor visitor(context, sContext, rewritingContext); + for (auto rule : syntaxFile->rules) + { + auto ruleSymbol = syntaxManager.Rules()[rule->name.value]; + if (!sContext.ruleAffectedSwitches.Keys().Contains(ruleSymbol)) + { + visitor.InspectIntoUnaffectedRule(rule.Obj()); + } + } + } + + auto rewritten = MakePtr(); + for (auto rule : syntaxFile->rules) + { + auto ruleSymbol = syntaxManager.Rules()[rule->name.value]; + vint index = rewritingContext.generatedRules.Keys().IndexOf(ruleSymbol); + if (index == -1) + { + // if a rule is unaffected + // just remove GlrPushConditionSyntax in clauses + // rules it references could be renamed + auto newRule = MakePtr(); + newRule->codeRange = rule->codeRange; + newRule->name = rule->name; + newRule->type = rule->type; + + ExpandClauseVisitor visitor(context, sContext, nullptr); + for (auto clause : rule->clauses) + { + if (auto newClause = visitor.ExpandClause(clause.Obj())) + { + newRule->clauses.Add(newClause); + } + } + + if (newRule->clauses.Count() == 0) + { + // a rewritten rule must have at least on clause + syntaxManager.AddError( + ParserErrorType::SwitchUnaffectedRuleExpandedToNoClause, + rule->codeRange, + rule->name.value + ); + } + else + { + rewritten->rules.Add(newRule); + } + } + else + { + // if a rule is affected + // all instances of possible switch values will be converted to a new rule + // such rule has switch values encoded in its name + for(auto generatedRule : rewritingContext.generatedRules.GetByIndex(index)) + { + SortedList referencedCombinedRules; + auto newRule = CreateRule(ruleSymbol, rule, L"_SWITCH", *generatedRule->switchValues.Obj()); + + // rewrite all clauses with given switch values + for (auto clause : rule->clauses) + { + auto switchValues = generatedRule->switchValues; + + // if this clause is affected by some switches + // prepare switch values for combined rules + vint clauseIndex = sContext.clauseAffectedSwitches.Keys().IndexOf(clause.Obj()); + if (clauseIndex == -1) + { + switchValues = MakePtr>(); + } + else + { + auto&& switches = sContext.clauseAffectedSwitches.GetByIndex(clauseIndex); + if (switches.Count() != generatedRule->switchValues->Count()) + { + switchValues = MakePtr>(); + for (auto&& switchName : switches) + { + switchValues->Add(switchName, generatedRule->switchValues->Get(switchName)); + } + } + } + + if (switchValues == generatedRule->switchValues) + { + // if this clause is affected by all switches + // expand this clause into the new rule + ExpandClauseVisitor visitor(context, sContext, switchValues); + if (auto newClause = visitor.ExpandClause(clause.Obj())) + { + if (DeductAndVerifyClauseVisitor().Evaluate(newClause.Obj())) + { + // only add the rewritten clause to the generated rule if it is valid + // a clause could be invalid if all branches evaluated to nothing due to GlrTestConditionSyntax + newRule->clauses.Add(newClause); + } + } + } + else + { + // if this clause is affected by some switches + // expand this clause into a combined rule + bool validClause = false; + auto combinedRuleName = CreateRuleName(rule, L"_SWITCH_COMBINED", *switchValues.Obj()); + if (rewritingContext.validCombinedClauses.Contains(combinedRuleName, clause.Obj())) + { + validClause = true; + } + else if (!rewritingContext.invalidCombinedClauses.Contains(combinedRuleName, clause.Obj())) + { + ExpandClauseVisitor visitor(context, sContext, switchValues); + if (auto newClause = visitor.ExpandClause(clause.Obj())) + { + if (DeductAndVerifyClauseVisitor().Evaluate(newClause.Obj())) + { + // only add the rewritten clause to the generated rule if it is valid + // a clause could be invalid if all branches evaluated to nothing due to GlrTestConditionSyntax + Ptr combinedRule; + vint ruleIndex = rewritingContext.combinedRulesByName.Keys().IndexOf(combinedRuleName); + if (ruleIndex == -1) + { + combinedRule = CreateRule(ruleSymbol, rule, combinedRuleName); + rewritingContext.expandedCombinedRules.Add(ruleSymbol, combinedRule); + rewritingContext.combinedRulesByName.Add(combinedRuleName, combinedRule); + } + else + { + combinedRule = rewritingContext.combinedRulesByName.Values()[ruleIndex]; + } + combinedRule->clauses.Add(newClause); + validClause = true; + } + } + + if (validClause) + { + rewritingContext.validCombinedClauses.Add(combinedRuleName, clause.Obj()); + } + else + { + rewritingContext.invalidCombinedClauses.Add(combinedRuleName, clause.Obj()); + } + } + + // this clause might be invalid in the current context + if (validClause) + { + if (!referencedCombinedRules.Contains(combinedRuleName)) + { + referencedCombinedRules.Add(combinedRuleName); + } + } + } + } + + for (auto ruleName : referencedCombinedRules) + { + // add all used combined rules in order of name + if (ruleSymbol->isPartial) + { + auto refSyntax = MakePtr(); + refSyntax->literal = rule->name; + refSyntax->literal.value = ruleName; + refSyntax->refType = GlrRefType::Id; + + auto partialClause = MakePtr(); + partialClause->type = rule->name; + partialClause->type.value = ruleSymbol->ruleType->Name(); + partialClause->syntax = refSyntax; + + newRule->clauses.Add(partialClause); + } + else + { + auto useSyntax = MakePtr(); + useSyntax->name = rule->name; + useSyntax->name.value = ruleName; + + auto reuseClause = MakePtr(); + reuseClause->syntax = useSyntax; + + newRule->clauses.Add(reuseClause); + } + } + + if (newRule->clauses.Count() == 0) + { + // a rewritten rule must have at least on clause + syntaxManager.AddError( + ParserErrorType::SwitchAffectedRuleExpandedToNoClause, + rule->codeRange, + rule->name.value, + newRule->name.value + ); + } + else + { + rewritingContext.expandedFirstLevelRules.Add(ruleSymbol, newRule); + } + } + + // add rules + AddRules(ruleSymbol, rewritten, rewritingContext.expandedCombinedRules); + AddRules(ruleSymbol, rewritten, rewritingContext.expandedFirstLevelRules); + } + } + + // add symbols for generated rules + CreateRuleSymbols(syntaxManager, rewritingContext.expandedCombinedRules); + CreateRuleSymbols(syntaxManager, rewritingContext.expandedFirstLevelRules); + + // remove symbols for rule affected by switch values + // because they are expanded to other rules + for (auto ruleSymbol : rewritingContext.generatedRules.Keys()) + { + syntaxManager.RemoveRule(ruleSymbol->Name()); + } + + return rewritten; + } + } + } +} + +/*********************************************************************** +.\PARSERGEN\COMPILESYNTAX_VALIDATESTRUCTURE.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + using namespace compile_syntax; + +/*********************************************************************** +ValidateStructureCountingVisitor +***********************************************************************/ + + class ValidateStructureCountingVisitor + : public Object + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor + { + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + GlrClause* clause = nullptr; + GlrLeftRecursionPlaceholderClause* lrpClause = nullptr; + + vint optionalCounter = 0; + vint loopCounter = 0; + bool lastSyntaxPiece = true; + bool prioritySyntaxOccurred = false; + + vint syntaxMinLength = 0; + vint syntaxMinUseRuleCount = 0; + vint syntaxMaxUseRuleCount = 0; + + public: + ValidateStructureCountingVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + { + } + + void ValidateClause(Ptr clause) + { + optionalCounter = 0; + loopCounter = 0; + lastSyntaxPiece = true; + prioritySyntaxOccurred = false; + clause->Accept(this); + } + + protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrRefSyntax* node) override + { + syntaxMinLength = 1; + syntaxMinUseRuleCount = 0; + syntaxMaxUseRuleCount = 0; + + if (loopCounter > 0) + { + auto clauseType = context.clauseTypes[clause]; + + if (node->field) + { + auto prop = FindPropSymbol(clauseType, node->field.value); + if (prop->propType != AstPropType::Array) + { + context.syntaxManager.AddError( + ParserErrorType::NonArrayFieldAssignedInLoop, + node->codeRange, + ruleSymbol->Name(), + clauseType->Name(), + prop->Name() + ); + } + } + + if (node->refType == GlrRefType::Id) + { + vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (ruleIndex != -1) + { + auto fieldRule = context.syntaxManager.Rules().Values()[ruleIndex]; + if (fieldRule->isPartial && fieldRule->assignedNonArrayField) + { + context.syntaxManager.AddError( + ParserErrorType::NonLoopablePartialRuleUsedInLoop, + node->codeRange, + ruleSymbol->Name(), + clauseType->Name(), + fieldRule->Name() + ); + } + } + } + } + } + + void Visit(GlrUseSyntax* node) override + { + syntaxMinLength = 1; + syntaxMinUseRuleCount = 1; + syntaxMaxUseRuleCount = 1; + + if (loopCounter > 0) + { + context.syntaxManager.AddError( + ParserErrorType::UseRuleUsedInLoopBody, + node->codeRange, + ruleSymbol->Name(), + node->name.value + ); + } + if (optionalCounter > 0) + { + context.syntaxManager.AddError( + ParserErrorType::UseRuleUsedInOptionalBody, + node->codeRange, + ruleSymbol->Name(), + node->name.value + ); + } + } + + void Visit(GlrLoopSyntax* node) override + { + vint bodyMinLength = 0, bodyMaxUseRuleCount = 0; + vint delimiterMinLength = 0, delimiterMaxUseRuleCount = 0; + + loopCounter++; + + node->syntax->Accept(this); + bodyMinLength = syntaxMinLength; + bodyMaxUseRuleCount = syntaxMaxUseRuleCount; + + if (node->delimiter) + { + node->delimiter->Accept(this); + delimiterMinLength = syntaxMinLength; + delimiterMaxUseRuleCount = syntaxMaxUseRuleCount; + } + + if (delimiterMinLength + bodyMinLength == 0) + { + context.syntaxManager.AddError( + ParserErrorType::LoopBodyCouldExpandToEmptySequence, + node->codeRange, + ruleSymbol->Name() + ); + } + syntaxMinLength = 0; + syntaxMinUseRuleCount = 0; + syntaxMaxUseRuleCount = bodyMaxUseRuleCount * 2 + delimiterMaxUseRuleCount * 2; + + loopCounter--; + } + + void Visit(GlrOptionalSyntax* node) override + { + if (node->priority != GlrOptionalPriority::Equal) + { + if (prioritySyntaxOccurred) + { + context.syntaxManager.AddError( + ParserErrorType::MultiplePrioritySyntaxInAClause, + node->codeRange, + ruleSymbol->Name() + ); + } + else + { + prioritySyntaxOccurred = true; + } + } + optionalCounter++; + + node->syntax->Accept(this); + + if (syntaxMinLength == 0) + { + context.syntaxManager.AddError( + ParserErrorType::OptionalBodyCouldExpandToEmptySequence, + node->codeRange, + ruleSymbol->Name() + ); + } + + if (node->priority == GlrOptionalPriority::PreferSkip && lastSyntaxPiece) + { + context.syntaxManager.AddError( + ParserErrorType::NegativeOptionalEndsAClause, + node->codeRange, + ruleSymbol->Name() + ); + } + syntaxMinLength = 0; + syntaxMinUseRuleCount = 0; + + optionalCounter--; + } + + void Visit(GlrSequenceSyntax* node) override + { + node->second->Accept(this); + vint secondMinLength = syntaxMinLength; + vint secondMinUseRuleCount = syntaxMinUseRuleCount; + vint secondMaxUseRuleCount = syntaxMaxUseRuleCount; + + bool last = lastSyntaxPiece; + lastSyntaxPiece = last && secondMinLength == 0; + node->first->Accept(this); + vint firstMinLength = syntaxMinLength; + vint firstMinUseRuleCount = syntaxMinUseRuleCount; + vint firstMaxUseRuleCount = syntaxMaxUseRuleCount; + lastSyntaxPiece = last; + + syntaxMinLength = firstMinLength + secondMinLength; + syntaxMinUseRuleCount = firstMinUseRuleCount + secondMinUseRuleCount; + syntaxMaxUseRuleCount = firstMaxUseRuleCount + secondMaxUseRuleCount; + } + + void Visit(GlrAlternativeSyntax* node) override + { + node->first->Accept(this); + vint firstMinLength = syntaxMinLength; + vint firstMinUseRuleCount = syntaxMinUseRuleCount; + vint firstMaxUseRuleCount = syntaxMaxUseRuleCount; + + node->second->Accept(this); + vint secondMinLength = syntaxMinLength; + vint secondMinUseRuleCount = syntaxMinUseRuleCount; + vint secondMaxUseRuleCount = syntaxMaxUseRuleCount; + + syntaxMinLength = firstMinLength < secondMinLength ? firstMinLength : secondMinLength; + syntaxMinUseRuleCount = firstMinUseRuleCount < secondMinUseRuleCount ? firstMinUseRuleCount : secondMinUseRuleCount; + syntaxMaxUseRuleCount = firstMaxUseRuleCount > secondMaxUseRuleCount ? firstMaxUseRuleCount : secondMaxUseRuleCount; + } + + void Visit(GlrPushConditionSyntax* node) override + { + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void CheckAfterClause(GlrClause* node, bool reuseClause) + { + if (syntaxMinLength == 0) + { + context.syntaxManager.AddError( + ParserErrorType::ClauseCouldExpandToEmptySequence, + node->codeRange, + ruleSymbol->Name() + ); + } + if (reuseClause) + { + if (syntaxMinUseRuleCount == 0) + { + context.syntaxManager.AddError( + ParserErrorType::ClauseNotCreateObject, + node->codeRange, + ruleSymbol->Name() + ); + } + if (syntaxMaxUseRuleCount > 1) + { + context.syntaxManager.AddError( + ParserErrorType::ClauseTooManyUseRule, + node->codeRange, + ruleSymbol->Name() + ); + } + } + } + + void Visit(GlrCreateClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node, false); + } + + void Visit(GlrPartialClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node, false); + } + + void Visit(GlrReuseClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node, true); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + if (!lrpClause) + { + lrpClause = node; + } + else + { + context.syntaxManager.AddError( + ParserErrorType::TooManyLeftRecursionPlaceholderClauses, + node->codeRange, + ruleSymbol->Name() + ); + } + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + } + + void Visit(GlrPrefixMergeClause* node) override + { + } + }; + +/*********************************************************************** +ValidateStructureRelationshipVisitor +***********************************************************************/ + + class ValidateStructureRelationshipVisitor + : public Object + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor + { + struct Link + { + GlrRefSyntax* ref = nullptr; + Link* prev = nullptr; + Link* next = nullptr; + + Link(GlrRefSyntax* _ref) : ref(_ref) {} + }; + + struct LinkPair + { + Link* first = nullptr; + Link* last = nullptr; + + void EnsureComplete() + { + CHECK_ERROR(!first || !first->prev, L"Illegal Operation!"); + CHECK_ERROR(!last || !last->next, L"Illegal Operation!"); + } + + LinkPair Append(Link* link) + { + EnsureComplete(); + if (first) + { + link->prev = last; + last->next = link; + return { first,link }; + } + else + { + return { link,link }; + } + } + + LinkPair Connect(LinkPair pair) + { + EnsureComplete(); + pair.EnsureComplete(); + if (!first && !pair.first) + { + return {}; + } + else if (!first) + { + return pair; + } + else if (!pair.first) + { + return *this; + } + else + { + last->next = pair.first; + pair.first->prev = last; + return { first,pair.last }; + } + } + + void CutAfter(Link* link, LinkPair& l1, LinkPair& l2) + { + EnsureComplete(); + if (!first) + { + CHECK_ERROR(!link, L"Illegal Operation!"); + l1 = {}; + l2 = {}; + } + else if (!link) + { + l2 = *this; + l1 = {}; + } + else if (link == last) + { + l1 = *this; + l2 = {}; + } + else + { + auto a = first; + auto b = last; + l1 = { a,link }; + l2 = { link->next,b }; + l1.last->next = nullptr; + l2.first->prev = nullptr; + } + } + + operator bool() const + { + return last; + } + }; + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + GlrClause* clause = nullptr; + + LinkPair existingFields; + LinkPair existingPartials; + public: + ValidateStructureRelationshipVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + { + } + + ~ValidateStructureRelationshipVisitor() + { + { + auto c = existingFields.first; + while (c) + { + auto n = c->next; + delete c; + c = n; + } + } + { + auto c = existingPartials.first; + while (c) + { + auto n = c->next; + delete c; + c = n; + } + } + } + + void ValidateClause(Ptr clause) + { + clause->Accept(this); + } + + protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrRefSyntax* node) override + { + if (node->field) + { + existingFields = existingFields.Append(new Link(node)); + } + + if (node->refType == GlrRefType::Id) + { + vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (ruleIndex != -1) + { + auto fieldRule = context.syntaxManager.Rules().Values()[ruleIndex]; + if (fieldRule->isPartial) + { + existingPartials = existingPartials.Append(new Link(node)); + } + } + } + } + + void Visit(GlrUseSyntax* node) override + { + } + + void Visit(GlrLoopSyntax* node) override + { + node->syntax->Accept(this); + if (node->delimiter) + { + node->delimiter->Accept(this); + } + } + + void Visit(GlrOptionalSyntax* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrSequenceSyntax* node) override + { + node->first->Accept(this); + node->second->Accept(this); + } + + void Visit(GlrAlternativeSyntax* node) override + { + auto currentFields = existingFields; + auto currentPartials = existingPartials; + + node->first->Accept(this); + + LinkPair firstFields, firstPartials; + existingFields.CutAfter(currentFields.last, existingFields, firstFields); + existingPartials.CutAfter(currentPartials.last, existingPartials, firstPartials); + + node->second->Accept(this); + + existingFields = existingFields.Connect(firstFields); + existingPartials = existingPartials.Connect(firstPartials); + } + + void Visit(GlrPushConditionSyntax* node) override + { + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void CheckAfterClause(GlrClause* node) + { + Dictionary counters; + auto c = existingFields.first; + while (c) + { + auto fieldName = c->ref->field.value; + vint index = counters.Keys().IndexOf(fieldName); + if (index == -1) + { + counters.Add(fieldName, 1); + } + else + { + counters.Set(fieldName, counters.Values()[index] + 1); + } + c = c->next; + } + + auto clauseType = context.clauseTypes[clause]; + for (auto [key, value] : counters) + { + auto prop = FindPropSymbol(clauseType, key); + if (prop->propType != AstPropType::Array && value > 1) + { + context.syntaxManager.AddError( + ParserErrorType::FieldAssignedMoreThanOnce, + node->codeRange, + ruleSymbol->Name(), + clauseType->Name(), + prop->Name() + ); + } + } + } + + void Visit(GlrCreateClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node); + } + + void Visit(GlrPartialClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node); + } + + void Visit(GlrReuseClause* node) override + { + clause = node; + node->syntax->Accept(this); + CheckAfterClause(node); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + } + + void Visit(GlrPrefixMergeClause* node) override + { + } + }; + +/*********************************************************************** +ValidateStructurePrefixMergeRuleVisitor +***********************************************************************/ + + class ValidateStructurePrefixMergeRuleVisitor + : public Object + , protected virtual GlrSyntax::IVisitor + , protected virtual GlrClause::IVisitor + { + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + + public: + ValidateStructurePrefixMergeRuleVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + { + } + + void ValidateClause(Ptr clause) + { + clause->Accept(this); + } + + protected: + + void NotBeginWithARule(ParsingAstBase* node) + { + // TODO: Should accept and generate !prefix_merge equivalent effect for this clause automatically + context.syntaxManager.AddError( + ParserErrorType::RuleMixedPrefixMergeWithClauseNotSyntacticallyBeginWithARule, + node->codeRange, + ruleSymbol->Name() + ); + } + + void VerifyStartRule(ParsingAstBase* node, RuleSymbol* startRule) + { + if (ruleSymbol != startRule && !context.indirectPmClauses.Keys().Contains(startRule)) + { + // TODO: Should accept and generate !prefix_merge equivalent effect for this clause automatically + // When this is not a left-recursive clause + context.syntaxManager.AddError( + ParserErrorType::RuleMixedPrefixMergeWithClauseNotBeginWithIndirectPrefixMerge, + node->codeRange, + ruleSymbol->Name(), + startRule->Name() + ); + } + } + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrRefSyntax* node) override + { + if (node->refType != GlrRefType::Id) + { + NotBeginWithARule(node); + } + else + { + vint index = context.syntaxManager.Rules().Keys().IndexOf(node->literal.value); + if (index == -1) + { + NotBeginWithARule(node); + } + else + { + VerifyStartRule(node, context.syntaxManager.Rules().Values()[index]); + } + } + } + + void Visit(GlrUseSyntax* node) override + { + VerifyStartRule(node, context.syntaxManager.Rules()[node->name.value]); + } + + void Visit(GlrLoopSyntax* node) override + { + NotBeginWithARule(node); + } + + void Visit(GlrOptionalSyntax* node) override + { + NotBeginWithARule(node); + } + + void Visit(GlrSequenceSyntax* node) override + { + node->first->Accept(this); + } + + void Visit(GlrAlternativeSyntax* node) override + { + NotBeginWithARule(node); + } + + void Visit(GlrPushConditionSyntax* node) override + { + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrCreateClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrPartialClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrReuseClause* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + NotBeginWithARule(node); + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + NotBeginWithARule(node); + } + + void Visit(GlrPrefixMergeClause* node) override + { + } + }; + +/*********************************************************************** +ValidateStructureIndirectPrefixMergeRuleVisitor +***********************************************************************/ + + class ValidateStructureIndirectPrefixMergeRuleVisitor + : public Object + , protected virtual GlrClause::IVisitor + { + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + RuleSymbol* pmRuleSymbol; + + public: + ValidateStructureIndirectPrefixMergeRuleVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol, + RuleSymbol* _pmRuleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + , pmRuleSymbol(_pmRuleSymbol) + { + } + + void ValidateClause(Ptr clause) + { + clause->Accept(this); + } + + protected: + + void NotSimpleUsingRule(GlrClause* node) + { + if (context.leftRecursiveClauses.Contains(ruleSymbol, node)) return; + + { + vint index = context.clauseToStartRules.Keys().IndexOf(node); + if (index == -1) goto SUCCEEDED_CONDITION; + for (auto ruleSymbol : context.clauseToStartRules.GetByIndex(index)) + { + if (context.indirectPmClauses.Keys().IndexOf(ruleSymbol) != -1) + { + goto FAILED_CONDITION; + } + } + + SUCCEEDED_CONDITION: + context.clauseToConvertedToPrefixMerge.Add(node); + return; + FAILED_CONDITION:; + } + + context.syntaxManager.AddError( + ParserErrorType::RuleIndirectlyBeginsWithPrefixMergeMixedNonSimpleUseClause, + node->codeRange, + ruleSymbol->Name(), + pmRuleSymbol->Name() + ); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// void Visit(GlrCreateClause* node) override { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node, false); + NotSimpleUsingRule(node); } void Visit(GlrPartialClause* node) override { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node, false); + NotSimpleUsingRule(node); } void Visit(GlrReuseClause* node) override { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node, true); + if (!dynamic_cast(node->syntax.Obj())) + { + NotSimpleUsingRule(node); + } + else if (node->assignments.Count() > 0) + { + NotSimpleUsingRule(node); + } + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + } + + void Visit(GlrPrefixMergeClause* node) override + { } }; /*********************************************************************** -ValidateStructureRelationshipVisitor +ValidateStructure ***********************************************************************/ - class ValidateStructureRelationshipVisitor - : public Object - , protected virtual GlrSyntax::IVisitor - , protected virtual GlrClause::IVisitor + void ValidateStructure(VisitorContext& context, Ptr syntaxFile) { - struct Link - { - GlrRefSyntax* ref = nullptr; - Link* prev = nullptr; - Link* next = nullptr; - - Link(GlrRefSyntax* _ref) : ref(_ref) {} - }; - - struct LinkPair + for (auto rule : syntaxFile->rules) { - Link* first = nullptr; - Link* last = nullptr; - - void EnsureComplete() + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + ValidateStructureCountingVisitor visitor1(context, ruleSymbol); + for (auto clause : rule->clauses) { - CHECK_ERROR(!first || !first->prev, L"Illegal Operation!"); - CHECK_ERROR(!last || !last->next, L"Illegal Operation!"); + ValidateStructureRelationshipVisitor visitor2(context, ruleSymbol); + visitor1.ValidateClause(clause); + visitor2.ValidateClause(clause); } - LinkPair Append(Link* link) + if (context.directPmClauses.Keys().Contains(ruleSymbol)) { - EnsureComplete(); - if (first) - { - link->prev = last; - last->next = link; - return { first,link }; - } - else + ValidateStructurePrefixMergeRuleVisitor visitor3(context, ruleSymbol); + for (auto clause : rule->clauses) { - return { link,link }; + visitor3.ValidateClause(clause); } } - LinkPair Connect(LinkPair pair) + vint indexPm = context.indirectPmClauses.Keys().IndexOf(ruleSymbol); + vint indexLrp = context.indirectLrpClauses.Keys().IndexOf(ruleSymbol); + vint indexLri = context.indirectLriClauses.Keys().IndexOf(ruleSymbol); + + if (indexPm != -1) { - EnsureComplete(); - pair.EnsureComplete(); - if (!first && !pair.first) - { - return {}; - } - else if (!first) + auto rulePm = context.clauseToRules[context.indirectPmClauses.GetByIndex(indexPm)[0]]; + if (indexLrp != -1) { - return pair; + auto ruleLrp = context.clauseToRules[context.indirectLrpClauses.GetByIndex(indexLrp)[0]]; + context.syntaxManager.AddError( + ParserErrorType::RuleIndirectlyBeginsWithPrefixMergeMixedLeftRecursionMarkers, + rule->name.codeRange, + ruleSymbol->Name(), + rulePm->Name(), + ruleLrp->Name() + ); } - else if (!pair.first) + if (indexLri != -1) { - return *this; + auto ruleLri = context.clauseToRules[context.indirectLriClauses.GetByIndex(indexLri)[0]]; + context.syntaxManager.AddError( + ParserErrorType::RuleIndirectlyBeginsWithPrefixMergeMixedLeftRecursionMarkers, + rule->name.codeRange, + ruleSymbol->Name(), + rulePm->Name(), + ruleLri->Name() + ); } - else + + if (!context.directPmClauses.Keys().Contains(ruleSymbol)) { - last->next = pair.first; - pair.first->prev = last; - return { first,pair.last }; + ValidateStructureIndirectPrefixMergeRuleVisitor visitor3(context, ruleSymbol, rulePm); + for (auto clause : rule->clauses) + { + visitor3.ValidateClause(clause); + } } } + } + } + } + } +} - void CutAfter(Link* link, LinkPair& l1, LinkPair& l2) +/*********************************************************************** +.\PARSERGEN\COMPILESYNTAX_VALIDATESWITCHESANDCONDITIONS.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + using namespace compile_syntax; + +/*********************************************************************** +CollectRuleAffectedSwitchesVisitorBase +***********************************************************************/ + + class CollectRuleAffectedSwitchesVisitorBase + : public traverse_visitor::RuleAstVisitor + { + protected: + VisitorContext& context; + VisitorSwitchContext& sContext; + RuleSymbol* ruleSymbol = nullptr; + GlrClause* currentClause = nullptr; + List pushedSwitches; + + public: + CollectRuleAffectedSwitchesVisitorBase( + VisitorContext& _context, + VisitorSwitchContext& _sContext + ) + : context(_context) + , sContext(_sContext) + { + } + + void ValidateRule(Ptr rule) + { + ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + for (auto clause : rule->clauses) { - EnsureComplete(); - if (!first) - { - CHECK_ERROR(!link, L"Illegal Operation!"); - l1 = {}; - l2 = {}; - } - else if (!link) - { - l2 = *this; - l1 = {}; - } - else if (link == last) - { - l1 = *this; - l2 = {}; - } - else - { - auto a = first; - auto b = last; - l1 = { a,link }; - l2 = { link->next,b }; - l1.last->next = nullptr; - l2.first->prev = nullptr; - } + currentClause = clause.Obj(); + clause->Accept(this); + currentClause = nullptr; } + } - operator bool() const + protected: + + void Traverse(GlrPushConditionSyntax* node) override + { + for (auto switchItem : node->switches) { - return last; + pushedSwitches.Add(switchItem->name.value); } - }; - protected: - VisitorContext& context; - RuleSymbol* ruleSymbol; - GlrClause* clause = nullptr; + } - LinkPair existingFields; - LinkPair existingPartials; + void Finishing(GlrPushConditionSyntax* node) override + { + for (vint i = 0; i < node->switches.Count(); i++) + { + pushedSwitches.RemoveAt(pushedSwitches.Count() - 1); + } + } + }; + +/*********************************************************************** +CollectRuleAffectedSwitchesFirstPassVisitor +***********************************************************************/ + + class CollectRuleAffectedSwitchesFirstPassVisitor + : public CollectRuleAffectedSwitchesVisitorBase + { public: - ValidateStructureRelationshipVisitor( + CollectRuleAffectedSwitchesFirstPassVisitor( VisitorContext& _context, - RuleSymbol* _ruleSymbol + VisitorSwitchContext& _sContext ) - : context(_context) - , ruleSymbol(_ruleSymbol) + : CollectRuleAffectedSwitchesVisitorBase(_context, _sContext) { } - ~ValidateStructureRelationshipVisitor() + protected: + + //////////////////////////////////////////////////////////////////////// + // GlrCondition::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Traverse(GlrRefCondition* node) override { + if (!pushedSwitches.Contains(node->name.value)) { - auto c = existingFields.first; - while (c) + if (!sContext.clauseAffectedSwitches.Contains(currentClause, node->name.value)) { - auto n = c->next; - delete c; - c = n; + sContext.clauseAffectedSwitches.Add(currentClause, node->name.value); } - } - { - auto c = existingPartials.first; - while (c) + if (!sContext.ruleAffectedSwitches.Contains(ruleSymbol, node->name.value)) { - auto n = c->next; - delete c; - c = n; + sContext.ruleAffectedSwitches.Add(ruleSymbol, node->name.value); } } } + }; - void ValidateClause(Ptr clause) +/*********************************************************************** +CollectRuleAffectedSwitchesSecondPassVisitor +***********************************************************************/ + + class CollectRuleAffectedSwitchesSecondPassVisitor + : public CollectRuleAffectedSwitchesVisitorBase + { + public: + bool updated = false; + + CollectRuleAffectedSwitchesSecondPassVisitor( + VisitorContext& _context, + VisitorSwitchContext& _sContext + ) + : CollectRuleAffectedSwitchesVisitorBase(_context, _sContext) { - clause->Accept(this); } protected: - void Visit(GlrRefSyntax* node) override - { - if (node->field) - { - existingFields = existingFields.Append(new Link(node)); - } - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); - if (ruleIndex != -1) + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void VisitRule(const WString& name) + { + vint index = context.syntaxManager.Rules().Keys().IndexOf(name); + if (index != -1) { - auto fieldRule = context.syntaxManager.Rules().Values()[ruleIndex]; - if (fieldRule->isPartial) + auto refRuleSymbol = context.syntaxManager.Rules().Values()[index]; + vint indexSwitch = sContext.ruleAffectedSwitches.Keys().IndexOf(refRuleSymbol); + if (indexSwitch != -1) { - existingPartials= existingPartials.Append(new Link(node)); + for (auto&& name : sContext.ruleAffectedSwitches.GetByIndex(indexSwitch)) + { + if (!pushedSwitches.Contains(name)) + { + if (!sContext.clauseAffectedSwitches.Contains(currentClause, name)) + { + updated = true; + sContext.clauseAffectedSwitches.Add(currentClause, name); + } + if (ruleSymbol != refRuleSymbol && !sContext.ruleAffectedSwitches.Contains(ruleSymbol, name)) + { + updated = true; + sContext.ruleAffectedSwitches.Add(ruleSymbol, name); + } + } + } } } } - void Visit(GlrLiteralSyntax* node) override + void Traverse(GlrRefSyntax* node) override { + VisitRule(node->literal.value); } - void Visit(GlrUseSyntax* node) override + void Traverse(GlrUseSyntax* node) override { + VisitRule(node->name.value); } + }; - void Visit(GlrLoopSyntax* node) override +/*********************************************************************** +VerifySwitchesAndConditionsVisitor +***********************************************************************/ + + class CollectTestedSwitchesVisitor + : public traverse_visitor::RuleAstVisitor + { + protected: + VisitorContext& context; + VisitorSwitchContext& sContext; + + public: + SortedList testedSwitches; + + CollectTestedSwitchesVisitor( + VisitorContext& _context, + VisitorSwitchContext& _sContext + ) + : context(_context) + , sContext(_sContext) { - node->syntax->Accept(this); - if (node->delimiter) - { - node->delimiter->Accept(this); - } } - void Visit(GlrOptionalSyntax* node) override + protected: + + //////////////////////////////////////////////////////////////////////// + // GlrCondition::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Traverse(GlrRefCondition* node) { - node->syntax->Accept(this); + if (!testedSwitches.Contains(node->name.value)) + { + testedSwitches.Add(node->name.value); + } } - void Visit(GlrSequenceSyntax* node) override + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void VisitRule(const WString& name) { - node->first->Accept(this); - node->second->Accept(this); + vint index = context.syntaxManager.Rules().Keys().IndexOf(name); + if (index != -1) + { + auto refRuleSymbol = context.syntaxManager.Rules().Values()[index]; + vint index = sContext.ruleAffectedSwitches.Keys().IndexOf(refRuleSymbol); + if (index != -1) + { + for (auto switchName : sContext.ruleAffectedSwitches.GetByIndex(index)) + { + if (!testedSwitches.Contains(switchName)) + { + testedSwitches.Add(switchName); + } + } + } + } } - void Visit(GlrAlternativeSyntax* node) override + void Traverse(GlrRefSyntax* node) override { - auto currentFields = existingFields; - auto currentPartials = existingPartials; - - node->first->Accept(this); + VisitRule(node->literal.value); + } - LinkPair firstFields, firstPartials; - existingFields.CutAfter(currentFields.last, existingFields, firstFields); - existingPartials.CutAfter(currentPartials.last, existingPartials, firstPartials); + void Traverse(GlrUseSyntax* node) override + { + VisitRule(node->name.value); + } + }; - node->second->Accept(this); + class VerifySwitchesAndConditionsVisitor + : public traverse_visitor::RuleAstVisitor + { + protected: + VisitorContext& context; + VisitorSwitchContext& sContext; + RuleSymbol* ruleSymbol = nullptr; - existingFields = existingFields.Connect(firstFields); - existingPartials = existingPartials.Connect(firstPartials); + public: + VerifySwitchesAndConditionsVisitor( + VisitorContext& _context, + VisitorSwitchContext& _sContext + ) + : context(_context) + , sContext(_sContext) + { } - void CheckAfterClause(GlrClause* node) + void ValidateRule(Ptr rule) { - Dictionary counters; - auto c = existingFields.first; - while (c) + ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + for (auto clause : rule->clauses) { - auto fieldName = c->ref->field.value; - vint index = counters.Keys().IndexOf(fieldName); - if (index == -1) - { - counters.Add(fieldName, 1); - } - else - { - counters.Set(fieldName, counters.Values()[index] + 1); - } - c = c->next; + clause->Accept(this); } + } - auto clauseType = context.clauseTypes[clause]; - for (auto [key, value] : counters) + protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Traverse(GlrPushConditionSyntax* node) override + { + CollectTestedSwitchesVisitor visitor(context, sContext); + node->syntax->Accept(&visitor); + for (auto switchItem : node->switches) { - auto prop = FindPropSymbol(clauseType, key); - if (prop->propType != AstPropType::Array && value > 1) + if (!visitor.testedSwitches.Contains(switchItem->name.value)) { context.syntaxManager.AddError( - ParserErrorType::FieldAssignedMoreThanOnce, + ParserErrorType::PushedSwitchIsNotTested, node->codeRange, ruleSymbol->Name(), - clauseType->Name(), - prop->Name() + switchItem->name.value ); } } } - void Visit(GlrCreateClause* node) override - { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node); - } - - void Visit(GlrPartialClause* node) override - { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node); - } + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// - void Visit(GlrReuseClause* node) override + void Traverse(GlrPrefixMergeClause* node) override { - clause = node; - node->syntax->Accept(this); - CheckAfterClause(node); + auto pmRuleSymbol = context.syntaxManager.Rules()[node->rule->literal.value]; + vint index = sContext.ruleAffectedSwitches.Keys().IndexOf(pmRuleSymbol); + if(index != -1) + { + context.syntaxManager.AddError( + ParserErrorType::PrefixMergeAffectedBySwitches, + node->codeRange, + ruleSymbol->Name(), + pmRuleSymbol->Name(), + sContext.ruleAffectedSwitches.GetByIndex(index)[0] + ); + } } }; /*********************************************************************** -ValidateStructure +ValidateSwitchesAndConditions ***********************************************************************/ - void ValidateStructure(VisitorContext& context, List>& files) + void ValidateSwitchesAndConditions(VisitorContext& context, VisitorSwitchContext& sContext, Ptr syntaxFile) { - for (auto file : files) + for (auto rule : syntaxFile->rules) + { + CollectRuleAffectedSwitchesFirstPassVisitor visitor(context, sContext); + visitor.ValidateRule(rule); + } + + while (true) { - for (auto rule : file->rules) + CollectRuleAffectedSwitchesSecondPassVisitor visitor(context, sContext); + for (auto rule : syntaxFile->rules) { - auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; - ValidateStructureCountingVisitor visitor1(context, ruleSymbol); - for (auto clause : rule->clauses) - { - ValidateStructureRelationshipVisitor visitor2(context, ruleSymbol); - visitor1.ValidateClause(clause); - visitor2.ValidateClause(clause); - } + visitor.ValidateRule(rule); } + + if (!visitor.updated) break; + }; + + for (auto rule : syntaxFile->rules) + { + VerifySwitchesAndConditionsVisitor visitor(context, sContext); + visitor.ValidateRule(rule); } } } @@ -5154,6 +8900,16 @@ namespace vl using namespace collections; using namespace compile_syntax; + bool ConvertibleTo(AstClassSymbol* from, AstClassSymbol* to) + { + while (from) + { + if (from == to) return true; + from = from->baseClass; + } + return false; + } + /*********************************************************************** ValidateTypesVisitor ***********************************************************************/ @@ -5192,16 +8948,6 @@ ValidateTypesVisitor } } - bool ConvertibleTo(AstClassSymbol* from, AstClassSymbol* to) - { - while (from) - { - if (from == to) return true; - from = from->baseClass; - } - return false; - } - public: ValidateTypesVisitor( VisitorContext& _context, @@ -5218,9 +8964,14 @@ ValidateTypesVisitor } protected: + + //////////////////////////////////////////////////////////////////////// + // GlrSyntax::IVisitor + //////////////////////////////////////////////////////////////////////// + void Visit(GlrRefSyntax* node) override { - vint ruleIndex = context.syntaxManager.Rules().Keys().IndexOf(node->name.value); + vint ruleIndex = node->refType == GlrRefType::Id ? context.syntaxManager.Rules().Keys().IndexOf(node->literal.value) : -1; auto clauseType = context.clauseTypes[clause]; auto fieldRule = ruleIndex == -1 ? nullptr : context.syntaxManager.Rules().Values()[ruleIndex]; @@ -5293,10 +9044,6 @@ ValidateTypesVisitor } } - void Visit(GlrLiteralSyntax* node) override - { - } - void Visit(GlrUseSyntax* node) override { auto fieldRule = context.syntaxManager.Rules()[node->name.value]; @@ -5329,83 +9076,328 @@ ValidateTypesVisitor } } - void Visit(GlrOptionalSyntax* node) override - { - node->syntax->Accept(this); - } + void Visit(GlrOptionalSyntax* node) override + { + node->syntax->Accept(this); + } + + void Visit(GlrSequenceSyntax* node) override + { + node->first->Accept(this); + node->second->Accept(this); + } + + void Visit(GlrAlternativeSyntax* node) override + { + node->first->Accept(this); + node->second->Accept(this); + } + + void Visit(GlrPushConditionSyntax* node) override + { + CHECK_FAIL(L"GlrPushConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + void Visit(GlrTestConditionSyntax* node) override + { + CHECK_FAIL(L"GlrTestConditionSyntax should have been removed after RewriteSyntax_Switch()!"); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrAssignment* node) + { + AstClassSymbol* clauseType = nullptr; + if (auto prop = FindField(clauseType, node->field)) + { + if (auto enumPropSymbol = dynamic_cast(prop->propSymbol)) + { + if (!enumPropSymbol->Items().Keys().Contains(node->value.value)) + { + context.syntaxManager.AddError( + ParserErrorType::EnumItemMismatchedToField, + node->codeRange, + ruleSymbol->Name(), + clauseType->Name(), + node->field.value, + node->value.value + ); + } + } + else + { + context.syntaxManager.AddError( + ParserErrorType::AssignmentToNonEnumField, + node->codeRange, + ruleSymbol->Name(), + clauseType->Name(), + node->field.value + ); + } + } + } + + void Visit(GlrCreateClause* node) override + { + clause = node; + node->syntax->Accept(this); + for (auto assignment : node->assignments) + { + Visit(assignment.Obj()); + } + } + + void Visit(GlrPartialClause* node) override + { + clause = node; + node->syntax->Accept(this); + for (auto assignment : node->assignments) + { + Visit(assignment.Obj()); + } + } + + void Visit(GlrReuseClause* node) override + { + clause = node; + node->syntax->Accept(this); + for (auto assignment : node->assignments) + { + Visit(assignment.Obj()); + } + } + + void Visit(GlrLeftRecursionPlaceholderClause* node) override + { + } + + void Visit(GlrLeftRecursionInjectClause* node) override + { + } + + void Visit(GlrPrefixMergeClause* node) override + { + auto prefixRule = context.syntaxManager.Rules()[node->rule->literal.value]; + if (prefixRule->isPartial) + { + context.syntaxManager.AddError( + ParserErrorType::PartialRuleInPrefixMerge, + node->rule->codeRange, + ruleSymbol->Name(), + node->rule->literal.value + ); + } + } + }; + +/*********************************************************************** +LriVerifyTypesVisitor +***********************************************************************/ + + class LriVerifyTypesVisitor + : public empty_visitor::ClauseVisitor + { + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + + public: + LriVerifyTypesVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) + { + } + + void ValidateClause(Ptr clause) + { + clause->Accept(this); + } + + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void Visit(GlrLeftRecursionInjectClause* node) override + { + auto prefixRule = context.syntaxManager.Rules()[node->rule->literal.value]; + if (prefixRule->isPartial) + { + context.syntaxManager.AddError( + ParserErrorType::PartialRuleInLeftRecursionInject, + node->rule->codeRange, + ruleSymbol->Name(), + node->rule->literal.value + ); + } + + for (auto lriTarget : node->continuation->injectionTargets) + { + auto target = lriTarget->rule; + List lrpClauses; + { + vint index = context.indirectLrpClauses.Keys().IndexOf(context.syntaxManager.Rules()[target->literal.value]); + if (index != -1) + { + CopyFrom( + lrpClauses, + From(context.indirectLrpClauses.GetByIndex(index)) + .Where([node](auto&& lrp) + { + return !From(lrp->flags) + .Where([node](auto&& flag) { return flag->flag.value == node->continuation->flag->flag.value; }) + .IsEmpty(); + })); + } + } + + if (lrpClauses.Count() == 0) + { + context.syntaxManager.AddError( + ParserErrorType::LeftRecursionPlaceholderNotFoundInRule, + target->codeRange, + ruleSymbol->Name(), + node->continuation->flag->flag.value, + target->literal.value + ); + } + else if (lrpClauses.Count() > 1 && node->continuation->configuration == GlrLeftRecursionConfiguration::Single) + { + context.syntaxManager.AddError( + ParserErrorType::LeftRecursionPlaceholderNotUnique, + target->codeRange, + ruleSymbol->Name(), + node->continuation->flag->flag.value, + target->literal.value + ); + } + + for (auto lrpClause : lrpClauses) + { + auto lrpClauseRule = context.clauseToRules[lrpClause]; + if (!ConvertibleTo(prefixRule->ruleType, lrpClauseRule->ruleType)) + { + context.syntaxManager.AddError( + ParserErrorType::LeftRecursionPlaceholderTypeMismatched, + target->codeRange, + ruleSymbol->Name(), + node->continuation->flag->flag.value, + target->literal.value, + lrpClauseRule->Name() + ); + } + } + + if (lriTarget->continuation) + { + Visit(lriTarget.Obj()); + } + } + } + }; + +/*********************************************************************** +LriPrefixTestingVisitor +***********************************************************************/ - void Visit(GlrSequenceSyntax* node) override + class LriPrefixTestingVisitor + : public empty_visitor::ClauseVisitor + { + protected: + VisitorContext& context; + RuleSymbol* ruleSymbol; + Group lriEndings; + + public: + LriPrefixTestingVisitor( + VisitorContext& _context, + RuleSymbol* _ruleSymbol + ) + : context(_context) + , ruleSymbol(_ruleSymbol) { - node->first->Accept(this); - node->second->Accept(this); } - void Visit(GlrAlternativeSyntax* node) override + void ValidateClause(Ptr clause) { - node->first->Accept(this); - node->second->Accept(this); + clause->Accept(this); } - void Visit(GlrAssignment* node) + //////////////////////////////////////////////////////////////////////// + // GlrClause::IVisitor + //////////////////////////////////////////////////////////////////////// + + void SearchLriEndings(List& visiting, GlrLeftRecursionInjectClause* node) { - AstClassSymbol* clauseType = nullptr; - if (auto prop = FindField(clauseType, node->field)) + visiting.Add(node); + if (!node->continuation || node->continuation->type == GlrLeftRecursionInjectContinuationType::Optional) { - if (auto enumPropSymbol = dynamic_cast(prop->propSymbol)) + for (auto lri : visiting) { - if (!enumPropSymbol->Items().Keys().Contains(node->value.value)) + if (!lriEndings.Contains(lri, node->rule->literal.value)) { - context.syntaxManager.AddError( - ParserErrorType::EnumItemMismatchedToField, - node->codeRange, - ruleSymbol->Name(), - clauseType->Name(), - node->field.value, - node->value.value - ); + lriEndings.Add(lri, node->rule->literal.value); } } - else - { - context.syntaxManager.AddError( - ParserErrorType::AssignmentToNonEnumField, - node->codeRange, - ruleSymbol->Name(), - clauseType->Name(), - node->field.value - ); - } } - } - void Visit(GlrCreateClause* node) override - { - clause = node; - node->syntax->Accept(this); - for (auto assignment : node->assignments) + if (node->continuation) { - Visit(assignment.Obj()); + for (auto target : node->continuation->injectionTargets) + { + SearchLriEndings(visiting, target.Obj()); + } } + visiting.RemoveAt(visiting.Count() - 1); } - void Visit(GlrPartialClause* node) override + void VerifyPrefix(GlrLeftRecursionInjectClause* node) { - clause = node; - node->syntax->Accept(this); - for (auto assignment : node->assignments) + if (node->continuation) { - Visit(assignment.Obj()); + for (auto t1 : node->continuation->injectionTargets) + { + auto k1 = context.syntaxManager.Rules()[t1->rule->literal.value]; + vint i1 = lriEndings.Keys().IndexOf(t1.Obj()); + if (i1 == -1) continue; + for (auto t2 : node->continuation->injectionTargets) + { + auto k2 = context.syntaxManager.Rules()[t2->rule->literal.value]; + vint i2 = lriEndings.Keys().IndexOf(t2.Obj()); + if (i2 == -1) continue; + + if (t1 != t2 && context.indirectStartPathToLastRules.Keys().Contains({ k2, k1 })) + { + auto&& e1 = lriEndings.GetByIndex(i1); + auto&& e2 = lriEndings.GetByIndex(i2); + if (!From(e1).Intersect(e2).IsEmpty()) + { + context.syntaxManager.AddError( + ParserErrorType::LeftRecursionInjectTargetIsPrefixOfAnotherSameEnding, + node->codeRange, + ruleSymbol->Name(), + node->continuation->flag->flag.value, + k1->Name(), + k2->Name() + ); + } + } + } + } } } - void Visit(GlrReuseClause* node) override + void Visit(GlrLeftRecursionInjectClause* node) override { - clause = node; - node->syntax->Accept(this); - for (auto assignment : node->assignments) { - Visit(assignment.Obj()); + List visiting; + SearchLriEndings(visiting, node); } + VerifyPrefix(node); } }; @@ -5413,17 +9405,22 @@ ValidateTypesVisitor ValidateTypes ***********************************************************************/ - void ValidateTypes(VisitorContext& context, List>& files) + void ValidateTypes(VisitorContext& context, Ptr syntaxFile) { - for (auto file : files) + for (auto rule : syntaxFile->rules) { - for (auto rule : file->rules) + auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; + ValidateTypesVisitor vtVisitor(context, ruleSymbol); + for (auto clause : rule->clauses) { - auto ruleSymbol = context.syntaxManager.Rules()[rule->name.value]; - ValidateTypesVisitor visitor(context, ruleSymbol); - for (auto clause : rule->clauses) + vtVisitor.ValidateClause(clause); + { + LriVerifyTypesVisitor lvtVisitor(context, ruleSymbol); + lvtVisitor.ValidateClause(clause); + } { - visitor.ValidateClause(clause); + LriPrefixTestingVisitor lptVisitor(context, ruleSymbol); + lptVisitor.ValidateClause(clause); } } } @@ -5508,7 +9505,7 @@ Utility writer.WriteLine(L""); } - WString WriteNssBegin(collections::List& cppNss, stream::StreamWriter& writer) + WString WriteNssBegin(const collections::List& cppNss, stream::StreamWriter& writer) { WString prefix; for (auto ns : cppNss) @@ -5520,7 +9517,7 @@ Utility return prefix; } - void WriteNssEnd(collections::List& cppNss, stream::StreamWriter& writer) + void WriteNssEnd(const collections::List& cppNss, stream::StreamWriter& writer) { vint counter = cppNss.Count(); for (auto ns : cppNss) @@ -5637,12 +9634,27 @@ namespace vl Visitor Pattern Implementation ***********************************************************************/ - void GlrRefSyntax::Accept(GlrSyntax::IVisitor* visitor) + void GlrRefCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrNotCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrAndCondition::Accept(GlrCondition::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrOrCondition::Accept(GlrCondition::IVisitor* visitor) { visitor->Visit(this); } - void GlrLiteralSyntax::Accept(GlrSyntax::IVisitor* visitor) + void GlrRefSyntax::Accept(GlrSyntax::IVisitor* visitor) { visitor->Visit(this); } @@ -5672,6 +9684,16 @@ Visitor Pattern Implementation visitor->Visit(this); } + void GlrPushConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrTestConditionSyntax::Accept(GlrSyntax::IVisitor* visitor) + { + visitor->Visit(this); + } + void GlrCreateClause::Accept(GlrClause::IVisitor* visitor) { visitor->Visit(this); @@ -5686,6 +9708,21 @@ Visitor Pattern Implementation { visitor->Visit(this); } + + void GlrLeftRecursionPlaceholderClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrLeftRecursionInjectClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } + + void GlrPrefixMergeClause::Accept(GlrClause::IVisitor* visitor) + { + visitor->Visit(this); + } } } } @@ -5697,49 +9734,122 @@ namespace vl { #ifndef VCZH_DEBUG_NO_REFLECTION + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition, glr::parsergen::GlrCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCondition::IVisitor, glr::parsergen::GlrCondition::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefCondition, glr::parsergen::GlrRefCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrNotCondition, glr::parsergen::GlrNotCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAndCondition, glr::parsergen::GlrAndCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOrCondition, glr::parsergen::GlrOrCondition) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchValue, glr::parsergen::GlrSwitchValue) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSwitchItem, glr::parsergen::GlrSwitchItem) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax, glr::parsergen::GlrSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntax::IVisitor, glr::parsergen::GlrSyntax::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefType, glr::parsergen::GlrRefType) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRefSyntax, glr::parsergen::GlrRefSyntax) - IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLiteralSyntax, glr::parsergen::GlrLiteralSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrUseSyntax, glr::parsergen::GlrUseSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLoopSyntax, glr::parsergen::GlrLoopSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalPriority, glr::parsergen::GlrOptionalPriority) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrOptionalSyntax, glr::parsergen::GlrOptionalSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSequenceSyntax, glr::parsergen::GlrSequenceSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAlternativeSyntax, glr::parsergen::GlrAlternativeSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPushConditionSyntax, glr::parsergen::GlrPushConditionSyntax) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionBranch, glr::parsergen::GlrTestConditionBranch) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrTestConditionSyntax, glr::parsergen::GlrTestConditionSyntax) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause, glr::parsergen::GlrClause) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrClause::IVisitor, glr::parsergen::GlrClause::IVisitor) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignmentType, glr::parsergen::GlrAssignmentType) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrAssignment, glr::parsergen::GlrAssignment) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrCreateClause, glr::parsergen::GlrCreateClause) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPartialClause, glr::parsergen::GlrPartialClause) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrReuseClause, glr::parsergen::GlrReuseClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholder, glr::parsergen::GlrLeftRecursionPlaceholder) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause, glr::parsergen::GlrLeftRecursionPlaceholderClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionConfiguration, glr::parsergen::GlrLeftRecursionConfiguration) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType, glr::parsergen::GlrLeftRecursionInjectContinuationType) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectContinuation, glr::parsergen::GlrLeftRecursionInjectContinuation) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrLeftRecursionInjectClause, glr::parsergen::GlrLeftRecursionInjectClause) + IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrPrefixMergeClause, glr::parsergen::GlrPrefixMergeClause) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrRule, glr::parsergen::GlrRule) IMPL_TYPE_INFO_RENAME(vl::glr::parsergen::GlrSyntaxFile, glr::parsergen::GlrSyntaxFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + END_CLASS_MEMBER(vl::glr::parsergen::GlrCondition) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(name) + END_CLASS_MEMBER(vl::glr::parsergen::GlrRefCondition) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(condition) + END_CLASS_MEMBER(vl::glr::parsergen::GlrNotCondition) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrAndCondition) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrCondition) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(first) + CLASS_MEMBER_FIELD(second) + END_CLASS_MEMBER(vl::glr::parsergen::GlrOrCondition) + + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrSwitchValue) + ENUM_NAMESPACE_ITEM(False) + ENUM_NAMESPACE_ITEM(True) + END_ENUM_ITEM(vl::glr::parsergen::GlrSwitchValue) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(value) + END_CLASS_MEMBER(vl::glr::parsergen::GlrSwitchItem) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntax) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrRefType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrRefType) + ENUM_NAMESPACE_ITEM(Id) + ENUM_NAMESPACE_ITEM(Literal) + ENUM_NAMESPACE_ITEM(ConditionalLiteral) + END_ENUM_ITEM(vl::glr::parsergen::GlrRefType) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(refType) + CLASS_MEMBER_FIELD(literal) CLASS_MEMBER_FIELD(field) END_CLASS_MEMBER(vl::glr::parsergen::GlrRefSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLiteralSyntax) - CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) - - CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) - - CLASS_MEMBER_FIELD(value) - END_CLASS_MEMBER(vl::glr::parsergen::GlrLiteralSyntax) - BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrUseSyntax) CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) @@ -5791,16 +9901,49 @@ namespace vl CLASS_MEMBER_FIELD(second) END_CLASS_MEMBER(vl::glr::parsergen::GlrAlternativeSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(switches) + CLASS_MEMBER_FIELD(syntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrPushConditionSyntax) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(condition) + CLASS_MEMBER_FIELD(syntax) + END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionBranch) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrSyntax) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(branches) + END_CLASS_MEMBER(vl::glr::parsergen::GlrTestConditionSyntax) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrClause) CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) END_CLASS_MEMBER(vl::glr::parsergen::GlrClause) + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrAssignmentType) + ENUM_NAMESPACE_ITEM(Strong) + ENUM_NAMESPACE_ITEM(Weak) + END_ENUM_ITEM(vl::glr::parsergen::GlrAssignmentType) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_FIELD(type) CLASS_MEMBER_FIELD(field) CLASS_MEMBER_FIELD(value) END_CLASS_MEMBER(vl::glr::parsergen::GlrAssignment) @@ -5834,12 +9977,69 @@ namespace vl CLASS_MEMBER_FIELD(assignments) END_CLASS_MEMBER(vl::glr::parsergen::GlrReuseClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(flag) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(flags) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ENUM_NAMESPACE_ITEM(Single) + ENUM_NAMESPACE_ITEM(Multiple) + END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionConfiguration) + + BEGIN_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ENUM_ITEM_NAMESPACE(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ENUM_NAMESPACE_ITEM(Optional) + ENUM_NAMESPACE_ITEM(Required) + END_ENUM_ITEM(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(flag) + CLASS_MEMBER_FIELD(configuration) + CLASS_MEMBER_FIELD(type) + CLASS_MEMBER_FIELD(injectionTargets) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(rule) + CLASS_MEMBER_FIELD(continuation) + END_CLASS_MEMBER(vl::glr::parsergen::GlrLeftRecursionInjectClause) + + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) + CLASS_MEMBER_BASE(vl::glr::parsergen::GlrClause) + + CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + + CLASS_MEMBER_FIELD(rule) + END_CLASS_MEMBER(vl::glr::parsergen::GlrPrefixMergeClause) + BEGIN_CLASS_MEMBER(vl::glr::parsergen::GlrRule) CLASS_MEMBER_BASE(vl::glr::ParsingAstBase) CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) CLASS_MEMBER_FIELD(name) + CLASS_MEMBER_FIELD(type) CLASS_MEMBER_FIELD(clauses) END_CLASS_MEMBER(vl::glr::parsergen::GlrRule) @@ -5848,23 +10048,35 @@ namespace vl CLASS_MEMBER_CONSTRUCTOR(vl::Ptr(), NO_PARAMETER) + CLASS_MEMBER_FIELD(switches) CLASS_MEMBER_FIELD(rules) END_CLASS_MEMBER(vl::glr::parsergen::GlrSyntaxFile) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition::IVisitor) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrRefCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrNotCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrAndCondition* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrCondition::IVisitor::*)(vl::glr::parsergen::GlrOrCondition* node)) + END_INTERFACE_MEMBER(vl::glr::parsergen::GlrCondition) + BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax::IVisitor) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrRefSyntax* node)) - CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrLiteralSyntax* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrUseSyntax* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrLoopSyntax* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrOptionalSyntax* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrSequenceSyntax* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrAlternativeSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrPushConditionSyntax* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrSyntax::IVisitor::*)(vl::glr::parsergen::GlrTestConditionSyntax* node)) END_INTERFACE_MEMBER(vl::glr::parsergen::GlrSyntax) BEGIN_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause::IVisitor) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrCreateClause* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPartialClause* node)) CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrReuseClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrLeftRecursionInjectClause* node)) + CLASS_MEMBER_METHOD_OVERLOAD(Visit, {L"node"}, void(vl::glr::parsergen::GlrClause::IVisitor::*)(vl::glr::parsergen::GlrPrefixMergeClause* node)) END_INTERFACE_MEMBER(vl::glr::parsergen::GlrClause) #endif @@ -5875,22 +10087,41 @@ namespace vl public: void Load(ITypeManager* manager) { + ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) + ADD_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrRefType) ADD_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) - ADD_TYPE_INFO(vl::glr::parsergen::GlrLiteralSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) ADD_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) + ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) + ADD_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) ADD_TYPE_INFO(vl::glr::parsergen::GlrClause) ADD_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) + ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) ADD_TYPE_INFO(vl::glr::parsergen::GlrAssignment) ADD_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) ADD_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) ADD_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + ADD_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) + ADD_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) ADD_TYPE_INFO(vl::glr::parsergen::GlrRule) ADD_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) } @@ -5954,50 +10185,126 @@ MakeAlternativeSyntax } /*********************************************************************** -MakeAssignment +MakeAndCondition +***********************************************************************/ + + MakeAndCondition& MakeAndCondition::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } + + MakeAndCondition& MakeAndCondition::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } + +/*********************************************************************** +MakeAssignment +***********************************************************************/ + + MakeAssignment& MakeAssignment::field(const vl::WString& value) + { + node->field.value = value; + return *this; + } + + MakeAssignment& MakeAssignment::type(GlrAssignmentType value) + { + node->type = value; + return *this; + } + + MakeAssignment& MakeAssignment::value(const vl::WString& value) + { + node->value.value = value; + return *this; + } + +/*********************************************************************** +MakeCreateClause +***********************************************************************/ + + MakeCreateClause& MakeCreateClause::assignments(const vl::Ptr& value) + { + node->assignments.Add(value); + return *this; + } + + MakeCreateClause& MakeCreateClause::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } + + MakeCreateClause& MakeCreateClause::type(const vl::WString& value) + { + node->type.value = value; + return *this; + } + +/*********************************************************************** +MakeLeftRecursionInjectClause +***********************************************************************/ + + MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::continuation(const vl::Ptr& value) + { + node->continuation = value; + return *this; + } + + MakeLeftRecursionInjectClause& MakeLeftRecursionInjectClause::rule(const vl::Ptr& value) + { + node->rule = value; + return *this; + } + +/*********************************************************************** +MakeLeftRecursionInjectContinuation ***********************************************************************/ - MakeAssignment& MakeAssignment::field(const vl::WString& value) + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::configuration(GlrLeftRecursionConfiguration value) { - node->field.value = value; + node->configuration = value; return *this; } - MakeAssignment& MakeAssignment::value(const vl::WString& value) + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::flag(const vl::Ptr& value) { - node->value.value = value; + node->flag = value; return *this; } -/*********************************************************************** -MakeCreateClause -***********************************************************************/ - - MakeCreateClause& MakeCreateClause::assignments(const vl::Ptr& value) + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::injectionTargets(const vl::Ptr& value) { - node->assignments.Add(value); + node->injectionTargets.Add(value); return *this; } - MakeCreateClause& MakeCreateClause::syntax(const vl::Ptr& value) + MakeLeftRecursionInjectContinuation& MakeLeftRecursionInjectContinuation::type(GlrLeftRecursionInjectContinuationType value) { - node->syntax = value; + node->type = value; return *this; } - MakeCreateClause& MakeCreateClause::type(const vl::WString& value) +/*********************************************************************** +MakeLeftRecursionPlaceholder +***********************************************************************/ + + MakeLeftRecursionPlaceholder& MakeLeftRecursionPlaceholder::flag(const vl::WString& value) { - node->type.value = value; + node->flag.value = value; return *this; } /*********************************************************************** -MakeLiteralSyntax +MakeLeftRecursionPlaceholderClause ***********************************************************************/ - MakeLiteralSyntax& MakeLiteralSyntax::value(const vl::WString& value) + MakeLeftRecursionPlaceholderClause& MakeLeftRecursionPlaceholderClause::flags(const vl::Ptr& value) { - node->value.value = value; + node->flags.Add(value); return *this; } @@ -6017,6 +10324,16 @@ MakeLoopSyntax return *this; } +/*********************************************************************** +MakeNotCondition +***********************************************************************/ + + MakeNotCondition& MakeNotCondition::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } + /*********************************************************************** MakeOptionalSyntax ***********************************************************************/ @@ -6033,6 +10350,22 @@ MakeOptionalSyntax return *this; } +/*********************************************************************** +MakeOrCondition +***********************************************************************/ + + MakeOrCondition& MakeOrCondition::first(const vl::Ptr& value) + { + node->first = value; + return *this; + } + + MakeOrCondition& MakeOrCondition::second(const vl::Ptr& value) + { + node->second = value; + return *this; + } + /*********************************************************************** MakePartialClause ***********************************************************************/ @@ -6055,6 +10388,42 @@ MakePartialClause return *this; } +/*********************************************************************** +MakePrefixMergeClause +***********************************************************************/ + + MakePrefixMergeClause& MakePrefixMergeClause::rule(const vl::Ptr& value) + { + node->rule = value; + return *this; + } + +/*********************************************************************** +MakePushConditionSyntax +***********************************************************************/ + + MakePushConditionSyntax& MakePushConditionSyntax::switches(const vl::Ptr& value) + { + node->switches.Add(value); + return *this; + } + + MakePushConditionSyntax& MakePushConditionSyntax::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } + +/*********************************************************************** +MakeRefCondition +***********************************************************************/ + + MakeRefCondition& MakeRefCondition::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } + /*********************************************************************** MakeRefSyntax ***********************************************************************/ @@ -6065,9 +10434,15 @@ MakeRefSyntax return *this; } - MakeRefSyntax& MakeRefSyntax::name(const vl::WString& value) + MakeRefSyntax& MakeRefSyntax::literal(const vl::WString& value) { - node->name.value = value; + node->literal.value = value; + return *this; + } + + MakeRefSyntax& MakeRefSyntax::refType(GlrRefType value) + { + node->refType = value; return *this; } @@ -6103,6 +10478,12 @@ MakeRule return *this; } + MakeRule& MakeRule::type(const vl::WString& value) + { + node->type.value = value; + return *this; + } + /*********************************************************************** MakeSequenceSyntax ***********************************************************************/ @@ -6119,6 +10500,22 @@ MakeSequenceSyntax return *this; } +/*********************************************************************** +MakeSwitchItem +***********************************************************************/ + + MakeSwitchItem& MakeSwitchItem::name(const vl::WString& value) + { + node->name.value = value; + return *this; + } + + MakeSwitchItem& MakeSwitchItem::value(GlrSwitchValue value) + { + node->value = value; + return *this; + } + /*********************************************************************** MakeSyntaxFile ***********************************************************************/ @@ -6129,6 +10526,38 @@ MakeSyntaxFile return *this; } + MakeSyntaxFile& MakeSyntaxFile::switches(const vl::Ptr& value) + { + node->switches.Add(value); + return *this; + } + +/*********************************************************************** +MakeTestConditionBranch +***********************************************************************/ + + MakeTestConditionBranch& MakeTestConditionBranch::condition(const vl::Ptr& value) + { + node->condition = value; + return *this; + } + + MakeTestConditionBranch& MakeTestConditionBranch::syntax(const vl::Ptr& value) + { + node->syntax = value; + return *this; + } + +/*********************************************************************** +MakeTestConditionSyntax +***********************************************************************/ + + MakeTestConditionSyntax& MakeTestConditionSyntax::branches(const vl::Ptr& value) + { + node->branches.Add(value); + return *this; + } + /*********************************************************************** MakeUseSyntax ***********************************************************************/ @@ -6169,9 +10598,17 @@ namespace vl to->second = CopyNode(from->second.Obj()); } + void RuleAstVisitor::CopyFields(GlrAndCondition* from, GlrAndCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + void RuleAstVisitor::CopyFields(GlrAssignment* from, GlrAssignment* to) { to->field = from->field; + to->type = from->type; to->value = from->value; } @@ -6179,6 +10616,10 @@ namespace vl { } + void RuleAstVisitor::CopyFields(GlrCondition* from, GlrCondition* to) + { + } + void RuleAstVisitor::CopyFields(GlrCreateClause* from, GlrCreateClause* to) { CopyFields(static_cast(from), static_cast(to)); @@ -6190,10 +10631,36 @@ namespace vl to->type = from->type; } - void RuleAstVisitor::CopyFields(GlrLiteralSyntax* from, GlrLiteralSyntax* to) + void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to) { - CopyFields(static_cast(from), static_cast(to)); - to->value = from->value; + CopyFields(static_cast(from), static_cast(to)); + to->continuation = CopyNode(from->continuation.Obj()); + to->rule = CopyNode(from->rule.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to) + { + to->configuration = from->configuration; + to->flag = CopyNode(from->flag.Obj()); + for (auto&& listItem : from->injectionTargets) + { + to->injectionTargets.Add(CopyNode(listItem.Obj())); + } + to->type = from->type; + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to) + { + to->flag = from->flag; + } + + void RuleAstVisitor::CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->flags) + { + to->flags.Add(CopyNode(listItem.Obj())); + } } void RuleAstVisitor::CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to) @@ -6203,6 +10670,12 @@ namespace vl to->syntax = CopyNode(from->syntax.Obj()); } + void RuleAstVisitor::CopyFields(GlrNotCondition* from, GlrNotCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->condition = CopyNode(from->condition.Obj()); + } + void RuleAstVisitor::CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to) { CopyFields(static_cast(from), static_cast(to)); @@ -6210,6 +10683,13 @@ namespace vl to->syntax = CopyNode(from->syntax.Obj()); } + void RuleAstVisitor::CopyFields(GlrOrCondition* from, GlrOrCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->first = CopyNode(from->first.Obj()); + to->second = CopyNode(from->second.Obj()); + } + void RuleAstVisitor::CopyFields(GlrPartialClause* from, GlrPartialClause* to) { CopyFields(static_cast(from), static_cast(to)); @@ -6221,11 +10701,34 @@ namespace vl to->type = from->type; } + void RuleAstVisitor::CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->rule = CopyNode(from->rule.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->switches) + { + to->switches.Add(CopyNode(listItem.Obj())); + } + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrRefCondition* from, GlrRefCondition* to) + { + CopyFields(static_cast(from), static_cast(to)); + to->name = from->name; + } + void RuleAstVisitor::CopyFields(GlrRefSyntax* from, GlrRefSyntax* to) { CopyFields(static_cast(from), static_cast(to)); to->field = from->field; - to->name = from->name; + to->literal = from->literal; + to->refType = from->refType; } void RuleAstVisitor::CopyFields(GlrReuseClause* from, GlrReuseClause* to) @@ -6245,6 +10748,7 @@ namespace vl to->clauses.Add(CopyNode(listItem.Obj())); } to->name = from->name; + to->type = from->type; } void RuleAstVisitor::CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to) @@ -6254,6 +10758,12 @@ namespace vl to->second = CopyNode(from->second.Obj()); } + void RuleAstVisitor::CopyFields(GlrSwitchItem* from, GlrSwitchItem* to) + { + to->name = from->name; + to->value = from->value; + } + void RuleAstVisitor::CopyFields(GlrSyntax* from, GlrSyntax* to) { } @@ -6264,6 +10774,25 @@ namespace vl { to->rules.Add(CopyNode(listItem.Obj())); } + for (auto&& listItem : from->switches) + { + to->switches.Add(CopyNode(listItem.Obj())); + } + } + + void RuleAstVisitor::CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to) + { + to->condition = CopyNode(from->condition.Obj()); + to->syntax = CopyNode(from->syntax.Obj()); + } + + void RuleAstVisitor::CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to) + { + CopyFields(static_cast(from), static_cast(to)); + for (auto&& listItem : from->branches) + { + to->branches.Add(CopyNode(listItem.Obj())); + } } void RuleAstVisitor::CopyFields(GlrUseSyntax* from, GlrUseSyntax* to) @@ -6272,6 +10801,20 @@ namespace vl to->name = from->name; } + void RuleAstVisitor::Visit(GlrSwitchItem* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrTestConditionBranch* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + void RuleAstVisitor::Visit(GlrAssignment* node) { auto newNode = vl::MakePtr(); @@ -6279,6 +10822,20 @@ namespace vl this->result = newNode; } + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholder* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectContinuation* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + void RuleAstVisitor::Visit(GlrRule* node) { auto newNode = vl::MakePtr(); @@ -6293,16 +10850,37 @@ namespace vl this->result = newNode; } - void RuleAstVisitor::Visit(GlrRefSyntax* node) + void RuleAstVisitor::Visit(GlrRefCondition* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } - void RuleAstVisitor::Visit(GlrLiteralSyntax* node) + void RuleAstVisitor::Visit(GlrRefSyntax* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } @@ -6328,39 +10906,81 @@ namespace vl this->result = newNode; } - void RuleAstVisitor::Visit(GlrSequenceSyntax* node) + void RuleAstVisitor::Visit(GlrSequenceSyntax* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrCreateClause* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrPartialClause* node) + { + auto newNode = vl::MakePtr(); + CopyFields(node, newNode.Obj()); + this->result = newNode; + } + + void RuleAstVisitor::Visit(GlrReuseClause* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } - void RuleAstVisitor::Visit(GlrAlternativeSyntax* node) + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } - void RuleAstVisitor::Visit(GlrCreateClause* node) + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } - void RuleAstVisitor::Visit(GlrPartialClause* node) + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) { - auto newNode = vl::MakePtr(); + auto newNode = vl::MakePtr(); CopyFields(node, newNode.Obj()); this->result = newNode; } - void RuleAstVisitor::Visit(GlrReuseClause* node) + vl::Ptr RuleAstVisitor::CopyNode(GlrCondition* node) { - auto newNode = vl::MakePtr(); - CopyFields(node, newNode.Obj()); - this->result = newNode; + if (!node) return nullptr; + node->Accept(static_cast(this)); + return this->result.Cast(); } vl::Ptr RuleAstVisitor::CopyNode(GlrSyntax* node) @@ -6377,6 +10997,20 @@ namespace vl return this->result.Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrSwitchItem* node) + { + if (!node) return nullptr; + Visit(node); + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionBranch* node) + { + if (!node) return nullptr; + Visit(node); + return this->result.Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrAssignment* node) { if (!node) return nullptr; @@ -6384,6 +11018,20 @@ namespace vl return this->result.Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholder* node) + { + if (!node) return nullptr; + Visit(node); + return this->result.Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectContinuation* node) + { + if (!node) return nullptr; + Visit(node); + return this->result.Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrRule* node) { if (!node) return nullptr; @@ -6404,16 +11052,28 @@ namespace vl return CopyNode(static_cast(node)).Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrAndCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrCreateClause* node) { if (!node) return nullptr; return CopyNode(static_cast(node)).Cast(); } - vl::Ptr RuleAstVisitor::CopyNode(GlrLiteralSyntax* node) + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionInjectClause* node) { if (!node) return nullptr; - return CopyNode(static_cast(node)).Cast(); + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); } vl::Ptr RuleAstVisitor::CopyNode(GlrLoopSyntax* node) @@ -6422,18 +11082,48 @@ namespace vl return CopyNode(static_cast(node)).Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrNotCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrOptionalSyntax* node) { if (!node) return nullptr; return CopyNode(static_cast(node)).Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrOrCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrPartialClause* node) { if (!node) return nullptr; return CopyNode(static_cast(node)).Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrPrefixMergeClause* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrPushConditionSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + + vl::Ptr RuleAstVisitor::CopyNode(GlrRefCondition* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrRefSyntax* node) { if (!node) return nullptr; @@ -6452,6 +11142,12 @@ namespace vl return CopyNode(static_cast(node)).Cast(); } + vl::Ptr RuleAstVisitor::CopyNode(GlrTestConditionSyntax* node) + { + if (!node) return nullptr; + return CopyNode(static_cast(node)).Cast(); + } + vl::Ptr RuleAstVisitor::CopyNode(GlrUseSyntax* node) { if (!node) return nullptr; @@ -6484,16 +11180,34 @@ namespace vl { /*********************************************************************** -SyntaxVisitor +ConditionVisitor ***********************************************************************/ // Visitor Members ----------------------------------- - void SyntaxVisitor::Visit(GlrRefSyntax* node) + void ConditionVisitor::Visit(GlrRefCondition* node) + { + } + + void ConditionVisitor::Visit(GlrNotCondition* node) + { + } + + void ConditionVisitor::Visit(GlrAndCondition* node) { } - void SyntaxVisitor::Visit(GlrLiteralSyntax* node) + void ConditionVisitor::Visit(GlrOrCondition* node) + { + } + +/*********************************************************************** +SyntaxVisitor +***********************************************************************/ + + // Visitor Members ----------------------------------- + + void SyntaxVisitor::Visit(GlrRefSyntax* node) { } @@ -6517,6 +11231,14 @@ SyntaxVisitor { } + void SyntaxVisitor::Visit(GlrPushConditionSyntax* node) + { + } + + void SyntaxVisitor::Visit(GlrTestConditionSyntax* node) + { + } + /*********************************************************************** ClauseVisitor ***********************************************************************/ @@ -6534,6 +11256,18 @@ ClauseVisitor void ClauseVisitor::Visit(GlrReuseClause* node) { } + + void ClauseVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + } + + void ClauseVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + } + + void ClauseVisitor::Visit(GlrPrefixMergeClause* node) + { + } } } } @@ -6567,11 +11301,33 @@ namespace vl Print(node->second.Obj()); EndField(); } + void RuleAstVisitor::PrintFields(GlrAndCondition* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } void RuleAstVisitor::PrintFields(GlrAssignment* node) { BeginField(L"field"); WriteToken(node->field); EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::glr::parsergen::GlrAssignmentType::Strong: + WriteString(L"Strong"); + break; + case vl::glr::parsergen::GlrAssignmentType::Weak: + WriteString(L"Weak"); + break; + default: + WriteNull(); + } + EndField(); BeginField(L"value"); WriteToken(node->value); EndField(); @@ -6579,6 +11335,9 @@ namespace vl void RuleAstVisitor::PrintFields(GlrClause* node) { } + void RuleAstVisitor::PrintFields(GlrCondition* node) + { + } void RuleAstVisitor::PrintFields(GlrCreateClause* node) { BeginField(L"assignments"); @@ -6598,10 +11357,74 @@ namespace vl WriteToken(node->type); EndField(); } - void RuleAstVisitor::PrintFields(GlrLiteralSyntax* node) + void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectClause* node) { - BeginField(L"value"); - WriteToken(node->value); + BeginField(L"continuation"); + Print(node->continuation.Obj()); + EndField(); + BeginField(L"rule"); + Print(node->rule.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionInjectContinuation* node) + { + BeginField(L"configuration"); + switch (node->configuration) + { + case vl::glr::parsergen::GlrLeftRecursionConfiguration::Multiple: + WriteString(L"Multiple"); + break; + case vl::glr::parsergen::GlrLeftRecursionConfiguration::Single: + WriteString(L"Single"); + break; + default: + WriteNull(); + } + EndField(); + BeginField(L"flag"); + Print(node->flag.Obj()); + EndField(); + BeginField(L"injectionTargets"); + BeginArray(); + for (auto&& listItem : node->injectionTargets) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"type"); + switch (node->type) + { + case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Optional: + WriteString(L"Optional"); + break; + case vl::glr::parsergen::GlrLeftRecursionInjectContinuationType::Required: + WriteString(L"Required"); + break; + default: + WriteNull(); + } + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholder* node) + { + BeginField(L"flag"); + WriteToken(node->flag); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrLeftRecursionPlaceholderClause* node) + { + BeginField(L"flags"); + BeginArray(); + for (auto&& listItem : node->flags) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); EndField(); } void RuleAstVisitor::PrintFields(GlrLoopSyntax* node) @@ -6613,6 +11436,12 @@ namespace vl Print(node->syntax.Obj()); EndField(); } + void RuleAstVisitor::PrintFields(GlrNotCondition* node) + { + BeginField(L"condition"); + Print(node->condition.Obj()); + EndField(); + } void RuleAstVisitor::PrintFields(GlrOptionalSyntax* node) { BeginField(L"priority"); @@ -6635,6 +11464,15 @@ namespace vl Print(node->syntax.Obj()); EndField(); } + void RuleAstVisitor::PrintFields(GlrOrCondition* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } void RuleAstVisitor::PrintFields(GlrPartialClause* node) { BeginField(L"assignments"); @@ -6654,13 +11492,57 @@ namespace vl WriteToken(node->type); EndField(); } + void RuleAstVisitor::PrintFields(GlrPrefixMergeClause* node) + { + BeginField(L"rule"); + Print(node->rule.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrPushConditionSyntax* node) + { + BeginField(L"switches"); + BeginArray(); + for (auto&& listItem : node->switches) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"syntax"); + Print(node->syntax.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrRefCondition* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + } void RuleAstVisitor::PrintFields(GlrRefSyntax* node) { BeginField(L"field"); WriteToken(node->field); EndField(); - BeginField(L"name"); - WriteToken(node->name); + BeginField(L"literal"); + WriteToken(node->literal); + EndField(); + BeginField(L"refType"); + switch (node->refType) + { + case vl::glr::parsergen::GlrRefType::ConditionalLiteral: + WriteString(L"ConditionalLiteral"); + break; + case vl::glr::parsergen::GlrRefType::Id: + WriteString(L"Id"); + break; + case vl::glr::parsergen::GlrRefType::Literal: + WriteString(L"Literal"); + break; + default: + WriteNull(); + } EndField(); } void RuleAstVisitor::PrintFields(GlrReuseClause* node) @@ -6683,7 +11565,67 @@ namespace vl { BeginField(L"clauses"); BeginArray(); - for (auto&& listItem : node->clauses) + for (auto&& listItem : node->clauses) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"type"); + WriteToken(node->type); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSequenceSyntax* node) + { + BeginField(L"first"); + Print(node->first.Obj()); + EndField(); + BeginField(L"second"); + Print(node->second.Obj()); + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSwitchItem* node) + { + BeginField(L"name"); + WriteToken(node->name); + EndField(); + BeginField(L"value"); + switch (node->value) + { + case vl::glr::parsergen::GlrSwitchValue::False: + WriteString(L"False"); + break; + case vl::glr::parsergen::GlrSwitchValue::True: + WriteString(L"True"); + break; + default: + WriteNull(); + } + EndField(); + } + void RuleAstVisitor::PrintFields(GlrSyntax* node) + { + } + void RuleAstVisitor::PrintFields(GlrSyntaxFile* node) + { + BeginField(L"rules"); + BeginArray(); + for (auto&& listItem : node->rules) + { + BeginArrayItem(); + Print(listItem.Obj()); + EndArrayItem(); + } + EndArray(); + EndField(); + BeginField(L"switches"); + BeginArray(); + for (auto&& listItem : node->switches) { BeginArrayItem(); Print(listItem.Obj()); @@ -6691,27 +11633,21 @@ namespace vl } EndArray(); EndField(); - BeginField(L"name"); - WriteToken(node->name); - EndField(); } - void RuleAstVisitor::PrintFields(GlrSequenceSyntax* node) + void RuleAstVisitor::PrintFields(GlrTestConditionBranch* node) { - BeginField(L"first"); - Print(node->first.Obj()); + BeginField(L"condition"); + Print(node->condition.Obj()); EndField(); - BeginField(L"second"); - Print(node->second.Obj()); + BeginField(L"syntax"); + Print(node->syntax.Obj()); EndField(); } - void RuleAstVisitor::PrintFields(GlrSyntax* node) - { - } - void RuleAstVisitor::PrintFields(GlrSyntaxFile* node) + void RuleAstVisitor::PrintFields(GlrTestConditionSyntax* node) { - BeginField(L"rules"); + BeginField(L"branches"); BeginArray(); - for (auto&& listItem : node->rules) + for (auto&& listItem : node->branches) { BeginArrayItem(); Print(listItem.Obj()); @@ -6727,7 +11663,7 @@ namespace vl EndField(); } - void RuleAstVisitor::Visit(GlrRefSyntax* node) + void RuleAstVisitor::Visit(GlrRefCondition* node) { if (!node) { @@ -6735,13 +11671,55 @@ namespace vl return; } BeginObject(); - WriteType(L"RefSyntax", node); - PrintFields(static_cast(node)); - PrintFields(static_cast(node)); + WriteType(L"RefCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"NotCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"AndCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"OrCondition", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); EndObject(); } - void RuleAstVisitor::Visit(GlrLiteralSyntax* node) + void RuleAstVisitor::Visit(GlrRefSyntax* node) { if (!node) { @@ -6749,9 +11727,9 @@ namespace vl return; } BeginObject(); - WriteType(L"LiteralSyntax", node); + WriteType(L"RefSyntax", node); PrintFields(static_cast(node)); - PrintFields(static_cast(node)); + PrintFields(static_cast(node)); EndObject(); } @@ -6825,6 +11803,34 @@ namespace vl EndObject(); } + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PushConditionSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TestConditionSyntax", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + void RuleAstVisitor::Visit(GlrCreateClause* node) { if (!node) @@ -6867,11 +11873,63 @@ namespace vl EndObject(); } + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionPlaceholderClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionInjectClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"PrefixMergeClause", node); + PrintFields(static_cast(node)); + PrintFields(static_cast(node)); + EndObject(); + } + RuleAstVisitor::RuleAstVisitor(vl::stream::StreamWriter& _writer) : vl::glr::JsonVisitorBase(_writer) { } + void RuleAstVisitor::Print(GlrCondition* node) + { + if (!node) + { + WriteNull(); + return; + } + node->Accept(static_cast(this)); + } + void RuleAstVisitor::Print(GlrSyntax* node) { if (!node) @@ -6892,6 +11950,32 @@ namespace vl node->Accept(static_cast(this)); } + void RuleAstVisitor::Print(GlrSwitchItem* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"SwitchItem", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrTestConditionBranch* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"TestConditionBranch", node); + PrintFields(static_cast(node)); + EndObject(); + } + void RuleAstVisitor::Print(GlrAssignment* node) { if (!node) @@ -6905,6 +11989,32 @@ namespace vl EndObject(); } + void RuleAstVisitor::Print(GlrLeftRecursionPlaceholder* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionPlaceholder", node); + PrintFields(static_cast(node)); + EndObject(); + } + + void RuleAstVisitor::Print(GlrLeftRecursionInjectContinuation* node) + { + if (!node) + { + WriteNull(); + return; + } + BeginObject(); + WriteType(L"LeftRecursionInjectContinuation", node); + PrintFields(static_cast(node)); + EndObject(); + } + void RuleAstVisitor::Print(GlrRule* node) { if (!node) @@ -6958,59 +12068,123 @@ namespace vl void RuleAstVisitor::Traverse(vl::glr::ParsingToken& token) {} void RuleAstVisitor::Traverse(vl::glr::ParsingAstBase* node) {} void RuleAstVisitor::Traverse(GlrAlternativeSyntax* node) {} + void RuleAstVisitor::Traverse(GlrAndCondition* node) {} void RuleAstVisitor::Traverse(GlrAssignment* node) {} void RuleAstVisitor::Traverse(GlrClause* node) {} + void RuleAstVisitor::Traverse(GlrCondition* node) {} void RuleAstVisitor::Traverse(GlrCreateClause* node) {} - void RuleAstVisitor::Traverse(GlrLiteralSyntax* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionInjectClause* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionInjectContinuation* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholder* node) {} + void RuleAstVisitor::Traverse(GlrLeftRecursionPlaceholderClause* node) {} void RuleAstVisitor::Traverse(GlrLoopSyntax* node) {} + void RuleAstVisitor::Traverse(GlrNotCondition* node) {} void RuleAstVisitor::Traverse(GlrOptionalSyntax* node) {} + void RuleAstVisitor::Traverse(GlrOrCondition* node) {} void RuleAstVisitor::Traverse(GlrPartialClause* node) {} + void RuleAstVisitor::Traverse(GlrPrefixMergeClause* node) {} + void RuleAstVisitor::Traverse(GlrPushConditionSyntax* node) {} + void RuleAstVisitor::Traverse(GlrRefCondition* node) {} void RuleAstVisitor::Traverse(GlrRefSyntax* node) {} void RuleAstVisitor::Traverse(GlrReuseClause* node) {} void RuleAstVisitor::Traverse(GlrRule* node) {} void RuleAstVisitor::Traverse(GlrSequenceSyntax* node) {} + void RuleAstVisitor::Traverse(GlrSwitchItem* node) {} void RuleAstVisitor::Traverse(GlrSyntax* node) {} void RuleAstVisitor::Traverse(GlrSyntaxFile* node) {} + void RuleAstVisitor::Traverse(GlrTestConditionBranch* node) {} + void RuleAstVisitor::Traverse(GlrTestConditionSyntax* node) {} void RuleAstVisitor::Traverse(GlrUseSyntax* node) {} void RuleAstVisitor::Finishing(vl::glr::ParsingAstBase* node) {} void RuleAstVisitor::Finishing(GlrAlternativeSyntax* node) {} + void RuleAstVisitor::Finishing(GlrAndCondition* node) {} void RuleAstVisitor::Finishing(GlrAssignment* node) {} void RuleAstVisitor::Finishing(GlrClause* node) {} + void RuleAstVisitor::Finishing(GlrCondition* node) {} void RuleAstVisitor::Finishing(GlrCreateClause* node) {} - void RuleAstVisitor::Finishing(GlrLiteralSyntax* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionInjectClause* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionInjectContinuation* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholder* node) {} + void RuleAstVisitor::Finishing(GlrLeftRecursionPlaceholderClause* node) {} void RuleAstVisitor::Finishing(GlrLoopSyntax* node) {} + void RuleAstVisitor::Finishing(GlrNotCondition* node) {} void RuleAstVisitor::Finishing(GlrOptionalSyntax* node) {} + void RuleAstVisitor::Finishing(GlrOrCondition* node) {} void RuleAstVisitor::Finishing(GlrPartialClause* node) {} + void RuleAstVisitor::Finishing(GlrPrefixMergeClause* node) {} + void RuleAstVisitor::Finishing(GlrPushConditionSyntax* node) {} + void RuleAstVisitor::Finishing(GlrRefCondition* node) {} void RuleAstVisitor::Finishing(GlrRefSyntax* node) {} void RuleAstVisitor::Finishing(GlrReuseClause* node) {} void RuleAstVisitor::Finishing(GlrRule* node) {} void RuleAstVisitor::Finishing(GlrSequenceSyntax* node) {} + void RuleAstVisitor::Finishing(GlrSwitchItem* node) {} void RuleAstVisitor::Finishing(GlrSyntax* node) {} void RuleAstVisitor::Finishing(GlrSyntaxFile* node) {} + void RuleAstVisitor::Finishing(GlrTestConditionBranch* node) {} + void RuleAstVisitor::Finishing(GlrTestConditionSyntax* node) {} void RuleAstVisitor::Finishing(GlrUseSyntax* node) {} - void RuleAstVisitor::Visit(GlrRefSyntax* node) + void RuleAstVisitor::Visit(GlrRefCondition* node) { if (!node) return; Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->field); + Traverse(static_cast(node)); + Traverse(static_cast(node)); Traverse(node->name); - Finishing(static_cast(node)); - Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrNotCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrAndCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrOrCondition* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->first.Obj()); + InspectInto(node->second.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); Finishing(static_cast(node)); } - void RuleAstVisitor::Visit(GlrLiteralSyntax* node) + void RuleAstVisitor::Visit(GlrRefSyntax* node) { if (!node) return; Traverse(static_cast(node)); Traverse(static_cast(node)); - Traverse(static_cast(node)); - Traverse(node->value); - Finishing(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->field); + Traverse(node->literal); + Finishing(static_cast(node)); Finishing(static_cast(node)); Finishing(static_cast(node)); } @@ -7078,6 +12252,37 @@ namespace vl Finishing(static_cast(node)); } + void RuleAstVisitor::Visit(GlrPushConditionSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->switches) + { + InspectInto(listItem.Obj()); + } + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrTestConditionSyntax* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->branches) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + void RuleAstVisitor::Visit(GlrCreateClause* node) { if (!node) return; @@ -7128,16 +12333,83 @@ namespace vl Finishing(static_cast(node)); } - void RuleAstVisitor::InspectInto(GlrSyntax* node) + void RuleAstVisitor::Visit(GlrLeftRecursionPlaceholderClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + for (auto&& listItem : node->flags) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrLeftRecursionInjectClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->continuation.Obj()); + InspectInto(node->rule.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::Visit(GlrPrefixMergeClause* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->rule.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrCondition* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrSyntax* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrClause* node) + { + if (!node) return; + node->Accept(static_cast(this)); + } + + void RuleAstVisitor::InspectInto(GlrSwitchItem* node) { if (!node) return; - node->Accept(static_cast(this)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->name); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } - void RuleAstVisitor::InspectInto(GlrClause* node) + void RuleAstVisitor::InspectInto(GlrTestConditionBranch* node) { if (!node) return; - node->Accept(static_cast(this)); + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->condition.Obj()); + InspectInto(node->syntax.Obj()); + Finishing(static_cast(node)); + Finishing(static_cast(node)); } void RuleAstVisitor::InspectInto(GlrAssignment* node) @@ -7151,6 +12423,30 @@ namespace vl Finishing(static_cast(node)); } + void RuleAstVisitor::InspectInto(GlrLeftRecursionPlaceholder* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + Traverse(node->flag); + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + + void RuleAstVisitor::InspectInto(GlrLeftRecursionInjectContinuation* node) + { + if (!node) return; + Traverse(static_cast(node)); + Traverse(static_cast(node)); + InspectInto(node->flag.Obj()); + for (auto&& listItem : node->injectionTargets) + { + InspectInto(listItem.Obj()); + } + Finishing(static_cast(node)); + Finishing(static_cast(node)); + } + void RuleAstVisitor::InspectInto(GlrRule* node) { if (!node) return; @@ -7161,6 +12457,7 @@ namespace vl InspectInto(listItem.Obj()); } Traverse(node->name); + Traverse(node->type); Finishing(static_cast(node)); Finishing(static_cast(node)); } @@ -7174,6 +12471,10 @@ namespace vl { InspectInto(listItem.Obj()); } + for (auto&& listItem : node->switches) + { + InspectInto(listItem.Obj()); + } Finishing(static_cast(node)); Finishing(static_cast(node)); } @@ -7202,38 +12503,68 @@ namespace vl { void ParserGenRuleParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 6495; // 70565 bytes before compressing + static const vl::vint dataLength = 14334; // 195897 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 95; - static const vl::vint dataSolidRows = 25; - static const vl::vint dataRows = 26; + static const vl::vint dataRemain = 254; + static const vl::vint dataSolidRows = 55; + static const vl::vint dataRows = 56; static const char* compressed[] = { - "\xA5\x13\x01\x00\x57\x19\x00\x00\x1A\x00\x01\x82\x80\x09\x03\x82\x81\x82\x06\x89\x82\x85\x0A\x80\x81\x85\x0F\x0A\xA5\x0A\x88\x1A\x85\x16\x85\x21\x0A\xC9\x0A\x8C\x38\x01\x87\x7F\x8F\x20\x9F\x8A\x80\x01\x91\x93\x91\x92\x20\xA7\xA8\x9F\x7A\x90\x95\x97\x92\x2F\xA6\x8A\x8B\x9C\x93\x9B\x95\x98\x29\xB6\xAE\x83\x9A\x81\x02\x9C\x98\x3F\xB2\x9E\x97\x91\xA1\x9F\xA1\x9D\x47\xC0\x89\xA2\xA6\x84\x98\x9C\x91\x45\xD0\x8B\xA6\xAD\xA4\xA3\xA8\xA9\x55\xC8\x99\xAA\xAB\xAC\xA7\x80\xA7\x51\xB5\x97\xA2\xBD\xAC\xAB\xAE\xAB\x65\xD8\xA7\xBA\xAB\xB4\xAD\xB6\xAF\x02\xE0\xA3\xAF\xA4\xB7\xB6\xB3\xB8\x68\xF6\xAA\xB8\xBC\xB4\xBE\xB6\xBF\x70\x81\xB2\xA9\xB5\xB8\xC3\xBA\xC1\x79\x86\xFB\xA8\xCD\xBC\xC7\xBE\xC7\x81\xA4\x89\xD0\xC7\xC2\xC9\xC6\xCB\x8F\x98\xD1\xC3\xCA\xBD\xC0\xCB\xC5\x9A\x95\xDC\xCA\xCE\xC8\x02\x9F\x84\xA7\x84\xE3\x82\x0D\x99\xB3\x91\x01\xAD\xF3\xAE\xD3\xD2\xDD\xDA\xD4\x85\x04\x31\xF7\xC9\x8C\x80\xD6\x84\x03\xBA\x83\x87\x01\xE2\x85\x8E\xDE\xDB\x9D\xA3\x88\x86\x89\xD1\xE4\xDB\xDD\xD0\xCE\xC8\xE4\xD4\xBD\xEB\xE6\xE9\xD1\xD4\xD7\xFA", - "\xE3\xEF\xCD\xD3\xD1\xDE\xD6\xDD\xE1\xD0\xD0\xF0\xF3\xEF\x93\xE7\xE2\xF9\xE1\xF3\xED\xF7\xF1\xE6\xF1\xE9\xF2\xF7\xCC\xF9\xCC\x05\xC4\xEF\xEC\xEA\xFE\xF4\xFC\xF9\xF9\x00\xB5\x71\x81\x66\xF6\x5B\x63\x82\x81\x02\x89\x84\x83\x81\xA2\x4C\x85\x7A\x83\xA5\x4B\x09\x7E\x7F\x06\x4C\x03\x86\x79\x0D\x17\x80\x87\x7A\xD8\x5D\x8C\x76\x41\x0E\x1A\x87\x67\x03\x13\x90\x03\x85\x04\x13\x92\x02\x8B\x82\x0A\x88\x8C\x8B\x8B\x2E\xB1\x8D\x81\x8B\x33\xB0\x85\x8E\x8C\x0F\xB4\x89\x8E\x8D\x3B\xB8\x88\x7A\x8E\x3F\xBC\x81\x92\x8F\x1C\x9F\x8E\x86\x7E\x47\x94\x89\x91\x81\x37\x8D\x9D\x8E\x93\x43\x90\x95\x90\x92\x46\x95\x94\x97\x95\x4A\x96\x99\x94\x96\x4C\x8F\x90\x6B\x04\x2B\x84\x9D\x7C\x05\x61\x92\x9D\x7D\x97\x51\x9E\x99\x9B\x9A\x53\x9B\x9E\x98\x9A\x6D\xB0\x97\x9B\x86\x73\x80\x91\x9C\x9D\xFF\x76\x95\x9E\x90\x77\xBA\x99\x9C\x9F\x0A\x55\x05\x9A\x9A\x7D\x80\xAF\x9E\x98\x87\xA6\x99\xA0\xA1\x7B\x91\x66\x07\xA0\x6C\x8D\xAA\xA3\x7E\x72\x8B\xA1\xA6\xA5\x85\x88\xA4\xA4\x9E\x9B\xBE\x9D\xA6\xA1\x9F\x9A\xAB\x90\xA7\xA3\x9E\xA5\xA8\xA8\x49\x97\x00\xA5\xA6", - "\x93\xA7\xA2\xAA\x96\x95\xA1\xAD\xA8\xAC\xA4\x82\x48\x07\xAA\x92\x8C\xA8\xA5\xAE\x97\xB2\xAA\xAE\xAF\xBD\xAE\xA3\xAC\x97\xB5\x84\xB6\xA8\xAD\xC7\x86\xB8\xA8\xB2\xCB\x8A\xBF\xA9\x40\x19\x38\xA9\x42\x43\xCC\x7D\x7B\x06\xB4\xC0\xAC\xAF\xAF\x40\x1C\x18\xB3\x41\x07\x13\x9E\x03\x84\x44\xC7\x46\x40\x0A\xB7\xCC\x8F\xBF\x99\xB1\xEB\x89\xBD\xB9\xB3\xEF\xAA\xB1\x08\xBA\x58\xA2\x04\xBD\xBC\xC3\xB8\xBB\xB5\xBA\xF9\xB1\xA2\xB3\xBE\xCE\xBD\xB9\x7B\x08\xF7\xA4\x07\xBE\x44\xE5\xBF\xB1\xB0\xBF\x00\xC0\x06\x0B\xBD\x27\x13\x84\x45\xC2\x02\x69\x03\x86\x0A\xF7\xBE\xBC\xC3\xC2\x01\xCD\xCA\xC5\xC7\x1C\xFA\xB5\x6B\x0A\x19\xEC\xBF\xC6\xC8\xDA\xA1\xC7\xCA\x79\x2C\x25\xCE\xBB\xCA\x26\xF1\xCF\xCA\xCC\xF0\xB0\xC3\xCF\xCD\x35\xF4\xCA\xBA\x45\x14\xE0\xC9\xCB\xCF\xBC\x80\xDB\xAF\xD0\xFB\x6E\x0E\xC9\xCE\x38\xEA\xB6\xCC\xD2\x4C\xCA\xDA\xCE\xC0\x49\xD0\xDD\xD2\xD4\x4E\xD1\xDE\xC4\xBB\x2F\x07\xDA\xB8\x0C\x5A\xD4\xDE\xD7\xD5\x56\xEA\xCF\xD0\xD8\x53\xE4\xD5\xD5\xD9\x62\xEE\xB1\x0D\xD7\x66\xDF\xD9\xD8\xDA\x42\xD9\xB1\xD3\xDC\x44\xCA\xC1\xDE\xDD\xFD", - "\x72\x0C\xDB\xDB\x67\xFD\xDE\xDB\xDD\x1B\xC0\xEE\xCC\xDD\x72\xF5\xD1\xE1\x7F\x33\x3B\xD2\xE0\xCA\x84\xF8\xD6\xE3\xE0\x8F\xCC\xE1\xE7\xD2\x7E\xED\xD6\xE4\xDF\x7F\xCD\xE7\xE1\x42\x34\x0A\xEA\xE4\xE4\x85\xE1\xEE\xE2\xE8\x9B\xE4\xE0\xEB\xE8\xA8\xE5\xE3\x41\x0D\xF7\xB6\x07\xBF\x0D\x9E\xD3\xEC\xB8\x0E\xF7\xB9\x03\x86\x0E\x13\xBB\x03\x84\x0F\xB1\xE6\xE2\xE6\xEF\x94\xD5\x6D\x0F\xBD\x3E\x37\xBF\x0D\xEF\xA9\xE7\xE2\x40\x10\xF7\x81\x13\x86\x10\x13\x98\x4D\xCC\x00\x44\x08\xFA\xEB\xF5\xCA\xD9\xFF\xED\xF2\xDB\xD8\xFD\xF6\xF6\xC1\xD7\xEB\xE1\xF8\x98\xE2\xFF\xE6\x9B\x45\x37\xB6\x13\xBD\x47\x16\xF0\xF8\xBB\x48\x37\xBA\x47\xF4\x4A\x13\x8B\x13\x84\x4C\x2E\xF0\x01\x13\x13\x8E\x1A\xFC\xF9\xE3\x63\x6D\xF9\x03\x81\x81\xB0\x45\x80\x6E\xE7\x6F\x0B\x84\x50\x0F\x7E\x01\x87\x85\x72\x04\x87\x7C\x00\x92\x8E\x80\x0A\x86\x86\x82\x08\x92\x77\x65\x51\x07\x5E\x29\x37\x5B\x0A\x0D\x97\x83\x78\x54\x07\x5F\x2A\x13\x46\x0A\x13\x57\x0B\x84\x58\x01\x85\x0C\x80\x7D\x82\x1A\x8E\x84\xF7\x13\x81\x86\x08\x8F\x81\x73\x35\x98\x87\x0B\xEE\x59\x0B\x7B\x5A\x0F", - "\x5E\x5B\x0D\x86\x0D\xFD\x3C\x0B\x7B\x5D\x0B\x42\x5E\x13\x43\x17\x13\x40\x0C\xFD\x61\x0B\x42\x62\x02\x8A\x0E\xB3\x80\x87\x1D\xB2\x86\x7B\x34\x96\x8B\x10\xB9\x86\x7C\x2E\x91\x86\x8B\x37\x9D\x8A\xEF\x63\x02\x8A\x31\x94\x8F\x32\x64\x13\x41\x19\x65\x8F\x8A\x2D\x93\x88\x8B\x55\x87\x8F\x15\xEF\x72\x84\x37\xA6\x88\x8E\x75\x83\x22\x19\x77\x57\x0D\x7B\x68\x0C\x8D\x61\x85\x35\x1A\x77\x5A\x0D\x09\x6B\x0B\x42\x6C\x13\x41\x1B\x00\x98\x83\x2D\xB6\x8D\x8D\x72\x8E\x91\x24\xEF\x84\x8F\x39\x9F\x78\x00\x6E\x0C\x90\x18\x8D\x94\x93\x4B\x99\x8B\x92\x77\x95\x92\x24\xF8\x86\x93\x4F\xA4\x93\x94\xA2\x9D\x92\x29\xA9\x9D\x61\x37\x1A\x97\x91\x81\x91\x94\x27\xA1\x9E\x93\x38\xA7\x92\x95\xB6\x8C\x94\x24\xB7\x94\x97\x55\xB5\x91\x8F\xBC\x9B\x96\xF6\x70\x0F\x95\x81\x31\x0D\x98\xC1\x92\x97\x26\xCB\x90\x97\x59\x82\x9F\x97\xA5\x99\x94\x34\xA8\x93\x9A\x5C\x80\x9A\x97\x6D\x52\x0C\x32\xD8\x9E\x98\x65\x8D\x99\x21\x73\x0A\x20\x6C\x63\x36\x0E\x71\xBD\x39\x0F\xE6\x8C\x98\x28\xA5\x3C\x0F\x74\xBB\x3F\x0F\xEE\x83\x22\x20\x71\x92\x21\x42\x34\x99\x20\x88\x17", - "\x9D\x35\xBD\x92\x9A\x5F\xBE\x9D\x9F\x00\xB7\x9B\x3E\xCF\x9F\x9E\x81\x85\xA1\x9A\x06\xA1\xA0\x42\x8B\xAA\x5D\x45\x1B\x98\x00\x8C\x0F\xA3\x41\xD4\x9E\x97\x46\x12\xA2\xA1\x14\xB8\xA2\x35\x8C\xAB\xA3\x8C\x89\xA7\x32\x8E\x17\xA3\x47\x96\x9F\x10\x91\x9C\xA4\x9F\x23\xBE\xA3\x49\x84\xAA\xA2\x5A\x90\x17\xA1\x91\x06\xA6\x4A\xB3\xAD\xA3\x9A\xA8\xA3\xA5\xDE\x8B\x9D\x4E\xC9\x9D\x9B\x9E\xA3\x3A\x12\x13\x53\x12\x4C\xB6\xAC\xA5\x94\x84\xAB\xA7\x58\x54\x13\x50\xB7\xA4\xA6\xA6\x87\xAE\xA7\xDF\x91\xAA\x4E\xD0\xA3\xAA\x75\xBC\xA6\xAA\x01\x35\x13\x43\x96\x1B\xA9\xA2\xB8\xA7\x7C\x97\x1D\xA8\x52\x83\xA3\xAD\x89\x8F\xA8\xAB\x64\xA7\x7C\x26\x62\xA4\xAA\xEF\x59\x14\xAD\x68\xA6\xAE\x53\xF3\xAE\xAB\xA6\xB5\xA9\x5F\x9A\x0F\xA3\x26\x70\xA2\xAB\xAB\xBD\xAC\x9B\x71\xAD\xA7\x5D\xF4\xA5\xAC\xC1\x85\xB6\x5D\x9C\x13\x41\x27\x7C\xA5\xAB\xBF\xA9\xA9\xB0\x02\xBE\x10\x63\xFE\xAD\xB1\xCA\x94\xB7\xB2\x80\xAE\xB3\xC9\x1F\x13\xB3\xCC\x96\xB6\xB3\x98\xAF\xB3\x7E\x20\x1D\xB2\xD1\x9F\xB7\x92\xA1\x05\xB6\x5C\x83\xBC\xB5\xC3\x9F\xA8\xB2\xAF\xA6\x22\x28\x2A", - "\xB6\xB1\xFE\x23\x14\xB6\x46\xA4\xB1\x5B\xA0\xBC\xB6\xD3\xA1\xB6\x3C\xA4\x0F\xA1\x29\x38\xB1\xB7\xD3\xAB\xB6\xB5\x76\xA8\xBB\x59\x9A\xB5\xB6\xD8\xAA\x5E\x14\x13\x47\x14\x71\xC9\xBB\xB6\xDF\xBD\xB7\xB8\xD5\xB8\xBA\x73\xCB\xB9\x48\x54\x13\xBC\xBB\xBF\xAD\xB8\x73\xB9\xBD\xB5\xEC\xA2\xBE\xB8\xE7\xA1\xBC\x79\x8B\x79\x15\x09\x6A\x17\xBB\xBA\xBB\xB9\x7C\x8E\xBB\x14\x7D\xA6\x3E\x15\xF6\xA9\x3D\x2C\x79\xBB\xBD\xF3\x74\x14\xBF\x99\x37\x16\x3E\xBA\x1A\x9F\x5E\x3A\x98\x18\x00\xD4\xBA\x7C\xE5\xBB\xC0\xE5\xA0\x33\x18\x13\x44\x18\x7C\x8C\xCB\x3F\x62\x13\xC6\xC1\x14\xC8\xBD\x7F\x8D\xC6\xBD\x0D\xE3\xBD\xB8\xEA\xA0\xC7\x75\xE9\xB1\x20\x63\x17\xC5\xC3\x22\xD6\xBA\x8A\xDA\xBF\xC2\x05\xFE\x77\x18\x27\xDC\xC2\x8C\xAD\xC0\xBD\xDE\x88\x1F\xA1\xC9\x11\xC4\x8D\xF3\xBA\xC3\x14\xEC\xC3\x20\xCA\x0F\xA0\x21\x2C\x36\x21\xDC\x23\x2C\x26\x46\xC4\x30\x92\xE1\x2B\xC9\x23\xEB\x21\xC9\x9D\x2D\xCA\x92\xCF\xCC\xC9\x95\x04\xCE\x20\x12\x43\x2C\x94\xA4\x32\xCB\x28\xD4\xCE\xC9\x28\x37\xCB\x40\x78\x3A\xCB\x2A\xE8\x23\xCB\xDE\x3D\xC8\x97\xD6\xCA\x20\x32", - "\x65\xC8\xCC\x25\x28\xCF\x79\x6A\xC9\xCC\x36\xC9\x21\xCB\x84\x32\xCC\x4D\x74\xC3\xCF\x2F\xD3\xC9\xCC\x0A\x38\xCD\x67\x7A\xCB\xCF\x33\xE6\xC9\xCE\x87\xC1\x26\x98\x82\x29\x42\x4B\x74\x26\x38\x06\x31\x5B\x9B\xFF\xC8\xD0\x38\xE1\x24\xD0\x85\xCA\xD2\x42\x4B\x3A\x61\x47\xCA\x26\x44\x93\xDE\xC8\xA0\xF7\xC1\x2D\x45\xC1\x24\xCC\x84\x26\xD4\x00\x6E\xC9\xD5\x40\xE5\xD6\xD5\x63\x2A\xD5\xA3\xC0\x5E\xD3\x84\x12\xD5\xD5\x09\x3C\xD3\xC6\x35\xD6\x20\x50\xF4\xD3\x25\x90\xC3\x22\xBD\x63\x20\x38\x4B\xE0\x25\x39\x02\x28\xDA\x77\x41\xD2\x20\x30\x44\xD9\xD1\xC7\xCA\x22\xAA\xBC\xD3\x20\x67\xC4\x35\xD8\x94\xD7\xD0\xB4\x9F\x28\xD3\x4C\xDC\xDB\xDB\xFF\x1D\xDA\xB7\xE2\xD9\xD2\x72\xC5\xD6\xDC\x7B\xCA\xD6\xA0\xA4\x38\xDC\x3E\xDE\xDA\xDB\xC6\xDF\x22\xAA\xA8\xD3\xD0\x70\xED\xDE\xCF\xA2\xC5\x26\xAA\xAC\xD5\xDF\x78\xE1\xDE\xDE\xE0\xCA\xDD\x58\x77\xD6\xD0\x7F\xC4\xE2\xDF\xB0\xD9\xCC\xC0\x86\xE1\xE0\x85\x33\xD5\xD3\xC0\xCA\x23\xAD\xFD\xD9\xDA\x90\x07\xE0\xDE\x15\xF2\xDF\xA6\xBC\x54\xDA\x81\x3E\xD4\xE2\xF9\xD8\xE1\xC8\x96\xEB\xE1\x8C\xFF\xDC\xE1", - "\x28\xE6\xE6\xC0\xA1\xDB\xCD\x82\xE6\xE7\xE2\x20\x33\xDF\xC0\xA5\xE3\xE5\x6F\xFE\xDB\xDF\x33\xE9\xE5\xCD\xA7\xEA\xE5\x84\xE0\xE5\xE5\x95\xCF\xE5\xC3\xA4\xDC\xE5\x3A\xEE\xE3\xE7\x30\xFA\xE1\x42\x0F\xEB\xD7\x88\xF6\xD1\xE7\x42\xFA\xE4\xD0\x9A\xD9\xD6\x8E\xCE\xED\xD7\x61\x38\xDB\xCE\xDA\xE3\xEA\x28\x5D\xE1\x20\xB7\x4F\xDA\xBF\xCA\xDC\x27\xAF\xC0\x06\xDA\x9D\x3C\xEA\xD1\xA5\x2A\xED\x3E\xE8\x25\xED\xEF\xC4\xE6\xD4\xEB\xE2\xE5\xAE\xF6\xE1\xEA\x78\xE8\xEB\xD0\xD8\xC0\xEA\xBD\xF3\xEE\xED\x08\xE9\x20\xBD\xEC\xD4\xE6\xBB\xFC\xE3\xE7\x38\xE5\xE8\xE0\xF5\xE4\xEE\xB9\xFD\xE4\xE8\x0A\xFF\xED\xDC\xF7\xE8\xF0\x9F\xC4\xF2\xF2\x93\xE9\xEB\x3F\x32\xD6\xEA\x94\x0C\xD8\x5A\x7D\xE6\xF2\xE6\x9A\xFA\xD4\x5D\xE0\x66\xEC\x1F\xF7\xF1\xDE\xA2\xFB\xEF\x81\x2B\xDE\x3B\xA4\xEA\x23\xE0\xB0\xFD\xF4\x81\x3C\xDA\xF5\x95\xF0\xF3\xCF\x8D\xFA\xE8\xBE\xCA\xF3\xF2\x9B\xEE\xE1\xE7\xA5\x2F\xF2\x00\x13\xE0\xF7\x86\xE5\xF7\xF0\xA1\x25\xF9\xD4\xF4\xF7\xE6\x96\xFE\x3A\xCC\xB1\xDD\xCD\x57\xFA\xF4\x34\x2B\xF8\xD6\x41\x4C\xE7\xF5\xAB\xC3\x27\xF8\xD2\xFB\xE2", - "\xA3\xDE\xFE\xE3\xAC\xE0\xD8\xEE\x93\xE3\x9C\xD6\xE3\x25\xF8\x71\x62\xEE\xE4\xE8\xF1\xEE\xFA\x83\x2E\xF9\xF3\x2D\xF9\xF4\xBC\xE7\xF0\xEB\x98\xF1\xEF\xD8\xD7\xFF\xF9\xAB\x79\x7F\xD3\x71\x79\x01\x8B\x78\x31\x75\x7D\xBF\x79\x79\xB5\x71\x10\xAF\x77\x1E\xA3\x7B\x80\x00\x0D\x80\xEE\x6A\x80\xD0\x7B\x74\xCB\x70\x12\xC5\x70\x7E\x0E\x85\x78\x02\x82\x7E\xBF\x6E\x79\x9F\x68\x7F\x06\x84\x79\xFB\x7F\x78\xBE\x74\x80\xB9\x76\x10\xB3\x7B\x81\x15\x86\x10\xB7\x70\x80\x29\x8E\x7A\x22\x80\x7C\xD9\x7B\x7B\x23\x81\x7C\x16\x83\x7E\x20\x8F\x74\x09\x81\x77\xCA\x7A\x83\xC4\x71\x82\xEF\x7B\x75\xE0\x63\x7F\x3C\x1B\x6C\x47\x87\x6D\xE7\x75\x84\x49\x8D\x19\xC5\x74\x17\x0F\x8C\x7F\xEF\x61\x85\x05\x80\x7C\xFE\x77\x82\x36\x86\x85\x1C\x87\x83\x03\x89\x85\x14\x85\x85\x93\x79\x78\x28\x85\x82\x7E\x76\x82\x32\x8D\x83\x53\x8B\x85\x34\x81\x7D\x2C\x80\x86\xFD\x70\x81\xDC\x72\x32\x66\x7A\x81\x13\x8F\x86\x52\x8E\x6D\x3F\x8F\x81\x41\x89\x10\xF5\x74\x13\xF1\x7F\x6E\xAA\x64\x76\x68\x26\x76\xD3\x60\x21\x66\x76\x84\xDE\x1F\x87\x78\x8A\x10\x16\x28\x86\xE3\x6A", - "\x86\x5F\x81\x83\x02\x1A\x88\x8E\x75\x86\x96\x84\x86\xC9\x7A\x10\x21\x2E\x88\xE5\x60\x89\x76\x86\x86\x02\x1D\x88\x63\x89\x7F\x54\x82\x89\x0C\x86\x7D\x06\x14\x89\x24\x84\x8A\x9E\x80\x88\x6C\x84\x13\xAA\x6B\x89\xA3\x87\x83\xA5\x89\x89\xFF\x77\x1E\xAA\x62\x8A\x5E\x8F\x89\x97\x8D\x81\x82\x78\x8A\x03\x1A\x8A\xFA\x7C\x8A\x77\x89\x69\x5D\x88\x7D\x9A\x83\x83\x91\x88\x89\xBE\x8A\x82\xC0\x81\x8A\xCA\x8C\x8B\xCC\x8C\x85\x08\x8A\x7D\xC1\x81\x8D\x69\x85\x8C\x85\x62\x86\x9D\x11\x8B\xD8\x8F\x88\xDA\x89\x6E\xD5\x8D\x8D\x8C\x8F\x8D\x9D\x81\x8E\xB0\x8F\x8A\x76\x69\x8A\xE6\x87\x6E\xAD\x8B\x88\xB7\x89\x8E\x09\x12\x8B\xBB\x89\x8D\x6E\x8E\x8A\xF1\x8B\x8E\x03\x1A\x8B\xC8\x74\x8C\xF7\x80\x8F\x58\x88\x8C\x09\x12\x8C\xB5\x8E\x8F\xA6\x81\x81\xCF\x81\x10\xF4\x8D\x8F\xB4\x8F\x8E\xC6\x8A\x8E\xA3\x65\x21\xED\x8B\x67\x05\x94\x8D\x39\x8A\x87\xCC\x72\x71\x09\x90\x00\x04\x9E\x90\xEE\x8D\x82\x03\x11\x87\x83\x84\x7E\xA0\x74\x7D\xF3\x83\x91\x75\x86\x8F\x07\x92\x92\x86\x84\x92\xC6\x7B\x91\xFC\x80\x83\xD3\x8A\x85\x20\x97\x10\x17\x8F\x11\xCD\x7B\x91", - "\x1D\x98\x8E\xF8\x66\x8B\x06\x16\x7A\x72\x8E\x92\x7D\x8A\x8F\x02\x1B\x90\x32\x96\x90\x33\x91\x86\x1E\x80\x71\x3B\x8B\x7E\x18\x98\x81\x0A\x1A\x2A\x43\x8E\x93\x03\x12\x88\x2D\x9D\x94\x03\x15\x88\x11\x95\x95\x37\x9F\x0F\xC5\x7A\x95\x6C\x70\x6E\x74\x16\x76\x2C\x9F\x76\x10\x86\x95\x40\x24\x88\x1B\x98\x96\x42\x2A\x96\x53\x99\x7F\xC2\x82\x8F\xD5\x20\x84\x19\x99\x10\x60\x94\x75\x73\x9F\x94\x38\x92\x6D\xE6\x75\x93\x01\x14\x22\x74\x90\x95\x09\x10\x2E\x26\x92\x91\x9C\x8F\x91\xFF\x87\x8E\xA0\x81\x10\x3B\x99\x98\x88\x9D\x8B\x16\x90\x22\x28\x9D\x93\x48\x95\x99\x91\x9B\x8F\x93\x97\x74\x49\x9E\x83\x10\x91\x78\xEC\x87\x98\x14\x9E\x91\xE2\x89\x8F\x5B\x95\x94\x99\x91\x74\x90\x9B\x86\xA4\x9E\x99\x98\x90\x9A\x29\x90\x8E\x8B\x90\x00\x2B\x82\x97\xD7\x8E\x9A\x94\x9D\x90\x7E\x92\x9B\x1B\x96\x94\x6D\x89\x9A\xCB\x8D\x8C\x63\x60\x93\xA7\x9C\x78\xB8\x91\x9B\x2F\x88\x8B\xBF\x13\x9C\x95\x8B\x99\xF8\x8E\x82\xBB\x9A\x9C\xAB\x85\x9C\x07\x97\x9C\xB4\x90\x8D\xB6\x9A\x99\x96\x9A\x9A\x01\x91\x7E\x03\x90\x9D\xC3\x82\x9D\x54\x92\x10\x12\x84\x94\x0A", - "\x9E\x9D\x15\x9A\x9D\x67\x86\x8D\xD6\x93\x8B\x34\x9E\x98\xA3\x9B\x9D\xC8\x9D\x9D\xD7\x98\x9A\xCC\x90\x90\xE9\x94\x8E\x27\x93\x9F\xC4\x9D\x9E\x07\x93\x9E\xA5\x91\x10\x31\x9D\x9B\xF5\x9A\x98\x2B\x9D\x95\x19\x8A\x93\xE6\x92\x9A\xD5\x91\x10\x65\x9D\x96\x2E\x94\x87\xE4\x90\x00\xBC\x9F\x9A\x04\xA3\xA0\xDB\x82\x7C\x81\x9B\x97\x3C\x8A\x9E\x00\xA9\xA0\x3C\x9F\x9F\x04\x16\xA0\x42\x8C\xA1\x1C\x9E\xA1\xEE\x9B\xA0\x21\xA9\xA1\x5E\x93\xA2\xF8\x92\x99\xFA\x9B\x9C\xD9\x9A\x94\x55\x7A\xA2\x39\x9F\x96\x97\x92\x10\x2A\x25\x98\x03\x10\x98\x7A\x9B\xA2\x83\x9D\x97\xB1\x9C\xA3\x4C\x9B\x87\x06\x14\x98\x4A\x89\x9B\x42\xAD\x74\x58\x92\x10\x46\xAE\x84\xE3\x84\x1A\xBD\x16\x72\x51\xAB\x73\x53\xA6\x78\xC5\x79\xA3\x84\x15\x7C\x28\x23\x16\x55\xA9\x7F\xC5\x74\x2E\x59\xA0\x29\xC5\x7F\x28\xEC\x75\x8E\x65\xA9\x10\xD7\x27\xA6\x06\x12\x28\x6A\xA3\x10\x6C\xA1\xA6\xAB\x95\x97\xF0\x96\x76\xD4\x2E\xA4\xD3\x21\x16\xC5\x7D\x2D\x6D\xA2\x10\xE7\x2B\xA7\x01\x1D\xA7\x70\xA6\x2E\x61\x1B\x0B\x64\x73\x21\xAA\x68\x88\x3C\x14\x76\x87\xA8\x1B\x4D\x89\x6C\x7C\x99", - "\x10\x88\xA3\x12\x8A\xAA\x4F\x92\xAF\xA8\x06\x11\xA9\x86\xA4\xA9\x99\xA0\xA9\x8D\xA1\x10\x93\xAC\xA9\x09\x12\x67\x5D\xA5\xA2\x09\x13\x1C\xD3\x3B\xA8\xA5\xAB\xA9\x97\xAC\xA8\xA9\xA7\xAA\xFA\x46\xAA\x79\x99\x95\xAF\xAA\xAA\x03\x18\xA8\xB0\xAC\x95\x76\x93\xAB\xAE\xA0\xAA\x06\x17\xAB\x8E\xA9\xAB\xBC\xA3\x10\xC5\x7F\xA9\xAB\xA9\x10\xC3\xA6\xA9\xB5\xAC\xAA\x06\x17\xAC\xC0\xA5\xAC\xCB\xA4\xAB\x02\x18\xA8\xCC\xA6\x10\xA8\xAF\xAC\xBB\xAE\xAC\xC2\xA0\xAD\x01\x12\xAD\xDA\xA0\x00\x88\xA0\x94\xC4\xA9\xAC\x33\xA1\xAB\x02\x15\xAD\x03\x12\x67\xE0\xA8\xAC\xD1\xAB\x94\xBF\xA4\xAD\xFA\x49\xAE\xCD\xA2\xAE\x3F\x9D\xAD\xDF\xA4\xAF\xEC\xAE\xA9\xEA\xAB\xAD\xFA\x48\xA8\x72\x68\xA8\xFE\xAB\xAF\xFA\x4B\x82\x2B\x82\x67\x02\xB2\x7B\x06\xBF\x8B\x08\xBE\xAE\xC1\xA5\xAE\xFA\x42\x67\xE6\xAC\xB0\x0B\xB1\x10\x0F\xB2\xB1\xFA\x43\xB1\x00\x06\xB1\x0D\x88\xA8\x19\xBA\xAC\xF7\x9B\xAE\xB7\x8A\xB1\xFA\x4B\xB1\x1F\xBC\x86\x88\xA1\xAE\x1E\xB4\xAE\x14\xB1\xB1\x00\x02\x67\x26\xBA\xAF\xD7\xA2\xAF\xB8\xAA\xB0\xD8\xAD\xAE\xB2\xAA\xB2\x2D\xBE\xAD\xF6\xA9\x10", - "\x01\xA7\xB3\x88\xA1\x87\x3C\xB9\x8C\x2F\xB7\xB2\xAD\x98\xB2\x17\xBD\xB0\x18\xA4\xB4\x16\xB2\x67\xBC\x9F\xB3\xA1\xA6\xA6\x48\xBA\x4F\x3E\xB9\xAF\x38\xB9\x9F\x4F\xBA\xB2\x3B\xB2\xB5\x3D\xB9\xB3\x2E\xA5\xB5\x33\xBD\xA1\x41\xBE\xB2\xDB\x7A\xB5\x03\x1B\xB4\x58\xBE\xB4\x31\xB5\xB3\x5D\xB0\x00\x51\xB1\xAF\x42\xB6\x9A\x5F\xB3\xB5\x86\x9C\xB5\x30\xBC\x68\x62\xBE\xB6\x72\xBD\xB6\x5E\xB7\xB7\x60\xB1\x92\x75\xB5\x9E\x6F\xB8\xA8\x49\xA1\x10\xF5\x7B\xA5\x06\x18\xA5\xD5\x6F\xA4\x01\x1F\xA6\x43\xB7\xB6\x10\xB9\xB6\x8A\xB4\xB7\x7F\xB1\x28\x40\xBA\xB7\x70\xBE\xA6\x66\xB4\xB3\x8D\xB3\xB7\x01\x12\x67\x8F\xBC\xA0\x7D\xBB\xB2\x92\xB4\xB5\x8C\xB9\xB2\x69\xBC\xB9\x97\xB8\xAF\x6C\xBB\xB7\x02\x1D\xB9\x6A\xBF\xB9\xAC\xB4\xB6\xA9\xB5\xB9\xAB\xB7\xBA\xA6\x15\xB6\x09\x1C\xBA\x6B\xB2\xB3\x9A\xB0\x00\xAF\xBE\xBA\xB4\xBC\xB4\x6B\xA7\xB4\xA3\xB5\xB4\x2A\xBD\xBB\x91\xB7\xBB\xBF\xB6\xBB\xC1\xB7\x91\xC3\xB6\xB1\xC6\xB4\xB9\x88\xAC\xBA\x57\xB1\xBB\xD1\xB2\xBC\x98\xB4\xBA\xBB\xBF\xBC\xCD\xBA\x4F\xD2\xBE\xBB\xCC\xB7\xBD\xC4\xBE\xB8\x93\xBB\xBD\x2A", - "\xB4\xA6\x06\x12\x95\x06\x11\x76\x91\x6C\xB1\x02\x12\x67\x23\x1E\x06\xA6\x64\x76\x88\xA1\x31\x9D\xAF\x06\xF1\xB2\xB5\x06\x3D\xA9\x70\x07\xBF\xD3\x3E\x7E\x8D\xA1\x07\xFC\xBD\xA8\xAC\xBD\x26\x23\x1B\x82\x04\xC4\xBB\x6D\x2A\xB4\x9D\xA0\x00\x72\x01\xC0\xE7\xAC\xA2\x49\x83\x07\x0E\xCD\xBE\x0A\x1A\xBE\x4D\x84\x07\x13\xC8\xBA\x45\xAB\xC0\x75\x09\xC1\xE1\xB2\x6C\x0B\xC6\x07\x1E\xC2\x67\xBC\x3D\xA9\x77\x03\xC2\x0A\x13\x3C\x9D\xA8\x07\x28\xC9\x10\xC5\x3D\xA9\x79\x0E\xC1\xA3\xAD\x39\x9D\xAA\x07\x32\xCA\x10\x34\xCD\xA8\x7B\x07\xC3\x09\x1A\x3B\x9D\xAC\x07\x3C\xC6\x10\x3E\xCD\xA8\x7D\x01\xC4\x03\x10\x3D\x9D\xAE\x07\x46\xC2\x10\x48\xCD\xA8\x7F\x0E\xC1\x6D\x7D\x3E\x9D\xA0\x08\x1E\xCE\xAB\x01\x17\x3F\x9D\xA1\x08\x55\xCA\x10\xF9\x3D\xA9\x82\x0B\xC5\x09\x1D\xC5\x8D\xA3\x08\x1E\xCB\x0C\x0B\xCA\x6A\x63\x5A\x6A\x1A\x8B\xC0\xA0\xB3\x1E\x23\x1E\xB0\x52\xBF\xC6\xEC\xB8\x25\xA2\xA2\xB5\x71\x83\x12\xC5\x78\x6E\xCA\x13\xC7\x1F\xC2\x10\x56\xCC\x13\x01\xAA\xC7\xD6\xBB\xB9\x52\xB0\x94\x23\x15\x7F\x82\xC9\x10\x84\xBF\xC0\xB1\xBD\x80\x23\x17", - "\x9C\x89\xCB\xBC\x45\x62\xB5\x86\xB9\x84\x16\xC4\xC1\x09\x1A\xA7\xBA\xB2\x10\x1A\x80\xC7\x09\x16\xBE\x4D\x8E\xBF\x8C\xC6\x10\xC3\x6B\xC9\x01\x1D\xA4\x98\xC9\xB6\x85\xA5\x5D\xFD\xAB\xC0\xBE\x43\xAA\x6B\xCA\x10\xF9\xB4\xB4\x27\x33\xAA\x68\xC1\x11\xF7\x23\x2F\xD3\x33\xAA\x77\xCA\x10\x0F\x33\x3D\xB5\xCA\x10\x7F\xC3\x12\xF4\xB4\xCB\xEC\x23\xAA\x86\xC3\x11\xFA\x33\xAA\x8E\xCA\x10\x16\x30\xCC\xC7\xCA\x10\x95\xC7\x84\x18\x33\x3D\x24\x31\xBB\xE6\x13\xAA\xA0\xC9\x84\x3C\x34\xB4\x46\x38\xCD\xE9\x1F\xC7\x4F\x8D\x1F\x5C\x30\xCE\x97\x15\x7C\x6D\x73\x12\x7A\x30\xCD\xEE\x20\x94\xB7\xC1\x39\xA5\xC3\xBC\x2B\x89\xCE\x0A\x19\x38\x2A\xB7\x32\x0D\x8F\xCE\xBE\x34\x30\xD3\x31\xA0\xF4\xC9\x10\xAE\x37\xCF\xEC\x21\x87\xB1\xC9\x10\xB6\x3D\xB4\xE3\x13\xCB\xA3\xCC\xB7\xB1\xB3\x12\x2A\xC3\xC9\xE3\x13\x31\x06\x1C\xCB\x83\xCC\x13\xCE\x38\xD0\xFB\x1D\xCD\x0B\xD0\xB9\xBD\xAB\xC0\xE9\x38\xD1\x49\x2B\x36\x20\xDC\xD1\x03\x19\xCC\x09\x13\x3F\x10\xDB\x1F\xAC\x33\xD2\x9E\xB7\x8B\x23\x1C\x3F\x2C\xDE\x26\x07\xD9\xD2\x0C\xD5\xB8\x0B\xCC\x41\x31\xD6\x42", - "\xB1\xBF\xD0\x1B\xDD\xD2\x06\x1B\xCD\x47\x8A\x42\x31\xD1\x44\xB1\xB7\xD1\x34\xD6\xB7\x03\x1B\xC8\x49\x8E\x4B\xBC\x91\xB8\x65\x72\x4D\x4E\xD5\xD0\x06\x17\x44\x31\xD6\x1E\x1F\xD7\xD4\x7F\x91\xC7\x0A\x1F\x44\x55\xD9\x1E\x28\xD3\x10\xA3\xAE\xD4\xBD\xC9\x10\x6B\x4D\xD5\x97\x1E\x3F\x31\xDE\xD4\xC3\xCA\x10\x83\x46\xD6\x99\x1E\x41\x69\xD7\xAF\x3C\x1B\x48\x6E\xD1\x19\x28\x41\xD7\x2E\xDA\x10\xC7\x45\xD7\x95\x1F\x43\x78\xD6\xD3\x9D\xA5\x07\x7C\xC8\x4E\xB1\xB9\x44\x7F\xD3\x10\x40\xDC\x13\x7B\x0C\xC7\xF0\x41\xBB\x51\x41\xD3\x83\xBE\xCA\xD2\x4A\xD4\x8C\x9B\xC0\x81\x0A\x3F\xD3\xC4\xAA\x8D\xA3\x4F\xEC\xC0\x2F\x99\xD8\x76\x4B\xD2\x4D\xA0\xD1\x10\xC7\x9D\x26\x83\x02\xB5\xE6\x17\x9C\xFF\xC6\x10\xF6\x4D\xD9\xEA\x2C\xBA\xAB\xD3\x10\x86\x09\x60\xF9\x29\xD8\xB1\xD2\x10\x89\x0A\x3F\xE8\xB5\x9B\x8D\xAA\x08\xFA\x37\xC9\x01\x1B\xDB\xA1\xD2\x50\x1A\x82\xD5\x03\x1E\x50\x7C\xD0\x1A\x7B\x41\xD3\x1A\x8A\xCF\x03\x15\x52\xC9\xD5\x1A\x85\x4C\x1B\x1A\x9F\xBD\x47\x82\x54\xD1\xD3\x12\xAE\x4C\xDC\xC2\xCB\xC0\x61\x59\xDD\x0A\x11\x4E\xDC\xD3\xAE\x4D", - "\x8B\x57\xE0\xD9\x10\x77\x0C\xC7\x1A\x8D\xCC\x09\x1C\x59\xE7\xD6\x10\x8B\xD3\xDE\x80\xDD\xA8\xB7\x51\xD3\xD2\x51\xBB\x8D\xD8\xD5\x2F\x9F\xC9\x0B\xCD\x5E\x31\xDD\x0A\x52\xB7\xDA\x31\xD5\xA7\x9C\xCB\xC0\xAF\x08\xDA\xE9\x17\x08\x13\x24\xE0\xD8\xB9\x84\xFB\x56\xCE\x99\x19\x4F\xB1\xBC\xE0\xAD\xBD\xA9\xB3\x08\xE0\x97\x1E\xDB\xD3\x34\xE1\x6B\xD9\x10\xB5\x08\xE1\x99\x18\xDC\x44\xB4\xE1\x26\xD6\x10\x02\x60\xE1\x91\x11\x51\x1B\xEC\x86\x23\x19\x0B\x20\xE1\x19\x16\x5B\xE2\x09\x19\xD9\x23\x1B\x0B\x52\xB6\x60\xB1\xB1\x52\x32\xEF\xD3\x0B\xCF\x0B\x52\xB1\x0C\x52\xB0\xDD\x44\xBA\xC9\xDF\x7B\xC0\x10\x6E\xDA\x95\x1F\x52\xD3\x34\xE4\x99\xB9\x84\x12\x68\xE4\xA0\x11\x53\xB1\xBC\xE4\x3E\xDD\x84\x16\x60\xE5\xA5\x18\xDD\x43\xED\xDD\x9D\xA6\x62\x58\xE3\x12\x4A\x5B\xE4\x72\xD3\x12\x30\x6F\xE5\x0A\x1A\x55\x62\xE9\xD7\x09\x17\x63\x66\xE9\x10\x5C\x59\xE6\xF3\xDD\x84\x39\x63\x3D\x41\x61\xBB\xDF\xDB\xE5\xFC\xDD\xA9\xCC\x03\x21\xCD\x02\xB5\x6B\x53\x3D\xA8\xC1\x10\x69\xAD\xA8\xCF\x0A\x3F\x81\xE0\x00\x54\xEC\x13\xD0\x02\xB5\xD2\x07\x2F\xA2\xC2", - "\x10\x83\xED\x84\xD3\x0A\x3F\x8F\xE1\x10\x89\xE3\x12\xD4\x02\xB5\xD6\x07\x2F\x60\xA5\xE4\x9D\xA7\x0D\xB4\xD0\x1A\x6F\x51\xBB\x9D\xED\xE4\x47\x8A\x0D\xA1\xE5\x1A\xE6\xD9\xB6\xA5\xE5\xE5\x49\x8D\x0D\xA9\xE3\x12\x92\x54\xEA\x5C\xED\xA8\xE0\x01\xEB\x0A\x14\x5A\xB4\xE4\xDE\x49\x83\x0E\xB8\xE9\x10\xB3\x5B\xEB\xF0\x93\x12\xE6\x0F\xEB\x06\x11\x5C\xC2\xE3\x10\x34\xEA\x10\xE9\x0A\x4F\xEC\x02\xB5\xD0\x59\xEC\x02\x19\xD8\x23\x1E\x0E\xFA\x41\x0F\x52\xBE\x5D\xB1\xBA\xCB\xEB\xBD\xA9\xF3\x0F\xE2\x95\x1F\x5E\xDB\xEA\xD5\x09\x15\x0F\xE0\xE0\x1A\xAC\x0A\x4F\xDC\xE5\xD3\x4D\x87\x0F\xE7\xE5\x1A\x07\xE3\xEE\xAD\xAD\xA8\xF9\x0F\xEE\x23\x1F\xE0\xA6\xC0\x00\xEB\xE6\x93\x9D\xAB\x0F\xF6\xEA\x10\x17\xE2\xEF\xC3\xEA\x10\xFD\x0F\xEF\x1E\xE2\xB5\xFB\xE1\x10\xCB\xEE\x11\x52\xB1\x00\xCA\x6A\x6A\x27\xE9\xEF\x09\xF0\x00\xD4\xE2\x4E\x0F\xFA\x10\x05\x07\xF1\x09\x1E\xE2\xB1\xB1\xCF\x7C\xAB\xC0\x07\x0A\x6C\x6C\x9A\x2E\x1E\xF1\x10\xFC\xCD\xA8\x08\x0A\xF1\x2A\x82\xF2\xFD\x17\xF2\x03\x13\xF1\x63\x5A\xD0\x1F\xFD\xA9\x0B\x0C\xF2\x91\x32\xF3\x26\xFB\xC0", - "\x0C\x0A\xF2\x63\xB6\xF3\xFB\x18\x30\xDD\xED\xA8\x0F\x0A\x6C\x91\xC3\x10\x36\xEA\xB2\x40\xF8\xB6\x4D\x83\x01\x44\xFD\x1F\xBE\x0C\xC7\x49\xF4\xD2\x49\x87\x01\x4D\xF3\x1E\xC2\x0A\x4F\x51\xF1\x10\x1D\xE6\x10\x1B\x05\xF5\x15\x68\xF5\x63\xEA\x10\x1F\x0E\xF5\x49\x2C\xE6\x69\xB9\xF5\x08\x9D\xA9\x23\x04\xF6\x5A\x26\xC6\x48\xF2\xCD\x0B\xC7\x02\x6C\xF1\x10\x2B\x0C\xF3\x02\x1E\x0C\x60\xF9\xE7\x8D\xAD\x02\x73\xF0\x00\x31\x06\xF7\x01\x11\x0D\xFA\x45\xCC\x03\x1F\xCB\x8D\xA3\x03\x3E\xFC\x3D\x12\xD3\x10\x2D\x3D\xA9\x34\x09\xF8\x02\x15\x03\x80\xFE\x26\xD5\xC6\x10\xD7\xCD\xA8\xE6\x17\x03\x93\xF6\x1E\x97\xF3\x10\xCF\xCD\xA8\x39\x00\xF9\xDA\x3D\xF8\x06\x15\xF9\x4D\x8E\x4B\x1A\xD5\xE0\x9D\xAA\x03\xCA\x63\xAA\xE6\x19\xE9\x31\xD9\xFA\x25\x9D\xA8\x3F\x0D\xFA\xFD\x18\x0D\x7C\xC2\xFB\xFB\xDD\xA8\x44\x06\xFB\xE3\x1C\x0D\xB9\xF4\xEE\x06\x19\x04\xBE\xFB\x1F\xB7\xE4\xDD\x09\x1A\xFB\xCE\xD2\x10\x4E\x05\xFC\x49\x25\x0E\x18\xF5\x11\xC2\xF3\x10\x53\x0E\xFC\x5A\x2A\x0E\xD1\xF9\xFC\x15\xD3\x12\x58\x06\xFD\x58\x2F\x0E\xC1\xF6\xDD\x3C\x1D\x05\xDE", - "\xFE\x26\xDF\xE1\xFB\xDB\xFA\x10\x62\x05\xFE\xE6\x1E\xEE\xE8\xF3\xEF\x4D\x87\x06\xEC\xF9\x1E\xFE\xEF\xFE\x1D\xDD\xA9\x6C\x03\xFF\xF5\x11\xFE\xF7\xFF\xBF\xFA\xF9\x19\x03\x05\xEF\x7A\x7D\x12\x73\x10\x76\x03\xFF\x71\x0C\x21\x7E\xFE\x65\x69\x05\x6B\x07\x07\x81\x65\x15\x79\x0A\x84\xDF\x4D\x54\x40\x0E\x00\xA0\x0F\xD0\x71\x80\xA7\x45\x53\x45\x05\x0A\x85\x1A\x4C\x78\x06\x89\x7B\xBD\x6C\x03\xA3\x08\xAA\x7F\x01\xEC\x6E\x41\x0F\x04\x22\x82\x21\x1D\x7B\x0F\x8B\xF0\x06\x08\x25\x05\x7F\x99\x03\xF2\x63\x7A\x16\x8B\xC0\x1B\x05\xF9\x60\x05\x93\x7B\xED\x74\x81\x4E\x52\x0A\x65\x7F\x29\x13\x7C\x72\x7F\x03\x95\x79\x84\x09\x0A\x65\x7E\x2B\x13\x7C\x75\x7A\x08\x8B\x60\x58\x05\xFE\x35\x07\xE4\x6F\x01\x02\x82\x21\x03\x82\x13\x75\xFE\x3C\x07\xE4\x68\x7C\x31\x69\x6B\x09\x09\x72\x68\xF9\x69\x0E\x2F\x1B\x7C\xE9\x0C\x0B\x83\x09\x6F\x6D\xA8\x40\x06\xE8\x77\x24\x62\x82\x20\x22\x69\x2E\x82\x50\x6B\x83\x40\x16\x67\x6C\x86\x92\x2E\x82\x81\x04\xFA\x4D\x41\x30\x07\x83\xC2\x03\xF2\x5A\x7D\xE9\x1B\xCE\x06\x09\x1D\x8E\x72\x67\x85\x18\x13\x7C\x1C\x07", - "\x06\xF0\x83\x18\x8B\x60\xC7\x07\x0C\xA7\x19\x1C\x6F\x06\x92\x6E\x40\x2C\x84\x02\x0D\x0F\xA7\x7C\x69\x2B\xD2\x06\x0A\x16\x91\x83\xD4\x21\xA0\x46\x08\xD8\x1D\xA9\x66\x0C\x32\x00\x83\x97\x0C\x13\x86\x08\x32\x8D\x84\x4A\x06\x22\x8C\x17\xA2\x83\x20\x34\x1D\x4E\x82\x4D\x2B\x86\x41\x18\x1D\xAC\x82\xA0\x2E\x84\xC6\x7B\xC0\x4B\x07\x19\x8C\x06\x93\x79\xF4\x53\x1F\x99\x64\x0B\x9D\x56\x33\x07\x83\xCF\x03\xF2\x6C\x7D\xE9\x10\x0B\xA3\x87\x02\x71\x06\xA7\x86\x5D\x03\x63\x81\x05\x0C\x93\x86\x40\x2B\x86\x02\x0C\x17\x83\x6E\x4B\x25\xC2\x06\x09\x25\x8E\x86\x96\x24\xA7\x42\x08\x4D\x88\x0D\xD4\x27\x0B\x66\x86\x9D\x52\x1A\x09\x86\x78\x1F\x0D\x83\x0B\xF1\x11\x85\x96\x27\x1C\x86\x08\xA3\x6D\x0D\x9D\x26\x3A\x9D\x85\x8D\x53\x1A\x27\x82\x6A\x03\xF9\x3B\x03\x19\x8C\x1E\x09\x0F\x0F\x87\x42\x6B\x07\x06\xD7\x07\xE4\x7C\x01\x67\x84\x1D\x82\x08\x52\x89\x84\x59\x07\x38\x8A\x17\x4D\x63\x20\x02\x89\x23\x4E\x4B\x09\x8B\xF2\x0E\x84\x96\x22\x7A\x06\x09\xAB\x6D\x84\x5A\x07\x19\x9B\x06\xA0\x81\x33\x14\x88\x81\x01\x3F\x68\x84\x35\x3B\x88\x01\x0B\x7D", - "\x1E\x89\x4E\x22\x12\xC1\x79\x13\x5D\x06\x29\x81\x21\x3D\x01\xF2\x75\x12\x9E\x75\xA3\x42\x07\x29\x8E\x20\x02\x02\x96\x85\xDD\x0D\x57\x39\x11\x89\x03\x0F\x08\x34\x89\x86\x6A\x10\x6C\x04\x4E\x82\x08\x4C\x02\xD9\x2D\x3B\x96\x86\xEA\x3C\x09\x3C\x1F\x89\x01\x0A\x0A\x02\x8A\x85\x04\x14\x8D\x73\x11\x56\x07\x48\x88\x00\x1D\x7E\xF9\x46\x10\x4D\x89\x85\x6D\x54\xFB\x01\x2A\x9E\x03\x9D\x81\xB6\x67\x60\xF2\x7B\x0F\x63\x04\x2B\xAC\x77\x24\x45\x00\x26\x36\xEB\x69\x0F\x68\x02\x2C\xBE\x63\x05\x6A\x00\x66\x89\x7F\x0D\x03\x6A\x8A\xEB\x4B\x61\x07\x0E\x16\xE3\x0E\x1C\x11\x8B\x00\x03\xEB\x43\x08\x0A\x05\x17\xFB\x0F\x1D\x18\x8B\x04\x84\x93\x7D\x8B\x24\x1C\x07\x00\x8F\x02\x7E\x00\x83\x8A\x4B\x01\x04\xC3\x8A\xF6\x09\x8C\x96\x06\x04\x78\x8E\x04\x83\x08\x14\x0E\x18\xEE\x13\x22\x11\x8C\x0B\x65\x05\x15\x8C\xF3\x00\x09\x18\x8D\xA7\x52\x01\x9B\x89\x3D\x15\x04\xBC\x8D\x02\x83\x0B\x0D\x15\x8C\x3C\x06\xD4\x2A\x34\x4D\x04\x1A\x8B\x62\x0F\x15\x8C\x43\x02\x35\x8A\x09\x4F\x0D\x1A\x9D\x55\x11\x15\x8C\x4A\x02\x36\x89\x08\x52\x08\x17\xD3\x83\x40\x0C", - "\x02\x95\x89\x0A\x3A\x8C\x83\x05\x04\xDF\x8B\x40\x16\x8A\xBE\x8A\x20\x13\x03\xCA\x88\x05\x43\x8F\x40\x07\x82\xC6\x8A\x20\x08\x8F\x05\x6A\x05\x15\x8F\x17\x0E\x8E\x02\x0B\x16\x25\x7E\x29\x66\x10\x1D\x88\x26\x9D\x24\xDC\x8F\x38\x90\x88\x6A\x2E\x1D\x83\x09\xF5\x1D\x54\x61\x06\x83\x67\x19\xAF\x62\x10\x20\x88\x4F\x02\x03\xD8\x89\x20\x24\x03\xF8\x80\x00\x38\x07\x19\x98\x62\x06\x0D\x7E\x1D\x54\x33\x0A\x1E\xEC\x14\x7E\x83\x08\xEE\x8B\x24\x27\x02\x0F\x68\x06\x74\x8D\x2E\x07\x83\x62\x63\x20\x3A\x8F\x46\x5A\x06\x7D\x8E\xBB\x09\x90\xED\x8B\x81\x6B\x02\x0F\x6C\x06\x74\x8E\x2E\x07\x83\x30\x6F\x3B\xA0\x0D\x39\x3C\xC6\x1D\x92\x87\x83\x79\x29\x08\x44\x91\x37\x86\x67\xB3\x35\x5D\x4C\x66\x91\xFA\x68\x45\xA0\x6B\x4A\x51\x1D\xE0\x5D\xA4\x52\x5F\x2C\x91\x6D\x6A\x90\xBC\x5A\xC1\x3B\x5F\x8C\x89\x42\xAB\x63\x42\x09\x55\xE4\x43\x21\x05\x54\xD9\x23\x66\x3F\x91\x46\x82\x0F\xD5\x0E\x1A\x77\x48\x5E\x43\x5E\x7D\x65\x46\x8A\x7B\x26\x48\xA8\x4E\x09\x93\x94\x09\x25\x5F\x35\x3A\x91\x28\x9A\xA9\x7C\x62\x53\x0D\x37\xEE\x5B\x24\x27\x8A\x97\x0B\x25", - "\xA8\x0B\xA8\x5C\x09\x5F\x92\x4B\xAC\x62\x61\x4A\xD9\x51\x31\xDB\x25\x54\x67\x93\x24\x29\x92\x1E\x94\xB4\x65\x90\xF8\x4E\x93\x4A\x93\x12\x7A\x91\xDB\x62\x27\x8B\x60\x9D\x95\x6C\x76\x93\x4C\xBA\x93\xE9\x10\x27\xC7\x41\xDB\x28\x63\x7F\x92\x4D\xB1\x63\x40\x9C\x26\xCB\x93\x5A\x93\x0B\x7F\x63\xCF\x3A\x8B\x21\x90\xF2\x6C\x63\xA2\x85\x0E\xAE\x0D\xF8\x3B\x33\x71\x6A\x10\x14\x95\x42\x00", + "\x39\xFD\x02\x00\xF6\x37\x00\x00\x25\x00\x01\x82\x80\x08\x0B\x82\x81\x82\x06\x89\x82\x88\x0A\x86\x06\x84\x0A\x0A\x97\x0A\x9C\x0A\x82\x12\x85\x13\x0A\xAD\x0A\x92\x1A\x81\x2A\x84\x2B\x0A\xDC\x0A\x9F\x2A\x83\x32\x84\x34\x0A\x8C\x4A\x8F\x4A\x82\x4A\x84\x4B\x0A\x9F\x4A\x85\x5A\x84\x56\x84\x5A\x0A\xAF\x14\x86\x8F\x7D\x9E\x9F\x9E\x0A\x80\x3F\x9F\x91\xA3\xA2\x9F\xA2\x46\xFF\x48\xA6\xAB\xA3\xA1\xA6\xA2\x0A\xC9\x8A\xB1\xA9\xA7\xA7\xA3\xA0\x0A\x81\x14\xAC\xAB\xAE\xA5\xAE\xA8\x09\xD2\x96\xA0\xAF\xAF\xA9\xB1\xAA\x65\xE4\xA7\xBC\xAB\xB6\xAD\xB6\xB0\x3C\xE8\xAF\xA6\xB1\xBC\xB6\x82\xAD\x09\xF8\xB5\xAE\xBB\xB8\xBB\x80\xB1\x69\xD3\xB3\xAA\xBD\xBC\xBB\xBE\xB9\x85\x84\xC3\x82\x09\xA9\xC3\xB0\xC1\x89\x90\xC7\xD6\xB3\xCC\xBD\xCA\xBF\x02\x80\xC3\xD2\xC9\xC8\xC7\xCA\xC3\x9D\x94\xE1\xD6\xC3\xD0\xCD\x80\xCD\x91\x8F\xEA\xCE\xCC\xD3\xCF\xD4\xD7\xAD\xA9\xF1\xDF\xCA\xC5\xD0\xD1\xD3\x9E\xB6\xF5\xD8\xD2\xD4\xDC\xD2\xDF\xA6\xC2\xB9\xC0\xE7\xDA\xE1\xDE\xE3\xBF\xC8\xC1\xE8\xD4\xDC\xCC\xE3\xDD\xCA\xC5\xCC\xFA\xDE\xE1\xE8\xE9\xE9\xCF\xD5\xD8\xF6", + "\xEA\xEB\xE0\xEF\xD7\xB2\xB0\xC9\x83\x0D\xC2\xF1\xF1\xF3\xCD\xE0\xE9\xF3\xD4\xEA\xF5\xF6\xF6\xD9\xEE\xF1\xEA\x84\x05\xF0\xF5\xF7\xE6\xEB\xF9\xF8\xF7\xFB\xF9\x85\x02\xF6\x7A\x7D\x7F\x77\xF0\x40\x06\x01\x80\xFC\x42\x8A\x81\x82\x0C\xBE\x73\x83\x76\x10\x9E\x71\x87\x71\x13\x89\x75\x87\x72\x12\x99\x84\x86\x86\x16\x9C\x88\x87\x86\x20\x9D\x81\x8B\x87\x22\xA5\x84\x8B\x89\xD2\x5E\x89\x8B\x88\x2B\x89\x77\x00\x82\x0E\x8B\x81\x8D\x83\x04\xBB\x73\x8F\x8D\x35\x8F\x8A\x8B\x75\x3B\x9D\x7C\x88\x8F\x3F\xBE\x86\x89\x8B\x28\x80\x93\x92\x91\x45\x82\x99\x92\x7C\x39\xB2\x8D\x90\x8D\x17\x84\x92\x94\x92\xC5\x4C\x49\x5D\x81\x51\x94\x9A\x96\x92\x53\x9C\x9B\x94\x93\x59\x9E\x92\x98\x98\x3D\xA4\x91\x92\x99\x47\xA3\x98\x95\x99\x6B\xA7\x9D\x99\x9A\x68\x8B\x9F\x9A\x9C\x36\x8F\x98\x8D\x98\x71\x9D\x99\x9C\x74\x09\x30\x86\x9F\x9F\x78\xB3\x9A\x9E\xA0\x5F\x84\xAA\x99\x9D\x81\x88\xAC\x9A\xA2\x6E\x8C\xA0\x9E\xA1\x7B\x87\xAA\x8D\xA3\x93\x8F\xA5\x9E\x02\x7E\x89\xA5\xA4\x9D\x9B\x83\xAE\xA0\xA7\x4E\x9A\xA3\x43\x02\x99\x8B\xAD\xA5\xA1\x9F\x9E\xA6\x40\x03", + "\xA5\x94\xA1\xAA\xA9\xAF\xAE\xA0\x94\xAC\xB3\xB2\xA1\x41\x03\xAD\x96\xA7\xAA\xA4\xB1\xBA\xAD\xAC\xA8\xB5\xBE\xA2\x42\x43\x57\xA9\xA8\xAB\xAE\x91\x8C\x9F\x01\xAE\xC0\xB7\x94\xAE\xB3\xB6\x80\xAF\xB2\xB4\xD1\xA2\xA1\xB1\xB3\xD4\x82\xB0\xB6\xB6\xD9\x98\xB6\xB7\xB6\xDE\x93\xBF\xB5\xB7\xAA\xBF\xA5\xBB\xB5\xE7\xA0\xB9\xB8\xB9\xC7\x8E\x90\x04\xB3\xEB\xA3\xB2\xBE\xB8\xF4\x95\xB3\xB5\x04\xF0\xAD\xB8\xBA\xBE\xEA\xBC\xB0\x02\x04\xF9\xBC\xAB\xBD\x75\x13\x3E\x90\x45\xB1\xC8\x90\xAA\xC2\xB1\x02\xFD\xBD\xC0\xBB\x0F\xF3\xB6\xBF\xC4\xDC\x92\xC5\xC5\xBD\x17\xD4\xC1\xBA\xC6\xF1\x98\xCB\xC5\xC6\x20\xDF\xC2\xC9\xC7\xD1\x95\x01\xC1\xB2\x0B\xC9\xCC\xC0\xCA\x2B\xE9\xC6\xBA\xBF\xE3\x96\x0E\x9E\x44\x08\xEF\xC1\xC6\xC7\x24\xE1\xC9\xCF\xC8\x30\xF8\xCD\xCC\xC7\x3F\xFA\xC1\xD0\xCF\x37\xC0\xD5\xD2\xD0\x47\xC4\xDC\xCA\xCA\x03\x88\x47\x5E\xCB\x03\xCB\xD6\xCE\xD4\x51\xD0\xD1\x41\x06\x27\xD6\xD0\xC4\xD5\x38\x9A\x09\xD5\xCB\x60\xCC\xD3\xD6\xD6\x16\xCA\xD4\xDA\xCF\x49\xFB\xCA\xDB\xD0\x6B\xE9\xDC\xDB\xDB\x6E\xF1\xDC\xD7\xD6\x67\xC6\xD3\xDF\x76\x1B", + "\x1F\xD2\xD9\xD5\x61\xE3\xDD\xDC\xDF\x03\xBB\x4F\xD3\xDF\x0E\xF7\xD3\xB5\x07\x7A\xFE\xD3\x82\x07\x7E\x9F\x09\xE0\xE0\x8A\xD1\xE0\xE7\xE4\x85\xF5\xD8\xD2\xE1\x76\xD6\xE6\xD8\xE1\x74\xDC\xE5\xD9\xDB\x98\xD7\xEA\xE4\xE8\xA3\xF0\xD3\xDC\x08\x8F\xD5\xEE\xE4\xDA\xA1\xDB\xEB\xDE\xEA\xAF\xC0\x01\x0A\x9F\x16\x75\xC4\xE5\xE7\xB1\xDF\xE6\xE9\xE9\x72\xFC\xED\xE8\xE9\xAB\xD9\xE1\xF2\xE8\xC3\xEE\xE2\xE4\xEC\xC7\xF8\xE3\x43\x08\xA9\xCA\xF7\xEE\xEE\xBD\xC5\xFB\xB8\x09\xCD\xD0\xFF\xEE\xBF\x00\x76\xE8\xF3\xF3\xAC\xFE\xEE\xF6\xF4\xBB\xE0\xF1\xF5\xEE\xDD\xE2\xF7\xF7\xF8\xC9\xD6\xFA\xD6\x09\xD5\xE5\xF4\xFA\xF0\xEF\xC4\xF1\xFE\xF1\xDC\xF0\xF9\xFA\xFB\xF7\xF6\xF5\xFE\xFC\xF9\xFC\xFB\xFC\xFD\xDB\x61\x82\xF3\x02\x8A\x7C\xF3\x57\x25\x7D\xFA\x64\x83\xB4\x28\x08\x80\xFF\x4A\x81\x81\x03\x91\x81\x01\xF3\x70\x78\x0A\xA1\x7E\x82\xE8\x7F\x7D\x05\xFD\x70\x80\x09\xB8\x7A\x83\x17\x9C\x83\x06\xA0\x89\x83\x07\x8E\x86\x83\x10\x93\x82\x08\xD0\x39\x05\x06\x9D\x82\x05\x2E\x83\x86\x09\x9D\x8A\x84\x12\xA7\x7F\x86\xDF\x78\x80\x0E\x86\x8C\x87\xD8\x6B\x01", + "\x86\x21\x96\x85\x0E\xAB\x85\x84\x14\xA7\x85\x86\x33\x92\x86\x11\xB4\x8F\x83\x24\x81\x8E\x89\xD5\x2C\x04\x10\xC5\x88\x89\x25\x8A\x8D\x8A\x58\x8D\x8A\x15\xCF\x8B\x8A\x2A\x9A\x89\x8B\x29\x9F\x8A\x18\xE1\x84\x8D\x23\xA3\x8E\x8C\x65\x8C\x89\x1A\xD7\x87\x8C\x35\xA8\x8F\x8D\x6E\x91\x8F\xBA\x1A\x2A\x7B\x08\xAE\x03\x8A\x3B\x9A\x85\x4E\x78\x83\x88\x21\xBD\x84\x88\x79\x80\x91\x1F\xD0\x81\x90\x81\x30\x04\x8F\x7F\x9E\x8E\x41\x31\x08\x91\xD8\x5C\x25\x8E\x60\x90\x8C\x1B\xEB\x8C\x8B\x48\xB2\x8D\x92\x6D\x93\x92\x24\x98\x94\x92\x2F\x9D\x95\x90\x84\x83\x91\x17\xC1\x23\x07\xE6\x74\x05\x91\x82\x89\x91\x28\xAA\x93\x94\x51\x96\x92\x93\xD8\x55\x04\x2A\x8A\x99\x94\x3D\xAC\x97\x95\x9C\x9B\x92\x27\xBA\x90\x95\x56\xB7\x91\x93\xB9\x97\x93\x2E\xC2\x9D\x96\x5C\x83\x98\x96\xC8\x81\x9B\xBA\x36\x0D\x79\x1B\x0D\x78\x07\xCD\x79\x06\x9F\x3A\x03\x97\x55\xB1\x73\x07\xD5\x80\x00\x0F\x7E\x4D\x07\x6C\xA3\x5E\x07\x7E\x5F\x06\x9F\x40\x09\x9B\x20\x1E\x98\x98\xC7\x8A\x9A\x3A\xE9\x9C\x9D\x62\xA8\x9E\x9D\x9F\x8E\x97\x3B\xF2\x91\x9E\xCE\x42\x0F\x9C\xF5\x96", + "\x96\x3E\xB5\x9C\x9E\x5A\xBE\x9E\x9A\xFD\x80\xA3\xED\x43\x08\x9E\x5E\xB4\x9E\xA0\x75\x44\x09\x41\xC4\x9A\x6B\x22\x0B\xA1\x99\xED\x87\xA0\x43\xBF\x99\x9F\x80\xBE\x93\x9F\xFF\x97\xA2\x45\xE3\x56\x09\x87\xAB\x98\x9E\x08\xB8\xA2\x40\xA3\xAA\xA3\x8C\x86\x98\xA4\x1D\x87\x0A\x47\x91\xA4\xA3\x90\x9B\xA3\x9E\x2D\xB3\xA2\x48\xA5\xA4\xA5\x93\x92\xA0\xA2\x4C\x48\x09\xF3\x49\x0D\x78\x25\x0D\x7B\x09\x7E\x4C\x0B\x4A\xCC\x4D\x09\x6C\x8E\x09\x9B\x4F\x1E\x4C\x14\x43\xA5\x40\x8F\x35\x8A\x0A\x7E\x53\x08\x53\xB1\xA8\xA7\x9B\x9F\xA6\xAA\x45\x94\x0B\x54\xB3\xA6\xA6\xAA\x97\xAE\xAB\x2C\xBC\xA8\x4C\xE2\xA5\xA2\x93\xA3\xAF\xA5\x10\x95\x0A\x9F\x20\x25\x8F\x2B\x1B\xA8\xAD\x2E\xA6\xAD\x59\xB5\xA7\xAC\xB9\xB1\xAC\xAE\x73\xB4\xA4\x00\x58\x0F\xAC\xBB\xB2\xA0\xAE\x7F\xBE\xAD\x55\xE0\xA8\xA5\xC1\xB3\xA1\x0B\x7D\xB8\xAF\x5D\xFA\xAD\xAA\xB2\x8B\xB5\xB1\x80\xA6\xB2\x45\xDA\x09\xB0\xC6\xB5\xAA\xB1\x81\xB8\xB2\x64\x82\xBF\xAA\xC7\x99\xB6\xB2\x79\xB5\x8B\x16\x4D\x72\x24\x48\x9E\x3D\x0B\xCD\x7E\x0A\x9F\x24\x26\xB5\xD0\x9A\x88\x0C\xD9\x81\x0E\x9F\x62", + "\x05\xB3\xED\x26\x25\x8E\x64\x1E\x4D\x19\x35\xB7\xB2\xD0\x8F\xB5\xB7\x90\xBC\xB1\x58\x91\xBD\xB2\xE2\x83\xBA\xB8\x85\xA5\xB8\x72\xD8\xA9\xB9\xE3\x9A\xB4\x8B\x66\x1C\xB7\x71\x67\x02\xBB\xDF\xAE\xB7\xBA\xD6\xB9\xBB\x67\xC1\xBF\xB8\xE7\xBE\xB3\xBB\xC0\xA1\xBC\x76\x9D\x88\x25\xD6\x9C\x59\x0D\xD5\xA0\xBF\x71\x6A\x09\xBD\xCD\x9D\xBD\xB9\xF0\xAC\xBA\x7C\x9C\x7B\x0D\xF6\x8A\xB8\x47\x6C\x16\xBE\x77\xDC\xBA\xAF\x36\x0D\x7E\x0D\xCD\x6F\x0D\xF3\x70\x0E\x4F\x38\x3A\xBD\x97\x72\x19\x9B\x1C\x7E\x44\x0F\x03\xCA\x25\x0E\x7E\x56\x0E\x9F\x77\x09\x9A\x3C\x0E\xC4\xB0\xF3\xBE\xB2\x7B\xDF\xBB\xC2\xFE\x9E\xC2\xBC\xDA\xBD\xC2\x16\xF9\x07\xC2\x0D\xF7\xBC\xC3\x27\xDF\xC3\x78\xA2\xCB\xC5\x14\xE0\xC2\xBD\xC9\x3A\x0D\xF3\x7B\x05\xC4\xE3\xB1\xB8\xC3\x38\xC6\xC7\x7E\xDE\x3C\x0F\x1A\xCB\xB9\xC7\x36\xD9\xC1\x90\x9C\x7D\x0E\x1F\xEF\xBA\xC8\x3F\xDA\xC7\x8D\xCA\xC8\xC9\x23\xC0\xC9\xC9\x43\xD1\x76\x1F\x46\xC8\xC5\x1D\xED\xC6\xCA\x21\xDC\x8B\x1F\x54\xCA\xC5\x2C\xD8\xC8\xC6\x60\xCC\xC6\x97\xCB\xC1\xCB\x32\xD9\xA0\x10\x5C\xCF\xC6\x98\xD8\x51\x11\x34", + "\xF9\xAA\x10\x6E\xC3\xCD\x93\x91\x83\x11\x38\xE1\xCF\xC4\x84\x16\xCF\x9A\xFB\xCE\xC5\x2B\xFD\x95\x10\x7A\xDD\xCE\x9C\xF5\x46\x11\x40\xDE\xBF\x10\x86\xC4\xCC\x94\xB7\x78\x11\x44\xF3\xCD\x8A\x89\x0E\xD3\x93\xCE\xC3\x40\x45\x12\xD4\xC9\x93\xD5\xCA\xA2\x94\xD6\xCC\x4E\xCB\xD6\xD3\xA0\xDA\xAF\x22\x4D\x7A\x24\xF3\x81\x3D\x11\xCD\x6E\x12\x9F\x2C\x26\xD4\x3E\xC5\x88\x12\xD9\x91\x12\x9F\x2E\x2D\xD5\x13\xD3\x16\x4F\x94\x1E\x4D\x25\x17\xDD\xD2\x4D\xF3\xC8\x26\xB5\xDF\xCB\xBA\x17\x1C\xD7\x4F\xFE\xD1\xD3\x5D\xD7\xCD\x75\x18\x1D\x79\x4C\x0D\x7A\x13\xCD\x7B\x12\x9F\x1C\x15\xD8\x01\x9D\x11\x9B\x9E\x1E\x4E\x4C\x41\xDD\x96\x50\x3E\x49\x14\x7E\x42\x15\xB5\xC7\xD8\xD3\x72\xC3\x23\x14\xE3\xC9\xDA\xAB\x9B\xD4\xDC\x27\x64\x11\xDD\x6A\xC2\xD2\xB2\xEC\xDA\xDC\x79\xEB\xDA\x94\x34\x3C\xDB\xA3\xF1\xD2\xD8\x7B\xFE\xDD\xDF\x00\xF4\xDD\x6F\xA6\x10\xDE\x3F\xFB\xDE\xE0\x75\x47\x15\xC1\x83\xD6\xDC\x63\xF5\xD9\xE0\x07\xEC\xE1\xAF\x8F\xE2\xE1\x68\x68\x14\xCA\xA9\x0B\xE3\xBC\x91\xEB\xE2\x64\xFC\xDD\xE2\x12\xF4\x46\x2A\x1A\xE7\xDE\x8F\xC8\xE5\xE1", + "\xA1\xD4\xE0\xC7\xA5\xE8\xE5\x76\xC2\x23\x15\x24\xFF\xDC\xC8\x9D\xED\xE4\x95\xE6\xE1\xE4\x01\x36\x26\xBE\x89\x2D\x15\xE6\x6E\x15\x79\xAF\x1E\x4C\x2C\x31\xEF\x61\x58\x19\x9A\x16\x7E\x53\x14\x95\xB8\x25\x8F\x5A\x3E\x4E\x16\x44\xF3\xE7\xBA\x37\x1D\x78\x5C\x0D\x79\x17\xCD\x7A\x16\x9F\x3B\x11\xEB\x02\x7C\x11\x9B\xBD\x1E\x4E\x2F\x54\xCF\x16\x3F\x40\x1E\x4F\xC1\x1D\xEB\xCD\xB4\xE3\xE3\x8F\xEB\xE2\xE6\x6F\xF0\xE3\xDA\xAC\xE3\x20\x61\x0D\x7B\x18\xCD\x64\x19\xF3\x45\x1E\x4E\x63\x2A\xEB\x40\xC7\x19\x98\x32\x7E\x49\x18\x2A\xCA\x1E\x4F\xCB\x1E\x4C\x33\x59\x9D\x18\x3F\x4E\x1F\xEF\x6D\xE7\xE5\xE4\xB8\xEE\xE5\x94\xEE\xE9\x21\xCF\x1E\x4C\x34\x10\xFE\xE1\xCB\xF5\xE6\xF3\x93\xEC\xED\xE7\x92\xF3\xF5\xE4\x11\x1D\x79\xD2\x0D\x7B\x34\x4D\x74\x1A\x3F\x55\x1C\xF3\x38\x56\x19\x36\xD7\x1E\x4E\x6C\x14\xC9\x1B\x7E\x5A\x1A\x9F\x5B\x10\xF7\xCA\xFE\xF6\xE6\x9F\xE4\xF6\xE5\xC2\xFF\xF6\xD0\xE5\xF1\x38\xDC\x0D\x79\x37\x4D\x7E\x1B\xE6\x5F\x1E\x4F\xE0\x1D\xF7\x76\x61\x19\x9A\x71\x3E\x4B\x1C\x54\xC4\x1E\x9F\x65\x1E\x4E\x73\x19\x9F\x1C\x7E\x48\x1E", + "\xF4\xC6\xF3\xF8\xCA\xC0\xF9\xF4\x74\xE7\xF9\xFA\xE5\xF2\xF4\xF6\xEB\xF8\x00\xE9\x03\xFC\xF1\xD5\x8A\x1C\x3F\x6B\x1A\xFE\xE6\xE4\xFD\xF1\xF3\xFA\xFF\xF3\xEA\xF8\xEE\xAC\x4C\x0E\xCD\x3D\x0E\xCD\x3E\x0E\xCD\x3F\x0E\x7E\x20\x0F\xF8\x71\x1C\xF1\x09\x4D\xF2\x0E\x27\xF3\x04\x65\xF4\x0E\x27\xF5\x0E\x27\xF6\x0B\x80\xEF\x7E\x7F\xEE\x70\x80\xC1\x79\x7F\xFC\x71\x2D\xF7\x08\x81\x1C\x88\x7E\x23\x8F\x7F\x72\x7D\x81\xED\x7B\x7F\x1E\x8B\x82\x29\x8A\x81\x11\x48\x0F\x7E\x29\x0F\x22\x87\x82\x24\x84\x83\x26\x82\x75\x25\x8B\x81\x36\x8A\x83\x73\x3A\x0F\x33\x88\x83\x3B\x8A\x82\x2D\x8D\x7F\x44\x80\x41\xFB\x0F\x83\x71\x70\x84\x4A\x89\x84\x4C\x83\x77\x39\x82\x84\x19\x85\x84\x2C\x81\x85\x1F\x8C\x2D\xFC\x08\x84\x4E\x81\x84\x2E\x8B\x85\x52\x83\x84\x55\x8E\x85\x53\x8F\x84\x5C\x8F\x85\x4A\x4D\x0F\x7E\x2E\x0F\x58\x88\x82\x54\x81\x86\x5A\x8D\x85\x6B\x80\x86\xDB\x54\x65\x00\x0A\x17\x02\x14\x87\x37\x8D\x84\x6A\x82\x86\x6E\x8A\x87\x64\x8C\x87\x6C\x8D\x4B\x01\x06\x87\x00\x04\x1E\x75\x24\x00\x82\x84\x88\x03\x27\x00\x87\x85\x20\x0A\x0B\x88\x09\x1D", + "\x00\x8E\x89\x87\x45\x40\x01\x82\x80\x20\x9C\x35\x01\x91\x83\x10\x18\x09\x89\x02\x1B\x01\x82\x82\x88\x7A\x5C\x01\x9C\x81\x10\x1F\x03\x8A\x00\x02\x02\xA6\x83\x86\x7F\x88\x87\x35\x8B\x84\x59\x8E\x8A\x92\x80\x8B\xAD\x8C\x8A\x77\x8F\x8A\xB4\x81\x6A\x25\x0F\x89\x73\x66\x02\xBA\x86\x8B\xBE\x81\x8B\xB7\x80\x85\x7E\x80\x87\x6F\x85\x8C\x4F\x87\x02\xBD\x80\x8C\xBF\x83\x8B\xCB\x85\x8B\xCA\x8F\x8C\xC9\x38\x02\xC9\x8C\x8C\xD0\x8E\x8C\xD4\x87\x8D\xD6\x89\x8D\x3C\x81\x8C\xAA\x84\x8C\xC3\x85\x1C\x29\x03\x8D\xDA\x82\x8C\x6D\x8D\x87\xE5\x8B\x8A\xCD\x81\x6A\x2A\x02\x8E\xDB\x89\x8E\xE4\x8C\x24\x2B\x0C\x8E\xEF\x8C\x8D\x7B\x85\x44\x2C\x02\x8F\x2D\x02\x8F\xDD\x85\x1C\x2E\x0A\x8F\xF5\x82\x8B\xE3\x8B\x8F\xDF\x83\x90\xE7\x8E\x8D\x05\x96\x8C\x07\x94\x90\x00\x9D\x8E\x06\x1F\x02\xFE\x86\x8E\x0B\x9E\x7B\x30\x0F\x90\xE8\x81\x3B\x31\x04\x91\x06\x91\x91\x02\x99\x90\x1C\x9A\x91\xFF\x84\x8F\x10\x92\x4A\x32\x08\x91\x08\x9E\x91\x79\x53\x03\x24\x9A\x90\x5A\x34\x03\x29\x9D\x91\x20\x95\x91\x4E\x25\x03\x2D\x96\x92\x30\x91\x90\x1F\x9E\x8E\x1B\x94\x93", + "\x19\x92\x4A\x36\x03\x93\x2F\x9B\x93\x38\x97\x93\xD5\x8C\x90\xD8\x84\x94\x36\x91\x92\x41\x90\x41\x37\x0E\x93\xAC\x48\x03\x4C\x93\x94\xF3\x8C\x39\x39\x0F\x94\x45\x91\x95\x50\x99\x93\x3F\x95\x92\x59\x90\x1D\x3A\x04\x95\x47\x95\x93\x46\x98\x23\x3B\x0E\x95\x61\x96\x95\x55\x98\x95\x49\x90\x96\x66\x92\x10\x3C\x04\x96\x7A\x5D\x03\x6E\x98\x96\x57\x92\x94\x67\x94\x97\x5F\x90\x94\x73\x98\x94\xB1\x3E\x03\x71\x9A\x45\x3F\x0D\x97\x7A\x95\x97\x81\x97\x97\x1B\x60\x04\x80\x9A\x96\x72\x92\x98\x88\x96\x97\x65\x99\x98\x84\x9A\x92\x69\x98\x97\x03\x11\x04\x87\x9D\x41\x42\x05\x99\x5A\x91\x99\xC5\x13\x04\x98\x90\x99\x79\x9B\x98\x83\x9D\x98\x8C\x9E\x7B\x44\x0D\x99\x2E\x9A\x99\x9E\x93\x10\x45\x06\x9A\x3A\x99\x99\x9F\x92\x99\x8F\x97\x9A\x33\x56\x04\xAC\x9A\x35\x47\x05\x9B\xA8\x92\x9B\x8A\x90\x9B\xA2\x91\x9A\x6B\x9D\x9B\xA0\x9C\x2D\x48\x08\x9B\xB1\x39\x04\xC4\x9B\x9B\xAE\x98\x9C\xA9\x97\x3B\x4A\x07\x9C\xB1\x9D\x9A\xCB\x90\x9C\xBC\x9F\x9B\x7A\x5B\x04\xCE\x92\x9D\xC9\x9F\x9C\x5B\x9A\x9B\x02\x1C\x04\xD7\x94\x9D\x8E\x91\x10\x4D\x0F\x9D\xE1", + "\x90\x9E\xA3\x95\x9E\xE8\x97\x9E\xD3\x2E\x04\xE4\x9A\x9E\xBE\x9C\x5F\x4F\x0D\x9E\xEF\x9E\x9E\xC1\x93\x9D\xE9\x9E\x9B\x50\x02\x9F\xDC\x21\x05\xFA\x96\x9F\xF4\x9E\x9F\xF3\x91\xA0\xF5\x99\x9D\xD8\x97\x62\x52\x0D\x9F\xEB\x23\x05\x08\xA1\x9D\xE6\x92\xA0\x00\xA3\xA0\x0C\xA7\x9F\x10\xA9\x55\x0B\xAC\x9D\x05\xA6\xA1\x0D\xA3\xA1\xD0\x98\xA1\xDB\x15\x05\x15\xAB\xA1\x20\xAB\x9D\x21\xA9\x9B\x23\xAF\x9A\x04\xA9\xA1\x0F\xA9\xA2\xEF\x76\x05\x1F\xA2\xA2\x2E\xA4\xA2\x2F\xA6\xA2\x11\xAA\x7F\x57\x0D\xA2\x30\xA7\xA3\x32\xAC\xA1\xFF\x97\xA2\x12\xAA\xA2\x33\xAE\xA0\x3C\xAE\x1D\x58\x02\x8F\x59\x06\xA3\x39\xA5\xA2\xCA\x9A\xA3\x40\xAF\xA3\x1A\xAA\x10\x5A\x06\xA4\x49\xA8\xA4\xDA\x98\xA3\x51\xA1\x8C\x5B\x00\xA5\x53\xA7\xA4\x31\xA5\xA5\x54\xA9\xA5\x5C\xAA\xA5\x5D\xA7\xA1\x52\xA1\x10\x5C\x02\x8F\x5D\x08\xA5\x62\xAB\xA5\x5E\xAB\xA6\x69\xA1\xA6\x28\xA1\xA4\x4B\xAA\xA4\x4D\xAE\xA6\xFC\x5E\x05\x68\xAF\xA6\x0C\xAF\x05\x77\xAD\xA3\x70\xA3\xA7\x03\x20\x06\x7B\xAE\x1D\x61\x01\xA8\x71\xA3\xA6\x78\xAF\x30\x62\x04\xA8\x7E\xAF\xA5\x8C\xA7\x3B\x63\x0A", + "\xA8\x3E\xA2\xA7\x91\xAC\x24\x64\x00\xA9\xC5\x15\x06\x96\xAC\xA4\x93\xAA\xA6\x38\x26\x06\x99\xA2\xA9\x7D\xAB\xA9\xAC\x47\x06\x9F\xA6\xA8\x7C\xAA\xA9\xA1\xA9\xAA\x5C\x48\x06\xA5\xAC\xA9\x87\xA6\xAA\x3B\xA8\xAA\x0C\xA9\x06\xAD\xA4\xA7\xB1\xAF\x30\x6A\x02\x8F\x6B\x05\xAB\x60\xAD\xAB\x8D\xAD\xA6\xBE\xAC\xA6\xAF\xAE\xAA\xA7\xA0\xAA\xB2\xA8\xA1\x6C\x02\x8F\x6D\x0C\xAB\xC9\x3E\x06\xCC\xA2\xAC\xC5\xA0\xAB\x85\xA4\xAC\xB7\xA2\xAD\xDC\x2F\x06\xCF\xA0\xAC\xBF\xA3\xAC\xAC\x40\x07\xD9\xAC\xAD\xC1\xAA\xAD\xD0\xA5\xAD\xD4\xA3\xAD\x09\x11\x07\xDF\xA1\xAD\xE5\xAA\x96\x72\x09\xAE\xE4\xA6\xAB\xE6\xA1\xAE\xE0\xAB\xAD\xEA\xA0\xAF\x8B\xA3\xAE\xF1\xA9\x3C\x73\x0E\xAE\xF9\xA3\x8E\x74\x0C\xAF\xF7\xA2\xAE\x38\x25\x07\xF2\x86\x07\x00\xB8\x2D\x77\x07\xB0\xAA\xA6\xAC\x0C\xB6\xAD\xA2\xA2\xAF\xF5\xA6\x10\x78\x0A\xB0\xC7\xAE\xB0\x0B\xBD\x4B\x79\x04\xB1\x0D\xBB\xAE\x0F\xB4\xAF\xEF\xA0\xB1\x1F\xBE\xB1\xFD\xA2\xB0\x7A\x5A\x07\x1A\xB6\xB1\x15\xBC\xB1\x17\xBA\xB2\x29\xB6\xAF\x1D\xB8\xAF\xC9\x1B\x07\xF2\x8C\x07\xF2\x8D\x07\x27\xBC\xB2\x1B\xBE\xB2", + "\x2B\xBA\xB3\x2D\xB0\x95\x7E\x07\xB3\x3C\xB9\xB3\x20\xB1\x2D\x7F\x02\x8F\x80\x00\xB4\x43\xB1\xB0\xF3\xA4\x23\x81\x09\x8A\xDE\x14\x08\x4E\xB7\x1C\x87\x01\xB5\xC9\x1A\x08\xA6\x8D\x08\x54\xBF\xB2\x01\x10\x09\x95\x8A\x35\x95\x06\x8A\x98\x06\x8A\x9B\x07\xA7\x9C\x06\x8A\x9F\x06\x8A\xA2\x09\xB5\x3B\xB9\xB4\x5A\xBE\x7B\xA5\x02\x8F\xA6\x08\xB4\x22\xBB\x58\xA7\x02\xB7\x30\xBD\xB6\x11\xB3\xB7\x78\xB3\x9A\xA8\x06\xB7\x24\xB9\xB7\x77\xBA\x44\xA9\x0E\xB7\x4B\xBF\xB7\x21\xB1\xB8\x3D\xBA\xB7\x6B\xBA\xB8\x89\xB8\xB8\x42\xBE\x24\xAA\x0F\xAD\xAB\x04\xB8\x80\xB6\xB8\x23\xB5\xB8\x11\x4C\x0A\xDF\xAD\x0A\x94\xB7\xB8\x96\xBA\xB4\x95\xBF\x27\xAE\x0F\xAD\xCA\x05\x1F\x06\x16\xBA\x91\x12\x15\x8C\x19\x10\xEF\x2B\x19\xAB\xB6\x10\x32\x3C\x30\x52\x18\x29\x09\x1C\x40\x9B\x18\xBA\xCD\x1A\xBA\x0A\x1D\xBA\x91\x1F\xBA\x03\x11\xBB\xBB\x23\xBB\x0A\x16\xBB\x91\x17\x20\x9B\x12\x15\xC6\xB9\xBA\x49\x19\xBC\xB9\xB9\x14\xB8\xB4\x1D\x52\x1F\xBC\xD9\x11\xBD\x81\x14\xBD\xC7\xBE\xBC\xD5\xB8\xBD\xD7\xB6\x14\xD2\xBC\x1D\xBA\xBC\xBA\x81\x1D\xBD\x52\x16\xBD\xCA", + "\xBC\xBD\xD9\xB6\x14\xBE\xB2\x10\xC0\xB6\x33\xC2\xB5\xBB\xE1\xB7\xBE\x43\x12\xBE\xE3\xB6\xBE\xDB\xB3\x14\xE9\xB1\x10\xBC\xBD\x1C\xF2\xB3\xBF\x3F\x17\xBF\x00\x0B\xBE\x03\x3D\xBE\x06\x14\xBC\xFA\xB0\xBF\xFD\xBB\xBB\x81\x1E\xBF\x00\xCE\x30\x02\xC3\x10\x04\xC4\x1D\xCC\xB0\xBD\xCB\xB6\xC0\x3E\x18\x88\x03\x10\x8A\x0D\xC2\x10\xFE\xB8\xBC\x14\xCD\x13\x11\xC3\xBD\x49\x16\xC1\x75\x81\x18\xB4\xB6\x10\x1B\xCA\xBD\xE5\xB1\xBF\x1D\xCF\x0F\xFB\xBC\xBF\x3D\x1D\xC2\x2E\xC0\xC3\xFC\xBE\xBF\xF9\xB4\x1D\x32\xC3\xBF\x37\xC3\xBE\x0A\xC6\x28\x19\xC1\x10\x0F\xC9\x1D\x39\xC4\xBE\xCD\xB4\xBF\x29\xC7\xC0\xE0\xB7\xBB\x2B\xCB\xC3\xB2\xB9\x14\x25\xCE\xC0\x81\x1F\xC1\xDE\xB3\xC1\xF5\xBF\x13\x22\xC1\x10\x00\x3B\x19\x4D\xC2\x10\xA8\x3B\x19\x50\xCE\xC2\x3F\x1D\xC5\x5E\xCD\x13\x55\xCF\x2F\x24\xCA\x10\x5B\xC1\x19\x41\xC8\xC2\x43\xCA\xC2\x53\xCE\x13\x69\xC4\xC4\x6B\xCF\x13\x6F\xCC\xC6\x45\xCE\x13\x34\xCF\xBE\x6D\xCF\xC2\x2B\xC3\xC7\x46\xC0\xBB\x3C\xCC\xC4\xC3\xB1\x18\x96\x85\xC7\x1E\xC9\xC4\x0A\x19\x37\xAE\xB7\xC8\x7F\xC6\x14\x59\xC1\x10\xA5\x4B", + "\xC4\x8C\xCA\x10\x8F\xC1\x19\xA0\x8F\x18\x8D\xC0\x00\xA7\x4C\xC5\x2B\xC0\x8A\x18\xC0\xC8\x09\x19\xC9\xC5\xB6\xC8\x09\x18\xC8\xBD\xBA\xC8\x90\xC3\x14\x97\xC3\xC9\xCD\x1E\xBF\xA4\xCB\xCA\xA6\xC1\xBC\x9E\xC6\x10\xAA\xC6\xC3\x7B\xC5\xCB\x79\xCC\xC2\xB6\xC4\xC8\xB8\xC7\xCB\x7C\xC6\xC7\x0A\x18\x2F\x48\xCC\xCB\xB9\xC1\xC7\xBE\xC9\x10\xCB\x21\xCC\xBA\xCD\xCB\x7A\xC7\xCB\xFE\xB6\x32\xC8\xC4\xCC\xCB\xC9\xCC\xA2\xC6\x10\x8E\x3F\xCC\x12\xC0\xC7\xD7\xC4\xC7\xD0\xCF\x0F\xFE\xB3\x3B\xD6\xC0\xC2\xD8\xC0\xCE\xDA\xC9\xCD\x7D\xC3\x10\xC0\xC8\xC6\xC3\xC4\xCE\x6E\xC3\xCD\xE6\xC8\xC7\xD2\xC2\xCC\xCC\xC1\x11\x8B\xC8\xCA\x0A\x10\x43\xDF\xC1\xC5\xE1\xC8\xCF\xE3\xC2\xCE\xE5\xC2\x10\x34\x30\xCB\x91\xC9\x10\xF6\xC8\xCE\xF0\xCF\xCE\xBA\xCE\xBF\xFF\xCC\xBE\xB1\xC3\x10\x03\xDE\xCA\x09\x1C\x38\xF7\xC1\xC6\xD1\xCB\xCD\xCA\xCB\xCB\x07\xDA\x10\x10\xD4\xD0\x06\xD4\xD1\xEC\xC2\x10\x35\xC9\x1D\xFE\xB9\xD1\x05\xC5\xD0\x1C\xD1\xCF\x09\x1B\xC0\x10\x3D\xC3\x00\x0F\xC3\xDC\x10\xC6\x61\xCE\xD2\x5E\xC5\xD1\x32\xDD\xD1\x01\x17\xCE\x23\xD7\xD1\xC6\xCE\xCE", + "\xDB\xCD\xCC\x3A\xDA\xCE\x3D\x1E\xBF\xD5\xCA\xD1\x3B\xDA\x10\xDE\xC2\xD4\x3E\xDC\xCD\xBF\xCD\xD3\xFC\xC5\xCC\x06\x16\xD3\xB4\xC6\xD2\x06\x19\xD0\x01\xCB\xD0\x02\x1D\xD0\x4F\xD8\xD3\x51\xD3\xCF\x3F\x17\xC9\x56\xD0\xC4\x34\xD0\x00\x52\xDC\xC0\x54\xD1\x10\x5D\xD9\xD2\x63\xD0\x00\x65\xD1\x26\x2A\xD9\xD6\x3D\x2B\xD6\x81\x10\x8A\x27\xC1\xD0\x06\x1F\x43\x9B\x15\xC9\x65\xC9\x10\x74\xD4\xC9\x01\x37\xC9\x79\xD7\xD3\x43\xD9\x10\x4E\xD0\xD2\x0A\x17\xCC\xA5\xC9\x10\xCE\xC5\xD8\xD4\xC9\xC0\x44\xDA\xD8\x80\xDC\xD8\x4D\xDE\xD8\x03\x11\xD6\x66\xD2\xD7\x0C\xD0\xD9\xFE\xCA\xD5\x3E\x1C\xD5\x96\xD1\x10\x92\xDA\xD6\x67\xDC\xD6\x41\x2A\xD2\xD8\x4A\xC9\x50\xD3\x10\xAD\xC4\x1D\xAC\xC8\xD9\x3D\x19\xCA\x9B\xD0\x00\xA7\xD2\xD8\xA3\xCA\xDA\xFF\x0C\xDA\x11\xD2\xD1\x33\xD4\xD2\x47\xD7\xDB\x1B\xD7\xD4\xFE\xB1\xD8\xDC\x1A\xDB\x25\xD8\xD5\x03\x14\xD8\x7E\xD9\xDB\xE9\xCB\xD4\x3F\xDA\x10\x87\xD5\xDC\xC8\xD6\xD1\xC1\xDF\xD7\x89\xD5\xDB\x61\xC0\xDC\xBC\xDB\xD8\xD2\xD1\xD3\xC7\xDA\xCF\xFD\xC5\xD3\x4A\xDA\xDD\xEB\xC8\xDB\xCD\xDD\xDB\xDD\xD2\xD1\xCE", + "\xD6\xDC\xA5\xD7\xD9\xA7\xCB\xD5\xF5\xC3\xDE\xB6\xD9\xDD\xE4\xD8\xD0\xB2\xDA\xD9\xD7\xD1\xC3\xEE\xD2\xD1\xF0\xD9\xDE\x99\xDB\xDE\xA4\xDA\xCB\x9C\xC7\xD7\x06\x12\xD2\x10\xCB\xC9\x0A\x11\xD7\xF4\xCF\xD0\x4F\xCF\xD5\x00\xEE\xD5\xE0\xDE\xDD\x13\xD6\xDE\xC2\xD2\x10\x09\xEF\xDB\xF5\xD3\xDD\x5F\xDF\xD1\xDC\x11\xD2\xEC\xD4\xE1\x0B\xEF\xDE\x0A\x18\xD2\x9E\xD4\xD9\x02\x1C\xD2\xDF\xBF\xDF\x19\xE8\xDD\x1B\xED\xDE\xE7\xD1\x10\x11\xE2\xC4\x0E\xEF\xDC\xD5\xD7\xC4\x88\xD3\x10\x2B\xEA\xC6\x2D\xE5\xE3\xE1\xDD\xE1\xF1\xD1\xC8\xFB\xDE\xE2\xCD\xD4\xDD\x3D\xE3\xE1\x26\xEB\xDB\x37\xED\xD8\xF3\xDC\xBF\x3E\xEC\xE0\x48\xD9\xD3\x45\xE8\xC3\x40\xEE\xC2\x3C\xDB\xE4\xE3\xB7\xE4\x1C\xE9\x10\x41\xDC\xDC\x48\xE2\xE5\xF6\xD6\xDD\x46\xDF\xE3\x27\xE1\xC6\xE2\xD0\xE5\x2C\xEC\xE5\x0F\xEC\xDD\x60\xE4\xE3\x62\xE0\xDD\x91\xD9\xE3\x02\xD5\xE2\xF4\xDD\xE5\x5E\xC7\xDF\x00\xD5\xE0\x06\x10\xDA\xFB\xC7\xE5\x4D\xE3\xC3\xF2\xC8\xDF\xAB\xDA\xDF\x5B\xE6\xE7\x6E\xED\xE6\x42\xEE\xE7\x81\xE3\xE5\x8F\xD5\xE6\xF9\xC4\xDE\x15\xDE\xBF\xC4\xD7\xD5\x3C\xE2\xE8\x68\xE2", + "\x10\xCB\xDC\xE8\x36\xEE\xE8\x2F\xE1\xDD\x7D\xE8\xE8\x77\xE3\xBF\xDD\xCC\xE6\x46\xE9\xE9\x3A\xC9\xD4\x86\xE5\xE7\x98\xE9\xE2\x00\x0E\xDB\x61\xE4\xE9\x67\xE5\xE9\x69\xEA\xE7\xB3\xDC\xE7\x56\xE3\xEA\x83\xE9\xE5\x09\x1D\xD9\x6D\xDF\xD9\x9C\xEC\xE4\x7F\xE8\xE7\xB3\xEA\xE6\x73\xE7\xE0\xB7\xC6\xD7\x58\xC8\xD1\xBE\xEA\xCB\x30\xDE\xC2\x8F\x1A\xD2\x2D\x4B\xE3\x47\xD5\xEC\x9D\xE9\xEB\xB8\xE1\xEB\x1A\xE0\xED\x41\xEF\xE8\x64\xE7\xE9\x28\xE2\xED\x4E\xE3\xD8\xB7\xE1\xE5\x9E\xE3\xE2\x03\x11\xE9\x0A\xE8\xED\xCD\xE3\xE6\x00\x05\xE5\x92\xE9\xEA\xE8\xE8\xE4\x9B\xE1\xEA\x72\xCD\xED\x49\x1F\xE5\xD6\xE1\xED\x8D\xE4\xE8\xED\xCC\xEE\xDF\xD2\xEE\x9A\xE9\xE7\x71\xEA\xDE\x6B\xE6\xEF\x0D\xE9\xEE\xF4\xE8\xDE\xFB\xE9\xDF\xFD\xE1\xEF\xD3\xE3\xE9\x01\xFC\xD9\xBC\xE5\xD9\xFE\xE5\xDE\x00\xF2\xEB\x85\xE6\xF0\xD9\xEA\xE4\x12\xFA\xEB\x06\x10\xEE\x12\xE4\xEA\xE6\xE1\xEE\xD4\xE2\x3B\xDB\xEE\xED\x02\x16\xEA\x66\xEA\xEE\xA0\xE5\xF1\xF9\xEB\xEB\xAC\xE2\xDF\x26\xFF\xE9\x28\xF3\xF0\x7B\xE5\xF0\xAF\xE0\xF1\xAB\xEE\xF2\xAD\xE0\xF3\xE7\xE4\xF2\x44\xE1\xE3", + "\x02\x1B\xE8\xB0\xD7\xF1\xAD\xDB\xF1\x17\xEA\xE5\x0E\xD1\xF1\x43\xF5\xEF\x3A\xFA\xF0\x29\xFE\xEA\xA8\xDA\xEF\x0A\xD0\xE2\x64\xDD\xDA\xB4\xE1\xDA\xB6\xEA\xEC\xCD\xDC\xEC\xF3\xB3\xC6\x5E\x31\xEC\x09\x1C\x48\x54\xF8\xE4\x56\xF3\xBE\x58\xFE\xDF\x03\x1C\xF5\x2B\xF7\xEA\xB0\xE3\xEF\xD7\xED\xF1\x22\xF7\xE8\x69\xFA\xEA\x3B\xFF\xF1\x23\xF9\xF0\x00\x08\xF1\x66\xFD\xF6\x43\xE6\xE9\x31\xF2\xEF\x6E\xF1\x10\x45\xD9\xF7\x07\xF7\xF7\x46\xFE\xF7\x80\xEA\xF6\x70\xFC\xF6\x5E\xEC\xF4\x53\xDE\xF4\x68\xD5\xF8\xA2\xE2\xF3\x02\xFD\xF4\x72\xEC\xF0\x65\xF1\xF7\x8E\xF8\xF4\x34\xFA\xF2\x82\xF3\xEE\x68\xF7\xF8\x39\xF9\xF9\x27\xF6\x10\x3C\xF9\xF1\xE4\xE4\xF7\x94\xFC\xF9\x78\xF7\xF3\x72\xFD\xF7\xA8\xF5\xF9\xA5\xEC\xF8\xDB\xDD\xFA\x0D\xF0\xE7\x90\xFC\xEF\xBD\xE1\xFB\x88\xF2\xD6\x8A\xF4\xE7\xED\xE4\xEA\x51\xF9\x26\x6E\xDD\xF5\xE4\xDF\xF5\x52\x13\xC6\x96\xC8\x15\xC0\xF2\xD1\xC2\xF1\xC2\xC6\xF1\x19\x97\xCF\x18\x58\xEA\xF7\x0F\xF0\xFD\xA8\xE3\xFD\x72\xFB\xF6\x8D\xF2\xFD\x67\xFB\xF7\x00\x01\xFA\x75\xF8\xFD\x76\xF8\xF3\x3E\xFD\xF0\xCF\xFF\xE6\x0A", + "\x10\xF4\xDD\xFF\xF7\xD4\xFC\xFA\xAA\xFC\xF1\x08\xFF\xFD\xD5\xFE\xFA\xF7\xEB\xF9\xE4\xFD\xF9\xAB\xFE\xFD\xF6\xF3\xFF\x59\xD9\xF4\x36\xFC\xFE\xD1\xF8\xFE\x72\xFD\xFB\x49\x17\xF7\x53\x7C\xC3\x7E\xFF\x2C\x7C\x00\x9D\x12\x02\x85\x39\x03\x65\x6D\x69\xFC\x46\x08\xB0\x6C\x7E\x0A\x0B\x01\x94\x0F\xFE\x6A\xF5\x06\x0A\x04\x9D\x79\x8B\x0B\xE1\x42\x09\x1C\x67\xEC\x67\x6B\xD7\x6D\x80\xF6\x5A\x21\x05\x18\xF1\x7E\xEE\x04\x83\xC4\x66\x08\x56\x13\x00\x97\x7F\x02\x87\xFF\x27\x82\x26\x50\x7F\xFF\x71\xFD\x6D\x80\x8B\x73\x10\x23\x82\x0A\x9B\x7D\xF8\x74\xE5\x44\x7B\xA5\x79\x10\x29\x82\xE7\x7C\x76\xCE\x72\x07\x81\x7C\x1E\x86\x10\x4E\x1B\x0F\x87\x7F\x83\x7A\xFB\x56\x7F\xD7\x76\x03\xC7\x81\xE9\x6C\x81\xF8\x7B\xB8\x6D\x6C\x1F\x85\xFF\x50\x81\x12\x80\x7C\x6F\x79\x91\x49\x08\x23\x85\x05\xD7\x82\x0C\x91\x82\x59\x87\xE8\x40\x01\x26\x8D\x05\x9A\x7D\xFB\x66\x7D\xDF\x73\x0A\xB0\x80\x87\x7F\x05\xAE\x80\xA4\x6D\x6D\x5C\x84\xFF\x6D\x82\x33\x88\x05\x81\x08\xE9\x68\x5F\x22\x83\x0D\xA3\x7E\x37\x84\x8A\x6A\x80\x09\x81\x82\x20\x7D\x0F\x9A\x83\x22\x8A", + "\x07\xA5\x81\x08\x94\x72\x70\x85\x10\x80\x85\x77\x72\xF4\x44\x83\x40\x14\x82\x72\x81\xFB\x7D\x7E\x3E\x8E\xF1\x03\x85\x0D\x8A\x84\x39\x81\x10\x95\x84\x31\x87\x30\x62\x80\xA9\x16\x84\x02\x0C\x0C\x91\x84\xF7\x74\x0A\xE8\x81\xC8\x7E\x83\x37\x81\xFE\x67\x82\x30\x85\xED\x45\x7B\x41\x18\x84\xF2\x7C\x12\x8B\x82\xA6\x67\x09\xFF\x81\x26\x8C\x84\xF4\x78\x03\x8B\x08\x58\x8B\x0A\xB2\x85\x22\x96\x85\xB1\x84\x06\xA7\x84\x50\x81\x10\x44\x16\x18\x82\x85\xA2\x79\x18\x8F\x77\x8E\x77\x00\xDB\x11\x02\x8E\x84\xBB\x80\x18\xBD\x84\x61\x86\xF9\x33\x7C\xC1\x75\x7D\x62\x81\x0E\x89\x87\x69\x8B\x0C\xDA\x7D\x33\x82\x13\xCF\x82\x17\x81\x08\x64\x88\x04\xF4\x83\x1C\x9F\x7C\x33\x7E\x1A\xAF\x78\x6C\x8E\x0A\x81\x08\x24\x9B\x86\x93\x86\x1C\xBF\x7E\x0D\x8F\xF4\x44\x84\x41\x1C\x85\xF1\x80\x1D\x8F\x7D\xC4\x71\xF9\x55\x69\x6B\x64\x87\x4F\x86\x0B\x92\x84\xF0\x79\x0E\xFC\x84\xED\x72\x7C\xED\x80\x00\x2F\x87\x72\x8D\x0D\xF9\x86\x10\x9B\x87\xB8\x7D\x1F\xB5\x87\x6C\x88\x0F\xE7\x87\x43\x95\x86\x06\x8F\x1A\x88\x88\x68\x88\x11\x91\x8B\x41\x9E\x87\xC7\x7E\x14", + "\x9D\x89\xC9\x62\x11\x8B\x7E\x3D\x8C\x15\x27\x8D\xB5\x68\x89\x50\x64\xEA\x38\x16\xFE\x66\x08\x58\x1E\x1E\xAE\x89\xCB\x7A\x10\x31\x88\x4B\x9A\x65\x1D\x82\xF1\x54\x1F\x90\x8C\x0A\x80\x00\x81\x61\x80\x67\x69\x87\x7E\x5F\x9F\x88\x00\xC1\x8B\xB0\x7B\x66\x39\x8D\x24\x96\x70\x0E\x64\xEA\x44\x8A\x33\x86\x8A\xF6\x86\x29\xA0\x86\xA8\x87\x13\x8C\x83\x57\x72\x8A\x49\x8F\x23\x81\x08\xA1\x83\xE0\x74\x84\x00\x19\x61\x20\x87\xF5\x73\x88\x75\x85\xF3\x30\x8B\x51\x9E\x86\x5E\x8A\xF7\x7E\x09\x07\x8D\x1C\x7C\x6B\x59\x8D\x6E\x6C\x8C\x3A\x17\x65\x3B\x83\x14\x14\x80\x04\x86\x6C\xAD\x6B\x2C\x99\x89\x75\x83\x10\x36\x89\x42\x9F\x84\x9E\x80\xEA\x69\x8B\xD6\x60\x18\xFF\x8A\x60\x8F\x89\x1B\x8A\x1C\x80\x01\x95\x89\x10\x8C\x8C\x47\x8B\x8C\x6F\x6B\xF9\x6D\x8A\x85\x0A\x0D\xCC\x88\x7F\x7B\x6B\x94\x8F\x2D\x84\x88\x81\x05\x18\x8F\x8D\x67\x8A\x8C\xDF\x81\x2B\x9A\x88\x90\x82\x06\xA1\x8F\x0A\x78\x7C\x8F\x8E\x31\x8A\x8C\xD5\x81\xF4\x09\x08\x6B\x96\x8C\xDB\x67\x92\x5D\x85\xE6\x01\x16\xB4\x86\x40\x1E\x8B\x7B\x8D\x2C\x83\x09\x17\x0E\x15\x87\x26\x3D\x80", + "\x88\x26\x82\x1E\xA5\x84\x2B\x84\x0D\x8A\x89\x45\x83\x88\xC8\x8C\xF5\x55\x8D\x80\x82\x1C\xB3\x81\x43\x9B\x8C\xE3\x87\x38\x83\x8E\x5F\x86\x0F\x8B\x88\x73\x8F\x8E\xC9\x8A\x24\xB0\x7C\x8A\x82\x0D\x8E\x8A\x26\x93\x85\xC9\x69\x21\x00\x8F\x15\x82\x10\xD3\x8D\x71\x9C\x7E\xB8\x80\x05\x92\x8E\xE7\x87\x11\xDB\x7F\x2F\x89\x85\x31\x81\x3B\xBD\x88\xF4\x88\x07\xE2\x8F\x7A\x84\x8E\xFA\x86\x0E\xA8\x84\x27\x81\x1C\xD8\x8C\xEB\x74\x8B\xAF\x7B\x39\xBD\x8E\x20\x87\x0B\xF5\x8D\xF8\x67\x86\xF7\x8D\x3C\x9A\x8E\xF3\x79\x1E\x8F\x85\x82\x8D\x8E\x3D\x8C\x41\x86\x91\x17\x8D\x1D\x96\x8A\x26\x92\x90\x87\x84\x10\x95\x90\xF9\x84\x09\xEB\x7D\x6B\x8A\x8F\x1B\x96\x3C\xB9\x8F\x4D\x89\x10\xE3\x8C\x0E\x8A\x86\x04\x95\xE3\x5E\x90\x4D\x83\x1B\x9E\x8F\x3F\x8F\x90\xFE\x8A\x3B\xA0\x8F\x24\x70\x22\xF0\x8C\x1B\x9C\x90\xC5\x8B\x46\xBE\x5E\x01\x94\x1E\x90\x92\x82\x9D\x89\x3A\x91\x0F\xA1\x90\xF6\x8F\x1D\xFB\x8D\x19\x91\x91\xF8\x8D\x3D\x81\x93\x2D\x80\x23\xA9\x92\x12\x8D\x6D\xC6\x85\x44\x8D\x92\x86\x8D\x1E\xA6\x8F\x2D\x68\x8D\x8A\x8E\x3A\x83\x90\x2A\x9C\x25", + "\x8D\x90\x44\x84\x89\x5A\x8E\x24\x9C\x8E\x1B\x9B\x07\xC5\x8E\x95\x9A\x65\x58\x97\x43\xB5\x84\x32\x96\x08\xAF\x7F\x99\x91\x8D\x4A\x79\x4B\x93\x93\xEB\x85\x25\x83\x8E\x3D\x9C\x91\x27\x94\x1B\x8E\x93\x3A\x80\xD6\x76\x90\x82\x83\x92\x49\x92\x13\xAF\x93\xA3\x69\x26\x9A\x86\x96\x9D\x91\x48\x97\x47\x94\x85\x41\x9D\xDC\x05\x96\x97\x81\x08\x78\x92\x15\x9E\x8E\x3A\x92\x28\xFE\x90\x6D\x9F\x6A\x88\x1E\x1E\x99\x94\x31\x88\x1B\x9E\x8B\x68\x81\x08\xBC\x8E\x1E\x9D\x94\x30\x9F\x29\x80\x01\xA8\x95\x8A\xDA\x7B\x54\x9F\x71\x92\x87\x2A\x97\x94\xA9\x6A\x95\xB5\x72\xF1\x6D\x94\xB9\x8A\x10\x1B\x96\x02\x8B\x61\x17\x80\xC9\x79\x94\xF2\x67\xC9\x63\x62\x4A\x6B\x91\x67\x6C\x99\x15\x81\x81\x02\x2C\xF7\x8B\xE9\x79\x0E\xBB\x92\xA2\x49\x97\x30\x67\xC9\x4E\x27\xB0\x82\x08\xD0\x27\x59\x81\x08\xF6\x12\x2D\x80\x00\xB5\x86\x96\x03\x08\x23\x15\x96\x69\x2B\x2D\xE2\x7A\x40\x02\x1C\x93\x89\xB6\x5B\x0D\x65\x9E\xC5\x17\x67\x23\x38\x96\x23\x65\x5A\x8C\x1F\x6A\x94\x1F\xA5\x88\x1D\x28\x97\x01\x09\x7B\x30\x96\x00\x0D\x22\xD9\x0F\x25\x66\x91\xA5\x91\xEB\x73", + "\x96\x7D\x91\x2E\x86\x09\xED\x13\x97\xFF\x95\x5F\x83\x09\x28\x94\x2B\x89\x08\xC1\x96\x97\x0A\x0A\x8A\x15\x96\x85\x93\x2F\x9E\x73\x59\x7F\x86\x97\x60\x62\x8F\x08\x6F\x91\x1D\xD5\x97\x1D\x35\x96\xB2\x20\x63\x94\x98\x00\x09\x31\xF3\x95\xC7\x8D\x0E\x59\x04\xF8\x52\x8C\xE3\x70\xD7\x0A\x0B\x18\x7D\x5E\x25\x9B\x3C\x34\x0E\x3F\x1E\xBF\x27\x9B\xCA\x89\x08\xDD\x5D\x7B\x79\x95\x99\x96\x32\xAF\x9A\x41\x0E\x99\x2A\x98\x66\x8A\x08\x28\x6D\xBD\x3C\x9B\xCE\x96\x99\x19\x81\x67\xA7\x5D\xAE\x82\x34\x83\x09\xF7\x4D\x99\x40\x9A\x20\x2F\x11\x84\x0B\x34\xB5\x92\x83\x89\x08\x7D\x11\x21\x17\x65\xCF\x80\x19\xD0\x9A\x42\x13\x9A\x0A\x0C\x35\xBA\x8B\x80\x01\x35\x86\x08\xD6\x8E\x8D\x0A\x0D\x6B\x83\x09\xAF\x9B\x2A\x61\x9B\xD5\x8A\x08\x54\x9C\x35\xA2\x9A\x81\x04\x36\x83\x0A\xDA\x87\x9B\x09\x09\x6D\xA6\x9A\xA9\x98\x36\xD9\x9B\xDC\x9E\x9A\x75\x98\x6C\x86\x99\xBB\x93\x36\xF9\x99\xD9\x9B\x9B\x56\x9C\x6E\xB1\x9A\xBB\x90\x38\xA0\x7C\xD1\x97\x99\x49\x99\x20\x21\x7C\xA4\x9A\x33\x94\x79\xD0\x88\x9C\x8D\x9E\x20\x16\x70\xD6\x83\x39\x8A\x0B\xD6\x80\x00", + "\x95\x98\xC6\x6E\x9A\x04\x6A\x37\x92\x9C\xE1\x9E\x9C\x9D\x9B\x20\x19\x9C\xD0\x9F\x37\x86\x0B\xC1\x98\x9C\x9F\x9B\x60\x9C\x9D\xD2\x9A\x3A\x8F\x45\x43\x0F\x9D\x85\x9B\x08\xAD\x84\x81\x07\xC5\x06\x09\xED\x8B\x93\x7D\x9B\x70\xA1\x9D\x50\x80\x37\x86\x0A\xDC\x8E\x9D\xF6\x8A\x70\xBE\x9D\xD4\x9C\x3B\xC2\x9F\xA8\x04\x9E\x15\x98\x6F\xBA\x9C\xD6\x95\x3C\xCA\x9F\xF0\x9B\x9D\xC9\x99\x77\x8F\x9E\xE6\x91\x3D\xEC\x9A\xDF\x9B\x9C\xC1\x9E\x79\x87\x9E\xE8\x90\x00\x27\x9C\x32\x8D\x9B\x02\x0C\x35\x9E\x9F\xDE\x9B\x3D\xD4\x9D\xF7\x93\x98\x78\x8F\xA4\x5A\x77\x84\x0C\x38\xC3\x9A\xFA\x8E\x9C\x1A\x65\x66\x91\x9D\xDF\x5B\x3E\xA6\x62\xFC\x8E\x9F\xF9\x7E\x70\xAC\x9F\xFB\x96\x34\xB7\x7E\x7B\x9B\x9F\x45\x9B\x03\xBE\x9F\xC5\x9C\x3F\x82\xA0\x93\x86\x9E\x9C\x88\x79\xB7\x86\x04\xA1\x10\x3F\x9E\x41\x17\x9C\xDA\x80\x7C\x81\x08\xD6\x81\x41\xD7\x9D\xF8\x99\x8C\x0C\xA0\x00\x0E\xA0\x0A\x9A\x3D\x89\xA0\xF7\x95\xA0\xCB\x98\x7B\x9A\x91\x0E\xAD\x40\x8A\xA0\x08\xB3\x9E\x22\xA5\x75\xA3\xA0\xE9\x95\x3E\xA9\xA3\xB0\x18\xA0\x24\xA2\x83\x8A\xA1\xD3\x93\x2A\x92", + "\xA1\xD5\x86\x8B\x19\xA3\x83\x82\x09\xCB\x95\x43\x96\xA3\x04\xB5\x89\xE4\x9E\x83\xA6\x9F\x1E\xA1\x42\x97\xA1\x42\x04\xA2\x28\xA6\x88\xB8\xA1\x18\xAA\x43\xD7\x19\x10\xA5\xA1\xDC\x98\x89\xAD\xA0\x25\xAA\x42\xFD\x8B\x13\xB2\xA1\xDC\x9C\x86\x97\xA3\x26\xA7\x3E\x89\x08\xBF\x96\x9E\x45\xA7\x87\x9E\xA3\x2D\xAA\x40\x97\x9F\x17\xA1\x08\x36\xA4\x35\xA7\xA2\x00\x09\x46\x8A\x0B\x1A\xAD\xA3\x63\xA1\x87\x8A\xA1\x37\xAE\x43\xB7\xA3\x40\x14\xA3\x61\xA6\x8E\x82\x08\x3C\xA9\x44\xE2\xA2\xE9\x8E\xA3\x64\xA1\x8B\x80\xA4\x39\xA2\x48\xDC\x9E\xD6\x8A\xA0\xAC\x89\x91\x88\xA5\x19\xAC\x48\x85\xA6\x41\x0F\x6D\xAE\x6E\x72\xAF\x64\xD3\x63\x49\x9D\x45\x25\xA1\x08\x90\xA0\x92\xA7\x9C\x4D\xA7\x49\xDD\xA1\x1F\xBA\xA3\x50\xA6\x7C\x97\x9C\x2E\xA4\x4A\x8A\xA1\x29\xBC\x9E\xA7\xA6\x7C\xA7\x9C\x2E\xAB\x4A\x8D\xA6\x41\x00\x97\x54\xA7\x5B\xA5\xA3\x89\x0A\x40\xB0\xA6\x1F\xA3\x08\xB6\xA0\x94\x80\x01\x5C\xAC\x1A\xBC\xA4\x2D\xBC\x9E\xBE\xA1\x76\xB2\xA4\x47\xA8\x4B\xAE\xA4\x0B\xA2\xA2\x2E\xA0\x8D\xB5\xA3\x43\xA4\x48\xE6\x9C\x1C\xAC\xA2\x0A\xA7\x99\x87\xA7", + "\x50\xA9\x4C\xEC\xA3\x32\xA1\xA4\xAA\xA0\x9B\x95\xA7\xD3\x92\x4D\xAF\xA1\x42\x16\x95\x02\x08\x9C\xAA\x70\x6D\xA1\x4B\x82\x84\x34\xBC\x9E\x67\x63\x9A\x98\xA2\xF3\x91\xE1\x5D\xA7\xAD\x05\x7F\xE4\xA7\x96\xBB\xA0\x33\x61\x4F\xBA\xA7\xE5\x8D\xA7\xD7\xA0\x11\x8D\xA7\x6A\xA9\x4E\xE0\xA3\x27\xAC\x8D\xF8\xA1\x8F\xAC\x8C\xA0\x7E\x4E\x80\x01\x3F\xAA\xA6\x02\xAA\xD8\x7B\xA7\x72\xA5\xEE\x75\xA4\x6B\x87\xA8\xD6\xA1\xA1\x89\x08\x88\xA5\x50\x84\xA9\x3E\xA4\x71\x0B\xAA\x9E\xA3\xA7\x8C\xAA\x4B\x96\xAA\x44\xA6\x08\x14\xAF\xA2\xB2\x70\x87\xA0\x4F\x9C\xAB\x43\xA4\xA9\x06\x76\xA4\xB0\x9D\x63\x91\x51\xFF\xA7\x4A\xA3\x08\x21\xAF\xA3\x95\xA2\x08\x78\x52\xFF\xA2\x3E\xA7\xA7\xD9\xA3\xA2\xB5\xA9\x99\xAB\x51\xB8\xAB\x36\xA5\xA9\x3E\xAC\xA1\xA7\x9D\x98\xAE\x52\xC2\xA4\xDF\x75\x08\x0A\x0B\x5D\x86\x08\xA5\xA3\x10\x3B\x8A\x41\x12\x97\xCB\x1A\x21\x0E\xAB\x81\x00\x55\x82\x0B\xB5\x99\x96\x3A\x76\x20\x09\x76\x76\x82\x10\x7D\x6A\x40\x0C\x98\x03\x0F\x5D\x94\xAA\x85\x05\x55\x81\x0B\xC5\x8D\x48\x7B\x21\x21\x3E\x8D\x45\x2A\x10\x64\x7B\x40\x0B\xAB\x4D", + "\xAC\xAC\x92\xAA\xB9\xA9\x10\x67\x97\x58\xB5\xAB\x74\xAE\x20\x30\xAA\x81\x03\xCB\x01\x08\x28\x63\x08\x7F\xAA\x20\x13\xAA\x81\x05\x56\x98\x67\x5C\xA9\x08\x85\xAF\x63\xB4\xA8\x95\xA9\x10\x0A\xAE\x39\xAA\xA7\x5C\xA6\xB1\x86\xA9\x9D\xA2\x10\x12\xAD\x40\xA5\xAA\x0F\xA2\x21\x12\xAC\x8F\xA8\x59\x83\x0B\xE5\x92\xAC\x44\xAB\x8A\x9A\xA8\x00\x0F\x59\x8A\xA9\x50\xA3\xAD\x9B\xAC\xB2\x81\x08\xD0\xAA\x5A\x9C\x9A\x69\xB0\xAC\x0A\xA1\xB5\x8C\xAC\x83\x0C\x5A\xB3\xAF\x40\x16\xAC\xAD\xAA\xB6\xA7\xAC\x5D\xA5\x5B\xBB\xAC\x6B\x9D\xAD\xB0\xAC\x7B\xBA\xAD\xE0\xA6\x3E\xB8\xAE\x6D\xB5\xAC\x9A\xA9\xB9\xA9\xA8\xDF\xAA\x5C\xAC\xA9\x41\xA0\xAE\xFE\xA2\xB4\xBC\xAD\xD7\xA1\x5D\xC8\xA4\x43\xA3\xAE\xD5\xAC\x9A\x97\xAE\x7A\xA7\x5C\xAB\xAD\x73\xA3\xA9\xDD\xAE\x93\xB7\xAC\xA0\xA4\x5C\xBF\xA9\x63\xBC\xAE\xCC\xAE\xA8\xAE\xAD\xE5\xA5\x5E\xC2\xAB\x77\xA2\x08\x9C\xAA\xBA\xA2\x9F\xF7\xA1\x10\x21\xAE\x75\xA3\xAD\xA7\x9E\xB8\xA9\xAE\x9B\xA4\x5B\xE4\xAD\x76\xAB\xA7\xE6\xAD\xBF\xBA\xA9\xF0\xA7\x3A\xC5\x97\x40\x0E\x96\x06\x09\x5A\x86\x08\x6E\x96\x10\x54\x25", + "\x42\x03\x6D\x23\x9A\x64\xA3\x98\x00\x0B\x09\x52\x5C\x28\x43\x63\x50\x61\x28\x23\x62\x4E\x06\x61\x87\x9C\xFD\x93\xB0\xBE\x96\x3B\x20\x44\x64\x8A\x61\x8A\x09\x27\x1D\xB0\x13\xB7\x72\xA5\xB1\x84\x0E\x09\x28\xB3\xC8\x94\x9A\x13\xB1\x20\x1F\x04\x17\xB7\xC1\x25\x79\x8C\xA6\x08\xA0\x04\xC6\x86\xA0\x83\x0E\x21\xB7\xB1\x28\x1A\xB1\x5B\x8D\x11\xB7\xB1\x80\x02\x0A\x40\xB2\x2E\xB7\xAA\x43\xB1\x20\x23\x04\x23\xB4\x35\xAA\x2C\x88\xAC\x44\x0A\x0B\xB4\x0F\xB3\x84\x04\x0A\x46\xB3\xDA\x81\x08\x6A\x2B\xCA\x86\x09\x52\x06\x64\xD0\x62\x4F\x33\xB0\x9D\x67\x38\x2F\x86\xA0\x20\x66\x85\x13\x18\x60\xAB\x49\xB0\x00\x26\x04\x23\xB7\xC9\x5B\xA9\x9A\xA0\x00\xA7\x06\xC8\x9D\x5E\x08\xBF\x66\xA8\x06\x9C\xAA\x08\x74\xB1\xCD\xA9\x04\x23\xBC\x1A\x8E\xB3\x9B\xA0\x00\xAA\x05\xCB\x8A\x09\x6E\x25\x66\xF5\x10\x14\x62\x27\x85\xB1\x11\x4A\x08\x73\x2F\x67\x80\x03\x2A\x06\xB2\x4D\x9B\x20\x04\x29\x46\xBC\x0A\x7C\xB2\x42\x1D\x28\x8D\xB5\x15\x16\xB5\x84\x0A\x53\x0D\xB6\x2B\x1B\xB4\x06\x09\xA9\x1A\xB3\x81\x0F\x0A\x56\xB2\x42\x1A\x2A\x8D\xB0\x16\x2C\xB2\x85", + "\x08\x58\x0D\xB5\x2C\x06\xB2\x97\x99\xBA\x09\xB4\x27\x1C\x1A\x80\x35\xA3\xB2\x05\xA0\xB3\x20\x05\x35\x46\xB3\x0B\x39\xB6\x40\x08\x34\x8D\xB4\x16\x06\xB2\xDF\x69\x5F\x0D\xB5\x2D\x03\xB6\x0A\x0C\xC0\x0D\xB4\x5B\x06\x64\xF5\x94\x00\x06\x30\x8D\xB7\x16\x06\xB2\x64\x8F\x6E\x33\xB4\x8D\x17\x9D\x02\x09\xDB\x16\xB6\x1C\x16\xE1\x0B\x31\xA3\xB8\x05\x46\xB6\xC2\x50\x31\x46\xB9\x0B\x46\xB3\xE9\x85\x32\x8D\xB2\x17\x26\xB6\x85\x08\x6E\xFF\xB3\x2E\x0B\xB7\x09\x09\xCF\x0D\xB4\x5E\x00\x6F\x86\x0A\xBC\xBF\xB3\xBD\x05\xDE\x83\x09\x51\x3D\x68\xBE\x06\xBE\xA2\x08\xFC\xB7\xCF\xBF\x05\x70\xB6\x62\x8D\xB4\x00\x00\x06\x46\xB0\xE3\x50\x37\x46\xB1\x0C\x48\xB5\x42\x10\x39\x8D\xB3\x3B\x18\x78\x6A\x3D\x68\xC2\x07\xB4\xAA\x08\xE8\x33\xDB\xBF\x12\xDF\x67\x71\x0D\xB7\x30\x0D\xB6\x0A\x0B\xE4\x0D\xB4\x62\x06\x64\xA1\x7C\xD2\x2D\xB4\xC5\x06\xC8\xB9\x94\xA8\x3A\x71\xDB\x0C\x4A\x74\x3A\x8D\xB6\x18\x06\xB3\x97\xB6\x70\xC7\x07\xCC\xAA\x08\x56\x3D\xD1\x88\x07\x9B\xB9\x10\x39\xBB\x9F\xA9\x06\x46\xB7\x15\x31\x8A\x00\x01\x69\xB4\x13\x8D\xA1\xB3\xDC\x11", + "\x28\x18\x8B\x18\xB6\x17\xC9\x1D\x50\x1C\x80\x31\xB6\x7F\x57\xB0\x0F\xB4\x23\x7E\x5D\xD1\xB8\x11\x41\x09\x57\x88\xBB\xE0\x01\x14\x29\x9A\xFD\x95\x13\x41\x08\x8A\x5B\xBB\xE2\x0D\x74\xF1\x9F\xFC\x86\xBA\x0A\x0F\xEA\xB3\x42\x85\x0F\x0E\xC3\x8A\x9F\x03\x63\x63\xB8\x3A\x01\x0B\x4B\x61\x77\x8F\x18\xCA\x85\x10\x41\x0C\x6A\xB5\xBA\x26\x1A\x75\xF8\xBA\x02\xBB\xBB\x05\x10\x8A\x64\x96\xAE\xB2\x4A\x6A\xBA\xDA\xBB\x0E\x41\x0F\x72\x90\xBB\x00\xA1\x64\xCC\x98\xD5\xB8\xBA\x36\xB3\xC7\x8E\x12\xB5\xBD\xBD\x14\xBE\xDF\xA9\x9F\xF8\x9E\x8A\x80\xA1\x4F\xAD\xBD\x6F\x87\xE1\xBE\x0E\x41\x08\x92\x8B\xBA\xF8\x91\x10\x20\x45\xDB\xB7\xBC\x06\x0A\x9C\xBE\x89\x02\x16\xE1\x26\xBD\xE2\x9F\x13\x41\x08\xE8\x6B\x77\xAF\xBB\x03\xA5\xBF\x15\xBF\xBC\xC7\x09\x28\x0C\xAB\x74\x93\x20\x58\xB6\xED\xB9\xA0\xA3\xBB\x64\x83\xAD\xDF\xB3\x20\x48\x84\x28\x57\x64\x8B\xBB\x64\x85\xAC\x50\x48\x64\x81\x0A\xFF\x4E\xB6\xA0\x44\x6A\x97\xB2\xD8\xB9\x55\xB5\xB0\xE7\x1C\xA2\x88\xBA\x21\x2E\xB2\xB3\xB3\xD7\x4D\x1C\x6B\x97\x64\xD9\xBC\x95\x17\x9D\xE9\xB1\x7E\x86\x08\x9A", + "\xA4\xBE\xC9\x1F\x72\xAF\x8C\xD0\xB9\x11\x0F\xBE\xA9\x8D\x1E\xA7\x98\xF7\x89\x0F\xA0\x0B\x57\x81\x09\x88\xA7\x0E\x18\x7E\x7F\x67\x9D\xE0\xB2\x19\xFD\xAB\x20\x45\x10\x92\x6A\xFF\xAF\xBD\xF2\xB4\x2C\x85\xA1\x40\x0C\xB0\x8F\x9A\xF3\xB4\xBC\xD1\x99\x76\xA8\xBF\x40\x19\xB3\xCE\xBD\x40\x22\xBD\xD5\x99\x80\xE8\xB9\x42\x04\xB4\x0B\xC4\x46\x2A\xBD\x3B\x67\x76\x90\xBD\x42\x08\xB4\x19\xC1\x20\x0C\xB5\x10\xCD\x50\x9B\xBE\xEC\x9F\x9F\x03\x11\x28\x13\xB5\xC1\x11\x3B\x3E\x6E\xEF\xB4\xBE\x09\x0A\xA1\x26\xC0\x81\x08\x69\xAC\xC2\x93\x0F\xC1\x4B\x8C\xFD\xAC\x24\x64\x8D\x2E\x84\xBD\x42\x0A\x29\x3B\x3D\xF8\x8A\x09\x17\xC4\x80\x82\x09\xA7\xA4\xC1\x5F\xB6\x06\xF4\x10\x67\xB2\x7F\xBE\xC2\x41\x04\xB3\x99\xBC\x46\x1E\x91\x31\x6E\x6C\xFC\xBF\xF2\x62\xB5\x51\xC0\x47\x03\xBF\xFF\xB9\x10\x4E\xB5\xF2\xB2\x8C\x52\x2D\x03\xC0\x00\xB7\x23\x83\x81\x0A\xB6\x90\x9C\x7E\x60\xF3\x8E\x13\xA0\x0D\x6A\xA4\xC3\xB8\x12\x6C\xB0\x91\xF7\x91\xB3\x6C\x22\xD9\x10\xA5\x11\xC4\x53\x7E\x10\xB5\x25\xC3\x3F\x13\x2A\xEB\xA3\x1D\xDF\x13\xAC\x2E\x0D\xDE\x0F\x35\xA1", + "\x29\xF2\xBA\x42\x12\x2D\x8C\xB9\x82\x10\xA5\x42\xC5\x1D\x41\x09\x6E\x29\xC4\xE3\x11\x97\xB3\x70\x39\xCC\x4A\x11\x70\x44\xBF\xC3\x55\x21\xC2\x71\xC3\xF9\xBA\x10\x54\x2D\x10\xC9\x8C\x6B\xBC\xBD\x96\xA4\xB0\xB7\x12\x7E\x10\x7A\x3B\xC3\x5E\xA8\xFD\xB0\xAE\x20\xA4\x8A\x89\x09\x7D\x3F\xC4\x5F\xAD\x71\x1D\xA5\x3F\xC5\x6C\xCA\xC1\x40\x1E\x2F\x7B\xC2\xAC\xBC\xBC\x98\xA5\x2B\x8E\xC1\x46\x3E\x90\x18\x96\x09\xD6\x28\x0F\x97\x89\xBA\xC3\x4C\x21\x98\x82\xAE\x17\xE4\x29\x2D\xCB\x54\x2D\xC6\x41\x02\x30\x62\xC3\x3B\x27\xAB\xFE\x99\x10\x5B\xC3\x16\xDF\xC3\xDE\xB1\x0B\xFF\x12\xBB\xA2\x10\x39\x97\x16\xCE\x28\xCE\xC3\x20\x14\x31\x68\xCE\x1D\x08\xB0\x35\xC6\x08\x5B\xC6\xC0\x96\xC0\x83\x04\x63\x64\xC7\x71\x10\xC0\x5F\x8F\xB0\x86\x08\x72\x21\x8E\x82\x0B\x96\x2E\xC7\xC9\x08\x04\xE7\xC7\xB8\xAF\xC9\x4A\xC4\x00\x15\x33\xF8\xC1\x38\x2B\xC1\x7D\xC9\x8C\x89\x0B\x36\x35\xC7\x01\x08\xD8\x9A\xC7\xED\x00\x84\xDA\xC7\x16\xC0\x27\x08\xC8\x00\x01\xB8\x82\xC8\x23\x50\xC0\x45\xC0\x00\x5B\xC5\xFE\xB0\xC0\x83\x0C\x6A\x5A\xC7\xAD\x3B\xC3\x58\xC3\x20", + "\x1E\xC7\xB6\xAE\x8F\xBB\x36\x18\xCE\x36\x7B\xC0\xD5\x96\x80\x79\xCB\x1B\xFE\xC6\xB4\x22\xC3\xDB\x34\x04\xED\xC2\x91\xC9\x57\xD1\xA9\x44\xD5\x22\xCD\xB8\x00\x05\xAC\x4C\xCA\x45\x67\xC3\x40\x0D\xC2\xC5\x09\x28\x20\x37\xFF\x05\x20\x4E\xB2\x36\xDE\xC9\xDC\xBB\x0D\xCA\x08\x82\x34\x94\xF5\x10\x6D\x22\xC3\x48\xCD\xF1\xA9\xC0\x85\x00\x71\xAB\xC9\x42\x03\x3A\x7B\xC2\xD6\x9A\xC7\xED\xBE\xC3\x7E\xC7\xC9\xB6\xC5\x11\x25\xAC\x62\x70\x63\xC3\x10\x4A\x38\x2C\xD8\x11\xA9\xC0\x00\x0D\xC7\xA9\xC9\x10\x4C\x3A\x20\xCB\x2F\xEE\xB9\x2D\xD7\xC6\xB2\xC2\x10\x2C\xBB\x5B\xC9\x0E\xB5\xC3\x20\x23\x63\xB4\xC0\x8E\xEC\xCA\x41\x1E\xB9\x15\xC0\x47\x10\xC6\x12\xC9\x96\xEA\xC6\x07\xC6\x08\x5A\x3B\x0F\xDB\x0E\x68\xB4\x98\x8A\x08\x3D\xDE\xCB\x03\x0F\xEB\x0A\xCC\xEF\x09\x8D\x81\xCC\x00\x09\xCB\x6A\x8E\x10\xEC\x25\xB4\xC1\x58\x87\xCF\x40\x03\x3B\x93\xCF\x38\x23\xB7\xC6\xC6\x90\xFE\xC7\xD9\x21\xCD\xC9\x0B\x1C\xE4\xCC\x83\x00\x91\x90\xCE\x40\x16\x3B\xA8\xC9\x38\x24\x30\x54\xCA\x10\x1A\xCB\x1F\xDA\x3B\x7B\xC6\xEF\x3B\xC3\x76\xC8\x86\x83\x09\x5A\xCE", + "\xAB\xEB\xC3\x20\x03\x3D\x3D\xC7\x78\x7B\xC3\x94\x29\xC4\x69\xCB\x56\x9E\xCC\x81\x0B\x78\x7B\xC3\xE3\x3B\xC3\x6D\x31\x11\xE7\xBF\xCB\xCE\x8F\xD5\x22\x2E\xC1\x08\xB6\xCC\x2E\xF8\x11\xCD\x31\x9B\xC5\x0F\x75\xC0\x00\xC0\xCB\x39\xF8\x11\xD4\x3D\x9D\xD0\x0F\x77\xCA\xCE\x1B\xCE\x49\x2D\x3D\xF2\xC5\x1D\x68\xCF\x34\xC1\xCE\x02\x0A\xF6\x2C\xCE\x26\x1A\x91\xEF\xCE\x78\xC0\x00\xB6\x3B\x3E\xC5\x11\xF0\xC0\x00\x76\xCD\x7A\xC2\x08\xBA\x3A\x3F\xF5\x12\x6E\xC1\x10\x6B\xCA\x52\xC9\x08\xC9\x3F\x2C\xDB\xC6\x96\xC0\x9F\x81\x0B\xF2\x2A\xD0\xF7\xB6\xFA\x86\x08\x02\xD0\x00\x7D\xCB\x81\xC6\x08\xCD\x3A\x41\xDB\x0E\x0A\xD6\x98\xFF\xCD\x40\x0F\x3E\x1A\xD6\x3B\x14\xD1\xC7\xC7\xA1\x83\x09\xF4\x21\xD1\xC7\x0C\x42\xDD\xCC\x0F\xD0\x00\x54\x3C\x8A\xC9\x0E\x14\xD7\x20\xEE\xCD\x80\x06\x7D\x2F\xD1\x70\x14\xD0\xAD\xCD\x44\xC2\x08\xEC\x36\xA3\xC5\x0C\x85\xD9\xCE\x94\xC6\x20\x1A\x3F\x3A\x2C\x7D\x7B\xC2\xAD\xA0\xCB\x14\xD4\x3F\xFF\xC2\xF0\x35\x47\x62\x3F\x1E\xDB\xB5\x48\xD1\xAD\xB3\xD0\x00\x05\x7F\x75\x23\xFD\x3B\xC3\x0A\xCA\x42\xC0\xAC\xFA\xAC\xA2", + "\xDB\x0C\x01\x42\xD0\x02\xB2\x96\x7E\xC6\x04\x4D\xA3\xD0\x0D\x87\xCA\xB0\x3A\xD4\xA4\x1D\xD1\x4D\xC2\x8C\x82\x0A\x02\x4A\xD0\x8D\x35\x8E\x1D\xD0\x3B\xCA\x9D\x80\x01\x03\x55\x23\x0F\x43\x0F\xD1\x35\x3A\x26\x8E\xB7\x8E\x3F\xD3\x40\x0A\xD6\xD2\x3C\xD3\x59\xC5\xA7\x95\x41\x1D\x37\x40\x7B\xC3\x22\xFB\xC4\x68\x9A\x10\x06\xD1\x83\xC0\x00\x30\x41\x20\xC5\x0F\x52\x3A\x8D\xE8\xD1\x41\xD3\xD2\x57\x42\x52\xD0\x0E\x58\x3D\x94\x89\xB2\x42\x16\xD0\x8F\xD1\x14\xD7\xC9\xED\x06\x92\x95\xD6\x42\x1D\xD0\x7F\xC6\x10\x5A\xD5\xEA\x08\x92\xA6\xD5\x42\x04\xD1\x8F\xD0\x01\x02\x45\x2F\xC2\x10\x57\x36\x18\xD6\xD4\x7E\xAE\x1F\xCC\x01\x59\xD5\x20\x43\xCA\xAB\xC6\x08\x32\xD1\x4D\xD8\x9C\x5E\xD5\x27\x79\x37\xAF\xC3\x08\x39\xD7\x51\xD4\x00\x62\xD3\x20\x19\x3B\xAD\xD5\xCD\xFE\xC3\x13\x62\xC2\x51\x4B\x87\xBD\x39\xA7\xC3\x08\xB8\xD0\x3C\xFE\xC6\x0F\x0C\xAC\x83\x08\x2A\x5B\xC3\x5F\xCC\x26\xC9\x09\x6C\xD8\x9E\xFF\xC0\x09\x1D\xD6\x21\x72\x10\x7E\x5E\x98\xB6\x95\x8B\xB2\x24\x7E\xC7\xEB\x45\x4C\xD5\x0E\x3F\xB3\x10\x08\xC3\xA3\xD5\x22\xF0\xC5\x4F\xF7", + "\xCE\x7C\xDA\x10\x59\xD4\x4F\xD0\x20\xC1\xD7\x52\xC2\xD7\x71\x12\x99\xE0\xC8\x06\xC3\x08\xFE\xBF\x0F\xF1\x46\x48\xC3\x2D\x49\xD5\x40\x13\xCB\x41\xD1\x79\x21\x3B\x3A\x2A\x8F\xFC\xAA\x3F\xDD\x47\x0C\xD9\x5A\x30\xD5\x80\x00\x94\x9A\xCF\x22\x3D\x5A\x75\x10\x34\xED\xD7\x81\x0B\xB1\xAB\xBD\x44\xDD\x49\xD7\xD4\x46\x38\x3B\x94\xD1\x10\x25\xD8\xAD\xC6\x7E\x63\x4C\x65\xC0\x00\xC3\x4B\x87\xC3\xCF\xC8\xC2\x08\x23\xC3\x20\x32\xC1\x29\xD5\x45\x39\xDA\x40\x17\x27\x37\xCA\x8B\x00\xDA\x83\x0D\xB1\x8D\xC6\x42\x17\x4C\x32\xDB\x3B\x0D\x3C\x99\xD3\xB4\x96\xCF\x1F\xD7\x4D\x49\xDE\x3B\x24\xCF\x9B\xD1\x10\x4D\xDA\xE4\xAF\xD4\xDE\x4A\x66\xFC\x4F\x3D\xC4\x7B\x32\xDB\x40\xC2\x08\x3B\xDB\x60\xDA\x23\xAF\xD5\xB5\xD5\xCE\x16\x21\xDB\x16\xD9\x22\xCA\x50\x79\xD1\x14\x20\xD5\x81\xDE\xC7\x54\x00\x5D\xF8\x11\x04\xDA\x8D\xEE\xD8\x46\xDE\xC7\x43\x53\x55\xC1\x0B\x13\xD4\xB5\x95\xD3\xA7\xDE\xC7\x65\x52\x6F\xCA\x09\x22\xD5\xB7\xA7\xD6\x3F\xC0\x54\x82\xD9\x21\x31\x3E\x31\xC6\xB7\xA5\xDB\x1F\xD5\x54\x89\xDE\x20\x1F\xD3\xC2\xDD\x8F\x91\xC8\xAB\x51\xDC", + "\x03\x0F\x4E\xD4\xDC\x60\xDE\x8F\xC9\x54\xE6\xC2\x08\x86\xD3\x73\xC8\xD6\x7F\xCE\xAD\x1F\xDD\x40\x12\x41\x8C\xD8\x5A\xD1\xC9\x7F\x52\x86\x93\x5B\x1E\xC6\x43\x32\xDE\x6E\xCA\xD3\x3A\xD6\xB2\x62\xC3\xCF\x5B\xC3\x02\x00\x64\xC6\x08\xBB\xD5\xAE\xF5\xD3\xD1\x42\xC3\x50\x5B\x0F\xCA\x44\x99\xD5\x83\x83\x08\x4F\x21\xDA\x10\x25\x78\xC2\x09\x86\xC2\xB6\x90\x20\xF3\xC2\x08\x8E\xD7\x3E\xC6\x04\xB9\xDF\x27\x3B\xD6\x18\xCF\xDE\x0F\xDE\x1F\xD6\x5A\xD3\xD3\xAC\xB2\xD8\xF6\xDE\xDB\x11\xCE\x11\x14\xDE\x89\xB4\xBD\xDF\xDC\xAA\xD5\xD3\x92\x03\x7C\xDE\x0F\x0C\x05\xBE\x8E\xCE\x3F\xD6\x04\xEA\xDF\x38\x1D\x01\xF6\xD5\xB9\xD3\xD2\x26\x11\xDF\xC9\x09\x04\x34\xDE\xCE\xD1\x91\x9E\x04\xFE\xC1\x0E\xB9\x47\x7A\xCA\x08\x87\xDC\xA2\xE9\x58\xF7\xC1\x47\x02\xE2\xAD\xBE\xC7\xB8\x52\x86\x91\x5D\x2E\xDA\xDD\x03\x0F\x7B\xF3\xDD\x88\xD2\x10\x1A\x5E\x18\xD0\x05\xEA\xD3\x23\x10\xE1\xE5\xD2\xA5\xC2\xD6\x2C\x14\xDE\xB6\x01\x83\xC9\x09\xA5\x42\xB3\xC7\xC2\xF1\xC6\xDB\x10\x27\x78\xE2\xD3\x88\xC8\x0B\x5F\x4D\x12\xC8\xD8\xFE\xC1\x17\x2A\x5A\x7F\x16\x91\xE9", + "\xDB\x94\xDC\x05\xDF\x4D\x86\xC1\x08\xA1\x28\xBC\xA7\x20\x0F\xE6\x08\x45\x2D\x87\xC1\x0F\x5E\x02\xC2\x83\x11\x10\xEB\xE1\x53\xD7\x17\x1F\x4F\xA3\x29\x10\x09\xD9\x9D\xC0\x06\xDF\x49\x24\xC2\x08\x26\xEC\xB3\xDA\x21\xF4\xCA\xCB\xFE\xC1\x18\x3F\xDF\xE2\x0D\x96\x62\xC3\x15\xF0\xD8\x9C\xC1\x21\x05\x07\x2D\xE0\x1D\x34\xD9\xDF\xD7\xE2\x76\xDF\x0F\xC9\x06\x32\xE5\x1D\x2B\x4E\x17\xE6\xDC\x11\xCD\x19\x2C\xE3\xA0\x06\x9C\x6F\xE3\xAB\xDE\xC7\xD1\x03\x8E\xCA\x09\xF1\x46\xC7\x86\x0B\x8A\xDF\xC3\xD5\x02\x8F\xC9\x09\xAD\xDA\x8D\xD7\xE1\xC0\xD7\xCF\xD9\x02\x90\xC6\x08\x0F\x5D\xC7\xA3\xDD\x44\xDD\x06\x8A\xE3\x20\x05\x53\x46\xE6\x48\x7E\xC5\x38\x14\xDE\xE5\x05\x88\xC3\x09\x33\x52\xB3\xD7\xE3\x04\xE1\xE3\x06\x0F\x1C\x14\xDF\x75\x0A\xC9\x82\x09\xA2\x5D\xE4\x1D\xE7\x51\xED\x06\xEA\xD1\x0F\x25\xE5\x40\x04\x55\x5A\xDD\x51\xFE\xC7\x79\x0E\xCA\xFF\x12\xE7\xC0\xCB\x4E\x28\x1D\xFE\xC7\x7A\x05\xCB\xDB\x0F\xB2\x5B\xC3\xB9\xE2\x35\x7E\xC7\x7B\x0D\xCB\xDE\x0C\xB6\x55\x23\xC1\xE2\x20\x27\xDE\x0A\xE7\xBA\xC5\xE7\x71\x05\xDD\xB8\xE6\x7D\xD1\xC9", + "\x7D\x0E\xCC\xC9\x0C\xBA\x48\xE6\x0A\x0F\x8F\xF5\xD3\x7E\x05\xCD\xC1\x0D\xBB\x58\xE6\xA5\xCF\x26\xDD\xE7\xE2\x0B\xAF\x60\xE4\x6B\xDE\xC7\x01\x07\x7E\x56\xC3\x80\x0C\xBA\xD1\xE6\x02\xF1\xC8\x03\x02\x9D\xD1\x80\x79\xE9\x10\x04\x58\x30\xE4\xC9\x11\xCF\x00\x34\xE6\x83\x09\x00\x7B\xE6\x38\xD5\xE5\xC9\xE0\x54\xBE\xC7\x05\x0E\xCF\xBB\xA1\x41\xE1\x08\x19\x5B\x0F\xE1\xC2\x83\x07\xC5\xFF\xC3\x03\x17\x5F\x80\xB9\x21\x32\x59\x3A\x2B\xD0\xFC\xC7\x94\xD0\x00\x10\xED\x40\x34\x58\x85\xEF\xB7\x91\xC9\x04\x19\xE8\x75\x17\x76\xE0\xCB\x8A\xEA\xCC\xFE\xC6\x04\x00\xE9\x03\x15\x68\x54\xE8\x69\xE3\xA5\x93\x00\x4A\xEE\x12\xBF\xDB\xA4\xD9\xE6\x7F\xC4\x01\x2F\xE8\xD3\x52\x47\x24\xE9\x20\x07\xE4\x16\xD5\x01\x36\xE8\x8E\x02\x04\x38\xEB\x80\xFE\xC6\x0B\x0E\xD3\xFF\x13\x20\x01\xEA\xEF\xE3\x4A\xD7\x01\xA2\xE8\x01\x07\xE8\x00\x01\xDE\x24\xC1\xA7\xDA\xD7\x88\xCA\x01\x45\xEB\x06\x0E\xEA\xD3\xDC\xA3\xC9\x09\xDE\xDC\xCC\x80\x01\x07\x05\xEA\x1E\x06\xA9\xC8\x05\x5A\xEA\x92\x83\x08\x54\x31\xC8\x20\x05\xA8\xE3\x17\xB2\xE2\x10\x52\xEB\x1F\xC1\x01\x4E", + "\xEB\x04\x2A\xEA\xEF\x09\x65\x86\x0B\x59\xF3\xD2\x24\x03\xAE\xD1\x17\xBA\xE3\x10\x6E\xE9\x9D\xC5\x01\x4E\xEF\x04\x3A\xEB\xE4\x0C\x56\x0C\xEA\x3F\xC8\x01\xF7\x5F\xFE\x95\x5B\x5A\xE5\xD8\x96\xEA\xB0\xCB\x01\x89\xED\x40\x0C\x04\x53\x4D\xD8\x82\x09\x1A\xF5\xD3\x2E\x01\xB2\xF5\x13\x47\x0C\xD8\xF0\xE3\x94\xD1\x01\x9A\xEB\x40\x11\x05\xCE\xE7\xC7\x91\xC8\x0D\x01\xED\x4E\x13\x12\x24\xEC\x3F\xEE\x8F\xB7\x00\x6A\xF4\x11\x5F\x5B\x0F\xD5\xEC\x9D\xEE\x8F\xBA\x03\x6B\xF8\x11\x97\x03\xB5\xCE\xE5\x29\xDD\x03\x37\xEF\x9F\x19\x04\xBA\xED\x92\xD1\xC8\x20\x0E\xDB\xC3\x02\x53\xE3\x5B\x89\xC3\xB6\xD3\xEB\x29\xD5\x04\x3E\xEC\x12\x0E\xEA\xFE\xD9\xB9\xE9\xE5\xFB\xCA\x04\x3E\xED\x13\x0E\xEA\xA1\x06\x14\x7C\x2B\x84\x0D\xD0\xF5\xD3\x13\x0E\xEA\xDB\x0C\x14\x35\xE5\xED\xEA\xCB\x91\xC9\x14\x00\xEF\xDE\x0C\x81\xFD\xCC\x81\x04\xDE\xC2\xE6\xDA\xC8\xEF\xC7\x0B\x70\x7B\xC3\xF6\xE5\xD2\x91\xC9\x15\x10\xEF\xC9\x0B\x72\x73\xEE\x96\xE2\xAC\xD7\x00\x7E\xE1\x0E\x9C\x5B\xBF\xF5\xDE\x61\xD9\x05\x7F\xED\x71\x02\xBA\x02\xF4\x7F\xD3\xD3\x2D\x06\xE0\xD0\x0D", + "\x2C\x03\xEF\x42\xE9\x22\xDD\x03\x06\xF5\x1D\x33\x04\x84\xE9\xEA\xC2\xD7\x0B\x0E\xEB\x30\x0E\xD4\xB5\x06\x76\xF8\xE7\x53\xD3\x0C\x0E\xEB\x32\x0E\xD4\xAD\xE1\x22\xD4\xEF\x02\xE9\x22\xE7\x02\xA7\xE9\x06\x4E\xEB\x2E\x06\x45\x33\xCA\x20\x24\xC3\x29\xDB\x06\x03\xEC\xB6\x11\xF1\x01\x0C\xB2\x11\xC8\x36\x0E\xD4\xEE\x02\x8D\xE5\x0E\x3A\xF6\x20\x28\xF1\x2E\xDA\x45\x52\xB2\x41\x13\xF1\xC2\xD7\x0D\x3F\xF0\x7F\x16\xE4\x83\x09\x90\xE2\xD6\x70\x06\xA9\xF2\x03\x25\xF5\x1D\x25\x2E\x61\xF1\xC8\x73\x07\x7E\x6F\xD8\x00\x0E\x0B\x26\x46\x95\xEE\xEC\x8F\xD7\x0E\x1A\xF3\x02\x1A\xC5\xE2\xC3\x97\xF6\xEC\xFE\xC3\x0F\x23\xF3\x3A\x13\xC6\x89\xC7\x99\xE1\x08\xCB\xE0\x94\xC3\x09\x3F\x0B\xE6\x83\x10\x32\x1E\xF2\xFC\xEF\x51\xC3\x05\x3A\xFE\x24\x4B\x04\x9E\xE3\xF0\x8F\xD7\x10\x3C\xF2\x1A\x1E\x0C\x7F\xF2\x82\xE2\xD6\x8B\x03\xD0\xF8\x11\x3C\xEE\xE6\x91\xF3\x94\xCF\x04\x8A\xF7\x4F\x14\x06\x43\xFF\x56\xFE\xC7\x24\x11\xF4\x97\x06\xA9\xD7\x06\xEA\xDF\xE6\xCB\xEE\xB0\xD9\x04\x91\xF5\x13\x0E\xEB\x6D\x0C\xE9\xD3\xEC\x8B\xDF\x04\x91\xF3\x14\x0E\xEB\x6F", + "\x04\xBD\xC6\xCB\x26\xFE\xC7\xA5\x04\xC2\xCC\x13\x40\xC3\x10\x08\xC5\x15\xF0\x20\xB4\xF6\x94\xE8\xE1\x13\x26\xEB\x83\x08\x6C\x31\xC8\xA7\x02\xD6\xC5\x11\xA7\xC6\x10\x3F\xF7\x94\xC9\x05\xC2\xF5\x4E\x37\x2C\x83\x0B\x5B\x11\xCB\x2A\x05\xEA\xAC\x01\xD9\xCC\xF7\x43\xCB\xEB\xD8\x17\x38\x12\x47\xCD\xF6\x20\x04\xF7\xE6\xDC\x2D\x64\x06\x3C\x5A\xCA\x03\x0E\x13\xF7\xF5\xE4\x0E\x0A\x52\xF5\xB8\xEA\x08\x8F\xC3\x4A\xF0\x04\x2A\xFC\x24\x65\x2F\x95\xF3\xD2\xB1\x07\x7E\x43\xBD\xE2\x09\xC9\xE2\xC2\xBB\xE3\x08\xDD\xED\xAB\xF6\x04\x79\xF5\x20\x69\x04\xF5\xD7\xF7\xD0\xDE\x1F\xFB\x04\x7E\xF5\x27\x2B\xE6\xBD\xEC\xD0\xF7\xC8\x18\x04\xF9\x01\x1D\xCA\xB2\xD8\xC0\xF9\xDE\x11\xCD\x18\x0B\xF8\x27\x16\x0F\x1B\xE1\x40\x0F\xF8\x77\xD9\x22\xCA\x07\x89\xF4\x23\x54\xE6\xC3\xFD\xE8\x53\xD7\x19\x1C\xF8\xAC\xB1\xE9\x98\xFB\x65\xFD\xEA\xD4\x03\xE4\xFF\x12\x02\x05\xF2\xA0\xFA\xB0\xD9\x06\x2A\xFB\x3B\x08\x01\x96\xF9\x10\x71\xF1\x9B\xC1\x08\xDE\x01\xE6\xDE\x0E\x06\x04\xF3\x86\x0A\xCD\xE1\xCA\x0A\x0B\x1C\x3A\xF9\xE3\x08\xD1\x87\xF9\xCD\xFE\xC7\xE8\x03", + "\xE8\xC9\x0F\x9A\xE6\xF4\xF3\xC6\x3F\xCD\x07\x4A\xF9\x38\x0D\xEB\xA6\xF4\xB2\xFE\xC6\x3C\x11\xFA\xC5\x0C\x03\x3D\xF9\xAA\xF1\x91\xF7\x04\xD6\xF0\x0E\x69\xEC\xEA\xC2\x08\x6D\xED\xD5\xFC\x07\xD7\xF5\x0E\x79\xEA\xEC\xF9\xD5\x88\xC1\x00\x55\x63\xBC\xF0\x0E\x88\xEA\xED\xC6\xAD\x88\xC6\x00\x6E\xF9\x81\x0C\x01\x5B\xFA\x20\x00\x31\x88\xCB\x00\x55\x61\x44\xE3\x10\x18\xFB\x30\xC2\xD6\x06\x0E\xF7\xDA\x18\xC6\xFB\xE9\x7F\xC5\x01\x36\xFB\x3A\x10\x03\x79\xF8\x6D\xF1\xC8\x12\x03\xF1\xC3\x11\xD3\xE2\xF7\x88\xFD\x9D\xD7\x00\x92\xFE\x49\x38\x00\xC7\xF0\x00\x04\xE3\x1F\xDC\x00\x99\xFC\x46\x3C\x00\xCE\xFE\xF9\xF5\xD1\x08\x01\xFD\x38\x14\xB8\xF2\xFB\xD2\xFD\xD5\xA6\x00\xEA\xFF\x13\x44\x04\xF3\xEA\xCD\xC7\xE5\xF8\x9C\x1C\xC6\xE0\xD2\x72\xF7\xAB\xAF\xFD\x18\x05\xC5\x7E\x5F\x73\xFF\xF8\x18\xF7\x51\xF3\x01\xD7\xF8\x03\x3D\xFF\x1E\xEA\xF9\xB7\xFD\xB6\xEF\xFD\x1F\x06\xFC\x89\x0A\x14\x08\xFE\x20\xF2\x58\xC1\x03\xD7\xF6\x04\x4D\xFF\x91\xF0\xFE\x5B\x7E\x1F\xC8\x03\xD7\xFD\x04\x56\xFF\x40\x1C\x02\xD8\xFC\xAD\x91\xC9\x27\x0F\xFA\xD4\x02\xF7", + "\xE2\x08\x1C\xF0\xF8\xE8\xAB\x88\xC6\x05\x2F\xFF\x16\x07\xFF\x01\x0E\x0C\x21\xFF\x96\xC2\xE1\xAF\xFE\x18\x10\xFF\x00\x05\xC6\xEA\xFE\xFA\xF3\xA5\xE4\x03\xEB\xE9\x03\xF8\x7D\x94\x72\xB3\x6C\x17\x09\x06\xAC\x11\x91\x6B\x01\xB5\x7E\x41\x0C\x06\x38\x7F\x75\x01\x51\x7F\x8A\x46\x04\xA7\x63\x94\x6E\x06\x09\x80\xC9\x0D\x5E\x62\x10\x0F\x80\xDC\x79\x07\x18\x8B\x46\x04\x04\x83\xB8\x7D\x41\x3B\x7D\x06\x07\x06\x89\x01\x8A\x11\x82\x7E\x40\x06\x00\x93\x69\x6F\x00\x05\x82\x10\x30\x01\xF8\x7E\x1D\x05\xD4\x4A\x5B\x06\x06\xAF\x62\xAC\x72\x01\x2A\x80\x8E\x02\xE6\x75\x11\x30\x83\x40\x09\x6B\x18\x79\x35\x83\x9F\x08\x07\x3E\x76\x39\x82\x40\x05\xAA\x42\x6B\x74\x01\x0F\x8B\x1D\x2A\x79\x89\x60\x63\x63\x10\x11\x80\xC2\x69\x1D\x06\x04\x93\x0B\x09\x19\x42\x0A\x6A\x11\x64\x76\x01\x0F\x87\x07\x38\x7F\x7E\x01\x51\x75\x99\x42\x04\x12\x1A\x10\x7A\x44\x1B\x81\xEC\x71\xB5\x7A\x44\x0D\x18\x52\x82\x3F\x69\x07\x3D\x80\x7A\x00\xFE\x74\xE7\x75\x11\xA3\x67\x40\x0D\x05\x9E\x80\x4A\x11\x1B\x82\x10\x24\x81\x70\x80\x17\x1F\x06\x8B\x81\xFE\x60\x1F\x0F\x04", + "\x91\x0B\xB3\x7E\x40\x01\x05\xB5\x81\x45\x12\x85\x19\x10\x33\x66\x80\x81\x50\x0D\x07\x38\x7F\xDB\x04\x21\x88\x07\x91\x64\x7F\x03\x1E\x8C\x2D\x0A\x82\x02\x06\x8C\x1E\x05\x9C\x11\x92\x82\x41\x0D\x63\x13\x82\x45\x11\x25\x83\x10\x19\x7B\xC2\x68\x20\x0D\x03\x81\x02\xF8\x7C\x20\x05\xD4\x7C\x66\x9B\x82\x3F\x63\x08\x3D\x80\x84\x00\xFE\x71\x08\x05\x75\x97\x80\x04\x8E\x8F\x46\x02\x8E\x80\xB6\x0D\x6E\x43\x04\xAD\x83\x08\x8C\x45\x33\x82\x02\x04\x29\x87\xAF\x5A\x11\xC7\x66\xC4\x22\x06\x9A\x19\x0A\x04\x9A\x18\x09\x81\x05\x87\x00\x22\x8E\x1D\x02\x83\xAE\x81\x44\x69\x08\x31\x82\xEB\x08\x32\x83\x10\x11\x67\x85\x82\xD6\x00\x0D\x83\x04\x00\x65\x34\x8C\x39\x13\x83\x02\x04\x27\x8F\xA8\x4A\x02\x3D\x83\x22\x08\xFF\x42\x02\x45\x74\x9C\x19\x10\x1A\x83\xF7\x65\x23\x0D\x03\x8E\x02\xF8\x7F\x9E\x75\x47\x15\x83\x8B\x83\x94\x60\x09\x0C\x83\xFE\x09\x84\x62\x10\x2C\x83\xBB\x80\x04\x12\x0F\x81\x04\xE2\x82\x35\x81\x3B\x07\x69\x03\x05\x2F\x86\x0B\x85\x11\x50\x6B\x9C\x7F\x0B\x85\x11\x59\x6A\x40\x0C\x04\x8F\x6A\x91\x00\x3C\x8F\x30\x05\x84\x01\x05", + "\x9C\x6A\x0F\x89\x0F\x0E\x87\x40\x02\xA8\x4F\x84\x8C\x1A\x42\x04\x0E\xAC\x68\x92\x01\x0F\x83\x09\x38\x7F\x84\x01\x51\x7B\xA7\x53\x7B\x11\x65\x25\x0D\x03\x96\x02\xF8\x7D\x21\x05\xD4\x53\x84\xED\x82\xB0\x68\x09\x0A\x84\x4C\x0A\xA2\x61\x10\x28\x84\xF5\x83\x09\x1E\x12\x80\x00\x1F\x87\x3F\x83\x37\x14\x6A\x03\x07\x14\x83\xA5\x59\x02\x3D\x82\x26\x06\x0C\x87\x07\x3A\x87\x40\x08\x6A\x11\x64\x9C\x00\x4B\x85\x20\x1D\x64\x03\x07\x09\x82\xAC\x5D\x02\x3D\x82\x27\x0F\x13\x89\x07\x4A\x86\x40\x0C\xA9\x53\x69\xA0\x01\x15\x3A\xD8\x58\x0B\xB4\x1A\x41\x0B\x03\x94\x84\x02\x11\x56\x83\x10\x03\x81\x31\x85\x07\x1B\x15\x83\x04\x1F\x67\x94\x63\x0A\x0F\x85\xD8\x08\x58\x81\x10\x25\x85\xC2\x69\x29\x08\x16\xAB\x0B\xC0\x1A\x56\x83\x10\x8C\x09\x86\x01\x51\x71\x17\x9F\x85\x73\x85\x81\x02\xE8\x75\x11\xCC\x19\x19\x80\xEC\x7D\x80\xA8\x00\xFE\x78\x08\x05\x75\xAD\x6B\x40\x0A\x70\x11\x64\xAA\x02\x51\x89\x10\x09\x02\x84\x86\x42\x01\x15\xB7\x67\xAB\x00\xFE\x7D\x0A\x38\x7F\x8A\x02\x53\x7B\x70\x46\x04\xC4\x1B\x30\x8A\x35\x17\x86\x03\x07\x4B\x6C\x15\x91", + "\x10\x9E\x86\x61\x8E\x8F\x6F\x02\x8A\x86\x41\x0C\x08\x05\x75\xA1\x86\x09\x8E\x8F\x70\x02\xF8\x7E\x2C\x08\xFF\x4D\x02\x4E\x74\xC5\x58\x19\xB9\x85\x9C\x0E\x6C\x8D\x19\xB4\x86\xB1\x0E\xAD\x66\x10\x05\x86\x61\x86\x12\x1A\x6D\x46\x04\x7D\x87\x67\x83\x2E\x31\x64\x03\x06\x0C\x8F\xA8\x74\x02\xA5\x86\x93\x04\x1C\x82\x04\x63\x87\xA3\x65\x0B\x09\x87\x02\x04\xA4\x7B\x87\x4B\x87\x01\x06\x5A\x8C\xA2\x76\x02\xD0\x85\x40\x01\x09\x18\x77\x0A\x05\x73\x8B\xAF\x53\x0B\x97\x7B\x1E\x66\x1C\x95\x87\xB8\x86\x93\x05\x09\x0E\x75\xE2\x19\x42\x0E\x6D\x11\x64\xB7\x02\x55\x8A\x35\x19\x5C\x06\x05\x7A\x82\x1C\x93\x0B\xD5\x58\x8E\x5E\x8F\x7A\x02\xEE\x84\xE7\x06\xAC\x62\x86\x11\x65\x2F\x09\x1D\xBF\x09\xFB\x86\x6A\x81\x91\x7E\x02\xF8\x7C\x30\x08\xFF\x59\x7A\x75\x13\x61\x86\x10\x0F\x86\x2C\x6A\x30\x0D\x03\x83\x03\xF8\x7C\x26\x05\xD4\x5D\x5C\x31\x82\x3F\x65\x0C\x3F\x87\xA0\x79\x1D\x14\x21\xBA\x80\xFE\x62\x31\x0F\x1F\x9A\x02\xBE\x77\x86\x82\x04\xBE\x63\xC7\x03\x7F\x82\xEA\x49\x62\xCE\x6A\x41\x0C\x94\x53\x69\xC8\x03\x7F\x8B\x1D\x22\x5C\x06\x05\x8A", + "\x86\x13\x9A\x0D\x55\x67\x40\x0B\x22\x82\x6B\xC9\x03\x5B\x8E\x2F\x3A\x1C\x06\x07\xCF\x11\x91\x4B\x03\x3D\x80\x33\x0A\x23\x95\x07\x3E\x8A\x41\x01\x74\x1A\x86\x9C\x0D\x91\x85\x96\x65\x87\xB7\x0E\x92\x82\x10\x06\x1D\x48\x89\xEC\x07\x24\x86\x04\x58\x67\x67\x8E\x0C\x03\x89\x41\x05\x95\x8B\x24\x91\x89\xC9\x0E\x96\x8F\x24\x8C\x89\x02\x10\x94\x8F\xEE\x42\x6B\xD0\x03\xEB\x7B\x1D\x20\x02\x2A\x7E\x98\x88\xEF\x7E\x63\xD5\x02\x99\x8E\x1D\x31\x7A\x32\x6E\x9A\x81\xF0\x51\x64\xDA\x02\x9B\x87\x1C\x2A\x02\x69\x88\xC2\x7C\xA2\x5F\x03\x76\x89\x72\x0F\x0A\x37\x2F\x50\x32\x9C\x80\xF1\x53\x69\xE4\x01\x9F\x81\x1C\x35\x02\x80\x8A\x42\x02\x28\x99\x7C\x53\x69\x3A\x06\x28\x85\x07\x03\x7D\x42\x01\x28\xAE\x7C\x8F\x6A\x3B\x0F\x28\x90\x07\xC1\x01\x9E\x89\x10\x27\x7C\xB9\x7D\x40\x03\x0F\x17\x8A\xD5\x06\x31\x0A\x29\xBB\x6E\xFE\x60\x3E\x00\x2A\x81\x05\xCB\x03\xA8\x85\x80\x51\x64\xFD\x03\xA9\x8A\x10\x10\x03\xAA\x89\x7D\x73\xA5\x42\x00\xD2\x2F\xDB\x75\x1D\x15\x03\xB1\x88\x9C\x7E\x8F\x47\x00\xB5\x89\x81\x0A\x0D\x39\x8A\x33\x6E\xAE\x6D\x2B\xB5\x09", + "\xDF\x00\xB0\x8E\xB8\x75\x69\x11\x03\xB0\x83\x20\x24\x03\xC6\x8B\x50\x7A\x2C\x8E\x09\xE9\x00\xB0\x84\xF6\x5D\x8A\xAE\x37\xB3\x84\x23\x2E\x03\xD2\x8A\x3F\x60\x02\x16\x8B\x38\x0B\x3C\x09\x2D\x91\x64\x25\x00\xB7\x8F\x27\x38\x03\xC0\x88\x08\x82\xAC\x6A\x00\x46\x5B\x76\x0D\x0F\x05\x75\x8B\x89\x09\x87\x9F\x6B\x00\xE9\x8A\x77\x0E\x0F\x2C\x8B\x0A\x06\xE5\x7D\xD5\x6C\x00\xE2\x88\x84\x00\x2C\xB6\x8B\xD4\x89\x0C\x09\x2F\x9E\x07\x04\x03\xEB\x7B\x28\xBC\x8B\x37\x7C\x00\x06\x03\x3F\x8B\xC7\x05\x02\x02\x30\x8E\x7A\xC2\x6B\x0E\x08\x30\x89\x07\x0E\x03\xC2\x89\x10\x2C\x7E\xD4\x88\x10\x0F\x30\x81\x07\x13\x02\xC4\x87\xCE\x51\x64\x45\x03\xC5\x85\x1C\x18\x00\x1A\x8E\x38\x6E\x8F\x4A\x01\xF1\x8A\xFC\x6D\x03\x8B\x8A\xB8\x7D\xC1\x8B\x04\x22\x8B\x50\x02\xF4\x21\xD2\x15\x31\x93\x89\xF0\x77\x9F\x52\x01\xE2\x8B\x15\x0E\x32\x92\x55\x30\x8E\xA2\x8A\xBA\x53\x69\x59\x02\xB8\x8E\x05\x37\x8C\x02\x35\xCE\x89\x10\x0B\x8A\x9F\x71\xC1\x80\x06\x22\x8B\x65\x00\xD0\x8A\x57\x42\x8D\x06\x04\xD1\x8E\x8F\x67\x01\xE2\x88\x1B\x0A\x34\x84\x4B\x4C\x8F\x40\x0E", + "\x34\x91\x64\x6E\x02\xB8\x83\x07\x13\x8D\x6C\x25\xD5\x8F\x25\x9B\x75\xFE\x61\x1D\x02\x2E\xBA\x01\x5C\x8D\xD5\x6E\x35\x81\x04\x8B\x88\x57\x74\x2D\xBC\x01\xE2\x89\x20\x05\x36\x80\x00\xDB\x7E\xA4\x8A\x33\xA0\x8D\x11\x67\x20\x02\x2E\x88\x02\x6F\x8E\x13\x07\x36\x80\x00\xE1\x6A\x40\x06\x96\x73\x87\xD1\x09\xDF\x88\x36\xA0\x89\x11\x13\xDF\x83\x10\x16\x6B\x53\x6A\x22\x05\x32\x9C\x0B\x6E\x64\x78\x53\xA5\x4B\x02\x8B\x8D\x70\x06\xFE\x75\x11\x8D\x8E\x40\x0E\x24\xB7\x67\x8C\x03\xDB\x8E\x08\x2F\x8D\x55\x01\x0F\x86\x97\x43\x04\x97\x8C\x8B\x60\x09\x06\x59\x91\x03\xDB\x8D\xFE\x75\x11\xEC\x6B\x40\x0E\x74\x11\x64\x93\x01\xE4\x83\x75\x0A\x04\xA1\x8F\x1F\x64\x09\x06\x59\x95\x03\xDB\x87\x05\x3D\x80\x80\x66\x40\x0B\x3A\x93\x69\x97\x02\xEB\x8E\x2F\x39\x8E\x01\x05\xEC\x85\xA7\x58\x02\x46\x59\x26\x0F\x36\x98\x01\x3D\x80\xD6\x13\x61\x48\x5E\xE3\x2E\xD2\x57\x63\x7E\x2F\x06\x5F\xA2\x6B\xFC\x03\x5D\xAA\x62\xF4\x8F\x1D\x35\x5D\xFF\x01\xD9\x56\x3D\x95\x32\xDA\x8D\xF5\x86\xFC\x18\x45\x52\x44\x8D\x4A\xA5\x56\x66\x95\x32\xD4\x5E\x3C\xB1\x58\x57", + "\x87\x51\x09\x3E\x95\x30\x37\x58\x07\x41\xC4\x37\x5D\xAF\x5D\x25\x3D\xBD\x18\x05\xB6\x88\x00\x06\x2B\xBF\x03\xB9\x48\xFD\x87\x63\x79\x8F\x59\x5F\x8D\x5F\xF5\x06\x08\xD5\x2D\x86\x51\x76\x7E\x8F\x37\x59\xD1\x64\x74\x55\x2F\x6A\x5C\x56\x09\x40\x81\x05\x0B\x91\x03\x61\x63\x47\x4A\x44\x04\x04\x9F\x13\x27\x5E\x6C\x5F\x8D\x5F\x0E\x55\x32\xE4\x5D\x55\x09\x41\x89\x05\xD3\x5C\x06\x9E\x27\x00\x00\xD3\x5D\x86\x51\x42\x81\x05\x23\x90\xDF\x42\x10\x22\x90\x3F\x4E\x09\x91\x10\x28\x90\x89\x60\x08\x96\x80\x5C\x4D\xAF\x5E\x0B\x92\x86\x72\x90\x44\x6C\x09\x9E\x40\x81\x4E\x35\x92\x0A\x97\x40\xBA\x90\x09\x93\xF4\x50\x3D\xBE\x90\x36\x93\x1E\x64\x43\x96\x66\x43\x91\x52\x63\x10\x13\x5F\xF9\x8F\xF4\x58\x15\x0A\x91\x41\x93\x84\x53\x7D\x6F\x43\x45\x92\x3B\x4D\x44\x8F\x4D\x19\x52\x58\x00\x7E\x6A\x34\x95\x30\xDD\x53\x77\x77\x58\x54\x4E\x58\x0D\x45\x92\x05\x7A\x5D\xDE\x5F\x41\xA1\x91\x75\x50\x56\x0B\x7E\x4C\x05\x67\x92\x51\x0C\x1A\x58\x05\x97\x4E\x58\x0D\x46\x92\x05\x2A\x59\xE2\x5F\x41\xA7\x4E\x62\x04\x1D\x92\x15\x27\x4E\x58\x04\x1E\x91\x14", + "\x3A\x91\xF5\x4D\x7A\x0D\x83\x7F\x04\xA1\x3D\xFE\x81\x48\x81\x05\x83\x91\x1F\x9D\x8D\x44\x92\x11\x40\x22\x93\x43\xA1\x3E\xF3\x8C\x23\x9A\x48\xAB\x77\x61\x42\x5E\x6F\x48\x92\x92\x86\x92\xFD\x53\x49\x82\x04\xC4\x3D\xE8\x39\x49\x9F\x90\xA1\x3D\x25\x3D\x49\x97\x92\xDE\x8C\x0A\x63\x3E\x91\x92\xD6\x8E\x28\x95\x4A\xA1\x3E\x58\x04\x2A\x90\x4A\x86\x3F\xAA\x91\x25\x9C\x4A\xB7\x58\x9F\x92\x2B\x99\x4A\xAE\x5F\xA6\x91\x04\x6E\x4A\x90\x8F\x04\x53\x2D\x91\x14\x39\x60\x4C\x04\x2F\x96\x14\x16\x38\x58\x07\x8C\x4B\x1D\x79\x2E\xBE\x34\x56\x04\x84\x55\x05\xC7\x91\x52\x0F\x82\x46\x93\x1F\x90\xBE\x40\x14\x0E\x93\x3D\x04\x89\x51\x14\x12\x93\x42\x4B\x84\x54\x4D\x99\x4F\x23\x4F\x35\x96\x10\x1A\x93\x03\x06\xB3\x52\x16\x1E\x93\x52\x04\xF4\x51\x14\x22\x93\xE8\x4C\x58\x64\x2F\x77\x58\x00\x4B\x51\x09\x4E\xBE\x04\x18\x3D\x25\x3D\x4E\x81\x05\xEF\x92\x72\x3F\x41\x98\x3C\x58\x06\xC3\x4C\x14\x36\x93\x46\x04\x4A\x35\x4F\xB7\x58\xFA\x91\x50\x0D\x4F\xB8\x38\x31\x5B\x3F\x9D\xF2\x29\x07\xDF\x43\x3F\x02\xD9\x18\x05\x07\x95\x50\x09\x50\xB1\x58", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -7241,13 +12572,28 @@ namespace vl const wchar_t* RuleParserRuleName(vl::vint index) { static const wchar_t* results[] = { + L"Cond0", + L"Cond1", + L"Cond2", + L"Cond", + L"SwitchItem", + L"Switches", L"OptionalBody", + L"TestBranch", + L"Token", L"Syntax0", L"Syntax1", L"Syntax2", L"Syntax", + L"AssignmentOp", L"Assignment", L"Clause", + L"Placeholder", + L"RuleName", + L"LriConfig", + L"LriContinuationBody", + L"LriContinuation", + L"LriTarget", L"Rule", L"File", }; @@ -7257,83 +12603,191 @@ namespace vl const wchar_t* RuleParserStateLabel(vl::vint index) { static const wchar_t* results[] = { - L"[0][OptionalBody] BEGIN ", - L"[1][OptionalBody] END [ENDING]", - L"[2][OptionalBody]\"[\" @ Syntax \"]\"", - L"[3][OptionalBody]\"[\" Syntax \"]\" @", - L"[4][OptionalBody]\"[\" Syntax @ \"]\"", - L"[5][Syntax0] BEGIN ", - L"[6][Syntax0] END [ENDING]", - L"[7][Syntax0]< \"!\" @ ID >", - L"[8][Syntax0]< \"!\" ID @ >", - L"[9][Syntax0]< \"+\" @ OptionalBody >", - L"[10][Syntax0]< \"+\" OptionalBody @ >", - L"[11][Syntax0]< \"-\" @ OptionalBody >", - L"[12][Syntax0]< \"-\" OptionalBody @ >", - L"[13][Syntax0]< \"{\" @ Syntax [ \";\" Syntax ] \"}\" >", - L"[14][Syntax0]< \"{\" Syntax @ [ \";\" Syntax ] \"}\" >", - L"[15][Syntax0]< \"{\" Syntax [ \";\" @ Syntax ] \"}\" >", - L"[16][Syntax0]< \"{\" Syntax [ \";\" Syntax @ ] \"}\" >", - L"[17][Syntax0]< \"{\" Syntax [ \";\" Syntax ] \"}\" @ >", - L"[18][Syntax0]< ID @ [ \":\" ID ] >", - L"[19][Syntax0]< ID [ \":\" @ ID ] >", - L"[20][Syntax0]< ID [ \":\" ID @ ] >", - L"[21][Syntax0]< OptionalBody @ >", - L"[22][Syntax0]< STRING @ >", - L"[23][Syntax0]<< \"(\" !Syntax \")\" @ >>", - L"[24][Syntax0]<< \"(\" !Syntax @ \")\" >>", - L"[25][Syntax0]<< \"(\" @ !Syntax \")\" >>", - L"[26][Syntax1] BEGIN ", - L"[27][Syntax1] END [ENDING]", - L"[28][Syntax1]< Syntax1 @ Syntax0 >", - L"[29][Syntax1]< Syntax1 Syntax0 @ >", - L"[30][Syntax1]<< !Syntax0 @ >>", - L"[31][Syntax2] BEGIN ", - L"[32][Syntax2] END [ENDING]", - L"[33][Syntax2]< Syntax2 \"|\" @ Syntax1 >", - L"[34][Syntax2]< Syntax2 \"|\" Syntax1 @ >", - L"[35][Syntax2]< Syntax2 @ \"|\" Syntax1 >", - L"[36][Syntax2]<< !Syntax1 @ >>", - L"[37][Syntax] BEGIN ", - L"[38][Syntax] END [ENDING]", - L"[39][Syntax]<< !Syntax2 @ >>", - L"[40][Assignment] BEGIN ", - L"[41][Assignment] END [ENDING]", - L"[42][Assignment]< ID \"=\" @ ID >", - L"[43][Assignment]< ID \"=\" ID @ >", - L"[44][Assignment]< ID @ \"=\" ID >", - L"[45][Clause] BEGIN ", - L"[46][Clause] END [ENDING]", - L"[47][Clause]< Syntax \"as\" \"partial\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[48][Clause]< Syntax \"as\" \"partial\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[49][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[50][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[51][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[52][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[53][Clause]< Syntax \"as\" @ \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[54][Clause]< Syntax \"as\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[55][Clause]< Syntax \"as\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[56][Clause]< Syntax \"as\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[57][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[58][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[59][Clause]< Syntax \"as\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[60][Clause]< Syntax @ \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[61][Clause]< Syntax @ \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[62][Clause]< Syntax @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", - L"[63][Clause]< Syntax [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", - L"[64][Clause]< Syntax [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", - L"[65][Clause]< Syntax [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", - L"[66][Clause]< Syntax [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", - L"[67][Rule] BEGIN ", - L"[68][Rule] END [ENDING]", - L"[69][Rule]< ID @ { \"::=\" Clause } \";\" >", - L"[70][Rule]< ID { \"::=\" @ Clause } \";\" >", - L"[71][Rule]< ID { \"::=\" Clause @ } \";\" >", - L"[72][Rule]< ID { \"::=\" Clause } \";\" @ >", - L"[73][File] BEGIN ", - L"[74][File] END [ENDING]", - L"[75][File]< Rule @ { Rule } >", - L"[76][File]< Rule { Rule @ } >", + L"[0][Cond0] BEGIN ", + L"[1][Cond0] END [ENDING]", + L"[2][Cond0]< \"!\" @ Cond0 >", + L"[3][Cond0]< \"!\" Cond0 @ >", + L"[4][Cond0]< ID @ >", + L"[5][Cond0]<< \"(\" !Cond \")\" @ >>", + L"[6][Cond0]<< \"(\" !Cond @ \")\" >>", + L"[7][Cond0]<< \"(\" @ !Cond \")\" >>", + L"[8][Cond1] BEGIN ", + L"[9][Cond1] END [ENDING]", + L"[10][Cond1]< Cond1 \"&&\" @ Cond0 >", + L"[11][Cond1]< Cond1 \"&&\" Cond0 @ >", + L"[12][Cond1]< Cond1 @ \"&&\" Cond0 >", + L"[13][Cond1]<< !Cond0 @ >>", + L"[14][Cond2] BEGIN ", + L"[15][Cond2] END [ENDING]", + L"[16][Cond2]< Cond2 \"||\" @ Cond1 >", + L"[17][Cond2]< Cond2 \"||\" Cond1 @ >", + L"[18][Cond2]< Cond2 @ \"||\" Cond1 >", + L"[19][Cond2]<< !Cond1 @ >>", + L"[20][Cond] BEGIN ", + L"[21][Cond] END [ENDING]", + L"[22][Cond]<< !Cond2 @ >>", + L"[23][SwitchItem] BEGIN ", + L"[24][SwitchItem] END [ENDING]", + L"[25][SwitchItem]< \"!\" @ ID >", + L"[26][SwitchItem]< \"!\" ID @ >", + L"[27][SwitchItem]< ID @ >", + L"[28][Switches] BEGIN ", + L"[29][Switches] END [ENDING]", + L"[30][Switches]\"switch\" @ { SwitchItem ; \",\" } \";\"", + L"[31][Switches]\"switch\" { SwitchItem ; \",\" @ } \";\"", + L"[32][Switches]\"switch\" { SwitchItem ; \",\" } \";\" @", + L"[33][Switches]\"switch\" { SwitchItem @ ; \",\" } \";\"", + L"[34][OptionalBody] BEGIN ", + L"[35][OptionalBody] END [ENDING]", + L"[36][OptionalBody]\"[\" @ Syntax \"]\"", + L"[37][OptionalBody]\"[\" Syntax \"]\" @", + L"[38][OptionalBody]\"[\" Syntax @ \"]\"", + L"[39][TestBranch] BEGIN ", + L"[40][TestBranch] END [ENDING]", + L"[41][TestBranch]< Cond \":\" ( Syntax1 @ | \";\" ) >", + L"[42][TestBranch]< Cond \":\" ( Syntax1 | \";\" @ ) >", + L"[43][TestBranch]< Cond \":\" @ ( Syntax1 | \";\" ) >", + L"[44][TestBranch]< Cond @ \":\" ( Syntax1 | \";\" ) >", + L"[45][Token] BEGIN ", + L"[46][Token] END [ENDING]", + L"[47][Token]CONDITIONAL_LITERAL @", + L"[48][Token]ID @", + L"[49][Token]STRING @", + L"[50][Syntax0] BEGIN ", + L"[51][Syntax0] END [ENDING]", + L"[52][Syntax0]< \"!\" @ ID >", + L"[53][Syntax0]< \"!\" ID @ >", + L"[54][Syntax0]< \"!(\" @ { SwitchItem ; \",\" } \";\" Syntax \")\" >", + L"[55][Syntax0]< \"!(\" { SwitchItem ; \",\" @ } \";\" Syntax \")\" >", + L"[56][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" @ Syntax \")\" >", + L"[57][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax \")\" @ >", + L"[58][Syntax0]< \"!(\" { SwitchItem ; \",\" } \";\" Syntax @ \")\" >", + L"[59][Syntax0]< \"!(\" { SwitchItem @ ; \",\" } \";\" Syntax \")\" >", + L"[60][Syntax0]< \"+\" @ OptionalBody >", + L"[61][Syntax0]< \"+\" OptionalBody @ >", + L"[62][Syntax0]< \"-\" @ OptionalBody >", + L"[63][Syntax0]< \"-\" OptionalBody @ >", + L"[64][Syntax0]< \"?(\" @ TestBranch { \"|\" TestBranch } \")\" >", + L"[65][Syntax0]< \"?(\" TestBranch @ { \"|\" TestBranch } \")\" >", + L"[66][Syntax0]< \"?(\" TestBranch { \"|\" @ TestBranch } \")\" >", + L"[67][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch @ } \")\" >", + L"[68][Syntax0]< \"?(\" TestBranch { \"|\" TestBranch } \")\" @ >", + L"[69][Syntax0]< \"{\" @ Syntax [ \";\" Syntax ] \"}\" >", + L"[70][Syntax0]< \"{\" Syntax @ [ \";\" Syntax ] \"}\" >", + L"[71][Syntax0]< \"{\" Syntax [ \";\" @ Syntax ] \"}\" >", + L"[72][Syntax0]< \"{\" Syntax [ \";\" Syntax @ ] \"}\" >", + L"[73][Syntax0]< \"{\" Syntax [ \";\" Syntax ] \"}\" @ >", + L"[74][Syntax0]< OptionalBody @ >", + L"[75][Syntax0]< Token @ [ \":\" ID ] >", + L"[76][Syntax0]< Token [ \":\" @ ID ] >", + L"[77][Syntax0]< Token [ \":\" ID @ ] >", + L"[78][Syntax0]<< \"(\" !Syntax \")\" @ >>", + L"[79][Syntax0]<< \"(\" !Syntax @ \")\" >>", + L"[80][Syntax0]<< \"(\" @ !Syntax \")\" >>", + L"[81][Syntax1] BEGIN ", + L"[82][Syntax1] END [ENDING]", + L"[83][Syntax1]< Syntax1 @ Syntax0 >", + L"[84][Syntax1]< Syntax1 Syntax0 @ >", + L"[85][Syntax1]<< !Syntax0 @ >>", + L"[86][Syntax2] BEGIN ", + L"[87][Syntax2] END [ENDING]", + L"[88][Syntax2]< Syntax2 \"|\" @ Syntax1 >", + L"[89][Syntax2]< Syntax2 \"|\" Syntax1 @ >", + L"[90][Syntax2]< Syntax2 @ \"|\" Syntax1 >", + L"[91][Syntax2]<< !Syntax1 @ >>", + L"[92][Syntax] BEGIN ", + L"[93][Syntax] END [ENDING]", + L"[94][Syntax]<< !Syntax2 @ >>", + L"[95][AssignmentOp] BEGIN ", + L"[96][AssignmentOp] END [ENDING]", + L"[97][AssignmentOp]\"=\" @", + L"[98][AssignmentOp]\"?=\" @", + L"[99][Assignment] BEGIN ", + L"[100][Assignment] END [ENDING]", + L"[101][Assignment]< ID @ AssignmentOp ID >", + L"[102][Assignment]< ID AssignmentOp @ ID >", + L"[103][Assignment]< ID AssignmentOp ID @ >", + L"[104][Clause] BEGIN ", + L"[105][Clause] END [ENDING]", + L"[106][Clause]< \"!\" \"prefix_merge\" \"(\" @ RuleName \")\" >", + L"[107][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName \")\" @ >", + L"[108][Clause]< \"!\" \"prefix_merge\" \"(\" RuleName @ \")\" >", + L"[109][Clause]< \"!\" \"prefix_merge\" @ \"(\" RuleName \")\" >", + L"[110][Clause]< \"!\" @ \"prefix_merge\" \"(\" RuleName \")\" >", + L"[111][Clause]< \"!\" @ RuleName LriContinuation >", + L"[112][Clause]< \"!\" RuleName @ LriContinuation >", + L"[113][Clause]< \"!\" RuleName LriContinuation @ >", + L"[114][Clause]< \"left_recursion_placeholder\" \"(\" @ Placeholder { \",\" Placeholder } \")\" >", + L"[115][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder @ { \",\" Placeholder } \")\" >", + L"[116][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" @ Placeholder } \")\" >", + L"[117][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder @ } \")\" >", + L"[118][Clause]< \"left_recursion_placeholder\" \"(\" Placeholder { \",\" Placeholder } \")\" @ >", + L"[119][Clause]< \"left_recursion_placeholder\" @ \"(\" Placeholder { \",\" Placeholder } \")\" >", + L"[120][Clause]< Syntax \"as\" \"partial\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[121][Clause]< Syntax \"as\" \"partial\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[122][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[123][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[124][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[125][Clause]< Syntax \"as\" \"partial\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[126][Clause]< Syntax \"as\" @ \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[127][Clause]< Syntax \"as\" @ ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[128][Clause]< Syntax \"as\" ID @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[129][Clause]< Syntax \"as\" ID [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[130][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[131][Clause]< Syntax \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[132][Clause]< Syntax \"as\" ID [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[133][Clause]< Syntax @ \"as\" \"partial\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[134][Clause]< Syntax @ \"as\" ID [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[135][Clause]< Syntax @ [ \"{\" { Assignment ; \",\" } \"}\" ] >", + L"[136][Clause]< Syntax [ \"{\" @ { Assignment ; \",\" } \"}\" ] >", + L"[137][Clause]< Syntax [ \"{\" { Assignment ; \",\" @ } \"}\" ] >", + L"[138][Clause]< Syntax [ \"{\" { Assignment ; \",\" } \"}\" @ ] >", + L"[139][Clause]< Syntax [ \"{\" { Assignment @ ; \",\" } \"}\" ] >", + L"[140][Placeholder] BEGIN ", + L"[141][Placeholder] END [ENDING]", + L"[142][Placeholder]< ID @ >", + L"[143][RuleName] BEGIN ", + L"[144][RuleName] END [ENDING]", + L"[145][RuleName]< ID @ >", + L"[146][LriConfig] BEGIN ", + L"[147][LriConfig] END [ENDING]", + L"[148][LriConfig]\"left_recursion_inject\" @", + L"[149][LriConfig]\"left_recursion_inject_multiple\" @", + L"[150][LriContinuationBody] BEGIN ", + L"[151][LriContinuationBody] END [ENDING]", + L"[152][LriContinuationBody]LriConfig \"(\" @ Placeholder \")\" LriTarget { \"|\" LriTarget }", + L"[153][LriContinuationBody]LriConfig \"(\" Placeholder \")\" @ LriTarget { \"|\" LriTarget }", + L"[154][LriContinuationBody]LriConfig \"(\" Placeholder \")\" LriTarget @ { \"|\" LriTarget }", + L"[155][LriContinuationBody]LriConfig \"(\" Placeholder \")\" LriTarget { \"|\" @ LriTarget }", + L"[156][LriContinuationBody]LriConfig \"(\" Placeholder \")\" LriTarget { \"|\" LriTarget @ }", + L"[157][LriContinuationBody]LriConfig \"(\" Placeholder @ \")\" LriTarget { \"|\" LriTarget }", + L"[158][LriContinuationBody]LriConfig @ \"(\" Placeholder \")\" LriTarget { \"|\" LriTarget }", + L"[159][LriContinuation] BEGIN ", + L"[160][LriContinuation] END [ENDING]", + L"[161][LriContinuation]< \"[\" @ LriContinuationBody \"]\" >", + L"[162][LriContinuation]< \"[\" LriContinuationBody \"]\" @ >", + L"[163][LriContinuation]< \"[\" LriContinuationBody @ \"]\" >", + L"[164][LriContinuation]< LriContinuationBody @ >", + L"[165][LriTarget] BEGIN ", + L"[166][LriTarget] END [ENDING]", + L"[167][LriTarget]< \"(\" @ RuleName LriContinuation \")\" >", + L"[168][LriTarget]< \"(\" RuleName @ LriContinuation \")\" >", + L"[169][LriTarget]< \"(\" RuleName LriContinuation \")\" @ >", + L"[170][LriTarget]< \"(\" RuleName LriContinuation @ \")\" >", + L"[171][LriTarget]< RuleName @ >", + L"[172][Rule] BEGIN ", + L"[173][Rule] END [ENDING]", + L"[174][Rule]< ID @ [ \":\" ID ] { \"::=\" Clause } \";\" >", + L"[175][Rule]< ID [ \":\" @ ID ] { \"::=\" Clause } \";\" >", + L"[176][Rule]< ID [ \":\" ID @ ] { \"::=\" Clause } \";\" >", + L"[177][Rule]< ID [ \":\" ID ] { \"::=\" @ Clause } \";\" >", + L"[178][Rule]< ID [ \":\" ID ] { \"::=\" Clause @ } \";\" >", + L"[179][Rule]< ID [ \":\" ID ] { \"::=\" Clause } \";\" @ >", + L"[180][File] BEGIN ", + L"[181][File] END [ENDING]", + L"[182][File]< [ Switches @ ] Rule { Rule } >", + L"[183][File]< [ Switches ] Rule @ { Rule } >", + L"[184][File]< [ Switches ] Rule { Rule @ } >", }; return results[index]; } @@ -8157,21 +13611,22 @@ namespace vl { void ParserGenTypeParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 2267; // 29656 bytes before compressing + static const vl::vint dataLength = 2558; // 39168 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 219; - static const vl::vint dataSolidRows = 8; - static const vl::vint dataRows = 9; + static const vl::vint dataRemain = 254; + static const vl::vint dataSolidRows = 9; + static const vl::vint dataRows = 10; static const char* compressed[] = { - "\xD8\x73\x00\x00\xD3\x08\x00\x00\x1A\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x84\x0A\x83\x06\x84\x09\x0A\x99\x0A\x81\x1A\x80\x16\x84\x16\x0A\xC0\x05\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x97\x97\x92\x9A\x2C\xB8\xAE\x9A\x90\x9C\x8D\x9A\x9E\x37\xBE\xB9\x82\xAB\x9C\xA1\x9E\x83\x32\xB6\xA0\x80\xAB\xA6\xA1\xA0\xA4\x3F\xCE\x8D\xA1\x96\x81\x00\xA7\x99\x52\xD8\x90\xA3\xAB\xAD\xA1\xAF\xA3\x03\xC9\x97\xAA\xAA\xA9\xB1\xA9\xAF\x4F\xE6\x9C\xAA\xBE\xAC\xB4\xB0\x81\x62\xD9\xA4\xB3\xB3\xB5\xBA\xB8\xBB\x68\xD3\xAE\xA9\xB0\xBF\xB3\xBC\xBD\x7D\xEB\x81\xCD\xB3\xC7\xB5\x81\xB8\x79\xE5\x85\xDC\xB1\x86\xA9\x84\xC7\x89\xF4\xB7\xB3\xC1\xC8\xBF\xBE\xC5\x87\xFE\x8B\xC0\xC9\xCA\xC1\xCE\xC2\x9F\x86\xE2\x9A\xC1\xD4\xC7\xD0\xCF\xA7\xA0\xE9\xC2\xD8\xC7\xCA\xC9\xCA\x94\xAE\xD6\xDB\xC8\xCB\xD6\xD3\xD6\xB4\xAF\xF2\xD1\xD9\xDB\xD9\xD2\xCE\xB6\xC0\xF8\xDF\xD5\xDB\xE1\xE1\xE2\xA4\xC7\xFA\xC2\x82\x02\x84\xC9\xDD\xB0\xD1\xD0\xF3\xED\xDC\xDC\xE3\xE5\xD7\xBE\xCA\xFA", - "\xE6\xE5\xED\xE5\x01\xCE\xDC\xC9\xFE\xE8\xD4\xF2\xD4\xF3\xAC\xE3\xEA\xE5\xFB\xF7\xF1\xF7\xF4\xEC\xF1\xEE\xF2\xF0\xFB\xFA\xFB\xFA\xF8\xB7\xEF\xFA\xF4\xFC\xFF\xFA\xFF\xF9\x42\x7B\x7E\x80\xFD\x44\x8F\x7E\x81\x01\x88\x75\x82\x82\x07\x8C\x89\x80\x76\xDB\x56\x71\x86\x74\xD5\x54\x89\x76\x84\xE8\x40\x8A\x84\x82\x1B\x8E\x8D\x84\x84\x19\x9C\x82\x8A\x87\x23\xA0\x83\x80\x89\xB5\x4C\x4F\x62\x78\x0B\xA6\x8D\x88\x8B\x0D\xAE\x81\x8C\x8C\x0F\xB4\x86\x6B\x46\x2B\x98\x87\x8A\x8C\x35\xBA\x8F\x89\x42\x06\x21\x7E\x8F\x8C\x43\xBD\x86\x87\x84\xD4\x57\x87\x91\x88\x28\xBC\x8F\x86\x42\x07\x02\x9B\x93\x8E\x36\xA5\x85\x95\x93\x0A\x48\x45\x57\x95\x10\x89\x02\x95\x92\x48\x95\x80\x98\x93\x4E\x96\x95\x93\x93\x67\xA6\x93\x97\x8F\x6B\x84\x9D\x9A\x91\x63\x94\x99\x98\x96\x73\xA5\x94\x9F\x9B\x68\xB8\x90\x72\x02\x5F\xA2\x9E\x9E\x92\x71\xAC\x91\xA2\x9B\x83\xB0\x9F\x9D\x98\x80\x87\xA4\x98\x97\x0D\x7D\x99\xA3\xA3\x88\x91\xAB\xA1\x9D\x8C\x94\xA6\xA6\x9E\x77\x83\x4C\x02\x42\xCD\x57\xA5\xA1\x9E\x9F\xAA\x91\xA9\xA6\x8A\xB2\x98\xA6\x9D\xA8\x95\xA7\xAA\xAA", - "\xA3\xA9\xA2\x86\x03\x8E\x92\xA6\xA9\xAB\xAC\xA5\xA2\xA2\xAD\x84\xB8\xA6\xA0\xA4\x93\xAB\xAE\xA6\xAE\xA0\x87\xAF\x01\xAC\xBD\xB4\xAF\xAC\xAF\xB3\x80\xB2\xAA\xB2\xA4\x88\xB7\xAE\xB3\xB9\x90\xBB\xAE\xAC\xCF\x94\xB1\xB6\xB5\xD3\x85\xBC\xB2\xAB\x06\x50\x04\xB1\xB2\xD2\x81\xB1\xBB\xB2\xE3\x8D\xB8\xB6\xB8\x91\x91\x0F\xB5\xB5\xDA\xA5\xBC\xB6\xB1\xBE\xB1\xB0\xBF\xBC\xDB\xB5\xAE\xBA\xBD\xE7\xA4\xB9\xBE\xB9\xED\xBB\xBF\xBA\x40\x10\x79\x82\xBD\xBD\xC7\xBE\xB8\xBD\xBF\x08\xE0\xB6\xC1\xC1\xC6\x53\x0B\xBB\xB5\x09\xEC\xBA\xC1\xC4\x10\xD3\xC6\xC6\xC4\x18\xD5\xC9\xC5\xB6\x17\xDA\xCE\xC4\xC7\x1B\xE8\xB4\xC4\xC8\x1F\xE2\xCD\xC4\xC9\x28\xE6\xC1\xCA\xBE\x23\xEA\xC5\xC8\xCB\x27\xEE\xC9\xCA\xBE\x14\x0F\xC3\xCC\xBF\x31\xF0\xC8\x69\x05\x36\xF2\xCE\xCE\xCE\x2F\xF8\xCB\xCA\xD0\x41\xE1\x46\x04\xA7\x07\xC9\x78\x05\xCF\x40\xF7\xCF\xBF\xBD\x0C\xF9\xC4\xD2\xD3\x49\xC3\xDF\xD3\xC2\x03\xD0\xD9\xD4\xD6\xF4\x9A\xDD\xD4\xD7\x87\x92\x42\xC3\xD7\x2D\xCD\xDF\xCF\xD4\x67\xD7\xD5\xD8\xDA\x66\xED\xDC\xD9\x6D\x00\x63\xD4\xC3\xD6\x6B\xEA\xD2\xD6\xDD\x56", - "\xD5\xD5\xD2\xDE\x54\xD1\xD9\xDE\xDF\xAA\x5B\x0C\xD3\xDB\x78\xFB\xD0\xE1\xDF\x74\xF7\xDC\xDD\xDA\x8B\xEE\xD5\xE0\xE2\x64\xCA\xE7\xE0\xE3\x12\x9C\x03\xE0\x84\x1D\x17\xED\xE0\xE1\x9B\xCF\xE4\xE5\xE2\x7F\xE0\xE6\xE2\xE8\x90\xF3\xD1\xE5\xB5\x1E\x1A\xE3\xE6\xE3\x9D\xED\xEB\xEA\xB9\x1F\x2A\xE4\xEB\xE7\xA7\xE3\xE5\xED\xE9\x5E\xC7\xA0\x0A\xEC\xB7\xF4\xE6\xEA\x40\x14\x72\xD9\xEF\xF0\x60\xC4\xF5\xDE\xEB\xB3\xFA\xB2\x08\xEF\xBF\xC6\xF2\xE6\x41\x23\x0C\xFE\xF1\xE8\xBD\xEC\xE5\xC0\x09\xD2\xC5\xFA\xF7\xF1\xAF\xDE\xE6\xF5\xF2\x9C\xDD\xF8\xF3\xD7\x25\x31\xA6\x09\xF6\xDC\xE0\xFE\xF5\xF8\xEA\xE3\xFD\xF3\xF6\xCF\xD5\xFC\xFA\xFC\xEB\xF5\xFE\xFB\xF4\xB6\xEF\xF9\xF8\xFD\xF7\xF0\xF4\xF6\xFE\xF1\x60\x83\xFF\x78\x72\x35\x13\x28\x7A\x61\x16\x22\x7A\xFF\x79\x74\x80\xDF\x4D\x87\x7B\xFC\x62\x7E\x04\xED\x73\x83\x81\x29\x07\x80\x03\x8B\x80\xEE\x1A\x8E\x80\x0E\x90\x82\x80\x0C\x9E\x83\xFC\x20\x8B\x83\xFD\x64\x85\x83\x26\x8F\x81\x6D\x2A\x08\x83\x6B\x6B\x05\x85\x25\x81\x82\x0A\xF6\x75\x83\x13\x9F\x83\x86\xFD\x7D\x5C\x46\x0A\x8D\x05\x58\x6E\x00", - "\x86\x28\x92\x86\x08\xB4\x84\x83\x22\x91\x86\x88\x36\x83\x84\x0E\xB5\x8B\x88\x24\x8D\x8F\x88\x50\x82\x23\x0B\x40\x87\x87\x21\xB9\x82\x88\x29\x96\x88\x13\xDA\x8B\x6A\x18\x14\x8A\x89\x5C\x91\x8B\x13\xC9\x84\x88\x31\xA1\x8C\x8C\xDA\x31\x05\xAC\x32\x01\x57\x19\x1F\x8D\x8C\x68\x9B\x89\x16\xF3\x88\x8B\x3A\x99\x84\x8E\x77\x96\x8D\x08\xF8\x8B\x8E\x3D\xB1\x80\x35\x34\x19\x79\x0D\x31\x56\x07\x58\x77\x07\x8D\x57\x99\x8E\x22\xFD\x8B\x91\x3F\xA1\x80\x07\xD9\x79\x05\xAC\x3A\x01\x57\x1D\x08\x92\x8E\x7E\x81\x89\x23\x9A\x9C\x91\x10\x9A\x08\x69\x09\x3A\x4B\xA8\x32\x22\x94\x81\x03\x59\x2B\x41\x59\x2A\x4C\x1D\x56\x21\x28\x73\x4C\x94\x13\x37\x28\x2B\x83\x25\x95\x72\x70\x91\x21\xA7\x89\x33\x2C\x87\x27\x4B\x5B\x86\x21\x97\x97\x29\x95\x62\x4C\x4E\x97\x81\x3C\x4F\x95\x29\x35\x94\x00\x47\x99\x31\xE7\x14\x2C\x38\xCA\x9E\x49\x56\x4E\x91\x21\x5D\x90\x9A\x21\xD2\x8D\x9B\xE0\x51\x92\x96\x85\x2A\x40\x53\xC5\x9C\x94\x32\xA6\x2A\x98\x66\xA3\x91\x99\x0A\x26\x9C\x6D\x42\x97\x32\x62\xA8\x99\x21\xC1\x60\x9F\x3B\x86\x2C\x9C\xDA\x16\x98\x00\xDF\x97", - "\x33\x3D\xF9\x96\x9E\x85\x20\x39\x2B\xF7\x9F\x9E\x3C\xE4\x91\x97\x69\x9B\x9A\x21\x38\x49\x31\x3D\xC4\x3E\x9C\x82\xB0\x9F\x2A\xD4\x94\x29\x38\x81\x29\xA1\x60\x97\x2A\x26\xFC\x8C\xA1\x4A\x01\xA7\x2B\x8C\x87\x3B\x95\xFE\x9D\xA3\x45\x9B\xA0\x4B\xAB\x0B\xA7\xA3\x29\x27\xA6\x4C\x20\xA9\x21\x7B\x98\xA3\xA4\x26\x3C\xA0\x40\xA0\x99\x30\x8F\xAB\xA4\xA4\x09\x22\xA2\x3E\xB4\xA7\x32\x9B\xB7\xA3\x24\xF7\x8E\x96\x42\xB0\xA3\x24\x9F\xBF\xA6\x23\x32\xB5\xA4\x51\x9F\x29\xA9\x9E\x8B\xA8\xA9\x25\xA8\x97\x53\x9D\x26\xA9\xA3\xBF\x1D\xA9\xB4\x35\xAB\x51\xD8\xA4\x38\xAD\xBF\xA1\xA8\x57\x2A\x98\xAC\x59\x22\xAD\xB0\x91\xA9\x31\xCA\x82\xAB\x65\x15\xA4\x36\x99\x2C\xAA\xA3\x0E\xA6\x22\x57\x9D\x2A\x99\xB9\xBF\x1D\xAE\x57\x29\x77\x33\x83\x21\xA3\x7B\xBE\xA9\xA4\x09\x3E\xA3\x5B\x80\x07\xA4\xB5\x82\x26\xB0\x01\x3C\x99\x42\x08\xB0\x01\x6C\x83\x24\xB1\x8E\xA2\x9E\x41\x6A\x91\x20\xC6\x94\xB0\x00\x96\xB9\x49\xA3\x0B\xBB\xB3\x56\x9D\xB4\x96\x0A\x3B\x53\x5E\x92\xB3\xB5\x28\x31\x51\x24\xCA\x81\x26\x14\x31\x57\x9F\x0B\x23\xB7\x50\x3A\xA2\x21\xEC\x2F", - "\xB0\x01\x29\x31\x51\xB6\x01\x33\xB7\x6B\xD4\x01\x56\x8F\x98\x7C\xB6\xC6\x3E\xA2\x01\xC0\xB9\x39\xC1\xAF\x84\xB6\x55\x11\x55\x44\xAC\x84\xB6\x2B\x31\x57\xA4\x3F\x94\xB7\x15\x4F\xBA\x21\x29\xB4\xB0\x0B\xD4\xA9\x22\x75\xAF\xB9\x0B\x58\x7C\x04\xB6\x00\x18\xB4\x78\x8D\x3C\xB4\xED\x37\x99\xA2\x21\x22\xBD\x44\xFD\x52\xBD\x7B\xB0\x89\x20\x1E\xA7\xA5\x48\x1E\xAB\xBC\x85\x67\xA7\xB2\x10\x43\xB2\x4B\xC9\x30\xB2\xF0\x99\x8C\xB1\xE2\xA1\x24\x63\x91\xAA\x98\xF7\xB1\x52\xB1\xAF\xB9\x8A\x32\x81\xC9\x9D\x58\x4E\x25\xA5\xCA\xB8\x98\x42\xE0\xBD\x01\x4B\x93\xB7\xAC\xA3\xB9\x8B\x83\x86\x25\xC2\xE2\x99\x83\xC3\x03\x3E\x5A\x87\xAA\x33\xAC\x83\x3B\xB8\x35\x20\xC2\x22\xBA\x23\xC2\x34\x11\xE6\xC2\x3B\x1D\xC6\x22\x68\xAF\xB1\x61\x17\xC5\x65\xC4\x9A\x40\xBD\xCD\x10\xC5\x60\x60\x82\x20\xC7\x7B\xB9\x8A\x8B\xB9\xC4\xB7\xA3\x7C\xC3\x6B\x2B\xDF\x96\x7F\xC2\x85\xC7\x81\x3B\xC7\xB5\x4B\x6A\x81\xBF\x4F\xC3\x21\x28\xC9\xC1\x39\x62\x76\xC7\x91\x3C\x69\x21\x18\xD9\xC2\x61\xE7\xAA\x20\x97\xDD\x5B\xC8\xD4\x02\x77\xC8\x03\x2A\xBE\x98\x8A\x29\xC9\x2F", - "\xE8\x31\x73\x68\xCB\x21\xAC\x46\xC6\x20\x87\x74\xB2\xB7\x7C\xB8\x5E\x6B\x89\x24\xCE\x37\xE1\x86\xCA\x03\x23\xCE\x9F\x9B\x89\xCB\x81\x27\xCF\xCA\xA8\x3B\x75\x9C\x90\x57\xD1\x81\x3A\xA8\xD1\x21\x8D\xD2\x40\x16\x7C\xC5\x0E\x94\xD6\x20\x70\xD0\xD2\x68\x4B\x7B\xD1\x48\x59\xD6\xD1\x65\xC1\x87\xA3\xCE\xC0\xBD\xDF\x9B\x4A\x42\x83\xB1\xA3\xA8\x82\x2A\xD0\x4D\xDD\x80\xCF\x02\x34\xCB\x5E\xE5\x72\xCB\xE4\x27\xA1\xA2\xB0\xC1\x21\xAB\x83\xDD\x83\x5D\xC2\x21\x6E\xAE\xD5\x89\x3C\x83\x24\xD7\xD7\xA7\x7D\xD6\xD5\x43\xDA\x40\x47\xDF\xB5\xE1\xA7\xD3\x6B\xD1\x69\x22\xA4\xCF\x96\x39\x04\x9A\xCF\xB1\xB1\x46\xD7\x40\x1C\xDF\xB4\xE6\x86\x22\xBC\xFD\x45\xDB\x40\x51\xD1\xD8\x30\x8C\xDE\xD0\xA1\xC2\x35\x0F\x9D\xDA\x99\x88\x8E\xDB\xDB\xE0\xBB\xB9\x9A\xF8\x56\xDA\x62\xE0\xBC\x8D\x9D\xC6\x39\x64\xE4\xB9\x21\x7A\xCB\xD8\xBC\x81\x99\xDD\x72\x17\xB1\xA2\x7F\xC1\x22\xBE\x0A\x25\x92\xC0\xA8\xC1\x56\x6F\xD6\x80\xBC\x90\x88\xDA\x0B\x8A\x27\x82\xDA\x92\x92\xE2\xD3\x5B\x86\x41\x62\xDB\xAE\x4A\xB9\xA2\x3B\x33\xC3\x23\x3D\x9A\xE3\x21\x73\xFB\xAD\x07", - "\x80\xA7\x48\x90\xD5\x97\x22\x85\x08\xE1\x21\x40\x09\xE4\x98\x43\xCC\x38\x85\x11\xBE\x20\xEB\xCF\xB7\x10\x16\xC3\x21\x9B\xF6\xDC\xB6\x44\x1C\xA7\xA1\x4D\xC5\xE7\x84\x3E\xE7\xDF\xB4\xA6\x0A\xD0\x90\x52\xD6\x96\xC6\xEE\xE5\xE0\xA8\x0B\xD2\x91\x5D\xCF\xA2\xC6\x22\xDE\x02\x39\xE7\x68\xCA\x0C\xE6\x29\x8A\x24\xE3\xCF\x8B\x0B\xD4\xC6\x30\xD0\xAB\xC3\x20\xEB\x01\x26\xE7\x33\xCD\x03\xED\xE4\x00\xDA\xE4\xD5\xB0\xE8\x6D\xCF\x0D\xEC\xD4\x17\xD0\xEE\x09\x3E\x89\xA5\xC0\x3F\xA3\xF1\xBE\xE8\x00\xF5\xAC\x25\xE0\xA6\x28\xBD\x90\x05\xF7\xB4\x86\xE3\xBF\xE1\x8B\xEE\x25\x13\xF1\xA3\xBC\x7F\xB3\xEA\x7B\xE1\xC2\xF3\xF4\xA3\x28\xDC\x32\x2C\xC2\xCC\xA3\xBA\xF3\x8F\xE0\xBD\xF3\x72\xA3\x2E\x5D\xFF\x1E\xA2\xAA\x25\xF3\xBE\xE3\xA7\xF6\x37\xA9\xF3\xBD\xC1\x89\x2E\xF5\x6E\xA7\xB5\xAA\xA1\x23\xF7\x09\xE0\xBB\xB0\x54\x2A\xA5\x4D\x3A\xF9\xA5\xF1\xAF\xE4\xB3\x72\x2C\xB3\x4A\x8C\xB4\x2A\xE2\xE1\x20", + "\x00\x99\x00\x00\xF6\x09\x00\x00\x25\x00\x01\x82\x80\x08\x03\x82\x81\x82\x06\x89\x82\x84\x0A\x83\x06\x84\x09\x0A\x99\x0A\x81\x1A\x80\x16\x84\x16\x0A\xD0\x07\x09\x8F\x7D\x8E\x8F\x8E\x0A\x80\x1F\x9F\x81\x93\x92\x8F\x92\x26\xFF\x68\x86\x9B\x93\x91\x96\x92\x0A\xA9\xAA\x91\x99\x97\x97\x92\x9A\x2C\xB8\xAE\x9A\x90\x9C\x8D\x9A\x9E\x37\xBE\xB9\x82\xAB\x9C\xA1\x9E\x83\x32\xB6\xA0\x80\xAB\xA6\xA1\xA0\xA4\x3F\xCE\x8D\xB0\xA3\xA4\xA9\xA2\xAB\x47\x83\x89\xAC\xA3\x9A\xA9\xAE\xAC\x4F\xDA\x91\xA0\xB3\xAA\xB1\xAB\x90\x03\x81\x1C\xAA\xAF\xAE\xB3\xAA\xB7\x59\x82\x9B\xBE\xAC\xB5\xBB\xB5\xBB\x74\xF8\xA4\xAD\xB2\xBB\xB0\xB9\xB0\x7D\xE7\x81\xCF\xB3\xC1\xB9\x81\xB9\x7B\xF6\xB9\xAB\xC9\xC2\xBF\xBF\xB2\x85\x80\xC7\xDE\xB1\xC8\xCB\xC8\xC1\x97\x84\xD9\xC6\xC2\x94\xCB\xCC\xC9\x9D\x98\xE1\xDA\xC3\xD4\xCC\xC5\xC7\x7C\x9F\xD6\xC5\xD0\xD7\xD1\xCB\xD4\x00\x6A\x89\x92\xDD\xC4\xC4\xD4\xC5\xB5\xB9\xF7\xCE\xCF\xD0\xDF\xDC\xDB\xBD\xBC\xEA\xD0\xDE\xD3\xE2\xDF\xE0\xC0\xC6\xC2\xEC\xDB\xD5\xE0\xE6\xE2\x9E\xCF\xC7\xEA\xE9\xE2\xEB\xE4\xE7\xD8\xD1\xD9\xE2", + "\xDB\xEC\xD1\xEE\xD3\xDA\xE1\xDC\xE2\xFE\xEC\xF0\xF1\xF1\xE8\xE5\xE9\xE7\xFA\xF5\xF4\xF7\xF7\xA0\x82\x0A\x94\xDF\xDA\xDC\xE4\xFB\xD4\xF8\xD6\xF5\xEF\xED\xD6\xF2\xFF\xEB\x40\x8E\x7A\x80\xF0\x4D\x7F\x7E\x81\x01\xAB\x63\x03\x7C\xD7\x47\x80\x75\x82\x0F\x83\x88\x82\x84\x11\x85\x85\x84\x81\x18\x93\x86\x87\x74\xFB\x7A\x7D\x7E\x86\x19\x97\x80\x8B\x88\x22\xA5\x8C\x87\x87\x26\x8D\x80\x87\x89\x0E\xAC\x8B\x8A\x8A\x14\xAE\x81\x8C\x8C\x1B\xB4\x81\x8A\x8C\x35\xBC\x7D\x8A\x8D\x24\xB8\x87\x8C\x8F\x29\xBA\x8F\x8A\x90\x33\x84\x99\x8E\x87\x3B\x86\x9F\x8E\x92\x3D\x80\x9E\x8D\x93\x4C\x81\x98\x93\x90\x53\x85\x95\x97\x91\xF5\x59\x97\x7E\x96\x01\x4C\x43\x6E\x93\x60\x91\x9F\x92\x94\x5C\x9D\x85\x98\x8A\x63\xA9\x9B\x71\x01\x0C\xA2\x91\x9B\x95\x4B\xB0\x90\x96\x9C\x64\x9B\x96\x9D\x7E\x67\x91\x76\x01\x9B\x74\xAA\x9E\x9B\x9F\x7D\xAF\x99\x9C\x95\x83\x96\x95\x9B\x46\x5F\x80\xA5\xA0\x96\x77\xA6\x9D\xA0\x9A\x82\x8F\xA9\x91\xA0\xD5\x48\x46\x40\x7D\x92\x84\xAD\xA1\x02\x7C\x8B\xA1\x9E\xA7\x73\xA0\xA5\x9C\x9E\x99\x86\xA5\xA8\xA3\xA4\xA9\xAE\xA2\xAA", + "\x90\x8A\xA7\xAB\xA7\xAF\xA1\xA1\xAF\xA8\xAB\xB5\xAD\xA8\xA5\xB8\xA2\xAE\x9D\xAE\xB3\xBB\xA5\x9A\x02\x9D\xBD\xA1\xA4\xAB\x93\xBA\xA3\xB2\xAD\xC5\x82\xBE\xA8\xB1\x9A\x8C\xB6\xAA\xB3\xA8\x88\xBD\xB1\xAD\x0E\x49\xAC\xAC\xB4\xB0\x98\xB2\xAE\xB6\xB4\xB7\xA6\xB3\xB2\xD2\x8F\xB1\xB9\xB4\xDE\x8D\xAC\x02\x42\xF2\x60\xB5\xB8\xB7\xBE\x8A\xB7\xB7\xB8\xD9\xB0\xBB\xB6\xBC\xDD\x89\xBC\xBB\xB1\xEB\xB4\xBD\xBB\xBD\xEA\xB6\xBA\xBF\xB1\x0E\x01\xBC\xBF\xBB\xF9\x85\xCE\xBE\xC1\xD3\x88\xC2\xBA\xC2\xE4\x87\xCE\xC1\xC2\x0F\xCB\xC1\xC5\xC3\xD3\x8F\x02\xC3\xBF\xFD\x90\xCA\xC6\xC4\x1B\xD4\xCC\xC7\xC7\x1E\xE1\xC1\xBC\xC3\x23\xD3\xC5\xC9\xC7\x27\xE0\xC9\xCA\xC8\xF3\xA4\xCD\xCA\xC9\xAB\x50\x07\xC6\xCB\xF5\xA8\xCF\xCA\xCD\x35\xEA\xC7\xCE\xCE\x39\xEC\xCD\xCC\x68\x11\x33\xC0\xCF\xCF\x3B\xFE\xCB\xBC\xC6\x04\xC3\xD7\xD0\xCD\x4B\xCA\xD8\xBE\xD3\x19\xFC\xCD\xD0\xCE\x53\xD2\xD7\xB0\x44\xD6\x9F\xB9\xD0\xD5\x4F\xDC\xD1\xD6\xD1\x5D\xD6\xDF\xD7\xCA\x64\xC5\xD0\x6B\x04\x42\xDE\xDB\xD6\xD8\x6B\xE0\xD3\xDA\xD9\x70\xC4\xD2\xDD\xD5\x6E\xED\xD5\xDB\xDC\x61", + "\xF5\xDA\xD7\xDE\xEE\xBC\xD3\xC2\xDF\x48\xC0\xEC\xD1\xDE\x77\xF4\xD5\xE0\xE1\x71\xC6\xE9\xE0\xE2\x78\xEF\xDD\xE2\xDD\x8B\xCE\xEA\xE3\xE3\x82\xD1\x74\x05\xDA\x6C\xD5\xEA\xDA\xE6\xA4\x55\x08\xE6\xDE\x7D\xE1\xEF\xDE\xE8\x81\xE4\xE3\xE2\xE4\x8C\xC7\xD6\x04\xBA\xA9\xCB\x78\x07\xE7\x87\xE8\xE2\xEC\xE4\x94\xE6\xE0\xD4\xED\x93\xF9\xED\xEB\xEC\x9C\xE0\xE3\xEB\xEF\xA5\xC0\xF7\xE8\xEE\xBB\xC4\xF5\x76\x44\x59\xF6\xEB\xE6\xF2\x99\xCC\xFE\xED\xF0\xD0\xC3\xFD\xED\xEC\xC6\xD5\xF3\xF7\xBC\x1A\x30\xE1\xE6\xF5\xCE\xD4\xF7\xF5\xED\xC2\xF7\xEF\xF6\xEE\xBC\xDD\xFB\xF7\xF8\xC5\xE8\xF5\xF9\xF8\xD3\x9B\x0A\xF4\xF8\xD1\xE2\xF6\xF8\xFC\xD2\xF3\xF4\xF8\xF7\xEC\xCD\xF9\xFF\xF3\xF5\xFB\xFE\xF6\xFD\xE9\x60\x83\xFA\x50\x7C\x03\xF7\x77\x78\x70\x1D\x06\x81\x00\xFE\x77\x7C\x01\xB8\x79\x7E\xCB\x6C\x80\xFD\x72\x72\x83\x03\x8E\x82\x7D\x0F\x9D\x7C\x04\xFA\x70\x00\x0F\x0A\x83\x80\x1A\x81\x84\x05\x9B\x8F\x79\x0F\x1F\x81\x83\x23\x82\x85\x04\xA4\x8F\x7F\x0A\x8B\x84\x85\x0D\x81\x20\x08\x27\x88\x83\x1A\xA4\x74\x22\xC9\x6E\x84\x08\xA9\x8C\x87\x15\xAA\x84", + "\x83\x3F\x9C\x7D\x74\x22\x04\x87\x0B\x86\x88\x78\x23\x05\x8A\x0E\xA8\x8E\x87\x1E\x80\x8E\x89\x42\x82\x34\x09\x4A\x80\x87\x09\x8D\x8F\x8A\x4F\x98\x89\x14\xD9\x8C\x8B\x2D\x9E\x8D\x85\x55\x9C\x40\x40\x39\x80\x00\x13\x14\x89\x88\x60\x88\x8D\x0C\xE1\x8F\x84\x35\x96\x8D\x8B\x69\x90\x89\x1C\xDA\x83\x8E\x38\xAB\x8E\x8D\x16\x8B\x8A\x0D\xFA\x87\x88\x36\xBB\x84\x8E\x77\x92\x8D\x20\x80\x9F\x8D\x2F\x83\x96\x8E\x85\x95\x8C\x67\x27\x07\x8D\x11\x96\x24\x8C\x78\x8D\x8E\x20\x89\x97\x90\x43\x94\x97\x92\x79\x9E\x8C\x13\x88\x97\x69\x14\x0D\x94\x90\x99\x91\x93\x1F\x9C\x92\x92\x50\xA5\x94\x94\xA3\x96\x91\x28\x93\x9B\x94\x53\xA9\x92\x91\xB0\x95\x90\x18\xAA\x0F\x92\x0E\xAB\x05\x96\xAA\x87\x95\x2E\xAF\x92\x97\x5E\x98\x92\x97\xB1\x9F\x94\x2F\xB4\x58\x22\x32\xAD\x07\x62\x2E\x18\x95\x30\xAD\x98\x95\x4D\xBB\x96\x99\xCB\x80\x9A\x2F\xCC\x9F\x99\x3D\x9A\x96\x9A\xA2\x90\x9B\x34\xD2\x92\x98\x6D\xB0\x7F\x05\xCA\x9B\x9B\x30\xD4\x91\x9B\x71\x9C\x9C\x9C\xE2\x9E\x99\x26\xB0\x01\x9D\x6E\x98\x9C\x95\xE7\x91\x9E\x39\xF3\x9A\x9C\x79\xB5\x99\x21\x31\x17", + "\x62\x0C\x17\x63\x07\x76\xA8\x9E\x9D\x7D\x99\x9B\x3B\xAE\x97\x9F\x82\x83\xA5\x99\x07\xB5\x99\x40\xF0\x94\x9F\x84\xA5\x9E\xA0\x0B\xAB\x84\x0D\x54\x85\x07\x8B\x76\x07\x62\x37\x1E\x9E\x3D\x8E\xA9\x9C\x8E\x80\xA4\x8F\x20\xB7\x99\x44\xE2\x58\x06\x2A\xB9\x07\x62\x3A\x17\x63\x0E\x1A\xAD\xA1\x91\x8A\xA1\xA4\x02\xAE\xA7\x43\x9E\xA9\x92\x2D\x2C\x71\x21\xC0\x51\x4A\x4C\x39\xA6\x20\xAC\x7B\x2B\x4F\x5E\x32\x25\xBA\x06\x2C\x52\x9D\xA9\x24\xA7\x03\x29\xA6\x57\x43\xA3\x20\xA4\xB3\x53\xA7\x0F\x3C\x28\x53\x82\x2E\xA8\x6E\x50\xA9\x21\x3E\xA8\x34\x50\xFB\x28\x45\xAB\x86\x25\x01\x40\x5E\xAB\x40\x60\xAE\x2A\x4C\x68\x2F\x39\x55\xA0\x03\xB9\x65\xA7\xA7\xBD\x29\xAB\xAD\x7B\x26\xAD\x6C\x5C\x2F\xAC\xA9\x8A\x24\x4D\x46\xA6\x25\x5A\xD5\x54\x4E\xB1\x82\x24\xAC\x7D\xA7\xAA\x42\x00\xBA\xAA\xAE\x1D\xAA\xB0\x09\x2A\xA9\x60\xFA\xAA\x21\xA2\xBB\x2B\xAA\x01\x38\xAF\x63\xF7\xA6\xAF\x84\x1E\x4B\xB2\x96\xA1\xAC\x62\x86\x2A\xB0\xD4\x32\xAA\xAE\x7E\xA1\x22\xA5\x05\xB1\xA8\x07\x61\xB0\x00\x9D\xAF\x36\x5C\xEC\x29\xAD\xD1\xAF\x33\xAB\xA8\x32\x27\x65\xB1", + "\xB9\x24\xC8\x80\x03\xB6\xAF\x38\xB7\x70\x42\xAA\x20\xDD\x8F\x3E\xB7\x32\x3C\xB5\x42\x0E\xB8\x34\xC9\xB4\xB6\x24\xB0\xAF\x36\x4C\x46\xBA\xB9\x94\x09\xBB\xB7\xB5\xAA\x23\x82\x5E\x20\xB9\xE0\xA6\x26\xB6\xD5\xB7\xBA\x74\xDC\x29\xBA\xEB\x9E\x20\xBB\x95\xA6\x23\x74\xFB\x2D\xBA\xEF\xBF\x1E\xB6\xC4\xAF\xB6\x61\xA9\x25\xBC\xEF\xA0\xBC\xBA\xEB\xBA\xB9\x66\xF0\xB5\xB4\xF9\x84\xAC\x2B\xCF\xAF\x3A\x6C\xF1\xB3\x25\xF7\xA4\xBC\xBF\x1F\x3E\xBC\x6A\x6D\xB6\xBA\xF4\xB4\xAA\x21\x41\x7E\x29\x5A\x89\xCE\xAC\x85\x29\xAF\xB4\x0F\xDB\xB3\x40\x08\x5D\xC1\x84\x14\xC0\x35\x69\xB7\xC3\x6B\x1E\x87\xAD\xB4\x2D\xAB\x20\xB6\xB6\xB7\x78\x83\x2E\xB6\xE6\x81\x21\xBF\x1A\xC1\x21\x8A\x84\x2D\xB0\x85\x2B\xC1\xBD\x2A\xCD\xC5\x42\x2E\xB1\x21\x0C\xCE\xC6\xC5\x37\xD3\xC5\x43\x38\xC9\x20\xBE\x93\xC3\xC7\x3A\xC9\x20\x5C\x9D\xCC\xC4\x22\xE7\xAB\x0A\x17\x61\x24\x8D\xC6\xC3\x20\x2A\x17\x66\xB6\x17\x0C\xCB\x5C\xD5\x33\xC4\x81\x26\x82\xCA\x0A\x35\x0B\xC5\x55\xC1\x21\x2B\xD8\xCE\x20\x56\x17\x62\x6F\xD3\x8C\xC8\xD0\x91\x3E\xB7\x8C\x85\xCF\x9A\x0A\x27\x96\x26", + "\xDC\xCD\x56\x72\xB4\x96\x9B\xCB\x39\xBF\x64\x9F\xCE\x20\x57\x17\x61\x7E\xE0\x97\xCF\x81\x18\x0A\xCF\x0A\x3C\xCD\x9F\x81\x29\x0B\x8B\x7C\x02\xCA\x6F\xCE\x38\x96\x9F\xBF\xC3\x46\x76\xB6\xCC\xA2\x21\x27\x9B\x90\xD2\x5D\x37\xF6\xB2\xD1\x2F\x9E\xB5\x7E\x98\xD3\xBF\x4B\x47\x59\xBF\x11\xD1\xD3\x9A\x89\x27\xD3\xE8\x2F\xC3\x39\x99\x8B\xC5\xA2\xD1\x31\x25\x15\xF2\xAB\xC9\xB6\xA1\x27\xAB\xB2\xCA\x3F\x4C\x8B\xCB\xD5\xA2\xD8\xA7\xC5\x3E\xC2\x21\x47\xD7\x60\xC6\x00\x06\xC5\xAD\x21\x24\xB0\x81\x14\xD1\x5A\x36\xD5\x39\x26\xBC\xD1\x21\x62\xEA\x53\xD9\x0A\x32\x66\xB2\xCB\x31\x60\x52\xCB\x3C\xD9\x00\x0C\xC1\x99\x1C\x42\xDA\x83\x25\xD2\x34\xCE\xCA\xAC\xAA\xD1\xA6\xDA\x70\x55\xDE\x20\x43\xCD\x51\x48\x17\x75\xDD\x77\x56\x61\x21\xE7\xDB\xDB\x0B\xDD\xD3\x21\x74\xCF\xDA\x21\xAB\x6D\xDC\xE0\x5A\xD2\x21\x77\xF5\xD7\x85\x59\xA2\x20\xBB\xFF\xD9\x21\xD7\x50\x96\x5F\x03\xE3\x22\xC1\x84\xEA\x3E\xE4\x5E\xDB\x39\x9E\x69\x21\xB8\x9C\xDF\x5C\x5F\xC9\x21\xE2\x06\x34\xDE\xBA\xCB\x3E\x7C\x7D\xC2\x23\xD2\x0A\x38\xE3\x40\x7C\xD7\xDF\xEA\x09\x86\xE3", + "\x5D\x57\x61\xBE\x86\x28\x6D\x69\xC9\x26\xCB\x1E\xC0\x5D\x94\x89\x2B\xE4\x79\xC3\x83\xE1\x03\x22\xE7\xC6\x83\x8E\xE1\x81\x1D\xE4\xE1\x65\x53\x84\xCA\xB5\x5F\xE7\x81\x1C\xC0\xE8\x7D\x85\xEA\x40\x05\x8E\xE5\x07\x8C\xEE\x20\x27\xE8\xEA\xAA\x44\x83\xE8\xE7\x11\xEE\xE8\xE3\xC3\x83\xD1\x83\x29\xE1\x9D\xC6\x24\xCC\x9E\xD5\x3A\xB0\xF2\xAB\xEA\x81\x02\xEA\xEA\x22\xBD\xCA\x42\x5D\xE5\xE4\x83\x23\x89\xEC\xFA\x39\xBE\x5C\xB0\xE6\xED\xAC\xCF\x87\xEC\x03\x39\x79\xD3\xD6\x98\x86\xB7\xF6\xEB\x20\x66\x87\xE3\xB4\x7D\xE0\xF1\xBF\xC2\x21\xCD\x70\xE0\x71\x12\x89\x2A\xE9\xB6\xE5\x4F\x91\x0F\xF6\xC3\xC5\x60\xE3\x20\xAA\xE8\xEA\xCE\xE2\xA7\x5B\xDB\x83\x2B\xF0\xB4\xDA\x81\xF0\x06\x2D\xF3\xB0\xCB\x37\x99\xA1\xCB\xCA\xAE\x88\xF5\xF2\xE1\x81\x22\xD1\x81\x38\xD2\x5C\x90\xE3\x23\xE6\xDE\xE3\x21\x7D\x95\xE9\x3A\xC0\xD2\xAD\xEC\x82\x20\xF4\x9B\xC6\x23\xA2\xB7\xE2\x35\x5A\xBA\xFA\x21\x4D\xEC\xD2\x21\x17\xA1\xF8\x69\x58\xD1\xCE\x85\x1E\x93\xEF\x02\x25\xA6\xF2\xD1\x5D\xCC\x83\x0F\xF8\xED\xA9\xA1\x23\xB7\xE2\x55\x98\xBF\xD0\xF9\x20\x87\xC9\x23", + "\xEB\x9C\x36\xDE\x00\x36\xB5\xFB\x85\xFF\xF8\x00\x3F\x0B\xBB\xEA\x31\xDD\xD7\x17\x25\xFB\xEA\x80\x02\x09\xF6\xFA\x3A\xE3\xDA\xEA\x22\x9D\x86\x25\xF4\xB4\xC5\x0C\xA5\x06\x1B\x7F\xB2\x73\x7F\x46\x0D\x68\xAA\x21\x70\xF9\x79\x10\x02\x8C\x7B\xF3\x78\x04\x06\x85\x2B\x6C\x76\x7E\xFA\x72\x7F\xEA\x7A\x04\x0F\x8E\x1C\x35\x70\x7F\x09\x1D\x7A\x02\x1D\x7F\xBE\x73\x10\x4C\x00\x80\x03\x1C\x81\x01\x13\x7B\x8E\x72\x10\x4D\x07\x81\xD1\x18\x73\x1A\x86\x10\x24\x85\x46\xF3\x7F\x04\x2A\x82\x1A\x7A\x71\x79\x2E\x84\x81\x68\x71\x05\x33\x84\x1A\x4F\x70\x62\x0A\x1C\x4E\x4C\x6A\x68\xC1\x53\x68\x6A\x64\x17\xC7\x6F\x11\xAB\x52\x6B\x8B\x6B\x84\x52\x69\x84\x3B\x84\x12\xDB\x7D\x5F\x58\x61\x62\x21\x14\x85\x0F\x8B\x5A\x56\x82\x7E\x6B\x13\x7E\x1F\x1F\x66\x68\x1E\x85\x92\x68\x65\x60\x86\x7F\x46\x64\x60\x2A\x16\x86\xFF\x0E\x5B\x68\x1A\x86\x21\x1C\x86\xBD\x58\x65\x6E\x8D\x69\x46\x62\x6C\x49\x14\x87\xCB\x59\x64\x63\x71\x12\x79\x84\x59\x52\x62\x6C\x68\x16\x7C\x2C\x10\x88\xC8\x58\x65\xF9\x58\x16\x2B\x69\x14\x87\x82\x13\x2B\x66\x88\x44\x82\x10", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -8298,6 +13753,8 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase { case ParserGenClasses::AlternativeSyntax: return new vl::glr::parsergen::GlrAlternativeSyntax(); + case ParserGenClasses::AndCondition: + return new vl::glr::parsergen::GlrAndCondition(); case ParserGenClasses::Assignment: return new vl::glr::parsergen::GlrAssignment(); case ParserGenClasses::AstFile: @@ -8312,14 +13769,30 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return new vl::glr::parsergen::GlrEnum(); case ParserGenClasses::EnumItem: return new vl::glr::parsergen::GlrEnumItem(); - case ParserGenClasses::LiteralSyntax: - return new vl::glr::parsergen::GlrLiteralSyntax(); + case ParserGenClasses::LeftRecursionInjectClause: + return new vl::glr::parsergen::GlrLeftRecursionInjectClause(); + case ParserGenClasses::LeftRecursionInjectContinuation: + return new vl::glr::parsergen::GlrLeftRecursionInjectContinuation(); + case ParserGenClasses::LeftRecursionPlaceholder: + return new vl::glr::parsergen::GlrLeftRecursionPlaceholder(); + case ParserGenClasses::LeftRecursionPlaceholderClause: + return new vl::glr::parsergen::GlrLeftRecursionPlaceholderClause(); case ParserGenClasses::LoopSyntax: return new vl::glr::parsergen::GlrLoopSyntax(); + case ParserGenClasses::NotCondition: + return new vl::glr::parsergen::GlrNotCondition(); case ParserGenClasses::OptionalSyntax: return new vl::glr::parsergen::GlrOptionalSyntax(); + case ParserGenClasses::OrCondition: + return new vl::glr::parsergen::GlrOrCondition(); case ParserGenClasses::PartialClause: return new vl::glr::parsergen::GlrPartialClause(); + case ParserGenClasses::PrefixMergeClause: + return new vl::glr::parsergen::GlrPrefixMergeClause(); + case ParserGenClasses::PushConditionSyntax: + return new vl::glr::parsergen::GlrPushConditionSyntax(); + case ParserGenClasses::RefCondition: + return new vl::glr::parsergen::GlrRefCondition(); case ParserGenClasses::RefSyntax: return new vl::glr::parsergen::GlrRefSyntax(); case ParserGenClasses::ReuseClause: @@ -8328,8 +13801,14 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return new vl::glr::parsergen::GlrRule(); case ParserGenClasses::SequenceSyntax: return new vl::glr::parsergen::GlrSequenceSyntax(); + case ParserGenClasses::SwitchItem: + return new vl::glr::parsergen::GlrSwitchItem(); case ParserGenClasses::SyntaxFile: return new vl::glr::parsergen::GlrSyntaxFile(); + case ParserGenClasses::TestConditionBranch: + return new vl::glr::parsergen::GlrTestConditionBranch(); + case ParserGenClasses::TestConditionSyntax: + return new vl::glr::parsergen::GlrTestConditionSyntax(); case ParserGenClasses::UseSyntax: return new vl::glr::parsergen::GlrUseSyntax(); default: @@ -8346,6 +13825,10 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::first, object, field, value, cppFieldName); case ParserGenFields::AlternativeSyntax_second: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAlternativeSyntax::second, object, field, value, cppFieldName); + case ParserGenFields::AndCondition_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::first, object, field, value, cppFieldName); + case ParserGenFields::AndCondition_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAndCondition::second, object, field, value, cppFieldName); case ParserGenFields::AstFile_types: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrAstFile::types, object, field, value, cppFieldName); case ParserGenFields::Class_props: @@ -8356,16 +13839,38 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrCreateClause::syntax, object, field, value, cppFieldName); case ParserGenFields::Enum_items: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrEnum::items, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectClause_continuation: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectClause_rule: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectClause::rule, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_flag: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flag, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_injectionTargets: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets, object, field, value, cppFieldName); + case ParserGenFields::LeftRecursionPlaceholderClause_flags: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags, object, field, value, cppFieldName); case ParserGenFields::LoopSyntax_delimiter: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::delimiter, object, field, value, cppFieldName); case ParserGenFields::LoopSyntax_syntax: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrLoopSyntax::syntax, object, field, value, cppFieldName); + case ParserGenFields::NotCondition_condition: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrNotCondition::condition, object, field, value, cppFieldName); case ParserGenFields::OptionalSyntax_syntax: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOptionalSyntax::syntax, object, field, value, cppFieldName); + case ParserGenFields::OrCondition_first: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::first, object, field, value, cppFieldName); + case ParserGenFields::OrCondition_second: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrOrCondition::second, object, field, value, cppFieldName); case ParserGenFields::PartialClause_assignments: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::assignments, object, field, value, cppFieldName); case ParserGenFields::PartialClause_syntax: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPartialClause::syntax, object, field, value, cppFieldName); + case ParserGenFields::PrefixMergeClause_rule: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPrefixMergeClause::rule, object, field, value, cppFieldName); + case ParserGenFields::PushConditionSyntax_switches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::switches, object, field, value, cppFieldName); + case ParserGenFields::PushConditionSyntax_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrPushConditionSyntax::syntax, object, field, value, cppFieldName); case ParserGenFields::ReuseClause_assignments: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrReuseClause::assignments, object, field, value, cppFieldName); case ParserGenFields::ReuseClause_syntax: @@ -8378,6 +13883,14 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSequenceSyntax::second, object, field, value, cppFieldName); case ParserGenFields::SyntaxFile_rules: return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::rules, object, field, value, cppFieldName); + case ParserGenFields::SyntaxFile_switches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrSyntaxFile::switches, object, field, value, cppFieldName); + case ParserGenFields::TestConditionBranch_condition: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::condition, object, field, value, cppFieldName); + case ParserGenFields::TestConditionBranch_syntax: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionBranch::syntax, object, field, value, cppFieldName); + case ParserGenFields::TestConditionSyntax_branches: + return vl::glr::AssemblerSetObjectField(&vl::glr::parsergen::GlrTestConditionSyntax::branches, object, field, value, cppFieldName); default: return vl::glr::AssemblyThrowFieldNotObject(field, cppFieldName); } @@ -8402,16 +13915,22 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrCreateClause::type, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::EnumItem_name: return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrEnumItem::name, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::LiteralSyntax_value: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrLiteralSyntax::value, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::LeftRecursionPlaceholder_flag: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::PartialClause_type: return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrPartialClause::type, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::RefCondition_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefCondition::name, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::RefSyntax_field: return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::field, object, field, token, tokenIndex, cppFieldName); - case ParserGenFields::RefSyntax_name: - return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::RefSyntax_literal: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRefSyntax::literal, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::Rule_name: return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::name, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::Rule_type: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrRule::type, object, field, token, tokenIndex, cppFieldName); + case ParserGenFields::SwitchItem_name: + return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrSwitchItem::name, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::Type_name: return vl::glr::AssemblerSetTokenField(&vl::glr::parsergen::GlrType::name, object, field, token, tokenIndex, cppFieldName); case ParserGenFields::UseSyntax_name: @@ -8421,17 +13940,27 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase } } - void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) + void ParserGenAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) { auto cppFieldName = ParserGenCppFieldName((ParserGenFields)field); switch((ParserGenFields)field) { + case ParserGenFields::Assignment_type: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrAssignment::type, object, field, enumItem, weakAssignment, cppFieldName); case ParserGenFields::Class_ambiguity: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClass::ambiguity, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClass::ambiguity, object, field, enumItem, weakAssignment, cppFieldName); case ParserGenFields::ClassProp_propType: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClassProp::propType, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrClassProp::propType, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_configuration: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::LeftRecursionInjectContinuation_type: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type, object, field, enumItem, weakAssignment, cppFieldName); case ParserGenFields::OptionalSyntax_priority: - return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrOptionalSyntax::priority, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrOptionalSyntax::priority, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::RefSyntax_refType: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrRefSyntax::refType, object, field, enumItem, weakAssignment, cppFieldName); + case ParserGenFields::SwitchItem_value: + return vl::glr::AssemblerSetEnumField(&vl::glr::parsergen::GlrSwitchItem::value, object, field, enumItem, weakAssignment, cppFieldName); default: return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); } @@ -8441,58 +13970,84 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase { const wchar_t* results[] = { L"AlternativeSyntax", + L"AndCondition", L"Assignment", L"AstFile", L"Class", L"ClassProp", L"Clause", + L"Condition", L"CreateClause", L"Enum", L"EnumItem", - L"LiteralSyntax", + L"LeftRecursionInjectClause", + L"LeftRecursionInjectContinuation", + L"LeftRecursionPlaceholder", + L"LeftRecursionPlaceholderClause", L"LoopSyntax", + L"NotCondition", L"OptionalSyntax", + L"OrCondition", L"PartialClause", + L"PrefixMergeClause", + L"PushConditionSyntax", + L"RefCondition", L"RefSyntax", L"ReuseClause", L"Rule", L"SequenceSyntax", + L"SwitchItem", L"Syntax", L"SyntaxFile", + L"TestConditionBranch", + L"TestConditionSyntax", L"Type", L"UseSyntax", }; vl::vint index = (vl::vint)type; - return 0 <= index && index < 21 ? results[index] : nullptr; + return 0 <= index && index < 34 ? results[index] : nullptr; } const wchar_t* ParserGenCppTypeName(ParserGenClasses type) { const wchar_t* results[] = { L"vl::glr::parsergen::GlrAlternativeSyntax", + L"vl::glr::parsergen::GlrAndCondition", L"vl::glr::parsergen::GlrAssignment", L"vl::glr::parsergen::GlrAstFile", L"vl::glr::parsergen::GlrClass", L"vl::glr::parsergen::GlrClassProp", L"vl::glr::parsergen::GlrClause", + L"vl::glr::parsergen::GlrCondition", L"vl::glr::parsergen::GlrCreateClause", L"vl::glr::parsergen::GlrEnum", L"vl::glr::parsergen::GlrEnumItem", - L"vl::glr::parsergen::GlrLiteralSyntax", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholder", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause", L"vl::glr::parsergen::GlrLoopSyntax", + L"vl::glr::parsergen::GlrNotCondition", L"vl::glr::parsergen::GlrOptionalSyntax", + L"vl::glr::parsergen::GlrOrCondition", L"vl::glr::parsergen::GlrPartialClause", + L"vl::glr::parsergen::GlrPrefixMergeClause", + L"vl::glr::parsergen::GlrPushConditionSyntax", + L"vl::glr::parsergen::GlrRefCondition", L"vl::glr::parsergen::GlrRefSyntax", L"vl::glr::parsergen::GlrReuseClause", L"vl::glr::parsergen::GlrRule", L"vl::glr::parsergen::GlrSequenceSyntax", + L"vl::glr::parsergen::GlrSwitchItem", L"vl::glr::parsergen::GlrSyntax", L"vl::glr::parsergen::GlrSyntaxFile", + L"vl::glr::parsergen::GlrTestConditionBranch", + L"vl::glr::parsergen::GlrTestConditionSyntax", L"vl::glr::parsergen::GlrType", L"vl::glr::parsergen::GlrUseSyntax", }; vl::vint index = (vl::vint)type; - return 0 <= index && index < 21 ? results[index] : nullptr; + return 0 <= index && index < 34 ? results[index] : nullptr; } const wchar_t* ParserGenFieldName(ParserGenFields field) @@ -8500,7 +14055,10 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase const wchar_t* results[] = { L"AlternativeSyntax::first", L"AlternativeSyntax::second", + L"AndCondition::first", + L"AndCondition::second", L"Assignment::field", + L"Assignment::type", L"Assignment::value", L"AstFile::types", L"Class::ambiguity", @@ -8514,28 +14072,50 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase L"CreateClause::type", L"Enum::items", L"EnumItem::name", - L"LiteralSyntax::value", + L"LeftRecursionInjectClause::continuation", + L"LeftRecursionInjectClause::rule", + L"LeftRecursionInjectContinuation::configuration", + L"LeftRecursionInjectContinuation::flag", + L"LeftRecursionInjectContinuation::injectionTargets", + L"LeftRecursionInjectContinuation::type", + L"LeftRecursionPlaceholder::flag", + L"LeftRecursionPlaceholderClause::flags", L"LoopSyntax::delimiter", L"LoopSyntax::syntax", + L"NotCondition::condition", L"OptionalSyntax::priority", L"OptionalSyntax::syntax", + L"OrCondition::first", + L"OrCondition::second", L"PartialClause::assignments", L"PartialClause::syntax", L"PartialClause::type", + L"PrefixMergeClause::rule", + L"PushConditionSyntax::switches", + L"PushConditionSyntax::syntax", + L"RefCondition::name", L"RefSyntax::field", - L"RefSyntax::name", + L"RefSyntax::literal", + L"RefSyntax::refType", L"ReuseClause::assignments", L"ReuseClause::syntax", L"Rule::clauses", L"Rule::name", + L"Rule::type", L"SequenceSyntax::first", L"SequenceSyntax::second", + L"SwitchItem::name", + L"SwitchItem::value", L"SyntaxFile::rules", + L"SyntaxFile::switches", + L"TestConditionBranch::condition", + L"TestConditionBranch::syntax", + L"TestConditionSyntax::branches", L"Type::name", L"UseSyntax::name", }; vl::vint index = (vl::vint)field; - return 0 <= index && index < 35 ? results[index] : nullptr; + return 0 <= index && index < 60 ? results[index] : nullptr; } const wchar_t* ParserGenCppFieldName(ParserGenFields field) @@ -8543,7 +14123,10 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase const wchar_t* results[] = { L"vl::glr::parsergen::GlrAlternativeSyntax::first", L"vl::glr::parsergen::GlrAlternativeSyntax::second", + L"vl::glr::parsergen::GlrAndCondition::first", + L"vl::glr::parsergen::GlrAndCondition::second", L"vl::glr::parsergen::GlrAssignment::field", + L"vl::glr::parsergen::GlrAssignment::type", L"vl::glr::parsergen::GlrAssignment::value", L"vl::glr::parsergen::GlrAstFile::types", L"vl::glr::parsergen::GlrClass::ambiguity", @@ -8557,28 +14140,50 @@ ParserGenAstInsReceiver : public vl::glr::AstInsReceiverBase L"vl::glr::parsergen::GlrCreateClause::type", L"vl::glr::parsergen::GlrEnum::items", L"vl::glr::parsergen::GlrEnumItem::name", - L"vl::glr::parsergen::GlrLiteralSyntax::value", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause::continuation", + L"vl::glr::parsergen::GlrLeftRecursionInjectClause::rule", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::configuration", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::flag", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::injectionTargets", + L"vl::glr::parsergen::GlrLeftRecursionInjectContinuation::type", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholder::flag", + L"vl::glr::parsergen::GlrLeftRecursionPlaceholderClause::flags", L"vl::glr::parsergen::GlrLoopSyntax::delimiter", L"vl::glr::parsergen::GlrLoopSyntax::syntax", + L"vl::glr::parsergen::GlrNotCondition::condition", L"vl::glr::parsergen::GlrOptionalSyntax::priority", L"vl::glr::parsergen::GlrOptionalSyntax::syntax", + L"vl::glr::parsergen::GlrOrCondition::first", + L"vl::glr::parsergen::GlrOrCondition::second", L"vl::glr::parsergen::GlrPartialClause::assignments", L"vl::glr::parsergen::GlrPartialClause::syntax", L"vl::glr::parsergen::GlrPartialClause::type", + L"vl::glr::parsergen::GlrPrefixMergeClause::rule", + L"vl::glr::parsergen::GlrPushConditionSyntax::switches", + L"vl::glr::parsergen::GlrPushConditionSyntax::syntax", + L"vl::glr::parsergen::GlrRefCondition::name", L"vl::glr::parsergen::GlrRefSyntax::field", - L"vl::glr::parsergen::GlrRefSyntax::name", + L"vl::glr::parsergen::GlrRefSyntax::literal", + L"vl::glr::parsergen::GlrRefSyntax::refType", L"vl::glr::parsergen::GlrReuseClause::assignments", L"vl::glr::parsergen::GlrReuseClause::syntax", L"vl::glr::parsergen::GlrRule::clauses", L"vl::glr::parsergen::GlrRule::name", + L"vl::glr::parsergen::GlrRule::type", L"vl::glr::parsergen::GlrSequenceSyntax::first", L"vl::glr::parsergen::GlrSequenceSyntax::second", + L"vl::glr::parsergen::GlrSwitchItem::name", + L"vl::glr::parsergen::GlrSwitchItem::value", L"vl::glr::parsergen::GlrSyntaxFile::rules", + L"vl::glr::parsergen::GlrSyntaxFile::switches", + L"vl::glr::parsergen::GlrTestConditionBranch::condition", + L"vl::glr::parsergen::GlrTestConditionBranch::syntax", + L"vl::glr::parsergen::GlrTestConditionSyntax::branches", L"vl::glr::parsergen::GlrType::name", L"vl::glr::parsergen::GlrUseSyntax::name", }; vl::vint index = (vl::vint)field; - return 0 <= index && index < 35 ? results[index] : nullptr; + return 0 <= index && index < 60 ? results[index] : nullptr; } vl::Ptr ParserGenAstInsReceiver::ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) @@ -8626,6 +14231,7 @@ namespace vl L"CLASS", L"ENUM", L"VAR", + L"SWITCH", L"TOKEN", L"AS", L"PARTIAL", @@ -8635,6 +14241,10 @@ namespace vl L"CLOSE_SQUARE", L"OPEN_CURLY", L"CLOSE_CURLY", + L"OPEN_PUSH", + L"OPEN_TEST", + L"AND", + L"OR", L"COMMA", L"COLON", L"SEMICOLON", @@ -8642,10 +14252,16 @@ namespace vl L"ALTERNATIVE", L"USE", L"ASSIGN", + L"WEAK_ASSIGN", L"POSITIVE", L"NEGATIVE", + L"LS_PH", + L"LS_I", + L"LS_IM", + L"LS_PM", L"ID", L"STRING", + L"CONDITIONAL_LITERAL", L"SPACE", L"COMMENT", }; @@ -8660,6 +14276,7 @@ namespace vl L"class", L"enum", L"var", + L"switch", L"token", L"as", L"partial", @@ -8669,6 +14286,10 @@ namespace vl L"]", L"{", L"}", + L"!(", + L"?(", + L"&&", + L"||", L",", L":", L";", @@ -8676,8 +14297,14 @@ namespace vl L"|", L"!", L"=", + L"?=", L"+", L"-", + L"left_recursion_placeholder", + L"left_recursion_inject", + L"left_recursion_inject_multiple", + L"prefix_merge", + nullptr, nullptr, nullptr, nullptr, @@ -8694,6 +14321,7 @@ namespace vl L"class", L"enum", L"var", + L"switch", L"token", L"as", L"partial", @@ -8703,6 +14331,10 @@ namespace vl L"/]", L"/{", L"/}", + L"!/(", + L"/?/(", + L"&&", + L"/|/|", L",", L":", L";", @@ -8710,10 +14342,16 @@ namespace vl L"/|", L"!", L"=", + L"/?=", L"/+", L"-", + L"left_recursion_placeholder", + L"left_recursion_inject", + L"left_recursion_inject_multiple", + L"prefix_merge", L"[a-zA-Z_][a-zA-Z0-9_]*", L"(\"[^\"]*\")+", + L"(\'[^\']*\')+", L"/s+", L"////[^/r/n]*", }; @@ -8723,18 +14361,21 @@ namespace vl void ParserGenLexerData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 1368; // 15852 bytes before compressing + static const vl::vint dataLength = 2299; // 36189 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 88; - static const vl::vint dataSolidRows = 5; - static const vl::vint dataRows = 6; + static const vl::vint dataRemain = 251; + static const vl::vint dataSolidRows = 8; + static const vl::vint dataRows = 9; static const char* compressed[] = { - "\xEC\x3D\x00\x00\x50\x05\x00\x00\x40\x00\x01\xBB\x01\x84\x81\x82\x1C\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x27\x04\xA8\x0A\x94\x81\x15\x96\x82\x2A\x30\x84\x8B\x13\x9C\x80\x16\x9B\x04\xAD\x39\x84\x8E\x14\x9C\x83\x17\x3F\x84\xB0\x04\x89\x1C\x83\x82\x83\x04\x83\x82\x84\x8C\x1C\xA4\x83\x1E\x4F\x84\xBE\x04\x80\x81\x81\x20\x82\x5A\x04\x9B\x3A\xA4\x84\x2D\xAE\x82\x5D\x60\x84\x9E\x23\xB4\x83\x2E\xB3\x04\xE0\x29\xA4\x81\x34\xB4\x82\x31\x6F\x84\xA3\x32\xB4\x84\x31\xBA\x82\x65\x78\x84\x86\x3B\xBC\x83\x32\xBF\x04\xE8\x01\xC4\x89\x34\xC0\x82\x35\x87\x84\xAB\x2A\xC4\x84\x35\xC6\x82\x6D\x10\xC4\x8E\x33\xCC\x83\x36\xCB\x04\xF0\x19\xC4\x81\x3C\xCC\x82\x39\x9F\x84\xB3\x22\xD4\x84\x39\xD2\x82\x75\x28\xC4\x96\x3B\xD4\x83\x3A\x82\x7A\x04\xBB\x32\xD4\x84\x3D\xDA\x82\x7D\x38\xC4\x9E\x34\x87\x7F\x7E\x08\x00\x3E\xFE\xD7\x04\x84\xE1\x80\xE1\xFF\x46\xC1\xE2\xEA\xE1\x08\x82\x0B\xBD\xC2\xC7\x0A\x81\xEE\xDF\x08\x8C\x01\x94\x15\xFF", - "\x78\x0B\xEE\x8D\x80\x0F\x5B\xD2\x1B\xE5\x0E\x87\xE2\xE1\x10\xE7\xFE\xC5\xFA\xF7\x7D\x85\x80\xEC\x80\x02\x04\x81\xFB\x00\xFB\xFB\xF0\xF8\xC0\x11\xFC\xFA\xFD\xFF\x80\x06\x3E\x7A\x7D\x01\xFA\x44\x0A\x7F\x44\x01\x40\x71\x41\x45\xED\x48\x7E\x83\x83\x10\x91\x82\x87\x84\x14\x95\x88\x73\x06\xDB\x56\x82\x70\x86\x0D\x94\x8C\x87\x72\xBE\x5F\x82\x88\x41\x23\x81\x45\x88\x00\x27\xA9\x84\x41\x06\x24\xAD\x86\x8A\x8B\x28\x84\x4A\x04\x8C\x2A\x9D\x8A\x87\x8D\x38\xB9\x8A\x8F\x83\x1F\xBB\x8F\x3D\x8F\x37\x80\x91\x88\x8D\x44\xAF\x86\x91\x8C\x47\xA7\x8C\x05\x91\x48\x8D\x95\x8E\x93\x4C\xBE\x82\x97\x94\x54\xBC\x89\x85\x90\x57\x93\x82\x93\x8F\x4C\x8F\x9E\x95\x97\x04\x5D\x00\x99\x92\x63\x8D\x95\x97\x99\x68\xB9\x8B\x94\x8E\x6B\x9E\x8B\x76\x07\x65\x9F\x94\x9B\x9C\x50\xB4\x92\x9D\x9D\x66\xA9\x9A\x9F\x9E\x10\xAD\x9A\x86\x9F\x12\x9B\x97\x9F\xA0\x71\xB0\x8C\x46\x9D\x85\x87\x9C\x9F\xA2\x8B\x80\xA5\x86\xA3\x7D\x9B\x7E\x44\xA2\x94\xB8\x94\xA1\xA5\x97\xB9\x9C\xA3\xA6\x9C\x9D\xAE\xA7\xA7\xA0\xA1\xA2\xAB\xA8\xA4\xA5\xA6\xAB\xA9\xA8\xA9\xAA\xAB\xAA", - "\xAC\xAD\xAE\xAB\xAB\xB0\xB1\xA2\xAF\xAC\xB4\xB5\xA6\xAF\xAD\xB8\xB9\xAA\xAF\xAE\xBC\x8B\xA1\x4A\x8D\xBD\x81\xB2\xB3\xB0\xC4\x85\xB6\xB3\xB1\xC8\x89\xBA\xB3\xB2\xCC\x8D\xBE\xB3\xB3\xD0\x91\xB2\xB7\xB4\xD4\xBE\x80\xA6\x96\x59\x81\xAB\x75\xA6\xDC\x89\xA6\xA6\xB7\xD7\x92\x84\x49\x40\xE3\x80\x05\xBB\xB9\x25\x64\xB9\xB8\x00\x27\x6A\xBE\xBA\xB9\xEB\xA8\xBF\xBA\xBC\xF0\xB3\xB1\xBF\xBD\xF6\xB9\xB5\xBF\xBE\xF4\xBD\xB8\xBC\xBF\xFF\xBE\xBA\xBE\xC0\x00\xC3\xC1\xC1\xB6\x24\x04\x49\xC1\x7B\x0B\xE0\x8F\x3D\xC3\xD5\x91\xC2\xC6\x84\x25\x19\xB3\xC7\xC5\xA7\xA1\xB1\x86\xC6\x1B\x9B\xB4\x42\x09\xE0\xA1\xC8\xA6\xC8\x78\x97\xCC\xC6\x95\xC0\x9B\xCE\xC7\xC8\x2C\xDF\xBD\xC9\xB7\x8A\x93\xC7\xCA\x83\x33\xC2\xA4\xC8\xCC\x2E\xF9\xC9\xA6\xC9\x16\xEE\x99\xC9\xA4\xED\x69\x4F\xCB\xCD\x44\xC3\xDF\xCF\xB3\x33\xD7\x8D\xCC\xCA\x0E\xF8\xCE\xD1\xD1\x4D\xAB\x44\x9C\xCF\x47\xDA\xB5\xD6\xD2\xED\x4F\xD6\xD2\xCE\x30\xAE\x4B\xD4\xD5\x0E\xEC\x9B\xD0\xCD\x2B\xDC\xDB\xD5\x4C\x5B\xDA\xD1\xD8\xB5\x49\xDD\xC7\xD6\xDB\x4D\xD0\xDA\xDB\x93\x34\x5F\xD8\xC6\x86\x37", - "\x6F\xD7\xDE\xA7\x04\xFD\xDB\xB9\xBB\x05\xC1\xEE\xDE\xC1\x84\xC2\xE7\xC1\xE1\x83\xC6\xE8\xE3\xE1\x8A\xCD\xE9\xE0\xBD\x9E\xBA\x4A\xDF\xDE\x77\xCD\xC0\xC6\x70\x97\xFE\x69\xE4\xE5\x9C\xD5\x8D\x4D\x40\x9F\xCE\xC1\xE8\x72\xA1\xE5\xEE\x4C\xE8\xA7\xC0\x06\xE8\xEA\xAC\xEA\xE9\xEB\xEA\xAE\xED\xE0\xEF\xEC\xAF\xF5\xE2\xEE\xED\xB1\xF9\xE4\xEF\xED\xBC\xFA\xE8\xEF\xEE\xBE\xFD\xE0\xF3\xE8\xC8\xAD\xD3\x93\xE4\x36\xE9\xD0\x8C\x50\xCA\xCD\xF5\xCA\xCC\x63\xEA\xC8\xF1\xD9\x73\xF2\xDC\x93\x50\x2D\xE0\xD6\xB5\xF4\x70\xD8\xD6\xDB\xF7\x4F\xB1\x06\xF5\xA5\xDA\xFB\x85\xCC\xF5\xE3\xE0\xF9\xFB\x89\xE5\xFA\x87\xF9\xD6\x65\xB2\x0B\xFB\xFC\x53\xD0\xF3\xE6\xF7\x62\xF0\xFE\xF1\xF5\x2D\xF3\x05\x99\xE7\x00\x95\x54\x0D\x04\x23\x81\x80\x05\x80\x00\x07\x89\x80\x01\x8B\x81\x21\x1A\x0C\x80\x81\x0F\x8A\x82\x01\x91\x84\x83\x09\x96\x80\x82\x17\x92\x80\x06\x9B\x8A\x83\x0E\x95\x84\x83\x1F\x9E\x81\x06\xA1\x84\x85\x11\xA6\x80\x84\x27\x87\x80\xE9\x29\x7B\x85\xF6\x03\x7F\x77\x30\x82\x79\x0C\xC1\x74\x87\x17\xB2\x87\x86\x35\x93\x86\x0D\xB9\x88\x87\x1D\x80\x79", - "\x59\xC6\x7C\x4B\xF4\x7A\x7A\x7D\x80\x36\x04\x7E\x45\x99\x65\xFB\x6A\x4C\x7B\xE3\x71\x6B\x7F\x48\x87\x47\x0D\x5E\x5B\x89\xFC\x6B\x68\x5B\x44\x9C\x7D\x12\xDA\x81\x89\x62\x41\x8F\x7D\x4F\x9B\x88\xD4\x38\x01\x8B\x26\x8A\x5F\x8B\x66\x89\x7A\x18\xC7\x45\x28\x28\xAE\x8F\x8A\x16\x42\x84\x0A\xF3\x87\x80\x07\xA9\x85\x84\x74\x98\x8E\x1C\xFB\x8A\x8F\x3E\xB7\x8F\x8F\x79\x80\x90\x1F\x82\x9F\x83\xC8\x66\x89\x80\x88\x91\x54\x1A\xC3\x81\x8C\x2E\xA5\x8F\x48\x47\x2F\x7A\xC4\x0B\x90\x8E\xE9\x4D\x97\x91\x6B\x99\x91\x15\xD8\x4C\x90\xEF\x4E\x97\x8D\x38\x7B\x93\x9F\x69\x8B\x3A\xA5\x19\x97\x93\xA7\x87\x91\xF1\x2A\x9E\x88\x2B\x9E\x90\x93\x4F\x4D\x28\x28\xAC\x96\x58\x4A\xAE\x90\x6E\xA8\x9F\x40\x54\x33\x94\x7C\xFB\x55\x96\x67\xBF\x8C\x6B\x2B\xBC\x99\x95\x4A\x53\x2D\x7E\x93\x94\x94\x18\xC3\x95\x99\x66\xAA\x6A\x94\x16\x4B\x98\x2E\xB0\x90\x6B\x1F\x14\x8E\x97\xDB\x7D\x93\x34\xC4\x99\x97\xFF\x7B\x46\x1F\xFF\x1F\x16\x3F\x79\x1F\x1B\x77\x3F\x1D\x2A\x05\x20\x00\x74\x01\x2B\x9C\x75\x8F\x3F\x9D\xEC\x84\x23\x74\x01\x2B\x21\x80\x0D\x21\x20\xE9\x20", - "\x00\x82\x00\x0C\x40\x00\x17\x21\x20\xDF\x20\x01\x78\x01\x2E\x39\x80\x23\x39\x20\xD7\x39\x3A\x7E\x6D\x93\x47\x80\x1D\x39\x20\x0D\xAE\x9D\x40\x04\x41\x9F\x8A\x92\xA7\xA2\xED\x8C\xA2\x8C\x45\x34\x21\x87\x80\x04\x45\x16\xB9\xA0\x41\x76\x31\xA4\x82\x0A\x40\x00\x11\xA0\xA4\x46\x84\x23\x3F\x92\x90\xA4\xA3\x16\xAF\x3C\x00\x06\x4E\xA5\x95\x80\x40\x9E\xE9\x80", + "\x5D\x8D\x00\x00\xF3\x08\x00\x00\x87\x00\x01\x81\x21\x84\x81\x80\x20\x82\x01\x04\x88\x04\x89\x04\x84\x82\x05\x0F\x84\x8B\x04\x8C\x04\x81\x06\x8B\x04\x8E\x04\x9F\x04\x80\x11\x8E\x82\x21\x20\x84\x82\x13\x94\x83\x10\x82\x25\x04\xA6\x0A\x94\x87\x11\x96\x82\x28\x30\x84\x89\x13\x9C\x82\x14\x9B\x04\xAB\x39\x84\x8C\x14\x9C\x83\x16\x3F\x84\xAE\x02\xA4\x87\x15\xA2\x82\x30\x04\xB9\x04\x8A\x1C\xA4\x83\x1D\x4F\x84\xBC\x12\xA4\x85\x1D\xAA\x82\x3E\x58\x84\x9F\x1B\xAC\x83\x82\x83\x04\x83\x81\x9A\x24\x83\x2D\xB2\x82\x5C\x68\x84\x9D\x2B\xB4\x82\x2E\xB7\x04\xDF\x31\xA4\x80\x34\xB8\x83\x30\x77\x84\xA2\x3A\xB4\x83\x31\xBE\x82\x64\x00\xC4\x85\x33\xC4\x82\x32\xC3\x04\xE7\x09\xC4\x88\x34\xC4\x83\x34\x8F\x84\xAA\x32\xC4\x83\x35\xCA\x82\x6C\x18\xC4\x8D\x3B\xCC\x82\x36\xCF\x04\xEF\x21\xC4\x80\x3C\xD0\x83\x38\xA7\x84\xB2\x2A\xD4\x83\x39\xD6\x82\x74\x30\xC4\x95\x33\xDC\x82\x3A\xDB\x04\xF7\x39\xC4\x88\x3C\xDC\x83\x3C\x04\xFA\x04\x9B\x33\xE4\x80\x3E\xE3\x04\xFD\x09\xE4\x8E\x3C\x83\x7F\x7F\x10\x00\x0F\xEF\xEC\x0C\x81\xEB\x80\xD3\xFF\x57\xF2", + "\xE3\xEB\xEE\x8D\x80\x1A\x4E\xD3\xF1\xE1\x83\x0E\x84\x87\xD8\xD3\xD6\x04\x82\x0C\x83\x0A\xF1\xCF\x9D\x30\xFF\x73\x0C\x80\x0B\xF9\x15\x73\xCF\x13\xF9\x09\x89\xF5\xE7\x13\x7F\x7F\x3D\x7F\x02\x89\x41\x40\x81\x00\x02\x04\x40\x82\x03\x0B\x8E\x83\x81\x0F\x80\x08\x80\x82\x18\x11\x83\x84\x41\x07\x16\x84\x41\x01\x04\x46\x01\x84\x01\x1A\x90\x81\x41\x45\x01\x51\x08\x46\x80\xD9\x69\x8A\x8B\x8A\x2C\xAD\x8E\x8B\x8B\x30\xB0\x8E\x44\x8A\x31\xAE\x83\x8C\x77\x35\xB7\x89\x77\x8D\x3C\x9F\x41\x41\x8F\x3F\xBE\x80\x00\x90\x43\x82\x9E\x06\x90\x44\x84\x9C\x45\x90\x4C\x85\x9D\x90\x91\x35\x91\x92\x97\x94\x54\x95\x9F\x3E\x8E\x56\xAB\x88\x95\x8E\xF3\x49\x98\x93\x97\x4F\xA0\x90\x01\x48\x61\xA5\x9E\x93\x99\x5E\xA6\x90\x95\x96\x6C\xAD\x9E\x99\x8B\x5B\xAF\x91\x9E\x8C\x5D\xA2\x99\x98\x9A\x76\xA2\x94\x4A\x9A\x79\xBC\x96\x9B\x9B\x80\x81\xAC\x9B\x9C\x6D\x84\xA6\x8F\x7C\x27\x7E\x98\x9E\xA2\x77\x8D\xAD\x9F\xA2\x90\xAB\x92\xA3\xA4\x94\xAF\x86\xA1\x96\x97\xAC\x81\x9E\xA3\x8C\x8F\xAC\xA5\xA4\x9E\x84\x44\x0A\x98\x95\xA5\xA6\xAB\x8E\xF3\x6E\x99\xA6\x96", + "\x75\x9D\xAE\xA8\xA8\x66\xA9\x4F\xAB\xA7\x92\xA7\xA6\xAE\xA0\xAB\x94\x99\xAD\x8A\x71\xAB\x43\xAD\xA8\xBF\xA6\x9E\x49\xB0\x90\xB7\xA6\xB3\xB1\xC8\x89\xBA\xB3\xB2\xCC\x8D\xBE\xB3\xB3\xD0\x91\xB2\xB7\xB4\xD4\x95\xB6\xB7\xB5\xD8\x99\xBA\xB7\xB6\xDC\x9D\xBE\xB7\xB7\xE0\xA1\xB2\xBB\xB8\xD0\xB1\x44\x8C\xB9\xE8\xA9\xBF\xB0\x4D\xE7\x86\xB7\x4D\xBB\xEA\xB1\xB4\xB6\x4E\xF0\xB2\xB6\xBF\xBD\xF8\xB9\xBA\xBD\x76\x3D\x75\xBB\xBF\xBF\x00\xC1\xC2\xA0\x50\xFE\x82\xC6\xC3\xC1\x08\xC9\xCA\xC3\xC2\x0C\xCD\xCE\xC3\xC3\x10\xD1\xC2\xC7\xB2\xBB\x92\x95\xC7\x74\x9B\x8F\xA3\x50\xB1\xB4\x80\xB0\xAF\xC7\x13\xE8\xA5\xC2\xC5\xA9\x96\xAD\xAB\xC7\x1D\xDC\xCE\xC5\xCA\x67\x96\x96\x51\x40\x2F\xC0\x01\xCF\xCC\x47\x70\xC5\xCC\x00\x49\x76\xCA\xCE\xCC\x37\xF4\xCB\xCE\xCF\x3C\xFF\xCD\xCF\xD0\x42\xC5\xD1\xD3\xD1\x40\xC9\xD4\xD0\xD2\x4B\xCA\xD6\xD2\xD3\x4C\xCF\xDD\xD3\xD4\x52\xC2\x81\x0C\x41\x57\xC1\x49\xD4\x00\x5B\xDD\xD8\xD7\xD7\x5A\xE0\xDC\xD4\x41\x32\x22\xDE\xD5\xD8\x68\xE3\xD9\xDB\xD9\x6A\xED\xDC\xDB\xDB\x66\xF1\xDB\xDA\xDC\x6E\xF4\xD0\xDF\xDC\x78", + "\xF5\xD9\xDF\xDD\x7A\xFD\xDC\xDC\xDF\x2C\xB3\x04\x42\xE0\x02\x84\xE8\x8F\x3F\x86\xE1\xCA\xE3\xE2\x35\xB4\x05\xC8\xE3\x90\xD6\xB7\xC4\x97\x23\xD8\xC7\xC9\x0D\x2B\xD9\xEA\xCB\xE6\x2D\xCB\xE3\xE5\x8C\x9F\xD9\xCC\xE4\xCB\xA4\xDA\xE5\xB2\xE7\x8F\xD8\xA9\xEA\xA6\x27\xE5\xE3\xEA\xE9\xAE\xC7\xE3\xC7\xE7\x74\x95\xEF\x71\x9C\x36\x30\xEA\xEF\xEB\xC4\x8C\xE4\xEE\xC9\xB6\xD7\x9D\xEB\xEE\x28\xC4\xF4\x93\x0D\x1E\xFE\xEB\xE9\x95\xA1\xC3\xFC\xED\xF1\xAF\xB8\x06\xF3\xF2\x0D\xFF\xE7\xA1\xF0\xA2\xD0\xFF\xC7\x52\xCF\xF1\xE7\x9E\xF2\xC1\xF5\xE2\xEC\xF0\x87\xDE\xFF\xA1\x53\xDD\xC4\xF0\xFB\xF8\x83\x94\xFC\xAE\xF3\xDA\xE6\xFF\xA8\x54\xCF\xEB\xF8\xAE\xFB\x22\xE5\xFF\xA3\x54\xE9\xFD\xFA\xF5\xE4\x00\x81\x82\x00\x83\x84\x81\x02\x86\x87\x80\x08\x89\x82\x02\x8B\x80\x46\xAB\x21\x7C\x81\x05\x96\x78\x9C\x78\x76\x72\x01\x6C\x61\x2B\xFE\x72\x7F\xFF\x55\x40\x6B\x0E\xB7\x61\x67\x51\x61\x86\x07\xD5\x62\x84\xAA\x65\x84\x84\x23\x87\x86\x0A\xA9\x8C\x84\x13\xAD\x80\x85\x37\x77\x54\x57\x0F\x80\x83\x86\x7F\x6E\x6E\x38\x89\x6D\xD9\x7B\x69\x86\xBF\x7D\x87", + "\x86\x3C\x81\x8A\x0F\xC2\x80\x89\x21\x86\x8D\x88\x48\x9F\x86\xD8\x51\x5F\x2A\xF6\x75\x87\x61\x86\x69\x73\x74\x52\x8F\x38\x2A\x8F\x88\x81\x62\x20\x01\x16\xD9\x3B\x8B\xE9\x19\x8F\x8B\x61\x21\x8E\x40\x62\x8A\x8A\x32\xA0\x8B\x8C\x68\x85\x8D\x1A\xE7\x8A\x8D\x36\xAC\x8F\x8D\x66\x91\x8F\x1A\xF2\x8E\x8C\x3A\xB0\x8B\x8E\x78\x95\x8D\x1E\xF7\x8A\x8F\x3E\xBC\x8C\x8D\x07\x72\x80\xEB\x58\x70\x7F\xD8\x42\x0B\x7A\x19\x94\x81\xC2\x02\x9C\x54\x42\x96\x80\x91\xF1\x66\x77\x10\x6A\x78\x74\x1A\x93\x86\x91\xFA\x69\x92\x99\x44\x00\x92\x96\x76\x79\x50\xCD\x6F\x92\x26\x91\x93\x94\x46\xBB\x5E\x94\xEF\x78\x91\xFE\x1A\x8C\x95\x47\x45\x0E\x74\x9F\x80\x51\x28\x99\x9F\x62\x23\x1D\x97\x96\xAF\x51\x96\x9C\x0A\x92\x78\x51\xA4\x97\x97\xAD\x81\x23\x11\x30\x95\x92\x27\x96\x4B\x96\xAB\x8F\x50\x12\x38\x90\x98\x62\x97\x8F\x99\x57\x88\x95\xFE\x24\x6E\x97\x60\x8D\x9F\x55\x49\x0E\x9B\x94\x4A\x04\x20\x6E\x81\x26\x9B\x00\x00\x9E\x38\xDD\x94\x9D\x80\x0B\x0D\x9C\xE1\x88\x9F\x38\xDF\x9A\x9D\x76\xAC\x9F\x9D\xE9\x90\x9F\x3A\xF1\x94\x9F\x79\xB6\x9E\x9D\xF5\x98", + "\x9F\x3D\xF2\x9A\x9F\x7E\xBC\x9F\x9F\xF9\x80\xA3\x3E\x81\xA4\xA1\xEC\x0C\x0C\x20\x07\xA1\x21\x42\x80\x0B\xA1\x86\x88\xA7\xA1\x0A\xB0\xA0\x43\x84\x2D\x08\x89\x8E\xA1\xA2\x18\xB3\xA1\x46\x97\xAA\xA3\x8E\x9C\xA7\xA3\x16\xA1\xA7\x46\xA2\xAE\xA2\x92\xA0\xA3\xA4\x28\xA5\xA5\x4A\xA7\xAA\xA5\x96\xAC\xA4\xA5\x5C\x84\x8D\x4C\x82\x4F\x8E\x3B\xB6\xA3\x8F\x37\xBE\x8D\x4E\xB5\xA8\xA7\x9E\xBA\xA6\xA7\x3C\xBF\xA6\x50\xC1\xA4\xA8\x3A\x81\x94\x97\xE2\x74\x98\x2D\xAC\x6E\x08\x66\x96\x9D\x56\xB3\x68\xA8\xF9\x4A\xA9\x99\x52\x84\x7F\x09\x94\x8A\x72\x34\x95\x86\x99\x46\x8B\xAE\xA9\x60\xBD\x75\x31\xF7\x7A\x94\xAE\xB7\x40\x0A\x61\xB7\x9A\x5A\xDB\xA7\x5E\xB6\xBD\x95\xAB\x2A\x59\x7B\x53\x8F\x51\x0B\xB4\x90\xAA\x62\x6E\xA8\x9A\x59\xC4\x72\x0A\xBB\x99\xA9\x64\x79\xBC\x96\x5C\xC4\x73\x0A\xBF\x9C\x72\x97\xAA\x5C\x94\x15\x05\x96\xB1\xB5\x9A\x9A\x4A\x03\xB1\xB0\x3A\xE7\x92\xA0\x7F\x84\xA2\xB2\x95\xB9\xB3\x65\x96\xB8\xB3\xCD\x9A\xB5\xB3\xA0\xBC\xB2\x68\x9F\xB2\xAA\x2A\x73\x80\xAE\xD0\x8F\x63\x4B\xA6\xAC\xB5\x8C\x95\xA3\xA5\xAD\xAE\xA5\x6C\xAB", + "\xB0\xB7\xDA\xB2\xB6\xB6\xB4\xB7\xB6\x6E\xB9\xBC\xB7\xD9\x92\xA4\x89\xA5\xA9\xB6\x70\xE4\xA8\xB4\xAA\x91\x4B\xB0\x56\xBE\x7D\x15\x49\x73\xAC\x50\x82\xB4\xB1\xC9\xAE\xB2\x58\xDA\xA1\xB9\x41\x85\xBC\xAB\x55\xBF\x96\x15\x0D\xBA\x82\xC4\x85\x57\xB9\xD5\x9C\xBA\x78\xCD\x4E\xBB\xF6\x65\xAF\x39\x57\x03\xBE\x74\xEA\xA5\xBC\xD5\x67\xBF\xAD\x73\xB1\xBB\x9D\x58\x02\x49\xF6\x87\x98\xBC\x5F\xB2\xBE\xC7\x59\x00\x92\xFB\x8C\x78\xBF\xD9\xB1\xBF\xC7\x64\x21\xBA\xFF\xBA\x50\xC0\x7B\xBA\xBE\x82\x9D\x74\xBA\x4B\x96\xBE\xB8\xB7\x6D\xB2\x59\x0B\xC7\xAF\x88\x41\xB1\x78\x69\x21\xBC\x85\xEA\xB6\xC1\x29\x7A\xA9\xC2\x8A\x4C\x2F\x86\xFE\x7D\xC2\x08\xE0\x70\xBA\xEB\xA2\xC3\x8D\x6F\x29\x97\xE6\xB2\x90\xC1\x20\xC9\xC6\x7A\x9E\x9E\xC5\x5D\xAF\xBA\xC5\x62\x52\x2F\x88\xD7\xBB\x91\xEA\x9E\xAE\xC4\x44\x55\x2F\x8E\xB8\xCE\xC1\x7F\x57\xC4\xC7\x6F\xA1\xC3\x8C\x8F\x58\x2F\xC3\xB5\xC1\xB1\x37\xCF\x53\x5E\x43\xCD\xBF\x27\xDF\xB9\xCA\x54\xDC\x72\x5F\x2D\xCD\xC0\x24\xC9\xAF\xB8\x28\xC4\xCA\x8C\xDC\xC0\xB0\x1F\xF1\xA8\xC6\xF0\xAB\xCA\xA2\x01\x35\x7E\x2B", + "\xE6\xB8\xC9\xC8\xA3\xCF\x7A\x84\x3D\xCD\x2E\xC4\xB8\xC8\xA6\x67\x31\x96\xBF\x95\xC4\x30\xD8\xCA\xCE\x02\xCA\x32\x93\xF6\xCE\xB9\x3F\xF7\x4D\x31\x7B\xDD\xBA\x9B\xEE\xB0\xCF\x30\xDE\x60\x32\x89\xC4\x57\xA2\xF7\xB6\xD0\x35\xC0\xD2\xD2\x84\xCF\xC5\xA5\xBB\xC3\x33\x02\xD3\xD7\xBF\x9B\xD7\xD2\x99\x16\x3B\xC1\x3E\xD4\x70\xC9\x99\x3A\xC2\xA8\xAB\xD4\xC7\x4C\xF6\xC5\xD1\xAA\xD1\x77\x67\x1C\x7C\x33\x51\xA6\xD7\xC4\xA1\xC2\xC2\x68\x7B\xC7\xD7\x2F\xE7\xD2\xC9\xD1\xA5\x35\xA9\x9F\xD7\xC1\xF7\xA8\x31\xD2\x9E\xCE\xD4\x94\xB0\xD9\xBF\xF5\xAB\x30\xD9\x0C\xC5\xCD\x91\xE7\xC1\xD4\xD7\x10\xDE\x9A\xBD\xD3\xAA\x9F\xCD\xD4\x49\xD8\x17\xDF\xB1\x78\xA6\xCD\x2A\xCC\xD0\xD9\x33\x74\x37\xDB\xD3\xB2\xDA\x97\xDA\xDF\xD7\x04\xC0\x07\x36\xE8\xCB\xBD\xB6\xD7\x74\xDC\x77\xEC\x62\x37\xF1\xD5\xC0\xC4\x47\xC8\xCF\x7C\xE2\x4D\x37\xE9\xD1\xAB\xB4\xE3\xDD\xDE\x56\xCF\x50\x38\xC9\xCA\xDF\x9D\xD1\x42\x39\x58\xD6\xD2\xCC\xF3\xD7\x91\xBD\xB1\xC2\xCC\xE2\x3C\xD4\xD8\x1E\xC8\xCE\x98\xC4\x47\x39\x1D\xD1\xE7\xC1\xDB\xC5\xDE\x72\x7E\xD1\xE1\x70\xC3\xE3\x9A", + "\x21\xF6\xDF\xC3\x9E\x6D\x38\x32\xC2\xE3\xDD\xF4\xC5\xE3\x9D\x7F\x0B\xE5\x3A\xCA\xE5\xD0\x13\xE9\xCF\x28\x80\x15\xE6\x98\xC1\x64\xDF\x29\xF4\xE1\xCF\xC4\x41\x11\x2A\xCA\xDF\xCA\x39\xFB\xE0\x33\x82\x10\xDC\x0B\xE2\xD8\xE5\xED\xC2\xE8\xC9\xF2\xD8\xE2\x13\xFE\xD2\xE7\x6A\xA3\x13\xD0\x98\xD7\xE6\x4D\xC9\xEB\xEB\x01\x24\x11\x5A\x9F\xEF\xC7\xA0\xD8\xEA\xC0\x85\x1D\xE4\xD9\xD4\xDF\xEA\x45\x46\x10\xEC\xEC\xB5\xEA\xD9\xD7\xEA\xE8\x68\xD6\x4E\x1F\x7F\x1E\x1F\x34\x7F\x1F\x0B\x7E\x39\xEB\x1D\x2A\x5F\x0C\x40\x05\x2F\x79\x85\x01\x25\x21\x01\x30\x21\x40\x01\x40\x00\x12\x40\x07\x22\x01\x2F\x3D\x40\x32\x50\x00\xCA\xEB\x39\x20\xED\x21\x21\x7D\x01\x27\x3F\x80\x15\x40\x3C\x04\x26\x3D\xAC\x28\x26\x24\xD2\xCD\x4E\x43\xFE\x7F\x38\x00\x7B\x32\x44\x00\x24\x38\x00\x26\x53\xF2\x90\x14\xF4\x4D\xCA\xE5\x21\x20\x89\x40\x03\xA8\x0A\x5D\x41\x57\x79\x3D\x49\x94\xF4\xF3\xEE\x90\x5A\x40\x62\x74\xF6\xF4\x00\x1B\x4F\x99\x06\x47\x4C\x0E\x6F\x50\x44\xAF\x59\x40\xB1\x05\x21\x77\x25\x46\xE4\x58\xF2\x3E\x7F\x76\x1F\x57\x49\x80\x00", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -8815,8 +14456,8 @@ WriteSyntaxHeaderFile writer.WriteString(prefix+L"\t: public vl::glr::ParserBase<"); writer.WriteString(manager.Global().name + L"Tokens, "); writer.WriteString(manager.name + L"States, "); - writer.WriteString(manager.Global().name + L"AstInsReceiver>"); - writer.WriteLine(prefix + L"\t, protected vl::glr::automaton::TraceManager::ITypeCallback"); + writer.WriteLine(manager.Global().name + L"AstInsReceiver>"); + writer.WriteLine(prefix + L"\t, protected vl::glr::automaton::IExecutor::ITypeCallback"); writer.WriteLine(prefix + L"{"); writer.WriteLine(prefix + L"protected:"); writer.WriteLine(prefix + L"\tvl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override;"); @@ -9030,6 +14671,21 @@ StateSymbol { case EdgeInputType::Token: result = e1->input.token - e2->input.token; + if (result == 0) + { + if (e1->input.condition && e2->input.condition) + { + result = (vint)WString::Compare(e1->input.condition.Value(), e2->input.condition.Value()); + } + else if (e1->input.condition) + { + result = 1; + } + else if (e2->input.condition) + { + result = -1; + } + } break; case EdgeInputType::Rule: result = ownerManager->RuleOrder().IndexOf(e1->input.rule->Name()) - ownerManager->RuleOrder().IndexOf(e2->input.rule->Name()); @@ -9090,6 +14746,11 @@ SyntaxSymbolManager return rule; } + void SyntaxSymbolManager::RemoveRule(const WString& name) + { + rules.Remove(name); + } + StateSymbol* SyntaxSymbolManager::CreateState(RuleSymbol* rule, vint32_t clauseId) { CHECK_ERROR(phase == SyntaxPhase::EpsilonNFA, L"vl::gre::parsergen::SyntaxSymbolManager::CreateState(RuleSymbol*)#Cannot change the automaton after calling BuildCompactSyntax()."); @@ -9106,73 +14767,515 @@ SyntaxSymbolManager return symbol; } - void SyntaxSymbolManager::BuildCompactNFA() + void SyntaxSymbolManager::BuildCompactNFA() + { + CHECK_ERROR(global.Errors().Count() == 0, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCompactNFA() cannot be called before errors are resolved."); + CHECK_ERROR(phase == SyntaxPhase::EpsilonNFA, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCompactNFA() can only be called on epsilon NFA."); + BuildCompactNFAInternal(); + phase = SyntaxPhase::CompactNFA; + } + + void SyntaxSymbolManager::BuildCrossReferencedNFA() + { + CHECK_ERROR(global.Errors().Count() == 0, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCrossReferencedNFA() cannot be called before errors are resolved."); + CHECK_ERROR(phase == SyntaxPhase::CompactNFA, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCrossReferencedNFA() can only be called on compact NFA."); + BuildCrossReferencedNFAInternal(); + phase = SyntaxPhase::CrossReferencedNFA; + } + + void SyntaxSymbolManager::GetStatesInStableOrder(collections::List& order) + { + Group groupedStates; + { + List visited; + for (auto ruleName : rules.order) + { + auto ruleSymbol = rules.map[ruleName]; + for (auto startState : ruleSymbol->startStates) + { + if (!visited.Contains(startState)) + { + vint startIndex = visited.Add(startState); + for (vint i = startIndex; i < visited.Count(); i++) + { + auto state = visited[i]; + groupedStates.Add(state->Rule(), state); + for (auto edge : state->OutEdges()) + { + auto target = edge->To(); + if (!visited.Contains(target)) + { + visited.Add(target); + } + } + } + } + } + } + } + { + vint counter = 0; + for (auto ruleName : rules.order) + { + auto ruleSymbol = rules.map[ruleName]; + auto orderedStates = From(groupedStates[ruleSymbol]) + .OrderBy([](StateSymbol* s1, StateSymbol* s2) + { + return WString::Compare(s1->label, s2->label); + }); + for (auto state : orderedStates) + { + order.Add(state); + } + } + } + } + + WString SyntaxSymbolManager::GetStateGlobalLabel(StateSymbol* state, vint index) + { + return L"[" + itow(index) + L"][" + state->Rule()->Name() + L"]" + state->label + (state->endingState ? L"[ENDING]" : L""); + } + } + } +} + +/*********************************************************************** +.\SYNTAX\SYNTAXSYMBOLWRITER.CPP +***********************************************************************/ + +namespace vl +{ + namespace glr + { + namespace parsergen + { + using namespace collections; + +/*********************************************************************** +AutomatonBuilder +***********************************************************************/ + + AutomatonBuilder::AutomatonBuilder(RuleSymbol* _ruleSymbol) + : ruleSymbol(_ruleSymbol) + { + } + +/*********************************************************************** +AutomatonBuilder (Syntax) +***********************************************************************/ + + AutomatonBuilder::StatePair AutomatonBuilder::BuildTokenSyntax(vint32_t tokenId, const WString& displayText, Nullable condition, vint32_t field) + { + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + { + auto edge = CreateEdge(pair.begin, pair.end); + edge->input.type = EdgeInputType::Token; + edge->input.token = tokenId; + edge->input.condition = condition; + if (field != -1) + { + edge->insAfterInput.Add({ AstInsType::Token }); + edge->insAfterInput.Add({ AstInsType::Field,field }); + } + } + + clauseDisplayText += displayText; + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildRuleSyntaxInternal(RuleSymbol* rule, vint32_t field, automaton::ReturnRuleType ruleType) + { +#define ERROR_MESSAGE_PREFIX L"vl::glr::parsergen::AutomatonBuilder::BuildRuleSyntaxInternal(RuleSymbol*, vint32_t, ReturnRuleType)#" + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + { + auto edge = CreateEdge(pair.begin, pair.end); + edge->input.type = EdgeInputType::Rule; + edge->input.rule = rule; + edge->input.ruleType = ruleType; + + switch (ruleType) + { + case automaton::ReturnRuleType::Field: + CHECK_ERROR(field != -1, ERROR_MESSAGE_PREFIX L"Field must set for ReturnRuleType::Field."); + edge->insAfterInput.Add({ AstInsType::Field,field }); + break; + case automaton::ReturnRuleType::Partial: + CHECK_ERROR(field == -1, ERROR_MESSAGE_PREFIX L"Field must not set for ReturnRuleType::Partial."); + break; + case automaton::ReturnRuleType::Discard: + CHECK_ERROR(field == -1, ERROR_MESSAGE_PREFIX L"Field must not set for ReturnRuleType::Discard."); + edge->insAfterInput.Add({ AstInsType::DiscardValue }); + break; + case automaton::ReturnRuleType::Reuse: + CHECK_ERROR(field == -1, ERROR_MESSAGE_PREFIX L"Field must not set for ReturnRuleType::Reuse."); + edge->insAfterInput.Add({ AstInsType::ReopenObject }); + break; + } + } + + switch (ruleType) + { + case automaton::ReturnRuleType::Reuse: + clauseDisplayText += L"!" + rule->Name(); + break; + default: + clauseDisplayText += rule->Name(); + break; + } + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; +#undef ERROR_MESSAGE_PREFIX + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildFieldRuleSyntax(RuleSymbol* rule, vint32_t field) + { + return BuildRuleSyntaxInternal(rule, field, automaton::ReturnRuleType::Field); + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildPartialRuleSyntax(RuleSymbol* rule) + { + return BuildRuleSyntaxInternal(rule, -1, automaton::ReturnRuleType::Partial); + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildDiscardRuleSyntax(RuleSymbol* rule) + { + return BuildRuleSyntaxInternal(rule, -1, automaton::ReturnRuleType::Discard); + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildUseSyntax(RuleSymbol* rule) + { + return BuildRuleSyntaxInternal(rule, -1, automaton::ReturnRuleType::Reuse); + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildLoopSyntax(const StateBuilder& loopBody, const StateBuilder& loopDelimiter, bool hasDelimiter) + { + /* + * +--------------------+ + * | V + * S --+--+--(loopBody)--+--+--> E + * ^ | + * +--------------+ + */ + + /* + * +-------------------------+ + * | V + * S --+--+--( loopBody )--+--+--> E + * ^ | + * +--(loopDelimiter)--+ + */ + + StatePair pair, bodyPair, delimiterPair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + clauseDisplayText += L"{ "; + bodyPair = loopBody(); + if (hasDelimiter) + { + clauseDisplayText += L" ; "; + delimiterPair = loopDelimiter(); + } + clauseDisplayText += L" }"; + + CreateEdge(pair.begin, bodyPair.begin); + CreateEdge(bodyPair.end, pair.end); + CreateEdge(pair.begin, pair.end); + if (hasDelimiter) + { + CreateEdge(bodyPair.end, delimiterPair.begin); + CreateEdge(delimiterPair.end, bodyPair.begin); + } + else + { + CreateEdge(bodyPair.end, bodyPair.begin); + } + + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildOptionalSyntax(bool preferTake, bool preferSkip, const StateBuilder& optionalBody) + { + /* + * +------------------+ + * | V + * S --+--(optionalBody)--+--> E + */ + + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + if (!preferTake && !preferSkip) + { + clauseDisplayText += L"[ "; + } + else if (preferTake) + { + clauseDisplayText += L"+[ "; + } + else if (preferSkip) + { + clauseDisplayText += L"-[ "; + } + auto bodyPair = optionalBody(); + clauseDisplayText += L" ]"; + + auto takeEdge = CreateEdge(pair.begin, bodyPair.begin); + CreateEdge(bodyPair.end, pair.end); + auto skipEdge = CreateEdge(pair.begin, pair.end); + + if (preferTake) + { + takeEdge->important = true; + } + if (preferSkip) + { + skipEdge->important = true; + } + + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildSequenceSyntax(collections::List& elements) + { + /* + * S --(a)--> ? --(b)--> E + */ + CHECK_ERROR(elements.Count() > 0, L"vl::glr::parsergen::AutomatonBuilder::BuildSequenceSyntax(List&)#Elements must not be empty."); + auto pair = elements[0](); + for (vint i = 1; i < elements.Count(); i++) + { + clauseDisplayText += L" "; + auto nextPair = elements[i](); + CreateEdge(pair.end, nextPair.begin); + pair.end = nextPair.end; + } + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildAlternativeSyntax(collections::List& elements) + { + /* + * +--(a)--+ + * | V + * S --+--(b)--+--> E + */ + + CHECK_ERROR(elements.Count() > 0, L"vl::glr::parsergen::AutomatonBuilder::BuildAlternativeSyntax(List&)#Elements must not be empty."); + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + clauseDisplayText += L"( "; + for (vint i = 0; i < elements.Count(); i++) + { + if (i > 0) clauseDisplayText += L" | "; + auto branchPair = elements[i](); + CreateEdge(pair.begin, branchPair.begin); + CreateEdge(branchPair.end, pair.end); + } + clauseDisplayText += L" )"; + + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + +/*********************************************************************** +AutomatonBuilder (Clause) +***********************************************************************/ + + AutomatonBuilder::StatePair AutomatonBuilder::BuildClause(const StateBuilder& compileSyntax) + { + ruleSymbol->NewClause(); + clauseDisplayText = L""; + startPoses.Clear(); + endPoses.Clear(); + + auto pair = compileSyntax(); + + ruleSymbol->startStates.Add(pair.begin); + pair.end->endingState = true; + + vint l = clauseDisplayText.Length(); + for (auto [state, pos] : startPoses) + { + state->label = clauseDisplayText.Left(pos) + L"@ " + clauseDisplayText.Right(l - pos); + } + for (auto [state, pos] : endPoses) + { + state->label = clauseDisplayText.Left(pos) + L" @" + clauseDisplayText.Right(l - pos); + } + + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildAssignment(StatePair pair, vint32_t enumItem, vint32_t field, bool weakAssignment) + { + auto withState = CreateState(); + auto edge = CreateEdge(pair.end, withState); + edge->insBeforeInput.Add({ AstInsType::EnumItem,enumItem }); + edge->insBeforeInput.Add({ (weakAssignment ? AstInsType::FieldIfUnassigned : AstInsType::Field),field}); + endPoses.Add(withState, clauseDisplayText.Length()); + return { pair.begin,withState }; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildCreateClause(vint32_t classId, const StateBuilder& compileSyntax) + { + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + clauseDisplayText += L"< "; + auto bodyPair = compileSyntax(); + clauseDisplayText += L" >"; + { + auto edge = CreateEdge(pair.begin, bodyPair.begin); + edge->insBeforeInput.Add({ AstInsType::BeginObject,classId }); + } + { + auto edge = CreateEdge(bodyPair.end, pair.end); + edge->insBeforeInput.Add({ AstInsType::EndObject }); + } + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildPartialClause(const StateBuilder& compileSyntax) { - CHECK_ERROR(global.Errors().Count() == 0, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCompactNFA() cannot be called before errors are resolved."); - CHECK_ERROR(phase == SyntaxPhase::EpsilonNFA, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCompactNFA() can only be called on epsilon NFA."); - BuildCompactNFAInternal(); - phase = SyntaxPhase::CompactNFA; + return compileSyntax(); } - void SyntaxSymbolManager::BuildCrossReferencedNFA() + AutomatonBuilder::StatePair AutomatonBuilder::BuildReuseClause(const StateBuilder& compileSyntax) { - CHECK_ERROR(global.Errors().Count() == 0, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCrossReferencedNFA() cannot be called before errors are resolved."); - CHECK_ERROR(phase == SyntaxPhase::CompactNFA, L"vl::gre::parsergen::SyntaxSymbolManager::BuildCompactSyntax()#BuildCrossReferencedNFA() can only be called on compact NFA."); - BuildCrossReferencedNFAInternal(); - phase = SyntaxPhase::CrossReferencedNFA; + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + clauseDisplayText += L"<< "; + auto bodyPair = compileSyntax(); + clauseDisplayText += L" >>"; + { + auto edge = CreateEdge(pair.begin, bodyPair.begin); + edge->insBeforeInput.Add({ AstInsType::DelayFieldAssignment }); + } + { + auto edge = CreateEdge(bodyPair.end, pair.end); + edge->insBeforeInput.Add({ AstInsType::EndObject }); + } + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; } - void SyntaxSymbolManager::GetStatesInStableOrder(collections::List& order) + AutomatonBuilder::StatePair AutomatonBuilder::BuildLrpClause(collections::List& flags, const Func& flagName) { - Group groupedStates; + /* + * +--(lrp:a)--+ + * | V + * S --+--(lrp:b)--+--> E + */ + + List elements; + for (vint32_t flag : flags) { - List visited; - for (auto ruleName : rules.order) + elements.Add([this, flag, name = flagName(flag)]() { - auto ruleSymbol = rules.map[ruleName]; - for (auto startState : ruleSymbol->startStates) + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + { - if (!visited.Contains(startState)) - { - vint startIndex = visited.Add(startState); - for (vint i = startIndex; i < visited.Count(); i++) - { - auto state = visited[i]; - groupedStates.Add(state->Rule(), state); - for (auto edge : state->OutEdges()) - { - auto target = edge->To(); - if (!visited.Contains(target)) - { - visited.Add(target); - } - } - } - } + auto edge = CreateEdge(pair.begin, pair.end); + edge->input.type = EdgeInputType::LrPlaceholder; + edge->input.token = flag; } - } + + clauseDisplayText += L"lrp:" + name; + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + }); } + return BuildAlternativeSyntax(elements); + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildLriSyntax(vint32_t flag, RuleSymbol* rule) + { + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + { - vint counter = 0; - for (auto ruleName : rules.order) - { - auto ruleSymbol = rules.map[ruleName]; - auto orderedStates = From(groupedStates[ruleSymbol]) - .OrderBy([](StateSymbol* s1, StateSymbol* s2) - { - return WString::Compare(s1->label, s2->label); - }); - for (auto state : orderedStates) - { - order.Add(state); - } - } + auto edge = CreateEdge(pair.begin, pair.end); + edge->input.type = EdgeInputType::LrInject; + edge->input.token = flag; + edge->input.rule = rule; + edge->input.ruleType = automaton::ReturnRuleType::Reuse; + edge->insAfterInput.Add({ AstInsType::ReopenObject }); } + + clauseDisplayText += L"lri:" + rule->Name(); + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; } - WString SyntaxSymbolManager::GetStateGlobalLabel(StateSymbol* state, vint index) + AutomatonBuilder::StatePair AutomatonBuilder::BuildLriSkip() { - return L"[" + itow(index) + L"][" + state->Rule()->Name() + L"]" + state->label + (state->endingState ? L"[ENDING]" : L""); + StatePair pair; + pair.begin = CreateState(); + pair.end = CreateState(); + startPoses.Add(pair.begin, clauseDisplayText.Length()); + + { + auto edge = CreateEdge(pair.begin, pair.end); + edge->input.type = EdgeInputType::Epsilon; + } + + clauseDisplayText += L"lri:"; + endPoses.Add(pair.end, clauseDisplayText.Length()); + return pair; + } + + AutomatonBuilder::StatePair AutomatonBuilder::BuildLriClauseSyntax(StateBuilder useOrLriSyntax, bool optional, collections::List&& continuations) + { + /* + * +--(lri:c:ReopenObject)--+ + * | | + * +--(lri:a:ReopenObject)--+--(lri:d:ReopenObject)--+--+ + * | | | | + * | +------------------------+ | {<-- if optional} + * | V + * S --(rule:ReopenObject)--+--(lri:b:ReopenObject)------------------------------+--> E + * | ^ + * +----------------------------------------------------+ {<-- if optional} + */ + + if (optional) + { + continuations.Add([this]() { return BuildLriSkip(); }); + } + + List seqs; + seqs.Add(useOrLriSyntax); + seqs.Add([this, &continuations]() { return BuildAlternativeSyntax(continuations); }); + return BuildSequenceSyntax(seqs); } } } @@ -9189,6 +15292,7 @@ namespace vl namespace parsergen { using namespace collections; + using namespace stream; /*********************************************************************** SyntaxSymbolManager::BuildAutomaton @@ -9240,7 +15344,7 @@ SyntaxSymbolManager::BuildAutomaton List edgesInOrder; List returnEdgesInOrder; List returnIndicesInOrder; - List instructionsInOrder; + List astInsInOrder; // executable.transitions vint inputCount = automaton::Executable::TokenBegin + tokenCount; @@ -9278,13 +15382,42 @@ SyntaxSymbolManager::BuildAutomaton } } + // executable.stringLiteralBuffer + { + MemoryStream stringLiteralBuffer; + { + StreamWriter stringLiteralWriter(stringLiteralBuffer); + for (auto edge : edgesInOrder) + { + if (edge->input.condition) + { + stringLiteralWriter.WriteString(edge->input.condition.Value()); + } + } + } + { + stringLiteralBuffer.SeekFromBegin(0); + StreamReader stringLiteralReader(stringLiteralBuffer); + executable.stringLiteralBuffer = stringLiteralReader.ReadToEnd(); + } + } + // executable.edges executable.edges.Resize(edgesInOrder.Count()); + vint32_t stringLiteralIndex = 0; for (auto [edge, edgeIndex] : indexed(edgesInOrder)) { auto&& edgeDesc = executable.edges[edgeIndex]; edgeDesc.fromState = (vint32_t)statesInOrder.IndexOf(edge->From()); edgeDesc.toState = (vint32_t)statesInOrder.IndexOf(edge->To()); + if (edge->input.condition) + { + vint32_t length = (vint32_t)edge->input.condition.Value().Length(); + edgeDesc.condition.start = stringLiteralIndex; + edgeDesc.condition.count = length; + stringLiteralIndex += length; + } + switch (edge->importancy) { case EdgeImportancy::HighPriority: @@ -9296,13 +15429,13 @@ SyntaxSymbolManager::BuildAutomaton default:; } - edgeDesc.insBeforeInput.start = (vint32_t)instructionsInOrder.Count(); - CopyFrom(instructionsInOrder, edge->insBeforeInput, true); - edgeDesc.insBeforeInput.count = (vint32_t)instructionsInOrder.Count() - edgeDesc.insBeforeInput.start; + edgeDesc.insBeforeInput.start = (vint32_t)astInsInOrder.Count(); + CopyFrom(astInsInOrder, edge->insBeforeInput, true); + edgeDesc.insBeforeInput.count = (vint32_t)astInsInOrder.Count() - edgeDesc.insBeforeInput.start; - edgeDesc.insAfterInput.start = (vint32_t)instructionsInOrder.Count(); - CopyFrom(instructionsInOrder, edge->insAfterInput, true); - edgeDesc.insAfterInput.count = (vint32_t)instructionsInOrder.Count() - edgeDesc.insAfterInput.start; + edgeDesc.insAfterInput.start = (vint32_t)astInsInOrder.Count(); + CopyFrom(astInsInOrder, edge->insAfterInput, true); + edgeDesc.insAfterInput.count = (vint32_t)astInsInOrder.Count() - edgeDesc.insAfterInput.start; edgeDesc.returnIndices.start = (vint32_t)returnIndicesInOrder.Count(); for (auto returnEdge : edge->returnEdges) @@ -9339,17 +15472,18 @@ SyntaxSymbolManager::BuildAutomaton default:; } - returnDesc.insAfterInput.start = (vint32_t)instructionsInOrder.Count(); - CopyFrom(instructionsInOrder, edge->insAfterInput, true); - returnDesc.insAfterInput.count = (vint32_t)instructionsInOrder.Count() - returnDesc.insAfterInput.start; + returnDesc.ruleType = edge->input.ruleType; + returnDesc.insAfterInput.start = (vint32_t)astInsInOrder.Count(); + CopyFrom(astInsInOrder, edge->insAfterInput, true); + returnDesc.insAfterInput.count = (vint32_t)astInsInOrder.Count() - returnDesc.insAfterInput.start; if (returnDesc.insAfterInput.count == 0) returnDesc.insAfterInput.start = -1; } // executable.returnIndices CopyFrom(executable.returnIndices, returnIndicesInOrder); - // executable.instructions - CopyFrom(executable.instructions, instructionsInOrder); + // executable.astInstructions + CopyFrom(executable.astInstructions, astInsInOrder); } } } @@ -9379,16 +15513,38 @@ CreateParserGenRuleSyntax { manager.name = L"RuleParser"; + auto _cond0 = manager.CreateRule(L"Cond0"); + auto _cond1 = manager.CreateRule(L"Cond1"); + auto _cond2 = manager.CreateRule(L"Cond2"); + auto _cond = manager.CreateRule(L"Cond"); + auto _switchItem = manager.CreateRule(L"SwitchItem"); + auto _switches = manager.CreateRule(L"Switches"); auto _optionalBody = manager.CreateRule(L"OptionalBody"); + auto _testBranch = manager.CreateRule(L"TestBranch"); + auto _token = manager.CreateRule(L"Token"); auto _syntax0 = manager.CreateRule(L"Syntax0"); auto _syntax1 = manager.CreateRule(L"Syntax1"); auto _syntax2 = manager.CreateRule(L"Syntax2"); auto _syntax = manager.CreateRule(L"Syntax"); + auto _assignmentOp = manager.CreateRule(L"AssignmentOp"); auto _assignment = manager.CreateRule(L"Assignment"); auto _clause = manager.CreateRule(L"Clause"); + auto _placeholder = manager.CreateRule(L"Placeholder"); + auto _ruleName = manager.CreateRule(L"RuleName"); + auto _lriConfig = manager.CreateRule(L"LriConfig"); + auto _lriContinuationBody = manager.CreateRule(L"LriContinuationBody"); + auto _lriContinuation = manager.CreateRule(L"LriContinuation"); + auto _lriTarget = manager.CreateRule(L"LriTarget"); auto _rule = manager.CreateRule(L"Rule"); auto _file = manager.CreateRule(L"File"); + _switches->isPartial = true; + _optionalBody->isPartial = true; + _token->isPartial = true; + _assignmentOp->isPartial = true; + _lriConfig->isPartial = true; + _lriContinuationBody->isPartial = true; + manager.parsableRules.Add(_file); manager.ruleTypes.Add(_file, L"vl::glr::parsergen::GlrSyntaxFile"); @@ -9396,14 +15552,65 @@ CreateParserGenRuleSyntax using C = ParserGenClasses; using F = ParserGenFields; + /////////////////////////////////////////////////////////////////////////////////// + // Condition + /////////////////////////////////////////////////////////////////////////////////// + + // ID:name as RefCondition + Clause{ _cond0 } = create(tok(T::ID, F::RefCondition_name), C::RefCondition); + + // "(" !Cond ")" + Clause{ _cond0 } = tok(T::OPEN_ROUND) + use(_cond) + tok(T::CLOSE_ROUND); + + // "!" Cond0:syntax as NotCondition + Clause{ _cond0 } = create(tok(T::USE) + rule(_cond0, F::NotCondition_condition), C::NotCondition); + + // !Cond0 + Clause{ _cond1 } = use(_cond0); + + // Cond1:first "&&" Cond0:second as AndCondition + Clause{ _cond1 } = create(rule(_cond1, F::AndCondition_first) + tok(T::AND) + rule(_cond0, F::AndCondition_second), C::AndCondition); + + // !Cond1 + Clause{ _cond2 } = use(_cond1); + + // Cond2:first "||" Cond1:second as OrCondition + Clause{ _cond2 } = create(rule(_cond2, F::OrCondition_first) + tok(T::OR) + rule(_cond1, F::OrCondition_second), C::OrCondition); + + // !Cond2 + Clause{ _cond } = use(_cond2); + + /////////////////////////////////////////////////////////////////////////////////// + // Switch + /////////////////////////////////////////////////////////////////////////////////// + + // ID:name as SwitchItem {value = True} + Clause{ _switchItem } = create(tok(T::ID, F::SwitchItem_name), C::SwitchItem).with(F::SwitchItem_value, GlrSwitchValue::True); + + // "!" ID:name as SwitchItem {value = False} + Clause{ _switchItem } = create(tok(T::USE) + tok(T::ID, F::SwitchItem_name), C::SwitchItem).with(F::SwitchItem_value, GlrSwitchValue::False); + + // "switch" {SwitchItem:switches ; ","} ";" as partial File + Clause{ _switches } = partial(tok(T::SWITCH) + loop(rule(_switchItem, F::SyntaxFile_switches), tok(T::COMMA)) + tok(T::SEMICOLON)); + + /////////////////////////////////////////////////////////////////////////////////// + // Syntax (primitive) + /////////////////////////////////////////////////////////////////////////////////// + // "[" Syntax:syntax "]" as partial OptionalSyntax Clause{ _optionalBody } = partial(tok(T::OPEN_SQUARE) + rule(_syntax, F::OptionalSyntax_syntax) + tok(T::CLOSE_SQUARE)); - // ID:name [":" ID:field] as RefSyntax - Clause{ _syntax0 } = create(tok(T::ID, F::RefSyntax_name) + opt(tok(T::COLON) + tok(T::ID, F::RefSyntax_field)), C::RefSyntax); + // ID:literal as partial RefSyntax {refType = Id} + Clause{ _token } = partial(tok(T::ID, F::RefSyntax_literal)).with(F::RefSyntax_refType, GlrRefType::Id); - // STRING:value as LiteralSyntax - Clause{ _syntax0 } = create(tok(T::STRING, F::LiteralSyntax_value), C::LiteralSyntax); + // STRING:literal as partial RefSyntax {refType = Literal} + Clause{ _token } = partial(tok(T::STRING, F::RefSyntax_literal)).with(F::RefSyntax_refType, GlrRefType::Literal); + + // CONDITIONAL_LITERAL:literal as partial RefSyntax {refType = ConditionalLiteral} + Clause{ _token } = partial(tok(T::CONDITIONAL_LITERAL, F::RefSyntax_literal)).with(F::RefSyntax_refType, GlrRefType::ConditionalLiteral); + + // Token [":" ID:field] as RefSyntax + Clause{ _syntax0 } = create(prule(_token) + opt(tok(T::COLON) + tok(T::ID, F::RefSyntax_field)), C::RefSyntax); // "!" ID:name as UseSyntax Clause{ _syntax0 } = create(tok(T::USE) + tok(T::ID, F::UseSyntax_name), C::UseSyntax); @@ -9420,6 +15627,23 @@ CreateParserGenRuleSyntax // OptionalBody as OptionalSyntax {priority = Equal} Clause{ _syntax0 } = create(prule(_optionalBody), C::OptionalSyntax).with(F::OptionalSyntax_priority, GlrOptionalPriority::Equal); + /////////////////////////////////////////////////////////////////////////////////// + // Syntax (conditional) + /////////////////////////////////////////////////////////////////////////////////// + + // "!(" {SwitchItem:switches ; ","} ";" Syntax:syntax ")" as PushConditionSyntax + Clause{ _syntax0 } = create(tok(T::OPEN_PUSH) + loop(rule(_switchItem, F::PushConditionSyntax_switches), tok(T::COMMA)) + tok(T::SEMICOLON) + rule(_syntax, F::PushConditionSyntax_syntax) + tok(T::CLOSE_ROUND), C::PushConditionSyntax); + + // Condition:condition ":" (Syntax1:syntax | ";") as TestConditionBranch + Clause{ _testBranch } = create(rule(_cond, F::TestConditionBranch_condition) + tok(T::COLON) + (rule(_syntax1, F::TestConditionBranch_syntax) | tok(T::SEMICOLON)), C::TestConditionBranch); + + // "?(" TestBranch:branches {"|" TestBranch:branches} ")" as TestConditionSyntax + Clause{ _syntax0 } = create(tok(T::OPEN_TEST) + rule(_testBranch, F::TestConditionSyntax_branches) + loop(tok(T::ALTERNATIVE) + rule(_testBranch, F::TestConditionSyntax_branches)) + tok(T::CLOSE_ROUND), C::TestConditionSyntax); + + /////////////////////////////////////////////////////////////////////////////////// + // Syntax (others) + /////////////////////////////////////////////////////////////////////////////////// + // "(" !Syntax ")" Clause{ _syntax0 } = tok(T::OPEN_ROUND) + use(_syntax) + tok(T::CLOSE_ROUND); @@ -9438,8 +15662,18 @@ CreateParserGenRuleSyntax // !Syntax2 Clause{ _syntax } = use(_syntax2); - // ID:field "=" STRING:value as partial Assignment - Clause{ _assignment } = create(tok(T::ID, F::Assignment_field) + tok(T::ASSIGN) + tok(T::ID, F::Assignment_value), C::Assignment); + /////////////////////////////////////////////////////////////////////////////////// + // Clause + /////////////////////////////////////////////////////////////////////////////////// + + // "=" as partial Assignment {type = Strong} + Clause{ _assignmentOp } = partial(tok(T::ASSIGN)).with(F::Assignment_type, GlrAssignmentType::Strong); + + // "?=" as partial Assignment {type = Weak} + Clause{ _assignmentOp } = partial(tok(T::WEAK_ASSIGN)).with(F::Assignment_type, GlrAssignmentType::Weak); + + // ID:field AssignmentOp STRING:value as Assignment + Clause{ _assignment } = create(tok(T::ID, F::Assignment_field) + prule(_assignmentOp) + tok(T::ID, F::Assignment_value), C::Assignment); // Syntax:syntax "as" ID:type ["{" {Assignment:assignments ; ","} "}"] as CreateClause Clause{ _clause } = create(rule(_syntax, F::CreateClause_syntax) + tok(T::AS) + tok(T::ID, F::CreateClause_type) + opt(tok(T::OPEN_CURLY) + loop(rule(_assignment, F::CreateClause_assignments), tok(T::COMMA)) + tok(T::CLOSE_CURLY)), C::CreateClause); @@ -9450,11 +15684,64 @@ CreateParserGenRuleSyntax // Syntax:syntax ["{" {Assignment:assignments ; ","} "}"] as ReuseClause Clause{ _clause } = create(rule(_syntax, F::ReuseClause_syntax) + opt(tok(T::OPEN_CURLY) + loop(rule(_assignment, F::ReuseClause_assignments), tok(T::COMMA)) + tok(T::CLOSE_CURLY)), C::ReuseClause); + /////////////////////////////////////////////////////////////////////////////////// + // Clause (left recursive) + /////////////////////////////////////////////////////////////////////////////////// + + // ID:flag as LeftRecursionPlaceholder + Clause{ _placeholder } = create(tok(T::ID, F::LeftRecursionPlaceholder_flag), C::LeftRecursionPlaceholder); + + // ID:literal as RefSyntax {refType = ID} + Clause{ _ruleName } = create(tok(T::ID, F::RefSyntax_literal), C::RefSyntax).with(F::RefSyntax_refType, GlrRefType::Id); + + // "left_recursion_placeholder" "(" RuleName:flags {"," ruleName:flags} ")" as LeftRecursionPlaceholderClause + Clause{ _clause } = create( + tok(T::LS_PH) + tok(T::OPEN_ROUND) + + rule(_placeholder, F::LeftRecursionPlaceholderClause_flags) + + loop(tok(T::COMMA) + rule(_placeholder, F::LeftRecursionPlaceholderClause_flags)) + + tok(T::CLOSE_ROUND), + C::LeftRecursionPlaceholderClause); + + // "left_recursion_inject" as partial LeftRecursionInjectContinuation {configuration = Single} + Clause{ _lriConfig } = partial(tok(T::LS_I)).with(F::LeftRecursionInjectContinuation_configuration, GlrLeftRecursionConfiguration::Single); + + // "left_recursion_inject_multiple" as partial LeftRecursionInjectContinuation {configuration = Multiple} + Clause{ _lriConfig } = partial(tok(T::LS_IM)).with(F::LeftRecursionInjectContinuation_configuration, GlrLeftRecursionConfiguration::Multiple); + + // LriConfig "(" Placeholder:flag ")" LriTarget:injectionTargets {"|" LriTarget:injectionTargets} as partial LeftRecursionInjectContinuation + Clause{ _lriContinuationBody } = partial( + prule(_lriConfig) + tok(T::OPEN_ROUND) + rule(_placeholder, F::LeftRecursionInjectContinuation_flag) + tok(T::CLOSE_ROUND) + + rule(_lriTarget, F::LeftRecursionInjectContinuation_injectionTargets) + + loop(tok(T::ALTERNATIVE) + rule(_lriTarget, F::LeftRecursionInjectContinuation_injectionTargets)) + ); + + // LriContinuationBody as LeftRecursionInjectionContinuation {type = Required} + Clause{ _lriContinuation } = create(prule(_lriContinuationBody), C::LeftRecursionInjectContinuation).with(F::LeftRecursionInjectContinuation_type, GlrLeftRecursionInjectContinuationType::Required); + + // "[" LriContinuationBody as LeftRecursionInjectionContinuation "]" {type = Optional} + Clause{ _lriContinuation } = create(tok(T::OPEN_SQUARE) + prule(_lriContinuationBody) + tok(T::CLOSE_SQUARE), C::LeftRecursionInjectContinuation).with(F::LeftRecursionInjectContinuation_type, GlrLeftRecursionInjectContinuationType::Optional); + + // RuleName:rule as LeftRecursionInjectClause + Clause{ _lriTarget } = create(rule(_ruleName, F::LeftRecursionInjectClause_rule), C::LeftRecursionInjectClause); + + // "(" RuleName:rule LriContinuation:continuation ")" as LeftRecursionInjectClause + Clause{ _lriTarget } = create(tok(T::OPEN_ROUND) + rule(_ruleName, F::LeftRecursionInjectClause_rule) + rule(_lriContinuation, F::LeftRecursionInjectClause_continuation) + tok(T::CLOSE_ROUND), C::LeftRecursionInjectClause); + + // "!" RuleName:rule LriContinuation:continuation as LeftRecursionInjectClause + Clause{ _clause } = create(tok(T::USE) + rule(_ruleName, F::LeftRecursionInjectClause_rule) + rule(_lriContinuation, F::LeftRecursionInjectClause_continuation), C::LeftRecursionInjectClause); + + // "!" "prefix_merge" "(" RuleName:rule ")" as PrefixMergeClause + Clause{ _clause } = create(tok(T::USE) + tok(T::LS_PM) + tok(T::OPEN_ROUND) + rule(_ruleName, F::PrefixMergeClause_rule) + tok(T::CLOSE_ROUND), C::PrefixMergeClause); + + /////////////////////////////////////////////////////////////////////////////////// + // File + /////////////////////////////////////////////////////////////////////////////////// + // ID:name {"::=" Clause:clauses} ";" as Rule - Clause{ _rule } = create(tok(T::ID, F::Rule_name) + loop(tok(T::INFER) + rule(_clause, F::Rule_clauses)) + tok(T::SEMICOLON), C::Rule); + Clause{ _rule } = create(tok(T::ID, F::Rule_name) + opt(tok(T::COLON) + tok(T::ID, F::Rule_type)) + loop(tok(T::INFER) + rule(_clause, F::Rule_clauses)) + tok(T::SEMICOLON), C::Rule); - // Rule:rules {Rule:rules} as SyntaxFile - Clause{ _file } = create(rule(_rule, F::SyntaxFile_rules) + loop(rule(_rule, F::SyntaxFile_rules)), C::SyntaxFile); + // [Switches] Rule:rules {Rule:rules} as SyntaxFile + Clause{ _file } = create(opt(prule(_switches)) + rule(_rule, F::SyntaxFile_rules) + loop(rule(_rule, F::SyntaxFile_rules)), C::SyntaxFile); } } } @@ -9493,6 +15780,9 @@ CreateParserGenTypeSyntax auto _type = manager.CreateRule(L"Type"); auto _file = manager.CreateRule(L"File"); + _classPropType->isPartial = true; + _classBody->isPartial = true; + manager.parsableRules.Add(_file); manager.ruleTypes.Add(_file, L"vl::glr::parsergen::GlrAstFile"); @@ -9697,7 +15987,10 @@ CompactSyntaxBuilder { case EdgeInputType::Token: case EdgeInputType::Rule: + case EdgeInputType::LrPlaceholder: + case EdgeInputType::LrInject: { + // a new edge is created, accumulating multiple epsilon edges, ending with such edge auto targetNewState = CreateCompactState(edge->To()); if (!visited.Contains(targetNewState)) { @@ -9718,13 +16011,22 @@ CompactSyntaxBuilder case EdgeInputType::Epsilon: BuildEpsilonEliminatedEdgesInternal(edge->To(), newState, endState, visited, accumulatedEdges); break; - default:; + case EdgeInputType::Ending: + // Ending is ignored because it doesn't exist in epsilon-NFA + break; + default: + CHECK_FAIL(L"Unhandled!"); } accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1); } if (walkingOldState->endingState) { + // if accumulated epsilon edges lead to the epsilon-NFA ending state + // create an Ending edge to the compact-NFA ending state + // when a non-epsilon edge connects to the ending state directly + // this is triggered by examing the epsilon-NFA ending state directly + // at this moment accumulatedEdges is an empty collection auto newEdge = new EdgeSymbol(newState, endState); newEdge->input.type = EdgeInputType::Ending; for (auto accumulatedEdge : accumulatedEdges) @@ -9792,7 +16094,7 @@ CompactSyntaxBuilder }; /*********************************************************************** -SyntaxSymbolManager::CreateLeftRecEdge +SyntaxSymbolManager::BuildLeftRecEdge ***********************************************************************/ void SyntaxSymbolManager::BuildLeftRecEdge(EdgeSymbol* newEdge, EdgeSymbol* endingEdge, EdgeSymbol* lrecPrefixEdge) @@ -9881,7 +16183,7 @@ SyntaxSymbolManager::EliminateLeftRecursion } /*********************************************************************** -SyntaxSymbolManager::EliminateEpsilonEdges +SyntaxSymbolManager::EliminateSingleRulePrefix ***********************************************************************/ void SyntaxSymbolManager::EliminateSingleRulePrefix(RuleSymbol* rule, StateSymbol* startState, StateSymbol* endState, StateList& newStates, EdgeList& newEdges) @@ -9906,8 +16208,11 @@ SyntaxSymbolManager::EliminateEpsilonEdges */ Group prefixEdges; - List continuationEdges; + List continuationEdges, eliminatedEdges; + // identify prefix edge and continuation edge + // prefix edges are clauses (x) + // continuation edges are all qualified clauses with prefix (x) except prefix edges for (auto edge : startState->OutEdges()) { if (edge->input.type != EdgeInputType::Rule) continue; @@ -9925,27 +16230,125 @@ SyntaxSymbolManager::EliminateEpsilonEdges } } + for (auto [ruleSymbol, prefixIndex] : indexed(prefixEdges.Keys())) + { + auto&& prefixEdgesOfRule = prefixEdges.GetByIndex(prefixIndex); + CHECK_ERROR(prefixEdgesOfRule.Count() == 1, L"Multiple prefix edges under the same rule is not supported yet."); + + // TODO: + // in this case we need to create a prefix edges to replace all others + // it also means unresolvable ambiguity + // maybe a better solution is to define it as a kind of invalid syntax + } + + // for all prefixEdge and continuationEdge under the same rule + // if their insBeforeInput are different + // move prefixEdge's insBeforeInput to insAfterInput with help from LriStore and LriFetch + SortedList compatibleInsBeforeInputPrefixRules; + for (auto [ruleSymbol, prefixIndex] : indexed(prefixEdges.Keys())) + { + // see if all prefixEdges are compatible + auto&& prefixEdgesOfRule = prefixEdges.GetByIndex(prefixIndex); + auto prefixEdge = prefixEdgesOfRule[0]; + for (auto otherPrefixEdge : From(prefixEdgesOfRule).Skip(1)) + { + if (CompareEnumerable(prefixEdge->insBeforeInput, otherPrefixEdge->insBeforeInput) != 0) + { + goto INCOMPATIBLE; + } + } + + // see if all continuationEdges are compatible + for (auto continuationEdge : continuationEdges) + { + if (continuationEdge->input.rule == prefixEdge->input.rule) + { + if (CompareEnumerable(prefixEdge->insBeforeInput, continuationEdge->insBeforeInput) != 0) + { + goto INCOMPATIBLE; + } + } + } + + compatibleInsBeforeInputPrefixRules.Add(ruleSymbol); + INCOMPATIBLE:; + } + + // for all prefixEdge that fails the above test + // combine insBeforeInput with insAfterInput with the help from LriStore and LriFetch + // properly move instructions from prefixEdge to endingEdge + for (auto [ruleSymbol, prefixIndex] : indexed(prefixEdges.Keys())) + { + bool compatible = compatibleInsBeforeInputPrefixRules.Contains(ruleSymbol); + for (auto prefixEdge : prefixEdges.GetByIndex(prefixIndex)) + { + List ins; + if (!compatible && prefixEdge->insBeforeInput.Count() > 0) + { + ins.Add({ AstInsType::LriStore }); + CopyFrom(ins, prefixEdge->insBeforeInput, true); + ins.Add({ AstInsType::LriFetch }); + prefixEdge->insBeforeInput.Clear(); + } + CopyFrom(ins, prefixEdge->insAfterInput, true); + prefixEdge->insAfterInput.Clear(); + + auto endingEdge = prefixEdge->To()->OutEdges()[0]; + CopyFrom(ins, endingEdge->insBeforeInput, true); + CopyFrom(endingEdge->insBeforeInput, ins); + } + } + + // for all qualified continuationEdge + // create a new edge to run continuationEdge's instruction properly after prefixEdge + // remove continuationEdge for (auto continuationEdge : continuationEdges) { vint prefixIndex = prefixEdges.Keys().IndexOf(continuationEdge->input.rule); if (prefixIndex == -1) continue; + + bool compatible = compatibleInsBeforeInputPrefixRules.Contains(continuationEdge->input.rule); + bool eliminated = false; for (auto prefixEdge : prefixEdges.GetByIndex(prefixIndex)) { + // important and insSwitch happen before shifting into the rule + if (continuationEdge->important != prefixEdge->important) continue; + + eliminated = true; auto state = prefixEdge->To(); - auto endingEdge = state->OutEdges()[0]; auto newEdge = new EdgeSymbol(state, continuationEdge->To()); newEdges.Add(newEdge); - BuildLeftRecEdge(newEdge, endingEdge, continuationEdge); + + newEdge->input.type = EdgeInputType::LeftRec; + newEdge->important = continuationEdge->important; + if (compatible) + { + CopyFrom(newEdge->insAfterInput, continuationEdge->insAfterInput); + } + else if (continuationEdge->insBeforeInput.Count() > 0) + { + // for incompatible continuationEdge + // combine insBeforeInput with insAfterInput with the help from LriStore and LriFetch + newEdge->insAfterInput.Add({ AstInsType::LriStore }); + CopyFrom(newEdge->insAfterInput, continuationEdge->insBeforeInput, true); + newEdge->insAfterInput.Add({ AstInsType::LriFetch }); + CopyFrom(newEdge->insAfterInput, continuationEdge->insAfterInput, true); + } + } + + if (eliminated) + { + eliminatedEdges.Add(continuationEdge); } } - for (auto continuationEdge : continuationEdges) + for (auto eliminatedEdge : eliminatedEdges) { - vint prefixIndex = prefixEdges.Keys().IndexOf(continuationEdge->input.rule); + vint prefixIndex = prefixEdges.Keys().IndexOf(eliminatedEdge->input.rule); if (prefixIndex == -1) continue; - continuationEdge->From()->outEdges.Remove(continuationEdge); - continuationEdge->To()->inEdges.Remove(continuationEdge); - newEdges.Remove(continuationEdge); + eliminatedEdge->From()->outEdges.Remove(eliminatedEdge); + eliminatedEdge->To()->inEdges.Remove(eliminatedEdge); + newEdges.Remove(eliminatedEdge); } } @@ -10084,6 +16487,8 @@ SyntaxSymbolManager::FixCrossReferencedRuleEdge switch (edge->input.type) { case EdgeInputType::Token: + case EdgeInputType::LrPlaceholder: + // multiple Rule edges followed by one Token or LrPlaceholder edge create a cross-referenced edge if (edge->returnEdges.Count() == 0) { auto newEdge = new EdgeSymbol(startState, edge->To()); @@ -10116,9 +16521,200 @@ SyntaxSymbolManager::FixCrossReferencedRuleEdge accumulatedEdges.RemoveAt(accumulatedEdges.Count() - 1); } break; - default:; + case EdgeInputType::Epsilon: + case EdgeInputType::Ending: + case EdgeInputType::LeftRec: + // Epsilon edges do not exist in compact-NFA + // Ending and LeftRec edges are not involved + break; + case EdgeInputType::LrInject: + CHECK_FAIL(L"LrInject is impossible from a start state"); + break; + default: + CHECK_FAIL(L"Unhandled!"); + } + } + } + +/*********************************************************************** +SyntaxSymbolManager::FixLeftRecursionInjectEdge +***********************************************************************/ + + void SyntaxSymbolManager::FixLeftRecursionInjectEdge(StateSymbol* startState, EdgeSymbol* injectEdge) + { + List placeholderEdges; + for (auto outEdge : startState->OutEdges()) + { + if (outEdge->input.type == EdgeInputType::LrPlaceholder && outEdge->input.token == injectEdge->input.token) + { + placeholderEdges.Add(outEdge); + } + } + + vint created = 0; + for(auto placeholderEdge : From(placeholderEdges)) + { + List endingStates; + List returnEdges; + { + // check if placeholderEdge does nothing more than using rules + + if (placeholderEdge->insAfterInput.Count() > 0) + { + goto FAILED_INSTRUCTION_CHECKING; + } + + for (vint i = 0; i <= placeholderEdge->returnEdges.Count(); i++) + { + auto returnEdge = + i == 0 + ? injectEdge + : placeholderEdge->returnEdges[i - 1] + ; + auto endingState = + i == placeholderEdge->returnEdges.Count() + ? placeholderEdge->To() + : placeholderEdge->returnEdges[i]->To() + ; + + for (auto outEdge : endingState->OutEdges()) + { + if (outEdge->input.type == EdgeInputType::Ending && outEdge->insAfterInput.Count() > 0) + { + goto FAILED_INSTRUCTION_CHECKING; + } + } + + returnEdges.Add(returnEdge); + endingStates.Add(endingState); + } + goto PASSED_INSTRUCTION_CHECKING; + FAILED_INSTRUCTION_CHECKING: + AddError( + ParserErrorType::LeftRecursionPlaceholderMixedWithSwitches, + {}, + injectEdge->fromState->Rule()->Name(), + lrpFlags[injectEdge->input.token], + startState->Rule()->Name() + ); + return; + } + PASSED_INSTRUCTION_CHECKING:; + + // search for all possible "LrPlaceholder {Ending} LeftRec Token" transitions + // for each transition, compact edges and put injectEdge properly in returnEdges + // here insBeforeInput has been ensured to be: + // EndObject + // LriStore + // placeholderEdge->insBeforeInput + // DelayFieldAssignment + // LriFetch + // loop {endingEdge->insBeforeInput returnEdge->insAfterInput} + // --LeftRec--> ... + + // EndObject is for the ReopenObject in the use rule transition before + // DelayFieldAssignment is for the ReopenObject in injectEdge->insAfterInput + // injectEdge is the last returnEdge + + List instructionPrefix; + // there is no instruction in injectEdge->insBeforeInput + instructionPrefix.Add({ AstInsType::EndObject }); + instructionPrefix.Add({ AstInsType::LriStore }); + instructionPrefix.Add({ AstInsType::DelayFieldAssignment }); + CopyFrom(instructionPrefix, placeholderEdge->insBeforeInput, true); + instructionPrefix.Add({ AstInsType::LriFetch }); + + for (vint i = returnEdges.Count() - 1; i >= 0; i--) + { + auto endingState = endingStates[i]; + auto returnEdge = returnEdges[i]; + EdgeSymbol* endingEdge = nullptr; + + for (auto outEdge : endingState->OutEdges()) + { + switch (outEdge->input.type) + { + case EdgeInputType::Ending: + endingEdge = outEdge; + break; + // find if there is any LeftRec from this state + case EdgeInputType::LeftRec: + { + auto lrEdge = outEdge; + // compact everything on top of this LeftRec and create an Input + for (auto tokenEdge : lrEdge->To()->OutEdges()) + { + if (tokenEdge->input.type == EdgeInputType::Token) + { + created++; + auto newEdge = new EdgeSymbol(injectEdge->From(), tokenEdge->To()); + edges.Add(newEdge); + + newEdge->input = tokenEdge->input; + newEdge->importancy = tokenEdge->importancy; + CopyFrom(newEdge->returnEdges, From(returnEdges).Take(i + 1), true); + CopyFrom(newEdge->returnEdges, tokenEdge->returnEdges, true); + + // newEdge consumes a token + // lrEdge->insAfterInput happens before consuming this token + // so it should be copied to newEdge->insBeforeInput + CopyFrom(newEdge->insBeforeInput, instructionPrefix, true); + CopyFrom(newEdge->insBeforeInput, lrEdge->insBeforeInput, true); + CopyFrom(newEdge->insBeforeInput, lrEdge->insAfterInput, true); + CopyFrom(newEdge->insBeforeInput, tokenEdge->insBeforeInput, true); + + CopyFrom(newEdge->insAfterInput, tokenEdge->insAfterInput, true); + } + } + } + break; + // find if there is any Token from this state + case EdgeInputType::Token: + { + created++; + auto tokenEdge = outEdge; + auto newEdge = new EdgeSymbol(injectEdge->From(), tokenEdge->To()); + edges.Add(newEdge); + + newEdge->input = tokenEdge->input; + newEdge->importancy = tokenEdge->importancy; + CopyFrom(newEdge->returnEdges, From(returnEdges).Take(i + 1), true); + CopyFrom(newEdge->returnEdges, tokenEdge->returnEdges, true); + + // newEdge consumes a token + // lrEdge->insAfterInput happens before consuming this token + // so it should be copied to newEdge->insBeforeInput + CopyFrom(newEdge->insBeforeInput, instructionPrefix, true); + CopyFrom(newEdge->insBeforeInput, tokenEdge->insBeforeInput, true); + CopyFrom(newEdge->insAfterInput, tokenEdge->insAfterInput, true); + } + break; + } + } + + if (endingEdge) + { + CopyFrom(instructionPrefix, endingEdge->insBeforeInput, true); + CopyFrom(instructionPrefix, returnEdge->insAfterInput, true); + } + else + { + break; + } } } + + // report an error if nothing is created + if (created == 0) + { + AddError( + ParserErrorType::LeftRecursionInjectHasNoContinuation, + {}, + injectEdge->fromState->Rule()->Name(), + lrpFlags[injectEdge->input.token], + startState->Rule()->Name() + ); + } } /*********************************************************************** @@ -10141,6 +16737,10 @@ SyntaxSymbolManager::BuildCrossReferencedNFAInternal } } + // compact multiple shift (Rule) edges and an input (Token or LrPlaceholder) edge to one edge + // when a cross-referenced edge is executed, for each Rule edge: + // insBeforeInput instructions are executed + // insAfterInput instructions are executed in its returnEdges for (auto state : states) { vint index = orderedEdges.Keys().IndexOf(state); @@ -10157,6 +16757,23 @@ SyntaxSymbolManager::BuildCrossReferencedNFAInternal } } } + + // convert LrInject to Token + for (auto state : states) + { + vint index = orderedEdges.Keys().IndexOf(state); + if (index != -1) + { + for (auto edge : orderedEdges.GetByIndex(index)) + { + if (edge->input.type == EdgeInputType::LrInject) + { + auto startState = edge->input.rule->startStates[0]; + FixLeftRecursionInjectEdge(startState, edge); + } + } + } + } } } } diff --git a/Import/VlppGlrParserCompiler.h b/Import/VlppGlrParserCompiler.h index 5a1d564e..3a1a6c72 100644 --- a/Import/VlppGlrParserCompiler.h +++ b/Import/VlppGlrParserCompiler.h @@ -29,7 +29,10 @@ namespace vl template struct MappedOwning { + private: collections::List> items; + + public: collections::List order; collections::Dictionary map; @@ -41,6 +44,22 @@ namespace vl map.Add(name, item); return true; } + + Ptr Remove(const WString& name) + { + vint indexKey = map.Keys().IndexOf(name); + if (indexKey == -1) return nullptr; + + auto raw = map.Values()[indexKey]; + vint indexItem = items.IndexOf(raw); + auto shared = items[indexItem]; + + items.RemoveAt(indexItem); + order.Remove(name); + map.Remove(name); + + return shared; + } }; template @@ -57,72 +76,107 @@ namespace vl ParserSymbolManager ***********************************************************************/ +#define GLR_PARSER_ERROR_LIST(ERROR_ITEM)\ + /* AstSymbolManager */\ + ERROR_ITEM(DuplicatedFile, fileName)\ + ERROR_ITEM(FileDependencyNotExists, fileName, dependency)\ + ERROR_ITEM(FileCyclicDependency, fileName, dependency)\ + ERROR_ITEM(DuplicatedSymbol, fileName, symbolName)\ + ERROR_ITEM(DuplicatedSymbolGlobally, fileName, symbolName, anotherFileName)\ + ERROR_ITEM(DuplicatedClassProp, fileName, className, propName)\ + ERROR_ITEM(DuplicatedEnumItem, fileName, enumName, propName)\ + ERROR_ITEM(BaseClassNotExists, fileName, className, typeName)\ + ERROR_ITEM(BaseClassNotClass, fileName, className, typeName)\ + ERROR_ITEM(BaseClassCyclicDependency, fileName, className)\ + ERROR_ITEM(FieldTypeNotExists, fileName, className, propName)\ + ERROR_ITEM(FieldTypeNotClass, fileName, className, propName)\ + /* LexerSymbolManager */\ + ERROR_ITEM(InvalidTokenDefinition, code)\ + ERROR_ITEM(DuplicatedToken, tokenName)\ + ERROR_ITEM(DuplicatedTokenByDisplayText, tokenName)\ + ERROR_ITEM(InvalidTokenRegex, tokenName, errorMessage)\ + ERROR_ITEM(TokenRegexNotPure, tokenName)\ + ERROR_ITEM(DuplicatedTokenFragment, fragmentName)\ + ERROR_ITEM(TokenFragmentNotExists, fragmentName)\ + /* SyntaxSymbolManager */\ + ERROR_ITEM(DuplicatedRule, ruleName)\ + ERROR_ITEM(RuleIsIndirectlyLeftRecursive, ruleName) /* Indirect left recursion must be resolved before */\ + ERROR_ITEM(LeftRecursionPlaceholderMixedWithSwitches, ruleName, placeholder, targetRuleName)\ + ERROR_ITEM(LeftRecursionInjectHasNoContinuation, ruleName, placeholder, targetRuleName)\ + /* SyntaxAst(ResolveName) */\ + ERROR_ITEM(RuleNameConflictedWithToken, ruleName)\ + ERROR_ITEM(TypeNotExistsInRule, ruleName, name)\ + ERROR_ITEM(TypeNotClassInRule, ruleName, name)\ + ERROR_ITEM(TokenOrRuleNotExistsInRule, ruleName, name)\ + ERROR_ITEM(LiteralNotValidToken, ruleName, name)\ + ERROR_ITEM(LiteralIsDiscardedToken, ruleName, name)\ + ERROR_ITEM(ConditionalLiteralNotValidToken, ruleName, name)\ + ERROR_ITEM(ConditionalLiteralIsDiscardedToken, ruleName, name)\ + ERROR_ITEM(ConditionalLiteralIsDisplayText, ruleName, name)\ + ERROR_ITEM(DuplicatedSwitch, switchName)\ + ERROR_ITEM(UnusedSwitch, switchName)\ + ERROR_ITEM(SwitchNotExists, ruleName, switchName)\ + ERROR_ITEM(SyntaxInvolvesSwitchWithIllegalRuleName, ruleName) /* A syntax uses switch should not use rule name that has _SWITCH/SWITCH_ */\ + ERROR_ITEM(SyntaxInvolvesPrefixMergeWithIllegalRuleName, ruleName) /* A syntax uses prefix_merge should not use rule name that has _LRI/_LRIP/LRI_/LRIP_ */\ + ERROR_ITEM(SyntaxInvolvesPrefixMergeWithIllegalPlaceholderName, ruleName, placeholderName) /* A syntax uses prefix_merge should not use placeholder name that has _LRI/_LRIP/LRI_/LRIP_ */\ + /* SyntaxAst(CalculateTypes) */\ + ERROR_ITEM(RuleMixedPartialClauseWithOtherClause, ruleName)\ + ERROR_ITEM(RuleWithDifferentPartialTypes, ruleName, ruleType, newType)\ + ERROR_ITEM(RuleExplicitTypeIsNotCompatibleWithClauseType, ruleName, ruleType, newType) /* The type of the rule is explicitly specified, but it is incompatible with its clauses */\ + ERROR_ITEM(RuleCannotResolveToDeterministicType, ruleName, ruleType, newType) /* Unable to resolve to one type from clauses (token, type) or (create, partial) */\ + ERROR_ITEM(CyclicDependedRuleTypeIncompatible, ruleName, ruleTypes) /* Types of rules are not compatible to each other when they build cyclic dependency by reuse clauses */\ + ERROR_ITEM(ReuseClauseCannotResolveToDeterministicType, ruleName, ruleTypes) /* A reuse clause contains multiple use rule but their types are not compatible to each other */\ + ERROR_ITEM(ReuseClauseContainsNoUseRule, ruleName) /* A reuse clause contains no use rule therefore the type cannot be determined */\ + /* SyntaxAst(ValidateSwitchesAndConditions, condition) */\ + ERROR_ITEM(PushedSwitchIsNotTested, ruleName, switchName)\ + ERROR_ITEM(PrefixMergeAffectedBySwitches, ruleName, prefixMergeRule, switchName)\ + /* SyntaxAst(RewriteSyntax_Switch, condition) */\ + ERROR_ITEM(NoSwitchUnaffectedRule)\ + ERROR_ITEM(SwitchUnaffectedRuleExpandedToNoClause, ruleName)\ + ERROR_ITEM(SwitchAffectedRuleExpandedToNoClause, ruleName, expandedRuleName)\ + /* SyntaxAst(ValidateTypes) */\ + ERROR_ITEM(FieldNotExistsInClause, ruleName, clauseType, fieldName) /* The field does not exist in the type of the clause */\ + ERROR_ITEM(RuleTypeMismatchedToField, ruleName, clauseType, fieldName, fieldRuleType) /* The rule type is not compatible to the assigning field */\ + ERROR_ITEM(AssignmentToNonEnumField, ruleName, clauseType, fieldName) /* Assignment can only assign fields in enum types */\ + ERROR_ITEM(EnumItemMismatchedToField, ruleName, clauseType, fieldName, enumItem) /* Try to assign an unexisting or mismatched enum item to a field in an enum type */\ + ERROR_ITEM(UseRuleWithPartialRule, ruleName, useRuleName) /* A use rule should not be used with a partial rule */\ + ERROR_ITEM(UseRuleInNonReuseClause, ruleName, useRuleName) /* A use rule should only appear in reuse clause */\ + ERROR_ITEM(PartialRuleUsedOnField, ruleName, clauseType, partialRuleName, fieldName) /* A partial rule does not create object, it cannot be assigned to a field */\ + ERROR_ITEM(ClauseTypeMismatchedToPartialRule, ruleName, clauseType, partialRuleName, partialRuleType) /* A clause uses a partial rule of an incompatible type */\ + ERROR_ITEM(LeftRecursionPlaceholderNotFoundInRule, ruleName, placeholder, targetRuleName) /* left_recursion_inject injects to a rule which doesn't accept the specified placeholder */\ + ERROR_ITEM(LeftRecursionPlaceholderNotUnique, ruleName, placeholder, targetRuleName) /* left_recursion_inject injects to a rule which has multiple places accepting the specified placeholder */\ + ERROR_ITEM(LeftRecursionInjectTargetIsPrefixOfAnotherSameEnding, ruleName, placeholder, targetPrefixName, targetRuleName) /* left_recursion_inject injects into two targets, A is a prefix of B, and both injection could end with the same target C, C could be B */\ + ERROR_ITEM(LeftRecursionPlaceholderTypeMismatched, ruleName, placeholder, targetRuleName, placeholderRuleName)\ + ERROR_ITEM(PartialRuleInLeftRecursionInject, ruleName, partialRuleName)\ + ERROR_ITEM(PartialRuleInPrefixMerge, ruleName, partialRuleName)\ + /* SyntaxAst(ValidateStructure, counting) */\ + ERROR_ITEM(ClauseNotCreateObject, ruleName) /* A reuse clause does not contain use rule in some potential sequences */\ + ERROR_ITEM(UseRuleUsedInOptionalBody, ruleName, useRuleName)\ + ERROR_ITEM(UseRuleUsedInLoopBody, ruleName, useRuleName)\ + ERROR_ITEM(ClauseTooManyUseRule, ruleName) /* Multiple use rules in a potential sequence in a clause */\ + ERROR_ITEM(NonArrayFieldAssignedInLoop, ruleName, clauseType, fieldName)\ + ERROR_ITEM(NonLoopablePartialRuleUsedInLoop, ruleName, clauseType, partialRuleName)\ + ERROR_ITEM(ClauseCouldExpandToEmptySequence, ruleName)\ + ERROR_ITEM(LoopBodyCouldExpandToEmptySequence, ruleName)\ + ERROR_ITEM(OptionalBodyCouldExpandToEmptySequence, ruleName)\ + ERROR_ITEM(NegativeOptionalEndsAClause, ruleName) /* Negative optional syntax cannot ends a clause */\ + ERROR_ITEM(MultiplePrioritySyntaxInAClause, ruleName)\ + ERROR_ITEM(TooManyLeftRecursionPlaceholderClauses, ruleName)\ + /* SyntaxAst(ValidateStructure, relationship) */\ + ERROR_ITEM(FieldAssignedMoreThanOnce, ruleName, clauseType, fieldName)\ + /* SyntaxAst(ValidateStructure, prefix_merge) */\ + ERROR_ITEM(RuleMixedPrefixMergeWithClauseNotSyntacticallyBeginWithARule, ruleName) /* If a rule has prefix_merge clause, than all other clause must syntactically begins with a rule */\ + ERROR_ITEM(RuleMixedPrefixMergeWithClauseNotBeginWithIndirectPrefixMerge, ruleName, startRule) /* If a rule has prefix_merge clause, than all other clause must directly or indirectly starts with prefix_merge */\ + ERROR_ITEM(RuleIndirectlyBeginsWithPrefixMergeMixedLeftRecursionMarkers, ruleName, prefixMergeRule, leftRecursionMarkerRule)\ + ERROR_ITEM(RuleIndirectlyBeginsWithPrefixMergeMixedNonSimpleUseClause, ruleName, prefixMergeRule) /* If a rule indirectly begins with prefix_merge, then all clause must be, either a simple use clause begins with prefix_merge, or a clause not begins with prefix_merge */\ + /* SyntaxAst(RewriteSyntax_PrefixMerge, prefix_merge) */\ + ERROR_ITEM(PrefixExtractionAffectedRuleReferencedAnother, ruleName, conflictedRule, prefixRule) /* During left_recursion_inject clause generation, if prefix extracted affected the process, all !prefixRule clauses where prefixRule is the prefix of conflictedRule in any !conflictedRule clauses, prefixRule should not be affected */\ + enum class ParserErrorType { - // AstSymbolManager ------------------------------------------------------------------- - DuplicatedFile, // (fileName) - FileDependencyNotExists, // (fileName, dependency) - FileCyclicDependency, // (fileName, dependency) - DuplicatedSymbol, // (fileName, symbolName) - DuplicatedSymbolGlobally, // (fileName, symbolName, anotherFileName) - DuplicatedClassProp, // (fileName, className, propName) - DuplicatedEnumItem, // (fileName, enumName, propName) - BaseClassNotExists, // (fileName, className, typeName) - BaseClassNotClass, // (fileName, className, typeName) - BaseClassCyclicDependency, // (fileName, className) - FieldTypeNotExists, // (fileName, className, propName) - FieldTypeNotClass, // (fileName, className, propName) - - // LexerSymbolManager ----------------------------------------------------------------- - InvalidTokenDefinition, // (code) - DuplicatedToken, // (tokenName) - DuplicatedTokenByDisplayText, // (tokenName) - InvalidTokenRegex, // (tokenName, errorMessage) - TokenRegexNotPure, // (tokenName) - - // SyntaxSymbolManager ---------------------------------------------------------------- - DuplicatedRule, // (ruleName) - RuleIsIndirectlyLeftRecursive, // (ruleName) : Indirect left recursion must be resolved before. - - // SyntaxAst (ResolveName) ------------------------------------------------------------ - RuleNameConflictedWithToken, // (ruleName) - TypeNotExistsInRule, // (ruleName, name) - TypeNotClassInRule, // (ruleName, name) - TokenOrRuleNotExistsInRule, // (ruleName, name) - - // SyntaxAst (CalculateTypes) --------------------------------------------------------- - RuleMixedPartialClauseWithOtherClause, // (ruleName) - RuleWithDifferentPartialTypes, // (ruleName) - RuleCannotResolveToDeterministicType, // (ruleName) : Unable to resolve to one type from clauses (token, type) or (create, partial). - CyclicDependedRuleTypeIncompatible, // (ruleName) : Types of rules are not compatible to each other when they build cyclic dependency by reuse clauses. - ReuseClauseCannotResolveToDeterministicType,// (ruleName) : A reuse clause contains multiple use rule but their types are not compatible to each other. - ReuseClauseContainsNoUseRule, // (ruleName) : A reuse clause contains no use rule therefore the type cannot be determined. - - // SyntaxAst (ValidateTypes) ---------------------------------------------------------- - FieldNotExistsInClause, // (ruleName, clauseType, fieldName) : The field does not exist in the type of the clause. - RuleTypeMismatchedToField, // (ruleName, clauseType, fieldName, fieldRuleType) : The rule type is not compatible to the assigning field. - AssignmentToNonEnumField, // (ruleName, clauseType, fieldName) : Assignment can only assign fields in enum types. - EnumItemMismatchedToField, // (ruleName, clauseType, fieldName, enumItem) : Try to assign an unexisting or mismatched enum item to a field in an enum type. - UseRuleWithPartialRule, // (ruleName, useRuleName) : A use rule should not be used with a partial rule. - UseRuleInNonReuseClause, // (ruleName, useRuleName) : A use rule should only appear in reuse clause. - PartialRuleUsedOnField, // (ruleName, clauseType, partialRuleName, fieldName) : A partial rule does not create object, it cannot be assigned to a field. - ClauseTypeMismatchedToPartialRule, // (ruleName, clauseType, partialRuleName, partialRuleType) : A clause uses a partial rule of an incompatible type. - - // SyntaxAst (ValidateStructure, counting) -------------------------------------------- - ClauseNotCreateObject, // (ruleName) : A reuse clause does not contain use rule in some potential sequences. - UseRuleUsedInOptionalBody, // (ruleName, useRuleName) - UseRuleUsedInLoopBody, // (ruleName, useRuleName) - ClauseTooManyUseRule, // (ruleName) : Multiple use rules in a potential sequence in a clause. - NonArrayFieldAssignedInLoop, // (ruleName, clauseType, fieldName) - NonLoopablePartialRuleUsedInLoop, // (ruleName, clauseType, partialRuleName) - ClauseCouldExpandToEmptySequence, // (ruleName) - LoopBodyCouldExpandToEmptySequence, // (ruleName) - OptionalBodyCouldExpandToEmptySequence, // (ruleName) - NegativeOptionalEndsAClause, // (ruleName) : Negative optional syntax cannot ends a clause. - MultiplePrioritySyntaxInAClause, // (ruleName) : Too many syntax with priority in the a clause. - - // SyntaxAst (ValidateStructure, relationship) ---------------------------------------- - FieldAssignedMoreThanOnce, // (ruleName, clauseType, fieldName) +#define ParserErrorType_EnumItem(NAME, ...) NAME, + GLR_PARSER_ERROR_LIST(ParserErrorType_EnumItem) +#undef ParserErrorType_EnumItem }; enum class ParserDefFileType @@ -162,7 +216,7 @@ ParserSymbolManager StringItems cppNss; WString headerGuard; - const auto& Errors() { return errors; } + const auto& Errors() const { return errors; } template void AddError(ParserErrorType type, ParserErrorLocation location, TArgs&& ...args) @@ -170,17 +224,18 @@ ParserSymbolManager ParserError error; error.type = type; error.location = location; - - WString sargs[] = { WString(args)... }; - WString* dargs[] = { &error.arg1,&error.arg2,&error.arg3,&error.arg4 }; - constexpr vint sl = sizeof(sargs) / sizeof(*sargs); - constexpr vint dl = sizeof(dargs) / sizeof(*dargs); - constexpr vint ml = sl < dl ? sl : dl; - for (vint i = 0; i < ml; i++) + if constexpr (sizeof...(args) > 0) { - *dargs[i] = sargs[i]; + WString sargs[] = { WString(args)... }; + WString* dargs[] = { &error.arg1,&error.arg2,&error.arg3,&error.arg4 }; + constexpr vint sl = sizeof(sargs) / sizeof(*sargs); + constexpr vint dl = sizeof(dargs) / sizeof(*dargs); + constexpr vint ml = sl < dl ? sl : dl; + for (vint i = 0; i < ml; i++) + { + *dargs[i] = sargs[i]; + } } - errors.Add(std::move(error)); } }; @@ -373,10 +428,10 @@ AstSymbolManager AstDefFile* CreateFile(const WString& name); - ParserSymbolManager& Global() { return global; } - const auto& Files() { return files.map; } - const auto& FileOrder() { return files.order; } - const auto& Symbols() { return symbolMap; } + const ParserSymbolManager& Global() const { return global; } + const auto& Files() const { return files.map; } + const auto& FileOrder() const { return files.order; } + const auto& Symbols() const { return symbolMap; } }; extern AstDefFile* CreateParserGenTypeAst(AstSymbolManager& manager); @@ -442,13 +497,13 @@ LexerSymbolManager TokenSymbol* CreateToken(const WString& _name, const WString& _regex, ParsingTextRange codeRange = {}); TokenSymbol* CreateDiscardedToken(const WString& _name, const WString& _regex, ParsingTextRange codeRange = {}); - ParserSymbolManager& Global() { return global; } - const auto& Tokens() { return tokens.map; } - const auto& TokensByDisplayText() { return tokensByDisplayText; } - const auto& TokenOrder() { return tokens.order; } + const ParserSymbolManager& Global() const { return global; } + const auto& Tokens() const { return tokens.map; } + const auto& TokensByDisplayText() const { return tokensByDisplayText; } + const auto& TokenOrder() const { return tokens.order; } template - void AddError(ParserErrorType type, ParsingTextRange codeRange, TArgs&&... args) + void AddError(ParserErrorType type, ParsingTextRange codeRange, TArgs&&... args) const { global.AddError(type, { ParserDefFileType::Lexer,WString::Empty,codeRange }, std::forward(args)...); } @@ -533,8 +588,8 @@ Utility extern void WriteCppStringBody(const WString& body, stream::StreamWriter& writer); extern void WriteFileComment(const WString& name, stream::StreamWriter& writer); - extern WString WriteNssBegin(collections::List& cppNss, stream::StreamWriter& writer); - extern void WriteNssEnd(collections::List& cppNss, stream::StreamWriter& writer); + extern WString WriteNssBegin(const collections::List& cppNss, stream::StreamWriter& writer); + extern void WriteNssEnd(const collections::List& cppNss, stream::StreamWriter& writer); extern void WriteLoadDataFunctionHeader(const WString& prefix, const WString& functionName, stream::StreamWriter& writer); extern void WriteLoadDataFunctionCpp(const WString& prefix, const WString& functionName, stream::MemoryStream& rawData, bool compressData, stream::StreamWriter& writer); } @@ -640,21 +695,49 @@ namespace vl namespace parsergen { class GlrAlternativeSyntax; + class GlrAndCondition; class GlrAssignment; class GlrClause; + class GlrCondition; class GlrCreateClause; - class GlrLiteralSyntax; + class GlrLeftRecursionInjectClause; + class GlrLeftRecursionInjectContinuation; + class GlrLeftRecursionPlaceholder; + class GlrLeftRecursionPlaceholderClause; class GlrLoopSyntax; + class GlrNotCondition; class GlrOptionalSyntax; + class GlrOrCondition; class GlrPartialClause; + class GlrPrefixMergeClause; + class GlrPushConditionSyntax; + class GlrRefCondition; class GlrRefSyntax; class GlrReuseClause; class GlrRule; class GlrSequenceSyntax; + class GlrSwitchItem; class GlrSyntax; class GlrSyntaxFile; + class GlrTestConditionBranch; + class GlrTestConditionSyntax; class GlrUseSyntax; + enum class GlrSwitchValue + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + False = 0, + True = 1, + }; + + enum class GlrRefType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Id = 0, + Literal = 1, + ConditionalLiteral = 2, + }; + enum class GlrOptionalPriority { UNDEFINED_ENUM_ITEM_VALUE = -1, @@ -663,6 +746,84 @@ namespace vl PreferSkip = 2, }; + enum class GlrAssignmentType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Strong = 0, + Weak = 1, + }; + + enum class GlrLeftRecursionConfiguration + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Single = 0, + Multiple = 1, + }; + + enum class GlrLeftRecursionInjectContinuationType + { + UNDEFINED_ENUM_ITEM_VALUE = -1, + Optional = 0, + Required = 1, + }; + + class GlrCondition abstract : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + class IVisitor : public virtual vl::reflection::IDescriptable, vl::reflection::Description + { + public: + virtual void Visit(GlrRefCondition* node) = 0; + virtual void Visit(GlrNotCondition* node) = 0; + virtual void Visit(GlrAndCondition* node) = 0; + virtual void Visit(GlrOrCondition* node) = 0; + }; + + virtual void Accept(GlrCondition::IVisitor* visitor) = 0; + + }; + + class GlrRefCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + + void Accept(GlrCondition::IVisitor* visitor) override; + }; + + class GlrNotCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr condition; + + void Accept(GlrCondition::IVisitor* visitor) override; + }; + + class GlrAndCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; + + void Accept(GlrCondition::IVisitor* visitor) override; + }; + + class GlrOrCondition : public GlrCondition, vl::reflection::Description + { + public: + vl::Ptr first; + vl::Ptr second; + + void Accept(GlrCondition::IVisitor* visitor) override; + }; + + class GlrSwitchItem : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken name; + GlrSwitchValue value = GlrSwitchValue::UNDEFINED_ENUM_ITEM_VALUE; + }; + class GlrSyntax abstract : public vl::glr::ParsingAstBase, vl::reflection::Description { public: @@ -670,12 +831,13 @@ namespace vl { public: virtual void Visit(GlrRefSyntax* node) = 0; - virtual void Visit(GlrLiteralSyntax* node) = 0; virtual void Visit(GlrUseSyntax* node) = 0; virtual void Visit(GlrLoopSyntax* node) = 0; virtual void Visit(GlrOptionalSyntax* node) = 0; virtual void Visit(GlrSequenceSyntax* node) = 0; virtual void Visit(GlrAlternativeSyntax* node) = 0; + virtual void Visit(GlrPushConditionSyntax* node) = 0; + virtual void Visit(GlrTestConditionSyntax* node) = 0; }; virtual void Accept(GlrSyntax::IVisitor* visitor) = 0; @@ -685,20 +847,13 @@ namespace vl class GlrRefSyntax : public GlrSyntax, vl::reflection::Description { public: - vl::glr::ParsingToken name; + GlrRefType refType = GlrRefType::UNDEFINED_ENUM_ITEM_VALUE; + vl::glr::ParsingToken literal; vl::glr::ParsingToken field; void Accept(GlrSyntax::IVisitor* visitor) override; }; - class GlrLiteralSyntax : public GlrSyntax, vl::reflection::Description - { - public: - vl::glr::ParsingToken value; - - void Accept(GlrSyntax::IVisitor* visitor) override; - }; - class GlrUseSyntax : public GlrSyntax, vl::reflection::Description { public: @@ -743,6 +898,30 @@ namespace vl void Accept(GlrSyntax::IVisitor* visitor) override; }; + class GlrPushConditionSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::collections::List> switches; + vl::Ptr syntax; + + void Accept(GlrSyntax::IVisitor* visitor) override; + }; + + class GlrTestConditionBranch : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr condition; + vl::Ptr syntax; + }; + + class GlrTestConditionSyntax : public GlrSyntax, vl::reflection::Description + { + public: + vl::collections::List> branches; + + void Accept(GlrSyntax::IVisitor* visitor) override; + }; + class GlrClause abstract : public vl::glr::ParsingAstBase, vl::reflection::Description { public: @@ -752,6 +931,9 @@ namespace vl virtual void Visit(GlrCreateClause* node) = 0; virtual void Visit(GlrPartialClause* node) = 0; virtual void Visit(GlrReuseClause* node) = 0; + virtual void Visit(GlrLeftRecursionPlaceholderClause* node) = 0; + virtual void Visit(GlrLeftRecursionInjectClause* node) = 0; + virtual void Visit(GlrPrefixMergeClause* node) = 0; }; virtual void Accept(GlrClause::IVisitor* visitor) = 0; @@ -761,6 +943,7 @@ namespace vl class GlrAssignment : public vl::glr::ParsingAstBase, vl::reflection::Description { public: + GlrAssignmentType type = GlrAssignmentType::UNDEFINED_ENUM_ITEM_VALUE; vl::glr::ParsingToken field; vl::glr::ParsingToken value; }; @@ -794,16 +977,58 @@ namespace vl void Accept(GlrClause::IVisitor* visitor) override; }; + class GlrLeftRecursionPlaceholder : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::glr::ParsingToken flag; + }; + + class GlrLeftRecursionPlaceholderClause : public GlrClause, vl::reflection::Description + { + public: + vl::collections::List> flags; + + void Accept(GlrClause::IVisitor* visitor) override; + }; + + class GlrLeftRecursionInjectContinuation : public vl::glr::ParsingAstBase, vl::reflection::Description + { + public: + vl::Ptr flag; + GlrLeftRecursionConfiguration configuration = GlrLeftRecursionConfiguration::UNDEFINED_ENUM_ITEM_VALUE; + GlrLeftRecursionInjectContinuationType type = GlrLeftRecursionInjectContinuationType::UNDEFINED_ENUM_ITEM_VALUE; + vl::collections::List> injectionTargets; + }; + + class GlrLeftRecursionInjectClause : public GlrClause, vl::reflection::Description + { + public: + vl::Ptr rule; + vl::Ptr continuation; + + void Accept(GlrClause::IVisitor* visitor) override; + }; + + class GlrPrefixMergeClause : public GlrClause, vl::reflection::Description + { + public: + vl::Ptr rule; + + void Accept(GlrClause::IVisitor* visitor) override; + }; + class GlrRule : public vl::glr::ParsingAstBase, vl::reflection::Description { public: vl::glr::ParsingToken name; + vl::glr::ParsingToken type; vl::collections::List> clauses; }; class GlrSyntaxFile : public vl::glr::ParsingAstBase, vl::reflection::Description { public: + vl::collections::List> switches; vl::collections::List> rules; }; } @@ -816,34 +1041,71 @@ namespace vl namespace description { #ifndef VCZH_DEBUG_NO_REFLECTION + DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrCondition::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRefCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrNotCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAndCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrOrCondition) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchValue) + DECL_TYPE_INFO(vl::glr::parsergen::GlrSwitchItem) DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntax::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrRefType) DECL_TYPE_INFO(vl::glr::parsergen::GlrRefSyntax) - DECL_TYPE_INFO(vl::glr::parsergen::GlrLiteralSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrUseSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrLoopSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalPriority) DECL_TYPE_INFO(vl::glr::parsergen::GlrOptionalSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrSequenceSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrAlternativeSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPushConditionSyntax) + DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionBranch) + DECL_TYPE_INFO(vl::glr::parsergen::GlrTestConditionSyntax) DECL_TYPE_INFO(vl::glr::parsergen::GlrClause) DECL_TYPE_INFO(vl::glr::parsergen::GlrClause::IVisitor) + DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignmentType) DECL_TYPE_INFO(vl::glr::parsergen::GlrAssignment) DECL_TYPE_INFO(vl::glr::parsergen::GlrCreateClause) DECL_TYPE_INFO(vl::glr::parsergen::GlrPartialClause) DECL_TYPE_INFO(vl::glr::parsergen::GlrReuseClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholder) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionConfiguration) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuationType) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectContinuation) + DECL_TYPE_INFO(vl::glr::parsergen::GlrLeftRecursionInjectClause) + DECL_TYPE_INFO(vl::glr::parsergen::GlrPrefixMergeClause) DECL_TYPE_INFO(vl::glr::parsergen::GlrRule) DECL_TYPE_INFO(vl::glr::parsergen::GlrSyntaxFile) #ifdef VCZH_DESCRIPTABLEOBJECT_WITH_METADATA - BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrSyntax::IVisitor) - void Visit(vl::glr::parsergen::GlrRefSyntax* node) override + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrCondition::IVisitor) + void Visit(vl::glr::parsergen::GlrRefCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrNotCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrAndCondition* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrOrCondition* node) override { INVOKE_INTERFACE_PROXY(Visit, node); } - void Visit(vl::glr::parsergen::GlrLiteralSyntax* node) override + END_INTERFACE_PROXY(vl::glr::parsergen::GlrCondition::IVisitor) + + BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrSyntax::IVisitor) + void Visit(vl::glr::parsergen::GlrRefSyntax* node) override { INVOKE_INTERFACE_PROXY(Visit, node); } @@ -873,6 +1135,16 @@ namespace vl INVOKE_INTERFACE_PROXY(Visit, node); } + void Visit(vl::glr::parsergen::GlrPushConditionSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrTestConditionSyntax* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + END_INTERFACE_PROXY(vl::glr::parsergen::GlrSyntax::IVisitor) BEGIN_INTERFACE_PROXY_NOPARENT_SHAREDPTR(vl::glr::parsergen::GlrClause::IVisitor) @@ -891,6 +1163,21 @@ namespace vl INVOKE_INTERFACE_PROXY(Visit, node); } + void Visit(vl::glr::parsergen::GlrLeftRecursionPlaceholderClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrLeftRecursionInjectClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + + void Visit(vl::glr::parsergen::GlrPrefixMergeClause* node) override + { + INVOKE_INTERFACE_PROXY(Visit, node); + } + END_INTERFACE_PROXY(vl::glr::parsergen::GlrClause::IVisitor) #endif @@ -931,10 +1218,18 @@ namespace vl MakeAlternativeSyntax& second(const vl::Ptr& value); }; + class MakeAndCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeAndCondition& first(const vl::Ptr& value); + MakeAndCondition& second(const vl::Ptr& value); + }; + class MakeAssignment : public vl::glr::ParsingAstBuilder { public: MakeAssignment& field(const vl::WString& value); + MakeAssignment& type(GlrAssignmentType value); MakeAssignment& value(const vl::WString& value); }; @@ -946,10 +1241,32 @@ namespace vl MakeCreateClause& type(const vl::WString& value); }; - class MakeLiteralSyntax : public vl::glr::ParsingAstBuilder + class MakeLeftRecursionInjectClause : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionInjectClause& continuation(const vl::Ptr& value); + MakeLeftRecursionInjectClause& rule(const vl::Ptr& value); + }; + + class MakeLeftRecursionInjectContinuation : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionInjectContinuation& configuration(GlrLeftRecursionConfiguration value); + MakeLeftRecursionInjectContinuation& flag(const vl::Ptr& value); + MakeLeftRecursionInjectContinuation& injectionTargets(const vl::Ptr& value); + MakeLeftRecursionInjectContinuation& type(GlrLeftRecursionInjectContinuationType value); + }; + + class MakeLeftRecursionPlaceholder : public vl::glr::ParsingAstBuilder + { + public: + MakeLeftRecursionPlaceholder& flag(const vl::WString& value); + }; + + class MakeLeftRecursionPlaceholderClause : public vl::glr::ParsingAstBuilder { public: - MakeLiteralSyntax& value(const vl::WString& value); + MakeLeftRecursionPlaceholderClause& flags(const vl::Ptr& value); }; class MakeLoopSyntax : public vl::glr::ParsingAstBuilder @@ -959,6 +1276,12 @@ namespace vl MakeLoopSyntax& syntax(const vl::Ptr& value); }; + class MakeNotCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeNotCondition& condition(const vl::Ptr& value); + }; + class MakeOptionalSyntax : public vl::glr::ParsingAstBuilder { public: @@ -966,6 +1289,13 @@ namespace vl MakeOptionalSyntax& syntax(const vl::Ptr& value); }; + class MakeOrCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeOrCondition& first(const vl::Ptr& value); + MakeOrCondition& second(const vl::Ptr& value); + }; + class MakePartialClause : public vl::glr::ParsingAstBuilder { public: @@ -974,11 +1304,31 @@ namespace vl MakePartialClause& type(const vl::WString& value); }; + class MakePrefixMergeClause : public vl::glr::ParsingAstBuilder + { + public: + MakePrefixMergeClause& rule(const vl::Ptr& value); + }; + + class MakePushConditionSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakePushConditionSyntax& switches(const vl::Ptr& value); + MakePushConditionSyntax& syntax(const vl::Ptr& value); + }; + + class MakeRefCondition : public vl::glr::ParsingAstBuilder + { + public: + MakeRefCondition& name(const vl::WString& value); + }; + class MakeRefSyntax : public vl::glr::ParsingAstBuilder { public: MakeRefSyntax& field(const vl::WString& value); - MakeRefSyntax& name(const vl::WString& value); + MakeRefSyntax& literal(const vl::WString& value); + MakeRefSyntax& refType(GlrRefType value); }; class MakeReuseClause : public vl::glr::ParsingAstBuilder @@ -993,6 +1343,7 @@ namespace vl public: MakeRule& clauses(const vl::Ptr& value); MakeRule& name(const vl::WString& value); + MakeRule& type(const vl::WString& value); }; class MakeSequenceSyntax : public vl::glr::ParsingAstBuilder @@ -1002,10 +1353,31 @@ namespace vl MakeSequenceSyntax& second(const vl::Ptr& value); }; + class MakeSwitchItem : public vl::glr::ParsingAstBuilder + { + public: + MakeSwitchItem& name(const vl::WString& value); + MakeSwitchItem& value(GlrSwitchValue value); + }; + class MakeSyntaxFile : public vl::glr::ParsingAstBuilder { public: MakeSyntaxFile& rules(const vl::Ptr& value); + MakeSyntaxFile& switches(const vl::Ptr& value); + }; + + class MakeTestConditionBranch : public vl::glr::ParsingAstBuilder + { + public: + MakeTestConditionBranch& condition(const vl::Ptr& value); + MakeTestConditionBranch& syntax(const vl::Ptr& value); + }; + + class MakeTestConditionSyntax : public vl::glr::ParsingAstBuilder + { + public: + MakeTestConditionSyntax& branches(const vl::Ptr& value); }; class MakeUseSyntax : public vl::glr::ParsingAstBuilder @@ -1044,59 +1416,99 @@ namespace vl /// A copy visitor, overriding all abstract methods with AST copying code. class RuleAstVisitor : public virtual vl::glr::CopyVisitorBase + , protected virtual GlrCondition::IVisitor , protected virtual GlrSyntax::IVisitor , protected virtual GlrClause::IVisitor { protected: void CopyFields(GlrAlternativeSyntax* from, GlrAlternativeSyntax* to); + void CopyFields(GlrAndCondition* from, GlrAndCondition* to); void CopyFields(GlrAssignment* from, GlrAssignment* to); void CopyFields(GlrClause* from, GlrClause* to); + void CopyFields(GlrCondition* from, GlrCondition* to); void CopyFields(GlrCreateClause* from, GlrCreateClause* to); - void CopyFields(GlrLiteralSyntax* from, GlrLiteralSyntax* to); + void CopyFields(GlrLeftRecursionInjectClause* from, GlrLeftRecursionInjectClause* to); + void CopyFields(GlrLeftRecursionInjectContinuation* from, GlrLeftRecursionInjectContinuation* to); + void CopyFields(GlrLeftRecursionPlaceholder* from, GlrLeftRecursionPlaceholder* to); + void CopyFields(GlrLeftRecursionPlaceholderClause* from, GlrLeftRecursionPlaceholderClause* to); void CopyFields(GlrLoopSyntax* from, GlrLoopSyntax* to); + void CopyFields(GlrNotCondition* from, GlrNotCondition* to); void CopyFields(GlrOptionalSyntax* from, GlrOptionalSyntax* to); + void CopyFields(GlrOrCondition* from, GlrOrCondition* to); void CopyFields(GlrPartialClause* from, GlrPartialClause* to); + void CopyFields(GlrPrefixMergeClause* from, GlrPrefixMergeClause* to); + void CopyFields(GlrPushConditionSyntax* from, GlrPushConditionSyntax* to); + void CopyFields(GlrRefCondition* from, GlrRefCondition* to); void CopyFields(GlrRefSyntax* from, GlrRefSyntax* to); void CopyFields(GlrReuseClause* from, GlrReuseClause* to); void CopyFields(GlrRule* from, GlrRule* to); void CopyFields(GlrSequenceSyntax* from, GlrSequenceSyntax* to); + void CopyFields(GlrSwitchItem* from, GlrSwitchItem* to); void CopyFields(GlrSyntax* from, GlrSyntax* to); void CopyFields(GlrSyntaxFile* from, GlrSyntaxFile* to); + void CopyFields(GlrTestConditionBranch* from, GlrTestConditionBranch* to); + void CopyFields(GlrTestConditionSyntax* from, GlrTestConditionSyntax* to); void CopyFields(GlrUseSyntax* from, GlrUseSyntax* to); protected: + virtual void Visit(GlrSwitchItem* node); + virtual void Visit(GlrTestConditionBranch* node); virtual void Visit(GlrAssignment* node); + virtual void Visit(GlrLeftRecursionPlaceholder* node); + virtual void Visit(GlrLeftRecursionInjectContinuation* node); virtual void Visit(GlrRule* node); virtual void Visit(GlrSyntaxFile* node); + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; + void Visit(GlrRefSyntax* node) override; - void Visit(GlrLiteralSyntax* node) override; void Visit(GlrUseSyntax* node) override; void Visit(GlrLoopSyntax* node) override; void Visit(GlrOptionalSyntax* node) override; void Visit(GlrSequenceSyntax* node) override; void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; void Visit(GlrCreateClause* node) override; void Visit(GlrPartialClause* node) override; void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; public: + virtual vl::Ptr CopyNode(GlrCondition* node); virtual vl::Ptr CopyNode(GlrSyntax* node); virtual vl::Ptr CopyNode(GlrClause* node); + virtual vl::Ptr CopyNode(GlrSwitchItem* node); + virtual vl::Ptr CopyNode(GlrTestConditionBranch* node); virtual vl::Ptr CopyNode(GlrAssignment* node); + virtual vl::Ptr CopyNode(GlrLeftRecursionPlaceholder* node); + virtual vl::Ptr CopyNode(GlrLeftRecursionInjectContinuation* node); virtual vl::Ptr CopyNode(GlrRule* node); virtual vl::Ptr CopyNode(GlrSyntaxFile* node); vl::Ptr CopyNode(GlrAlternativeSyntax* node); + vl::Ptr CopyNode(GlrAndCondition* node); vl::Ptr CopyNode(GlrCreateClause* node); - vl::Ptr CopyNode(GlrLiteralSyntax* node); + vl::Ptr CopyNode(GlrLeftRecursionInjectClause* node); + vl::Ptr CopyNode(GlrLeftRecursionPlaceholderClause* node); vl::Ptr CopyNode(GlrLoopSyntax* node); + vl::Ptr CopyNode(GlrNotCondition* node); vl::Ptr CopyNode(GlrOptionalSyntax* node); + vl::Ptr CopyNode(GlrOrCondition* node); vl::Ptr CopyNode(GlrPartialClause* node); + vl::Ptr CopyNode(GlrPrefixMergeClause* node); + vl::Ptr CopyNode(GlrPushConditionSyntax* node); + vl::Ptr CopyNode(GlrRefCondition* node); vl::Ptr CopyNode(GlrRefSyntax* node); vl::Ptr CopyNode(GlrReuseClause* node); vl::Ptr CopyNode(GlrSequenceSyntax* node); + vl::Ptr CopyNode(GlrTestConditionSyntax* node); vl::Ptr CopyNode(GlrUseSyntax* node); }; } @@ -1126,6 +1538,20 @@ namespace vl { namespace empty_visitor { + /// An empty visitor, overriding all abstract methods with empty implementations. + class ConditionVisitor : public vl::Object, public GlrCondition::IVisitor + { + protected: + // Dispatch (virtual) -------------------------------- + + public: + // Visitor Members ----------------------------------- + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; + }; + /// An empty visitor, overriding all abstract methods with empty implementations. class SyntaxVisitor : public vl::Object, public GlrSyntax::IVisitor { @@ -1135,12 +1561,13 @@ namespace vl public: // Visitor Members ----------------------------------- void Visit(GlrRefSyntax* node) override; - void Visit(GlrLiteralSyntax* node) override; void Visit(GlrUseSyntax* node) override; void Visit(GlrLoopSyntax* node) override; void Visit(GlrOptionalSyntax* node) override; void Visit(GlrSequenceSyntax* node) override; void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; }; /// An empty visitor, overriding all abstract methods with empty implementations. @@ -1154,6 +1581,9 @@ namespace vl void Visit(GlrCreateClause* node) override; void Visit(GlrPartialClause* node) override; void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; }; } @@ -1186,45 +1616,73 @@ namespace vl /// A JSON visitor, overriding all abstract methods with AST to JSON serialization code. class RuleAstVisitor : public vl::glr::JsonVisitorBase + , protected virtual GlrCondition::IVisitor , protected virtual GlrSyntax::IVisitor , protected virtual GlrClause::IVisitor { protected: virtual void PrintFields(GlrAlternativeSyntax* node); + virtual void PrintFields(GlrAndCondition* node); virtual void PrintFields(GlrAssignment* node); virtual void PrintFields(GlrClause* node); + virtual void PrintFields(GlrCondition* node); virtual void PrintFields(GlrCreateClause* node); - virtual void PrintFields(GlrLiteralSyntax* node); + virtual void PrintFields(GlrLeftRecursionInjectClause* node); + virtual void PrintFields(GlrLeftRecursionInjectContinuation* node); + virtual void PrintFields(GlrLeftRecursionPlaceholder* node); + virtual void PrintFields(GlrLeftRecursionPlaceholderClause* node); virtual void PrintFields(GlrLoopSyntax* node); + virtual void PrintFields(GlrNotCondition* node); virtual void PrintFields(GlrOptionalSyntax* node); + virtual void PrintFields(GlrOrCondition* node); virtual void PrintFields(GlrPartialClause* node); + virtual void PrintFields(GlrPrefixMergeClause* node); + virtual void PrintFields(GlrPushConditionSyntax* node); + virtual void PrintFields(GlrRefCondition* node); virtual void PrintFields(GlrRefSyntax* node); virtual void PrintFields(GlrReuseClause* node); virtual void PrintFields(GlrRule* node); virtual void PrintFields(GlrSequenceSyntax* node); + virtual void PrintFields(GlrSwitchItem* node); virtual void PrintFields(GlrSyntax* node); virtual void PrintFields(GlrSyntaxFile* node); + virtual void PrintFields(GlrTestConditionBranch* node); + virtual void PrintFields(GlrTestConditionSyntax* node); virtual void PrintFields(GlrUseSyntax* node); protected: + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; + void Visit(GlrRefSyntax* node) override; - void Visit(GlrLiteralSyntax* node) override; void Visit(GlrUseSyntax* node) override; void Visit(GlrLoopSyntax* node) override; void Visit(GlrOptionalSyntax* node) override; void Visit(GlrSequenceSyntax* node) override; void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; void Visit(GlrCreateClause* node) override; void Visit(GlrPartialClause* node) override; void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; public: RuleAstVisitor(vl::stream::StreamWriter& _writer); + void Print(GlrCondition* node); void Print(GlrSyntax* node); void Print(GlrClause* node); + void Print(GlrSwitchItem* node); + void Print(GlrTestConditionBranch* node); void Print(GlrAssignment* node); + void Print(GlrLeftRecursionPlaceholder* node); + void Print(GlrLeftRecursionInjectContinuation* node); void Print(GlrRule* node); void Print(GlrSyntaxFile* node); }; @@ -1258,6 +1716,7 @@ namespace vl /// A traverse visitor, overriding all abstract methods with AST visiting code. class RuleAstVisitor : public vl::Object + , protected virtual GlrCondition::IVisitor , protected virtual GlrSyntax::IVisitor , protected virtual GlrClause::IVisitor { @@ -1265,56 +1724,96 @@ namespace vl virtual void Traverse(vl::glr::ParsingToken& token); virtual void Traverse(vl::glr::ParsingAstBase* node); virtual void Traverse(GlrAlternativeSyntax* node); + virtual void Traverse(GlrAndCondition* node); virtual void Traverse(GlrAssignment* node); virtual void Traverse(GlrClause* node); + virtual void Traverse(GlrCondition* node); virtual void Traverse(GlrCreateClause* node); - virtual void Traverse(GlrLiteralSyntax* node); + virtual void Traverse(GlrLeftRecursionInjectClause* node); + virtual void Traverse(GlrLeftRecursionInjectContinuation* node); + virtual void Traverse(GlrLeftRecursionPlaceholder* node); + virtual void Traverse(GlrLeftRecursionPlaceholderClause* node); virtual void Traverse(GlrLoopSyntax* node); + virtual void Traverse(GlrNotCondition* node); virtual void Traverse(GlrOptionalSyntax* node); + virtual void Traverse(GlrOrCondition* node); virtual void Traverse(GlrPartialClause* node); + virtual void Traverse(GlrPrefixMergeClause* node); + virtual void Traverse(GlrPushConditionSyntax* node); + virtual void Traverse(GlrRefCondition* node); virtual void Traverse(GlrRefSyntax* node); virtual void Traverse(GlrReuseClause* node); virtual void Traverse(GlrRule* node); virtual void Traverse(GlrSequenceSyntax* node); + virtual void Traverse(GlrSwitchItem* node); virtual void Traverse(GlrSyntax* node); virtual void Traverse(GlrSyntaxFile* node); + virtual void Traverse(GlrTestConditionBranch* node); + virtual void Traverse(GlrTestConditionSyntax* node); virtual void Traverse(GlrUseSyntax* node); protected: virtual void Finishing(vl::glr::ParsingAstBase* node); virtual void Finishing(GlrAlternativeSyntax* node); + virtual void Finishing(GlrAndCondition* node); virtual void Finishing(GlrAssignment* node); virtual void Finishing(GlrClause* node); + virtual void Finishing(GlrCondition* node); virtual void Finishing(GlrCreateClause* node); - virtual void Finishing(GlrLiteralSyntax* node); + virtual void Finishing(GlrLeftRecursionInjectClause* node); + virtual void Finishing(GlrLeftRecursionInjectContinuation* node); + virtual void Finishing(GlrLeftRecursionPlaceholder* node); + virtual void Finishing(GlrLeftRecursionPlaceholderClause* node); virtual void Finishing(GlrLoopSyntax* node); + virtual void Finishing(GlrNotCondition* node); virtual void Finishing(GlrOptionalSyntax* node); + virtual void Finishing(GlrOrCondition* node); virtual void Finishing(GlrPartialClause* node); + virtual void Finishing(GlrPrefixMergeClause* node); + virtual void Finishing(GlrPushConditionSyntax* node); + virtual void Finishing(GlrRefCondition* node); virtual void Finishing(GlrRefSyntax* node); virtual void Finishing(GlrReuseClause* node); virtual void Finishing(GlrRule* node); virtual void Finishing(GlrSequenceSyntax* node); + virtual void Finishing(GlrSwitchItem* node); virtual void Finishing(GlrSyntax* node); virtual void Finishing(GlrSyntaxFile* node); + virtual void Finishing(GlrTestConditionBranch* node); + virtual void Finishing(GlrTestConditionSyntax* node); virtual void Finishing(GlrUseSyntax* node); protected: + void Visit(GlrRefCondition* node) override; + void Visit(GlrNotCondition* node) override; + void Visit(GlrAndCondition* node) override; + void Visit(GlrOrCondition* node) override; + void Visit(GlrRefSyntax* node) override; - void Visit(GlrLiteralSyntax* node) override; void Visit(GlrUseSyntax* node) override; void Visit(GlrLoopSyntax* node) override; void Visit(GlrOptionalSyntax* node) override; void Visit(GlrSequenceSyntax* node) override; void Visit(GlrAlternativeSyntax* node) override; + void Visit(GlrPushConditionSyntax* node) override; + void Visit(GlrTestConditionSyntax* node) override; void Visit(GlrCreateClause* node) override; void Visit(GlrPartialClause* node) override; void Visit(GlrReuseClause* node) override; + void Visit(GlrLeftRecursionPlaceholderClause* node) override; + void Visit(GlrLeftRecursionInjectClause* node) override; + void Visit(GlrPrefixMergeClause* node) override; public: + void InspectInto(GlrCondition* node); void InspectInto(GlrSyntax* node); void InspectInto(GlrClause* node); + void InspectInto(GlrSwitchItem* node); + void InspectInto(GlrTestConditionBranch* node); void InspectInto(GlrAssignment* node); + void InspectInto(GlrLeftRecursionPlaceholder* node); + void InspectInto(GlrLeftRecursionInjectContinuation* node); void InspectInto(GlrRule* node); void InspectInto(GlrSyntaxFile* node); }; @@ -1762,65 +2261,103 @@ namespace vl enum class ParserGenClasses : vl::vint32_t { AlternativeSyntax = 0, - Assignment = 1, - AstFile = 2, - Class = 3, - ClassProp = 4, - Clause = 5, - CreateClause = 6, - Enum = 7, - EnumItem = 8, - LiteralSyntax = 9, - LoopSyntax = 10, - OptionalSyntax = 11, - PartialClause = 12, - RefSyntax = 13, - ReuseClause = 14, - Rule = 15, - SequenceSyntax = 16, - Syntax = 17, - SyntaxFile = 18, - Type = 19, - UseSyntax = 20, + AndCondition = 1, + Assignment = 2, + AstFile = 3, + Class = 4, + ClassProp = 5, + Clause = 6, + Condition = 7, + CreateClause = 8, + Enum = 9, + EnumItem = 10, + LeftRecursionInjectClause = 11, + LeftRecursionInjectContinuation = 12, + LeftRecursionPlaceholder = 13, + LeftRecursionPlaceholderClause = 14, + LoopSyntax = 15, + NotCondition = 16, + OptionalSyntax = 17, + OrCondition = 18, + PartialClause = 19, + PrefixMergeClause = 20, + PushConditionSyntax = 21, + RefCondition = 22, + RefSyntax = 23, + ReuseClause = 24, + Rule = 25, + SequenceSyntax = 26, + SwitchItem = 27, + Syntax = 28, + SyntaxFile = 29, + TestConditionBranch = 30, + TestConditionSyntax = 31, + Type = 32, + UseSyntax = 33, }; enum class ParserGenFields : vl::vint32_t { AlternativeSyntax_first = 0, AlternativeSyntax_second = 1, - Assignment_field = 2, - Assignment_value = 3, - AstFile_types = 4, - Class_ambiguity = 5, - Class_baseClass = 6, - Class_props = 7, - ClassProp_name = 8, - ClassProp_propType = 9, - ClassProp_propTypeName = 10, - CreateClause_assignments = 11, - CreateClause_syntax = 12, - CreateClause_type = 13, - Enum_items = 14, - EnumItem_name = 15, - LiteralSyntax_value = 16, - LoopSyntax_delimiter = 17, - LoopSyntax_syntax = 18, - OptionalSyntax_priority = 19, - OptionalSyntax_syntax = 20, - PartialClause_assignments = 21, - PartialClause_syntax = 22, - PartialClause_type = 23, - RefSyntax_field = 24, - RefSyntax_name = 25, - ReuseClause_assignments = 26, - ReuseClause_syntax = 27, - Rule_clauses = 28, - Rule_name = 29, - SequenceSyntax_first = 30, - SequenceSyntax_second = 31, - SyntaxFile_rules = 32, - Type_name = 33, - UseSyntax_name = 34, + AndCondition_first = 2, + AndCondition_second = 3, + Assignment_field = 4, + Assignment_type = 5, + Assignment_value = 6, + AstFile_types = 7, + Class_ambiguity = 8, + Class_baseClass = 9, + Class_props = 10, + ClassProp_name = 11, + ClassProp_propType = 12, + ClassProp_propTypeName = 13, + CreateClause_assignments = 14, + CreateClause_syntax = 15, + CreateClause_type = 16, + Enum_items = 17, + EnumItem_name = 18, + LeftRecursionInjectClause_continuation = 19, + LeftRecursionInjectClause_rule = 20, + LeftRecursionInjectContinuation_configuration = 21, + LeftRecursionInjectContinuation_flag = 22, + LeftRecursionInjectContinuation_injectionTargets = 23, + LeftRecursionInjectContinuation_type = 24, + LeftRecursionPlaceholder_flag = 25, + LeftRecursionPlaceholderClause_flags = 26, + LoopSyntax_delimiter = 27, + LoopSyntax_syntax = 28, + NotCondition_condition = 29, + OptionalSyntax_priority = 30, + OptionalSyntax_syntax = 31, + OrCondition_first = 32, + OrCondition_second = 33, + PartialClause_assignments = 34, + PartialClause_syntax = 35, + PartialClause_type = 36, + PrefixMergeClause_rule = 37, + PushConditionSyntax_switches = 38, + PushConditionSyntax_syntax = 39, + RefCondition_name = 40, + RefSyntax_field = 41, + RefSyntax_literal = 42, + RefSyntax_refType = 43, + ReuseClause_assignments = 44, + ReuseClause_syntax = 45, + Rule_clauses = 46, + Rule_name = 47, + Rule_type = 48, + SequenceSyntax_first = 49, + SequenceSyntax_second = 50, + SwitchItem_name = 51, + SwitchItem_value = 52, + SyntaxFile_rules = 53, + SyntaxFile_switches = 54, + TestConditionBranch_condition = 55, + TestConditionBranch_syntax = 56, + TestConditionSyntax_branches = 57, + Type_name = 58, + UseSyntax_name = 59, }; extern const wchar_t* ParserGenTypeName(ParserGenClasses type); @@ -1834,7 +2371,7 @@ namespace vl vl::Ptr CreateAstNode(vl::vint32_t type) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; }; } @@ -1867,31 +2404,42 @@ namespace vl CLASS = 1, ENUM = 2, VAR = 3, - TOKEN = 4, - AS = 5, - PARTIAL = 6, - OPEN_ROUND = 7, - CLOSE_ROUND = 8, - OPEN_SQUARE = 9, - CLOSE_SQUARE = 10, - OPEN_CURLY = 11, - CLOSE_CURLY = 12, - COMMA = 13, - COLON = 14, - SEMICOLON = 15, - INFER = 16, - ALTERNATIVE = 17, - USE = 18, - ASSIGN = 19, - POSITIVE = 20, - NEGATIVE = 21, - ID = 22, - STRING = 23, - SPACE = 24, - COMMENT = 25, - }; - - constexpr vl::vint ParserGenTokenCount = 26; + SWITCH = 4, + TOKEN = 5, + AS = 6, + PARTIAL = 7, + OPEN_ROUND = 8, + CLOSE_ROUND = 9, + OPEN_SQUARE = 10, + CLOSE_SQUARE = 11, + OPEN_CURLY = 12, + CLOSE_CURLY = 13, + OPEN_PUSH = 14, + OPEN_TEST = 15, + AND = 16, + OR = 17, + COMMA = 18, + COLON = 19, + SEMICOLON = 20, + INFER = 21, + ALTERNATIVE = 22, + USE = 23, + ASSIGN = 24, + WEAK_ASSIGN = 25, + POSITIVE = 26, + NEGATIVE = 27, + LS_PH = 28, + LS_I = 29, + LS_IM = 30, + LS_PM = 31, + ID = 32, + STRING = 33, + CONDITIONAL_LITERAL = 34, + SPACE = 35, + COMMENT = 36, + }; + + constexpr vl::vint ParserGenTokenCount = 37; extern bool ParserGenTokenDeleter(vl::vint token); extern const wchar_t* ParserGenTokenId(ParserGenTokens token); extern const wchar_t* ParserGenTokenDisplayText(ParserGenTokens token); @@ -1923,15 +2471,30 @@ namespace vl { enum class RuleParserStates { - OptionalBody = 0, - Syntax0 = 5, - Syntax1 = 26, - Syntax2 = 31, - Syntax = 37, - Assignment = 40, - Clause = 45, - Rule = 67, - File = 73, + Cond0 = 0, + Cond1 = 8, + Cond2 = 14, + Cond = 20, + SwitchItem = 23, + Switches = 28, + OptionalBody = 34, + TestBranch = 39, + Token = 45, + Syntax0 = 50, + Syntax1 = 81, + Syntax2 = 86, + Syntax = 92, + AssignmentOp = 95, + Assignment = 99, + Clause = 104, + Placeholder = 140, + RuleName = 143, + LriConfig = 146, + LriContinuationBody = 150, + LriContinuation = 159, + LriTarget = 165, + Rule = 172, + File = 180, }; const wchar_t* RuleParserRuleName(vl::vint index); @@ -1939,7 +2502,8 @@ namespace vl extern void ParserGenRuleParserData(vl::stream::IStream& outputStream); class RuleParser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; @@ -1990,7 +2554,8 @@ namespace vl extern void ParserGenTypeParserData(vl::stream::IStream& outputStream); class TypeParser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; @@ -2073,13 +2638,18 @@ EdgeSymbol LeftRec, // An epsilon edge that reduces the current rule, which is the first input of one of its left recursive clause. Token, // An token is read to execute this edge. Rule, // A rule is reduced to execute this edge. + LrPlaceholder, // A left recursion placeholder is consumed to execute this edge. EdgeInput::token is the index of SyntaxSymbolManager::lrpFlags. + LrInject, // A left recursion injection. }; struct EdgeInput { EdgeInputType type = EdgeInputType::Epsilon; - vint32_t token = -1; - RuleSymbol* rule = nullptr; + vint32_t token = -1; // useful when type == Token or LrPlaceholder or LrInject + Nullable condition; + + automaton::ReturnRuleType ruleType = automaton::ReturnRuleType::Field; // useful when type == Rule or LrInject + RuleSymbol* rule = nullptr; // useful when type == Rule or LrInject }; enum class EdgeImportancy @@ -2128,6 +2698,7 @@ RuleSymbol friend class SyntaxSymbolManager; using StateList = collections::List; + using NameList = collections::SortedList; protected: SyntaxSymbolManager* ownerManager; WString name; @@ -2139,6 +2710,7 @@ RuleSymbol bool isPartial = false; bool assignedNonArrayField = false; AstClassSymbol* ruleType = nullptr; + NameList lrFlags; SyntaxSymbolManager* Owner() { return ownerManager; } const WString& Name() { return name; } @@ -2153,10 +2725,12 @@ SyntaxSymbolManager enum class SyntaxPhase { EpsilonNFA, // An automaton that has edges of Epsilon, Token, Rule. + CompactNFA, // Epsilon edges are eliminated by compressing multiple edges into one. // Epsilon edges to the ending state will be compressed to an Ending edge. // The first edge of Rule in left-recursive clauses becomes a LeftRec edge, with its fromState changed to the ending state. // fromState and toState of non-LeftRec edges belong to the same clause. + CrossReferencedNFA, // Edges of Rule are compressed to an edge that pointing towards states in other clauses. // Multiple edges of rule are stored in returnEdges in the order of execution. // insBeforeInput of an edge contains insBeforeInput from its returnEdges. @@ -2171,6 +2745,7 @@ SyntaxSymbolManager using EdgeList = collections::List>; using RuleTypeMap = collections::Dictionary; using RuleList = collections::List; + using LrpFlagList = collections::SortedList; protected: MappedOwning rules; StateList states; @@ -2185,6 +2760,7 @@ SyntaxSymbolManager void BuildCompactNFAInternal(); void FixCrossReferencedRuleEdge(StateSymbol* startState, collections::Group& orderedEdges, collections::List& accumulatedEdges); + void FixLeftRecursionInjectEdge(StateSymbol* startState, EdgeSymbol* injectEdge); void BuildCrossReferencedNFAInternal(); public: SyntaxSymbolManager(ParserSymbolManager& _global); @@ -2192,8 +2768,11 @@ SyntaxSymbolManager WString name; RuleTypeMap ruleTypes; RuleList parsableRules; + LrpFlagList lrpFlags; RuleSymbol* CreateRule(const WString& name, ParsingTextRange codeRange = {}); + void RemoveRule(const WString& name); + StateSymbol* CreateState(RuleSymbol* rule, vint32_t clauseId); EdgeSymbol* CreateEdge(StateSymbol* from, StateSymbol* to); @@ -2203,13 +2782,13 @@ SyntaxSymbolManager void GetStatesInStableOrder(collections::List& order); WString GetStateGlobalLabel(StateSymbol* state, vint index); - ParserSymbolManager& Global() { return global; } - const auto& Rules() { return rules.map; } + const ParserSymbolManager& Global() const { return global; } + const auto& Rules() const { return rules.map; } const auto& RuleOrder() { return rules.order; } SyntaxPhase Phase() { return phase; } template - void AddError(ParserErrorType type, ParsingTextRange codeRange, TArgs&&... args) + void AddError(ParserErrorType type, ParsingTextRange codeRange, TArgs&&... args) const { global.AddError(type, { ParserDefFileType::Syntax,name,codeRange }, std::forward(args)...); } @@ -2243,41 +2822,116 @@ namespace vl { namespace compile_syntax { + template + struct GenericRuleClausePath + { + RuleSymbol* ruleSymbol = nullptr; + TClause* clause = nullptr; + + GenericRuleClausePath() = default; + GenericRuleClausePath(RuleSymbol* _ruleSymbol, TClause* _clause) + : ruleSymbol(_ruleSymbol), clause(_clause) {} + + bool operator==(const GenericRuleClausePath& p) const + { + if (ruleSymbol != p.ruleSymbol) return false; + if (clause != p.clause) return false; + return true; + } + }; + using RuleClausePath = GenericRuleClausePath; + + using RuleSymbolPair = collections::Pair; + using GlrRuleMap = collections::Dictionary; - using LiteralTokenMap = collections::Dictionary; - using RuleReuseDependencies = collections::Group; + using LiteralTokenMap = collections::Dictionary; + using RuleDependencies = collections::Group; using RuleKnownTypes = collections::Group; - using ClauseReuseDependencies = collections::Group; + using ClauseReuseDependencies = collections::Group; using ClauseTypeMap = collections::Dictionary; + using LeftRecursiveClauseMap = collections::Group; + using LeftRecursionInjectClauseMap = collections::Group; + using LeftRecursionPlaceholderClauseMap = collections::Group; + using PrefixMergeClauseMap = collections::Group; + using ClauseToRuleMap = collections::Dictionary; + using ClauseToRuleGroup = collections::Group; + using RulePathDependencies = collections::Group; + using PathToLastRuleMap = collections::Group; + + using ClauseList = collections::List; + struct VisitorContext { - ParserSymbolManager& global; - AstSymbolManager& astManager; - LexerSymbolManager& lexerManager; - SyntaxSymbolManager& syntaxManager; - Ptr output; - - GlrRuleMap astRules; - LiteralTokenMap literalTokens; - RuleReuseDependencies ruleReuseDependencies; - RuleKnownTypes ruleKnownTypes; - ClauseReuseDependencies clauseReuseDependencies; - ClauseTypeMap clauseTypes; + const ParserSymbolManager& global; + const AstSymbolManager& astManager; + const LexerSymbolManager& lexerManager; + const SyntaxSymbolManager& syntaxManager; + + // ResolveName + GlrRuleMap astRules; // RuleSymbol -> GlrRule + LiteralTokenMap literalTokens; + RuleDependencies ruleReuseDependencies; // RuleSymbol -> !rule in that rule + RuleKnownTypes ruleKnownTypes; // RuleSymbol -> explicitly declared object type in clauses + ClauseReuseDependencies clauseReuseDependencies; // GlrReuseClause -> !rule in that clause + ClauseTypeMap clauseTypes; // GlrClause -> type + ClauseToRuleMap clauseToRules; // GlrClause -> RuleSymbol that contain this clause + Ptr cachedLexer; + + LeftRecursiveClauseMap leftRecursiveClauses; // RuleSymbol -> all clauses begins with that rule + LeftRecursionInjectClauseMap directLriClauses, indirectLriClauses; // RuleSymbol -> contained left_recursion_injection clauses + // RuleSymbol -> reachable left_recursion_injection clauses + LeftRecursionPlaceholderClauseMap directLrpClauses, indirectLrpClauses; // RuleSymbol -> contained left_recursion_placeholder clauses + // RuleSymbol -> reachable left_recursion_placeholder clauses + PrefixMergeClauseMap directPmClauses, indirectPmClauses; // RuleSymbol -> contained prefix_merge clauses + // RuleSymbol -> reachable prefix_merge clauses + + ClauseToRuleMap simpleUseClauseToReferencedRules; // GlrClause -> RuleSymbol when this clause is !RuleSymbol + ClauseToRuleGroup clauseToStartRules; // GlrClause -> RuleSymbol when this clause begins with RuleSymbol + + RulePathDependencies directStartRules, indirectStartRules; // RuleSymbol -> {rule, clause begins with the rule} + // RuleSymbol -> {rule, reachable clause begins with the rule} + RulePathDependencies directSimpleUseRules, indirectSimpleUseRules; // RuleSymbol -> {rule, clause that is !rule} + // RuleSymbol -> {rule, reachable clause that is !rule} + PathToLastRuleMap indirectStartPathToLastRules; // {r1, r3} -> {r2, clause}, where r1 --(indirect)--> r2 --(direct)--> {r3, clause begins with r3 contained in r2} + PathToLastRuleMap indirectSimpleUsePathToLastRules; // {r1, r3} -> {r2, clause}, where r1 (indirect)::= !r2 (direct)::= {r3, clause that is !r3 contained in r2} + + // ValidateStructure + ClauseList clauseToConvertedToPrefixMerge; // GlrClause when it should be converted to a prefix_merge clause VisitorContext( - AstSymbolManager& _astManager, - LexerSymbolManager& _lexerManager, - SyntaxSymbolManager& _syntaxManager, - Ptr _output + const AstSymbolManager& _astManager, + const LexerSymbolManager& _lexerManager, + const SyntaxSymbolManager& _syntaxManager ) : global(_syntaxManager.Global()) , astManager(_astManager) , lexerManager(_lexerManager) , syntaxManager(_syntaxManager) - , output(_output) { } + + const regex::RegexLexer& GetCachedLexer() + { + if (!cachedLexer) + { + auto tokens = From(lexerManager.TokenOrder()) + .Select([&](const WString& name) { return lexerManager.Tokens()[name]->regex; }); + cachedLexer = new regex::RegexLexer(tokens); + } + return *cachedLexer.Obj(); + } + }; + + using SwitchMap = collections::Dictionary>; + using RuleSwitchMap = collections::Group; + using ClauseSwitchMap = collections::Group; + + struct VisitorSwitchContext + { + SwitchMap switches; + ClauseSwitchMap clauseAffectedSwitches; // GlrClause -> all switches that affect how it parses + RuleSwitchMap ruleAffectedSwitches; // RuleSymbol -> all switches that affect how it parses }; } @@ -2285,9 +2939,10 @@ namespace vl Compiler ***********************************************************************/ + extern WString UnescapeLiteral(const WString& literal, wchar_t quot); extern void CompileAst(AstSymbolManager& astManager, AstDefFile* astDefFile, Ptr file); extern void CompileLexer(LexerSymbolManager& lexerManager, const WString& input); - extern void CompileSyntax(AstSymbolManager& astManager, LexerSymbolManager& lexerManager, SyntaxSymbolManager& syntaxManager, Ptr output, collections::List>& files); + extern Ptr CompileSyntax(AstSymbolManager& astManager, LexerSymbolManager& lexerManager, SyntaxSymbolManager& syntaxManager, Ptr output, collections::List>& files); } } } @@ -2340,6 +2995,68 @@ namespace vl { namespace parsergen { + +/*********************************************************************** +AutomatonBuilder +***********************************************************************/ + + class AutomatonBuilder + { + public: + struct StatePair + { + StateSymbol* begin; + StateSymbol* end; + }; + + protected: + using StatePosMap = collections::Dictionary; + using StateBuilder = Func; + using AssignmentBuilder = Func; + + protected: + RuleSymbol* ruleSymbol; + + WString clauseDisplayText; + StatePosMap startPoses; + StatePosMap endPoses; + + StateSymbol* CreateState() + { + return ruleSymbol->Owner()->CreateState(ruleSymbol, ruleSymbol->CurrentClauseId()); + } + + EdgeSymbol* CreateEdge(StateSymbol* from, StateSymbol* to) + { + return ruleSymbol->Owner()->CreateEdge(from, to); + } + + StatePair BuildRuleSyntaxInternal(RuleSymbol* rule, vint32_t field, automaton::ReturnRuleType ruleType); + public: + AutomatonBuilder(RuleSymbol* _ruleSymbol); + + StatePair BuildTokenSyntax(vint32_t tokenId, const WString& displayText, Nullable condition, vint32_t field); + StatePair BuildFieldRuleSyntax(RuleSymbol* rule, vint32_t field); + StatePair BuildPartialRuleSyntax(RuleSymbol* rule); + StatePair BuildDiscardRuleSyntax(RuleSymbol* rule); + StatePair BuildUseSyntax(RuleSymbol* rule); + StatePair BuildLoopSyntax(const StateBuilder& loopBody, const StateBuilder& loopDelimiter, bool hasDelimiter); + StatePair BuildOptionalSyntax(bool preferTake, bool preferSkip, const StateBuilder& optionalBody); + StatePair BuildSequenceSyntax(collections::List& elements); + StatePair BuildAlternativeSyntax(collections::List& elements); + + StatePair BuildClause(const StateBuilder& compileSyntax); + StatePair BuildAssignment(StatePair pair, vint32_t enumItem, vint32_t field, bool weakAssignment); + StatePair BuildCreateClause(vint32_t classId, const StateBuilder& compileSyntax); + StatePair BuildPartialClause(const StateBuilder& compileSyntax); + StatePair BuildReuseClause(const StateBuilder& compileSyntax); + + StatePair BuildLrpClause(collections::List& flags, const Func& flagName); + StatePair BuildLriSyntax(vint32_t flag, RuleSymbol* rule); + StatePair BuildLriSkip(); + StatePair BuildLriClauseSyntax(StateBuilder useOrLriSyntax, bool optional, collections::List&& continuations); + }; + namespace syntax_writer { @@ -2510,22 +3227,26 @@ Operators inline Rule drule(RuleSymbol* r) { + CHECK_ERROR(!r->isPartial, L"vl::glr::parsergen::syntax_writer::drule(RuleSymbol*)#Rule should not be a partial rule."); return { r,Rule::Discard }; } inline Rule prule(RuleSymbol* r) { + CHECK_ERROR(r->isPartial, L"vl::glr::parsergen::syntax_writer::prule(RuleSymbol*)#Rule should be a partial rule."); return { r,Rule::Partial }; } template inline Rule rule(RuleSymbol* r, F field) { + CHECK_ERROR(!r->isPartial, L"vl::glr::parsergen::syntax_writer::rule(RuleSymbol*, F)#Rule should not be a partial rule."); return { r,(vint32_t)field }; } inline Use use(RuleSymbol* r) { + CHECK_ERROR(!r->isPartial, L"vl::glr::parsergen::syntax_writer::use(RuleSymbol*)#Rule should not be a partial rule."); return { r }; } @@ -2583,287 +3304,145 @@ Builder struct Clause { - using StatePosMap = collections::Dictionary; + using StatePair = AutomatonBuilder::StatePair; private: - struct StatePair - { - StateSymbol* begin; - StateSymbol* end; - }; - - RuleSymbol* ruleSymbol; - WString clauseDisplayText; - StatePosMap startPoses; - StatePosMap endPoses; - - StateSymbol* CreateState() - { - return ruleSymbol->Owner()->CreateState(ruleSymbol, ruleSymbol->CurrentClauseId()); - } - - EdgeSymbol* CreateEdge(StateSymbol* from, StateSymbol* to) - { - return ruleSymbol->Owner()->CreateEdge(from, to); - } + AutomatonBuilder builder; StatePair Build(const Token& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Token; - edge->input.token = clause.id; - if (clause.field != -1) - { - edge->insAfterInput.Add({ AstInsType::Token }); - edge->insAfterInput.Add({ AstInsType::Field,clause.field }); - } - } - - clauseDisplayText += clause.display; - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildTokenSyntax(clause.id, clause.display, {}, clause.field); } StatePair Build(const Rule& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - + switch (clause.field) { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Rule; - edge->input.rule = clause.rule; - switch (clause.field) - { - case Rule::Partial: - break; - case Rule::Discard: - edge->insAfterInput.Add({ AstInsType::DiscardValue }); - break; - default: - edge->insAfterInput.Add({ AstInsType::Field,clause.field }); - } + case Rule::Partial: + return builder.BuildPartialRuleSyntax(clause.rule); + case Rule::Discard: + return builder.BuildDiscardRuleSyntax(clause.rule); + default: + return builder.BuildFieldRuleSyntax(clause.rule, clause.field); } - - clauseDisplayText += clause.rule->Name(); - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; } StatePair Build(const Use& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - { - auto edge = CreateEdge(pair.begin, pair.end); - edge->input.type = EdgeInputType::Rule; - edge->input.rule = clause.rule; - edge->insAfterInput.Add({ AstInsType::ReopenObject }); - } - - clauseDisplayText += L"!" + clause.rule->Name(); - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildUseSyntax(clause.rule); } template StatePair Build(const Loop& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"{ "; - auto bodyPair = Build(clause.body); - clauseDisplayText += L" }"; - - CreateEdge(pair.begin, bodyPair.begin); - CreateEdge(bodyPair.end, pair.end); - CreateEdge(pair.begin, pair.end); - CreateEdge(bodyPair.end, bodyPair.begin); - - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildLoopSyntax( + [this, &clause]() { return Build(clause.body); }, + {}, + false + ); } template StatePair Build(const LoopSep& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"{ "; - auto bodyPair = Build(clause.body); - clauseDisplayText += L" ; "; - auto delimiterPair = Build(clause.delimiter); - clauseDisplayText += L" }"; - - CreateEdge(pair.begin, bodyPair.begin); - CreateEdge(bodyPair.end, pair.end); - CreateEdge(pair.begin, pair.end); - CreateEdge(bodyPair.end, delimiterPair.begin); - CreateEdge(delimiterPair.end, bodyPair.begin); - - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildLoopSyntax( + [this, &clause]() { return Build(clause.body); }, + [this, &clause]() { return Build(clause.delimiter); }, + true + ); } template StatePair Build(const Opt& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"[ "; - auto bodyPair = Build(clause.body); - clauseDisplayText += L" ]"; + return builder.BuildOptionalSyntax( + false, + false, + [this, &clause]() { return Build(clause.body); } + ); + } - CreateEdge(pair.begin, bodyPair.begin); - CreateEdge(bodyPair.end, pair.end); - CreateEdge(pair.begin, pair.end); + template + void CollectSeq(const C& clause, collections::List>& elements) + { + elements.Add([this, &clause] { return Build(clause); }); + } - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + template + void CollectSeq(const Seq& clause, collections::List>& elements) + { + CollectSeq(clause.first, elements); + CollectSeq(clause.second, elements); } template StatePair Build(const Seq& clause) { - auto firstPair = Build(clause.first); - clauseDisplayText += L" "; - auto secondPair = Build(clause.second); - CreateEdge(firstPair.end, secondPair.begin); - return { firstPair.begin,secondPair.end }; + collections::List> elements; + CollectSeq(clause, elements); + return builder.BuildSequenceSyntax(elements); + } + + template + void CollectAlt(const C& clause, collections::List>& elements) + { + elements.Add([this, &clause] { return Build(clause); }); + } + + template + void CollectAlt(const Alt& clause, collections::List>& elements) + { + CollectAlt(clause.first, elements); + CollectAlt(clause.second, elements); } template StatePair Build(const Alt& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"( "; - auto firstPair = Build(clause.first); - clauseDisplayText += L" | "; - auto secondPair = Build(clause.second); - clauseDisplayText += L" )"; - - CreateEdge(pair.begin, firstPair.begin); - CreateEdge(firstPair.end, pair.end); - CreateEdge(pair.begin, secondPair.begin); - CreateEdge(secondPair.end, pair.end); - - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + collections::List> elements; + CollectAlt(clause, elements); + return builder.BuildAlternativeSyntax(elements); } template StatePair Build(const With& clause) { - auto pair = Build(clause.body); - auto withState = CreateState(); - auto edge = CreateEdge(pair.end, withState); - edge->insBeforeInput.Add({ AstInsType::EnumItem,clause.enumItem }); - edge->insBeforeInput.Add({ AstInsType::Field,clause.field }); - - endPoses.Add(withState, clauseDisplayText.Length()); - return { pair.begin,withState }; + return builder.BuildAssignment(Build(clause.body), clause.enumItem, clause.field, false); } template StatePair Build(const Create& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"< "; - auto bodyPair = Build(clause.body); - clauseDisplayText += L" >"; - { - auto edge = CreateEdge(pair.begin, bodyPair.begin); - edge->insBeforeInput.Add({ AstInsType::BeginObject,clause.type }); - } - { - auto edge = CreateEdge(bodyPair.end, pair.end); - edge->insBeforeInput.Add({ AstInsType::EndObject }); - } - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildCreateClause( + clause.type, + [this, &clause]() { return Build(clause.body); } + ); } template StatePair Build(const Partial& clause) { - return Build(clause.body); + return builder.BuildPartialClause( + [this, &clause]() { return Build(clause.body); } + ); } template StatePair Build(const Reuse& clause) { - StatePair pair; - pair.begin = CreateState(); - pair.end = CreateState(); - startPoses.Add(pair.begin, clauseDisplayText.Length()); - - clauseDisplayText += L"<< "; - auto bodyPair = Build(clause.body); - clauseDisplayText += L" >>"; - { - auto edge = CreateEdge(pair.begin, bodyPair.begin); - edge->insBeforeInput.Add({ AstInsType::DelayFieldAssignment }); - } - { - auto edge = CreateEdge(bodyPair.end, pair.end); - edge->insBeforeInput.Add({ AstInsType::EndObject }); - } - endPoses.Add(pair.end, clauseDisplayText.Length()); - return pair; + return builder.BuildReuseClause( + [this, &clause]() { return Build(clause.body); } + ); } template void Assign(const C& clause) { - ruleSymbol->NewClause(); - - clauseDisplayText = L""; - startPoses.Clear(); - endPoses.Clear(); - - auto pair = Build(clause); - ruleSymbol->startStates.Add(pair.begin); - pair.end->endingState = true; - - vint l = clauseDisplayText.Length(); - for (auto [state, pos] : startPoses) - { - state->label = clauseDisplayText.Left(pos) + L"@ " + clauseDisplayText.Right(l - pos); - } - for (auto [state, pos] : endPoses) - { - state->label = clauseDisplayText.Left(pos) + L" @" + clauseDisplayText.Right(l - pos); - } + builder.BuildClause( + [this, &clause]() { return Build(clause); } + ); } public: - Clause(RuleSymbol* _ruleSymbol) : ruleSymbol(_ruleSymbol) {} + Clause(RuleSymbol* _ruleSymbol) : builder(_ruleSymbol) {} template Clause& operator=(const Create& clause) diff --git a/Import/VlppWorkflowCompiler.cpp b/Import/VlppWorkflowCompiler.cpp index b58bcd64..62f58dd4 100644 --- a/Import/VlppWorkflowCompiler.cpp +++ b/Import/VlppWorkflowCompiler.cpp @@ -40217,11 +40217,11 @@ namespace vl { void WorkflowParserData(vl::stream::IStream& outputStream) { - static const vl::vint dataLength = 179860; // 3391050 bytes before compressing + static const vl::vint dataLength = 182473; // 3385498 bytes before compressing static const vl::vint dataBlock = 256; - static const vl::vint dataRemain = 148; - static const vl::vint dataSolidRows = 702; - static const vl::vint dataRows = 703; + static const vl::vint dataRemain = 201; + static const vl::vint dataSolidRows = 712; + static const vl::vint dataRows = 713; static const char* compressed[] = { "\x00\x00\x10\x00\x1F\x5D\x00\x00\x73\x00\x01\x82\x80\x07\x23\x82\x81\x82\x06\x89\x82\x92\x1A\x87\x1A\x84\x1E\x0A\xD1\x0A\x95\x2A\x81\x2E\x84\x2F\x0A\xE7\x4A\x96\x7A\x84\x7E\x84\x04\x01\x09\x97\x01\x96\x80\x10\x93\x81\x35\x27\x82\x9B\x1A\x91\x81\x21\x96\x04\xB0\x8D\x30\x95\x28\x9B\x2C\x98\x5E\x30\xA4\x30\x9C\x30\x98\x38\x98\x7E\x30\x83\x50\x96\x48\x9A\x50\x98\xA7\x30\xBE\x50\x91\x60\x98\x66\x98\xE0\x30\x88\x02\x09\x81\x08\xAA\x83\x1B\x57\x83\x82\x1A\xAA\x83\x15\xAE\x01\xB2\x20\xA0\x08\x1B\xB2\x1F\xB1\x42\x63\x8C\x23\xB3\x2B\xB2\x2D\xB1\x63\x63\xAC\x23\xB9\x3B\xB1\x41\xB1\x86\x63\x91\x43\xB5\x4B\xB2\x4F\xB1\xAA\x63\xAD\x43\xB4\x5B\xB1\x5F\xB1\xCC\x63\x93\x63\xBA\x6B\xB3\x75\xB1\xF2\x63\xBB\x63\xB5\x03\x01\x85\x09\x96\x86\x97\x19\xC3\x83\x0C\xCE\x81\x1F\x1F\xC1\x86\x12\xD0\x00\x17\xD2\xDA\x75\x2D\x9F\x7C\xD5\xD4\xD6\x85\x00\x2E\xEE\xD0\xD2\xDD\xD4\xDB\xDA\xFF\x37\xF5\xDA\xD2\xDC\xDF\xD8\x85\xB8\xB9\xC0\xF8\xDE\xDE\xDB\xE1\xDD\xC7\xBD\xC9\xFF\xD9\x81\xE1\xE3\xD7\xCB\xC6\xCD\xE4\xE1\xE8\xEB\xE8\xE4\xB0\x89\xB0\x91", "\xD4\xEF\xEA\xE4\xEF\xCC\x86\x8E\xF5\xE2\xE0\xF2\xE8\xF1\xDD\xE8\xD8\xE6\x8B\xEB\xEF\xF0\xF3\xD6\x86\xA3\xA0\x0B\xED\xD0\xFA\x85\x04\x0A\x9B\xE5\x0A\xFA\x86\x03\xFE\x09\x47\x00\x82\x41\x08\x03\x83\x41\x02\x06\x82\x4A\x01\x82\x01\x4B\x0C\x80\x00\x0C\x0F\x8F\x7A\x7A\xDF\x54\x81\x7B\x40\x13\x98\x89\x7A\x86\xEB\x5C\x85\x86\x87\x17\x82\x49\x86\x88\x1B\xA4\x8D\x86\x89\x1F\xA8\x81\x89\x40\x23\xAC\x85\x8A\x8B\x27\xB0\x89\x8A\x8C\x2B\x80\x0D\x02\x84\x2F\x9C\x71\x8E\x8E\x33\x80\x0E\x00\x8E\x3B\xAD\x8C\x8D\x8D\x42\x85\x99\x8E\x91\x41\x87\x9A\x91\x92\x4C\xBD\x88\x92\x93\x4B\x90\x9D\x90\x91\x51\x94\x93\x97\x79\x20\x98\x9A\x8A\x96\x34\x9C\x93\x92\x97\x4F\x96\x92\x97\x98\x62\xA5\x90\x99\x95\x67\x97\x91\x7D\x96\x6B\x9B\x9D\x99\x97\x6F\x9F\x91\x9D\x98\x5E\x8F\x00\x90\x99\x69\xB8\x93\x9C\x9A\x7B\xAA\x95\x7A\x85\x79\xA6\x9D\x9E\x9E\x7F\xAC\x95\xA2\x9B\x87\xB0\x99\xA2\x9C\x8B\xB4\x93\xA2\xA0\x8D\xBC\x91\xA6\x9F\xCF\x53\xA4\xA1\xA5\x98\xA4\x79\xA4\x7C\x96\x90\xAB\xA4\xA0\x8F\x81\xA2\xA9\xA8\xA4\x9D\xA3\xAA\xA9\xA5\x9F\xA6\xA2\xAA", @@ -40316,7 +40316,7 @@ namespace vl "\xF6\xE1\x72\xE1\x1E\xEC\x87\xFB\xE1\x6F\xE3\x9B\x26\x07\x35\xE1\x81\xE2\x02\x97\x07\x11\xDC\x78\x00\x21\xE9\x84\xF1\xE1\x80\xE3\x04\xA9\x07\x0A\xE2\x52\xE2\x62\x9A\x07\x10\xE2\x5C\xE3\x1F\xE6\x89\xC3\xCE\x7B\x00\x25\xE9\x65\x3C\x01\x9A\xE2\x1B\xEB\x88\xDE\xE2\x91\xE1\x1F\xE0\x87\xE4\xB4\x7D\x01\x27\xEC\x84\xF7\xE1\x48\xE1\x28\xED\x88\xD7\xB3\x7E\x02\x29\xE7\x4B\x3F\x01\xAE\xE3\x28\xE7\x8A\xE2\xE2\x78\xE2\x2C\xEB\xA4\x40\x02\xB1\xE1\x2D\xEA\x8B\xE9\xE2\x95\xE1\x21\xED\x86\xF3\xE2\xAB\xE1\x2F\xE7\xBB\x41\x02\xB9\xE0\x2F\xEC\x88\xD7\xE2\x9F\xE0\x30\xE8\x8C\xEA\xE2\x23\xCE\x20\x05\x8C\xFF\xE2\x7E\xE2\x2F\xE8\x8A\xD0\xE3\xAC\xCB\x20\x01\x71\xC4\x02\xCF\xE3\x34\xEA\x8D\xF4\xE2\xCB\xC9\x21\x09\x8D\xDC\xE3\x25\x92\x21\x0F\x8D\xC1\xE3\xC7\xE2\x34\xE7\xC8\x47\x02\xE3\xE3\x32\xE7\x47\x48\x02\xE9\xE2\x39\xE4\x8E\xE0\xE2\xC2\xE2\x0A\x39\x08\x2D\xE3\xC9\xE1\x34\xE5\x8F\xF6\xE2\xF8\xE3\x2E\xEA\x02\xCA\x02\xF4\xE1\x21\x1B\x08\x3D\xE3\xF1\xE1\x40\xE5\x8E\xF7\xE3\xFA\xE0\x0C\x7C\x08\x00\xE4\x03\xE4\x33\xEE\x8E\xEA\xE3\x09\xE6", "\x40\xE0\x8F\xCD\xE4\x50\x0D\x23\x08\x90\xCF\xE4\x7E\x1E\x23\x03\x91\xCA\xE3\x0B\xE5\x46\xE4\x90\xC6\xE3\x38\x0F\x23\x07\x91\xF6\xE3\x0A\xE7\x46\xE4\x8D\xC5\xE4\xE0\xE3\x36\xE1\x8C\xD0\x02\x1F\xE5\x3E\xEC\x91\xD8\xE4\x25\x31\x24\x04\x89\xD2\x02\x29\xE4\x49\xEE\x7F\x93\x02\x31\xE7\x4A\xE0\x92\xCE\xE4\x32\x38\x25\x04\x89\xD5\x02\x35\xE5\xAF\x36\x09\x3D\xE4\x26\xE4\x43\xE4\x91\xEC\xE4\x21\xE5\x51\xE1\x90\xD7\x02\x40\xE5\x49\xEA\x94\xEF\xE3\xE4\x20\x26\x04\x89\xD9\x02\x49\xE4\x53\xE9\x3B\x9A\x02\x51\xE6\x50\xE4\x94\xF8\xE4\x37\xE4\x44\xE1\x76\x9B\x02\x55\xE6\x46\xE6\x94\xDA\xE5\x57\xE4\x58\xE9\x95\xC3\xE5\x63\xE5\x58\xE4\x96\xEA\xE4\x23\xE6\x4D\xE8\x96\xC1\xE5\x96\x20\x27\x0D\x95\xE2\xE4\x6C\xE4\x5C\xEB\x94\xD6\xE5\xB1\x71\x27\x0F\x96\xC5\x12\x9E\x03\x5D\xE8\x95\xFC\x12\x9F\x02\x5E\xE2\x96\xEB\xE5\x73\xE6\x57\xEA\x77\x20\x02\x11\xDD\x28\x0E\x97\xEE\x38\xA2\x00\x40\xE3\x0A\x02\xDE\xA4\x02\xE0\xD5\x0A\x07\xE6\x38\x6E\x29\x01\x71\xE7\x02\x11\xDC\x2A\x01\x71\xE9\x02\x11\xDE\x2A\x01\x71\xEB\x02\x82\xDC\x2B\x01\x71\xED", "\x02\xE0\xDF\x51\x10\x0B\x38\xDF\xB2\x00\xFE\xD4\x0B\x11\xDC\xB5\x01\xC4\xD6\x0B\x0E\xE0\xB7\x01\xC4\xD8\x0B\x10\xE6\x28\xD9\x2E\x08\x7F\xFB\x02\xF8\xDD\x1D\x4D\x0B\x14\xE2\xBE\x01\xC4\xDF\x0B\x11\xDC\xC0\x01\xC4\xD1\x0C\x11\xDC\xC2\x01\xC4\xD3\x0C\x11\xDC\xC4\x02\x03\xE5\x0C\x30\xE6\x80\xE6\x54\xE9\x9C\xF4\xE5\xCB\xE6\x60\xE3\x18\xC6\x03\xC8\xE6\x4C\xEC\x9C\xD2\xE7\xCE\xE7\x59\xEE\x25\x07\x03\xD1\xE6\x5A\xE4\x9D\xF2\xE5\xCA\xE7\x76\xEF\x95\xD6\xE7\xDA\xE5\x78\xEF\xAF\x08\x03\xD9\xE5\x5A\xE6\x9E\xF1\xE5\xDF\xE6\x59\xEA\x9E\xE5\xE5\xEC\xE5\x73\xEC\x9D\xD3\xE7\xE2\xE4\xEE\x09\x0C\x25\xE7\xE8\xE6\x3F\x4A\x0C\x0E\xE0\xCB\x02\x03\xEC\x0C\x35\xE6\xE0\xE7\xA2\x0E\x0C\x3C\xE7\x42\x18\x34\x00\xA0\xE2\x32\xD2\x00\x25\xE3\x0D\x34\xE7\x47\x24\x35\x01\x71\xD5\x03\x11\xDE\x35\x01\x71\xD7\x03\x11\xDC\x36\x08\x7F\xDA\x03\x11\xDF\x36\x01\x9A\xC6\x04\xDE\x03\x85\xEA\xF5\x48\xE8\xDF\x1A\x38\x0C\xA1\xF0\xE7\xF8\x6B\x38\x0E\x80\xE4\x03\x0E\xE1\x39\x03\xA0\xEE\xE7\x01\x07\x39\x07\xA2\xC9\x19\xE9\x03\x8A\xEA\xCB\x2B\x03\x94\xE0\x3B", - "\x0F\xA1\xD1\x27\xED\x01\xC4\xDE\x0E\x11\xDC\xEF\x01\xC4\xD0\x0F\x11\xDC\xF1\x00\xFE\xD3\x0F\x11\xDC\xF4\x02\x86\xE2\x10\x37\x03\x42\xE8\xCA\x0A\x0F\x2D\xDB\x00\x00\x10\x00\xD4\x7B\x00\x00\x01\x00\x01\x82\x80\x0F\x7D\x82\x83\x82\x03\x83\x87\x87\x89\x82\x83\x84\x83\x0D\x81\x8F\x88\x81\x8B\x8B\x7F\x88\x04\x93\x98\x96\x8B\x8A\x8D\x8A\x8F\x0D\x9C\x91\x9B\x73\x0D\x84\x81\x90\x20\x89\xA2\x88\x9F\x85\x8D\x97\x8F\x2F\xAC\x8B\x8E\x93\x98\x99\x9A\x99\x0C\xB6\xB9\x8D\x8C\x7D\x91\x85\x93\x2A\xA9\x8A\x82\xAE\x84\xA2\x88\xA3\x19\xB1\x81\xAA\xA3\xA4\xA5\xA2\xA7\x47\xD0\x89\xB7\x9B\xA4\xA9\xA6\xAB\x4F\xD8\x91\xBA\xA3\xAB\x9D\xAA\xAF\x57\xE0\x99\xA2\xBB\xAC\xB1\xAE\x88\x3A\xE8\xB8\x8A\xBF\xAC\xB5\xB0\xB7\x63\xF0\xA5\xB2\xB7\xB4\x8B\xB4\xBB\x6D\xF8\xAF\xBA\xB1\xBC\xBF\xB8\xBF\x75\x97\xA9\xA0\xCB\x91\xBE\xC1\xBB\x87\x86\xF4\x86\xB5\xC3\xBD\xC4\xC7\x8B\xF4\x8D\xDD\xBF\xC4\xC9\xC8\xC2\x48\x93\xFF\xB5\xCB\xCF\xC8\xCF\xC0\x9E\xA1\xC3\xDF\xCA\xC8\xD3\xD0\xD1\x88\xA8\xCA\xC7\xDC\xD1\xD5\xD7\xD5\xAE\xB1\xF0\xD3\xD0\xCF\xD5\xDA\xD9\xB7", + "\x0F\xA1\xD1\x27\xED\x01\xC4\xDE\x0E\x11\xDC\xEF\x01\xC4\xD0\x0F\x11\xDC\xF1\x00\xFE\xD3\x0F\x11\xDC\xF4\x02\x86\xE2\x10\x37\x03\x42\xE8\xCA\x0A\x0F\x2D\xDB\x00\x00\x10\x00\xDD\x7F\x00\x00\x01\x00\x01\x82\x80\x0F\x7D\x82\x83\x82\x03\x83\x87\x87\x89\x82\x83\x84\x83\x0D\x81\x8F\x88\x81\x8B\x8B\x7F\x88\x04\x93\x98\x96\x8B\x8A\x8D\x8A\x8F\x0D\x9C\x91\x9B\x73\x0D\x84\x81\x90\x20\x89\xA2\x88\x9F\x85\x8D\x97\x8F\x2F\xAC\x8B\x8E\x93\x98\x99\x9A\x99\x0C\xB6\xB9\x8D\x8C\x7D\x91\x85\x93\x2A\xA9\x8A\x82\xAE\x84\xA2\x88\xA3\x19\xB1\x81\xAA\xA3\xA4\xA5\xA2\xA7\x47\xD0\x89\xB7\x9B\xA4\xA9\xA6\xAB\x4F\xD8\x91\xBA\xA3\xAB\x9D\xAA\xAF\x57\xE0\x99\xA2\xBB\xAC\xB1\xAE\x88\x3A\xE8\xB8\x8A\xBF\xAC\xB5\xB0\xB7\x63\xF0\xA5\xB2\xB7\xB4\x8B\xB4\xBB\x6D\xF8\xAF\xBA\xB1\xBC\xBF\xB8\xBF\x75\x97\xA9\xA0\xCB\x91\xBE\xC1\xBB\x87\x86\xF4\x86\xB5\xC3\xBD\xC4\xC7\x8B\xF4\x8D\xDD\xBF\xC4\xC9\xC8\xC2\x48\x93\xFF\xB5\xCB\xCF\xC8\xCF\xC0\x9E\xA1\xC3\xDF\xCA\xC8\xD3\xD0\xD1\x88\xA8\xCA\xC7\xDC\xD1\xD5\xD7\xD5\xAE\xB1\xF0\xD3\xD0\xCF\xD5\xDA\xD9\xB7", "\xB4\xD6\xD6\xDB\xD8\xDD\xDE\xDD\x9D\xBC\xC1\xFE\xD3\xE0\xE2\xD2\xE2\xC7\xC6\xE5\xCB\xE9\xCD\xE6\xA8\xE6\xCF\xCE\xDC\xB0\xE3\xEA\xE8\xC6\xEB\x92\xD8\xD8\xD1\xEC\xED\xE9\xEF\xEB\xDF\xD9\xE1\xFB\xEE\xED\xF0\xF0\xF3\xE2\xE8\xE4\xE7\xFC\xF1\xF5\xF7\xF5\xEE\xF1\xF0\xF3\xF4\xD2\xED\xFB\xF1\xF7\xDC\xBD\x7E\x93\x80\xA1\xDD\xFF\xBF\x40\x85\x72\x80\xC9\x44\x84\x77\x7B\xF9\x48\x8A\x6A\x81\xF6\x4B\x81\x83\x83\x03\x90\x85\x82\x84\x07\xB2\x79\x82\x85\x0E\x91\x8A\x87\x84\x1B\x95\x84\x7D\x86\x1C\xA1\x8E\x87\x85\x1F\x82\x72\x89\x83\x26\xA3\x80\x8A\x8A\x29\xA8\x88\x70\x8B\x2F\xAE\x8A\x72\x8C\x0C\xB8\x7B\x88\x8D\x14\xB8\x8D\x86\x8E\x27\xB6\x8D\x8A\x8F\x31\x80\x93\x8E\x90\x35\xAA\x74\x8B\x91\x37\x84\x99\x8E\x92\x3B\x8C\x9D\x8E\x91\x49\x90\x9F\x8E\x94\x41\x94\x93\x92\x95\x04\xBE\x3C\x7E\x40\xFE\x4B\x98\x96\x97\x0A\x93\x91\x99\x95\x63\x97\x95\x99\x91\x67\xA0\x98\x86\x98\x6B\xA4\x9D\x9A\x99\x6F\xA8\x91\x9E\x9A\x25\xAE\x95\x9C\x9C\x77\xB2\x99\x9C\x9D\x48\xAC\x9B\x9D\x93\x5F\x80\xA9\x9A\xA0\x73\x84\xAF\x9F\x93\x83\x88\xA5\xA2\xA2\x87", "\xB0\x88\x9D\x9F\x2F\x9B\x91\x41\x97\x86\x90\xAF\xA1\x94\x89\x8E\xAA\x9E\xA5\x9B\x98\xAB\xA2\xA6\x7C\x9E\xAD\xA0\x8F\xA0\x95\xA2\xA8\xA7\xA1\xBE\x98\xAA\xA9\xAA\xA7\xAE\xA9\xAB\xB0\xB6\x9B\xA8\xA3\xB3\xA5\xA4\xAF\xAB\xB2\xB8\xA7\xA5\xAC\xBB\xB9\xAC\xAD\xA7\xBF\xA9\xAE\xAF\xB0\xBD\x85\xB0\xB0\xB1\xC7\x86\xB2\xB2\xB2\xAC\x88\xBB\xB1\xB2\xD0\x8F\xB2\xB5\xB3\xCC\xB7\xA1\xB0\xB5\xD1\x98\xB3\xB6\xB5\xCE\x9A\xBE\xB4\xB7\xD5\xB6\xA2\xB8\xA9\xE4\x92\x50\x00\x05\x26\x57\xB0\xB9\xB6\xEB\x9B\xB3\xBA\x93\xEF\x81\xAD\xBB\xB7\xF1\x99\xA5\xBA\xBC\xF5\x9F\xA7\xBE\xBD\xF0\xBB\xBA\xBD\xBF\x00\xF8\xBE\xBF\xA8\x01\xFC\xB2\xC1\xC1\xFF\x87\xCA\xC2\xC1\x0C\xC9\xCD\xC3\xA1\x01\x28\xBF\x4E\xBA\xF9\x84\xCB\xC2\xC3\x18\xD6\xCF\xC1\xAD\x03\xDC\xC8\xC3\xA1\x02\x12\xCD\x7C\xC5\x1D\xFA\xA4\x83\x00\x22\xDC\x9A\xB8\x01\x29\xD3\xA1\x45\x01\x2D\xC0\x04\xA4\x00\x06\x31\xC3\xCF\x01\x36\xD1\x48\x01\xCE\x0D\x49\x0C\xCD\x42\x0A\x3F\xC3\x43\x02\x42\xC2\x4C\x01\xD1\x01\x4D\x08\xD0\x00\x0E\x0B\xD5\xC6\xC7\x17\xDA\xC9\xC4\xD4\x1B\xE6\xC2\x87\x03\x4E\xE5", "\xC1\x44\x04\x59\xDF\xC4\xD7\xD4\x56\xF4\xBA\xD5\xB7\xF3\xA5\xDF\xD1\xD8\x66\xE3\xD1\xBA\xDA\xEC\xA7\xD4\xCA\x93\x11\x1D\xD1\xD7\xD7\x52\xC0\x62\x06\xDC\x55\xEF\xD3\xDC\xDA\x6E\xE4\xDD\xDF\xDA\x5E\xFC\xDC\xDA\xBB\x83\xE2\xD1\xE2\xDE\x79\xFE\xD5\xE1\xDA\x87\xCA\xED\xE0\xE0\x7B\xC8\xE0\xDA\xE4\x75\xF4\xD6\xE6\xE0\x8F\xED\xDB\xE3\xDF\x9A\xD9\xE4\xE2\xE7\x86\xD1\xEE\xE2\xE8\x90\xC9\xE5\xEB\xE4\xA3\xE6\xED\xE4\xE9\xAB\xEA\xE2\x87\x04\x78\xE8\xE7\xE9\xE5\x98\xEC\xEF\xE6\xED\xA1\xEE\xE9\xEE\xEC\xAD\xFC\xE7\xEE\xEE\x8C\xF8\xE1\xF0\xF0\x9C\xFF\xEE\xEF\xEE\xB4\xD4\xE7\xE6\xF2\xB5\xC4\xFB\xE7\xF3\xA0\xC3\xF7\xF2\xF4\xC9\xE9\xE3\xF5\xF1\xC8\xCB\xF6\xF5\xF5\xB3\xDA\xFD\xF5\xF3\xD3\xD4\x01\xEC\xF7\xBD\xE4\xF6\xF2\xF9\xD9\xE0\xF8\xF8\xF5\xDE\xE5\xFD\xFB\xF9\xEF\xE9\xFC\xF3\xFC\xDB\xF1\xFC\xFA\xFA\xF6\xD8\xF7\xFC\xFD\xDF\xFC\xFE\xF8\xFE\x00\x9E\x7C\xFC\x01\x85\x7E\x02\xBD\x7D\x80\x02\x92\x7C\x02\x8B\x87\x81\x06\xBF\x79\x81\xFB\x6C\x83\x03\x92\x83\x80\x08\xBA\x7F\x82\xD0\x62\x78\x06\xD1\x7B\x82\x0D\x99\x86\x79\x1C\x9F\x83\xF5", @@ -40349,583 +40349,593 @@ namespace vl "\xAF\xD1\x30\x07\xAC\xA4\x52\x94\xAA\x4B\xBE\xAA\x22\xAD\xAB\xB1\xA9\x87\xA1\x56\xAC\xAA\x58\xB4\x0B\xF1\x04\x51\xB2\x07\x9F\xA0\x56\xE4\x80\x5B\xAB\x26\xF6\x07\xAD\xA2\x54\x7C\x06\x35\xF9\x04\x57\xBF\x3C\xFA\x02\x26\xBB\x06\x99\x8C\x0F\x32\x89\x3F\x12\x89\xFE\x06\x92\x80\x01\x0B\x0E\x0B\xBF\x08\x61\xA9\x08\x86\x9B\x20\x04\x01\xC3\xAA\x0C\xA6\x13\x01\x0C\xAC\xD5\x87\xE6\x48\x00\xC8\xAE\xB4\x1C\x79\x02\x14\xAC\x52\x5F\xAB\xA3\xAB\x97\xA3\x53\xAD\xA9\x59\xBA\xAC\x2A\xA8\x59\x8A\x00\xCC\xAC\x0E\xE4\xAA\x49\xA6\xAB\xA8\xA8\xB4\x96\xA9\xD5\xA8\xAB\x0B\x00\x69\xA9\xAD\x9F\xA9\xB6\xA7\xAC\xD5\xAE\x59\xB3\xAE\x6C\xAD\xA5\x0C\x07\xB5\xB4\xAD\xB3\xAC\x5A\xBC\xAD\x6D\xB0\xA9\xA1\xA8\xB6\x95\x4F\x06\x0A\x5B\xB7\xAD\x67\xBE\xAD\xC8\xAA\xB8\x80\xAF\xDE\xAA\x5C\xD0\x7A\x03\x05\xAE\xB6\xA9\xBA\x8B\xAF\xDF\xA7\x5C\xCD\xAC\x48\xB9\x4B\x0F\x00\xBA\x93\xAF\xE4\xAB\x5B\xD6\xAD\x4E\xBF\xAE\xA6\xAB\xBB\x8A\x92\x08\x0A\x5D\xF2\x29\x04\x05\xAF\xD7\xAB\xB3\xAD\xAA\xF1\xAD\x5D\xED\xAE\x71\xB2\x43\x12\x00\xBD\x8D\x4B\x09\x02\x5F\xF1\x24", "\x05\x15\xAF\x9C\xA9\xBD\x81\xAE\xF7\xA2\x5D\xD5\xAC\x7F\xB6\x3F\x15\x00\xBF\xAB\xAE\xFF\xAF\x5E\xE0\xAD\x7E\xA6\xB0\x03\xB4\x99\x16\x00\x01\xBA\x5E\x8D\xB3\x7E\xA5\xB0\xE1\xAC\xC0\xBD\xAE\xFD\xAC\x5C\xFF\xAC\xB9\x37\x00\x0C\xB7\xC1\x93\xB0\x04\xBE\x60\x95\xB0\x84\xA7\xB0\x09\x30\x03\x19\xB0\x0F\xB8\x26\x99\x03\x88\xBF\x0C\x1A\x07\xC4\x9C\xAF\x0F\xB9\x60\x9C\xB2\x86\xAC\xAF\x2C\xB6\x2C\x1B\x00\x15\xBE\x5D\x91\xB0\x85\xB4\xAE\x37\xB3\xC5\x9B\xB1\x04\x3C\x01\x34\xB2\x85\xB3\x89\x1D\x06\xC7\x89\x08\x0F\x02\x64\xBB\xB0\x88\xA7\xB2\x2D\xB6\xC6\xAE\xB1\xA1\x7F\x01\x45\xB0\x8C\xA6\xB2\x49\xB0\xC9\x9D\xB0\x1C\xBB\x64\xD4\xB2\x92\xB7\xB2\x52\xB7\xC5\x92\xB1\x27\xBC\x65\xDB\xB1\x40\x00\x01\x4E\xB6\xCB\xB9\xB1\x1A\xB9\x65\xA4\xB1\x97\xA3\xB3\x3F\xB0\x0C\xA1\x01\x30\xB8\x66\xEF\xAE\x08\x0C\xB3\xA5\x0B\x04\x18\xAD\x72\x85\x65\xA9\x41\x09\x13\xB3\x22\x2F\x04\x38\xB3\x12\x69\x02\x70\xB0\x8F\x0A\x01\x7E\xB7\x07\xAB\x00\xF4\xAC\x02\x68\xAD\x0B\x08\xAF\x2E\x00\xBD\xAF\x01\x3D\xB9\x10\x31\x00\x7A\xB2\x01\x98\xA9\xB1\x82\x09\x1A", "\x01\x69\x91\x08\x0E\x08\xAF\x39\x01\xD0\x91\x64\x1D\x0A\x69\xFB\x63\x0E\x1D\xB4\x5A\xB5\xCD\x83\x08\x1E\x00\x6A\x80\x0D\x0F\x0C\xB4\x50\xB7\x1B\x7F\x00\x54\xBC\x59\x41\x00\xAB\xBA\x60\x43\x05\xD4\xB3\x14\x22\x02\x6B\xA8\x7D\x11\x08\xAF\x46\x00\xBD\x87\x02\xF4\xA8\x04\x68\xAD\x12\x0F\xB5\x00\x03\x09\x28\xAE\x26\x05\x69\x8D\x0B\x13\x05\xB6\x09\x0A\x0A\x28\xAF\x29\x05\x6B\xF2\x54\x15\x0D\xB6\xD0\x60\xDA\xB1\xB0\x5C\xA6\x05\x52\xB7\x40\x17\x02\xC0\xB5\xCE\x9F\x3D\x2C\x09\x6D\xF1\x27\x16\x1D\xB6\xA6\x55\x0B\x16\xB6\x09\x1E\x05\x63\xB4\xD4\x7F\x02\xE8\xA8\x0C\x28\xAF\x30\x08\x5E\xE2\x00\x7A\xA3\x03\xC0\xB5\x0C\x28\xAE\x33\x08\x6C\x83\x09\x1A\x15\xB7\x12\x14\x0D\x26\xB6\x1A\x6D\x06\x7B\xB6\xB6\xBF\xB1\x6E\x06\xDF\x98\xB3\x28\xB4\x70\xD3\xB2\x8E\xA7\xB3\xFF\xB3\xDA\xA6\xB2\x31\xB9\x70\xA9\xB5\xA8\xA8\x29\x6F\x00\xBD\xB0\x02\x81\xB5\x66\xD6\xB1\xC5\xA7\xB8\x0C\xBB\xE0\x86\xB8\x32\xB5\x70\x8F\xBA\xC6\xBE\xB8\x17\xBC\xE3\x9B\xB9\x34\xBF\x71\x80\x0D\x1C\x14\xB8\x6D\x32\x0E\x28\xB9\x91\xBA\x70\x96\xB9\xC7\xAB\xB8\xA2\xB0", - "\xE1\xA5\xB8\x97\xBC\x72\x8E\xB8\xCC\xAD\xB8\x32\xB9\xE4\xAE\x6F\x39\x0B\x72\xBA\x30\x1D\x1D\xB9\x37\xBB\xE6\x98\xB9\x98\xB9\x71\xBA\xB9\xCB\xAE\xA7\xAF\x04\x67\x51\x09\x2E\x03\x1A\x71\x8C\x62\x16\x08\xE5\x83\x08\x23\x0D\xA8\xB3\x75\x91\x0A\xD4\xA8\x0C\x54\xB8\xEB\x96\xBB\xAA\xBD\x10\x57\xBA\x61\x19\xBA\x5F\xBB\xEB\x9A\xBB\xAE\xBC\x75\x89\x0A\xD7\xAE\x0C\xE5\x81\x06\x25\xBB\x81\x08\x02\x6B\xBA\x40\x1F\x01\x6E\xB9\x20\x09\x02\x55\x16\x11\x08\x01\x44\x0B\x04\x74\xBB\x22\x36\xBB\x86\x0C\x0A\x23\x0E\x01\x03\x0D\x16\x0F\xEF\x8F\xBB\x89\x02\x69\x81\x0B\x11\x03\x0D\x7B\xB9\x21\x09\x04\xBF\xB0\x78\x84\xBD\x44\x0B\x00\x88\xB9\x22\x19\x00\xC6\xB3\x78\x8F\x09\xE1\xA0\x00\x3E\x01\xF2\x8D\x08\x3B\x04\x79\x86\x0E\x45\x17\xBC\x6A\xB8\x31\x09\xBD\x81\x02\x06\x1D\xBE\x63\x1F\xBC\x11\x0C\x09\x1A\xBD\x84\x00\x09\x26\xBC\x65\x08\xBD\x0D\x0D\x03\x2B\xBD\x81\x0A\x03\x23\x0D\xD5\x53\xBD\x02\x0F\x0F\x2E\xBD\xCD\x06\x11\x37\xBE\xE8\xB1\x08\xBA\xB8\x31\x02\xBC\xCF\xBE\x78\x8D\x0B\xE1\xBF\xBD\x0D\x0B\xF1\x88\x0C\xDF\xB6\x18\x23\xBD\xEE", - "\xBB\xBD\x81\x08\xF6\x89\x08\xC8\xB8\x7C\x89\x0B\xE4\xAB\xBE\x11\x09\x01\x38\xBD\x80\x01\x7C\x86\x0F\xF0\xA7\xBD\xC5\xB9\x21\x19\xBD\xEA\xB3\x10\x1C\xBC\xF6\xBD\x19\xDB\xB8\x00\x1D\xBE\xC7\x0F\x7D\xAF\xBD\xF8\xA3\x08\xA1\xBD\xF9\x91\x09\xD2\xB7\x7E\x89\x0A\xF6\xA4\xBF\xCF\xBA\xF8\x8D\xBC\xCB\xB9\x7A\xE9\xBD\xEB\xB5\xBF\x03\x0F\xFE\xB2\xBE\xCE\x90\x7D\x96\x0A\xF4\xA3\x08\xB2\xB8\xFF\x81\x09\xDA\xB0\x80\x82\x0A\xF3\xBB\x0C\x0F\xC2\xFD\x85\xC0\x03\xCF\x10\x33\x19\x04\xD5\xBB\xC0\xBB\x02\xD4\xC1\x83\x07\x79\xC7\xBF\x00\xCA\xBC\xB6\xBA\x67\x29\xBF\xF5\xB4\x19\x6D\xBC\xEF\xAF\xBF\x02\x0C\xFA\x9F\xC1\x81\x07\x7D\x86\x0E\x05\xC3\xC1\x1A\xC3\x03\xC5\x09\xCB\xB3\x7E\xAB\xC2\x40\x06\xBF\x2E\xC2\x04\xCA\xC0\x09\xCA\x7F\x95\xBF\x42\x00\xBD\xE9\xBC\xFE\xB9\xC1\x86\x07\x81\xFA\xB9\x06\xDD\xC1\xC4\xBC\xFF\x8D\x08\xD5\xBB\x83\xFF\xBF\x10\xC9\x08\x45\xC7\x21\x11\xC0\x12\xCB\x19\x26\xC1\xF4\xA8\xC1\x01\x09\x01\xF6\xC1\x05\xC1\x77\x80\x00\xD3\xA8\x0C\x4E\xB9\x09\xCB\x08\xB0\xB8\x76\xE2\xB9\xD8\xA4\xBB\x63\xBE\xEC\x9D\xC3\xB3\xB4", - "\x19\x64\xC1\x1B\xC6\xC3\x65\xC0\x0D\xE7\xC2\x35\xC9\x86\x83\x08\x1B\xDB\x0C\x69\xBD\x0B\xED\xBB\x3A\xCF\x76\xDD\xC3\xDC\xB2\x15\x18\xC5\x21\x38\xBA\x3E\xC1\x10\x5F\xC2\x61\x01\xC3\xE0\xBF\x21\x2E\xC2\x3C\xC0\x87\xEF\xC2\x1C\xD1\xC3\x74\xC3\x0E\xF6\xC3\x35\xC4\x89\x84\xC4\x25\x75\xC4\x92\xC2\x20\x37\xC3\xC0\x09\x87\x96\xC7\x1E\xD9\xC4\x01\x08\xEE\x96\xC5\x3F\xCF\x28\x01\xC5\x42\x03\xC4\x4F\xC0\x23\x0E\x0D\x08\xC3\x06\x31\xC2\x0C\xD3\x19\x9E\x0C\x15\xEE\xC5\x0D\xCD\x81\xE9\xBE\xF2\xA9\xC5\xAA\xC0\x02\xD1\x09\x56\xC8\x84\x89\xC7\x0F\xCF\xBC\xE9\xBD\x05\xCE\x0C\x58\xC9\x7E\xBC\xC6\xF7\xBB\xBF\xBF\xC5\x21\x35\xC1\x55\xC1\x11\x38\xC3\x30\xD9\xC5\x5B\xC0\x00\x06\xC6\xF6\xB8\x8C\x9C\xC1\x44\x11\xBF\xCC\xC5\x21\x02\xC3\x67\xC0\x8D\x94\x0E\x2C\xDD\xC5\xEE\xBA\x09\xC9\x08\x26\xC1\x8D\xCE\xC0\x37\xDD\xC6\x81\x0F\x1B\xC7\xC6\x1F\xC6\x8D\xB1\xBD\xFA\xAC\xC0\xB8\xC1\x20\x16\xC2\x53\xC3\x10\x54\xC1\x60\x13\xC7\x32\xC6\x20\x33\x18\x7C\xC2\x85\xC7\xC3\x3A\xC2\xC3\xED\xC1\x21\x1E\xC1\x6C\xC0\x82\x8D\xC2\x3C\xD0\xC1\xE0\xC7\x04", - "\xE2\xC7\xA1\x11\x8C\xA1\xC3\xD2\x48\xC8\xFF\xC6\x17\xC1\xC9\x81\x0B\x8C\xDE\xC5\x33\xCE\xC8\x09\x0C\x1F\xCB\x09\x29\xC3\x8B\x94\xC0\x10\xDB\xC1\xDB\xC4\x32\x3B\xC6\x88\xC4\x8D\xEC\xC6\x41\x17\xBC\xE4\xC4\x20\xC3\x08\x73\xC2\x92\x91\x0A\x46\xC7\x08\x1C\xC9\x21\xD7\xC3\x85\xC2\x10\x5A\xC2\x4A\xC2\x08\xF0\xC7\x1C\xC3\x09\x02\x04\x92\xA5\xC1\x35\xDA\xC7\x2F\x1D\x27\xD5\xC3\x9F\xC3\x83\x91\x0B\x40\xD6\xC8\xC9\xB8\x23\xFB\xC8\xA1\xC7\x8F\xC4\xCB\x3F\x17\xBC\x2A\xC7\x26\xC1\x08\x61\xCD\x92\x8D\x08\x4F\xDB\xC1\xF6\xC1\xF0\x8E\xCA\x1A\xC9\x7E\xCE\xC5\x55\xC9\x08\x57\xC9\x1A\xD9\xCB\x89\x0F\x92\xB4\xC7\x35\xC1\xC2\x4A\xCA\x20\x21\xCA\xA9\xCC\x83\x91\xC9\x38\xC9\xC6\xE3\xC6\xFF\xA9\xCB\x80\x0B\x96\xC8\xC9\x42\x03\xCB\x0F\x0D\x2C\xDE\xC9\x88\x06\x93\xF6\xC8\xED\xBD\xC2\x86\xC6\x31\x08\xC5\xB7\xC7\x10\x0B\xC4\x27\xCD\xC4\x8C\xC7\x11\xCE\xC5\x48\xC0\x89\x93\xC6\x25\xDB\xC4\x50\xB8\x31\xC7\xCC\xC5\xC9\x98\x8C\xCF\x62\xCE\xCC\xA0\xC0\x00\x18\xC7\xCB\xC2\x10\x1F\xC5\x63\xDD\xC3\xA3\xC1\xEF\xBD\xC6\x41\xC0\x98\xCD\xBA\x53\xC6", - "\xCC\x91\xCC\x32\xD3\xCC\xCB\xC5\x99\x98\xCF\x67\xC1\x08\x90\xCB\x22\x28\xCC\xD9\xC2\x99\xA9\xCC\x6B\xCB\xCD\xAE\xCC\x33\xF0\xCD\x2E\xCB\x99\xAD\xCD\x67\xDD\xC2\xA2\xC1\x33\xE4\xC5\x4D\x14\x8F\x82\x08\x2A\xCF\xCD\x5E\xC6\x34\xE6\xC9\x82\x03\x9B\x8A\xC5\x6D\xD4\xCD\xAA\xCE\x36\xF9\xCC\xDF\xCB\x9B\x8F\xCC\x26\xC8\xCE\xB1\xCE\x39\xD1\xCE\xE8\xC7\x9B\xD2\xCE\x40\x1D\xCD\xB8\xCF\x37\xD6\xC5\xE0\xC8\x9C\xC3\xCC\x9F\x05\xCE\x01\x0F\x38\xFE\xC9\xE5\xCF\x0F\x7A\xCA\x01\xD5\xC5\x3B\xC7\x16\xE5\xC8\x80\xC7\x92\xC0\xC7\x0E\xD4\xCA\x43\xCC\x3D\xDC\xCB\x1D\xCE\x95\xF9\xCC\x7D\xC5\xCA\x0D\x08\x3C\xE8\xCE\x00\x01\x92\xFE\xCE\x44\xD5\xCF\x4B\xC2\x2E\xF2\xC9\x7C\xC8\xA0\x89\x09\x5F\xDA\xC5\x0D\x09\x27\xDF\xCB\xC6\xA8\x95\x9D\xCA\x01\xD3\x19\x97\xBB\x40\xF8\xCB\x85\x0E\x9E\x87\xC2\x40\x07\xCA\x10\xD5\x20\xF1\xC6\x00\x09\xA1\xC6\xC0\x01\xCB\xD0\x0C\xD7\x29\xF6\xCF\x68\xC8\x9F\x81\x0C\x86\xCC\xCA\x5A\xCA\x3F\xD1\x09\x8A\xC1\xA2\xE5\xBF\x5C\xC4\xD1\x30\xD4\x2C\xDB\xCB\xB3\xC0\x92\xB7\xD1\x89\xC3\xCD\x77\xCE\x42\xDE\xD1\x80\x09\x92", - "\xFE\xCA\x40\x0C\xC9\x9B\x0F\x45\xD5\xD0\x14\xDC\xA0\x97\xBF\x83\xC9\xC7\x11\x0A\x42\xC9\xD3\x88\x04\x67\xA6\xD1\x90\xCC\xD2\xF9\xC3\x66\x15\xD2\x20\xD5\x8F\xC2\xD0\x16\xC0\x00\x20\xD0\x4A\xC9\xCA\x83\xC4\x0E\xB9\xD1\x5E\xDB\xD1\x5B\x5D\x21\xE4\xD3\x2D\xDB\x91\xFE\xC7\x7C\xC7\xD0\x00\xD2\xFC\x9D\xCB\x1B\xDC\xA6\xB0\xCA\x9B\xCB\xCF\xFF\xCA\x45\xC1\xD0\xB4\xCB\xA6\xE6\xD0\x87\xC8\xD3\x71\xCD\x09\xF4\xD2\x3F\xD7\x10\x1D\xD3\x97\xCF\xD2\x03\xD2\x4A\xEE\xD1\x88\x05\x5A\xDC\xD1\xFE\xAE\xCB\x0A\xCB\x21\x33\x19\x46\xDD\xA6\xA7\xD0\xA4\xD3\xC9\x70\xCB\x20\x21\xD3\x01\xD2\x9F\x93\xD1\x64\xA6\xD2\xDC\xBE\x4B\xF4\xC9\x80\x01\x95\xA0\xD4\x1F\x37\xD1\x94\xD6\x4E\xD6\xD5\x37\xD4\x98\x8D\xD0\x45\xD3\xD3\x64\xD1\x55\xC6\x09\x98\xC7\xA9\xA9\xD2\x9E\xCD\xB4\x7C\xD3\x44\xF2\xD5\x82\x04\xAB\xAC\xD5\xA4\xD3\xC8\x02\x0D\x48\xF5\xD1\x23\xD8\xAA\x84\xD6\x41\x06\xD4\xA3\xD0\x00\x08\xD4\x2B\xDF\x97\x96\xC5\x60\xD4\x0C\x83\xCF\x57\xC6\x09\xE6\xC3\x86\xCF\xCE\x76\xDD\xCE\xDC\xCB\x3A\xE1\xCF\xEA\xC9\x99\xD9\xCD\xB5\xDB\xCE\xD7\xD2\x5B\xDE", - "\xCE\x6E\xD8\x9D\xBC\xCE\x1E\xC0\xCE\x7E\xC2\x34\xD5\xD5\x53\xC2\xAA\xFF\xD2\x8C\xC6\xBE\xB6\xC5\x5D\xC0\xD6\x52\xDA\xA6\xB5\xD5\x8A\xDB\xCF\xD1\xC5\x3F\xCD\xCB\x77\xD8\xAB\xBD\xD0\x96\xD2\xC1\x28\xCA\x41\xF6\xD7\x26\xDC\x97\xEF\xC7\x8D\xC7\x00\xC6\xD5\x20\x08\xD6\x49\xD1\x11\x08\xDB\x92\xC3\xD8\xF9\xC0\x3E\xD1\xC7\x4E\xD3\xA5\xCF\x59\xC2\xCD\xCF\x80\xD4\x21\xF7\xCF\x83\xD7\xB1\x8B\xDB\xBC\xD8\xBC\xB0\xD3\x44\xCE\xD8\xB1\xC2\xAF\xAE\xD7\x77\xD9\xD5\x3A\xCA\x20\x23\xD8\xB6\xCB\xA1\x85\xD5\xC6\xC1\xD6\x02\xD9\x65\xC1\x09\x95\xD6\xAA\xAD\xDB\xB1\xCF\xD9\x59\xC6\x60\xE4\xD3\x68\xD2\xA6\xD7\xD0\xC4\xCF\xC5\x11\x0C\x67\xDA\xD1\x92\xD1\xA7\x9A\xD5\xBC\xDB\xD9\x1D\xD8\x67\xC0\x01\x52\xD3\xAC\xD3\xCB\x8D\xC2\xDA\xCC\xD7\x51\xFE\xD4\x4C\xDF\xB1\xB4\xD1\xCF\xD6\xD1\x48\xDF\x61\xD3\xDA\x5B\xDF\x91\xD1\xC5\x81\xCB\xD4\x0D\x08\x6A\xCE\xD5\x50\xDF\xAF\xE6\xC9\x82\xC2\xD4\x59\xDC\x64\xE5\xDB\xBD\xCE\x8E\xBB\xC2\xA2\xDD\xBD\xE8\xC5\x69\xED\xCB\xAD\xD9\xA2\xC4\xC6\xD6\xD8\xD3\x70\xD7\x56\xC6\xDB\xF8\xC7\xA3\xB1\xC7\x9D\xC6\xD0", - "\xAD\xD5\x68\xE9\xC1\x7A\xD2\xB3\xAA\xC7\xD0\xCB\xDB\xEF\xCB\x46\xE1\xD9\xC2\xDE\xB7\xAB\xD4\xDE\xC1\xDC\x7A\xDF\x64\xFE\xD7\x11\xDD\xB8\xBE\xD8\xDD\xC4\xD8\x67\xDD\x1C\xFD\xDB\xA4\xDC\xAF\x88\xC2\xCE\xDF\xD9\x1B\xC6\x63\xE6\xD8\xC3\xB7\xB4\xA0\xDC\xDB\xD3\xBE\x84\xDF\x71\xD2\xD6\xC1\xD1\x10\x56\xDB\x80\xDA\xD7\x31\xD1\x4F\xDD\xDA\xB6\xCF\xB5\xB1\xDD\xDE\xC1\xD8\x68\xDE\x74\xC9\xDD\xB6\xD1\x8D\xEF\xDA\x8E\xCC\xCF\xA2\xDC\x75\xE0\xD3\xD2\xD7\xB9\x91\xDB\x8A\xCC\xCB\x2D\xD6\x76\xD0\xDC\x7C\xDC\x96\xB0\xDF\xEF\xD2\xDD\x3C\xD6\x6B\xC4\xDB\xC8\xD4\xA4\xB1\xDA\xEA\xD4\xDA\xA3\xDA\x59\xDF\xDC\xE2\xC1\xB5\x81\x08\x06\x13\xDE\xC1\xDC\x7A\xC3\xDE\xBE\xD8\xB8\xC3\xD3\xD2\xC9\xDD\x80\xDB\x75\xE2\xDE\xD7\xDD\xBD\x80\x02\xF3\xC7\xD3\x9D\xDA\x72\xD2\xDF\xF2\xDF\xA5\xC2\xD7\xD5\xC4\xD6\xF4\xD9\x59\xCB\xD7\xB1\xD0\x00\x3E\xDC\xFC\xD9\xD3\xE1\xDA\x62\xEC\xCA\x8A\xDB\xAF\xD0\xDD\x9A\xDB\xD8\xF9\xD9\x53\xC2\x08\xF6\xDC\xBF\xEF\xDE\xBB\xC6\xE0\xFD\xD3\x7E\xFA\xDC\xF3\xD6\xBF\x83\xD0\x92\xC5\xE0\xB7\xDD\x60\xEE\xDB\xD2\xC0\x86\xA7", - "\xCE\xB5\xDF\xD6\xD8\xD1\x5C\xDA\xC5\xEB\xCA\x9B\x97\xC6\x75\xC7\xE1\xDD\xD4\x84\xD4\xCE\x13\xE9\x99\x82\xD1\xB6\xC2\xCF\x99\xCC\x3C\xE5\xE0\xF3\xC5\x29\x03\xD2\x7A\xD5\xD8\x13\x1B\x07\xD3\xC7\xEB\xD6\xAB\x93\xD5\x31\xD3\xDE\x02\xE6\x54\xC4\xE0\xB8\xD5\x58\xEC\xCB\x0E\xE9\xDF\xD8\xDA\x78\xCC\xDB\xFB\xDE\xB4\xB1\xD7\x0F\xE9\xE0\x55\xDB\x71\xDE\xD5\xCA\xA6\xC4\xC0\xE1\xF4\xD4\xDD\xC5\xD2\x87\xD6\xE3\xCC\xDC\x96\x97\xE0\x11\xF9\xE1\xD1\xC7\x88\xD8\xE1\xE5\xDA\xC1\xBD\xDC\xF8\xCA\xDA\x9B\xD5\x7D\xC3\xE3\xE7\xD9\xC1\x87\xE0\x8B\xDB\xE2\x72\xD4\x3F\xF0\xE2\xF8\xB8\xB2\xBC\xE3\xBD\xDD\xBF\xB9\xDD\x78\xC0\xD9\x32\xEC\x96\xFE\xDF\x03\xF9\xDB\x01\xE6\x28\xC4\xDE\x3B\xE8\xB9\xA8\xDC\x02\xF3\xE0\x5F\xD4\x81\xEB\xD6\xAC\xD8\xC8\xC9\xD6\x0B\xFC\xDF\xB5\xDC\x8D\xE4\xE2\x2E\xE6\xAA\xDE\xE2\x24\xEA\xDF\x4E\xD3\x7B\xC4\xE5\x7C\xC1\xC8\xF0\xD4\xF9\xCD\xE4\x0A\xE4\x5E\xC7\xE4\x3D\xE6\xB6\xF1\xE1\xBE\xD3\xE3\xF2\xD8\x8B\xD0\xE3\xEC\xD5\xC1\xED\xDE\x25\xFF\xDF\x6D\xE6\x41\xDA\xE5\x15\xEF\xAC\x9B\x0E\xD8\xD9\xC7\xD4\xD5\x30\xDF\xE0", - "\x5D\xE0\xAE\xA0\xE2\xB8\xCF\xE1\xE4\xD5\x84\xDE\xD6\x5E\xE1\xC2\xBE\xE7\x08\xE8\xE1\xE5\xD6\x12\xCF\xE4\x63\xE1\x10\x1E\xCD\x09\xF2\xE1\x2B\xE4\x86\xF4\x14\x1B\xED\x85\x91\x02\x72\xD9\xD3\xB7\xE2\x06\xD9\xE7\x0D\xCB\xCD\x94\xC1\x37\xE6\xC0\xDF\xE6\x22\x21\xE7\x89\x03\xCE\x8F\x09\x39\xEB\x08\xE7\xE7\x20\x29\xE6\x83\x0B\xCE\xCC\xCD\x44\x04\x03\xD5\xE7\x9A\xF9\xDB\x76\xEF\x0F\x74\xE6\x3D\xEE\xCA\xF7\xE4\x3D\xF9\xE6\x6C\xE8\xCF\xFD\xE4\x7B\xC5\x87\xF0\xE6\x12\xD6\xE7\x0E\xEA\xCF\xFE\xE4\x3F\xE5\xE8\x08\xEF\xA0\xCA\xE9\x79\xE6\xD0\x8C\xE9\x42\xEE\xE8\x79\xD5\x1C\x9C\x03\x78\xE4\xD0\x8B\xE8\xE4\xDB\xE7\x10\xE9\xA3\xD7\xE9\x86\xEB\xD1\x8F\xE9\x47\xF6\xE8\xEA\xDC\x9E\xE5\x87\x20\x04\xD1\x87\xC4\x47\xE1\xE9\x27\xE9\x89\xF5\xE7\x94\xE6\xAB\x98\xEB\x47\xFA\xE8\x28\xEE\xA3\xF1\xE9\x88\xE1\x11\x12\x17\x0A\xE3\xE8\x26\xEA\xA6\xEA\xE8\x97\xE3\xD3\xB0\xEB\x4E\xEC\xE9\x29\xD4\xA7\xFF\xE8\x9D\xED\xD2\xC0\xE8\x83\xC5\x87\x38\xEA\x30\xC6\xEB\x7C\xC2\xD4\xC5\xE8\x51\xE1\xEA\x4B\xEA\x9B\xD1\xEA\x6E\xE3\xD5\x94\xC0\x40\xE5\xE9\x4A", - "\xEF\xA9\xCC\xD1\xA6\xE0\xD5\xDA\xE8\x53\xF5\xEA\xE0\xE0\xAC\xE2\xE6\xB1\xE4\xCE\x9E\xE1\x43\x10\x01\x58\xE8\x5A\xE4\xEA\x73\xEB\xD6\xE8\xE5\x5B\xEA\xE7\x6F\xEC\x9D\xF1\xEB\x82\x0C\xD5\xDB\xEA\x59\xE9\x08\x5B\x01\xAD\xF6\xE5\xB9\xEB\xD2\xDE\xEA\x54\xFE\xEB\x54\xE8\xB0\xDE\xE6\xBE\xE5\xD7\xDF\xEB\x3F\xF1\x08\x68\xEA\xA0\xF2\xE7\x97\xEC\xD8\xBD\xE9\x63\xE3\xEA\x20\xE8\xB2\xFE\xE8\xA7\xE1\xD9\x94\xEF\x64\xE9\xD1\xE5\x81\xB1\xD9\xCD\xA4\xEA\xD6\x82\xED\x58\xFE\xEC\x63\xE8\xB4\xE5\xEA\xD1\xEC\xD6\xA4\xEE\x5B\xE6\xED\x70\xEF\xB0\xCD\x08\x17\x0A\xD7\x81\x0D\x61\xFF\xEB\x95\xED\xAB\xF1\xEC\xBB\xE8\xDA\xF2\xE9\x6D\xF4\xEB\x84\xEF\xAE\xC3\x08\x23\x0D\xDA\xA1\xEF\x6C\xE6\xEC\xBF\xE8\xB6\xD7\xEC\xDA\xE1\xDC\x81\xED\x71\xE3\xEC\xB7\xED\xAF\xC7\xEE\x03\xC5\x0E\xB3\x01\x6F\xE3\xED\xCB\xEE\xB7\xC3\xEE\xE0\xE3\xDD\xC2\xEF\x63\xF6\xEC\xD7\xEA\xB6\xD5\xEE\xE3\xE9\xB7\xE5\x87\x0E\x0F\xEE\xA5\xE9\xBA\xD0\xEF\xED\xE8\xDC\xE2\xED\x78\xE4\xEF\x9F\xEE\xBC\xE7\xEC\xF5\xE9\xDA\xB4\xE9\x43\x1D\x01\xE0\xEB\xBD\xE8\xEE\xE9\xE9\xDD\xC4\xEF", - "\x7C\xE3\xEF\xF5\xEC\xBA\xF9\xEE\xEB\xEE\xD8\xEA\xDD\x39\x9F\x00\xF1\xED\xBD\xF7\xEF\xF3\xEB\xDF\xDC\xED\x81\xE5\xEF\x03\xF2\xBE\xC7\xF1\xF4\xE9\xE0\xC4\xE7\x40\x00\x03\x01\xF6\xB6\xEC\xEE\x09\xFD\xE0\x94\xF3\x82\xF4\xEF\xFD\xEA\xB2\xD7\xF0\xFC\xE9\xE1\xD8\xEE\x7F\xF1\x08\x27\x05\x0B\xE6\x01\x08\xF8\xDB\xC9\xEF\x6B\xE6\xF0\x1D\xF2\xBB\xDB\xF0\x02\xF9\xE2\xF6\xEF\x8A\xEA\xF0\x1F\xF5\x21\x21\xF0\x4B\xC3\xE2\x8A\xED\x45\xF5\xF0\x25\xF3\xC2\xF9\xF0\x1C\xFA\xDC\xBC\xF3\x89\xE8\xF0\x2F\xF2\xC0\xD0\xDD\x72\x81\xC9\xA2\xE1\x40\x1C\xEC\x7B\xEE\xC4\xF9\xEC\x25\xFC\xE4\xBA\xF1\x8F\xE1\xF2\x16\xF1\xC6\xC9\x09\x30\x04\xE2\xCF\xF1\x8B\xFA\xEF\x57\xF4\xBF\xDA\xF1\x2C\xF8\xE2\xDB\xF2\x97\xFE\xF0\x5F\xF2\xC5\xDC\xF2\xAB\xE1\x94\xB6\xF1\x4E\xEE\xF2\x3F\xF4\xC1\xD0\xF3\x1D\xFB\xE6\xD6\xF1\x98\xEE\xF1\x63\xF2\xCD\xD2\xF3\x6E\xC3\xAE\x80\x00\x92\xEE\xED\x4B\xF0\xCD\xF9\xF2\x1F\xFB\xE7\xED\xF2\x48\xF2\xBC\x55\xF1\xCD\xD8\xF1\x37\xF8\xE5\x84\xF6\x96\xE0\xF3\x88\xF2\xCC\xC6\xF5\x2E\xF9\xE8\xC7\xE8\x88\xE2\xF1\x81\xF5\xCF\xF1\xF3\x41", - "\xFD\xE8\x85\xF5\xA5\xE7\xF4\x8A\xF7\xD2\xCC\xF5\x4C\xF8\xD9\x8F\xF4\x8D\xF1\xF4\x4D\xF4\xCF\xE1\xF4\x3F\xF2\xE9\x8B\xF4\x90\xF3\xF3\x02\x0B\xC6\xD9\xCD\x1A\xFB\xD9\x8B\xEF\xA4\xFC\xF0\xA6\xF2\xCE\xF1\xF4\x4A\xFC\xE9\xF0\xF3\xAC\xF0\xF5\x9A\xF7\xD4\xEA\xE9\x72\x8A\xEA\xC8\xCC\xAB\xE8\xCE\x77\xF4\xD6\xF6\xF5\x5C\xF2\xEB\xC4\xF6\xB0\xF6\xF4\xB5\xF0\xD9\xC3\xF7\x64\xF8\xE9\xCB\xF6\xB3\xF8\xE5\x11\x0C\x07\x20\xF4\x3D\xF3\xEA\xAF\xF4\x8B\xF7\xF5\xD7\xF6\xD8\xF8\xF4\x66\xFB\xE9\xCF\xF6\x0C\xC5\x87\x0D\x03\xDA\xE2\xF4\x6A\xF4\xEE\xE3\xF6\xB9\xE4\xF5\xAA\xE9\x21\x08\x02\x75\xDA\xAA\x89\x0A\x22\x02\xF7\xE8\xF5\xDC\xF1\xF7\x73\xF6\xED\xB0\xF0\xB6\xF6\xF7\xB6\xD5\x1C\x82\x02\x76\xF3\xAB\x91\x0A\x1F\x10\xF7\xF5\xF2\xC8\xC1\xF9\x28\xF7\xEF\x82\xF9\xC1\xE4\xF8\xDA\xF1\xDB\xDC\xF6\x5D\xF9\xEF\xA1\x5C\xBF\xFC\xD5\x11\x08\x9A\xDB\xD6\x3B\xFE\xEA\x87\xF8\x9B\xE3\xF8\x17\xFE\xE2\xEE\xF3\x84\xF8\xEF\x8B\xF9\xB1\xFE\xF8\xC7\xF7\xDB\xD1\x09\x16\x0F\xF0\xFF\x05\x04\xD9\xEB\x66\xF1\xAB\xF2\xF6\x8C\xFB\xF1\xA0\xFB\xB6\xFE\xF6\xDD\xF2", - "\xD9\xF2\xF9\x66\xF3\xF3\x9B\xC1\x39\x96\x02\x25\xF9\x02\xE1\x04\x80\xFA\xF1\x82\xF7\xCB\xF5\xF9\x0C\xFE\xE5\xCA\xF8\x98\xF1\xF4\xC4\xFB\xC7\xE6\xFA\x75\xF4\x04\x39\xF9\x88\x04\x04\x53\xDE\xCF\xE3\xFA\x40\xFF\xE8\xD1\xFB\x90\xF1\xF3\xB4\xFA\xD5\xF5\xFA\x58\xFC\xCC\xCD\x09\x80\xE7\xE6\xF4\xF5\xCF\xE5\xF5\x1C\xFE\xE0\xE1\xFA\x84\xF2\xF4\xCC\xE4\x00\x1C\xFA\x2A\xFE\xEB\xE3\xFB\x8C\xFB\xF6\xAD\xF8\xD2\xFF\xF9\x57\xFD\xE8\xD3\xFA\xB8\xF6\xF3\x91\x0B\x44\xF7\xF1\xF3\xF1\xEF\xEC\xF9\xA7\xFD\xF1\xEF\xF8\xD4\xF1\xFB\x52\xFA\xE4\xCD\x08\x92\xE8\xF7\xFB\xF8\xD8\xE5\xFB\x62\xF8\xF1\xE4\xFA\xBF\xFD\xF7\xF3\xFB\xDF\xF5\xFB\x0D\x0E\xA6\xF8\xF3\x6A\xFF\xF5\x94\xFD\xDB\xFC\xFB\x89\xFC\xF1\xD9\xFC\xC7\xFD\xF8\x80\xFC\xD5\xF2\xFB\x9E\xFC\xEE\xE0\xFD\xAC\xF1\xF8\xA4\xFF\xE7\xE5\xFD\x5A\xF9\x21\x28\xFB\xCE\xEB\xF2\x95\xFD\xEB\xF7\xFC\x87\xFA\xF3\xCB\xFC\x68\xF7\xD6\x95\xF8\xEC\xF6\xFC\x8A\xFC\xED\xF9\xFC\xB7\xFC\xF9\x9B\xFD\xE8\xEF\xFC\xA9\xFB\x20\x28\xF9\xAE\xFA\xF7\xAE\xFE\xDA\xFB\xFD\x98\xFB\xF6\xFF\xFD\xCE\xF0\xF9\x89\x0A\x66", - "\xE9\xFB\xC5\xFF\xF6\xEF\xFC\xE4\xF1\xFB\xBD\xFE\xF2\xED\xFE\x03\x0F\xF9\xEC\xFD\xE3\xF2\xFB\xBA\xFD\xF7\xFC\xFD\xCB\xFE\xF7\xE6\xFC\xD1\xF8\xFA\xE5\xFD\x9D\xEC\xED\x85\xFE\xF8\xD1\xFE\xEA\xF8\xFB\xDF\xFD\xF2\xFE\xFE\xB4\xF9\x21\x3C\xED\xF4\xF2\xFD\xDC\xFE\xF5\xF0\xFF\xE1\xFF\xFA\xE3\xFD\xFD\xF6\xFE\xE4\xFF\xE9\xF5\xF3\xCE\x74\xFD\x7C\xFE\x53\x7F\xEE\x7D\xF5\x79\xFF\x78\x7F\xE3\x7C\xF0\x7C\xDC\x51\x04\xDF\x76\x00\x85\x00\xAD\x7F\xF7\x7C\xF8\x79\x00\x8C\x7F\xFC\x7F\xFF\x7E\xFF\x57\x80\x46\x78\x00\x00\xDF\x4E\x80\x11\x83\xFB\x72\x01\x95\x80\x18\x80\x05\x8D\xFF\x4A\x80\x16\x80\x09\x80\xCC\x40\x00\x00\x78\x07\x87\x00\x9F\x80\x23\x82\x08\x85\x02\xAE\x80\x21\x82\xF8\x70\x02\xA6\x80\x34\x82\xD9\x70\xE1\x6A\x80\x13\x82\x0C\x8D\x02\xBA\x80\x2F\x80\x0F\x81\x03\xBA\x7F\x3B\x80\x10\x8D\x03\x82\x81\x27\x81\xAF\x75\xC2\x7F\x7A\xDB\x7F\xFA\x7F\x00\x84\x80\x1D\x82\x01\x89\x03\x84\x81\x19\x82\x11\x8B\xC2\x48\x81\x49\x78\x13\x8B\x02\x9E\x80\x58\x82\x13\x83\x03\xB0\x80\x19\x81\x91\x7C\x05\x9F\x81\x3E\x81\x0D\x81\x06\xA0\x81\x50", - "\x80\x19\x88\x00\x9B\x81\x63\x81\x1A\x85\x06\x8E\x78\x02\x04\x95\x78\x03\xA8\x81\x6B\x81\x1C\x87\x06\x81\x81\x73\x83\x10\x85\x07\xBF\x80\x77\x82\x18\x82\x07\xAC\x80\x75\x79\x5D\x65\x05\xB6\x7F\x57\x82\x16\x84\x07\xBC\x81\x78\x80\x21\x8A\x07\xB9\x81\x66\x7E\x67\x09\x05\x90\x80\x81\x80\x23\x8F\x04\x88\x82\x6A\x80\x24\x83\xAD\x40\x7A\x6F\x83\x20\x8B\x08\x96\x81\x8F\x82\x21\x86\x06\x9A\x82\x91\x80\x27\x83\x09\xB2\x78\x90\x79\x25\x86\x07\x9E\x82\x92\x81\x29\x84\x0A\xA7\x82\x97\x80\x20\x89\x09\xBC\x7A\xA1\x80\xF1\x76\xF8\x4E\x82\x70\x82\x29\x89\x0A\x8A\x81\x11\x80\x2B\x8F\xE9\x62\x82\x85\x83\x2C\x8F\x0A\x98\x82\xB1\x80\x2A\x8C\xD7\x76\x82\xAB\x7A\xED\x73\x00\xAA\x82\xBD\x82\x2E\x8A\xFE\x7B\x82\x3C\x79\x39\x42\xED\x78\x82\x87\x82\x2F\x80\x0B\x96\x82\x82\x83\x28\x86\x0C\x8D\x7C\x0D\x05\xB8\x7C\x0C\x9B\x82\xD3\x83\x30\x84\x0B\x8D\x82\xBC\x83\x02\x8D\x10\x2B\x7B\x80\x61\xFB\x6F\xEE\x57\x83\x9D\x81\x36\x8B\x04\x84\x83\xD0\x83\x33\x85\xE7\x7B\x7B\xE1\x80\xFF\x6F\xEF\x64\x83\x7B\x82\x39\x8D\x04\xAA\x83\xB9\x81\x34\x87\x02", - "\xA2\x00\x4B\x7D\x43\x02\xF1\x52\x83\xF6\x81\x33\x82\x0F\x9C\x83\xE8\x83\x28\x85\x0E\x64\x7C\xED\x83\x22\x72\x10\x03\x7F\xD0\x7C\x32\x8B\x0D\x99\x82\xFF\x80\x43\x8D\x0F\xA6\x7D\x38\x7D\x41\x8D\xEE\x43\x04\x3B\x7C\x3C\x82\x0B\x8F\x84\xE5\x80\x46\x81\x0F\x9A\x84\xA6\x81\x39\x4A\xF4\x52\x84\xFD\x79\x43\x0D\xF4\x6B\x72\xEE\x71\x43\x0F\x02\x39\x83\x09\x06\x17\x02\x0C\xA7\x83\x0B\x85\x31\x8C\x11\x8E\x83\x4E\x7B\x55\x76\x11\xB0\x84\x01\x85\x3D\x84\x0F\xBE\x83\xBF\x83\x3B\x7B\x12\xB3\x83\xDD\x80\x3F\x87\x13\x98\x83\x2F\x86\x44\x7B\x13\x80\x84\x2D\x85\x3A\x8D\x13\xB6\x84\x47\x85\x06\x84\xF8\x6E\x82\xC7\x81\x53\x85\xFF\x45\x85\x3E\x85\x52\x86\xF6\x52\x7E\x51\x85\x4D\x88\x13\xBF\x84\x19\x84\x56\x8B\x11\x9A\x85\x17\x84\x57\x84\x13\x90\x85\x48\x85\x77\x7A\x13\xB3\x84\x0D\x86\x4B\x8E\x15\xA5\x85\x46\x86\x58\x85\xFB\x64\x85\x2F\x84\x5A\x85\x15\xA0\x85\x57\x86\x7B\x78\xD7\x43\x85\x0E\x87\x59\x8D\x16\xB7\x85\xC9\x75\x66\x74\x17\xA6\x85\x52\x85\x56\x8D\x17\x9B\x85\x7F\x85\x49\x8E\xFC\x7B\x85\x69\x84\x5C\x80\x14\xB6\x85\x88\x86", - "\x5C\x83\x10\x28\x7F\x4C\x87\x53\x8A\x10\x8F\x86\x4E\x86\x36\x80\x19\x94\x83\xF2\x7C\x61\x8F\x16\x93\x86\x92\x85\x64\x8C\x12\x98\x86\xDF\x7D\x73\x76\x19\xA1\x85\x86\x86\x5F\x86\x15\x87\x86\x81\x87\x3F\x0E\xDD\x5F\x86\x71\x87\x68\x82\x1A\xA1\x86\x80\x86\x6A\x8F\x09\x89\x04\x1B\x81\x63\x89\x19\x8E\x86\x9A\x84\x4F\x8E\x1A\x9D\x84\x11\x05\x0A\x82\x1B\x9B\x86\xB5\x84\x51\x8C\x19\xB6\x86\x6D\x79\x39\x47\x03\xBB\x86\xC0\x87\x6F\x8E\x1B\xBD\x86\x75\x85\x69\x80\x0C\xBE\x7A\xA8\x84\x69\x87\x1B\x9F\x85\xC6\x85\x72\x8F\x1C\x8B\x87\x47\x81\x73\x8B\x1A\x91\x87\x7C\x87\x73\x8E\x16\x85\x82\x44\x7A\x75\x8D\x1A\xAC\x86\x5D\x85\x69\x8B\x1D\x8D\x83\xE5\x42\x1B\x84\x1C\x87\x87\xB4\x85\x7A\x83\x1B\xAB\x87\xBC\x85\xDB\x75\x0E\x7E\x81\x93\x7E\x78\x88\x17\xB2\x87\x89\x86\x5A\x88\x8E\x57\x86\xC8\x85\x76\x80\x1E\x90\x87\xF9\x87\x20\x85\x0E\x49\x6F\xA0\x84\x76\x85\x18\x82\x88\xF8\x86\x7A\x8D\x19\x9E\x7A\xC1\x80\x5B\x85\x1F\xBB\x87\xE3\x86\x73\x81\x1C\x88\x88\xCC\x86\x82\x84\x1F\x93\x88\xDA\x85\x50\x80\x21\x95\x87\x12\x89\x85\x8B\x20\x84", - "\x88\x01\x8A\xC6\x74\x1D\x93\x81\xDE\x85\x78\x8A\x21\x94\x88\x0C\x8A\x85\x8D\x10\x0B\x83\xE7\x86\x74\x85\x22\x9B\x88\xFD\x85\x81\x8B\xFB\x60\x7B\x21\x88\x7F\x86\x20\x85\x87\x2D\x89\x87\x83\x23\x82\x7E\xEA\x78\x4A\x83\x10\x23\x83\x29\x8A\x7E\x8C\x21\xA9\x86\x2B\x88\x89\x88\xEA\x41\x04\xEC\x81\x29\x6D\xBE\x6F\x83\x3D\x8B\x80\x85\x23\x80\x89\x3F\x8A\x83\x8D\x24\xAC\x81\x01\x04\x3E\x80\x12\x90\x7C\xFA\x81\x8C\x8D\x20\x97\x87\x4B\x8A\x93\x89\x25\x9D\x82\x03\x86\x8E\x87\x10\x96\x89\xF3\x87\x88\x82\x26\xBB\x87\x37\x7E\x97\x81\x10\x15\x84\x49\x8A\x8B\x8D\x1E\xAC\x87\x34\x8B\x8D\x8A\x22\xAC\x7C\x1E\x86\x99\x80\x00\x23\x84\xA0\x70\x94\x80\x00\x01\x80\x99\x64\x7C\x85\xE7\x68\x88\xC8\x66\x35\x89\x99\x5F\x84\x46\x88\xFF\x64\x27\x9C\x6F\xFC\x6E\x07\x03\xBD\x65\x43\xEE\x66\x67\x03\xA0\x72\x01\x5D\x62\x7B\x61\xBE\x57\x89\xDF\x87\x93\x81\x29\x9B\x89\x7B\x82\x4C\x89\x26\xB6\x88\x6C\x88\x7A\x89\x29\xAF\x89\x1E\x8B\x58\x87\x29\x8C\x89\x94\x8A\x88\x81\x24\xA3\x89\x43\x88\x00\x07\xF7\x5F\x8A\x5A\x8A\x9B\x8E\x23\xA1\x8A\x32\x8B\xA6", - "\x81\xFC\x42\x04\x4B\x85\x42\x8C\x2A\x90\x8A\xA2\x8A\xA4\x85\x2B\x9D\x8A\x91\x7C\x98\x8C\x22\xAA\x8A\x4A\x88\xAF\x8A\x26\xAD\x89\xAE\x89\xAF\x81\x2C\xBF\x8A\x9A\x8B\x81\x8B\xF5\x7A\x8A\x42\x8B\xAC\x81\x26\xA4\x89\x88\x74\xB2\x84\x2A\x8A\x8B\xBB\x8B\xB0\x87\x02\x88\x84\x49\x82\xAD\x8D\x2A\xAB\x89\xD8\x88\xB0\x89\x2D\xB8\x88\xD9\x7E\xB3\x83\x2A\x9F\x8B\xD6\x88\xAD\x86\x1A\x8D\x8B\x19\x88\xB8\x80\x2D\x89\x8B\xBE\x8B\x09\x8C\x18\xB2\x8A\xE9\x88\xA8\x8D\x2E\xA9\x8A\xD2\x8A\xBB\x8D\xE9\x4D\x04\xF3\x7C\xAA\x88\x25\xAF\x8B\xF7\x89\xBC\x80\x2F\x9B\x8B\xAB\x81\x44\x08\x27\xAC\x8B\xFA\x89\xBE\x8C\x2F\xAB\x8A\xF8\x8B\xA4\x84\x19\x83\x04\x0D\x82\xBD\x86\x30\x81\x8C\x0B\x8F\xC0\x82\x2C\x8E\x8C\x75\x79\x6C\x80\x30\x90\x8C\x98\x88\xC5\x82\x2F\x96\x8C\x9B\x83\x7F\x7E\x2D\xA1\x8B\xCB\x88\xC7\x89\x17\x91\x04\xC3\x87\xC4\x8A\x2D\xA3\x8C\xC5\x88\xC9\x8C\x29\x85\x8C\x82\x87\x40\x02\x05\x93\x7C\x54\x81\x7C\x8F\x2C\xA8\x8C\xD7\x8A\xC9\x84\x30\xAF\x88\x17\x88\x88\x85\x2E\x9E\x8C\xE8\x88\xC3\x87\x2B\xAE\x87\xF3\x5F\xC6\x87\x2E\xAF\x8C", - "\x3A\x8D\xCC\x8B\x02\xA5\x87\x3E\x8C\xCC\x82\x2E\x87\x8D\x1D\x8F\xAE\x75\xE6\x4A\x8C\x3B\x8D\xD0\x88\x34\x91\x8B\xC6\x8B\x7D\x85\x31\xB2\x8C\x0F\x8C\xD5\x84\x2C\xA7\x8C\x34\x8D\x43\x00\x20\x97\x8C\x56\x8F\xD4\x85\x32\x9F\x8D\x58\x8D\xD4\x8A\x32\xAD\x82\x22\x8C\xD8\x83\x33\x98\x8C\x02\x8D\xD7\x8C\x35\x9C\x8B\xA9\x78\xD9\x85\x2D\xBF\x8C\xE6\x8A\xD1\x89\x34\x87\x8C\x6D\x8F\x2D\x8C\x34\x82\x8D\x61\x8E\xDA\x8B\x2F\xBA\x8D\x69\x8C\xDB\x81\x10\x2B\x8C\x75\x79\xCB\x87\x35\xA7\x8D\x7C\x8D\xC3\x85\x38\x8D\x8D\x68\x8F\x6B\x83\x6A\x45\x8D\x4E\x8F\xDC\x8D\x38\x90\x8D\xF1\x7F\x40\x0E\x27\xA5\x8D\x79\x8E\xD9\x85\x35\x96\x8E\x83\x8F\xE5\x88\xFD\x42\x04\xE0\x81\xA0\x86\x10\x81\x04\x3C\x88\xE5\x84\x38\x98\x8E\x5E\x8D\xE5\x86\x3A\xA3\x8E\x9B\x8C\x91\x82\x27\x88\x89\xA2\x8E\xE6\x88\x3A\xAF\x8E\xAE\x8D\xEC\x89\x39\xB5\x79\x52\x8A\xE7\x83\x11\xA0\x66\x77\x8F\xD3\x89\x33\x89\x8E\x88\x8D\x2D\x83\xF2\x72\x89\xD4\x8B\x1F\x81\x37\x8F\x8E\xBB\x8F\xE1\x87\x0A\xA5\x89\x53\x8A\xC9\x71\x11\x28\x89\xAD\x8F\xEC\x85\x3A\xB0\x8E\xCE\x8F\xDA\x87", - "\x3A\xBE\x87\x11\x04\xA0\x84\x28\x9F\x8E\x73\x8B\xA1\x8B\x74\x71\x88\xB9\x72\xE2\x87\xCC\x69\x70\xC8\x72\x30\x7A\xC2\x53\x7C\xC3\x72\xF7\x81\xCC\x6B\x70\xE5\x8D\xCA\x8F\x3D\x88\x67\xCB\x72\x9D\x8E\xCC\x6B\x70\xFB\x83\x09\x82\xCD\x63\x08\xD4\x73\xCD\x80\x37\xB8\x8C\x40\x8E\xD8\x82\x10\x2B\x7E\xC2\x8C\xFE\x83\x3C\xBC\x8E\x78\x8D\x2F\x86\x29\x8D\x8F\xCF\x8E\xEC\x85\x40\x91\x8F\x7B\x8C\xE9\x89\x01\xA7\x8A\x04\x92\xF4\x80\x3D\x87\x90\x10\x92\x03\x96\x40\x8A\x85\x8C\x8C\x00\x9A\x3B\xB9\x8F\xC6\x8D\x39\x44\x15\x91\x90\x09\x93\xF4\x88\x40\xBD\x8D\x1E\x90\x07\x90\x42\x8F\x90\x12\x93\x07\x96\x38\x8A\x90\x66\x7C\xFF\x8E\x32\xBF\x8F\xC6\x8F\x05\x9C\x42\xBE\x8D\x00\x02\xF6\x7D\x3F\xB7\x8F\x34\x92\xDC\x80\x39\xB0\x90\xC1\x8F\x0A\x9E\x3F\xBB\x90\x35\x90\xF1\x86\x1F\x9D\x8B\xF6\x8E\x0D\x95\x3C\xA8\x90\x23\x90\xF5\x8B\x16\xB9\x8E\x8E\x8E\x05\x99\x44\x99\x90\x11\x07\xBA\x8F\x36\x82\x91\x18\x90\x11\x97\x42\xA1\x90\x19\x81\xBD\x8D\x40\x9D\x90\x24\x90\x16\x93\x41\x9A\x91\x26\x90\x6E\x8D\x10\x3F\x8B\x4F\x92\x0F\x9F\x42\x94\x91\x5C", - "\x92\x08\x96\x3E\x80\x00\x09\x8F\x15\x95\x44\x9D\x91\x01\x93\x16\x9B\x46\xA6\x91\xEA\x8D\x40\x02\x31\xA1\x91\x4A\x93\x0D\x94\x46\xAF\x91\xE4\x85\x6E\x85\x41\xAD\x90\x4B\x92\x14\x9D\x3B\xB0\x90\x21\x8C\x1D\x9C\x47\xB6\x91\x59\x90\x1E\x95\x46\x91\x81\x6E\x8F\x0C\x90\x45\xA3\x91\x85\x93\x14\x9D\x48\xB1\x91\x00\x00\xE0\x87\x02\x82\x8E\x70\x91\x1B\x9C\x46\xAE\x90\x3C\x90\xDD\x81\x10\x1E\x81\x86\x91\x27\x9E\x48\xAE\x91\x9F\x93\x25\x9A\xDB\x6D\x81\x7B\x92\x1F\x96\x49\x95\x92\x98\x90\xAB\x8F\x1E\xA5\x92\x77\x91\x28\x98\x4A\xBD\x91\xFD\x89\xDC\x62\x4A\x84\x92\xA0\x93\x1F\x9D\x4A\x9E\x91\xD6\x5C\x2B\x9F\x48\xA7\x92\x25\x93\x2B\x9E\x15\x9F\x88\x2C\x8E\x2E\x95\x4B\xBC\x92\x87\x91\x31\x9E\x49\xB8\x92\x63\x8E\xDD\x8A\x46\xAE\x92\xBD\x91\x33\x96\x4C\x8C\x93\xCF\x90\x24\x92\x49\x99\x80\x94\x92\x33\x97\x4C\x84\x93\xD7\x91\x2A\x9C\x33\xA0\x82\xCA\x92\x20\x96\x4A\x9A\x93\x62\x91\x26\x99\x35\x89\x04\x7C\x8A\x37\x97\x4B\x98\x93\xD0\x91\x36\x90\x4B\x82\x90\x11\x07\xE4\x86\x4E\xBB\x92\xE0\x91\x1D\x93\x44\xA9\x8E\x00\x01\xE7\x87\x3D", - "\xB7\x8E\xA0\x8E\x30\x93\x4B\xB3\x93\xF0\x92\x89\x89\x10\x05\x89\xF7\x91\x48\x89\x10\x2C\x8E\xEF\x93\x30\x91\x4F\x83\x92\xFC\x92\x37\x89\x10\x35\x8E\x01\x94\x95\x89\x10\x31\x8F\xD6\x91\x3A\x92\x51\xB6\x92\xFD\x93\x2F\x9F\x3B\x89\x8F\x27\x7E\x3E\x9E\x4B\x89\x94\xFB\x93\x74\x81\x11\x11\x84\xB6\x8E\x40\x94\x11\x9A\x94\x11\x94\x45\x96\x50\xAB\x93\xC3\x91\x9C\x88\x51\x8C\x7D\x67\x70\x7B\x6E\xC3\x7B\x60\x86\x03\xE6\x60\x53\x99\x71\xD1\x60\x22\x02\x53\xB5\x94\x37\x94\x5B\x6F\x08\x34\x94\x3A\x95\x17\x6C\x40\xA5\x70\xB1\x89\x09\x7B\x41\xB9\x91\x47\x90\x72\x69\x43\xB5\x79\x32\x93\xC4\x79\x54\xA7\x7F\x5D\x62\x15\x95\x50\x80\x80\x5D\x61\x1A\x95\xC2\x73\x91\x2B\x73\x34\x96\xF6\x55\x93\x66\x7E\x55\x96\x27\x98\x95\x76\x88\x27\x97\x46\xA6\x87\xCB\x90\x24\x9A\x27\xA7\x80\x9E\x07\x7F\x8D\x85\x5A\x95\x67\x90\x57\x97\x46\xA8\x95\x90\x92\x5A\x92\x4D\x89\x92\x13\x7C\x5B\x93\x2E\x8D\x04\x6E\x97\xF1\x81\xED\x5C\x8F\xED\x91\x17\x66\x4F\xA7\x67\xE2\x81\x17\x60\x50\xBC\x95\xEE\x81\x17\x6C\x50\x80\x96\xD8\x8C\x44\x96\xF6\x44\x84\x21\x96", - "\x43\x92\xFC\x5D\x61\x20\x95\x43\x9A\x3C\x8D\x04\xCC\x8F\x53\x97\x02\x96\x8F\x84\x94\x3E\x99\x3D\xAB\x94\x0D\x07\x2A\x0D\x52\x90\x70\x03\x05\x14\x68\x3D\x83\x95\x7F\x73\x24\x79\x10\x00\x01\xE9\x5C\x1F\x08\xCA\x41\x04\xA4\x97\x0E\x66\x5A\xA4\x84\xE2\x6E\x0C\x09\x7E\x65\x01\xA7\x94\x00\x0A\x00\x29\x5F\x98\x57\x18\x78\xC9\x41\x6D\xE9\x5C\x03\x01\x5B\xBA\x86\x6C\x65\x39\x98\xC4\x5C\x6D\x20\x8D\xFA\x51\x0B\x31\x96\x62\x73\x80\x66\x0B\x04\x97\xE9\x5F\x71\x9C\x5A\x97\x5E\xC5\x95\xFB\x6A\x5C\xB5\x89\xD9\x6D\x73\x9C\xBF\x4F\x97\xA4\x73\xE9\x63\x10\x2C\x00\xE9\x5D\x16\x01\x5B\x8B\x01\xE9\x5E\x23\x04\x52\x91\x93\xE8\x92\x49\x9D\x51\x8F\x88\xC7\x89\x10\x91\x4E\xBD\x90\xF2\x91\x32\x8E\x29\xA1\x95\xE1\x95\x7B\x97\x50\x9F\x93\x39\x85\x43\x0F\x53\x8A\x92\xE7\x97\x22\x92\x4E\xA9\x97\x43\x79\x44\x01\x54\xB4\x97\xF8\x97\x7D\x98\x50\x91\x91\xF4\x90\x68\x9A\x4E\xB4\x92\xE3\x96\x7F\x90\x5F\x84\x98\x1B\x94\x80\x9B\x4B\x83\x90\x92\x95\x49\x9E\x5E\xA8\x94\x05\x98\xAE\x83\x18\xA6\x97\xFD\x94\x7A\x9F\x5F\x8C\x8B\x0D\x07\x51\x99\x60\x8C", - "\x92\x27\x94\x82\x94\x54\x93\x98\x48\x92\x87\x90\x5E\xAF\x97\xE7\x92\x5E\x84\x61\x97\x98\x06\x9B\x39\x92\x2E\xA5\x43\x4E\x90\x7F\x98\x62\x96\x98\x07\x98\x47\x97\x02\x8E\x95\x2E\x99\x8C\x9A\x60\x9D\x98\x32\x9B\x87\x93\x10\x20\x91\x35\x9A\x8A\x90\x61\x9B\x98\x29\x9B\xAB\x81\x10\x12\x95\x3D\x99\x45\x99\x63\xA3\x98\x3F\x99\x06\x84\x55\xBA\x90\x30\x9A\x8F\x92\x62\x97\x93\x1A\x8F\x89\x96\x63\x9C\x98\x11\x9B\x36\x99\x10\x01\x92\x45\x98\x8E\x97\x63\x95\x99\xF5\x97\xBC\x89\x10\x32\x95\xE5\x41\x5D\x94\x62\x86\x99\x5B\x98\x90\x9A\x34\x9C\x93\x09\x89\x88\x97\x64\x83\x98\x6B\x9B\x44\x93\x57\x89\x04\x5E\x96\x78\x96\x66\xB6\x97\x4D\x9B\x82\x91\x11\x20\x95\x0D\x98\x92\x9F\x64\xAE\x99\x63\x9A\x11\x90\x96\x5F\x97\x6C\x99\x99\x9E\x60\xAB\x98\x71\x6C\x93\x94\x67\x87\x9A\x5D\x99\x85\x9A\x49\xA7\x6A\x52\x9A\x93\x9D\x66\xB2\x99\x83\x9B\x28\x9F\x37\xB0\x95\x5C\x9A\xA2\x99\x68\xAF\x98\x56\x99\x32\x99\x66\xAC\x97\x7D\x99\xA5\x98\x69\x81\x8D\xC0\x91\xE0\x80\x68\xBC\x99\x49\x9A\x9E\x9A\x1C\xB5\x8C\xC1\x91\xA3\x94\x66\x94\x99\x73\x9B\xA5", - "\x90\x43\xBE\x96\x86\x9A\xAB\x9E\x68\x82\x9A\xA6\x9A\x7A\x95\x0D\xA3\x9A\x90\x99\xAD\x9C\x6A\x91\x9A\xE9\x7B\x40\x0B\x57\xB5\x70\x7D\x96\xAA\x9A\x65\xBB\x9A\xBA\x9A\xB5\x8A\xEF\x6B\x8E\xB8\x9B\x83\x9B\x67\xB9\x9A\x81\x99\x7E\x98\x55\x32\x89\x86\x95\xB3\x91\x64\x83\x9B\xD3\x9A\x40\x87\x51\x89\x96\x8F\x97\x5C\x82\x6C\x9E\x9A\x53\x99\xB5\x95\x49\x88\x8F\xD8\x9A\xCE\x79\x6C\x9D\x9A\xAD\x9A\xA5\x90\x40\xAA\x94\xE1\x98\x4B\x9C\x5A\x9D\x72\x50\x61\xFA\x52\x60\xB7\x6C\xF1\x6C\x6A\x95\x5A\xB1\x96\xA9\x95\x34\x6B\x5A\x90\x97\xC2\x6E\x6B\x9B\x83\x70\x96\xCB\x94\xD6\x24\x5B\xB1\x96\xDF\x71\x04\x6A\x5B\xBD\x9B\x0D\x04\x6F\x96\xAA\x70\x9A\xCA\x6F\x6D\x9D\x10\x18\x99\x4C\x70\x00\x03\x5C\x84\x9C\x09\x06\x74\x98\x3D\x94\x97\x9B\x73\x1E\x7D\x10\x12\x9C\x96\x94\xC5\x9F\x5B\xB7\x71\x17\x9D\x72\x98\x5C\xBB\x60\x1A\x9E\x6D\x9A\xD2\x57\x5E\xD8\x97\x0E\x6A\x5D\x90\x9C\x03\x04\x77\x9B\x83\x5E\x97\xDB\x99\xB9\x9F\x69\xA6\x9B\xBE\x8D\x79\x9A\x66\xB4\x9A\xD2\x99\x9D\x9E\x67\x83\x04\x2A\x90\xB7\x93\x6B\x84\x9B\x35\x9D\xA6\x92\x10\x33\x97", - "\xB1\x98\xCC\x9D\x6D\xB6\x9C\x3A\x9E\x90\x90\x00\x3B\x97\x41\x9F\xCB\x9A\x74\x83\x9D\x88\x9A\xA3\x79\x2B\xAD\x9C\xBC\x9B\xA3\x9A\x6C\x92\x9D\xE4\x99\xD4\x94\x73\xAE\x99\x0C\x99\x96\x95\x74\x94\x9B\x44\x9E\xCB\x90\x43\x8B\x95\x5E\x9F\xCE\x9E\x6D\x96\x9D\xE4\x96\xB6\x93\x73\xBC\x9C\xA4\x9B\xB2\x9D\x5E\xA6\x98\x67\x9F\xD8\x95\x6C\x9D\x9D\x0E\x98\xDB\x9C\x69\xA5\x9A\x3D\x9E\xAC\x96\x67\xAB\x76\xE3\x98\xDD\x99\x76\x94\x9D\x92\x98\x00\x04\x63\x89\x9D\x4C\x9E\xDD\x9C\x75\x8D\x9D\x31\x9D\x42\x0C\x63\x80\x9E\x62\x9C\xDC\x9F\x76\x84\x9E\x30\x90\x91\x98\x78\xAB\x9A\x6E\x9D\xDD\x92\x74\xB4\x93\x4B\x9B\xD6\x96\x79\xA1\x9D\x90\x9F\x99\x99\x10\x06\x9C\x5A\x9C\xE6\x93\x78\x82\x9E\x6C\x92\x70\x89\x77\xAA\x9D\x55\x9F\xE2\x9E\x65\x9A\x9A\x11\x89\xDB\x9A\x78\x92\x9E\x4B\x9D\x89\x98\x6A\xA2\x9A\x50\x9E\xE9\x93\x79\x99\x9E\x30\x8D\x77\x81\x7B\xAC\x9E\x81\x9F\xEC\x99\x52\xB7\x99\xA3\x9C\xDF\x94\x7A\xBA\x9D\x62\x95\xEF\x97\x75\x8C\x9B\x7B\x9E\x47\x92\x4B\x9E\x9E\x97\x9C\xD9\x91\x79\x95\x8A\x94\x82\xEA\x9C\x78\x89\x9E\xCF\x9F\xDD\x9F", - "\x65\x94\x9A\xC8\x9D\xF5\x9A\x7C\xAB\x9E\xCC\x9C\x9A\x99\x7A\xB3\x9D\xBF\x9D\xF7\x92\x75\xA1\x9A\x93\x92\xF0\x98\x76\x84\x9F\xE4\x9F\xD4\x9F\x43\xB5\x8D\x9B\x99\x9E\x98\x7B\x90\x9F\xA0\x9E\xF5\x99\x31\xB7\x95\xB7\x9D\xF1\x93\x7E\xA6\x9F\xF3\x9C\x8C\x81\x7F\xA5\x9F\xA5\x9F\xFA\x92\x7D\xBE\x9A\x72\x89\xE8\x8A\x7E\xB2\x9F\xCB\x9C\xFE\x90\x7C\xAF\x99\x03\x07\x5F\x90\x6C\x81\x96\xF7\x9C\xFD\x91\x80\x8A\xA0\xAA\x92\xC3\x78\x59\x8F\x94\xE2\x9F\x02\xA9\x7F\x80\xA0\x9A\x9F\x40\x08\x58\x8E\x96\x19\x95\x02\xA3\x81\x82\xA0\xDE\x9F\xF9\x91\x10\x0D\x96\x95\x96\x48\x92\x10\x11\x96\x9D\x9F\xF5\x91\x7D\x9F\x9E\xBA\x9E\xB5\x9D\x10\x14\x96\x07\xA0\xF6\x83\x28\xBF\x9F\x1C\xA2\xEF\x92\x83\x9E\xA0\x67\x7D\x04\xA8\x7D\xB1\xA0\xC3\x9C\x01\xAB\x3F\xB6\xA0\x27\xA1\xF2\x92\x7B\x85\x9E\x03\x04\xD0\x9E\x83\xBA\x9F\x28\xA1\xEB\x9C\x4E\x83\x7E\x3C\xA1\xFB\x96\x82\x8A\xA1\xEF\x9F\xD3\x9E\x7C\x8C\xA1\x44\xA3\x10\xA4\x81\xBD\xA0\xEE\x9D\x14\xA5\x85\xA7\x91\x39\x9F\x15\xA8\x83\xB3\x9F\x1B\xA2\x0E\xA1\x10\x20\x9D\x4B\xA1\x0A\xAA\x85\x8C\xA0\x3E", - "\x9D\x40\x0A\x61\xA1\xA1\x46\xA1\x11\xA9\x7B\x80\xA1\x02\x04\x18\xAF\x83\xAB\xA1\x70\xA0\xFB\x9A\x3F\x9F\xA1\x49\xA2\x18\xA8\x86\xB1\xA1\x47\xA1\x42\x0D\x62\x8F\x9E\x6A\xA2\x1C\xA9\x86\x92\xA1\x90\x93\xDF\x90\x88\xA4\xA1\x50\xA3\x14\xA0\x6A\xBE\x8B\x75\xA3\x1F\xA3\x86\x9D\xA1\xA7\x86\x06\xA3\x80\x9D\xA1\x84\x9B\x7B\x79\x88\xB8\xA1\x7D\xA0\xED\x97\x7A\x82\x04\x9C\x9C\x1F\xA3\x88\x90\xA2\x03\xA2\xE8\x9E\x88\x9D\xA0\x5C\xA2\x3F\x98\x7A\x98\x88\x4F\xA2\x1D\xAF\x86\xBE\xA1\xA6\x90\xF8\x94\x4D\x93\xA2\xA8\xA1\x2B\xA6\x89\xB3\xA1\x04\x68\x2B\xAF\x8A\x8A\xA2\x77\xA1\x2C\x93\xE5\x72\xA2\x95\xA1\x2E\xAB\x89\xB1\x97\x7F\x9B\x27\xA3\x83\xA1\xA2\x16\x97\xF1\x95\x8B\xB3\xA2\x94\xA3\x2E\xAD\x6B\x82\x04\x5B\x8F\x29\xA4\x8C\xAE\xA2\xBA\xA0\x77\x8F\x7A\xA1\x9F\xBE\xA1\x0E\xAC\x89\x81\xA3\xD3\x9D\x37\x95\x82\x8A\xA3\xCD\xA3\x30\xA9\x8D\x99\x95\xD4\x9E\x36\xA6\x8C\xBF\xA2\xC6\x9B\x33\xAB\x8A\x91\xA3\xC0\xA0\x38\xA7\x83\x9E\xA1\x00\x00\xC2\x9B\x88\x8F\xA2\xEC\xA0\x35\xA2\x39\xB8\xA2\xDF\xA2\x34\xA2\x8A\x9C\x8E\xFD\x9C\x3C\xAB\x8E", - "\xA0\xA2\xE1\xA1\x43\x06\x80\x93\x73\x47\x8A\x3D\xAE\x8D\xB7\xA3\xDF\x9E\x03\xA9\x6E\x95\x89\xE4\xA2\x04\xAD\x8E\xA7\x9A\x0D\x07\x05\xA1\x82\x8A\x96\x5F\x89\x41\xA7\x8E\x93\xA3\x08\xA5\x42\x00\x82\xAD\xA0\x96\x94\x09\xAA\x89\x80\xA4\xF2\xA0\x3E\xA2\x61\x83\x04\x2C\xA0\x3F\xA2\x28\x9B\x96\xB1\x71\x67\x9E\x6E\xB4\x9B\xF3\x98\xCA\x92\x10\x35\x9B\x6C\x67\xBD\x95\x5D\xBB\x6E\x09\x06\xBE\x91\x8D\x7C\x9B\xF8\x9A\xF8\x63\x5B\xBB\x60\xB5\x95\xC2\x93\x72\xB8\x96\x3B\x63\xC0\x91\x93\x97\x5E\x99\xA3\x80\x6A\x8E\xB0\x72\xA2\x97\x83\x72\x5C\x9F\x9C\xD1\x61\xC8\x96\x93\x80\x97\x1D\x9C\xC8\x94\x94\xAC\x65\x46\xA7\x25\x77\x93\x89\xA5\x45\xA5\x6C\x95\x72\x91\x63\x27\x9F\x4E\xA1\x11\x2A\x9C\xD1\x60\xCB\x95\x8A\xB4\xA2\xD8\xA1\x3C\xAE\x6C\xAA\x7E\xFE\xA1\x57\xA8\x91\x98\x98\x60\xA6\x43\xA4\x85\xBF\xA3\x68\xA5\x13\xA9\x10\x02\xA1\x63\xA6\x41\xAA\x91\xA5\xA1\x47\x9D\x58\xA6\x85\xA9\xA5\x73\xA6\x5A\xA3\x10\x2F\x9B\x5B\xA2\x5B\xA6\x8E\xA7\xA5\x62\xA4\x5D\xA6\x88\xA6\xA2\x76\x89\x16\xAE\x97\xB9\xA5\x0F\xA5\x27\xA4\x2E\x9B\xA5\xC5\xA1", - "\x5B\xA5\x98\x87\xA3\x66\xA2\x5C\xAF\x97\x9C\xA5\x75\xA4\x97\x87\x98\x9C\x9F\x7B\xA5\x21\xA4\x98\xB0\xA5\x6E\xA1\x64\xAF\x98\x89\xA6\x83\xA6\x5D\x98\x77\xA6\xA5\x96\xA4\x21\xA0\x98\x99\x9F\x95\x84\x68\xA3\x9A\x97\xA6\xA1\xA6\x07\x8E\x19\xA6\xA6\x90\xA7\x66\xAC\x8C\xAA\xA0\x09\x06\xE3\x9E\x95\xBA\xA5\x19\xA5\x4C\x81\x11\x15\x9E\x8A\xA4\x5F\xAA\x99\xA5\x9F\x51\x98\x62\xAF\x9A\xB9\xA6\xA1\xA6\x27\xAE\x9B\x8B\xA3\xC4\xA7\x36\xA0\x65\xA2\xA3\x57\x96\x63\xA8\x9A\xA7\xA6\xA2\xA4\x1B\xA3\x69\x96\xA3\x17\xA5\x67\xA0\x91\xB5\xA6\x34\xA1\x9C\x9D\x9C\x9C\xA6\x7D\xA5\x76\xA2\x99\x8D\x04\x78\x9B\x35\xAB\x9B\x97\xA7\xBF\xA6\x74\xAD\x77\xA3\x95\xE2\xA7\x5B\xA9\x9A\xBC\xA2\x74\x78\x70\xAC\x9C\x93\xA7\x65\x9C\x0B\x6A\x9C\xA0\xA7\xC5\xA7\x6C\xA5\x81\xA8\x9F\xDB\x9C\x0C\xA0\x9F\x86\xA7\xAE\xA5\x7C\xA5\x04\x9D\xA3\xDA\xA5\x7E\xA8\x9F\x8B\xA7\xCE\xA5\x24\x9C\x9F\x9F\xA7\xEC\xA4\x6D\xAD\x9E\xB4\xA7\xA4\xA0\x65\xA4\x9D\xA5\xA3\x0B\xA9\xA9\x8F\x93\xBD\xA7\x00\xA8\x76\xA4\xA0\xA8\xA7\x02\x06\x3B\x9E\x9D\xBE\xA7\xF2\xA6\x6E\xA8\x75\x91", - "\x04\xBF\x9A\x47\xA8\x3D\xBE\x9F\x17\xA9\x84\xA1\x9E\x90\xA8\xF7\xA7\x3A\x88\x6C\xAC\xA6\x12\xA8\x86\xAA\x9E\x91\x8E\x02\x07\x60\x94\x91\xA2\xA0\xA1\x63\x7B\xA5\xA0\x8B\xA6\xB6\xA5\x42\xA0\x3C\xB2\xA8\x07\xA5\x83\xAB\x91\x82\x04\x13\xA6\x87\xA5\x91\xB8\xA8\xE6\xA7\x7A\xA3\x8F\x81\x04\x1D\xA4\xFD\x8D\xBE\x6F\xA0\x21\xA9\x89\xAB\xA2\xA9\xA8\xC8\x93\x0E\xA8\xA2\xA3\xA8\x13\xAA\x3B\xAE\xA4\x83\xA7\xFF\xA6\x92\xA5\x9E\xB5\xA8\x6B\xA4\x90\xA5\x99\x82\xA9\x1F\x8C\x12\xAF\xA4\xBA\xA7\x57\xA9\x0E\xAA\x41\x9A\xA9\x3A\xAA\x86\xA2\xA2\xA0\xA9\x24\xAB\x8C\xA0\x97\x82\xA6\x69\xA9\x8E\xAC\xA0\x87\xA8\x74\xA3\x97\xA5\xA5\xAA\xA9\x87\xA1\x86\x94\xA6\xAF\xA9\x06\xA8\x9C\x83\x99\xB6\xA7\x74\xA8\x97\xA1\x90\x85\x95\x7C\xAA\x9B\xA9\xA7\xA7\xA3\x2C\x9B\x9D\xA3\xA8\xA6\xA9\x6B\x9D\x44\x02\x88\x8B\xA9\x50\xAA\x8A\xA1\xA6\x9F\xA5\x3B\x9A\xA1\xA4\xA3\xA5\xA9\xE3\x90\xC2\x82\xA9\x88\xAA\x7D\xA9\x80\xA8\x9B\x8F\xAA\x87\xAB\x79\xAC\x98\xA8\x80\x97\xAA\xA7\xAB\xA5\xAC\xA8\x01\x04\xC3\x99\xA1\xA2\xAA\x94\xA8\x2C\xA0\x66\x91\x04\x62\x9A\xA0", - "\xA3\xA9\xB8\xA9\xF3\xA7\x73\xA9\x7E\x89\xA9\x99\xA8\x93\xA6\xA5\xB6\xA5\x02\x06\x75\xA5\xAB\x8D\xAA\x67\xAB\xEE\x9C\x9D\xA1\xAA\x7E\xA9\xAA\xAC\x44\x96\x65\xC0\xA9\x6B\xAD\xAB\x83\xA2\xE5\x42\x22\x8E\xAA\x98\xAA\xCB\xAB\x25\xAD\xC4\x54\xA9\xA7\xA9\xB0\xA5\x7F\x88\xA7\x5B\x95\xB1\xA6\xAB\xBB\xAA\x79\xA3\x28\xA6\x33\x90\xAB\x8C\xA8\x9A\xA1\xA5\x8A\x86\x08\xAB\xB6\xAA\xA0\xB0\xAA\xCC\xAA\xDA\x9A\x8A\x89\xA7\x72\xA9\xB4\xA6\xAC\xB7\xAA\xDB\xA4\x39\x96\xAD\xBC\xAA\xEC\xAA\xA3\xA8\xAB\x89\x0D\xEF\xAA\xB7\xA2\xAF\x9F\xA7\xE5\x41\x87\xA6\xA4\xBC\x6F\x20\xA9\x74\xAD\xA6\x81\xA9\xEB\xAB\x9F\x7A\x8F\xA7\xA8\xDC\xA8\xA7\xAF\xAA\x8B\xA0\xE5\x42\x8B\xAE\xA3\xB0\xA8\x00\x01\xB4\x97\xAF\x8F\xAC\xC7\xA9\xB7\xAA\x50\x96\xA0\x37\xA9\xBA\xA2\xB1\xAA\xAB\xA9\xA3\x47\x92\x27\x96\xA4\x18\xAC\xBC\xA8\xAD\xBE\xAA\x09\x05\x91\xA6\x1F\x03\x68\x48\xAA\xC8\x96\xAB\x6C\x9B\x22\xA7\x0E\x68\x97\x98\x6C\xF1\x98\x1F\x35\x92\x96\xA5\x0D\x04\x4A\xA6\xAA\x6A\xA4\x15\x9D\x29\x73\x10\x2E\xA4\x6C\x64\x4C\xAB\x92\xA6\x6F\x33\xA5\x34\x65\x93\x8E\xA5", - "\x48\xA5\x42\x01\x70\x91\x04\x3A\xA7\xCE\xAF\xA5\x7D\xA4\xED\x6F\x83\xAE\xB2\x6D\xAC\xA6\xA9\xFB\x6F\x70\xB0\xAC\x11\x9E\xC7\x96\x92\x81\x04\x18\x9C\xC3\xAD\x94\x80\xA5\x0A\x9D\xD4\xAA\x94\x93\xAD\xD2\x62\xD4\xA0\xB5\x97\x97\xD9\x97\x76\x9D\x5D\x83\x6A\x3B\x61\xD3\xA8\xB5\xAA\x74\x5A\x69\xFA\x56\xB6\xA1\x96\x59\xAD\xCA\xA1\x8D\x6B\xAC\x69\xAD\xD9\xA4\x92\xAA\x96\x64\xAD\x34\x6B\xB6\x8B\xAD\x9C\x97\x49\xAF\xB2\x85\x6E\x75\x68\xC3\xA7\xB7\xB0\x9B\x79\xAD\x40\x08\xB3\xA6\x6A\x3A\xAF\x14\x75\xA6\x72\xAD\x5C\xAD\xCF\xAC\x96\x7F\xAC\x15\x60\x95\x6A\xB6\x80\x9C\xB9\x95\xDD\xAC\x96\x7F\xAD\x0A\x6E\xD2\x68\xB4\xBC\x6F\x4A\xAC\x50\x6A\x74\x48\xAE\x5F\xAE\x40\x04\xB9\x99\x9B\x03\x07\xD3\xAC\xB7\x8F\xAE\x5C\xAD\xD5\xAC\x90\x81\x04\x57\xAC\xC3\x6B\xB9\xB6\xAD\x4B\xA6\xA9\x69\xBA\x87\x04\x71\xAC\xEB\xA5\xBA\x9E\xAD\xA3\xAC\xE7\xA6\xB4\x89\x6B\xA6\xAC\xE8\xA2\x10\x2F\xAE\x9A\xAE\x30\x46\xBB\xB5\xAC\xD6\x96\x40\x03\x95\xAC\x65\x55\xA5\xED\xA2\xBB\x9D\xAE\x01\x04\x56\xAC\x96\x5A\xA5\xC8\x67\x49\x8F\x80\x83\x04\x2A\x86\x25\x6E", - "\xBC\x83\xA4\x29\x85\xBD\xA3\xA7\x8D\xAB\x4E\x9D\x59\xA5\xB0\xBF\xAB\xA3\xA9\xC6\xA2\x73\xA3\xAB\x9D\xAA\xB4\xA8\xB0\xB6\x7D\xD6\xAD\xC7\xA6\xAF\xBC\xA6\xFA\x95\xF9\xA7\xB1\xAB\xAF\x3A\x9A\x40\x0B\xB2\x9F\xAC\xE6\xAF\xF5\xA0\xB0\x97\xAB\xD8\xAD\x80\xAC\xA6\x9F\xAB\xC2\xA8\xFD\xAD\xA5\xA0\x98\xE0\xAF\xC1\xAE\xBF\x88\xAA\xE5\x43\x19\xAC\xBD\xB9\xAF\x1E\xAC\x85\xA1\xA7\x9B\xAF\xF8\xAC\xB9\xA1\x9C\xBB\xA9\xB4\xA9\xFD\xAA\xBF\xBF\xA9\x7A\xA2\xFA\xA6\xB0\xA5\xAB\x58\xAB\x6E\x72\xC1\x83\xB0\x0A\xB3\xB9\x98\x88\x96\xAC\x13\xB0\xAA\xA4\x96\x96\xAA\x1C\xB0\x06\xB1\xBE\x83\xAB\xB0\x87\x05\xB9\xC0\xA3\xB0\x30\x93\xE5\xA2\xC2\xBF\xAF\x1E\xB1\xA9\x8F\xB9\xB0\xAF\xEC\xAF\x0A\xBB\x68\xAB\xAA\x74\x96\x09\xB0\xB1\xB1\xAB\x11\xAC\x22\x90\x9D\xB1\xAF\x3C\xB1\x0C\xBD\xAE\xA4\x5E\x36\xB1\x0E\xB2\xC3\xB5\xA9\xB7\xA1\x08\xB7\xC2\xAC\xB0\xCC\xA7\x2A\x96\xC4\xB7\xB0\x30\xB1\xDC\x95\x68\xBD\xB0\x1D\xB2\xF8\xAB\xA3\x8F\xAB\xFD\xAC\x05\xB4\xC0\xA7\xAF\xE8\xA0\x0D\xB9\x10\x2D\xAA\xF3\xAD\x01\xBD\xC5\x86\x9D\x5A\xB3\x40\x0C\xC5\x9D\xAF\x5E", - "\xB0\x19\xB0\xC6\x83\xA8\x4C\xB2\x03\xB5\xC6\xB6\x9A\xD5\xA3\xAC\xAE\xAF\x87\xB1\x56\xB1\x06\xB1\xA0\x99\xAE\x42\xB0\x1C\xBD\xC2\x84\xAA\x79\x97\x12\xB5\xC7\xA9\xB1\xE6\xA8\x87\xA5\x8F\xBA\xB1\x38\xB1\x20\xBC\x88\x91\x04\xFB\xA3\xBE\xA8\x3D\x84\x94\x0D\xB3\x17\xB2\xBF\x90\xB0\x03\x06\xC2\xA6\xC8\x96\x96\x0E\xAF\x1E\xB2\xC9\x82\xB2\x86\xA6\x8D\xAF\xBC\x8D\xA4\x08\xB0\x1F\xB6\xC6\x95\xA9\xE0\x98\x06\xAB\x3C\x81\xB1\x94\xB2\x22\xB1\x7A\x95\x8F\x72\x89\xC9\xA7\x94\xA9\x68\x28\xAE\x03\x63\x92\x9C\xAD\x32\xAE\xDC\x64\xB3\x9B\x9C\x85\x73\x40\x0D\xCA\x8D\x9C\xAF\xB2\xC9\xAC\x71\xAD\xA4\xAF\x95\x6C\x9A\xB8\xA6\x6A\x8C\xAC\xDB\xAF\x94\x82\xAD\x91\xAC\xD7\xAA\xC2\x96\x96\x74\xB0\xCB\xA1\xB8\x80\x00\x9F\xAD\x04\x62\xBA\x80\xAF\x2C\xA7\x40\x09\xBB\x91\x60\xBC\xAD\xE5\xAD\xB2\x8F\xB3\x11\x05\x34\xB6\xCC\xA1\xA4\x02\x04\x35\xBD\x10\x16\xB3\xA9\xB0\xD5\xA4\xBB\x8C\xB3\xE6\x6F\xF0\xA6\xAA\x45\xAF\xE0\xB3\x97\x6A\xBC\xA6\x6A\xCC\xAD\x09\x75\xCB\x6F\xB1\x67\x91\xFA\x88\x8E\xAE\xB3\xDD\x8C\x24\x90\xCF\xBB\x72\xED\xB3\xF8\x85\xE7", - "\x73\xB3\xBD\x72\x9D\x88\xCF\x91\x70\xC8\x67\xFB\x83\xF1\x51\xB2\xE8\xA3\xFC\x83\xB2\xAD\x6F\x37\x73\xC4\x7B\xCE\xB0\xA6\xBF\x71\x06\x8B\xCF\x89\xB4\x66\x7F\x42\xBB\x3E\xA2\x8F\xE1\x8C\xFA\x86\xCF\xA7\x80\x0E\xB5\x40\x0D\x3E\xA7\x91\xFE\xB1\x9D\x70\xD0\xA5\x43\x02\xB4\x7E\x05\x3F\x99\xB2\x93\xB1\x13\xB0\x5E\x99\x9D\xEC\xB1\x48\xBA\xC6\x98\xB1\x24\xB4\x14\xB3\xC4\x92\xB1\x70\xA4\x5B\xA1\xC5\x81\xAC\x27\xB7\xCD\x90\x2B\xA0\xB2\x22\xB6\x1D\xB9\xBD\xB7\xA5\x34\xB5\x4C\xBA\xD2\xB6\xB4\x30\xB6\x28\xBE\x8C\x9F\xAF\x81\xAA\x4F\xBF\xD2\xB6\xAA\x72\x9D\x50\xBB\xC9\xBB\xB4\x37\xB1\x00\xB9\xD3\x82\xB5\x2B\xB4\xA9\xA1\x43\x8B\xB5\x47\xB6\x0F\xB7\x46\x99\xA6\x9A\xB3\x15\xBB\xC8\xAC\xB1\x8B\x84\x54\xB6\xD5\x88\xB5\x81\xA2\x56\xB2\xC7\x8F\xB0\x58\xB6\x40\x07\x78\x9C\xB5\xA1\xB1\x54\xBD\xBE\x83\x99\x5E\xB4\x0A\xBB\xC6\x90\xAA\x02\x07\xA6\xAD\xD4\xA0\xB5\x5F\xB4\x3D\x93\xCC\x95\xB5\x71\xB4\x16\xB2\xB0\x97\x99\x69\xB4\x12\xBD\xD3\xA0\xAB\xB2\xA9\x7D\xA9\xC8\xA6\xB5\x6F\xB4\xBC\xA7\xAE\x95\xAB\x80\xB1\x4D\xB4\xD7\xBA\xA9\xDA\x61", - "\x5E\xB1\xC7\xAA\xB5\x46\x9D\x77\xA5\xD2\xA5\xB5\x5B\xB6\x54\xBD\xA4\xB4\x65\x8A\xB7\x1D\xBB\xD8\xB1\xAA\x86\x6E\x64\xB0\xD9\xB5\xB5\x32\xB4\x15\xB6\xD4\x91\xB6\x43\xB6\x60\xB4\xAD\xA9\x95\x95\xB4\x4B\xB6\xD9\x8E\xAB\x02\xAB\x0E\xBA\xD9\x86\xB6\x26\xB7\xA7\xA1\xC6\x82\x04\x63\xB0\x68\xB1\xD8\xB6\xB5\x7D\x9F\x6B\xB1\x10\x31\xB6\x9C\xB4\x59\xBC\xDA\xA8\xA3\xC5\xB3\x6E\xBE\xDB\x95\xB2\x09\x06\x85\xAF\xD8\xBF\xB6\x4C\xB7\x71\xAF\x0D\xBF\xB1\x20\xB7\x66\xBC\xD8\x9C\xB2\x84\xB0\xC1\xA5\xC5\xA7\xB6\xA6\xB5\x12\xB2\x90\x9E\xB2\x04\xA5\x72\xB4\xDC\x80\xB6\x3F\xB2\x40\x0A\x90\xAF\xA8\xA7\xAC\x00\x02\xC0\xBC\xB4\x70\xB7\x72\xB8\xD0\xBC\xA8\x1B\xAD\x69\xBB\xD7\xB2\xB6\xD9\xB4\x91\xA5\xCA\xA6\xB7\xE1\xB4\x1E\xB0\xD4\xBF\xB5\xE8\xB7\x61\xBD\x80\xAF\xB7\xC3\xB6\x4E\xBB\xDA\x83\xA9\xA6\x88\x7B\xBB\xD6\xA2\xB7\x27\x80\xD2\x9A\xDB\xB6\xB7\xA1\xB6\xD1\x9F\xBE\x80\xB8\xB3\xB7\x55\xB9\xDB\xB7\xB7\xC5\xB4\x16\xAA\xDF\xB4\xB6\x09\xB8\x24\x94\xD5\xAD\xB6\xD8\xB6\x7C\xB0\x97\x9F\xB7\x12\xB8\x74\xB7\xDE\xB0\xA9\x4F\xB5\x61\xB4\xE0\xA0", - "\xB7\xB6\xA0\x10\x96\xDD\x9B\xB8\x15\xBA\x06\xBF\x99\x9F\xB8\x0D\xBA\x72\xB3\xDF\xA5\xA6\x24\xB9\x84\xB0\xE1\xA2\xA9\x1B\xB1\x8A\xB1\xDF\xAB\xB8\x1F\xB2\x40\x02\x9B\x88\xB8\x2A\xBA\x89\xBB\x68\xAE\xB5\x1C\xB8\x83\xB5\xE3\xBD\xA6\xCF\xB5\x74\xB7\xE1\xB9\xA3\x78\xB6\x86\xB5\xE2\xBB\xB6\x83\xB4\x69\xB2\xE4\xB5\xB8\x44\xBB\x68\xBD\x56\x8B\xB8\x06\xB8\x7F\xBD\x05\x8C\xB9\xFF\xB5\x1F\xBF\xAB\x87\xB9\x2F\xBA\x8D\xB4\xC4\x8B\x65\x54\xBB\x81\xB1\xE0\x9D\xB6\x99\xB7\x96\xB1\xE5\xBB\xB8\xCD\x9D\x8F\xBF\xE3\xBA\xB5\x44\xB6\x92\xB8\x8E\xB8\xB6\x4E\xB9\x81\xB4\xD6\x85\xB9\x4B\xB9\x96\xB9\xE6\xB9\xB8\x5C\xBA\x6D\xB0\x00\x28\xB9\x64\xBB\x7E\xB5\xE7\xA7\xB1\xAA\xB6\x97\xB4\xE3\x95\xB9\x77\xB7\xE2\x8E\xE6\xB7\xB9\x4D\xBB\x89\xBF\x8E\xBF\xB9\x97\xB5\xA1\xB5\xA9\xB4\xA3\x97\xB1\x3E\x94\xE8\x96\xB8\xED\xB4\x5C\xA5\xC8\x83\xB4\x08\xA2\x8B\xBA\xE5\xAA\xB9\xDF\x9B\x74\xBB\x90\xBA\xAE\x31\xAB\xA2\xBE\xE3\x8D\xBA\x87\xB9\x40\x0B\xDD\x8B\xAC\xDD\xB4\x85\xB0\xE3\xAF\xB9\x21\xB9\x80\xAD\xA3\x8F\xB2\x0C\xAC\xC7\xAB\xE7\x93\xBA\x70\xBB\x78", - "\xBA\xDE\x89\xBA\x97\x95\x4C\xAD\xCD\x80\x00\x9E\x96\x65\x9B\xB2\xB3\xBA\xB3\xB3\x80\x65\xCB\xA7\xB2\xB1\xB2\xDE\xA4\xB7\x9C\xAD\x83\xAE\xDC\x65\xB8\xB0\xB2\xC6\x6D\x43\x0B\xCB\xB2\x6D\xBD\xB0\xDE\xA8\xCD\x81\x04\x43\xAD\x43\x05\xB4\xA5\xB3\xC9\x6B\x5C\xBD\xDD\x85\xB3\xB3\xB9\x32\xB1\x11\x0B\xB3\xC4\xBA\xC5\x9A\xB5\x91\xA5\xB3\xAF\xD6\xA8\xBC\x9D\xAD\xDE\xBB\xED\xA1\xCA\x60\xBB\xDC\xBB\xB7\xB2\xCE\xB2\x6D\xE4\xB1\xB6\xB6\xB3\x82\x04\xE7\xB2\xDC\x69\xCE\x89\xA9\xE5\x43\xAE\x69\xA8\x8E\xBB\xC9\x99\x39\x4F\xEC\xB0\xB7\x6C\xB5\x40\x02\x01\x35\xBB\x11\x07\xBE\xB9\x80\xA1\x99\xFC\xB9\x0D\xBF\xEF\x91\x04\xC3\xB9\x7D\xBF\xA9\x9F\x6F\x03\xBC\xBD\xB9\xF0\x89\x04\x1A\x01\xC0\xBC\xF0\x8E\xBC\xD7\x58\xC4\xB2\x10\x26\xB2\x95\xBB\xEA\xA2\xE6\xB0\x90\x86\x8B\xC2\xB2\xC6\x92\xBC\xB7\xB4\xC7\xB7\xB8\x89\xB7\x00\xBE\xC6\xB0\xDB\x9E\xBC\x7D\xAC\xFA\xA1\xA1\x5E\xBC\x02\x60\x7B\x91\xEF\x9E\xBC\xF7\xBA\xC1\xBC\xD7\x80\x00\x2D\xBF\x28\xBD\x10\x3E\xBB\x20\xBD\xBF\xBE\xF1\xB4\xB9\x70\xA4\xCE\xBD\xE9\x80\x00\x05\xBE\xCC\xB9\x10\x08\xBC", - "\x35\xBE\xC2\xB1\xF4\x8F\xBC\x22\xBD\x40\x0D\xF0\x85\xBD\x00\x03\x15\x0E\xF1\x94\xBC\x4E\xB2\xC5\xBF\xD9\xB9\xBB\x00\x01\xC6\xB3\xF4\x9B\xBC\x48\xBE\xCE\xB0\x8B\xA5\xBC\xF3\xBB\x16\xB7\xF3\xA4\xBC\x1E\xBE\x1F\x76\xDC\xB6\x5F\x20\xA5\x50\xAA\xCA\xAA\xAC\x73\xAE\xBD\x95\xF6\xA9\xA4\xB1\x95\xB0\xBD\x70\xBD\xBC\x40\xAF\x2D\xB3\x10\x07\xBB\x0D\x9D\xB2\xB0\xB8\x8B\xBB\x00\x01\xB3\xB9\x10\x31\xBC\x6D\xBD\xAF\xB1\x10\x12\xBB\x98\xB9\x3A\xA1\x5B\x96\xBB\x0D\x04\xB6\xB6\xCB\xBA\xBD\xE4\xB8\x53\xAD\xBA\xB2\x6D\xDC\xB2\xD2\x6A\xCD\x89\x04\x89\xBF\x34\xBF\xCD\xAA\xBB\xC1\xAD\x40\x07\xEE\x8D\x9C\xE9\xBB\xE0\xB5\xEC\x89\x04\xED\xB9\xC3\x9F\xEE\xA0\x6D\x52\x8C\xFF\x6F\xB9\xA1\x6F\x76\x6F\xF1\xA2\xEE\x9F\x6C\xB5\xB8\xC3\xA0\xB7\x8F\xB1\xED\x6F\xE7\xBA\xB4\x79\xBA\xED\x6F\xAE\xB3\x11\x21\xBE\x93\xAF\xD9\xB3\xB3\xB9\x94\xA6\x6A\xEA\xBD\xB2\xAA\xBD\x03\x68\xDB\xBD\xB8\x82\xA3\xD8\x8E\xED\xB7\xCC\xB0\xBD\x03\x6A\xDC\xB5\x10\x30\xBE\xB5\xBC\xE4\xA9\x93\xB4\xBE\x72\x6E\xEF\xB4\xF7\xBC\xBD\x11\x61\x31\xB4\xFC\x89\xBF\x7F\xBF\x50\xA4", - "\xA6\x55\x6E\x42\xA5\xB7\xB5\xEE\x8C\x6E\xA4\xAF\xB7\xBB\xF8\x83\x04\xD6\xB3\xF3\xBD\x70\x8A\xBF\x62\xBE\x37\xB1\xEE\x86\xAE\xD4\xBE\xE7\xA7\xF8\x8D\x9C\xDD\xBC\xEA\xBE\xF9\x92\xA5\x61\xAF\xF4\xB9\xFD\xA3\xBE\xD9\x6D\xE6\xB3\xA0\x5B\xBE\x5F\xB8\x9F\xB8\xDF\xB7\xAF\xA5\xB8\xA7\xBB\xE9\xB4\x93\xF8\xBF\xA8\xB0\xE8\xB5\xBF\x50\xBE\x4B\xB4\xE9\xBA\xB9\x04\xC3\xBC\xA1\x97\x9A\xBA\x63\xBA\xA1\xB0\x8B\x83\xB8\x43\xB8\x88\xBE\xFF\x8A\xC0\x09\xC0\xA3\xBC\xFF\x90\xB9\xAB\xBB\xF8\xA0\xA8\xB8\xBB\xA4\xBB\x03\xCB\xC0\xB6\xA9\x08\xC2\xFE\xB1\x01\xF0\xA2\x0F\xBA\x95\xBB\xFF\xBA\xB8\x61\xB7\x01\xB7\xF1\xB6\xB9\x10\xC1\x99\xB3\xE2\xA7\xC0\x24\xC0\xAB\xB9\xD4\x8A\xAA\x14\xC1\x01\xCD\xEA\xBF\xB4\x86\x9D\x0C\xC3\x00\xF7\xC0\x76\x8B\x8C\xB2\x03\xF9\xBF\x28\xC3\xCE\xB8\xE3\xBC\xC0\x2D\xC1\x06\xC8\x8E\xBC\xBD\xD7\xB6\xFD\xBB\xBF\x95\xBF\x92\xBA\x10\xC5\x04\xD0\xBD\x72\xBA\xD5\xBF\x01\xCF\xC1\x1E\xC0\x0C\x9D\x04\xF6\xC0\x33\xC3\x0E\xC0\x49\xBA\xAA\x0E\xC2\x08\xC0\x05\xF4\x93\x8E\xB4\x00\xCA\x04\xD9\xC1\x4A\xB1\x12\xCF\xFF\x95\xC0\x53", - "\xB1\x97\xB8\x03\xC0\xC1\x81\xB8\x5C\xA9\x8C\x95\xC1\x67\xC2\x06\xCA\xAA\xA8\xB1\x6E\xC3\x16\xC1\x04\xE5\xC1\x53\xC1\x07\xCD\x03\xE3\xC0\x71\xB8\x1C\xCA\x05\xD1\xC1\x77\xC1\x80\xA5\x07\xE2\xC1\x29\xC1\x1F\xCA\x02\xEE\xAB\x76\xC3\x1C\xC1\x08\xFB\x9F\x15\xA8\x15\xC8\x06\xEB\xB9\x7E\xB0\xAC\xBD\xAF\x9E\xC1\x63\xC2\x15\xC8\x8E\x8F\xBA\x1E\xB5\x3F\xA5\x08\xE9\xC1\x12\xC1\xB6\xAD\xA2\x90\x9B\x8A\xC1\x1C\xCC\x07\xC6\x9D\x9F\xB8\xAA\xB1\xEA\x9D\xC2\x7B\xC2\x20\xC4\x4F\xA7\xBA\x90\xB8\xF6\x8A\xEA\x92\xC2\x4B\xC2\x10\xC8\x6E\x94\xB7\x09\x04\xD3\xBD\x06\xE5\xC2\x86\xC0\x6A\xBD\xFF\xB4\xC2\x98\xC0\x1E\xC5\xE7\x77\xC2\xAD\xC1\x24\xC4\xA2\x82\x85\x97\xC0\x24\xC7\x08\xD3\xAC\x33\xB5\x30\xC4\x06\xC3\xC3\x75\x78\x03\xC8\xE4\x99\xC1\xBD\xC0\x32\xC7\x0C\xFB\xBC\xBC\xC0\x33\xC2\x0D\xD2\xA9\x26\xC3\xD3\xBF\x05\xCD\xC0\x47\xC0\x26\xBC\x02\xF9\xC2\x72\xC0\x73\xB7\x01\xEE\xBC\x46\xC3\x32\xC9\x0D\xD5\xC3\x18\xC2\x2F\xCC\x06\xF8\xAB\x4D\x90\x29\xCD\x0C\xD7\xB9\x02\x07\xA2\xAC\x0A\xD3\xC3\x60\xBB\x17\x9A\x0E\xF0\xC3\xC6\x9D\x6C\xA3\x0F", - "\xD8\xC3\x11\xA7\x40\x0F\x03\xDE\xC2\xA6\xC1\x2D\xC7\xD3\x98\xA2\xF7\xC2\x38\xC5\xC1\xA6\xBF\xC6\xC3\x3B\xC5\xE2\xAC\xB9\x67\xB9\x40\xC1\x0E\xF5\xC3\xDA\xA9\xAA\x90\x08\xD9\xC2\xDC\xC2\xF7\xA0\x67\x8A\xC4\x2E\xC3\x24\xB4\x34\x85\xC4\xB3\xC3\x3A\xCF\x0F\xD4\xB6\x18\xC7\x39\xCB\x08\xF4\xC0\xE9\xA6\x41\xC2\x10\xEC\xB8\x5A\x8C\x45\xC7\x0D\xF9\xC3\xE1\xAA\x43\xCB\x0D\xC2\xC3\x10\xC6\xCF\xBD\x10\xF0\x9E\x0F\xC6\x2E\xCF\x0C\xEF\xC1\x79\xB9\x46\xC4\x0F\xD3\xAB\xDA\x9D\x82\xA6\x0D\xE6\xC3\x1F\xC6\x24\xCA\x0C\xA6\xC4\x3C\xC4\x3F\xC6\x74\x82\xB7\x2C\xC6\x4C\xCE\x13\xCD\xC2\xD4\xAF\x8E\x80\x14\xCE\xC3\x9D\xA7\xB1\x90\xEB\x88\xB2\xE0\xC1\x45\xC8\x0B\xC8\xAB\x96\xB8\x77\xBD\xF7\x80\xB4\x1A\xC5\x37\xC4\x15\xD6\xB2\x49\xC6\x36\xCB\x13\xCC\xC5\x36\xC4\x35\xC0\x00\x28\xC2\x95\xC0\xFF\x6B\x0A\xE1\xC5\x23\xC6\x54\xCF\x0A\xD7\xBA\x11\x62\x2C\xCA\xEC\x90\x6E\xB3\xB9\xE9\xBD\xDD\xB7\xBA\xAB\xBF\xDE\xA0\xED\xA3\xBB\xAC\xBC\xFF\x6E\xFA\xA7\xAD\x41\xAF\xCD\xA9\xCB\x89\xAE\xFF\x98\xD7\xA6\xF7\xA1\x2D\xBB\x95\xFA\x54\xED\x8A\x6D\x80\xBD", - "\x42\x02\xF8\xBC\xBA\x97\xBE\x33\xBF\xF8\x96\xBE\xDA\xBA\x63\xC3\xFE\x90\xBE\xCD\xB1\x36\xBF\x18\xCC\xC6\x91\xC6\x65\xC3\x19\xD0\xC6\xEB\xBA\xE4\xBD\xFE\x9F\xBB\xF2\xBD\xFB\x64\xFF\xB9\xBD\x9C\x72\xD2\x62\x17\xFD\xBD\x74\xC5\xCB\xA9\x17\xD8\x8F\x7B\xC6\x2F\xBD\x17\xFE\xBA\x66\xBC\xB0\xBF\x17\xDF\xBB\xC0\xBD\xFB\x62\xFC\x97\xB3\xE1\xBD\xDD\xB1\xCC\x9F\xBB\xCC\xBC\xFC\x9F\xED\x89\xC6\xA1\xAF\xF9\xB6\x5C\x82\xC7\xCE\x94\x71\xC3\x5D\x86\xC7\x13\x9C\xFB\xB6\x72\xA2\xAD\x2B\x9C\x4F\x95\xFC\xAC\x96\x2F\x96\xE8\xB7\x17\xE4\xBE\xAB\xB2\xAE\x6F\xFE\x93\xC7\xD9\x6F\x6A\xC6\x59\xAD\xC6\xB0\xAC\xA3\x67\x1D\xD4\xC6\xE6\x6E\x76\xCC\xB0\x9C\xC7\xBD\xAE\xD1\x22\x1D\xE0\xC7\x5F\x68\xEE\xBD\xBE\x7A\xBE\xAA\xAC\x18\x71\xFB\x80\xC6\x34\xA6\x73\xC0\xFD\x82\xC6\xBB\xC5\xE1\x62\xEF\x91\x60\xE0\xBD\xDB\xA0\x10\xFB\x60\xCE\xBE\x77\xCF\xBB\xA8\xC7\xC9\x68\x70\xC2\x10\x0B\xC6\xAF\xBE\x7F\xC7\x1E\xDC\xC6\x91\xBD\xE1\xBE\xBA\xB2\xC7\xDF\xBC\x72\xC9\x71\x8C\xC8\x03\x69\x7E\xCF\xCB\x92\xC6\xD7\xBE\xE1\xA7\x1F\xC1\x97\xD6\xBE\xE1\xBE\xC4\x7F", - "\xC7\x08\xC9\x65\xCE\x19\xCB\xC7\x1B\xCB\x81\xC8\x19\xDD\xC6\xC1\x5B\xD8\xAD\x11\xFD\xC4\xB3\xC1\x4A\xB3\x13\xDA\xC5\x63\xA2\x8A\xC2\x12\xCB\xC4\x38\xC5\x96\xA7\x22\xC2\xC5\x11\xC5\x87\xB5\x0C\xF1\xC4\x2C\xCB\x8B\xC8\xE1\x8A\xC3\x30\xCB\x49\xCD\x23\xC1\xC5\x53\xC5\xC5\xBA\xBD\xAB\xC4\x2B\xCB\x27\xC0\xB2\x9E\xB8\x44\xCA\x8E\xCE\x23\xD8\xB8\xA2\xB9\x90\xCA\x24\xC0\xC9\x45\xB5\x39\xC0\x16\xDE\xC4\x16\xC4\x03\xB1\x15\xCB\xC9\x58\xC9\x19\xCB\x87\x85\xC5\x39\xC9\x8A\xC0\x03\xF3\xC8\x4E\xC8\x5A\xC5\x02\xF7\x89\x4B\xC5\x4B\xCD\x22\xCC\x80\x65\xCA\x51\xCF\x0B\xF7\xA6\x69\xC9\x97\xCF\xF5\x83\x04\x44\xC3\x4D\xC9\x25\xF0\xA5\x2F\xB2\x9C\xC0\x24\xD1\xA2\x6D\xB2\x5F\xB7\x25\xF7\xC9\x76\xC8\x5C\xAF\x07\xC9\xC9\x62\xCA\x54\xCA\x9A\xBD\x8C\x60\xC9\x56\xC3\x08\xC3\x04\x5D\xC1\x91\xCD\x0F\xF5\xC8\x9A\xC0\x47\xC8\x23\xC6\xC9\x5C\xCB\xD0\x8A\xFE\x81\xCA\x73\xCB\x06\xC9\x4B\x85\xCA\x7D\xCA\xA5\xCF\x12\xD0\xA3\x8F\xCB\xA2\xC1\x29\xF6\xC8\x7D\xB6\x4E\xC2\x25\xE6\xC9\x4F\xC9\xED\x96\xE6\xA1\xBC\x9D\xCA\x3F\xCE\x26\xDB\xA8\x39\xC6\xB8", - "\xAF\x15\xE4\xCA\x94\xCA\x7B\xB4\x08\xE9\xCA\x8C\xC9\xAD\xCB\x15\xC1\xB7\x6D\xC8\xA4\xC7\x26\xC7\xB7\x8E\xC1\xAE\xCE\x29\xFB\xCA\xFF\x92\x73\xBF\x2A\xEA\xC9\x54\xC9\x20\xB9\xB0\x9C\xC2\x98\xC8\x3E\xC4\x12\xC9\x04\xA1\xC1\x2A\xC6\x59\x8D\xC9\x86\xCB\xAF\xCD\x14\xDA\xAC\xB0\xBB\x59\xC5\x2C\xD1\xCB\xAA\xC8\x0C\x92\xB2\xA5\xC5\x2E\xA1\xD8\xBA\x1F\xC1\x04\xA7\xC5\x04\x69\x1A\xC7\xB3\xE2\xC5\x77\xB4\x1E\xD2\xB3\xE4\xCA\x5D\xC0\x20\xE3\xBB\xEA\xC4\xFF\x6C\x1E\xEF\xC5\xDF\xCA\x6C\x91\x18\xDF\xBB\x83\xC6\xD1\x05\x18\xFC\xC7\xD1\xBF\x0E\x64\x20\xFC\xC5\x6E\xBE\x66\xC5\x21\xEB\xCB\x1F\x6F\xF6\xBB\xBB\x8E\xC8\x56\xAC\xC1\xCD\xDD\x8D\xBE\xC7\xB3\xE4\xB3\xA0\x55\xBE\x23\xC9\x82\xC1\x1A\xFC\x6F\xA3\xC5\x06\x87\xD0\xA0\xC4\x0F\xB6\x44\xB1\xD1\xA4\x8F\x13\xB6\x42\xB9\x31\xCD\xB4\x1B\xCE\x3E\xB6\xAE\x5E\x62\xE8\x69\x68\x60\xEB\x85\xB4\x0D\xCE\x01\x61\x17\xD5\xC7\xF0\xBE\xF0\x65\x2E\xFD\xBD\xE7\xC8\x6E\xC1\x2F\xEB\xCC\x11\x61\xCB\xC3\xEB\xAD\xCB\xD8\x8F\xBB\xC3\xF7\xB9\xC6\xB5\xC4\xFF\x67\x1B\xF3\xBA\xF5\xC9\x40\x08\xF7\xBC\xCB", - "\x84\xBD\x6F\xC7\x22\xB9\xCB\xD1\x63\xBE\xCE\x1A\xFD\xCB\xE2\xBF\xBF\xCD\x21\xE6\x6F\x02\xCC\xEA\xA6\x30\xFD\xBD\x08\xCC\xDD\xBD\x34\xC0\x00\x51\xCD\x6E\xCA\x30\xED\x6F\x0C\xCC\x69\xC9\x19\xC9\xAF\x26\xC9\xAB\x79\x2C\xE9\xC5\x40\xB8\xCE\x9C\xF3\x53\xC9\x28\xC8\x3A\xC4\xDF\xB5\x79\xC1\x7A\xA2\xC9\x2D\xD2\xCB\x66\x7E\x00\xC6\x27\xA9\xCD\xA5\xC8\xAC\xC5\x2C\xE3\x74\x63\xCE\xDC\xC5\x36\xF7\xCD\x90\x93\xCA\xA8\xD4\x7E\xCA\x6B\xCD\xDF\xC4\x0C\xC7\x79\x7C\xCE\xAD\xC2\x24\xE2\xCD\x29\x7F\xB0\xCB\x2A\xF4\xC8\xB7\xC8\x92\xC5\xC2\x70\xCD\xB1\xC8\xD9\xC8\x38\xD3\x8B\x75\xCC\xB1\xC8\x37\xE1\xC9\x76\x89\x08\xCB\x37\xDF\xCD\x3F\xC8\x00\xB6\x25\xE8\xCD\x81\xCF\xA7\xC8\x08\xC1\x04\x5B\xCB\x09\x8C\x38\xD7\xCB\x99\xCA\x74\xB4\x2F\x91\xCE\x87\xCC\xE5\xC3\x39\xFD\xB9\x62\xB4\xEA\xCA\x2B\xF1\xCD\xA6\xCE\x3D\xC5\x38\xE3\xCA\x92\xCF\xE3\xC3\x2D\xD2\xA2\xB3\xCF\x9E\xCE\x38\xEA\xCE\x26\xBF\xE6\x9E\x3A\xEC\xCD\xA4\xCE\x58\xCF\xB9\x97\xCE\xB4\xCA\xE7\xC2\x38\xE7\xB5\xA9\xB6\x1B\xBC\x39\xD8\xCE\x82\xC8\x70\xBB\x29\xE3\xA3\x5E\xCD\xF1\xCA", - "\x36\xC7\xCF\x06\xC2\x75\xA4\x3C\xC0\xCA\xC1\xCC\xD8\xC5\x06\xC9\xCA\x19\x83\xE8\xCB\x3A\xE5\xCE\xA9\xCD\x18\xC0\xEC\x5D\xCE\xD3\xCE\x4B\xC0\x8D\x4B\xCF\xD2\xCC\xEC\xC9\x3A\xEC\xCE\x9E\xB7\x4D\x74\x3E\xEA\xCF\x12\xC7\xF3\xC8\xAE\x91\xCF\xD8\xCF\xF7\xCA\x2C\xD8\xB8\x7F\xCB\xE2\xCF\x3E\xCD\xCE\xEC\xC1\xA8\xCE\x2A\xEE\xCF\xCC\xCD\xA5\xC1\x3B\xF2\xCF\x84\xB4\xFD\xC6\x38\xEF\xCE\xFC\xCF\x00\xD2\x10\x05\xB3\xD7\xCF\x01\xD0\x3C\xF6\xCF\x8C\xB1\x22\xC9\x3B\xC6\xCF\x14\xD0\xB0\xCC\x7F\xBD\xCA\x13\xD1\xF9\xCA\x41\xF7\xCE\xC1\xCB\x53\xCF\x3B\xFE\xCD\x15\xD0\x07\xDD\xC8\x88\xCB\x06\xD0\xED\xCB\x3E\xE0\xCF\x92\xC8\x57\xC0\x0B\xCB\x96\x19\xD0\xFC\xCF\x40\xF6\xCE\x10\x85\x79\xBD\x42\xC9\xD0\x27\xD3\x41\xC4\xCA\xB0\xBA\x6E\xC7\x19\x9E\x3D\xF0\xD0\xD9\xCF\xB2\xC4\x38\xE5\xD0\xBA\xCE\xDD\xCC\x43\xEC\xCA\x43\xCA\xFE\xC1\x40\xFC\xC9\x52\xBA\x8C\xC0\x44\xE1\xD0\x34\xD3\xA1\xC7\x23\xE3\xCF\x47\xD3\xEE\xC3\xC8\x8E\xA1\x50\xD1\xFA\xCD\x44\xEF\xD0\x59\xBF\x40\x0B\x43\xFC\xCE\x5C\xD3\x14\xD5\x44\xC0\xD0\x56\xD1\x0F\xDD\x3C\xDF\xAA\x96", - "\xCD\x44\x0B\x45\xD8\xCB\xD4\xCE\xD9\xC6\x76\x95\xD1\xF5\xCF\x10\xDE\x46\xC6\xCB\x9B\xCE\xE8\xCB\x3F\xE2\xD1\x61\xCD\x1B\xAF\x41\xE9\xD1\x10\xD2\x0F\xD2\x10\x21\xCE\xDD\xCF\x1C\xD9\x47\xF1\xB8\x01\x06\x3B\xC6\xF6\x67\xD1\x28\xD0\x16\xDE\x45\xD1\xAA\x33\xD0\x1D\xD8\x44\xD1\xD0\x68\xB5\x22\xDF\x47\xC2\xD0\xEB\xA9\x39\x4B\x0F\xE8\xA3\x84\xD3\xFD\xC0\x49\xE9\xD0\xBE\xCE\x23\xDF\x46\xE8\xD1\xE6\xCD\xA9\xA7\x47\xCC\xD1\x8A\xD2\xA9\xCD\x2A\xEA\xC4\x46\xD1\x18\xDF\x48\xCB\xD2\x34\xA1\xFE\xC0\x46\xED\xD1\x5D\xD1\x21\xDD\x28\xF1\xA2\x9A\xD1\x2B\xD6\x49\xF2\xCA\x88\xCB\x27\xDB\x41\xD7\xD1\x28\xB7\xD2\x8C\x46\xCE\xD0\x20\xD3\x2D\xDF\x26\xE7\xCF\x72\xD1\x14\xD2\x44\xDC\xD1\x66\x95\x2C\xDC\x49\xFE\xD2\x44\xD0\x01\xD6\xE4\x8B\xD1\xC8\xD3\x26\xDE\x3C\xE9\xC4\x30\xC7\x2E\xD6\x42\xC8\xD0\xA1\xD1\xFF\xC9\x3C\xFA\xC9\xE8\xCC\x2B\xD7\x4C\xEE\xD0\x78\xBA\xF2\xC1\x4C\xE6\xD2\xCE\xD3\x2C\xD0\x97\x8C\xD0\x66\xD2\x1F\xD1\x4E\xCC\xD2\x00\x00\x51\xCF\x4D\xDA\xD3\xAE\xD0\x1E\xD3\xD9\xB5\x93\xC8\xB6\x34\xD1\x44\xF5\xCE\xB2\xD0\x4A\xCA\x3A", - "\x9E\xD0\xC6\xD1\x3B\xD0\x4A\xC9\xD3\x9B\xC0\xAC\xBB\xD1\xA5\xD3\xC2\xD0\x3D\xD7\x48\xDA\xB7\x15\xAC\x33\xDC\x4D\xEE\xD3\xC4\xD0\xB5\xCD\x15\xE7\x89\xB6\xD3\x41\xDB\x4F\xD5\xC9\x2B\xA3\x7A\xB9\x4F\xE2\xD3\xC3\xD3\xA0\xC7\x36\xEB\xD3\xBC\xD0\x42\xDB\x4D\xE9\x90\x0D\xD4\x2E\xDA\x51\xF8\xB7\x6E\xCE\x0E\xD6\x4E\xF5\xD3\x0C\xC7\x13\xD5\x4A\xEC\xD3\x14\xD6\x40\xDD\x77\xBA\xCD\x00\xD4\x38\xD4\x52\xE3\xD1\x03\xC4\xE0\xC1\x50\xF5\xD0\xF6\xD1\x0D\xA3\x51\xDA\xCF\x52\xD0\x7E\xB5\x46\xCD\x04\x95\xD0\x4E\xD5\x51\xF8\xB7\x4D\xC9\x03\xD3\x4D\xC6\xD2\xFA\xD0\xC5\xC4\x0E\xD3\x7C\x3D\xD5\xE6\xCF\x53\xE2\xC5\x3B\xD5\x42\x09\x54\xF0\xD4\x4A\xD6\x88\xB1\xC1\xB7\xD4\x51\xD4\x4D\xD5\x52\xC1\xD2\x1D\xD5\x35\xDA\x52\xC9\xD1\x88\xD2\x41\xDE\x51\xCF\xD4\x70\xD1\x43\x0A\x03\xC3\xD2\x23\xD7\x46\xD9\xDE\x9A\x80\x59\xD7\x29\xD9\x53\xE3\xC3\xA0\xA8\x55\xD0\x55\xEF\xD5\x88\xB5\x90\xBE\x55\xDA\xD5\x56\xD5\x8C\xCA\x4C\xED\xB9\x73\xD6\x5A\xDB\x54\xE8\xD3\xAA\xD0\x52\xD5\x56\xC5\xD5\xC8\xCE\xF5\xCD\x52\xE8\xD4\x3E\xD7\x56\xDF\xF2\x9C\xCF\x64\xD7", - "\x4C\xD4\x4D\xFA\xD5\x1B\xC4\x00\x04\x9E\x89\xD6\x2E\xD6\x59\xD3\x39\xC9\xAB\x69\xD7\x39\xD5\x55\xF1\xCF\xC8\xA1\x65\xDF\x52\xD7\xD2\xAE\x9F\x28\xD1\x4D\xE7\xD4\x19\xD4\x58\xD2\x59\xEF\x95\x35\xC7\xDB\xCF\x57\xE9\xD4\x7E\xC2\x1E\xC2\x54\xF3\xD3\x75\xD4\x67\xDF\x4A\xFD\xD5\xD9\xD1\x68\xDD\x4C\xDB\xD6\x82\xBB\x02\xDA\x59\xE3\xD6\xB4\xD6\x28\xD8\x2B\xEE\xD5\xAE\xD7\x47\xD2\x16\xFA\xAB\xCE\xC8\xC3\xAF\x08\xD8\xD4\x43\xD5\x2F\xDE\x50\xC3\xCE\x02\x04\x25\xC6\x24\x03\x68\x50\xC5\x6C\xD5\x5C\xFE\xD6\x85\xD5\x80\xAE\xC8\x81\xD7\xDD\xB7\x3F\xDC\x53\xE7\xD6\xD1\xD4\x26\xD4\xB1\xB0\xBA\x41\xD7\x60\xD2\x5B\xC7\xD7\xE0\xD6\x01\xC4\x16\xCB\xD7\xED\x6E\xB5\xC2\x52\xCA\xD6\x44\xD6\x0D\xD1\x51\xF8\xD0\xDE\xCB\x84\xC3\xF6\xAF\xAD\xB2\xBE\x2B\xB1\x5F\xF4\xB2\x69\xBF\x6C\xC9\x32\xF2\xA4\xF3\xCB\x7D\xD7\x79\x7D\xCC\x30\xBF\xBD\xC1\x8D\x47\xC6\x4C\xAE\xF4\xBA\xFD\x97\xC6\x5A\xCC\x89\xC3\x35\xD5\xCD\xF1\xCB\x81\xDF\x34\xD0\xB3\xCA\xC4\x55\xAC\x1C\xD9\xA5\xB7\xD4\x60\xDF\x55\xE7\x80\xB7\xC3\x6A\xD2\x5A\xD2\xD8\x67\xD5\x85\xDE\x5D\xCF", - "\xD7\x17\xD8\x6A\xD0\x43\xA1\xD4\x90\x93\x53\xDD\x5B\xDD\xD8\x31\xD7\x01\xC9\x57\xD6\xD6\x70\xD4\x2D\xDE\xBE\x91\xD8\x1E\xD9\x7A\xD5\x53\xE2\xD8\xA8\xD1\x8A\xDB\xA6\xAC\xD8\xD9\xD6\x8B\xD3\x26\xCD\xD5\x5A\xD0\x76\xD7\x59\xE0\xCA\xDE\xB4\x8D\xDB\x63\xC6\xD7\x23\xB5\x1C\xDD\x47\xE8\xD7\x40\xDB\xDC\xC2\x64\xD0\xD6\x84\xD7\x8F\xD0\x5D\xF4\xA0\x7C\xD0\x92\xDF\x5D\xD3\xD8\xE1\xD7\x59\xD2\x48\xE6\xD6\x44\xDB\x92\xDA\x16\xED\xB8\xF2\xD0\x89\xDA\x64\xDD\xD2\x68\x92\x8F\xD2\x63\xFB\xD5\x63\xCB\x24\xD6\x61\xF3\xD6\xB8\xD4\xFB\xCD\x56\xE7\xD8\xB9\xD4\x98\xD0\x48\xC8\xB3\x5E\xDB\x88\xD4\x66\xF5\xB6\xAA\xD7\x86\xDC\x5A\xCB\xD6\x28\xD9\x1D\xDE\x3F\xE4\xD2\xAB\xD3\x93\xD4\x57\xF4\xD9\x59\xD1\xAE\xAD\x66\xF1\xD8\x6E\xD8\xF2\xC8\x58\xD4\xD9\x91\xD4\x86\xDC\x58\xCE\xB5\x8F\xD4\xA1\xD9\x64\xDF\xD9\x86\xD4\x0D\xA5\x56\xB2\xD9\x5A\xD8\xA3\xD4\xC2\xAE\xA7\xBC\xD4\xA0\xD6\x69\xFA\xD6\x77\xD5\x42\xC5\x69\xEB\xD5\x35\xDB\xE7\xC7\x4D\xE2\xCA\x7E\xD5\x95\xD1\x69\xF6\xD9\x9F\xDB\xFF\xC1\x6A\xC5\xDA\x2D\xD9\x91\xDB\x56\xB1\xD9\xD7\xD6\xA8", - "\xDF\x66\xDC\xD5\xB6\xD7\xA6\xDA\x66\xC1\xDA\x6B\xCB\xAD\x92\x6B\xCD\xDA\x92\xD8\x66\xD1\x10\x00\xD7\xDC\xCA\x65\x93\x5C\xC3\xD9\xA8\xD9\xA7\xD8\x50\xCE\xC5\x0B\xD4\x00\x0D\x5C\xC4\xD7\x73\xDA\x8D\xD9\x6B\xFC\xD8\xD3\xD5\xAF\xDC\xB0\x96\xD7\x4E\xD6\x8E\xDB\x6C\xEF\xD2\xCD\xCA\xB3\xD3\x0A\xF7\xDA\xAD\xD7\xA5\xD6\x4D\xE3\xD7\x08\x0B\x80\x66\x5E\xE1\xD8\xD2\xD8\xAD\xDF\x4B\xEF\xBA\xC5\xD9\x0E\xD8\x2E\xC0\x72\xA6\xC4\xCA\xC8\x1D\xEA\xCC\xEA\xCB\xD2\xCF\xA5\x70\xCC\x11\x06\xCC\xCA\xB4\x74\xCC\x96\x96\xCD\xC7\x6E\xF8\xCC\xF9\xD7\xBA\xD2\xBE\x7C\xD7\x3F\xCF\xD1\xC1\x34\xC6\xC6\x44\xCC\x5B\x66\x34\xF0\xCB\xEE\xD5\xD2\xCA\x21\xC3\xD8\x9B\xC5\xC9\xCC\x34\xC4\xD8\x40\xCD\x63\xCE\x2F\xC7\xDC\xFA\xD5\x44\x07\x35\xFC\x6F\x59\xCD\xC3\xDB\x35\xE5\xC8\xCD\xC7\xBA\x99\x6E\xE4\xBD\xAC\xB1\xBB\xDA\x70\xEF\xDB\x1E\xDD\x81\xD9\x20\xF4\xDB\x0C\xAE\xBD\xDE\x32\xC5\xDC\xF2\xC9\x7C\xC4\x1F\xC7\xBF\xC2\xB0\xC0\xDC\xB5\x82\xC8\x01\x07\xC0\xD7\x33\xC9\xD8\x0C\xDE\xBF\xDE\x70\xC6\xDC\x0B\xC9\x86\xC9\x73\xC8\xDC\x4A\xCF\xC7\xD9\xAC\x53\xDC", - "\xD8\x8D\xC5\xD6\x73\xD7\xDC\x0F\xCC\xF6\x81\x31\xC3\xDD\xA1\x6F\xC6\xD0\x5F\xDD\xDC\xBF\xBB\xB7\xB0\x6F\xCD\x04\xF2\xDB\xED\xB6\x5F\xFA\xDB\x97\x5D\xCE\xC8\x3D\xBB\xCC\x4A\x6C\xBF\xDE\x5F\xFD\x96\x01\xDE\xA9\x62\x73\xF7\xDB\x34\xDD\xC2\xD2\x72\xDE\xC8\x0A\xC8\xE2\xBB\x60\xD5\xB3\x67\xDF\x36\xBD\x60\xC4\xAF\x0F\xDB\xF2\xAD\x5E\xEF\xC6\xE0\xCA\xBA\xD0\x30\xD9\xC7\x21\xDE\xC5\xD4\x22\xCF\xDD\x09\x05\xD4\xD7\xCC\xA4\xDC\xDD\xB6\xC9\xD3\xEB\x96\xDD\x96\x94\xD6\xDD\xB2\x9A\xDD\x2D\xDC\xBE\xCF\x72\xC2\xD8\x11\xDC\x54\xA0\x71\xD4\xDD\xBB\x61\xCD\xD4\x70\xF0\xDD\x65\xDC\xFA\xB9\x76\xCC\xBE\x6B\xDF\x38\xBD\x76\xE8\xB3\x6F\xDC\xD2\xC4\xEB\xB2\xDD\xEE\xD9\xB2\x68\x77\xC3\x04\x7A\xDC\xDD\xBF\x79\xC2\x04\xA1\xDD\x6E\xCC\x77\xFD\xBD\x7E\xDE\xD2\x60\x78\xCC\xAC\x82\xDF\x31\xB4\x78\xFC\xC6\x2E\xDF\x6F\xC8\x78\xCC\xDE\x8A\xDF\xCE\xD9\x78\xDB\xBB\x8B\xDF\xDC\xD2\xBC\x4A\xD8\x3A\xDE\xD9\xDC\xB5\x80\xDD\x96\x96\xD0\xDF\x78\xDA\xDE\x45\xDE\x65\x97\x74\xFB\xD9\xCA\xD8\xA9\xD1\x0D\xE9\xDA\x56\xD9\x5C\xDF\x43\xCB\xDA\xE2\xDB\xA1\xDF", - "\x61\xE1\xDB\xDA\xD8\x2C\xAE\xDF\xAF\xDA\xC2\xD8\x97\xDC\x23\xD3\xDB\xCD\xDD\xF5\xD9\x6D\xDC\xDA\x34\xA3\xF2\xD9\x7D\xD8\xDF\x37\xD8\xF5\xD0\x7E\xCC\xC9\xE6\xDF\xAC\xD5\x06\xE1\xC0\x65\xDA\xA1\xDF\x4E\xEC\xDF\xEE\xDD\x9A\xD2\x55\xD9\xB5\xAE\xD9\x94\xDF\x02\xE7\xCE\xF5\xDC\x94\xDE\x25\xF2\xC3\xF9\xDC\xF2\xD9\x4B\xE2\xD5\xE9\xDC\xAE\xDE\x7C\xED\xB5\x01\xE3\xF7\xD8\xDA\xB1\xC9\xCC\xDF\xA8\xD8\xD9\xB5\xC9\x09\xE0\xF9\xD8\x3F\xFA\xC1\xED\xDD\x03\xE8\x3C\xF0\xD6\x0E\xE1\xF4\xDD\x3B\xC0\xB1\xFD\xDE\xF4\xD2\xDA\x93\xB9\xC1\xDB\x96\xD3\x5B\xE2\xCF\x7A\xDA\x06\xEA\x6A\xD7\xE0\xC0\xD2\xFD\xD5\x67\xEA\xD8\xED\xCD\xB2\xD3\x82\xF2\xDF\x93\xD8\x34\xDC\x29\xD0\xDF\xDE\xDC\x9F\xD6\x66\xD4\xE0\x26\xE0\x0B\xEE\x44\xF7\xD9\x9F\xD4\x87\xD5\x81\xF1\xE0\xF4\x90\x0D\xEA\x7F\xFE\xDF\xC3\xDA\x6F\xC0\x83\xE7\xDF\x16\xE2\x67\xAB\x5B\xDD\xE0\xDC\xDC\x23\xCC\x2B\xC5\xDB\xBF\xDB\x0F\xE2\x82\xDE\xC3\x1D\xD1\xB1\xD7\x6C\xF5\xE0\x11\xE1\x89\xDD\x6C\xE4\xD7\xFC\x6C\x56\xC1\x7F\xD5\xE1\x34\xA1\xB5\xD8\x85\xD8\x8F\xD0\xCB\x16\xE2\x86\xDF\xAA\xDC", - "\xDA\x85\x0E\x6D\xC5\xE0\x32\xE0\x7E\xBB\x2D\xDF\xE1\x96\x96\xB9\xD6\x83\xC9\xDF\xB5\xD5\x40\x02\x7E\xDE\xE0\x54\xE1\xDF\x93\x87\xC9\xE1\x3B\xE1\x4B\xB8\x86\xF0\xE1\x70\xA7\xF5\xD5\x87\xD2\xE0\x41\xD8\x15\xD1\x82\xE7\xE0\x44\xE0\x0F\xEB\x82\xC9\xB9\x17\xD7\x1F\xE3\x7E\xCD\xBD\xFC\xAF\x20\xEF\x86\xC7\xE2\x06\xB1\x8F\xD9\x81\xC4\xE2\x9A\xCA\x1D\xD3\x89\xCF\xE2\x50\xE2\xE2\xCA\x83\xCA\xE2\x74\xE2\xD9\x7D\x64\xC0\xE1\x0A\xE0\xA6\xDD\x0E\xFB\xE1\x90\xE2\x58\xC3\xD6\xB9\xE1\xEA\xDE\x28\xED\x48\xC8\xE1\x45\xE3\x40\xD2\x47\xA4\xE2\xDD\xDF\xA2\x98\x80\xCB\xE2\x4E\xE3\x3B\xDC\x80\xF4\xE2\xA0\xE0\x72\xD8\x83\xEF\xE0\x8E\xE0\x17\xE7\x65\xDE\xD6\xBC\xE3\x26\xE5\x8B\xD8\xE2\xAE\xB8\x2C\xDC\x8A\xC6\xE2\x41\xE0\x07\xE3\x84\xE9\xE2\xCC\xE0\x2C\xA9\x68\xCF\xE1\xA1\xE2\x35\xDA\xAC\x80\xE2\xB9\xE0\x23\xE4\x69\xC7\xE3\x85\xE3\xEE\xC8\x10\xE8\xCA\xCB\xE2\x00\xE8\x8C\xF5\x79\x3E\xE1\x35\xE3\x8C\xF8\xC9\x99\xD8\x37\xED\x8B\xE3\xE1\xF1\xC1\x9E\xC0\x6A\xD1\xE3\xDE\xE2\xE6\xC3\x34\xD7\xE2\xBE\xE0\xA9\xDA\x4E\xDC\xE2\x78\xE2\x35\xE8\xE8", - "\x8C\xE1\xB0\xE0\x3B\xEE\xD4\x8A\xD7\xDD\xDA\x25\xC8\x8D\xCD\xE3\xE1\xCD\x55\xC0\xEA\x97\xC5\xF9\xE0\x2A\xED\x58\xDE\xE1\xFD\xE0\xFF\x61\x86\xD4\xE3\xD0\xE2\x2E\xE3\x16\xF2\xD0\xFF\xE1\x3B\xE0\x90\xDA\xCB\x12\xD6\xAC\xBA\x74\xEC\x65\xE3\xCA\xE8\xD5\x77\xC8\xDD\x09\xCB\xE8\xD1\x10\x25\xDE\xF1\xCB\xE9\xD1\x81\x69\xDE\x2D\xAF\xEA\xDD\xDD\xAD\xDE\x74\xBF\xEB\xD7\x7B\xF0\xC9\xB1\xDF\x4A\xE4\x10\xC5\xCD\x93\xDC\xF7\xB1\x93\xC3\xCC\xBD\xDE\xE4\xD5\x93\xC3\xC7\xBF\xDF\x67\xCE\x92\xDC\xCD\x19\xDD\x44\xE6\x80\xCA\xD0\x72\xE1\x41\xE5\x83\xEE\xC8\xE3\xE0\x3A\xE3\x26\xE0\xD8\xC4\xE2\x41\xED\x82\xC1\x04\x7E\xE1\x51\xEC\x90\xE4\xE0\x01\x07\xF6\xDD\x8A\xC6\xE5\xF5\xE2\x53\xE5\x53\xF7\xE1\x53\xE7\x53\xE6\x84\xDA\xE2\x2A\xE1\x2C\xE3\x91\xFC\xD8\x0B\xE4\x2E\xED\x90\xF6\xE3\x47\xD6\x3E\xE9\x86\xCC\xD5\x42\xE6\x55\xEC\x64\xE9\xE5\xE2\xE2\x94\xDC\x96\xE3\xE5\x81\xE1\x0D\xC0\x8F\xD4\xE5\x03\xE3\x2A\xED\x8D\xFF\xE4\x78\xE4\x0C\x93\x49\xF1\xE3\xDF\xE3\x09\x83\x8B\xDD\xE2\x6D\xE4\x69\xA8\x04\xF7\xE5\x67\xE6\x58\xE4\x5A\xDE\xD3\xF4\xE1", - "\x56\xE5\x62\xE1\xE3\x70\xE5\x60\xE0\x51\xD3\xC4\x73\xE6\x56\xE6\x51\xC5\xB1\x3E\xE5\x61\xE0\x98\xE7\x91\xCF\xE0\x25\xE2\x91\xC0\xE5\x66\xC2\x63\xE9\x94\xE2\xD0\x99\xD5\x64\xE6\x98\xFD\xD9\xBB\xE0\xF4\xC4\x98\xFC\xE1\x5F\xE5\x37\xD8\x4D\xCA\xE5\x96\xE7\x9A\xDC\x98\xDA\xE6\x79\xE7\x06\xEA\x8E\xE6\xDA\x66\xE4\x6A\xEC\x99\xFD\xB6\x74\xE5\x5F\xE4\x96\xE9\xD3\x6F\xE4\x6C\xEA\x5D\xF7\xE3\x2B\xD2\x40\x0D\x84\xDE\xE6\x7C\xE6\xA3\xB2\x2C\xC2\xE3\xC4\xE5\xFC\xD7\x2C\xFE\xD3\xBD\xE7\x67\xE6\x00\xC8\xE4\x66\xE1\xFB\x61\x96\xD7\xE6\xBE\xE5\x67\xD2\x91\x90\xE4\xA7\xE5\x29\xE3\x9A\xE6\xD9\x6B\xE1\x42\xED\x2D\xE2\xE6\xD4\xE7\x56\xE3\xA5\x99\xE7\x5E\xE4\x3D\xD4\x94\xC9\xE7\x92\xE5\x24\xE8\x94\xC5\xE7\xA9\xE4\x97\xBD\x94\xE8\xE7\xDB\xE5\x24\xE2\x95\xFA\xE6\x6A\xE5\x55\xE0\x9F\xFA\xD1\x41\xE4\x78\xE6\x9F\xFC\xD3\x65\xE4\x6B\xE6\x9B\xCB\xE5\x92\xE1\x65\xEF\x9F\xFC\xD9\x51\xC9\x57\xE5\x9B\xDA\xE7\x34\xA0\xFC\xD9\x9E\xCB\xE8\x2F\xBF\x27\xED\x98\xCF\xE8\x8F\xE6\x05\xBA\x9F\xCA\xE6\x57\xD4\x99\xC3\xA1\xF4\xE7\xE3\xD9\x97\xD7\xA1\xD9", - "\xE3\xD6\xD3\x5E\xE9\x9B\xDC\xE8\x8D\xD7\x5F\xEB\x9F\xD5\xE7\xAF\xD3\x2D\xE1\x9E\xEC\xE7\x8D\xD7\x6B\xEE\x9C\xF7\xE7\xAE\xE4\x04\xEF\xA1\xED\xE7\xC5\xE0\x16\xCC\xA0\xE7\xE8\x7D\x9F\xA0\xD0\xA1\xEB\xE8\x93\xD6\x2E\xD7\x8E\xF3\xE8\xBF\xE1\xE7\xB5\x9F\xD4\xE8\x18\xBB\x1A\xC7\xA3\xE8\xE8\xA9\xD5\x69\xD3\xA4\xEF\xE8\x34\xC4\x62\xEF\xA3\xD8\xE8\xFC\xE5\xA9\xD8\x67\xC6\xE8\xFE\xE4\x82\xEC\x04\xEE\xE8\x3C\xE8\x90\xE5\x97\xFE\xBD\x1B\xE8\x8C\xE6\x41\xD2\xD0\x02\xEA\x94\xEE\x0A\xC8\xC5\xC1\xE6\xA2\xBD\xA5\xE5\xE7\x01\xE7\xC0\xA8\x4F\xE3\xE9\x07\xE9\x26\xED\x4F\xC5\xDB\x5A\xE1\x95\xEC\xA4\xEF\xD3\xD0\xE4\x7D\x03\xA0\x53\xE7\x23\xE8\x8E\xE0\x95\xCF\xE4\xD5\xC9\x73\xE4\xA4\xD4\xE4\xEC\xD5\x96\xEB\x99\xF6\xAF\x7A\xE8\x18\xCB\x5E\xBB\xE8\xF1\xE6\x7A\xDA\x44\xE4\xE7\x69\xEA\x12\xE9\x10\x2F\xE7\x47\xEA\x9B\xE0\x97\xB3\xE7\x20\xE9\x6C\xEE\xA5\xEF\xE9\x76\xE8\x3A\xA8\x95\xD4\xEA\x7B\xE8\x3D\x9A\xA0\xC5\xEA\x9C\xE8\x0D\xA4\xA7\xD6\xE9\x98\xE9\xDF\x9B\xA9\xF4\xE8\x8E\xE8\x6A\xB3\xAA\xF5\xE9\x99\xEA\xD1\x9E\xA0\xE4\xE8\x64\xEB\x0D", - "\xEE\x77\x81\xEA\xA5\xE9\x63\xD7\x8A\xC9\xE6\xA1\xE8\x5B\xD3\x56\xEC\xE8\xA0\xE8\x5C\xAE\xA1\xF1\xEA\x92\xEB\xDF\xC7\x66\xC8\xEA\x51\xEA\x9A\xEE\x49\xFE\xE9\xBD\xE8\x97\xDA\xA2\xE9\xEA\xAD\xE8\x8F\xD7\xAC\xC8\xE9\xC5\xEA\x51\xD6\x8C\xC0\xEB\xB4\xEA\x36\xEC\x7B\x84\xEB\xAD\xE6\x05\xCD\x8B\xA8\xE9\xC1\xE9\xE2\xC5\x82\xCB\xE9\x91\xEA\xAE\xDC\x68\x98\xEB\xD1\xE9\x25\xE5\x9A\xF3\xCF\xD0\xE8\xB7\xE3\x4C\xDB\xE3\xAC\xA8\xAC\xE3\x9A\xE8\xEB\x02\xBC\xB8\xE6\xAE\xDC\xE6\xCB\xE8\xAF\xE5\xAD\xF1\xE1\x58\xEA\xBB\xE8\xAB\xD0\xC9\x79\xB2\xBD\xED\xA8\xE8\xD3\xBC\xD8\x1B\xE2\x5C\xEA\xEB\xE1\xE4\xB1\xD1\xA6\xC6\xDB\x00\xED\x9D\xEB\x9C\xEC\xE9\x05\xED\x11\xED\x25\x9C\xD7\x09\xEC\xA5\xED\xC9\xAC\xC5\x9F\xB0\xB5\xE3\xA0\xF2\xE6\x1C\xA5\x45\xE8\xFD\xBB\x60\x7B\x03\xF4\x6E\xFD\x83\x68\x19\xEC\xD7\xA1\x2E\xF5\x74\xC8\xBD\xC3\x9D\xB1\xCE\xDD\x1B\xE5\x77\xCC\xFB\x96\x96\x23\xEF\x4E\xEE\xB2\x8D\xDD\x17\xED\x34\x69\xB2\xF4\xDE\xB8\xB3\xBE\x91\xB2\xDC\xEC\xBA\xB1\xBE\xD8\xC3\x61\xC4\xD8\x8F\xCB\xEA\x7B\xFB\xDB\xF5\xC4\xF9\xB9\x7E\x7A\xEC", - "\x9D\xDF\xB8\xB2\x34\xF3\xCA\x2D\xEC\x5B\x60\xB4\xFE\xDC\xE3\xB8\xCC\xDE\x70\xB3\xEC\xED\x6F\xD1\xE3\x76\xCB\xDC\x62\xDF\xEE\xBE\xA3\xE8\xEC\x33\xE6\xD3\xCE\xFE\x98\xEC\x55\xEC\xD5\xCC\xB4\xFC\x6F\x4E\xEE\xDD\xD9\x20\xFC\xDE\x94\x6F\xCF\xE5\x79\xE8\xBB\x5B\xED\xCE\xE7\x79\xEE\xBB\x72\x8A\x1E\x0D\xB0\xD2\xEB\x89\xE3\xBB\xED\xAC\xC8\xCF\x97\xE9\xB7\xE3\xB1\xDE\xDA\xEB\xE4\xB3\xE3\xAF\xFD\xE1\x6B\xEE\x96\xE9\x01\x90\xEA\x7A\xEE\xDB\xE7\xB7\xFD\xED\x46\xD9\xDB\xE7\xAF\xF2\xED\x9E\xDB\xA9\xE9\xAB\xC0\xEE\x82\xE6\x57\xC8\x9C\xFB\xEB\x01\xEF\x91\xD3\xB8\xC8\xEE\x77\xEA\xE1\xE5\xAB\xDD\xEA\x50\xBF\xAA\xE5\xA9\xC8\xEB\xC5\xE3\x94\xDC\xB8\xE8\xEA\xF8\xB7\xAC\xEE\xB7\xF3\xED\x47\xCA\x8C\xB9\xB7\xFF\xE9\x7A\xE7\xE8\xE5\xA6\xD9\xD2\xFA\xE8\xAB\xEA\xAD\xC3\xEB\xA9\xEF\xE5\xEF\x4C\xE3\xEB\x05\xD1\xB9\xEF\xB8\xE6\xE7\xA7\xC9\xBA\xE2\xB1\xD3\xEA\xAA\xE3\xB3\xE4\xA8\xE4\xEA\xE9\xE1\x2D\xD7\xBB\xC9\xEB\xFF\xDF\xB5\xE2\xBB\xDB\xEE\x5F\xEB\xC9\xE4\xBC\xD3\xEE\x63\xCA\x90\xEA\xBA\xD9\xEB\x0E\xE5\xBC\xE4\xB9\xC7\xEE\x29\xE8\x95\xEF", - "\xBC\xC8\xEF\x53\xEA\x91\xEB\xBC\xE1\xEB\xF3\xDE\x0B\xE6\x9A\xFB\xEE\x9C\xEE\x56\xEF\x13\xFF\xEE\x89\xEA\x43\xE3\x8F\xDF\xEE\xB8\xEE\x35\xDD\xAF\xDE\xE7\xBE\xDA\xE9\xEF\xB7\xCD\xD6\xFC\xE1\x74\xE1\xE9\x83\xEF\xD7\xEF\x30\xE7\xB0\xC3\xEC\x6D\xEB\xF4\xE4\xB8\xDC\xB9\x71\xEB\x91\x03\xA7\xEA\xEF\xA0\xED\x9D\x75\x86\xF2\xE9\xE5\xD4\xFF\xE5\xBE\xF0\xA2\xDD\xE6\xFB\xEF\x9D\xED\xEE\x98\xEE\xB3\xE1\xB7\xD0\xEE\xAE\xEF\xA7\xAB\xC0\xE4\xEE\xFD\xEE\x43\xE5\xB7\xF2\xEB\x11\xF0\xF2\xCC\xA8\xF1\xEF\xB3\xEC\x80\xEC\xB7\xD0\xF0\x03\xF3\xDB\xE4\xBE\xC9\xE3\x5F\xD0\x94\xE8\xBD\xDE\xF0\x95\xCE\x00\xF0\xBC\xFE\xEA\x9F\xE8\xF5\xE0\xBD\xCE\xB5\x92\xEF\xFD\xE1\xBE\xC8\xCF\x2D\xF0\x03\xF9\xC0\xD9\x80\x96\xEF\x0C\xFF\xC1\xF5\x79\x9A\xEC\x06\xF7\xBC\xEE\xE3\x72\xE4\x02\xF6\xB7\xD6\xE7\x20\xB2\x0F\xF4\xC1\xDE\xDA\xBB\xEA\xFD\xEC\xC0\xFC\xB8\xDC\xEF\x0A\xFE\xAA\xE6\xE8\xDD\xEE\x11\xF1\xBD\xD6\xEF\x0D\xF2\x13\xF5\xA4\xCA\xE9\x19\xF3\xFA\xE0\xA0\xF2\xE8\x52\xF2\x15\xFF\x9B\xC1\x04\x36\xEA\x0E\xFE\xC5\xC9\xD4\xC4\xA8\xF8\xEC\xBC\xC8\xCF\xD3", - "\xE1\x16\xF5\xC1\xC6\xC0\xCA\xED\x14\xFC\xBB\xE3\xC9\xCE\xEF\x1A\xFD\xC4\xE9\xD2\xD2\xEE\x1B\xFA\xC4\xFD\xE0\x71\xF3\x1B\xF6\xC7\xE5\x8A\x6D\xF3\x1D\xFA\xC2\xE5\xC1\xB8\xE7\x10\xF7\xC2\xDC\xD9\xE3\xED\x15\xF7\xC6\xD9\xE8\xE7\xEE\x01\xF9\xBE\xE2\xF1\x23\xF3\x16\xF0\x00\x2D\xEF\x00\xF3\xFB\xE9\xC4\xFB\xF1\x6C\xEF\x42\x94\x42\xF0\xEF\x6A\xF1\x8F\xEB\x5D\xC5\xDB\x29\xF2\x0B\xF3\xC6\xE2\xD7\xD8\xE7\x23\xFA\xC9\xC9\xF2\xF4\x91\x01\xFD\xC8\xC7\xF0\x94\xF2\x0D\xF9\xA1\xCF\xF0\x24\xF3\x0E\xF6\x0B\xE6\xF0\x60\xD4\x30\xC2\xC4\xE6\xF1\x9E\xDB\x05\xF5\xC9\xF3\xF1\xAF\xD3\x06\xF9\xCA\xDF\xF1\xA6\xF2\x2A\xF9\xBD\xF9\xE7\xAF\xF2\x1C\xF4\xAF\xF1\xF0\x1C\xF3\x1F\xFE\x90\xD9\xF2\x32\xF3\x0F\xF6\x74\x80\xF3\xB7\xF3\x2C\xFB\x7E\xEC\xF2\x1F\xE1\x3A\xC8\xC8\xF7\xF0\xCE\xE9\x0E\xFA\xCC\xDF\xF2\xB5\xD9\x0F\xF5\xCA\xC6\xF3\xC2\xEA\x86\xED\xCB\xFA\xF1\xB9\xED\x11\xFE\xCB\xD4\xF3\x76\x8A\x88\xE4\xCB\xC2\xF3\x19\x80\x13\xF3\xCE\xEF\xF0\xDC\xA0\x14\xF9\xCB\xF8\xF2\x70\xDA\x3A\xF8\xCD\xE8\xF3\x5D\x94\x33\xF3\x94\xD3\xEB\xDB\xF3\x39\xFB\xA5", - "\xCE\xCA\xD7\xF2\x1F\xFB\xBA\xDD\xE6\xBA\xF1\x32\xF3\x99\xD7\xE3\xF9\xF0\x2C\xF9\xCD\xF9\xF1\xF6\xF0\x28\xFA\x9A\xEB\xE3\x9B\xF2\x20\xFF\x5A\xF5\xF1\x05\xF4\x34\xFA\xC3\x94\xF1\xFD\xF2\x16\xF4\xB1\xF1\xDA\xF5\xF0\x24\xF2\xAE\xFC\xE6\xCF\xF2\x42\xFC\xE5\x85\xF2\xA3\xF3\x21\xF5\xD1\xE0\xF3\xF7\xDD\x14\xE3\xB0\xD3\xE1\x0E\xF5\x49\xF7\x56\xD7\xE1\xE8\xEF\xB3\xD2\xCF\xF2\xEF\xD7\x9B\xC0\xE4\xCC\xC1\xF3\xF0\xF1\xE2\xEF\x81\x9D\xF2\x8B\xEC\x3B\xFA\xCF\xD3\x96\x16\xEE\x85\xC2\xB6\xD0\xC7\x06\xCA\xD1\xE1\x5B\x9F\xEC\x82\xE3\xCD\xEF\xA9\x72\x6D\x5D\xEC\x47\xE4\x76\xDE\xE4\x00\x01\xCB\xC1\x1D\xFE\xF4\x4C\xDD\x6C\xC6\x1D\xD8\xED\xB2\xC6\xCC\xE1\x22\xCC\xF5\xB4\xC6\xCD\xEC\xF9\xA6\xC7\x54\xF6\xCA\xEA\x92\xFA\xF4\x50\xF4\xEC\xD6\x78\xCF\xF5\x2E\xED\xD7\xD2\xB7\x5F\xDD\xFF\x03\x52\xF6\xAA\x45\xF5\xC3\xDC\xE1\xB0\xB6\xF6\xC7\x3B\xF4\xCF\xD9\x7B\xD7\xF5\x43\xF6\xC8\xE9\xB5\xE9\xBF\x45\x73\x59\xF3\xD7\xD0\xC8\x4D\xEF\xD8\xE4\xF9\xB8\xF5\x5C\xEF\xD9\xEA\xF9\xB2\x89\xB7\xC1\xF8\x67\x32\xDC\xDC\x24\xEC\xCB\xE0\xB3\xF2\xB2\x25\xEF", - "\xCC\xD8\x72\xE2\xE4\x04\xBD\xCD\xEA\x72\xF4\xCB\x3D\xEF\xCE\xEC\x93\xAD\xE4\x87\xF7\x4B\xE2\x70\xF7\xF5\x37\xE5\x71\xC9\xD9\xC7\xC7\x9B\xF5\x72\xC9\x93\xE0\xC8\xA0\xC5\xD7\xC3\xB0\xE3\x43\x41\xED\x5A\xF7\x73\xDB\xDE\x84\xF6\xCA\xE8\xD4\xE0\xE4\x28\xDF\x6A\xF5\x5F\xD2\xF5\x55\xF7\x63\xFA\xD5\xD1\xF6\xA5\xF5\xF6\x63\xB4\xFE\xB9\xB2\xDE\xBE\xC8\xD9\xEE\xF5\xB6\xDD\x65\xF8\x73\xFE\xDE\xBC\xF4\x70\xFA\xB2\xC0\xDF\x0C\xAE\xF0\xDA\xD8\xD0\xDE\xC5\xDC\xC3\xA7\x7C\xD1\xF4\x83\xF2\x4C\xF6\x53\xDF\xF4\xC5\xF0\x5B\xD8\xCA\xD2\xF4\x1D\xF2\xB7\xE3\xC1\xC2\xF4\x31\xF4\x24\x92\xCB\xEB\xF3\xD3\xF0\x6A\xB6\xCB\xD4\xF7\xE4\xF2\x49\xFC\xDC\xC1\xEF\xCF\xDE\x27\xF1\xDD\xFD\xEE\x96\xE0\x74\xF0\xD3\xF7\xF3\x01\xE9\x40\xFF\xCD\xD7\xF4\xC8\xF0\x78\xF9\xDD\xE2\xE7\xFD\xE6\x41\xF1\xDE\xD9\xE8\x35\xF3\x3B\xF9\xD0\xE7\x91\xD2\xF0\x77\xFC\xDD\xEB\xA6\xEA\xF6\x3F\xF8\xDF\xB7\xEA\xE3\xF7\x7D\xFD\xA4\xDE\xF3\xDC\xF3\x11\xFA\x47\x99\xF4\x05\xF9\x9D\x76\xCE\xD6\xF4\xEB\xF7\x04\xEC\xD0\xD0\xF8\x02\xFA\x6B\xB3\xE1\xE0\xF4\x36\xF5\x89\xD8\xC5\xEF", - "\xF7\x11\xFA\x01\xCD\xC5\xDD\xF7\x1D\xFA\x1A\xD8\xE5\x81\xF8\xF2\xF4\x7B\xF5\xC6\xDC\xF8\x15\xFB\xCB\xB9\xC6\xFE\xF7\xCA\xE5\xED\xED\xAE\xEE\xF7\x09\xF8\xBC\xE7\xE1\xE7\xF7\x28\xFA\x14\xC3\xE3\xE1\xF8\x0D\xFA\xB3\xE4\xD0\xD4\xF8\x25\xFB\x6E\xED\xC7\xD8\xF7\xFB\xF7\x3B\xD1\xC8\xF9\xF8\xF6\xF5\x31\xEC\xD1\xFA\xEF\xC1\x98\x89\xFD\xDC\xD1\xE8\xC9\xD7\x71\xE2\xC2\xE2\xF7\x5F\xF3\xFC\xE0\xB1\xD5\xB7\x30\xF9\x43\xF2\xE2\xC4\xD4\x0C\xEC\x83\xF9\xE1\xE3\xC9\xFF\xEC\x92\xF6\x16\xEB\xF4\x1A\xF5\xD2\x79\xD3\xC2\xF5\x54\x72\xA9\x63\xE4\xE0\xDD\x68\xAD\x4F\xF6\xE6\xFF\xF4\x9C\xDF\x17\x78\xD5\xEB\xF9\x4D\xF4\xDA\xB3\xD5\xF0\xF9\x85\xF6\x53\xFC\xD6\xFB\x60\x67\xFB\xC9\xD0\x79\xCC\xF6\x0D\x06\xC9\xD6\xD6\xF2\x6D\x79\xFB\xDF\xD6\xD5\xEE\xF9\x71\xF7\x80\x61\xE8\xD9\xDD\xB4\xF4\xA1\xF5\xE6\xC0\xFA\x5B\xDF\xC1\x9C\xD7\xD8\x8F\x87\xF9\x80\xDA\xDB\xF3\xF9\x8C\xF9\x67\xFF\x20\xD4\xFA\x0D\x9D\xA4\xF7\xCC\xAB\xF5\x5C\xF5\x34\x6A\xE9\xD2\xCD\x8E\xDD\x79\xC5\xE8\xED\x6F\x9F\xF9\x6E\xCC\xE9\xE4\xF9\x99\x56\xA7\xFA\xD7\xCB\xCC\x8F\xFA\x65", - "\x95\xEA\xF1\xCB\xC9\xF5\x77\xBB\xDC\xC3\xBF\x6A\xFA\xDC\x63\x49\xE0\xBE\xB5\xF9\xC3\x97\xEB\xD7\xE4\xA6\x6B\xE9\xB5\xD7\xF6\xFA\xF3\xD6\xAE\xBD\xEA\xCC\xAC\xBB\xFA\x6A\xC9\xD8\xF4\xFA\xBF\xFA\xAE\xFF\xDA\xEF\xA4\xC3\xF9\x77\xB5\xEC\xFF\xBE\x83\xF9\x81\xC9\xEC\xC3\x68\xCF\xF9\x4A\xE9\xE8\xD2\xFB\xEE\xC6\xA9\x65\xED\xF9\xC6\xB7\xF4\x45\xF7\xE7\xD1\x63\xDB\xF9\xBC\xCA\xB4\xE4\xF5\x7F\xFA\xB2\xF6\xE9\xC5\xCC\x98\xF8\xB5\xFB\xDB\xDF\xFB\x6C\x65\xB8\xF8\x72\xE7\xFA\x70\xF7\xA2\xF6\xEE\xC1\xF7\x36\xE4\x58\xFD\xEE\xEB\xFA\x58\xCD\xB3\xFD\xF7\xAE\xFB\xC8\xF6\x68\xFA\xCE\xB8\x95\xF9\xB1\x3D\xB7\x31\xF7\xB3\x1D\xCE\xC0\xF0\x3E\x87\xFC\xC9\x70\xC2\xF5\xC2\x57\xB4\x90\x91\x46\xB7\x02\x90\xDB\x03\x05\x47\xBE\xAF\xDD\xB7\x24\xCC\xB6\xFF\xE6\xF2\x6D\xB2\x02\xC6\xE9\xEB\xC3\x68\x19\xFE\xC7\xED\xE6\xD6\xFC\xA3\xF8\xFF\x6D\xF1\xF5\xF9\x72\xFA\xBD\xF6\xAA\x63\xFC\xAA\xF7\xB1\xF5\xD6\xDB\xFC\xED\x6C\xCA\xFE\xDB\xC0\x00\x7C\xF9\x42\x0E\xE7\xEC\xFC\x22\xFE\x63\xFE\xB3\xBA\xFB\x11\x62\xCB\xF2\xD9\xF8\xA4\xD1\x61\xBF\xD6\xB2\xD9\xFB", - "\x18\xFD\xA3\xF2\xB7\x7D\xC7\xD3\xF9\xCB\xF2\xD6\xCD\x9C\xE4\xF8\xCD\xF8\x3D\xBA\xFC\xB5\xF7\xEE\xD1\xEA\xC8\xFB\x40\xFD\xC3\x9C\xF4\xC8\xED\x01\xCF\xD3\xFB\xF2\xC5\xFD\x35\xFF\xB9\xF7\x30\xF8\xFC\x11\x07\xD4\xFF\xB4\xDF\x69\xF0\xFA\xA2\xF9\xEA\xEC\x65\x5E\xFE\xD7\xE4\x76\xC4\xF7\xDD\xB6\x71\xF0\xF5\xD7\xFC\x52\xFE\x5F\xF3\xFF\xBE\x68\xE9\x5F\x2D\x0A\xF1\xCD\x04\x3F\x68\xF6\x82\xF7\xDE\xFC\xA9\xF6\xE1\xA5\xF7\xD6\x96\x77\xFC\xC9\xF3\xFB\xA4\x69\x7B\xFC\xC3\xAD\xF7\xE9\xFC\x86\xF4\xAA\xF1\xF8\xDD\xB7\x83\xFF\xCB\xF1\xF3\xC3\x04\x33\xFC\xDD\xF1\xF7\xF6\xFC\x8B\xAC\xDC\xFB\x83\x49\xFE\x3B\xFD\xD8\x67\xED\xD2\xED\x14\x69\x34\x64\xF9\xCD\xFD\xE2\x6D\xB7\xF1\x10\x04\xFD\x88\x57\xE3\xF7\x78\xD3\xFA\x23\x6B\xE1\xFD\xF7\x9B\xFE\x54\xFD\x74\x96\xF5\xCA\x69\x9A\xFF\xBA\xFA\xF7\xE2\xFE\xF4\xF8\x4E\xE5\xFA\xF0\xFE\x2A\xED\xD8\xF0\xF2\xC1\x04\xA6\xFD\x04\x68\xFA\xDF\xFD\x3F\xDE\x4E\xEF\xFA\xD3\xFE\x6E\xFE\x68\xCC\xC1\x77\x8D\xF1\xB3\x3B\xB5\xF0\xF2\xB3\xC7\xFE\xF1\xF3\xF0\xD4\xB4\xC9\xFD\xF1\xFD\x89\x59\x66\x0E\xFD\x06\x80", - "\xF1\xC2\x04\x12\xFD\x4A\xF4\xF1\xDC\xFD\x0D\x07\xEE\xF6\xF6\xE2\xFD\x17\xC9\xF6\xFC\xE6\xF9\xFD\xA8\xF9\xF7\xF9\x10\x1A\xFF\x46\xF5\x78\xCA\xF2\xE5\xFB\x03\x68\xF9\xF6\xDA\xD7\xDC\xAE\xF5\xBA\xFD\xBE\x6A\xFF\xC7\xF6\xE6\xDB\xF8\xC2\x04\x8D\xFD\xD4\xF9\xFE\xD0\xFE\xBC\xB0\xF6\xF3\xFE\xC6\xBF\x3D\xFE\xFE\xF3\x10\x30\xFF\x68\x7C\xC8\x6E\xE7\x7D\x5E\x7C\xEE\x66\xD5\x00\x00\xFA\x7C\x9A\x6F\x71\x7E\xFF\x7A\x20\x07\x00\x93\x75\x76\xFE\x18\x7F\x21\x7E\xBB\x7E\xEB\x79\xFC\x74\xFB\x6F\xF9\x4F\x00\xED\x63\x6C\x7F\xFB\x7E\xD6\x78\x6A\x6B\x00\x81\x08\x0D\x00\xCA\x36\x68\x7F\xBE\x5E\xDA\x7F\xEA\x76\xFF\x6F\xFF\x41\xFF\x10\x66\x92\x56\x03\x83\xDC\x7E\x77\x5D\xFA\x78\xFB\x4B\xDD\x23\x34\x58\x5E\xDD\x7D\xB0\x7D\xF5\x59\x02\x92\xDB\x1F\x00\xC6\x7D\x85\x7F\x78\x7F\xC7\x5C\x2D\x37\x03\x9B\xBB\x53\xDD\x28\x7D\x31\x81\x88\x01\x0F\x84\xEE\x56\x92\x7D\x7B\x77\xC6\x31\x57\x3C\x80\xFE\x7C\x5B\x36\xE7\x72\xEA\x79\x86\x15\x00\x95\x7F\xA8\x76\xAE\x6D\x9F\x30\xF8\x73\xFA\x70\xC9\x53\x01\xAD\x80\xB1\x7E\xCD\x78\x0C\x87\x09\x8C\xF9\x6C\x2E", - "\x6B\xFE\x0E\x57\x54\x81\x2C\x80\x67\x7B\x0B\x81\x06\x95\xFD\x5F\x01\xCE\x5E\x36\x80\x7C\x7C\xC5\x6D\x06\x8D\x70\x43\x02\xB9\xC6\x31\x7D\x7D\x5F\x59\x7C\x3A\x53\x62\x68\x3C\x75\x68\x6C\x70\x09\x7E\x78\x80\x88\x5A\xC2\x7E\x62\x6B\x07\x98\x98\x4B\xFF\x19\x40\x0C\x7E\x74\x51\xF4\x7E\xEC\x33\xFD\x72\xBB\x32\x89\x15\x7E\x10\x81\x5C\x32\x06\x81\x26\x5B\xB1\x66\x01\xAE\x00\x98\x72\x65\x76\xBE\x7F\x0C\x82\x2F\x61\x09\x82\xFC\x53\x02\xAC\x63\x95\x80\xC4\x7F\xB2\x79\x67\x59\x09\x87\xFD\x78\xFF\x48\x5D\x9D\x80\x19\x83\xCA\x6D\xFF\x77\xB5\x78\x02\xAA\xEC\x03\x80\xA0\x7E\x9C\x76\x24\x85\x0A\x87\xD9\x65\x05\x89\x01\x9B\x80\x0C\x6C\x57\x82\x0A\x80\x16\x88\x76\x72\x05\xA9\x01\xB4\x81\x6A\x6E\x5B\x81\x1B\x83\x02\x8A\x03\x85\x7F\x5E\x00\xEA\x80\x41\x6F\x50\x82\x10\x87\x04\x86\x74\x63\xFE\x6A\xBC\x74\x59\xC8\x7F\x3F\x80\xC7\x62\x19\x8E\x31\x6C\x06\x86\xFC\x79\x80\x7C\x80\xF6\x47\xB9\x33\x3C\x39\xAE\x23\x99\x59\xDE\x04\x5F\x40\x7B\x84\x01\x46\x71\x37\x6D\xFE\x7E\xFB\x72\xD7\x51\x7A\xCC\x7C\xF8\x63\xCD\x7B\x14\x8B\x04\x82\xFA\x4D", - "\x9C\x00\x6C\xC7\x58\x05\x80\x2E\x84\xF2\x6B\x0E\x92\xC9\x6D\x03\xB4\x72\x62\x80\xCF\x7A\xB9\x5E\xF7\x70\x05\x89\x39\x7E\xFB\x35\x7A\x20\x7D\xD3\x75\x79\x78\x1F\x8C\xE2\x62\x8B\x53\xF7\x4B\x7C\xF9\x80\x45\x7B\x75\x7D\xC6\x70\x10\x86\xB3\x5B\xF7\x7A\x7B\x45\x7D\x13\x43\x77\x7D\x20\x88\x10\x90\xF2\x41\x04\xBC\x6C\xFF\x81\xEA\x78\x43\x84\xAD\x61\xDF\x73\x08\x80\xF9\x19\x40\x2F\x7B\x14\x7C\x41\x87\x98\x70\xE6\x77\xD1\x45\xE8\x73\x7B\xFF\x7A\x67\x7A\x92\x7A\x22\x84\xDE\x63\xC5\x5A\xF9\x0F\x82\x9E\x6C\xCF\x75\x98\x79\xC8\x74\xDF\x7A\xE6\x55\xF9\x3C\x7C\x13\x7B\x57\x73\x49\x80\xB7\x68\xC4\x7C\x07\x8D\x04\xD7\x7C\xAC\x77\x97\x80\x86\x78\x8C\x73\x9B\x6F\xD2\x60\x04\xB7\x82\xAB\x6C\x77\x7B\x4D\x79\x21\x8F\xE4\x53\x09\x80\x05\x90\x49\x1F\x7D\x7E\x83\x45\x86\xEC\x39\x99\x68\x09\x86\xF8\x77\x74\x27\x7D\x18\x7E\x46\x80\xEA\x5B\xE2\x67\x0A\x8E\x05\xE0\x71\x37\x7D\xA9\x82\x95\x79\x28\x80\xD1\x7B\xF2\x52\x05\x8A\x79\x3B\x7D\x9D\x81\x48\x80\x18\x7B\xBD\x76\x09\x83\x05\xAC\x7A\xEF\x71\x91\x83\x53\x84\x27\x83\xE8\x4A\x0B\xBF\x04", - "\xEC\x6A\x47\x7C\x45\x45\x92\x7A\x27\x84\xE3\x76\xAB\x4D\xF9\x67\x74\x74\x82\x1C\x7F\x1B\x6A\xCA\x76\x15\x71\xC0\x35\xEF\x1B\x82\x6B\x82\x33\x6D\xFE\x72\x2E\x8A\x90\x7D\x08\x91\xF9\x0A\x6A\x03\x77\x6F\x6F\x55\x84\x25\x8F\xCF\x62\x08\x22\xF2\x5E\x7C\xA4\x78\x7D\x6F\x60\x7F\x05\x84\xF8\x76\xF3\x6F\xFC\x5D\x81\x2A\x77\xF9\x7D\x40\x04\x24\x70\xED\x72\xED\x6F\xFC\x5B\x7A\xF5\x81\xFD\x63\x7F\x6F\xE8\x73\xA0\x24\xEB\x4E\x00\xD6\x7E\xA7\x83\xA8\x75\xF9\x78\xEC\x78\x1A\x8A\x7C\x6D\x06\xAD\x56\x21\x81\x08\x33\x08\x83\xD6\x50\x07\x91\xC0\x32\x01\x82\x7B\xBC\x7C\xB9\x37\x36\x87\x65\x6A\xF2\x78\x75\x7D\x06\xF3\x6D\x3F\x81\x2E\x82\xBF\x4E\x33\x81\x1A\x8C\x76\x57\xFE\x2B\x83\xD1\x5C\xCA\x79\x71\x84\xCD\x64\xFA\x66\x03\xAA\x06\xEB\x7F\x06\x6D\xD7\x83\xA6\x7A\x3A\x80\xEA\x6F\x0E\xB1\xFF\x04\x5F\xB1\x83\x88\x03\x6C\x82\x69\x35\x1B\x91\x08\x37\x06\xCE\x32\x93\x82\x48\x81\x9C\x7F\xEF\x7E\x0D\x94\xAF\x60\x03\x9C\x81\xE2\x81\xC8\x7C\x39\x86\x54\x3C\x04\x81\x00\x9A\xDE\x28\x81\xA4\x82\xA7\x54\x2F\x81\xF5\x7E\xF4\x76\x0E\xAE\x07\xEA", - "\x7A\xD4\x82\x53\x7D\x7E\x81\x5E\x69\x1D\x8D\x08\x1B\x07\xAD\x56\xDD\x83\x86\x03\x77\x80\x78\x39\x1B\x8D\x38\x7B\x06\xAD\x7B\xBF\x82\x1C\x82\x65\x83\x39\x8A\x19\x9C\x79\x5F\x02\xF1\x5E\x4A\x80\xF6\x82\x39\x86\x27\x51\x1F\x9C\xDF\x26\x06\xAE\x83\xF6\x82\x04\x80\x7E\x81\x43\x89\x1A\x9D\xB9\x7C\xFE\x63\x5D\x17\x80\xE8\x81\x82\x65\x3F\x89\x10\x1F\x0F\x87\xB3\x01\x84\x09\x02\x39\x82\x52\x85\xCA\x57\x9E\x64\xF2\x4E\x04\xAD\x84\x5E\x83\xAD\x83\x3B\x6B\x20\x8F\x15\x96\x08\xB4\xA0\x07\x82\x67\x83\x95\x83\xDE\x76\x30\x8B\x18\x84\x0A\xAF\x08\x83\x75\x66\x83\xA5\x81\xE0\x75\x11\x71\x24\x80\x0C\x8A\xEA\x2C\x68\x6E\x82\xC6\x81\x24\x75\x22\x84\x12\x81\x0C\x8B\x09\xBC\x84\x88\x71\xA9\x69\x92\x86\x47\x89\xA1\x7D\xEF\x56\x05\xE3\x82\xD6\x78\xF3\x7A\x5E\x85\x52\x7D\x88\x53\x12\x8E\x04\x8D\x83\x32\x82\x2F\x86\x8E\x86\x00\x62\xCE\x70\x09\x8D\x09\x8E\x7C\x50\x84\x41\x74\x59\x84\x5C\x7A\x25\x9A\x0A\xB8\xEB\x6B\x84\xB1\x77\x36\x85\x8F\x78\x2D\x80\x99\x62\x13\xAE\x08\x99\x74\x49\x83\x2B\x86\x55\x80\x04\x75\x24\x95\x11\xAB\xE0\x14\x6B", - "\x46\x83\x1C\x87\x19\x4D\x2A\x82\x28\x91\x11\x98\xB6\x61\x82\x75\x82\x19\x85\x16\x59\x2B\x83\x27\x83\x13\xA7\xD5\x08\x85\x5B\x84\x2C\x85\x39\x76\x76\x76\x27\x86\x14\xBC\xF0\x38\x7B\x79\x82\x37\x85\x24\x7D\x2D\x89\x29\x8D\x14\xB9\xE8\x4B\x70\x03\x77\xE1\x73\x9D\x83\x54\x8F\x4E\x6C\xE4\x50\x06\x96\x4B\x24\x7A\x47\x84\xA9\x85\x25\x88\xD2\x66\xE4\x6A\xF4\x01\x85\x42\x85\x33\x4B\x60\x86\x29\x39\x81\x55\x14\xBD\x08\xF1\x72\x03\x03\x2E\x7C\x61\x82\x15\x69\x26\x9E\xDE\x77\xD0\x65\x6D\x5D\x30\x0D\x6E\xE0\x76\xB9\x74\x23\x85\x15\x78\x08\xAF\x5E\x0B\x83\x57\x69\x44\x86\x57\x7C\x24\x88\xE1\x40\xFC\x44\x84\x8F\x5B\x8F\x82\xB3\x71\xBF\x7F\xA9\x56\x12\xAC\xD5\x2A\x82\xCE\x7A\x02\x7F\x3B\x6A\xCC\x6B\xE0\x79\xCC\x0F\xF8\x33\x58\x8C\x84\x3A\x7A\x50\x87\xE5\x5B\xE1\x70\x7A\x79\x09\xEC\x6A\x4D\x82\x33\x6D\x54\x85\x54\x44\x28\x8F\x79\x50\x0A\xCE\x5A\xEF\x84\x1B\x7F\xB8\x80\x8E\x73\x2F\x98\x70\x7F\xF8\x63\x64\x79\x7C\x33\x6D\x5C\x84\x56\x81\x11\x02\x15\xA5\x0A\xCE\x7C\xC5\x71\x56\x85\x47\x7F\x55\x84\xFC\x6D\xE9\x53\xF9\x6B\x68\xF6", - "\x53\x87\x75\x5F\x81\x62\x73\xF5\x4E\x0C\xA3\xF9\x13\x3E\xC2\x85\x10\x79\x31\x75\x58\x88\xD9\x47\x16\xB4\xA0\x49\x85\x5C\x5D\x65\x84\x52\x4F\x59\x88\x24\x87\x06\x9F\xC3\x45\x71\xCD\x84\xA6\x4B\x4C\x45\x1C\x26\x2D\x85\xB1\x58\x0B\xEF\x69\xDA\x85\x96\x80\xB7\x85\xE0\x4D\x85\x3F\x16\xA8\xB6\x71\x85\xE2\x85\xAE\x81\x4B\x85\x5C\x85\x2A\x47\x17\xA5\xD8\x69\x85\x7D\x4F\x75\x84\x66\x5D\x5D\x84\x2F\x92\x19\xB3\xE0\x61\x85\x07\x7A\xDA\x72\x8E\x78\x68\x8C\xE5\x57\x17\x98\xB8\x79\x85\x7D\x4F\x7D\x84\x7B\x31\x02\x3E\x2F\x8D\x09\xA6\x0A\xBB\x85\xA8\x84\x8E\x87\x9A\x74\x7E\x72\x35\x9E\x74\x45\xD4\x1E\x86\xD7\x73\x3C\x74\xD2\x5F\x31\x80\x35\x8C\x58\x6E\xE1\x0D\x81\xFC\x37\x5C\x02\xF6\x43\x58\x80\x49\x5A\x18\xA7\x80\x14\x86\x8B\x4C\x8B\x84\xD4\x58\x63\x85\x8C\x66\x1B\x99\x80\x21\x86\x90\x67\x91\x86\xE3\x76\xB9\x70\x37\x94\xE1\x55\x0D\xAF\x75\x48\x5F\x93\x85\x4B\x81\x65\x86\x66\x6B\x19\x91\x01\xA5\x38\x2E\x87\x27\x7A\xCF\x85\x9D\x73\x38\x9F\x54\x74\x0C\x98\x5B\x36\x87\x31\x64\xCE\x87\x53\x5A\x33\x8B\x34\x7C\x0C\xD5\x77\x85\x86", - "\x77\x84\xD1\x80\x2B\x85\x2F\x98\xE3\x53\x0E\xCE\x75\x46\x87\x2B\x74\xD2\x87\x53\x5A\x34\x99\xD3\x0C\x0D\xF7\x86\x4F\x86\x7E\x85\x43\x01\x55\x8E\xDC\x62\x18\xA7\x0A\x84\x86\x58\x87\x4B\x7A\x4B\x7F\x6E\x8A\x2B\x82\x1D\x89\x04\x0A\x83\x60\x84\x00\x00\xD7\x86\x75\x83\x10\x1F\x1A\x8A\xFD\x16\x4B\x62\x86\xD6\x48\x8C\x86\x52\x77\x37\x88\x1B\xA8\xB6\x6A\x86\xA5\x44\xB6\x86\x02\x7F\x6E\x85\x37\x86\xFB\x19\x04\xDF\x4E\xC4\x87\xBB\x84\xB5\x87\xE5\x55\x32\x83\x93\x7A\x0D\xE6\x6C\x7C\x87\xBE\x4E\xDF\x84\x25\x76\x89\x21\x1C\xB0\x0B\x97\x87\x0F\x7B\xD5\x71\x60\x6F\x6E\x89\x38\x98\x70\x4B\x0E\xAF\x5E\x8D\x86\xD4\x5B\xE3\x86\x72\x85\x39\x87\x14\x98\x0F\xE9\x79\x91\x87\x9E\x86\xF6\x80\x57\x8E\xED\x6E\xC4\x76\x9F\x05\x86\xA0\x85\x83\x86\x52\x62\x6E\x86\xA6\x72\xC2\x77\x0D\xA6\x87\x5D\x87\xEA\x6B\xDD\x83\x56\x8B\x34\x91\x08\x07\x0F\xA7\x61\x34\x7B\x27\x7E\x9D\x43\x76\x8D\x3F\x82\x09\x42\x03\xB8\x67\x31\x53\x72\x20\x1D\x86\x00\x66\x07\x8D\x20\x8D\xFF\x48\x81\xCA\x7F\x3E\x80\xC1\x7E\x19\x89\x0C\x8D\xE1\x13\x03\xB1\x38\xD5\x81\x62", - "\x6C\x22\x84\xA3\x66\x89\x2E\x1B\xAD\xCD\x77\x86\xC0\x86\xCC\x5A\xF0\x80\x6E\x79\x3C\x94\x1F\x88\x0C\xF0\x5D\x73\x87\xF7\x6E\xF2\x87\x6E\x8D\x3C\x98\x70\x4F\x0F\xFD\x4E\xD1\x87\x4F\x57\xF4\x82\x34\x88\x9C\x36\x1E\xB2\x0B\xE9\x87\x90\x87\xF5\x87\x59\x6F\x70\x8B\x68\x5D\x1E\x97\xE9\x5F\x87\x8E\x6D\xBB\x87\xF8\x86\x7C\x85\x3E\x80\x17\x85\x11\xAF\x86\xE7\x86\x3B\x44\xCC\x87\x95\x69\x39\x85\x83\x5B\x0E\xAF\x5E\x9D\x87\xBC\x37\xE7\x86\x84\x85\x80\x40\x18\x8E\xEB\x78\x87\xB4\x86\xDC\x45\xEA\x80\xCB\x78\xC9\x6C\x1D\x81\x10\xDC\x6C\x04\x88\xCF\x86\xBA\x49\x6C\x7B\x83\x25\xFB\x48\x07\x9C\x88\x99\x32\x0F\x8A\x9D\x46\x77\x8D\x58\x61\x21\x8B\x9A\x23\x88\x06\x60\x35\x8B\x54\x5F\x6E\x8F\x3F\x9C\x08\x94\x11\xE9\x7B\x5B\x88\xD0\x64\x0B\x8E\xE3\x5F\x42\x9F\x54\x71\x10\xAF\x5E\x33\x89\xBD\x5D\xCB\x87\x6E\x8B\x44\x9E\xD5\x45\x12\xF5\x3C\x3C\x88\xD4\x5A\x0F\x8D\x0C\x60\x44\x90\x7A\x61\x0F\x8D\x6B\x43\x88\x23\x88\x0E\x8C\x7C\x83\x49\x84\x22\x95\x12\x92\x89\x3A\x89\x26\x75\x13\x88\x2E\x5F\x44\x94\x41\x51\x11\x90\x37\x53\x88\xF8\x86", - "\x48\x7A\x7E\x82\x10\x04\x1D\xAF\xD3\x58\x88\x05\x88\x08\x53\x1D\x8E\x6A\x89\xE5\x62\x25\xB9\x0A\xDF\x88\x0E\x73\x30\x8A\x14\x8B\x8C\x86\xBC\x4C\xCB\x39\x0E\x96\x72\xD2\x7B\xBB\x86\x1C\x8B\x46\x8E\xF1\x4E\x23\xBB\xBC\x70\x88\x38\x83\xE7\x78\x2B\x6A\x5A\x8B\x9B\x75\x23\x9C\xB9\x45\x87\x67\x6A\x64\x8A\x73\x7B\x79\x83\x26\x6D\x21\xA4\xDA\x7D\x88\x25\x6D\x3F\x89\x98\x6F\x6E\x85\x26\x8B\x34\x76\x10\xCA\x75\x49\x88\xE7\x7B\x21\x8E\x59\x79\x48\x90\x45\x4B\x12\xB9\x77\x8D\x89\x2B\x77\x23\x89\x40\x51\x49\x9B\x79\x5B\x13\x92\x7C\x47\x89\x24\x75\x26\x8F\x4E\x77\x4E\x8C\x1F\x9F\xFE\x6F\x53\xEF\x87\x61\x88\x98\x74\x94\x82\xA6\x72\x27\xB5\x0F\xA3\x7A\x1E\x5E\x54\x8A\x18\x8C\xCA\x7E\x3E\x86\x18\x8B\x0C\x9C\x60\x0D\x87\x99\x7A\xD6\x86\xA5\x6B\x16\x7F\x27\xB1\xC2\x41\x85\x08\x8B\x55\x89\x7E\x5A\xA1\x8E\x4B\x8D\xAC\x40\x13\xCE\x7B\xBB\x88\x74\x52\x32\x88\x92\x46\x4C\x9B\x18\x8A\x14\x93\x8A\xE8\x50\x66\x88\xD4\x5E\x99\x85\x06\x70\x26\xB4\xA0\x52\x89\x50\x5F\x40\x8B\xAF\x70\x70\x84\x48\x99\x26\x87\xE6\x6B\x89\x33\x86\xEE\x86\xC7", - "\x59\x9C\x88\xD9\x43\x27\xB0\x90\x65\x89\x82\x86\x94\x8B\xCF\x81\x9D\x87\x3D\x94\x29\xB7\x10\xB2\x8A\x91\x71\x4D\x8B\xCE\x5D\x93\x80\xF5\x5F\x24\xAA\x6F\x21\x89\x79\x89\x45\x7A\x15\x88\x79\x6A\x4F\x93\x25\xBC\x13\xA8\x88\x2A\x68\x7A\x89\x7B\x79\x61\x88\x18\x8A\x2A\xB0\x0E\x91\x71\xB2\x88\x50\x88\x2D\x8E\x70\x5D\x14\x91\xC0\x2F\xFA\x69\x7C\x61\x78\x55\x7F\x7A\x82\x6E\x3D\x1E\x9A\x10\xA5\xC6\x03\x6F\xC7\x83\x53\x7A\xC7\x59\xA2\x81\x3B\x8C\x23\x80\xE8\x0D\x8A\x1A\x79\x91\x6B\xEE\x84\x1C\x78\x47\x92\x13\xB4\x93\x15\x8A\x0E\x72\x8C\x89\xEC\x82\xAE\x81\x89\x7A\x28\xA4\xDA\x1C\x8A\x97\x85\xD6\x64\x20\x5D\x4B\x84\xC9\x72\xA4\x5E\xBC\x55\x89\x3B\x5F\x6B\x8A\xA7\x6D\x9D\x89\xA1\x64\x2C\x8D\xE9\x5D\x89\x00\x75\x6F\x8B\x45\x7C\xA5\x89\xBB\x6E\x29\x80\xF1\x21\x73\x04\x8A\x17\x7E\xD6\x5B\xAF\x82\x59\x94\x7A\x51\x16\xF0\x84\xCB\x69\xBE\x89\x65\x8B\xE4\x50\x26\x7F\xDE\x6D\xEE\x71\x89\x6E\x8A\xA3\x4E\x4F\x8A\xA5\x30\x54\x81\x2D\xBE\xEA\x21\x87\xA9\x89\x81\x02\x29\x89\xAC\x62\xC9\x6C\xCE\x54\x16\xC9\x8A\x06\x8B\x8E\x86\x69\x8E", - "\x7F\x70\x4B\x87\x8A\x6B\xD7\x40\x85\x0A\x8B\x88\x8B\x5A\x8A\x3D\x7D\x4B\x9E\x78\x4F\x14\xCC\x7C\xBC\x78\x7B\x88\xB4\x84\xCB\x60\x57\x90\xE1\x5E\xBC\x74\x8A\x9F\x54\xBB\x89\x19\x60\xAF\x86\x4D\x7E\x28\x98\xB8\x20\x8A\x57\x74\x04\x7D\xA9\x40\xB0\x8D\x58\x62\x2C\xB9\xC1\x36\x8A\xD8\x88\xEC\x8B\x2B\x68\xB1\x8A\xC8\x6A\x2C\xBB\xF2\x0E\x6B\x1E\x5E\xC7\x8B\x2B\x68\xA6\x83\xC5\x78\x29\xAC\xD5\x06\x8B\xEF\x68\xF4\x89\x4B\x82\xBD\x81\x3B\x9A\x29\x9F\x17\xBC\x8A\x57\x75\xD1\x8A\xAD\x35\xB4\x88\x0F\x82\xD8\x4A\x15\xAB\x8B\xB1\x87\xA2\x8A\x54\x8F\xA8\x82\x40\x92\x15\x97\x0D\xFD\x89\x0D\x03\xD6\x85\x6A\x8B\x04\x50\x4F\x9F\x15\x83\xEC\x36\x87\xC6\x5D\xF4\x2F\x55\x8D\x87\x33\x1C\x9A\x2A\x90\xF6\x2C\x6E\x23\x35\x22\x82\x55\x89\x42\x8C\x55\x97\xD1\x12\x18\xF9\x75\xB3\x7A\x08\x8D\x50\x8A\xB7\x80\x24\x9D\x2F\x90\x92\x66\x8A\x8A\x78\xB4\x8A\x22\x7F\xB7\x8C\x5A\x9B\x07\x9E\x18\x92\x8A\x1E\x5F\xE2\x8A\x01\x60\xB9\x8F\xF2\x4C\x31\xAB\xE5\x48\x5E\xCC\x8B\xEF\x8A\x73\x8F\x4A\x70\x5D\x85\x83\x52\x17\x98\x5B\xD4\x8A\xA7\x5A\x75\x8D\x18", - "\x7C\x5E\x84\x1C\xA6\x17\x9A\x7C\x1E\x5E\xEF\x88\x80\x74\xB1\x8B\xF3\x42\x2F\x9C\xB9\x64\x8B\x60\x82\x93\x8B\x7A\x8A\xC9\x83\x53\x97\x24\xA6\x13\xCC\x8C\x39\x8B\x02\x8E\xAD\x69\xA0\x80\x4F\x78\xA0\x54\x19\xA8\x8B\xFB\x89\x81\x49\x3E\x8B\x92\x70\x60\x8C\x96\x7F\x17\xF5\x8B\x4D\x8B\xD8\x88\x81\x8F\xB5\x81\xB2\x4F\x18\xA2\xFD\x59\x81\x9C\x84\x7D\x6F\x0B\x30\xCF\x74\x61\x8D\x38\x5D\x15\xEB\x8C\x0E\x8D\x0C\x8C\x29\x83\x44\x38\x66\x9C\xD2\x72\x19\xE5\x81\xB9\x8A\x5D\x8A\xC7\x58\xC4\x8C\x63\x62\x31\xBC\xD8\x24\x8C\x6C\x8B\xE0\x89\x97\x8C\x2B\x74\x5C\x87\x2E\x86\x1A\xC8\x5E\xCA\x8A\xB8\x51\x8C\x88\x40\x73\x63\x85\x83\x75\x18\xBA\x75\xD4\x89\xBB\x87\x8E\x8B\x68\x8A\x5D\x97\x2E\x8E\x19\xB0\x51\xDC\x8A\x1E\x6E\x90\x8E\x5B\x74\x64\x90\x45\x46\x19\xC5\x71\x48\x8D\xEC\x8B\xA5\x8D\xBC\x88\xD0\x7B\xCD\x7D\x18\x96\x7C\x95\x8C\x2E\x6E\x7B\x88\x40\x70\x5F\x85\x83\x72\x17\xA9\x34\xF4\x8B\x13\x8E\x7D\x8A\xCC\x81\x10\x18\x2F\x91\xE2\x7A\x8B\x3F\x8B\x88\x3E\xC7\x5C\x7F\x89\x65\x92\x2D\xA0\x19\x81\x8C\xB5\x8B\x6A\x79\xC5\x75\x4F\x73", - "\xA2\x29\x79\x74\xF9\x77\x6B\xCC\x2E\xB6\x33\x82\x8A\xF3\x60\x1A\x9A\x01\x86\x1B\x95\x7D\x0F\x8D\x39\x8D\xE1\x37\xD9\x89\xE9\x6D\x33\x83\x68\x5D\x8A\xB8\x82\xB0\x8A\x86\x8F\x33\x81\x56\x97\x0E\xA7\xF6\x4D\x8D\xFB\x78\xB2\x89\x24\x72\xDC\x82\x16\x7C\x33\xA5\x04\xCC\x72\xA0\x59\x31\x54\xAC\x83\x4C\x64\x6E\x95\xA9\x6E\x18\xEB\x6C\x2A\x8D\x60\x8B\xBB\x8C\xD4\x63\x6F\x94\xD7\x49\x1A\x97\x7A\x8B\x8C\x02\x74\x96\x6B\xB6\x8E\xAC\x6F\x34\x97\xF4\x37\x8C\xB9\x77\x1C\x8E\xB7\x73\xD2\x80\x9A\x70\xDD\x59\x16\xFC\x8D\xE8\x89\x51\x8E\xAB\x71\xD3\x87\x6E\x80\x00\x1B\x1A\xD8\x68\x7C\x85\x13\x8D\xEC\x87\xD3\x8C\xDE\x61\x35\x8D\x1C\xA7\x8D\x35\x6A\x8C\x8D\x85\x72\xE3\x8D\xA2\x69\x35\x9A\xB6\x1E\x8B\x9D\x84\x1E\x6D\xAB\x89\xAF\x8B\x6B\x71\xA7\x48\x1C\x86\x60\x58\x8C\xA3\x8A\x96\x8D\xB3\x82\x90\x62\x85\x44\xE4\x2C\x8E\xB0\x8B\x81\x71\xAD\x81\xE4\x86\x74\x42\x30\xBD\x1A\xE3\x8C\xB6\x85\x82\x8A\xCC\x8B\xAA\x8F\x6B\x92\x18\x8E\xE4\x6D\x8D\x47\x72\x29\x8F\xA2\x72\xE8\x88\xD3\x47\x09\xBB\x16\xE8\x72\x64\x8C\x5F\x8E\xC4\x8A\x54\x74\x74", - "\x8D\x2B\xBD\x09\xA5\x45\xF7\x8D\xEF\x89\xBE\x89\x26\x86\xA1\x77\x2C\xB2\xCE\x56\x8E\xFA\x61\xBF\x8A\xC7\x5C\xE0\x8E\x4E\x8E\xD2\x79\xE0\x4B\x8E\xA8\x8C\x85\x8F\x63\x8B\x93\x4D\x74\x9C\xE2\x69\x1B\xBA\x74\x4F\x8F\x96\x89\xD9\x8F\x5B\x7A\x59\x98\x2C\xB8\xD5\x6D\x8E\x3D\x83\xAF\x8F\x3E\x7C\xE3\x87\xA5\x74\x3B\xB4\xEB\x2B\x8D\xAE\x75\x91\x8E\xF9\x76\xE4\x89\x76\x8B\x34\x69\x1C\xFB\x8B\x2B\x8E\xAC\x8F\xD4\x82\xA9\x8F\x17\x8B\xB3\x7C\x1A\xAA\x8E\x4A\x8F\x7D\x7A\xCD\x88\xF1\x88\x73\x94\x39\xBE\xEA\x51\x8A\xB9\x8C\x03\x8B\x15\x82\xD9\x8B\x02\x8D\x86\x0A\x18\xD6\x8D\xED\x37\x37\x8C\x18\x81\xCE\x8C\x6D\x9B\x36\x80\x01\x97\x8F\x5B\x8A\x37\x8C\x1B\x86\xD0\x78\x79\x9C\xDF\x1D\x15\xB1\x87\x40\x8E\xA8\x5D\xEA\x8F\x4A\x76\x6E\x81\xDD\x68\x1B\xC9\x8E\x2B\x6C\xA3\x8D\x87\x8B\x9F\x75\x6F\x93\x70\x6B\x1D\xB5\x8F\x3B\x5E\xDC\x8C\x2C\x51\xEA\x80\xA0\x73\x3A\x8D\x1C\x8D\x8D\xB9\x76\x7F\x8F\x77\x88\xE0\x8B\xF3\x42\x38\xBC\xD8\x5C\x8E\x85\x8A\x28\x8F\x79\x8A\xF9\x80\x64\x90\x3D\xA6\x1D\xB0\x8E\xC2\x77\x93\x8E\x9D\x44\xE2\x8B\x9B\x76", - "\x38\xAE\x1E\xDE\x8E\xC1\x70\xB0\x8E\xE4\x86\xE3\x86\x6A\x8C\x3E\xAC\xF1\x5E\x8F\x6B\x6C\xBC\x8C\xD5\x8A\xEF\x8F\x5D\x8F\x35\x8C\x68\x31\x8D\xFB\x79\xBF\x8D\xE4\x89\xF0\x80\x77\x83\xA1\x6E\x16\x82\x8F\xAC\x89\x2E\x8A\xF3\x88\x4F\x75\x6C\x6F\x2A\xB0\xDA\x64\x6D\x07\x8D\x1B\x36\x7B\x33\xC2\x8C\xD3\x6F\xC8\x2C\x19\xA1\x8F\xD7\x8C\xFD\x8C\xE8\x89\xDA\x88\x67\x83\xD1\x3B\x1F\x98\x8C\x9D\x8E\x69\x8E\xE1\x57\x00\x93\x65\x97\x33\x92\x08\xC8\x5E\xAB\x8E\xCC\x59\x04\x92\x0F\x73\x7F\x9E\x33\x9E\xDA\x00\x8D\x6A\x84\x9F\x8D\xC1\x89\xC3\x50\x7F\x8B\x2A\xBD\x1D\xA6\x75\xB7\x8F\xB5\x8C\xEF\x8E\x5B\x7E\x7B\x99\xE6\x40\x1F\xD6\x69\xC2\x8E\x00\x74\xF1\x88\x16\x56\x7C\x85\xD1\x6B\x1D\xF6\x8E\x7E\x64\xF0\x8F\x95\x74\xE1\x87\x7D\x8F\x38\x8D\x1C\x9D\x8D\x00\x74\xEA\x8D\xD7\x8E\xFA\x86\xAC\x72\x41\xB4\xC1\x3E\x90\x31\x90\xEE\x8D\xD7\x88\x06\x96\x4D\x62\x3F\x8D\x1C\xE4\x8F\x00\x74\xF3\x8D\x3E\x30\xFD\x8C\xDE\x6A\x3F\xA4\x16\xFE\x3D\x6B\x8E\x5C\x8F\x13\x94\xBF\x8B\xCF\x67\x3C\x80\x1E\x89\x8F\xEC\x7B\xC5\x8F\x15\x95\xF1\x82\x7D\x8E\xEE", - "\x50\x1E\xD3\x90\x07\x8A\x32\x34\xCD\x30\xDA\x88\x6C\x8D\xD8\x03\x20\x8E\x90\x15\x8C\x31\x93\x19\x91\x01\x95\x80\x85\xDC\x23\x21\xD5\x8D\x00\x91\xCC\x8C\xC7\x37\xFF\x84\x80\x8F\x40\x94\x19\x93\x90\xAB\x79\xF9\x8D\xEB\x8C\xCB\x66\x81\x97\x3E\x98\x20\x86\x75\x26\x8C\xDA\x8F\xDA\x89\xDE\x8D\xA4\x7A\x3D\x81\xA8\x06\x91\x8A\x79\x11\x93\xD8\x88\x6F\x8F\x59\x9B\x37\x9F\x20\x8D\x6B\x29\x90\x6F\x77\x0A\x91\x40\x5D\x82\x9C\x72\x48\x1F\xCD\x74\x44\x90\x75\x89\xA9\x8A\xD8\x8E\x67\x73\x3F\xB6\x20\xD9\x79\x38\x90\x6F\x76\x0E\x91\x43\x7C\x83\x8D\xDE\x40\x21\xCF\x8C\x42\x91\xE4\x8D\x2A\x90\x13\x97\x8A\x9F\x2E\x86\x21\xD9\x79\x48\x90\x6F\x76\x12\x92\x06\x3C\x84\x9B\x40\x8E\x21\xF3\x8B\x50\x91\xF9\x8E\x14\x90\x17\x94\x85\x8C\xEF\x56\x21\xEB\x8F\x58\x91\x0D\x92\x16\x90\x18\x9C\x85\x8F\x44\x81\xA8\x5F\x90\xBC\x91\x30\x93\xEC\x7C\x0E\x95\x86\x8E\xFC\x4C\x23\xEC\x90\x76\x91\xC2\x35\xEE\x78\x01\x9B\x1C\x80\x37\xB7\xFE\x38\x34\xCF\x91\x6A\x91\xB7\x8B\xED\x72\x10\x13\x46\x8D\x20\xD0\x91\x69\x90\x5C\x8A\xEB\x6B\x1B\x9E\x55\x97\xB8\x56", - "\x23\xDB\x7F\x5F\x35\x73\x93\x19\x8F\x63\x3A\x8E\x83\x12\x81\x22\x9F\x8E\xB3\x8F\x66\x7A\x7C\x4C\x14\x64\x37\x77\xC4\x6A\x1B\xB6\x85\x51\x85\x77\x93\x3C\x7F\x63\x82\x8F\x87\x21\x9A\x1F\x95\x74\x88\x90\xAA\x8D\x40\x95\xE1\x8A\x88\x9F\x13\x9F\xC9\x78\x91\x7D\x4F\x13\x90\xED\x70\x00\x76\x8F\x8C\x93\x50\x1F\xD4\x87\x8D\x91\x85\x4C\x3D\x93\xB3\x8D\xF1\x4D\x48\xAE\x1D\x9A\x6D\x39\x8E\x42\x65\x46\x92\x19\x7D\x85\x80\x2E\xA0\x17\x96\x92\x53\x76\x8F\x81\x98\x5D\x23\x94\x9A\x78\x3E\xA5\x05\xFF\x91\x1D\x8E\xB1\x8E\x41\x97\x22\x96\x8E\x66\x46\x9E\xEB\x19\x91\xFA\x81\xF6\x86\x4B\x93\xFC\x83\x91\x91\x1F\xB4\x1A\x80\x00\x4D\x87\x7C\x93\x5D\x86\x7E\x80\x92\x8E\x3F\x88\xEC\x3D\x92\x5C\x89\xD5\x84\x50\x92\xA0\x85\x7F\x8A\x2B\x86\x18\xCA\x8A\x6E\x71\x40\x8E\x30\x8C\x24\x97\x74\x88\xA7\x7B\x21\xEC\x7B\x7D\x91\x7D\x7B\x1F\x91\x56\x85\x36\x87\x3B\xBC\x23\xB6\x8B\xFE\x91\x23\x86\xD3\x88\x25\x97\xA5\x63\x48\x97\x1F\x85\x92\xD9\x79\x12\x92\x56\x91\x20\x0A\x90\x91\xA4\x68\xC9\x0F\x92\x04\x71\xF9\x8D\x25\x94\xCB\x67\x89\x9E\x48\xB0\x24", - "\xAF\x92\xAD\x91\x2B\x7A\x55\x94\x32\x7E\x78\x85\xC6\x61\x22\xD4\x8E\xA3\x91\x90\x78\x40\x7C\x24\x9D\x64\x9F\x31\xB8\xE7\x26\x92\x6C\x85\x99\x93\x42\x7B\x15\x9E\x96\x91\x4B\xAE\xEA\x2F\x91\x63\x92\x8C\x79\x44\x91\x47\x46\x65\x95\x4B\xA7\x80\x37\x91\xB0\x8D\x5C\x93\x62\x96\x27\x94\x35\x88\x4B\xB1\x1F\xC2\x92\x93\x92\xF2\x5B\x40\x8E\x31\x98\x3C\x68\x46\x91\x26\x92\x8F\x23\x35\x25\x38\xE9\x8D\xFF\x86\xC8\x3C\x3C\x9A\x23\x9E\x8F\x3A\x80\xD1\x90\xA9\x7D\xF4\x88\x3D\x47\x3D\xB7\xBF\x6B\x8E\x78\x91\xEF\x8B\x53\x93\x03\x91\x95\x8C\xEF\x53\x25\xC6\x84\x14\x6D\xB9\x90\xA1\x88\x1E\x90\x50\x9C\x4C\xA6\x7D\x5E\x92\x5C\x6C\xE0\x92\x43\x70\x2C\x9B\xCF\x62\x4B\xBC\x26\xD9\x84\x82\x92\x2E\x5D\x24\x94\xEA\x83\x89\x9E\xD6\x6B\x25\x8E\x72\x6D\x93\x12\x8E\xF6\x71\x30\x9C\x95\x9F\x41\x84\x26\xD2\x93\x64\x8E\xCB\x92\xC3\x8D\x26\x91\x7D\x89\x4E\x85\xE3\x79\x92\x1E\x93\x52\x93\x06\x97\x2D\x9B\x88\x84\x4F\x83\x16\x86\x93\xE5\x92\xF4\x91\xC3\x88\x31\x97\x9C\x89\x33\x9E\x27\xCE\x75\xB3\x91\x0D\x31\x2D\x93\xFF\x63\x4A\x97\x49\xB6\x1A\xF7", - "\x8F\x00\x01\x5D\x93\x67\x92\x95\x89\x99\x97\x4C\x8A\x15\x84\x91\x1E\x93\x61\x90\x18\x93\xA4\x43\x94\x92\x1D\xA6\x19\xD7\x91\x5D\x8A\xFE\x8C\x23\x84\x68\x5B\x86\x87\x4D\x8A\x20\xA8\x7D\x09\x94\x6A\x92\x70\x86\xF2\x78\x9A\x94\x0F\xA5\x23\xA4\x64\xED\x90\x6F\x8E\x39\x94\x1C\x9A\x93\x82\x34\xAF\x27\xBB\x73\xB1\x93\x98\x91\x40\x03\x36\x94\x27\x83\x08\x35\x26\xFB\x91\xDA\x81\x5E\x84\x3A\x69\x44\x9A\x6F\x97\x4A\xBF\x08\xBD\x93\x7C\x92\x9D\x6A\x51\x96\x45\x9A\x2A\x90\x24\x44\x27\xFD\x91\x12\x74\x84\x93\xB5\x83\x46\x97\x75\x9E\x4D\x99\xE8\x4D\x93\x10\x8F\x6E\x86\x8F\x96\xB9\x71\x9D\x9D\x50\x80\x26\xF1\x84\x1F\x94\x4E\x92\xC1\x8F\xED\x81\xA3\x82\x8B\x74\x20\xAD\x79\xF4\x79\x21\x96\x47\x97\x2E\x97\x26\x84\x2B\x7C\x28\xFB\x92\x49\x95\x60\x8A\x79\x90\x84\x73\x29\x8F\xF1\x4D\x29\x99\x8E\xEA\x92\x2E\x97\x74\x90\x49\x95\x9D\x9B\x14\xB2\x24\xE5\x94\xE7\x74\x09\x97\x7C\x79\x5F\x5C\x77\x88\x53\x9C\xE6\x10\x93\xE7\x8E\xC9\x92\x94\x95\x24\x9A\x9F\x91\x53\xBD\x22\xD4\x84\xFE\x8B\x56\x8B\x9C\x91\x76\x82\xA0\x89\x46\x84\x28\xBA\x94", - "\x25\x6C\xCF\x92\x9D\x92\x19\x93\xA7\x8D\x4A\xBF\x25\xAC\x94\x54\x8E\x12\x96\x3B\x96\xA4\x69\xA5\x8D\xD2\x77\x26\xFE\x84\xD7\x8E\x44\x95\xC3\x8A\x38\x9B\x81\x80\x50\xAC\x05\xDB\x92\x50\x94\x1A\x96\x48\x93\x05\x6F\xA5\x8D\x26\x97\x29\xFA\x8A\x1B\x93\x1E\x95\xA7\x90\xC3\x50\xA4\x8D\x38\x8F\x27\x9B\x90\x45\x95\xD7\x77\x91\x97\xE0\x8D\xA8\x8C\x27\xA1\x29\xFB\x79\x4F\x95\xF6\x90\x29\x4A\xF6\x89\x55\x9B\x53\xB9\x0C\xDC\x93\x58\x94\x37\x94\x80\x73\x4B\x93\x77\x8F\x55\xAC\xF7\x3C\x95\xBF\x94\x5F\x94\x56\x90\x53\x83\xAA\x92\xC7\x78\x2A\xC0\x73\x4A\x8B\x9C\x91\x06\x95\x8A\x88\x17\x85\x56\xA5\xC1\x75\x94\x4B\x90\x5D\x8D\x81\x97\x17\x93\xA0\x8A\xDC\x7A\x2A\xDE\x75\x7D\x95\xFD\x93\x9F\x96\x56\x9C\x56\x62\x54\x91\x2B\xA0\x93\x85\x36\x9A\x5C\xE5\x8C\x34\x93\x10\x02\x57\x87\x1B\xE0\x91\xA2\x8E\x32\x36\xB9\x94\x0C\x98\xAE\x81\x40\xAA\x2B\x8D\x94\x13\x94\x60\x59\x85\x97\x1A\x9B\xAE\x90\x43\xB5\x21\xE1\x91\xE1\x94\x78\x96\x85\x93\xBF\x64\x8E\x93\x19\x35\x2B\xA3\x93\xF7\x95\x74\x95\x7F\x93\x29\x9D\xAA\x8D\x09\x92\x2A\xD9\x79\x8A", - "\x95\x1B\x58\x00\x00\x10\x00\x63\x39\x01\x00\x04\x00\x01\x82\x80\x0F\x7D\x82\x83\x83\x08\xFF\x42\x03\x82\x81\x20\x87\x80\x09\x85\x80\x8F\x81\x8D\x8B\x7F\x89\x0C\x96\x91\x98\x83\x82\x8D\x84\x8E\x02\x9E\x88\x80\x90\x8A\x92\x83\x85\x0F\x93\x0F\x84\x8B\x8B\x96\x92\x83\x24\xAC\xAF\x91\x9F\x92\x8A\x97\x9A\x34\xB8\xB7\x93\x9B\x9E\x91\x9C\x9E\x14\xBA\x81\xAF\x98\x94\x84\x33\x9E\x07\xBF\xBE\x88\xAE\x8A\xA6\x90\xA7\x4D\xCC\x9A\x85\xA3\x80\x1A\xA9\x8B\x57\x95\x90\xBA\x8B\xAE\x89\xAE\xAD\x59\x91\x94\xA2\x8B\x2F\xAB\xAF\x96\x43\xCB\xA9\xAF\xA1\xB7\x8D\xB6\x84\x63\x81\x96\xAB\xB0\x9F\xB5\xA4\xBB\x75\xF4\x9C\xB8\xB6\x9A\xBE\x8B\xB8\x00\x73\x99\x88\xB3\xC0\xA1\xC2\xB5\x87\xEC\xBE\xA0\xBB\xC2\xB3\x94\x17\x66\xFC\x98\xAD\xCE\xB4\xCB\x90\xC9\x67\x89\x80\xC6\x21\xCE\xCB\xBA\xCF\x79\x89\xD1\xA0\xDD\xBA\xD3\xBC\xD2\x0A\xAB\xB3\x1D\xC6\xD6\xAC\xCD\xD7\xA8\x99\xF0\xAB\x9B\x1C\xD5\x8E\xA1\xAD\x8C\xF9\xC4\xC7\xDE\xC1\xDE\x93\x80\xBD\x36\xC1\x98\xDF\xDE\xC5\xDD\x95\xC8\xF3\xCF\x8F\x0B\xE1\x92\xDF\xC4\xD0\xCF\xE8\xC6\xE6\x8C\xC0\x30\xCE", - "\xB2\x94\xF1\xEB\xEB\xEB\xE3\xEA\xA7\xCA\xC7\x80\xC7\x17\xA8\xC0\x13\xD9\xB5\x93\xC2\xF1\xD0\xF2\xD7\xD8\x92\xE4\xE6\xEB\x98\xF6\xBE\xD9\xCF\xEC\xA5\xEE\xFA\xDB\xFC\xDC\xEE\x91\x80\x62\x19\x79\x71\xFF\x63\x69\x7F\x7A\xFD\x49\x79\x83\x72\x0C\x61\x13\x82\x74\xDA\x5F\x75\x81\x78\x0B\xB8\x75\x85\x7B\x13\xBF\x5B\x49\x01\x0F\x9D\x71\x86\x81\x17\xBA\x79\x84\x7F\x23\x8E\x6B\x49\x87\x12\x9E\x70\x89\x89\x0A\xAC\x87\x64\x6A\x80\x59\x08\x8B\x8A\x2A\x94\x8E\x8A\x85\x37\x98\x85\x8E\x86\x0F\x65\x7E\x5F\x79\x33\xB6\x8B\x8C\x89\x43\xBE\x75\x91\x8B\x47\x8C\x83\x42\x8F\xAD\x40\x96\x7C\x6C\x07\xB7\x7A\x8F\x87\x42\x94\x9C\x8C\x43\x4C\xAE\x7E\x91\x6B\x52\xA2\x89\x90\x8E\x5F\x93\x9A\x79\x97\xA9\x7D\x83\x7F\x43\xF5\x5C\x90\x95\x88\x08\xB9\x8E\x96\x95\x44\xB0\x96\x92\x9C\x9A\x6B\x4C\x0D\x90\xEF\x51\x9B\x9A\x9B\x6D\xA1\x9F\x9A\x7A\x80\x4D\x08\x9D\x9C\x63\xBB\x9E\x9D\x9F\x74\x8A\x92\x40\x12\x57\x67\x8A\x78\x02\x2B\x4A\x23\xA3\x9C\x85\xB0\x76\xA7\x81\x80\x42\x1D\xA2\x64\x90\x8F\x4E\x1F\xA4\x48\x89\xA0\x9A\xA8\x62\x84\x87\xA0\x60\x22\x1B", - "\xA8\x69\xA7\x0C\x7F\x00\xAB\x8B\x7A\x97\xAC\x98\x99\x80\x6D\x0A\xAB\x81\xAC\x83\x45\x5B\x93\xB2\xBC\x94\x9B\xAF\xF1\x6B\x46\x17\xAD\x6C\xB9\xA2\x41\x28\xAF\xA3\xA5\xA5\xAC\xCC\xB3\xA1\xB3\x43\x24\x04\xBC\x9E\xB1\x01\x44\x17\x55\x00\x2B\x42\xAE\x5C\xB5\x00\x1A\xBD\x6A\x01\x92\x58\xBF\x42\xB7\xEE\x5C\xB4\xB9\x86\xE0\xA8\x63\x03\x4A\x5D\x5C\xBC\x03\xB5\xD9\x97\x56\xBB\x55\xE9\x87\x8B\xBB\x43\xED\xAB\x4F\xBA\x5F\xE2\x8C\x47\xBB\x8E\xF3\xBE\x55\xBC\x9B\xF7\x8C\x49\xBF\x43\xFB\xAD\x6D\xBF\x40\xFF\x96\x91\xC3\xB7\x92\x45\xC3\x43\xC1\x0C\x49\xCE\x7B\xC2\x02\x4D\xC5\x47\xC3\xEE\x43\xCC\x9E\xC4\x02\x54\xC3\x42\xC5\x19\x98\xC1\x42\xC6\x11\x5C\xC8\xB9\xC4\xEC\xB2\xBA\xBD\xB2\xA5\x90\x8B\xB0\x9B\x80\x47\x5C\xAD\xB3\xBE\x86\xA4\xA9\x41\x35\xF0\xCF\x9E\xA9\x3B\xC8\xA3\xCC\x9F\x80\x5C\x1E\xCE\xD0\x40\xC3\xD7\xA0\xAD\x2B\x4E\x47\xCE\xB3\xBD\x8B\xDA\xCC\xA0\x2B\x6A\x4F\xD1\xCE\x51\xC1\xD0\xB1\xD6\x4A\xDA\xD3\xD5\xD2\x35\x7D\xC7\xD6\xD4\x5C\xE0\xD2\xCD\xD8\x2B\x42\x6E\x7B\xD6\x38\xE4\xDD\xD9\xD0\x80\x7B\xAA\x99\xD9\x67\xF5\xDE", - "\x84\xD5\x0F\x6A\xD9\x84\xDB\x50\xEF\xDD\xD4\xDE\x0C\x7A\xDB\x8C\xDF\x58\xFE\xD6\xD8\x70\x8F\x47\xD4\xE2\xDB\x7D\xF4\xCB\x48\x67\x63\xDE\xD4\xDF\xDD\x87\xE9\x80\xDE\x6A\x8A\xDF\xD6\xDE\xE5\x80\xC3\x45\x6D\xE4\x7F\xD5\xE4\x8E\xE4\x98\xAB\x42\x70\xE8\xA2\xD5\x91\xE8\x51\x2B\x4D\x78\xEB\xE6\xA3\xEB\xE8\xE3\x43\xD8\x6F\xE4\xE4\xEC\xAA\xE9\xE7\x97\x92\x67\x8C\x49\x9B\xDA\x9A\xF7\xE2\xF0\xE7\x68\xE6\x9F\x8C\x7D\x99\xD3\xE4\xF0\xEE\xBB\xC2\x42\x82\xED\xCB\xC3\xF1\xEE\xEE\x15\x40\x6E\x80\xF4\xD3\xCC\xF4\xA0\xF5\x94\x85\xFC\x40\x87\xD8\xF9\xEA\xF5\xF7\xE3\xF5\x97\x89\xF8\x79\x8D\xE5\xE2\xFA\xA7\xAB\x42\x8C\xFA\xDB\xE5\xF0\xAC\xFB\x97\xC6\xFD\x90\xF2\xF0\xE4\xF2\xF6\xF8\xFB\xCD\xF1\x41\x96\x19\x5B\x48\xF0\x4A\x79\x7B\xFE\x71\x7B\x76\x58\x5D\x77\x40\x3F\x7B\x6F\xE0\x51\x7F\x81\x05\x80\x43\x4A\x00\x8B\x46\x01\x8D\x84\x80\xFC\x70\x81\x06\x91\x86\x3A\x3B\x49\x7E\x70\xF2\x6A\x58\xF7\x66\x7E\x5F\x0F\xB4\x7A\x76\x1A\x9E\x7C\x00\x0C\x5E\x2E\x47\x75\x24\x5B\x92\x59\x7D\xA8\x28\x8C\x83\x0D\x93\x2B\x25\x9A\x4D\x84\xA7\x2B\x2F\x52", - "\x19\xB3\x7B\x7D\x40\x8C\x70\xD1\x2B\x29\x54\x1D\xAB\x53\x25\xAE\x5E\x86\x08\xA1\x81\x66\x03\xA6\x44\x21\xB6\x46\x88\xAE\x2B\x22\x6F\x01\xA0\x86\x89\x33\x83\x86\xA2\x01\x23\x58\x29\x85\x5B\x25\xC8\x4A\x89\x13\xA9\x87\x80\x32\xBA\x7A\x82\xD0\x52\x5B\xA1\x5C\x56\x5A\x7E\x6B\x27\x01\x2E\x63\x5C\xBD\x61\x5F\x8D\x38\xA5\x82\x60\x2C\x78\x5E\x1D\xA3\x60\x5F\x87\x30\x8B\x5B\xF1\x58\x8E\xBA\x2D\x60\x90\x84\x7D\x8C\x21\x7F\x8D\x36\xCA\x3B\x4E\x63\x43\x60\x61\x20\x22\x62\x20\xC9\x3B\x46\x64\x00\x09\x95\x5C\x81\x90\x63\x20\xFA\x85\x91\x8A\x47\x93\x20\x97\x99\x43\x22\xD6\x4D\x91\xA0\x4F\x90\x00\x91\x81\x23\x24\xD6\x45\x93\x50\x80\x61\x93\x1D\x79\x8E\xC1\x7B\x82\x92\x13\x81\x8C\x74\x8E\x6F\x22\xCD\x73\x67\x8A\x33\x99\x8C\x75\xBA\x96\x96\x10\xC3\x98\x97\x21\x8F\x26\x68\x62\x9F\x64\x13\xCA\x98\x8B\x2D\x80\x06\x69\xBC\x87\x86\x16\xCB\x8D\x99\xF1\x15\x6A\x98\xC5\x84\x98\x0D\xB6\x89\x7D\x5B\x9B\x9D\x9B\xED\x61\x99\x32\xC8\x6B\x98\x72\x95\x9F\x24\x69\x78\x9B\x37\xE5\x85\x86\x15\x95\x8F\x82\xBD\x8D\x9C\x3B\xDC\x95\x7B\x74\xA3\x9B", - "\x71\xD9\x99\x9D\xE7\x02\x22\x70\x2B\x78\x9B\x9D\x67\x92\x9F\x13\x83\x20\x33\x7B\x8E\x82\xA0\xBF\x88\x83\x40\x10\x71\x9A\x6F\x93\x9B\x8C\x08\xBF\x85\x38\x8C\x2B\x34\x83\x98\x80\x9C\xFA\x9E\x7A\xE7\x6A\x9F\xA0\x66\xBE\x96\x99\xA7\x6D\xA2\x36\x9D\xA6\x9C\x34\x8C\x26\x75\x22\xB9\xA1\x39\xCC\x64\x76\x8E\xAB\xA7\xA0\x37\x96\x7E\x96\x78\x79\xA4\x80\x89\xA7\xA3\xD4\x86\xA4\xEF\x47\x78\x4C\x97\xA7\x9E\xA3\x11\xB6\x9B\x43\x4F\x75\xA6\x92\xBF\x9C\xA4\xD6\x7E\xA4\x4E\x90\xA4\x9F\x80\xB1\xA7\x7B\x4A\xA1\xA8\x53\x98\xAB\x9F\xF3\x7E\x98\xA6\x54\xA6\xAB\xB3\x0C\x2F\x7D\xA2\xAF\xA7\xA2\xF3\x8A\x84\x05\xD6\x46\x83\xC1\x58\xA9\xAC\x68\xAE\xAA\x58\x8A\x82\x20\x06\xA6\xA8\xAC\x6A\xA9\xAF\x4D\x9D\x82\xA7\x00\xB4\xA6\x8A\xD2\x9F\xA9\x3C\xCF\xAB\xA7\xFB\x7D\xA6\xA2\x7B\xB9\xAA\x5E\xB9\x9C\x21\x3B\x40\xB1\xAF\x3F\xA5\xA6\x54\xBC\x60\x96\x78\x88\xB3\xA9\x40\xAD\xA8\x09\x83\x2C\x85\xD6\x2E\x87\x25\x30\x91\xAA\x64\x92\xAA\xA4\x85\x82\x21\x87\x96\xBB\x86\xA7\x1A\xB2\xB1\xC4\xAC\xA4\x21\x45\x81\xB7\x11\x8F\x29\x88\xAF\xA6\xB7\xAC\x71\xA3", - "\xA2\x40\x51\x8A\xB5\x29\x8F\x27\x9D\x6F\xA1\xB2\x5C\x9C\xB6\xA6\x67\x9D\x8D\xB6\x5F\x8F\x21\x18\xAE\xB0\xB2\xC5\x9B\xB1\xA7\x8B\xA5\x4C\x43\x51\x5E\x8B\x69\x6B\x25\x8D\x0A\x6B\x25\x04\x34\x97\x65\x39\xA8\x35\x92\xD3\xBD\x90\xC3\x56\xB6\x5E\x42\x8A\x97\x65\x6E\x8F\x21\x76\xDF\xB2\x8E\x41\x9D\xBC\x93\xE4\xBE\x91\x78\x8C\x23\xBC\x4C\xA5\xBA\x93\xE7\xB3\x96\x76\xB5\x9B\xBD\x81\x2D\xBA\x94\x8D\xAC\x92\x2C\x93\x64\xBA\x00\x2B\x95\x22\xD8\xBD\xBC\xCA\x09\x25\x94\xF5\x27\x91\x95\xFE\xBF\x92\x40\x77\xBF\x95\xF7\xB1\x93\x93\xF2\xA9\xBC\x1F\x87\xBE\xA1\x72\xA2\x6C\xB8\xC9\xA7\xA8\x30\xC6\x24\xB5\xDD\x88\xBF\xB8\xE8\x87\x99\x87\xB1\xB3\xAE\x10\xCC\xB7\x21\xD0\x98\xAD\x85\xAF\xB0\xAF\xC9\x82\x26\x6A\x18\xC6\xC6\x71\xA5\xB5\xB8\x0D\xEC\xC2\xB7\xB2\xA1\x23\x2E\xAA\xC3\xA5\xC1\xAB\xC2\xA7\xFC\x83\xC5\x89\xB4\xC9\xB9\xB8\x42\xCC\xB7\x5A\xB0\x46\x3D\xB1\xC4\xC8\x19\xF6\xC0\xC8\x72\x27\xCB\x87\xCD\xC4\xCB\x7A\x8F\x25\xA0\x4C\xDE\xC3\x54\xDA\xC1\xB2\x15\x8C\xA4\xC7\x9D\xB5\xC4\x6C\xC3\xC6\xCA\x8A\x92\xCB\xCB\x24\xC8\xCB\x86\x9B", - "\xA4\xC3\x1E\xF7\xC4\xB0\x03\x21\xA4\x98\xBD\xB3\xCA\x2E\xCA\xBB\x20\x28\xB3\xCD\x92\xB8\xCE\xC5\x80\x35\x71\xCB\x69\xD5\xCD\xA0\xE8\xCD\xCE\x00\x23\xAD\xCC\x0B\x87\xCD\x97\xF6\xC7\xB5\xBE\xB3\xA7\xAF\x80\xC4\xCF\xA0\x8B\xD3\xD3\x3B\xCE\x7A\xD1\x33\xCC\xD3\x56\x83\x27\x7B\x48\xEA\xCF\xCD\x3F\xC5\xCB\x86\x18\xDF\xC8\x51\xD6\xAA\xCF\x3E\xCE\xCD\x71\xB1\x44\xD5\x31\xDF\xD0\xCA\x86\xCC\xAD\x40\x6E\xA7\xAB\x16\xEF\xD1\xC3\x9B\xC2\x23\xA1\xB9\xC0\x00\x5A\xDA\xD6\xD6\x82\xD2\xD1\xA1\xBB\xD5\xD0\x5F\xD5\xD5\xD4\x4E\xD9\xD7\xFF\x32\xDD\xD7\x56\xC0\xDC\xD0\xB7\xDC\xAE\x40\x06\xBE\xD3\x60\xD1\xDD\xCA\xC7\xCA\xD9\xB7\x4E\xDC\xCF\x6B\xC8\xD3\x51\x6A\x81\x69\x66\xED\xC1\xCC\x5C\xCA\xCF\x21\xA0\xAE\x3F\x65\xA6\x2C\x5B\x1E\x95\xD8\xDA\xD6\xD1\xDC\xBC\xA1\xC8\xB5\x70\xCF\x50\x89\xDC\xCF\xB2\xA9\xD0\x86\xDF\x17\x94\x89\xDF\xA1\xD2\xC4\x60\x3F\xBA\xDC\xD1\x8C\x23\xB8\xA8\xC0\xD6\xAA\xE6\xD5\x75\x34\x8D\xBB\x8D\xCF\xAA\xC1\x40\x0E\x02\xC0\xEE\xAC\x4D\x92\x14\xF3\xBD\x75\xE6\xB4\x60\xEF\xAE\xBA\xBD\xD1\xAF\x21\xC6\x92\xC9\x62\x8B", - "\xDF\x66\xE3\xF8\xA6\x91\x7D\x82\x23\xE5\x8F\xDB\xBC\xE3\x27\xE8\xBE\xCB\xF4\xB1\xE4\x86\x2D\xE1\xE5\x77\x90\xBD\xC7\xB2\xE8\xE7\x09\xF5\xE3\x20\x37\xED\xC1\xCE\x8F\xC1\xBE\xFE\x9A\xE1\xC1\x2B\xF3\xE1\xC5\xB0\xEE\x90\x94\xC2\xEE\xE7\x09\xE2\xCF\xB3\xA7\xCC\xC2\x72\xF4\xCB\xDE\x54\xE3\x23\x8E\x8E\xB1\xE0\x6C\xC2\xDE\xDB\xBC\xC8\x9B\xBB\x94\xDF\xEA\x79\xE4\xEE\x99\x29\xDC\xEB\xC2\xC9\xD3\xEA\x4B\xC1\x20\xC6\x51\xEC\xE2\xBE\xEC\xED\xDA\xB3\xD9\xD5\xD2\x17\xD1\xEC\xDD\xF3\xEE\xEA\x67\xBD\x9F\xD7\x75\xF8\xEB\xDD\x85\xD8\xB7\x5A\xC1\xF7\xEC\x76\xED\xD1\x90\xD6\xEB\xCE\xBE\xDF\xD9\xCA\x8C\xE9\xD5\xB9\xD2\xD1\x20\x2C\xFA\xED\xEF\x89\xEE\xD6\x50\x8C\x2F\xCA\xB5\xD3\xF0\xF3\x82\xE8\xDA\x0A\x95\xA3\xED\xC1\xE0\xED\xEC\x82\xE0\x33\xE7\x25\xF2\xF4\xC0\xF0\xCA\x20\x72\xDE\xF3\xD5\x88\xF9\xF5\xD6\x40\xE3\xED\x2A\x9F\xCF\xE5\xAE\xFD\xEA\x3B\xF2\x3C\xA7\xBE\x77\xF7\xE7\xBE\xF3\x82\x66\xC6\xD8\xF5\xB4\xE9\xFA\xE9\xF6\xE1\x40\xE1\xF3\xF3\xF9\xF4\xDC\xD2\xF3\x8D\xFD\xF6\x5E\xE0\x7C\xF5\x9A\xE1\xF6\xB6\xEB\xD9\xF3\xB6\xED\xF4\xD7", - "\x5D\xBB\xF5\xB6\xDE\xFA\xDA\x62\xCE\x9F\xF8\xA7\xE9\xFD\xF7\x87\xFE\xED\x58\xC0\xF9\xD1\x91\xEA\xE3\xF0\xBC\xD6\xFD\xCD\xF0\xF8\xFB\xE4\xED\xEF\xEF\xFE\xA1\xF9\xF8\xD2\xEC\xFD\x8A\x71\x10\xD4\x62\x7E\xC8\x70\x7D\xCA\x7F\x7D\x85\x63\x60\xEA\x7A\x7D\xF9\x7D\x70\x0C\x15\x59\x05\x7B\x5A\x0C\x11\x43\xF8\x70\x80\xD9\x79\x75\x9F\x5D\x6F\x98\x5C\x43\xD3\x72\x79\x55\x50\x00\xA9\x51\x81\xB6\x5D\x2A\x1D\x82\x7F\x1F\x84\x5B\x22\x81\x5C\x0C\x15\x78\xBC\x78\x7B\x2D\x85\x3F\x0C\x14\x70\x19\x2C\x7D\x1E\x1C\x2D\x08\x72\x7B\xD4\x7E\x82\xE3\x7E\x80\x03\x1C\x5C\xC0\x5E\x5C\x0F\x10\x5D\x17\x3B\x12\x10\x0B\x74\x3A\x7C\x27\x95\x45\x84\x47\x7A\x80\x07\x15\x60\x35\x17\x60\xFD\x5F\x5F\x11\x19\x84\x46\x84\x74\x3B\x71\x61\x33\x7A\x4A\x12\x70\x00\x4A\x84\x72\x1B\x77\x84\x4D\x7C\x73\x4F\x74\x73\x43\x8F\x10\x5D\x89\x85\xDB\x6C\x74\xA6\x4E\x74\x0E\x30\x5E\x3F\x72\x10\x67\x8D\x73\x25\x7A\x86\x06\x6C\x86\x1B\x3E\x86\x65\x8C\x10\x71\x83\x86\x5F\x86\x85\x31\x78\x85\x72\x8A\x85\x74\x85\x13\x4E\x8F\x12\x50\x87\x74\x52\x84\x60\xFB\x51\x32\x51\x86", - "\x72\x61\x80\x88\x7C\x88\x74\x60\x8B\x86\x62\x8D\x86\x2A\x73\x89\x75\x85\x89\x77\x87\x89\x7E\x8F\x88\x46\x7E\x85\x92\x84\x80\x0B\x87\x80\x17\x86\x80\xED\x7B\x75\xB9\x5E\x78\x3B\x8A\x8A\x05\x89\x77\x38\x8E\x81\x39\x83\x7F\xAD\x8B\x12\x62\x72\x8A\xEB\x7C\x8A\xA3\x86\x8A\x01\x8F\x4C\x25\x8F\x7F\xB8\x8C\x7C\xD7\x4E\x7F\x72\x75\x7D\x05\x88\x80\xB9\x86\x8C\xB7\x84\x8C\xCE\x48\x8A\x86\x7F\x8B\x0C\x86\x81\xFA\x7B\x64\xB6\x8F\x8C\xCE\x84\x8A\xD1\x87\x5B\xBD\x83\x8C\x3A\x83\x8B\x79\x39\x8D\x7B\x7A\x8C\xC0\x8D\x8D\xC2\x8F\x8D\xDB\x87\x8C\xDA\x66\x79\xAF\x86\x82\xB1\x8F\x7C\xBB\x8D\x79\xA9\x80\x8E\xD4\x80\x8F\xD6\x8C\x7E\x80\x14\x7A\xD3\x83\x8F\xD5\x8A\x8B\xA5\x8A\x7A\xDE\x80\x7A\xF8\x82\x8F\xED\x71\x7B\xEF\x85\x8E\xC9\x84\x90\xB5\x7C\x1C\xFD\x8F\x82\xCF\x77\x1D\x09\x9B\x8A\x00\x9B\x8B\xF5\x71\x7D\x6D\x5D\x90\xC5\x85\x8A\x10\x96\x7C\x14\x96\x8E\x0D\x8F\x7A\x01\x14\x54\xF7\x8A\x8F\x1B\x9F\x90\xDA\x6D\x69\x1F\x98\x8C\xF1\x86\x90\xFF\x83\x51\x03\x17\x7D\x25\x96\x91\x2E\x97\x8D\xA7\x63\x90\xB2\x8A\x91\xD0\x84\x8F\xEE\x39\x91", - "\x05\x93\x93\xE1\x89\x40\xEF\x73\x91\xE3\x8E\x8F\x20\x95\x93\x1C\x9E\x7E\xFC\x77\x7F\x2D\x91\x92\x28\x91\x94\x43\x91\x91\x18\x83\x6B\x38\x97\x92\x3A\x97\x90\x3C\x95\x94\x3E\x95\x81\xF9\x86\x92\x29\x91\x95\x4D\x90\x00\x03\x89\x8E\xBE\x82\x92\x48\x9A\x95\xED\x7C\x84\x50\x9C\x8E\x2F\x96\x93\x0F\x10\x81\x33\x86\x70\x03\x14\x81\x47\x92\x94\x60\x98\x96\x0C\x19\x6E\x6B\x92\x81\x03\x1E\x6E\x6F\x97\x95\x67\x99\x8F\xA8\x2A\x81\xEC\x68\x6F\x3F\x9A\x90\xEB\x88\x54\x2B\x18\x82\x75\x93\x82\xBA\x2F\x94\x59\x96\x96\xE7\x61\x83\x7E\x92\x12\x36\x8A\x98\x4A\x91\x97\x7C\x9B\x12\x3E\x89\x82\x40\x8C\x10\x42\x8E\x95\xDA\x82\x96\xBB\x8C\x8C\x82\x90\x8B\x16\x6B\x12\xA0\x9E\x90\x49\x98\x95\xA6\x85\x34\x92\x98\x9A\xBB\x89\x76\x32\x9C\x98\x70\x99\x94\x80\x10\x77\x9C\x94\x8E\x9E\x9B\x97\x94\x99\x9B\xB2\x94\x9A\xAB\x98\x9B\x2A\x9B\x78\x56\x9A\x9B\xB7\x9D\x98\x89\x91\x98\xA6\x93\x9C\x3C\x80\x9C\x79\x92\x9C\xB0\x93\x94\x7F\x77\x9C\xCD\x9C\x9C\x1A\x52\x10\xE8\x8F\x9A\x83\x92\x9A\x89\x5B\x19\xBD\x91\x96\x0B\x98\x39\xC6\x95\x91\xDC\x93\x9D\x01", - "\x1B\x7A\xCB\x97\x9A\xBE\x90\x83\x71\x6B\x9D\x72\x98\x67\xEA\x95\x99\x2D\x5F\x9D\x34\x9A\x97\xC4\x9A\x6B\x18\x90\x9F\x39\x91\x9D\xBF\x9B\x6C\x3D\x9E\x94\xF6\x95\x96\xD7\x9E\x59\x1D\x9D\x9E\xD2\x9B\x66\x02\x14\x92\xB5\x90\x94\xAC\x97\x9E\x1F\x8C\x92\x07\xA1\x9A\xEA\x83\x9A\x31\x96\x9D\xD8\x9F\x95\xBB\x9F\x10\xE1\x7D\xA0\xD0\x9F\x9F\xAB\x65\x7C\xFB\x9D\x6C\xFD\x9B\x98\x1A\xA4\x57\x53\x9F\x68\xFD\x71\x9C\xE6\x91\x9E\x04\xAA\x9F\x54\x9C\x9F\x26\xA8\x9C\xF2\x99\x9C\x2A\xA4\xA2\x46\x98\xA1\xE0\x91\x9B\x2E\xA6\x4C\x85\x52\xA0\x27\xAB\x9E\x73\x8D\xA2\xF8\x97\xA3\xF9\x9B\x42\x8F\x95\x83\x91\x2A\xA3\x40\xA8\x9E\x19\x8F\x70\xE2\x6C\x81\x1F\xA3\x99\x3B\xA3\x94\x21\x87\x98\x2A\x83\x10\xAD\x55\x9E\x47\xAF\xA3\x27\x83\xA4\x1A\x1C\x2D\x2C\x89\xA1\x13\xAD\x99\x1F\x82\x83\x3B\x24\x83\x5B\xA0\x46\x46\xA8\xA5\x84\x9E\x70\x3F\x80\x71\x41\x8B\x85\xB4\x91\x89\x64\x95\x10\x85\x86\x12\x95\x4F\xA6\x96\x83\x74\x2B\x30\x61\x9F\x88\x86\x89\x88\x10\x73\xA2\x12\x7F\xAE\x11\x87\x80\x8A\x7D\xA7\x9F\x21\xA6\x9B\xDD\x92\x4E\x3E\xA7\xA8\x08\xAB", - "\x8F\xBC\x9D\xA4\x09\xA8\xA2\xD9\x94\x8B\x67\xAC\xA8\x0E\xA0\x6B\xAE\x9D\x8C\x03\xAF\xA0\x9C\xAB\xA1\x29\x15\xA9\x5F\xA8\xA8\x96\xAE\xA5\x9D\xA0\xA6\xE2\x90\x00\xA5\x95\xA3\x2F\xAB\xAA\x9B\xA0\x6B\xCF\x9A\xAA\xAD\xA6\xAA\xA1\xAE\x4E\xA0\xA5\xAA\xA2\xA9\xA2\x81\x15\xAB\x14\xA7\xA5\xA7\xAF\xAA\xF1\x91\xAB\xB7\xA6\xAB\x2A\x45\x9D\x9A\xAF\xA4\xC0\xAD\xA8\x30\x9B\x50\xBA\xA2\xAB\xC2\xA4\x7C\x0F\x16\x8F\x34\xAF\xAB\xC6\xA3\xAD\x62\x9C\x8F\x90\xAA\xA0\xA3\xAC\x8D\x0C\x12\x90\xC5\xAC\xAB\xB3\xA7\xA9\x22\xAC\x9E\xD7\xA2\xA9\xBB\xAF\x81\xBA\x71\xAD\x86\xAF\xAD\xA4\xAE\xA9\x23\xA6\x57\x90\x66\xA5\x68\xAA\xAE\xB0\xA1\xA4\x4C\x9D\x7E\xE8\x79\xAE\xCD\xAB\xAE\xCC\xA0\x6B\x1E\x98\xAE\xFE\x92\xAF\xD2\xA5\xAD\x2B\x16\xA0\x12\xA9\xAF\xF3\xAE\xAD\x06\xBE\x4C\x0C\xA5\xB0\xE5\xA9\xAD\x01\xB9\xA8\x11\xA0\xAE\xC1\xAD\xB0\x00\xB6\x7F\x02\x17\xA1\x0C\xBB\xAF\x1A\xB3\xB1\xFB\x6E\x68\xEE\xA5\xA2\xF0\xAE\xB0\xF8\xA4\xB1\x00\xA4\x94\x32\xA5\x95\x21\xB5\xB1\xFF\xA9\xB0\x16\xB1\xA3\x1F\xB3\xA3\x19\xBC\xB1\x32\xB8\xAC\x3C\xAE\xB2\x15\x47\x57", - "\xFE\xA0\xA2\x2A\xBA\xB3\x2C\xB2\x91\x02\x8B\xAC\x33\xB2\xB1\x40\x91\x28\x40\xB4\xB3\xAC\xA1\xA4\x6A\x93\xA6\x6C\x92\x10\x6E\x99\xB3\x4E\xA8\xB0\x24\xBC\xAE\x03\x14\x97\x4A\xB6\x97\x02\x18\x97\x4E\xB1\xA9\x36\xA1\xAF\x25\xB1\xA5\x55\xB8\x98\x02\x15\xA5\x59\xB8\xAD\x3B\xBF\xB4\x59\xAA\xA4\xF7\x68\x8D\xE3\xAB\xB5\x22\xB2\x95\x03\x12\xA6\x56\x24\xA6\x16\x11\x99\x6B\xB7\xB4\x50\xBB\xB1\x2A\x47\x99\x52\xA9\x99\x03\x1B\x99\x31\xB6\xB4\xC7\xAE\xAC\x55\x7B\xA8\x65\xB8\x9A\xAE\x8F\xB7\x42\xB9\xB8\xFA\xA4\x79\x00\x05\x8B\x63\xB4\xAE\x78\xB2\xB8\x03\x19\xA9\x8A\xB7\xB0\x5C\xB2\xB5\x2F\x65\xB4\x95\xBF\xB0\x6D\xBC\xB3\x51\xB1\xAE\x02\x19\xAA\x9C\xB5\xB8\x64\xB5\xB2\xBE\xA3\xB2\x91\xBB\xB8\x43\xBF\x6F\x75\xB1\xB8\xAA\xBF\x78\xB9\xAD\xBA\xD4\xA7\xB9\xA0\xB0\x79\x84\xBD\xB3\x9E\xBD\xB1\xD4\x9A\xB9\xAF\xB8\x77\x8F\x3C\xBB\x96\xBD\xB9\xED\x70\xAD\x88\xBD\xBB\xC1\xB5\xB6\xD6\xA7\xBB\x9F\xB1\xB4\xBE\xBF\x10\xDC\xAB\xB9\xA8\xBC\xBC\x85\x69\x67\x8F\xBC\xB6\xC8\xBB\x12\xE7\xA5\xBC\xC7\xB8\xBB\x66\xB7\xAA\xF5\xA5\x56\xDD\xA4\xBB\xD2", - "\xB3\xBA\x25\xBF\xBD\x38\xBA\xBD\xE4\xBB\xBC\x80\xB1\xA4\xFD\xA8\xBE\xD1\xBB\xBE\x77\xBC\xB8\x04\xB1\xBE\xC2\xBA\xB5\x76\xBB\xA0\xC0\xB9\xBE\xBA\xB6\x55\xD0\xBB\xB2\xEA\xB2\xB9\x17\xB9\xBF\xEF\xB0\xC0\x36\xB4\x56\xE7\xB4\xBF\xA4\xB0\xB9\x02\x7C\xA1\x2B\xAE\xA1\xCA\xB9\xBA\xDB\xB8\xB9\x05\xC0\xBB\xF7\xAE\xBF\x10\xCA\xBF\x0B\xC5\x57\x37\xBF\xAE\xD5\xB7\xBF\xF5\xBE\xA8\x0F\x1D\x95\xEE\xB6\xC1\xE3\xB3\xC0\xCD\xB8\xA7\x23\xC9\xBB\x25\xC4\xC2\x2A\x49\xB4\x71\xBB\xB4\x01\x1D\xB4\x29\xCD\xBD\x09\xC5\xB3\x00\x04\xB5\x2F\xC6\xB5\x01\x18\xB5\x33\xC6\xBF\xAE\xBA\xAD\x03\x1E\xB5\x39\xC0\xB6\x01\x12\xB6\x3D\xC5\xBA\xFF\xB7\xC2\x03\x16\x98\x5F\xB3\xA5\x64\x12\xC0\x2C\xC4\xC0\x00\x00\xB7\x15\x12\xB7\x9B\x87\x70\x50\xCA\xC2\xF0\xBF\x81\x7A\xBD\xC4\x7C\xB2\x10\x7E\xBC\x4A\x2B\x14\x01\x55\x89\xA7\x07\x25\x49\x64\xCB\x84\x8E\x84\x89\x90\x87\xA7\x50\x76\xC6\x6C\x21\xA8\x1A\x13\xA8\x7C\xA9\xC5\x34\xCC\xBD\x87\xB8\xC0\xDC\xBE\xC3\xB3\xB7\xAA\xA2\xB6\xC2\x11\xC7\xC1\x80\xC9\x8B\xAA\x92\xBB\xF1\xBB\xC5\xC2\xB0\x18\x94\xB6\xBC\x18\xC8", - "\xC8\x35\xC3\x94\x76\xAD\xBF\x5A\xC2\xC9\x77\xC9\xC4\x81\xCB\xC2\x93\xCC\xC8\x2D\xB8\xAA\x76\xCC\xC7\x87\xC0\xBB\xA7\xB1\xC5\x9A\xC2\xCA\x97\xCB\xBA\x6A\xBF\xC0\x98\xC5\xC9\x82\xCE\xB6\xCA\x9D\xC1\x3F\xCD\xC8\x94\xCB\x8B\xA1\xC9\xC9\xA5\xC1\xCB\x48\xC5\xBB\x00\x04\xAC\xB6\xCA\xC0\x8E\xC8\xC7\xBF\xB6\xC8\xE2\xBD\xCB\x96\xC4\xC8\xDE\x98\xCA\xC2\xCB\xCA\xB4\xC4\xCC\x0F\x14\x9E\xAE\xCD\xC7\x8F\xCF\xCA\x9B\xCF\xBC\xA3\xC9\xCC\x83\xC5\xCD\x3E\xB0\x00\xD4\xB7\xC4\xBC\xCB\xCB\x36\xC9\xBD\x7A\xC3\xCC\xD6\xC4\xCD\xA4\xCE\x4C\xE6\xBC\xC1\xDA\xC6\xBD\x7B\xC7\xCB\x8C\xB5\xCE\x20\xBD\xCC\x9F\xC3\xCD\xAA\xC9\xC1\x0C\x1D\xBE\xDF\xC8\xCC\xF1\xC7\xCC\xA9\xC9\x54\xC0\xCF\xC1\xDB\xC0\xCF\x80\x1B\xB0\xF5\xC9\xCA\x9E\xC1\xCC\x52\xC2\xB7\x03\xDC\xCF\xE8\xC2\xC1\x00\x08\xB1\x01\xD8\xCF\x0E\xDC\xCD\xEE\x9D\xAE\x1B\xCD\xCE\xE7\xCE\xC1\xCF\xCE\xCC\xE5\xB5\x9F\xC6\xC0\xD1\xD0\xC3\xCE\x9B\xCC\xCE\x30\xBD\xD0\x1C\xD8\xD1\xE0\xCC\xCA\x13\xCC\x6B\x15\xC2\xCE\x2A\xD7\xCF\x23\xD2\xB0\x21\xCD\xC9\xEA\xCF\xD0\x4A\xCD\xA3\x29\xB9\xCE\xFD\xC5\xCB", - "\xBC\x6E\xC2\x55\xC0\xC3\x00\x02\xC3\x22\xD0\xCF\x07\xD7\xD1\x48\xA1\x10\x38\xCB\xD3\x3A\xC0\x00\x3C\xCF\xD3\x38\xDB\xD4\xB0\xCE\xCF\x44\x4A\xA5\x73\xB0\x98\x1B\xD0\xD4\x31\xD4\xC9\xB5\x20\xD5\x57\xC5\x9C\x53\xDC\xD4\xE1\xCC\xD2\x33\xDC\x45\x58\xD9\x32\x66\xAB\xCF\x42\xD4\xD0\x4E\xDA\xA6\x98\x9C\xA6\x9A\x90\xD3\x37\xDB\x8C\x6C\xD9\xD0\xB8\xCF\xC7\x1E\xD3\xD7\x2B\xD6\xB8\x94\xA4\xD6\x36\xD0\xD7\x8C\xBB\xC8\x5C\xD4\xD7\x5E\xDD\xD7\x5B\x91\xC9\x54\xDD\xD6\x5D\xD1\xD4\x79\xD6\xD1\x93\xAA\xA8\x35\xD5\xD2\x75\xD0\xC2\x81\x3F\xD6\x88\xDA\xD0\x5D\xA0\xD8\x7F\xDD\xD4\x94\xD0\x18\xB3\xC5\xD9\x85\xD5\xD5\x5F\xD1\xBB\x5B\xD6\xD9\xA0\xDD\xD5\x80\x1A\xCB\x83\xDA\xD7\x32\xD0\xC4\x02\x1E\x8E\x4A\xD1\xDA\x7E\xD6\xD8\x0A\xD4\xBC\xAB\xDB\xD9\x84\xDE\xD7\xC9\xBB\xD8\xF6\xCE\xDA\xFB\xB0\x00\xD2\xC4\xD9\xB8\xD9\xCF\xB6\x78\xD7\x8C\xDA\xD9\xD7\xCE\xCD\x2D\xD6\xD6\xBC\xD5\x7E\x1A\xD6\xDB\x02\xDC\xD9\xA8\xD7\xD2\xC5\x60\xD9\x1D\xDA\x7C\xCD\x70\xDC\xB7\xDC\xDC\xCE\x43\xBF\xC5\xD8\xD0\x91\xD9\xDB\x00\xD9\xDD\x65\xD9\xC8\x11\xA5\xD1\xD1", - "\xD2\xDC\x2B\xDC\x6A\xD4\xDB\xDC\xB3\xDB\x95\x20\xD8\xB2\xEE\xC6\xDC\xAC\xD5\xDE\x0C\xC7\xB2\x2C\xAA\xDC\xA7\xDF\xDE\xE4\xDD\x7E\xEB\xD3\xDF\xED\xDA\xDD\xE3\xD7\x91\x1D\xA9\xD2\xF7\xDD\xDB\xF5\xD2\xDA\x1E\x47\xDE\x03\xED\xDA\x8E\xDF\x72\x9F\xD2\xDB\xA6\xD2\xC5\x3A\xD1\x11\x56\xC2\xD6\x0F\x1E\xD3\xDE\xD7\xD8\xE3\xD9\x29\x61\xD9\x10\xED\x60\xDD\x24\xD9\xDB\x42\xC6\xD4\x44\xC0\x00\x46\xC1\xDB\x08\xE9\xDE\xF7\xD7\xD5\x68\xBE\x6F\xA7\xC4\xDF\x15\xE1\xDC\xBB\x84\xC5\x10\xEC\xD3\x37\x82\xDE\x1D\xE8\xDE\x0D\xEC\x6B\x5D\xC3\xC4\x4E\xC5\x2D\x5B\x85\x01\x65\xCA\x5F\xD7\x5B\x12\x3E\xEA\xC6\x83\x86\x88\x76\x82\xE1\x20\x7D\x89\x41\x32\xC7\x16\x14\xC7\x81\x81\x8A\xFB\xDF\xDD\x52\xE9\xD8\x83\xBC\xE2\xA5\xDB\xDD\xBE\xDA\xD8\x51\xE6\xE1\x35\xE7\xE0\xD2\xD7\xD7\x0B\xE5\xE2\x37\xE7\xDC\xF3\x91\x10\x7C\xD6\xDF\x02\xED\xE2\xF6\xC3\x9B\x1C\xEF\xCE\x64\xE3\xE6\x68\xE6\xDD\x0C\xE3\x94\x72\xDD\xD8\x26\xE9\xE6\x67\xDF\xD8\x06\xEA\xE6\x36\xE1\xD1\x5A\xD6\xE5\x6F\xE8\xE5\x5E\xE9\x9A\xD2\x8B\xE5\x2E\xE2\xE7\x62\xEE\x9C\x6D\xEE\xDE\x73\xE8", - "\xA3\x04\x5B\xE8\xFC\xDD\xE5\xB0\xBA\xDA\x7C\xE3\xE8\x78\xE1\xE8\x8E\xE2\x10\xB0\xD5\xE9\x9C\xE7\xE5\x00\x95\xDB\x86\xE5\xDD\x77\xE8\xE8\x5B\x9B\xDB\x71\xE3\xEA\xA8\xE0\xA3\xD8\xC0\xE9\x53\xEA\xD0\xC4\xDE\xE9\x92\xE0\xEB\x6E\xE4\xCE\xC9\xD1\xEA\x7D\xED\xDF\xA4\xE8\xDF\xB5\xE4\xE3\xB3\xED\xE8\xB1\xED\xDC\x00\x04\xCF\x9D\xE8\xE9\xBF\xE6\xDF\xFA\xC1\xE6\x76\xE0\xE7\xBE\xEE\xD2\x50\x5B\xE7\xB2\xEC\xE8\xB4\xD1\xDE\x24\xE9\xEC\x82\xE3\xEC\xCA\xCC\x55\xAC\xEC\xE5\xBD\xE7\xCD\xF9\xDE\xC0\x80\xE7\xEA\xCA\xE9\xE8\x99\xEE\xDC\xE7\x79\xED\x87\xE6\xE2\xFB\x72\xDF\xDE\xE6\xEB\x96\xE9\xEB\x97\xE4\xEB\xFF\xD6\xEE\xA2\xE1\xEE\x5F\xEF\xD2\xCE\xE4\xEC\xDB\xE4\xED\xE3\xE9\x86\xC8\xE1\xE0\xEE\xE9\xEB\x80\x1F\xE0\x09\x11\xE1\x1A\xE5\xA4\xF7\xE0\xEE\xD5\xE9\xE7\x53\xB9\xE1\x08\x1B\xE1\x07\xFB\xEC\xD0\xE0\xDF\x0F\x1F\xE1\x31\xE7\xD4\x23\xE6\xED\x10\xF1\xE9\xCC\xEB\xC4\x0C\xF7\x10\x5C\xA2\xEF\xB7\xE5\xEC\x9B\xC0\xE3\x03\xF2\xE3\x20\xFD\xEE\xA9\xE3\x94\x39\xE0\xE2\x3B\xE0\x00\x61\xC8\xF1\xE2\xE2\xF2\xD7\xC5\xE7\xFE\xE9\xF2\x17\xEF\xA8", - "\xFD\xEF\xEE\x19\xF0\xA1\x0C\x1E\xB8\xBC\xE1\xF1\x35\xF4\xEF\xED\x77\xE6\x3B\xFA\xED\x40\xFB\x8B\x82\xD8\xEF\x47\xFF\xEF\x36\xF2\xF3\xFA\xE5\xA1\x55\xEC\xEE\x30\xFF\xF4\x1B\xFD\xCA\x3F\xFA\xF1\x4B\xF9\xAC\x4F\xCF\xF0\x31\xF9\xEF\x84\xE2\x8E\x39\xFC\xF4\x42\xF2\xCB\x27\xF3\xF5\x5F\xFC\x10\xA4\xDA\xF4\x58\xFB\xF6\xB8\xA4\xE9\xCF\xEC\xF6\x46\xF9\xA6\x66\x6C\xF5\x54\xF9\xF5\xAA\xEC\xCC\x57\xFD\xEA\xF3\xEE\xE7\xB0\x75\xF6\x6F\xF8\xAB\xD9\xC3\xED\x41\xF9\xF0\x97\xD8\xBD\x7E\xFA\xF6\x3C\xFE\xB1\x13\xD1\xD2\x66\xFA\xF3\x5D\xFF\x81\xDD\xE0\xE0\x8E\xF5\xF7\x70\xFC\xAF\x87\xF8\xF0\x9F\xE3\xB0\x97\xF5\xF4\xC1\xDF\xCF\x9B\xFF\xF8\x72\xF1\x93\x8D\xF2\xF6\x84\xFE\x4C\x0C\xD3\xFA\x4D\xFE\xF5\xE9\xEF\xB2\xEC\xD9\xF7\x71\xFA\xF7\xF2\xCA\xF8\x06\xC6\xCE\x82\xF3\xF9\x83\xF7\xF3\x1A\xC3\xFB\x14\xD5\xFB\xA4\xF8\xEB\x5A\xF4\xEE\x9B\xC2\xF9\xBD\xFE\xF4\xB7\xF0\xF5\x03\x12\xC2\xBC\xF9\xFA\x76\xF5\xFA\x9B\xC1\xA7\xC5\xFE\xF5\xB6\xFB\x8B\x02\xF8\x10\x04\xFD\xF0\x06\xF1\xF6\xCA\xF5\xF9\xB8\xC5\xD4\x15\xF1\xE2\x49\xD8\xFA\x63\xF0\xF0\x4F", - "\xD9\xE2\x1B\x8C\x5A\x9F\xF4\xF9\x89\xF3\x5B\x1D\xF6\x10\x1F\xF4\xF7\xCF\xFB\xFC\xFB\xE4\xF2\xD4\xF6\xF2\xEE\xF1\xFD\xC3\xF3\xD4\x00\x0B\xF2\xDD\xFD\xF2\x2F\xF3\x85\x47\xE5\xF0\x0E\x30\x8E\x48\x43\xFF\x76\xFD\x01\x80\x90\x65\x3A\x8C\x40\x11\x6B\x62\xF5\x0C\xE4\x15\x0A\x93\x71\x44\x85\x50\xF4\x70\x7C\x94\x76\xC3\x34\x7A\xFD\x79\x7E\x13\x80\x76\x56\x81\xFB\x70\xFF\x44\x7E\x5D\x62\x31\xF5\x7C\x03\x9A\x7F\xD8\x7D\x10\x67\x7F\xFB\x63\x81\x2A\x21\xE9\x58\x7C\x0F\x82\x02\x99\x83\xDF\x6F\x7D\x30\x82\xA1\x5B\x80\x0C\x81\x03\xFB\x79\xE6\x60\x7B\xDF\x74\xF3\x76\x80\x16\x85\xE6\x00\x03\x64\x6B\x81\xD0\x7D\x05\xBE\x64\x1C\x82\xF5\x2F\x83\xB9\x61\x7F\x3D\x81\xB3\x57\x80\x24\x8C\x04\xFC\x79\xE5\x26\x81\x4B\x84\xF9\x57\x66\xB7\x78\xF8\x35\x81\xC8\x61\x82\x3D\x83\xD3\x46\x83\x1D\x88\x05\xC2\x78\xA8\x6E\x7D\x47\x82\x0A\xA8\x7E\x2A\x79\x9E\x21\x80\x0D\x81\x83\xFB\x71\xF0\x60\x7E\x31\x87\x02\xE9\x7E\x9F\x30\x82\x42\x85\xF3\x71\x6E\xD6\x7A\xDF\x60\x80\x17\x9D\x80\x5D\x83\x29\x7B\x75\xE4\x7D\x04\xBE\x7D\x1F\x8C\x5F\x70\x87\x0C\xAB", - "\x72\xCD\x76\x06\xFF\x81\x1E\x98\x7D\xCD\x70\xFB\x46\x84\x3C\x80\xF4\x00\x0E\x41\x71\x83\x77\x80\x05\x92\x63\xD3\x7B\x05\xD7\x80\x23\x80\x6F\xB9\x7C\x82\x41\x85\x45\x88\x09\x92\x6A\xEE\x6C\x7C\x95\x84\x02\xAC\x82\xDB\x7B\xFA\x0B\x7D\xEB\x7C\x83\xA3\x80\x12\x96\x84\xEF\x5B\x07\xEB\x82\x1F\x89\x85\xE8\x75\xC0\x4A\x84\x58\x8C\x09\xAE\x81\x02\x5B\x84\xB4\x84\x0D\x81\x79\xF5\x75\x10\x63\x37\x2C\x8F\x85\xC0\x84\xF8\x58\x70\xF2\x7F\x97\x23\x2D\x21\x99\x85\xC1\x85\xEA\x41\x08\x8A\x75\xF2\x16\x78\x2E\x89\x86\x8D\x85\x30\x7C\x85\x7F\x0D\xFE\x3F\x84\x0F\x95\x85\x43\x86\x31\x44\x86\xC8\x43\xD6\x56\x87\x21\x97\x86\xC8\x81\x48\x7A\x7F\x66\x81\xE2\x7D\x7D\x15\x88\x83\xE0\x87\x06\x91\x7A\x3B\x8B\x0A\xB6\x86\xB1\x78\x79\x39\x82\x02\x96\x82\x51\x8B\xEF\x3E\x78\x2A\x90\x86\x92\x81\x14\xB0\x5C\xA2\x72\x0F\xE8\x87\x37\x8A\x7D\xC1\x46\x1B\x97\x84\x77\x8A\x03\xED\x87\x3C\x8E\x85\x41\x53\x06\x98\x86\x7F\x83\x10\xE4\x82\xD5\x77\x87\xE9\x81\x22\xBF\x87\x0F\x4F\x03\x85\x88\x3D\x92\x88\xD1\x84\x08\xAC\x87\x8B\x83\x11\xF9\x85\xA1\x2A\x82", - "\xAA\x84\x23\x8D\x88\x85\x69\xF6\x40\x83\x48\x91\x84\xD7\x5F\x21\x14\x82\x93\x8E\x11\xAC\x88\x41\x97\x66\x5A\x87\x1C\xA8\x89\x83\x8A\xF0\x02\x08\xDE\x70\x88\x1D\x8F\x25\xA3\x82\x58\x36\xEA\x16\x88\x42\x99\x89\x25\x5A\x0D\xBA\x87\xA1\x82\x13\xA4\x83\x1B\x87\x86\xF8\x82\x27\xA7\x7A\xD9\x7A\x09\xC8\x88\x46\x8D\x89\x3B\x4C\x29\xA8\x69\x67\x8F\x14\xA9\x8B\x3C\x74\x8A\x40\x8A\x0E\x8F\x08\xEC\x64\x14\xAE\x88\x4D\x85\x8A\x2A\x25\xBB\x5D\x8A\x9F\x83\x16\xD1\x75\x78\x7F\x89\x27\x8E\x20\x8A\x68\x4A\x80\x16\xE8\x88\x54\x86\x69\x26\x5C\x0E\xAB\x77\x8D\x8E\x16\xCA\x8B\x07\x9E\x84\x4D\x8A\x20\xAF\x8B\x9D\x83\x08\x99\x87\x54\x8E\x8A\x59\x8B\x26\x8A\x69\xC8\x78\x15\xE9\x8A\x48\x87\x55\xC8\x7D\x2E\x9F\x8A\xAF\x8A\x15\xA8\x60\x4E\x86\x8C\x8A\x8D\x31\x94\x2D\x69\x8E\x0B\xF1\x84\x5F\x8A\x8B\x82\x8B\xFB\x54\x8C\x26\x5A\x17\xF6\x89\x48\x92\x62\xCC\x83\xFE\x4E\x86\xC0\x80\x19\xE5\x89\xBD\x7C\x37\xDB\x84\x48\x6B\x71\x22\x8D\x16\xA6\x8D\x1B\x85\x59\xF2\x7F\x20\x15\x7E\x8F\x7D\x0D\x96\x8F\x6B\x8C\x88\x7B\x8B\x29\x82\x09\x71\x82\x1A\xE5", - "\x85\x61\x99\x8D\x9F\x4F\x37\x9E\x8D\x1E\x8A\x10\xE1\x85\x60\x98\x8C\x46\x8D\x71\x42\x8F\xC5\x84\xE0\x28\x33\x72\x98\x8D\x56\x8B\x20\x2A\x80\xB2\x8D\x1A\xD5\x8C\x63\x99\x8C\xC8\x8F\x30\xAE\x82\x4E\x64\x1A\xC0\x8F\x67\x9C\x35\x20\x8A\x10\x99\x8F\xC8\x88\xCB\x15\x89\x3F\x98\x8E\xDA\x89\x1B\x95\x0B\xE7\x88\x1E\xD6\x69\xA1\x74\x8B\xAE\x89\x0A\x88\x85\x47\x7D\x1D\xC3\x8F\x42\x98\x65\x2B\x8C\x3A\x97\x8F\xF1\x8E\x1A\xF5\x44\x7B\x9C\x8F\x85\x7B\x99\x7F\x8F\xF4\x82\x19\xFD\x79\x7D\x8C\x8E\xE7\x8C\x71\x42\x8A\xEB\x8A\x1F\x8D\x90\x5C\x8F\x75\x0C\x91\x41\x84\x91\xBE\x88\x17\xFF\x89\x67\x88\x90\x97\x8B\xD0\x65\x85\x4F\x87\x0A\xE4\x8C\x80\x9B\x8F\xA6\x67\x2A\x87\x90\xE8\x88\x21\xBA\x8D\x40\x1C\x8A\x11\x91\x43\x9E\x90\x0D\x93\x6A\x23\x91\x7B\x91\x8F\xDB\x3B\x40\xAB\x91\x49\x82\x23\xB0\x93\xEF\x71\x8B\xA6\x85\x0E\x8F\x8C\xEF\x82\x1E\xAC\x92\x5F\x8F\x6E\x2E\x97\x43\x8E\x91\xD3\x82\x15\xC0\x93\x85\x84\x91\x48\x94\x42\x85\x93\x72\x71\x24\x93\x92\x90\x86\x8B\x39\x55\x49\xB3\x90\x1B\x9A\xEA\x4E\x7E\x7C\x95\x8A\x25\x92\xFA\x5B\x8D", - "\x09\x75\x23\xA9\x93\x89\x78\x21\x5B\x94\x21\x1F\x7E\x2A\x96\x1C\xA5\x8C\xB0\x61\x8D\xB2\x8C\xA7\x57\x78\x32\x99\x14\xD9\x92\xB6\x2C\x62\x3A\x77\x8B\x41\x08\xF3\x8A\x22\xEC\x90\x96\x8A\x68\xB1\x8E\x20\x33\x8C\xF6\x75\x1B\xAC\x8C\x88\x93\x92\x5E\x90\x30\x3C\x8D\x34\x97\xD4\x66\x86\x9F\x52\x0C\x0D\x81\x22\x09\x95\x84\x07\x4A\x2A\x01\x7F\x31\x02\x5D\x97\x4F\xB5\x88\x1D\x31\x29\xC3\x93\x97\x9A\x72\xF0\x8E\x4B\x97\x93\xE3\x8A\x42\x76\x84\xA0\x92\x94\x9A\x91\xC1\x65\x80\x29\x96\x27\x9C\x96\x14\x73\x8E\x12\x97\x53\x96\x95\x4D\x96\x26\xA0\x96\xAB\x91\x8A\xA1\x5D\x52\xA9\x95\xFE\x8F\x1E\xBB\x92\x7D\x85\x93\xB9\x8E\xC8\x24\x95\x50\x9D\x23\xD2\x61\x78\x97\x8F\x4F\x95\x4E\x81\x90\x3D\x77\x24\xAF\x90\xAF\x9E\x82\x89\x1B\x57\xAF\x95\x59\x93\x2C\xCA\x56\xB2\x8B\x95\xDF\x8D\x59\x9A\x74\x59\x92\x2C\xCB\x97\x56\x57\x89\xAA\x94\x59\x96\x97\x4B\x9B\xAD\x54\x97\x6D\x8A\x92\x02\x0B\x41\x9B\x96\x56\x9C\x23\xAA\x74\x84\x83\x97\xD1\x90\x5D\xB7\x90\xC2\x8F\x2C\xDA\x94\xB4\x8B\x97\xAD\x85\x54\xAD\x95\x77\x96\xC3\x42\x76\xBC\x85\x97\xB8", - "\x93\x3B\xA8\x90\x75\x90\x2C\xCE\x92\xBF\x90\x5D\x62\x8F\x58\xB9\x96\x37\x97\x23\x8F\x85\xAF\x97\x97\xB7\x93\xDF\x6C\x8A\x7E\x93\x30\xC9\x91\x96\x75\x90\x46\x96\x36\xA4\x97\x84\x92\x0C\xF3\x81\x8E\x93\x8B\xB6\x94\x60\xBD\x96\xB3\x7B\x21\xF9\x8A\xC4\x89\x97\xF4\x92\x17\x96\x98\x0E\x9A\x23\xD9\x95\xB5\x81\x99\xF3\x8B\xDA\x1E\x97\x89\x95\x22\xC4\x59\xBB\x87\x99\xEE\x90\x4A\x93\x8D\xD4\x85\xA6\x5C\x93\xCB\x9F\x96\xC1\x94\x5B\x8B\x78\x9A\x91\xD5\x46\x85\xB1\x99\x99\x2C\x9D\x40\x8B\x87\x30\x94\xA5\x2B\x98\xC8\x92\x99\xEA\x7C\x67\x99\x6B\xAD\x7F\x33\xFF\x94\xC2\x8A\x8F\x02\x09\x4F\x85\x09\x3D\x9D\x0B\xFD\x91\xA6\x8C\x98\x6D\x96\x61\xA1\x91\x1E\x44\x34\xE0\x62\xD1\x87\x98\xC0\x75\x38\x99\x9A\x63\x98\x35\x89\x8B\xD7\x9B\x98\x93\x92\x39\xB7\x99\xA0\x94\x36\xB0\x96\x99\x67\x9B\x0D\x98\x5C\xAF\x3A\xB8\x93\x36\xC0\x9B\xD1\x90\x99\x78\x9E\x44\x9C\x8F\xA6\x96\x32\xB8\x9A\x8F\x84\x96\x1F\x98\x6C\xA5\x9A\x80\x8B\x1A\xD7\x98\xCA\x97\x93\x6D\x9F\x9A\x7F\x95\xB8\x96\x37\x82\x9E\xDB\x9E\x6C\x81\x98\x6D\x82\x99\x94\x9F\x04\xEB\x9B", - "\xDD\x9E\x9B\x52\x61\x3F\xB1\x99\xBC\x9C\x36\xB9\x9A\x7F\x96\x9C\x8E\x9B\x73\xBA\x9A\x6C\x9F\x34\xDA\x99\xDF\x9B\x45\x3D\x8A\x74\x9D\x9C\xA7\x90\xEC\x62\x97\xE1\x86\x95\xA5\x98\x97\x67\x97\xD7\x93\x2F\xAA\x9E\xA8\x80\x7E\xD7\x62\xF8\x61\x9C\xCE\x97\x39\xFE\x6D\x03\x7A\x9D\x92\x9B\x70\xB5\x9C\x22\x97\x69\x20\x9D\xF0\x94\x9D\xA7\x53\x5F\x88\x9E\x8A\x90\x3B\xD2\x95\x40\x01\x98\xC2\x98\x5F\xB5\x9B\xAD\x97\x6A\x27\x9D\xEF\x97\x9C\xE6\x6C\x6F\xB1\x9D\xC6\x96\xC3\x6C\x96\xF6\x93\x9C\x88\x9F\x61\x8B\x93\xE0\x74\x37\xE1\x9F\xDF\x83\x9F\xB9\x9D\x7C\x8D\x9F\x77\x8F\x23\xCC\x93\xF7\x91\x9E\xCC\x99\x23\x91\x93\xF7\x9B\x3C\x9A\x9A\xC8\x86\x80\x19\x9E\x74\x9B\x9E\xD6\x9E\x4C\x53\x7C\xA1\x81\x71\x14\x73\x7F\x96\x9F\xDD\x9D\x7E\x5C\x7C\x39\x8D\x79\x63\x90\x7C\xAB\x9F\xFA\x9A\xD0\x68\x92\x9E\x8A\x93\xEA\x9B\x78\xBA\x99\xA4\x9B\xA6\x4B\x51\xE1\x99\x9F\x89\x9C\x77\x84\xA1\x81\x3D\x35\x81\x0B\x8C\x78\xA0\xDC\x9C\x71\xBC\x9F\xC7\x93\x28\x8F\xA1\xA1\x9B\x42\x72\x5B\x94\x15\x09\x45\x97\x28\xA8\x0C\x0B\xA7\x08\x0F\x86\x8D\x64\x42\x3F", - "\x9C\x40\x99\xA0\xE6\x9C\x35\x62\x9E\x7C\x83\xA1\xE3\x93\xF3\x11\xA2\xF4\x95\x98\x20\x84\x7E\xB6\x9C\x02\xA4\x0A\xCD\x1A\x0F\xB1\x9F\x9D\x82\x3A\x87\xA2\xFB\x93\x3D\xBB\xA2\x08\xBD\x9B\x79\x66\x89\x8D\xA2\x01\xAD\xD9\x0B\x9F\x14\xAA\xA0\x12\xA7\x2E\xBF\x72\x1A\xA3\x44\xBC\xA2\x06\xAA\x75\x56\xA2\x87\x94\xA2\x2C\xA1\xFA\x0F\x8A\x14\xA2\xA3\x64\xA3\x3B\xA5\x89\x1A\xA1\x42\xD7\xA0\xFB\x9C\x3C\x4B\xA2\x7F\xA9\xA3\x92\x51\x13\xF0\x9C\x13\xA8\xA3\x6F\xA4\xCD\x02\xA3\x2F\xAF\x44\xB4\x96\xF3\x51\xA3\x36\xA2\x8B\xA1\x96\x40\xAD\x46\xC6\x7E\x40\x13\x9D\x5D\xA5\x8F\xB3\xA2\xA1\x98\x23\xA4\x98\xC6\x87\xA3\x0B\xA1\x91\xAA\x86\xF4\x9B\x95\x40\x9E\x22\xB6\xA3\x72\xA1\x8F\x85\x9F\x3D\xA7\x43\x8B\xA6\x0D\xA7\x76\x91\x9F\x92\xAC\xA3\x11\xA0\x17\xD0\x9F\x28\xB0\xA4\x59\xA1\x46\x86\x9E\x51\xA2\x49\x86\xA5\x40\x0B\x98\xA7\xA3\x8C\x98\xA5\xDC\x6E\x3D\xA1\xA6\x1B\xB1\xA5\x81\x93\x64\x9E\x98\x2E\xAC\x47\xB7\xA5\x2B\xB8\x7F\xB5\xA4\x97\x9D\xA5\x59\xA5\x48\xC0\xA5\xBC\x9E\xA4\xC5\xA1\x95\xB1\x84\x7B\x7C\x49\xAB\x9C\x2A\xA9\xA2\x34\x6A", - "\x98\x8E\xA6\x59\xA6\x29\xBB\x86\xD2\x88\x72\x6D\x4C\x90\xA4\xA5\xBC\x93\x0C\x95\xA1\xDA\x42\x93\xDA\xA7\x99\x9B\x8E\x07\xA3\x35\x90\xA3\x2A\xBE\xA5\xBD\xA6\x95\x80\x00\x38\x9C\xF2\x72\x92\x0F\x81\xA7\xD4\xA0\x69\xA0\x6B\x6B\xA0\x00\xD8\x63\x39\xB8\xA3\xB8\xA2\x93\x81\x09\x12\xA5\x4E\xA7\xA1\x91\x65\x59\x59\x00\x9E\x88\xA6\xEA\x94\x29\xF7\xA5\x24\xA9\xA7\xF8\x79\x87\x87\xA9\x61\xA9\x4F\xCD\x8D\xCF\x62\xA8\xC4\xA7\x7C\xA3\x95\x66\xA7\x3D\xC4\xA3\xED\x80\x00\xA8\x90\xA1\x8A\xA6\x2F\xAC\x50\xBF\xA7\x46\xAC\xA5\xC4\x9D\xA0\x94\xA8\x8B\xA4\x52\xB6\x61\x18\xAB\xA8\xD3\xA3\xA0\x92\x62\x3A\x9D\x51\x9A\xAB\x0F\xA4\x9C\x80\x9A\x9A\x95\xA8\x8E\xA5\x44\x9A\x88\x08\xBB\xA6\x2D\xA9\xA7\x82\xA5\xCA\x93\x52\xB4\xAB\x4C\xAE\x82\x00\x02\x73\xAE\xA8\x24\xA4\x54\xD0\x99\x40\x15\xA3\x0D\xAE\xA3\xAF\xA8\x88\x5A\x47\xB6\xA4\x3E\xAA\xAA\x4A\x89\x38\x10\xA9\xA4\xA1\x52\xAB\x76\x41\xBF\xA8\xE8\xA5\xFD\x08\xA5\xA1\xA7\x47\xA8\xAB\x45\xA1\xA6\x86\x98\xAA\x9D\xAA\x09\xAD\x31\x96\x92\x53\xBE\xAA\x25\xAF\x7E\xA2\x91\x9E\xA0\x52\xBA\xAA\xF8", - "\x7B\x8A\x53\xAA\xAC\x99\xA5\x4D\x66\x4A\xF2\xA9\x20\xBF\xA9\x93\xA5\x7A\xB1\xA6\xAE\xA3\x57\xF2\xA7\x42\x71\xAB\x7C\xAA\x6E\x8D\xA5\x5D\xA1\x56\x81\xAD\x32\xB9\x95\xBA\xA6\xAC\xB2\xA9\xB4\xA9\x55\xB5\xA8\xC4\x8E\x9F\x67\xA8\xAB\x8F\xAA\x6E\xA9\x58\x91\x9B\x62\xBE\xA9\x8C\xAB\xB2\xAD\x3F\xC4\x8B\x57\xEE\xA9\x66\xB0\xA9\x0A\x71\xB2\x8B\xAB\xD1\xA1\x1D\xE0\x34\x3D\xA5\x80\x13\x40\xB0\x9E\xAC\x64\x98\x6E\x1D\xA0\x52\x6A\xAD\x29\xAA\x9F\xA0\x40\xD7\xAB\x26\xAA\xA9\x67\xB1\xAD\x8F\x9C\x9D\xBB\x7E\x77\xAC\x52\xB8\xAE\x5D\xA7\xAC\xDB\x8A\x6A\xBF\x06\xAA\x94\x0D\xD6\x9B\x4D\xA2\xA7\x63\xA8\xB1\xA8\x6B\xBD\x5A\xD6\x7D\x58\xB3\x2C\x72\x2F\xA7\x9A\x4C\x72\xC0\x01\x02\x30\xAC\x5E\xA6\x9B\x1D\x55\xBA\x97\xAA\xD2\xAD\x32\xF0\x86\x5C\x9A\xAE\x6C\xAD\xB1\x97\xAE\x65\x8A\x36\x8D\x60\x78\xA2\xAD\x45\xAD\xAF\x94\xAC\xE7\x89\x5D\xD6\xAF\x67\xAC\xAA\x99\x5B\x9C\x00\x0D\xE9\xAB\x12\x67\xAF\x65\xAD\xAB\xBE\xAE\xB0\xAA\x20\xFB\xA5\x58\xAB\xAC\x7E\xAF\xAB\xEB\x86\x91\xBC\xAF\xE3\xA7\x5B\xE3\xAE\xFC\x8B\x8F\xED\xAB\xBB\xA9\xAF\xBB\xAD", - "\x03\xAC\xA8\x75\xAE\xAF\x98\xAE\xA4\x8C\x37\x01\xB8\x5C\xEA\xAE\x7F\xB9\xAB\xB6\x5A\xDD\x54\xB1\x02\xBF\x5E\xDC\xAC\xAC\x2B\xA3\xD7\x63\xC3\xB6\xAD\x11\xB1\x51\x99\x9F\x84\xB0\xB0\xFF\xAB\x99\xB3\x7A\xF3\xA8\x62\xE2\xAF\x8D\x84\x9D\x85\x32\xC4\xA5\xB0\x0E\xB1\x61\xC3\x49\xEA\x9B\x4A\x32\xB4\xAA\x97\xB0\xCD\xAB\x8B\x2E\x9D\x88\xAD\xB1\x3C\xB2\xDB\x1B\xAB\xF6\x39\x63\xBF\xAC\x4E\xB9\xAF\x13\xA0\x77\x95\xA5\x13\xBA\x60\xC9\xAF\x82\xAB\x67\xC7\xA6\x99\x05\xB2\xFD\xA5\x61\x8C\xB2\xAA\x76\x97\x31\xB0\xC8\xA8\xAA\x1B\x6A\x3C\xBF\xB1\x93\xB6\xB0\x48\xB3\xA7\x80\x01\xBA\xA8\x63\xDA\xB2\x64\xA4\xAF\x72\x5F\xC1\x9F\xB2\x2B\xB9\x62\xAA\x74\x2C\xB7\x66\x29\x07\x68\x00\x0D\xA0\x3E\x48\xE6\x00\xB3\x25\x03\xCC\x37\x00\x0C\x37\x34\x6D\xC0\x4A\x00\xB3\x37\x00\xCC\x35\x08\x32\xB3\x95\x0B\x02\x03\xB7\x43\x1A\x02\xCC\x34\x0D\x06\xB4\x86\x03\x02\x4C\x36\x17\x0C\xB2\xE1\xA9\xC8\x9D\xB1\xED\x80\x56\x82\xB2\x99\xBE\xB0\xB4\xA1\xCA\x9B\x65\x29\xBB\x63\xDB\xB1\x9B\xA0\xAA\x95\xB0\x76\x5C\xB5\x30\xB6\x60\x98\xB4\x94\xB1\x77\x4D\x50\x30", - "\x14\x02\x4C\x3A\x6A\xAC\xB7\x4A\x0B\xB5\xA9\xB7\xD5\xAE\xB5\x87\x00\x6B\xA5\x3C\x60\x0F\x02\x8B\xB3\x20\x38\xB5\x04\xB1\x69\x9E\xB6\x8B\xAC\xAD\xF3\x9F\x23\x40\x0C\x57\x22\xF8\x73\xB2\x6B\xA0\x01\x90\xB0\xBD\x8E\xB3\x65\xB6\x61\xAE\x98\x8B\xAB\xB3\xC0\xAC\xD9\xB8\x64\xFF\x96\x42\x80\xA2\x6B\xBB\x43\x96\xB0\xDA\x87\xB3\x52\xB8\xAB\x06\xA1\x6F\x88\xA0\xC9\xB7\xBE\xBF\xB5\x4F\xB4\x39\xB3\xAF\x69\xB4\x8D\xE6\x7C\xD7\x8A\xB6\x30\xBC\x6D\xC6\xAB\x3A\xAE\xAD\x0E\xB5\xBE\x97\xB5\x27\xB4\x50\xD3\x62\x6B\xBF\xA0\xA2\xB3\xDE\x92\xB6\xF1\x9B\x1B\xAE\xAE\xA1\x9B\xB4\xFA\xB4\xDD\x84\x8F\x70\xBD\x5F\xA4\xB7\xA4\xAE\x88\x22\xAA\xC3\x81\xB8\x36\xB8\x61\xE5\xAE\xC2\xBA\xB6\x55\xB6\x73\x86\xA2\x75\xB2\x6E\x92\xB5\x8D\xA5\xB7\x19\xAA\x6F\xB4\xAF\x87\x03\x6A\xED\xB6\xC0\xB7\xB8\xEA\xA5\xE3\x87\xB9\x8F\xBD\x56\xD1\xA0\xAF\x22\xB9\x20\xBE\xD7\x96\xB8\x45\x74\x71\x85\xBA\xC7\xAC\xB8\x40\xA3\x05\x44\xB8\x02\xB4\x62\xBA\xB2\x63\xA8\xB0\xCF\xB5\xD7\xA7\xB3\x9D\xB5\x46\x99\xB3\x77\xAB\xB8\xD1\xB4\x24\xB3\xB9\x88\xBB\x6D\xA3\xB8\x7E\x83", - "\xBA\x34\xB4\xDC\xAB\xB9\x86\xB8\x54\xDE\xB2\xCE\xA6\xB5\x45\xBE\x86\x70\xB0\x29\xB0\x74\xD1\xB8\x50\xB7\xB1\x44\xB5\xEA\x90\xA3\xDF\x69\x73\xEB\xB4\xCC\xAA\xB9\xE4\xAB\xC8\xAA\xB3\xA7\xB4\x6F\xC4\xB8\xEC\x41\xB5\x27\xBA\xEB\x89\xBB\x7D\x78\x76\xD9\xB0\xC4\xAB\xBB\x9A\xAB\xBA\x5D\xBB\x8A\xB0\x76\xBC\xB9\x69\xA7\x91\x48\xBD\xE6\x86\xB2\xB3\xBD\xD9\x64\xB1\xD6\xAF\xBB\x7A\xBC\xCA\xBC\x35\x34\xB2\x6F\x80\xBF\x8C\xA1\xBC\xED\x3F\xCD\x9B\x4B\x38\xB2\x5F\xAB\x08\x9D\xB0\x5D\x76\xB5\x43\x78\xB3\x0E\x5A\x67\x9D\x50\x9F\xAA\x77\x7E\xB5\x43\x40\xB5\x0E\x52\x68\x8D\xBF\x43\x05\xB4\x9E\xBC\x21\x08\xB5\x0E\x5A\x68\xA1\xBF\x40\x0D\xB4\x1D\x57\xD1\xAD\xB8\x9A\xB7\x78\xAD\xBD\x35\xB5\xAC\x90\xAF\xE7\x86\xBC\x9B\xB8\x3D\xB0\xBC\xF9\x8B\xBD\x7C\xB8\xF1\x88\xB3\xB2\xA6\x59\x97\x98\xCA\xAA\xBA\x75\xB8\xEA\xA7\xBA\x4D\xBE\x57\xB5\xB6\x6D\x8D\xB5\xB1\xB4\xD6\xB3\xB4\x86\x06\x7C\xC2\xA4\xF2\xB6\xB5\x2B\x0B\xD7\x90\xBF\x87\x02\x7D\x8F\xB8\xD9\xBB\xB7\x56\xBD\xDC\x9C\xAC\x60\x74\x6C\xD2\x63\xE3\xBB\xAD\xCD\xAA\x20\x08\xB6\xDC\xB0\x77", - "\xC1\xBD\xD9\xBD\x6C\xCE\x7B\xEC\x9E\xBB\xA0\xBF\x75\x87\xB2\x69\xBE\xA6\x2A\x71\xB5\xA7\xB6\x3E\x96\x86\x79\xBA\xEB\xBB\xBB\xE5\xBF\x03\x5E\xB7\xFF\x90\x6E\xE4\xBE\xEE\xAF\xB9\xEC\xBC\x71\x64\xA7\xE1\xA6\x4E\xF3\xBA\xCB\xA6\xBA\x01\xC2\xA2\x81\x08\xDD\xA7\x40\xBC\xAE\xFD\xB4\xBD\x08\xC1\xFB\x81\x52\xE1\xA4\x5C\xF4\x5A\x01\xCC\xBD\x10\xC1\xE5\xA4\xAA\xCB\x4E\x6F\x8B\x81\xCF\xA0\x00\x4C\x73\x17\x60\xBC\x4C\x44\x88\x5A\x37\x08\xCB\xBF\x12\xC6\xFC\x88\xB9\xBD\x98\x82\xB9\xBF\xFD\xBB\x4A\x0A\xAE\xEE\x98\xBF\xAD\xB1\x44\xAD\xC1\xFE\xA2\xBE\x9D\x6C\x1F\x82\xBD\xFF\xB1\x81\xB0\x5D\xC6\xA6\xB8\x1A\xC0\x07\xFC\xC1\x20\xC7\x7E\x85\x35\x0C\xC2\xC2\x2F\xC5\xD3\x9F\x41\x93\xA2\x83\xA4\xBB\xB8\xBB\x77\xBD\xA8\x00\xE9\xC1\x26\xC8\xCB\x4C\xC0\x12\xD9\xC0\x25\xBD\x56\xAE\xC0\x2C\xC9\x55\xA3\x6E\xDA\xA3\xC2\x43\x4A\xA8\x8A\xC3\x2B\xC8\x7F\xCE\x9C\x00\x0D\xBA\x3B\xC1\x09\xC0\xC3\xA1\x43\x75\xDC\xC3\xD2\xAF\xC3\xF8\x78\xEB\xAB\xC3\x27\xC1\x77\xDC\xBA\x0D\xC0\xC3\x74\xC0\xFF\x43\xB3\x39\xC0\x87\xD4\xC3\xA9\xBF\x9D\x5F\xC2\x0D\xC8", - "\x6E\x54\xB7\x7D\xCE\xC1\x1F\xDF\xC0\x58\xB2\x10\xFD\xC1\xCE\xA0\x4A\xF4\xBA\x1F\xD3\xC2\xCA\xA9\x11\xB7\xC2\x45\xC4\x84\xAB\xC2\xC1\x95\xC4\x86\xC2\x05\xF0\x34\xC5\xB3\x86\xC5\xC0\x25\xDA\x83\x84\xC3\x12\xEE\xC2\x4D\xC9\x69\xA1\xC6\x23\xC4\xC3\x69\xC6\xA1\x94\xA4\x7B\x51\x88\xA3\xC4\xE4\x64\xBE\xA9\xC5\x0C\xDF\xC5\x86\xBB\x7D\xB3\xC7\x21\xDE\xC4\x8F\x9E\x4A\x92\xC3\x2D\xC2\x3A\xD6\xA4\xFC\xA5\x7F\xF2\xBD\x10\xED\xBE\x54\xCA\x37\xFB\xBD\xB5\xBD\xBF\xC2\xC1\x01\xFC\xC5\xAD\x43\x80\x95\xC2\x54\x62\xC5\xB2\xC6\x15\xDF\xC0\x06\xCF\x6D\x8E\xC3\xEC\xB1\xC6\xD8\xC3\x2B\x54\xC0\xFA\x79\x8C\x90\xC4\x2E\xDE\xAB\xFC\xA4\x00\xFE\xA7\x5F\xC5\x0C\xDA\x85\x03\x7D\x02\xB9\xB2\x20\x03\x02\x66\x3B\x8E\x9D\x51\x3B\xCD\x60\xEF\xC2\xDD\x71\xC6\xB9\x83\x8F\x97\x99\x3D\xCE\xA4\xF7\xC0\x76\x79\xC6\x5E\x3B\x8F\x85\x35\x0C\x0C\x36\x28\x04\xD9\x35\xAC\x67\x29\x04\x2E\xAF\x22\x0D\xC5\xD9\xC7\x14\x48\xC9\x58\xC0\x83\x8B\xC9\x27\xCB\xC1\x9E\x97\x06\xDF\xC6\x86\xC3\xF4\x0E\xC8\x1F\xD8\x7F\x3F\xC3\x17\xD2\xC9\x19\xCB\x91\x99\xC7\x06\xD8\x94", - "\x18\xC1\x21\xD7\xC8\xF7\xBE\x73\x87\xC0\x26\xC3\xC6\x77\xBF\x9D\x97\xC6\x8A\xCB\x7B\xDA\xC1\x47\xC8\xC9\x1C\xCF\x23\x96\xC8\x8D\xC5\x68\x20\xB0\x4B\xD4\xC9\x49\xC2\x3B\x6B\xC9\x87\xCE\x91\x9F\xC0\x1A\xDC\xC9\x30\xCD\x27\xDB\x8F\x36\xC2\x92\xB8\xCA\x8E\xB2\xAA\x3B\xCB\x24\xD0\xA7\x80\x0E\x63\xB7\xCB\x22\xD9\xA5\xEF\x4D\x1B\xCB\xC6\xA0\xCF\x87\xEA\x76\x25\xB9\xC3\x8F\xC4\x06\xCF\xAD\xDB\xB2\x95\xAF\xCA\x32\xDC\x35\x89\xC2\x1A\xD3\xC8\xAA\xCA\x42\x5D\xB2\x53\xC7\xC9\x5F\xC8\xD8\x7E\xBA\xA5\xC3\x96\xAD\xCB\x59\x9E\xCA\xDE\xC1\x26\xE6\x7D\x99\xCF\x94\xF0\x74\x20\xC9\xCA\x46\xCD\x17\xF6\xBD\xF4\x98\x97\xF5\xCB\xEB\xAD\x9F\x5C\xC8\x1A\xE7\xCA\xE0\xB0\x5F\xCA\xB0\x2B\xDD\xCB\x68\xC9\x2E\xF0\x35\x5A\xC2\x96\xF2\xC9\x63\xD0\x35\xBA\xC6\x2F\xC5\xCB\x0D\xAB\x12\x54\xB5\x3F\xB6\xB6\x88\xCC\x30\xD1\xC5\x9D\x94\x8E\xDC\x86\xCF\x82\xCC\x64\xCB\x2A\xFB\x45\x66\xC5\x80\xA0\xCC\x5B\xCE\xCC\x70\x8C\x1A\xFC\xBE\x6B\xCD\x95\xF8\xC3\x2D\xD0\x8D\xF7\xB4\x2E\xC9\xCC\x29\x61\x8E\xCE\xC5\x9B\x5D\x50\x21\xC2\xDB\x39\xCD\x1E\x87\x82\x82", - "\x83\xA1\x11\xAE\x05\x0D\x92\x15\x25\xA5\x9F\x36\xC9\x3B\xF9\x04\xCE\xBC\x45\x43\x63\xBD\x06\x68\x7A\x9D\xCE\x6A\x93\x4B\xB2\xC9\x0B\xE0\xC8\xD1\xC9\x97\x92\x79\x80\xB4\xCE\x92\xCB\xBD\x8F\xA9\xCC\xC8\x95\x9B\xCF\x44\xA6\xCD\xD5\xC9\x34\xDD\x6D\x8C\xC9\x9D\xE2\xCE\x6B\xC4\xC5\x69\xC9\x27\xDE\xAE\x93\xCA\x99\xED\xCB\x45\xB6\xC2\xEE\xCD\x3C\xF7\xB8\xA6\x90\x9E\xF2\xCD\x78\xD8\x6C\xD1\xCD\x3B\xF8\x54\xF8\xC8\x9A\x83\xCD\x17\xC9\x96\xAD\xCE\x16\xE8\xCE\x2F\x39\x9F\xAF\xCF\x6B\x65\xD0\x03\xD0\x76\x44\xCA\xFF\xC6\xA0\xC1\xC8\x2E\x72\xC3\xE1\xCF\x34\xCC\xA5\xA6\xC6\x9E\x82\xD3\x47\xCC\x08\x7B\xC1\x42\xDA\xD0\x15\xBB\x8A\xE0\x5C\x76\xD3\xCD\x7E\xA3\x2B\xFC\xCB\x00\xDF\x98\x8E\xD0\xE3\x41\xCB\x93\xC8\x44\xC8\xBD\x46\xCC\x9E\xFA\xCD\x7F\xD9\xA9\x9E\x7C\x3B\xCD\xD0\x89\xBF\x96\xE7\xCD\x56\xCC\xC4\x37\x4A\x46\xC9\xD1\x10\xDD\xA1\x87\x63\x87\xCD\xCF\xDD\xA8\x30\xE3\xD1\xFA\xCA\xA2\x96\xD0\x2B\x86\xC5\x2D\xD3\x46\xCA\xCC\xC1\xAD\x76\xC6\xD1\x7C\xC5\xD2\x9B\x64\x31\xE9\xD0\x20\xD2\x94\xAB\xC1\x64\xD0\xD2\x53\xD7\x3F\xE9\x4A", - "\xD7\xA1\x40\xB6\xD0\x31\xCE\xCB\xD0\xCB\xFE\x95\x9B\xCF\xC7\x8A\xCF\xD0\x95\xDE\x70\xB4\xA8\x41\xF7\xD1\x42\x3A\x9A\xC7\xC4\x6B\xC4\xD2\x67\xD1\x3D\xCF\x9D\x6D\xC7\xD4\x78\xB4\x5C\xDF\xD1\x5A\xD3\xB9\x1D\xC0\xDC\xCE\x81\xE6\xD2\x8B\xCD\xB6\xEB\xC9\x24\xCC\xD1\x1D\xD1\x36\xEA\xD0\x31\xC5\x64\x24\xD1\x4B\xCA\xD3\x7D\x86\xA8\xE3\xC8\x9B\x7A\xD1\x6B\xD6\x49\xEF\xD0\x09\xD2\x58\xC7\xC2\x9F\xCB\xD4\x3C\xD6\x8C\xB7\xD3\x4D\xD0\x95\xB2\xB8\xA4\xDF\xD2\x00\xB0\xE7\xB0\xD3\x3F\xD6\xA2\xF5\xB4\x7F\xD5\xD2\xA8\xD5\x54\xF0\x5C\x9B\xC5\xA1\xA5\xD2\x9C\xD3\x82\x8D\xD3\x52\xDA\x37\x9F\xC4\xA9\xAF\xD4\x45\xDF\x82\x82\xD5\x55\xCA\xD4\xD0\xA6\x20\x89\xD7\xA0\xD7\xD0\xE2\x56\x57\xFA\xD5\x5B\xD6\xF8\x1F\xD7\xA5\xDC\xD5\x86\xCE\x43\xDC\xD4\x49\xD0\xA8\xC2\xD3\x92\xA6\xD6\xB2\xD4\x43\xDB\xA5\x51\xD8\xA9\xDE\xD0\xAE\x46\xCB\xC3\xD1\x5B\xF5\xD5\x7A\xBB\x96\x9B\xD0\x96\xDA\xCE\xA2\x7B\x59\xEE\xD4\x9C\xA9\x3D\xD4\xD4\xA1\xCC\xD6\xB8\x65\x49\xE3\xD6\x3C\xD1\x73\xBD\xD0\xED\x6C\xD7\xE7\xD7\x2F\xE2\xD1\x67\xD2\xAC\xDB\xD6\x56\xCE\xD7\xBB", - "\x78\x5E\xD1\xD5\xA3\xC2\x0B\xE6\xD7\xBE\xDB\xD5\x85\xCC\xDF\x7E\xD6\x50\xD5\x9E\xBE\xC5\x5A\x76\xA0\xC1\xC3\x60\xC7\xD7\x7F\xDB\x95\x46\xC7\x65\xC8\xC6\x0A\xD9\x5A\xDF\xD7\xF6\x34\x9A\xA3\x8D\xBD\xDE\xD6\xD2\xC8\x35\x8E\xCF\x9A\x9E\xA9\x97\xDA\x7D\xD4\xCC\x0F\x0C\x4E\xE1\x70\x3B\xD6\xAD\x92\xD9\x9C\xD9\x5B\x7B\xD5\x81\x41\xA9\x0E\x5B\xB2\x8D\x60\x74\xBA\x36\xDF\xBD\xD0\x1D\xBE\x5E\x31\xB3\xD5\xC5\xF8\xA1\x08\xE3\xBC\x04\xEF\x08\xE0\xCD\x7E\x4C\x72\x6D\xCC\x08\x9C\xB7\x67\xC3\x09\x9C\xD1\xB1\xA9\xD6\xAD\xCA\xC8\xD0\xD6\x68\xCA\xC0\x16\xC5\xA6\xA6\xD8\xA9\xC9\x8E\x11\xCD\x64\xCA\xDB\x7B\xDF\x9D\xCD\xDB\xD4\xC2\xD7\x70\x8C\x3C\xD3\xD8\x7B\xD8\xB5\xBF\xD4\xC1\xD5\x80\xB1\xD7\x6A\xF2\xC9\xA4\xDA\xAA\x99\xD7\x9C\x81\xDB\x65\xDB\x6C\xDE\xD9\xAD\xD5\x7B\xB6\xAA\xBE\xDF\xDA\x6A\xAC\x3E\xAB\xDB\x93\xD4\xB5\x81\x0A\x18\xDC\xDA\x52\xD9\x6D\xCE\x26\x5A\xD8\xB1\xCF\xD8\xB9\xD4\x0D\x68\xDF\x68\xC8\xCB\xB9\xDE\xB7\x9C\x9A\x1D\xD6\xDA\x7A\xDB\x5D\xFC\x35\x0C\xDF\xB1\xEC\xDA\xB4\xC9\xD6\x3E\xD5\x6B\xDA\xD7\xB6\xD3\xAF\x87\xCC", - "\xE1\xD5\xD6\xEA\xCB\xA8\x01\xDD\x25\xD2\xBF\x1B\xDF\x54\xD1\xD1\x97\xD9\x5E\xC9\xC8\x47\x8E\xB9\xB8\xD2\x85\x45\xDD\x2B\xD3\x2F\xF4\xD7\xA2\xD9\xB8\x80\xDB\x91\xD7\xCB\xA1\xDC\x61\xD9\xD6\xDE\xB1\x7B\xC9\xD2\xE8\xDE\xDA\x94\xB0\x16\xD3\xDD\xC6\xD4\xB7\xBC\x36\x94\xD8\xDD\x4E\xD8\x73\xCD\x7E\xD4\xD9\xB9\x8F\x40\x97\xC4\xDE\xFC\xD5\xB5\xA2\xD3\xE2\xA4\xA6\xB6\xDE\xEC\xD8\xDB\xD7\x71\x88\x69\xD2\xB2\xD7\xB4\xF3\xCF\x02\xD0\xB7\xC8\xDB\x74\xC2\x17\xD8\xC4\xBD\x9C\xDE\xF7\xD0\x5D\xB5\xCC\xA7\x7F\xB6\xD7\xDB\xB0\xCB\xC8\xD3\xCE\xDE\x70\xDD\x70\xF8\xA1\xEC\xD4\xAC\xB5\xC0\xE2\xD5\xDE\x7D\xD9\x48\x7A\xC1\xDD\xDE\xB8\x9C\xAB\xA3\xD1\xDD\xE9\xDA\x78\xE4\xDF\xE0\xD8\xAC\xE7\xDD\xAE\xD0\xDE\x8A\xD8\xD8\x67\xD5\xD6\xD0\xBC\xCD\xD5\xC7\xCC\xDD\xF0\xDD\x60\xEE\xC9\xBC\xD9\xC0\xF6\xDF\x02\xE8\xD7\x0D\xE1\x63\xF2\xDA\x04\xEF\xBD\x92\xDE\x4E\xD8\xDF\xE5\xDE\x51\xC5\x66\x0A\xEF\xB6\xD1\xA8\xE0\xDD\xDE\x1D\xE3\x05\xD0\xD0\xDE\xDA\xBE\xE6\xC0\x85\xC0\xE0\xFB\xDC\x91\x8C\xDD\xFA\xDD\xBB\x9D\xD4\xBE\xC0\x85\x0C\xE5\x82\xE9\xDC\x67", - "\xD6\xB9\x9C\xE2\xE4\xC0\xD3\x03\x08\x45\xC5\xE0\x02\xE3\xBB\x84\x84\x06\xFC\xDF\xB2\xD8\x74\xF6\xE1\x18\xE5\xB7\xC7\xCF\x0D\xF1\xDF\xFD\xDC\x13\xE8\xE1\x1D\xE4\xA3\x95\xDE\xB2\xC4\xE2\x47\xE7\x71\xC3\xAC\xC5\xA8\xBE\x99\xE0\x10\xEF\xDD\x56\xCC\x7D\xFD\xE0\x1A\xEF\xC4\x90\xE2\x0C\xFE\xE2\xB0\x5F\x77\xF4\xDF\x16\xE0\xC6\xBC\x37\x95\xC4\xE3\x01\xE3\x5B\x86\xD8\xE6\xA8\xB0\xD9\xA4\x08\xF1\xE2\x36\x66\x61\xE2\xC6\xEF\x7A\xC5\xB8\xE2\x40\x15\xD8\x21\x73\x20\xE9\xE3\x3D\xEA\x97\x8F\x09\x9B\xCF\xD8\x6F\xD7\x7D\xDF\xE2\x3E\xE5\x55\xA2\xD9\xCB\x64\xD9\x65\xE0\x8A\xF3\xE0\x3D\xDB\xBC\xEC\x21\x9F\xC5\x59\xD8\xB5\x9D\xB7\xD8\x00\x0D\x9C\xEA\x75\x24\xFC\x35\x2F\xDD\x07\x9B\xB8\xE6\xBC\x6C\x4D\xBF\xC5\x9E\xE4\x8E\xA0\x94\xF0\x5C\x51\xEE\xFF\x0F\x0B\x29\x28\xCE\xA0\x07\x91\xE2\x08\xE1\xCD\x5F\x29\xE7\x3F\xAB\xE5\x2B\x08\x30\x28\xE4\x55\xEE\x11\x15\x25\x0A\xAB\x09\xAE\xE2\x67\xF4\x52\x02\x88\x6E\x8C\x09\x2E\xEA\x72\x1F\x42\x0A\x2E\xAD\x4D\x04\xCB\x8C\x5F\x14\x0E\xAD\x9D\x04\xD9\x02\xE7\x46\xEB\x12\x44\xE5\x87\x4B\xE6\x1B\xDD", - "\x67\x8C\x08\x67\xEE\xB2\xC5\xE5\xBD\xA4\xE5\xC0\x70\x9B\xD1\xDE\x81\x0A\xCD\x8F\x9D\x37\xF0\x8B\xDF\xE3\x2B\x55\xBE\xB9\x83\xCE\xDE\x63\x24\xF7\x04\x75\xE1\x54\xF1\x95\x37\xEA\xC8\xDB\xE5\xC2\xA2\xE4\x21\xE2\x6C\xCE\x27\xA8\xD9\xC8\xF5\xE6\xBC\xD3\x5C\xE9\xE0\x64\xCC\x08\xAD\xD8\xC6\xA9\xE0\x0F\xEB\xE2\x63\xE5\xDC\x96\xD5\x2B\xE6\xC5\x8C\xA7\x00\xF1\xE0\x25\xE2\x8D\xEC\x5D\x1F\xE2\xCF\xC9\xDD\x4C\xB5\xE2\x04\xE9\xA2\xEE\x55\x7C\xEE\xC0\xD7\x30\x45\xF2\xE0\xA9\x6F\xA2\xC9\xE9\x4D\x6C\xB7\xA4\xE2\xFE\xC0\xD7\x36\x8A\xA3\xF5\xC3\x3F\xAC\xCE\xF6\xE4\x5C\x87\xE1\x48\xE7\x79\xD7\xA9\x15\xED\xCF\xCC\xE3\xDF\xDC\xE2\x91\xDD\x9D\xC4\xE4\x18\xDA\xBA\xB5\xE0\x3C\xF0\xE3\x2D\xED\xFD\x3A\xE1\x80\xEF\xD1\xDB\xE1\x83\x02\xE9\xB7\xDD\xFD\x1D\xD6\x8F\xE1\xD4\xD6\xDE\x11\xF2\xE9\xFE\xE5\x89\xC3\x08\x25\xE9\xD2\xF9\xDD\xFF\xCA\xD7\x49\xEB\x90\xDA\xDE\x98\xEF\xAE\xB8\xEB\x46\xFD\xE3\x4E\xE1\xA6\xE6\xE8\x97\xE6\xB8\xD4\xE9\xBE\xD6\xEA\x3D\xEE\x8E\xFF\x59\x92\xE3\xD3\xC6\xEB\x19\xF7\xEA\x5C\xEE\x6C\xC2\x52\x66\xE6\x33\x8C\xEB\x3F", - "\xF4\xDC\x9C\xCF\x60\xDF\xA7\xBB\x40\xD4\xC0\xD7\x1D\xF3\xDE\x6E\xE8\xA1\xE3\xE8\x8D\xD2\xD7\xF1\xBF\x16\xB0\xE8\x0D\xE9\xAA\xD2\x62\x43\xEE\x4E\x88\xE5\x59\xED\xEA\x1E\xE3\xB9\xA6\xE7\x36\xEE\x35\xE4\xEA\x60\xFD\x6C\x03\xE9\xB0\xE9\xEA\x33\xC1\xD9\xEF\xE8\x51\xE4\xC9\x0E\xBF\xA6\xC8\xEB\xC9\xE8\x76\x75\xEA\x77\xD3\x9B\x8E\xEC\xB3\xC7\xED\xCB\xE7\xA8\x81\xD5\x3C\xF6\xEC\xC0\xB2\x54\xDA\xED\xAD\xEC\xD3\xF8\x7D\x14\xC4\xED\x05\xEA\xB0\x87\xE8\xA9\xE2\xDA\xD8\xEA\x6A\xE0\xEC\xA8\xE9\xA7\xFB\x44\x56\xD0\xD0\xBD\xEE\x3A\xF6\xDB\x9E\xEA\x83\xCF\x57\xE0\xE1\xA4\x8C\x0B\x82\xCD\xED\x2A\xEA\x9F\xE5\x83\xBC\xE4\xDB\xB4\xE8\x42\x41\xED\xC8\xEF\x03\xEC\xE8\xB4\xE1\xDD\x89\xED\x56\xF5\xEA\x9B\xED\xBA\xC5\xEF\x17\xED\x21\xE0\xE9\x51\xFF\xED\xC1\x74\xB8\xC6\xE0\xE9\x30\xDD\xBE\xEE\x14\xE3\xEA\x2C\xE4\xBA\xC6\xEB\x4B\xCA\xDB\x88\xEE\xBB\xAC\xEA\xB0\xEA\xA2\xCC\xD2\xDD\xD6\xDE\xE9\xED\xBB\xD4\x4F\x48\xD7\x7F\xEE\xEE\xC9\xEA\x37\xD0\xE9\x6D\xFF\xEF\xCE\xEF\xBA\xDF\xEB\xEC\xE5\xDF\x98\xEB\x58\xEC\xEE\xA7\xEA\xA9\xD1\xA6\xDC\xEA", - "\xD7\xDF\xED\x0F\x96\xCC\x73\xE5\xE5\x5D\xD2\xD6\xE5\xE0\xE5\xB6\x1C\xE2\xDA\x57\x5A\xBC\xDF\xA5\xF1\x71\xCD\xC8\xCE\x1E\xEF\xEC\x04\xF0\xBC\xFF\xE3\x08\xF1\xC8\x8C\xF1\x73\xF5\xF0\x13\xC4\x7B\xC8\xF0\xEF\xE6\xD7\xFB\xA5\xCA\xD9\x43\xE1\xD5\x9E\x83\x08\x4C\x06\xCD\x92\xE4\x63\xE1\x08\xE8\xE5\xBC\xFB\xEF\xB8\x6A\xE1\xFC\xB7\x3B\xE6\xF1\x09\xF5\xB9\xC8\xD5\x21\xE4\xE1\xF0\xE9\xD5\xC0\xF2\x2C\xF5\xB4\xDF\x54\x1D\xF1\xDF\xFC\xEC\x8A\xE1\xEA\x26\xB9\xC4\xCD\xF2\xD9\xED\xE3\xAF\xEB\x01\xEB\xED\xA3\xEB\x62\xF8\xCE\x26\xF6\xDF\xE4\xAF\x6C\xE1\xF2\x60\xF4\xD7\x3C\xED\x1D\xFD\xE0\x98\xEF\xDD\xC4\xF3\x27\xF6\xC8\xC7\xAB\x2A\xFD\xD5\xC6\xEC\x9B\xEA\xEB\x23\xE5\xCB\xC9\xEE\x1B\x68\xD2\xD3\xF1\x99\xF2\xEE\x6F\xF6\x85\xF8\xEE\xD8\xD4\xE4\xD9\xF2\x81\xF3\xE2\xBD\xBA\xBF\xF6\xF3\x34\xFD\x03\xBB\xEB\x93\xF3\xF3\x71\xDD\x40\x79\xF3\xE2\xDB\x92\x0B\xF7\x3D\xFA\xAB\x52\xF2\xCE\xE6\xDE\xF8\xE2\xE9\xB1\xEE\x8F\xE0\xF4\xB5\xDA\xD0\xD5\xF4\xF9\xE5\x95\xF2\x8B\x55\xC1\xEB\x68\xF6\x3D\x9E\xEA\x18\xE5\xE4\x83\xF6\xA8\xE2\xF0\xA4\xF6\xCF", - "\xEA\xEE\x35\xFC\x95\x0E\xF7\x54\xEE\x8C\x61\xF1\xD2\xC0\xAA\x08\xF8\xE1\xB1\x62\xAB\xE0\xE9\x44\x6E\xB5\x89\xA1\x52\xFB\xE9\x8C\xA4\x1E\xED\x79\x1F\xF0\xC0\xC7\xF4\xF3\xD3\xE2\xB5\xF6\x4A\xCB\xF1\xB2\xF5\xDC\x84\xED\x49\xE6\xD8\xA0\xF0\xAF\xFF\xF3\xE1\xDB\x1C\xFD\xF2\x67\xFF\xE8\xBF\xF2\xA6\xED\xEF\x0A\xE3\x3A\xC9\xF2\x4B\xFB\xB4\xF4\xE6\xAA\xE0\xF5\x52\xE3\x7E\xC3\xF6\x6E\xF7\xEA\xCA\xA0\x97\xF8\xF6\xBD\xF1\xB7\xD4\xEF\x28\xFF\xEC\xAB\xF6\x14\xFF\xF2\xDB\xF4\xD3\xF5\xB7\xD7\xE9\xEE\xF7\xF1\x4A\xD0\xF7\xC9\xF0\xDC\xD2\xB1\x73\xFE\xEE\xB6\x63\x98\xE6\xF5\xF1\xF2\xA1\x67\xF2\x80\xF9\xEF\xFD\xDD\x47\xF5\xF7\x84\xF1\xB5\xE1\xE8\x7E\xFA\xEF\xD7\xBB\xAD\xE9\xB2\x56\xA8\xD9\xED\xF6\x75\xA3\xDD\x8D\xF9\xBF\xE9\xF4\x90\xD8\xBB\xD3\xF8\x07\xFA\xF0\x99\xFB\x80\xFB\xF8\x88\xF5\xDC\x86\xF5\x50\xF1\xF0\xB9\x6C\xB6\xC3\xF7\xF2\xF5\xCD\xCD\xF4\x86\xFC\xF1\xC0\xA8\x7B\xF7\xF8\x30\xFF\xBE\xEF\xA5\x87\xF6\xD4\xFE\xEE\x76\xEE\xF2\xAC\xF6\xE6\xE8\xF8\x9C\xF2\xC5\xBA\xF8\xC9\xE5\xF8\x01\xDE\xE7\xC4\xF8\x90\xF6\xBE\xE2\xE3\xCE\xEA", - "\xF7\x7B\xE9\xB4\x98\xF2\x6A\xFC\xF4\xDB\x48\xAD\xFC\x69\x13\xF7\xDB\xED\xF8\x0B\xFA\xEB\xB4\xF8\x78\xFF\xF5\xEE\xA1\xD8\xF7\xF8\xA4\xFB\x50\xA8\x71\x87\xF8\xA6\xF4\xCB\xE9\xC2\xF7\xFB\xCB\xBD\xEC\xEA\x3D\xB2\xF8\x52\xFD\xC5\xF9\x7F\x17\xF5\x32\x2B\x0B\x70\xC0\xFB\x01\x0C\xC6\xEF\xE4\x5C\x67\xCC\x9D\x51\xDD\xFA\xE5\xB0\x37\xF7\xB1\xF9\xA9\xFA\x4E\xB4\x7A\xFA\xA2\xFB\x5B\xFA\x70\xE6\xED\xB4\xBC\xF2\xA1\xFA\x3A\xBE\xF6\x4E\xBB\xDA\xE3\xFA\xE5\xE7\xE4\xD9\xB4\xDA\xED\xFA\x01\xF6\xDC\xD3\xBE\x86\x0B\xC9\x83\x0A\xDE\xF6\xF8\x98\xFD\xEB\xC5\xBD\xC7\xFB\xF8\xE0\xDA\xFF\xA4\xFA\xE4\xF1\x6D\x99\x6D\xBF\xF8\xE4\xC0\xFA\x92\xF7\xF2\xBE\xBE\xEA\xEF\xF7\x07\xC0\xF9\xC7\xFB\xA5\xE3\xFD\x9B\xFA\xF1\xC1\xFC\x21\xF0\xA0\xD6\xBE\xEC\xEE\xFD\x56\xF6\x59\x97\xC1\x58\xF0\xFA\xEE\xB7\x4F\xC4\xFD\xD7\xF3\xEF\xC6\xFC\xFC\x77\xDC\xC0\xFC\xEF\xE9\xFB\x1F\xC0\xEB\x86\xFF\x92\xF6\xEF\xAB\xC0\x85\xCB\xFE\xA6\xF9\xF4\xC0\x76\xB1\xB1\xFB\x80\xFC\xEE\xE5\xE2\x36\xF8\xFA\xFD\xFC\x9E\xFD\xF1\x98\xF5\x60\xD2\xBD\x9C\xFB\xF6\xEA\xF9\x69\xD0\xFE", - "\xB7\xFF\xCF\xEA\xE8\x70\xAF\xF3\xC8\xFE\xE9\xF8\xFE\x92\xC5\xF9\xF6\xFE\xE7\xFE\xA1\xF1\xF0\xAA\xB5\xF8\xCE\xE9\xC0\xDC\xC4\x80\x0C\xF1\x93\xFC\xA0\x3C\x6C\x11\xBD\x03\x73\xBC\x0D\x31\xE5\x5D\xC0\x17\x5E\x72\x45\xE6\x5D\xC0\x1B\x5E\x0D\x31\xE7\x5B\xFF\x42\x04\xBD\x67\x0C\x30\x18\x0B\x67\xEA\x39\xE9\x5B\x00\x81\x04\x95\x72\x5C\x4A\x7A\x7B\x7E\xCC\x7D\xC2\x78\xF1\x5E\x7F\x43\x6B\xFB\x75\xFA\x5B\x7F\x3C\x70\xED\x6F\xFD\x69\x7E\xF5\x7C\xFB\x7F\x38\x59\x7F\xD5\x7F\x07\x8B\xFE\x6F\x68\x22\x81\x07\x8D\x5F\x4F\x5F\xC7\x5E\xAC\x59\x7C\x5C\x72\x33\x83\x40\x01\xCE\x50\x7C\x37\x83\x2E\x25\xCE\x45\x5B\xD1\x5C\xEB\x7D\xF9\x68\x7B\x7F\x7A\xD1\x7A\x6D\x33\x6C\xC0\x39\xCD\x6B\x9A\x53\x72\x44\x6E\x07\x81\xFC\x59\x7E\xC3\x7D\xC0\x69\x7E\x69\x80\x4B\x80\xDF\x72\x05\x9F\x20\x4F\x7F\x51\x31\xF5\x49\x7E\xF0\x7F\xD0\x72\xFF\x49\x29\x5F\x7E\x8C\x79\xE1\x6A\x7F\xAD\x7D\xFC\x7E\x57\x58\x7D\x93\x72\xD6\x7A\xFD\x6B\x80\xDC\x7F\x06\x85\xEC\x7C\x34\xF1\x58\xC7\x5A\xFA\x5D\x7F\xCB\x7B\x8D\x70\x00\x0D\x7B\x65\x59\x09\x89\xF2\x69\x4D\xD1\x7A", - "\x6F\x43\xF7\x5A\x04\x3C\x6F\xF5\x79\x01\x9A\x40\x6F\x80\x50\x55\xD9\x4D\x7F\x69\x81\xB9\x58\xF8\x7F\x80\xC2\x7E\xF9\x62\xEE\x62\x81\x88\x82\x3A\x5C\xCF\x49\x82\x26\x81\x18\x8A\x05\xAF\x7A\x5A\x1D\x20\x85\x6E\x78\x7B\x20\x80\x21\x89\xDB\x34\x7B\x40\x80\x24\x8E\x6E\x58\x82\x68\x80\xD7\x71\xB0\x60\x82\x92\x80\xC2\x72\xC5\x3F\x7B\xA6\x83\x1F\x8D\xD9\x03\x7C\xA9\x81\xF4\x7E\xFB\x56\x82\x32\x7C\x00\x07\xDC\x7E\x81\xAE\x82\x42\x31\xE7\x5D\x82\x4C\x83\x07\x65\xE7\x6D\x82\x99\x81\xEE\x10\x0B\x8F\x75\xF4\x74\x23\x82\xFE\x69\x4D\x42\x7C\x2F\x81\x0A\x89\x47\x23\x7F\x24\x8D\x08\xA4\x57\x27\x7E\x30\x84\x0B\xB2\x56\xE8\x74\x2E\x83\x05\xA6\x6F\x2F\x7D\x2E\x81\x09\x96\x67\x4B\x77\x2F\x88\xD9\x45\x83\xD2\x81\x13\x86\xBE\x5C\x83\x9E\x81\x21\x81\x0B\xA0\x83\xD6\x83\x1D\x86\x86\x64\x83\xD3\x83\x35\x81\xF9\x6A\x4C\x76\x82\x38\x8D\xBF\x67\x75\xE5\x82\x3B\x88\xD9\x55\x81\x98\x65\xF8\x7F\x0C\xAA\x62\x5C\x81\x5F\x70\x8C\x74\x75\xED\x82\x28\x8F\x81\x64\x81\x72\x82\xD6\x77\x0F\xA5\x82\x40\x57\x1A\x87\xD4\x1C\x82\xE1\x82\x3F\x89\x92\x71", - "\x81\x73\x77\xB1\x0A\x0D\x9F\x76\x6B\x7E\xD9\x7E\x5C\x7B\x81\x16\x06\xB1\x70\x05\x35\x78\xAA\x81\x2D\x8C\xE3\x7D\x83\x9A\x80\xE3\x23\x08\x9A\x80\x09\x87\xA5\x77\x08\x83\x83\x1A\x87\xA5\x7B\x08\x8A\x83\x24\x86\x6C\x5F\x08\xB1\x83\x0A\x86\x39\x8D\x0B\x85\x71\x1F\x87\xF1\x74\x10\xBB\x3B\xA4\x83\x32\x8E\x0D\x9B\x47\x08\x84\x4B\x8D\x11\x8B\x6D\x35\x85\x4A\x87\x0C\xA6\x6A\x0F\x85\x4A\x68\x0A\x9D\x83\xF6\x7E\xF9\x6C\x0A\x84\x85\xEA\x82\x51\x77\xF0\x48\x85\x2E\x84\x3E\x83\x9E\x01\x85\xEE\x5B\x2D\x81\x12\xA0\x84\xEA\x53\x2E\x8C\x14\xB2\x83\x78\x78\x47\x84\x15\xA4\x57\xE8\x83\x4D\x8D\x14\xBE\x55\x5D\x85\x51\x89\x14\x97\x54\xC9\x82\x31\x83\x13\xAA\x53\xCD\x80\x4A\x83\x10\x98\x83\x02\x05\x34\x83\x15\xB2\x84\x55\x55\x35\x89\x0E\x9F\x85\x6C\x87\xCC\x7A\x15\xB0\x85\xBA\x39\x7E\x78\x17\xAB\x85\xFD\x75\x30\x8A\x16\x8E\x83\x83\x60\x9F\x79\x05\xA6\x85\xED\x6C\xAA\x7D\xDD\x65\x84\x5B\x86\xDA\x72\x04\xBF\x85\x8C\x86\x0D\x30\x0F\xB3\x85\x58\x85\x4A\x64\x0F\x92\x78\x50\x84\x23\x57\xE1\x7C\x34\xBB\x7B\x4F\x8B\x17\x9A\x1B\x00\x85\x43", - "\x85\xC4\x15\x86\x82\x56\x41\x81\xE2\x39\x84\x90\x85\x4B\x8C\x48\x4C\x84\x7E\x76\x43\x87\x17\x99\x84\xEE\x71\x44\x8D\x05\xA8\x56\x13\x84\xDE\x76\x1A\xB3\x86\x97\x79\x4C\x8C\x1A\xB3\x74\xEC\x7A\x66\x87\x1B\xB0\x45\x23\x84\x5F\x8E\x1B\x9A\x1B\x27\x84\x61\x8E\x13\xBE\x55\x2B\x85\x69\x8B\x13\x9B\x86\x8D\x87\x06\x86\x1B\x88\x86\x78\x87\x96\x76\x0F\x80\x86\x37\x48\x69\x8E\x15\x91\x86\x9F\x80\x68\x8F\xFA\x56\x87\x4B\x6F\x50\x8F\x16\xBB\x86\x55\x57\x51\x8B\x1D\x8C\x87\x69\x4F\x52\x8F\x1D\xAF\x84\x9D\x37\x2C\x80\x1D\x82\x87\xA8\x4C\x76\x82\xC5\x16\x85\xE3\x86\x6E\x85\x68\x15\x7C\xC6\x85\x62\x8F\x0D\xBE\x85\xE8\x87\x79\x80\x8A\x42\x86\x2A\x83\x59\x80\xE5\x6B\x04\x65\x87\x55\x84\x1B\x8B\x6D\x69\x85\x7D\x89\x1C\x8D\x5C\x6E\x86\x4E\x82\x1F\xA9\x64\x72\x87\x74\x8F\x1F\xA5\x7B\x01\x33\x6A\x80\x1E\x83\x1B\xF4\x86\x7F\x87\x1C\x84\x83\x11\x89\x7B\x8A\x1F\x81\x7D\x15\x8A\x81\x88\x1C\xAA\x3A\x61\x87\x58\x83\x20\xAA\x53\x8B\x86\x80\x82\x22\x80\x55\x8F\x86\x82\x83\x21\xA6\x61\x93\x86\x3B\x57\x05\xB6\x84\x62\x86\xBB\x57\x19\x87\x35", - "\x99\x87\x85\x8D\x22\xBE\x7A\x78\x76\xF9\x7F\x21\xBD\x6F\xA2\x85\xCB\x32\x1D\xB3\x88\x0B\x89\xDA\x48\x1A\xBB\x83\xAA\x87\x73\x87\x23\x98\x76\x79\x80\xFF\x38\x11\x85\x1A\x99\x73\x81\x06\xEC\x6F\x02\xCF\x57\x91\x8E\x4C\x09\x89\x12\x8B\x81\x8E\x6E\x4B\x87\xE4\x85\x76\x79\x1B\xB2\x88\x1E\x8A\x0D\x3D\x1B\xB6\x87\x16\x89\x55\x51\x1C\x91\x89\x1B\x88\x24\x3A\x1E\x9C\x87\xC3\x85\x61\x85\x09\x8E\x88\x55\x8A\xDF\x13\x26\xA6\x61\x3B\x89\x96\x80\x26\x95\x51\x6B\x8A\x6C\x5D\x13\xBF\x86\x28\x86\x17\x68\x26\xAE\x87\xCE\x12\x77\x8A\x21\xA4\x89\x62\x5A\x78\x8B\x27\x8F\x88\xAD\x86\x79\x83\x24\xBC\x88\xC9\x46\x54\x8F\x27\xA9\x89\x9B\x30\x7B\x87\x28\xB8\x89\x9B\x30\x7C\x86\x22\x92\x89\x8C\x51\x87\x84\x17\xA5\x89\x10\x7E\xA4\x84\x1D\x97\x8A\x82\x55\x7F\x8D\x25\x94\x8A\x62\x59\x80\x8F\x26\x80\x8A\x4E\x87\x98\x51\x27\xA1\x8A\x09\x88\xA1\x80\x29\x82\x56\x94\x7B\xA7\x88\x28\xB0\x45\x96\x89\x8F\x80\x2A\xAC\x8A\x19\x89\x7C\x81\x26\xAC\x5D\xB1\x8B\xA3\x83\x2B\xB4\x2B\xB5\x8A\xA9\x87\x2B\xA4\x57\x21\x8A\xAA\x8C\x28\xBE\x55\x25\x8A\xAE\x8C", - "\x27\x9A\x1B\x29\x8B\x24\x7B\x22\x9C\x8A\x5C\x8A\x3A\x5F\x22\xB4\x71\x77\x88\x96\x8D\xB5\x35\x88\x83\x86\xAF\x84\x09\x94\x50\xFA\x81\x39\x6F\xD7\x51\x81\xB6\x8A\x05\x75\xF6\x6F\x86\xBD\x73\x40\x04\x07\x88\x8B\x83\x89\x4A\x65\x24\xAE\x53\xE3\x6F\x56\x20\x25\xBC\x09\x3C\x6D\xBA\x88\x28\x6B\x8B\x2E\x50\xBB\x8A\xEA\x0E\x01\xAE\x55\x25\x0C\x6C\x25\x00\xCC\x1B\xDB\x75\x68\x34\x8B\x12\x85\x46\x7D\xA1\x38\x8B\x0D\x32\xBD\x8E\x4C\x3C\x8B\xD5\x8A\x67\x60\x47\x54\x84\xB0\x2D\x13\x03\x2F\xB5\x8B\x07\x8D\xBE\x80\xDC\x7B\x8B\x08\x8C\xC3\x8A\x30\x81\x55\x4D\x88\xC1\x80\x7E\x72\x81\x92\x00\xB3\x17\x11\x9D\x28\xF0\x89\x87\x26\x30\x98\x8C\xCC\x1B\xC6\x82\x1B\x8C\x2E\x19\x8D\x03\x3E\x31\xAA\x3B\xFE\x8B\x11\x82\x07\xB2\x72\x13\x8E\x67\x80\x00\x27\x72\x8A\x49\xB2\x82\x2B\x90\x76\xA3\x88\x5C\x44\x25\xBF\x8A\x2C\x88\xAE\x2B\x25\xA1\x8B\x93\x89\x6B\x21\x33\xB5\x85\x18\x57\xCE\x80\x2E\xA3\x88\x79\x6B\x99\x82\x24\x80\x8D\xEA\x53\x9C\x8E\x32\x99\x8B\x84\x1E\xCF\x82\x66\x46\x8D\x38\x8C\xA6\x8C\xB8\x0C\x8D\x44\x8F\xCB\x85\x93\x4A\x8D\x17", - "\x56\x9E\x82\x35\xAB\x8A\x3C\x8E\x9F\x87\x35\xB4\x8C\xA3\x4C\xD5\x87\x23\x46\x8A\x5B\x8E\xB3\x80\x6B\x0A\x8A\x61\x8D\xCD\x85\xB2\x0E\x8A\xC2\x8B\xAB\x85\x55\x6D\x8A\x27\x88\xD6\x8D\x17\xBA\x85\xC3\x89\xD3\x88\xCB\x1A\x8A\x8B\x8A\xD8\x86\xF2\x5E\x8D\xDD\x7D\x81\x85\x36\xBF\x8C\x2E\x7C\xDE\x80\x54\x69\x8A\x9B\x88\x9D\x8C\x21\xB9\x8A\x6E\x89\xE0\x81\x18\x99\x71\xCD\x8A\xD9\x80\x6B\x2C\x8D\xA7\x89\xDB\x81\x2A\x8C\x8E\xBB\x88\xD2\x8D\x1A\xBD\x8A\x86\x8E\xDC\x89\x1C\x41\x8B\x85\x8D\xDD\x85\x55\x45\x8B\x72\x83\xB1\x82\x38\x92\x8B\x55\x57\xB2\x80\xB1\x51\x8B\x95\x8D\x45\x75\x6F\x0F\x8C\x02\x87\xD1\x89\x36\xAD\x86\x39\x89\x89\x78\x2D\xAB\x8E\xB8\x87\xB6\x81\x30\x8F\x67\xDE\x8A\xDF\x85\x6E\x63\x8B\x93\x71\xB9\x8F\x0F\x3C\x6C\x80\x06\x0E\x0E\x5A\x63\x78\xBB\x21\xC9\x8E\x57\x51\x40\x3C\x8C\xF1\x80\xF1\x52\x00\xCB\x5F\x40\x08\x3C\xB5\x80\x87\x86\x6C\x5F\xE9\x64\x57\x00\x81\x0C\x8F\x10\x18\x00\xC9\x8F\x0C\x5F\x02\xAB\x04\x1A\x01\xF5\x81\x10\x19\x8F\xCC\x8D\x40\x07\x05\x1A\x8F\x2E\x3C\xF8\x88\x32\xA6\x61\x1E\x00\xF8\x8F\x3C", - "\x81\x6C\xE7\x8F\x07\x63\x3E\x8E\x8F\xE6\x8E\xF8\x80\x3E\xBE\x8E\xDD\x8C\x00\x09\x00\x29\x63\x01\x06\xF0\x85\x3C\xA0\x8F\xC6\x8E\x98\x5B\x3C\xBD\x3B\x80\x07\xFE\x82\x3D\x9F\x7C\xA1\x89\xFA\x8B\x1D\x51\x8F\xCE\x5F\x4A\x04\x3D\xB1\x8F\xF9\x8F\x45\x5C\x3D\xBC\x8F\xD8\x8C\xF8\x8F\x3D\xB1\x8F\xBA\x8E\x98\x5B\x3E\xA1\x8A\xE5\x8D\xFC\x82\x40\xAB\x60\x17\x92\x42\x33\x41\xBE\x55\x19\x91\x6E\x3D\x41\x89\x47\x1B\x90\xCF\x80\x3F\x8C\x90\x0F\x07\xFC\x82\x31\xB7\x8B\x0D\x8D\x03\x30\x30\xAC\x71\x2A\x8E\x18\x60\x18\x36\x8F\x24\x7B\x24\x7E\x42\xAB\x04\xE8\x62\xE9\x5A\x8E\x6C\x63\x38\x92\x3B\x69\x43\xB0\x63\x3B\x92\x3C\x6D\x43\xB4\x63\xCC\x1B\x3F\x6D\xA1\x01\x64\x1D\x2A\x19\x8B\x12\x05\x64\x0F\x8F\x41\x67\x42\xBF\x8B\x29\x92\xBA\x3B\x42\x8B\x76\x2D\x91\xC2\x8D\x2F\x92\x91\xB3\x8C\xC7\x6A\xFB\x42\x5B\x2B\x07\x6E\x6A\xEA\x17\x72\x0D\x63\x24\x75\x01\x8E\x80\x44\x22\x93\x8D\x84\x1A\x1B\x4F\x92\x23\x50\x43\x80\x06\x65\x92\x8D\x71\x45\x8E\x8C\x53\x90\x1B\x95\x45\x92\x73\x57\x92\x5C\x45\x43\x93\x80\x00\x01\x3F\x6E\x4C\x36\x91\x9B\x30", - "\x1E\x97\xCD\x3A\x91\x5B\x24\x1F\x9D\x7E\x3E\x91\x80\x04\x20\x9B\x12\x02\x92\x0F\x04\x21\x9C\x10\x06\x92\x03\x06\x10\x9D\xC0\x04\x91\x0D\x32\x11\x9F\x10\x08\x91\xDC\x88\xFD\x5C\x10\x0A\x91\x74\x92\x16\x93\x94\x1C\x91\x36\x6E\x1C\x8F\x45\xBC\x80\xF5\x5E\x71\x61\x42\x8C\x6F\x0C\x06\x01\x80\xE3\x42\x04\x30\x90\xB7\x02\x4A\xAD\x7D\x35\x68\x6C\x82\x10\x27\x92\x17\x4C\x80\x3D\xC5\x63\x80\x8E\x52\x2B\x9A\xD5\x70\x92\x6A\x91\x6A\x87\xBD\x46\x67\xB7\x73\x96\x6B\x44\x87\x04\xAC\x73\xD1\x10\xE1\x7C\x8E\x2B\x04\x01\x90\x45\xB6\x92\xEF\x59\x87\x23\x47\x98\x91\x85\x93\x0F\x96\x8F\x4A\x93\xF8\x60\x33\x9A\x8F\x4E\x93\xFC\x60\x34\x9E\x8F\x40\x64\x02\x64\xB3\x10\x49\xAF\x91\xC8\x64\x25\x96\x23\x91\x8D\x01\x6F\xCC\x86\x37\x8E\x8E\x3D\x51\xE2\x8C\x37\xB5\x43\xB6\x8E\x3A\x5F\x25\xA5\x8E\xA0\x8E\xDE\x45\x1C\x92\x8E\x5C\x8F\xE7\x88\x4E\x8D\x5C\xDE\x92\xE2\x8E\x2A\xAD\x86\x50\x8D\x3A\x9C\x17\xBA\x4A\x43\x8E\x3D\x9F\x9E\x65\x93\x5E\x78\x3F\x91\xB0\x5A\x87\x9A\x8F\x38\x9A\x4E\x56\x8D\xEC\x93\x37\x9B\xB4\x5A\x8D\x05\x96\x3C\x99\x1C\x42", - "\x8A\xDC\x90\xEC\x80\x17\x60\x8D\x09\x96\x40\x98\xFF\x24\x8D\x11\x97\x3D\x95\xAC\x79\x93\xEF\x92\x3A\x50\x39\xB1\x8D\xC2\x85\x0B\x8B\xBA\x64\x8E\x01\x96\x58\x71\xDE\x62\x93\x16\x95\xFA\x78\x51\xA1\x94\xE0\x76\xDE\x85\x51\xAA\x8E\xB8\x29\xA9\x89\x39\xBB\x8D\xBB\x20\xE0\x88\x52\x96\x8E\x6B\x14\xDC\x8A\x36\x92\x94\x18\x8A\x4D\x9E\x36\xAE\x93\xB8\x8A\x4E\x9D\x4E\xAC\x94\x19\x36\x4F\x96\x50\x91\x8E\x1F\x60\xE5\x83\x53\x8D\x94\xDB\x44\xE6\x89\x33\x80\x95\xB0\x18\xE7\x8A\x32\x9E\x8E\x4C\x97\x3C\x9F\x38\x62\x8E\xEE\x51\x8C\x8A\x50\x8D\x8E\x4B\x6D\x67\x84\x4C\xA9\x8E\x34\x95\x73\x82\x0D\x4F\x8C\x6D\x8B\x52\x9D\x55\xBC\x1A\x3F\x8A\xB5\x81\x24\x9B\x93\xFA\x90\xE3\x7E\xE2\x4F\x8C\xBA\x8C\x30\x9F\x10\x15\x90\x91\x93\x98\x6C\xD7\x72\x91\xF4\x8D\x1D\x92\x4D\xB7\x91\x77\x95\x1E\x99\x57\xBB\x91\x7B\x95\x1F\x9D\x57\xAD\x1F\x8A\x92\xBA\x3C\x48\xAA\x3B\x8E\x90\x43\x07\x4D\xAC\x90\xC4\x92\x36\x94\x57\xB6\x90\x01\x04\x22\x97\x43\xBA\x90\x90\x94\x0F\x91\x59\xBE\x90\x93\x94\x10\x95\x59\x97\x4C\x81\x96\x5C\x43\x58\xB2\x45\x85\x97\x40", - "\x07\x58\x83\x93\x40\x89\x40\x0A\x58\x87\x40\x43\x26\xEE\x86\xEC\x63\x78\x80\x07\x31\x9E\xB4\x01\x92\x7F\x94\x6B\x97\x59\x8D\x93\xAF\x97\x33\x91\x5B\x91\x93\xB3\x97\x34\x93\x44\x95\x93\x1D\x2B\x67\x91\x27\x53\x72\xA3\x97\x6E\x92\x07\x80\x02\xAE\x55\x20\x0E\x5A\x43\x02\x62\x93\x35\x3C\x32\x85\x1A\xAA\x97\xC5\x47\x5C\xAD\x86\xCB\x96\x5E\x9D\xA1\x0D\x97\x7C\x97\x73\x9D\x5A\xAB\x04\xD0\x96\x5F\x92\x5D\xB5\x96\xCE\x11\x75\x9F\x47\x8C\x1B\xDA\x96\x6B\x9D\xC0\x1D\x97\x83\x90\x77\x93\x5D\xA6\x72\xE3\x94\x43\x00\x5E\x8F\x04\x99\x96\x72\x94\x4D\x97\x97\x8D\x92\x78\x99\x5B\x86\x64\xFE\x92\x1F\x31\x5F\xB8\x2A\xF1\x90\x4E\x9E\x50\x95\x55\x37\x8C\x52\x92\x56\xAA\x3A\xE7\x93\x51\x99\x56\xAA\x3A\xEB\x93\x7D\x96\x5F\xAF\x94\x2B\x96\x14\x75\x5F\xBC\x94\x7B\x8E\x73\x88\x56\x99\x94\xFD\x6D\x58\x9E\x34\x98\x95\x0C\x89\x49\x6F\x3A\x84\x98\xA7\x7F\x6D\x73\x61\xBB\x97\x39\x76\x9D\x87\x52\xB0\x94\x55\x8F\x7C\x9F\x0A\xA4\x94\xC2\x80\xAE\x64\x54\x94\x98\xB8\x28\x44\x92\x60\xA5\x94\x27\x16\x87\x90\x6B\x28\x8D\x24\x98\x86\x94\x2B\x82\x95", - "\x57\x97\x88\x91\x54\xB8\x87\x17\x9B\x83\x9F\xB9\x7C\x87\x2A\x9B\xDD\x80\x62\xA3\x95\x85\x1A\x4A\x97\x62\x91\x95\x8C\x2E\x4B\x9E\x62\xBE\x97\x0A\x4D\x8E\x99\x1C\x5B\x94\x37\x94\x8A\x9C\xDD\x65\x4C\x1C\x97\x7F\x97\x1F\x88\x8E\x1B\x99\x81\x9D\x3D\x44\x8E\x43\x98\x87\x97\x23\x46\x95\x56\x9A\x7E\x9A\xD0\x0A\x95\x36\x99\x93\x9B\xEF\x0E\x95\xC4\x90\x54\x9C\x63\xAE\x8D\xDD\x50\x36\x90\xF7\x6F\x56\x3B\x99\x47\x9C\xE1\x66\x99\x5E\x83\x67\x89\x66\xA9\x93\x5E\x7C\x9B\x9A\x4A\xA7\x6D\x6F\x9B\xA6\x8C\x41\x4F\x8C\xDF\x88\x82\x92\x65\x80\x55\xB8\x8E\x1C\x81\x41\x80\x99\x10\x9B\xFA\x65\x67\xBD\x74\x57\x89\x8C\x9E\x65\x81\x29\xF9\x96\x93\x9C\x60\x9F\x20\xFD\x95\x96\x9A\x68\x81\x29\x01\x99\x8B\x9D\x65\x89\x99\x80\x9A\x14\x37\x60\x95\x9A\xDA\x8A\xDB\x67\x68\x8E\x9A\x50\x62\x91\x90\x14\x83\x9A\x09\x9B\x03\x7F\x53\xA3\x99\x9B\x30\x40\x9C\x69\x84\x99\x41\x28\x41\x9F\x63\xA4\x9A\x70\x44\x42\x9B\x6A\x9A\x99\xB8\x30\x43\x9F\x68\xA7\x9A\x71\x62\xA7\x90\xBB\x14\x94\xAF\x98\x9C\x97\x51\x8B\x98\xA8\x98\x30\x80\x63\x83\x98\x55\x99\x4E\x94", - "\x63\xB2\x98\x93\x99\x6B\x84\x37\xB4\x9A\x7B\x9B\xBE\x3E\x29\x8B\x9A\xB9\x98\x81\x86\x6B\x9D\x36\x42\x99\xB1\x93\x6A\xAE\x59\xCF\x98\xB0\x38\x64\xBB\x94\x21\x99\x4D\x7F\x4A\x83\x95\x9B\x9B\x2B\x6F\x6B\xBA\x99\xCD\x99\x4F\x93\x6C\x9D\x9B\xE1\x98\xAF\x85\x6D\xB2\x56\x5C\x9A\x54\x9C\x6D\x80\x3B\x60\x99\x68\x9D\xD3\x27\x9B\x53\x95\xD5\x70\x6A\x91\x94\x7D\x24\xEA\x80\x6F\xA9\x66\xD8\x6F\xBC\x92\x60\xB7\x99\x71\x94\x28\x95\x3B\xBA\x9B\x92\x98\x2E\x3D\x67\xAA\x8C\x6D\x94\x1D\x1F\x10\x1F\x92\xDC\x0A\xFE\x73\x4A\xB5\x8F\xFD\x16\xC2\x92\x17\x7E\x8F\x0F\x9C\x15\x92\x17\x67\x91\x2B\x05\x1A\x99\x32\x84\x93\x33\x93\x43\x06\x71\x85\x1A\x14\x9E\xC6\x9E\x5A\x59\x9C\x94\x7E\x7B\x97\x8E\x51\x8C\xDF\x95\x5D\x97\x5E\x87\x92\x22\x9C\x65\x95\x72\x98\x97\x9B\x33\xC9\x93\x10\x0E\x96\x01\x06\xCB\x9F\x58\xAB\x9C\x92\x94\xCD\x9A\x72\xAA\x3B\x32\x9D\x63\x99\x72\x96\x96\x36\x9C\xCF\x98\x73\x81\x91\x3B\x9F\xC5\x4B\x59\xAA\x97\x45\x91\xD0\x9E\x48\x7A\x96\xB5\x92\xBB\x9D\x5B\xB0\x2E\x39\x9C\x00\x09\x5C\x8E\x52\xDA\x97\x2E\x2D\x74\xB0\x9C\x2B", - "\x8D\x79\x93\x10\x13\x9D\x46\x9E\x6C\x9D\x73\x8B\x93\xEC\x97\xCD\x92\x17\x58\x9D\x5D\x9E\xCF\x9F\x75\x96\x9D\x02\x04\xD8\x9B\x75\x8E\x52\xE9\x94\xD4\x9B\x5E\xA7\x9D\xB0\x2D\x67\x95\x76\x96\x93\xF0\x97\x2E\x92\x5D\x4C\x1B\x07\x91\x35\x72\x77\x9B\x25\x4F\x9E\x14\x34\x75\xBB\x9D\x64\x9E\xCE\x9C\x72\x91\x97\x35\x9E\xD7\x9C\x75\x8D\x30\x69\x9C\xEC\x23\x74\x8E\x52\x6E\x9D\x40\x08\x74\x97\x9C\x4A\x9C\xB3\x19\x77\x9D\x36\x7C\x9F\xDF\x96\x5D\x81\x9E\x62\x9F\xE0\x92\x78\xB0\x96\x94\x9C\x66\x9B\x76\x84\x96\x70\x9D\x12\x95\x57\xB0\x90\x62\x59\x02\x97\x23\x62\x9E\x36\x30\xC4\x97\x3D\x8F\x04\xA6\x9D\xAE\x6B\x6D\xBC\x8C\x1F\x91\xBD\x52\x4C\xAA\x9E\x06\x90\xFE\x80\x3E\x8B\x90\xFF\x8F\x40\x04\x7B\x85\x90\x0F\x07\x03\x94\x42\xAB\x35\xF1\x8F\x27\x92\x66\x70\x95\xB5\x9D\xF3\x81\x40\xAE\x8F\x16\x91\xFB\x8D\x7B\xAF\x8F\x16\x8C\xF8\x86\x42\xB4\x91\xA0\x9F\x45\x54\x7A\x80\x55\xCF\x9D\xC3\x59\x7A\x91\x98\x00\x03\xF4\x99\x36\x6D\x9E\x52\x30\xF6\x9D\xD9\x2F\x9E\xD4\x9D\xDD\x91\x7C\x82\x22\xBB\x9E\xED\x93\x7B\x8E\x90\xE0\x8F\x9F\x97\x23", - "\x7E\x9E\x17\x54\xF0\x98\x7B\x80\x90\x1C\x90\xF1\x91\x7E\x82\x9F\xED\x9F\xF1\x91\x3F\xA3\x90\xEA\x3B\xC5\x8F\x7E\x81\x04\xCB\x9E\xBA\x36\x3C\x80\x06\xFB\x9C\x1E\x28\x58\xAE\x9B\x23\x7A\x2D\x7D\x5F\x1D\x00\x28\x51\x7F\x1B\x01\x05\x97\x80\x73\x24\x7D\x3A\x8A\xA0\x5B\x21\x29\x9B\x12\x04\xA0\x9E\x92\x01\xA8\x80\xBF\x03\xBD\x90\x28\x20\x81\xAF\x21\x0C\x9F\xD1\x17\x80\xB7\x9D\xED\x1C\x07\x0E\x5A\x79\x00\x13\xA0\x60\x0B\x81\xAD\x91\x0D\x33\x08\xA2\x67\x9D\x8B\x02\x07\x0D\x0D\x44\xBF\x9F\x66\x95\x40\x0A\x82\x8F\x8C\x38\x01\x01\xA7\x74\x36\x00\x21\xA3\x4A\x06\x82\x93\x9C\xCC\x1B\x0D\xA0\x5A\xAD\xA0\x00\x03\x0B\xA4\x82\xA7\xA0\x92\x93\x40\x0E\x83\xAA\x3B\x1E\xA3\xC3\x80\x82\x9D\x28\x45\xA1\xBF\x9C\x2D\x07\xA1\x18\xA0\x00\x0E\x80\x8F\x04\x34\xA0\x07\xA0\x18\x37\x9E\x17\x4C\x15\xAE\x5B\xAA\x8C\xA8\x96\x0D\xAB\x82\x97\x4C\x3A\xA3\x15\xA4\x4C\x83\xA1\x72\x45\x17\xA0\xBB\x1D\x9C\x0C\x06\x18\xAC\x78\xBC\xA0\x60\xA0\x17\xAB\x85\x8E\x52\x66\xA1\x17\x92\x07\xA9\xA1\x62\x31\x2A\x98\x82\xAB\x79\x1C\xA3\x69\x99\x83\xAB\xA1\xB0\x2D", - "\x1B\xA9\x49\xAA\x8C\x70\xA1\x1E\xA8\x87\xBC\x1A\x7A\xA3\x26\x34\x86\x83\x04\x81\xA2\x9B\x63\xC9\x7D\xA1\x80\xA2\x6B\x58\x88\x85\x1A\x85\xA3\x56\x23\x88\x82\x04\x8D\xA1\xFB\x1F\x88\x81\x04\x91\xA2\xB1\x7B\x88\x8E\x13\x95\xA0\x4F\x37\x89\x9B\x32\x91\xA3\x0B\x97\x87\x8F\x8C\x9B\xA2\x41\x05\x81\xA8\x21\x3F\x66\x5B\x9C\x10\x18\x01\x7F\xA1\xA1\x18\x8A\x8F\x8C\xA4\x01\x2A\xAB\x87\x84\x93\xAD\xA2\x31\x95\x57\x91\x9E\x99\x9C\xE6\x97\x79\x9A\x9D\xB7\xA0\x6D\x95\x8B\xB8\xA2\x72\x45\xE1\x9C\x6B\x07\x9E\x6D\x9D\xE7\x9A\x84\xAB\x04\x4B\x9D\xCB\x8D\x03\x7A\x9E\x40\xA2\x5C\x9C\xF1\x1D\x28\xAB\xA3\x0F\xA2\x17\x4D\xA3\xC9\xA2\xBF\x92\x10\x31\xA2\x0D\x30\x34\xA8\x83\x8C\xA3\xAE\x54\x35\xA0\xCC\x75\x04\x02\xA3\xD1\x1E\x77\x63\xA2\x4F\x38\x93\x3D\x8D\xA0\x22\xDF\xA2\xB4\x38\x9C\x62\xA3\x6E\x7D\x7F\x15\x8E\x8F\x04\x4F\xA1\xC8\x96\x9C\x6D\xA3\x2B\x7D\x13\xA9\x4B\xAE\xA3\x4D\xA0\x3C\xA2\x10\x1C\x0B\x00\x19\x2C\x7D\x5F\x38\xA3\xA5\x71\xC4\x27\x66\xBC\xA3\x85\x1B\x27\x90\x18\x02\xA4\xFA\xA3\xC3\x89\x85\x8F\x04\x8F\x9C\xB0\x34\x8B\xB9", - "\xA2\x85\x1B\x42\xA5\x79\xB6\xA2\x0F\xA4\x2F\xA6\x79\xBD\xA2\x9B\x9C\x67\x92\x8C\x91\xA3\xDC\x09\x31\xA4\x69\xB5\x89\x83\x7F\x46\xAA\x66\x9A\x7B\x1E\xA7\xAC\x9F\x81\x09\x9A\xCC\x99\xC0\x9B\xD7\x37\x9B\x55\x55\xA4\x91\x6C\xA5\x9B\xC9\x99\xAF\x9D\x4D\xA8\xA4\x7A\x4D\x3D\x95\x92\x93\x8A\xF8\x90\xAF\x98\x6C\xA6\x6F\x32\xA6\x4B\xAB\x6F\xA2\x9A\xEB\x98\xB6\x9D\x03\x66\x9A\x2D\xA7\x4D\xAD\xF6\x30\xA4\x7D\x88\x51\xAA\x6D\x32\x9A\x33\xA6\xB4\x9F\x50\xB0\xA4\x80\x04\xAE\x96\x92\x81\x9A\xEF\x86\x51\xAD\x03\x57\x9B\xD3\x9A\xAE\x93\xEA\x70\x9F\x86\x99\x48\xAB\xEF\x07\x9B\x41\xA5\x57\xA9\x3C\x52\xA5\x36\x32\x8F\x9F\x94\x9E\x95\x72\xA1\x4F\xA5\x95\x85\x99\x00\x9C\x4D\xAA\x6D\xB3\x92\x66\xA5\x5B\xAB\x36\x94\x99\x4A\xA5\x56\xAD\x1A\x94\xA5\x6E\xA4\xB0\x9B\x38\xB0\xA5\xEA\x9A\x5C\xA1\x2A\x98\x99\x5E\xA7\x58\xA8\x7E\x60\xA5\x43\x25\xBB\x9C\x83\xA2\x99\xB0\x98\x38\x91\x3A\xB2\x9B\x51\x98\x4B\xAF\x0F\x90\x8B\xF9\x86\x5E\xA3\x2D\xB7\x92\xC3\xA3\x05\x54\x6C\xB9\xA5\x7A\x4D\x59\x92\x30\xBF\x9B\x89\xA6\x5F\xA6\x86\x43\x9C\xC4\x91\xC1", - "\x9D\x03\x79\x9F\x2C\xA3\x65\xA4\x2D\x8B\x96\x74\x92\x43\xA3\x91\xA7\xA6\x10\xA4\x6A\xA2\x91\xA9\xA6\xAC\xA7\x6A\xA0\xBB\x3E\xA2\x85\x18\x30\xAC\x6B\x09\x9E\x00\x03\xE2\x9E\x86\xAA\x8C\x1A\xA6\x33\x19\x90\xAD\x86\xA6\xA5\x6B\xAA\x8B\x8C\xA4\x78\x96\xE4\x9B\x5D\x82\xA7\xDE\x96\xBA\x30\x9B\x8E\x13\xB2\xA5\xA1\x14\x9B\xB6\xA6\xAF\xA1\xE3\x9C\x81\xBB\x22\xD1\x9D\x90\x21\x9D\xB8\x3F\xD6\x9C\xB0\x35\x9D\xAD\x86\xDA\x9D\xA0\x72\xC5\x1C\x9F\x9D\x36\xF7\x9B\x5A\xBE\x9F\x60\x93\x43\x06\x85\x92\x31\xE3\xA5\x67\x38\x8C\x9F\xA7\xB7\x64\x1D\x98\x7E\xBD\x40\xEA\x9D\x78\xAC\x7E\x95\x55\xD9\xA6\x33\x1B\x9E\xAA\x3A\xF1\xA4\x2D\x9D\xD9\x33\xA7\x43\x24\xFD\x98\x9E\x8C\x04\xA0\xA4\x69\x98\x2E\xAE\x8B\x71\x30\x80\xAF\x9F\xAD\x8B\x04\xAB\x81\x0A\x2E\x85\xA8\x01\xAB\x8D\x4D\x7C\xA3\x9E\xB2\x9D\xFC\x87\x9D\xA1\x8A\x0F\xA9\xFC\x97\x7F\x8F\x52\x69\x4C\x77\xA6\x86\x5E\xA7\xA7\x9D\x92\x3B\x7E\xA2\x9F\xF1\x8D\x79\xA6\x86\x67\xA7\x19\xA9\x6C\x8F\x7D\x80\x00\xF8\xA5\xC3\x5D\x9E\xB0\x9E\x1A\x7F\xF0\x92\x7F\x93\xA8\xF5\xA4\x5C\x4D\xA2\x95\x55", - "\x25\xAA\x3A\x5A\x9F\xA1\xA8\x02\x05\x7F\xA6\x46\xB5\x95\xD3\xA7\x07\x29\xA3\xA7\x2A\x11\xA9\x55\x5D\xA3\xBA\x4D\x2F\xAA\x4D\x7E\x9E\x83\x04\x16\xA9\x6B\x88\xA1\x9C\x92\x1A\xAB\x90\xA2\x10\x1E\xA8\xAD\x84\x93\xAF\x38\x60\xA8\x48\xAA\x88\xAB\x9F\x83\x04\x31\xA8\xFE\x37\xA2\x99\x9F\x75\x95\x90\xA3\x90\x99\xA9\x5C\xA8\x63\x94\xA2\xB5\x95\x33\xA9\x94\xA5\xA3\xB5\xA0\x0F\x04\x13\xAA\xEE\x21\xA2\x09\xA2\x1C\x8D\x06\x13\xA0\xA6\xA3\x40\x01\x85\x8D\x30\x66\xAA\x5C\x4F\xA6\xA7\xA9\xAE\x57\x9A\xA2\x85\xAB\x04\x71\xAB\xC5\x48\xA6\xB1\x90\x6A\xA8\x99\xAC\x10\x39\xA9\x8E\x53\x9E\xA6\xEC\x76\xA9\x0D\x31\x0C\xAD\xA1\x33\xA9\x72\x44\xA0\xA0\xBB\x08\xAA\x7A\xA9\x9D\xAC\x6C\x0C\xAA\x8E\x52\xA2\xAC\x6B\x10\xAA\xB0\x2E\xA0\xAC\xD3\x04\xAA\xDB\xA3\x4B\x06\xEC\x6A\x01\x9F\x9D\x83\xA3\xA1\xBB\xA8\xDB\x47\x8F\xAA\x3F\x86\x9F\x2C\xA8\xF8\x85\xA4\xA1\x8A\x47\xA8\xF5\x90\xAA\xAB\x60\x4E\xAA\x5F\x5D\xAA\xBC\x8C\x50\xA8\xF5\x96\x7E\xB6\x30\x55\xA9\xC0\x67\xA5\x97\x9F\xA4\xAB\x88\xA5\xAB\x9F\x60\x41\xAB\x2E\x2D\xAB\x9A\x1B\x04\xA7\x43\x06", - "\xA8\x93\xA8\x61\xA8\xF5\x96\xA3\x92\x31\x0B\xAA\x0D\x3B\xAA\x8A\x34\xCB\xA9\x6E\x32\xAA\x97\x54\xCF\xAB\x8D\x4F\xAB\xBD\x40\xD3\xAA\xAA\x37\xAA\xBE\x55\xA9\xA9\xDA\x4D\xAC\x89\x47\xAF\xA8\xC4\x7D\xAD\xA2\x59\xB1\xA9\xDA\x43\xAB\x80\x55\xBB\xAB\x76\x47\xAB\xA6\x61\xD5\xAB\x50\x29\xAE\xBB\x3B\xE5\xA8\x06\x99\xAB\x9B\xA8\x02\x05\xB0\xAC\x10\x03\xAB\x23\xA9\xB1\xA9\x36\x47\xAB\x9D\x35\xB2\xA0\x7D\x9E\xAA\x23\xA9\xB4\xA5\x7A\xAF\xAB\x34\xA8\x93\x96\x86\x57\xAB\x3C\x8D\xB6\xA6\x86\x5B\xAB\xF5\x5B\xB7\xAA\x40\xA4\x9F\x10\x92\xFB\x93\xA2\xA7\xAB\xEC\x8D\xF1\x9B\xA2\xA3\xA8\xEB\xA9\x90\x25\xB1\xB8\x3F\xED\xAA\x42\x36\xAF\xA6\x61\xF8\xA9\xA1\x14\x03\x0C\x1B\x1F\xAF\xC3\x8C\xA9\xB8\x92\xFD\x15\x1A\x03\x81\x9B\xAA\x0D\xA1\xC9\xA3\x81\x9C\x0B\x3B\x74\xB7\x08\xAD\x5C\x0B\x21\x8C\x1A\x21\xB3\x8F\x39\x3B\x80\x72\x67\x07\x3D\x17\xD8\x6A\xDF\x58\x9C\x5B\x9C\x08\x06\xCE\xA1\x11\x3E\xAC\x09\x04\xD0\xAD\xB3\x92\x06\x42\xAF\x41\x05\xB4\x86\x04\x47\xAD\x41\x09\xB4\xBF\x03\x4B\xAD\xD3\xA4\xB4\x8F\xAD\xA8\x07\xD2\xAC\x2D\x23\x8C\x4F", - "\x38\x80\x3C\x2D\x1F\x01\xFD\x17\x1C\x09\xB5\xBD\x17\x44\x83\x9C\x90\x00\x27\x01\xFD\x16\xFF\x78\x86\x3D\x01\xFD\x17\x3C\xA3\x10\x36\xA3\x12\x98\x72\x67\x9C\xB3\xA1\x4E\x9D\x7F\x1B\x9B\xAC\xAD\x23\x84\xB7\x01\x07\x3D\x17\x75\x01\x7F\x10\x07\x36\xAD\xFD\x14\x1D\x0D\x5F\x2C\x00\x57\x06\xD3\xA1\xB5\x90\xAD\x07\x0A\xDF\xA1\xB8\x80\xAE\x6C\x0A\xE0\xA5\xB8\x84\xAE\x7C\x0A\xD4\xAB\x12\x3A\xAD\x47\x1D\x21\x0D\x5F\x07\x02\xFD\x14\x2D\x0D\x5F\x35\x02\xFD\x15\x03\x82\x43\x41\x04\x96\xAC\x72\x69\xB9\xA7\x99\x9B\xAD\x9B\x95\x7D\xBD\x17\x3F\xA8\xB7\x09\x07\x3D\x17\x78\x00\xE9\xAD\x5F\x23\xAE\x47\x1D\xE9\xA9\xBA\xBD\x17\x46\x81\x10\xA2\x10\x33\x02\xFD\x14\x2E\x01\xBB\xBD\x17\x10\x83\x93\x3D\x08\x3D\xAD\x3C\x36\x2E\x0D\x5F\x3A\xAE\x47\x1E\x18\x7C\x2D\x30\xAE\x47\x1D\x2C\x0B\xBB\xAC\xAE\xC4\xAF\xD1\x1D\xBA\x8A\xA3\x2C\x1D\xF1\xA0\x8A\x07\xAF\xD2\xA2\xD2\x16\xBC\x8A\xAF\x68\x20\xF3\xAC\x2D\x12\xAF\x8E\x5C\xF4\xAF\xE4\x14\xAF\x22\x1E\xF5\xA1\x89\x18\xAF\x36\x1E\xF6\xA7\xB9\x80\x00\xDC\xAF\x40\x07\xF7\x68\x21\xD0\x71\xF4\xAD\x5F", - "\x26\x02\xFD\x17\x29\x0D\x5F\x0C\x18\xDF\xAE\x0F\x08\xBB\xBF\xAD\x47\x35\x2F\x0F\xBE\x83\xAE\xF0\xAC\xFD\xA1\xE2\x2C\xAF\x15\x06\xE1\xAE\x4E\x77\x80\xDC\x0A\x35\xA1\x89\x3C\xAF\x2B\x05\xB8\xAE\xB9\x95\x01\xFD\x14\x10\x0D\x5F\x3E\x91\xDC\x0A\x2A\x0D\x5F\x28\x02\x0B\xB1\x7F\x19\x0A\x3D\x17\x03\x60\xB7\x04\xA1\x52\xB0\xFD\x15\x38\x6C\x2D\x16\xB0\x2B\x04\x27\x0D\x5F\x1A\xB0\x47\x1E\x27\x0D\x5F\x16\x02\x1F\xB1\x08\xB7\x74\x20\xB0\x47\x1F\x27\x0D\x5F\x26\xB0\x47\x1C\xAB\x6C\x2D\x04\x02\xFD\x14\x23\x0D\x5F\x30\x02\xFD\x15\x2B\x0D\x5F\x2E\x02\xFD\x17\x30\x0D\x5F\x04\x03\xFD\x14\x25\x0D\x5F\x0A\x80\x68\x22\x0E\xB7\x74\x11\x02\xFD\x14\x10\xB7\x74\x13\x02\xFD\x15\x26\x0D\x5F\x1A\x02\x45\xB3\x11\xB9\xC4\x87\x1D\x48\xB3\xD1\x18\x60\x2F\x01\xFD\x14\x14\xB7\x74\x3C\xB0\x4F\x3B\x11\x0D\x5F\x0C\xA7\x6C\xAC\x16\xB8\xB4\x88\xAE\x93\x72\x16\xB8\xBC\x8A\x9E\xFD\x17\x12\x0D\x5F\x0C\x01\xFD\x14\x2F\x0D\x5F\x3B\x02\xFD\x17\x71\x7C\x2D\x2A\xB1\x2B\x06\x20\x0D\x5F\x0B\x00\xFD\x16\x02\x01\xC7\xBD\x17\xF5\x28\xB7\x05\xC7\xAB\x04\x8E\x4B", - "\xD1\x19\x9C\x9E\xAD\x79\xB0\x28\x2B\xC7\xAC\xAD\x7D\xB0\x1A\x2F\x02\x3D\x17\xDD\xA8\xB7\x05\xC8\xAB\x04\x49\xA0\x1A\x29\xC8\x8F\x39\x8B\xB1\x24\x2D\xC8\x9F\xAF\x21\xAC\x28\x21\xC9\xA8\x21\x93\xB3\x93\x35\xC9\x91\x22\x35\x01\x7F\x19\xC9\x87\x1D\x32\x01\x7F\x1D\xC9\x9C\xB2\x9E\xB1\x28\xB0\xCA\xA3\xB2\xA0\x23\x27\xB5\xCA\xBD\x17\xA3\x00\x2A\xBD\x5F\x25\x02\xFD\x16\x28\x0D\xCA\xBD\x17\x1D\xAE\xD7\xA2\x00\xA8\x21\x04\x81\x24\x23\xE4\x20\x22\x7C\xAE\x5F\x0A\xB8\x8F\x04\x12\x80\x1A\x2D\xCB\x8F\x39\xBF\xB1\x24\x2E\x06\x3D\x17\xC3\xB3\xD1\x18\x06\x3D\x17\x6B\x01\x7F\x17\xCC\x87\x1D\xC9\xB2\x31\xB7\x15\x17\x03\x1C\xB2\xB4\x32\xCD\x93\xB3\xD4\xB1\x35\xB6\xCD\x97\xB3\xEC\xA1\x3A\xA9\xCD\x9B\xB3\x0C\x04\x38\xA9\x81\x9D\xB3\xDA\xB0\x38\xBC\xCD\xA7\xAD\xE1\xB0\x39\xB3\xCE\xA4\x92\x05\xA4\x43\x0B\xA5\x87\x9C\xE9\xB0\x95\xAD\xCE\xB1\xAB\xEF\xB1\x40\x0B\xCE\xAA\xB3\xF1\xB3\x97\xAC\xCE\xB7\xB3\xE6\x94\x75\x9A\xCF\xA4\x97\xFC\xB1\x3E\xBD\xCF\x97\x9D\xFB\xB2\x3F\xB2\xD0\x80\xB4\xFF\xB3\xDB\x95\xD0\xB1\x9C\x6C\x21\x4C\x0A\xD0\x89", - "\xB4\x0C\xB5\x25\x2B\xD0\x8E\xB4\x0D\xB5\x1B\x30\xD0\x13\xB4\x2D\x4A\xFB\x7F\x3C\x55\xB4\xF1\xA1\x46\xBD\x16\x98\xB4\x1B\xB7\x43\x04\xD1\x9E\xB4\x1C\xB5\x40\x05\x4A\x23\xB4\x59\x91\x49\xBF\x10\x24\xB4\x27\xB6\x49\xB4\x8F\x83\x04\x28\xB7\x4A\xB2\x10\x2D\xB4\x2C\xB7\x4A\x03\xCB\x82\x04\x33\xB5\x40\x05\xD3\x80\x00\x37\xB5\x4E\xB2\xD3\xBB\xB4\x0F\x06\x4E\xBD\xD3\xBC\xB4\x0C\x06\x4F\xB1\xD4\x80\xB5\x03\x04\xB7\x06\xA3\xB2\xB1\x0F\x04\x1C\xBC\x89\x0B\x78\xE0\xAD\x1D\x1D\x49\xAC\x17\x2B\x05\xEA\x96\xA7\x35\xB2\x00\x02\x51\xBB\x12\x08\xB5\x0C\x06\x52\xB9\xA4\x82\x6C\xC9\xAE\x1F\x11\x46\xA2\x17\x51\xB5\x40\x43\x10\x14\xB5\x56\xB7\x43\x08\xD5\x83\x04\x5A\xB7\x1B\x3D\x87\x1D\xB5\x88\x13\x57\xB0\xD5\xA8\x9E\x62\xB6\x40\x04\xD5\xB7\xB2\x45\xB7\x4A\x07\xD4\xAB\x04\x69\xB6\xF5\x8C\xD5\x8E\xAF\x6D\xB7\x53\xB6\x5F\x21\xB5\x4B\x78\x43\x03\xD7\xAB\x04\x65\xB4\x43\x07\xD6\x82\x04\x79\xB4\xF8\x9A\xF4\x7C\xB5\xA0\x12\x5B\xBF\xD7\xB0\xB5\x81\xB7\x58\xB2\xE4\x04\xB6\x76\xB7\x55\xB8\xD7\xA0\xA7\x7B\xB5\x53\xBE\xD5\xBE\xB5\x0B\x18\x60", - "\xBB\xCF\x63\x31\x93\xB7\x43\x05\xD8\x83\x04\x87\xB5\x40\x09\xD8\x90\x39\x6B\xB4\x63\xB2\x10\x04\x5B\xD8\x58\xFB\xA2\xD5\xA0\xB6\xA2\xB5\x65\xB6\xD6\x97\xB6\x4B\xB5\x6A\xBA\xD9\xBD\xB5\x7A\x22\x74\x1E\xD9\x92\x7E\x92\xB7\x43\x04\xD7\xB7\xA3\xB2\xB6\x61\xB4\xDB\x9B\xB5\x0D\x0C\x9D\x5C\xDA\xBA\xB6\x90\xB7\x67\xBF\x10\x03\xB6\xB1\xB5\x09\x96\xD9\x89\xB5\x98\xB5\x71\xBE\xD4\xB9\xB6\x60\xB5\x72\xBC\xDB\xB2\xB5\xA1\xB4\x43\x03\xDA\x82\x04\xA5\xB4\x00\x07\xDA\xAB\x12\xD2\xB7\x66\xB4\xDD\xAF\xB5\x0C\x07\x6B\xBB\xDC\x99\xB7\x75\xB6\x73\xB3\xDB\x90\xB7\xB5\xB5\x66\xB6\xDC\x8E\xB6\x9D\xB6\x75\xB1\x5F\x42\xB6\xE8\xB4\x70\xBA\xDE\x82\xB7\xEC\xB4\x71\xB5\xBD\xA2\xB7\x03\x05\x6B\xBB\xDB\xB3\xB7\xBD\xB4\x43\x0F\xDB\x81\x04\xDB\xB5\x40\x0D\xDD\x9F\xB7\xF9\x17\x6D\xBD\xD8\x9C\xB6\x01\x06\x6B\xB1\xD7\x81\x04\xCC\xB4\x43\x06\x01\x14\xB6\xF7\xB4\x69\xB3\xDC\xAA\xB5\xEE\xB7\x74\xBD\xDF\x88\xB7\xE5\xB7\x83\xB0\x00\x11\xB8\xE9\xB4\x7F\xAF\xDC\x99\xB5\xD1\xB7\x7E\xB8\xDB\x9B\xB8\xD5\xB5\x87\xB1\xD9\x98\xB7\xBE\xB4\x85\xB2\xE2\xAB\xB7", - "\x24\xB9\x7B\xB1\xDE\xA7\xB8\x70\x20\x87\xBA\x3C\x9E\xB8\x64\xB5\x70\xB6\xE1\xB9\xB7\x18\xBB\x8C\xBB\xE0\xA3\xB7\x8F\xB6\x8A\xBA\xDC\xB4\xB7\xCD\xB7\x8B\xB8\xDF\xB1\xB8\xFA\xB5\xF6\xAC\xDF\xB5\xB8\x29\xBB\x8D\xBB\xE2\x90\xB8\xF5\xB5\x40\x08\x00\x83\x04\x47\xA9\x81\xB0\x00\x07\xB8\x25\xBA\x92\xB4\xE3\x81\x04\xFE\xB6\x7C\xB0\xDA\x44\xB9\x02\xBB\x4A\x03\xE5\x8D\x88\xDA\xB6\x8E\xBC\xDD\x97\xB8\x7A\xB6\x8F\xBB\xDA\xB0\xB7\x0D\xBB\x7F\xBF\xE5\x81\xB8\x03\x07\x80\xB5\xD5\xA6\xB9\x06\xB8\x9A\xBA\xD8\x8C\xB5\xEF\xB4\x83\xB0\x00\x0E\xB8\x4F\xBB\x87\xB1\xE5\xB3\xB9\x15\xBB\x99\xBC\xE3\xA9\xB9\x26\xBB\x8F\xB8\xE2\xA4\xB7\x4E\xBB\x90\xB0\xE7\x82\x04\x72\xBB\x84\xB5\xE4\x83\x04\x77\xB7\xA0\xB7\xE7\xB6\xB6\x79\xB8\x90\xB1\xDF\x82\xB9\xD7\xB4\x94\xBD\xE2\x8F\xBA\x63\xA8\x8C\xB8\xD6\x99\xB9\xDD\xAF\x92\xBC\xE5\xB6\xB8\x02\x06\x79\xB0\xE6\xB1\xB9\x2E\xB8\xA4\xB3\xE2\x9F\xBA\x32\xB9\xA1\xBB\xE6\xBA\xB9\x7C\xBA\xA2\xBC\xE2\xA1\xB9\x0F\x07\x98\xB1\x10\x15\xB9\x74\xBB\x95\xB6\xE7\xA8\xB6\x19\xBA\xA8\xBC\x85\x24\xBA\x01\x06\xA9\xBB", - "\xE8\x81\x04\x72\xBA\xAD\xBF\x57\x5C\xBA\xF8\x9F\xAA\xB8\xD8\xA0\xBA\xFC\x7E\xAF\xBD\xE5\x98\xBA\x00\xBB\xAC\xB8\xEA\xB5\xBA\xB1\x9C\xB2\xB2\x3F\x8A\xBB\xA6\xB4\xB3\xBC\xD6\x86\xBA\x4C\xB8\xA2\xB5\xEA\xB8\xB8\x7F\xBA\xB1\xBC\xD0\x16\xB9\x58\xB9\xAB\xBA\xE5\x9C\xBB\xA3\xB9\x93\xBF\xED\xBD\xB9\x20\xBA\x40\x0E\xE8\xA5\xB9\x81\xB9\x9D\xB2\xE9\xBC\xBA\x6A\xB9\x40\x07\xDC\xAA\xBB\xC1\xB8\xB8\xBB\xE9\x92\xB8\xA9\xB9\xA7\xB7\xE4\xAC\xBA\x49\xB9\xA8\xBB\xE5\xBF\xBA\xF8\xBB\xE7\xAC\xEE\xBF\xB9\xE4\xBB\xAE\xB0\xDE\xAE\xBA\xF6\xB8\x9B\xBB\xE7\xAE\xB9\x3D\x8F\x79\xBB\xEF\xA1\xB8\xAA\xBA\xA7\xBB\xEC\xA6\xBB\x02\xBC\xBA\xB4\xF0\x9E\xBB\xF9\xBB\xC1\xB3\xF1\xB6\xB7\x46\xBB\x8E\xB8\xE4\xBD\xB8\x0C\xBE\x25\x1E\xF0\xB1\xBA\x99\xBA\x9F\xBF\xF1\x84\xB8\xB9\xB9\xB9\xB1\xF0\x8D\xBB\x03\xBF\xB3\xB9\xE8\xA9\xBC\xED\xB8\xCB\xB1\xEF\xBA\xBA\xF3\xBB\xC2\xB7\xEE\xAF\xBA\x96\xB9\x9B\xBE\xE5\x91\xBC\xA7\xB8\xA3\xBB\x12\x2F\xBB\x1C\xA9\xC8\xB2\xE8\xA3\xBC\x84\xBB\xCE\xBD\xF0\xB0\xBA\x10\xBF\x54\xBD\x40\xB7\xBC\x2E\xBC\xC9\xBA\xF4\xA6\xBC\x4C", - "\xBF\xCF\xBE\xF4\xA2\xA7\x2D\xBE\xC2\xB9\xE0\x95\xBA\x87\xB9\x90\xB3\xF3\x91\xBB\x9A\xB8\xAD\xBC\x10\x16\xA1\x91\xB8\xD2\xB3\xE9\xBD\xBA\x31\xBC\xB0\xB6\xF0\xB2\xBA\x61\xBF\xB4\xB3\xF6\x99\xBD\x39\xBF\xD6\xBA\xE1\x9D\xBB\x5E\xBF\xBA\xBC\xF6\xAA\xBC\x62\xBD\xD1\xB5\xF1\xBF\xBB\x17\xBF\xCB\xBB\xED\xBC\xBC\x5D\xBF\xA5\xBF\xF5\xAF\xB9\xD2\xBA\xD0\xB8\xF5\x90\xBD\x5A\xBC\xFE\x4C\xF5\xB4\xBD\x82\xBE\xDD\xB4\xF3\x8F\xBD\x46\xBE\xBC\xB6\xF6\xB4\xBB\x25\xBF\xBD\xBC\xF1\xAB\xBD\x8F\xBF\xCA\xB0\x00\x24\xBD\xD8\xBA\x77\xBA\xED\xAA\xB6\x4B\xBD\xCF\xBF\xF0\x96\xBD\xB0\xB5\xDE\xBB\xA4\xB0\xBD\x93\xBE\xCE\xB9\xF1\x80\xBE\x8C\xBE\xCF\xB0\xED\x84\xBE\x6D\xBE\xE1\xBF\xF6\x88\xBE\x71\xBE\xE2\xB3\xF7\xA9\xBB\x97\xBE\xB0\xB5\xF8\x84\xBB\x90\xBF\xDE\xB2\xF2\x80\xBC\x52\xBF\xEA\xB1\xFA\x81\xBE\xAE\xBF\xE0\xB0\xF4\x83\xBB\x00\x02\x9C\xBC\xF9\x96\xBC\xD9\xB8\xC6\xB0\xF3\x9A\xBC\x32\xBE\xE3\xB0\xF6\xB8\xBD\x6E\xBE\xDE\xBE\xEF\xBF\xBE\x7D\xBD\xF0\xBF\xFC\xAC\xBE\xB8\xBD\xDD\xBD\xF1\xB7\xBD\x35\xBC\x00\x04\xF4\xA7\xBE\xB4\xBD\xEA\xB2\xF7", - "\x8E\xBB\x6A\xBE\xEE\xB1\xFB\xBC\xBE\x87\xBD\xE4\xB8\xF3\xA6\xBF\xB6\xBC\xFA\xB5\xF0\xAA\xBF\xD4\xBE\xEC\xB6\xFD\x89\xBB\xCC\xBE\xE7\xBE\xFC\xBF\xBD\xC3\xBD\xEB\xB3\xFA\xAF\xBE\xC7\xBF\xEE\xBB\xF9\xA8\xBE\xC0\xBD\xD2\xB2\xFC\x94\xBD\xA2\xBC\xCA\xB3\xFD\x94\xB5\xCB\xBC\xDF\xBD\xFC\xBE\xBD\xA0\xBC\x02\xC4\xFC\xBF\xBF\xC6\xBF\xD5\xB6\xFA\x92\xB9\xD5\xBB\xEC\xBE\xFE\x91\xBD\x06\xC3\xF6\xBD\xFF\x9D\xBF\x8D\xBF\xF7\xB9\xF9\x97\xC0\x00\x02\xB8\xBD\xFB\x97\xBF\x47\xBD\x01\xC7\xF6\xB5\xBB\x12\xC2\xFF\xBA\x00\xF0\xBE\xF5\xBC\xFB\xBA\x01\xFE\xBE\x29\xC1\xF6\xBD\x01\xFC\xBF\x2D\xC0\x08\xC5\xFC\x92\xBF\x30\xC1\xF8\xBD\x00\xD8\xBF\x0F\xC2\xF6\xB8\x03\xD6\xBE\xDE\xBC\xE6\xBB\x00\xFF\xB9\xE3\xBF\xF6\x84\x00\xF6\xC0\x2B\xC1\xE5\xB7\xF2\x8D\xBD\xA5\xBD\xF5\xB4\xFE\x9B\xC0\x89\xBE\x63\x4B\xF8\xBA\xC0\x14\xC0\x0F\xC1\x00\xEB\xBF\xC9\xBF\x09\xC8\xFF\x8E\xC0\xFA\xBC\x04\xCA\xE0\x9C\xBF\x1B\xBD\x11\xC4\xFF\xA1\xBF\xC6\xBB\x91\xAF\x03\xF5\xC0\x41\xC3\x0D\xC1\x01\xC4\xC1\x21\xC2\x11\xCD\x03\xE1\xBB\x39\x6B\x0C\xC8\x02\xD2\xBE\x2A\xC0", - "\xE5\xB3\xF5\xB0\xC1\x3B\xC2\x08\xC7\x04\xDA\xBE\x69\xC2\x17\xC7\xED\xB9\xBF\x08\xB9\xFC\xB9\xF6\xB3\xBF\xFA\xB8\x09\xC6\x02\xED\xBF\x34\xC0\x1E\xCC\x04\xFA\xC1\x07\xC0\x1F\xC9\x05\xFE\xC1\x73\xC2\xE6\xB9\x04\xC3\xC0\xE5\xBD\x1E\xCA\xFA\x9E\xC0\x39\xC1\x19\xC1\x07\xE7\xC1\x48\xC2\x20\xC5\xF6\x9A\xC2\xE7\xBF\x21\xC9\xFB\x89\xC2\x52\xC2\x12\xC9\x09\xCF\xC2\x9B\xC3\x10\xCF\x04\xE4\xBE\x12\xBC\x09\xCB\x06\xCE\xC2\x6D\xC1\x13\xCB\x07\xEF\xC2\x00\xC2\x05\xC9\x0A\xD8\xC2\x54\xC1\xED\xB6\x05\xF7\xBE\x9E\xC1\x1F\xC2\x07\xDB\xC1\x31\xC1\x17\xCC\x08\xF7\xC1\xEF\xBC\x29\xC6\x08\xD0\xBF\xE9\xBC\x2A\xC6\xFF\x93\xC1\x8D\xC1\x32\xCC\x0A\xE5\xC2\xCC\xC0\x22\xCE\xF1\xA4\xC0\x97\xC1\x17\xA3\x0A\xD3\xC3\xCB\xC0\x19\xC1\xFD\x94\xC2\xC4\xC0\x55\xBA\x0D\xDD\xBE\x85\xC3\x2F\xC2\xFF\xA7\xC2\xD7\xC0\x21\xAB\x04\xF5\xC2\x90\xC0\x27\xC2\x09\xEF\xC0\xE1\xC3\x9F\xB3\x0E\xC4\xC2\x9F\xBF\x18\xCF\x01\xC1\xC3\x93\xC3\x30\xCA\x0B\xCF\xC3\x94\xA3\x3A\xC1\x06\xC2\xC1\x6F\xC0\x2E\xC5\x01\xD1\xC1\xFC\xC0\x00\x03\x0F\xE0\xC1\xE5\xC3\x62\xB6\x0F\xDD", - "\xC2\xDF\xC2\x3E\xC4\x10\xF2\xC0\xEA\xC3\x2A\xCC\x0E\xED\xC2\x01\xC5\xD5\xB9\x0B\xCF\xC4\x06\xC6\x3F\xC9\x10\xF8\xB9\xC0\xC1\x43\xC0\x0A\xDA\xBE\x07\xC4\x10\xCF\x0F\xEE\xC1\x0B\xC7\x3B\xC0\x05\xF1\xC2\xBB\xC1\x48\xCC\x06\xE3\xC4\xB6\xC1\x24\xC2\x10\xDA\xC1\xFB\xC0\x44\xC0\x89\x9A\xC4\xF5\xC3\x15\xC8\x0F\xF0\xC3\x31\xC6\x31\xC5\x86\xB4\xC4\xFB\xBD\x45\xC9\x00\xE7\xC4\x41\xBE\x4C\xCD\x0F\xD2\xC4\x2C\xC5\x3B\xCE\x0A\xD6\xC4\x03\xC4\x4A\xC5\x10\xEA\xC4\xB4\xC1\x51\xC4\x11\xE5\xC4\x2F\xC4\x38\xC9\x13\xCD\xBA\x5A\xA0\x51\xCB\x11\xD4\xBA\x1D\xC5\x33\xC9\x0E\xCB\xC5\x3C\xC6\x18\xC6\x13\xDE\xC4\xCE\xC2\x50\xC9\x11\xD6\xC5\x35\xC5\x56\xC6\x0D\xE0\xBF\x55\xC5\x2F\xC0\xFF\xA6\xC3\xA6\xC2\x19\xC1\x16\xE3\xC5\x6A\xC6\x32\xCC\x16\xD5\xC3\xE8\xC0\x5A\xC0\x08\xD9\xC0\x11\xC5\x5C\xCC\x0D\xF3\xC5\xDE\xC2\x56\xC6\x17\xCA\xC2\x75\xC1\x5E\xC1\x0D\xDC\xC0\x2D\xC6\x3B\xC1\x15\xCE\xC4\x4A\xC6\x58\xCC\x14\xD2\xC3\x13\xC4\x35\xCD\x17\xE7\xC5\x23\xC1\x4A\xCD\x15\xC0\xC4\x50\xC4\x52\xC0\x13\xD8\xC4\x54\xC7\x43\x0B\x18\xC4\xC6\x46\xC6\x4F", - "\xC3\x01\xF8\xC4\x98\xC5\x5A\xC3\x18\xD5\xC1\x0A\xC7\x57\xCE\x17\xD1\xC6\x5C\xC4\x59\xCD\x13\xD5\xC6\x3F\xC4\x2C\xC1\x14\xFA\xC4\x03\x05\x20\xCA\x19\xD3\xC6\x24\xC6\x69\xC0\x19\xFF\xC1\x80\xC7\xE9\x63\x1B\xEA\xC6\x5E\xC6\x59\xC5\x17\xE8\xC6\x62\xC6\x6C\xCB\x13\xFC\xC6\x94\xC6\x6D\xCF\x1B\xF8\xC6\xBB\xC3\x22\xC3\x1C\xFA\xC5\x8D\xC5\x37\xC7\x0F\xE0\xC5\x5B\xC6\x58\xC9\x0D\xF4\xC6\x85\xC7\x51\xCD\x1A\xD7\xC4\x89\xC4\x6C\xCE\xEE\xA2\xC6\xC8\xC0\x67\xCF\x14\xC6\xC7\x6E\xC5\x74\xCA\x1D\xC3\xC5\xCC\xC6\x53\xCE\x18\xCF\xC7\xA7\xC4\x72\xC9\x1A\xE5\xC7\x57\xC4\xDA\xB4\x17\xE1\xC7\x7F\xC6\x64\xC4\x1C\xF5\xC6\xBE\xC4\x7C\xC0\x1C\xE3\xC7\x70\xC7\x68\xCE\x0B\xE5\xC6\xF5\xC7\x27\xCF\x16\xF2\xB9\x9B\xC4\x69\xCC\x11\xE7\xC3\xF6\xC6\x7A\xC2\x1D\xC8\xB2\x0F\xA3\x4A\x07\xA2\x9B\xC3\xCD\xC4\x5F\xC8\x1E\xF7\xC6\x95\xC0\x43\x0B\x20\xE4\xC3\x65\xC4\x81\xCE\x1F\xE2\xC7\x13\xC8\x3D\xCB\x1A\xE0\xC7\x17\xC9\x7C\xC5\x10\xD9\xC8\x08\xC5\x85\xCD\x16\xDD\xC8\xF7\xC6\x9C\xB0\x22\xE2\xC4\xED\xC4\x0B\xC6\x12\xEE\xC6\xC8\xBE\x89\xC4\x1D\xDD\xC6", - "\xAC\xC7\x67\xC0\x14\xED\xC8\x0A\xCB\x8B\xCF\x1D\xFD\xC7\xC2\xC3\x47\xC2\x21\xF6\xC8\xE7\xC4\x43\xC9\x1E\xD1\xC8\xBB\xC3\x89\xCB\x12\xE9\xC8\x4E\xC2\x65\xC2\x15\xE1\xC6\x6F\x94\x8F\xCE\x1C\xFE\xC8\x10\xC9\x3C\xCA\xF9\x82\xC9\x4D\xC4\x91\xC7\x0B\xC6\xC9\x88\xC7\x6B\xCE\x22\xF3\xC7\xD5\xC6\x67\xCE\x02\xF3\xC8\x02\xC3\x95\xCC\x1E\xE2\xC8\xEF\xC4\x89\xC6\x20\xF8\xC7\x50\xC8\x63\xC6\x1E\xCB\xC9\x2B\xC8\x76\xC6\x25\xC3\xBD\x35\xC8\x96\xC0\x23\xDC\xC8\x39\xCB\x7F\xCD\x26\xDF\xC9\x1B\xC8\x8E\xC9\x0F\xFA\xC8\x41\xCA\x92\xCE\x20\xCC\xC9\xC7\xC4\x90\xC2\x10\x25\xC9\xDE\xC5\x8F\xC9\x26\xC9\xC5\xAF\xC4\xA0\xC2\x20\xD8\xC5\x16\xC9\x9C\xC2\x1E\xC5\xBB\x78\xC7\x9F\xCA\x27\xFC\xC7\x89\xCB\x9D\xC2\x27\xD4\xBB\xBA\xC7\x8E\xCE\x26\xF7\xC8\x91\xC8\x68\xC9\x1D\xDE\xC9\xFA\xC7\x5A\xC0\x29\xE3\xC8\x8A\xCA\x87\xC2\x16\xC6\xCA\xFB\xC7\x80\xC0\x2A\xD2\xCA\x8B\xC8\x9B\xC9\x24\xD7\xCA\x82\xCB\x61\xC8\x27\xDF\xC8\x8F\xCA\xA9\xC1\x26\xE1\xCA\x25\xCB\x9C\xCD\x29\xF2\xC5\x9F\xCB\xAC\xC8\x2A\xE2\xCA\xF8\xC6\x70\xC3\x10\x24\xCA\x9E\xCA\xAC\xCF", - "\x18\xFD\xC9\x4E\xC9\x6E\xC8\xED\x2B\xCA\x74\xC9\x6F\xC9\x29\xDC\xC9\x5C\xC0\xA3\xC3\x3D\xB6\xCA\xDD\xC7\xA1\xCE\x1E\xC3\xCB\x05\xCA\x9F\xC1\x1C\xC1\xC6\x8E\xC8\xAB\xC8\x26\xEE\xCA\x93\xC8\xBF\xB8\x2C\xF7\xCA\x7B\xC5\xAE\xC4\x2D\xE2\xC9\xD6\xC8\x7E\xC7\x09\xC0\xCB\xB8\xCA\xB0\xCF\x20\xC4\xCB\x53\xC4\xB4\xCF\x05\xE8\xC8\x60\xCB\xB8\xC4\x2B\xE3\xC9\x9C\xC9\xB4\xC5\x2A\xC8\xCA\xA7\xCA\xA6\xCB\x26\xDF\xCB\xF6\xC9\xB0\xC8\x2F\xFA\xCA\xFA\xC8\x8D\xCC\x2F\xEF\xCB\x43\xC9\xBC\xCB\x2E\xD5\xCB\xC5\xC9\x9E\xCA\x2D\xFB\xC9\x83\xCB\x65\xCB\x29\xEA\xCA\x29\x9B\x73\x71\x31\xD3\xCC\xC1\x69\xC5\xC3\x48\x52\xCC\x16\xCC\x53\x67\xB8\x5A\xCC\x18\xCF\xC5\xC4\x31\xDE\xCC\x43\x6D\xAC\xCF\x2F\xF2\xCB\xBB\xCB\x7D\xC9\x04\x84\xCC\x51\xCA\xC1\xCC\x27\xC8\xCC\x39\xC7\xC9\xC3\x08\xE1\xC8\x75\xCB\xB2\xCC\x22\xDD\xC9\x2B\x06\xCB\xCC\x20\xE7\xC9\x0C\xCC\xB7\xC9\x2A\xCF\x04\x36\xCC\x85\xC1\x33\xF9\xCB\xCC\xC9\x31\xC2\xE7\xBD\xCC\x1A\xCA\xB2\xC0\x34\xF3\xCC\xCD\xC9\xCD\xC2\x32\xD3\xCB\x07\xCC\xB9\xC9\x30\xE2\x5F\x4B\xCE\x8A\xCA\x33\xFC\xCA\x43", - "\xCD\xD4\xC5\x24\xD7\xC7\x84\xCA\xC0\xCC\x10\x04\xCD\x30\xCE\xD1\xC0\x30\xC1\xCD\xE1\xBC\xD7\xC0\x2F\xFF\xCC\x5F\xCC\xD2\xC2\x34\xCA\xCD\x0B\xCE\xB8\xCD\x34\xF3\xCB\xE5\xC9\xD5\xC9\x36\xEA\xCB\x2B\xCE\xD3\xCD\x2E\xFC\xCC\x56\xCF\x94\xC8\x35\xCE\xCC\xFB\xCA\xB7\xCB\x35\xF5\xCD\x2E\xC4\x95\xCF\x2A\xE2\xC5\x62\xCD\xC1\xC4\x36\xE4\xCC\x01\xCC\xCD\xC4\x37\xEF\xCD\x23\xCF\xDA\xC5\x32\xE3\xC9\x81\xCD\xCA\xC3\x38\xCA\xCE\x85\xCC\x17\xCD\x38\xE6\xC9\x52\xC9\xDF\xC7\x37\xC7\xC9\x0F\xCC\xA5\xCC\x10\x07\xA9\x93\xCD\xA0\xCB\x2D\xFE\xCD\xDD\xC9\x6C\xC8\x2D\xF8\x6C\x7C\xCE\x61\xC0\x3A\xFB\xCC\x7B\xCC\xE2\xCC\x34\xF1\xCD\x6C\xCF\xD3\xC0\x38\xE5\xCE\xD6\xC6\x8C\xC6\x36\xE1\xBF\x97\xC1\xE7\xC2\x2D\xD2\xCD\xA7\xCC\xD5\xC8\x36\xC9\xCB\xC5\xC6\x9D\xC1\x39\xE7\xCD\x87\xCC\xEF\xC4\x1F\xF2\xCC\x6A\xCA\xD6\xC2\x3A\xCF\xCB\xC1\xCC\xB8\xCD\x20\xEA\xCD\xAC\xCF\xE2\xCD\x36\xE2\xB9\xA3\xCC\x00\x06\x3B\xF7\xCB\xAB\xCD\xC3\xC8\x39\xF9\xCD\xC7\xCF\xE6\xCB\x3B\xCA\xCF\x38\xCC\xF3\xC6\x3D\xD5\xC9\xC6\xCE\x40\x0A\x1C\xE1\xCC\xAA\xCC\xEE\xC7\x39", - "\xE0\xCF\x86\xCE\xDE\xC4\x3E\xC2\xCF\x59\xC9\x8C\xCB\x25\xF3\xCE\xA1\xC1\xF2\xCD\x2F\xE9\xCB\x89\xCD\xF3\xCF\x3B\xE1\xCD\xB0\xCE\x96\xC8\x05\xF7\xCF\x7F\xBB\xF4\xCE\x2F\xD5\xCF\x53\xCD\xAD\xC2\x3F\xE8\xCC\x94\xCE\xCA\xCF\x3D\xFF\xCD\xF8\xC6\xFF\xC4\x3F\xC0\xD0\xB9\xCE\x00\xD9\x3A\xEC\xCF\x6F\xCA\xEF\xC0\x36\xF1\xCF\xEA\xCE\xF8\xCD\x28\xD8\xC0\x95\xCB\x40\x07\x09\xFE\xCA\x16\xD1\x06\xDD\x41\xDA\xCF\x9A\xCD\x36\x8F\x10\x17\xC2\x24\xD0\x14\x87\x33\xD5\xCE\xA6\xCF\xF9\xC8\x40\xC3\x58\x27\xD2\x01\xD1\x40\xE3\xC9\x2C\xD2\xCF\xCE\x35\xC4\xCE\x13\xD2\xE6\xB1\x43\xC5\xCD\xBD\xCC\xF1\xC9\x35\xE9\xCF\x96\x7D\xFE\xCE\x3E\xFB\xCF\x35\xD0\x09\xC7\x43\xDD\xCD\x39\xD3\xD1\xC5\x3C\xFC\xD0\x02\x07\x10\xD3\x36\xF3\xD0\x90\xCD\x10\xDD\x43\xE5\xCF\x57\xCE\xEC\xC7\x44\xC9\xCD\x6E\x80\x14\xD6\x37\xD2\xD1\x3B\xD0\x15\xD0\xB4\x7E\xD0\x70\xCA\xF3\xCE\x3A\xF8\xC7\x4A\xD2\xE0\xCC\x44\xF6\xCF\x4E\xD1\x41\xC1\x46\xCE\xCE\x63\xD3\x01\xD1\x3A\xC9\xD1\x5C\xD2\x04\xD0\x3F\xF6\xD0\x6D\xD2\x0E\xD8\x37\xE1\xCF\x01\x07\x25\xC7\x46\xC5\xD0\x8F\xCC", - "\x19\xDF\x46\xC2\xD1\x71\xD2\x11\xD9\x45\xC0\xCF\x5B\xD2\x15\xD6\x39\xD8\xD1\x73\xD2\x00\xC7\x47\xDE\xCE\x39\xCD\x03\xD0\x43\xFD\xD1\x65\xCF\x14\xD0\x48\xD9\xCF\x54\xBA\x09\xD2\x43\xC5\xD1\x8D\xD3\x1F\xD8\x06\xD1\xCF\x87\xD3\xED\xC1\x45\xEF\xCF\x8E\xD1\xF8\xB9\x49\xD4\xCF\xE6\xCC\x21\xD7\x3D\xF4\xD1\x00\x03\x27\xDF\x3F\xE1\xD2\x9C\xD2\x25\xD4\x41\xCF\xD1\x10\xD0\xA6\xCE\x47\xC5\xD2\x5A\xD0\x2B\xDC\x3D\xE8\xD0\xB1\xCD\x2A\xD0\x4B\xCF\xD2\x6C\xD2\x20\xD9\x42\xE2\xD2\xE8\xCD\x2C\xDF\x41\xD1\xD2\x55\xD1\x2B\xDD\x2A\xCA\xD2\xCF\xCD\x08\xD4\xE6\xB2\xD2\xF3\xCD\xB8\xC0\x37\xEA\xD1\xA8\xCC\x24\xD2\x10\x07\xA9\xA6\xD3\x02\xD8\x4A\xC0\xD1\x7B\xD1\x72\xC8\x49\xCC\xD2\x34\xD1\x35\xD5\x10\xF6\xD1\xD8\xD1\x13\xDA\x4D\xC7\xC8\xC1\xD3\x2C\xDE\x42\xC4\xD3\x5F\xD2\x9C\xB1\x4D\xCA\xD3\xF5\xCC\x33\xDA\x3B\xE1\xD3\xC9\xD3\xF2\xCB\x4C\xEF\xD0\xC5\xD1\x20\xD2\x4C\xDF\xCE\x2A\xD3\x1A\xD1\x10\x27\xD3\xEE\xD1\x3A\xD0\x4F\xE5\xD3\x92\xD0\x0E\xD3\x3C\xEF\xD2\xA3\xD0\x12\xD5\x47\xEB\x99\xED\xD1\xF7\xCF\x4E\xE4\xD3\x39\xC6\x10\x3D\x42\xF9", - "\xD1\xEA\xD3\x7D\xCA\x50\xD3\xD2\xFF\xD1\x25\xD7\x4B\xE1\xBF\x0F\xD6\x3F\xDD\x3E\xDD\xD1\xFC\xCE\xE6\xB5\x51\xC4\xD1\x11\xD5\x36\xDD\x49\xFF\xB9\x1B\xD7\x12\xD4\x49\xDE\xD4\xAA\xD2\x46\xDD\x4D\xFA\xD1\x1F\xD7\xC4\x37\x52\xCD\xD4\xF4\xC8\x41\xD4\x40\xC8\xD2\xDE\xCF\x3E\xD3\x37\xE7\x8E\xF3\xD1\x22\xD5\x4F\xCD\xD3\x77\x76\x2E\xD5\x4B\xD4\xD3\x29\xD4\x09\xC1\x52\xE2\xD1\x23\xD6\x37\xDD\x53\xFB\xC2\x3F\xD4\x1A\xD1\x54\xE8\xD4\x25\xD6\x4F\xDB\x52\xF2\xD4\x48\xC9\x05\xD3\x34\x7A\xD4\xFA\xCF\x4D\xC5\x46\xE2\xC5\x45\xD4\x1E\xD9\x46\xCC\xD5\x99\xCC\x4D\xD2\x4E\xCC\xD4\x58\xD7\x6B\xC5\x55\xF0\xD4\x07\xD7\x4D\xDC\x2B\xDF\xD5\x9A\xD3\x15\xD6\x4B\xC1\xD4\xBE\xD0\x06\xD0\x42\xDA\xD5\x05\xD4\x2D\xD1\x55\xD0\xC7\xEB\xD0\x43\x03\x3E\xF9\xD4\x35\xD5\x4C\xD8\x50\xCD\xD5\xD2\x6C\x54\xDF\x43\xD2\xD5\xDF\xD0\x7E\xC4\x56\xE0\xD2\x9B\xD0\x4F\xD9\x54\xFB\xC2\x97\xC3\x5F\xD7\x4A\xC1\xD6\x7C\xD7\x50\xD5\x10\xC6\xD6\xD2\xD0\x62\xD0\x57\xCE\xD0\x79\xD5\x5D\xD1\x56\xFC\xD2\x08\xD2\xB3\xCB\x56\xD1\xD6\x5B\xD7\x55\xD7\x57\xD9\xD5\xCE\xD2\x5D", - "\x8C\x56\xEF\xD4\x65\xD7\x20\xD7\x56\xFD\xD2\xB8\xD2\x5A\xD0\x4C\xDF\xD6\x2F\xCE\x48\xDD\x51\xC2\xD5\x83\xD5\x41\xC3\x57\xCF\xD5\x92\xD6\x3E\xDB\x59\xD8\xCF\xDB\xC6\x4A\xDA\x57\xD8\xD4\x53\xD6\xB9\xCE\x52\xE9\xD6\x40\xD7\x6A\xD8\x54\xD3\xD4\x20\xD7\x52\xD3\x5B\xE4\xD2\x8C\xD4\x3A\xDC\x40\xE2\xD5\x90\xD4\x5D\xD9\x59\xC7\xD5\x2C\xD5\x3C\xD8\x59\xED\xD5\xE3\xD0\x72\xDD\x52\xF6\xD6\xB1\xD7\x71\xD4\x59\xF6\xD3\xE2\xBF\x4A\x0B\x49\x8B\xD4\x9A\xD6\x74\xD5\x2E\xDB\xD7\x10\xD7\x45\xDE\x46\xCA\xD6\x14\x82\x70\xDE\x5D\xFC\xD3\x0F\x04\x78\xD6\x51\xD1\xD0\x72\xD0\x5A\xD5\x5A\xD4\x72\xE6\xD7\x75\xD8\x53\xE5\xD7\xB7\xD7\x78\xDD\x5A\xE2\xC5\xEA\xD4\x47\xD2\x5E\xED\xD7\xA4\xD4\x55\xB9\x5F\xEA\xD6\xFB\xD4\x40\xDD\x5F\xFF\xB9\xFF\xD5\x6F\xD1\x60\xD2\xD4\xEE\xD5\xF8\xB5\x60\xC6\xD5\xBE\xD5\x73\xD8\x5E\xCC\x5A\xF1\xD7\x68\xD5\x59\xDA\xD7\x11\xDA\x60\xD0\x5C\xDA\xBE\x0B\xDA\x55\xDC\x5C\xDD\xD5\xA4\xD1\x86\xD0\x56\xF2\xD6\xE7\xD7\x4C\xDA\x41\xD4\xD8\xF5\xD4\x7F\xD3\x61\xE9\xD7\x15\xD9\x62\xD7\x5F\xF8\xC7\x1E\xD9\x68\xDB\x4B\xD2\xD8", - "\x6F\xC5\x8B\xD0\x58\xE6\xD5\x16\xD9\x82\xD4\x62\xD5\xD7\xD3\xD2\x8A\xD7\x61\xC6\xCB\xA7\xD7\xE9\x59\x62\xCF\xD6\xD3\xD6\x5C\xD1\x3D\xF2\xD8\x87\xD4\x8D\xDA\x63\xF6\xD8\x18\xDB\x8F\xDF\x23\xCF\xD8\x3E\xD9\x89\xD2\x60\xE7\xD8\x4E\xD4\x7C\xDE\x64\xC8\xD8\x03\xD9\x92\xD3\x65\xE4\xD4\x3B\xDB\x2E\xC4\x64\xCD\xD6\x46\xD8\x90\xDE\x5C\xFF\xD2\xCF\xD3\x8D\xDB\x5C\xCD\xD8\x1C\xDA\x40\xD5\x02\xC3\xD9\x4A\xD9\x93\xC2\x62\xE0\xD9\xB7\xBA\x98\xD0\x5D\xDC\xD5\xC3\xD6\x99\xDF\x5A\xD2\xD9\x38\xDA\x63\xDB\x64\xEB\xD9\x03\xD4\x8A\xD7\x65\xEC\xD6\x59\xDB\x36\xDE\x66\xE0\xD6\x33\xDA\x68\xD5\x63\xD5\xD9\x24\xC3\x96\xD6\x5C\xF9\xD8\x5E\xD8\x93\xD2\x10\x06\xDA\xF9\xD2\x75\xD0\x63\xF3\xD7\x74\xDB\x98\xD7\x60\xD8\xD9\x48\xD9\xA1\xD9\x66\xEC\xCB\x78\xD7\xA2\xD7\x69\xEC\xCC\x99\xD9\x9E\xDC\xC8\x75\xD9\x5D\xDB\x9D\xD8\x11\xF9\x38\xDC\xD7\x86\xD1\x67\xDC\xC1\xA4\xD9\x78\xDC\x5E\xCF\xD9\xD8\xD5\xAA\xDB\x5E\xEE\xD2\x54\xD8\x94\xDC\x35\x7B\xD9\xBF\xD5\xA5\xDB\x0B\xEE\xDA\xFA\xD7\xAA\xD1\x6B\xED\xDA\x9B\xDA\xDC\xC3\x6A\xFD\xDA\xAD\xCC\x9E\xDE", - "\x1A\x92\xDA\xBA\xD8\xA5\xD4\x68\xF7\xDA\xC0\xDA\x17\xD2\x6C\xF8\xDA\x00\xD9\xB1\xDC\x67\xF6\xDA\x05\xC4\xB3\xD6\x60\xCE\xDB\xB5\xDB\xB1\xD1\x6D\xC9\xDB\x19\xD4\x09\xC2\x6D\xCC\xD8\x93\xDB\xB3\xD6\x6D\xE0\xD3\x9F\xD8\xB1\xD0\x6B\xC6\xDB\xB2\xD9\xBF\x54\x6B\xCE\xD8\xCB\xD8\xB6\xD9\x5B\xDB\xDB\x1A\xD8\x99\xD7\x6A\xC5\xC3\xEC\xDB\x87\xDE\x68\xC3\xDA\xE5\xDA\x69\xD1\x66\xCA\x76\xBC\xD4\xB7\xD4\x6D\xE8\xDB\x9D\xDB\x99\xDE\x41\xEB\x95\xA0\xDA\xA0\xD7\x64\xDF\xDB\xF8\xC5\xBC\xDE\x62\xFB\xD4\x03\xDD\xBD\xD3\x6C\xEF\xD9\xDD\xD6\x7C\xD1\x57\xE3\xD8\xF8\xD9\xA9\xDE\x6E\xE1\xD8\xFD\xDA\xC1\xD1\x68\xEF\xD8\xF4\xD8\xAF\xD7\x6E\xE5\xD9\x69\xD6\xBF\xD7\x59\xE6\xDB\x01\xDC\xC6\xD9\x70\xD8\xD7\x73\xDA\xC5\xD5\x64\xC2\xDC\x89\xDA\xB0\xDC\x41\xC0\xDC\xE2\xDB\x30\xD4\x71\xDC\xD6\x6C\xDB\xB1\xB1\x6E\xCC\xDC\xA6\xDB\xCB\xD4\x5B\xDE\xDA\xB3\xD9\xC8\xD8\x70\xE9\xDC\xFD\xDB\x25\xC6\x72\xDC\xD9\x28\xDE\xA8\xD0\x73\xEC\xDC\x34\xDF\xC4\xDE\x70\xC9\xD7\x44\xDC\xA0\xD7\x72\xE2\xDC\x3C\xDF\xD0\xDB\x70\xCA\xDD\x40\xDC\xD3\xD2\x74\xF7\xDC\x4F", - "\xDD\xBE\xDD\x6E\xDD\xDB\xD5\xDA\xC2\xDF\x73\xC7\xDA\x76\xDA\x9A\xDD\x73\xD5\x9C\xEA\xD9\x5F\xD5\x46\x92\xDC\x58\xDC\xBF\xD9\x1D\xE3\xDD\xAA\xDB\xB8\xDE\x6D\xCA\xDC\x68\xDF\xAB\xDE\x72\xC7\xDD\x41\xDB\x40\x0D\x76\xF9\xDA\x6A\xDD\xD6\xD8\x5D\xF3\xDD\xCD\xD9\xDD\xD6\x76\xD4\xDD\x78\xDF\xB4\xDA\x77\xDC\xDC\xC5\xC1\xDF\xDA\x6F\xFF\xDD\xEF\xD9\xF8\xB2\x78\xD7\xDD\xFB\xD8\xE0\xD6\x78\xE1\xDD\xE4\xD4\x7E\xC7\x78\xF2\xDB\x88\xDB\xD4\xD4\x4A\xCF\xDE\x07\xDF\x5B\xD2\x79\xE6\xD9\x94\xDF\xC5\xDB\x73\xD7\xDE\x1D\xDD\xE6\xDB\x74\xDB\xDE\x5E\xDE\xD3\xD7\x09\xDE\xDE\x51\xDC\xE8\xD8\x69\xCE\xDD\xA4\xDC\xD7\xD1\x6A\xE1\xDE\x7C\xDC\xE3\xDB\x62\xE9\xDE\x8D\xD9\xE4\xDC\x7A\xC8\xBF\xB0\xDE\x41\xD0\x62\xF0\xDD\x5F\xDA\xBD\xDD\x66\xDE\x9C\x1B\xDD\xE1\xD4\x07\xFF\xDB\x00\x01\xED\xDE\x56\xFB\xD5\x4D\xDD\xEB\xDD\x7B\xF6\xDC\x93\xDE\xEB\xDD\x67\xE0\xDB\x72\xDE\xF2\xD0\x6D\xE2\xC5\xC2\xDD\x74\xD8\x7B\xCA\xDA\x01\x05\xF4\xD0\x67\xC8\xDF\x72\xDB\x05\xD1\x7C\xCE\xDF\x04\xDE\x65\xD2\x42\xCC\x04\xD6\xDD\xC3\xDF\x68\xCF\xDC\x31\xDF\x91\xA1\x7E", - "\xF5\xDC\xD3\xDE\xCA\xD1\x3D\xE7\xDF\x46\xDF\xF8\xD8\x74\xD9\xD7\xBC\xDE\xCE\xD6\x79\xF3\xDE\x66\xDB\xE8\xDC\x7D\xEC\xDD\xF7\xDF\xDD\xD9\x7F\xD0\xDA\xEC\xDD\xD9\xDA\x78\xFF\xB9\xFD\xDD\xE2\xDE\x7B\xDA\xBE\x01\xE0\xE1\xD8\x7D\xDD\xDC\x97\xC0\xAD\x13\x56\x07\x9E\x64\xDE\x00\xE7\x80\xC5\xC3\x0C\xE1\xDA\xDF\x76\xEE\xDF\x63\xC9\x04\xEE\x76\xF4\xD3\xE9\xDD\xBF\xD6\x81\xF4\xDD\x13\xE1\xC6\xD0\x69\xDB\xE0\x79\xDD\x07\xE3\x72\xDF\xE0\xFB\xDC\xF9\xD1\x10\x20\xE0\x7E\xDE\x08\xE5\x7C\xC8\xBF\x28\xE3\xE0\xDA\x82\xDC\xDE\xEF\xD5\x0B\xE8\x78\xC6\xE0\x19\xE2\xD3\xD2\x83\xD0\xDE\x5D\xDF\xE9\xD4\x75\xF7\xE0\x95\xDC\xF1\xD0\x83\xE1\xBF\x3C\xE2\xE6\xD3\x7F\xFA\xE0\xA4\xD1\x10\xEF\x79\xC3\xE1\x9C\xDA\x0D\xE5\x82\xEF\xDF\x97\xC2\x11\xE5\x7A\xC8\xE1\xBE\xDA\x12\xE7\x7C\xF5\xE0\x3B\xE3\x12\xE5\x81\xD6\xE1\xE5\xCA\x13\xEA\x7A\xC1\xDD\xF4\xDD\xC7\xDB\x72\xC0\x00\x5A\xE1\xEC\xD9\x83\xC9\xE1\x54\xDF\x9C\xD1\x86\xF6\xDE\xF3\xDB\x08\xE6\x82\xE0\xE1\x58\xE0\xF5\xDC\x86\xD3\xE1\x14\xE1\xEE\xD0\x7F\xCC\x04\x67\xE3\xF0\xD8\x5B\xFD\xD5\x72\xB9", - "\x1D\xE2\x7D\xF1\xE1\x6E\xE2\x1E\xE7\x7D\xD4\xE1\xA4\xD3\x17\xEE\x87\xE2\xDF\x1E\xE3\x1A\xE6\x86\xED\xE1\xEA\xDC\xF2\xC4\x87\xC8\xE2\xFD\xDB\x21\xE0\x87\xC5\xE2\x4C\xE3\x4A\x03\x88\xE8\xDF\x7C\xE2\xB0\xDD\x84\xCC\xE2\x52\xE2\xFC\xDE\x83\xDD\xE1\x31\xE0\x26\xE5\x85\xCF\xE2\x6A\xE3\xFB\xD3\x89\xED\xDF\x90\xE1\xDC\xD2\x10\x23\xE2\xFE\xDF\x00\xE8\x0D\xEB\x04\x0E\x9D\x40\x0D\x8A\xC0\x00\xAF\xE1\x2C\xEC\x8A\xF3\xE2\x0F\x06\x2C\xE5\x8B\xF4\xE2\x0C\x06\x2D\xE9\x8B\xF8\xE2\x03\x07\x2B\xE1\xC8\x82\x04\xBF\xE1\x40\x01\x8C\xC0\x00\xC3\xE1\x31\xE8\xC7\x87\xE3\x0F\x06\x31\xE9\x8C\xC8\xE3\x0C\x06\x32\xED\x8C\xCC\xE3\x03\x06\xE5\xAD\x80\xF4\xE0\x95\xE0\x46\xC2\x8D\xD2\xE0\x18\xE1\x35\xE9\x1D\xD7\xE3\x17\xE2\x4D\xD0\x88\xE6\xD9\xDC\xE0\x07\xE9\x8D\xE5\xE2\x72\xE1\x38\xE1\x82\xE3\xE3\xA1\xE2\x29\xE8\xB9\x9E\xE2\xA4\xD2\x39\xE9\x82\xE8\xE3\x2B\xE2\x00\xCE\x8E\xEE\xE0\xF0\xE3\x0F\xEF\xE7\xB3\xE3\x33\xE3\x0B\xEC\x89\xE1\xBF\xF8\xE0\x0E\xEB\x7A\xC4\xE1\xE0\xE0\x3B\xE1\x90\xE0\xE2\xF1\xE1\xC7\xDD\x8F\xFD\xE0\x77\xE1\xE3\xD2\xE7\x87", - "\xE4\x42\xE3\x26\xE0\x90\xC8\xE0\x84\x5A\x40\xE6\x90\xD2\xE4\xEF\xD4\x43\xE7\x84\xCE\xE4\x64\xE0\xF2\xB6\x91\xCF\xE1\x18\xE5\x14\xEF\x1A\xDB\xE4\x5B\xE2\xD4\xDB\x8F\xFF\xDE\x1F\xDF\x3A\xE4\x90\xF6\xE3\x77\xC4\xF0\xD0\x92\xE2\xE1\xFF\xE1\x46\xE3\x90\xDA\xE2\x09\xE7\x8A\xDB\x90\xD4\xE4\xB4\xCD\x44\xE7\x92\xE3\xE4\x9A\xBF\x4A\xE8\x86\xF2\xDE\x0F\xE5\x45\xE4\x93\xE4\xE4\x3D\xD8\x03\x8F\x93\xE9\xE4\xC7\xC8\x43\x0A\x93\xF6\xE1\xF6\xD7\xF2\xDD\x2B\xDA\xDF\x47\xE7\x1E\xE4\x8E\xEE\xE1\x73\xD9\x53\xEF\x87\xDA\xE3\x54\xDF\x25\xC2\x95\xC4\xE2\xE9\xE2\x1C\xE6\x95\xC3\xE5\x24\xC3\x55\xE4\x89\xCF\xE5\xC2\xDA\x57\xE4\x8A\xD9\xE5\x6E\xE2\x58\xE9\x8A\xCF\xE0\xFC\xE0\x57\xEB\x0B\xE6\xE5\x0E\xE3\x37\xE0\x91\xCF\x04\xB9\xB0\x4C\xE9\x94\xCF\xDF\x00\x01\x5C\xED\x72\xF5\xE3\x38\xE4\x43\x06\x97\xC5\xDD\x67\xE6\x5B\xEF\x5E\xFB\xE5\x50\xDD\x48\xE6\x7A\xEE\xE4\x1D\xDC\x60\xE6\x75\xFE\xE3\x5C\xE1\x4F\xE1\xFE\x86\xE6\xD3\xE2\x3E\xEA\x98\xFF\xB9\x8C\xE4\x36\xEE\x8D\xD4\xE5\xC8\xBD\x64\xED\x8D\xF6\xD5\x68\xE4\x64\xEA\x96\xC5\xC4\x96\xE6\x38", - "\xE3\x99\xE0\xE5\xFD\xD9\x67\xE7\x8E\xDF\xE6\x64\xE6\xB0\xD2\x9A\xEF\xE3\xA4\xE5\x41\xEF\x97\xDB\xE6\x62\xC7\x69\xE4\x8F\xE9\xE6\x28\xE7\x2A\xE0\x97\xEC\xE6\xF8\xC6\x6B\xE9\x8F\xF8\xE5\x8F\xE6\xE6\xB6\x9B\xC8\xE6\x22\xE5\x6E\xEA\x97\xF4\xE6\xBB\xE4\x42\xE3\x97\xDD\xDF\xD0\xCE\x22\xE3\x10\x01\xE7\x0D\xE5\x4C\xEA\x94\xDE\xDF\xC7\xD2\x40\x08\x9C\xD7\xE4\xCA\xE4\x5D\xE2\xE7\x8F\xE7\x1C\xE5\x74\xE4\x9C\xF3\xE6\x37\xE6\x6F\xE4\x58\xEB\x04\xD4\xE6\x60\xE0\x85\xC1\xDB\xA1\xE4\x6D\xE3\x9D\xE2\xE7\xC5\xE5\x49\xE5\x97\xE4\xE7\xC6\xD2\x67\xD7\x9C\xE8\xE7\x42\xDA\x71\xEE\x9C\xEC\xE7\x9D\xD6\xCC\xDB\x9E\xD9\xE7\x84\xE7\x7B\xD7\x09\xDD\xE7\x2C\xE5\x62\xE5\x9F\xF5\xE4\xD8\xE6\x5C\xE6\x62\xD8\xD7\xF8\xE7\x4E\xE3\x86\xDE\xE4\xA4\xD1\x80\xE8\x94\xFF\xE7\x90\xDA\x81\xEE\x94\xE5\xE6\xE1\xE4\x7D\xE4\xA0\xE6\xD9\x0A\xEB\x54\xE0\x9A\xE2\xDE\x5F\x94\xDA\x35\xA1\xC3\x04\x83\xB2\x4D\x50\x27\x59\xE8\x0F\x75\x31\x9C\x10\x1C\xE8\x89\x93\x4A\x06\xCA\x8B\xA3\x1F\xEB\x4A\x09\x76\xA3\xE8\xA3\xA5\x40\x00\xA2\xD3\x4B\xEE\xE4\x64\xA8\xA1\xDB\x70", - "\xCD\xE6\x8B\xE2\x10\x2B\xE8\x01\x07\x25\xBE\xA1\xEF\xE8\x0F\x07\x26\xB3\x57\xAA\xE8\xB5\x4B\x86\xEB\x12\x10\xAA\x3E\xE8\x14\xA7\xA1\xF3\xE8\x2B\x04\x1C\xA1\xA4\xF3\xAB\x43\xE8\x8F\xE5\xA6\xAB\x04\x61\xAB\x91\xED\x54\x69\xE8\x00\x00\x8D\xE7\x86\x5A\xDF\x4E\xE8\x8B\xE5\x94\xE4\xE8\x38\xEB\x9F\xAC\xA4\xC9\xE9\x51\xE8\x8C\xEB\x7B\xFB\xE8\x5D\xEB\x70\x70\x7C\xD5\xE9\x01\x04\xA0\xAD\xA4\xEB\x04\x52\xE8\xF2\x34\xA6\xFA\x36\x2B\x06\xFB\xA6\xD1\x4F\x04\x6E\xE9\x89\xE6\x53\x71\xE9\x59\xEA\x85\x94\xA7\xC4\xE9\xE8\x96\x88\xED\xA6\xE8\xE9\x26\xEA\x9E\xE0\xA7\xFC\xE9\x62\xEA\x79\xE7\xA7\xCA\xE9\x2B\x5B\xF7\xD3\x10\x03\xEA\x61\xE8\x43\x06\xA3\xC8\xEA\x52\xEA\x8E\xE7\xA8\xC0\xEA\x1D\xE8\xA3\xEF\xA3\xFB\xE9\x0F\x06\x94\xE0\xA9\x92\xEA\x0F\x04\x1C\xA8\xA9\xC8\xE9\x7F\xE9\xA5\xE8\xA7\x9B\xE9\x9D\xEA\x9C\xEE\xE6\x61\xEA\x75\xEA\x95\xE1\x94\xC1\x04\x9B\xEB\x40\x00\xDB\x0C\x34\xA9\xEA\x40\x06\xA6\xD4\xEA\xA2\xEA\xAA\xEA\x7D\xED\xEA\x74\xA3\x95\xE2\x10\x34\xEA\x00\x03\xAB\xE4\xAA\xF8\xE9\xC1\x5B\xAD\xE0\xA9\xCB\x77\x45\x4D\xBA\x5C", - "\x10\x06\xB0\x0E\xE8\x78\xE9\x1D\xC4\xEB\xFE\xE4\xAB\xD2\x1E\xC8\xEB\x77\xE4\x6C\xE9\x97\xFB\xC2\xCC\xE8\x5F\xED\x96\xD4\xE6\x66\xD9\xB4\xE1\x98\xF9\xE7\xBD\xE7\x7E\xEF\xE7\x96\xEB\x87\xE6\x70\xE8\xA0\xEB\xE1\xDC\xE9\x63\xE8\x9B\xDA\xEB\x0F\x05\xB8\xE2\x99\xD8\xE6\x7E\xE5\xF8\xB6\xAE\xD7\xE6\x93\xD4\xB5\xED\x71\xEB\xEB\x9E\xE4\xBA\xEE\xAE\xEF\xD7\xF0\xEB\x68\xE2\xAF\xD3\xE8\x54\xDD\xBD\xE8\x9A\xF7\xEB\x0C\xEA\xD3\xDA\xAF\xEF\xE6\xFC\xEA\x6A\xEA\xAE\xF0\xE7\xB5\xD7\xB0\xE4\xB0\xC1\x04\xFF\xEB\x6D\xEE\xAC\xDA\xE7\x05\xC5\xC2\xEC\x9B\xC3\xE6\x0F\xE8\x17\xCE\xB0\xDE\xEB\xCA\xE8\xAF\xC3\xB1\xC9\xE7\xC3\xE6\xC2\xDF\x85\xD7\xEC\xD0\xE5\xC6\xE4\x72\xD1\xCF\x1C\xED\x75\xEE\xB1\xD0\xDA\x21\xEE\x77\xED\x91\xC6\xEB\xF9\xEB\xC1\xE3\x87\xC3\x04\x25\xEC\xB6\xE0\xB1\xE8\xEC\xA4\xD1\xCB\xE2\xA0\xED\xE4\x11\xEC\xBD\xEA\xB2\xDB\xEC\x37\xEC\xC8\xE9\xB3\xED\xE8\x00\x02\xCC\xE7\xA0\xD5\xEC\xEF\xDF\x9C\xDE\xB3\xCB\xE8\x02\xEF\x2A\xD2\x10\x03\xED\x12\xE9\xBF\xE5\x95\xEB\x04\x48\xEC\x56\xE5\xB4\xDA\xBE\x4D\xEF\x57\xEA\xB4\xF1\xEC\x2A", - "\xED\xD4\xE3\x96\xCF\xED\x24\xC2\xD5\xED\x97\xF3\xEB\x03\xED\xB1\xEA\x6C\xDF\xDD\xEC\x55\xB2\xEB\x6B\xE2\xC7\x99\x2A\xB8\xEB\xB0\xE4\xEB\x0C\x05\xD9\xE7\xAE\xED\xEB\xF8\xE8\x29\xDA\xB6\xEC\xEB\xB7\xDC\xD7\xEF\xE7\xAF\xED\xF1\xE8\xDB\xE3\xB5\xE6\xD9\x74\xEE\xBD\xE6\xB7\xD8\xED\xBB\xC1\xDE\xEB\xAF\xFB\xED\xB1\xE4\x3E\x7E\xB5\xD9\xDB\x7D\xEE\xCA\xEE\xB7\xC0\xEC\x80\xEF\xB3\xE5\x10\xC7\xEE\x0A\xED\xC0\xE1\xB8\xCB\xEE\x86\xED\xE4\xE3\xB8\xF9\xD6\x99\xC5\xDA\xE2\xB9\xE2\xED\xE4\xD8\x76\xDC\xB8\xCF\xEC\xDF\xE7\xD7\xE9\x1D\xDB\xEE\x14\xEF\xD8\xEC\x2B\xE0\xEE\x18\xEF\xB7\xE1\xB4\xDA\xDF\xA4\xED\xC7\xE6\xBA\xEA\xE3\x1E\xDE\xA1\xED\xF8\x66\xED\x8E\xEE\xE2\xE2\x16\xE9\xEE\x22\xEF\xEA\xE2\x87\xF4\xEE\x26\xEE\x75\xEA\x70\xD7\xC2\xB8\xEE\xCB\xED\xB9\xC4\xEE\x90\xEF\xE4\xE8\x87\xD3\x5C\x98\xEF\xDA\xDF\xB1\xFC\xEC\xBD\xEF\xCC\xEA\x9F\xF5\xEC\x97\xD0\xF0\xD9\xBC\xFF\xEC\xA2\xEF\xE9\xE8\xBC\xFB\xEC\xB6\xE9\x71\x65\xBC\xF6\xDD\x90\xD8\xEF\xEA\xB2\xDA\xEF\xC2\xEE\x42\xE4\xBC\xCD\xEB\xB1\xEC\xC3\xE3\xBB\xD7\xEE\xE0\xED\xE2\xE2\xBE", - "\xF8\xC7\xCF\xEC\xD1\xEF\xB8\xE3\xEF\xDD\xEE\x4C\xE0\x31\xF1\x75\xF9\x83\xCC\x95\xBE\xF1\xED\x6D\xEE\x00\xC7\x8F\x70\xEE\xE6\xEC\xDA\xEF\x72\xAA\xEC\xF7\xEF\xDA\xE4\xBF\xF7\xED\x1D\xDD\xFF\xE0\xB7\xE9\xE1\x7C\xED\x41\xC2\xC0\xF5\xED\xFF\xED\x01\xF2\x16\xC7\xF0\x7A\xED\x02\xFB\xBE\xF6\x95\xED\xEF\x72\xE1\x5E\x91\xF0\xD2\xE7\x04\xF7\xBD\xFB\xDD\xA4\xD0\x03\xFF\xB7\xCE\xF0\xB2\xEC\x7E\xCA\xC1\xC8\xEE\x1C\xF3\xF9\xE2\xE7\x9F\xF0\x8D\xED\xFE\xEC\xBC\xFF\xB9\x24\xF0\xE7\xE7\xB2\xDE\xEE\x4B\xED\x32\x94\xC1\xD7\xE7\x28\x9F\x0B\xFA\x70\xE9\xF0\xA1\xED\xE6\xE2\x1E\xF4\xF0\xA5\xEC\xD0\xE3\x26\xF8\xF0\xAA\xEE\x0E\xF2\x87\xDF\xE1\x3C\xF1\xED\xEE\xC3\xD0\xE5\xD1\xCD\x10\xF9\xBB\xE3\xEC\x6B\xE2\x11\xFE\xBB\xEB\xF0\xC0\xEF\x02\xFB\xBD\xD6\xF0\xF3\xEC\x01\xFF\xC0\xE3\xF0\xFC\xEC\xF5\xE7\xAA\xD0\xF0\x17\xF3\xFF\xD4\x94\xEE\xEE\x7E\x9D\x16\xFA\x8A\xD6\xD3\x3C\xEE\x12\xFA\xBC\xD9\xEB\x27\xF3\x16\xF1\xA3\xD8\xF1\x51\xF0\x4F\xEA\xBF\xFE\xD9\x2E\xF2\x17\xF9\x99\xD6\xC2\x50\xF2\xB4\xE4\x8D\xF5\xEF\x01\xF1\x15\xF2\xC3\xD8\xD7\x62\xF0", - "\xF4\xE6\xC3\xC9\xF1\x76\xF2\x1B\xF9\xAE\xC6\xED\x3C\x39\x7A\xA2\xA5\x81\xF2\xBC\x9D\x21\xF3\xC8\xE1\x8F\x82\xF1\x63\x76\xC8\xCA\xF2\x87\xF1\x18\x3E\xC8\xEB\x04\x54\xB2\xCD\xBE\xC7\xF2\xED\x0F\x05\x24\xF0\xE8\x93\xF2\x74\xF1\x31\xC6\xC9\xC9\xBC\x39\xF1\xF4\xEC\xBA\xDB\xF2\x2A\xEC\x28\xF7\xC7\xD0\xDA\xA2\xF0\x26\xF0\xC0\xEF\xD7\xA5\xF1\x1A\xF3\xA0\xF0\xEC\x02\xC1\x2A\xF2\xC7\xCE\xE6\x6B\xF2\x58\xCE\xCA\xD7\xEB\x63\xF3\xCB\xEC\xC2\xE4\xD2\xB3\xF1\xB7\xED\xC9\xFB\xF1\xEF\xDD\x2E\xF8\xBF\xE1\xF0\xB1\xF0\x7E\xCE\xCB\xFE\xEF\x52\xF1\x07\xF2\xE7\x83\xF3\x03\xF2\x1A\xF5\xC6\xE4\xC0\xC8\xF0\x02\xF5\xCC\xE2\xF0\xEF\xEE\x40\x0D\xCC\xCD\xF0\xCF\xF1\x30\xF7\xCC\xFD\xBB\xB4\xF2\x1E\xF6\xBC\xE4\xF2\xD8\xF2\x2E\xFD\xC3\xDE\xF2\xE5\xCB\x34\xFB\xC1\xD5\xF3\xCB\xF3\x40\x02\xCE\xE0\xF0\xE4\xF0\x2B\xFE\x85\xDA\xDF\xE7\xF1\x09\xF0\xCC\xE5\xF3\xAE\xD5\xF4\xCD\xCE\xEA\xF0\xBA\xEC\x76\xD3\xCF\xF5\xF0\xDB\xF3\x1A\xE7\xCF\xFB\xF2\xF9\xF1\x24\xE5\xC9\xDD\xF3\xBF\xF1\x3A\xF7\xCB\xE6\xD9\xFB\xF3\x37\xFC\xCB\xDF\xF2\x00\xF4\x31\xFA\xCC\xEA", - "\xF3\xEF\xD7\x17\xE5\xD0\xC2\xF1\xE0\xF0\x11\xF0\x7C\xCF\xF4\x47\xF2\xED\xE2\xD1\xE6\xE7\x14\xF7\x12\xF5\xCF\xD0\xDA\x73\xD9\x46\xF5\xCB\xFF\xEE\x94\xED\x34\xF1\x10\x1E\xF4\xDA\xF0\xF6\xEB\x86\xD7\xC2\x24\xF6\xFA\xE6\xCC\xD0\xF2\x09\xF5\x32\xFB\xCA\xC3\xF4\x1D\xDD\x4A\xF9\xB4\xCA\xF0\xC2\xF1\x4B\xFE\xCC\xCB\xF4\x30\xF4\x2A\xF6\xD3\xD4\xF3\x38\xF5\x13\xF5\xD3\xD6\xBB\x01\xF5\x4F\xF1\xD2\xE3\xD0\xBF\x30\xBC\xB6\xCA\xF4\xF4\xAA\x34\x27\xF6\xD0\xFD\xF3\x63\xC9\x52\xFA\xB2\xCE\xF5\xA3\xF3\x1A\xE0\xD5\xC7\xF5\x53\xF1\x51\xF4\xF1\xAF\xF2\xE3\xE8\x3C\xF2\x16\xD3\xF5\xAA\xF0\xCD\xEC\xD0\xD4\xB5\x5C\xF4\x56\xF7\xB6\xDA\xF5\xF8\xC5\x58\xF9\xCD\xEA\xF4\xD0\xF2\x4A\x4B\xD3\xE3\xF3\x42\xF7\xF0\xEA\xD6\xC0\xF5\x0A\xF7\x4B\xFE\xD3\xF2\xB9\x66\xF6\x37\xF0\xD1\xC7\xF4\x72\xE1\x5D\xF1\xD4\xF2\xF5\x43\xF7\xC0\x86\xD4\xDD\xF5\xCB\xEF\x57\xF0\xC8\xD0\x8C\x70\xF6\x4B\xFE\xD5\xF9\xF4\xE1\xBE\x5E\xF1\xD7\xC7\xF6\x73\xF6\x55\xF0\xF2\x80\xF6\x64\xF2\x60\xFF\xD6\xFF\xF5\x62\xF5\xF8\xE1\xCC\xCA\xF6\x86\xF5\x60\xF8\xD8\xC0\xE5\xF7\xDA\x5F", - "\xF7\xD5\xE7\xF5\x33\xF5\x55\xF9\x9E\xF2\xE7\xFA\x88\x65\xF0\xDA\xCE\xED\xA2\xF6\x67\xFF\xD8\xD5\xF6\x26\xF2\x64\xF4\x02\xD8\xF6\x37\xF4\x5F\xFE\xD6\xD1\xD9\xB0\xF4\x4F\xF2\xDB\xDE\xEF\x93\xF7\x67\xF6\xD7\xD5\xF4\x43\xF2\xB0\xD5\xDB\xEC\xF5\xB7\xF6\xFB\xE3\xDA\xC7\xA9\xBF\xF4\x3A\xFD\xD6\xF8\xF6\xED\xE5\xF5\xE4\xD8\xE6\xF6\xBB\xF6\x46\xF8\xC4\xD2\xEF\xE6\xE5\x71\xFE\xCE\xC2\xF4\x8D\xF7\x68\xFC\xD0\x12\xF7\xF4\xF3\x73\xFC\xBA\xD7\xC2\xD8\xF4\x3E\xF6\xD2\xFE\xF3\xAA\xF6\x24\xF0\xD9\xF6\xF2\xD5\xF5\x78\xF7\xC9\xE3\xF7\x20\xF7\x6C\xF1\x47\xA2\xF7\xAC\xF7\x3B\xFE\xDA\xFB\xC2\xDD\xF4\x3F\xFF\xDD\xEC\xEE\xF1\xF7\x52\xF3\xDF\xF9\xF5\x6B\xF6\x71\xF1\xDC\xD2\xF0\x44\xF7\x43\x06\xC5\x85\xF6\xB1\xF4\x63\xF9\x5B\xFF\xF7\xCC\xF7\x5E\xF2\xE0\xFD\xD5\x04\xFA\x6E\xF6\xE0\xDA\xF6\xE5\xF7\x40\x09\xE0\xEB\xF6\xA7\xF6\xD4\xE4\xD3\xF2\xB9\x0F\xF8\x7B\xF1\xE1\xD7\xED\xA9\xF6\x83\xF9\xDF\xD3\xF7\xC7\xF6\x70\xFC\x10\x15\xF8\xE7\xF5\x7B\xF4\xDD\xC3\xF8\x1B\xF9\x76\xF6\xD1\xC2\xDB\x20\xFA\x52\xF7\xD7\xCC\xF5\x72\xE1\x8A\xFA\xB2\xEE\xF8", - "\x51\xF7\xFB\xD0\xE3\xD4\xF5\x2B\xF6\x7F\xF5\xE2\xDE\xF7\x18\xF2\x99\xD3\xE3\xE8\xF7\x4C\xF1\x5F\xF0\x71\xDF\xF8\x37\xFA\x7C\xF9\xE3\xDD\xDC\x3B\xFA\x88\xFD\xE1\xFC\xF7\x40\xF8\x80\xF6\xDB\xC7\xF8\x8D\xDD\x91\xF7\xE1\xDB\xED\x99\xF0\x55\xBE\xE4\xCD\xF7\x1F\xF5\x8F\xFA\xDE\xE5\xDF\x2B\x07\x94\xFB\xE0\xD1\xF6\x9B\xF6\x19\xFA\x9E\xC2\x04\x5A\xFB\x62\xFC\xE0\xFE\xF8\x60\xF9\x90\xF6\xDF\xC3\xF9\xEF\xD5\x98\xF9\xD9\xDC\xF9\x0D\xF9\xC1\xEA\xE1\xCA\xF9\xC0\xF4\x93\xFE\xE1\xEF\xF9\x05\xFA\x98\xFC\xE6\xE4\xF9\x01\x06\x9A\xF1\xE0\xE3\xF9\x57\xFA\xEE\xD0\x00\x07\xA9\x7A\xFB\x92\xFC\xE7\xC8\xF7\xF1\xE4\x43\x31\xE8\xF1\xF9\x83\xFB\x9C\xF8\xE5\xF6\xF8\x70\xFA\x7E\xF2\xE7\xC8\xF9\x85\xF9\x96\xF6\xE6\xEB\xF8\xF7\xF6\x1B\xE7\x09\xC7\xFA\x8E\xF9\xA2\xF0\xE9\xEE\xF9\x65\xF9\xA3\xFC\xE1\xFB\xF7\x15\xF0\xA3\xF5\xE7\xEB\xF9\xE4\xF4\x9E\xF0\x00\x18\xFA\x9F\xFB\xA3\xF1\xEA\xC9\xF9\xA3\xFB\x9E\xF7\xE7\xFD\xF9\xA7\xFB\xA4\xFC\xDB\xD1\xF4\x28\xFA\xAC\xFE\xDC\xE7\xF8\x60\xEE\xF1\x6E\xE9\xE6\xF8\xBD\xF4\x46\xCE\xC2\x2A\xF8\xB3\xF8\x5E\xFF", - "\x45\xFF\xFA\x2A\xEC\xB1\xF1\xE3\xEC\xEE\xC6\xF8\x8D\xF9\xD6\xFA\xFA\xAD\xFA\xA0\xFF\xEA\xC4\xFA\xEF\x5E\x82\xF6\xE7\xE5\xFA\x7D\xD5\xB2\xFC\xE3\xDB\xF4\x6B\xE2\xB5\xF6\xE4\xE0\xFA\x30\xF3\xCC\x4D\xEC\xC8\xFA\xCF\xFA\xA2\xF1\x10\x1A\xFB\x4F\xFB\xB4\xE1\xE5\xFF\xB9\xE4\xF8\x95\xF5\xD2\xE8\xF9\xE1\xBD\xBA\xFB\xE5\xD4\xFB\xD0\xFB\xB8\xF6\xEB\xD5\xF9\xD8\xF8\x78\xFE\xED\xD2\xFB\xA4\xF9\x7A\xF1\xEF\xEB\x75\xDF\xF9\xA6\xF1\xEE\xDB\xFA\xF2\xFB\xAE\xF8\xE3\xDA\xF1\xCC\xF8\xBE\xFE\xEA\xF0\xFB\x2B\xDA\xBB\xF3\xED\xFA\xFB\xE2\xF9\xEB\xED\xD9\xF7\xFB\x10\xFA\xBA\xF8\xD6\xD6\xF3\xE5\xE4\x17\xFC\xEF\xC6\xFC\xCE\xF8\xC2\xF0\xF0\xD7\xFC\x11\xFF\xBB\xFC\xF0\xDB\xFC\x0A\xFD\xBE\xF6\xE5\xFB\xFB\x97\xC1\xC8\xF7\xF0\xDF\xFC\xAB\xF8\xC4\xF6\xE1\xD2\xFC\xA1\xF5\x8D\xF5\xF0\xDD\xFC\x0B\xFF\xC8\xFD\xF0\xDF\xE1\x26\xFD\xC6\xF8\xF2\xDD\xFB\x31\xDC\x43\x35\xF3\xE0\xFB\x1A\xFD\xCA\xFB\xE8\xEF\xFC\x2B\xFE\xC7\xF2\xF3\xDB\xFC\x73\xDB\xCE\xFE\xEF\xFD\xFC\x38\xFC\xCE\xD1\xED\xF0\xFC\x22\xFD\xBD\xFB\xDD\xD5\x66\xF3\xFB\xBA\xF4\xF0\xFB\xC2\x46", - "\xFD\xAA\xFA\xE9\xFE\xFC\x01\xFD\xBF\xF6\xF5\xFF\xFB\x58\xFC\xC7\xF1\xF4\xF1\xFC\x4E\xFE\x1C\xE5\xF5\xFC\xFA\xB4\xF9\xBF\xD3\xF6\xC3\xFC\x5F\xF0\x1B\xF6\x58\xB4\xE6\xBA\x96\xD0\xF1\xF6\xDF\xD1\x6D\xFC\xD8\xFA\xDD\xF2\xE1\x71\xFD\xD3\xF3\xF7\xEE\xE1\x75\xFF\xC9\xF3\xF4\xDD\xFD\x79\xFE\xCD\xFB\xF7\xC9\xFD\xB5\xA4\xDB\xFA\xB2\xFD\xFD\x3C\xFF\xCD\xFA\x70\xC4\xFE\x47\xFE\xE1\xF8\x5D\xC8\xFE\x5B\xFC\xD2\xF7\xF8\xC3\xFE\x90\xFF\xB1\xFA\x95\xC7\x91\x91\xFE\xB2\xF4\xF1\xCF\x92\x82\xFE\xE4\xF0\xF7\xD6\xF1\x0F\xFE\x40\x0C\xF8\xE4\xFD\xC2\xF9\x22\xEA\xDC\xDF\xFE\x68\xFF\x1B\xF4\x02\xE4\xFE\x42\xFB\xD4\xF5\x10\xE8\xFE\x67\xFA\xEA\xFC\x7C\xDE\xFE\x95\xFF\xB5\xF7\xF7\xC2\xDB\xAC\xFC\xA5\xFC\xEE\xDC\xF6\x5F\xEA\x67\x9C\xF9\xDF\xF9\x60\xB2\xE6\xF2\xFA\xD7\xF1\xB5\xFD\xB0\xFC\xE2\xD7\xF4\x16\xFD\xF0\xF7\xEB\xFD\xFA\x14\xE8\xE6\xFE\xFB\xF9\xFA\xBA\xFF\xF2\xFE\x74\xC6\xFF\xF4\xFB\xEC\xFD\x6F\xD0\xFF\x52\xFD\xDA\xF2\x16\xD4\xFF\x13\xFC\x59\xF2\xE7\x98\xFF\x2D\xFF\xB2\xFD\xFC\xD6\xFE\xDA\xFE\x48\xF0\x00\x2C\x92\x2C\xFC\x6A\xFD\xC1", - "\xE4\xFF\x6E\xFE\xF4\xF9\x1D\xE8\xFF\x72\xFC\xAE\xFE\x74\xEC\xFF\x76\xFE\xFB\xF4\x75\xF0\xFF\x7A\xFF\xDB\xF2\x6C\xF4\xFF\x7E\xFE\xFD\xFD\x6F\xF8\xFF\x85\xFF\xDF\xF8\x40\xFC\xFF\x89\x7E\xFF\x7C\x76\x68\x00\x8D\xF8\x6A\xFC\x50\xDA\x04\x80\xA0\x7F\xE1\x7F\xFD\x7A\x65\x78\x00\x85\xFD\x7F\xF1\x1A\x5F\x0D\x81\xD4\x7E\xF5\x78\x3F\x61\x01\x8D\xFD\x53\x00\x95\x77\x03\x03\x0A\x82\xED\x7E\xF5\x74\x01\x8C\x00\xB4\xE6\x1A\x80\xC2\x7F\x4A\x7D\x4E\x60\x04\x87\xFC\x65\xFB\x4E\xDD\x5F\x70\x24\x81\xE8\x7E\xFC\x79\x10\x71\x3D\x69\x01\x95\xFF\x26\x7F\xBB\x60\x17\x81\xF6\x7F\xBD\x75\x10\x72\x01\x9D\xFF\x17\x7F\x51\x6C\x1B\x82\xF9\x7E\xFB\x7B\x4A\x5E\x00\x8E\xFF\x65\x70\xDA\x6E\x1D\x82\x84\x79\xC3\x79\xF3\x6B\x09\x02\x01\x98\x7C\x2E\x7F\xF8\x73\x91\x57\x08\x80\xE5\x67\xE5\x4D\xEF\x4A\x7B\x4C\x80\x73\x7E\x13\x83\xB0\x71\x05\x93\xE3\x53\x01\xF0\x78\x0F\x03\x2A\x80\x2C\x79\xFC\x79\x05\x9E\x01\xA0\xFF\x34\x80\x62\x62\x2D\x81\x56\x78\x0C\x8D\x01\x9F\x01\xA4\xD2\x62\x80\x63\x7A\x32\x80\x06\x82\x20\x02\xC6\x46\x03\x82\xC0\x6D\x80\x5F\x81", - "\x2E\x7C\x43\x00\x0E\x82\xFB\x6B\x01\xA6\xD9\x74\x80\xDB\x7C\x55\x7C\xE0\x78\x0F\x85\xEE\x76\x02\x93\xF8\x2B\x02\x7C\x81\xF2\x7F\x10\x81\x09\x8C\x06\x94\xCD\x41\x02\xE9\x7F\x76\x81\x8E\x6F\x21\x85\xFD\x78\xFC\x74\xBA\x4B\x02\xF1\x7F\x8D\x80\x52\x6B\x23\x85\xFE\x7A\xFE\x6E\x04\xAA\xEC\x13\x81\xF9\x7F\x4A\x82\x24\x87\x89\x7F\x10\x18\x04\xBD\xFF\x7A\x7F\x4E\x6E\x4F\x81\x00\x80\x14\x86\x09\x8E\x03\x9C\xC1\x22\x81\x05\x80\x01\x82\x78\x60\x15\x89\x00\x82\x01\x8D\xE2\x5A\x6F\xAC\x80\x07\x80\x25\x7C\xC7\x67\xC6\x71\x05\x92\x00\xB0\x80\x05\x62\x5B\x82\x05\x80\x17\x82\x16\x7A\x05\x9B\x00\x97\x80\xE2\x7E\x5F\x81\x08\x87\xF6\x7A\xF9\x42\x06\xA5\x00\xA1\x7F\xFD\x6C\x63\x82\x0A\x81\x12\x89\x7D\x7C\xD9\x4A\x03\xAF\x80\x0F\x80\x5A\x80\xEF\x78\x00\x0F\x0C\x93\x01\xB2\x01\xE0\x78\xE6\x73\x6A\x83\x0D\x84\x0B\x89\xDC\x76\xF8\x5A\x03\xBB\x80\x38\x81\x1F\x7F\x40\x07\x1B\x83\x08\x9C\x01\x8A\xFD\x01\x02\xE4\x80\x24\x82\x39\x84\x1A\x87\x09\x8D\x07\xA6\x02\xEF\x6B\xE9\x81\x26\x83\x1F\x85\x13\x8C\x09\x8C\x08\x24\xB1\x6F\x81\x54\x5B\x7B", - "\x81\x1C\x86\xA7\x7A\x0F\x95\x03\x8C\x03\x9D\x6E\xFD\x81\x3C\x83\xD5\x78\xF0\x71\x10\x9D\x03\x9B\x01\xEA\x80\x2B\x03\x82\x82\x20\x82\x1D\x81\x0E\x82\x08\x0A\x04\x88\x81\xFF\x81\x62\x63\x43\x84\x11\x86\x02\x94\xBA\x53\x04\x90\x81\x15\x82\x52\x6B\x45\x84\x12\x89\x08\x8F\xAF\x5B\x04\x99\x81\x1D\x83\xF0\x5F\x47\x87\x13\x8A\x09\x86\xB3\x63\x04\xA3\x81\x25\x82\x80\x81\x3D\x83\x20\x07\x12\x89\x05\xA4\x02\x9A\x82\x2A\x77\x96\x81\x2B\x84\x18\x86\x0F\x94\xCD\x72\x04\xB2\x81\xE7\x7C\x2F\x7F\x9F\x79\x21\x8B\xFB\x64\xED\x41\x04\x37\x82\xB7\x81\x68\x83\x2E\x60\x28\x8B\x0B\x82\x0A\x85\xC4\x44\x82\xBF\x80\x5E\x82\x6E\x6F\x21\x08\x14\x83\x06\x9C\x00\xF2\x5C\x4D\x83\x63\x82\x02\x85\xDF\x61\x15\x8B\x06\x99\x04\xCD\x81\xE6\x73\xAA\x80\x34\x83\x16\x88\x0D\x96\xF8\x5A\x05\xD6\x81\x6D\x7C\x3F\x7F\x91\x57\x2B\x8B\x0D\x88\x08\x96\xF7\x3C\x82\xF8\x81\xC1\x78\x59\x80\x1C\x8C\x0D\x82\x07\x8E\x04\xB1\x82\x70\x83\xB4\x82\xE6\x5B\x2D\x85\x0E\x8D\x08\xBF\x04\xF1\x82\xFB\x80\x53\x7F\x25\x64\x6A\x56\x10\x83\x03\x97\x03\x82\x02\x7C\x83\x85\x82", - "\x3C\x87\x81\x71\x18\x90\x08\x97\x05\x9D\x6E\x85\x82\x8A\x80\x32\x86\xE9\x69\x18\x98\x08\x8B\x06\xD4\x6E\x8D\x82\x8E\x81\x44\x81\xFC\x51\x19\x80\x09\x93\x06\xAB\x02\x95\x82\x92\x81\x48\x87\xCF\x59\x19\x88\x09\x9B\x06\x9A\x5F\x9D\x82\x97\x81\x4A\x87\xBD\x61\x1A\x93\x09\x8F\x05\x98\x83\x2A\x77\xD2\x80\x4E\x87\x0A\x84\x02\x6A\x0D\x81\x05\xDC\x82\x6A\x7F\x81\x02\x6B\x85\x28\x80\x1B\x82\x8B\x73\x06\xC9\x82\x46\x82\xDB\x80\x6D\x77\x36\x8E\x14\x93\x00\xBC\x06\xD2\x82\xAE\x81\x13\x82\xF6\x6F\x37\x86\x15\x8F\x0C\xAC\x00\xC0\x6F\xC4\x83\xAD\x81\x4E\x85\x35\x89\x1A\x8B\x09\x80\x06\xCD\x83\x72\x82\xE6\x81\x74\x85\x2B\x8D\xF9\x61\x08\x09\x07\xE0\x82\xA6\x7D\x39\x6F\x75\x85\x2C\x8F\x17\x97\x96\x7C\xEC\x5B\x83\x6C\x82\xB3\x81\x37\x87\x8C\x70\x1E\x95\x0B\xAD\x05\x9C\x7D\xD6\x82\xE7\x81\x7A\x83\x3A\x85\x10\x65\x0F\x8C\x04\xE7\x83\xEB\x83\xBC\x80\xAC\x7E\x3D\x83\x18\x84\x04\xB1\x07\xFE\x81\x87\x82\xD2\x82\x7A\x80\x00\x03\xB3\x5D\x0B\xA9\x01\xDD\x83\xFC\x82\xDA\x71\x7F\x82\x30\x82\x05\x93\x07\x8C\x04\x03\x84\x86\x82\xE3\x82\x99", - "\x68\x41\x8A\x18\x93\x0A\x8E\xDD\x0C\x84\x8E\x82\x07\x84\xD5\x68\x42\x82\x19\x99\x0F\x94\xB5\x14\x84\x96\x82\x0B\x87\x9F\x58\x43\x8A\x19\x97\x0C\x9A\xBE\x1C\x84\x9E\x82\x0F\x84\x09\x60\x44\x82\x1A\x9F\x0C\xA3\x08\xAA\x76\x24\x84\xD3\x80\x30\x87\x21\x09\x22\x8B\x0D\x86\x08\xEE\x82\x01\x03\x16\x87\x6B\x83\x39\x8B\x0B\x72\x11\xB4\x06\xB4\x84\x05\x62\x1B\x84\x6E\x85\x36\x81\x20\x8C\x0F\xB1\x08\xBD\x82\x47\x54\x1D\x85\x6F\x82\x29\x8C\x9C\x73\x06\x82\x09\xC0\x83\x34\x83\x1A\x84\x8A\x83\x3F\x87\x24\x85\x0E\x92\x08\xA4\x69\x4D\x84\xE5\x80\x6B\x82\x49\x8E\x23\x8B\xCA\x7C\xEC\x51\x84\xD8\x82\x58\x7F\x9C\x68\x4B\x8C\x1D\x81\x0B\x8E\xFC\x39\x7F\x02\x02\x2E\x85\x78\x80\x40\x85\x24\x9E\x09\xBD\x08\xF2\x83\x24\x7F\x95\x02\x98\x86\x3C\x82\x1E\x90\x11\xA7\x09\xF8\x83\x0A\x85\x8E\x6F\x9A\x87\x3D\x8D\x26\x81\x13\x8B\x09\xD5\x84\x72\x5D\x39\x85\x7D\x83\x1D\x8A\x27\x85\x10\x84\x01\xE7\x81\x00\x01\x1D\x41\x82\x87\x49\x82\x00\x62\x14\x8D\x08\xC1\x83\xAF\x62\x43\x85\x84\x80\x51\x84\x4A\x6A\x14\x95\x08\xF1\x84\xEF\x6A\x47\x85\x86\x80", - "\x52\x81\xFE\x52\x14\x9D\x08\x9A\x84\x9A\x5E\x4B\x85\x88\x80\x53\x8C\x10\x1A\x14\xA5\x08\xA2\x84\xBB\x60\x4F\x86\x8A\x84\x48\x8D\x03\x58\x13\xA5\x0A\xE8\x84\x0D\x7E\x51\x86\x8B\x87\x4F\x81\x28\x8A\xD9\x6A\x0A\xB3\x84\x53\x85\xD8\x82\x40\x07\x55\x87\x23\x91\x15\xA2\xC5\x34\x85\x3B\x84\x1C\x87\xAD\x84\x36\x78\x2B\x83\x12\xB9\x06\xAD\x85\xA6\x85\xE1\x7B\xA9\x80\x4E\x84\x28\x8B\xE7\x40\xDF\x3D\x85\x48\x85\xD3\x80\xF5\x2E\x55\x8B\x1F\x88\x16\x8E\x09\x8C\x85\x66\x6C\x67\x86\x94\x87\x45\x83\x2B\x80\x12\x83\x0B\x82\x82\x5C\x7E\xC0\x7F\x9C\x6A\x5A\x89\x25\x9B\xF7\x5F\xE1\x5C\x85\x5D\x85\xEC\x81\xF4\x60\x5C\x83\x26\x9E\x12\x97\xC2\x64\x85\x6C\x84\x32\x86\xF8\x78\x5D\x84\x27\x8A\x17\x8B\x0B\xC1\x85\x9D\x84\x66\x84\xBC\x82\xD7\x22\x2F\x88\x15\x9B\xFC\x17\x61\xF6\x4E\x62\x84\xB4\x84\x0B\x69\x2F\x98\x16\x8E\xFE\x6F\x62\xFD\x84\xFF\x82\x65\x78\x3E\x80\x00\x01\x18\x84\x08\xFE\x80\xAC\x84\x83\x87\xA0\x83\x5F\x8F\x5E\x6A\x18\x87\x0A\xC9\x84\x05\x62\x87\x87\xA2\x80\x62\x81\x10\x12\x18\x8F\x0A\xC5\x85\x0D\x86\x95\x76\xC5\x83\x52", - "\x88\x31\x81\x7F\x5B\x0C\x97\x85\x94\x85\x3F\x5F\xC7\x83\x53\x81\x32\x9A\x7C\x63\x0C\x9F\x85\x9C\x85\x5D\x63\xC9\x83\x54\x8F\x2B\x8B\x03\x95\x0C\x9A\x86\x30\x87\x2A\x87\xCA\x83\x55\x8D\xC1\x73\x19\xB0\x0A\xD4\x85\x62\x83\x95\x02\xCD\x85\x56\x88\x33\x9F\x12\xA6\x09\xBB\x86\xB9\x84\x5B\x84\x7E\x60\x68\x8E\x2B\x9C\x11\xB2\xB9\x44\x86\xC9\x85\x15\x85\x94\x68\x69\x8F\x2C\x94\x18\x83\x0D\xB1\x86\xF6\x85\xAE\x7F\x17\x74\x69\x83\x2D\x8C\x15\xB3\xD9\x54\x86\xDD\x85\x99\x7E\xF6\x68\x6B\x81\x2E\x9A\x12\x91\xCF\x5C\x86\xE5\x84\xBD\x82\xCE\x83\x3F\x80\x36\x89\x17\x9E\x09\xE5\x86\xED\x85\xB3\x84\xD4\x82\x5F\x8E\x34\x87\x1A\xAB\x0D\xFE\x85\x06\x81\x93\x7B\x4A\x00\x52\x25\x25\x94\x1B\x91\x0D\x84\x6E\x76\x86\xB6\x86\xB2\x84\x21\x09\x37\x90\x1B\xAA\x02\xEB\x70\x7D\x86\x81\x85\x6B\x7E\x5D\x8C\x37\x8A\xD9\x41\x0E\x87\x86\x07\x82\x00\x87\xE1\x83\x61\x8D\x36\x93\x1B\x86\x0E\x8F\x87\xF3\x84\x81\x03\xE2\x87\x61\x8B\x37\x83\x08\x13\x0E\x93\x86\x95\x86\xC9\x87\x7E\x87\x72\x87\x31\x8C\x18\xA1\xBF\x1C\x87\x1C\x86\xCF\x87\x9F\x58\x74\x80", - "\x32\x9D\x18\x8E\x0E\xF5\x86\xD6\x85\x87\x00\xE9\x84\x64\x86\x3A\x9A\x09\x8C\x34\x2B\x87\x28\x87\x92\x84\x09\x60\x76\x8C\x32\x86\x1A\xA7\x0E\xF7\x86\xBB\x77\xDB\x86\xDE\x82\x69\x86\x39\x90\x1C\xB8\x0E\xC7\x77\xE6\x72\xDA\x84\xCD\x83\x1D\x83\x67\x62\x1E\xB7\x0C\xD6\x86\xDA\x6E\xE3\x84\xCF\x80\x79\x80\x7C\x6A\x1E\x81\x0D\xBD\x86\x97\x60\xE7\x85\xD1\x82\x57\x8B\x14\x85\x1C\x91\x0E\x81\x02\xD2\x87\xA4\x84\xA9\x82\x75\x8E\x3B\x9B\x1D\x9B\x0F\xD6\x87\xBF\x86\x48\x6D\xF6\x85\x69\x89\x39\x80\x14\xA5\xAF\x02\x02\xE7\x87\x80\x01\xFA\x80\x00\x0B\x3E\x8D\x1F\xAB\x04\x6E\x87\x0F\x02\xF8\x84\x43\x02\x7E\x83\x10\x14\x1F\xA8\x0F\xEF\x87\x2B\x03\xF1\x56\x40\x02\x7F\x81\x10\x1C\x1F\x80\x00\x7E\x87\x00\x89\xFC\x86\x00\x8F\x21\x01\x40\x84\x20\x83\x10\x8C\x02\x05\x88\x04\x8B\x01\x8E\x06\x42\x03\x54\x01\x4E\x10\x8C\x88\xCA\x2F\x08\x8B\x03\x8C\x9B\x3D\x40\x90\x20\x93\x10\x81\x02\xA0\x39\x0C\x89\x05\x8A\x20\x04\xC0\x4F\x08\x1D\x10\x8C\x02\x1F\x89\x81\x01\x08\x8C\x83\x8B\x12\x03\x21\x81\x04\x26\x88\x00\x00\x14\x8A\x0A\x8D\x84\x8C\x42", - "\x9E\x20\xAD\x10\xA0\x88\x2F\x89\xB7\x16\xEC\x42\x20\x00\xA5\x4C\x1C\x9C\x00\xB5\x88\x94\x87\x09\x80\x0E\x88\x73\x8C\x3B\x94\x21\xAA\xEC\x3B\x88\x9D\x87\xC6\x85\xEE\x4F\x87\x84\x9B\x60\x22\xA1\x0E\xC2\x88\x0C\x02\x23\x89\xE9\x82\x74\x8A\xF9\x4A\x22\xAC\x0E\xCC\x88\x24\x60\x27\x89\xEC\x85\x75\x81\x45\x84\x22\x97\x0F\x80\x00\x52\x89\xDA\x84\xF5\x86\x65\x88\x45\x96\x22\xA1\x0F\xEB\x70\x59\x89\xE1\x85\x30\x79\x8C\x87\x3C\x9D\xE0\x64\x11\xCB\x87\xF6\x82\x9F\x87\x91\x57\x8C\x8F\x3C\x8C\x1E\x8A\xF7\x6C\x88\xD3\x86\xA1\x86\x9C\x58\x8E\x8A\x3D\x8D\x19\x81\xB0\x7B\x83\x74\x88\xF2\x85\x0F\x8E\x7B\x4E\x45\x9E\x1E\xB6\x11\xC2\x85\x43\x89\x2B\x8B\x9C\x69\x8F\x85\x35\x89\x23\x9F\xE1\x04\x89\x59\x86\xA2\x7D\xF4\x60\x91\x8D\x35\x89\x13\x81\x12\xDF\x88\xF6\x7C\x1F\x8B\x15\x8C\x91\x81\x36\x90\xF5\x54\x12\xE6\x86\xA6\x7D\x4B\x89\xDA\x81\x93\x8D\x47\x9E\x1B\xAF\x04\xF5\x6F\x2B\x02\xFF\x54\xE2\x86\x2F\x8E\xD3\x62\x25\xB6\x10\x93\x80\xA6\x89\x1C\x8B\xF7\x83\x20\x09\x4A\x9C\x21\xAB\x12\x82\x02\xAD\x89\x20\x89\xF9\x80\x00\x01\x4B\x87", - "\x22\xB3\x12\xB5\x89\x4B\x88\xA7\x84\x2E\x8F\x89\x88\x44\x8C\x25\xAA\xEC\x3B\x89\x53\x88\x28\x8B\x2E\x60\x98\x8A\x45\x92\x23\xA1\x12\xBF\x89\xC8\x89\x2B\x8B\x25\x64\x98\x82\x46\x84\x18\x8C\x13\xE5\x88\xEB\x81\x67\x88\x1A\x8F\x7C\x72\x4D\x8D\x23\x9D\xF0\x55\x89\x71\x89\x9E\x87\x17\x70\x9B\x85\x47\x96\x1D\xA7\x05\x8F\x02\xDC\x88\x3D\x8B\x2B\x89\x20\x01\x4E\x85\x24\x91\x13\xFB\x83\xE5\x89\x44\x89\xD7\x79\x9D\x8D\x48\x8D\xF8\x6C\x13\x95\x89\xDE\x84\xED\x6F\x3B\x88\x93\x8E\x35\x80\xBE\x73\x13\x9B\x89\xF5\x88\xF3\x73\x3D\x8B\x4F\x86\x17\x9E\x19\x8C\x34\x7B\x89\x7E\x85\x34\x8B\x32\x88\x9D\x89\x4C\x90\x24\xAC\xEE\x00\x8A\x08\x87\x34\x88\x42\x89\x71\x8E\x25\x8B\x28\xA4\x12\xA6\x7D\x0E\x8B\xFF\x82\xB9\x87\xCF\x52\xE7\x55\x28\x94\x14\x97\x8A\x9A\x5E\x8B\x89\x7F\x7C\x04\x6A\x51\x83\x0F\xA0\x09\xDE\x83\xCA\x7B\x8E\x8B\x76\x71\xA3\x88\xFB\x7B\x09\xAE\x0E\xA5\x8A\x47\x55\x32\x84\x43\x1C\x8B\x8C\x52\x98\x28\x9C\x14\x83\x7B\x2D\x37\x81\x01\x4C\x8A\x20\x03\x53\x82\x8B\x75\x14\xF8\x63\x37\x8A\x39\x5D\x4E\x8B\x25\x07\x53\x9B\x29", - "\x8F\x04\x3E\x8A\x0C\x02\xA0\x8A\x4C\x8F\xCF\x52\x54\x94\x29\x84\x15\xB0\x8A\x47\x8A\xCD\x5D\x4F\x8C\xA7\x88\x52\x8C\x2A\xA7\x14\xBF\x8A\x49\x8A\x12\x61\x51\x88\x50\x83\x55\x80\x00\x15\x15\xD5\x8A\x5F\x70\xAC\x89\xF4\x62\xAB\x8C\xB3\x7C\x2A\x8A\xF7\x55\x8A\x97\x60\xB0\x8A\x53\x8A\xAA\x81\x55\x9B\x85\x57\x15\xE5\x8A\xB2\x85\x80\x01\xED\x52\xAD\x8B\x12\x0B\x2B\xB8\xC7\x6E\x8A\x72\x5C\xB8\x89\x5B\x8F\xCF\x5E\x56\x92\x2B\x87\x5A\x74\x8A\x78\x8A\xCD\x5E\x5D\x8A\xF4\x29\x57\x92\xCD\x7C\x15\xFA\x8A\x7D\x8B\x81\x01\x5D\x8D\xA9\x87\x57\x8F\x2A\xBF\x15\xA4\x60\x7B\x8A\xC1\x8B\x60\x79\xB1\x82\x10\x0C\x2C\xAC\x15\xBA\x82\x47\x54\xC7\x8A\x3F\x8B\xAE\x80\x59\x94\x2C\x92\x03\xE6\x84\x92\x8B\x4B\x61\x66\x8E\xB2\x8B\x0B\x72\x2C\x9E\x16\x81\x8B\x05\x63\xCD\x8B\x05\x2D\xF0\x05\x78\x12\x73\x65\x16\x8B\x3A\xBB\x61\xD3\x8B\x68\x8F\xCF\x5A\x5A\x88\xFD\x38\xC7\x2D\x8B\xD7\x44\xD3\x88\x6B\x8B\xB0\x70\x5B\x81\xFB\x22\xC5\x24\x8B\xA8\x8B\x78\x78\xCF\x75\xB6\x8E\xE7\x6C\x68\x3C\x16\xC7\x3D\xA9\x8A\xDA\x8B\x6C\x8A\xF3\x5F\x5B\x9F\xC2\x45", - "\x17\xD1\x67\xC7\x8B\xDD\x89\x49\x8E\xB7\x82\x5C\x98\x02\xAE\x16\xB2\x8B\xC4\x8B\xE1\x88\x09\x67\xB7\x8F\x5B\x97\x84\x76\x43\x57\x8B\x60\x1D\x81\x00\x76\x8E\x7D\x31\x10\x1B\x2E\x9B\x67\x5F\x8B\xDA\x8B\xEC\x8A\x40\x06\xBB\x81\x5E\x88\x48\x74\x90\x67\x8B\x9A\x5F\xA7\x4E\x9C\x5A\xBD\x88\x5E\x84\x81\x4F\x9D\x6C\x8B\xE6\x8B\xF4\x8B\x9F\x58\xBE\x8C\x10\x14\x2F\x83\x04\x76\x8B\x02\x02\xFC\x88\xA0\x82\xBF\x8D\xB6\x52\x2F\xB1\x17\xF5\x8B\x84\x8A\x00\x8E\x61\x8F\xBE\x83\x5F\x85\x30\x8E\x17\x84\x8C\xFE\x8A\xF7\x89\x80\x88\xC1\x87\x59\x8C\x68\x3C\x17\xDF\x70\x0F\x8D\xE8\x64\x7F\x8F\x12\x63\x61\x8D\x2F\xBB\xC2\x7C\x8B\x18\x8C\x03\x8E\x82\x8F\xC0\x82\x10\x17\x00\x43\x04\x1E\x8C\x1D\x8D\x3F\x5C\x88\x8A\x2C\x63\x62\x98\x8F\x65\x18\xF2\x5C\x25\x8D\x13\x8F\x4A\x02\xC5\x8F\x10\x0C\x31\x8C\x04\x2E\x8C\x1F\x8C\x11\x8E\x8C\x8C\xC3\x81\x10\x10\x31\xA1\x18\x9A\x5F\x29\x8D\x15\x8F\x82\x8F\xC6\x8D\x60\x9A\x31\xB8\x18\xB3\x8C\x7E\x8B\x18\x8F\x8F\x8B\xC8\x87\x59\x87\x52\x76\x18\xBD\x8B\x3E\x8D\x22\x8D\x92\x8C\x3A\x83\x0D\x87\x32\xAB\xEC", - "\x3C\x8C\x23\x8B\x17\x8C\x90\x8B\x17\x6E\x64\x95\x32\x93\x19\xE9\x8A\xC5\x60\xAA\x59\xF8\x5B\xCB\x8F\xE7\x5C\x32\x8E\xDD\x5E\x8C\x24\x60\x30\x8F\x2E\x62\xCC\x88\x65\x84\x33\xA2\xC5\x5A\x8C\xAF\x80\x9E\x77\x13\x86\xE2\x76\x66\x98\x8F\x7C\xE7\x54\x6E\x6D\x8D\x32\x87\x91\x53\xCD\x87\xC6\x74\x33\x9F\x14\x8D\x7A\xD1\x67\x37\x8C\x29\x6F\x12\x61\x67\x9D\xB7\x7D\x19\xC9\x7F\x0C\x02\xAC\x57\x43\x02\xD0\x81\x68\x9F\x73\x44\x1A\xBB\x61\x87\x8D\x82\x61\xA2\x8A\x2C\x6B\x68\x80\x00\x0D\x1A\xF2\x5C\x8F\x8D\x95\x01\xA4\x8B\xD0\x86\x68\x95\x34\x9A\xBE\x13\x8D\x51\x6C\x4C\x8F\x40\x02\xD3\x82\x10\x0D\x34\x9E\x1A\xBB\x8C\x01\x02\x4E\x8C\x92\x8C\xD2\x87\x69\x96\x34\x81\x19\x9D\x8D\xA6\x8C\x44\x8C\xA8\x8E\xD1\x8B\x5C\x92\x34\xAB\x1A\xA2\x8D\x93\x8A\x52\x8F\xA9\x89\xD4\x83\xD8\x70\x35\xB6\x1A\xA9\x8D\x8A\x8C\x5C\x8F\xEB\x7D\x5C\x69\x13\x62\xB6\x7E\x1A\xFD\x6D\xBF\x8D\xEC\x61\xB0\x8C\xEA\x63\x6C\x84\xA5\x45\x1B\xE6\x6C\x96\x70\xEC\x6B\xB1\x8C\x0B\x6D\x6B\x89\x33\xA6\xE7\x3F\x7F\x67\x79\x65\x8F\x7B\x69\xD9\x80\x69\x72\x36\xB6\x19\xA6", - "\x8A\x86\x71\xE8\x64\xB4\x8F\xCE\x8B\x6D\x86\x13\x94\x1B\xF2\x86\xD5\x8C\x60\x8E\xB8\x8E\xE9\x66\x6D\x83\xEC\x5E\x33\x54\x5A\xE7\x8D\x5D\x4E\x99\x69\xDD\x8A\xF9\x4C\x37\xA4\xC0\x6E\x8D\xBB\x60\x78\x8F\x21\x2D\xDF\x62\x6F\x82\x8B\x75\x1B\xF8\x63\xF7\x8C\x39\x5D\xBE\x8A\xDD\x8D\x71\x7B\x37\x9B\x14\x83\x02\xFE\x8C\x0C\x34\xBD\x88\x23\x67\x6F\x81\x38\x8A\x01\xFC\x8D\x78\x8C\xE0\x6E\xC1\x8B\xDE\x8E\x74\x6B\x38\x80\x0A\x8E\x8E\x00\x00\x88\x8C\xC4\x8F\x0B\x73\x71\x91\x9E\x55\x1C\xBC\x76\x17\x8E\xE5\x78\xC4\x8F\x12\x6B\x71\x88\x38\xA1\xBF\x12\x8E\x03\x8F\x86\x8D\xC8\x8D\x85\x7F\xD3\x39\x8E\x73\x2F\x54\x5A\x27\x8F\x3F\x5D\xCA\x8A\xF3\x5B\x72\x84\x81\x6D\x1C\xBB\x61\x2F\x8E\x45\x3E\xD3\x69\xE6\x82\x16\x74\x39\xB8\xC7\x36\x8E\x72\x5C\x9C\x8E\x0F\x3C\x94\x6A\x73\x9F\x37\xB2\x1C\xD4\x6E\x3D\x8F\x92\x8F\x6B\x66\xE6\x81\x74\x87\x38\xA6\x94\x47\x83\xCA\x7B\xA2\x8F\xCF\x8C\xE7\x8C\xFC\x6B\x3A\xA6\xD9\x4A\x8E\x78\x2E\xE1\x80\xCF\x70\xEA\x81\x6B\x82\x3A\x88\x1D\xD7\x78\x54\x8F\x39\x6C\xD5\x8F\x12\x6B\x75\x9B\x39\x8F\x1D\xFD\x6D", - "\x54\x8F\xB0\x8C\xD8\x8D\xE9\x81\xA0\x19\x8E\x74\x33\x54\x5A\x67\x8F\x3F\x5D\xDA\x8A\xF3\x5B\x76\x84\x81\x6D\x1D\xBB\x61\x6F\x8E\xF2\x3D\xC7\x69\xEE\x82\x16\x74\x3B\xB8\xC7\x76\x8E\x72\x5C\xBC\x8C\x8E\x4E\xE9\x6A\x77\x9E\x39\xA5\x1D\xD4\x6E\x7D\x8F\xB5\x28\xF2\x5E\xEE\x81\x78\x86\x3A\x82\x1E\xD8\x82\x16\x7F\xC2\x8E\xDC\x8F\xBD\x6A\x78\x80\x14\x8D\x1E\xA3\x4A\x80\x8E\x67\x8F\x15\x7F\xF1\x83\x67\x74\x3C\x9A\xDF\x16\x8F\xC0\x6F\xC7\x8F\x25\x62\xF3\x8B\x77\x91\x3C\xBC\x1D\xFD\x6D\x8F\x8F\xD0\x8C\xD9\x8C\xE0\x68\x40\x6A\xB8\x66\x1E\xD8\x6B\xA7\x8E\xF1\x61\xEA\x8B\x0D\x7B\x7A\x8F\xBF\x6D\x1E\xAC\x77\xB9\x86\x58\x7F\xEB\x8D\x5C\x65\x7A\x80\x1E\x97\xF1\x1A\x76\xD1\x67\xD9\x8E\x1B\x71\xF6\x8B\xEF\x7A\x3D\x9D\x1B\xC7\x54\xB8\x8E\xE0\x6D\xF0\x8E\x3C\x73\x7C\x96\xF8\x7C\x1E\x8D\x7E\x97\x60\xDF\x8D\xBF\x6A\xF9\x8E\x74\x6C\x3E\xA4\x1C\x83\x02\x63\x01\xB7\x61\xF4\x8A\x3C\x63\x7D\x8B\xC3\x55\x1F\xEF\x6F\xD7\x8E\xD6\x75\xF6\x8A\x0E\x7B\x7D\x9F\xA2\x5D\x1F\xC2\x6D\xDF\x8F\x7E\x6D\xF8\x8E\xE9\x63\x7E\x94\xBA\x65\x1F\xA4\x69\xE7", - "\x8E\x33\x6D\xFA\x8F\x2D\x7C\x10\x0B\x3F\xAF\xD7\x6E\x8F\xE1\x5E\xF8\x8F\x4A\x02\xFE\x8F\x10\x14\x3F\x8A\x19\xF5\x8F\xB6\x8F\x33\x7A\xFD\x8B\x17\x6B\x7F\x85\x88\x7D\x1F\xBB\x8D\x00\x01\xFF\x8C\x7E\x62\x00\x92\xE7\x44\x40\x95\xFC\x55\x83\x01\x91\xFC\x8F\x34\x86\x00\x90\x48\x8D\x3F\x8A\x20\xE6\x84\x0C\x91\x28\x6D\x04\x96\x4D\x83\x81\x82\x08\x15\x20\x81\x02\x17\x91\x04\x90\xA4\x69\x03\x99\x81\x97\x84\x4C\x23\x39\x62\x1F\x90\x8C\x61\x08\x96\xE9\x63\x82\x94\xBA\x65\x20\xA4\x69\x27\x90\x33\x6D\x0A\x94\x0B\x6B\x82\x8F\xAF\x6D\x20\xE1\x5F\x2F\x91\x3F\x5D\x0C\x92\xF3\x53\x83\x84\x81\x75\x20\xBB\x61\x37\x90\x2C\x8D\x0E\x92\x2C\x6B\x83\x98\x8F\x7D\x20\xBF\x90\x0F\x91\x23\x55\x0F\x92\xA5\x81\xA8\x22\xB6\x43\x21\xC5\x90\xA3\x8F\x23\x90\x48\x36\x08\x91\x84\x88\x42\x92\x1D\xCA\x7B\x4A\x90\x8F\x88\xB6\x8A\x68\x40\xDD\x76\xF8\x51\x21\xEE\x84\x57\x90\xF4\x82\xFF\x34\x09\x90\x69\x79\x42\x96\x7B\x5C\x90\x6B\x70\x2F\x93\x93\x89\x20\x0F\x7A\x59\x89\x65\x21\x98\x62\x67\x90\xA7\x6D\x1A\x94\xEA\x6B\x86\x84\xA5\x6D\x21\xE6\x6C\x6F\x90", - "\x2E\x61\x1C\x97\xBD\x63\x87\x81\x7F\x75\x21\xFF\x5C\x77\x90\xCD\x5D\x1E\x94\x04\x6B\x87\x9B\x85\x7D\x21\xD8\x8C\x7F\x90\xB1\x61\x20\x90\x3F\x63\x88\x85\x44\x8D\x21\x8F\x02\x83\x90\x22\x90\x22\x90\xBB\x69\x88\x81\x26\x58\xD7\x17\x61\x8D\x91\x45\x90\xA4\x69\x12\x92\x85\x87\x52\x54\x22\x91\x7D\x92\x91\x6C\x8C\xCF\x77\x12\x95\x04\x99\x44\x91\x12\xE4\x90\x8F\x90\x47\x93\x24\x94\x11\x94\x8A\x83\x45\xA6\x22\xE0\x8D\x0C\x02\xB1\x57\x98\x62\x15\x95\x2E\x6C\x45\xAE\xE1\x2E\x91\xC2\x6C\x58\x91\xBF\x6A\x16\x9E\x74\x74\x45\xAF\xC6\x36\x91\xA4\x68\x5C\x92\x99\x6A\x17\x9D\x71\x7C\x45\xAF\xD7\x3E\x91\xE1\x5E\x60\x93\x9F\x5A\x18\x94\x63\x80\x00\x04\x23\xA4\x60\xC7\x91\x5D\x61\x32\x92\x20\x0B\x8C\x81\x08\x0D\x23\xD6\x84\xE6\x73\x67\x92\x22\x91\x15\x98\x5D\x72\x46\xAB\x04\x56\x91\x7E\x8E\x63\x91\x35\x93\x1B\x9C\xD1\x7A\xBE\x58\x23\xD2\x90\x0C\x1B\x6F\x92\xE1\x8B\x20\x02\x8E\x9D\x44\x94\x23\xD9\x77\xD7\x91\x50\x93\x43\x05\x1C\x9E\x8C\x9C\x46\xAB\xE1\x6C\x91\xDA\x90\x48\x6C\x3C\x97\x12\x6E\xD3\x75\x47\xA6\xFA\x5E\x84\xF8\x91\x7B", - "\x91\x6E\x69\x1F\x90\xEB\x7C\x47\xBB\xFB\x7E\x91\x0D\x7F\x89\x89\x1A\x88\x20\x9A\x94\x76\x47\xB9\x13\xD7\x78\x5E\x85\x39\x6C\x41\x95\xEB\x72\x90\x8B\x07\x8B\x24\xDA\x85\xDA\x6F\x84\x91\xF4\x62\x22\x9C\xB3\x74\x48\x8A\xF7\x0D\x92\xFD\x88\x7A\x92\x3E\x95\x1F\x9B\x91\x9F\x47\x9D\x24\xC8\x8F\x2B\x02\xB0\x55\x5F\x6A\x24\x9D\x78\x64\x49\x8D\xFC\x26\x92\x1B\x7E\x94\x91\xD7\x7A\x25\x90\xF8\x6C\x49\x88\xD0\x2E\x92\xD8\x6A\x98\x90\xA4\x6A\x26\x9B\x86\x74\x49\xAF\xDF\x36\x92\xAC\x76\x9C\x92\x1C\x72\x27\x96\xE9\x61\x49\xA6\xFA\x3C\x92\xC2\x6C\xA0\x90\x46\x62\x28\x99\x1D\x64\x4A\x80\x01\xBC\x76\x46\x93\xAB\x8F\x19\x79\x29\x96\x66\x6C\x4A\x9D\xDC\x4E\x92\xF6\x72\x9F\x90\xAC\x78\x2A\x91\xFE\x54\x4A\xAB\x1A\xD6\x92\x03\x8C\x81\x00\x56\x97\xFE\x8C\x10\x1B\x4A\x8C\x19\xE6\x84\x5E\x92\x2C\x8D\x58\x90\x00\x93\x96\x98\x8F\x65\x25\xF2\x5C\x67\x92\xA9\x93\xBE\x79\x2D\x9F\x10\x0C\x4B\x91\xD9\x4B\x59\x8D\x6E\xB8\x93\x8A\x6A\x2E\x9B\xF1\x74\x4B\x9D\xFD\x76\x92\x80\x7E\xBC\x92\xC2\x6A\x2F\x9F\x16\x7C\x4B\x90\xDA\x7E\x92\x6B\x70\xC0\x93", - "\xFB\x6A\x30\x9C\xBA\x64\x4C\xB2\xE1\x06\x93\x6E\x70\xC4\x93\xB7\x8B\x20\x0A\x98\x9D\xB7\x4D\x26\xCE\x6E\x8F\x93\xD7\x61\x64\x90\xF9\x53\x99\x88\x3C\x88\x20\x95\x93\xC6\x84\xE5\x78\x66\x97\xBD\x6B\x99\x81\x7F\x5D\x26\x83\x7B\x9F\x92\xCD\x5D\x68\x94\x04\x63\x9A\x9F\x4A\x87\xA9\x25\x93\xBA\x8A\xCD\x92\xB8\x84\x67\x78\x9A\x80\x29\x96\xFC\x2D\x93\xD5\x86\xC6\x92\xD8\x87\x21\x00\x9B\x92\x73\x75\x26\xAB\x02\xB7\x92\xDA\x92\xA9\x79\x37\x9C\x10\x1C\x4D\xAE\x09\xB4\x7A\xC0\x92\x56\x85\xCF\x83\x38\x92\x9C\x8F\xE0\x44\x27\xE9\x88\xC7\x93\x75\x81\x72\x95\x9F\x80\x3D\x93\x25\x8B\x27\xE4\x7A\xC1\x92\x43\x8A\xF6\x6A\x9B\x81\x3D\x6F\x4E\xB5\x09\xDB\x88\xE2\x7E\xEB\x90\xE1\x87\x8F\x85\x89\x93\x25\xB3\xD9\x54\x93\x3C\x76\xF0\x92\x72\x7D\x39\x9B\x47\x83\x43\x86\x13\xE5\x93\xDA\x92\x2F\x85\x7A\x93\x36\x9C\x10\x06\x59\x5D\xF0\x6E\x93\xE7\x76\xF8\x91\x3F\x8A\x3E\x94\x30\x94\x4F\x97\x27\x80\x00\xF6\x93\xED\x92\x40\x01\x3F\x9E\xD3\x7C\x4F\xA6\xFA\x7E\x93\xB0\x7C\x00\x97\xBE\x7A\x40\x9D\xF0\x64\x50\x9B\xFC\x06\x94\x5D\x7E\x04\x94\xE0", - "\x7F\x12\x6A\xA0\x8A\xB8\x4D\x28\xD8\x6B\x0F\x94\xF1\x61\x84\x94\x57\x63\xA1\x95\x42\x88\x20\x95\x94\xAC\x77\x39\x6C\x86\x92\x0E\x7B\xA1\x8E\xC3\x5D\x28\x8B\x93\xFB\x92\x56\x87\x87\x95\xDF\x63\xA2\x8F\x42\x97\xF1\x25\x94\x47\x92\xE5\x78\x8A\x92\x29\x97\x67\x8B\x51\x96\x26\xD3\x81\x2E\x94\xF6\x8F\x40\x01\x46\x91\x95\x8F\x08\x34\x28\xE1\x5F\x37\x95\x3F\x5D\x8E\x92\xF3\x5B\xA3\x84\x81\x7D\x28\xBB\x61\x3F\x94\x2C\x8F\xC8\x57\x7C\x73\xA4\x81\xE6\x45\x29\x84\x86\x47\x95\xFB\x91\x92\x92\x3F\x91\x10\x0B\x52\x9E\x09\xCE\x94\xB9\x6A\x28\x94\xAC\x7A\x4A\x9B\xEF\x74\x52\x8D\xFC\x56\x94\x1B\x7E\x2C\x95\xD7\x7A\x4B\x90\xF8\x7C\x52\x87\x1F\x82\x02\x5E\x94\xEC\x69\x98\x90\xD2\x63\xA6\x9C\x95\x65\x29\xF7\x63\x67\x95\x0C\x96\xF6\x69\x4D\x9F\xC3\x71\x9E\x6C\x29\xEE\x70\x6F\x94\x61\x6D\x9C\x93\xF4\x83\xA7\x8E\xBA\x75\x29\xD4\x6E\x77\x94\x16\x97\x14\x90\x4C\x9E\x46\x96\xF8\x79\x29\xAF\x94\x7B\x95\x26\x95\x9F\x97\x8C\x7F\xA7\x92\x51\xBC\x29\x82\x8A\x2B\x03\x42\x97\x7B\x6A\x51\x91\xFE\x4C\x54\xBF\xB9\x0E\x95\x9A\x5E\x48\x94\x09\x62", - "\x52\x91\x65\x83\x08\x0D\xB3\x67\x77\x97\x95\x60\x79\xA6\x94\x60\x8B\xA9\x97\x4F\x9D\x2A\xCC\x94\x00\x01\x4F\x96\x97\x82\x54\x99\x5B\x64\x55\xB0\xFA\x26\x95\xFB\x7C\x54\x95\xC3\x7A\x55\x9B\xF1\x6C\x55\x9D\xFD\x2E\x95\x80\x7E\x58\x97\x97\x91\x20\x02\xAB\x98\xAE\x75\x2A\x90\x6D\xB7\x94\x5E\x65\xAE\x97\x3E\x6B\xAB\x8A\x53\xBC\xEC\x3D\x95\x6D\x94\xE0\x6C\xB0\x96\x0D\x73\xAC\x82\xB6\x45\x2B\xA3\x8F\xC7\x94\xA7\x6D\xB2\x94\xEA\x6B\xAC\x9A\x53\x87\xA9\x4D\x95\x80\x94\x86\x18\xB4\x91\x33\x97\xC5\x73\x56\x89\x1C\xCA\x7B\xD6\x94\x3D\x8E\x40\x01\x5B\x93\xD8\x7C\x56\x9A\xBE\x5E\x95\x24\x60\x70\x97\x2E\x62\x5C\x95\x10\x64\x57\xA2\xC5\x66\x95\xB1\x92\x81\x01\x30\x58\x40\x8B\xAE\x9E\xE9\x6D\x2B\xA6\x7D\xEF\x94\x58\x7D\xBC\x93\xDF\x73\xAF\x8D\xF8\x75\x2B\xCA\x72\xF7\x95\xAE\x7D\xBE\x90\xF0\x7B\xAF\x8A\xB8\x7D\x2B\xD8\x6B\xFF\x94\x48\x6D\xC0\x93\x0D\x73\xB0\x9F\x44\x80\x00\x05\x96\xAC\x76\x84\x96\x1C\x72\x61\x9F\x45\x6C\x58\xB9\xC4\x0E\x96\x92\x8E\x04\x90\xC4\x96\x44\x97\xC6\x73\x58\x94\xDD\x16\x96\xA4\x68\x8C\x94\x28\x8C\x97", - "\x5C\x2A\x9A\x58\x9D\xDC\x1E\x96\xD7\x95\x2B\x78\xC8\x97\xDA\x8C\xD0\x03\x59\xAB\x1A\xA6\x96\x59\x93\x80\x00\xCA\x93\xD6\x87\xB0\x8C\x15\x97\xC2\x2B\x96\xBB\x60\x98\x95\x41\x62\x66\x92\x16\x74\x59\xB8\xC7\x36\x96\x72\x5C\x9C\x96\xF8\x78\x53\x54\xD6\x7C\x59\xA4\x01\xBE\x96\xA0\x94\xA0\x96\x97\x82\x68\x96\xEA\x64\x5A\xB0\xFA\x46\x96\x8D\x6E\xA4\x95\xC3\x7A\x69\x9B\xF1\x6C\x5A\x9D\xFD\x4E\x96\x80\x7E\xA8\x96\xC2\x6A\x6A\x98\x5D\x74\x5A\xA8\x23\x8F\x02\x56\x97\x35\x71\xD6\x97\xFD\x6B\xB5\x83\x93\x5D\x2D\xE5\x65\x5F\x96\xE2\x7C\x02\x91\x6C\x9D\x6D\x8C\x68\x24\x2D\xFD\x6D\x67\x96\xA7\x6D\xDA\x97\xF9\x82\x10\x0B\x5B\xA4\xD2\x6E\x96\x66\x6C\xB8\x94\xB5\x93\x6C\x93\xA8\x93\x06\xB2\x2D\xA1\x96\x74\x96\xE9\x90\xF0\x6F\x6E\x9A\xAD\x81\x08\x3C\x2D\x83\x7B\x7F\x96\xCD\x5D\xE0\x94\x04\x63\xB8\x9B\x85\x45\x2E\x85\x62\x87\x96\xB1\x61\xE2\x91\x5D\x91\x10\x05\x66\x67\xEF\x0E\x97\xC1\x78\xC8\x94\xC1\x82\x72\x97\x9F\x94\x5C\xA0\x2A\x96\x97\x5E\x84\xCC\x95\x6E\x6A\x73\x90\xEB\x7C\x5C\xBB\xFB\x1E\x97\x0D\x7E\xD0\x97\xC6\x7A\x74\x9D", - "\xF5\x64\x5D\x80\xFE\x26\x97\xB3\x94\x00\x00\xEA\x90\xBB\x6B\xBA\x90\xB4\x6D\x2E\xBC\x65\xAF\x97\xFB\x61\xEC\x96\x57\x96\x9E\x73\x5D\x81\x2B\xCA\x7B\xB6\x96\x37\x71\xEE\x92\xD8\x6B\xBB\x83\x3D\xBD\x2E\xCE\x6E\xBF\x96\xAA\x6D\xF0\x96\x59\x9B\x12\x03\x5E\x91\x2B\xC5\x97\x75\x97\x40\x96\xEA\x91\x79\x9C\xD0\x06\x5E\x86\x2A\x8D\x97\x2E\x96\xE4\x95\x1A\x8E\x79\x9F\x5E\x74\x5E\xA1\xBF\x56\x97\x7F\x5C\xEC\x96\xE6\x5A\x7B\x9C\xB2\x8E\x1A\x9E\x2F\xB3\x89\xBD\x88\xD9\x87\x2E\x61\x7C\x94\x45\x89\x19\x85\xC4\x64\x97\xC2\x89\xF3\x94\xF8\x93\x7D\x95\x9E\x88\x5F\x97\xC2\x68\x97\xF0\x96\x0E\x83\xF7\x95\x3C\x9F\x85\x68\x5F\xB3\xD9\x71\x97\xED\x97\x59\x8B\xFB\x94\x7D\x93\x4E\x89\x5F\xAE\x26\x88\x90\xF6\x97\xE8\x65\x00\x9C\x67\x73\xC0\x8A\xEE\x6E\x2F\xA3\x83\x7D\x96\xFF\x94\x7E\x60\x7F\x9D\xBF\x8C\x60\x9C\x27\xE6\x97\x00\x90\x29\x5A\x52\x82\x82\x9F\x2B\x94\x60\x9E\x13\x8C\x02\x16\x98\xEC\x93\x43\x01\x83\x97\x9E\x98\x60\xB3\x12\x9C\x98\x34\x7A\x10\x98\xAB\x82\x84\x99\x46\x84\x61\xAB\x03\xA6\x98\xFD\x88\x14\x98\xC1\x82\x85\x97\x9F", - "\x8C\x61\xA0\x2A\x97\x61\x2E\x98\x2F\x85\x0C\x9E\xD4\x73\xC3\x9D\xAB\x75\x30\x8D\x6F\x37\x98\xAD\x84\xCF\x71\x87\x9A\x48\x80\xBE\x7C\x30\xDD\x7E\x3F\x98\xC0\x7D\x10\x99\x75\x93\xC4\x98\xAE\x45\x31\x90\x6D\x47\x98\x4D\x92\x79\x71\x89\x96\xA1\x93\x06\x8C\x31\xB4\x97\x57\x79\x27\x9B\xED\x96\xE2\x72\xC5\x9D\x49\x9B\x30\xFA\x97\x2B\x03\x2A\x9A\xB0\x6A\x8B\x9D\x6F\x7C\x62\x8E\xDD\x5E\x98\x54\x6E\x30\x98\x29\x6A\x8C\x9B\xB1\x83\x08\x88\xD0\x1F\x89\x5C\x60\x34\x9B\x7B\x6A\x8D\x91\xFE\x4C\x63\xBF\xB9\x6E\x98\x9A\x5E\x38\x9A\x19\x98\xBB\x62\xC7\x9B\x85\x75\x31\x85\x62\x77\x98\xB1\x61\x1E\x98\x3F\x6B\xC7\x92\x73\x7D\x31\xE2\x7F\x7F\x98\x3D\x82\xC2\x6B\x8F\x94\xC8\x88\x60\xAB\x1A\x81\x99\xE0\x90\x6E\x7F\x20\x9E\x90\x91\xC7\x8C\x64\xAC\x2C\x88\x99\xD9\x85\x45\x9A\x89\x86\x34\x9A\xC8\x8F\x40\x8C\x34\x10\x99\x3F\x7F\x48\x9A\x25\x9D\x92\x97\xB5\x93\x63\x9D\x32\x9A\x99\x90\x6C\x4C\x99\xDC\x87\xFD\x62\xCA\x9F\x1B\xA4\x32\x8E\x99\x95\x94\x81\x03\xDD\x53\x92\x9A\xCA\x88\x65\xAD\x32\xAC\x99\x62\x63\x55\x98\xA8\x85\x20\x62\xCB\x90", - "\x60\xB8\xC7\x35\x99\xE2\x96\x5A\x9A\x2B\x99\x20\x08\xCB\x85\x5F\xBA\x32\xB0\x99\xB7\x99\x5D\x99\x30\x98\x98\x92\xE7\x5D\x65\x8A\x30\xC5\x99\xC2\x98\x64\x98\x31\x9A\xFC\x76\xCC\x88\x5F\x8D\x33\xB3\x89\xCF\x99\x09\x81\x34\x9A\x29\x83\xCD\x8F\x60\x99\x32\xAF\x99\xB3\x99\xFF\x97\x34\x85\x9A\x97\xC1\x83\x08\x1C\x33\x9A\x98\x0C\x03\x6F\x99\x07\x9E\x4D\x82\xCE\x9D\x19\xA5\x33\xAC\x85\xE7\x98\xBD\x96\x79\x71\x9D\x94\x3C\x91\x9E\x6C\x33\xFD\x89\x5F\x71\x77\x98\xC1\x83\xCE\x62\xCF\x97\x4F\x97\xC2\x75\x99\x2F\x99\x95\x00\x3E\x9E\x4B\x8B\xCF\x86\xF5\x7D\x33\xB0\x7D\xFF\x99\x7D\x7D\x40\x9D\xE1\x73\xD0\x97\x17\x8C\x14\xB9\x6B\x47\x7C\xBA\x71\x42\x98\xF0\x7B\xD0\x8A\xB8\x4D\x34\xD8\x6B\x0F\x9A\x48\x6D\x44\x9C\x57\x63\xD1\x8F\xBF\x55\x34\xAC\x77\x17\x9A\x39\x71\x46\x9E\x0D\x7B\xD1\x82\xB6\x5D\x34\xFD\x6D\x1F\x9A\x40\x8F\xC0\x87\x3E\x91\xD2\x94\xBA\x65\x34\xC8\x5F\x27\x9A\x01\x61\x4A\x9B\x6E\x97\x67\x8B\x69\xB8\x2D\xD3\x81\x2E\x9B\xF0\x5D\x4C\x9F\xCF\x53\xD3\x85\x46\xB5\x34\xA4\x60\x37\x9B\x5D\x61\x4E\x99\x35\x97\xC5\x7B\x69", - "\x9A\x33\xE6\x84\x3E\x9A\x68\x91\x4F\x9C\x93\x9A\xC4\x96\xF8\x41\x35\xDC\x88\x47\x9A\xF1\x7D\x52\x9F\xA1\x80\xEB\x6B\x6A\x92\x14\xA6\x7D\x4E\x9B\x91\x99\x3E\x9F\x21\x03\xB7\x42\x64\xAF\xC5\x55\x9A\x9E\x98\x5E\x64\x56\x98\x94\x9B\x86\x7B\x6A\xBF\x0B\x90\x6D\x5E\x9B\x51\x98\xEB\x71\xAC\x96\xCA\x83\x6B\x84\x35\xF7\x63\x64\x9B\x52\x99\x5A\x99\x99\x9B\x12\x0B\x6B\x8B\x33\xD4\x9A\x67\x9A\xB3\x9A\x55\x98\xAC\x91\xD7\x92\xC3\x6E\x35\xD9\x99\x8C\x96\x00\x03\x5D\x9E\x96\x92\xE7\x5B\x6B\xB9\x32\xE2\x62\x7E\x9A\x5F\x99\x40\x01\xB0\x9A\xC0\x84\x6C\x85\x30\xD7\x78\x86\x9A\xEF\x91\xF4\x61\xB1\x95\x9E\x8C\x6C\xBD\x2F\x8E\x9B\xD6\x98\x40\x84\x64\x9D\x9B\x92\x10\x13\x6C\xA0\x33\x83\x02\x96\x9B\x71\x9B\x35\x9B\xB0\x95\xD7\x82\x5B\x93\x03\x99\x9B\xE2\x92\xC4\x99\x67\x9D\x6C\x9D\xD6\x83\x6D\xA3\x1E\xA0\x9B\xD1\x96\xB8\x9B\x5C\x9D\xAB\x96\xDA\x8E\xBA\x68\x36\xE9\x88\xAF\x9B\x75\x81\x6C\x9D\x9F\x83\xDB\x84\x18\x97\xC2\x09\x8A\xE7\x76\xDC\x99\x30\x7A\xB7\x94\x30\x9C\x6D\xB7\x27\xBE\x9B\xA0\x94\xE0\x9A\x97\x82\xB8\x99\x5B\x64\x6E\xB0", - "\xFA\x46\x9B\xFB\x7C\xE4\x99\xC3\x7A\xB9\x9B\xF1\x6C\x6E\x9D\xFD\x4E\x9B\x80\x7E\xE8\x99\xEA\x92\xBA\x98\x5D\x74\x6E\x90\xDA\x56\x9B\xBC\x64\xEC\x9B\x7D\x62\xBB\x90\xC5\x88\x40\x9C\x37\xD3\x98\x67\x79\xEF\x9A\x1B\x72\xBC\x92\x6C\x64\x6F\xA3\x1E\xE6\x9B\x4E\x6E\xF4\x98\xD5\x6A\xBD\x94\xBC\x8D\x27\xBD\x30\xCA\x7B\xEC\x9A\x40\x97\x91\x51\xBE\x9C\xD2\x86\x13\xB4\x37\xB5\x94\xF0\x88\x90\x92\x7B\x9F\xB9\x97\xD0\x87\x6E\xBD\x37\xC9\x9B\xFF\x9B\xE5\x99\x80\x9D\xB9\x93\xE0\x9D\xFA\x57\xC2\x72\x00\x05\x9C\x82\x6C\x82\x9C\xA9\x9D\x78\x6B\x70\x8F\x35\xB0\x7D\x0E\x9C\xA9\x9A\x97\x81\xC2\x93\x38\x93\x70\x89\x38\x8A\x6E\x14\x9C\xF7\x78\x80\x81\xC3\x93\xE2\x70\x70\x97\x38\xD8\x6B\x1C\x9D\xA8\x9A\x40\x01\xC4\x9D\xDA\x94\xBA\x64\x38\xAB\x9B\xEF\x6F\x13\x9D\x56\x99\xC5\x9F\xE1\x9F\x64\xA3\x38\xAD\x9C\x6B\x70\x15\x9C\x57\x9C\xC5\x9C\xE0\x8B\xB1\x72\x38\xDF\x9A\xBC\x65\x1B\x9E\x58\x98\xBC\x97\x67\x9A\x71\xA5\x35\xBC\x9C\x66\x84\x1F\x9D\x29\x9A\xC8\x9C\xD6\x8F\x08\x04\x39\xEF\x9A\x51\x6D\x23\x9C\x5E\x9A\xCE\x5A\xE4\x9C\x6B\xAB\x04", - "\x4D\x9C\x7F\x9A\xA1\x98\x02\x90\xCA\x92\xD8\x92\x72\x93\x03\xD4\x9C\xC7\x99\x03\x91\x8F\x98\xC6\x9D\xC4\x81\x72\x9C\x39\xCF\x7E\x46\x9D\x2F\x9F\xE4\x79\xCC\x95\xE3\x9B\xF8\x58\x39\xE8\x97\x67\x9D\x59\x89\x9A\x9D\x3C\x9B\xE6\x9D\x5F\xAD\x39\x91\x9B\xE6\x92\x73\x89\x30\x7A\xCE\x94\xD6\x74\x73\xB7\x27\xF6\x9C\xA0\x94\x3C\x9E\x97\x82\xCF\x96\xEA\x7C\x73\xBD\xD5\x7E\x9C\xFB\x7C\x40\x9D\xC3\x7A\xD0\x9B\xF1\x64\x74\x9D\xFD\x06\x9D\x80\x7E\x44\x9E\xC2\x6A\xD1\x9A\x8E\x93\x26\xBD\x13\x8C\x9D\x90\x6C\x48\x9C\xAF\x62\xD2\x97\x1F\x74\x74\x9D\x37\xF7\x8C\x96\x9C\x20\x9C\x43\x19\xD3\x9E\x86\x7C\x74\x82\xDB\x1E\x9D\xA3\x8E\x50\x9E\xD3\x6A\xD4\x94\x75\x64\x75\xAD\x37\x8E\x9D\xF3\x99\xE8\x66\xA9\x9A\xBE\x9D\x4C\x97\x4F\xB3\xD9\x2B\x9D\xCF\x96\x71\x88\x9C\x9F\x12\x60\xEB\x8F\xAF\x75\x3A\xE1\x5F\xB7\x9D\x3F\x5D\xAE\x9A\xF3\x5B\xEB\x84\x81\x7D\x3A\xA9\x99\x01\x02\xAD\x54\x34\x89\x98\x72\xEC\x88\x75\xA4\x01\xC5\x9D\xD6\x89\x75\x80\xB2\x99\x9B\x8C\x2A\x8B\x76\x9D\x13\x97\x9B\x02\x02\x67\x9E\xAC\x9C\xB2\x91\xEC\x8D\x75\x80\x08\xD2", - "\x9D\xBF\x9D\x82\x60\xB6\x9A\x9D\x80\xF8\x7B\x76\xBB\x37\xDD\x9D\xD6\x9C\x2F\x86\xB7\x99\xBF\x9B\xF1\x63\x77\xB4\x13\xFB\x7D\xE6\x9C\x7C\x8A\x23\x8C\x21\x09\xEE\x9C\x27\x84\x0C\xED\x9D\x01\x8A\x65\x9D\xB8\x99\xB7\x60\xEF\x97\x6F\x94\xB5\x75\x9D\x62\x9C\xCF\x9A\xF2\x90\xDF\x95\xE6\x92\x1A\x91\xCF\x7C\x9D\x0F\x9C\x74\x9F\xBC\x98\xD6\x70\xF0\x92\x70\xAC\x27\x83\x02\x05\x9F\x0A\x9E\xA9\x79\xE1\x9A\xE1\x82\x77\x83\x3C\xF1\x89\x3C\x76\x86\x9D\x87\x98\xE2\x9A\xDC\x72\x78\xA2\x38\xB9\x86\x0F\x02\x8B\x9D\x89\x9A\x4F\x9C\xD0\x1A\x78\xA8\x38\xE0\x9C\xEC\x9D\x87\x9E\x7E\x99\xE4\x93\xEC\x8F\x77\xA2\x3C\xE5\x9D\x27\x9F\xAE\x7E\xC7\x9B\xC5\x9C\xBA\x6B\x79\xB3\x38\xAD\x9E\x29\x9F\x05\x97\xE2\x51\xE6\x98\x40\x6C\x5C\x46\x3B\x80\x84\x36\x9F\x64\x9D\x3F\x89\xE7\x9C\xEC\x89\x23\xBC\x3C\xCF\x9D\x9A\x9B\x80\x03\xCF\x9B\xDA\x90\xED\x82\x7A\xB4\x3C\xEF\x62\x43\x9F\x6C\x9E\x58\x61\xE9\x9C\xED\x8A\xB8\x4C\x3D\xDF\x9D\x4E\x9F\xA3\x9C\xA4\x6F\xE9\x94\xEE\x9D\xFA\x54\x3D\xE7\x9D\x0D\x7F\xAB\x9E\xBA\x9B\xE4\x93\x10\x1A\x7A\xAE\x3B\xF7\x93", - "\x5E\x9F\x78\x9F\xCE\x9A\xEA\x9C\x2B\x61\x7B\xB6\x3B\xB3\x9E\x25\x9E\x57\x9E\xF6\x6E\xEC\x99\xEF\x84\x6D\x8F\x04\x6C\x9E\xFD\x9C\xC0\x7C\xDC\x99\xE0\x99\xF5\x84\x7B\x86\x2C\xF3\x9E\x06\x9E\x58\x7C\xDE\x9A\xE1\x9A\xF7\x96\x7B\x97\x3A\xCA\x97\x7B\x9F\x86\x9F\x6A\x92\xB9\x71\xF8\x93\x78\xBA\x30\xE6\x73\x85\x9F\x8B\x9D\xD5\x8D\xEB\x9E\xF7\x83\x73\x8C\x04\x09\x9F\x1B\x9F\x32\x98\xE3\x99\xED\x90\xAA\x90\x7C\x9F\x3C\xF2\x70\x96\x9E\x96\x9C\xE6\x9D\xF1\x9E\x86\x79\x7C\xAF\x3C\x9B\x9F\x94\x9E\x8C\x91\x2E\x8C\x03\x85\x4C\x94\xE9\x65\x3E\xAC\x85\xA7\x9F\x34\x89\xEA\x9B\x1D\x8B\xFA\x9D\x27\xAD\x3E\xE4\x7A\xAF\x9F\xFB\x91\xEC\x98\x54\x93\xFB\x9E\x12\xB5\x3E\xA6\x7D\xB7\x9E\x58\x7D\xEE\x9B\xDF\x7B\xFB\x9C\x7A\xA3\x3E\xE5\x93\xBD\x9F\x8D\x7D\xF0\x9C\x2E\x73\xFC\x84\xB8\x45\x3F\xC5\x8F\x08\x91\xE3\x9F\x26\x9E\x95\x80\xE7\x8A\x7E\x90\xDA\x4E\x9F\xA8\x90\x5B\x88\xF0\x9C\xF3\x92\x6C\x70\x7E\x9D\x39\xC7\x54\xD6\x9F\xBF\x9C\x43\x19\xFB\x90\xE4\x98\x7E\x94\x3F\x91\x96\xD3\x80\xEE\x9E\x15\x9A\x96\x85\x9E\x97\x84\x62\x3F\xD5\x9F\xDF", - "\x9E\xA7\x6F\xF9\x9D\xDF\x6B\xFE\x8A\x7F\xA9\x3F\xD4\x6E\xED\x9E\xB6\x95\x40\x05\x6E\x5C\xFC\x9C\x11\xB4\x3F\xE4\x9F\x4A\x83\xFB\x9E\xF4\x9D\x7F\x9A\xFF\x9F\x7D\xBC\x3F\xAA\x89\x70\x9D\xFE\x9C\x2F\x8B\x96\x82\x00\xA1\x26\x8E\x0D\x85\xA0\xF1\x9E\x52\x68\x02\xA7\xFD\x9A\x00\xA0\x80\x94\x3B\x80\x00\x0B\xA1\xD0\x9E\xA9\x79\x02\xA7\xF3\x9E\x12\x94\x40\xBA\x9E\x04\x87\x0B\xA1\xCF\x9B\x1D\x87\x09\x7A\x80\x80\x3D\xBD\x86\x1E\xA0\xA2\x9D\xD0\x98\x02\xAE\x00\xB4\x1E\xA1\x40\xCA\x9E\x24\xA1\xFA\x9D\xD1\x9A\x8D\x8B\x12\x07\x81\x8D\x3D\xCB\x9F\x0C\x02\x17\xA0\xD4\x98\xBB\x62\x03\xB5\x7A\x80\xFE\x35\xA0\x58\x9E\x83\x9B\x43\x00\x07\xAB\xF5\x9B\xF8\x7C\x40\xDF\x9E\xA0\x95\x1F\xA2\xD8\x99\xD5\x9C\xB3\x62\x82\xA7\x3D\xA9\x96\x29\xA0\xFC\x9C\x9C\x9F\x0B\x76\x04\xAD\x7B\xA0\x3F\xE6\x84\x4D\xA1\xB8\x9D\xEA\x91\x0A\xA4\xF7\x9A\x81\xB1\x40\xA5\xA0\x23\xA0\x2A\xA1\xDE\x9B\xDF\x7A\x05\xBC\x7B\x9C\x41\xD8\xA0\x20\xA0\x30\xA0\xAB\x85\x0B\xA2\xF8\x90\xF5\x57\xC2\x27\x89\x4A\x82\x34\xA3\xAF\x82\x0D\xAF\x00\xAC\x83\xAB\x40\xEE\xA0\x23\xA0", - "\x38\xA1\xCF\x82\x0E\xAF\xC0\x74\x83\xA9\x11\xF6\xA0\xEB\x80\x3C\xA1\x3F\x8A\x0F\xA4\x30\x9C\x83\xB7\x27\xFE\xA0\xA0\x94\x40\xA2\xE8\x9A\x70\x85\x06\xBB\xF7\x42\x42\xA6\x7D\x87\xA1\xBE\x69\x22\xA5\xF1\x6B\x08\xA7\x7C\x97\xF1\x0D\xA1\xEF\x9A\x8B\x7C\x24\xA5\xEB\x73\x09\xA0\xFC\x55\x42\xA9\x97\x97\xA0\xEC\x69\x26\xA0\xD2\x6B\x09\xA5\x6A\x88\x20\x9D\xA1\x5D\x9C\x86\x18\x28\xA7\xEF\x97\xA4\x43\x85\x9A\x3A\xFB\x83\xA6\xA1\xF1\x9E\x1F\x8D\x0D\xA2\x06\xB7\x83\xAD\x42\xF9\xA0\xAF\xA1\x3D\xA1\x2C\xA5\x0F\xA3\x0B\xB6\x67\xAB\x04\x76\x00\xB4\x72\x5C\xA1\x95\x82\x17\xA6\x50\x92\xC3\x7C\x42\xAB\xA1\x2B\xA1\x5F\xA2\x27\x8D\xC8\x9C\x10\x02\x86\x84\x42\x86\x9F\x1B\x7E\x63\xA3\x28\x8D\x0A\xA4\x97\x6A\x86\xA9\x42\xC2\x6D\xCE\xA1\x5A\xA0\xA8\x91\x1A\xAA\x02\xA3\x81\x94\x43\xCA\xA0\x0F\xA1\x6B\xA3\xFE\x98\xCE\x9A\x0D\xBE\x7F\x9C\x43\xFB\x83\xDD\xA1\x01\xA1\x79\x91\x1C\xA6\x00\xB3\x25\xA4\x43\x89\xA0\x02\x61\x73\xA0\x03\xA1\x1D\xA9\x3A\x85\x86\xBD\x04\x8C\x1A\xEA\xA0\x09\xA0\xAC\x79\x1E\xA5\x01\xA6\xF5\x74\x43\x98\xA0\xB6\xA1\x87", - "\x03\x3D\xA3\x03\xAD\x4F\x9B\x87\x9F\x40\xAC\x85\xFE\xA0\x11\xA1\x68\x98\x01\x91\x10\xA8\x81\x93\x23\x83\x02\x05\xA3\x17\xA1\x37\x94\x67\x79\x10\xB3\x81\x8B\x44\xCA\x7B\x0D\xA2\x1B\xA1\xEA\x91\x22\xA9\x03\xA6\x70\xB7\x42\xAA\x76\x14\xA3\x1E\xA1\xD7\x79\x23\xA0\x04\xBE\x12\x9C\x44\xC3\xA0\xF7\x93\x8F\xA3\x11\xA4\x04\x62\x12\xAE\x82\xA2\x34\x82\x02\x37\x57\x87\x02\xEA\x54\x21\x08\xBA\x5D\x85\x9F\xD1\x2B\xA2\x03\x03\x96\xA0\x30\xA2\x68\x80\x13\xA2\x08\x32\x44\xC3\xA1\x48\x9D\x81\x01\x4D\xA1\x20\x07\x13\xA7\x86\x8A\x3E\xBB\xA2\x00\x01\x9E\xA3\x32\xA3\x0B\xAD\xF0\x60\x8A\xBA\x01\x2B\x02\x40\xA2\xA1\xA3\x33\xA5\xDF\x69\x14\xB4\xCD\x4D\x45\xD7\x88\x4F\xA2\x97\xA2\xB0\x69\x2A\xA3\x13\xBD\x19\x94\x45\xB8\xA2\x4B\x9C\xA4\xA3\x4A\x02\x29\xA2\x0D\xBE\x12\x97\x45\xBE\xA2\x91\x9F\x8E\x6F\x57\xA3\x28\xAE\x05\xBE\x7D\x81\x04\x63\xA2\x4B\xA2\xA7\x6C\x5A\xA5\x2B\xA6\xEA\x6B\x8B\x95\x43\xB4\x7A\x6E\xA2\x6C\xA0\xF5\x81\x2E\xAB\x0D\xAF\x80\x9F\xE1\x74\xA2\xDE\xA0\xBB\xA1\xF4\x60\x2F\xA2\x0E\xBD\x5F\xBC\x45\xE5\xA1\xE5\x93\xBF\xA0", - "\x3A\xA1\xD6\x92\x18\xAB\x87\xA2\x45\xDB\xA2\x2A\x76\xA0\xA0\x50\xA3\x0F\x0A\x15\xAF\x08\x3C\x01\x0D\xA3\x0C\x02\xC5\xA0\x64\xA2\x27\xA3\x19\xA2\x08\x24\xAD\x2A\xA2\x9C\x22\xCA\xA0\x66\xA5\x79\x30\x00\x12\x8C\x8F\x04\x5C\xA2\x6F\xA3\xE4\x97\x91\x55\x30\xA2\x0F\xB4\x78\x96\xFC\x24\xA3\xF5\xA1\x83\x90\x02\x90\x35\xA8\x0F\xA0\x55\xB3\xD9\x40\xA2\x7F\x01\x95\x00\x70\x4B\x33\xAC\x10\x11\x8D\x8F\x04\x33\xA3\x91\xA3\x95\x02\x6D\xA4\x21\x08\x1B\xBA\x8C\xB5\x46\xB2\xA3\x95\xA3\x80\x03\x6E\xA3\x20\x0D\x1B\xA2\x08\x30\x46\xC1\xA3\x00\x01\xE1\xA2\x71\xA0\x31\xAA\x4C\x88\x8E\x8C\x46\xB4\xA3\x03\x03\xE7\xA1\x6E\xA7\x33\xAB\x1F\x8C\x8D\xBC\x43\x84\x86\xD6\xA3\x7F\xA1\x1A\x89\x3B\xA2\x10\xAC\x15\x9C\x47\x86\xA2\xC8\xA2\xD0\xA2\x5C\xA3\x04\xAF\x1D\xAA\x88\x91\x3F\x82\x02\xC2\x4A\xEA\xA1\x95\x81\x3D\xAC\x12\xB4\xCD\x6C\x47\xB1\xA2\x2A\x77\xF7\xA2\x4D\xA1\x3E\xAC\x1C\xB2\x8A\xBD\xDB\x72\xA3\x01\x03\xA3\xA3\x43\x00\x3F\xA1\x14\xB4\x8F\xAA\x47\xF6\xA3\xD9\x62\xFE\xA2\x78\xA5\x2E\xAB\x02\xA2\x90\xBE\x47\xED\xA3\x57\x88\x03\xA5\x82", - "\xA5\x3E\xA5\x15\xAC\x15\x8A\x48\x80\xA4\x54\x6F\x07\xA5\x83\xA0\x51\x9B\x1F\xAC\x90\x98\x45\xCE\x9C\x15\xA5\xFF\xA3\x84\xA3\x1D\x82\x21\xB7\x90\x91\x39\x9D\xA4\x60\xA3\xCB\x9F\x17\x68\x44\xA4\x16\xA5\x84\x8E\x42\x88\x90\x24\xA5\xB4\xA1\x8A\x96\xE2\x79\x22\xAC\x8B\xB0\xFA\x2D\xA4\xA1\xA3\x34\x88\x8C\xA3\x3C\xA4\x9E\x8C\x08\x33\x48\x84\xA4\x23\xA1\x1B\xA5\x5E\xA5\x40\xAB\x12\x1C\x8F\x92\x47\x83\x02\xFC\xA3\xC7\xA1\x86\xA6\x46\xAD\x23\xA5\x92\x83\x49\xC0\xA4\x2B\x03\xCB\xA0\x91\xA4\x33\xAC\x1F\xBC\x8F\x89\x35\x4D\xA4\x16\xA5\x10\xA6\xE6\x9A\xDF\x97\xA4\x5A\x91\xBD\x45\xCB\xA0\xD1\x66\x2B\xA4\x60\xA5\x7F\x9F\x85\x7A\x92\x83\x46\xAF\x9A\x66\x84\xFE\xA2\x72\xA1\x20\x05\x1C\xA1\x08\x22\x49\xC0\xA3\x47\xA4\x81\x03\x98\xA0\x00\x05\x26\xA0\x00\x27\x49\xB7\xA3\x46\xA5\xDF\xA0\x9C\xA1\x4D\xA2\x1C\xB1\x93\x83\x04\x6B\xA4\x5E\xA4\xC3\xA0\x7E\x98\x49\xAF\x10\x1F\x91\xA8\x47\xAB\x02\x7E\xA4\x33\xA5\x94\xA5\x44\xA8\x0C\xB6\x88\xB4\x49\xFD\xA3\x0B\xA4\x0D\xA6\x87\xA5\xCA\x92\xE7\x59\x93\xA5\x46\x8D\x7E\x8E\xA5\xD4\xA3\xBE\x79", - "\x52\xAD\x1A\xBE\x12\x94\x4A\xD7\xA3\xF9\xA0\x86\x02\x1B\x5F\x21\x04\x5C\x4F\x08\x2C\xB0\x55\x84\x9F\xA4\x08\xA4\xF2\x59\x54\xAB\x21\xBD\x27\xA4\x4A\x8B\xA5\x59\x9C\x4F\xA6\xCA\x77\x54\xA2\x25\xBF\x7C\xAE\xE1\x2C\xA5\x84\xA5\xA0\x98\xAC\xA2\x45\xA4\x4A\x73\x95\xAE\x48\xFB\x7D\xB6\xA5\x18\xA7\x3A\x81\x57\xA4\x23\xAC\x15\xBC\x4A\xB8\xA4\x3D\x87\x5F\xA7\x8E\xA3\x04\xA2\x2C\xB7\x92\x8F\x40\x97\x61\xC5\xA5\x2D\xA4\x9C\x99\x59\xAF\x25\xA1\x7F\x4C\x4B\xFA\xA4\x54\x5B\x67\xA7\xA3\xA2\x29\x72\x2D\xB2\x94\xA7\x48\xF7\x8C\xD5\xA5\x4A\xA7\xE0\x9E\xE2\x79\x2D\xB8\x94\xA0\x2A\xDD\xA5\xDA\xA3\x5D\xA7\x7E\x80\x5C\xAD\x1D\xA9\x23\xA4\x4B\xE0\xA3\xAA\xA4\x41\x8A\xF6\x6F\x5C\xA6\x1E\xA1\x85\xAB\x04\x6C\xA5\x0E\xA2\x4F\xA0\xB6\xA7\x1D\xAF\x2E\xA3\x97\xB6\x4B\xD7\x88\xF0\xA4\x89\xA0\x76\x69\x5F\xA5\x11\xA0\xFC\x7C\x4B\x9A\xA2\xFE\xA5\x55\xA7\x7E\x86\x71\x5F\x10\x04\x98\x8C\x04\x06\xA6\x03\x02\x84\xA6\x40\x02\x61\xA1\x10\x0C\x98\x80\x00\x0E\xA6\x10\xA7\x95\x01\xC4\xA5\x60\xA2\x31\xB5\x98\x94\x4C\x97\xA6\x0C\x02\x43\x00\x6D\x72\x63", - "\xA5\x25\x9C\x98\xA2\x4A\xE6\x6C\x1E\xA7\x52\xA4\xC1\x81\x64\xA8\x2A\xA8\x5F\xA4\x4C\xAD\xA5\x38\x9D\xF7\x6F\xC9\xA1\x56\xA1\x16\xA5\x86\x6B\x4C\xB4\xA5\x20\xA6\x95\x77\xCB\xA7\x56\xAD\xF0\x73\x99\xBA\x4A\xFD\x89\x36\xA7\x5E\xA5\x1A\x89\x67\xA0\x2C\xAC\x15\xBC\x4C\xC3\xA5\x35\xA5\x81\x03\xCF\xA6\x58\xAB\x02\xA3\x9A\x8A\x4B\x8F\xA0\x46\xA7\x66\xA7\x4A\x01\x69\xA0\x2D\xAB\x9A\xAD\x43\xC2\xA6\xF4\xA5\x87\x00\xD3\xA3\x5A\xAD\xF5\x73\x9A\x96\x4B\x9B\x7E\x56\xA6\x6D\xA6\x19\xA6\x69\xA7\x45\x99\x9A\x9E\x4B\xDE\x84\x5E\xA7\x70\xA4\x3C\x9A\xFB\x61\x36\xA5\x97\xAD\x33\xC0\x6F\x65\xA6\x74\xA5\x77\x92\x6A\xA1\x35\xB9\x98\xBB\x07\xE9\xA6\xED\xA4\x90\x9C\xD4\xA5\x6B\xA2\x33\xB5\x9B\xB4\x4D\xF7\xA6\x1F\xA7\x58\x9C\xE4\x57\x21\x08\x08\x0D\x63\x6B\x04\x7D\xA6\x9C\xA5\x95\x01\x22\x02\x70\xA7\xFD\x02\x99\xA4\x01\xBE\x1A\x30\xA6\x2E\x60\xE2\xA4\x66\xAB\xF1\x6B\x9C\xB7\x4C\x84\x86\x8E\xA6\x9D\xA7\x3A\x81\x72\xAD\x33\xA9\x23\x94\x4E\xC0\xA6\x0F\x79\xCB\xA4\xD1\xA3\x04\xAA\x39\xA7\x9A\xAB\x40\x9D\xA7\x4A\xA6\xCD\x5C\xE8\xA5\x69\xA2", - "\x3A\xAA\xD9\x63\x4E\xD4\xA6\x80\x7F\xD3\xA7\xD5\xA6\x50\xA9\xB0\x25\x99\xB3\x12\xAA\xA7\x5A\xA7\x7D\x7C\xEC\xA7\x6B\xA9\x5B\x73\x9D\xA2\x4D\xE4\x7A\xB6\xA6\xB3\xA7\xD8\xA4\x67\x79\x3B\xAA\x9B\x98\x22\xAD\xA7\x28\xA7\x1D\x9E\x1B\x75\x77\xA1\x37\xB2\xC3\x44\x4F\xF1\xA5\x06\x97\xE3\xA6\xBE\xA0\xD2\x6A\x3C\xBD\x97\x8A\xDC\x4D\xA7\x00\xA6\xE4\x9F\x9D\x88\x7A\xAD\x11\xBB\x96\xA7\xF1\x54\xA7\x20\xA2\xD7\xA2\xF6\x68\x7B\xA3\x12\xBF\x4A\x8C\x34\x5C\xA7\x26\xA2\xF9\x9F\xBB\x4D\x39\xAD\xD6\x26\x9C\xA0\x2A\xE0\xA7\x52\xA0\xEC\x68\xFA\xA4\x19\xA9\x3A\xA6\x9D\xAE\x4F\xE4\xA7\x93\x49\x95\x02\x0B\x5D\x4A\x83\x3F\xB9\x9B\x85\xC3\x75\xA7\xE6\xA6\x2F\x84\xFE\xA6\x75\xA5\x9E\x9B\x9F\x81\x4F\xBF\x9C\x6E\x70\xFF\xA4\xCB\xA2\x44\xA2\x6C\x62\xA0\x89\x4E\xF7\xA7\x2A\x76\x03\xA8\xE3\xA5\xEB\x7A\x40\xAF\x9C\xB7\x27\x8D\xA8\x92\xA7\x7E\x88\x04\xAD\x72\xAB\x0E\x93\xA0\x98\x4E\xE9\x88\x16\xA9\xCD\xA5\xD0\xA2\x20\x09\x41\xBE\x9C\xA3\x40\x9D\xA8\xA1\xA6\x12\x60\x08\xAC\x74\xAC\x10\x03\xA1\xA8\x4E\x88\x68\x26\xA9\xD5\xA4\x44\x94\x67\x79\x42", - "\xB1\x9D\x97\x4B\xE6\x84\x2D\xA8\xDA\xA4\xAC\x79\x86\xA7\x3B\xAF\xA0\xBB\x07\xB4\xA8\xBA\xA6\x82\x84\x0E\xAE\x77\xAC\x41\xAF\x9A\xBD\x50\xEA\xA5\xC0\x6F\x1D\xA9\xF1\xA4\x4A\xA2\x3F\xAD\x9B\x83\x04\x42\xA8\xC8\xA6\xB9\xA7\x0F\xAE\x7E\xA9\xC0\x88\xA2\x8B\x4F\xEB\x70\x4E\xA8\xE7\xA4\x76\x69\x8A\xA1\x3D\xB3\xA2\x89\x50\xD7\xA8\xF0\xA7\x81\x03\xED\x57\x21\x0E\x08\x0B\x09\x0F\x02\x2B\x02\x90\x01\x95\x02\x10\x5C\x89\xA2\x46\xB4\xCD\x63\x51\xF9\xA7\xA6\x7D\x33\xA8\xFF\xA5\x7F\x9A\x46\xBF\x9F\xA5\x32\xED\xA8\x03\xA9\x29\xA6\xB0\x68\x8E\xA7\x40\xB4\x6A\x74\x51\x8B\xA8\x80\x7F\x3B\xAA\x03\xA8\x54\x9A\x47\xB1\xA0\x84\x0C\xFD\xA8\x14\xA9\x7E\x88\x20\xAF\x82\xAB\x0E\x83\xA4\x9A\x50\xAC\x85\x86\xA8\x0F\xAB\x06\xA9\x20\x09\x48\xA1\xA1\xBB\xC2\x0D\xA9\x24\xA9\x47\xAA\x19\xAB\x92\xA0\x44\xA6\xCF\x50\x52\xA7\xA8\x30\xA1\x81\x03\x25\xAA\x85\xAA\x70\x7B\xA4\xAE\x50\x9B\x7E\x9E\xA8\x19\xAB\xBA\x9A\x93\xAA\xB2\x61\xA5\xB5\x50\xFC\xA8\x3E\xA8\x46\xAA\x11\xAA\x20\x06\x4A\xB9\xA1\xAA\x3D\xBC\x76\xAD\xA8\x1E\xAB\xA8\x8C\x21\x01\x4B\xA3", - "\xA2\xA0\x28\xAA\xA9\x59\xA8\x56\xA9\x29\xAB\x97\xA7\x45\x95\xA5\x89\x51\xF2\x70\xBE\xA9\x27\xAB\xFB\x69\x98\xA2\x45\xAE\x71\x81\x04\x15\x46\x55\x84\x64\xA8\x19\xAF\x21\x0A\x4C\xA8\xA3\xB0\xFA\x4D\xA9\x6B\xA8\x38\x9C\x34\xAE\x8D\xA4\x0C\xA3\x08\x13\x53\xF1\xA8\xAE\xA4\x61\x6F\x35\xAD\x8E\xAB\x12\x1B\xA6\xB8\x51\x8A\x6E\xDE\xA9\x3D\xAA\x97\x81\x9C\xAE\x47\xB7\x4F\xA4\x53\x81\xA9\x04\x87\x73\xA8\x21\xAD\x9F\x8A\x4E\xA7\xA4\xA9\x11\xED\xA9\x8A\xA9\xD4\x98\x43\x00\x9E\xAE\x48\xA5\x88\x74\x53\x91\xA9\xF6\xA8\xDA\x73\x3D\xA8\x93\xA2\x1E\x7B\xA7\x9C\x52\x87\x91\xF3\xA9\x55\xAB\x31\xAA\x65\x7E\x4F\xBF\xA4\x9D\xFD\x05\xAA\xA2\xA8\xB3\xA0\x00\x00\xA1\xA7\x4A\xA3\xA7\x84\x54\xA9\xA9\x0B\xAA\x81\xA9\x44\xAD\x92\xA7\xC5\x6C\xA8\xAE\x52\xDA\xA7\xC0\x6E\x8B\xAA\x2C\xAE\x3C\x9A\x51\xB6\xA5\xA3\x1E\x9D\xAA\xBF\xA8\x37\x70\x48\xAA\x98\xAC\xBA\x63\xA9\x85\x53\xEB\x70\x26\xAB\x2A\xA8\xA4\x69\xA5\xA5\x3D\xAF\xA6\xBB\x07\xC4\x58\x0F\x02\x1F\x58\x43\x02\x5E\x4F\x10\x04\x61\x4C\x04\x39\x3C\xBC\xA2\x34\xA5\x4E\xAB\x4E\xAB\x53\xAC\x08", - "\x32\x7D\x4B\xA9\x3E\xAA\xDA\x73\x4F\xAE\x99\xAB\xEF\x63\xAA\x91\x53\x8F\xA0\x46\xAA\x6A\xA9\x4E\xA2\x20\x09\x54\xB8\xA6\xA9\x4C\xAC\x77\x4D\xAA\x6E\xAB\x43\x01\xAA\xAF\x4D\xB8\xAE\x54\x55\xE2\xA9\xA6\x7D\xAB\xA9\x39\xA8\x54\x9A\x55\xA8\xA7\xB7\x27\xDD\xAA\xEB\xA8\x82\x84\x58\xAE\x9D\xAB\x0E\x83\xAB\xB1\x53\x94\xA4\x41\xAB\x2B\x8A\x59\xAD\x9E\xA2\x16\x6B\xAB\xB8\x53\xF1\x3E\x42\xAA\x88\xAA\x5B\xAC\x9F\xA2\x2F\xA6\x13\xB3\x55\xFF\xA9\x90\x6D\xBB\xAA\x41\xA8\xF0\x7A\x57\xA9\xA8\x96\x41\xB3\x3C\x2A\x77\xBE\xA9\x43\xA9\xAB\xA2\x57\xB2\xA8\x82\x56\x97\xAA\x16\x93\x2B\x7B\x61\xAB\xA3\xA3\x67\x6B\xAC\x9E\x54\xA7\xA2\x70\xAB\x5C\xA9\x64\xA8\xA8\xAB\x0B\x6E\xAC\xA1\x54\xC2\x6D\x96\xAA\x92\xAA\x1C\x71\xB3\xA7\x52\xAF\xBF\x5C\x56\xAA\xAA\x6B\x71\xCF\xA9\x4B\xAB\x94\xA2\x10\x06\x62\x55\x09\xA6\xAB\x94\xAB\xD2\xAA\xCA\x70\xB5\xA4\x54\xAD\xF8\x6C\x56\xC7\xAA\x2B\xA1\xD7\xAA\x52\xA9\x2B\xAF\x10\x12\xAD\x8E\x55\xC2\xA7\x39\x62\xDB\xAA\x54\xAC\x04\x6A\x5B\xB5\xAA\x90\xDA\x3D\xAB\x58\xAA\x58\x7C\x70\xAB\xAB\xAE\x25\x83\xAE\x9E", - "\x55\xA0\x95\xC6\xAB\xB0\xAB\x7D\x91\xB9\xA4\x56\xB9\x48\xAB\x04\x4C\xAB\x67\xAB\x75\x80\x74\xAC\xAD\xA8\x1F\x73\xAE\xAF\x55\x80\x00\xD6\xAA\xBA\xAB\x7D\x61\xBB\xA8\x57\xB5\xAB\x87\xA9\x5C\xAB\x7B\xAA\xE9\xA6\x99\x80\xBC\xAE\x57\xBD\xFA\x64\x57\x83\xAB\xC2\xAB\xFD\x83\x79\xA8\xB1\xA6\xEA\x6B\xAF\x9B\x54\xEE\xAB\x8F\xAB\x15\xA4\x02\x90\xBE\xA7\x59\xAF\x82\x8C\x34\x74\xAB\x9A\xAA\x22\xA9\x6D\xAA\xA2\xA8\x5F\xBD\xAC\x8A\x51\x81\x02\xFD\xAA\xD0\xAA\xC1\x91\xC0\xA3\x5A\xAE\xAD\xAB\x56\x87\xAC\x57\x88\x02\xAD\xF6\xA5\xB8\xAB\x1F\x8D\x62\x69\x56\x81\x02\x0E\xAD\xD6\xAA\x52\x71\xC2\xA0\x5B\xA3\x81\x94\x58\xB3\xAB\x18\xA4\x86\x03\x85\xAF\xB6\xA0\x40\xA2\xB6\x5B\x58\xBB\xAB\xBB\x61\x0F\xAE\x6F\xAC\x57\x62\x62\xA1\xAE\xBB\xFB\x25\xAC\xC4\xAA\x53\x7C\x8A\xAF\xB8\xAE\x25\x8B\xB1\x8A\x57\xA0\x95\x2E\xAD\xE6\xA8\xC1\x81\xC6\xA1\x5D\xBD\x27\xB4\x58\xD4\xAB\x5C\x89\x1B\xAF\x75\xAA\xCE\x5A\x63\xBA\xAE\xAC\xEE\x3D\xAC\xDD\xAB\xFB\x60\x90\xA9\xBC\xAF\x16\x63\xB2\xA5\x57\xAB\xA8\xE6\x72\x23\xAC\x7A\xAE\x34\xA7\xC6\x6A\xB2\xAC\x57", - "\xB0\x7D\x4E\xAD\x8D\xA9\x94\xA9\xBE\xAB\x67\x8B\x09\x13\x59\xF5\xAB\x4E\x6F\x2B\xAD\x7E\xAE\xC3\xA0\x51\xBA\xB2\xBE\x57\xA7\xA1\x0F\x02\x2F\xAE\x80\xAC\x14\xA6\x65\xB2\xA8\xA2\x59\x85\xAC\x7F\xAA\x81\x03\x99\xAB\xC1\xA7\xF0\x8A\xB3\xAA\xEC\x6B\xAC\xDD\xA7\x82\x60\x9C\xA9\x7C\xA4\x4A\x73\xB3\xA9\x4F\x90\x6D\x76\xAC\xF6\xA6\xC2\x69\xCF\xA4\x14\xA9\xB3\x81\x04\x54\x39\x12\xAC\xBA\x70\xA0\xAD\xC2\xA4\xD3\x63\xB4\x98\x58\xD1\x9C\x72\x5C\x43\xAC\x87\xAD\x94\x9A\x68\xA0\xB1\x85\xC4\x0D\xAD\x23\xAD\xF7\x6C\xA4\xAE\xC4\xAB\x62\x73\xB4\xA9\x58\xB0\x7D\x96\xAC\x16\xAE\xA9\x79\xD3\xAF\x62\xBE\x12\x9C\x5A\xB2\xAC\xF7\x93\x4F\xAD\x8D\xAC\x60\x82\x6A\xB8\xB1\x8D\x73\x7B\x83\xA5\xAD\x1D\xAF\xA9\xAF\x8A\x89\x6A\xBE\xB1\xA5\xCB\x2D\xAD\x41\xAD\x31\x64\xAC\xAC\xC8\xAF\x10\xB7\xE2\x73\x5A\xC7\xAC\xE2\xAA\x86\x1B\xAD\xAB\xC9\xAD\xF0\x7B\xB5\x8F\x59\xFB\x7D\xBE\xAD\x8D\xAB\x25\x61\xD8\xA4\x65\xA6\xB3\x44\x5B\xD8\xAC\x54\x6F\x63\xAF\x96\xAF\x09\xA7\xA4\x4A\xB6\x9F\x59\xFA\x9D\xBA\xAC\x88\xAA\xB3\xAB\xCC\xA0\x66\xB3\xE6\x28\x5A\xD7", - "\xAD\xAC\xAC\x95\x77\xB4\xA8\xCD\xAD\xF5\x7B\xB6\xAC\x59\x98\xAD\xDA\xAD\xFD\x81\x34\x5B\x20\x09\xCC\x2A\x94\x87\x5A\xD5\x9C\x03\xA5\x4E\xAD\x6E\x69\xDD\xA0\x6A\xA0\x55\xAC\x5B\xA3\xAD\xF7\x93\x77\xAE\xA9\xAF\x21\x0A\x1F\xA8\x90\x8F\x58\xF8\x63\xF2\xAD\xEB\xA9\xBE\xAE\xD5\xAE\x86\x7B\xB7\xB1\x5A\xF2\x70\xFE\xAC\x5A\xAF\x1A\x71\xE0\xA8\x6B\xB8\xAE\x44\x5C\xBC\xAD\x1B\x7F\x83\xAF\xAF\xAD\xE1\x7A\x70\xA2\xB6\x83\x4A\x8E\xAD\x62\x63\x86\xAD\xB1\xAD\xE3\x62\x71\xA8\xB6\x88\xBF\x15\xAE\xCB\xAD\xEC\x60\xC6\xAF\xD9\xAF\x7B\x8F\xB8\x91\x5A\xDA\x9F\x1E\xAE\x4A\xAD\xC2\xAA\x65\x7B\x71\xB4\xB6\xAA\x42\xF3\xA3\x57\x89\x92\xAC\xB7\xA8\xF0\x71\x28\xA0\x00\x02\x49\x8C\x02\x4A\xA4\x7E\x40\x38\x2E\xDC\xAB\x68\xB5\xA6\x9B\x36\x88\xA5\xF7\xAD\x83\xA0\xCA\xA9\xE7\xAA\xE5\x8A\x5E\xAA\x5C\xDF\xAD\x4C\xAD\x69\x83\x9A\xA5\x4D\xA3\x74\xBA\x8D\xBA\x54\xF7\xA4\x47\xAE\x35\xA5\xD2\xAD\x4E\xAF\x10\x0B\x93\xBF\x5C\xF1\xAC\x00\x91\x96\xAD\xCB\xAF\xE9\xA4\x67\xB2\x7C\xBB\x5C\x81\xAD\x80\x7E\xAA\xAF\x9D\xAB\xE0\xA4\x72\xBD\xBA\xA9\x5C\xFB\x83", - "\x1E\x59\x2A\x85\xD8\xAF\xDE\xA3\x76\xB8\xBA\x8A\xDC\x65\xAE\x84\xAC\x56\x84\xDA\xAF\xDC\xA9\x2A\xAC\x08\x2B\x5D\xB5\xAE\x4B\xAB\x80\x03\xDB\xA8\xE2\xA0\x00\x13\xBB\x9F\x5C\xF2\x70\x76\xAE\x91\xAD\xD7\x79\xEF\xA7\x69\xBB\xF7\x7C\x5D\x9A\xAD\xB0\x7D\xBF\xAE\xBA\xA9\xF0\xAA\xB2\x62\xBC\xAD\x5B\x83\xA1\x75\xAF\xC2\xAE\xE2\xAA\xEC\xA4\x9B\x66\xBC\xB0\x5B\x98\xAA\xE6\x72\xC7\xAF\xBC\xA9\x91\x9F\x10\x12\xBC\xAA\x5A\x95\xAF\x8B\xAE\x9E\xAD\x36\x96\xF2\xAC\x6F\xA2\xB6\x5C\x5E\xFF\xAD\x6E\x71\xCF\xAE\xC0\xAF\xFA\x9B\x12\x02\xBD\x85\x5C\xB5\xAD\x67\x78\xD3\xAC\xC2\xAE\xDF\x9C\xB3\x6A\xBD\x8B\x5C\x91\xA1\xA9\xAE\xB0\xAE\xEC\xAF\x8A\x8E\x7A\xBB\xA8\xB5\x5E\x93\xAE\xEF\x6B\xDB\xAE\xC5\xAE\xCC\x6A\x7B\xB9\xB8\x94\xDD\x3D\xAF\x1C\xAF\xD1\x8C\x0A\x5F\xDE\xA3\x7C\xA6\xBB\xAF\xC5\x45\xAF\x69\xAF\x34\x88\xF2\xAC\xED\xA8\xBE\x8B\xBE\xB0\x5D\xB4\xAB\x0C\x02\xE7\xAC\xDD\xAA\xCE\x52\x7D\xB7\xBB\x9F\xD1\x55\xAF\x7A\xAE\xC0\x7C\xF6\xAD\xEF\xAD\xF0\x7B\xBE\x80\x5E\xFB\x7D\xDE\xAF\xC1\xAC\xF8\xAA\x65\x71\x7E\xA7\xBC\xA6\xFA\x65\xAF\x8F", - "\xAE\xC4\xAC\xFA\xAB\xF2\xA3\x10\x0B\xBF\x97\x5E\xD1\xAF\xB4\x72\xF7\xAD\xE7\xA8\x23\x62\x7F\xA0\xBD\x9D\x5C\x8F\x02\xF5\xAF\xD1\xAC\xC8\xA8\xFF\xA4\x7E\xBD\xBF\x92\x56\x80\x00\xF9\xAF\xD3\xAF\x1A\x71\x00\xBB\x7A\xBA\xBE\x90\x54\x84\xB0\xAF\xAE\xD6\xAE\x72\x78\x01\xBC\x58\xBA\xBE\x4C\x60\xB8\xAF\x24\x97\x95\x03\x03\xB3\xF7\xA1\xEB\x93\xC0\xBE\x5E\xD5\xAC\xFC\xAF\x2B\x8A\x05\xB1\xF8\xAE\x74\x7B\xC0\xA6\x5C\xC2\x6D\x1E\xB1\x95\xAE\xC2\x69\x04\xB0\x74\xBD\xBE\xBB\x07\xBF\x39\xC9\xAF\xF3\x74\x0A\xB4\xF9\xAC\x01\x8B\xC1\x8F\x5F\x99\xAC\x03\x02\x17\xB3\xF4\xA8\x97\x3A\xB2\x72\xC1\x96\x5F\xC2\x6D\x36\xB1\xEC\xAC\x02\x69\x07\xBC\x7D\xBB\xF8\x7C\x60\xDF\xAF\x0D\x7F\x1F\xB2\xF8\xA9\x08\xB5\x83\xA5\xC2\x97\x11\xC2\xB0\xE6\xAF\xAD\xA7\x43\x00\x09\xB9\x7E\xA6\xF5\x4C\x61\xEC\xAF\x02\x03\x27\xB3\x75\xAA\x0A\xB3\x7F\xB9\x8E\x54\x61\xF6\xAF\xCC\xAC\x1A\xB0\x45\xAF\x8C\x77\x85\xBA\xBF\xB2\xE1\x5D\xB0\x02\xB1\xF7\x6C\x18\xB5\x00\xB9\xBA\x83\xC3\x89\x60\x80\x7F\x66\xB1\x8D\xA9\x1A\xB0\x02\xBB\x6A\x8B\xC3\x94\x60\xE0\xA4\x0C\x1A", - "\x37\xB3\x05\xB4\xD5\x9B\x84\xB2\xA8\xB2\x61\x9C\xB0\xE2\xA7\x3B\xB3\x07\xB3\xF4\x8A\x87\xA2\xC1\x98\xD7\x7D\xB0\x25\xB0\x1F\xB2\x11\xB2\xF3\xAE\xCB\x23\xC4\x86\x5F\xC6\xA9\x73\x41\x95\x02\x2B\x5F\x21\x09\xCA\x4F\x08\x1A\xA3\x29\xB0\xC1\x79\x47\xB0\x0B\xB3\x02\x82\x89\xAF\xC1\x88\x5A\xAB\x02\x95\xB1\x19\xB2\x23\xB2\x65\x79\x89\xB7\xC1\xBD\xDB\x1D\xB1\x3A\xB1\xB7\x60\x28\xB5\x07\xBD\xF5\x63\xC5\x80\x61\x9B\x7E\xA6\xB1\x21\xB0\x2A\xB4\x13\xBC\x8A\xB7\x22\xA9\x62\xC9\xB0\xA4\xAB\x80\x03\x2B\xB5\x09\xB0\xEB\x73\xC5\x90\x61\xB2\xB1\xB4\x72\x5B\xB3\x75\xAA\x17\xB5\x85\xB2\xAF\xB7\x19\xBC\xB1\x58\xB0\x8A\x97\x34\x80\x18\xBE\x85\xAE\xC3\x44\x63\xE1\xB0\xAC\x77\x63\xB0\x19\xB5\xD1\x93\x10\x0A\xC6\xA7\x61\x8A\x6E\xCE\xB1\x8D\xA9\x34\xB4\x0D\xB5\x59\x9B\xC4\x9B\x61\xC3\xB1\x10\xAB\x69\xB3\x1B\xB1\x02\xB6\x8D\xA4\xC4\xAE\x09\xDA\xB1\x73\xB1\x58\x9C\x38\xB0\x0F\xB4\x4A\x63\xC7\xBB\x61\xCE\x6E\xE6\xB0\x3F\xB0\xA4\x69\x1D\xB1\x88\xA5\xC5\xAD\x62\xDE\xB1\x5A\x90\x56\x5B\x43\x00\x7D\x5F\x10\x0A\x5F\x73\x63\xAB\x02\x0C\x59\x7A", - "\xB0\x3E\xB3\x25\x0F\xC0\x5A\xC7\x8F\x04\x7D\xB1\x0C\x02\x05\x5A\x3F\xB1\x20\xBB\x12\x0B\x05\x2B\x04\x2C\x01\x2B\x02\x19\x5B\x43\x04\x86\x5F\x10\x0C\x12\x4F\x04\x30\x58\x0F\x02\xE1\x57\x43\x02\x16\x04\x9B\x74\xC8\x95\x09\x96\xB2\xF0\xB1\x80\x00\x46\xB7\x10\xBB\x86\x7B\xC8\x90\x62\x84\x86\x1E\xB3\x49\xB1\xFF\x91\x24\xB6\x89\xB5\x72\xA4\x64\x9A\xB1\x0C\x03\x93\xB2\x27\xB6\xE9\x6A\x92\xA1\xC5\x90\xDA\x2D\xB2\xA4\xB0\xC0\x7C\x4C\xB7\x14\xBD\xF5\x73\xC9\xAA\x62\xB5\xB2\xFB\x82\x9B\xB0\x2C\xB5\xE1\x7A\x93\xB4\xC5\xBB\xFB\x3D\xB2\xD4\xAA\xA0\xB3\x75\xAA\x28\xBD\x8B\xA7\x75\x83\x04\x44\xB2\xC1\xB0\x5F\xB2\x99\x80\x29\xB5\x8C\xA2\xB6\x4C\x65\xC8\xB1\x72\x71\xA7\xB3\x32\xB0\x11\xB2\x95\xAF\xC6\x98\xD7\x55\xB2\x1B\xAA\xAC\xB0\x35\xB4\x2B\x97\x94\xB2\xA8\x9A\x65\xDB\xB1\xAB\x8D\xAF\xB1\x38\xB0\x0E\xBB\x12\x02\xCB\xA4\x63\xD6\xAE\x1A\xB3\x9C\xB2\xCA\x76\x2C\xB7\x8E\xB4\xBA\x6C\x65\xEA\xB1\x1D\xB3\xB5\xB2\x5C\xB7\xFF\xA0\xBC\x56\xD0\x4F\x04\x75\xB2\xA5\x74\x09\x4C\x5E\xB4\x57\x76\x61\x5B\xCB\x84\xEA\x21\x74\x0F\x02\x14\x75", - "\x40\x06\x2F\xB9\xA8\x60\xCC\x8C\x04\x02\xB3\x00\x00\xC2\xB2\x94\x70\xB6\x17\xA4\x4A\xCC\x9E\xE9\x66\x84\x8E\xB3\x87\x02\x8D\x71\x32\xBC\x10\x0E\xD4\x6F\xAE\x3F\x75\x0F\x22\xCA\xB2\x9B\x53\x25\x0A\x99\xA2\x08\x10\xAA\x1D\xB3\x2E\x50\xCE\xB0\x66\xB1\x20\x04\xAF\x57\xCC\x9E\xEA\x4B\x74\x0F\x03\x30\x54\x68\xB2\x16\x42\x9A\xA7\xCD\x85\xEA\x08\x90\xAB\xB3\x55\x75\x6B\xB1\x56\x7E\xAA\x60\xD5\x4C\x04\x31\xB3\xDA\x6E\xDC\xB0\xF0\x6B\x35\xBA\xAB\x77\xCD\xA3\x66\xAD\x3D\x77\xB3\xDF\xB0\xB7\x12\x72\x5F\xA6\x6C\x08\x04\x67\xB4\xB3\x12\x4D\xE3\xB1\x5E\xB0\x72\x22\x10\x0A\xCE\xBC\x65\x82\x02\x27\x75\x95\x02\x73\xB7\x2F\xB0\x9D\xBE\xD3\x46\x67\xBF\xB3\x8C\xB2\xE9\xB0\x76\xB1\x7A\x63\x9D\xA5\xCC\x82\x04\x36\x74\xDD\xB3\x46\x76\x76\xB6\x35\xB6\x61\x41\xCF\x93\xEA\x0F\x02\xE6\xB2\x21\x74\x7A\xB7\x37\xB0\x87\x49\xCF\x9C\xEA\x57\xB3\xE4\xB3\xDA\xB1\x6A\xB3\x3C\xB8\x9C\xAC\xCD\xAB\x67\xF1\xB3\xB5\x75\x2B\x7A\x7B\xB2\x56\x70\x7C\x7B\xCF\xB2\x67\x8C\x02\x61\x54\xFF\xB1\x7E\xB0\x01\x92\xA0\xB3\xD2\x7D\x67\xBF\xB3\xBD\xB3\x81\x01\x81", - "\xB0\xF9\x15\xA0\xBC\x56\x36\x63\x8C\x02\x94\x57\x87\x02\x2D\x03\x25\x03\xA1\xB2\xD0\x94\x68\x97\xB4\x16\xB5\x0C\xB4\x43\x05\x42\xBB\xA1\xB8\xD0\x9D\x68\x9A\xB4\x03\x02\x0E\xB5\x88\xB6\x43\xB3\xA2\xAF\x08\x37\x02\x2B\x02\x0F\xB5\x81\x03\x89\xB7\x21\x02\xBB\x43\xC8\x83\x04\x2D\xB4\x0C\x03\x5C\x03\x4A\x04\x77\x5C\x10\x14\xD1\x83\x04\x68\x58\x2E\xB4\x81\x00\x8E\xB4\x21\x06\xC6\x59\xD1\x81\x04\x3D\xB4\x0C\x02\xF9\x57\x43\x02\x48\xB1\xA4\xAB\x09\x04\x69\x83\x02\x47\xB4\x81\x01\x92\xB1\x20\x0B\xA4\xA0\x00\x0D\x69\xCF\xB4\x46\xB5\x28\xB7\x90\xB2\x4A\xB5\xA4\xB3\xD2\x8F\x04\x3E\x01\x2B\x02\x19\xB7\x95\xB3\x46\xBB\x12\x18\xD2\x8F\x04\x36\xB4\x08\x90\x86\x1B\x91\x52\x4C\xB1\x3D\x7F\x05\x2B\x04\x40\x01\x2B\x03\x60\x01\x9A\xB3\x4D\xBF\x10\x0A\xD3\xAD\x69\xEC\xB4\x0C\x02\x37\xB5\x9C\xB0\x4E\xB3\x10\x12\xD3\xB5\x69\xF4\xB4\x02\x02\x3B\xB5\x9E\xB0\x4F\xB1\x10\x1A\xD3\x81\x04\x42\x01\xB4\x72\x40\xB5\x95\x82\x50\xB9\x91\xA0\x00\x04\x6A\x9C\xB2\xEF\x6F\x43\xB7\x47\xB7\x3E\x9A\xA8\xA2\xC9\xB0\x39\x8D\xB5\x25\xB2\x05\x98\xA4\xB0", - "\x25\xB3\x10\x13\xD4\xAB\x64\xD4\x6E\x96\xB4\x97\xB3\x1A\x71\x53\xB1\x93\xAA\xB8\x5C\x6A\xB4\xB2\x80\x7F\x4F\xB7\x4D\xB1\x54\xBB\x1F\x82\xD5\xBB\x64\x9B\x7E\xA6\xB4\x9F\xB1\xC3\x79\x55\xB4\x5D\xAC\xD5\x97\x57\xAE\xB5\x45\xB2\x3A\xB0\x43\x00\x56\xB9\x94\xBC\x78\xAB\x04\x34\xB5\x4D\xB3\x7E\x6C\xAE\xB0\x2A\xBE\x86\x7B\xD5\x93\x65\xE7\xA3\x7F\xB4\x95\x76\xAF\xB6\x2A\xB0\x69\x63\xD6\x8D\x60\xBC\x76\xC6\xB5\xAD\xB2\xF7\xA7\x56\xB0\x51\xA9\xD6\xA0\x65\xC8\xA0\xCE\xB5\xB1\xB1\x02\x99\x5A\xB7\x96\xB1\x75\x94\x6B\xED\xB2\xA4\x69\x6B\xB4\x5C\xB1\x51\xB2\xAC\xBD\xD6\x97\x11\xDA\xB5\xED\xB0\x99\x9F\x43\x06\x86\x53\xAE\xAB\x09\x24\x6B\x8C\x02\xE7\xB5\x81\x01\xBA\xB2\x20\x0B\xAE\xA1\x08\x2D\x6B\x80\x00\xEF\xB5\x78\xB6\xB9\xB3\x5E\xB5\xAE\xB5\xD7\xA8\x6B\xF4\xB5\x0C\x02\x1C\x5B\x43\x02\x5F\xB9\xAF\xAB\x09\x3C\x6B\x83\x02\xFF\xB4\x81\x01\xC0\xB1\x20\x03\xB0\xA0\x00\x05\x6C\x87\xB6\xFE\xB5\x84\xB7\xBE\xB2\x61\xBD\xAF\xAB\xD8\x8F\x04\x45\x01\x2B\x02\x88\xB7\xC3\xB1\x62\xB4\xB1\xB3\xD8\x96\x6C\x8C\x02\x12\xB6\x8C\xB5\xC5\xB2\x63", - "\xB7\xB1\xA3\x08\x19\x6C\x9E\xB6\x1B\xB6\x90\xB7\x43\x06\x18\x0B\x12\x04\xD9\xA3\x6C\xA5\xB6\x28\xB7\x93\xB6\xCA\xB4\x21\x06\xB2\xAC\xD9\xA9\x6C\xAE\xB6\x2B\xB7\x81\x01\xCB\xB2\x66\xBF\xB2\xB4\xD9\x8F\x04\x47\x01\xB4\x72\x9C\xB5\x95\x82\x67\xB5\xA8\xBC\xD9\x88\x6A\xAC\x77\x3E\xB7\x45\xB4\xA8\x91\x68\xBE\xA8\xAF\x80\x84\x6D\x91\xB5\x4E\x87\xA3\xB4\xA5\xB2\x20\x0A\xB4\xB7\xD4\xA4\xD2\x4D\xB6\x9A\xB5\xF7\x6C\xD4\xB5\x53\xB8\x5D\x73\xDA\xA0\x6A\x8A\x6E\x56\xB7\x51\xB4\xD6\xB3\x3F\x89\xB5\xA7\xD5\x9D\xFD\x5D\xB6\xAA\xB5\x8D\x7C\xD8\xB4\xBA\xA3\xB6\xB7\xAE\xA5\x6D\xB1\xB5\xF5\x9B\x23\x57\xD9\xB5\x56\xB7\xBC\x97\xD9\xAA\xEC\x6B\xB6\xB9\xB4\xA7\x6C\xDC\xB4\x57\xB7\x4B\xA0\x00\x33\x6D\xBF\xB5\x52\xB7\xB7\xB4\x44\xAF\x6E\xB4\xAC\xB5\xAB\x8C\x34\x7C\xB6\xC7\xB4\xF3\x70\xE0\xB2\x59\xBC\xD3\x87\xE3\x43\x6E\xCF\xB5\x2C\x97\xC3\xB6\xB4\xB3\xB0\x7A\xB8\xB5\xD6\xAF\xD7\x0D\xB7\xD8\xB4\x33\x6C\xE4\xB3\x5B\xB0\xB4\xBA\xDB\x97\x11\x93\xB7\xE1\xB5\xD4\x94\x32\x04\x36\x7B\xB9\xB5\x12\x9D\x6E\x85\xB5\x9F\xB7\x9F\xB6\x1C\x71\x74\xB2", - "\xB4\xBE\x12\xA4\x6E\xC5\xB6\x2B\xA1\xD3\xB4\xD2\xB4\x03\x8A\xBA\xAB\xDA\x81\x04\x2D\xB7\x4E\xB6\x33\x6C\xEC\xB1\x6A\xBC\xBA\x73\xDD\x94\x6D\x90\x6D\xB6\xB7\xAB\xB4\x76\x69\x77\xBA\xB5\xBB\xDD\xBB\x07\xBC\xB7\x5E\xB6\xC0\x7C\xF0\xB1\x6C\xBD\xF5\x63\xDE\x94\x57\xC6\xB7\xD7\xAA\xE4\xB4\xDA\xB0\x4C\xA7\xA4\x4A\xDE\xAC\x6D\xF5\x9B\x0C\x1A\xE7\xB5\xDC\xB4\xEA\x62\xBD\xB4\xDB\xBD\xDB\x55\xB7\x78\xB7\xFF\xA8\x00\x00\x7B\xBD\xB7\xAF\xBF\x5C\x6F\x9B\xAA\xDF\xB6\xC2\xB7\x4F\x9D\x79\xB2\x51\xA1\xDF\x88\x6E\x94\x99\x0F\x02\xF3\xB7\xE2\xB0\x09\xAA\xBE\xAE\xDC\x89\x30\xED\xB7\x91\xB7\x58\x9C\xFC\xB4\x72\xB3\xBA\xAA\xD9\x73\x6F\x99\xB7\xBE\xB7\x2B\x8B\xFD\xB0\xEA\xA8\x1F\x7B\xDF\x95\x5D\xB1\x9D\x88\xB2\xC4\xB1\x32\x00\x45\xBB\x12\x03\xE0\x8F\x04\x4A\x01\x04\xB9\x03\xBB\x4A\x03\x19\x0B\x12\x0C\x06\x35\x6C\x82\x02\xCD\x01\x06\xBB\x03\xB9\x20\x0E\xC0\xB1\xD9\x82\x04\x15\xB8\x30\xB6\x86\x00\x06\xBE\x66\xBA\xC1\xB3\xE0\x80\x00\x1B\xB8\x02\x03\x99\xB7\x05\xBE\x83\xB0\xC2\xA1\x08\x22\x70\x94\xB8\x24\xB9\x14\xBA\x05\xB8\x85\xBB\xC2", - "\xBF\xE0\xAA\x70\x99\xB8\x03\x03\x12\xB8\x00\x07\x84\xB0\x00\x0E\x06\x1E\x70\xB6\xB8\x2D\xB8\x1C\xB8\x0C\xBA\x20\x0A\xC3\xBC\xE0\x83\x04\x3D\xB8\x21\xB9\x95\x00\x10\xBE\x84\xB2\xC4\xB7\xE1\x86\x71\xB9\xB8\x47\xB9\x1D\xB9\x40\x03\x88\xB3\xC3\xA5\xE2\x88\x71\xCF\xB8\x4A\xB9\x1A\xBA\x07\xBF\x19\x0B\x12\x10\x06\x2B\x04\x51\x01\x57\xB9\x2C\xBB\x43\x00\x8B\xBB\xC5\xBA\xE2\x8C\x04\x5C\xB8\x5F\xB8\x2F\xBB\x40\x00\x8C\xB3\xC6\xA2\xE3\x82\x04\x64\xB8\x67\xB8\x33\xB9\x40\x00\x8D\xB1\x10\x12\x06\x2B\x04\x6E\xB8\x0F\x02\x38\xB8\x43\x02\x8E\xB3\x10\x14\xE3\x82\x04\x76\xB8\x6D\xB9\x37\xBA\x1E\xB9\x8E\xBB\xC7\xB3\xE3\xBD\x71\xF5\xB8\x7F\xB9\x3B\xBB\x4A\x03\x1A\x05\xFB\x22\x08\x04\x72\xF8\xB3\xCC\xB3\x80\x03\x21\xBD\x3E\xBD\x4F\x0B\xE4\x8B\x67\xD1\xB3\x0F\x02\x47\xBB\x73\xB1\x20\x00\xC9\xAC\x08\x12\x72\xD4\xB3\x03\xB5\x3B\x8F\x25\xBE\x3B\xB9\xC9\xA6\x13\x9B\x72\xD2\x74\x36\x75\x4F\xBB\x4A\x06\x32\xBA\xC8\xBF\xCD\x8D\x72\xBF\xB3\x90\x54\x51\xBA\x7A\xB6\x92\xBC\x9E\xA3\xE4\xBF\x66\xA5\xB3\xA5\xB8\x44\xB9\x82\xB6\x90\xBF\x9B\xB7", - "\x89\x2A\x72\xAF\xB3\x9A\xB9\xED\xB0\xF0\x6F\x96\xB3\x10\x13\xE5\xB1\x72\xF5\xB3\xD9\xB3\x48\xBA\x2E\xBA\xB9\x7C\xCB\xBF\xCF\x83\x04\x61\x54\xC5\xB9\x03\x3F\x40\x04\x1A\x0E\xCA\xA8\xE4\x9C\x2B\x55\x01\x85\xB9\x80\x00\x34\xB8\x91\xBD\x4F\x13\xE6\x8C\x72\xAB\x02\xD6\xB9\x47\xBA\x75\xB3\x20\x09\xCD\xB3\xE4\x80\x00\x15\xB9\xDC\xB9\x61\xBB\x15\x7D\x9B\xB8\xC9\xA6\xD0\x8A\xF7\x64\xB9\x9C\xB8\x00\x02\x8D\x70\x9D\xB2\x9E\xAF\x08\x2C\x73\xB5\x25\xEF\xB9\x55\xB9\x38\xB8\x91\xB0\xA9\x51\xE7\x8C\x04\x70\x50\xF6\xB9\x81\x00\x2C\xB8\x00\x09\xCF\xA6\xE6\x82\x04\x61\x54\xFD\xB9\xA7\x42\x3B\xBA\x9C\xB8\x80\x81\xE8\xA6\x73\x96\x7E\x06\xBA\x5F\xB8\x3F\xBC\xA0\xB7\x67\x86\xE8\xB2\x66\x83\xBA\xB2\xB8\xDB\xB3\x3C\xBD\x3E\xB8\xFC\x16\x06\x18\x73\xC2\xB3\x2B\x03\x6B\x01\x46\xBB\x25\x08\x0D\x1C\xE8\xAB\x04\x59\x01\x1F\xBB\x95\x02\x36\x03\x25\x0B\x0D\x0B\x09\x1C\x03\x2B\x02\xDD\x01\x95\x02\x37\x03\x25\x0F\x0D\x0B\x09\x20\x03\x22\xBA\x2E\xBB\x95\x01\x38\x00\xA6\xBF\x10\x13\xE9\x8F\x04\x62\x01\x34\xBA\x86\x00\x4E\xBF\x21\x03\x0E\x19\xE9", - "\x83\x04\x3D\xBA\x0F\x02\x72\x02\x4F\xBA\x20\x05\x0E\x06\xE9\xAB\x04\x42\xBA\x0F\x03\xA2\xBB\x43\x06\x1C\x03\xD4\xA1\x08\x27\x03\x46\xBA\x4B\xBB\x95\x03\x53\xBF\x21\x08\x0E\x10\xEA\x8C\x04\x55\xBA\x0F\x03\x74\x03\x4A\x02\x1D\x0B\x12\x0B\x07\x1D\x75\xDF\xBA\x0F\x02\xAF\xB9\x58\xB8\xAC\xBC\x10\x02\xEB\xA5\x75\xE4\xBA\x03\x02\xB3\xB9\x5A\xB8\xAD\xB2\x10\x0A\xEB\xAD\x75\xEC\xBA\x01\x02\xB7\xB9\x40\x04\x1D\x0B\x12\x1A\xEA\x8F\x04\x74\xBA\x0F\x03\x76\x01\x5D\xBB\x25\x0A\xD7\xB3\xCF\xBE\x75\x80\xB4\x2B\x02\x77\x01\x60\xBB\xB0\xBF\x10\x02\xEC\x85\x76\x84\xBB\x0C\x02\xC3\xB9\x62\xB8\xB1\xB3\x10\x0A\xEC\x8D\x76\x8C\xBB\x02\x02\xC7\xB9\x64\xB8\xB2\xB1\x10\x12\xEC\x81\x04\x6F\x01\x2B\x02\xCC\xBB\x43\x02\xB3\xBC\x10\x1C\xEC\x83\x04\x70\x01\xB4\x72\xD0\xB9\x95\x82\xB4\xB5\xA8\xA4\xED\xA2\x6E\xEE\x70\xA6\xBB\xD2\xB6\xA9\x79\xB5\xB8\xBA\xA3\x81\xAC\x76\xAB\xB7\x13\x81\xD7\xBA\xEB\xB0\x00\x02\xDB\xB1\xDD\x9D\xDC\x35\xBB\xB4\xB6\x39\x70\x6E\xBF\x76\xBB\x86\x7B\xED\xBA\x6E\x90\x6D\xBE\xBB\xDE\xB4\x70\xBB\x3F\x81\xDC\xA1\xDE\x8A", - "\xDC\x45\xBB\xC4\xB6\xC0\x7C\x72\xBC\xBA\xAB\xDC\xB7\xAE\x8D\x77\xCB\xB7\xD7\x8D\x23\x57\x73\xBF\x79\xB4\x96\xAF\x08\x13\x77\xD3\xB7\xA4\x69\xEB\xBA\xF5\xB6\xE9\x6A\xDD\xB9\xDE\x8E\x3E\x9F\xBB\x2A\x77\xEE\xB9\xF7\xB4\x75\x72\xDE\xA1\xDC\x97\xF1\x65\xBB\xE2\xB6\x2B\x9E\x99\x80\xBD\xB7\xBE\xA5\xDC\xB7\x19\xEC\xBB\xEB\xB7\x1E\x8E\x75\xBC\xB8\xB4\xDF\xB7\x22\xB0\x77\xEE\xB7\x7F\x5D\xFB\xB9\xFC\xB7\xBD\x6A\xDF\xB4\xDF\xA8\x76\xE1\xBB\xFB\x83\x78\x03\x4A\x02\xC0\xBF\x10\x04\xF0\x8C\x04\x06\xBC\x03\x02\x79\x03\x4A\x02\xC1\xBF\x10\x0C\xF0\x8C\x04\x0E\xBC\x09\xBD\x05\xBE\x84\xBD\xC1\xB3\xE1\xAF\xF0\x95\x78\x91\xBC\x14\xBD\x0C\xBE\x85\xBA\xC3\xB3\x10\x13\x07\x2B\x04\x1E\xBC\x0F\x02\x10\xBC\x43\x02\xC4\xBD\xE1\xBF\xF0\xA6\x78\xA1\xBC\x27\xBD\x11\xBD\x8A\xBD\xC4\xB8\xE2\xAD\xF1\xAA\x78\xAE\xBC\x16\x4D\x7E\x08\x38\xBD\x3A\xB1\x98\xAF\xCC\x87\xA9\x0F\xBA\x8A\x75\x51\xB9\xAD\x20\x52\x50\xA9\x50\x43\x7B\x73\x8A\xBA\x37\x23\x60\xB8\x2E\xBE\x4C\x8A\xD0\xA2\xF2\xBC\x67\xCA\x7B\x0A\xBA\xE4\x1C\xB7\x14\x58\x12\xA5\x7D\x27\x0D\x79", - "\xBF\xB3\x33\xBD\x72\xB9\x94\xB9\x9D\xB6\xE4\xBE\xE6\xB8\x78\xCB\xB3\x36\x75\x76\xBB\x35\xBC\x9E\xB8\xCA\xAD\xE5\x88\x72\xFB\xB9\x52\x74\x85\xBA\x94\x77\x26\x2B\x98\xBA\xBE\x65\x79\xC0\x6F\x61\xBC\x89\xBA\x95\xBE\xCC\xBF\x98\xAC\x68\x29\x79\xFF\xBA\xCB\xB2\xE4\x1E\x94\x74\x5B\x14\x0F\x0B\x09\x35\x03\x35\x25\x77\xBC\x9B\x29\x9E\xBC\x21\x03\xE5\xBB\xF3\x86\x66\x83\x02\x88\xB2\x3F\xBE\xA9\x70\x01\x92\xE8\xBD\xE4\x8C\x34\x05\xBD\xEA\xB8\x3B\xBE\x8E\xBF\x21\x08\xE8\xBD\x27\x08\x7A\x90\x55\x8F\xBC\x45\xBD\xA6\x72\xD2\xBF\x9E\xA3\x08\x08\x7A\x8A\xBA\x88\xBD\x9B\x20\xA2\xBD\xCA\xB1\x10\x1B\xF4\x91\xCF\x17\xBD\x6A\xBD\x4E\xBE\x8D\xBC\xD2\xB7\xE4\xB6\xF8\x60\x7A\xF0\xBC\x02\x02\x44\xBC\xF2\x18\xD1\xBC\xAD\x16\x07\x2B\x04\x2E\xBD\x0F\x03\x7B\x03\x4A\x02\xD6\xBF\x10\x18\x07\x2B\x04\x36\xBD\x0F\x03\x7C\x03\xAB\xBB\x25\x0A\xEB\xAF\x08\x30\x7A\x8C\x02\xFA\x01\x5D\xBF\x43\x01\xD8\xBE\xEB\xAB\x09\x3B\x03\x51\xB9\x00\x01\x63\xBC\x35\xBE\xD8\xB6\xCA\xAC\xF6\x88\x72\xD3\xBC\xCA\xBD\xFA\xB0\xB4\xBC\xA1\xBA\xBC\x91\xF6\x8B\x67\xD7", - "\xBC\x02\x02\x6B\xBE\x37\xBE\x46\x7A\xED\xA5\xE7\xA4\x72\xC9\xBD\xCD\xBD\x87\x01\xB7\xB9\x9D\xB0\xA9\x43\xF7\x96\xEA\x4E\xBD\xF5\xB2\x38\x52\xB9\xBB\x25\x0B\xCF\xAB\xF7\xA8\x66\x80\xBB\xE2\xBD\x5A\xB8\xBA\xBF\xDA\xBA\x7D\x6E\xF7\x83\x79\x8C\x1A\xF6\xBD\x5E\xB9\xA8\xB8\xDC\xB8\xC8\xBC\xF4\xBC\x7B\xC0\xB9\xD1\x67\x7C\xBE\x3F\xB9\x20\x01\xA6\x5C\x07\x33\x7B\xDE\xB9\xC8\x1E\x81\xBD\x40\x04\x5B\x1D\x0F\x08\xF6\x8D\x7C\xCB\xBD\x0F\x03\x87\xBF\x96\xBC\x21\x02\xF1\xBA\xE6\xB5\x78\x91\xBE\x50\xBD\x6D\xBA\x40\x05\xE2\xBB\xE6\xBC\xD9\x5C\x7C\xE5\xB9\xD8\xBD\x80\x03\xC7\xB9\x9D\xB6\xA3\x63\xF9\x9A\x79\x83\x02\x26\xBF\x5A\x25\xCA\xBA\x9E\xBB\xF1\xBD\xF2\x98\x7C\x88\xB9\x70\x51\x95\xBD\xA5\xBD\xE5\xB1\xD1\xA8\xF5\xA2\x7C\xF2\xBD\x2F\xBE\x80\xBE\xC7\xBC\xDA\xBC\xD0\x12\xF9\xBA\x7B\xB6\xBE\x00\x00\x9F\xBF\xA0\xBF\xCE\x82\xF4\xA6\xF4\xAB\x04\x45\xBE\xB9\x75\x7D\xBE\x3F\x07\xE8\xBF\x9B\xA8\x7E\x08\x7D\xCF\x17\xC8\xBD\x18\x4B\x93\xBC\x22\x01\xEE\xB9\x08\x19\x7C\x97\xBE\x56\xBF\x67\xBE\xC6\xB8\x22\x04\xED\xA9\x55\x7C\x7C\xAE\x02", - "\xBF\xB2\x1B\x76\xD4\xBB\xD1\xB9\xF5\xB3\xF8\x9D\x04\x2E\xBE\x65\xBF\xE5\xB0\xA5\x56\xCB\xB9\xF6\xBE\xE6\xBB\x73\xE3\xBE\xEF\xBD\x63\xB8\xD8\xB8\x91\xB8\x2D\x3D\xFA\xB3\x7D\xBA\xBE\xCA\x7A\xB8\xBE\x96\x70\xE8\xBA\xF7\xA5\xF5\x88\x20\xFD\xBE\x43\xBE\x33\x84\xE0\xBD\x4C\x7B\xEF\xA3\xFC\x80\x67\xED\xBE\xE5\xB8\x6E\x16\x13\x54\x1D\x56\x32\x02\x00\x23\xA3\x2B\x62\x27\x04\x07\x02\x43\xB6\x9C\x51\xA1\x1C\x16\x27\x08\x0F\x00\x93\xBE\x74\x59\x78\x19\xF5\x47\x22\x10\x00\x19\x7E\xDF\x59\x31\x12\xCE\xBE\x74\x0F\xF3\xBB\xF8\xA1\x6F\x18\x5B\x27\x04\x12\x00\xD2\xBF\xE3\xB8\x1A\x67\x6A\x13\x00\x2A\x7E\xD2\x1D\x39\x1D\x13\x04\x05\x07\xF5\xB1\xDE\x1D\x27\x27\x08\x15\x00\xB4\xBF\xD7\x62\x8D\x77\x44\x06\x01\x19\xFD\xA9\xBC\x5D\x00\xAB\xBF\x12\x62\xEF\xBA\x0B\x6A\x05\x01\xFE\x98\x00\x43\xBF\xC2\x60\x2A\x01\xF0\xB9\x03\x08\xFC\xB8\x87\x4C\x01\x41\xBF\x1A\x01\xE6\xBC\xB1\x2E\x08\x01\xFC\xBB\x00\x0D\x7F\xF4\x2C\x40\x01\xE0\xBC\x07\x05\xF9\xBD\x30\x1A\x01\x01\x7F\x9D\x00\xCD\xBF\x55\x08\x0D\x01\xF8\xBE\x01\x0D\xFE\xA7\xB6\x1F\x00\xC1", - "\xBF\x0F\x01\xF3\xBD\xBB\x56\x01\x01\xFE\xA0\x00\x4D\xBF\x36\x55\x03\x01\xF0\xB9\x04\x0D\xFC\xBC\x16\x23\x7B\xA7\x04\x22\x01\xE6\xBF\x4D\x58\xD1\xB7\x22\x03\x01\x0D\x7F\xA7\x09\x40\xBB\x08\x14\x09\x05\xF9\xB6\x98\x7B\xE9\x91\x28\x25\x00\xCD\xBE\xCB\x55\x15\x04\x74\x35\x41\x36\x5C\x56\x01\x0C\xC0\x07\x36\xAA\x58\xA4\x57\x44\x06\x02\x0D\xFE\x94\xB5\x61\x54\x27\x05\x13\x01\xF3\xBF\x12\x61\xC6\x07\x11\x28\x00\x1B\xC0\x11\x0F\xF0\x19\x0A\x06\x02\xC0\xF5\x61\x6F\x2A\x00\x4D\xBF\x27\x05\x1D\x43\x89\x03\x05\x04\x02\xCF\x08\x01\x06\xA7\x04\x2C\x01\x16\xC1\x80\x2F\x44\x0D\x02\x12\x01\xF3\x28\xD2\x1D\x2E\x00\x1B\xC2\x40\x00\x2F\x97\x22\x0F\x01\x3A\x80\x81\x02\x1C\x99\x13\x04\x0C\x07\x07\xCB\xBC\x81\x6F\x31\x00\x4D\xBF\x80\x02\x69\x9F\x89\x02\x06\x08\x04\xCD\x81\x92\x3B\x33\x00\x44\xC0\xA0\xA3\x89\x04\x06\x08\x02\xCB\x09\x1D\x4A\x91\x14\x35\x01\x2A\xC1\xBA\xA1\x42\x16\x03\x04\x02\xEB\x49\xA7\x04\x37\x00\x2F\xC2\xB4\x18\x07\x0D\xFC\xB9\x54\x3C\x47\xA7\x04\x39\x01\xE6\xBD\x19\x4D\x02\x07\x4A\x0C\xD2\x4D\x7F\xDC\x75\x16\x01", - "\x36\xC3\x32\x1D\xF9\xBF\xED\xA9\x00\x32\x81\x85\x0B\xCD\xBE\xC4\xB2\x02\x07\x0E\xC1\x67\x0D\xFE\xA9\x9D\x10\x01\x10\xC0\x36\x3A\x61\x76\x01\x0C\x07\xD7\xD5\x4D\x7F\xF0\x24\x12\x01\x42\xC1\x11\x1D\xF9\xB0\xDB\x0B\x00\x0A\x82\xBD\x76\xCD\xBE\x40\x54\x03\x07\x11\xC1\x04\x0D\xFE\xB7\x44\x11\x00\x8F\xC0\x21\x01\xF3\xBA\x4A\x70\x01\x0F\x04\xC3\x01\x4D\xBF\x88\x75\x03\x03\x23\xC4\x08\x0D\xFC\xB4\xF3\x81\x82\x8B\x3B\xC4\x15\x06\x03\x23\xC5\x08\x0D\xFC\xB4\x35\x0F\x00\x0F\xC1\x46\x01\xE6\xBF\x88\x18\x01\x0F\x08\xC7\x02\x25\x81\xF6\xA4\xA7\x0C\x24\x01\xF3\xB9\x26\x0B\x37\xBE\x47\x6E\xA1\x54\x5A\xBD\x4B\x13\x05\x12\x04\x08\xC3\x38\xA1\x6F\x0A\x01\x4D\xBF\x00\x1A\x9F\x1A\xDC\x12\xF6\xB0\x46\xB2\x76\x0B\x01\x5A\xC0\x0C\x02\x99\xA9\x4C\x14\x09\x0D\xFC\xB5\x24\x23\x5B\xA7\x0D\x4D\x01\x6A\xC3\x4A\x00\xA7\xA1\x93\x0E\x02\x1A\x83\xFB\xAB\xE1\x1B\x27\x03\x37\xC7\xA6\xA2\xED\x10\x02\x04\x81\x8D\xB1\x11\x15\x28\x00\x11\xC2\x1E\xB1\xA1\x12\x02\x04\x81\xF9\xB1\x11\x15\x29\x00\x11\xC2\x20\xB1\xA1\x14\x02\x04\x81\x88\xB2\xE1\x1B\x2A", - "\x00\x11\xC0\x22\xB1\xA1\x16\x02\x04\x81\xA4\xB2\x27\x05\x2B\x00\x11\xC5\x3B\xB7\x22\x18\x02\x04\x81\xFE\xB4\xE7\x07\x2C\x00\x34\xC2\x64\xB1\xA1\x1A\x02\x0B\x84\x82\x02\x06\xB9\x08\x17\x16\x07\x21\xC1\x10\x14\xE2\xA1\x37\x5C\x00\x14\xC2\x00\x00\x1B\xBF\x7C\x0D\x05\x0D\xFE\xA5\x12\x2F\xBA\x65\x53\x34\x54\x55\x5E\xA6\xB1\xA1\x1E\x02\x04\x81\xCA\xBA\x11\x15\x2F\x01\xFD\xBB\xAB\xB2\xED\x00\x03\x2B\x84\xF7\xBA\xD2\x1D\x30\x03\x4B\xC3\xB1\xB1\xDE\x02\x03\x19\x84\x88\xBC\xA7\x0D\x31\x03\x4C\xC0\xC3\xB1\xA1\x04\x03\x3B\x84\x82\x02\x75\xBD\xF0\x19\x19\x07\x27\xC1\x10\x1D\xF5\x91\x28\x66\x00\xF0\xBF\xBB\xBD\x4C\x17\x0C\x09\x14\xCC\xFC\xA1\x37\x68\x00\x4D\xC2\xF3\x49\xF0\xB9\x0D\x0B\xFE\xB8\x6B\x41\x7F\xEA\x00\x55\xC3\x71\x05\xF0\xBB\x0D\x09\x15\xC8\x24\x01\x7F\xEC\x00\x5D\xC2\xFB\x09\xF0\xBD\x0D\x06\xFE\xB8\x1E\x41\x7F\xEE\x00\x65\xC3\x87\x00\x07\x01\xF8\xBF\x06\x01\xFF\x9A\xD7\x41\xBF\x70\x00\xB7\xC2\xC6\x49\xF8\xB1\x07\x12\x0B\xD8\x09\x41\xBF\x72\x00\xBB\xC1\x2F\x71\xF8\xB3\x07\x1A\x0B\xCC\x80\x41\xBF\x74\x00\xBF\xC3", - "\x02\x31\xF8\xB5\x07\x1C\xFE\xAC\x7B\xC1\xBF\x76\x01\xEB\xBD\x9B\x71\xF8\xB7\x07\x12\xFE\x8F\x17\x41\xBF\x78\x01\xE6\xBC\xB6\x2A\x09\x01\xFC\xB9\x03\x0D\x7F\xA9\x4F\x52\x01\xE0\xBE\x1E\x07\x32\xC3\x37\x81\xFE\xBB\x01\x4D\xBF\x76\x14\x2C\x01\xF0\xBC\x0F\x04\x04\xC3\x03\x01\x7F\xFD\x00\x20\xC1\xA1\x09\xF0\xBE\x0F\x0D\xFC\xA3\xB0\x27\x01\x41\xBF\x7F\x00\x22\xC1\x00\x07\x14\xCC\x26\xA9\x0D\xE6\x97\x34\xC3\x81\x01\xE6\xBD\x17\x54\x00\x04\x1B\xC2\x04\x07\x82\xB1\x39\xB4\xC3\x41\x01\xF3\xBF\x48\x55\x00\x14\x0D\xC4\x02\x4D\xBF\x56\x51\x03\x00\x6D\xC5\x10\x0D\xFC\xAE\x99\x46\x00\x34\xC3\x86\x01\xE6\xBF\x05\x53\x20\x0F\x0D\x01\xFE\x87\x02\x2D\xC3\x21\x93\xE0\xBC\x22\x06\x36\xC3\x10\x0E\x03\x01\x7F\x89\x01\xC3\xC3\x2C\x99\xF0\xBA\x11\x04\x04\xDA\x03\x01\x7F\x8B\x01\x19\xC3\x3D\x01\xF0\xBC\x11\x05\x1E\xC1\xFE\x8D\x02\x5C\xC3\x36\xA3\xE0\xBE\x23\x05\xF9\xB6\xEC\x58\x03\x01\x7F\x8F\x01\xCD\xBE\x86\x1B\x21\x01\xF8\xB6\xE3\x34\x6A\x4A\x02\x41\xBF\x90\x00\xF8\xC1\x40\x01\x11\x01\xFC\xB1\x04\x04\x81\x94\x01\xC1\xBE\x49\x01\xF3", - "\xBA\xCE\x5E\x08\x01\xFE\x93\x02\x0B\xC4\x2B\x03\x06\xC5\x78\x1C\x12\x02\x20\xC0\x00\x10\x02\x41\xBF\x95\x01\x0A\xC5\x26\x01\xF8\xB6\x09\x04\x02\xE0\x02\x41\xBF\x97\x00\x0F\xC5\xF0\xB8\x13\x05\x21\xC5\x05\x01\x7F\x99\x01\x25\xC5\xE0\xBE\x26\x05\xF9\xB7\xA2\x45\x06\x01\x7F\x9B\x01\x2C\xC5\x95\x03\x31\x01\xF8\xBC\x09\x15\x10\xC9\x03\x41\xBF\x9D\x00\x22\xC3\x34\x01\xF8\xBE\x09\x1A\x11\xC1\x7F\x9F\x01\x44\xC0\x6D\x01\xF0\xB8\x14\x01\x24\xC1\xFE\xA1\x02\x4D\xBF\x81\x1F\x6E\x01\xF0\xBA\x14\x08\x24\xC8\xE9\x81\x7F\xA3\x01\x44\xC0\x74\x01\xF0\xBC\x14\x04\x04\xCD\x07\x01\x7F\xA5\x01\x44\xC0\x78\x01\xF0\xBE\x14\x05\x21\xD3\x07\x01\x7F\xA7\x01\x15\xC4\x7B\x01\xF0\xB8\x15\x05\x21\xD8\x07\x01\x7F\xA9\x01\x44\xC0\x7F\x01\xF0\xBA\x15\x05\x21\xDD\x07\x01\x7F\xAB\x01\xCD\xBF\xB1\x0B\x03\x04\x36\xCC\x0A\x0A\x03\xEB\x04\x34\x00\xB4\xC3\x56\x01\x9C\xC7\x8D\x04\x1B\xCE\x05\x3B\x89\xD3\x47\xB4\xC3\x57\x03\x9F\xC3\x73\x64\x1B\xD0\x05\x15\x88\x97\x00\xB4\xC3\x58\x01\xF3\xBA\x88\x1E\x01\x14\x0D\xF2\x02\x4D\xBF\x9B\x48\x10\x00\x6D\xC3", - "\x16\x0B\x28\xCA\x90\x74\x86\xB4\x01\x90\xC5\x9A\x64\x6D\xC5\x16\x05\x29\xCF\x2B\x74\x86\xB6\x01\x99\xC4\x9E\x64\x6D\xC7\x16\x04\x04\xC9\x01\x34\x86\xB8\x01\xB7\xC1\x4A\x74\x6D\xC1\x17\x09\x2A\xDF\xD0\x74\x86\xBA\x01\x76\xC4\xC9\xB0\x6D\xC3\x17\x09\x11\xD6\x01\x34\x86\xBC\x01\x83\xC5\x38\x0C\x6D\xC5\x17\x09\x2B\xD0\x3D\x34\x86\xBE\x01\x15\xC4\x20\x00\x6D\xC7\x17\x0D\xFC\xAF\x64\x41\x01\x34\xC3\xC0\x01\x5E\xC4\x3A\x84\x36\xC1\x0C\x0A\x16\xD4\x03\xB4\xC3\xC2\x01\x8C\xC1\x12\x04\x36\xC3\x0C\x0D\xFE\xAF\xE2\x47\x00\xB4\xC2\x62\x01\xF3\xBB\x18\x79\x05\x14\x0D\xF6\x78\x43\x71\x58\x00\x6F\xC7\xC4\x47\x44\x0F\x05\x14\x0D\xC5\x03\x44\xC0\x62\x00\xDA\xC2\x31\x01\x23\xCA\x06\x14\x0D\xC7\x03\x6C\xC5\xB4\xC2\x64\x01\x46\xC7\x0E\x04\x1B\xC9\x06\x19\x84\x80\x01\xB4\xC2\x65\x00\x11\xC4\x0F\x04\x1B\xCB\x06\x04\x81\xFE\x00\xB4\xC2\x66\x02\xB3\xC7\x11\x04\x1B\xCD\x06\x03\x8C\xB4\xC3\xCE\x01\x0A\xC5\x23\x04\x36\xCF\x0C\x0D\xFE\xBD\x13\x0E\x01\xB4\xC2\x68\x02\xC2\xC4\x36\xC1\x0D\x0E\x18\xD1\x88\xB4\xC3\xD2\x01\x89\xC5\x78\x1B\x1A", - "\x05\x21\xD4\x04\x34\x86\xD4\x01\x19\xC3\x4E\x00\x6D\xC5\x1A\x01\x32\xD4\x0D\xD6\x03\x2D\xC5\x03\x02\x4D\x00\x6D\xC7\x1A\x0D\xFC\xB9\x71\x1B\x02\x34\xC3\xD8\x00\x94\xC6\x9A\xAC\x36\xC9\x0D\x0D\x19\xCD\x73\x34\xC3\xDA\x01\xE6\xBE\x8D\x72\x14\x02\x2E\xCE\x43\x76\xE8\x26\x01\x3D\xC7\x4C\x4A\x8D\x71\x15\x01\x34\xC6\x19\x65\x91\x2F\x01\xB4\xC3\x6D\x01\xAC\xC4\x21\x08\x34\xC1\x6F\x1C\x03\x4B\xC6\x21\xB4\xDA\xC1\x37\x00\x6A\xC2\x10\x16\x05\x34\x86\xDE\x01\xCD\xBE\x48\x54\x2E\x04\x36\xCF\x0D\x19\x1A\xF3\x68\xB4\xC3\xE0\x01\xE6\xBC\x1C\x51\x18\x04\x1B\xC1\x07\x22\x8D\xB7\xB5\xB4\xC2\x71\x03\xD9\xC7\x21\x02\x0C\x14\x0D\xE3\x03\x6B\xC6\x0C\x03\x63\x00\x6D\xC4\x1C\x00\x37\xC3\x08\x08\x03\x34\xC3\xE5\x01\xE6\xBF\x3E\xB9\x19\x04\x1B\xC6\x07\x35\x8D\x82\x02\x77\xC7\xF0\x1B\x39\x02\x6F\xC5\xC0\xB4\x0D\xE8\x03\x04\xC7\x0F\x02\xBE\xC5\x78\x19\x1D\x04\x35\xCB\xE2\xB4\x86\xEA\x01\x8D\xC7\x1A\xB8\x6D\xC3\x1D\x09\x11\xD1\x06\x34\x86\xEC\x01\xCD\xBF\x30\x57\x35\x04\x36\xCD\x0E\x19\x1C\xD9\x74\xB4\xC3\xEE\x01\x8C\xC2\x3D\x04\x36\xCF", - "\x0E\x0D\xFE\x88\x3F\x79\x01\x45\xC6\x43\x51\x31\x60\x1F\x04\x1B\xD0\x07\x26\x8E\xBC\xBD\xA9\xC7\x34\x57\x89\x03\x00\x0F\x08\xD1\x07\x19\x84\x82\x00\x8F\xC0\x79\x01\xE4\xC4\x0D\xC1\xDE\x13\x07\x2F\x81\xC3\x5E\x8F\xC0\x7A\x01\xF3\xB8\x87\x1D\x01\x0F\x04\xF5\x03\x43\xC7\x0A\x65\x47\xC2\x3D\x00\x79\xCF\x56\x4F\x04\xF7\x03\x4D\xBF\xF7\x30\x11\x03\x23\xC0\x1F\x00\x3D\xD6\x4C\x0F\x82\xF9\x01\x32\xC6\x61\x73\x23\xC2\x1F\x0D\xFC\xA1\x63\x29\x00\x0F\xC1\xFB\x01\xEC\xC4\x31\x77\x11\xCC\x0F\x1D\x1E\xEC\xE2\x0F\xC1\xFD\x00\xF1\xC6\x0A\x07\x11\xCE\x0F\x0D\xFE\x96\xF2\x2F\x00\x8F\xC0\x1B\x3E\x25\x79\x06\x01\x3F\xD3\x18\x75\x01\x46\x5D\xF5\x58\x69\x58\x0C\x4B\x19\xC2\xED\x09\x3B\x67\x08\x5E\x59\x5E\x50\x37\x53\x89\x03\x3A\xC7\x6A\x1E\x44\x7C\x4C\x52\x59\x97\x61\xD9\xC5\x39\x59\x34\x5A\x3A\xD7\xFD\x92\x3B\x31\x02\xFB\xC7\x70\x0C\x33\xC1\xBC\x10\xD0\x11\x20\xCA\x29\x27\x04\x8F\x59\x13\x05\x29\x0E\x82\xC5\x41\x27\x11\x2B\x12\x27\x04\x37\x5A\x0E\xCB\xC1\x37\x44\x07\xDA\x47\x11\x1C\x0B\x22\xC8\x6C\x39\x13\x05\x17\x57\x44\x06\xA3", - "\x48\x21\xCB\x76\x27\x04\x00\x1B\x13\x05\x77\x5E\x85\xCE\x5B\x47\x11\x31\x04\x24\xC8\x0B\xC9\x1D\x52\xC9\x42\x83\xC2\xED\x0B\x25\x34\x90\xB6\x3C\x27\x04\x3B\x17\x89\x05\x61\x0F\x43\xC3\x17\xFD\x5C\x91\xBF\x39\xC9\x00\xC9\x26\x4F\x44\x07\xA2\x57\xFC\x89\x91\xD8\x2D\x9F\x49\x13\x04\x60\x07\x11\xCE\x5B\x49\x3D\x51\x91\x81\x5A\x94\xBF\x98\x10\x55\x5D\x88\xCE\x86\x47\x25\x2F\xE2\x0E\xC8\xF8\x59\xF8\x70\x0D\xCD\x51\x22\xED\x07\x52\x53\xA1\x49\xC8\x36\x3D\x53\x0A\xE5\x52\x85\xC5\xCF\x44\x20\xE0\x7E\xEC\x38\xA7\x08\xC3\x70\x13\xCD\x9E\x5E\x32\x63\x23\xDC\xE9\x27\x04\x03\x2C\xC0\x03\x26\x4E\x8E\xC5\x9C\xB1\x49\x39\x38\x60\x17\x34\xC8\x08\xCA\xB4\x1B\xAC\x0A\x5D\x5C\x1F\xD5\x22\x5F\xC8\xD0\x71\x04\x22\x5D\xB2\x9C\x55\x41\x31\x09\x03\xE3\x3D\xC0\x6C\x10\xD8\x19\x20\xCE\x26\x71\xA1\x16\xD1\x71\x04\x7B\xB9\x93\xC9\xFE\x71\x4C\x10\x50\x51\x13\x1C\x56\x19\x92\xE0\x74\x27\x04\x44\x75\x4C\x00\x87\x1F\x49\xD3\xE0\x27\x1A\x77\x31\x31\x02\x10\x7C\x0D\xCD\x82\xC2\xED\x0E\x61\x05\x92\xE1\x0D\x00\x1A\x44\xC8\x3D\x85\x12\x1B\x03\x4B", - "\x25\xC9\x92\xD6\x0A\x06\x87\x98\x00\x28\x3E\x96\xCF\x79\x32\x76\x28\x10\xB1\x02\x37\x8A\x5E\xCB\x6F\x71\xBC\x1E\x56\x91\x09\x25\x18\xC2\xC9\x58\x75\x53\x0D\xA3\x89\x26\x0D\x7D\x88\x26\xFB\x2E\x61\x1B\xCC\x11\x98\x00\x5E\x94\x86\xC5\x4A\x14\x0D\xF8\x27\xE8\xC8\x46\xC9\x73\x5A\x48\x5D\x4F\x71\xDE\x0B\x52\xB4\x90\x80\xC8\xA5\x08\x37\xCB\xF9\x07\x53\x94\x43\xC6\x20\xEE\xB4\x00\x85\x27\x05\x75\x94\x1F\xCC\x91\xC1\xD3\x5A\x7C\x67\x08\x40\x96\xA5\xC8\xCD\xBF\x39\xCD\x18\x67\x22\x16\x5C\x8E\x93\xEF\xC8\xDB\xC8\xB5\xC2\xB4\x1C\x83\x94\x4D\xC9\x22\xE5\x12\x1F\xC8\xFA\x98\x6C\xCA\x1B\x51\x84\xCA\xD2\x59\x83\x67\x08\x64\x9A\x34\xC9\x13\xC9\x41\xCB\x26\x61\xDE\x1C\x70\xB4\x90\xAD\xC8\x0B\xCB\x8B\x59\x78\x1A\xDA\x94\x43\xD3\x21\xD1\x94\xA8\x09\xD2\x1D\xA1\x9C\x0D\xCF\xB4\x55\x49\x10\x69\x67\x1A\x05\xA0\x34\xC8\x1F\xCB\x45\xCA\x88\xC7\x11\xBA\x26\xFE\x96\x44\xC8\x17\xCA\xFC\xC7\x4A\x01\x25\xAC\x4E\xCC\xE3\x34\x59\x1D\xCA\xEE\x65\xF3\x04\x50\xA5\x92\x02\x14\xA3\xB6\x09\x91\xB7\x5A\xD6\xC9\x96\xAC\x0D\xC8\xDB\x25\x49\x17\x69", - "\x76\xA8\x06\xC9\xD1\x38\x10\xC8\x37\xC9\x42\x1F\x72\xB9\x22\xEC\x71\x6C\x57\x3D\xCB\x04\x65\x78\x19\xE6\xA2\x4F\xC7\xD8\x29\x9E\x49\xCA\xD9\x91\x13\x05\x52\x1C\x86\xC6\xA7\x10\x2A\xE4\xC0\x27\x04\x6B\xA4\x1A\xCB\x16\xCC\xA8\x52\x00\x67\x11\x2D\x49\xB4\xC8\x72\x5C\xAB\xCB\x40\x01\x83\xC8\x0B\xD8\x27\xFE\x96\x17\x61\x62\xCA\xBD\x5B\x89\x03\x53\xAD\x52\xCB\xEC\x06\xBB\x69\xCA\xEC\x61\x13\x07\x15\xC6\xA8\xCB\xD8\x27\x52\x70\x95\xF9\x63\xA7\x0C\x58\xA4\x0D\xCC\xA1\x17\x57\xD1\x21\xD6\x4C\xED\xCA\xBE\x4A\x2B\x53\x5D\xCF\x86\xCC\x35\xA0\x2C\xF6\x78\x5D\x50\x77\xCB\x52\x0B\x89\x05\x17\xC4\x57\xDE\x2D\x4F\xB2\x77\xCA\x24\xCA\xBE\xA6\x40\xC9\x93\x42\x4E\xD7\x2B\xEA\x94\x8F\x02\xC5\xC0\xC3\xCB\xC4\x47\x44\x57\x57\xCD\x22\xC5\x4E\xCD\xCA\x02\x03\xDE\x49\x53\x51\x89\xC6\xE5\x40\x2A\xEF\x91\x2C\xC8\x49\xC9\x13\x07\x16\xAB\xA0\x5C\x40\xC9\x53\x76\xA8\x32\xC9\x0C\x03\x30\xA9\x25\x12\x1A\xC0\x5A\xCB\xEC\x36\xA8\x0F\xC9\x2B\x02\x9A\xA9\x1B\x1E\xB6\xAF\x50\xD4\x24\xF1\x24\x1B\xAC\x31\x03\xB7\xAD\x6F\xCA\x93\xC7\x6A\x0E\xBE\xB1", - "\x04\x68\xC1\x8D\xCA\x1B\x3E\x8D\x50\x4E\x27\x22\x15\xC4\xB1\x04\x70\xC1\xC9\xCB\x89\x46\x8D\x54\x58\x17\x22\x00\xC8\xBB\x29\x02\x02\x0A\xB2\xCD\xCA\x1B\x55\xBB\x57\xD3\x46\x2D\xED\x96\xFC\x54\x1C\xCA\x69\x1C\x43\xB4\xB5\xCA\x43\xCA\x1D\xE7\xB6\x30\xCB\x03\x02\x89\xB1\x1B\x19\x42\xBA\x5D\xD9\x24\x67\xB6\x38\xCB\x20\xB4\x45\xCB\x40\x00\x4C\xB6\x56\xD6\xF1\x27\xB6\x6B\xC8\x2B\x03\x1D\xB7\x75\xC9\x20\x06\xA6\xA6\x29\xF6\x97\xDC\x73\xD2\x1C\x34\xB5\x25\x15\x60\xBB\x51\xD7\x23\xE1\x6C\xF2\xCB\x10\xC3\xC9\xCA\xC9\x47\xB4\x54\x5D\xCB\x09\x08\x70\x95\x11\x4C\xB9\x90\xC9\x6A\xCB\x25\x06\x11\xC4\x2F\xCA\x91\xA6\x46\xAB\x08\xF4\xCA\x20\xBD\x12\x16\xD1\xBE\x2F\xD3\x8C\x2B\x09\xF0\xCA\x86\x02\x46\xBD\x12\x15\xD2\xBE\x30\xEE\xA1\x2B\x09\xF8\xCB\x87\x03\x49\xBD\x12\x10\x12\xCD\x2F\xD8\x98\x80\xCC\xE1\x1A\x92\xC3\x7E\xC8\x00\x08\x12\xD1\x2E\xE7\x98\x86\xCC\x51\xBB\x4A\x10\x57\xBE\xC4\xC9\x49\x4B\x25\x0D\x98\xE3\xBA\x95\x10\xCF\xB9\x6D\xCF\xA4\xC9\x3F\xCB\x09\x2F\x76\xB4\xC8\x75\xC9\x04\x5E\xFF\xC3\xC0\xBA\x60\xCA\x1D\xC3\x58", - "\x15\x09\x0D\x06\xF6\x56\x77\xCD\xBC\xC9\xA6\x4D\x18\x22\x93\xA7\x04\x10\xBD\x21\xCE\x8D\x3A\x88\x10\x65\xC2\xFF\x67\x08\x24\xBC\x5A\xCD\x89\x47\x1E\xC9\xC1\x52\xE7\x47\x11\x01\x85\xAE\xCC\xAA\xC7\x1C\x1D\x97\xC9\x3B\x67\x22\x08\xF4\xB4\x90\xE5\x48\x6B\xCC\x86\x00\x59\xCD\xD8\xBC\x63\xC6\x19\x74\x1A\x71\xCC\x18\x5D\x13\x04\xAD\xB8\xCD\xC9\xA6\x43\x2B\x38\x99\x8F\x61\x27\x04\x5C\xBC\x9F\xCC\x4F\x57\x78\x5F\x33\xE4\xC7\x31\x12\x46\xC2\x1B\xCD\x26\x4F\x15\x76\x68\xC2\x15\x61\x37\x44\xBD\x83\xCD\x13\x07\x30\x75\xD1\xC4\x58\xD1\xF7\xB5\x99\xAA\xC7\x96\x57\x46\xCE\x62\xCB\x25\x06\xF0\xB7\x34\xE9\xA9\x06\x73\x8D\xCD\xC8\xC8\xC5\xBD\xC9\xC9\xA6\x50\x93\x0D\x9A\x97\xCB\x0C\x03\xA5\xBE\xA7\xCC\x4F\x54\xAC\x0D\x34\xDE\x96\xD4\xBE\x26\xCB\xD2\xBE\x3B\x58\x91\xB8\x71\x05\x32\xC7\x9C\x26\x06\x34\xC9\x7E\x09\xAD\xC9\x4F\x71\xDE\x03\x00\x38\x9A\xE1\x0D\x69\x4F\x5D\xCC\x43\x07\xCA\xCC\x2E\x1F\x35\xCA\x29\x08\xB3\xC2\xCC\x37\x84\x0C\xCE\xD8\xC5\x41\x32\x24\xE5\xBC\x65\xCC\x59\x48\x66\xCF\xC1\x36\x46\x79\x6C\xDD\x2A\xF2\xB4\x52", - "\xCD\x6C\x39\x6F\xBD\xB5\xC9\x20\x03\x67\xDA\x6E\x58\x9B\x8B\x3B\x90\x55\x6D\xCC\xAF\x5C\x85\xCF\x6D\xDE\x2D\x70\xA1\x62\xCD\x25\xC9\xAB\x59\xB9\xCE\xC6\x38\x49\xC5\x79\x6B\x90\xD6\xC2\xAB\xCC\x34\xC1\x12\xCC\xCE\x2E\x57\xC8\x18\x2B\x9B\x93\x46\x61\x54\x71\xCD\xA5\xCE\x5F\x07\x6F\xCE\x43\x77\x44\x62\xCD\x9B\xCC\x91\x0D\xBF\xC9\x93\x48\xFC\x02\x37\xE2\x9A\xA0\x09\x03\xCE\x93\x46\x27\xCD\xE4\x58\x6A\xDD\x6F\x49\x9C\xAA\xC7\x88\x74\x71\xCF\xAB\xCC\xBD\x05\x6E\xD2\x00\x0D\x7E\xCF\x31\x43\xCC\x62\x2E\x35\xCC\x02\x0F\x70\xC9\x53\x5C\xEB\x2D\x09\x43\xCB\x98\x11\x05\x05\xE3\xCC\xA7\x59\x54\x20\x9C\x8F\x02\xC4\xCD\x11\x68\xC9\xCF\x44\x04\x4A\xC0\x86\x49\x90\xE2\x5C\x2B\xCF\x38\x7A\x59\xCC\xD8\x20\x6D\xD3\x1E\x71\x9C\x89\x79\x33\xCE\x8C\x63\x89\x01\x03\x07\x73\xCC\x08\x16\xF2\x27\xCE\x72\xCC\x69\x1E\x06\x05\xE7\xCB\xDE\x72\x35\xDA\xBC\x00\xCA\x9A\x62\xA2\xCD\xA7\x78\xB0\xC4\x6C\x29\x37\xEA\x85\xCA\xCE\x59\x7F\xC6\xC8\xB1\x2F\xDD\xC8\x72\xD0\x3A\xC1\xFE\x26\xCA\xC4\x2D\x7A\xCE\x84\x66\xEA\xC4\xFE\x60\x3A\xF3\x98\xA7\x04", - "\xE8\xBF\x78\xCC\x20\x81\x89\xC4\x6C\x21\x38\xDB\xCD\x56\xCE\x0A\x82\xAF\xCF\xF4\x58\x8F\xC6\x75\xC1\x0C\xAA\x9D\xFE\x7C\xF8\xBE\xAB\xCF\x80\x87\xED\xC0\x00\x13\x38\xE7\x5E\x65\xCD\x24\x01\x8B\xCF\xBB\x80\xB0\xCC\x53\xD2\x76\x26\x00\x56\xCE\x36\x3C\x6C\x2E\x86\xCF\x7F\x0A\x77\xD9\xC5\x56\x9D\xD8\x2D\x21\xCD\x81\x02\x0A\x05\xF0\xC7\x9C\x67\x3C\xFE\x96\xA7\x0D\x2D\x00\xC6\xCF\x8C\x76\xF1\xC4\x5C\xD6\x2A\x30\x00\x12\xCF\x01\x02\x19\x00\xE5\xC8\x94\xCA\x1A\x18\x3C\xC0\x00\x35\x00\x9B\xCE\x53\xCA\x55\x0E\x06\x0E\x79\xD8\x01\x16\x9D\xEC\x57\xC4\x2D\x29\xCF\x85\xCA\x75\xC9\x7A\x54\xB3\x2A\x9E\xC9\x4E\x99\x49\xD4\x4E\x94\xC8\xAA\x1A\x7A\xD6\x53\x0D\x0C\x2F\xCF\x67\x50\x93\x47\x56\xC9\xBC\x19\x03\x06\x19\x2F\x92\xCA\x14\x54\x5B\xC1\xCC\x57\x16\x64\x01\x13\x19\xFE\xA2\x9D\xD9\x63\x89\xCF\x86\x00\xF1\xC8\x92\x76\x75\xD4\x6A\x69\x98\x9C\x0F\xCB\xCF\x2C\x81\xF3\xC8\xC6\xC1\xA1\x0B\x02\x11\x9F\x9D\x85\xD3\xCE\x3F\x39\x39\xC7\xFA\xC6\x03\x59\x3E\xCB\x92\xB1\x12\x55\x00\xEE\xCC\x4D\x8E\xEA\xC1\x56\xD2\x76\x05\x7F\x87\x5A\xAB", - "\xCF\x34\x56\x9C\x5A\xF8\xC0\xFC\xB5\x44\x21\x01\x64\xCF\xB7\xC9\xF3\x06\x18\x02\xFC\xCE\x8C\x90\x3F\xFD\x92\xE1\x1B\xAF\xC3\x4A\x13\x1A\x06\xFE\xC3\x4C\xD1\x50\x2C\x01\x74\xCF\x00\x00\x38\x00\xFF\xC9\x99\xC6\x55\x11\x03\x00\xA0\xF5\x00\x03\xD1\x67\xC9\x84\x16\x0E\x00\x80\xC6\x0F\xC7\x9F\xD1\x6C\xC1\xBE\x00\x02\x7A\xC0\xFD\xC0\x7B\xC6\x19\x57\xC2\x42\xCF\x7E\x00\x00\xD2\x20\x06\xEA\xC7\x09\x69\x3E\xC1\x04\x03\x01\x00\xD1\xFD\xC3\x03\xD6\x4D\x8F\x7C\xC3\x08\x08\x02\x00\xD0\x8C\x00\x0E\xD0\xF5\xC9\x26\x1D\x08\x00\x40\xD1\x02\x2A\xD0\xDA\xCF\xF0\x1A\x24\x00\x00\xD6\x09\x10\x41\xDF\x9F\xA7\x0D\x97\x00\x00\xD3\x26\x06\xEA\xC6\xEC\x56\x26\xDC\x02\x56\xCE\x06\x87\x4A\x0A\xB1\x5B\xC9\xCF\x10\x1D\x04\x16\x9D\x87\x87\x42\xD0\xA5\xC9\x84\x16\x13\x06\x75\xCB\x1F\x89\xA1\xD1\xCA\x12\xB0\xAB\xCE\xFF\x87\x09\xD7\x55\xD8\xE5\x16\x9D\xBB\xC9\x3D\xAE\xAA\x5B\x89\x01\x14\x06\x75\xC8\x21\x94\xA1\xE3\xCA\xD2\x1C\x51\x02\xD5\xC8\x6E\x1F\x85\xCA\x2B\xEB\x04\x23\x01\x56\xCE\x28\x55\x19\xD1\xAE\xC8\x89\xB6\x3A\xE2\x12\xEB\xD0\x78\xCA", - "\xAB\x0A\x89\xC3\x04\xD6\x54\x86\x29\xC6\xBB\x5A\xCE\x03\x02\x53\x02\xD5\xCE\xAD\x80\x87\xDB\x37\xC3\x04\x27\x01\x56\xCF\xC2\x0C\x1C\xD6\xEC\xC3\x10\x08\x05\x16\x9D\xF6\x21\x70\xD1\x83\xCE\x40\x01\x15\x06\x75\xCF\x3A\x70\xA1\x8D\xCE\x02\x02\x55\x02\xD5\xCF\x98\xCD\x73\xB6\x3B\xC2\x04\x2B\x01\xE5\xCC\x56\x02\xE7\xCD\xD1\x85\x49\x16\x2B\xE2\x97\x80\xCF\x13\x47\x23\x56\xF0\xCF\x15\x0E\x79\xD1\x05\x16\x9D\xC7\x54\x1E\xD0\x00\x02\x2C\x06\xF3\xC4\x0B\x07\x45\xCF\x9E\xD6\x0A\xB5\x00\xCF\xCF\x2D\x06\x15\xD5\x79\xC7\x1F\x38\x02\x1E\xCF\xBA\x00\x5A\xD0\xE7\xCF\x21\x0B\x0B\x1E\x3C\xFD\x02\x3A\xD1\xA2\xCF\xF3\x06\x2F\x06\xF3\xC0\x0C\x16\x3A\xE4\x69\xA1\xC2\x7C\x55\x0A\xD2\xEA\xC6\x0A\x5C\xD0\x18\x3D\xF7\xA6\x13\x46\x88\xCA\x69\x1D\x30\x06\xF7\xC4\x7B\xDC\x8E\x6E\xE2\x52\x1D\xC4\x00\x00\xD0\x32\x06\xEA\xCD\x85\x49\x45\xF7\x88\x95\x11\xCD\x00\x6E\xD3\x2B\xD7\x7C\x0E\x0C\x00\x40\xD2\x03\x62\xD1\xB5\xD1\x13\x07\x8E\xC5\x12\x17\x0D\x08\x47\xFB\xA2\x8C\x02\xD8\x00\x00\xD0\x37\x06\x1D\xD1\x8C\xC7\x11\x0A\x89\x95\x11\xE1\x00\xAB", - "\xCF\x63\xCA\xDA\x12\x0E\x14\x46\xC7\x90\x88\x64\xB7\x71\xF0\x19\x39\x00\x00\xD9\x0E\x1A\x47\xF1\x9F\xA7\x04\xEA\x00\x00\xD2\x3B\x06\x20\xD7\x7F\xD1\x50\x2F\x03\x00\xD0\x5E\xC4\x3A\xD0\xB7\xCB\x05\xD7\x6A\x14\x07\x00\xA0\xE6\xC4\x12\xD2\x00\x03\x23\x5C\xB9\xCC\xEB\xA0\x40\xEE\x89\x99\xD2\x8F\x59\x1F\xCD\xAA\xC8\x00\xD2\x00\x11\x0B\x34\x90\x95\xCB\xD2\x1D\x01\x01\x5C\x07\xF7\xC5\x41\x22\x27\xC2\x9F\xCF\xC3\x95\x10\x05\x02\x49\xD1\xDC\x02\x4E\xC9\x45\xCB\x00\x71\x02\x31\x03\x39\xC5\x46\xD2\x9C\xC5\x82\xD0\x43\x38\xA4\xE3\x18\x33\xD2\x25\x16\x38\xCA\x8E\xC2\xE4\x1F\x49\xD6\x28\x41\xD2\x2D\xD2\x1C\xCF\xD8\x5E\x28\xD2\x21\x68\x4A\xC7\x6C\x62\xC9\x22\xD2\x3C\x0C\x53\xD7\xF4\x2E\x94\xCC\xE3\x1C\x96\xB0\xBF\x55\xD2\x2A\xCC\x9F\x57\x44\x52\x7C\xC5\x01\x31\x05\x64\x03\x59\xD2\xDF\x4B\x89\x51\x15\xD8\x02\x1F\x4A\xF8\xB1\x61\xD2\x36\x3D\x13\x55\x4F\xD0\x73\x56\x96\xDE\xE3\x28\xA5\x9B\xCB\x14\xD2\xAB\x0A\x0B\x05\x2D\xD1\x38\x0F\x4B\xEE\xA1\x27\x54\x1C\xD2\xF4\x48\x5D\xD2\x55\x76\x97\xD9\x24\x67\xA8\x51\xD2\xDF\xB3\xBD\xD2", - "\x67\xB5\x2F\xD6\x32\x41\x7C\x11\xA0\xB7\x00\x84\xD2\xD5\xC6\x8D\x39\xF0\x12\x7C\xD8\x01\x02\xA6\x84\xBE\x89\xD3\x34\x55\xE0\x19\x15\xDB\x03\x0F\x4C\xFA\x36\x11\xD3\x7C\x55\xC0\x1F\x5A\xD0\x00\x0E\x03\x16\x4C\xC2\x8B\x99\xD2\x81\x1E\xA2\xD0\x8A\x0E\x32\xD3\x04\x18\x4C\xE0\x9D\xCA\xD2\x7D\x16\xCB\xD2\x11\x06\x34\xDB\x31\x79\x65\x12\x3B\x58\xC5\x61\xC8\xCF\x7C\x6B\xD3\x80\x65\x4A\x66\x47\x53\x8C\x4A\x00\x96\xD2\x1B\x3F\x93\xCA\xDA\x1C\x04\x13\x4D\xD5\x50\x03\x2C\xC2\xCF\x26\x02\x65\xD7\x09\x0E\x9B\xC8\xA6\x42\xE3\x65\xC1\x96\xD2\x29\x01\x71\xD1\x97\x66\x94\x72\x76\x13\x01\x16\xD3\x0B\xC1\x8C\xD3\x80\x2A\x34\xD1\x83\x16\x4C\xE1\x8B\xD2\xD3\xA8\xD2\x9A\x8A\x65\xD3\x0B\x0B\x9C\xD7\xA7\x48\x7B\xA7\x04\x5C\x00\xCB\xD2\x17\x05\x3B\xD6\x6E\x20\x2C\xE4\x8B\xE4\xD3\x5B\xCC\x5E\x73\xA9\x08\x0C\x06\x99\xC9\x17\xD9\xA4\xC2\x18\xA9\xD1\x31\x02\x65\xD5\x0C\x04\x9E\xC2\x62\x1B\xA6\xE6\x00\x96\xD2\x34\x01\x7D\xD1\x2E\xD7\x3E\x09\x03\x16\xA6\xEB\x00\xFB\xD3\x18\xD2\xFF\xCE\x32\xDE\x06\x01\x50\xF7\xA0\xD6\x0A\x6F\x00\xCB\xD1\x1C", - "\x04\x3C\xDB\x49\x56\x26\xF2\x01\x64\xD3\xDE\x19\x4A\x0B\x26\x4D\x8C\x4E\x8C\xCD\x4E\x59\x92\x1B\x49\x44\xD0\x76\x9C\x79\xD3\x7E\x12\xA1\xCA\x42\xF1\x24\x74\x00\xE4\xD2\x7A\x19\x87\xD0\x0A\xDB\x03\xA4\x4F\xCD\x93\xFF\x6C\xF8\x63\x13\x06\x1D\x04\x3C\xDC\x8C\x03\x51\xEF\xC6\x27\x04\xF4\xC5\x8C\xD3\xEB\x4E\x45\xD0\x86\xC1\x6F\x38\x01\x64\xD3\xAE\x90\x1A\xD6\x19\xD7\x33\xA4\x9E\xCC\x49\xBA\xA8\xEC\xD0\xF4\xAC\xF2\xD3\x34\xC8\x45\xD4\x75\xCC\x08\x3B\x01\x64\xD3\xF9\x93\x1F\xD6\xA3\xCC\xA8\xC4\x9E\xDE\x26\xE8\xA8\xFE\xD0\x96\xA2\xF2\xD0\x39\xC8\x45\xD4\x88\xD7\x5A\x24\xA7\xEA\xC9\x28\xD4\x45\xD2\x70\xA4\x3C\xD0\x4F\xC8\x51\xD0\xA2\xE4\xA4\xE4\xD2\x7B\xC8\x8A\xD6\x12\xD6\x26\xA1\x4B\xC2\x02\x16\xD3\xFC\xC8\x0E\x31\xFC\x6B\xFE\x36\x32\x4A\x46\xE9\xA9\x70\xCC\xD2\x1C\x42\x03\x4A\xD5\x1A\xDB\xA6\xC2\x08\x02\x9F\x87\x01\x53\xD3\xD0\xC8\x79\xD5\x8C\x49\x8A\xCC\x04\x39\xA9\x81\x02\x80\xC1\x8C\xD1\x19\x4B\x33\xD1\x09\x1F\x53\xC0\x00\x15\x01\x7B\xD4\xFE\xD3\x89\x06\x12\x06\xA8\xCA\x19\xC2\xAA\xD9\xD3\x7F\xAC\x43\xD7\x27\x01", - "\x51\xDD\x47\xC7\x35\x20\x02\x06\xD5\xA4\x00\xF2\xD3\x9D\xCA\xDA\x15\x0A\x08\x4F\xD3\x8C\x34\x0D\xC2\xCE\xA0\xC5\x6C\xD1\x20\x08\x0A\x1A\x54\xC7\xA4\xFC\xB1\x96\xD3\x55\x02\xA9\xD5\x21\xD1\x93\x0C\x05\x16\xA6\xAE\x01\xAB\xD5\xFE\xCD\x4C\x15\x69\xC4\xCF\x51\xC8\xB1\xAA\x84\xD0\xE7\x06\x59\x02\x65\xD4\x16\x07\xAB\xCA\x40\xF1\x24\x35\x01\x96\xD3\x5B\x00\x79\xD6\xCF\xC2\xED\x1B\x1A\xD9\xA4\xB6\x3C\x63\x0A\xE1\xCD\x2E\x06\x32\xDB\x0B\x03\x56\xE7\xAA\x8F\x02\xBC\x00\xCB\xD2\x2F\x06\x59\xDC\xAA\xC7\x35\x3F\x02\x16\xD3\x64\xC7\x8C\xD3\x58\x0C\x3A\xD5\xA9\xB6\x4C\xC4\x03\x54\xD5\xEF\xD0\x8F\xB6\x65\xD2\x6E\xCA\xAD\xDF\x4E\xEB\x04\x01\xC7\xB5\xD4\x86\x02\x32\x04\x3C\xD7\x78\x43\x2B\x15\xA8\xED\xD4\x13\x47\x57\x71\xE0\x1F\x5D\xDA\x98\xD3\x18\x43\xE3\x2E\x66\xF4\xD5\x34\x56\x8D\x3E\x72\x52\xC4\x19\x57\xC9\xA3\x93\x46\x86\x73\x4D\x4A\xBF\xD2\xF5\xC0\x27\x34\x35\x03\xAC\xE1\x0D\xC4\x15\xC3\x4F\xC1\xD2\x49\x12\xA5\x71\x40\xCB\x03\x1E\xD5\x6E\x50\x29\x76\xF0\xCC\x19\x06\x99\xCE\x06\x24\xA7\xD2\x74\xA9\xD1\x67\x02\x65\xD6\x72", - "\xC9\x91\xD2\xD2\x5B\xA6\xD2\x01\x96\xD2\x6A\x03\xC5\xD2\x51\xD8\xCD\xB6\x4C\xDB\x8E\x9D\xD6\x90\xD4\x00\x00\x36\x06\x32\xDA\x0D\x03\x59\xD5\xAA\xD6\x0A\xDB\x00\xCB\xD1\x37\x04\x3C\xDE\xE4\xB6\x4D\xCF\xA3\xB7\xD6\x99\x49\xB4\x4E\x35\xCE\x1B\x04\x9E\xC6\x66\x95\x12\x69\x4E\x19\xD4\xEA\xC0\x79\xD0\xA1\xC1\x72\xC2\x08\x29\x9C\x8C\x02\xE0\x00\xF2\xD2\x43\xCD\x68\xD8\x4E\xD2\xE9\xA4\xA7\x94\xCA\x4C\xD7\x14\xD7\x4A\x02\x1C\x04\x9E\xDA\x28\xD1\xAD\xDA\xD0\x2B\x03\x71\x00\x79\xD0\xA4\xC1\xB5\xDD\x36\xC3\x04\x64\x01\xE4\xD2\x65\xA3\xCF\xD0\xB3\x57\x22\x05\x07\x24\xA7\xAC\xCA\x8D\xCB\xB4\x4E\xD3\xCC\x21\x06\x0E\x04\x4F\xF3\x94\xD1\xD6\x45\xD5\x81\x03\x39\x04\x3C\xD2\x14\xA3\x5B\xE0\xB4\x61\x1B\xE8\x00\xF2\xD1\xBD\xA9\x6D\xDC\x86\x07\x11\x29\x03\x64\xD3\x3A\xCB\xA8\xD5\x95\xD1\x20\x0A\x0E\x04\x4F\xC5\x95\xC3\xCC\x69\x4E\x2D\xD4\x00\x03\x1D\x04\x9E\xCC\x2A\xE6\x95\xE9\x4E\x5F\xD4\x00\x00\x3B\x04\x3C\xD3\x55\xD1\x5A\xE4\xA9\x80\x00\xED\x01\xB0\xD2\x3B\x06\x32\xD9\x55\xDB\xFA\x80\x00\x76\xBA\x11\x14\x78\x01\x5C\x04\x79\x5E", - "\x55\xC9\x70\x48\x66\xF2\xBA\xE7\x06\x7F\x03\xE8\xD1\xDC\x0B\x5A\xCA\x88\x48\x66\xDE\x19\x1E\xC9\x47\x09\xD7\x56\x64\x4B\x61\xB4\xB3\x08\x66\xF4\x19\x2A\xC8\xD9\xD5\xB8\x08\xBA\xC8\x03\x68\xCC\xB6\x54\xB1\x12\xEB\xC6\x5F\x5E\x8D\x3A\x44\xBD\xBB\xCB\x09\x0C\x75\xBC\xCF\xBA\xD6\x25\x15\xC1\xB6\x76\xDB\xE2\xB9\x05\xCF\x12\x24\xD7\x81\xB8\xDB\x58\x62\xB6\x61\xA7\x22\x16\x02\x09\xAF\x95\x28\x2D\xBB\xA9\x5C\x62\xB2\x80\xA7\x22\x05\x03\x17\xAF\x87\x36\x7D\xBB\x03\x60\x62\xB5\x75\xD7\x6A\x14\x03\x1F\xAF\xEC\x38\xE3\xBC\xE6\xD6\x6A\x99\x42\x13\x08\x07\x5F\xF6\x96\xA6\x06\xEA\xD6\x86\x00\x87\x9F\x44\x02\x09\x0E\x5F\xFE\x96\x17\x00\xF0\xD6\xCF\xD7\xCA\xA3\x0B\xD6\xBF\xD6\xF1\x25\x00\x79\xD7\x58\xBF\x0C\x82\xB4\x18\x16\x0F\x48\x18\x24\x66\x8C\x33\x00\x26\x06\x62\x2C\x62\xB3\x6F\xD7\x6A\x00\x06\x3D\xAF\x93\x46\x42\x00\x00\xDB\x61\xB0\x50\xA2\xED\x0F\x06\x0F\xB0\xEE\x50\x50\x00\x09\xD8\xA0\xB9\xB3\xB2\xED\x1E\x06\x0F\xAF\xE1\x0D\x5E\x00\x93\x05\xC3\x00\x31\xBF\xDA\xA7\x11\x2C\x03\x1F\xD8\x4A\x15\xFD\xCC\xFE\x20\x31\xBE\x04", - "\x14\x0D\xFA\x03\x05\xD8\xE1\x0C\xFB\xC2\x9E\x5C\x85\xD4\x1B\xCA\x00\x24\x04\x06\xD8\xAA\xC7\x13\xD3\x0C\xD9\xB7\xC2\x74\xC4\x09\x33\xAE\xAA\xC7\x98\x00\x0D\xDA\x40\x00\x31\xB0\x47\xA7\x11\x29\x00\x3E\xD8\xE1\x0C\x3D\xD2\xF6\xD4\xF2\x71\xDE\x18\x01\x37\xB0\xE1\x0D\xAD\xD0\x5F\x5C\x62\xB3\x49\x97\x22\x08\x02\x08\xB1\xCA\x14\xC3\x00\x21\xD9\xE6\xC9\xA0\xC1\xDE\x17\x02\x17\xB1\x95\x28\xD1\x00\x2D\xD8\x00\x00\x31\xBA\x9C\xC1\x6F\x26\x01\x4F\xD8\x4A\x15\xEA\xC3\x0E\xD9\x7E\x84\x1B\xD6\x03\x28\xB1\x95\x28\x0F\xD3\x35\xD8\x43\x00\x0A\x00\x1D\xCF\x63\xF2\x75\x26\x06\xD8\x2C\xC4\xB0\x1D\xD9\xBC\x16\x09\x16\x63\xEC\x71\x3A\xD2\xA2\x5E\xC4\xB1\xA6\x17\x44\x06\x0A\x1E\x63\xCB\x76\x1F\x00\x71\x02\x05\xD8\xD3\x72\xDA\x16\x0B\x06\x64\xFE\x96\x73\xD2\x52\xD8\x09\xB2\xB4\x1E\x18\x0F\xC5\xDC\xE6\xA4\x04\x41\x03\xAB\xD7\x00\xD9\x14\xB2\xDA\x17\x0D\x15\x64\xC2\x04\x66\x01\x97\xD8\x40\x81\x26\xDB\x82\xD5\x84\xD2\x76\x28\x03\x1E\xD9\x01\x03\x7B\x01\x28\xDF\xA7\x83\xCA\xDB\x60\xD8\x5E\xE1\x1B\xF9\x00\x54\xD9\x55\x5B\x61\x10\x18\x07", - "\x03\x2D\xB2\xC3\xD8\xC6\x2A\x19\xCB\xC2\x14\xD8\x29\x01\x14\x65\xED\x40\xB7\xD9\x5B\xD9\x87\x02\xC1\x82\x85\xCB\xB0\x18\xB6\x2B\x00\x3E\xD9\x9C\xA5\x44\xDB\x9D\xC7\x31\xB4\x03\xCB\x58\x1C\x91\xC2\xC6\x64\xBE\x36\xD5\xBD\xD0\x67\xD6\x32\x5F\xF6\xA0\xAE\xB1\x12\x2E\x01\x85\x16\xF3\x1C\x7E\xD1\x17\x0D\x18\x1F\x7B\xA8\xD7\x27\x05\x1D\x02\x36\xD9\xDC\x03\xA9\xD8\x9F\x1F\x7B\xB0\xD7\x95\x33\x85\x14\xF4\xD7\x21\x0E\xAA\xD3\x7A\x5F\x7B\xB8\xD7\xC2\x04\x75\xD9\xB8\x0A\x17\x00\xCC\xDF\x3C\xEB\x04\x3F\xD7\xA7\x0C\x32\x02\x3C\xDA\x49\x18\xAE\xDC\x84\x5F\x7B\xC7\xD7\x11\x14\x39\x03\x3E\xDD\x82\x26\x0D\x15\x67\xDF\x7B\xE0\xCC\x56\x0A\x40\x03\x38\xDA\x49\x10\xB6\xC6\x67\xFF\x95\xAC\xD0\x03\xDB\x83\x35\x3C\x06\xA0\xD5\x44\xA1\x6F\x1B\x02\x11\xDA\x2C\x48\x8A\xDB\x43\x04\x7C\xD6\x55\x09\x05\x18\xB4\x8B\x3B\xAA\xC0\x77\xD9\x69\x99\xBC\x17\x0B\x1F\x68\xFE\x96\x1B\x00\x28\xD9\xCA\xB3\x93\x9A\xDA\x15\x0C\x06\x69\xF6\x78\x5F\xC7\x22\xDA\xB6\xA7\xC6\xC6\xA5\xD3\x31\x57\x01\x29\xB4\x83\x02\xDF\xBC\xF2\x7F\x89\x01\x1C\x0B\xCB\xC1\x37", - "\x05\x01\x76\xD7\xDF\xBC\x06\xDA\x55\x08\x1E\x04\xD3\xCE\x43\x54\x01\x37\xDA\x02\x03\x6F\xBD\xCB\xAF\x44\x0E\x0F\x05\x6A\xD9\x92\x62\x00\x48\xDB\x80\x03\xB7\xBA\xC8\xC6\x55\x0C\x00\x0D\x12\x5B\xD9\xFA\x99\x47\x0A\x37\xDE\xC8\xC2\xED\x19\x00\x17\xB5\xE1\x0D\x7D\x00\xAD\xD9\x34\xD9\x4C\x84\x1B\xC6\x01\x0D\x12\x3F\xD8\x69\x54\x45\x00\x0C\xD9\x47\x7A\x26\x94\x0D\xF5\x00\x67\xDA\xE1\x0C\x4D\x03\x5A\xDA\xA5\xDF\x10\x1A\x2D\xF1\x24\x44\x00\x8D\x09\x75\xD9\x40\xB1\xAA\xD6\xCF\xCF\x08\x05\xB1\xEF\x87\x79\xDB\x70\x0C\x2E\x04\xAF\xDF\xED\xBA\x2D\x67\x08\x60\x00\x70\xDA\x25\x16\x31\x00\xA8\xD9\xA8\x9B\x27\xC1\xB6\xCA\x14\xD5\x00\xC2\xD8\x17\xD9\x42\x1D\x07\x0F\x6C\xD5\x50\x63\x01\x92\xDA\x36\xD9\x78\x1B\x11\x09\xD8\xD5\xA0\x31\x03\x73\xDA\x38\xDB\xF7\x84\x6D\xC2\x13\x0D\xD9\xC7\xD8\x01\x00\x0E\xD9\xDF\xBD\x3D\xD9\x84\x11\x15\x05\xDA\xC7\x2A\xE8\xB6\xBA\x86\xA7\xC5\xD6\xDB\x62\x39\x04\x0F\xDA\xC1\xDB\x71\x24\x47\x01\xB2\xDA\xDF\x49\x0C\x02\x96\xDF\xED\xBC\xD6\x67\x08\x56\x01\xB9\xDA\x1B\x3C\x10\x04\xB7\xD2\xC9\xC2\x48\xD6", - "\xB6\x9D\xBC\x8D\x09\x5B\x2C\x49\x04\xCE\x2F\xED\xAE\xC1\xAD\x99\xC7\xDB\x65\x4F\x9A\x59\x6A\x4B\xB9\xD3\xD6\xC1\x08\x25\x5B\x91\x14\x05\x01\x9A\x58\x9D\x2B\x02\x02\xDD\xCB\x09\x2B\x01\x54\xDB\x6C\xDB\x57\xD9\x84\x15\x02\x0A\xDD\xDA\xAE\x5D\xB7\x9F\xA3\xE0\xDA\xBA\xDB\xD9\x39\x26\x15\x02\x05\x6F\xCF\x2B\x67\xDB\x0C\x03\x43\x01\x7A\xD9\xB4\xD2\xCC\xD2\x76\x35\x00\x35\x5A\xC4\x2C\x22\x00\x7C\xDB\x20\x05\x09\x12\x65\xD0\xAA\x30\x1B\x27\x04\x23\x01\x4D\x5F\x99\xD6\x32\x50\x43\x77\x44\x27\x04\x47\x01\x01\xDD\x65\x33\xBF\xDC\xC6\x20\x54\x57\xB3\xA7\x0D\x4A\x01\x9A\x58\x56\xDE\x11\xB4\x12\x0D\x18\x00\xAA\x60\xD9\x01\x58\x09\xDD\xB8\x09\x16\x05\xE1\xDF\xD4\x51\x65\x31\x12\x64\x00\xF7\xD9\x05\x2E\x17\x03\xDF\xC3\xF8\x90\x1E\xB1\x12\x72\x00\x11\xDF\xC1\x34\x19\x05\xE2\xC4\xFC\xB5\x54\xD2\x1D\x80\x00\x15\xDC\x1B\x3A\x1B\x0D\xE2\xC9\xFA\xB9\x98\x91\x14\x8E\x00\x19\xDF\x62\x3F\x94\xD3\xF5\x40\x54\x48\xB4\xE7\x07\x9C\x00\x0D\xDE\x92\x16\x1E\x0D\xE1\xD1\xFB\x8B\x4C\xD2\x1D\xA9\x00\x1D\xDE\x6F\x4B\x00\x06\xD2\xC0\x54\x5C\xAF", - "\xAB\x02\xB7\x00\x25\xDE\x8D\x39\x02\x0D\xE4\xCB\x09\x1C\xB4\xE7\x07\xC5\x00\x29\xDF\xC4\x47\x03\x05\xE5\xCB\x5F\xF1\x24\x53\x01\x5A\xDC\x37\x51\x0B\x05\xCB\xD2\xBF\xD2\x76\x21\x03\x61\xDC\x99\x48\x71\xD9\x8F\xDD\xB0\xC1\x93\x0F\x07\x28\xB9\xA6\x46\x49\x00\x32\xDE\x00\xD9\xBC\x1D\x0F\x18\x6F\xE1\x1B\x57\x00\x3D\xDA\x23\xDD\x7E\xA5\x87\xC4\x2D\x1A\x6B\xE4\x23\xF2\xDC\x02\x03\xA5\xD8\xF6\x45\xCF\xD1\x6E\x14\x03\x00\xBA\x97\xBB\xD2\x1C\x14\x00\xB5\x03\xC2\xDA\x29\xAB\x68\xFB\x7D\x8C\x02\x25\xD9\x51\xBB\xA2\xD9\xDC\x0F\x08\x0E\x74\xFF\x7C\x87\x84\xB4\xC2\x21\x00\xB5\x00\xAD\xDC\xA7\x5C\x04\x05\xB3\x9E\xDC\x98\xDD\xF0\x19\x14\x03\xD3\xD1\x6E\x0C\x05\x1F\xBA\xFA\xDC\x87\xD5\x96\xC0\xA1\xDA\x49\x1C\x0B\x07\x74\xC0\x00\x7F\xDA\x0F\x02\x37\x03\xAA\xDD\x82\x2A\x0C\x0E\x75\xC6\xB6\xAB\x02\x7C\x00\x52\xDE\x92\x10\x1B\x09\xE7\xCF\x74\xC3\x04\x54\xD8\xC4\x51\x59\xDF\xC1\x37\x1C\x0E\xEA\xC6\x66\xA7\x08\x19\x01\xC2\xDC\x36\x39\x3D\x06\xD5\xD5\xC6\xD1\x50\x27\x02\x3A\xDD\x15\x29\x01\x01\x23\x08\xDB\x20\xA8\x4D\x76\xF1\x24\x36", - "\x01\xD0\xDD\x83\x37\x04\x03\xDA\xD0\xEA\xC3\x08\x2A\xB6\xB1\x12\xC5\x01\x6C\xDC\x1B\x3B\x04\x0C\xED\xC8\x75\xDF\xBB\xA7\x0D\xD4\x00\x71\xDF\x62\x3B\x06\x05\xEE\xDE\x75\xCD\x7E\x27\x04\xE3\x00\x75\xDE\x6F\x4B\x08\x09\xDB\xC0\x54\x7E\xB6\x8B\xBC\xF2\xDC\x1B\x3E\x14\x05\xDE\xD5\xDC\xD1\x50\x01\x00\x7D\x53\xC6\x5B\xFE\x52\xF5\x00\xBA\xDE\xE2\xC5\xC4\xA1\x37\x11\x00\x00\xDF\xD6\x06\xC0\xD9\x8B\x94\xF0\xD6\x71\xCC\x04\x57\xDB\x31\x13\x10\x01\xC2\xDD\x52\x7B\xF0\xCF\x08\x15\xB6\xEB\xDC\xE2\xDB\x98\x11\x0C\x03\xE2\xDD\x2A\x15\x78\xD3\x92\x0D\xDE\x80\x55\x0F\x2B\x89\x01\x08\x0C\xF1\xDA\xB5\x1E\xBC\x83\x02\x99\x00\x90\xDF\xD8\x82\xD4\xDD\x9F\x44\xB6\x20\x01\x27\xDE\x02\x03\x53\x01\x6E\xD9\x4C\x5B\xCF\xA7\x11\x22\x01\x7D\x53\x04\xDC\xD5\xC7\x4D\x20\x50\x5B\xB0\xD5\xA0\x08\x3F\x3A\xDA\xF3\x8E\x9C\xDC\x9D\xD5\x57\x7D\xFB\x7D\x09\xC2\xBD\xFF\xD1\xCC\x28\xC1\x75\x84\x15\x0C\x07\xF4\xC1\x2A\xFD\x6B\x47\x76\xD2\x1C\x33\x01\xD3\xDF\xB4\xCF\xF4\xCF\x19\xB8\x9F\xD3\xDE\x3B\xC0\x98\xDF\x62\x38\x51\x73\xE2\x0A\x3D\xEA\x01\x5A\xDE", - "\xBE\x4B\x11\x1E\xE2\xBB\x25\x0C\x06\x18\x7A\xDA\xA5\xA7\x04\xDC\x74\x44\x75\xCF\xDF\x60\x39\xA9\x06\x03\x23\x85\xE6\xDE\xBE\x4A\x5B\x01\x23\x0D\x92\x09\xA9\x18\x61\x2B\xBD\xEC\x38\x38\x18\x4B\x7A\xEA\xCE\x0D\x00\xF6\xD6\xF1\x37\x63\x6E\xDE\xE1\x1A\x38\x00\xDC\xDE\xC6\x37\x0B\x13\x7B\xE1\x80\xDD\x25\xE1\x1B\x38\x03\xE0\xD9\xF7\xCA\x3A\xD6\xE4\x77\x63\x77\xDE\x8B\x3A\xD5\x1B\x83\xDE\xAA\x02\x07\x1D\x4F\x4C\xBA\xAF\xB4\x5F\xDB\xDC\x7B\x5B\xB9\xBC\x1F\x07\x16\x7C\xE1\x1B\x45\x01\x99\xDE\xF3\x78\x3A\xDF\x21\x0C\x08\x05\x79\xEC\x71\x52\x01\x0D\xDE\xD5\x18\x3C\xD9\xCC\xA6\xFA\xCB\xEC\x20\x03\x29\xDF\xF7\xD8\x69\x1C\x2A\x05\xF5\xDE\x5B\x4E\x07\x30\xBE\xB7\xDC\xD7\xDC\xDA\xDE\x8D\x3C\x1F\x07\xFB\xCF\xF1\x91\x28\x44\x01\x9E\xDE\x25\x16\x02\x02\xC8\xD6\xDE\x74\x5E\xD7\x71\xBA\xDF\x13\x47\x0B\x02\x92\xDA\xB5\x1F\xE4\xCF\x08\x1F\x03\x48\xDF\x6E\x51\xF6\xDB\xD4\x5A\xB5\x17\xE5\xC7\x11\x2D\x03\x50\xDF\x99\x49\x19\x03\xF2\xDB\xA4\xD1\xA1\x1B\x07\x18\xBF\xA6\x46\x41\x01\xED\xDC\x99\x99\x42\x19\x00\x05\x6D\x7E\xB9\xB3\x85\xE2", - "\xDE\xB7\xA5\x78\x1F\x02\x06\xFE\xC1\x37\x1D\x01\x69\xDF\x73\xDD\x03\xC1\x69\x5C\xD3\xD7\x22\x0B\x03\x36\xB9\x9A\xDF\x7B\xDD\xF0\x18\x0D\x05\xFD\xDA\xA4\x1A\x03\x30\xBF\x81\xDD\xD2\x1C\x21\x00\xFF\xDD\x82\x28\x08\x1F\x7F\xC8\xBA\xE1\x1B\x50\x01\xD2\x5B\xE5\xDA\x20\x06\x09\x04\x7E\xC5\x9D\x91\xDD\x08\x52\x05\xE1\xB8\x0B\x14\x0E\x00\xE5\xED\x43\x04\x2D\xD8\xDD\xC9\xF9\xDD\xB8\x08\x16\x05\xD3\x58\xB6\x2A\x36\x18\xE0\x11\x15\x3C\x02\x06\xE2\x49\x10\x0C\x1D\x80\xCE\xF6\x01\x02\x76\xDB\x53\x0C\x22\x03\x00\xE7\xB0\x30\x06\x06\xC0\xAF\xDD\xD2\x1C\x4B\x00\x0B\xE4\x8D\x3E\x0D\x0F\x81\xF7\xBA\x8E\xB1\x23\xE1\x0A\x28\x3B\x07\xFE\xD6\xDE\x60\x76\xF7\x65\xB3\xE0\x8B\x3B\x7D\x03\x0B\xE6\xD8\xD9\xA6\xA0\x82\xFE\x96\x09\x00\xC9\xDD\x85\x47\xFC\x84\x61\xC9\x03\xE7\xD8\x17\x00\x54\x05\x1E\xE0\xD1\xD9\x78\x1E\x1B\x0D\x04\xEC\xE3\x27\x00\x50\xE0\x27\xE1\x82\x84\xE7\xC5\x0A\xEB\xD8\x37\x01\x18\xC1\xF8\xDF\x5A\xE1\xF0\x18\x3F\x04\x0B\xEE\x5B\x47\x02\x1F\xC1\xE6\x7B\x83\xD8\xBC\x59\x62\x5C\xFE\xD1\xC0\x52\x77\xEA\x36\x77\xDD\xE2\x53", - "\x35\xE1\xB8\x0E\x0C\x0E\x06\xFD\x77\xF1\x24\x29\x00\x89\x5A\x3A\x2F\x0D\x01\xB1\x50\x18\x15\x03\x09\xC1\xCB\x7B\x31\xB0\x69\x1D\x0E\x01\x0F\xE9\xE5\x7C\x83\xD6\x81\xFF\xE0\xAA\x1A\x88\xDF\xA9\x09\x09\x04\x08\xF9\x3D\x46\xC2\xFE\xDA\x88\xE1\xD2\xAE\xB4\x19\x0B\x0D\x08\xFD\x4A\x8F\xC2\xD1\xAF\x91\xE0\xE1\x0A\xB4\x19\x0D\x05\x09\xE3\x08\x37\x01\x17\xE1\x03\x03\x56\x01\x26\xE3\x8E\xD2\xED\x19\x03\x32\xC1\xFC\xA6\xA0\xE0\x1D\xB6\xBC\xD8\xC4\x73\xF6\xD3\x70\x09\xB6\x39\xDE\x69\x54\x17\x18\x88\x78\xF2\xDE\x5B\x5A\x2D\x6A\x36\x34\xE1\x36\x3C\xF2\x7E\x35\xCB\x11\x0F\x0A\xE1\x37\x0A\x03\x54\x05\x95\x08\xF2\x7D\xD0\xD4\x83\xAD\x0B\xEA\x52\x0B\x03\x40\xE1\x46\x80\x0F\xD7\xA9\x0D\x11\x05\x0C\xF5\xA0\x0C\x03\x48\xE1\x5D\x80\x12\xD4\x43\x06\x11\x0D\x0C\xE7\xD8\x0D\x03\x50\xE1\xA1\x49\x3F\x5F\x89\x07\x11\x05\x0D\xEC\xE3\x0E\x03\x58\xE1\xF1\xDE\xE4\x5F\x89\x00\x12\x0D\x0D\xEB\xEC\x0F\x03\x60\xE1\x3D\x80\x7D\xC9\x78\x19\x12\x05\x0E\xFE\x2D\x50\x03\x68\xE1\x01\x02\xF2\x7C\xD2\xCB\x9E\xAD\x0E\xF6\xF1\x11\x03\x70\xE1\xE3\x7F\x5D", - "\x5F\x89\x03\x12\x05\x0F\xF3\x18\x52\x03\x78\xE1\xE4\x7F\xB8\xD6\x40\x04\x12\x0D\x0F\xEE\x43\x53\x03\x00\xE2\x21\x5B\xF3\x05\x25\x05\x20\xE9\x49\x49\x77\xE6\x94\xE4\x7F\x50\xD5\x80\x02\x25\x04\x21\xE6\x32\x55\x06\x08\xC4\xA9\x5A\xE1\x1B\x4B\x00\x45\xE2\x75\xC6\x0D\x17\x88\xF7\xBD\x27\x04\x98\x01\x8D\xE1\x9A\x57\x1A\x0E\x11\xF1\xCF\x47\xBB\xA2\xE2\x7C\x54\x6C\x01\x49\xE1\x5B\x61\xA1\x1A\x04\x2D\xC3\x9B\x01\xA9\xE1\x80\x01\x36\x00\x1F\xE1\x08\x93\x7C\xE7\x0F\x1D\x01\x89\x5B\x05\xE1\x40\x02\x1B\x03\xE9\xD3\x25\xE7\x75\xE1\x1B\xAA\x01\x9C\xE1\xB8\x0F\x1C\x0D\x13\xF3\x03\x88\x1C\xA7\x04\xB7\x01\x4E\xE0\x1B\x3C\x1E\x0F\x07\xE1\x04\xAB\xBE\x98\xB6\x4A\xE3\xC5\x3A\x00\x04\xF6\xD1\x08\x98\x67\xD6\x15\x53\x01\x51\xE2\xDF\x48\x04\x04\x2A\xE6\xBC\xC6\x73\xD9\xC5\xE9\xD2\x5C\xE2\x18\xBF\xA9\x0F\x1D\x02\x14\xEA\x52\x2C\x00\x41\xDF\x46\xE2\x8C\xA5\x4C\x14\x1F\x0F\x15\xF3\x18\x79\x00\x61\xE2\x25\xA8\x69\x1E\x02\x03\x92\x07\xFE\xD9\xF3\x70\xC5\xDA\xA8\x65\xC8\xBA\xE1\xB8\x0D\x0A\x07\x17\xF5\x6C\xBE\x9D\xFA\xE2\x4A\x15\x31\x01", - "\x5F\xE1\x20\x03\xBF\xD7\x13\xC0\xC6\x95\x28\x8A\xDF\xA9\x5D\x20\x83\x7F\xD8\x43\x07\x8C\xC7\x6C\x1D\xDF\x8A\xE3\x64\xE0\x02\xE3\x92\x0C\x06\xFB\x68\xED\xBC\xE3\xCE\xF4\xAC\x69\x1F\x17\x06\x31\xEC\xC6\x3C\x04\x03\xC6\x92\xD0\xD2\x1D\x36\x00\x67\xE3\xB1\x3A\x0A\x1F\x8C\xD4\xB5\xE7\x07\x7B\x01\x49\x0A\x4E\xE0\x00\x08\x0B\x08\x8B\xE3\x03\xDC\xDA\xE1\x1A\x44\x02\x6A\xE7\xF3\xDE\x1A\xE5\x04\xAC\x08\xB4\xC3\x95\x00\xCA\xE1\xB8\x0A\x1A\x0D\x9F\x58\xB6\x01\x02\xA0\xE0\x31\x12\x52\x02\x6E\xE2\x49\x12\x0E\x1D\x8D\xD8\xC6\xB3\xAA\xD2\x1D\x59\x03\x68\xE6\xB7\x42\x0F\x1F\x8C\xF0\xBA\xF1\xB4\xCB\xE2\x20\xCA\x11\xE1\x10\x87\x03\xEC\x08\x0F\x03\x43\xE3\x15\x28\x07\x00\x19\xE1\x10\x8E\x03\xEC\x08\x1E\x03\x51\xE3\x13\x47\x0E\x03\x74\xE3\xB2\xD1\x93\x0C\x07\x20\xC7\xEE\x50\x2B\x01\xF1\xE2\x66\xD9\x42\x1A\x0F\x18\x8E\xC7\x6C\x39\x00\xA5\x5A\xDF\xE2\x14\xE4\xFC\xDF\x2F\x15\x8C\xC6\x96\x71\xE3\xC7\xE2\x6F\xDC\x6D\xC0\x03\x05\x1F\xE1\x37\x19\x01\x78\xE3\x3E\xE2\xFD\xE1\x78\x1F\x04\x0D\x1F\xEA\x52\x29\x01\x00\xE4\x69\xE2\xCB\x75\x78", - "\x1E\x06\x05\x20\xF5\xA0\x22\xC0\xBE\x5D\x81\x80\x38\xE2\xCF\xCD\x41\xE7\xB0\x2B\x81\xD0\xC8\xF6\xE0\xA7\x0C\x2A\x03\xBF\x04\xCE\x22\x06\x1F\x17\x00\x06\x17\x01\xEA\xE2\x83\xDD\x4F\xC3\x43\xEF\xE4\x9E\x90\xEB\x04\x25\x01\x21\xE4\x72\xAD\x46\xCC\x44\xEF\x10\x02\x04\x26\xC8\xBF\xE0\x91\xE3\x8C\xDD\x5E\xCC\x45\xE3\x4F\xAF\x91\xF1\x69\xA9\xE4\x67\x4B\x53\x0C\x25\x04\x46\xE3\x10\x02\x05\x36\xC8\x83\x02\xCF\x00\x1C\xE6\xD5\xD9\x42\x14\x0A\x14\x90\xEF\xAE\x3F\xE4\x02\x03\x6E\x00\x19\xE2\x21\x8D\x0A\xF0\xD0\xBF\x0B\x30\xE1\x7C\x55\xC0\x82\x42\x80\x17\xE3\x31\x43\x10\x81\x02\xD4\xE4\x6E\x51\x1D\x43\x80\x80\x4B\xE9\x49\x46\x18\x8D\xC9\xA1\xB4\x4F\xE5\xA1\xDD\xEF\x82\x82\x82\xCD\xDA\x57\xCC\xBE\xE9\x54\x87\x86\xFF\x84\x97\xE6\x64\x4E\x3F\x8B\x1F\x88\xC5\xC8\xE4\x67\xDF\x0D\x8A\xFA\x82\xDA\x19\x0B\x10\x93\xE9\x9F\xFC\x54\x28\x88\x51\x8B\x9A\xE2\x75\xC8\x42\x90\x52\x7B\xC9\xE9\x54\x50\x54\xB8\x17\x89\x03\x17\x06\x27\xEE\x53\xFC\xA9\x22\x89\x82\xE4\x23\xB5\xA1\xE7\x4C\xEC\xA7\x57\x29\x8F\x9D\x7F\xE4\x8D\xE5\xDC\x88\xFF\x14", - "\x51\xEA\x7A\xC5\x3C\x2E\x15\xA7\x04\xBF\x01\x45\xE4\x35\xDA\x75\xC6\x0F\x37\x94\xE9\x69\x9A\xE5\x16\xD4\x93\x47\xD3\x4E\x1E\x20\x29\xE7\x11\x25\x18\xA3\xDF\xE8\xB5\x30\xE4\xD2\xDA\xCA\x8A\xB9\x21\x6F\x04\x03\x2A\xE5\x4E\xDF\x16\x8D\xEC\xD9\xBC\x15\x0C\x10\x95\xD4\xBD\xB2\xE5\xB8\xDF\x53\x0E\x31\x06\x56\xEF\x5D\xC6\x95\xCF\xB4\xA7\x0D\xC7\x00\x5E\xE5\x9C\xE0\x57\xE1\x17\xE1\x6F\x08\x03\x42\xE5\x77\xE4\x5F\xE7\x46\xDA\xDA\x19\x0C\x08\x96\xC6\xCA\xCA\xE5\x0C\x02\xB2\x9B\x89\x02\x19\x0E\x2C\xF4\x94\xCB\x19\xAF\x9C\xE1\x1B\x65\x01\xB5\xE3\x53\xE9\xA6\x45\x31\x8C\xC6\x8F\x02\xCC\x01\x6D\xE5\xA8\xE2\x75\xC5\x62\x80\x7A\xCF\x04\x4D\x01\xA0\xE4\x93\x44\x3B\x05\xB4\x55\x49\x05\x31\x82\xB5\xE7\x07\xCF\x00\x71\xE4\xBC\xD6\x0D\x55\x62\x82\x74\xCF\x04\x50\x01\xF2\xE5\x69\xD9\x26\x4D\xC4\x80\x1C\xE7\x35\x11\x03\x69\xE5\xAA\xC7\x76\x01\x69\x58\x30\x0C\x2F\xF4\x0D\xD3\x03\x00\xE6\x69\x55\x77\x03\xC0\xE7\x5A\xE8\x02\xF2\x76\x15\x03\x79\xE5\x66\xE4\x7A\xE5\x19\xA9\xBC\x16\x0D\x10\x98\xFF\xAB\x92\xE6\xCA\x7F\x08\x17\x35\x00\x61", - "\xEC\xA7\x51\x07\x2C\xCB\x8C\xE6\x00\x01\xEE\xE3\x40\x01\x1B\x06\x31\xEA\x3D\xE5\x18\xC4\xE0\x0F\x02\x6D\x01\xC9\xE0\x84\xD3\x1F\xF1\x49\x1B\x03\x1C\xE6\x58\xCD\x85\xE4\xB1\xE5\x7E\x82\x35\xD0\x99\xEB\x04\x74\x01\x32\xE6\x56\xE7\x1C\xDC\x6B\xC6\x33\xFE\xF5\xB9\xCC\xC2\x8C\x3B\xE7\x18\xCD\xCF\xE4\x21\x08\x0F\x1F\x99\xD0\x19\xEF\xDD\x59\xD7\xA1\xE7\x40\x02\x1F\x0F\x31\xF3\x99\xD0\xBD\x82\xD2\x4A\xE7\x6C\xBD\xD3\xE2\x67\xED\x7E\xB2\x76\x27\x03\x48\xE5\xE8\x01\xA8\xE5\x8D\x8A\x0B\xB1\xA1\x0A\x07\x08\xCB\xEB\x01\x5A\xE6\x00\x01\x89\x8A\x11\xE6\x55\x0D\x07\x08\xCB\xEE\x01\x61\xE7\x12\x8F\xDB\xAF\x44\x00\x0F\x08\x96\xF1\x03\x69\xE6\xB9\xD9\x0F\xBC\xB2\xE4\x1E\x00\x37\xF5\x6F\xE1\x37\x76\x01\x76\xE4\x7C\x02\x9D\xE3\x0C\xE6\x52\xDE\x66\x33\x2F\x2A\xCF\xFA\x01\xB0\xE7\xFC\x15\xD1\x87\x22\x1C\x07\x2B\xCC\xCA\x14\xF3\x16\x3C\xBB\xF9\x05\x1F\x05\x28\xE7\x9C\xD6\x1D\xB4\xB9\xD2\x1D\xA0\x0F\x40\x51\xE8\x04\x43\xD3\x5F\x0C\x73\xBD\xCD\x92\xE7\x0D\x04\xE5\xE1\xDC\x03\xBF\x08\xE7\x9A\x90\x99\xE7\xA2\x5B\xCD\xE4\xE2\xE3\x25\x0D", - "\x61\xC4\x7F\xE0\xCE\xD9\x5A\xA2\xE7\x0A\x2B\xFC\x13\xC4\xC1\xA1\x0C\x00\x27\xCE\xC0\x0E\xA9\xE7\x83\x37\xFC\x15\xA3\xB1\xDE\x0F\x00\x2F\xCE\x8B\x0C\xB1\xE6\x36\x3B\xFC\x10\xA4\xBB\xF9\xB7\x9D\xD0\xB8\x39\xE7\x8B\x3B\xF9\x17\x48\xB9\xBC\x15\x01\x1E\x9D\xE5\xC0\x40\xE7\xBE\x4B\xF9\x15\x89\xC9\x42\x18\x01\x06\x9E\xDA\x00\x48\xE7\x36\x3D\xF9\x17\x8A\xC9\x42\x1B\x01\x06\x9E\xDD\x00\x50\xE7\x13\x47\xF9\x15\x4A\xB9\xBC\x1E\x01\x06\x9E\xE0\x00\x58\xE7\x6E\x51\xF9\x17\x4A\xB9\xBC\x11\x02\x06\x9E\xE3\x00\x60\xE7\x99\x49\xF9\x15\xF6\xD2\x00\xC6\x3C\xE6\x01\x28\xCF\xA6\x46\xF4\x18\x9B\xE1\x06\xC1\xE8\x0B\x1A\xFD\x07\x12\xC0\xAD\xE5\x3F\xE3\x4A\xC8\xFD\xE1\xDC\x0A\x00\x05\x8B\xC7\x1E\xC7\x22\x11\x15\x20\x01\xD0\x0D\x2E\xE5\x02\x79\x8A\xF4\x33\x4F\xE2\xBA\x2D\x01\xE9\xB8\x0D\x04\x06\x40\xF3\x95\xD1\x28\x5D\x00\x0A\xE8\x25\x17\x0C\x05\x81\xE9\x2B\xF6\x2A\x2B\x01\x11\xE8\x15\x29\x20\x00\x05\xEE\xF7\xD1\x93\x19\x03\x3B\xCF\xCA\x14\x4F\x00\xFF\xE5\x0E\x3F\x57\xE6\x55\x06\x04\x18\xD0\x87\x36\x5C\x01\x0D\xEB\x11\xAA\xDA\x14\x09", - "\x07\xA1\xEC\x71\x6A\x00\x2A\xE8\x81\x01\xF5\xDA\x11\xBE\x42\xEB\xEC\x38\x01\x31\xE8\x9C\x9B\xF0\x18\x2C\x05\x86\xEE\x5B\x46\x04\x38\xD0\x80\x00\x85\xE3\x2B\xB4\x0F\xEE\xC6\x34\x10\xF3\x7A\x74\x33\x5F\xE5\x1A\xB9\x21\xEB\xC4\x42\x14\x0F\x43\xE6\x97\xCC\x04\x5A\x01\x41\x0E\xFB\xE3\x40\x00\x16\x07\x0A\xFF\x9F\xC0\x00\x6F\xE5\x7E\xD6\x25\xEA\x1B\x57\x17\x0F\x43\xF6\x97\xCC\x04\x77\x01\x5A\xE9\x4C\x49\x33\x07\x87\xE7\x1A\xF0\x21\xEE\x12\x2B\xE3\xDB\x00\x11\xEB\xE2\x88\x02\xE5\xDE\x47\xA3\xE1\x1B\x68\x01\x6A\xE9\xBF\x8F\x05\xE4\x36\xCF\x01\x0E\x25\x12\xD1\xA9\xBD\x89\x5A\x6C\x2C\x3D\x1D\x5F\xE2\x97\xD6\xA3\xF0\x92\x93\x09\x7A\xE8\x1E\xD9\x78\x1D\x07\x0E\x4A\x04\xA0\xD5\x00\x4B\xE3\xF4\x19\xE7\xE3\x38\x85\x90\xE1\x6E\x03\x01\x08\xD2\xCC\xD8\x11\x15\x2C\x02\x1F\xEA\x49\x11\x03\x0E\x8F\xCB\x1E\xA2\xE6\x3B\xC0\x46\xEA\x92\x10\x08\x0F\x48\xEF\x08\x28\xCC\xC5\xA1\x9A\xE9\x0A\x2A\x13\x05\x93\xEB\x04\xE1\x6F\x04\x02\x13\xE9\x15\x28\x2E\x00\x20\xED\xF3\x84\x33\xE1\x6F\x13\x02\x28\xE9\x07\x36\x36\x03\x2A\xE8\x7F\xE2\x20\xF1", - "\x50\x22\x02\x30\xE9\x6C\x38\x3E\x03\x2C\xEE\x8A\xE7\xEE\xD6\x2A\x31\x02\x38\xE9\x8B\x3A\x46\x03\x2E\xEB\x84\xE6\xDB\xCD\x60\xC0\xD3\xBE\x4B\x9C\x00\x4B\xEA\x1C\xEF\x69\xE1\xA1\x0F\x06\x07\xD3\xB6\x3C\xAB\x00\x65\xEB\x89\xDA\x20\x0E\x7C\xA7\x11\x1E\x03\x21\xE9\x03\x02\x76\x02\x2B\x08\x30\x0A\x0B\x04\xA5\xC1\xC2\xE1\x1B\xEE\x00\x6C\xEA\x40\x04\x1F\x0B\x4D\xE7\x57\xDE\xD3\x82\x02\x64\xE7\xD4\xD6\x38\xEA\x95\x0B\x87\x00\x0C\x16\x03\x67\xE9\x72\xAF\xC8\xE7\x1E\x14\xCE\x2C\x01\x0D\xA7\xC7\x75\xF0\xE9\x89\xB0\xEE\xE7\x3C\xEC\x3B\x76\x4F\xED\xF0\xB8\xD3\xC3\xD9\x8F\x03\x3D\x10\xB1\x2D\x07\x0D\x4F\xE6\x80\x04\x5B\x5D\x8F\x84\xE6\x24\x0B\x1E\x10\x4A\xE7\x22\x1D\x3E\x8A\xCE\xE8\xDE\x05\xEB\xA9\x17\x42\xE9\xDC\x0D\x7D\x9B\xE4\xA7\x08\x43\x00\x11\xEA\x69\x7B\x44\xE9\x30\xEB\x12\x17\x9C\xD1\x28\x46\x00\x19\xEB\x71\x7F\x46\xED\x82\x2D\x7D\x9E\x9C\xC7\x91\x21\xEA\xD4\x81\x91\xEB\xC1\x35\xFB\x85\x3A\xF3\x06\xE8\xD4\xCE\x00\x2A\xEA\x36\x39\xF7\x8C\x75\xE1\x93\x0F\x02\x28\xD4\xD1\x00\x31\xEB\xC5\x39\xF7\x8C\x76\xED\x0E\xC8\xA9", - "\xD4\x01\x39\xEA\xBE\x4B\xEE\x8C\xEF\xE1\x42\x15\x05\x08\xA9\xD7\x01\x40\xEA\x36\x3D\xEE\x8F\xF0\xE1\x42\x18\x05\x08\xA9\xDA\x01\x48\xEA\x13\x47\xEE\x8F\xF2\xE1\x26\x1B\x05\x08\xA9\xDD\x01\x50\xEA\x6E\x51\xEE\x8F\xF4\xE1\x26\x1E\x05\x08\xA9\xE0\x01\x58\xEA\x99\x49\xEE\x8F\xF6\xE1\x42\x11\x06\x08\xA9\xE3\x01\x60\xEA\x26\x47\xEE\x8F\xF8\xE5\x27\xC8\x52\xE6\x03\x28\xD5\xAA\xC7\xDD\x8F\xF5\xE7\x52\xC0\xA5\xE9\x06\x0F\xAB\xE9\xA9\x4C\x11\xDD\x8F\x52\xE6\x28\x94\x21\x02\x3F\xE9\x54\xBB\x21\x2B\xE3\x0F\x01\x7F\x05\xC3\x07\xF5\x48\xE1\xCF\x08\x37\x01\x7F\xEA\xE1\x0C\x0E\x02\x60\xEB\xAF\xE0\x70\x91\x53\xFB\xD3\xCA\x14\x29\x00\x1E\xE6\x40\x07\xF5\x48\x40\xE2\x08\x12\x02\x0F\xEB\x15\x29\x1B\x02\x64\xE8\x14\x9F\xE2\xC1\x6F\x20\x02\x18\xEB\x07\x37\x22\x03\x66\xE8\x00\x0F\x7A\x40\x68\xF1\x24\x2E\x01\xA0\xEA\x36\x3B\x14\x03\xB4\xEF\x7A\x5F\x71\xE7\x08\x3C\x01\x88\xEA\xC4\xE7\x62\xEE\x13\x97\xE4\xC1\x6F\x09\x03\x29\xEB\x8B\x3A\x37\x00\x6B\xED\xA2\xDA\x31\xF8\xAD\xFE\x96\x7C\x00\xBB\xEB\x65\xE6\x40\xD6\xB7\xE6\xE3\x2A\x04\x01", - "\xD7\xD1\xE5\xD2\x1D\x79\x00\x71\xEB\x62\x48\x09\x07\xAE\xC3\x04\x41\xE8\xDD\x58\x06\x0C\x01\xEE\x14\x0E\x5C\xE2\x08\x08\xD1\xA0\x09\xD2\xEA\x28\xD9\x75\xE9\x1E\xE2\xED\x1D\x00\x0C\x18\x77\xE8\x7F\xB4\x23\xE4\x67\xEC\x21\x08\x45\xFC\xCE\x59\xD7\xCA\x14\xFF\xE5\xA9\x5F\xEB\x4E\x8B\xE7\xCC\xA7\xAF\xD8\xAF\xDB\xEB\x00\x01\x32\xE9\x65\x34\xC1\x0B\x1A\xE6\x9B\xF8\x4F\x2F\x4F\x6C\xE8\x11\x88\x7D\xE9\xDC\x01\x38\xF7\xAF\xED\xB5\xB5\xC2\xDF\xEB\x70\x0F\x01\x01\xE8\x08\x6D\x2F\x3D\x7C\xD1\xE7\x07\x71\x01\x00\xEE\x92\x17\x02\x04\x60\xEC\xAC\xC2\x04\x29\xE0\x09\xDA\xF7\xEB\xC1\x37\x04\x0C\x43\xEF\x3D\x4A\xD2\x82\x02\x8E\x00\x09\xED\xB6\xCD\xC2\xE0\x49\xF1\x49\x1C\x02\x0A\xEC\x15\x29\x21\x01\x14\xEE\xC1\xE2\xA8\x81\x6F\x2B\x02\x1A\xEC\x8B\x3A\x29\x00\x87\xEE\x93\xE4\x27\xE8\xB1\xFE\x96\x60\x00\x2B\xED\x52\xE9\x84\x17\x18\x00\x62\xE7\xD8\x2E\x01\x0D\xEC\xB4\xEA\xF5\x86\xC9\xC5\xC6\xEC\xC6\x3E\x03\x38\xD8\x8C\x02\xAF\x4F\x5E\xEB\xF9\x05\x1C\x0C\x63\xEB\xEC\x0E\x02\x3F\xEC\x44\x54\xD8\xD9\x78\x1C\x1E\x05\x64\xFE\x2D\x5E\x02", - "\x48\xEC\x93\xEB\xEF\x77\xA9\x0B\x00\x06\x7A\x40\xAF\xC0\x00\x2E\x01\x23\xED\x1C\xED\xCF\x72\xDA\x12\x01\x15\xB2\xE1\x1B\x3D\x01\x59\xEC\x20\xEC\x86\xE6\xAA\x01\x02\x06\x3D\x74\x59\x2F\x00\xA6\x4E\xC0\x00\x33\x01\xC6\xEF\x4D\xF1\x50\x31\x00\x66\xEC\x48\x09\x34\xEE\x48\xBC\xCD\xE8\x4E\xF2\x76\x01\x01\x70\xEC\xD4\x2E\x39\xEC\x55\xBC\xCE\xE1\x4F\xE2\x75\xF8\xD9\x81\x8D\x7A\xEC\x86\x02\x3D\x04\xCF\xE9\x4F\xE4\xAB\xFF\xD9\x83\x02\x6F\x01\x40\xEF\xC4\x03\x9D\xE4\x5A\xEB\x79\xD1\x28\x71\x00\x5E\xED\xDB\xA2\xA2\xED\xD4\x57\x4C\xEE\x45\xBD\xD5\xAD\xE4\xA6\x4F\xD5\xE1\x08\x06\x8D\xEB\x8E\x90\xEB\xA7\x0F\x0F\x01\x99\xEC\x84\xD4\xA7\xEF\x1C\x92\x70\x81\x6F\x1C\x02\x07\xED\x6C\x39\x1D\x00\xA3\xEE\x15\x95\x59\xE1\x08\x2A\x02\x28\xED\x8B\x3B\x24\x03\xAA\xEE\x81\xE1\x93\x18\x05\x30\xDA\xBE\x4B\x57\x01\x59\xED\x05\xEF\x7C\x06\x0C\x17\xB5\xF6\x78\x65\x00\xBA\xEC\x0E\xE8\xBA\xD9\xD4\xEA\xA4\x13\x03\x23\xDA\xE4\x91\x24\xE9\xF3\x05\x38\x06\xD7\xE3\x31\x40\x04\x01\xDB\xAB\xE8\xE1\x1B\x77\x00\xB3\xEE\x0D\x5E\x08\x0F\xB6\xF2\xD0\xD2", - "\x1D\xFD\x01\x69\xED\x26\x4C\x13\x06\x6D\xF9\xA1\xD1\x28\x0B\x00\x6F\x14\x02\xEA\x2A\x05\xDB\xE0\x44\xFD\x6A\xE1\xDB\x82\xDB\xE4\xED\xEB\xEA\xAE\x0F\xDC\xEA\xD8\xC4\xB7\xCE\xD1\xB8\xDA\x6F\x14\x2B\xEC\x35\x05\xD2\xEB\x12\x05\xAF\xC1\x21\x6C\xED\x97\xDA\x72\xEC\x7B\xE8\x7D\x88\x6F\xF2\x68\xE4\xDB\xF2\xEB\xB4\x07\x37\x17\x6A\xE7\x1F\x07\x6C\xEC\x46\xB0\xC6\x91\x14\x6D\x00\x81\xED\xB8\x0C\x01\x01\x5B\xE4\xB5\xF3\xD1\xE1\x1B\x7A\x01\x78\xED\xB8\x09\x03\x0B\x87\x18\xB6\x2E\x22\x87\xEC\x27\x05\x44\x02\xC4\xE8\xB2\xE5\x71\xE9\x47\xB5\xB5\xD2\x1D\x98\x01\x7E\xED\x83\xDE\xB7\xEE\x8A\x97\xB0\xC1\x04\x26\x01\x22\xEF\xC5\x3B\x11\x04\xE4\xED\x61\xE7\x35\x34\x02\x1B\xEE\x15\x29\xA2\xEA\xAF\x5E\x15\x98\x49\xEE\xD7\xA9\xDC\xBE\x4B\x64\x00\x96\xEC\x8B\xE9\xBC\x11\x0D\x17\xB9\xF6\x78\x72\x00\x3A\xEE\x19\xED\x4C\x17\x1B\x00\x73\xE7\xD8\x00\x02\x1D\xEE\x9D\xED\xF5\xE1\x4C\x16\x1D\x05\x74\xEC\xE3\x10\x02\x48\xEE\x0E\xEE\x81\x02\x90\xEF\x44\x0D\x0F\x0D\xBA\xCB\x76\x1F\xEB\x7A\x5C\x57\x93\xD4\xEA\x5F\x05\xCB\x56\xB2\xF0\x02\x50\xEE", - "\xC8\xED\x62\xEA\x55\x0B\x03\x0D\x75\xE1\x37\x00\x03\x02\xEA\x1E\xEE\x83\x76\x09\xC5\xEC\xEA\xA4\x0F\x06\x28\xDD\xC9\xEE\xF0\xAE\xDE\xCD\x2D\x5C\xCE\x27\x04\x15\x65\x40\x06\x5E\x01\x41\xEF\x36\xED\x4C\x11\x09\x03\x77\xE1\x60\x76\xDD\xAB\x02\xEC\x01\xBC\xED\x9D\xE9\xBC\x19\x05\x1D\xBB\xED\x25\xFF\xEE\xC3\xBC\xC1\xED\x9F\xE9\x42\x19\x06\x06\xBC\xCC\x04\x77\x00\x88\xEE\xED\x5A\x8B\xEE\x15\x92\xF2\xDB\x8A\x8E\xDE\x83\x02\x87\x01\xC8\xEE\x06\x6B\xF2\xEE\x68\xF1\x49\x09\x02\x6C\xEE\x3E\xAA\xCD\xEF\x6E\x25\xC9\xEC\x92\x89\xA8\xE1\x59\xB5\x59\x0C\xEA\xB5\x90\x20\xBE\xA2\xD2\x7A\xF6\x6E\xE8\xDE\xE1\x0D\x2C\x92\x8B\xE9\xE9\xAD\xF5\xE0\x00\x00\x05\x2F\xDE\xCA\x14\x2C\x92\x8F\xE9\x4C\x11\x14\x04\x7B\xE3\x05\x37\xDE\x95\x28\x2C\x92\x93\xEA\x23\xB4\xF6\xE6\x0A\x1F\xBD\xC7\x6C\x2C\x92\x2D\xEB\x53\x0F\x29\x04\xF6\xE9\x0A\x06\xBE\xEC\x71\x2C\x92\x34\xEB\x53\x0E\x2A\x04\xF6\xEC\x0A\x0E\xBE\xCB\x76\x2C\x92\x3C\xEB\x98\x11\x2B\x04\xF6\xEF\x0A\x16\xBE\xFE\x96\x2C\x92\x43\xEB\x98\x10\x2C\x04\xF6\xE2\x0B\x1E\xBE\xF6\x78\x2C\x92\x4B", - "\xEB\x98\x13\x2C\x04\xF6\xE5\x0B\x06\xBF\xD3\x8C\x2C\x92\x53\xEB\x53\x0E\x2D\x04\xF6\xE8\x0B\x0E\xBF\xEE\xA1\x2C\x92\x5B\xEB\x53\x0D\x2E\x04\xF6\xEB\x0B\x16\xBF\xD9\x92\x2C\x92\x63\xEB\x98\x10\x2F\x04\xF6\xEE\x0B\x1E\xBF\xE6\x8C\x2C\x92\x6B\xEB\x98\x13\x2F\x04\xF6\xE1\x0C\x06\xC0\xEA\x8E\xAC\x92\x72\xEB\x53\x0E\x30\x04\xF6\xE4\x0C\x0E\xC0\xE9\xA9\x78\x92\x2C\x92\xBD\xEA\x8D\x91\xED\xE5\x26\xF7\x98\xE3\xCB\xE9\x54\x4B\x95\xD7\x4E\x06\xF4\x21\x0F\xA9\x97\xB4\xD8\x6C\xB5\x59\xAB\xE3\x19\x03\x7E\xEF\x21\x0F\xA9\x85\xAC\xF3\x71\xA8\xF0\xE1\x0C\x20\x03\x0A\xF4\x04\xF7\x14\xEC\xE9\x97\xDE\xEC\x38\x4D\x00\x17\xEF\xA7\x95\xD5\xE8\xB9\xD7\xC1\xCB\x76\x5B\x00\x3A\xF0\x5A\xEF\xA9\x0B\x1F\x0E\x83\xFE\x2D\x69\x01\x41\xF0\xBB\xEC\x16\xCB\x80\x5C\x80\xE7\x07\x08\xC2\xC2\xDB\xD6\x0A\x17\x01\x01\x5F\x6A\xE5\x10\x03\x83\xF6\x54\x89\xDB\xA7\x04\x24\x01\x25\xF1\xB8\x0A\x12\x0E\x84\xF0\xB6\xD1\x28\x32\x00\x5A\xF0\x25\x14\x28\x05\x0B\xF7\x6D\xE1\x6F\x00\x01\x61\xF0\x15\x28\x57\x00\x19\xF6\xDB\xED\x0D\xC8\xC3\xC7\x6C\x3C\x01\x6B\xF1", - "\x72\xEF\x45\xC6\x0D\xFC\xC6\x2A\x06\x31\xE1\xEA\xED\x4D\x94\x3A\xF3\x62\x38\x1B\x01\x87\xEF\xB7\xC6\x47\x83\x5C\x56\xEC\x73\x01\x93\xEF\x53\x96\x6F\xF1\x6F\xFA\xE1\xBE\x4B\xF5\x01\x38\xF3\xBE\xE8\x05\xE7\x88\xE9\x23\xF7\xDA\x9F\x95\x00\xEE\x86\x03\x28\x02\x0A\xF1\x6E\x11\x00\x04\xDB\xB4\xF0\xF3\xBA\x1D\xE8\x25\xF2\x49\x1E\x01\x17\xC4\xD6\xE1\xB7\xE3\xE1\x1B\x5E\x00\x20\xF1\xDC\x0B\x02\x06\x3D\x58\x5B\x1F\x95\x18\xEF\x06\xBB\x28\xF2\x49\x1B\x03\x06\xC5\xDE\xB7\x82\xE9\x11\x15\x6D\x01\x23\xF3\x62\x4B\x04\x0F\xC4\xD3\xCC\x91\x14\xE9\x01\x59\xF2\x1B\x51\x0B\x06\x8B\xF9\x98\xF1\x24\x77\x01\xAB\xF0\xE0\xED\xA4\xE8\x13\xFC\x10\x15\xB9\xE0\x60\x49\x60\x04\xE8\x3B\x01\x2F\xF1\x9C\x92\xED\x14\x00\x08\xE3\xE1\x0D\x84\x01\x65\xF1\x2B\xE9\x42\x12\x02\x09\x82\x56\xD9\x92\x01\xAE\xF0\x16\xF1\xCB\xE7\xD4\x01\x03\x16\xC6\xE1\x1B\x22\x01\xD9\xF0\x62\xF1\x2D\xE9\x26\x10\x04\x1E\xC6\xCA\x29\x32\x01\xE1\xF1\x4F\xF1\xD0\xE1\x42\x1F\x04\x06\xC7\xD5\x50\x42\x01\xE9\xF1\x6D\x96\x94\xEE\xAA\x0E\x05\x0E\xC7\xC7\x6C\x52\x01\xC3\xF0\x75", - "\xF0\xCB\x71\x34\xE6\x8F\xEC\xE3\x0B\xDB\xBE\x5D\x9F\x95\x6A\xE8\xAE\xDF\x19\xF3\xE1\x09\x82\x40\x06\x70\x01\xD2\xF1\x4D\xD9\x78\x1C\x11\x04\x90\xFA\xB0\x86\xE4\xAB\x02\xFE\x01\x84\xF2\x75\xDA\xDA\x1C\x09\x0D\xC8\xC3\x04\x2A\x01\x0F\xF2\x84\x07\xCD\xEF\x53\x9B\x36\xE7\xC8\x96\xE4\x82\x02\xBA\x01\x8C\xF3\xD8\x5B\x23\xF1\x37\xF0\x56\xDF\xE4\x81\x02\xCA\x00\x91\xF3\x40\x00\x05\x04\x92\xF6\x9B\xD1\x28\x4C\x01\xFD\xF1\x80\x03\x36\x02\x25\xFE\x99\xB6\xBA\xED\x2C\xD9\xBA\xD2\x1D\x6E\x01\x12\x63\x35\xE5\x04\x0A\xB8\xDC\x2C\xC0\xCC\x5D\xE7\x9D\xF1\xB8\x0A\x0A\x0E\x93\xEC\x08\x2B\x2B\xA8\xE5\x03\x03\x7B\x03\x49\xF6\xB7\x4F\x05\x17\xB9\xEB\x2B\xBC\xF0\x05\x00\x5B\x5C\x01\xE9\xE1\xE3\xF5\x4B\x57\x96\xC5\xE7\x07\x13\x00\xA9\xF1\xB8\x0B\x0F\x0E\x94\xFD\x8A\xE4\xCF\xDA\xF2\x4A\x14\x8D\xED\x55\xF5\x79\xD6\x55\x0F\x01\x36\xBA\x2B\xE3\x97\x01\xA2\xF3\x40\x03\x5D\x96\xFC\xC1\x61\x20\xE5\x95\x28\xA4\x01\xAE\xF0\xE9\xDA\xDA\x1A\x04\x0F\xCB\xC7\x6C\x32\x01\x72\xF2\x86\x03\x0C\xE8\x9C\x86\x97\xEC\xE3\x00\x03\x79\xF2\x98\x9B\xA8\xDD", - "\x5F\xF3\xB1\x3E\x0C\x00\xCC\xD8\xCB\x91\x14\x74\x01\xC1\xF2\x6F\x4C\x1B\x06\x98\xE1\x08\x38\xE1\x80\x00\x82\x00\xC5\xF2\x8D\x3A\x1D\x0D\x98\xF9\x87\xE1\x37\x10\x01\xB6\x5C\x2B\xEC\x3E\x06\x26\xFB\xAE\x85\xC4\xED\x5F\x92\xF3\x13\x47\x03\x01\x11\xF3\x5D\x9B\x88\xE0\x00\x2D\x02\x20\xF3\x6E\x51\x0A\x03\x68\xF4\x83\xD1\xDE\x1B\x05\x27\xE5\x8D\xE9\x30\xF1\x9F\xF0\xA4\xDA\xDA\x18\x0C\x0F\xCD\xCA\x29\x30\x00\xB1\xF2\xA3\xF3\x7F\xE9\x42\x15\x0D\x19\xCC\xE1\x1B\x3D\x00\xB5\x58\x6C\x2F\xBA\x91\x15\xF1\xD4\xBE\xCD\xCA\x29\x4D\x00\xC1\xF2\xB2\xDC\x2C\xF1\x26\x13\x0F\x08\xCD\xD9\x92\x5D\x00\xAB\xF2\xBF\xDA\xB4\x19\x00\x08\xA1\x44\xA0\xEB\x01\x51\xF3\x6B\x7F\xDA\xE4\x86\x56\xCA\xE9\x07\x00\xBD\xEB\xE5\x8D\xDB\xDC\xE7\xEA\xF1\xB8\x08\x11\x08\x9D\xFE\x66\x92\x3B\x2C\x00\xE2\xF2\x25\x16\x25\x05\x3C\xF8\x3E\x94\x0D\xFA\x00\x5B\xF3\xE1\x0C\x52\x01\x72\xF2\x36\xF3\x8D\xFB\xBB\xF0\xE7\xCA\x14\xB4\x01\xF9\xF2\x6E\xF2\x98\xD4\x1B\xD8\x02\x37\xE7\x95\x28\x15\xF0\x3D\x5F\xBA\x93\xEB\xED\x96\x9F\xCF\xC7\x6C\x54\x01\xFA\xF3\xEF\xF2\xD8", - "\xEF\x7C\x06\x07\x06\xD0\xEC\x71\x64\x01\xDE\xF2\x75\x97\x22\xD9\xBC\x15\x08\x0E\xD0\xCB\x76\x73\x01\x11\xF4\x95\x97\x98\xEF\x7C\x04\x09\x09\xCF\xCC\x04\x22\x01\x18\x55\x81\x53\x21\xF3\x5D\x9E\xDC\xD8\xC4\x9E\xE8\xC7\xB2\x21\xF4\x22\x13\x88\xF3\x25\x09\x4E\xE7\x11\x34\x02\x27\xF4\x02\x02\x61\x01\x8A\xF7\xAD\x4B\xA2\xF2\x91\xD6\x15\x44\x01\x30\xF5\x36\xBB\x8C\xF2\x2F\x75\xA3\xEB\x6F\xE8\xBB\xB9\xF4\x00\x00\x71\x03\x8E\xF7\x98\xBD\xA3\xFE\x76\xD2\x3B\x64\x01\x16\xF4\x00\x03\x3C\x03\x48\xFB\x28\x01\xC6\xC3\x04\x40\x96\xA6\xEE\x86\x01\x3D\x00\x43\x59\x7A\xF8\x5A\x91\xAF\xE7\x07\xF6\x00\x26\xF5\x40\x00\x1F\x04\xA5\xE1\x37\x00\x2D\xB2\xEF\xB9\xBC\x2D\xF5\xB2\xBD\x4B\xFA\xA4\x00\x5A\xBA\xDE\xA7\x0D\xFC\x00\x31\xF6\x3F\x04\x4C\xF5\x41\x20\x5A\x82\xDF\x99\x02\x62\xF5\x00\x00\xC6\x14\x86\xC0\xB4\x89\xBE\xD6\x15\x02\x00\x18\x16\xC0\x00\x01\x03\x4E\xFE\xA5\xFB\xE8\x94\x90\xF9\xF4\x32\x5A\x3E\xF5\x99\xF6\xA3\xB1\xDE\x08\x00\x00\xEA\xE6\x5A\x82\xF5\x36\xF5\x48\xB9\xBC\x1B\x00\x07\xD4\xFE\x0B\x09\xF5\x07\x36\xA0\x95\xFA\xEF", - "\xD4\x0E\x00\x0E\xD4\xFD\xB7\x10\xF5\x6C\x38\xA0\x95\xFC\xEE\xAA\x01\x01\x16\xD4\xEF\x18\x18\xF5\x8B\x3A\xA0\x95\xFE\xEE\xAA\x04\x01\x1E\xD4\xF5\xD1\x20\xF5\xBE\x4A\xA0\x95\x00\xF7\xD4\x07\x01\x06\xD5\xCB\x34\x28\xF5\x36\x3C\xA0\x95\x02\xF7\xD4\x0A\x01\x0E\xD5\xDC\x00\x30\xF5\x13\x46\xA0\x95\x04\xF6\xAA\x0D\x01\x0E\xD5\xDF\x00\x38\xF5\x6E\x50\xCB\x94\xD0\x93\x04\xF8\x68\xEA\xCE\xC8\xA3\xB4\xE1\xC6\x99\x4F\x94\xB1\xF6\x2F\xE2\x6B\x91\x49\x20\x00\x18\x16\x2C\xD3\x83\x34\x59\x9F\xA1\xEA\x5D\x78\x58\x31\x04\x27\x00\xC0\xF5\x4C\x48\x59\x98\x4C\xF4\x87\x76\xD6\xDC\xE7\x59\xF5\x26\x46\xB2\x9B\x99\xF6\xAA\x0D\x02\x1E\xD6\xE8\x97\x60\xF5\xAA\xC6\xB2\x9B\x9B\xF0\xD0\xB6\xAE\xEC\x08\x36\x00\x68\xF5\x69\x54\xB2\x9A\x9D\xF7\x7C\x07\x03\x0D\xD7\xDE\x0E\x70\xF5\x7C\x54\xB2\x99\xF4\xEE\xAA\x0C\x03\x16\xD7\xC7\xED\x78\xF5\x07\xCA\x42\xF5\x00\xEE\x5F\xF3\xD2\x60\xD8\xDC\xBF\xA3\xE6\xD2\x1C\x23\x00\xC1\xF3\xFC\x76\xB0\xFE\x72\xC2\x04\x13\xF5\x56\x0B\x25\x03\xC2\xF7\x09\x0D\xB0\xE8\xAE\xCF\x04\x1B\xF5\xE7\x06\x28\x03\xC2\xF4\x0A", - "\x05\xB1\xE1\xCC\xEA\x98\xBE\xC9\x0B\xF7\x2C\x01\xC7\xF4\x59\xFC\x10\x0B\xD5\xD6\x15\x5A\x00\x0B\xF6\x2F\x03\xC8\xF4\x0D\xF2\x10\x13\xD5\xD6\x15\x5F\x00\x0B\xF7\x31\x03\xCA\xF2\xAF\x9C\xD2\xB2\x76\x24\x01\x0B\xF6\x68\x01\x99\xF4\x87\x9F\xC0\xDB\x12\x09\x03\x28\xEA\xEA\x00\xAE\xF5\x2B\x03\x80\x5D\x92\x02\xED\x83\x7A\x8B\xEB\xD5\x9D\x34\xAF\xA3\xF4\x00\x03\xE8\x9C\xB3\xFC\x65\x68\xEA\xED\x00\xAE\xF4\x2C\x03\xD0\xF6\x09\xCF\xF6\x96\x59\xDF\xE0\x9E\xF0\x26\x47\x02\xA2\x50\xA2\x69\xFA\x0C\xA6\xC1\xC8\xDA\x98\x16\xAB\xE3\x2C\x03\x26\xF6\x1D\xA0\x94\xF1\x49\x3C\x01\x60\xF6\x73\xE1\xB1\xF4\x42\xA5\x06\xF8\x59\xD8\x58\x04\xD0\xF3\x00\x87\xF0\x65\xA0\x0F\xF7\x12\x0E\xB6\xE1\x37\x01\x02\x71\xF6\x42\xF0\x39\xD1\xDD\xF2\x49\x1F\x08\x18\xDB\xC9\xE1\x9C\xB3\x7B\xF7\x0A\x29\x27\x06\x6F\xFF\x84\xE7\x1F\x01\x03\x68\xF6\x4A\x15\x55\x02\xDA\xF2\x20\x0A\x0C\xAD\xCB\xCC\x04\x4E\x01\x81\xF7\x83\x34\x2E\x04\x70\xFE\x85\xF1\x49\x1C\x03\x11\xF7\x6C\x38\x63\x00\xE5\xF5\x0C\xFD\x35\xF8\xDC\xCB\x76\x54\x01\x9B\xF6\x96\xF6\x55\x08\x1F\x0E", - "\xB9\xFE\x2D\x62\x03\x21\xF7\x72\xF1\x08\x16\x01\x04\x0A\x54\x40\xF0\x07\x28\xEE\x8F\xF3\x14\x00\xD6\xF5\xB8\x0E\x1F\x08\xBA\xFE\xC3\xCB\x43\x54\x50\x56\xEC\x06\x01\x4C\xF0\x00\x0A\x0C\xBE\xCC\xD0\x67\xB2\xF7\x4A\x15\x0D\x03\x52\xF2\x19\xA5\x9A\xFF\x01\x00\xEF\x95\x28\x29\x01\xE1\xF4\x6B\xF1\x42\x1D\x04\x14\x42\x6B\xC6\xB7\x00\x42\xF2\x7D\xA3\xC1\xE9\x26\x1A\x05\x0E\xDE\xE1\x1B\x44\x00\xD1\xF6\xB2\xF5\xA8\xD9\x42\x17\x06\x18\xDD\xE1\x1B\x51\x00\x49\x60\x6C\x2E\x32\xA4\x38\xF5\x0C\xBE\xDE\xC8\xCE\xE1\xF7\x25\xCA\xE4\xE0\x85\xF7\x78\xF2\xAD\xEA\xDE\xD2\xE7\xAE\xE9\xEC\xF6\x36\x3B\x1F\x06\x7D\xF9\x9D\xF1\x50\x21\x02\x66\xF7\x15\x29\x46\x03\xEE\xF2\x19\xA6\x8C\xF0\x05\x31\xEF\x8B\x3B\x15\xF3\xA9\x5E\x32\xA7\x93\xE3\x10\x1E\x05\x3F\xEF\xBE\x4B\x18\xF2\x01\xFB\x36\xF6\xAA\x0C\x0C\x18\xDF\xD2\xEE\xE8\xF7\xD2\xF6\xA5\xEF\xA9\x0B\x1B\x0E\xC0\xEC\xE3\x08\x03\x10\xF8\xDA\xF7\x71\xF3\xA9\x0A\x1D\x05\xC1\xFB\xC3\xD8\xF0\xEB\xF6\xFC\xF2\x58\xD9\x07\xFE\xB7\x48\x0E\x1F\xE0\xCC\xEE\xF3\xF1\xE7\x06\x04\x02\x0E\x52\x33\xFB\xBF", - "\xF3\xD0\xD1\x28\x17\x00\x2B\xF8\x01\xEE\x71\xF1\x83\xF4\x4D\xFE\x3B\xFA\xA0\x74\x2C\x34\x00\x1D\x50\x60\x06\x02\x0A\x98\xEA\x86\xA5\xE8\xD0\x50\x37\xF9\xE7\x0A\x0E\xFE\x32\x1D\xC3\xEC\xD1\xC9\xEC\xC1\xF8\xB4\x2D\x21\xF9\x60\xB5\x88\xF6\xA3\xE7\x1F\x16\x01\x48\xF8\x46\x02\x25\xFB\xB0\x74\x89\xFE\xA3\xF6\x2A\x26\x01\x50\xF8\x5D\x9E\x29\xFB\x05\xE4\x8A\xF6\xA4\xE1\x6F\x36\x01\x31\xF8\x05\xA6\x2D\xFB\x78\x8B\x86\xFE\x09\xEE\x35\xA1\x37\x07\x01\x3A\x51\x2A\xF7\xE3\xEF\x4A\xF7\x22\x08\x04\x22\xF1\xB1\x18\x69\xF9\x70\x0C\xDA\xD0\x72\xE1\xA1\x0B\x04\x2F\xF1\x80\x00\x8D\x01\x38\xFA\x92\x13\x8E\xF1\x10\x03\xD7\xE7\x0F\x0E\x01\x77\xF8\x48\x02\x1E\xFD\x82\x2C\xC7\xEB\xE8\xAB\xC3\xF7\xF8\x93\x01\x41\xFB\xC1\x35\x90\xF3\xAF\xE7\x11\x14\x02\x77\xF8\x96\x00\x45\xF8\x1B\x3D\x90\xFB\xAF\xE7\x1F\x17\x02\x77\xF8\x99\x00\x49\xFB\x62\x3D\x90\xF9\x7D\xE7\x35\x1A\x02\x77\xF8\x9C\x00\x4D\xFA\x6F\x4D\x90\xF1\x7E\xE7\x35\x1D\x02\x77\xF8\x9F\x00\x51\xFA\x8D\x3D\x90\xF0\xB1\xE7\x1F\x20\x02\x77\xF8\xA2\x00\x55\xFB\xC4\x45\x90\xF8\xB1\xE7", - "\x11\x23\x02\x77\xF8\xA5\x00\x59\xFA\x1B\x55\x90\xF3\xAA\xE7\x1F\x26\x02\x77\xF8\xA8\x00\x5D\xF9\x26\x4D\x90\xF6\xB2\xE7\x1F\x29\x02\x77\xF8\xAB\x00\x61\xFA\xC9\x45\x90\xFE\xB2\xE7\x1F\x2C\x02\x77\xF8\xAE\x00\x65\xFA\xEA\xC5\x90\xFB\xAB\xE7\x1F\x2F\x02\x77\xF8\xB1\x00\x69\xF9\x9A\x50\x28\xA5\xC8\xEA\xDA\xC2\x45\xCA\xA1\x4A\xF7\x77\xE6\x35\xCA\x16\x0A\xCD\xFC\x53\x6B\x01\x36\x5D\x95\x09\x77\xE7\x30\xE3\x30\xB5\xCE\xE9\x27\xE8\xF3\xF5\xED\xCA\xE0\xAB\x08\x2D\x05\x9D\xFB\x12\x0D\x03\x2F\xF3\x99\xE3\xD2\xE1\x81\x01\x2D\x04\x9E\xF1\xEB\xD7\xE7\xE4\xD7\xDA\xE1\x14\xB4\x7E\xF8\x06\x9E\x9F\xF3\x10\x0F\x97\xD8\xAD\xA6\xB4\x02\xFA\x6F\x98\x41\xFA\x20\x0F\x2E\xFE\x5A\xC2\x04\x38\x01\x09\xFB\xCA\x9B\x42\xF9\xFF\xDB\xD5\x47\x11\x39\x02\x11\xFA\x84\xE3\x89\xFB\x15\xEA\x1F\xE3\xA3\xB8\xE8\xC0\x00\x73\x00\x1A\xFB\x77\xE6\x40\xE1\x20\x0B\x0B\x1E\xE8\xC9\xE6\xA6\xCA\xEF\xE4\x3C\xD2\x40\x04\x17\x0E\xD1\xF7\x1F\xE8\xF4\xFD\xD6\x46\xB4\x8F\xFA\x1D\x01\xA4\xF7\x51\xC7\x11\x3E\x02\x1E\xFA\x77\x00\x9A\xF9\x9F\x58\x53\xEE\xD1\xF8\x03", - "\x3A\xF4\xD2\x90\x27\x04\x60\x02\x47\xF9\x0F\x0F\xD3\xFF\x95\x52\xA3\xA2\xF9\xC2\x01\x3B\xFA\x1E\x02\xA3\xFD\x72\xB6\x26\xC4\x03\x1E\xFA\x7B\x00\xA6\xF9\xD4\xD7\x44\x05\x0C\x1E\xE8\xFC\x01\x52\xFA\x28\xCF\x49\xDA\x47\xFD\x0F\x08\xD5\xF1\xB2\x67\x08\x47\x01\x1E\xFA\x3F\x01\x57\xFB\x17\x67\x22\x08\x06\x1E\xF4\xFF\x00\x63\xFA\x6B\xCD\xE2\xC6\xA3\xF0\x08\x09\xEB\xD3\xA4\xE1\x1B\xCA\x00\x8F\xF9\x20\x06\xAD\xF3\x6E\xCB\xE0\x9E\xF4\x91\xF3\x26\xCB\x96\xAF\xDA\xD1\x86\xBE\xD1\xE3\x04\x34\xF5\xA3\xFA\x00\x01\x66\x02\x47\xFC\x10\x04\xD7\xEA\xE9\xCB\x71\x9E\xFA\x85\x00\xBA\xF9\x44\xE0\x00\x0F\x0C\x1E\xE8\xC6\x02\x74\xFA\x83\xD6\x00\x00\x34\x06\xA3\xF7\x08\x14\xEB\xCA\xAE\xD1\x01\x1E\xFA\x44\x00\x5D\xF9\x72\xD2\x0D\x1E\xE8\xC9\x02\x74\xFA\x97\xD7\x69\x02\x28\xFC\x1A\x07\xC7\xEA\x04\x1A\xF4\x87\xD7\x01\x02\xAF\xF6\x40\x06\x1A\x0A\x83\x4B\x8D\xCB\x02\x36\xF3\x0C\x02\xD4\xFB\xE2\xD2\xDA\x13\x0E\x0D\xED\xE1\x1B\x18\x01\xB0\xFB\x81\x02\x6C\xF8\x29\xF2\x10\x10\x07\x18\xF1\xEC\x38\xA5\x00\xC5\xF2\x6C\xFC\x07\xFE\x0F\x1F\xED\xCB", - "\x76\x33\x01\xC2\xFB\xBC\xF7\xF9\x04\x01\x0D\xC8\x44\xA0\xC1\x03\x49\xFB\x7F\xF6\xF1\x51\x73\xF9\xDC\x0F\x0C\x10\xEE\xF3\x5C\xBE\xC1\x57\xF6\xD5\xCE\x6C\xFE\xB5\xE2\x89\x6D\x64\x6B\xC6\xDD\x01\xB9\xFA\x81\x02\x6C\xFE\x71\xF8\xD3\xD3\xEE\xCA\x29\x6A\x01\xD6\xFB\xCA\xF7\x29\xCE\xBC\xF5\x41\x38\x07\x29\xF7\x9C\xF7\x31\x13\x28\x00\x7B\xFF\x60\x36\x00\x00\xD2\xF2\xF6\xD2\xE5\x92\x8D\xF9\xF8\x1B\x3C\x02\x06\xDF\xEB\x69\xE1\x37\x6D\x00\xFA\xFB\xC5\x3A\x08\x05\xBF\xF2\xD3\xD1\x50\x3B\x01\x01\xFC\xBE\x4A\x18\x00\x81\xF9\x1B\xE1\xDE\x09\x04\x0D\xB2\x56\xEC\x3E\x01\x24\xF6\x6C\xFE\x77\xF1\xF7\x28\xF0\xF6\x78\x4D\x00\x0B\xFD\xE8\xA2\xB4\x1E\x14\x06\xE1\xF3\x18\x5B\x01\x19\xFC\x02\x03\x48\xF2\x82\xB6\xBB\xF1\x6E\x09\x03\x18\xA8\x0D\x06\xB2\xFB\xFC\xE9\x9E\xB4\xC4\xFA\xA4\x0D\xD0\xF8\x4F\x32\xFB\xE4\xF7\x1F\xBB\x83\xF9\xDC\x03\x08\x18\x50\x58\x5B\x30\xFC\x52\xC7\x19\xFE\x92\x13\x12\x06\xE3\xF8\x75\xCB\xE7\xA7\x0D\xEC\x01\x0E\xFE\x1B\x53\x14\x00\xE2\xF8\xA5\xAC\xC7\xC2\xFC\x99\x49\x58\x01\x91\xFF\xEA\xC5\xF9\xAE\x23\xD6\xD9", - "\xBF\x01\x12\xFC\xF0\xF3\x0B\xFE\x8D\xC4\x40\xEE\x06\x0B\xF9\x84\xF8\x02\x03\x12\x00\x95\xF9\xDC\x0C\x0D\x0B\xF2\xD6\xBB\xA7\x0D\x33\x00\x27\xFD\xB8\x0A\x1D\x0D\xE3\xEE\x8C\x8B\xF0\xE7\x07\x42\x00\x31\xFE\x92\x12\x1F\x05\xE6\xF1\xED\xCA\xD9\xE9\xC1\x6A\xFD\x0A\x2A\x02\x00\x63\x17\xE3\xEF\xF3\xF1\x24\x60\x00\x71\xFD\x83\x35\xAD\xF2\xCF\x52\xDB\xE9\x83\xDB\x30\xF9\xFC\x6C\x38\x15\x00\xC6\x14\xD8\x22\xDB\xF2\x90\xF7\x25\x00\xFD\x8B\x3B\x1C\x03\xA0\xFE\xC7\xF9\x81\xB1\x50\x0D\x02\x5B\xFC\x0F\x03\x4D\x02\x1B\xC9\xE0\x15\xBA\xF2\xED\xFF\xF0\x8F\xDE\x90\xFC\x86\x03\x2A\x03\xD2\xF2\x2C\x15\xF4\xC6\xF1\xE1\x1B\xAD\x01\x4C\xFF\x8D\xB4\xD3\xFA\x4B\x1E\xF4\xCD\xF1\xA7\x04\xBD\x00\x51\xFE\x40\x03\x19\x04\xEA\xF2\x5F\xE6\xFA\xD5\xF8\xE7\x07\x66\x02\xAA\xFA\x26\xFD\xEA\xE4\x8E\xAF\xFA\xDD\xF8\x11\x15\x6E\x00\xA2\xFA\x72\xD5\xEB\xF8\xB0\xCB\xFA\x96\xDE\x7B\xBA\x70\xEA\x1B\xCB\x35\xED\x09\x08\xDC\xF0\x5C\x9E\xED\x27\x05\x7D\x03\xB0\xF9\xDC\x0A\x0A\x06\xF6\xC3\x04\x0E\xD7\x11\x8E\x69\x1C\x02\x05\x3D\x54\x40\xF7\x05\x25\xEE\xD0", - "\xFD\x3C\xF0\x0B\x00\xB5\xFF\xF3\xD7\xED\xEA\xEE\xD8\xE1\xDB\xFD\x4A\x15\x69\x01\xB7\xF9\xBA\xF7\x98\xA0\xF7\xD5\x50\x61\x01\xE3\xFD\xC2\xF4\xDA\xDD\x3D\x5B\x1A\xEF\x07\x0E\xFB\x96\xA3\x57\xF0\xCC\x82\xB9\xFF\x60\x3C\x0F\x09\xF7\xEA\xF7\xD6\x0A\x5B\x01\x79\xFC\x1B\x3A\x01\x07\xC0\xF0\xF6\xFB\xE5\xED\x93\xFA\xFD\xBA\xC9\xBF\xFF\x60\xF7\x6A\x17\x03\x01\xFC\xBE\x4B\x26\x01\x81\xFF\xF8\xD9\x26\x15\x08\x07\xF8\xF6\x78\x34\x00\x0A\xFE\xF5\xDD\x84\x13\x12\x0E\xF0\xF0\x60\xD1\xFC\xE1\xE1\xA7\x0D\x50\x01\x7B\x56\xCA\xE0\x05\x03\xE1\xD0\xFB\x94\xFC\x00\x00\x58\x01\xC5\xFE\x0D\x5F\x05\x17\xF8\xC0\xC0\xE1\x1B\xBE\x01\x91\xFD\x26\x4D\x0D\x06\xF2\xE7\x80\xEF\xE4\xEC\xFD\x5B\xF2\xEB\xF4\xB0\xF9\x13\xF1\xA1\x19\x06\x30\xFC\xCA\x14\x88\x00\x99\xFF\xB1\xF8\x14\xF1\xA1\x06\x07\x1B\xFC\xE1\x0D\x95\x00\x2A\x50\xB6\x28\xDA\xF1\xE3\xE9\xF5\xBF\xFC\xCA\x14\xA5\x00\xA1\xFD\x92\xA7\xC7\xF6\x55\x04\x00\x19\x33\x04\xE8\xB5\x01\x96\xFC\x0C\xE3\xF3\xBF\xF4\xE1\x37\x03\x03\x52\xFE\xD5\xE3\xA1\x35\x36\x1E\xCA\xE1\x0D\x1E\xF8\xD2\xF9\xB1\x12", - "\x2F\x01\xAA\xFE\x92\x10\x1C\x02\xF5\xF8\xF2\xCB\x7C\xE2\xFE\x15\x28\x77\x02\xD4\xFF\xCB\xF1\xB1\xFB\xFA\xE1\x1B\x7C\x01\x4A\xFF\x99\xFE\xD0\xEF\xD4\x0A\x05\x0E\xFB\xCA\x29\x0C\x00\x3A\x51\xA1\xFE\x9D\xFF\xD4\x09\x06\x16\xFB\xD5\x50\x1C\x00\x79\xFF\xA5\xFD\x08\xF9\x42\x18\x07\x1E\xFB\xC7\x6C\x2C\x00\x81\xFE\xB9\xFE\xD2\xD9\x26\x17\x08\x06\xFC\xEC\x71\x3C\x00\x60\xF9\x9D\xFE\xDA\xE9\x42\x16\x09\x0E\xFC\xCB\x76\x4B\x00\x91\xFF\x67\xFF\x86\xF7\x44\x05\x0A\x08\xFB\xC3\x04\x33\x01\xD9\x19\x07\x42\x71\xF8\x00\x00\xED\xF7\xF4\xFA\xF3\x9E\xFF\xEC\xB5\xD0\xFC\x6E\x93\xF4\xF0\xED\xED\xD1\xD1\x6C\xA8\xFF\x8A\xB8\xD5\xFE\x3E\xA4\xF5\xF2\x09\xE1\x6F\x15\x03\x30\xFF\x00\x01\x71\x02\xEC\xFC\x21\x04\x08\x14\xFD\xDA\xC2\x82\xD2\xB8\xFF\x79\x03\xEE\xFE\x9A\xAE\xFB\xE4\x85\xE1\x37\x75\x01\x96\xFE\x54\x0B\xC9\x60\x30\x0F\xCA\xFE\x75\x49\x35\x51\xF4\x2C\x5B\x93\x66\x1A\xFA\xE6\xAB\x7A\xF1\x50\x07\x00\x4B\xFF\x76\x5A\xE9\xFD\xB8\x09\xA9\x1C\xAD\xE4\x6D\x58\xFF\x88\x06\xDA\xFE\x25\x15\x52\x1E\x8F\xF3\x44\xDF\xFE\xC8\x12\x61\xFF\x15", - "\x29\xA4\x1B\xBA\xF0\x0E\x16\xFE\xEA\x1E\x68\xFF\x87\x36\x49\x1B\x46\xF9\xD5\x05\xFD\xFC\xE8\x4F\xFF\xFD\xD8\xFE\xF4\x11\x14\x0B\x00\xFD\xFF\xD6\x56\xFF\xEB\xEC\x09\x35\x1D\xF9\x56\x05\x19\x00\xFB\x7F\x06\x31\xFD\x7F\xBE\x25\x49\x0D\xA5\x7C\x56\x05\x1C\x00\x03\x80\x1E\x00\x05\x80\x36\x1E\x49\x0D\xAD\x7C\x60\x67\x03\x80\x21\x00\x0D\x80\x13\x23\x49\x0D\xB5\x7C\x44\x04\x03\x80\x24\x00\x14\x80\x6E\x28\x49\x0D\xBD\x7C\x27\x02\x25\x00\x03\x80\x27\x00\x1B\x80\x99\x24\x49\x0D\xC5\x7C\x1E\x60\x03\x80\x2A\x00\x23\x80\x26\x23\x49\x0D\xCD\x7C\x2B\x60\x03\x80\x2D\x00\x2A\x80\xAA\x63\x49\x0D\xD5\x7C\x27\x02\x2E\x00\x03\x80\x30\x00\x31\x80\x69\x2A\x6B\x52\xD0\x7E\x4A\x7B\x6B\x52\x49\x0D\x4A\x7B\x6D\x52\x6C\x65\x1D\x78\xB4\x70\x6D\x52\x24\x00\xB4\x61\x31\x00\x03\x80\x36\x1E\xD7\x7C\xA3\x6A\x6C\x52\x67\x68\xB4\x61\x33\x00\x27\x33\xD1\x7A\x02\x01\xD9\x7C\xE8\x67\x6D\x52\x99\x6A\x0B\x72\x51\x80\x50\x6C\x3A\x28\xA7\x04\x6D\x52\x72\x6A\xBC\x67\x59\x80\x4A\x0A\xB7\x00\x3A\x28\x31\x01\x6D\x52\x85\x00\xB4\x61\x3C\x00\x60\x80\x15\x14", - "\x25\x7D\x95\x08\x6D\x52\x45\x7F\x45\x0C\x69\x80\x07\x1B\xBF\x00\x63\x80\x4B\x57\xFC\x41\x99\x6E\x70\x80\x6C\x1C\xC3\x00\x73\x80\x3C\x55\xDA\x45\xB4\x61\x45\x00\x77\x80\x8B\x1D\x60\x7D\x55\x80\x2B\x01\x93\x00\xB4\x61\x48\x00\x7F\x80\xBE\x25\x71\x7D\x82\x80\x4B\x58\xB4\x61\x4B\x00\x87\x80\x36\x1E\x82\x7D\x8A\x80\x0C\x01\xD7\x6A\xE1\x0D\x4E\x00\x8E\x80\x13\x23\x93\x7D\x91\x80\xE2\x6A\xA2\x6E\x96\x80\x06\x71\x5B\x80\x74\x80\xD5\x00\xB4\x61\x54\x00\x9C\x80\x99\x24\xAC\x7D\x99\x80\x02\x01\x05\x6A\x5D\x6C\xA3\x80\x26\x23\xD9\x00\x9E\x80\x7B\x80\x21\x7E\xB4\x61\x5A\x00\xAA\x80\xAA\x63\xDC\x00\x7A\x80\x3D\x55\x44\x2A\xB4\x61\x5D\x00\xB2\x80\x69\x2A\xE0\x00\xAD\x80\xB6\x80\xED\x79\xE1\x0D\x60\x00\xBA\x80\x7C\x2A\xB5\x7D\x6C\x80\x67\x7E\x0D\x75\xC2\x80\x27\x02\xE7\x00\xB5\x80\xC4\x51\x03\x5E\xB4\x61\x66\x00\xC8\x80\x5D\x5D\xCB\x80\x02\x01\x6D\x52\x04\x7A\xED\x49\xD0\x80\x9B\x5D\xD2\x80\x64\x52\x7B\x7F\x56\x05\x6C\x00\xD7\x80\x23\x5E\xD9\x80\x4D\x80\x85\x5D\xB4\x61\x6F\x00\xDE\x80\x49\x79\xE0\x80\x6D\x52\x2D\x00\xB4\x61", - "\x72\x00\xE5\x80\xD9\x5E\xBD\x80\xCC\x80\x11\x5F\xB4\x61\x75\x00\xEC\x80\x01\x01\xC5\x7D\xE8\x67\xFC\x51\x42\x80\x90\x1E\xD9\x7D\x76\x7B\x96\x09\xB4\x61\x78\x00\x49\x80\x13\x23\x01\x00\x8D\x2C\x80\x01\xFC\x51\xA3\x00\xB4\x61\x7A\x00\xF3\x80\x2B\x23\x8D\x2C\xA7\x04\xFC\x51\x57\x80\x94\x6D\x08\x81\x06\x00\x0A\x81\x65\x65\x00\x00\x5E\x80\x11\x0A\x80\x00\x08\x81\x09\x00\x8D\x2C\x31\x01\xFC\x51\x66\x80\xE1\x0D\x83\x00\x08\x81\x0D\x00\x19\x81\x12\x81\x6E\x80\x00\x00\x86\x00\x08\x81\x11\x00\x21\x81\x87\x52\x23\x81\x89\x00\x08\x81\x15\x00\x28\x81\x4B\x52\x3D\x0F\xB4\x61\x8C\x00\x08\x81\x19\x00\x11\x81\x87\x52\x84\x80\xE1\x0D\x8F\x00\x08\x81\x1C\x00\x35\x81\x2F\x81\x31\x58\xB4\x61\x92\x00\x08\x81\x1F\x00\x3C\x81\x7C\x52\x92\x80\xB8\x71\x08\x81\x22\x00\x43\x81\x7F\x52\x0F\x5B\xB4\x61\x98\x00\x08\x81\x25\x00\x49\x81\x82\x52\xEE\x5C\xB4\x61\x9B\x00\x08\x81\x28\x00\x50\x81\x6E\x52\xC5\x4B\xB4\x61\x9E\x00\x08\x81\x2B\x00\x57\x81\xFC\x51\xEF\x00\xB4\x61\xA1\x00\x08\x81\x2E\x00\x2E\x81\x44\x81\xB7\x80\xE1\x0D\xA4\x00\x08\x81", - "\x32\x00\x5E\x81\xC6\x80\x28\x5A\x08\x81\x35\x00\x65\x81\x4A\x81\x73\x7F\x56\x05\xAA\x00\x08\x81\x39\x00\x71\x81\x51\x81\x07\x5E\x79\x62\x08\x81\x3D\x00\x78\x81\x58\x81\x83\x7F\xE2\x77\x08\x81\x41\x00\x7E\x81\xFC\x51\xD5\x80\x9F\x7F\x08\x81\x45\x00\x84\x81\x81\x5D\x9F\x62\x08\x81\x49\x00\x8A\x81\x6E\x69\xE1\x0D\xB9\x00\x08\x81\x4D\x00\x6C\x81\xF0\x80\xE1\x0D\xBC\x00\x08\x81\x50\x00\x57\x81\xF8\x80\xB4\x46\xE1\x0D\xBF\x00\x39\x80\x58\x7B\xAA\x63\x9C\x81\x00\x00\xD4\x7A\x0F\x01\xC0\x00\x03\x80\xC2\x00\xA0\x81\x6B\x65\xCD\x5C\x11\x0A\xC3\x00\x03\x80\xC5\x00\xAA\x81\x7E\x53\x0F\x01\xE4\x7F\x25\x5B\x03\x80\xC8\x00\xB1\x81\x2D\x72\x17\x5D\xB6\x75\x03\x80\xCB\x00\xB8\x81\x9A\x52\xA4\x73\xD2\x0E\xCC\x00\x03\x80\xCE\x00\xBE\x81\x03\x01\xA3\x81\x95\x7C\x27\x02\xCF\x00\x03\x80\xD1\x00\xC5\x81\x02\x01\xA3\x81\x00\x80\xE7\x03\xD2\x00\x03\x80\xD4\x00\xCD\x81\x01\x01\xA3\x81\x08\x80\xE7\x03\xD5\x00\x03\x80\xD7\x00\xD5\x81\x90\x79\x4D\x5D\xE7\x03\xD8\x00\x03\x80\xDA\x00\xDD\x81\xA3\x81\x17\x80\x17\x7B\x03\x80\xDD\x00\xE4\x81", - "\x56\x5D\x31\x09\xDE\x00\x03\x80\xE0\x00\xEA\x81\x0F\x01\x26\x80\x32\x5D\x03\x80\xE3\x00\xF0\x81\xDE\x71\x47\x7A\x03\x80\xE6\x00\xF6\x81\xD4\x61\x56\x73\x03\x80\xE9\x00\xDD\x81\x73\x65\xE2\x7D\x56\x7B\xF3\x72\xFA\x80\x5B\x60\xEF\x80\xD8\x7D\x04\x82\x09\x82\xAA\x63\x0E\x53\xD0\x7F\x02\x01\xEA\x00\x08\x81\x36\x1E\x0E\x53\xA5\x81\x0C\x01\xED\x00\x27\x33\x31\x01\xF1\x00\xDD\x81\x0E\x53\xDD\x7F\x02\x01\xF2\x00\x16\x82\xAF\x5E\x19\x82\x1D\x75\xD2\x0E\xF7\x00\x1E\x82\xE2\x5E\x20\x82\x10\x5D\x11\x0A\xFC\x00\x24\x82\xEC\x34\x46\x67\x6C\x1C\x0E\x53\xF2\x7F\xEC\x28\xFC\x15\x31\x01\x05\x00\xFC\x15\x34\x64\x0E\x53\xC8\x81\x59\x24\x31\x82\x57\x2D\x34\x82\xE1\x06\x0E\x53\xD0\x81\x24\x64\x39\x82\x7E\x04\x3B\x82\x4A\x0A\x0E\x53\xD8\x81\x9D\x5F\x40\x82\x82\x2D\x42\x82\x15\x14\x0E\x53\x10\x80\x42\x0E\x47\x82\x4B\x1D\x49\x82\x07\x1B\x0E\x53\xE6\x81\x63\x2F\x4E\x82\x7F\x32\x50\x82\x2D\x82\xEB\x81\xA7\x06\x1F\x00\x55\x82\x14\x20\x57\x82\x8B\x1D\x0E\x53\xF2\x81\xD0\x02\x5C\x82\x60\x38\x5E\x82\xBE\x25\x0E\x53\x2D\x80\xAC\x38\x63\x82", - "\x2D\x00\x65\x82\x11\x82\x35\x7B\xE1\x0D\x2E\x00\x63\x82\x32\x00\x6C\x82\x13\x23\x2B\x53\xA0\x1C\xB4\x70\x53\x00\x8D\x2C\x95\x04\x2B\x53\x6A\x72\x62\x72\xDC\x1C\x79\x82\x2B\x01\x8C\x65\x02\x01\xAA\x7D\x47\x15\xFC\x15\xAB\x71\x55\x00\x2C\x7E\xF1\x6D\xC8\x7E\x4C\x3B\x85\x82\xE1\x06\x62\x00\x88\x82\x98\x77\x6C\x7B\x0C\x01\x4D\x00\xFC\x15\x04\x74\x6F\x00\x08\x7E\x81\x82\xCB\x74\xF8\x7E\x94\x82\x60\x6D\x97\x82\xDE\x7E\x3D\x7B\x9B\x82\x4A\x0A\x8B\x00\x9D\x82\xE4\x7E\x9E\x70\xA0\x82\x15\x14\x99\x00\xA3\x82\xEA\x7E\x12\x53\x8C\x82\x4A\x0A\xA7\x00\x8F\x82\x02\x01\x98\x82\x0F\x53\xD2\x0E\x92\x00\xA6\x82\x07\x1B\xB4\x00\xA9\x82\xF7\x7E\xAE\x7C\xB5\x82\x6C\x1C\xC2\x00\xB8\x82\xF0\x7D\xA7\x06\xAE\x00\xBB\x82\x8B\x1D\xD0\x00\xBE\x82\xA2\x7B\xE7\x03\xBC\x00\xC2\x82\xBE\x25\xDE\x00\xC5\x82\xA9\x7B\x31\x09\xCA\x00\xC9\x82\x36\x1E\x41\x7E\x53\x2F\xB1\x82\x8F\x79\xD8\x00\xD0\x82\x13\x23\xFA\x00\xCC\x82\xB6\x7B\x00\x00\xE6\x00\xFC\x15\x56\x76\x08\x00\xBB\x7E\xB1\x82\x20\x7F\xF5\x00\xD7\x82\x6E\x28\x17\x00\xB3\x7E\x00\x00\xB1\x82", - "\xA5\x79\x03\x00\x5E\x0B\x04\x74\x5A\x7E\xD3\x82\xCB\x7B\x31\x09\x11\x00\x5E\x0B\x29\x78\xCB\x7E\x0F\x01\xB1\x82\x2A\x7E\x01\x01\x1E\x00\xF4\x82\x31\x78\xF6\x82\x89\x82\x3C\x7F\x31\x09\x2B\x00\x5E\x0B\x56\x76\x4D\x00\x6E\x64\xD8\x16\xB1\x82\x23\x81\x3A\x00\x03\x83\xEE\x6F\x06\x83\x80\x82\x4C\x7F\xE7\x03\x49\x00\xED\x82\x5E\x7A\xE8\x82\xB1\x82\x26\x77\x58\x44\x12\x83\x4A\x0A\x7B\x00\x14\x83\x2D\x77\x56\x05\x65\x00\x0B\x83\x61\x79\xE1\x82\x5F\x7F\xE5\x6B\x18\x83\x15\x14\x98\x00\x1B\x83\x3B\x77\x11\x0A\x82\x00\x24\x83\x07\x1B\xA6\x00\x27\x83\x73\x81\xE7\x03\x90\x00\x1F\x83\x15\x14\xB4\x00\x0D\x83\xF7\x82\x6D\x81\xF8\x57\x32\x83\x07\x1B\xC4\x00\x35\x83\xFF\x82\xEB\x78\xA7\x75\x39\x83\x6C\x1C\xD4\x00\x3C\x83\x90\x82\x80\x81\xA7\x06\xBD\x00\x40\x83\x8B\x1D\xE4\x00\x43\x83\xB0\x82\x28\x7C\x27\x02\xCC\x00\x48\x83\xBE\x25\xF4\x00\x21\x83\xE5\x3A\xD2\x0E\xDB\x00\x50\x83\x69\x64\x47\x7F\x3D\x83\x55\x73\xE1\x0D\xEA\x00\x2B\x83\x02\x01\xF8\x00\x5E\x0B\xFD\x23\x07\x7F\xB1\x82\xA6\x7F\x02\x01\xFA\x00\x5E\x83\x04\x2E\x5F\x24", - "\x80\x01\x20\x00\x63\x83\x9F\x7E\x11\x0A\x0A\x00\x5F\x24\x74\x16\x18\x00\x6A\x83\x8F\x01\x6D\x83\xA7\x7E\xD8\x23\x71\x83\x92\x38\x74\x83\x21\x0C\x76\x83\xB0\x7E\x92\x66\x79\x83\xC2\x2A\x7B\x83\xA1\x24\x7D\x83\xB8\x7E\x31\x09\x3A\x00\x5F\x24\xC4\x16\x49\x00\x82\x83\xAC\x44\x59\x83\x26\x68\xC1\x7E\xD5\x67\x5F\x24\xAB\x71\x67\x00\x37\x7F\x0C\x01\x80\x53\xF9\x73\x31\x09\x58\x00\x91\x83\x85\x6E\x94\x83\x8E\x83\x1F\x6E\xA7\x06\x65\x00\x80\x83\x15\x14\x81\x00\x07\x7F\x96\x83\xC4\x74\x11\x0A\x73\x00\xA1\x83\x07\x1B\x8F\x00\xA4\x83\x9E\x82\xFB\x51\xA9\x83\x6C\x1C\x9D\x00\xAC\x83\xA4\x82\x02\x01\x8F\x00\xAF\x83\x8B\x1D\xAB\x00\xB2\x83\xAA\x82\x45\x68\x9A\x83\x4A\x0A\xB9\x00\x9C\x83\x02\x01\xA5\x83\xB5\x75\x11\x0A\xAA\x00\xB6\x83\xBE\x25\xC6\x00\xB9\x83\xB9\x82\x27\x02\xB8\x00\xC5\x83\x36\x1E\xD4\x00\xC8\x83\xBF\x82\x56\x05\xC6\x00\xCC\x83\x13\x23\xE2\x00\xCF\x83\xC6\x82\x27\x02\xD4\x00\xD3\x83\x6E\x28\xF0\x00\xD6\x83\xCD\x82\xA7\x06\xE2\x00\xDA\x83\x99\x24\xFE\x00\xDD\x83\x8F\x79\xF0\x00\xE1\x83\x18\x66\xB8\x7F\xC1\x83", - "\xDC\x75\xE1\x0D\xFE\x00\x88\x83\xE1\x06\x1A\x00\xC9\x7F\xEA\x83\x1B\x7D\xE1\x0D\x0D\x00\x5D\x0C\x04\x74\x29\x00\xE9\x83\x14\x6C\xE1\x0D\x1B\x00\xF6\x83\xE1\x06\x37\x00\xF9\x83\x9B\x5D\xD2\x0E\x29\x00\x5D\x0C\x3C\x79\xD9\x0C\x0D\x03\xF2\x83\xF9\x82\x00\x00\x36\x00\x04\x84\x43\x79\x06\x84\x7F\x53\xBB\x79\x31\x09\x43\x00\x5D\x0C\x56\x76\x5F\x00\xD9\x0C\xD8\x16\xF2\x83\x23\x81\x52\x00\x13\x84\xE1\x06\x6F\x00\x16\x84\x0F\x84\x1F\x77\xE1\x0D\x61\x00\xFD\x83\x4A\x0A\x7F\x00\x00\x84\xB4\x54\xFB\x64\x23\x84\xF9\x7B\x26\x84\xDF\x3F\x31\x09\x7D\x00\x1B\x84\x4A\x0A\x9B\x00\xF1\x83\x22\x83\x56\x05\x8C\x00\x29\x84\x07\x1B\xAA\x00\x2B\x84\xD8\x4C\xBF\x65\x36\x84\x6C\x1C\xB8\x00\x39\x84\x3A\x76\xE1\x0D\xA8\x00\x2F\x84\x15\x14\xC6\x00\x1E\x84\x92\x65\x12\x7C\x56\x05\xB7\x00\x43\x84\x07\x1B\xD6\x00\x46\x84\x95\x83\xDB\x80\xBC\x76\x4B\x84\x6C\x1C\xE6\x00\x4E\x84\x9D\x83\x3E\x83\xA7\x06\xD5\x00\x52\x84\x8B\x1D\xF6\x00\x55\x84\xC0\x83\x4D\x83\x47\x5D\x5A\x84\xBE\x25\x06\x00\x27\x33\xC4\x16\xF2\x83\x86\x7E\x02\x01\xF3\x00\x61\x84", - "\x36\x1E\x15\x00\x64\x84\x1F\x84\x71\x77\x11\x0A\x02\x00\x4F\x24\x74\x16\x10\x00\x4F\x24\x82\x12\x27\x33\x74\x16\xF2\x83\x65\x83\xC1\x2E\x72\x84\x35\x33\x75\x84\x22\x3A\x77\x84\x6E\x84\x2A\x72\xE1\x0D\x22\x00\x7C\x84\x79\x03\x7E\x84\xE5\x3A\x80\x84\x47\x84\x6E\x57\xD2\x0E\x32\x00\x85\x84\xC3\x3A\x87\x84\x07\x42\x89\x84\x4F\x84\xBF\x7F\x11\x0A\x42\x00\x8E\x84\xDE\x6E\x90\x84\xDA\x45\x92\x84\x56\x84\x85\x83\xA7\x06\x52\x00\x4F\x24\xC4\x16\x61\x00\x99\x84\x60\x4A\x6D\x84\x98\x65\xC7\x44\xC7\x7A\xE1\x06\x79\x00\x05\x80\x99\x65\x03\x01\x7E\x72\x7D\x82\xF9\x51\x05\x80\x3E\x0D\x0D\x82\x18\x48\x4F\x24\xD3\x7F\x4C\x0B\x6C\x7C\xA4\x09\xA3\x84\xCE\x48\xB5\x84\xE1\x06\x3E\x0D\x1B\x82\x01\x01\x67\x00\xBA\x84\xF8\x49\xBC\x84\x4A\x0A\x3E\x0D\xB4\x81\x0F\x01\x6A\x00\xC2\x84\x6C\x00\xC4\x84\x15\x14\x3E\x0D\xEB\x7F\x7E\x4B\xC2\x84\x6F\x00\xCC\x84\x07\x1B\x3E\x0D\x2F\x82\xE1\x4C\xC2\x84\x72\x00\xD3\x84\x6C\x1C\x3E\x0D\x37\x82\x19\x4F\xC2\x84\x75\x00\xDA\x84\x8B\x1D\x3E\x0D\x3E\x82\xB7\x50\xC2\x84\x78\x00\xE1\x84\xBE\x25\x3E\x0D", - "\x45\x82\x5B\x51\xC2\x84\x7B\x00\xE8\x84\xC5\x75\xDF\x81\x27\x02\x7C\x00\xC2\x84\x7E\x00\xEF\x84\x13\x23\x3E\x0D\x53\x82\x77\x52\xC2\x84\x81\x00\xF6\x84\x6E\x28\x3E\x0D\x1E\x80\x6D\x2C\xC2\x84\x84\x00\xFD\x84\x99\x24\x3E\x0D\x61\x82\x07\x53\xC2\x84\x87\x00\x04\x85\x26\x23\x3E\x0D\x68\x82\x7C\x53\xC2\x84\x8A\x00\x0B\x85\xAA\x63\x3E\x0D\x34\x80\xC4\x28\xC2\x84\x8D\x00\x12\x85\x69\x2A\xBD\x25\xF2\x83\x4A\x7B\x02\x54\xB3\x84\x00\x00\x8E\x00\x19\x85\xA1\x81\x69\x2A\x02\x54\x13\x82\x03\x01\x8F\x00\xC2\x84\x91\x00\x22\x85\x27\x02\x02\x54\xBF\x84\x0B\x55\xC2\x84\x94\x00\x2B\x85\xBC\x75\xCB\x5C\xD2\x0E\x95\x00\xC2\x84\x97\x00\x32\x85\x73\x79\x27\x82\x31\x09\x98\x00\xC2\x84\x9A\x00\x39\x85\xC5\x72\x0C\x01\xD6\x84\x03\x01\x9B\x00\xC2\x84\x9D\x00\x40\x85\xB9\x82\xDD\x84\x6E\x57\xC2\x84\xA0\x00\x48\x85\x4B\x54\x03\x01\xE4\x84\xC2\x05\xC2\x84\xA3\x00\x4E\x85\x01\x01\x02\x54\xEB\x84\x8E\x58\xC2\x84\xA6\x00\x55\x85\x00\x00\x02\x54\x4C\x82\xF5\x58\xC2\x84\xA9\x00\x5C\x85\x02\x54\xF9\x84\x91\x68\xC2\x84\xAC\x00\x63\x85\x59\x82", - "\x56\x05\xAD\x00\xC2\x84\xAF\x00\x69\x85\xF1\x81\x03\x6C\xC2\x84\xB2\x00\x6F\x85\xF7\x81\xE1\x0D\xB3\x00\xC2\x84\xB5\x00\x74\x85\xFC\x81\xE1\x0D\xB6\x00\xC2\x84\xB8\x00\x5C\x85\x57\x6E\x1F\x85\xB9\x00\x4F\x24\x52\x80\x8B\x1D\x57\x6E\x26\x85\x2B\x7D\x4F\x24\x31\x01\xC0\x00\x80\x85\xAC\x81\x31\x09\xC1\x00\x8A\x85\x11\x5B\x8D\x85\xB3\x81\x93\x6C\x91\x85\x07\x5C\x93\x85\x0C\x01\xCF\x84\x00\x00\xCB\x00\x96\x85\xD6\x71\x98\x85\x03\x01\x43\x85\x02\x01\xD0\x00\x9D\x85\xCB\x5C\x9F\x85\x02\x01\x4A\x85\xDC\x5C\xA4\x85\x02\x01\xD9\x00\xA6\x85\x01\x01\x51\x85\x4F\x74\xAA\x85\x01\x01\xDE\x00\xAD\x85\x00\x00\x58\x85\x0C\x01\xDF\x00\xB1\x85\xB9\x7F\xB4\x85\x5F\x85\x0C\x01\xE4\x00\xB9\x85\xE8\x00\xB4\x85\x65\x85\xA9\x7D\xB9\x85\xED\x00\xB4\x85\x00\x85\x85\x5D\xB9\x85\xF2\x00\xB4\x85\x07\x85\x1D\x5E\xB9\x85\xF7\x00\xB4\x85\x0E\x85\x44\x73\xB9\x85\xFC\x00\xB4\x85\x15\x85\x11\x5F\xB9\x85\x01\x00\x6E\x05\x34\x64\x5D\x54\x38\x79\xE1\x0D\x02\x00\x6E\x05\xAB\x71\x7B\x00\x27\x33\x0D\x03\xDC\x85\x97\x83\xA7\x06\x0F\x00\xE0\x85\xE3\x79", - "\xE3\x85\x11\x62\x91\x82\x63\x65\x6E\x05\x04\x74\x95\x00\x9B\x84\x18\x76\xAC\x74\xA7\x06\x2A\x00\xEF\x85\x13\x70\xF2\x85\x01\x01\xE5\x85\x03\x01\x57\x79\x27\x02\x38\x00\xF7\x85\x4A\x0A\xB1\x00\xF9\x85\x20\x85\x5E\x79\x1F\x75\x00\x86\x15\x14\x9F\x81\x53\x2F\xFB\x85\x68\x84\xD2\x0E\x54\x00\xE9\x85\x4A\x0A\xCD\x00\xEB\x85\x5C\x54\xF1\x7E\x5B\x11\x07\x86\x07\x1B\xE3\x81\x0A\x86\x33\x85\xA7\x06\x6F\x00\x16\x86\x6C\x1C\xE8\x00\x03\x86\x0B\x86\x01\x01\xFF\x7E\xCF\x7E\x1D\x86\x5B\x84\x20\x86\x04\x7F\x56\x05\x8B\x00\x25\x86\xBE\x25\x04\x00\xC9\x82\x21\x86\xDE\x83\x56\x05\x99\x00\x2B\x86\x36\x1E\x12\x00\x2E\x86\x6C\x6E\xCA\x77\x33\x86\x13\x23\x20\x00\x36\x86\xD1\x70\x11\x0A\xB5\x00\x6E\x05\x56\x76\x70\x82\xBE\x2E\x2F\x86\x20\x7F\xC4\x00\x39\x86\x6E\x28\x3D\x00\x3C\x86\x46\x6A\xD2\x0E\xD2\x00\x47\x86\x99\x24\x4B\x00\x4A\x86\x03\x01\x22\x7E\x02\x01\xE0\x00\x0F\x86\x15\x14\x59\x00\xAC\x82\xD3\x70\xD3\x7B\xA7\x06\xED\x00\x56\x86\x07\x1B\x66\x00\x59\x86\x03\x01\x2F\x86\x23\x81\xFA\x00\x40\x86\xE1\x06\x73\x00\xFC\x15\xD8\x16", - "\x63\x86\xB4\x61\x09\x00\x14\x04\x56\x76\x83\x00\x69\x86\xEC\x85\x20\x84\xCC\x73\x14\x04\x04\x74\x93\x00\x51\x86\xBA\x54\xE1\x0D\x26\x00\x75\x86\xE1\x06\xA1\x00\x78\x86\x45\x6F\x31\x09\x34\x00\x6E\x86\xE1\x06\xAF\x00\xDE\x82\x72\x86\xC5\x78\xD2\x0E\x43\x00\x7C\x86\x4A\x0A\xBE\x00\x7F\x86\x01\x68\xD2\x0E\x51\x00\x8B\x86\xCE\x70\x8E\x86\x6C\x7F\xE7\x03\x5F\x00\x83\x86\x4A\x0A\xDA\x00\x71\x86\x13\x86\x48\x84\xE7\x03\x6E\x00\x98\x86\x15\x14\xEA\x00\x9B\x86\x5A\x86\x45\x83\x56\x05\x7D\x00\xA0\x86\x07\x1B\xFA\x00\xA3\x86\x62\x86\x50\x84\x2C\x85\xA8\x86\xFB\x7E\x5E\x0B\x6A\x86\x5F\x84\x91\x7E\xAF\x86\x8B\x1D\x1A\x00\x50\x83\x2F\x86\x67\x84\xAE\x76\xB5\x86\xBE\x25\x29\x00\xB8\x86\x9B\x7F\x59\x5A\x92\x86\x03\x01\xC7\x00\x14\x04\x80\x01\x38\x00\x68\x83\x04\x86\x75\x58\xB6\x75\xC2\x86\xA7\x85\xC5\x86\x8F\x03\xC8\x86\x2F\x86\xAE\x7F\x0F\x01\xD9\x00\xCC\x86\x4E\x5D\xCE\x86\xB4\x16\xD0\x86\xB5\x7F\xB8\x78\xD5\x86\x00\x00\xF7\x00\xD7\x86\xF3\x0C\xD9\x86\x94\x84\x88\x66\xDC\x86\x07\x00\x43\x27\x80\x01\x70\x00\xE1\x86\xC6\x7F", - "\xE4\x6F\x43\x27\xC4\x16\x18\x00\xE6\x86\x3C\x04\x50\x83\x5F\x54\xCD\x7A\xB4\x7A\x43\x27\xB6\x84\x01\x01\xF2\x86\x7E\x5C\xFB\x83\xEF\x86\x28\x67\xF5\x86\x94\x6E\x8E\x85\xA7\x06\x1E\x00\xFB\x86\x5B\x33\xFD\x86\x7C\x7B\x21\x82\xE4\x73\x02\x87\xA7\x17\x04\x87\x15\x14\xF8\x86\x13\x5D\x7E\x64\x08\x87\x6D\x05\x0A\x87\xAA\x83\xC0\x81\x03\x72\x0F\x87\xAE\x38\x11\x87\x6C\x1C\x0C\x87\xA7\x85\xD2\x0E\x2A\x00\x15\x87\x75\x39\x17\x87\x8B\x1D\x19\x87\xAE\x85\xD2\x0E\x2D\x00\x1D\x87\x2F\x00\x1F\x87\xBE\x25\x21\x87\xB5\x85\xD2\x0E\x30\x00\x1D\x87\x32\x00\x27\x87\x36\x1E\x29\x87\xBC\x85\xAA\x3A\x1D\x87\x35\x00\x2F\x87\x13\x23\x29\x87\xC2\x85\x0A\x84\x1D\x87\x38\x00\x36\x87\x6E\x28\x29\x87\xC7\x85\x7F\x2A\x1D\x87\x3B\x00\x3D\x87\x99\x24\x29\x87\xCC\x85\xD3\x06\x1D\x87\x3E\x00\x44\x87\x26\x23\x29\x87\xD1\x85\x54\x0A\x1D\x87\x41\x00\x4B\x87\xAA\x63\x29\x87\xD6\x85\x73\x09\x1D\x87\x44\x00\x52\x87\x69\x2A\xB2\x65\x0C\x01\x29\x87\x4A\x7B\x70\x54\x2F\x86\x4A\x7B\xD7\x54\xD6\x64\x45\x00\x59\x87\x7C\x2A\x8D\x00\x5E\x0B\x95\x04\xD7\x54", - "\xEB\x7C\x41\x15\x65\x87\x27\x02\x8E\x00\x68\x87\xDD\x54\xF1\x7C\xE7\x03\x47\x00\x6D\x87\x5E\x54\x70\x87\xCC\x54\x5E\x66\x95\x19\x75\x87\x0F\x01\x31\x83\x26\x65\xD7\x54\x35\x67\x86\x25\x7B\x87\xB4\x54\x77\x87\x01\x55\x6C\x66\x46\x40\x82\x87\xD6\x54\x84\x87\xD6\x54\x00\x69\xD5\x67\x88\x87\x02\x01\x93\x00\x8A\x87\x96\x75\x64\x6B\x09\x41\x8E\x87\x01\x01\x94\x00\x91\x87\x03\x55\xF3\x2E\x27\x02\x4D\x00\x95\x87\x87\x6A\x98\x87\x13\x55\xCB\x31\xDD\x60\x9D\x87\x96\x00\x9F\x87\xD7\x54\x86\x7D\x81\x42\x9D\x87\x97\x00\xA5\x87\x30\x7D\xC2\x6C\x9D\x87\x98\x00\xAB\x87\x18\x71\xE9\x60\x9D\x87\x99\x00\xB0\x87\x1F\x71\xEF\x43\x9D\x87\x9A\x00\xB5\x87\x26\x71\xF9\x43\x9D\x87\x9B\x00\xBA\x87\x2C\x71\x31\x09\x54\x00\x27\x87\x55\x00\x1D\x87\x9C\x00\x9F\x87\x30\x55\x85\x46\x5D\x6C\x9D\x87\x36\x1E\xC8\x87\xD5\x7F\x98\x83\x1D\x87\x5A\x00\x9D\x87\xCD\x87\x74\x7C\x54\x75\x1D\x87\x5D\x00\xD2\x87\x06\x87\x25\x61\x1D\x87\x60\x00\xD8\x87\x3B\x85\xA7\x06\x61\x00\x1D\x87\x63\x00\xDD\x87\x42\x85\x36\x7B\x1D\x87\x66\x00\xE3\x87\x03\x01\xA8\x85", - "\x5A\x49\x1D\x87\x69\x00\xE8\x87\x02\x01\xAF\x85\xBF\x6E\x1D\x87\x6C\x00\xEE\x87\x32\x71\xA1\x71\x1D\x87\x6F\x00\xF4\x87\x00\x00\x32\x87\xAA\x4C\x1D\x87\x72\x00\xF9\x87\x39\x87\x73\x00\x1D\x87\x75\x00\xF9\x87\x40\x87\x08\x51\x1D\x87\x78\x00\xF9\x87\x47\x87\x3C\x51\x1D\x87\x7B\x00\xF9\x87\x4E\x87\xE2\x7D\x1D\x87\x7E\x00\xF9\x87\x55\x87\x77\x52\x1D\x87\x81\x00\x9D\x87\xB4\x65\x01\x01\xD3\x87\x93\x72\xDC\x72\x23\x85\x7C\x2A\x10\x76\xA0\x87\x43\x80\xAF\x84\x00\x00\x57\x79\x83\x82\x90\x79\x43\x27\x04\x74\x9D\x00\xC8\x86\x57\x79\x2E\x78\x03\x01\x90\x00\x28\x88\xE1\x06\xAB\x00\x2B\x88\xED\x85\x02\x01\x9E\x00\xEC\x86\xE1\x06\xB9\x00\x50\x83\x57\x79\x3C\x78\xAD\x00\x37\x88\xFC\x6C\x3A\x88\xAD\x83\x3C\x5A\x3E\x88\x15\x14\xD7\x00\x40\x88\x61\x56\x03\x82\xFA\x72\x0A\x82\x69\x2A\x57\x79\xA6\x75\xA7\x06\xCB\x00\x43\x88\x07\x1B\xE6\x00\x46\x88\xBA\x83\x4F\x74\x30\x88\x4A\x0A\xF5\x00\x33\x88\x6A\x71\xA7\x06\xE8\x00\x50\x88\x70\x64\xEE\x83\x9D\x75\x41\x85\xBF\x78\x5D\x88\x8B\x1D\x12\x00\x5F\x88\x0C\x01\x57\x79\x23\x86\x2F\x2D", - "\xAD\x38\x56\x76\x21\x00\x66\x88\xFC\x85\x28\x86\xE7\x03\x15\x00\x6B\x88\xE1\x06\x30\x00\x6E\x88\x0C\x70\xFE\x7D\x02\x60\x73\x88\x4A\x0A\x3F\x00\x76\x88\x12\x71\x37\x86\x56\x05\x33\x00\x7A\x88\xA2\x74\x7D\x88\x24\x88\x92\x71\x95\x84\xAD\x38\x38\x6C\x69\x2A\x5D\x00\x5F\x24\xD8\x16\x57\x79\x20\x7F\x52\x00\x82\x88\x91\x7A\x84\x88\x57\x79\xA5\x79\x61\x00\x91\x88\xB9\x74\x93\x88\xF1\x82\xA7\x06\x70\x00\xAD\x38\x04\x74\x8B\x00\xC5\x83\x57\x79\x09\x84\x7E\x00\x9D\x88\xE1\x06\x99\x00\xA0\x88\x10\x84\xA7\x06\x8C\x00\x88\x88\xE1\x06\xA7\x00\x5F\x24\xEC\x2B\x57\x79\x23\x81\x9C\x00\xAB\x88\x4A\x0A\xCB\x83\x05\x2F\x57\x79\x20\x88\x27\x02\xAC\x00\x97\x88\x8B\x1D\xC9\x00\x99\x88\xEF\x7B\x11\x0A\xBB\x00\xBB\x88\xBE\x25\xD8\x00\xBE\x88\xF5\x7B\xCE\x82\xB3\x88\x15\x14\xE7\x00\x8C\x88\xCA\x7D\xC6\x78\xDA\x00\xC2\x88\x36\x1E\xF7\x00\xC5\x88\xE6\x79\x8B\x63\xCF\x88\x13\x23\x06\x00\x61\x84\x57\x79\x95\x86\x81\x66\xC8\x88\x07\x1B\x15\x00\x5D\x0C\xAF\x88\x37\x83\xDA\x2D\xC1\x38\x89\x88\x7C\x2A\x26\x00\xDF\x88\xCA\x7D\x86\x81\xCF\x34", - "\xE3\x88\xFE\x83\xE7\x88\x60\x88\x1A\x7C\x56\x05\x28\x00\xEB\x88\x4A\x0A\x48\x00\xED\x88\x67\x88\xB3\x86\xF3\x2A\xF2\x88\x57\x86\x5D\x0C\x8D\x88\x2E\x7C\x31\x09\x48\x00\xF9\x88\x07\x1B\x69\x00\xFB\x88\xCA\x7D\x02\x79\xE0\x44\xC1\x38\xC4\x16\x67\x00\xC1\x38\x80\x01\x79\x00\xD8\x88\x5C\x73\x31\x09\x69\x00\x07\x89\x48\x51\x0A\x89\x7F\x53\x0D\x89\xA5\x6C\x10\x77\x11\x89\x98\x65\x13\x89\x0F\x01\x97\x00\x15\x89\x8B\x84\x9B\x6D\x18\x89\x1A\x56\x1A\x89\x0C\x01\xA6\x00\x1D\x89\x98\x29\x1E\x76\x20\x89\x03\x01\xAB\x00\x22\x89\xFA\x7C\x25\x89\x52\x77\xD2\x0E\xAD\x00\x00\x89\x4A\x5A\x2B\x89\x02\x5B\x03\x89\x1B\x89\x8F\x83\x0A\x78\xC1\x38\x04\x74\xD4\x00\x3C\x84\x38\x1E\x8A\x82\xE7\x72\x39\x89\xE1\x06\xE2\x00\x3C\x89\x00\x00\xDC\x60\x0C\x47\xB1\x78\x28\x89\x6C\x1C\xF0\x00\x61\x84\x45\x89\x99\x82\xE7\x03\xEA\x00\x48\x89\x50\x24\x4B\x89\x41\x88\x03\x01\xF9\x00\x50\x89\xBE\x25\x0E\x00\xA0\x84\xDB\x60\x65\x56\xA8\x84\xAB\x72\x03\x01\x4C\x89\xDC\x82\xD2\x7E\x0D\x20\x56\x76\x1D\x00\x59\x89\x36\x89\x62\x71\x50\x78\x0D\x20\x04\x74", - "\x2C\x00\x97\x84\x02\x01\x5F\x89\xE4\x7D\x59\x7E\x62\x89\xE1\x06\x3A\x00\x65\x89\xE4\x60\x3A\x85\x95\x64\x71\x89\x4A\x0A\x49\x00\x74\x89\x5E\x89\x56\x6E\x89\x86\x78\x89\x15\x14\x58\x00\x7B\x89\x6D\x89\x70\x88\x27\x02\x52\x00\x7F\x89\xC7\x77\x82\x89\x3D\x89\x0B\x7F\xDF\x87\x87\x89\x6C\x1C\x76\x00\x89\x89\x44\x89\x7F\x88\xE7\x03\x70\x00\x8D\x89\x5F\x82\x90\x89\x5F\x89\xDB\x82\x7F\x00\x0D\x20\xE4\x88\x8E\x7C\x4F\x24\xD8\x16\x5F\x89\x20\x7F\x8F\x00\x95\x89\xBE\x25\xA4\x00\x97\x89\xFA\x83\x4B\x68\xA3\x89\x36\x1E\x77\x85\xBE\x2E\x5F\x89\x53\x86\x01\x01\xAD\x00\x69\x89\xE1\x06\xC2\x00\x6C\x89\x8A\x89\xB3\x79\xAD\x79\xB1\x89\x4A\x0A\xA3\x85\x53\x2F\x5F\x89\x23\x81\xC9\x00\x9B\x89\xE1\x06\xB3\x85\x05\x2F\xBC\x89\x34\x63\xBF\x89\x4A\x0A\xEF\x00\x4F\x24\xEC\x2B\x5F\x89\xB8\x88\x75\x5D\xA9\x89\xE3\x62\x66\x86\x66\x89\x27\x84\xE1\x0D\xF8\x00\xCD\x89\x6E\x28\xE8\x85\xAC\x89\x1C\x83\xE7\x03\x07\x00\x80\x39\x9C\x89\x0A\x32\x6E\x05\x9F\x89\x33\x84\xE7\x03\x17\x00\x80\x39\x41\x86\xCF\x89\x75\x89\xCC\x78\x7A\x86\xE3\x89\xBF\x79", - "\xE5\x89\x7C\x89\x9D\x86\x27\x02\x35\x00\xDB\x89\xE1\x06\x4C\x00\x6E\x05\xC9\x89\xE1\x88\xE6\x3C\xF0\x89\x4A\x0A\x5D\x00\xF3\x89\x5A\x89\xA5\x86\xE7\x03\x55\x00\xF7\x89\x15\x14\x6E\x00\xFA\x89\xD0\x89\xEF\x88\xE7\x03\x65\x00\xFF\x89\x8F\x71\x02\x8A\xE6\x89\x8B\x7F\x1F\x65\x07\x8A\x4E\x77\xDE\x89\xFB\x89\x93\x7F\x0C\x7F\x0D\x8A\x57\x77\x0F\x8A\x03\x8A\x35\x7C\xE1\x0D\x95\x00\xE9\x89\x8E\x58\x80\x39\x80\x01\xB0\x00\xEB\x89\x83\x89\xCA\x86\x11\x0A\xA6\x00\x1A\x8A\x10\x5A\x1C\x8A\x2B\x01\xBF\x00\x1F\x8A\xB5\x89\x82\x84\x11\x0A\xB7\x00\x24\x8A\x32\x5B\x26\x8A\x0F\x01\xCE\x00\x29\x8A\x91\x89\x77\x83\xE9\x5B\x2E\x8A\xA7\x85\x30\x8A\x25\x7B\x33\x8A\x5F\x89\x95\x77\xD3\x86\x37\x8A\x01\x01\xE8\x00\x39\x8A\xD9\x74\x3B\x8A\x9D\x77\x1B\x7C\x13\x8A\x00\x00\xFA\x00\x42\x8A\xD9\x5E\x15\x8A\x69\x55\x7C\x75\xD2\x0E\xFC\x00\x80\x39\x04\x74\x0B\x00\xDC\x86\x4D\x55\x2D\x88\xDC\x2D\x4C\x0C\x04\x74\x19\x00\x54\x8A\x34\x88\xB7\x2E\x4C\x0C\x56\x76\x27\x00\xBC\x86\x4D\x55\x3C\x78\x27\x00\x5E\x8A\xE1\x06\x36\x00\x61\x8A\x53\x89\x9E\x59", - "\x65\x8A\x4A\x0A\x45\x00\x68\x8A\xB3\x83\x23\x3D\x6B\x8A\x15\x14\x54\x00\x6E\x8A\x54\x88\x36\x20\x58\x8A\x14\x75\x5B\x8A\x5A\x88\x56\x05\x62\x00\x71\x8A\xD2\x7A\x74\x8A\xC9\x83\x6D\x4D\x7D\x8A\x6C\x1C\x80\x00\x7F\x8A\xD0\x83\xE7\x03\x80\x00\x82\x8A\x20\x87\x85\x8A\xD7\x83\x5E\x54\x89\x8A\x4E\x76\x8B\x8A\x30\x86\xE7\x03\x9E\x00\x8E\x8A\x36\x1E\xAD\x00\x90\x8A\x8F\x79\xAD\x00\x94\x8A\x13\x23\xBC\x00\x90\x8A\xDB\x82\xBC\x00\x4C\x0C\xDC\x89\x0F\x01\xCB\x00\x14\x04\xD8\x16\x4D\x55\x20\x7F\xCC\x00\x9A\x8A\x6E\x28\xDB\x00\x90\x8A\xA5\x79\xDB\x00\xA9\x8A\x99\x24\xEA\x00\x90\x8A\xAE\x89\x00\x00\xEA\x00\x77\x8A\x4A\x0A\xF9\x00\x79\x8A\xB6\x89\x11\x0A\xF8\x00\xB6\x8A\x15\x14\xE5\x86\x53\x2F\x4D\x55\x23\x81\x06\x00\xD5\x09\xA1\x8A\x02\x2E\x43\x27\xEC\x2B\xC1\x8A\xB4\x61\x16\x00\xC4\x8A\xE1\x06\x26\x00\xC7\x8A\x2B\x01\x4D\x55\xCB\x89\x68\x02\xD5\x09\x56\x76\x37\x00\x63\x88\x00\x00\x4D\x55\x16\x83\x35\x00\xD4\x8A\xE1\x06\x46\x00\xD7\x8A\x4D\x55\x59\x7F\x60\x0C\xCC\x8A\x4A\x0A\xC4\x87\x7A\x2E\x4D\x55\xC6\x78\x54\x00\xDC\x8A", - "\x4A\x0A\x65\x00\xDF\x8A\xE4\x71\x39\x61\xEA\x8A\x15\x14\x74\x00\xED\x8A\xED\x89\x4F\x4E\xE3\x8A\x15\x14\x83\x00\xCF\x8A\x53\x55\xF5\x89\xCE\x81\xF6\x8A\x07\x1B\x94\x00\xF9\x8A\x4D\x8A\x04\x8A\xF4\x6B\xFD\x8A\xC0\x7D\x00\x8B\x80\x55\xFC\x89\x27\x02\xA2\x00\x04\x8B\x8B\x1D\xB6\x00\x06\x8B\x4C\x55\xF7\x88\x47\x59\x0B\x8B\xBE\x25\xC7\x00\x43\x27\xA5\x8A\xFD\x88\x12\x78\x12\x8B\x36\x1E\xD7\x00\x15\x8B\xD0\x8A\xC0\x86\x71\x5C\xF0\x8A\x03\x01\xE1\x00\xD5\x09\x80\x01\xE7\x00\xF3\x8A\x22\x72\x31\x09\xE3\x00\x20\x8B\x1C\x82\x23\x8B\xAF\x5E\x26\x8B\x2B\x8A\x31\x09\xF4\x00\x2A\x8B\x31\x27\x34\x3A\xFF\x0C\xC2\x88\x4D\x55\x1D\x79\x1E\x2D\x34\x3A\xC4\x16\x14\x00\x34\x8B\x63\x0C\x36\x8B\x25\x79\x12\x2E\x3A\x8B\x15\x27\x3D\x8B\xE9\x35\x3F\x8B\x2E\x79\x31\x09\x27\x00\x34\x3A\xD8\x16\x37\x00\x44\x8B\x87\x59\xDC\x88\xAA\x55\xFA\x8A\x5C\x89\xB1\x72\x0C\x01\xB6\x55\x8A\x56\x4A\x7B\x1B\x56\x1F\x85\x39\x00\x34\x3A\xF6\x86\x00\x00\x1B\x56\x88\x85\x04\x5F\x4D\x8B\xC7\x0F\x5B\x8B\x71\x6D\xFF\x86\x56\x05\x3D\x00\x61\x8B\x61\x0B\x63\x8B", - "\x4A\x0A\x1B\x56\xC7\x84\xC3\x3A\x68\x8B\x44\x0D\x6A\x8B\x15\x14\x1B\x56\x9A\x85\x43\x00\x6F\x8B\x00\x00\x45\x00\x71\x8B\x07\x1B\x1B\x56\xA1\x85\x76\x1B\x76\x8B\x48\x00\x79\x8B\x6C\x1C\x1B\x56\xEA\x87\x8A\x27\x76\x8B\x4B\x00\x80\x8B\x8B\x1D\x1B\x56\xF0\x87\x0E\x41\x76\x8B\x4E\x00\x87\x8B\xBE\x25\x1B\x56\xB6\x85\xBA\x16\x76\x8B\x51\x00\x8E\x8B\x36\x1E\x1B\x56\xFB\x87\xEA\x43\x76\x8B\x54\x00\x95\x8B\x13\x23\x1B\x56\x39\x87\x55\x00\x76\x8B\x57\x00\x9C\x8B\x6E\x28\x1B\x56\x05\x88\xB0\x44\x76\x8B\x5A\x00\xA3\x8B\x99\x24\x1B\x56\x0A\x88\x3E\x10\x76\x8B\x5D\x00\xAA\x8B\xB4\x6B\x2A\x5D\xD2\x0E\x5E\x00\x76\x8B\x60\x00\xB1\x8B\xAA\x63\x1B\x56\x14\x88\x05\x0A\x76\x8B\x63\x00\xB8\x8B\x69\x2A\x8A\x56\x1B\x56\x4A\x7B\xD7\x60\xA9\x7D\x36\x7B\x34\x3A\x04\x74\x42\x00\xA4\x88\x0F\x01\xC4\x8B\xB3\x7D\x0D\x65\xC7\x8B\xE1\x06\x50\x00\xCA\x8B\x0C\x01\xCC\x8B\xBC\x7D\x64\x52\x42\x8B\x4A\x0A\x5E\x00\xC2\x88\xCC\x8B\x4D\x55\xC3\x8B\xAB\x56\x08\x82\x49\x88\xE0\x8B\x69\x2A\xCC\x8B\x3C\x78\x8F\x00\xD7\x8B\x6D\x7A\xDA\x8B\x69\x8A\x72\x57", - "\xE6\x8B\x07\x1B\x7C\x00\xE8\x8B\x47\x88\x52\x8B\xB7\x72\xD3\x8B\x05\x86\xDA\x77\xEB\x8B\x6C\x1C\x8B\x00\xEE\x8B\x75\x8A\x2B\x7D\xCF\x8B\x6B\x8B\xD2\x8B\x03\x01\xCC\x8B\x6F\x89\x28\x79\xF5\x8B\x8B\x1D\xA8\x00\xF8\x8B\x80\x8A\xD3\x86\x02\x8C\xBE\x25\xB7\x00\x05\x8C\x86\x8A\x27\x02\xE8\x00\x08\x8C\x36\x1E\xC6\x00\x0B\x8C\x8C\x8A\xB1\x5E\x0F\x8C\x13\x23\xD5\x00\x12\x8C\x91\x8A\x1A\x64\x82\x03\x56\x76\xE4\x00\x18\x8C\x8F\x79\x15\x00\x1B\x8C\xE1\x06\xF3\x00\x18\x8C\xDB\x82\x24\x00\x82\x03\xC5\x8A\x54\x2A\x31\x89\x01\x01\xCC\x8B\x20\x7F\x34\x00\x21\x8C\x4A\x0A\x12\x00\x56\x89\xCC\x8B\xA5\x79\x43\x00\x2F\x8C\xBF\x69\x32\x8C\x9A\x88\x56\x05\x52\x00\x82\x03\x04\x74\x30\x00\x40\x89\xCB\x8B\x5B\x86\x56\x05\x60\x00\x3C\x8C\xE1\x06\x3E\x00\x3F\x8C\xF2\x8B\x00\x83\xA7\x06\x6E\x00\x27\x8C\xF1\x89\xC1\x38\xEC\x2B\xCC\x8B\x23\x81\x7E\x00\x4C\x8C\xF8\x89\x4E\x8C\x19\x2C\x0F\x83\x6E\x87\x36\x8C\x36\x76\x38\x8C\xBF\x88\x31\x09\x9D\x00\x59\x8C\x6C\x1C\x7D\x00\x5B\x8C\xC6\x88\xA7\x06\xAC\x00\x53\x8C\x15\x14\x8C\x00\x2A\x8C\x00\x00", - "\xCC\x8B\xC6\x78\xBC\x00\x5F\x8C\x00\x7C\x62\x8C\xD3\x88\x11\x0A\xCB\x00\x6E\x8C\xBE\x25\x2A\x89\xBE\x2E\xCC\x8B\xDA\x88\x22\x5D\x66\x8C\x07\x1B\xBA\x00\x55\x8C\x40\x8C\xF4\x8A\x0F\x01\xEA\x00\x7B\x8C\x6C\x1C\xCB\x00\x7E\x8C\x48\x8C\x57\x84\x56\x05\xFA\x00\x83\x8C\x8B\x1D\xDC\x00\x86\x8C\xFE\x8B\xAD\x86\x57\x2D\xE9\x25\x28\x8C\x02\x01\xED\x00\x8E\x8C\x02\x01\xCC\x8B\x7E\x7E\x63\x2F\x92\x8C\xB3\x7B\x69\x8C\xCC\x8B\xBA\x86\xC4\x38\x9B\x8C\x4A\x0A\x0E\x00\xC5\x89\x87\x8C\x5B\x83\x11\x0A\x3A\x00\xE9\x25\x89\x83\xE9\x25\x80\x01\x1E\x00\xA3\x89\xCC\x8B\x7A\x84\xD4\x40\xA9\x8C\x6D\x45\xAB\x8C\x85\x09\xAE\x8C\x6E\x83\x31\x09\x5C\x00\xB2\x8C\x2C\x78\xB4\x8C\x21\x0C\xB6\x8C\x35\x8A\x0C\x01\x6D\x00\xBA\x8C\xB1\x7D\xBC\x8C\x73\x40\xBE\x8C\x7E\x83\x3C\x04\xC2\x8C\x5A\x54\xC4\x8C\x82\x45\xC6\x8C\x9D\x84\x56\x05\x8F\x00\xA1\x8C\xD1\x57\xCB\x8C\xFB\x49\xA4\x8C\x2F\x8B\xA8\x46\xE1\x0D\xA1\x00\xE9\x25\x5C\x8B\xE9\x74\x5F\x8B\x00\x00\xA2\x00\xD3\x8C\xB2\x58\xDA\x8C\xE1\x06\xE9\x74\x2E\x85\xA5\x00\xE0\x8C\x00\x00\xA7\x00\xE2\x8C", - "\x4A\x0A\xE9\x74\x6D\x8B\x85\x68\xE7\x8C\xAA\x00\xEA\x8C\x82\x7B\xBA\x81\x11\x0A\xAB\x00\xE7\x8C\xAD\x00\xF1\x8C\x07\x1B\xE9\x74\x7C\x8B\x57\x76\xE7\x8C\xB0\x00\xF8\x8C\xB0\x83\xF8\x7F\x31\x09\xB1\x00\xE7\x8C\xB3\x00\xFF\x8C\x8B\x1D\xE9\x74\x8A\x8B\x01\x01\xB4\x00\xE7\x8C\xB6\x00\x06\x8D\xBE\x25\xE9\x74\x91\x8B\x02\x01\xB7\x00\xE7\x8C\xB9\x00\x0E\x8D\x36\x1E\xE9\x74\x98\x8B\x00\x00\xBA\x00\xE7\x8C\xBC\x00\x16\x8D\x13\x23\xE9\x74\x39\x87\xBD\x00\xE7\x8C\xBF\x00\x1E\x8D\x6E\x28\xE9\x74\xA6\x8B\x01\x01\xC0\x00\xE7\x8C\xC2\x00\x25\x8D\x99\x24\xE9\x74\xAD\x8B\xC3\x00\xE7\x8C\xC5\x00\x2D\x8D\x26\x23\xE9\x74\x0F\x88\x26\x5C\xE7\x8C\xC8\x00\x34\x8D\xAA\x63\xE9\x74\xBB\x8B\x01\x01\xC9\x00\xE7\x8C\xCB\x00\x3B\x8D\x69\x2A\x6F\x57\x1F\x85\xCC\x00\x43\x8D\x1E\x88\x27\x02\x6F\x57\xDD\x8C\xCD\x00\xE7\x8C\xCF\x00\x48\x8D\x4A\x8D\x65\x8B\xE7\x03\xD0\x00\xE7\x8C\xD2\x00\x50\x8D\xDA\x86\x34\x85\x1B\x63\xE7\x8C\xD5\x00\x57\x8D\x4D\x7C\x9A\x85\xD6\x00\xE7\x8C\xD8\x00\x5D\x8D\x1E\x89\xE4\x87\xE1\x0D\xD9\x00\xE7\x8C\xDB\x00\x63\x8D", - "\x03\x01\x6F\x57\x83\x8B\x00\x00\xDC\x00\xE7\x8C\xDE\x00\x6A\x8D\x35\x88\x02\x7B\x43\x77\xE7\x8C\xE1\x00\x72\x8D\x8B\x77\x08\x7B\xE1\x0D\xE2\x00\xE7\x8C\xE4\x00\x78\x8D\x89\x57\x29\x73\xD2\x0E\xE5\x00\xE7\x8C\xE7\x00\x7F\x8D\x6F\x57\x39\x87\xE8\x00\xE7\x8C\xEA\x00\x86\x8D\x6A\x85\xE7\x03\xEB\x00\xE7\x8C\xED\x00\x8C\x8D\x70\x85\xE0\x74\xE7\x8C\xF0\x00\x92\x8D\x75\x85\x11\x0A\xF1\x00\xE7\x8C\xF3\x00\x97\x8D\x7B\x85\x11\x0A\xF4\x00\xE7\x8C\xF6\x00\x7F\x8D\xCE\x57\x1F\x85\xF7\x00\x7F\x8D\x36\x1E\xCE\x57\xDD\x8C\xF8\x00\xE7\x8C\xFA\x00\xA3\x8D\x52\x8D\xC9\x7E\xE7\x8C\xFD\x00\xAE\x8D\x94\x85\xEC\x83\xE7\x8C\x63\x6C\x19\x69\xCE\x57\x9A\x85\x01\x00\x82\x59\x53\x64\x82\x59\x34\x64\xCE\x57\xFB\x8C\x04\x00\xBC\x8D\x59\x24\xBE\x8D\xE4\x6C\x01\x8D\xA7\x06\x07\x00\xC3\x8D\x25\x24\xC5\x8D\x4A\x0A\xCE\x57\x09\x8D\x57\x2E\xCA\x8D\x15\x03\xCC\x8D\x15\x14\xCE\x57\x11\x8D\x27\x03\xD1\x8D\xA0\x04\xD3\x8D\x07\x1B\xCE\x57\x19\x8D\x10\x00\xD8\x8D\xA5\x2E\xDA\x8D\x6C\x1C\xCE\x57\x39\x87\x13\x00\xDF\x8D\xC4\x2E\xE1\x8D\x8B\x1D\xCE\x57", - "\x28\x8D\xE2\x2F\xE6\x8D\x7F\x3E\xE8\x8D\xBE\x25\xCE\x57\xAD\x8B\x19\x00\xED\x8D\x1B\x00\xEF\x8D\xA8\x8D\xB3\x8B\xE1\x0D\x1C\x00\xED\x8D\x1E\x00\xF6\x8D\x13\x23\xCE\x57\x3E\x8D\xD8\x0C\xED\x8D\x21\x00\xFD\x8D\x6E\x28\x2E\x58\x1F\x85\x22\x00\x04\x8E\x05\x82\x27\x8B\x1B\x66\x11\x0A\x23\x00\xED\x8D\x25\x00\x09\x8E\x26\x23\x2E\x58\x2E\x85\x26\x00\xED\x8D\x28\x00\x11\x8E\xAA\x63\x2E\x58\xED\x8C\x76\x6A\xED\x8D\x2B\x00\x18\x8E\x69\x2A\x2E\x58\x9A\x85\x2C\x00\xED\x8D\x2E\x00\x1F\x8E\x7C\x2A\x2E\x58\xFB\x8C\x2F\x00\xED\x8D\x31\x00\x26\x8E\x27\x02\x2E\x58\x6D\x8D\x32\x00\xED\x8D\x34\x00\x2D\x8E\x0E\x89\xEF\x87\xF6\x6D\xED\x8D\x37\x00\x34\x8E\x21\x8A\x7A\x8D\x11\x0A\x38\x00\xED\x8D\x3A\x00\x3A\x8E\x0B\x8E\x3B\x71\xD2\x0E\x3B\x00\xED\x8D\x3D\x00\x41\x8E\x7A\x77\x02\x01\x39\x87\x3E\x00\xED\x8D\x40\x00\x48\x8E\x0A\x79\x0C\x01\xEB\x8D\x41\x00\xED\x8D\x43\x00\x4F\x8E\x01\x01\x2E\x58\xAD\x8B\x44\x00\xED\x8D\x46\x00\x56\x8E\xB5\x77\xF8\x8D\x11\x0A\x47\x00\xED\x8D\x49\x00\x5D\x8E\x2E\x58\x00\x8E\x4A\x00\xED\x8D\x4C\x00\x5D\x8E", - "\x1F\x14\x1F\x85\x4D\x00\x5D\x8E\x36\x1E\x1F\x14\xDD\x8C\x4E\x00\xED\x8D\x50\x00\x6A\x8E\xAF\x8D\x73\x43\xED\x8D\x53\x00\x75\x8E\xB4\x8D\xF5\x60\xED\x8D\x56\x00\x7A\x8E\x99\x85\xD2\x0E\x57\x00\xED\x8D\x59\x00\x7F\x8E\xA0\x85\xE6\x67\xED\x8D\x5C\x00\x85\x8E\x1A\x87\xE1\x0D\x5D\x00\xED\x8D\x5F\x00\x8A\x8E\x22\x87\xC0\x80\xED\x8D\x62\x00\x90\x8E\x2A\x87\xE1\x0D\x63\x00\xED\x8D\x65\x00\x95\x8E\x19\x8D\x66\x00\xED\x8D\x68\x00\x95\x8E\x39\x87\x69\x00\xED\x8D\x6B\x00\x95\x8E\xEB\x8D\x6C\x00\xED\x8D\x6E\x00\x95\x8E\xAD\x8B\x6F\x00\xED\x8D\x71\x00\x95\x8E\x37\x8D\x40\x74\xED\x8D\x74\x00\x95\x8E\x00\x8E\x75\x00\xED\x8D\x77\x00\x5D\x8E\x8B\x58\x4E\x8A\x36\x6A\x82\x59\xAB\x71\x79\x00\x0D\x20\x0D\x03\xBA\x8E\x6B\x5D\x14\x7A\xBD\x8E\xE1\x06\x86\x00\xC0\x8E\x8A\x58\x5C\x8A\x0B\x55\x82\x59\x76\x86\xB8\x89\x1F\x7A\xF4\x85\x56\x05\xA0\x00\xCC\x8E\x7D\x86\xCE\x8E\x3D\x72\xE9\x8B\x57\x76\xD3\x8E\x4A\x0A\xAF\x00\xD5\x8E\x02\x01\xC2\x8E\x9F\x6C\xD2\x0E\xBC\x00\xD9\x8E\x15\x14\xBD\x00\xDC\x8E\x01\x01\xDE\x8E\x27\x77\x48\x88\x11\x73", - "\x0A\x8E\xD6\x8E\x67\x89\xE7\x03\xCA\x00\xC5\x8E\xC6\x70\xC8\x8E\x0F\x01\xE7\x8E\xB2\x82\xE1\x0D\xD7\x00\xE2\x8E\x07\x1B\xD8\x00\xE5\x8E\xDE\x8C\x1A\x86\x56\x05\xE5\x00\xF8\x8E\x53\x84\xFB\x8E\xF4\x8E\x69\x88\x01\x01\xF3\x00\x00\x8F\x8B\x1D\xF4\x00\x02\x8F\x84\x89\x6E\x1F\xC4\x0B\x04\x74\x02\x00\x51\x8A\xC9\x8E\x8B\x89\x56\x05\x0F\x00\x0D\x8F\xE1\x06\x10\x00\x10\x8F\xF3\x8E\x92\x89\x03\x64\x15\x8F\x9C\x78\x18\x8F\xCF\x8E\x3D\x86\x01\x83\xC4\x0B\x56\x76\x2C\x00\x3F\x8A\xFC\x8E\xF8\x7C\xA7\x8C\x1C\x8F\x15\x14\x3B\x00\x1E\x8F\xEC\x8E\x4B\x86\xE1\x0D\x48\x00\x29\x8F\x07\x1B\x49\x00\x2C\x8F\xDD\x8E\x39\x8C\x4E\x7C\xC4\x0B\xAB\x71\x57\x00\x80\x39\xC1\x8E\x41\x8C\xE7\x03\x63\x00\x38\x8F\xE1\x06\x64\x00\x3B\x8F\x11\x8F\xDB\x7B\x31\x09\x70\x00\x22\x8F\xE1\x06\x71\x00\x47\x8A\xF4\x8E\x23\x81\x7F\x00\x48\x8F\x4A\x0A\x81\x00\x4B\x8F\x57\x8C\x11\x62\x31\x8F\x6C\x1C\x91\x00\x34\x8F\xE6\x8E\xB7\x78\x1E\x76\x55\x8F\xE9\x8D\x58\x8F\x26\x8F\x63\x8C\x74\x81\x4F\x8F\x15\x14\xAD\x00\x25\x8F\xF4\x8E\xC6\x78\xB9\x00\x5C\x8F\xBE\x25", - "\xBC\x00\x5E\x8F\xF4\x8E\x66\x7F\x76\x5B\x69\x8F\x36\x1E\xCA\x00\x6C\x8F\xFB\x8A\xD2\x5C\x62\x8F\xF9\x8E\x52\x8F\x80\x8C\xBD\x85\x76\x8F\x1E\x86\x78\x8F\x88\x8C\xE7\x03\xF3\x00\x7B\x8F\x8B\x1D\xF8\x00\x7D\x8F\x02\x8B\xB1\x1C\x97\x2C\xDF\x82\xA0\x8A\x44\x8F\x0B\x8A\x9C\x7A\x87\x8F\xE1\x06\x18\x00\x8E\x8A\xF4\x8E\x9F\x8C\x20\x00\x8D\x8F\x4A\x0A\x64\x8A\xBE\x2E\xF4\x8E\x05\x89\x1F\x3A\x97\x2C\x74\x16\x3D\x00\x97\x2C\x80\x01\x36\x00\xBD\x8A\x2D\x8F\x49\x8E\x56\x05\x3F\x00\x9B\x8F\x98\x41\x9E\x8F\xCF\x05\xA1\x8F\x35\x8F\x16\x89\xEC\x78\xA6\x8F\x08\x29\xA8\x8F\xF1\x43\xAA\x8F\x59\x8F\xBF\x8C\x9B\x46\xAE\x8F\xC0\x8C\xB0\x8F\x18\x1A\xB2\x8F\x5F\x8F\x26\x89\x1B\x86\xB6\x8F\xCF\x7E\xB8\x8F\xDD\x61\xBA\x8F\xF4\x8E\x00\x75\x4D\x57\x94\x8F\xD3\x70\xC0\x8F\xE2\x7D\x8E\x8A\xC8\x65\xD3\x28\xE9\x8E\x49\x8D\x13\x70\x2B\x01\xF4\x58\xDF\x8B\xEA\x8E\x4A\x88\x7C\x2A\x95\x58\x26\x88\x90\x00\x97\x2C\xAE\x7D\x4C\x0C\x0D\x03\x95\x58\x56\x8A\xD6\x6D\xD9\x8F\xB7\x7D\xDB\x8F\x98\x58\xCA\x8E\xAA\x00\xBE\x8F\xC0\x7D\xBA\x8F\x95\x58\x3C\x78", - "\xB8\x00\xE6\x8F\xC7\x7D\xE8\x8F\xD7\x8E\xC6\x00\xEC\x8F\xBE\x25\xC1\x00\xEE\x8F\x6F\x8A\x00\x00\xD4\x00\xF1\x8F\x36\x1E\xCF\x00\xF4\x8F\xF9\x8B\x01\x01\xE2\x00\xE0\x8F\x4A\x0A\xDD\x00\xE2\x8F\xDD\x58\x09\x53\xD2\x0E\xEF\x00\xF8\x8F\x13\x23\xB5\x8A\x53\x2F\x95\x58\xCD\x6F\x14\x5F\x07\x90\x6E\x28\xBC\x8A\x0A\x90\x7D\x89\x8C\x7A\xA4\x5C\x04\x74\xC3\x8A\x11\x90\x0E\x7B\x01\x80\x14\x90\xE1\x06\x14\x00\xD5\x09\x74\x16\x95\x58\xD0\x75\x4B\x02\x1A\x90\x4A\x0A\x22\x00\x1D\x90\xE3\x8F\x05\x7E\x31\x09\x35\x00\x22\x90\x15\x14\x30\x00\x25\x90\x03\x90\xE9\x70\x11\x0A\x43\x00\xA4\x5C\x10\x7E\x32\x8B\x00\x00\x95\x58\x8F\x88\x2A\x90\x07\x1B\x4D\x00\x2D\x90\x0C\x01\x95\x58\xA5\x79\x60\x00\x38\x90\x6C\x1C\x5B\x00\x3B\x90\xCD\x58\x36\x8F\xF5\x64\xA4\x5C\xAB\x71\x69\x00\xD5\x09\xDC\x8F\x3D\x8F\x27\x02\x7B\x00\x47\x90\xE1\x06\x76\x00\x4A\x90\x26\x90\x45\x8F\x2A\x70\x32\x90\x34\x7E\x12\x8B\x95\x58\x23\x81\x97\x00\x56\x90\x3B\x7E\x58\x90\x53\x8F\xF3\x58\x40\x90\x8B\x1D\xA3\x00\x43\x90\xCC\x8F\x5C\x8C\x2E\x77\x61\x90\xBE\x25\xB1\x00", - "\x64\x90\xB8\x58\xBE\x78\x12\x78\x5C\x90\x08\x86\x34\x90\x95\x58\xC6\x78\xD1\x00\x68\x90\x36\x1E\xCE\x00\x6B\x90\x35\x90\xEE\x8A\x56\x05\xDF\x00\x75\x90\x13\x23\xDC\x00\x78\x90\x95\x58\x79\x8C\x79\x5D\x6F\x90\x07\x1B\xEA\x00\x5E\x90\x79\x8F\x03\x01\xFC\x00\x84\x90\x6C\x1C\xFA\x00\x87\x90\x7E\x8F\x24\x64\x8C\x2A\x56\x76\x0A\x00\x4A\x8B\x53\x90\x85\x8F\xE2\x29\x91\x90\xEF\x83\x94\x90\x2E\x90\xD6\x3B\x77\x70\x98\x90\x4A\x0A\x2A\x00\x08\x8C\x95\x58\x9F\x8C\x38\x00\x9E\x90\x15\x14\x5A\x8B\xBE\x2E\x95\x58\x99\x8F\x0E\x3E\x8C\x2A\x74\x16\x55\x00\x8C\x2A\x01\x0F\xFB\x8B\x3C\x90\x35\x8E\x56\x05\x57\x00\xAC\x90\xC1\x24\xAF\x90\xC2\x02\xB1\x90\x44\x90\xAC\x8F\x4B\x61\xB6\x90\x3B\x50\xB8\x90\xBA\x04\xBA\x90\x65\x90\x64\x8D\x31\x09\x77\x00\xBE\x90\x07\x53\xC0\x90\xF2\x6B\xC2\x90\x6C\x90\xC7\x8C\xF7\x82\xC7\x90\xFC\x6D\xC9\x90\xC4\x51\xCB\x90\x79\x90\x47\x8B\x38\x68\xA5\x90\x79\x68\xD1\x90\x18\x76\x08\x8C\xEC\x60\xBB\x90\xD2\x8F\xCE\x8F\x48\x7F\xD0\x8F\xCD\x8F\xB4\x70\xD1\x8F\x9B\x46\xB2\x6F\x8C\x2A\x5C\x8B\xE4\x90\x0C\x8E", - "\x31\x09\xA9\x00\xD9\x90\x01\x01\xAB\x00\xE7\x90\x49\x6C\x76\x8E\xEC\x6C\xED\x90\x57\x76\xF0\x90\x4A\x0A\xE9\x90\x7D\x7C\xD2\x0E\xAF\x00\xF4\x90\xB1\x00\xF6\x90\x15\x14\xF8\x90\x86\x7C\x11\x0A\xB2\x00\xF4\x90\xB4\x00\xFE\x90\x2C\x83\x13\x87\x3E\x86\xF4\x90\xB7\x00\x06\x91\x6C\x1C\x00\x91\x6D\x8D\xB8\x00\xF4\x90\xBA\x00\x0C\x91\x8B\x1D\x00\x91\xCF\x8D\xBB\x00\xF4\x90\xBD\x00\x13\x91\xBE\x25\x00\x91\xD6\x8D\x00\x00\xBE\x00\xF4\x90\xC0\x00\x1A\x91\x36\x1E\x00\x91\x19\x8D\xC1\x00\xF4\x90\xC3\x00\x22\x91\x13\x23\x00\x91\x39\x87\xC4\x00\xF4\x90\xC6\x00\x29\x91\x6E\x28\x00\x91\xEB\x8D\xC7\x00\xF4\x90\xC9\x00\x30\x91\x99\x24\x00\x91\xAD\x8B\xCA\x00\xF4\x90\xCC\x00\x37\x91\x26\x23\x00\x91\xB0\x8E\xCD\x00\xF4\x90\xCF\x00\x3E\x91\xAA\x63\x00\x91\x00\x8E\xD0\x00\xF4\x90\xD2\x00\x45\x91\x69\x2A\x29\x5A\x82\x82\xD2\x0E\xD3\x00\x8C\x2A\xC4\x7E\x34\x3A\x0D\x03\x4E\x91\x71\x5D\xD2\x0E\xE0\x00\x52\x91\xCC\x7E\x54\x91\x09\x5C\xA5\x76\x11\x0A\xED\x00\xCF\x90\x6C\x1C\xB7\x00\xD3\x90\x56\x91\xD3\x74\x56\x05\xFB\x00\x61\x91\x8B\x1D", - "\xC5\x00\x64\x91\xD7\x8E\x09\x00\x69\x28\x04\x74\xD3\x00\x6C\x91\xF5\x8F\x17\x00\x6F\x91\xE1\x06\xE1\x00\x72\x91\xFC\x8F\xC1\x37\x69\x28\xED\x7E\x5C\x91\x3E\x5A\xF5\x8E\x5F\x78\x75\x91\x4A\x0A\xFC\x00\x78\x91\x06\x8C\xC3\x3A\x81\x91\x72\x7E\x44\x8C\x7E\x91\x04\x8F\xFC\x41\x87\x91\x07\x1B\x18\x00\x89\x91\x0C\x01\x65\x91\xF8\x7D\xC7\x04\x8D\x91\x6C\x1C\x26\x00\x90\x91\x7F\x68\x78\x88\x31\x09\x6A\x00\x95\x91\x8B\x1D\x2E\x8C\x53\x2F\x65\x91\x8F\x79\x78\x00\x9D\x91\xBE\x25\x42\x00\x98\x91\x31\x6F\x86\x88\x31\x09\x86\x00\x69\x28\x1C\x7F\x74\x8C\x65\x91\x20\x7F\x95\x00\xA4\x91\x36\x1E\x5F\x00\xA7\x91\x01\x01\x65\x91\xA5\x79\xA3\x00\xB2\x91\xB9\x7A\xB5\x91\xE8\x8C\x45\x90\x2B\x01\xB1\x00\x7B\x91\x5B\x79\x82\x03\x55\x91\x4C\x90\x5D\x5A\xC1\x91\x38\x7F\xC3\x91\x5D\x91\x0F\x77\x72\x8C\xAC\x91\x40\x7F\x8B\x8C\xBD\x91\x49\x8C\x56\x05\xDA\x00\xCD\x91\x48\x7F\xCF\x91\x65\x91\xD2\x8A\x7C\x75\xBA\x91\x6E\x28\xB5\x00\xBC\x91\x65\x91\x16\x83\xF7\x00\xDA\x91\x99\x24\xC3\x00\xDD\x91\xD8\x89\x30\x64\xB0\x5C\x5C\x7F\xAE\x91\xE0\x89", - "\xB2\x5F\xB0\x5C\x04\x74\xE0\x00\xE4\x91\x28\x83\x31\x09\x22\x00\xEC\x91\xE1\x06\xEE\x00\xEF\x91\x2F\x83\x42\x60\xE7\x91\x6F\x7F\xD6\x91\x74\x8F\x22\x0E\xF9\x91\x77\x7F\xD1\x8C\x99\x91\x08\x8B\x6A\x42\xFE\x91\x7F\x7F\x00\x92\xA8\x91\x02\x92\x08\x29\x04\x92\x87\x7F\x06\x92\xB6\x91\x10\x8B\xEA\x4A\x0A\x92\x8F\x7F\xC9\x8C\x07\x92\x11\x8A\xA7\x06\x7B\x00\x10\x92\x97\x7F\x12\x92\x0D\x92\x8D\x7E\x31\x09\x8A\x00\xF3\x91\x53\x55\xB0\x5C\x0F\x20\xE9\x25\x74\x16\x65\x91\xB0\x8C\x9A\x00\x1E\x92\x0C\x01\xA8\x00\x20\x92\xB8\x49\x22\x92\xCA\x91\x83\x77\xC3\x83\x27\x92\x2F\x5A\x2A\x92\xFA\x50\x2C\x92\x7E\x91\x38\x8B\x35\x5A\x30\x92\x80\x63\x32\x92\xBC\x7F\x34\x92\x91\x91\x40\x8B\x03\x01\xCA\x00\x38\x92\xAE\x85\x3A\x92\xD6\x54\x3C\x92\x01\x92\xEA\x86\x31\x09\xDA\x00\x17\x92\x9F\x6B\x43\x92\x51\x58\x19\x92\x00\x00\xBC\x6B\xAF\x89\xE2\x90\x23\x88\x50\x92\x00\x00\xD6\x65\xF9\x80\xD4\x8F\xAA\x67\x56\x92\xC5\x8B\xE1\x0D\xEB\x00\xB0\x5C\xAB\x71\xAF\x00\xE9\x25\x0D\x03\x5A\x92\xCD\x8B\xBB\x8A\x5E\x92\xE1\x06\x1D\x8D\xF8\x13\x63\x92", - "\xD5\x8B\x63\x16\x79\x2A\x04\x74\x40\x8D\x53\x2F\x63\x92\x3C\x78\x13\x00\x6D\x92\xE1\x06\xD7\x00\x45\x92\x8B\x68\xD7\x8E\x21\x00\x74\x92\x4A\x0A\x83\x8D\x70\x92\xF3\x8B\xA7\x06\x2F\x00\x7B\x92\x15\x14\x9C\x8D\x7E\x92\xED\x8E\x27\x02\x3D\x00\x79\x2A\xAB\x71\xBB\x8D\x69\x92\x14\x86\xA1\x24\x82\x92\x07\x1B\x0E\x00\x07\x8F\x55\x92\xFD\x8E\xE7\x03\x58\x00\x8F\x92\x6C\x1C\xFA\x8D\x85\x92\x7A\x79\x51\x6F\x97\x92\x8B\x1D\x2A\x00\x92\x92\x63\x92\x93\x91\x8F\x4F\x9D\x92\xBE\x25\x3E\x8E\x9A\x92\xCF\x75\xD2\x0E\x82\x00\xA4\x92\x36\x1E\x5C\x8E\xA7\x92\xD6\x75\xD2\x0E\x90\x00\xAB\x92\x13\x23\x54\x00\xA0\x92\xA9\x91\xA7\x06\x9E\x00\x79\x2A\x56\x76\x94\x8E\xBE\x2E\x63\x92\x20\x7F\xAD\x00\xB2\x92\x6E\x28\xAE\x8E\xAE\x92\x01\x01\xA5\x79\xBB\x00\xC0\x92\x99\x24\x7F\x00\xB5\x92\x01\x84\xB6\x75\x89\x92\xAC\x6B\xF0\x8E\x0C\x01\x63\x92\x09\x84\xD6\x00\xCD\x92\x6B\x8B\xCF\x92\x03\x01\x63\x92\x23\x81\xE3\x00\xB9\x92\xAC\x88\x82\x59\xD8\x16\xD8\x92\xB4\x61\xF2\x00\xDB\x92\x61\x80\xDD\x92\xFC\x58\x5F\x90\xDD\x2C\x33\x2A\x04\x74\xC7\x00", - "\xCA\x92\xD1\x89\x11\x0A\x0F\x00\xE8\x92\xE1\x06\xD5\x00\xEB\x92\x2C\x84\xA7\x06\x1D\x00\x33\x2A\x56\x76\xE3\x00\x82\x59\xC4\x16\x63\x92\xC6\x78\x2C\x00\xEF\x92\x4A\x0A\xF2\x00\xF2\x92\x3A\x84\xA7\x06\x3A\x00\xFE\x92\x1D\x64\x69\x8F\x63\x92\x82\x90\x0F\x08\xF6\x92\xE1\x06\x0E\x00\xC4\x0B\xDE\x92\xFC\x91\x57\x00\x0B\x93\x9C\x78\x0E\x93\xE5\x92\x08\x92\xA9\x48\x12\x93\x15\x14\x2E\x00\x14\x93\xFF\x58\x90\x8C\x3B\x50\x18\x93\x07\x1B\x3E\x00\x1B\x93\xD0\x92\x0E\x92\x01\x01\x84\x00\x1F\x93\x6C\x1C\x4E\x00\x81\x8F\x93\x92\x54\x83\xAE\x74\x27\x93\x8B\x1D\x5D\x00\x2A\x93\x63\x92\xAA\x90\xDD\x8E\x05\x93\x53\x74\x33\x2A\x80\x01\x6C\x00\x07\x93\xB3\x90\xB9\x6A\x35\x93\x02\x01\xC0\x00\x37\x93\xF5\x76\x3A\x93\xBC\x90\x12\x78\x3D\x93\x01\x01\xD0\x00\x40\x93\x7C\x53\x42\x93\xC4\x90\xA7\x06\xD2\x00\x45\x93\x00\x00\xE0\x00\x48\x93\x67\x88\x4A\x93\xBC\x8F\x56\x05\xE2\x00\x4E\x93\xF0\x00\x51\x93\xCD\x58\x53\x93\x2E\x89\xE1\x0D\xF2\x00\x2E\x93\x4E\x28\x78\x0F\x80\x01\xB2\x00\x2A\x93\xF4\x60\x29\x89\x52\x92\x5D\x89\x91\x68\x09\x59", - "\x67\x93\x53\x8B\x66\x93\xDD\x85\x11\x0A\x03\x00\x78\x0F\xAB\x71\xC1\x00\x40\x8F\x0F\x01\x06\x59\x65\x7B\xA7\x06\x10\x00\x71\x93\xE1\x06\xCE\x00\x74\x93\x9A\x7E\xCA\x8E\x1D\x00\x78\x0F\x04\x74\xDB\x00\x69\x8F\x76\x93\x56\x74\x2B\x60\x81\x93\xE1\x06\xE9\x00\x84\x93\xD7\x8E\x39\x00\x88\x93\x4A\x0A\xF7\x00\x8B\x93\xF5\x8F\x47\x00\x8E\x93\x15\x14\x05\x00\xF1\x8F\x85\x93\x2C\x5E\x44\x75\x7A\x93\x4A\x0A\x13\x00\xFF\x8F\x7E\x93\x7A\x8A\xF2\x67\x94\x93\x07\x1B\x93\x8F\x53\x2F\x98\x93\x4F\x85\x9B\x88\xA2\x93\x6C\x1C\x2E\x00\x97\x93\x12\x90\x11\x0A\x7E\x00\xA9\x93\x8B\x1D\x3C\x00\xAC\x93\x18\x90\xE7\x03\x8C\x00\xB0\x93\xBE\x25\x4A\x00\xB3\x93\x65\x6E\xE1\x0D\x9A\x00\xB7\x93\x36\x1E\x58\x00\xBA\x93\x73\x53\x11\x0A\xA8\x00\xBE\x93\x13\x23\x66\x00\xC1\x93\x2F\x90\xD7\x6E\x78\x0F\x56\x76\x74\x00\xC6\x8F\x6D\x93\xFF\x7C\xB4\x72\xC5\x93\x6E\x28\x83\x00\xC8\x93\xC4\x92\x50\x91\xD2\x93\x99\x24\x91\x00\xD5\x93\xF1\x75\x66\x6E\x9B\x93\xD4\x8D\x9E\x93\xCF\x93\xE0\x5D\xE0\x74\xDE\x93\x07\x1B\xAC\x00\xE0\x93\x97\x68\xA8\x88\x67\x91", - "\xCB\x93\x38\x88\x97\x2C\xD8\x16\xA6\x93\x31\x42\x35\x6C\x22\x0C\x56\x76\xC9\x00\xED\x93\x05\x59\xE6\x92\x4B\x1D\x22\x0C\x04\x74\xD9\x00\xDB\x93\x16\x83\x27\x00\xF9\x93\x43\x71\xDB\x93\xE1\x8A\x52\x6D\xF2\x93\xE1\x06\xF5\x00\xCE\x93\xE8\x93\xC8\x84\xD2\x0E\x44\x00\xFF\x93\x4A\x0A\x04\x00\x68\x90\xEF\x93\x8F\x86\xE1\x0D\x52\x00\x0C\x94\x15\x14\x12\x00\x0F\x94\xFC\x91\x60\x00\x04\x94\x4A\x0A\x20\x00\xA4\x5C\xEE\x93\xFC\x91\x6F\x00\x1A\x94\x2B\x90\x1D\x94\xF6\x93\x16\x93\x77\x09\x21\x94\x07\x1B\x40\x00\x23\x94\x75\x93\x1D\x93\x7A\x79\x27\x94\x6C\x1C\x50\x00\x2A\x94\x9F\x93\x0A\x72\x11\x0A\x9C\x00\x2E\x94\x8B\x1D\x3F\x90\xBE\x2E\x10\x94\x9F\x8C\xAB\x00\x36\x94\xBE\x25\x6F\x00\x8B\x90\xEE\x90\x1E\x8B\x35\x5A\x14\x94\x76\x63\x22\x0C\x80\x01\x7E\x00\x17\x94\x3B\x8E\xA7\x06\xCA\x00\x44\x94\xEF\x87\x46\x94\xF2\x53\x49\x94\x0F\x6F\xD2\x0E\xDA\x00\x4D\x94\x40\x8A\x4F\x94\x61\x56\x51\x94\x6B\x8D\xD2\x0E\xEA\x00\x55\x94\x00\x00\xF8\x00\x57\x94\x28\x92\x59\x94\x39\x72\x89\x8C\x5D\x94\x08\x00\x02\x09\x80\x01\xB6\x00\x62\x94", - "\x43\x72\x31\x09\x0A\x00\x02\x09\xBC\x6C\x67\x94\xFE\x5A\x40\x94\x00\x00\xF8\x60\x32\x94\x22\x88\x68\x93\x01\x01\x74\x94\xA1\x70\x6B\x93\xF1\x8B\x7A\x94\xF3\x86\x63\x77\x02\x09\x85\x85\xBE\x25\xD9\x65\xCE\x87\x00\x87\x02\x09\x31\x01\x22\x00\x02\x09\x34\x64\x83\x94\xD4\x87\xA7\x06\x23\x00\x86\x94\x13\x04\x89\x94\xE1\x06\x8B\x94\xF9\x90\xE1\x0D\x28\x00\x8F\x94\x70\x39\x91\x94\x4A\x0A\x93\x94\x01\x91\x31\x09\x2D\x00\x97\x94\x7C\x5E\x99\x94\x63\x8F\x08\x91\x31\x09\x32\x00\x9F\x94\x6E\x2A\xA1\x94\x07\x1B\x9B\x94\x6D\x8D\x37\x00\xA6\x94\x36\x11\xA8\x94\x6C\x1C\x9B\x94\xCF\x8D\x3C\x00\xAD\x94\x08\x3B\xAF\x94\x8B\x1D\x9B\x94\x1D\x91\x41\x00\xB4\x94\x77\x8B\xB6\x94\x82\x94\xF1\x84\x8F\x03\xBB\x94\x4A\x00\xBD\x94\x95\x8A\x24\x5D\xCE\x60\xBB\x94\x4F\x00\xC3\x94\x13\x23\x9B\x94\xEB\x8D\x50\x00\xBB\x94\x54\x00\xC9\x94\x6E\x28\x9B\x94\xAD\x8B\x55\x00\xBB\x94\x59\x00\xD0\x94\x99\x24\x9B\x94\xB0\x8E\x5A\x00\xBB\x94\x5E\x00\xD7\x94\x26\x23\x9B\x94\x00\x8E\x5F\x00\xBB\x94\x63\x00\xDE\x94\xAA\x63\xE3\x65\x25\x5A\xDE\x90\x27\x02", - "\x64\x00\x70\x94\xDA\x8E\x37\x89\xA7\x06\x66\x00\x02\x09\xAB\x71\xD3\x00\x4F\x90\x0D\x59\x3E\x89\xEC\x4E\xF1\x94\xE1\x06\xE0\x00\xF4\x94\x4C\x63\xCA\x8E\x80\x00\x02\x09\x04\x74\xED\x00\x68\x90\xA4\x5F\x66\x91\x7F\x7C\xFF\x94\xE1\x06\xFB\x00\x02\x95\xD7\x8E\x9C\x00\x06\x95\x4A\x0A\x09\x00\x69\x91\x00\x00\x03\x95\x4D\x88\x74\x81\x0C\x95\x15\x14\x17\x00\x0F\x95\x03\x95\xDC\x7D\x2C\x5A\xF8\x94\x4A\x0A\x25\x00\x5A\x91\xF5\x94\xA0\x93\x54\x7D\x14\x95\x07\x1B\x32\x00\x17\x95\x94\x92\xEA\x68\x22\x95\x6C\x1C\x40\x00\x25\x95\xC2\x75\x11\x0A\xE1\x00\x28\x95\x8B\x1D\x4E\x00\x2B\x95\x16\x7B\x0E\x69\x2F\x95\xBE\x25\x5C\x00\x32\x95\xA8\x92\x74\x6E\x35\x95\x36\x1E\x6A\x00\x38\x95\xAF\x92\x8C\x7A\x83\x3A\x04\x74\x78\x00\x3E\x95\xEB\x83\x11\x0A\x19\x00\x83\x3A\x56\x76\x86\x00\xD7\x90\x02\x01\x03\x95\x20\x7F\x28\x00\x41\x95\x40\x7F\x44\x95\xA0\x71\x0B\x72\x50\x95\x4A\x0A\xA3\x00\x52\x95\xB3\x8A\x44\x00\x83\x3A\xAB\x71\xFD\x90\xF8\x13\x03\x95\x09\x84\x51\x00\x5B\x95\xE1\x06\x1F\x91\x5E\x95\xE9\x93\xE7\x03\x5E\x00\x48\x95\xE1\x06", - "\xCB\x00\x8C\x2A\xD8\x16\x03\x95\x23\x81\x6D\x00\x69\x95\x4A\x0A\xDB\x00\x6C\x95\x2B\x01\x03\x95\xD8\x91\xBA\x7D\x55\x95\x15\x14\xEB\x00\x52\x95\x16\x83\x8A\x00\x79\x95\x07\x1B\xF9\x00\x52\x95\x02\x94\xD8\x8A\x71\x95\xBE\x8A\xD4\x91\xFC\x94\x09\x94\xE1\x0D\xA7\x00\x7F\x95\x6C\x1C\x16\x00\xA4\x91\x03\x95\x6E\x8F\xB5\x00\x8C\x95\x8B\x1D\x24\x00\x8F\x95\xFC\x91\xC3\x00\x85\x95\x23\x95\x69\x28\x6D\x95\xFC\x91\xD2\x00\x99\x95\x78\x6F\x9B\x95\x75\x95\x2C\x94\x21\x8B\x9F\x95\x29\x76\xA1\x95\x1F\x95\x8F\x90\x46\x66\xA5\x95\xBE\x25\x62\x00\xA7\x95\x88\x95\x33\x94\xA2\x0F\xAB\x95\x3F\x77\x87\x95\x03\x01\x03\x95\x9F\x8C\x0E\x00\x46\x0C\x56\x76\x81\x00\xB4\x95\x4C\x95\x42\x94\x03\x01\x1D\x00\x46\x0C\x74\x16\x2B\x00\x46\x0C\x80\x01\x90\x00\x96\x95\x4A\x94\xE4\x7A\xC1\x95\xB4\x01\xC4\x95\xA5\x57\xC7\x95\x52\x94\x83\x74\xCA\x95\x9D\x40\xCC\x95\xEC\x6C\xCE\x95\x5A\x94\xE1\x0D\x4D\x00\xD1\x95\x2B\x08\xD3\x95\x35\x5A\xD5\x95\x63\x94\x1C\x61\xD9\x95\x96\x4A\xDB\x95\x76\x63\xDD\x95\x6B\x94\xA7\x06\x6D\x00\xB9\x95\xB8\x6E\xE2\x95", - "\xAB\x7D\xBC\x95\x01\x01\xFC\x60\xFA\x7C\x7B\x94\xBD\x72\x2B\x01\xEE\x95\x53\x80\xF0\x95\xC3\x72\x0C\x01\xEA\x65\x03\x01\x26\x88\x7E\x00\x46\x0C\xAB\x71\xE5\x00\xC7\x91\xF7\x95\xF6\x94\x03\x01\x8B\x00\xFC\x95\xE1\x06\xF2\x00\xFF\x95\xE9\x65\xCA\x8E\x98\x00\xE0\x95\x2C\x24\xA4\x91\xF8\x95\x8B\x47\x84\x6C\x0B\x96\x20\x6D\x41\x92\x00\x00\x0E\x96\x7E\x88\xE1\x0D\xB4\x00\x11\x96\x27\x6D\x13\x96\x15\x96\x60\x89\xE1\x0D\xC2\x00\x19\x96\x2F\x6D\x1B\x96\x64\x79\x53\x8D\x04\x96\x4A\x0A\x37\x00\x66\x92\x11\x59\x8D\x92\x03\x01\xDD\x00\x20\x96\x13\x23\x44\x00\x22\x96\x76\x89\x31\x09\xEB\x00\x2D\x96\x6E\x28\x52\x00\x30\x96\x9B\x92\xB0\x6C\x34\x96\x99\x24\x60\x00\x37\x96\x1E\x7B\xD6\x7F\xD6\x3A\x04\x74\x6E\x00\x3D\x96\x87\x79\x22\x67\x40\x96\xE1\x06\x7C\x00\x43\x96\x8E\x79\xD2\x0E\x23\x00\x46\x96\xC5\x84\x49\x96\x96\x79\x6E\x76\xD6\x3A\x56\x76\x98\x00\x4A\x92\x1C\x96\x20\x7F\x40\x00\x4D\x96\x15\x14\xA7\x00\x4F\x96\xA5\x79\x4E\x00\x59\x96\x07\x1B\xB5\x00\x4F\x96\xB3\x8A\x5C\x00\xD6\x3A\xAB\x71\xC3\x00\x28\x96\x00\x96\x34\x7F", - "\x0F\x89\x65\x96\xE1\x06\xD0\x00\x68\x96\x08\x96\xD1\x91\x0C\x7A\x52\x96\xE1\x06\xDD\x00\xB0\x5C\xD8\x16\x1C\x96\x23\x81\x85\x00\x73\x96\x4A\x0A\xED\x00\x76\x96\xBF\x91\xF7\x93\x03\x71\x5F\x96\x6C\x1C\xFD\x00\x4F\x96\x16\x83\xA2\x00\x82\x96\x8B\x1D\x0B\x00\xA4\x92\x1C\x96\x83\x95\xB0\x00\x7B\x96\x15\x14\x19\x00\xE2\x92\x69\x96\x88\x86\x9E\x81\x88\x96\xBE\x25\x28\x00\x8B\x96\x7A\x90\xB1\x7E\x96\x96\x36\x1E\x36\x00\x99\x96\x88\x90\x4A\x8E\x8F\x96\x07\x1B\x44\x00\x79\x2A\x77\x96\xFC\x91\xEA\x00\xA2\x96\x6C\x1C\x54\x00\xA5\x96\x7F\x96\x25\x94\x02\x01\xF9\x00\xA9\x96\x8B\x1D\x64\x00\xAC\x96\x29\x96\xAE\x96\x04\x2E\xAE\x09\xCC\x93\xB4\x96\x93\x96\x8B\x8F\xE1\x89\xB8\x96\xD0\x78\x92\x96\x70\x96\x14\x92\x56\x05\x26\x00\xBE\x96\x3B\x7E\xC0\x96\xF4\x95\x1B\x92\xA7\x06\x35\x00\xAE\x09\x74\x16\x43\x00\xAE\x09\x80\x01\xA2\x00\x9F\x96\x42\x8E\xE7\x03\x45\x00\xCC\x96\xF9\x43\xCF\x96\xF2\x95\xD2\x96\xD6\x8C\x56\x05\x55\x00\xD6\x96\xF5\x47\xD8\x96\x57\x5A\xDA\x96\x73\x8D\x42\x61\xDE\x96\xEC\x4E\xE0\x96\x1A\x5C\xE2\x96\x1E\x14", - "\xD2\x0E\x75\x00\xE5\x96\x03\x01\x83\x00\xE7\x96\x03\x01\xDA\x00\xE9\x96\x05\x43\xD2\x0E\x85\x00\xC5\x96\xD1\x60\xF0\x96\x02\x01\xE8\x00\xC7\x96\x69\x59\xC1\x59\xF0\x8B\xF1\x95\x13\x59\x2B\x01\xEC\x65\x76\x94\x6C\x93\xA6\x59\xBB\x8E\x94\x7F\xAE\x09\xAB\x71\xF7\x00\xD4\x92\xBE\x59\x77\x93\x56\x05\xA3\x00\x09\x97\xE1\x06\x04\x00\x33\x2A\x0D\x03\x84\x59\x6B\x92\xB0\x00\xED\x96\x47\x65\x4E\x93\x84\x59\x3C\x78\xBE\x00\x19\x97\x87\x6C\x1B\x97\xD7\x8E\xCC\x00\x1F\x97\xBE\x25\x2D\x00\x21\x97\xF5\x8F\xDA\x00\x24\x97\x36\x1E\x3B\x00\x27\x97\x79\x91\xE8\x00\x11\x97\x79\x89\x14\x97\xB3\x59\x04\x90\xC7\x7F\x2A\x97\x13\x23\x56\x00\x2D\x97\x85\x91\x57\x27\x54\x0B\x04\x74\x64\x00\x39\x97\x0C\x8C\xD2\x05\x3C\x97\xE1\x06\x72\x00\x3F\x97\x13\x8C\x27\x05\x42\x97\x4A\x0A\x80\x00\x45\x97\x19\x8C\x85\x09\x48\x97\x15\x14\x8E\x00\x4B\x97\x8F\x79\x3B\x00\x4E\x97\x07\x1B\x9C\x00\x4B\x97\xDB\x82\x49\x00\x54\x0B\x56\x76\xAA\x00\x5F\x93\x84\x59\x20\x7F\x58\x00\x54\x97\x6C\x1C\xB9\x00\x4B\x97\xA5\x79\x66\x00\x61\x97\x80\x80\x4B\x97\xB3\x8A", - "\x74\x00\x54\x0B\xAB\x71\xD5\x00\x32\x97\xFE\x96\xBA\x8A\x31\x09\x81\x00\x6C\x97\x41\x89\x6F\x97\x0D\x97\x54\x90\x56\x05\x8E\x00\x5A\x97\xE1\x06\xEF\x00\x33\x2A\xD8\x16\x84\x59\x23\x81\x9D\x00\x7B\x97\x68\x0B\x7E\x97\x33\x97\x0F\x76\xD2\x0E\xAC\x00\x67\x97\xBE\x25\x0F\x00\xB7\x93\x84\x59\x16\x83\xBA\x00\x8A\x97\x36\x1E\x80\x93\x53\x2F\x84\x59\x83\x95\xC8\x00\x83\x97\x0D\x60\xEB\x93\x70\x97\xBF\x6E\x9C\x6C\x91\x97\xF8\x66\x8D\x97\x9A\x96\x65\x6B\x9E\x97\x6E\x28\x48\x00\xA0\x97\xA0\x96\x05\x8F\x98\x97\x07\x1B\x56\x00\x78\x0F\x7F\x97\xFC\x91\x02\x00\xF5\x18\x56\x76\x66\x00\xAC\x97\x86\x97\x15\x43\xB4\x61\x11\x00\xB0\x97\x50\x90\xB3\x97\x9B\x97\x52\x77\xB4\x61\x20\x00\xB8\x97\x4A\x0A\x86\x00\xBA\x97\x77\x97\xBC\x96\x3D\x60\xBF\x97\x15\x14\x96\x00\x9A\x97\xC3\x97\xCC\x74\x31\x09\x3E\x00\xC6\x97\x07\x1B\xA5\x00\xC9\x97\x9F\x7F\xBE\x95\x80\x41\xF5\x18\x74\x16\x5B\x00\xF5\x18\x80\x01\xB4\x00\xA6\x97\xD3\x96\x27\x02\x5D\x00\xD5\x97\xDE\x6D\xD8\x97\xB7\x5A\xDB\x97\xDB\x96\xE7\x03\x6D\x00\xDF\x97\x7D\x52\xE1\x97\xF7\x72", - "\xE3\x97\xE3\x96\x94\x6D\xE7\x97\x93\x24\xE9\x97\xDE\x71\xEB\x97\xEA\x96\xE1\x0D\x8D\x00\xEE\x97\x44\x85\xF0\x97\xD9\x74\xF2\x97\xF4\x96\xE1\x0D\x9D\x00\xCE\x97\x02\x01\xAC\x00\xF8\x97\x66\x83\xD1\x97\xCD\x59\xB4\x97\x47\x1D\xEB\x8E\x6C\x1C\xDD\x59\x03\x97\x57\x92\xE1\x8B\xDF\x90\x10\x5A\x66\x7C\x11\x0A\xAE\x00\xF5\x18\x81\x94\x36\x1E\x0A\x98\x79\x5C\xE1\x0D\xB1\x00\xF5\x18\x31\x01\xB5\x00\xF5\x18\x34\x64\x15\x98\x00\x00\x2E\x85\xB6\x00\x19\x98\x33\x5A\x1C\x98\xE1\x06\x1E\x98\x1B\x8E\x24\x7D\x22\x98\x0F\x01\xBF\x00\x24\x98\x4A\x0A\x1E\x98\x9A\x85\xC0\x00\x29\x98\xF9\x5A\x2C\x98\x15\x14\x1E\x98\xFB\x8C\xC5\x00\x31\x98\x03\x01\xC9\x00\x33\x98\x60\x96\xC7\x8D\x56\x05\xCA\x00\x38\x98\x3C\x5C\x3B\x98\x6C\x1C\x1E\x98\xCF\x8D\xCF\x00\x40\x98\x8A\x5C\x42\x98\x8B\x1D\x1E\x98\x1D\x91\xD4\x00\x47\x98\x2A\x6B\x49\x98\xBE\x25\x1E\x98\x19\x8D\xD9\x00\x4E\x98\xDD\x00\x50\x98\x14\x98\xC5\x94\x53\x70\x4E\x98\xE2\x00\x57\x98\x13\x23\x1E\x98\xEB\x8D\xE3\x00\x4E\x98\xE7\x00\x5D\x98\xDB\x91\x28\x5D\xA6\x6C\x4E\x98\xEC\x00\x64\x98", - "\x99\x24\x1E\x98\xB0\x8E\xED\x00\x4E\x98\xF1\x00\x6A\x98\x26\x23\x1E\x98\x00\x8E\xF2\x00\x4E\x98\xF6\x00\x71\x98\xAA\x63\xC4\x6B\x01\x01\x03\x95\x4A\x7B\x2B\x5A\x3D\x92\xFF\x96\xF6\x95\x2F\x5A\x2B\x01\xE7\x94\x0B\x98\xD3\x8F\x0C\x98\x16\x7D\x50\x6E\xF5\x95\xC9\x72\x5C\x5A\x2C\x5A\x8A\x98\xCF\x72\xF9\x65\x2B\x01\x40\x5A\x04\x97\x49\x79\x01\x98\x8B\x1D\x92\x98\xD7\x8C\x11\x0A\xF9\x00\x78\x98\x86\x98\x69\x2A\x97\x98\x16\x98\xEC\x71\x95\x98\x00\x00\xFC\x00\x9B\x98\x7C\x2A\x9E\x98\x1F\x98\xD8\x76\xA1\x98\xFF\x00\xA4\x98\xAF\x75\xD9\x87\x11\x0A\x7E\x0B\x03\x29\x7E\x0B\x34\x64\xA6\x98\x9A\x85\x03\x00\xAF\x98\x1B\x02\xB1\x98\x67\x92\xA3\x94\xA7\x06\x06\x00\xB6\x98\xA2\x2D\xB8\x98\xAC\x6E\x3D\x98\xE7\x03\x09\x00\xBD\x98\x59\x2D\xBF\x98\x15\x14\xA6\x98\xCF\x8D\x0C\x00\xC4\x98\x40\x07\xC6\x98\x6F\x78\x8B\x7A\xED\x92\xCB\x98\x0B\x06\xCD\x98\x6C\x1C\xA6\x98\x19\x8D\x12\x00\xD1\x98\x10\x2E\xD3\x98\x96\x98\x59\x98\xE3\x6D\xD8\x98\x25\x30\xDA\x98\x6A\x8F\x8D\x8D\x27\x02\x18\x00\xDE\x98\x1A\x00\xE0\x98\x36\x1E\xA6\x98\xAD\x8B", - "\x1B\x00\xDE\x98\x1D\x00\xE7\x98\x9B\x8A\x5F\x8E\x31\x09\x1E\x00\xDE\x98\x20\x00\xEE\x98\x6E\x28\xA6\x98\x00\x8E\x21\x00\xDE\x98\x23\x00\xF5\x98\x99\x24\x4D\x5A\x5E\x5A\xE9\x94\x96\x09\xDE\x98\x36\x1E\xFF\x98\xE5\x90\x7A\x86\xFC\x98\x58\x92\x5D\x5A\xB8\x84\x3D\x02\xDE\x98\x29\x00\x07\x99\xAA\x63\x04\x99\x8C\x94\x56\x05\x2A\x00\xDE\x98\x2C\x00\x0E\x99\x69\x2A\x10\x99\x94\x94\x11\x0A\x2D\x00\xDE\x98\x2F\x00\x16\x99\x7C\x2A\x18\x99\x9C\x94\xA7\x06\x30\x00\xDE\x98\x32\x00\x1E\x99\x36\x7D\xBA\x98\x80\x88\xDE\x98\x35\x00\x26\x99\x09\x99\x0F\x01\x6D\x8D\x36\x00\xDE\x98\x38\x00\x2C\x99\x5B\x5A\x0F\x01\xCF\x8D\x39\x00\xDE\x98\x3B\x00\x33\x99\x0C\x01\x20\x99\x1D\x91\x3C\x00\xDE\x98\x3E\x00\x3A\x99\x05\x7C\xBF\x94\xAC\x05\xDE\x98\x41\x00\x41\x99\x02\x01\x20\x99\x39\x87\x42\x00\xDE\x98\x44\x00\x47\x99\x01\x01\x20\x99\xEB\x8D\x45\x00\xDE\x98\x47\x00\x4E\x99\x1E\x91\x66\x98\x2F\x8F\xDE\x98\x4A\x00\x55\x99\x20\x99\xB0\x8E\x4B\x00\xDE\x98\x4D\x00\x5B\x99\x6E\x82\x11\x0A\x4E\x00\xDE\x98\x50\x00\x55\x99\xFD\x65\x07\x97\xF1\x7D", - "\x7E\x0B\xAB\x71\x09\x00\x22\x0C\x0D\x03\x68\x99\xC3\x8E\x25\x61\x6B\x99\xE1\x06\x16\x00\x6E\x99\x27\x8A\xCA\x8E\x6B\x00\x7E\x0B\x04\x74\x23\x00\x5D\x94\x70\x99\x0F\x96\x5B\x51\x7A\x99\xC0\x66\x7D\x99\xD7\x8E\x87\x00\x81\x99\x7B\x88\x83\x99\xF5\x8F\x95\x00\x86\x99\x15\x14\x4D\x00\x88\x99\x79\x91\xA3\x00\x73\x99\x4A\x0A\x5B\x00\x76\x99\x2A\x98\x2A\x96\x02\x01\xB0\x00\x8B\x99\x07\x1B\x68\x00\x8E\x99\x3A\x97\x48\x99\x99\x99\x8E\x89\x9C\x99\x40\x97\xE0\x72\x9F\x99\x8B\x1D\x84\x00\xA1\x99\x46\x97\xF1\x96\xA4\x99\xBE\x25\x92\x00\xA7\x99\x4C\x97\x54\x5D\xAA\x99\x36\x1E\xA0\x00\xAD\x99\x8F\x79\xF6\x00\xB0\x99\x13\x23\xAE\x00\xAD\x99\xDB\x82\x04\x00\x91\x3C\x56\x76\xBC\x00\x3D\x94\x7E\x99\x14\x7D\x31\x09\x13\x00\x91\x3C\x04\x74\xCB\x00\xAD\x99\xA5\x79\x21\x00\xC4\x99\xE1\x06\xD9\x00\xAD\x99\xB3\x8A\x2F\x00\x91\x3C\xAB\x71\xE7\x00\x94\x99\x92\x80\xC5\x91\x21\x0C\xD0\x99\xE1\x06\xF4\x00\xD3\x99\x03\x01\xC0\x99\x75\x80\xE1\x0D\x49\x00\xBC\x99\xE1\x06\x01\x00\x02\x09\xD8\x16\xDC\x99\x23\x81\x58\x00\xE0\x99\x4A\x0A\x11\x00", - "\xE3\x99\x77\x99\x73\x86\x4B\x61\xCA\x99\x4A\x0A\x21\x00\x35\x95\xDC\x99\x16\x83\x75\x00\xEF\x99\x15\x14\x2F\x00\xF2\x99\xE5\x91\x56\x60\xE8\x99\x15\x14\x3D\x00\x6E\x94\xEC\x99\x94\x96\x11\x0A\x92\x00\xF6\x99\x07\x1B\x4C\x00\xF9\x99\xF0\x91\x96\x6A\x04\x9A\x6C\x1C\xDB\x94\x53\x2F\xDC\x99\x09\x93\x03\x01\xAE\x00\xFC\x99\x9A\x99\xEB\x99\x95\x99\xA7\x97\x4E\x5A\x12\x9A\x6C\x1C\x78\x00\x14\x9A\xD4\x99\xB6\x96\x1F\x5C\x18\x9A\x8B\x1D\x88\x00\x1B\x9A\xDB\x99\xA3\x95\x4A\x8E\x1F\x9A\xBE\x25\x98\x00\x22\x9A\x02\x01\xDC\x99\x99\x8C\x03\x01\xEA\x00\x26\x9A\x36\x1E\xA8\x00\xFF\x99\x15\x9A\xC2\x96\xE7\x03\xF9\x00\x2F\x9A\x13\x23\xB7\x00\x32\x9A\x1C\x9A\x6F\x84\x31\x09\x08\x00\xEE\x08\x74\x16\x16\x00\xEE\x08\x80\x01\xC6\x00\x07\x9A\xDC\x97\x06\x24\x3F\x9A\xF4\x01\x42\x9A\x1D\x75\x45\x9A\xE4\x97\x1E\x60\x48\x9A\x50\x28\x4A\x9A\x37\x5D\x4C\x9A\xEC\x97\x31\x09\x38\x00\x4F\x9A\x9C\x07\x51\x9A\x90\x6E\x53\x9A\xF3\x97\x11\x0A\x48\x00\x57\x9A\x6F\x0B\x59\x9A\x03\x01\xFE\x00\x5B\x9A\xFB\x97\x4C\x75\xEE\x08\x08\x89\x61\x9A\x92\x04", - "\xAB\x95\x02\x66\xC9\x87\x8C\x77\xEE\x08\x13\x98\x13\x23\x6C\x9A\x84\x94\xDC\x80\xEE\x08\x31\x01\x70\x00\xEE\x08\x34\x64\x72\x9A\x11\x99\x08\x76\x75\x9A\x2D\x50\x78\x9A\x66\x77\xAD\x98\xA7\x06\x76\x00\x7D\x9A\xF4\x56\x7F\x9A\x24\x70\xF3\x8C\x31\x09\x7B\x00\x84\x9A\xB5\x51\x86\x9A\x15\x14\x7A\x9A\x01\x01\xFB\x8C\x80\x00\x8B\x9A\x03\x01\x84\x00\x8D\x9A\x07\x1B\x8F\x9A\x00\x00\x6D\x8D\x85\x00\x93\x9A\x02\x01\x89\x00\x96\x9A\x7E\x79\x74\x8D\xA7\x06\x8A\x00\x9C\x9A\xFA\x85\x9F\x9A\x8B\x1D\x98\x9A\x1D\x91\x8F\x00\xA4\x9A\x00\x00\x93\x00\xA6\x9A\xBE\x25\x98\x9A\x19\x8D\x94\x00\xAB\x9A\x98\x00\xAE\x9A\x36\x1E\x98\x9A\x39\x87\x99\x00\xAB\x9A\x9D\x00\xB5\x9A\x71\x9A\xE2\x98\xA5\x57\xAB\x9A\xA2\x00\xBC\x9A\x6E\x28\x98\x9A\xAD\x8B\xA3\x00\xAB\x9A\xA7\x00\xC2\x9A\x99\x24\x98\x9A\xB0\x8E\xA8\x00\xAB\x9A\xAC\x00\xC9\x9A\x26\x23\x98\x9A\x00\x8E\xAD\x00\xAB\x9A\xB1\x00\xD0\x9A\xAA\x63\x08\x61\x98\x9A\x4A\x7B\x90\x5A\x1F\x85\xB2\x00\x6F\x9A\x23\x88\x90\x5A\xDD\x8C\xB5\x00\xAB\x9A\xB9\x00\xD7\x9A\x69\x2A\x90\x5A\x2E\x85\xBA\x00", - "\xAB\x9A\xBE\x00\xE6\x9A\x7C\x2A\x90\x5A\x27\x98\x00\x00\xBF\x00\xAB\x9A\xC3\x00\xED\x9A\x27\x02\x90\x5A\x9A\x85\xC4\x00\xAB\x9A\xC8\x00\xF5\x9A\xCC\x5A\x0F\x01\xFB\x8C\xC9\x00\xAB\x9A\xCD\x00\xFC\x9A\x6C\x63\xC1\x98\x27\x02\xCE\x00\xAB\x9A\xD2\x00\x03\x9B\xB3\x5A\xA1\x9A\x57\x71\xAB\x9A\xD7\x00\x0A\x9B\x95\x5A\xCF\x98\x31\x09\xD8\x00\xAB\x9A\xDC\x00\x10\x9B\x31\x7A\x43\x99\x25\x7B\xAB\x9A\xE1\x00\x17\x9B\xC1\x5A\x17\x7B\xFC\x68\xAB\x9A\xE6\x00\x1D\x9B\x86\x5A\xBE\x9A\x0F\x01\xE7\x00\xAB\x9A\xEB\x00\x23\x9B\x90\x5A\xAD\x8B\xEC\x00\xAB\x9A\xF0\x00\x2A\x9B\xF0\x98\xA7\x06\xF1\x00\xAB\x9A\xF5\x00\x30\x9B\xCE\x6F\xD2\x0E\xF6\x00\xAB\x9A\xFA\x00\x23\x9B\xEF\x5A\x90\x5A\x4A\x7B\x05\x5B\xD6\x64\xFB\x00\x23\x9B\x1B\x00\x83\x3A\x95\x04\x05\x5B\x6B\x87\xFC\x00\x23\x9B\x1C\x00\x45\x9B\x0C\x5B\xBF\x95\xD8\x76\x23\x9B\x1D\x00\x4C\x9B\x0E\x5B\x5E\x7D\x10\x79\x23\x9B\x1E\x00\x52\x9B\x0D\x5B\x55\x68\x14\x01\x23\x9B\x1F\x00\x58\x9B\x00\x5B\x3A\x67\x08\x6E\x19\x69\x20\x00\x5E\x9B\x02\x5B\x8C\x87\x31\x09\x01\x00\x15\x3E\x34\x64", - "\x21\x00\x64\x9B\x04\x5B\x93\x87\x07\x27\x69\x9B\xE1\x06\x22\x00\x6C\x9B\x06\x5B\x1C\x7D\xA6\x1C\x70\x9B\x4A\x0A\x23\x00\x73\x9B\x05\x5B\x80\x7D\x04\x00\x77\x9B\x15\x14\x24\x00\x7A\x9B\x09\x71\x30\x64\x7E\x9B\x07\x1B\x25\x00\x81\x9B\x95\x08\x1A\x64\x84\x9B\x96\x91\x87\x9B\xF3\x64\x20\x64\x8A\x9B\x8B\x1D\x27\x00\x8C\x9B\x29\x2F\x26\x64\x8F\x9B\x97\x96\x92\x9B\x31\x37\x2C\x64\x95\x9B\x2F\x6D\x97\x9B\xFA\x82\x72\x71\x95\x9B\x0B\x00\x15\x3E\x80\x01\x2A\x00\x73\x9B\x1F\x5B\x98\x98\x31\x09\x0D\x00\x15\x3E\x70\x9A\x6E\x28\xA5\x9B\x9F\x98\x31\x09\x10\x00\x15\x3E\x31\x01\x14\x00\x9A\x9B\x13\x23\xAC\x9B\xA7\x98\xC4\x73\xB0\x9B\xEE\x03\xB3\x9B\xAB\x9B\x81\x9A\x56\x05\x1A\x00\xB8\x9B\x6F\x25\xBA\x9B\x99\x24\xB5\x9B\x9A\x85\x1F\x00\xBF\x9B\x8C\x16\xC1\x9B\x26\x23\xB5\x9B\xFB\x8C\x24\x00\xC6\x9B\x2B\x79\xC8\x9B\xAA\x63\xB5\x9B\x6D\x8D\x29\x00\xCD\x9B\xB3\x05\xCF\x9B\x69\x2A\xB5\x9B\xCF\x8D\x2E\x00\xD4\x9B\x99\x67\xD6\x9B\x7C\x2A\xB5\x9B\x1D\x91\x33\x00\xDB\x9B\x3D\x28\xDD\x9B\x54\x7D\x19\x9B\xFA\x5C\xE2\x9B\x3C\x00\xE4\x9B", - "\x07\x66\x32\x79\xD2\x0E\x3D\x00\xE2\x9B\x41\x00\xEA\x9B\x1D\x5B\x02\x01\xEB\x8D\x42\x00\xE2\x9B\x46\x00\xF1\x9B\x1C\x5B\x25\x7B\xAF\x69\xE2\x9B\x4B\x00\xF8\x9B\x0C\x61\x03\x01\xB0\x8E\x4C\x00\xE2\x9B\x50\x00\xFE\x9B\x02\x01\xB5\x9B\x00\x8E\x51\x00\xE2\x9B\x55\x00\x05\x9C\x44\x5C\x7E\x94\x4E\x7C\xA9\x9B\x23\x88\x34\x5C\xDD\x8C\x59\x00\xE2\x9B\x5D\x00\x0C\x9C\x4D\x5C\xC2\x5C\xE1\x0D\x5E\x00\xE2\x9B\x62\x00\x17\x9C\x34\x5C\xF0\x9A\x63\x00\xE2\x9B\x67\x00\x1E\x9C\x88\x9A\xA7\x06\x68\x00\xE2\x9B\x6C\x00\x24\x9C\xFE\x9A\xA1\x71\xE2\x9B\x71\x00\x2A\x9C\x22\x66\xD2\x0E\x72\x00\xE2\x9B\x76\x00\x2F\x9C\x50\x85\xD2\x0E\x77\x00\xE2\x9B\x7B\x00\x35\x9C\xAB\x85\xD2\x0E\x7C\x00\xE2\x9B\x80\x00\x3B\x9C\x43\x8E\xE1\x0D\x81\x00\xE2\x9B\x85\x00\x41\x9C\x00\x00\x39\x87\x86\x00\xE2\x9B\x8A\x00\x47\x9C\xEB\x8D\x8B\x00\xE2\x9B\x8F\x00\x47\x9C\xAD\x8B\x90\x00\xE2\x9B\x94\x00\x47\x9C\xB0\x8E\x95\x00\xE2\x9B\x99\x00\x47\x9C\x00\x8E\x9A\x00\xE2\x9B\x9E\x00\x17\x9C\x47\x5B\x34\x5C\x4A\x7B\xAA\x5B\xD6\x64\x9F\x00\x17\x9C\x2B\x00\x73\x9B", - "\xAA\x5B\x6B\x87\xA0\x00\x17\x9C\x2C\x00\x6A\x9C\x72\x87\x5B\x68\x17\x9C\x2D\x00\x70\x9C\xF9\x7C\xDD\x8E\x17\x9C\x2E\x00\x75\x9C\x5A\x9B\x92\x78\x17\x9C\x2F\x00\x7A\x9C\xE2\x70\x98\x58\x17\x9C\x30\x00\x7F\x9C\x02\x01\x0E\x7D\x01\x01\xA5\x00\x17\x9C\x31\x00\x84\x9C\x67\x2F\x84\x6C\x17\x9C\x32\x00\x8B\x9C\x45\x31\x27\x02\xA7\x00\x17\x9C\x33\x00\x90\x9C\x80\x7D\xA8\x00\x17\x9C\x34\x00\x90\x9C\xA7\x87\xA9\x00\x17\x9C\x35\x00\x90\x9C\x8B\x7D\xAA\x00\x17\x9C\x36\x00\x90\x9C\x91\x7D\xAB\x00\x17\x9C\x37\x00\x90\x9C\x8A\x6B\xAC\x00\x17\x9C\x38\x00\x90\x9C\x91\x6B\xAD\x00\x17\x9C\x39\x00\x90\x9C\x97\x6B\xAE\x00\x95\x9B\xAF\x00\xA1\x9B\x4C\x3A\x73\x9B\x11\x61\x05\x99\x11\x0A\xB1\x00\x10\x9C\x77\x94\x00\x00\xBC\x9C\xEA\x90\x2E\x77\xE2\x9B\xB8\x00\x17\x9C\xC3\x9C\xBF\x5C\x31\x09\xB9\x00\xE2\x9B\xBD\x00\xC8\x9C\xBC\x9B\xC2\x68\xE2\x9B\xC2\x00\xCF\x9C\xDE\x87\x56\x05\xC3\x00\xE2\x9B\xC7\x00\xD4\x9C\x65\x8D\x11\x0A\xC8\x00\xE2\x9B\xCC\x00\xDA\x9C\xE9\x87\xD2\x0E\xCD\x00\xE2\x9B\xD1\x00\xE0\x9C\x36\x8E\xE1\x0D\xD2\x00\xE2\x9B", - "\xD6\x00\xE6\x9C\xF5\x87\xF6\x8E\xE2\x9B\xDB\x00\xEC\x9C\xFA\x87\xD2\x0E\xDC\x00\xE2\x9B\xE0\x00\xF1\x9C\x39\x87\xE1\x00\xE2\x9B\xE5\x00\xF1\x9C\xEB\x8D\xE6\x00\xE2\x9B\xEA\x00\xF1\x9C\xAD\x8B\xEB\x00\xE2\x9B\xEF\x00\xF1\x9C\xB0\x8E\xF0\x00\xE2\x9B\xF4\x00\xF1\x9C\x00\x8E\xF5\x00\xE2\x9B\xF9\x00\x17\x9C\x0F\x66\x6D\x9A\x31\x09\xFA\x00\xC0\x9C\x05\x97\x28\x79\x0A\x99\x14\x5F\xE2\x9B\x01\x00\x49\x0B\x34\x64\x11\x9D\x03\x01\x2E\x85\x02\x00\x49\x0B\x31\x01\x06\x00\x1C\x9D\xBE\x70\xD0\x9C\x20\x64\x22\x9D\x78\x2D\x25\x9D\x4A\x0A\x1E\x9D\x02\x01\x9A\x85\x0C\x00\x29\x9D\x66\x08\x2B\x9D\xB4\x6E\x28\x99\xE7\x03\x11\x00\x31\x9D\x02\x2E\x33\x9D\x07\x1B\x2D\x9D\x01\x01\x6D\x8D\x16\x00\x38\x9D\xB6\x27\x3A\x9D\x75\x78\x0C\x9B\xE7\x03\x1B\x00\x40\x9D\xE1\x12\x42\x9D\x8B\x1D\x3C\x9D\x96\x8E\x11\x0A\x20\x00\x47\x9D\xFB\x14\x49\x9D\x88\x80\xE6\x9B\x59\x7E\x4F\x9D\xB0\x38\x51\x9D\x71\x8F\xDC\x98\xC0\x6B\x55\x9D\x2E\x00\x57\x9D\x13\x23\x4B\x9D\xEB\x8D\x2F\x00\x55\x9D\x33\x00\x5D\x9D\x6E\x28\x4B\x9D\xAD\x8B\x34\x00\x55\x9D\x38\x00", - "\x64\x9D\x99\x24\x4B\x9D\xB0\x8E\x39\x00\x55\x9D\x3D\x00\x6B\x9D\x26\x23\x4B\x9D\x00\x8E\x3E\x00\x55\x9D\x42\x00\x72\x9D\xAA\x63\x0C\x5C\x6E\x5B\x80\x98\x8B\x98\xE0\x72\xE7\x6A\x8E\x98\xD6\x72\xE7\x72\x0E\x66\x81\x9D\x1D\x88\x06\x9B\xB6\x66\x87\x24\x79\x9D\x69\x2A\x3B\x00\x73\x9B\x4C\x5C\x6B\x87\x44\x00\x8A\x9D\x7C\x2A\x3C\x00\x8D\x9D\x71\x9C\x90\x3C\x91\x9D\x87\x92\x94\x9D\x76\x9C\x76\x1B\x97\x9D\x6D\x3A\x99\x9D\x7B\x9C\x0E\x3E\x9C\x9D\xAC\x05\x9E\x9D\x80\x9C\x69\x09\xA1\x9D\xC3\x3A\xA3\x9D\x85\x9C\xD2\x0E\x49\x00\xA6\x9D\x93\x0B\xA8\x9D\x8C\x9C\x46\x40\xAC\x9D\x9F\x05\xAE\x9D\x91\x9C\x80\x40\xB1\x9D\x8D\x25\xB3\x9D\x80\x7D\x4C\x00\xB6\x9D\x2E\x0F\xB3\x9D\xA7\x87\x4D\x00\xBB\x9D\x45\x00\xB3\x9D\x8B\x7D\x4E\x00\xBB\x9D\x46\x00\xB3\x9D\x91\x7D\x4F\x00\xBB\x9D\x47\x00\xB3\x9D\x8A\x6B\x50\x00\xBB\x9D\x48\x00\xB3\x9D\x91\x6B\x51\x00\xBB\x9D\x49\x00\xB3\x9D\x97\x6B\x52\x00\x51\x9D\x53\x00\x49\x0B\x80\x01\x4A\x00\x73\x9B\x15\x66\xBD\x9C\xE0\x67\x49\x0B\xAA\x9B\x99\x24\xDF\x9D\xC4\x9C\x56\x05\x58\x00\x55\x9D\x5C\x00", - "\xBB\x9D\xE5\x9D\xCA\x9C\xA7\x06\x5D\x00\x55\x9D\x61\x00\xEB\x9D\x27\x9D\xFC\x21\x55\x9D\x66\x00\xF2\x9D\xD5\x9C\xE7\x03\x67\x00\x55\x9D\x6B\x00\xF7\x9D\xDB\x9C\x31\x09\x6C\x00\x55\x9D\x70\x00\xFD\x9D\xE1\x9C\x89\x6F\x55\x9D\x75\x00\x03\x9E\xE7\x9C\x0B\x68\x55\x9D\x7A\x00\x08\x9E\xED\x9C\x06\x7E\x55\x9D\x7F\x00\x0D\x9E\xF2\x9C\xE1\x0D\x80\x00\x55\x9D\x84\x00\x12\x9E\x39\x87\x85\x00\x55\x9D\x89\x00\x12\x9E\xEB\x8D\x8A\x00\x55\x9D\x8E\x00\x12\x9E\xAD\x8B\x8F\x00\x55\x9D\x93\x00\x12\x9E\xB0\x8E\x94\x00\x55\x9D\x98\x00\x12\x9E\x00\x8E\x99\x00\x55\x9D\x9D\x00\xBB\x9D\x56\x5C\x4C\x80\x4A\x8D\xBB\x9D\x4B\x00\x73\x9B\x32\x9E\x7C\x5E\xD2\x0E\x9F\x00\xBB\x9D\x4C\x00\x37\x9E\x95\x9D\x4B\x58\xBB\x9D\x4D\x00\x3E\x9E\x9A\x9D\x73\x20\xBB\x9D\x4E\x00\x43\x9E\x9F\x9D\xDD\x8E\xBB\x9D\x4F\x00\x48\x9E\xA4\x9D\x92\x78\xBB\x9D\x50\x00\x4D\x9E\xA9\x9D\x68\x81\xBB\x9D\x61\x95\x26\x65\x38\x9E\x79\x66\x27\x72\xBB\x9D\x52\x00\x52\x9E\x40\x6A\x23\x89\xBB\x9D\x53\x00\x5D\x9E\x71\x68\xE7\x03\xA7\x00\xBB\x9D\x54\x00\x62\x9E\xA7\x87\xA8\x00", - "\xBB\x9D\x55\x00\x62\x9E\x8B\x7D\xA9\x00\xBB\x9D\x56\x00\x62\x9E\x91\x7D\xAA\x00\xBB\x9D\x57\x00\x62\x9E\x8A\x6B\xAB\x00\xBB\x9D\x58\x00\x62\x9E\x91\x6B\xAC\x00\xBB\x9D\x59\x00\x62\x9E\x97\x6B\xAD\x00\x51\x9D\xAE\x00\xDB\x9D\x6D\x45\x73\x9B\x1B\x61\x1F\x85\xB0\x00\xBB\x9D\xF6\x70\x18\x9D\xE9\x65\x86\x9E\x77\x59\xBB\x9D\x1B\x61\x2E\x85\xB4\x00\x90\x9E\x1B\x5A\x92\x9E\xF3\x9D\x26\x5A\x96\x9E\x03\x01\xB9\x00\x98\x9E\xF8\x9D\x27\x02\xBA\x00\x9B\x9E\x2B\x7D\x9E\x9E\xFE\x9D\x46\x83\xA2\x9E\xFC\x65\xA4\x9E\x04\x9E\x11\x0A\xC0\x00\xA7\x9E\x86\x5A\xA9\x9E\x09\x9E\x31\x09\xC3\x00\xAD\x9E\xC5\x00\xAF\x9E\x0E\x9E\x31\x09\xC6\x00\xAD\x9E\xC8\x00\xB5\x9E\x13\x9E\x11\x0A\xC9\x00\xAD\x9E\xCB\x00\xBB\x9E\x39\x87\xCC\x00\xAD\x9E\xCE\x00\xBB\x9E\xEB\x8D\xCF\x00\xAD\x9E\xD1\x00\xBB\x9E\xAD\x8B\xD2\x00\xAD\x9E\xD4\x00\xBB\x9E\xB0\x8E\xD5\x00\xAD\x9E\xD7\x00\xBB\x9E\x00\x8E\xD8\x00\xAD\x9E\xDA\x00\xBB\x9D\x8A\x73\xF4\x8E\x4A\x7B\x9B\x5C\x5A\x5A\x00\x99\xC1\x9C\x7E\x7C\xF4\x65\x06\x98\x08\x99\x90\x6D\x90\x98\x7D\x9D\x8F\x98\x2B\x9C", - "\x56\x5A\xE0\x9E\x16\x9D\x99\x9A\x00\x9A\x93\x98\x00\x97\xF0\x68\xF8\x5A\xF0\x9E\x81\x98\x3C\x9C\x53\x9B\xF4\x9E\x7E\x9D\x4F\x74\x0B\x5C\x85\x9D\x07\x98\xEC\x9B\x7F\x9D\xE8\x9E\x82\x9D\x51\x8E\x2B\x01\x11\x5C\x00\x9F\x86\x9D\x57\x99\x8F\x7B\xFC\x9E\xE5\x9E\x98\x8D\x03\x01\x58\x9E\x85\x98\x0D\x98\x07\x1B\xD5\x7C\x8F\x72\x23\x88\x5B\x00\x73\x9B\xD5\x7C\x85\x07\xB4\x70\x5C\x00\x73\x9B\x2D\x66\xF9\x95\x55\x83\x49\x0B\xAB\x71\x5D\x00\x62\x95\x0F\x01\x1B\x9F\x9B\x6F\x11\x0A\xE8\x00\x1E\x9F\xE1\x06\x6A\x00\x21\x9F\x48\x6B\xCA\x8E\xF5\x00\x49\x0B\x4C\x78\x93\x95\x4F\x93\xD0\x8E\xE7\x03\x03\x00\x9F\x25\x04\x74\x85\x00\x30\x9F\x23\x9F\x16\x96\x11\x0A\x11\x00\x35\x9F\xE1\x06\x93\x00\x38\x9F\x7F\x92\x56\x05\x1F\x00\x3D\x9F\x4A\x0A\xA1\x00\x40\x9F\x86\x92\x85\x09\x9F\x25\x5F\x92\x2A\x9F\x03\x01\x39\x9F\x7F\x91\x86\x83\x44\x9F\xC7\x98\x47\x9F\x61\x88\xB9\x60\x51\x9F\x3B\x9D\x53\x9F\x78\x71\xE1\x0D\x56\x00\x56\x9F\x6C\x1C\xD8\x00\x58\x9F\x24\x7B\x20\x6E\x5C\x9F\x8B\x1D\xE6\x00\x5F\x9F\x84\x71\x31\x9C\x62\x9F\x51\x83\x65\x9F", - "\x24\x81\x30\x6E\x68\x9F\x36\x1E\x02\x00\x19\x96\x4E\x9F\xDB\x82\x8E\x00\x9F\x25\x56\x76\x10\x00\xE8\x95\x22\x9F\xF0\x7C\xFC\x97\x6D\x9F\x5B\x6E\x70\x9F\xA7\x89\x31\x09\xAB\x00\x7B\x9F\x62\x6E\x7D\x9F\xCB\x92\x11\x0A\xB9\x00\x4A\x9F\xE1\x06\x3B\x00\x25\x96\x2B\x9F\x6A\x96\xBA\x72\x87\x9F\xF3\x88\x8A\x9F\x4D\x9F\x66\x95\xEA\x68\x74\x9F\x7B\x71\x46\x0C\xD8\x16\x4E\x9F\x23\x81\xE2\x00\x94\x9F\xEB\x8A\x96\x9F\x31\x5D\xED\x99\x32\x9B\x81\x9F\x99\x24\x75\x00\x83\x9F\xEC\x92\xA2\x0F\xA1\x9F\x26\x23\x83\x00\xA4\x9F\xF3\x92\x56\x05\x0D\x00\xAC\x24\x56\x76\x91\x00\x77\x9F\x8B\x9F\x01\x9A\x31\x09\x1C\x00\xAC\x24\x04\x74\xA0\x00\xAA\x9F\x02\x93\x12\x99\xB6\x9F\xE1\x06\xAE\x00\xB9\x9F\x40\x84\x3D\x8E\xAE\x9F\x67\x92\x9D\x9F\x78\x9F\x16\x9A\x47\x00\xC2\x9F\x4A\x0A\xCC\x00\xC4\x9F\xB2\x9F\x96\x90\x31\x08\xC8\x9F\x15\x14\xDC\x00\xCB\x9F\x91\x9F\x1D\x9A\x65\x00\xCF\x9F\x07\x1B\xEC\x00\xD2\x9F\x54\x86\x24\x93\x4B\x7B\xD6\x9F\x6C\x1C\xFC\x00\xB1\x9F\xD3\x9F\x34\x9A\x72\x65\xDD\x9F\x89\x96\xB1\x96\x31\x9F\xC9\x96\x56\x05\x92\x00", - "\xBC\x9F\x4B\x58\xAC\x24\x53\x28\x96\x96\x4E\x9F\xB0\x8C\xA2\x00\xEB\x9F\x0C\x01\xB0\x00\xED\x9F\x92\x38\xEF\x9F\xB7\x8C\xA7\x06\xB2\x00\xF3\x9F\x03\x01\xC0\x00\xF6\x9F\x50\x28\xF8\x9F\xB4\x8F\x31\x7A\xFC\x9F\xA2\x85\xFF\x9F\x9A\x09\x01\xA0\xCD\x90\x73\x5C\x04\xA0\x01\x01\xE0\x00\x06\xA0\xF5\x43\x08\xA0\xCE\x8C\xE7\x03\xE2\x00\xE4\x9F\x00\x00\xF1\x00\x0E\xA0\x87\x14\xE6\x9F\x32\x66\xA6\x9B\xA7\x06\xF3\x00\xAC\x24\x5C\x8B\x1A\xA0\xAD\x9B\x15\x69\x17\xA0\x01\x01\xF6\x00\x1E\xA0\x76\x91\xF2\x90\x5F\x74\x23\xA0\x00\x00\xF9\x00\x26\xA0\x4A\x0A\x20\xA0\xF6\x8F\xD2\x0E\xFA\x00\x2A\xA0\xFC\x00\x2D\xA0\xE7\x7E\x25\x9C\x56\x05\xFD\x00\x2A\xA0\xFF\x00\x35\xA0\x07\x1B\x2F\xA0\xFB\x8C\xEC\x40\xE9\x6A\x54\x2A\x7C\x40\x34\x64\x2F\xA0\x6D\x8D\x03\x00\x7C\x40\xFF\x0C\x43\xA0\x27\xA0\x35\x99\xD2\x0E\x06\x00\x48\xA0\x84\x2D\x4A\xA0\x2E\xA0\x12\x9B\xA7\x06\x09\x00\x4F\xA0\x49\x2D\x51\xA0\x36\xA0\x81\x8D\xE1\x0D\x0C\x00\x56\xA0\x36\x07\x58\xA0\x3D\xA0\x59\x9D\xE7\x85\x5D\xA0\xF6\x05\x5F\xA0\xFE\x78\x25\x9B\xE5\x2D\x63\xA0\x72\x2D", - "\x65\xA0\x8B\x1D\x2F\xA0\xAD\x8B\x15\x00\x69\xA0\x52\x2E\x6B\xA0\xBE\x25\x2F\xA0\xB0\x8E\x18\x00\x70\xA0\x9B\x2F\x72\xA0\x36\x1E\x2F\xA0\x00\x8E\x1B\x00\x77\xA0\x1D\x00\x79\xA0\xD4\x83\x0F\x98\xF1\x98\x80\xA0\x06\x9F\x37\x5D\x8E\x9E\xE1\x12\x77\xA0\x21\x00\x84\xA0\x99\x24\x06\x60\x1F\x9D\xD2\x0E\x22\x00\x77\xA0\x24\x00\x8B\xA0\x26\x23\x8D\xA0\x02\x01\xF0\x9A\x25\x00\x77\xA0\x27\x00\x93\xA0\xAA\x63\x95\xA0\xD2\x5C\x89\x6E\x77\xA0\x2A\x00\x9B\xA0\x69\x2A\x9D\xA0\x00\x00\xFB\x8C\x2B\x00\x77\xA0\x2D\x00\xA2\xA0\x7C\x2A\xA4\xA0\x6D\x8D\x2E\x00\x77\xA0\x30\x00\xAA\xA0\x27\x02\xA4\xA0\xCF\x8D\x31\x00\x77\xA0\x33\x00\xB1\xA0\x53\x6B\x53\xA0\x56\x05\x34\x00\x77\xA0\x36\x00\xB8\xA0\x86\xA0\x5A\xA0\x11\x0A\x37\x00\x77\xA0\x39\x00\xBF\xA0\x3A\x5D\x61\xA0\x56\x05\x3A\x00\x77\xA0\x3C\x00\xC6\xA0\x03\x01\xA4\xA0\xEB\x8D\x3D\x00\x77\xA0\x3F\x00\xCD\xA0\x02\x01\xA4\xA0\xAD\x8B\x40\x00\x77\xA0\x42\x00\xD4\xA0\xFD\x8F\x31\x9B\x56\x05\x43\x00\x77\xA0\x45\x00\xDB\xA0\x41\x7A\x62\x99\x31\x09\x46\x00\x77\xA0\x48\x00\xE2\xA0\x01\x60", - "\xE0\x9D\x8B\x70\xE2\xA0\x36\x1E\xEA\xA0\xE6\x9D\xE7\x03\x4A\x00\x77\xA0\x4C\x00\xE9\xA0\x28\xA0\xB2\x41\x77\xA0\x4F\x00\xF5\xA0\x7B\x8E\x31\x09\x50\x00\x77\xA0\x52\x00\xFA\xA0\x80\x8E\xE1\x0D\x53\x00\x77\xA0\x55\x00\x00\xA1\x86\x8E\x5A\x9F\x77\xA0\x58\x00\x06\xA1\x8B\x8E\x91\x74\x77\xA0\x5B\x00\x0B\xA1\x91\x8E\x11\x0A\x5C\x00\x77\xA0\x5E\x00\x10\xA1\x4C\x9D\x31\x09\x5F\x00\x77\xA0\x61\x00\x16\xA1\x19\x8D\x62\x00\x77\xA0\x64\x00\x16\xA1\x39\x87\x65\x00\x77\xA0\x67\x00\x16\xA1\xEB\x8D\x68\x00\x77\xA0\x6A\x00\x16\xA1\xAD\x8B\x6B\x00\x77\xA0\x6D\x00\x16\xA1\xB0\x8E\x6E\x00\x77\xA0\x70\x00\x16\xA1\x00\x8E\x71\x00\x77\xA0\x73\x00\xE2\xA0\x48\x5D\x12\x9D\xE5\x6B\xED\xA0\x13\x23\x3B\xA1\x73\x9A\xE7\x03\x75\x00\x77\xA0\x77\x00\x3A\xA1\xF6\xA0\xC6\x51\x77\xA0\x7A\x00\x46\xA1\xFB\xA0\x15\x92\x77\xA0\x7D\x00\x4B\xA1\x01\xA1\xAE\x93\x77\xA0\x80\x00\x50\xA1\x07\xA1\x11\x0A\x81\x00\x77\xA0\x83\x00\x55\xA1\x0C\xA1\x31\x09\x84\x00\x77\xA0\x86\x00\x5B\xA1\x11\xA1\x8C\x7F\x77\xA0\x89\x00\x61\xA1\x17\xA1\xA2\x9A\x77\xA0\x8C\x00", - "\x66\xA1\x19\x8D\x8D\x00\x77\xA0\x8F\x00\x66\xA1\x39\x87\x90\x00\x77\xA0\x92\x00\x66\xA1\xEB\x8D\x93\x00\x77\xA0\x95\x00\x66\xA1\xAD\x8B\x96\x00\x77\xA0\x98\x00\x66\xA1\xB0\x8E\x99\x00\x77\xA0\x9B\x00\x66\xA1\x00\x8E\x9C\x00\x77\xA0\x9E\x00\xE2\xA0\x35\x66\x02\x01\x40\xA1\x0E\x9F\xB4\x70\x12\x95\x9F\x6B\x3A\x9E\x7C\x40\xAB\x71\x6F\x00\x6C\x96\xBB\x76\xDE\x8F\x73\x94\x92\xA1\x47\x96\x95\xA1\x6C\x6B\xCA\x8E\xB9\x00\x7C\x40\x04\x74\x89\x00\x96\x96\x8F\xA1\x3C\x78\xC7\x00\x9F\xA1\xE1\x06\x97\x00\xA2\xA1\xD7\x8E\xD5\x00\xA6\xA1\x48\x7F\xA9\xA1\xF5\x8F\xE3\x00\xAC\xA1\x15\x14\xB3\x00\xAE\xA1\x79\x91\xF1\x00\x99\xA1\x4A\x0A\xC1\x00\x9B\xA1\x03\x01\x8F\xA1\x00\x8C\x00\x00\xFE\x00\xB1\xA1\x07\x1B\xCE\x00\xB4\xA1\x9D\x99\xAA\x04\x05\x41\x04\x74\xDC\x00\xC3\xA1\xA2\x99\x63\x2F\xC6\xA1\x63\x7E\xC9\xA1\xA8\x99\xA7\x38\xCC\xA1\x4A\x0A\xF8\x00\xCE\xA1\xAE\x99\xEE\x7A\xD1\xA1\x15\x14\x06\x00\x24\x97\x8F\xA1\x8F\x79\x44\x00\xD7\xA1\x11\x60\xDA\xA1\xB6\x92\x3A\x8C\x05\x41\x56\x76\x22\x00\xF7\x96\xBB\xA1\x79\x9F\x64\x75\xDE\xA1", - "\x6C\x1C\x31\x00\xE0\xA1\x7D\x52\xFB\x64\xEA\xA1\x8B\x1D\x3F\x00\xED\xA1\x9D\x5D\xD2\x0E\x7D\x00\x05\x41\xAB\x71\x4D\x00\x30\x97\x9C\xA1\x8C\x9F\x56\x05\x8A\x00\xF7\xA1\xE1\x06\x5A\x00\xFA\xA1\xE7\xA1\x71\x96\x27\x02\x97\x00\xE3\xA1\xB0\x77\xAE\x09\xD8\x16\x8F\xA1\x23\x81\xA6\x00\x07\xA2\x7B\x7C\x09\xA2\x41\x9F\xA9\x6E\xE1\x0D\xB5\x00\xF0\xA1\xBE\x25\x87\x00\xF3\xA1\xA4\x54\xE1\x0D\xC3\x00\x15\xA2\x36\x1E\x95\x00\x18\xA2\xB0\x3F\x3C\x77\x0E\xA2\x15\x14\x10\x97\xBE\x2E\x8F\xA1\xC6\x78\xE0\x00\x1C\xA2\x13\x23\xB2\x00\x1F\xA2\xBC\x4C\xD2\x0E\xEE\x00\x29\xA2\xC3\x9A\x2C\xA2\xEC\x43\xB4\x61\xFC\x00\x22\xA2\xC1\xA1\x10\xA2\xBB\x76\x0F\x9A\x88\x2D\x7C\x41\x56\x76\xDE\x00\x38\xA2\xFB\xA1\xA9\x95\xE2\x29\x3C\xA2\xF4\x91\x3F\xA2\x03\xA2\x41\xA2\xB9\x38\x43\xA2\x4A\x0A\xFE\x00\x45\xA2\xDF\x8E\x0B\x7A\xFE\x85\x49\xA2\xD9\x71\xA9\x97\x4D\xA2\xE2\x9F\x59\x3E\x50\xA2\x4F\x69\x52\xA2\x01\x01\x8F\xA1\x33\x93\x5C\x04\x7C\x41\x74\x16\x64\x00\x7C\x41\x80\x01\x2C\x00\x8A\x97\x8F\xA1\xB0\x8C\x66\x00\x5D\xA2\x8B\x2B\x60\xA2\x4C\x3A", - "\x63\xA2\xF9\x9F\x56\x05\x76\x00\x67\xA2\x9E\x52\x69\xA2\x69\x09\x6B\xA2\x02\xA0\x8E\x79\x6F\xA2\xD1\x60\x71\xA2\x31\x08\x73\xA2\x09\xA0\xFC\x85\x76\xA2\xCD\x58\x78\xA2\x5A\x07\x7A\xA2\x11\xA0\x84\x6C\x56\xA2\x02\x01\xB5\x00\x7F\xA2\x23\x4E\x58\xA2\x00\x00\x53\x5D\x69\x99\xA7\x06\xB7\x00\x7C\x41\x5C\x8B\x8B\xA2\x71\x99\xB5\x76\x8F\xA2\x23\x88\x91\xA2\x46\x89\xCB\x9C\x87\xA2\x8B\x1D\x73\x97\x26\x65\x96\xA2\x4D\x89\x83\x72\x99\xA2\xBE\x25\x82\x00\x54\x0B\x95\x04\x9D\xA2\x85\x88\xA1\x78\xA0\xA2\x36\x1E\x83\x00\xA3\xA2\x52\x5D\x11\xA2\x98\x72\xA8\xA2\x13\x23\x84\x00\xAB\xA2\x26\x9B\x23\x96\x27\x02\xC1\x00\x94\xA2\xC1\x9C\xA5\xA2\xBD\xA1\xC2\x00\xAF\xA2\x6E\x28\x85\x00\xB2\xA2\x0C\x01\xA5\xA2\x0C\x90\x00\x5B\xBC\xA2\x99\x24\x86\x00\xBF\xA2\x72\x6B\xAD\x93\xB7\x9E\xC4\xA2\x26\x23\x87\x00\xC7\xA2\x02\x01\xA5\xA2\xA2\x92\x76\x63\xCB\xA2\x39\x6C\xCE\xA2\x4E\x5D\x9A\x91\x4B\x94\xD3\xA2\x69\x2A\x89\x00\xD5\xA2\x8A\xA2\x1A\x8F\x0D\x5C\xD9\xA2\x7C\x2A\x8A\x00\xDC\xA2\xA5\xA2\xDB\x82\xCE\x00\x7C\x41\x81\x94\x8B\x00\x54\x0B", - "\x24\x8B\xE8\xA1\x31\x09\xD1\x00\xE0\xA2\xAA\x65\xE3\xA2\x7E\x9F\xA7\x06\xD3\x00\xEF\xA2\x11\x62\xF1\xA2\x84\x9F\x31\x09\xD5\x00\xB7\xA2\xED\x9E\xA5\xA2\xD2\x92\xFB\xA2\x7C\x94\xCF\xA2\x92\x9F\x19\x5D\xE7\xA2\x94\x6E\x54\x0B\xA7\x04\xA5\xA2\x23\x81\xDA\x00\x04\xA3\x4A\x0A\x92\x00\x06\xA3\xAC\xA2\x9F\x9F\x56\x05\xDD\x00\xF5\xA2\x75\x6D\xF7\xA2\xA5\x9F\xA7\x06\xDF\x00\x13\xA3\x67\x88\x15\xA3\xAB\x9F\xCA\x76\x0B\xA3\x15\x14\x97\x00\xEA\xA2\x0F\xA3\xB3\x9F\xA7\x06\xE4\x00\x19\xA3\x28\x6F\x1B\xA3\xBA\x9F\xE7\x03\xE6\x00\x26\xA3\x6A\x56\x28\xA3\xC0\x9F\x31\x09\xE8\x00\x1E\xA3\x07\x1B\x9B\x00\x0E\xA3\xB3\xA2\x16\x9A\xEB\x00\x32\xA3\x6C\x1C\x9E\x00\x35\xA3\xC0\xA2\x24\x9A\x95\x5D\x39\xA3\x8B\x1D\xA1\x00\x3C\xA3\xC8\xA2\x1D\x9A\xF1\x00\x40\xA3\xA4\x89\x43\xA3\x01\xA3\x4E\xA2\x37\x73\x47\xA3\x36\x1E\xA7\x00\x21\xA3\x36\xA3\x54\xA2\xB1\x5E\x4D\xA3\x13\x23\xA9\x00\x50\xA3\x3D\xA3\xE8\x9F\xE7\x03\xFA\x00\xA0\xA2\xFC\x00\xA0\xA2\xAB\x00\x2E\xA3\x5E\x8E\xEC\x83\xA0\xA2\x6F\x42\xF2\x2C\x07\x59\x60\xA3\xD2\x86\xEA\x2C\xFD\x41", - "\x7A\x7A\x6A\xA3\x09\x59\x60\xA3\x36\x92\x2C\x2D\x6C\xA3\xA2\x2D\x71\xA3\x0C\x01\xAE\x00\x60\xA3\x3D\x8A\x86\x2D\x73\xA3\x23\x03\x79\xA3\x4C\x95\x60\xA3\xC4\x8F\x36\x07\xFD\x41\xA7\x04\x11\x00\x7B\xA3\xED\x95\x57\xA3\x1C\x9F\x6E\x93\xC2\x99\xFD\x41\x34\x64\xB2\x00\xDC\xA2\x36\x71\x97\xA1\x14\x00\x89\xA3\xE1\x06\xB3\x00\x8C\xA3\xCA\x8E\x15\x00\x83\xA3\xBE\x25\xB4\x00\x85\xA3\x4F\x91\xB4\x74\xAC\x7A\x96\xA3\xC3\x6B\x99\xA3\x5B\x92\xF6\x88\xE1\x0D\x19\x00\x9D\xA3\x13\x23\xB8\x00\x9F\xA3\x90\xA1\xF5\x8F\x1B\x00\xA4\xA3\x6E\x28\x90\x97\x4C\x80\x36\x71\x19\x95\xC3\x66\x90\xA3\xAC\x6E\x93\xA3\x20\x95\x0A\x32\xAB\xA3\xFD\x98\xA7\xA3\x36\x71\xC2\xA2\xE2\x17\xB7\xA3\x26\x23\xBF\x00\xB9\xA3\xC9\xA2\xA7\x06\x22\x00\xBD\xA3\xD8\x9A\xC0\xA3\xB4\x93\x58\x78\xC4\xA3\x69\x2A\xC3\x00\xC6\xA3\xBB\x93\x11\x0A\x26\x00\xC9\xA3\xDE\x9B\xCC\xA3\xC2\x93\x31\x09\x28\x00\xD0\xA3\x5F\x7D\xD2\xA3\xC9\x93\xF5\x85\x80\xA3\xE1\x06\xC9\x00\x49\xA3\xA0\xA3\x05\x7D\x23\x87\xD6\xA3\x0D\x5C\xD8\xA3\xD6\x93\xE1\x0D\x2F\x00\xE2\xA3\x31\x8A\xE4\xA3", - "\xDC\x93\x46\x60\xB2\xA3\x15\x14\xD0\x00\xB4\xA3\x71\x97\xA7\x06\x32\x00\xED\xA3\x07\x1B\xD1\x00\xF0\xA3\xCB\x91\x31\x09\x33\x00\xDB\xA3\x4A\x0A\xD2\x00\x54\x0B\x31\x01\x36\x71\x23\x81\x36\x00\xFB\xA3\x04\x6D\xFE\xA3\xEE\x94\x0D\x73\xBC\x67\xE8\xA3\x4F\x74\xEA\xA3\x16\x83\x3B\x00\x09\xA4\x03\x01\xDC\x00\xEA\xA3\x83\x95\x3D\x00\x03\xA4\x07\x1B\xDE\x00\xDE\xA3\xA8\xA3\x23\xA3\x56\x05\x40\x00\x0E\xA4\x02\x01\xE1\x00\xEA\xA3\x6E\x8F\x42\x00\x1C\xA4\x01\x01\xE3\x00\xEA\xA3\x3A\xA2\xD5\x02\x14\xA4\x6C\x1C\xE5\x00\x05\xA4\x87\xA3\xBF\x80\x60\x8E\x28\xA4\x8B\x1D\xE9\x00\x2B\xA4\x8C\xA2\xB5\x97\xC6\x60\x2F\xA4\xBE\x25\xED\x00\x32\xA4\x86\xA3\x47\xA2\xB2\x41\x36\xA4\x36\x1E\xF1\x00\x39\xA4\x9A\xA3\xB0\x95\xA7\x06\x50\x00\x3D\xA4\x13\x23\xF5\x00\x17\xA4\x36\x71\x9F\x8C\x53\x00\x45\xA4\x0F\x90\x48\xA4\xD3\x97\x5C\x04\x96\xA3\x58\x00\x96\xA3\xFB\x00\xEA\xA3\xB0\x8C\x5A\x00\x96\xA3\x5C\x00\x96\xA3\xFD\x00\xEA\xA3\x68\xA3\x1F\x46\x96\xA3\x60\x00\x9D\xA3\xEA\xA3\x6F\xA3\xCE\x03\x96\xA3\x64\x00\x96\xA3\x01\x00\xA1\x98\x36\x71", - "\x77\xA3\xE4\x48\x96\xA3\x68\x00\x96\xA3\x03\x00\x69\xA4\x45\x8A\x56\x05\x6A\x00\x36\xA4\x6D\x00\x96\xA3\x05\x00\x12\x98\x2C\x61\x54\x5D\xFB\x64\x4C\xA4\xFD\x9E\x64\x92\x3A\xA4\x28\x6E\xF4\xA3\x6C\x1C\x08\x00\x50\x98\xA8\x6B\x97\xA1\x73\x00\x82\xA4\xB6\x65\x85\xA4\xCA\x8E\x74\x00\x22\xA4\x57\x2E\xA1\x98\xA8\x6B\x3C\x78\x76\x00\x8E\xA4\x0C\x00\x90\xA4\xD7\x8E\x78\x00\x8E\xA4\x0E\x00\x96\xA4\xF5\x8F\x7A\x00\x8E\xA4\x10\x00\x9B\xA4\x79\x91\x7C\x00\x89\xA4\x55\x64\x8B\xA4\xB5\xA3\x16\x6F\x8E\xA4\x13\x00\xA0\xA4\xC4\xA1\xC9\x51\x8E\xA4\x15\x00\xAA\xA4\xCA\xA1\x40\x52\x8E\xA4\x17\x00\xAF\xA4\xCF\xA1\x1F\x68\x8E\xA4\x19\x00\xB4\xA4\xD5\xA1\x09\x53\x8E\xA4\x1B\x00\xB9\xA4\x8F\x79\x87\x00\x8E\xA4\x1D\x00\xB9\xA4\xDB\x82\x89\x00\x7D\xA4\x85\x69\x79\xA4\x0E\x97\xF3\x83\x11\x0A\x8C\x00\x8E\xA4\x22\x00\xB9\xA4\xA5\x79\x8E\x00\x8E\xA4\x24\x00\xB9\xA4\xB3\x8A\x90\x00\xA3\xA4\x36\x1E\x26\x00\xA5\xA4\xF1\xA3\x56\x05\x91\x00\xD7\xA4\x13\x23\x27\x00\xDA\xA4\xF8\xA3\xA7\x06\x92\x00\xC6\xA4\xAA\x63\x28\x00\x4E\x98\xA8\x6B\x23\x81", - "\x95\x00\xE5\xA4\x9F\x66\xE8\xA4\x80\x96\x71\x1F\x8E\xA4\x30\x00\xB9\xA4\x16\x83\x9A\x00\x8E\xA4\x32\x00\xB9\xA4\x83\x95\x9C\x00\xEC\xA4\x7C\x2A\x34\x00\xC8\xA4\xE6\x85\x25\x76\x11\x0A\x9F\x00\x8E\xA4\x37\x00\xB9\xA4\x6E\x8F\xA1\x00\x8E\xA4\x39\x00\xB9\xA4\x26\xA4\x00\x00\xA3\x00\xFB\xA4\xE1\x6C\xEE\xA4\x16\x9A\xA6\x00\x0E\xA5\x48\x04\x10\xA5\x3B\xA4\x8B\x68\x13\xA5\x85\x24\x15\xA5\xCD\x9F\x03\x01\xAC\x00\x18\xA5\x1F\x3E\x1A\xA5\x48\x73\x0D\x59\x1E\xA5\xE3\x40\xFE\xA4\x92\xA2\xCB\x97\xFA\x9F\x23\xA5\x61\x42\x25\xA5\x24\x9F\xA6\x8C\xBF\x6A\x96\xA3\xB7\x00\x96\xA3\x51\x00\xB9\xA4\xB0\x8C\xB9\x00\x96\xA3\xBB\x00\x96\xA3\x53\x00\xB9\xA4\x5D\xA4\x4A\x5A\x96\xA3\xBF\x00\x96\xA3\x55\x00\xB9\xA4\x63\xA4\x7D\x5A\x96\xA3\xC3\x00\x96\xA3\x57\x00\xB9\xA4\x6B\xA4\x06\x9C\x96\xA3\xC7\x00\x96\xA3\x59\x00\xB9\xA4\x7E\xA3\x39\x98\x36\xA4\xCC\x00\x96\xA3\xD7\x97\xE8\x67\x78\x5D\x57\x5D\xD2\x0E\xCE\x00\x29\xA5\x8B\x1D\xE1\x6B\x80\xA4\xFE\x72\xDE\xA4\xF4\x72\x50\x98\x5D\xA5\x2C\xA5\x4C\x93\x60\xA5\x99\x24\x5F\x00\x62\xA5\xCA\x8E", - "\xD3\x00\x8E\xA4\x60\x00\xA1\x98\x63\xA5\x9E\xA2\xD8\x5C\x8E\xA4\x62\x00\x6E\xA5\xD7\x8E\xD7\x00\x8E\xA4\x64\x00\x74\xA5\xF5\x8F\xD9\x00\x8E\xA4\x66\x00\x79\xA5\x79\x91\xDB\x00\x66\xA5\x26\x23\x68\x00\x69\xA5\xA6\xA4\x51\x8E\x8E\xA4\x69\x00\x7E\xA5\xAB\xA4\xDE\x00\x8E\xA4\x6B\x00\x89\xA5\xB0\xA4\x54\x86\x8E\xA4\xE6\x97\x4C\x80\x6F\xA5\x34\x7B\x7B\x8D\x8E\xA4\x6F\x00\x8E\xA5\x66\x9F\xE1\x0D\xE4\x00\x8E\xA4\x71\x00\x99\xA5\x6B\x9F\xE1\x0D\xE6\x00\x8E\xA4\x73\x00\x9F\xA5\xDB\x82\xE8\x00\x5B\xA5\x10\x50\x2B\xA5\x01\x01\x94\xA5\x20\x7F\xEB\x00\x8E\xA4\x78\x00\x9F\xA5\xA5\x79\xED\x00\x8E\xA4\x7A\x00\x9F\xA5\xB3\x8A\xEF\x00\x81\xA5\xAA\x63\x7C\x00\x84\xA5\xDB\xA4\xE7\x03\xF0\x00\xB9\xA5\x69\x2A\x7D\x00\xBC\xA5\xE2\xA4\x56\x05\xF1\x00\xA8\xA5\x7E\x00\x4E\x98\x94\xA5\x23\x81\xF4\x00\xA8\xA5\x82\x00\xC9\xA5\xEF\xA4\xDD\x86\x8E\xA4\x86\x00\x9F\xA5\x16\x83\xF9\x00\x8E\xA4\x88\x00\x9F\xA5\x83\x95\xFB\x00\xA8\xA5\x8A\x00\xAA\xA5\x98\x6B\xEA\x91\x10\x79\x8E\xA4\xF5\x97\x93\xA5\xA1\x97\x29\x60\x4C\x80\x30\x87\x9F\xA5\x0B\xA5", - "\x02\x00\xE5\x1C\x81\x94\x91\x00\xCF\xA5\x16\x9A\x05\x00\xEC\xA5\x40\x7F\xEF\xA5\x16\xA5\x04\x2E\xF2\xA5\x4A\x0A\x99\x00\xF4\xA5\x1B\xA5\x88\x2D\xF7\xA5\x82\x7B\xFA\xA5\x21\xA5\x36\x07\xFD\xA5\x07\x1B\xA1\x00\xDE\xA5\x94\xA5\x9F\x8C\x11\x00\x02\xA6\x6C\x1C\xA4\x00\x05\xA6\x4F\xA4\x1F\x2E\xE5\x1C\x3B\x7C\x0F\xA6\x28\x5A\x9F\xA5\xB0\x8C\x18\x00\x11\xA6\xE2\x29\x16\xA6\xD0\x92\x9F\xA5\x3B\xA5\xDC\x66\x18\xA6\xBF\x32\x1D\xA6\x97\x68\x9F\xA5\x42\xA5\xD2\x33\x1F\xA6\xCB\x10\x24\xA6\xA6\x79\x9F\xA5\x49\xA5\xFB\x14\x26\xA6\x26\x00\x26\xA6\xAF\x00\x9F\xA5\x50\xA5\xA7\x38\x09\xA6\x98\x2B\x26\xA6\x18\x98\xE8\x67\x96\x5D\x00\x00\x58\x5D\x1A\x99\x32\xA6\xF9\x9E\x52\x86\x7C\x5D\x09\x9F\x87\x98\x3D\x8F\xD6\x64\x30\x00\xE5\x1C\x34\x64\xB4\x00\x50\x98\xAF\x5D\x6B\x87\x31\x00\x44\xA6\x25\x98\x47\xA6\x3F\x9E\x87\x59\x4B\xA6\x4A\x0A\x21\x98\x26\x65\xAF\x5D\x2F\x67\xCF\x0A\x50\xA6\x15\x14\xB7\x00\x4D\xA6\xEE\x64\x77\x62\x57\xA6\x92\x7B\x5A\xA6\x2F\x6A\xA3\x5C\x5D\xA6\x62\x97\x5F\xA6\x35\x6A\x5C\x60\x62\xA6\x8B\x1D\xBA\x00\x64\xA6", - "\x3B\x6A\xF7\x5C\x67\xA6\xBE\x25\xBB\x00\x6A\xA6\x5E\x9E\xFA\x5C\x6D\xA6\xE8\x98\x70\xA6\x63\x9E\x68\x60\x73\xA6\x13\x23\xBD\x00\x75\xA6\xA7\x87\x3A\x00\x78\xA6\x6E\x28\xBE\x00\x75\xA6\x8B\x7D\x3B\x00\x7E\xA6\x99\x24\x2B\x98\x53\xA6\x35\x7D\x76\x02\x84\xA6\xD1\x9A\x75\xA6\x8A\x6B\x3D\x00\x8A\xA6\xD8\x9A\x75\xA6\x91\x6B\x3E\x00\x8F\xA6\xE7\x9A\x75\xA6\x97\x6B\x3F\x00\x6D\xA6\x40\x00\x26\xA6\xC3\x00\x50\x98\x38\x61\xDF\xA3\xA7\x06\x42\x00\x94\xA6\x7C\x2A\xC4\x00\x9D\xA6\x01\x96\xEA\x18\xA2\xA6\x54\x7D\xA5\xA6\x9E\x83\x56\x05\x44\x00\x26\xA6\x10\x8C\xA1\x98\x9E\xA6\x04\x95\x01\x6E\xAE\xA6\x13\x23\xC8\x00\xB0\xA6\xD7\x8E\x48\x00\xB4\xA6\x65\x9D\xB7\xA6\xF5\x8F\x4A\x00\xBA\xA6\x99\x24\xCC\x00\xBC\xA6\x79\x91\x4C\x00\xA8\xA6\x42\x5C\xAA\xA6\x07\x53\xD2\x0E\x4D\x00\xBF\xA6\x26\x23\x46\x98\x4C\x80\xB1\xA6\xBB\xA3\x01\x01\x4F\x00\xCB\xA6\xAA\x63\xD1\x00\xC2\xA6\x59\x9F\xE9\x60\xD3\xA6\x69\x2A\xD3\x00\xD6\xA6\x60\x9F\xA7\x06\x53\x00\xD9\xA6\x7C\x2A\xD5\x00\xDC\xA6\x9A\xA5\x44\x75\xE0\xA6\x27\x02\xD7\x00\xE3\xA6\xA0\xA5", - "\x11\x0A\x57\x00\xE6\xA6\x1F\x5D\xE9\xA6\xDB\x82\x59\x00\x3B\xA6\x36\x1E\xDB\x00\xDE\xA5\xB1\xA6\x20\x7F\x5C\x00\xED\xA6\x0F\x01\xDE\x00\xE9\xA6\xA5\x79\x5E\x00\xF9\xA6\x48\x6B\xE9\xA6\xB3\x8A\x60\x00\xC5\xA6\x37\x5D\xC7\xA6\xE2\x93\x64\x75\x04\xA7\x0C\x01\x61\x98\x26\x65\xB1\xA6\x23\x81\x62\x00\xF2\xA6\x3F\xA1\x6F\x98\x02\xA3\x88\x48\x10\xA7\x6E\x28\xE8\x00\x12\xA7\x10\xA3\xE7\x03\x68\x00\xFF\xA6\xD9\x74\xE9\xA6\x16\x83\x6A\x00\x1C\xA7\x91\x5D\xE9\xA6\x83\x95\x6C\x00\x15\xA7\x99\x24\xF0\x00\xF5\xA6\xE0\xA5\x1B\x4C\x21\xA7\x05\x8F\xE9\xA6\x6E\x8F\x71\x00\x2C\xA7\x00\x00\xF5\x00\xE9\xA6\x0B\xA5\x73\x00\x26\xA7\x26\x23\xF7\x00\x18\xA7\xF7\x91\xB7\x50\x37\xA7\xAA\x63\xFB\x00\x3A\xA7\xFB\xA5\x3C\x51\x3D\xA7\xFA\x6A\x40\xA7\xBC\x97\xE1\x0D\x7C\x00\x43\xA7\x7C\x2A\xB5\x98\x95\x08\xB1\xA6\x2C\x9A\x6A\x52\x49\xA7\x20\x64\x7E\x0B\xA7\x04\xB1\xA6\x9F\x8C\x82\x00\x50\xA7\x57\x2D\x52\xA7\x4C\x66\x59\xA3\x27\x02\x85\x00\x26\xA6\x87\x00\x26\xA6\x0D\x00\xDE\x98\xB1\xA6\xB0\x8C\x89\x00\x26\xA6\x8B\x00\x26\xA6\x0F\x00\x62\xA7", - "\x6C\xA2\xE7\x03\x8D\x00\x26\xA6\x8F\x00\x26\xA6\x11\x00\x6A\xA7\x74\xA2\xAF\x6E\x26\xA6\x93\x00\x26\xA6\x13\x00\x72\xA7\x7B\xA2\x0F\x76\x26\xA6\x97\x00\x26\xA6\x15\x00\x79\xA7\x82\xA2\xCF\x55\x3B\xA6\x9C\x00\x26\xA6\x17\x00\x59\xA7\x1C\x5E\xFA\x96\xD2\x0E\x9E\x00\x57\xA7\x4A\x0A\x3F\x6E\x26\x88\xA1\x00\x09\xA7\xB6\x27\xE0\x98\x3F\x6E\x97\xA1\xA2\x00\x91\xA7\x90\x28\x93\xA7\xCA\x8E\xA3\x00\x31\xA7\x1C\x00\xDE\x98\x3F\x6E\x3C\x78\xA5\x00\x31\xA7\xF2\x98\x4C\x80\x3F\x6E\xFD\x85\x28\x5A\x31\xA7\xF4\x98\xA4\xA7\xAD\xA2\xFC\x58\x31\xA7\x22\x00\x9E\xA7\xB4\xA2\x05\x59\x97\xA7\xFB\x14\x99\xA7\x85\xA5\x1C\xA5\x31\xA7\x25\x00\xAF\xA7\x31\x96\xC0\x82\x31\xA7\x27\x00\xB9\xA7\x38\x96\x11\x0A\xB0\x00\x31\xA7\x0D\x99\xAA\xA7\xC7\xA3\x65\x59\x31\xA7\x2B\x00\xBE\xA7\x39\x95\x11\x0A\xB4\x00\x31\xA7\x1B\x99\xC4\xA7\x12\x7F\xD7\x6E\x31\xA7\x1D\x99\xCF\xA7\x18\x7F\x56\x05\xB8\x00\x8C\xA7\x7C\x5E\x87\xA7\x85\x7B\x20\x7F\xBB\x00\x31\xA7\x34\x00\xC9\xA7\x27\x7F\x11\x0A\xBD\x00\x31\xA7\x30\x99\xD4\xA7\x21\x7E\xD2\x0E\xBF\x00\xB2\xA7", - "\x00\x00\x32\x99\x26\x65\x3F\x6E\x09\x84\xC0\x00\xEA\xA7\x37\x99\xED\xA7\x13\xA7\x71\x5A\xD8\xA7\xC7\x5C\x7E\x0B\x31\x01\x3F\x6E\x23\x81\xC4\x00\xF6\xA7\xB7\x3A\xF8\xA7\x23\x96\x77\x95\x4C\x5B\x31\xA7\x4B\x99\xE6\xA7\x46\x7E\x31\x09\xC9\x00\x31\xA7\x4D\x99\x05\xA8\x4C\x7E\x31\x09\xCB\x00\xFD\xA7\x76\x1B\xDA\xA7\x99\x93\x9C\x97\xE1\x0D\xCE\x00\x31\xA7\x49\x00\xE0\xA7\x2D\xA2\xE1\x0D\xD0\x00\x31\xA7\x5E\x99\x0B\xA8\x0B\xA5\xD2\x00\x0F\xA8\x00\x00\x60\x99\x95\x08\x3F\x6E\x0B\xA5\xD5\x00\x21\xA8\x51\x00\xFF\xA7\xED\x8E\xE9\x88\xAE\x85\x21\xA8\x55\x00\x2A\xA8\x85\x7B\x2C\xA8\x48\x9C\x21\xA8\x59\x00\x30\xA8\x12\xA8\x00\xA6\x00\x9C\x21\xA8\x5D\x00\x11\xA8\x0C\x86\x2C\x93\x2D\x95\x21\xA8\x60\x00\x3C\xA8\x05\x8F\x0D\xA6\xE4\x00\x26\xA6\xE6\x00\x26\xA6\x63\x00\x18\xA8\x61\xA3\x25\x9F\x26\xA6\xEA\x00\x26\xA6\x65\x00\x4A\xA8\x1B\xA6\x92\x6B\x26\xA6\xEE\x00\x26\xA6\x67\x00\x4A\xA8\x22\xA6\xF0\x00\x26\xA6\xF2\x00\x26\xA6\x69\x00\x4A\xA8\x29\xA6\x00\x00\xF4\x00\x26\xA6\xF6\x00\x26\xA6\x79\x99\x0B\xA8\x30\xA6\x5B\x7A\x3B\xA6", - "\xFB\x00\x26\xA6\x6D\x00\x42\xA8\x61\xA8\x2B\x01\x39\xA6\x31\x09\xFD\x00\x21\xA8\x36\x1E\x88\x5E\x71\xA8\xFC\xA0\xC7\x6A\x13\x23\xBF\x5E\x5E\xA5\x56\x05\x01\x00\x01\x43\x57\x64\x9E\x74\xE0\x98\x7B\xA8\x64\xA5\x56\x05\x03\x00\x7F\xA8\x49\x8F\x82\xA8\xCA\x8E\x05\x00\x01\x43\x81\x94\x72\x00\xDE\x98\x83\xA8\x70\xA5\xA2\x2D\x8C\xA8\x85\x6E\x8F\xA8\xD7\x8E\x0B\x00\x93\xA8\x2D\x7E\x95\xA8\xF5\x8F\x0E\x00\x98\xA8\x15\x14\x78\x00\x9A\xA8\x79\x91\x11\x00\x87\xA8\xFD\x6F\x89\xA8\xB5\xA7\x2F\x06\x9D\xA8\x07\x1B\x7B\x00\xA0\xA8\xAB\xA4\x16\x00\xA8\xA8\x60\x8C\xAB\xA8\x8F\xA5\xAF\x14\xAE\xA8\x8B\x1D\x7F\x00\xB0\xA8\xB5\xA4\x1A\x69\xB3\xA8\xBE\x25\x81\x00\xB6\xA8\xBA\xA4\xE1\x12\xB9\xA8\xA9\xA2\xBC\xA8\x8F\x79\x22\x00\xBF\xA8\x13\x23\x85\x00\xBC\xA8\xDB\x82\x25\x00\x01\x43\x5D\x01\x8B\x65\x6E\xA8\x90\xA8\xCA\xA4\x77\x70\xC4\xA8\xFE\x84\xBC\xA8\xA5\x79\x2C\x00\xD1\xA8\x99\x24\x8C\x00\xBC\xA8\xCE\x99\xA3\xA8\x4F\x97\xA5\xA8\xBD\xA5\x27\x02\x31\x00\xDB\xA8\xAA\x83\xDD\xA8\xC4\xA5\xE7\x03\x33\x00\xCA\xA8\xE1\x06\x90\x00\x36\xA8", - "\x02\x01\xCE\xA8\x23\x81\x37\x00\xE7\xA8\x4A\x0A\x94\x00\xEA\xA8\x24\xA0\xD0\xA5\x3B\x00\xD6\xA8\x26\x23\x98\x00\xBC\xA8\x16\x83\x3E\x00\xF6\xA8\xB9\x8B\xBC\xA8\x83\x95\x41\x00\xEF\xA8\x15\x14\x9C\x00\xCD\xA8\x2A\xA7\x3E\x67\xFC\xA8\x69\x2A\x9F\x00\xBC\xA8\x6E\x8F\x48\x00\x07\xA9\x7C\x2A\xA1\x00\xBC\xA8\x0B\xA5\x4B\x00\x01\xA9\x07\x1B\x90\x99\x95\x08\xCE\xA8\x0B\xA5\x4F\x00\x13\xA9\x6C\x1C\xA7\x00\xF2\xA8\x00\x00\xCE\xA8\x32\xA8\x53\x00\x1A\xA9\xB7\x83\x1D\xA9\x1F\xA9\xB4\x61\x57\x00\x22\xA9\xBE\x25\xAF\x00\x24\xA9\xDB\x9F\x5B\x00\x28\xA9\xAA\x89\x04\xA9\x3E\xA8\x18\xA1\x2E\xA9\x13\x23\xB6\x00\x30\xA9\x3C\x9A\x39\x61\xB9\xA8\x66\x00\xE1\xA8\x02\x01\xB9\x00\xBC\xA8\xB0\x8C\x68\x00\xB9\xA8\x6B\x00\x3B\xA9\x24\x7D\xBC\xA8\x52\xA8\x6D\x00\xB9\xA8\x70\x00\x43\xA9\x4E\x5A\xBC\xA8\x22\xA6\x72\x00\xB9\xA8\x75\x00\x4A\xA9\xBF\x00\xBC\xA8\x60\xA8\x77\x00\xB9\xA8\x7A\x00\x4A\xA9\xC1\x00\xBC\xA8\x68\xA8\x2E\x57\x28\xA9\x80\x00\x4A\xA9\xC3\x00\x6E\xA8\x82\x66\x7C\xA8\xE7\x03\x82\x00\x01\x43\x34\x64\xC6\x00\xE0\x98\x62\xA9", - "\x84\xA8\xE7\x03\x83\x00\x66\xA9\xE1\x06\xC7\x00\x69\xA9\xCA\x8E\x84\x00\x4A\xA9\x36\x1E\xC8\x00\xDE\x98\x6A\xA9\x91\xA8\x19\x53\x74\xA9\x5E\x9D\x77\xA9\xD7\x8E\x88\x00\x7B\xA9\x6E\x28\xCC\x00\x7D\xA9\xF5\x8F\x8A\x00\x80\xA9\x99\x24\xCE\x00\x83\xA9\x79\x91\x8C\x00\x6E\xA9\xB9\x89\x71\xA9\xA6\xA8\x22\x86\x86\xA9\x26\x23\xD1\x00\x89\xA9\xAB\xA4\x8F\x00\x91\xA9\xAA\x63\xD3\x00\x94\xA9\xB1\xA8\xAF\x6E\x97\xA9\x69\x2A\xD5\x00\x9A\xA9\xB7\xA8\x93\x00\x9D\xA9\x7C\x2A\xD7\x00\xA0\xA9\xBD\xA8\x28\x70\xA3\xA9\x27\x02\xD9\x00\xA6\xA9\x8F\x79\x97\x00\xA9\xA9\x24\x5D\xA6\xA9\xDB\x82\x99\x00\x0D\xA9\xF6\x68\x61\xA9\xEC\xA2\xA7\x06\x9C\x00\xAF\xA9\x22\x9F\xA6\xA9\xA5\x79\x9E\x00\xBA\xA9\x3A\x5D\xA6\xA9\xB3\x8A\xA0\x00\x8C\xA9\x15\x14\xE4\x00\x8E\xA9\xDE\xA8\x60\x04\xC4\xA9\x07\x1B\xE5\x00\xC7\xA9\xE4\xA8\x09\x8B\xB4\xA9\xC6\x6B\x1D\xA9\x78\xA9\xDD\x99\x11\x0A\xA5\x00\xD0\xA9\x81\x8C\xD2\xA9\xD0\xA5\xA8\x00\xBF\xA9\x8D\x5D\xA6\xA9\x16\x83\xAA\x00\xDC\xA9\xBD\x7D\xA6\xA9\x83\x95\xAC\x00\xD7\xA9\x0F\x5E\xB6\xA9\x89\x95\x11\x0A", - "\xAF\x00\xE1\xA9\x9D\x5E\xA6\xA9\x6E\x8F\xB1\x00\xEC\xA9\xDD\x86\xA6\xA9\x0B\xA5\xB3\x00\xE6\xA9\x54\x89\xD9\xA9\x16\x9A\xB6\x00\xF6\xA9\x1B\x5F\xF8\xA9\xF5\xA5\x00\x00\xB9\x00\xFB\xA9\xF5\x23\x91\x3C\x31\x01\xD3\xA9\x32\xA8\xBC\x00\x01\xAA\x63\x16\x03\xAA\xB7\x5E\xDB\x9F\xBF\x00\x08\xAA\x09\x00\x91\x3C\xA7\x04\xD3\xA9\x9F\x8C\xC2\x00\x08\xAA\x0C\x00\x10\xAA\x0B\xAA\x5B\xA7\x11\x5B\x4A\xA9\xC7\x00\x4A\xA9\x0F\x00\x91\x3C\x80\x01\xD3\xA9\xB0\x8C\xC9\x00\x4A\xA9\xCB\x00\x4A\xA9\x11\x00\x1F\xAA\x18\xAA\xCF\x95\x11\x0A\xCD\x00\x4A\xA9\xCF\x00\x4A\xA9\xC3\x99\x4C\x80\xD3\xA9\x22\xA6\xD1\x00\x4A\xA9\xD3\x00\x4A\xA9\x15\x00\x28\xAA\xB5\x5E\x3E\x92\x2E\x9D\x4A\xA9\xD7\x00\x4A\xA9\x17\x00\x39\xAA\x44\x73\x72\xA4\xE7\x03\xD9\x00\xB9\xA8\xDC\x00\x4A\xA9\x19\x00\x17\xAA\xB9\x5E\xB3\x5E\x1D\x6C\x08\xAA\x36\x1E\x89\x66\x66\x83\x66\x6E\x28\xA9\xE5\x00\xCA\xA9\x8C\x90\x29\xAA\xF8\x9E\xE9\x9E\x0C\x01\xE3\x5E\x7B\x66\x31\x09\xE6\x00\x55\xAA\xF5\x9E\x01\x01\xE3\x5E\x90\x66\x31\x09\xE7\x00\x4A\xA9\xE9\x00\x5F\xAA\xBE\x25\x9D\x66", - "\x33\xA4\x4E\x89\x08\xAA\x1C\x00\x41\xAA\x89\x90\xA6\xA6\xAB\xA5\x08\xAA\x1E\x00\x6F\xAA\xE3\x74\xCA\x8E\xF0\x00\x33\xA9\x6E\x28\x20\x00\x4A\xAA\x0C\x01\x6A\xAA\xA6\x83\x30\x8B\x79\xAA\x17\x6A\x7C\xAA\x70\xAA\xEE\x88\xA7\x06\xF8\x00\x81\xAA\x76\x66\x83\xAA\x76\xAA\xF5\x8F\xFC\x00\x88\xAA\xAA\x63\x29\x00\x8A\xAA\x01\x01\x7E\xAA\x3D\xA8\xA2\x6E\x14\x68\x00\x6B\x75\xAA\x92\xAA\x96\x99\x31\x27\x81\x43\xCB\xA8\x8F\x01\x91\xAA\xA2\x98\x26\x95\x32\x2D\x9C\xAA\xC0\x66\x9F\xAA\x93\xAA\x22\x86\xD2\x0E\x0B\x00\xA3\xAA\x4A\x0A\x34\x00\xA5\xAA\x0B\x8F\x7E\x04\xAA\xAA\x99\x75\xAD\xAA\x12\x8F\x58\x79\xB0\xAA\x07\x1B\x3A\x00\xB2\xAA\xD0\xA7\xAC\x7A\xB5\xAA\x6C\x1C\x3D\x00\xB8\xAA\xD5\xA7\x45\x9D\x81\x43\x7E\x17\x68\x6F\x0A\xAA\x0F\x01\xA6\xAA\xCF\xA8\xA7\x06\x20\x00\xBB\xAA\x8B\x1D\x44\x00\xBE\xAA\xE1\xA7\x7E\x64\xCA\xAA\x65\x70\xCD\xAA\x2E\x7F\xD4\xA3\x81\x43\x81\x94\x4A\x00\x98\xAA\xA0\xAA\xFC\xA1\xE7\x03\x2B\x00\xD5\xAA\xF1\x89\xD8\xAA\xC6\xAA\x23\x81\x2E\x00\xC1\xAA\xE1\x06\x4E\x00\x91\x3C\x00\x0D\xE0\xAA\x4F\x80\xE3\xAA", - "\x4A\x0A\x53\x00\xE6\xAA\x9C\x66\xD0\xA5\x38\x00\xD0\xAA\xBF\x93\xD2\xAA\x53\x7F\x11\x0A\x3C\x00\xF1\xAA\x1E\x7E\xF3\xAA\x83\x95\x40\x00\xEA\xAA\x15\x14\x5E\x00\xC4\xAA\x7D\xAA\x05\xA9\xE6\x3C\xF7\xAA\x6E\x28\x62\x00\xF3\xAA\x6E\x8F\x49\x00\x03\xAB\x99\x24\x65\x00\xF3\xAA\x0B\xA5\x4D\x00\xFC\xAA\x9A\x99\xED\xAA\xC5\xAA\xFC\x91\x52\x00\x0F\xAB\x99\x7A\x11\xAB\x00\xAB\x1D\x9A\x57\x00\x15\xAB\x8B\x1D\x72\x00\x17\xAB\x84\xAA\xFE\xA9\x5C\x00\x1B\xAB\xA3\x7C\x1E\xAB\x8B\xAA\x42\xA4\x56\x05\x61\x00\x22\xAB\x36\x1E\x7C\x00\xFF\xAA\x1F\xAB\xFB\x78\x66\x6C\x29\xAB\xCD\x76\x2C\xAB\x25\xAB\x2D\xA5\xA7\x06\x6B\x00\xD0\xAA\x6F\x00\x81\x43\x80\x01\x84\x00\xF3\xAA\xB0\x8C\x71\x00\xD0\xAA\x75\x00\x39\xAB\x80\x82\xF3\xAA\x52\xA8\x77\x00\xD0\xAA\x7B\x00\x41\xAB\x13\x0E\xF3\xAA\x22\xA6\x7D\x00\xD0\xAA\x81\x00\x48\xAB\x7A\x79\xF3\xAA\x60\xA8\x83\x00\xD0\xAA\x87\x00\x4F\xAB\x2E\x88\xF3\xAA\x5B\xA9\x89\x00\x22\xAB\x8E\x00\x56\xAB\x8F\x87\x32\xAB\xF4\x80\x06\xA4\x30\x83\x5D\xAB\x8B\x1D\x97\x00\xD8\xAA\xAA\x66\xFF\xA4\xE7\x03\x92\x00", - "\x63\xAB\xBE\x25\x99\x00\x66\xAB\xCA\x8E\x94\x00\xDD\xAA\x30\x84\x9F\xAA\x67\xAB\x7F\xAA\x38\x68\x71\xAB\x15\x14\x9E\x00\x73\xAB\xD7\x8E\x9A\x00\x77\xAB\x03\xA6\x7A\xAB\xF5\x8F\x9D\x00\x7D\xAB\x0A\xA6\x7F\xAB\x79\x91\xA0\x00\x6B\xAB\x4E\xA3\x6E\xAB\x8F\xA9\xDE\x8C\x82\xAB\x8B\x1D\xA9\x00\x84\xAB\xAB\xA4\xA5\x00\x8C\xAB\xBE\x25\xAC\x00\x8F\xAB\x9B\xA9\xA8\x00\x92\xAB\x4A\x80\x95\xAB\xB7\xA8\xAB\x00\x98\xAB\x2A\xA2\x9A\xAB\xA7\xA9\x57\x76\x9D\xAB\xDB\x91\x9F\xAB\x8F\x79\xB1\x00\xA2\xAB\x99\x24\xB8\x00\x9F\xAB\xDB\x82\xB4\x00\x09\xAB\x26\x23\xBB\x00\x5F\xAB\xBE\xA1\xB7\xA9\xD6\xA7\xA7\xAB\xBE\xA3\x9F\xAB\xC5\x92\xB4\xAB\xAA\x63\xC2\x00\x9F\xAB\xB3\x8A\xBE\x00\x87\xAB\xB4\x9B\x89\xAB\xC8\xA9\xA6\x81\xBE\xAB\x6E\x28\xC7\x00\xC0\xAB\xCE\xA9\xB7\x5A\xAD\xAB\xAA\x63\xC9\x00\x24\xAB\x60\xAB\x04\xA2\x25\x5B\xC9\xAB\x69\x2A\xCE\x00\xCC\xAB\xB1\xAB\x19\xA7\xD3\x72\xB8\xAB\xDA\xA6\x9F\xAB\x16\x83\xCD\x00\xD7\xAB\x7C\x2A\xD6\x00\x9F\xAB\x83\x95\xD0\x00\xD0\xAB\x7C\x2A\xD9\x00\xB0\xAB\x74\xAB\x87\x4A\x11\x0A\xD4\x00\xDC\xAB", - "\xF6\x68\x9F\xAB\x6E\x8F\xD7\x00\xEA\xAB\x2E\x5D\x9F\xAB\x0B\xA5\xDA\x00\xE2\xAB\xF0\x6E\xD3\xAB\xE6\xAB\x2F\xA3\xA7\x06\xDE\x00\xF4\xAB\x70\xA8\xF6\xAB\x3E\xA3\x41\x7A\xFB\xAB\x79\x5D\xFD\xAB\x1D\x9A\xE6\x00\x00\xAC\x0F\x5E\x02\xAC\x26\xAB\x4E\x89\x05\xAC\x49\x79\xE5\xAB\x17\x8B\x56\x05\xEE\x00\x0A\xAC\xD9\x5E\x0C\xAC\x19\xAA\x0D\x5E\x92\xAB\xF5\x00\x87\xAB\x9F\xAB\xB0\x8C\xF7\x00\x92\xAB\xFA\x00\x6B\xAB\x02\x00\xDF\x9A\x0F\x01\xF7\xAB\x00\x00\x52\xA8\xFC\x00\x98\xAB\x6B\xAB\x05\x00\x1F\xAC\xA9\x66\x58\x8D\xA7\x06\x01\x00\xE9\x43\x07\x06\xE9\x43\x80\x01\x3E\x9A\xE8\x67\x21\xAC\x60\xA8\x06\x00\x2D\xAC\x76\x2D\x2F\xAC\x78\x2D\x28\xAC\x62\x9A\x43\xAA\x24\x64\xE9\x43\x39\x69\x38\xAC\x22\x07\xAB\x9A\x31\x24\x23\x5F\x27\x02\x11\x00\x36\xAC\xC1\x9C\x31\x24\x04\x00\xC1\x5F\x14\x00\x3E\xAC\x06\x24\xE9\x43\x3F\x64\x1B\x02\xCB\x5F\x4D\xAC\x28\x67\x4F\xAC\xF6\x06\xD1\x66\xDC\x73\x53\xAC\xA8\x05\x55\xAC\x17\x64\x26\x03\x26\x88\x23\x00\x40\xAC\x15\x94\x69\x9A\xB5\x65\x97\xA1\x25\x00\x60\xAC\x11\x60\x62\xAC\xF8\x64\x6B\x92", - "\x27\x00\x47\xAC\x15\x14\x41\x9A\xE8\x67\x2C\x82\xB2\xA6\x78\x2C\x6C\xAC\x07\x1B\x19\x00\x3A\xAC\x74\x65\xA6\xA7\x7E\x1C\x73\xAC\x98\x92\x76\xAC\xB5\x65\x8F\xA1\x42\x60\x7A\xAC\x87\x6C\x7C\xAC\xF8\x64\xB0\xA3\xAA\x3A\x66\xAC\x6C\x1C\x22\x00\x68\xAC\x70\xAC\xBD\xA1\x35\x00\x80\xAC\xBE\x25\x24\x00\x82\xAC\x70\xAC\xD0\xA6\xEB\xA7\x8D\xAC\xC8\x6A\x90\xAC\x26\x03\x8B\x91\x3B\x00\x94\xAC\xF6\x6A\x96\xAC\xC5\xA7\x70\x3A\x9A\xAC\x62\x6E\x9C\xAC\xCD\xA3\x31\x09\x41\x00\x9F\xAC\x99\x24\x30\x00\xA1\xAC\xD3\xA3\xA7\x06\x44\x00\xA5\xAC\x07\x6C\xA8\xAC\xD9\xA3\x56\x05\x47\x00\x59\xAC\x07\x1B\x36\x00\xAB\x9A\x70\xAC\x20\x7F\x4B\x00\xAC\xAC\xAA\x63\x3A\x00\xAE\xAC\xE5\xA3\x63\x99\xB9\xAC\x69\x2A\x3D\x00\xBC\xAC\xEB\xA3\xE9\x60\x86\xAC\x8B\x1D\x40\x00\x89\xAC\x26\x03\x09\x84\x53\x00\xC5\xAC\xA5\x91\xC8\xAC\xCE\xAB\x1E\x44\xB2\xAC\x6C\x1C\x44\x00\xEE\x08\x31\x64\x26\x03\x23\x81\x59\x00\xD1\xAC\xB1\x76\xD4\xAC\xFF\x63\xD5\xAB\x34\x24\xBF\xAC\x7C\x2A\x4E\x00\xC2\xAC\x16\x83\x60\x00\xDF\xAC\x27\x02\x51\x00\xC2\xAC\x83\x95\x63\x00", - "\xD9\xAC\xBE\x25\x54\x00\xB5\xAC\x26\x03\xC6\x78\x67\x00\xE5\xAC\xA1\x44\xC2\xAC\x6E\x8F\x6A\x00\xF2\xAC\xB7\x05\xC2\xAC\x0B\xA5\x6D\x00\xEB\xAC\x36\x1E\x5E\x00\xDB\xAC\x39\x64\x0B\xA5\x71\x00\xFC\xAC\x51\x75\xFF\xAC\xDA\x64\x32\xA8\x75\x00\x03\xAD\x6E\x28\x68\x00\x05\xAD\x6D\x65\x32\xA8\x79\x00\x09\xAD\x2B\x7F\x0C\xAD\x74\x65\x4E\xA7\x01\x01\x7D\x00\x10\xAD\x26\x23\x72\x00\xEE\xAC\x31\xA9\xA7\x06\x81\x00\x17\xAD\xAA\x63\x83\x9A\x95\x08\x4A\xBE\x03\x00\x1E\xAC\x00\x00\x00\x01\x00\x02\x83\x8F\x4B\x82\x83\x83\x03\x85\x52\x28\x83\x00\x84\x00\x44\x0B\x87\x82\x0E\x8A\x3E\x20\x86\x87\x00\x88\xA0\x58\x8E\x82\x45\x88\x83\x0D\x88\x8D\x5F\x83\x83\x88\x85\x3E\x16\x87\xA1\x88\x81\x87\x81\x4E\x8E\x08\x8F\x64\x82\x8B\x96\x82\x49\x99\x00\x26\x87\x80\x49\x90\x90\x8D\x96\x06\x9E\x70\x87\x84\x48\x9D\x9B\x81\x97\x38\xBA\x86\x83\x45\x9F\x81\xA3\x03\xC0\x83\x81\x53\xA6\x81\x4C\xA3\x0E\x9C\x4A\xAE\x86\x46\xA4\x9B\x9F\x08\xD0\x15\xA3\x8E\x48\x9C\x02\x87\xA2\x5B\x88\x89\x4E\xA8\x03\xB2\x96\x52\x82\xBD\x63\xB2\x84\x50\xAC\x84\xFF\x79", - "\xBA\xB9\xB8\x8B\xBF\xBD\x9F\x71\xEE\x81\xD8\x87\x56\xB2\x87\x55\x38\x83\xFE\xBA\xB0\xC0\x85\x03\xC1\x0E\xAC\x46\xC8\x80\x59\xC6\x87\xC5\x7C\x8E\x81\x01\xC6\x00\xC8\x85\x58\x93\x87\xB5\x56\xC8\xB8\xCC\x8C\x01\x81\xE9\x74\xA0\x06\x5A\xB7\x82\xCC\xFF\x18\x8D\x4D\xBB\xA5\x91\xC1\x75\xAB\xB8\x6E\xC6\x80\xD8\x8F\x46\xDA\x0E\xA8\xC8\x80\x3B\xD2\x5F\xBB\xD7\xA6\x8E\x91\x4D\xB0\xA9\x9D\xC0\x31\xAB\xBD\x47\xFC\xD9\xE0\x84\x4A\xE6\xC1\x81\xD6\x4B\xD0\x63\xEB\x81\xDE\x0E\x97\x58\xE8\x82\xE7\x82\x73\xD5\xC3\x5E\xC2\x80\xF8\x82\x4F\xF0\x89\x81\xF3\x6B\xC6\x6B\xDF\xED\xEA\x97\xC0\xE4\xC1\xC5\x4B\xD0\x66\xF4\x00\xEC\x47\x4F\x27\x7B\x06\x65\x76\x40\x23\xAB\x4B\x3F\x7D\x80\x06\x62\x24\x82\x6D\x22\x6B\x6E\x33\x82\xF7\x46\x45\x2B\x83\x02\x46\x83\x41\x1C\xAB\x51\x34\x87\x62\x18\x68\x28\x86\x73\x08\x72\x1B\x68\x35\x1F\xBE\x58\x47\x2A\x23\x9A\x82\x42\x21\xAB\x57\x39\x8B\x5F\x0E\x6E\x2D\x89\x60\x4A\x2B\x6A\x35\x68\xD4\x60\x8E\x41\x2C\x6D\x6F\x50\x7C\x42\x7A\x2B\x6E\x37\x8C\x8C\x4E\x45\x2F\x8D\x08\x7B\x1B\x69\x38\x48\x99\x68\x40\x2E", - "\x4C\x87\x4F\x3B\x6A\xE4\x35\x7B\x79\x85\x03\x7B\x29\x7F\x90\x07\x70\x3B\x6A\x39\x5A\x80\x8C\x96\x40\xBD\x1F\x95\x81\x60\x4E\x35\x6C\x44\x3A\x3C\xB6\x7E\x8C\x42\xBF\x2D\x55\x01\x76\x08\x6D\x94\x5C\x3B\x71\x9B\x93\x9F\x41\xC4\x36\x98\x9F\x41\x95\x2B\x60\x3D\x94\xB1\x4E\x49\x31\x95\x06\x51\x2B\x6B\x3C\x88\x98\x4C\x30\xA3\x03\x49\x1B\x6A\x3D\x7D\xA6\x9F\x9E\x41\xCF\x01\x93\xA2\x41\x6A\x2B\x6A\x3D\xA4\x0E\x53\x34\xA6\x40\x70\x2B\x6D\x3C\xA9\x08\x56\x37\xA8\x00\x52\x2E\x9C\x47\x14\x08\x42\x9D\x8E\x8A\x0E\x59\x32\xA2\x7E\x08\x71\xA4\x5C\x01\xB4\x87\x46\xAE\x9C\xB8\x88\x4E\x37\xAE\x60\x86\x40\x16\xAC\x0E\x48\x01\xB2\x41\xC3\xBE\x95\xB3\x41\xE3\x08\xBB\x99\x58\xCC\x88\x4C\x03\xB3\x03\x51\xBA\xA7\xB4\x06\x68\x36\xB4\x84\x07\x41\x1B\x68\x04\xDC\x82\x4E\xB4\x83\x03\x6D\x3E\xA4\xAF\x07\x40\x1B\x68\x05\xE9\xAE\x57\x67\x99\x00\x31\x3F\xB9\xB2\x04\x6B\x68\x05\xBD\xCD\x5B\x05\xBE\xAC\xF5\x2F\xAB\x44\x5D\x1D\x00\xCE\x40\x08\x03\xCE\x48\x3F\xAB\x2F\x74\x52\x0A\xC2\x08\x65\x0D\xC0\x42\xFB\x2F\xA2\x50\x5D\x27\x14\xC7\x42\x0A\x17", - "\xC7\x4E\x3F\xAB\x54\x74\x5C\x0A\xC7\x06\x6F\x01\xCA\x41\x01\x07\x17\x44\xBC\xCA\xAB\x61\x0D\xBD\xDE\xB5\x0B\xC9\xB7\x2E\xC2\xBE\x43\x00\x81\x73\x54\x5F\x0D\x28\xC4\xB4\x8D\x69\x9B\x8F\x51\x60\x01\x9E\x47\x4A\x0C\xCD\x0E\x7E\x05\xBE\x62\xF8\xBC\xCE\x61\xD2\x06\x7F\x0C\xD0\x42\x43\x0F\xD7\xBD\xD1\x34\x5C\x64\xD7\x40\x44\x17\xD7\x40\x12\x5A\xC4\xD0\xB9\xB7\x81\x7E\x3B\x68\xBB\xD2\x83\xD8\x70\xD7\x00\x0F\x6A\x64\x5D\x6C\xDF\xBE\xDB\xAD\x77\xC3\x4D\x64\xCC\x43\x75\xDE\xDC\xBE\x07\x3D\xCB\x69\x12\x65\xEF\xD7\xD9\xDB\x49\x88\x41\xE1\xAD\x5F\xC2\x4A\x13\xCD\x02\x4C\x15\xE0\xDE\x89\xC7\x4B\xE3\x41\x72\xE3\x5D\x10\xE4\x00\x0F\x13\xE6\xD0\x95\xC6\x47\xE6\x41\x7B\xE3\x50\x14\xE7\x52\x1F\xE8\xE2\x94\x07\x48\x09\x6B\x6A\x53\x22\xD4\xE4\xEB\x06\x48\x09\xCE\x4F\x08\x6E\xE8\x40\x6E\x74\x57\x12\xEC\xE8\xB4\xC3\x4B\x03\xED\x4F\x4D\xB1\x60\x71\x74\x5B\x15\xBF\x9D\x66\xF9\xD2\x42\x03\xC4\xEA\xB6\xF0\x42\xD0\x74\x50\x1B\xF2\x5B\xC7\xE0\x02\x04\xD1\xF6\xB9\xEE\x76\xAB\x65\x18\xF5\xF3\xA1\xC3\x46\x05\xF7\xDE\xBA\xE6\x7B\x6A\x6A\x23", - "\xF6\xE2\xF3\x00\x1A\x08\xFB\xF4\x07\x72\x74\x5F\x1B\xBF\xEB\xE9\xA0\x42\x1E\x1D\xFD\x72\xFA\x06\x3C\x3C\x5D\x73\x0E\x7D\xD9\x7B\x7F\x20\x21\x13\x7F\xF7\x08\x28\x40\xBA\x38\x0D\x80\xC0\x67\x82\x41\x25\x0A\x81\xD6\x41\x35\x11\xAB\x3D\x0C\x04\xFA\x78\x23\x14\x15\x85\x76\x81\x3C\x40\x5D\x02\x1B\x82\xBB\x65\x7A\x20\x2D\x1F\x83\x40\x00\x83\x20\x13\x74\x2F\x10\x25\x95\x6D\x0C\x2A\x82\x20\x16\xAF\x43\x35\x8C\x11\x84\xBE\x35\x04\x86\x00\x36\x80\x00\x39\x54\x2D\x24\x75\x56\x01\xEC\x70\x79\x07\xDD\x6C\x7A\x05\xC4\x4B\x35\x4B\x3A\x80\x6E\x3E\x1D\x87\x0F\xCE\x44\x2E\x4E\x0F\x8A\x7B\x42\x12\x89\x60\x57\x44\x2F\x50\x39\x7E\x84\xC1\x62\x22\x11\x7E\x74\x7E\x83\x22\x4C\x2E\xA5\x1F\x89\xDD\x49\x04\x8D\x05\x87\x22\x4F\x63\x29\x14\x11\xC6\x87\x84\x00\x0C\x0D\x7B\x45\x8E\x8E\x41\x70\x85\x2B\x57\x33\x8C\x7C\x61\x90\x54\x1E\xE5\x83\x21\x42\x74\x2D\x16\x57\x90\x7C\x16\x5A\x88\x20\x47\x74\x2A\x17\x89\x95\x8C\x17\x0C\x97\x20\x4B\x74\x2F\x17\x7F\x8F\x7D\x1D\xE0\x09\x88\x42\x82\x21\x54\x74\x25\x19\x24\x81\x95\x0C\x4A\x86\x21\x55\x74\x2A", - "\x1B\x28\x92\x83\x21\x34\x26\x93\x20\xBE\x43\x2F\x33\x19\x96\x80\x8C\x2D\x0B\x90\x7A\x90\x95\xB6\x07\x25\x1A\x5A\x91\x80\x23\x73\x18\x97\x12\x87\x2B\x58\xBA\x1B\x1E\x97\x1C\x8E\x21\x1E\x42\x90\x84\x6C\x74\x29\x1C\xC8\x80\x8C\x2B\x82\x2F\x0E\x66\xAB\x81\x30\xE6\x54\x2F\x39\x51\x95\x6F\x42\x1D\x91\x97\x02\x32\x5C\x5D\x6D\x1C\x9A\x7C\x4A\x17\x9B\xC3\x86\x21\x41\x74\x23\x1F\x12\xB8\x1C\x73\x8F\x0F\x96\x40\x07\x63\x2C\x7D\x31\x84\x73\x93\x12\x9C\x00\x11\x63\x2D\x00\x14\x0E\x31\x0E\x26\x03\x3F\x92\x21\x3C\x7D\x9B\x63\x2C\x08\x03\xA2\x41\x4A\x86\x21\x06\x0A\xA5\x24\x0E\x3B\x12\x3E\xA5\x63\x2D\x07\x0F\xA2\x20\x0C\xA3\x20\x05\x17\xA9\x26\x87\x1F\x12\x9F\x62\x34\x2E\x05\x1C\xA9\x8F\x83\x1C\x04\xA3\xB2\x43\x14\x3A\x86\x2A\x01\xD7\x74\x2E\x03\x1C\xAD\x39\xDD\x28\x1D\x8D\x83\x2D\xA3\x77\xAB\x21\x05\x4C\xF4\x81\x91\x55\x35\xA4\xA5\xC7\x6B\x34\x09\x1C\xAB\x5C\x7C\x6E\x15\x87\x37\xA7\x21\xF5\x63\x28\x04\xA2\xBC\xA3\x9A\x00\x12\x14\x52\xE0\x76\x64\xA7\x80\x90\xAA\xB6\x13\xA8\x42\x67\x34\x2E\x18\x16\xAA\x93\x81\x9A\x16\x56\xF5", - "\x7B\x34\x1A\x3B\xA7\xAA\x18\x3E\x17\x4F\x83\x29\xA9\x00\xAB\x37\x06\x5F\xB5\x96\x43\x41\x13\xAD\x03\x6B\x33\x07\x71\xBF\x96\x43\x45\x15\xAF\x81\x18\x84\x2E\x3F\x19\xAD\x32\x88\x29\x19\xBE\x82\x22\x84\x63\x23\x0A\x60\xD2\x98\x23\x66\x06\xB0\x00\x2E\x83\x2F\x11\x0B\xB5\x6F\x68\x0F\xB0\x46\x74\x2B\x08\x65\xF8\x55\x1B\xC7\x81\x8B\x2C\x4F\x1C\xA1\x46\x83\xB7\x21\x6C\x2B\xA4\xAD\x81\x25\x48\x5D\x54\x0B\xB2\xB8\x5E\x1F\xB1\x54\x83\x2C\x16\x2D\xBA\x7A\x71\x0F\xB4\x8B\x63\x3C\x0B\x59\xE0\xA0\xAA\x73\x2B\xAA\x20\x6D\xA3\x23\x19\xE3\x2F\x0B\xDD\xB2\xA8\x21\xE9\x1F\xB4\x00\x41\xB2\x20\x3E\x83\x2A\x0C\xA2\xAF\xA8\x46\x6C\x16\x9A\xE0\xAC\x4B\x97\x06\x27\x0D\x74\xE8\xAE\x20\x79\x15\xBB\xB9\x81\x26\x93\x58\x6C\x04\xB6\xF8\x78\x1F\xB1\x8E\x83\x2C\x1C\x65\xB5\x8E\x7E\x0F\xB6\x92\x63\x34\x0F\x76\xBC\xBC\x22\x24\x00\xA0\x21\xCC\xA0\x00\x28\xE3\x29\x0E\xF6\x81\x95\x00\xF6\xBA\x64\x7E\x81\x38\x95\xB1\x3D\x0E\xBF\x50\xA9\x01\x80\xD0\x5E\x21\xFC\xB1\x95\x2A\x81\x13\xBF\x71\x87\x2D\x01\x05\xFA\x6D\xC1\x81\x2F\xC3\x50\x06\x12\xC2\xBD", - "\x88\x23\x02\x16\xC2\x21\x49\xC0\xAE\x99\xB1\x0B\x15\xC3\xA4\xA6\x21\x06\x21\xC0\x01\x11\xE8\xB5\xC4\x55\x30\x10\x8A\x8C\xBE\x21\x0F\x2C\xC6\xC5\xD6\xA8\x21\x36\xE3\x25\x13\x19\xF5\x6D\x04\x2C\xC3\xB4\x78\x88\x22\x9D\xB1\x1A\x16\xC7\xF8\x4A\x05\x90\x98\xC8\x21\x75\xA3\x2F\x13\x8B\xA3\x14\x4A\x8E\x2F\x04\x16\xDE\x59\xBF\xF4\x95\x29\x29\x0B\xB9\x15\x29\xC8\x23\x06\x56\xCC\xCA\x4B\x2B\x3B\x15\xC5\xAF\x16\xCB\x07\x37\x05\x98\x83\xC8\x21\x83\x95\x29\x16\x8B\xB5\x14\x9A\x86\x2B\x07\x35\xF6\xA1\x30\x14\xB5\x2B\x2D\x0B\xBB\x17\x39\xC3\x27\x07\x76\xC4\xC4\x31\xD1\x33\xC6\x61\x3E\xCA\x20\x43\x0B\xC8\x42\x0B\x01\x31\x04\x0D\x70\x00\xC4\x06\xBA\x87\xF4\xBE\x20\x46\xC8\x22\x02\x8F\xC7\x1B\x62\xCB\x1C\xA2\xA8\x70\x6E\xD2\x07\x33\x03\xA3\xCC\x1B\xB0\x68\x1D\xD2\xBA\x95\xC1\x30\x05\x0F\xD1\x1B\xC5\x95\x1F\xD4\xDC\xAB\xD1\x60\x15\x0F\xD0\x6B\x0B\xB2\x1B\xB0\xD4\xD2\xB6\x2E\xA3\x2D\x6D\x12\xD1\xC5\x03\x28\x08\x8B\xCD\x3C\x01\xDB\x06\x4F\xD7\x34\xC8\x23\x12\x43\xDE\x21\x62\xC3\x3F\x49\x08\xD8\x22\x13\x01\xD3\x20\x67\xCA\xAB\x35", - "\xE5\x11\xDA\x43\x52\x04\xDA\x81\x16\xDE\x20\xDB\x34\x2D\x3A\x5A\xD8\x20\x2B\x1D\xD8\x00\xDF\xC3\x20\x57\xE3\x2D\x1C\x72\xC7\x22\x0B\xE7\xC9\xDE\x40\x76\x73\x2D\x78\x08\xDD\x6E\x5E\x0C\xDB\xAE\x88\x22\x81\xB1\x34\x1E\xDD\x06\x21\x0D\xBC\x81\x3D\x81\xB1\x38\x18\xE0\x03\x25\x0F\xC0\x91\x44\x2E\x7E\x08\xE2\x20\x69\x0B\xE3\x41\x08\xB3\x2D\x2A\x35\x50\xD5\x08\x2D\x0E\xC4\x86\x21\xB3\xAA\x04\x06\xE2\x02\xDA\xD7\xC4\x9B\xE3\x20\xCC\x88\xA0\xE4\x0C\xD1\xD7\x41\x75\x04\xE4\xC7\x6B\x34\x01\x28\xE3\x22\x90\xF5\x69\x0E\x45\xC7\x22\xDE\x00\x0A\xB7\x58\x11\x01\xE6\xE9\x6A\xE6\x20\x7E\x0D\xE4\x00\x31\xB5\x2B\x0A\x3D\xE6\x7B\x22\xE6\x22\x20\x42\xE8\xB7\xAA\x19\x07\xE8\x32\xB8\x5E\x21\x7A\xD7\xE7\xC0\x03\xBD\x2A\x1C\x10\xE8\xC6\x87\x29\x10\xAA\xC6\x20\xE7\xCE\xB0\x27\x07\x47\xE3\xE6\x7C\x4C\x17\xC6\xCD\xD7\xB8\x5D\x24\x04\xED\xAD\xF6\x20\xED\xFB\xC4\x53\x6A\x29\x07\xE9\xA2\xB0\x68\x13\x42\xE9\xBD\x55\x2D\x05\xEE\xB7\xC3\x24\x13\x42\xF0\xBD\x55\x31\x0D\xED\x9F\xC3\x20\x14\x36\xFF\xE9\x60\x7B\xB5\x2A\x1B\x3D\xEE\xF0\x02\x25\x16", - "\xD0\x85\xC5\x2A\x1D\x0F\xF1\xE9\x03\x29\x16\xD0\x9A\xC0\x26\x1F\x05\xF0\xF3\x02\x2D\x14\xDC\xD5\xED\x56\xEC\x83\x23\x08\x9F\xF3\xC2\x41\x33\x13\xF4\xC5\xF0\xC3\x28\x48\x09\xF7\xA4\x86\x29\x17\xD6\xD5\xD9\x30\xC5\x9A\x72\xEC\xC0\xD2\x21\x5F\x36\xF6\xDB\xD8\x8B\x36\x14\x3B\xF9\xD9\x83\x05\x19\xF1\xB7\xE4\xCB\x6A\x57\x04\xF9\xBA\x4A\x18\xF9\xC0\xED\xCB\x6A\x5C\x07\xF2\x83\x20\x0F\xE8\xB2\x4F\x1A\xD0\xD9\xCF\xB9\xEA\xC3\x26\x0C\xD8\xE5\x56\xD0\xFC\x95\x2A\x34\x1E\xFA\x20\x6C\x01\xFC\x42\x57\x12\xE8\x37\xC3\x2E\x0D\xE7\xF0\xB2\xFA\x87\x2B\x1A\xA1\xF9\xCB\x28\x74\x11\xFC\x1E\x73\xF6\x21\x6F\x02\xE9\xA4\x63\x1A\x07\xC4\x7F\x07\xFC\x73\x10\xE3\x00\x7D\x00\x0D\x00\x8D\x6F\x68\x81\x0A\x75\x90\x75\x7C\x0D\x51\x18\x98\x64\x17\x84\x01\x7F\x88\x07\x74\x9E\x6A\x3D\x0A\x8F\x61\x8F\x69\x08\xF1\x7D\x08\x18\x8E\x77\x02\x1B\x81\x07\x1B\x6A\x74\x1E\x08\xF1\x72\x09\x21\x8F\x80\x24\x86\x10\xB4\x64\x17\x93\x01\x7F\x97\x0B\x82\xA0\x70\x00\x0E\x0C\x6B\x55\x18\x09\x0E\x85\x83\xE8\x0E\x75\x03\x17\x83\x38\x54\x17\x9B\x0B\x83\xAA\x73\x10", - "\xEB\x0E\x83\xCF\x31\x54\x74\x1E\x09\xF1\x75\x37\xEE\x07\x6E\x40\x87\x6D\x74\x12\x0A\x4D\x88\x2F\xF2\x00\x85\x54\x53\x16\xA6\x05\x85\x70\x36\x0F\x58\x8B\x55\xAB\x1A\x0A\x5C\x8A\x3D\xFA\x0F\x85\x64\x54\x17\xAE\x04\x84\xB3\x73\x10\xFE\x08\x84\x36\x8B\x1F\xAB\x11\x0B\x63\x80\x3F\x01\x02\x78\x3E\x77\x10\x51\x86\x57\x87\x43\x87\x75\x45\x00\x76\x88\x74\x06\x19\x87\x7E\x5B\x1A\xB9\x0C\x87\x81\x49\x00\x7F\x8E\x2D\x82\x87\x58\xD1\x16\x88\x50\x5D\x00\x89\x8E\x10\x8B\x80\x59\xAB\x11\x0C\x8E\x88\x11\x11\x01\x89\x08\x13\x89\x26\x75\x15\xC5\x07\x89\x0E\x15\x01\x9A\x88\x87\x38\x2B\x1A\xC9\x0D\x7C\xF8\x29\x01\x7F\x82\x64\x93\x8A\x73\x55\x1E\x0C\xA0\x8C\x3F\xA3\x81\x88\x81\x14\x74\x43\x12\x0D\xB1\x87\x10\x22\x03\x8B\x3F\x8B\x45\xAB\x16\x0D\x6A\x8C\x7B\x00\x06\x02\x7F\x8D\x1C\x93\x87\x75\x43\x19\x0D\xC1\x80\x81\x03\x19\x02\xC5\x82\x89\x6A\x73\x16\xDC\x08\x8A\x70\x3C\x02\x7F\x88\x63\x6F\x89\x27\xA6\x72\x10\xE1\x04\x8D\xDA\x32\x03\xD7\x80\x8D\x08\x12\x5E\x55\x16\x0E\xB9\x86\x10\x38\x0C\x8B\x49\x8D\x48\xAB\x1A\x0E\xE7\x83\x10\x3C", - "\x0A\x8E\xD9\x85\x49\xAB\x1E\x0E\xDE\x80\x3F\x40\x0B\x8A\xE2\x87\x10\x8C\x73\x14\xF3\x0F\x8E\x02\x15\x04\xF2\x83\x89\x94\x73\x14\xF7\x00\x90\x00\x09\x04\x03\x99\x61\xDB\x80\x00\xFB\x07\x8F\x75\x4D\x04\xE1\x8B\x89\x0C\x9B\x1A\x56\x07\x5F\x35\x83\x05\x13\x94\x8A\xAF\x70\x13\x05\x07\x91\x98\x32\x82\x00\x09\x05\x1B\x94\x8B\x1D\x9C\x11\x0A\x00\x92\x0B\x52\x92\x5F\x05\x92\xBD\x8A\x63\xAB\x1F\x00\x2A\x92\x73\x22\x95\x06\xFA\x84\x91\xCA\x74\x17\x14\x03\x93\x18\x52\x92\x6A\x07\x93\x1C\x92\x20\xAB\x19\x01\x3C\x90\x88\x03\x1D\x01\x45\x92\x2B\x6F\x0B\x90\x1A\x1B\x1A\x1F\x05\x94\xDE\x23\x02\x49\x9E\x10\x73\x0C\x94\x63\x64\x17\x25\x00\x95\x0E\x19\x02\x53\x98\x10\x77\x06\x95\x41\x1B\x1A\x2B\x0A\x95\x08\x1F\x02\x5D\x97\x10\x7B\x00\x96\x53\x12\x33\x64\x97\x10\x35\x07\x96\x06\x1F\x07\x6A\x92\x10\x00\x85\x15\x37\x05\x94\x42\x6C\x03\x70\x93\x10\x83\x00\x94\x06\x1F\x00\x0B\x84\x17\x3E\x05\x94\x51\x70\x37\x75\x30\x98\x97\x6F\x68\x41\x0D\x96\x06\x15\x04\x45\x99\x81\xF0\x38\x98\xA1\x6F\x68\x46\x0C\x98\x03\x1A\x04\x8F\x92\x92\x92\x96", - "\x10\x26\x83\x16\x4B\x06\x99\x02\x1F\x04\x99\x9F\x80\x9B\x93\x10\x2F\x86\x3A\xA0\x90\x00\x54\x03\x9A\x35\x80\x01\x38\x83\x14\x55\x04\x98\x22\x98\x08\xCF\x88\x10\xAE\x91\x84\xB2\x52\x9B\x0F\x8B\x08\xB5\x97\x10\xB7\x97\x10\xC8\x33\x16\x5B\x09\x9A\x75\x3E\x08\xF2\x8F\x9B\x06\x1B\x54\x55\x1F\x05\xC4\x98\x2F\x92\x07\x9C\x59\x85\x15\x63\x0D\x9C\x70\x36\x09\xD0\x90\x86\x74\x17\x06\xD4\x9A\x3D\x9A\x07\x9D\x67\x83\x16\x6B\x0A\x9B\x35\x8E\x09\xBD\x96\x10\xC8\x99\x10\xAB\x1E\x06\xDB\x90\x3F\xA1\x0E\x9D\x7A\x83\x16\x72\x0B\x9E\x75\x45\x0A\xEE\x93\x88\x74\x16\x07\xF2\x91\x48\xA9\x05\x9F\x8C\x84\x17\x7A\x09\x9F\x50\x5D\x0A\xFC\x94\x89\x74\x1E\x07\x00\xA8\x11\xB1\x03\xA0\x9D\x83\x14\x82\x07\xA0\x4A\x23\xA0\x9F\x55\x15\x86\x08\x97\x22\x99\x0B\x7E\x93\x10\xE7\x92\x10\xAE\x83\x14\x8B\x0E\xA0\x08\x1E\x0B\x03\xA6\x8B\x30\x1F\x08\x1E\xA7\x10\xC2\x03\xA0\x4D\x73\x14\x93\x02\x9E\x45\x82\x10\xC6\x05\x9E\x18\xA6\x75\xAB\x16\x09\x2C\xAB\x86\x02\x19\x0C\x30\xA2\x10\x19\xA0\x00\x61\x7C\x11\x99\x04\xA1\x0F\x8C\x0C\x2E\x9A\xA3\xD1\x85\x15", - "\x9E\x00\xA4\x35\x82\x0D\x43\xA0\x00\x3B\xA4\x8E\x43\x13\x0A\x25\xA6\x10\xD8\x03\xA0\x7A\x73\x14\xA7\x01\xA5\x03\x1C\x0D\x03\xAF\x87\x1C\x1B\x0A\x48\xAD\xA2\x00\x00\x0E\x17\xA4\xA4\x08\x1D\x8F\x30\x10\x0B\x58\xA2\x10\xE5\x03\xA0\x05\x90\x13\xB4\x09\xA6\x00\x09\x0E\x03\xAC\x79\x1C\x18\x0B\x5F\xA6\xA3\x00\x0D\x0E\x4B\xAB\xA3\x74\xA8\x11\xBD\x07\xA7\xC2\x83\x0F\x7B\xA8\x7B\x0D\x92\x0C\x80\xAC\x8C\x02\x19\x0F\x83\xA7\x92\x18\x17\x0C\x87\xAE\x37\x8B\xA5\x2E\xAB\x1C\x0C\x8F\xA8\x2F\x05\x01\xA1\x3D\x96\x9B\x81\x15\x64\x55\x11\x0D\x95\xA0\x37\x0A\x08\xA9\x71\x3E\x10\x3B\xAE\x64\x55\x16\x0D\xA9\x9A\x0D\x7B\x92\x10\x0F\x02\xAA\xDE\x2B\xA3\xDC\x70\x13\xDC\x09\x9A\xE0\x0B\xAA\x00\x03\x01\xAE\xA4\xAA\x81\x14\x7E\x43\x12\x0E\xA9\x96\x0E\xB6\xA7\x01\xB9\xAA\xA9\x6D\x6B\x1A\xE8\x09\x9A\xEC\x06\xAB\x1B\x03\xAC\xBE\x98\x67\xF5\x89\x9A\xF2\x06\xAB\x1F\x0C\xAC\xE6\x98\x7B\xAB\x14\x0F\x87\xA9\x0F\xB6\xA3\x02\xA2\xA2\x64\x11\x01\x98\x63\x1B\x0F\x35\xA2\x8C\x75\x3F\xAD\x89\x94\x17\xFE\x09\x9A\x02\x07\x05\x2C\x12\x92\xE6\xA3\x99\x74", - "\x13\x00\xEC\xA1\x72\xA2\x33\xAF\x2C\x3E\xAE\xAA\x6F\x68\x08\x06\xAF\xDD\x2D\x6C\xFC\xA2\x10\x90\x95\x47\xEF\xAE\x82\x8F\x6D\x00\xFF\xA6\x94\x02\x11\x01\x07\xB1\xB0\x81\x43\x81\x77\x64\x37\xF8\x2F\x37\x70\x32\x6A\x71\x75\x15\x12\xBA\x3D\x75\x3D\x99\x26\x93\x16\x17\xB0\x3F\x75\x37\x9A\xD5\xA0\xB1\x86\x91\xB1\xF8\x26\x01\xE0\xA5\x15\x12\x0B\xB0\x22\x95\x37\x26\xB7\xAE\x63\x13\x01\x07\xB2\x2B\x15\x0A\xB2\x0F\x8D\xB2\xF0\xA3\x16\x16\x01\xB3\x0E\x18\x01\x34\xB5\x83\x36\xBC\x99\x8F\x69\x01\x3A\xB8\x10\x1B\x0D\xB3\x60\xAF\xB3\xA6\x9F\x68\x1C\x03\xB4\x07\x1E\x01\x46\xB8\xA7\x17\x0F\x9A\x62\x77\xB0\x65\x70\x37\x28\x04\xAD\x03\x11\xB5\xB8\x95\x15\x24\x04\xB5\x22\x9C\x02\x58\xB2\x10\x5A\xB0\x9C\x73\x77\xB0\xD8\x85\x37\x30\x0D\xAD\x0E\x13\xB6\xC9\x9B\x1A\x2F\x06\xB6\x22\x95\x03\x6A\xB8\x10\x6C\xB3\x10\xE1\x63\x16\x35\x00\xB7\x0F\x8A\x03\x73\xB7\x10\x75\xB2\x10\xEB\x65\x15\x3B\x0A\xB7\x35\x8F\x03\x7D\xB6\x10\x7F\xB0\x00\xF4\x65\x15\x41\x0E\xB5\x0F\x84\x04\x61\xB0\x00\x89\xBD\x6F\x55\x16\x04\x84\xB0\xA6\x48\x07\xB8\x59\xB4", - "\x70\xAB\x1C\x04\x97\xB8\xA7\x4D\x0A\xB9\x62\xB7\x41\xC2\x7F\xB9\xC2\x82\x05\xA2\xB2\xB9\x21\x4B\x1A\x58\x06\xBA\x88\xA0\x00\x57\x09\xBA\x89\xBD\x71\x43\x1E\x05\xAE\xB5\x37\x5C\x02\xBB\x81\x1B\xA0\x30\x14\x06\xB7\xB8\x2F\x61\x0A\xBB\x08\x12\xAA\x1C\x1A\x06\x07\xB7\x00\x22\x96\x06\xA2\xA8\x8D\x89\xBB\xA1\x30\x11\x07\xBF\xB0\x37\x6C\x02\xBC\x68\x9B\x1A\x77\x01\xBD\xDA\x31\x07\xD4\xB6\x10\x29\xA0\x13\x7D\x0E\xB8\x35\x86\x07\x91\xB9\xB8\xC8\x80\x13\x82\x00\xBE\x60\xAA\x07\xE3\xB5\xA4\x43\x17\x08\xC7\xB2\x92\x7E\x02\xAA\xC8\xB4\xB7\xEC\xB0\x13\x8E\x0F\xBE\x0F\x85\x08\xF2\xBB\xB6\xE1\x5B\x1A\x95\x08\xBD\xF0\x3C\x08\xDB\xB3\x10\x55\xA0\x13\x9B\x00\xC0\x75\x41\x09\x03\xC2\x10\x5C\xA8\x11\xA1\x08\xBF\x35\x86\x09\xCB\xBC\xBF\x65\xAB\x1A\xA8\x08\xC0\x81\x4C\x09\x0B\xC0\x00\x6D\xAC\x11\xAE\x08\xC1\x50\x51\x0A\x1B\xCD\xA7\x0E\x14\x0B\x10\xC0\xA6\xA6\x0B\xBF\xF4\xB5\x7A\x74\x1B\x0B\x27\xC8\xA7\xAD\x0A\xC2\x7E\xB4\xA8\x74\x12\x0C\x2F\xC2\x8C\xB4\x02\xC3\x88\xB4\xC3\x63\x19\x0C\x37\xCF\xBA\xBB\x0A\xC3\x9B\xB0\x93\x74\x10\x0D", - "\x3F\xC5\x37\xC2\x03\xC1\x2B\xC1\x2F\x31\x27\xC4\xF8\x28\x0C\x4A\xC3\xC3\xD2\x74\x17\xDE\x0E\xBA\xE4\x0C\xB4\x06\x1E\x0C\x1B\xC1\xAB\x1C\x16\x0E\xAE\xBC\x0E\x58\xC3\x10\xD3\x0B\xC1\xBC\xA0\x13\xEE\x0E\xBA\xF4\x01\xC6\x02\x18\x0D\x1B\xCE\x7E\x30\x16\x0F\xAE\xBC\x0F\x6A\xC0\x00\xDD\x0B\xC1\xF7\x70\x13\xFE\x0E\xBA\x04\x08\x05\xE4\x1E\x10\xE2\x0B\xC1\x75\x93\x14\x06\x0C\xC7\x96\x3E\x10\x0D\x04\xC8\x05\x2E\x10\xE7\x01\xC5\x2A\x62\xB5\x1C\x1F\x00\x88\xCD\xAF\x0F\x8D\x0E\x91\xB9\x01\xC6\x64\x17\x13\x01\xC9\x77\x80\xA6\xF1\x05\xC9\x4A\x83\x16\x17\x0A\xC9\xA3\xAF\x80\xF5\x09\xBA\x96\xC4\x3D\xAB\x1C\x01\xA2\xC5\xB5\x64\x86\xCA\xD1\x93\x14\x21\x0B\xCA\x2B\xBE\xCA\xD8\x93\x16\x26\x02\xCB\x0F\x84\x00\x4B\x08\x91\x8D\xC8\x10\x8B\xB3\x14\x2B\x02\xCA\x76\x7A\x3D\x09\x0B\xCB\xF4\xA3\x10\xA7\xC7\x10\x94\xB3\x14\x2F\x08\xCB\x35\x8D\x00\xC6\xCB\x92\x08\x19\xCC\xEF\x95\x15\x34\x0E\xCC\x60\xA2\x01\xD1\xC4\x93\xD3\xC4\xBA\x74\x19\x03\xD8\xC0\xB5\xDB\xC9\xA9\x07\x14\xCD\x1B\x2B\x1A\x3E\x01\xCE\xC2\x8C\x01\xE3\xC3\xCA\xE5\xC1\x18\xB4", - "\xB0\x13\x43\x0A\xCE\xAF\xB1\x02\xED\xC2\x64\xE6\xC7\x43\x74\x18\x04\xF4\xC5\x37\x26\x07\xCF\x0E\x19\xCF\x40\x4B\x1A\x4D\x02\xCA\x67\xB8\x2F\x2B\x0D\xCE\xD8\x82\xD0\xCE\xB3\x2B\xFD\xC8\x2F\x31\x00\xD0\xDD\xCD\x24\xAC\xBF\xD0\x70\x36\x03\x12\xDF\xCE\x08\x1D\xBD\x1C\x1D\x05\xC2\xC2\x92\x3B\x0D\xCE\xDE\x22\xD0\xE5\xBC\x11\x61\x0F\xD1\x0F\x8F\x03\x22\xD1\xD0\xF5\xBC\x11\x65\x06\xD0\x22\x93\x04\xED\xC3\xBF\x1A\xDF\x46\x0D\x9B\x06\x30\xDF\x80\x4A\x03\xD3\x2C\xD3\x8E\xAB\x11\x07\x16\xDA\x3D\x51\x09\xD1\xBD\xC7\x10\x05\xCC\x11\x76\x01\xD4\xF0\x36\x05\x44\xD8\xCC\x81\x1D\xC0\x0E\x1B\x07\x39\xD5\x83\x5B\x0A\xD0\x3D\xDC\x8F\xAB\x11\x08\x4A\xD5\x47\x61\x0D\xD4\x02\x12\xD0\x1D\xC8\x11\x86\x0B\xD5\x81\x46\x06\x5E\xD0\x00\x02\xD4\xC2\x08\x1B\x08\x53\xD0\xA6\x6B\x0C\xD3\x13\xD7\x10\x6A\xD6\xD4\x6D\xD8\xA7\x72\x00\xD7\x35\xDA\x2C\x0D\x97\x09\x75\xD2\x8C\x79\x08\xD7\x45\xDA\xD7\x74\x1D\x09\x7D\xDF\xBA\x80\x00\xD8\x4E\xD4\xC4\x63\x13\x0A\x85\xD5\x37\x87\x06\xD5\x71\xD6\x10\x9C\xA3\x14\xA9\x0D\xD8\xF8\x2D\x08\x90\xD9\xD7\xFD\x24", - "\x17\xAF\x04\xCF\xB4\x02\xCA\xB2\x23\x09\x67\xD2\xD0\x5C\xC8\x11\xB6\x04\xCF\xBB\x00\xDA\x0E\x18\x09\xA3\xDB\xAB\xD1\x14\xCF\xC2\x0A\xDA\x08\x1D\x09\xAD\xD5\xAC\x74\x14\x0C\xF4\xC9\x0C\xB2\xD7\x10\xA2\x05\xDB\x07\x17\xC7\x1C\x1B\x0C\xF4\xC0\x0D\xBB\xD6\x10\xA7\x0E\xDB\x31\x34\x17\xD2\x05\xD8\xD8\x05\xDC\x03\x1C\x0A\x99\xD6\x10\x1A\x01\x18\x18\x0F\x68\xDA\x02\xCA\x85\x98\xB1\xF8\x23\xDD\x08\x1D\x01\x8F\x6D\x0D\x28\xD7\x10\xE1\x02\xCA\x0C\xB0\x55\xDC\xDD\xB4\x8F\x62\x0E\xE1\xD6\x10\xE6\x04\xDE\x22\x9B\x01\x8E\xC8\x11\xE7\x0B\xDE\x78\xA2\x0B\x2B\xD4\xB4\x97\xC3\x16\xEB\x04\xDF\xC2\x86\x0B\xF7\xD7\x10\xF0\xDF\x6C\x74\x1F\x0E\x64\xD0\x55\xBA\x07\xD6\x01\xE2\x85\xFE\x65\xE0\x18\x1F\x0B\x08\xEF\xCA\x30\x19\x0F\x0C\xEE\x10\xC4\x0F\xE0\xB5\xC5\x15\xFE\x03\xE1\x84\x56\xE1\xDF\x95\x15\x03\x09\x05\x17\x7F\x80\xCE\x0F\xDF\x06\x19\xE0\x6E\x54\x17\x07\x00\xE2\x21\x9F\x80\xD2\x0C\xE1\xD5\xC3\x14\x0C\x0A\xE2\xD2\xC5\x83\xD7\x0E\xE2\xF6\x9B\x73\x32\xEC\xCD\x35\x8C\x0D\x36\xED\x9F\x38\xB9\xE3\xE4\xC0\xA6\xE1\x0D\xE3\x04\xA3\x16", - "\x1B\x00\xE4\xEE\xC0\xA6\xE6\x04\xE4\xBC\xBC\x11\x20\x08\xE4\xAC\xC0\x3F\xEB\x04\xE4\xC4\xB8\x11\x25\x08\xE4\x07\xD0\x37\xF0\x01\xDD\x03\x16\xE2\x03\x1D\xD0\x18\x1B\x02\x50\xE2\x92\xF6\x04\xE4\x22\xAC\x11\x30\x03\xE6\x0F\x8B\x0F\x44\xEC\xD1\x18\x15\x03\x48\xE3\xCC\xF0\x36\x47\x21\xE0\xE0\x32\xAF\xCD\x71\xE2\x92\x04\x0C\x04\x75\xE5\xE2\x2D\xD8\x11\x3D\x08\xE5\x22\x98\x00\x7C\xE5\xC8\xF8\xDA\x8D\x74\x13\x04\x82\xE4\x9A\x85\xE2\x3A\x0E\x1E\xE5\x02\x1E\xA4\x30\x19\x04\x6A\xEE\xB3\x8D\xEA\xE3\x7E\xEC\x8E\x74\x1E\x04\x95\xE0\xA6\x1B\x07\xE9\x41\xED\xE5\x4F\xD0\x3B\x8B\xE5\x83\x20\x00\xEA\x2D\x6F\xE8\x8B\x7B\x1A\x59\x0D\xE9\x78\xA6\x02\xA8\xE2\x64\x90\xEC\xC1\xAB\x1E\x05\xAE\xE2\x8C\x2B\x01\xEB\xAA\xEC\xC2\x63\x13\x06\xA5\xE0\xA6\x30\x08\xEA\x34\xD9\xE9\x72\xDD\x90\x69\x0F\xEB\x78\xA7\x03\xC2\xEB\xEB\xC4\x4D\x90\x6F\x08\xEC\xC2\x8E\x03\xCB\xE7\xE8\xCD\xE4\x17\x75\x00\xED\xAF\xB5\x04\xD3\xE6\xE7\x8A\xD5\x15\x7B\x08\xED\x75\x3C\x04\xA8\xE8\x8D\xB3\xE3\xD9\x30\x11\x08\xE0\xE8\x2F\x52\x03\xEE\xCC\xEA\x4E\xAB\x17\x08\xB7", - "\xE0\x00\x8C\x08\xE4\xB2\x28\x05\xBA\xE4\xED\x06\x15\xDA\x0E\x1E\x08\xF1\xE3\x09\xF4\xEE\x10\x5D\x07\xEF\xDC\xE7\x95\x3C\x61\xEF\x9A\x0F\xEF\xD4\x32\xF0\xC4\xE1\x96\x55\x41\xEF\xA1\x08\xF0\x07\x17\x06\x0A\xF2\xEA\x08\x10\xDC\x18\x13\x0A\xF1\xE8\x0A\x10\xF6\x10\x6C\x03\xF1\x02\x13\xEB\x81\xC0\x13\xAA\x08\xED\xB0\x0B\xF1\x1B\x2C\xEE\x08\x1C\x01\xD4\xDF\x68\xB2\x08\xE4\xD9\xDE\xB1\xF8\x2A\xF2\xDD\xDF\x68\xB5\x09\xE7\x08\x19\x0B\x48\xE5\xDE\x18\x12\xF3\xE8\xDF\x48\x36\xF7\x10\xBE\x09\xF3\x22\x9E\xDD\x91\xDD\x37\x24\xB3\xB2\x70\x3E\x01\x81\x13\xEB\x7D\x17\xF4\xDA\xD0\x37\x1F\x0B\xF2\x97\x42\xF4\x0F\x85\x37\x51\xF3\xF3\x74\x10\x0C\x26\xF2\x10\xC2\x04\xF5\x35\x87\xF5\x3D\xF3\x16\xC3\x0B\xF5\x00\x05\x0C\x5E\xF0\xA6\x20\x01\xDF\x0E\x16\x0C\xE9\xE0\x37\x77\x0E\xF1\x00\x09\xF6\x5B\xB3\x14\xCC\x0D\xF6\xDA\x3C\x07\x70\xF2\xF7\x64\xBA\xDC\x48\xE3\xEC\x78\xA1\x08\x28\xF7\x10\x7A\xFD\xB6\x74\x19\x0D\x7D\xF2\x92\x87\x01\xF8\x06\x13\xF8\x76\xBB\x1A\xE0\x07\xF8\x0F\x8D\x08\x8A\xF3\x10\x8C\xF0\xB8\xAB\x17\x0E\x90\xF5\x83\x93\x03", - "\xF9\x02\x15\xF9\x8A\xB5\x8F\x76\xF0\x3F\x99\x09\xF7\x70\x84\x17\xF4\x09\xF9\x60\xAE\x09\x9C\xF1\xF7\x9C\xB4\x17\xFB\x08\xFA\x78\xA4\x0A\xAB\xFE\xF9\x7F\x53\x16\x02\x0A\x05\x8A\x32\x92\xAA\x03\xFB\xAB\xB4\x17\x09\x08\xFB\x86\xE5\x83\xB0\x0C\xFB\x25\x27\x2E\xC0\xFE\xE8\x0F\x86\x0B\xC4\xF7\x10\x4D\xE8\x11\x17\x07\xFC\x03\x1E\xF7\xC2\x8C\x0B\xCB\xF6\x10\x55\xEE\x10\x1E\x00\xFD\x35\x42\x92\xC2\x0B\xED\x8B\xF9\x5A\xAB\x16\x02\xDA\xF0\x00\xD2\xFF\xBA\xC9\x05\xFD\x03\x17\xE6\x18\x1D\x02\xE3\xF5\xFE\x75\x3F\x0C\xE8\xF2\x10\x6E\xEE\x10\x34\x03\xFE\x59\xEA\x3D\xD5\x04\xFA\x08\x15\xD2\x18\x1A\x03\xF6\xF2\x92\xDA\x02\xFF\x76\x68\xBA\x00\x04\x63\x7C\x02\x02\x49\xDF\x00\xD5\x47\x80\x84\x0E\xF9\x3D\x50\x46\x08\x02\x06\x82\x24\x67\x06\x05\x8B\x30\x7D\x5C\x5D\x10\x02\xED\x7A\x24\x6F\x07\xF8\x70\x00\x47\x68\x46\x17\x02\x19\x84\x94\x5C\x80\xA8\x68\x10\x5E\x01\x04\x8B\x73\xDE\x7C\xF2\x6B\x74\xBA\x06\x06\x21\x81\x0D\x42\x00\x4D\x00\x21\x18\x46\xCF\x71\xD6\x0E\x09\x1B\x0E\x81\x60\x50\x01\x31\x81\x83\x03\x03\x95\x49\x7C\x27\x81\x35", - "\x46\x01\x3B\x81\xDA\x15\x01\xBC\x75\x55\x1C\x03\x40\x87\x68\x43\x83\x15\x25\x04\xD5\x77\x58\x04\x04\x49\x80\x4F\x5E\x01\x25\x8B\xFD\x0C\x80\x0F\x75\x0A\x8C\x01\x0A\x82\x46\x13\x04\x05\xBE\x21\x13\x86\x08\x3B\x35\x2A\x14\x04\x2D\x8F\xBA\x2E\x01\x17\x85\x7F\x9E\x7E\xDC\x5C\x08\x4E\x04\x06\xF5\x19\x0D\x07\x83\x5F\x83\xB3\x63\x0A\x52\x08\x03\x83\x0B\x2A\x03\x7F\xB2\x14\x07\x1D\x83\x1E\x8D\x94\x74\x09\x2B\x15\x83\x02\x0C\x16\x38\x82\x87\x02\x04\x7B\x81\x1C\x82\x08\x65\x64\x23\x36\x04\x40\x80\x00\x3D\x07\x20\x88\x08\x48\x06\x10\x96\x82\xDB\x63\x16\x3F\x04\x23\x86\x06\x8F\x87\x8D\x12\x84\xC1\x7E\xAC\x74\x08\x32\x0C\x84\xCF\x01\x13\x86\x08\x2A\x0B\x09\xDF\x7D\x58\x1D\x10\x64\x81\x1B\x22\x85\x81\x0A\x05\x70\x80\x42\x02\x01\x6A\x78\x21\x1B\x07\xF1\x71\xE5\x5C\x69\x17\x82\x32\xB0\x83\xEE\x70\x08\x70\x04\x0B\xC9\x5F\x2D\x8E\x08\xB9\x83\xEF\x63\x0B\x72\x0F\xFF\x0F\x43\x1A\x05\x85\x03\x09\x18\x84\x7C\xFD\x65\x0C\xB5\x41\x1C\x08\x86\x02\x0A\x19\x8D\x7C\xBA\x01\x0F\x4D\x84\x98\x57\x03\xD0\x80\x00\x12\x86\xCB\x74\x17\x77\x06", - "\x35\x98\x53\x7D\x01\x1B\x9B\x87\xCF\x74\x17\x7D\x05\x2F\x8F\x40\x83\x07\x17\xAF\x85\xD2\x76\xFB\x5B\x02\x0C\x93\x4D\xE2\x85\xF5\x48\x28\x77\x8C\x03\xA2\x4A\x23\x11\x87\x0C\x3B\x2C\x0E\x00\x7A\x84\x3A\x22\x48\x25\x18\x87\x13\x3B\x5E\x3C\x87\x0B\x3F\x80\x1A\x04\x40\x9C\x38\xAB\x0A\x03\x03\x88\x11\x32\x92\x20\x07\x41\x85\x39\xAB\x08\x04\x0B\x89\x54\x7F\x80\x26\x07\x43\x8E\x39\x74\x0E\x04\x13\x88\xF7\x78\x2F\x2C\x06\x2B\x9A\x45\xE0\x7C\x2E\x2D\x01\x89\x87\xFF\x70\x1F\x2C\x17\x88\x43\x3B\x35\x33\x00\x92\x85\xA1\x28\x8B\xFC\x68\x08\x39\x03\x22\xB5\x85\x40\x2F\x0B\x6A\x84\x48\x9B\x7F\xE8\x62\x26\xA2\x48\x62\x06\x13\x86\x0B\x38\x8E\x80\x0E\x0B\x08\x1B\x88\x91\x49\x0C\x5D\x83\x02\x97\x89\x03\x83\x2C\x0A\x03\xA1\x8F\x80\x51\x06\x51\x80\x86\x16\x83\x2C\x11\x02\x96\x8F\x80\x59\x04\x4A\x9E\x80\x0E\x0F\x0A\x14\x8B\x1A\x4F\x0D\x28\x88\x09\x87\x08\x5D\x04\x29\xB5\x41\x72\x0F\x11\xBE\x8B\x0A\x83\x0B\x64\x03\x2B\xA0\x52\x76\x08\x12\xB5\x81\x99\x4A\x8B\x78\x52\x1E\x28\x89\xB9\x67\x4A\x62\x88\x98\x58\x07\x4F\x8B\x1D\x86\x83\xA1", - "\x07\x07\x76\x88\x9E\x5C\x51\xB9\x18\x2A\x8C\x54\x87\x0E\x07\x7E\x8A\x30\x48\x00\x4E\x01\x30\xBA\x8A\x27\x85\x15\x05\x06\x61\x8F\x5D\x10\x01\x31\xAD\x1C\xC1\x82\xA9\x74\x08\x23\x0F\x8C\x75\x18\x03\x12\x8C\xE4\x78\x14\x92\x6F\x6A\x13\x04\x98\x88\x5F\x1F\x01\xCD\x81\xFD\x14\x8E\xBB\x74\x0B\x9A\x00\x2E\xB3\x27\x89\x82\x2B\x26\x00\x69\x8C\x88\x8B\x89\xDF\x6B\x0C\x51\x0A\x1A\x80\x00\x2A\x0C\x8D\x0E\x0C\x05\x2F\x8C\x8A\x8D\x19\x83\x09\x22\x98\x08\xAA\x05\x36\xB0\x04\xDC\x88\x10\x32\x03\x6E\x98\x46\xE3\x86\x8D\x5C\x08\x59\x05\x1B\xB8\x04\x71\x87\x08\x38\x07\x38\xA6\x8D\xB5\x4F\x48\x35\x8C\x30\x0F\x8E\x06\x0E\x07\x12\x8F\xD8\x83\x10\x21\x78\x47\x02\x06\x8F\x89\x19\x18\x8E\xB0\x1B\x1B\xE5\x7F\x08\x01\x0C\x21\x07\xD1\x0B\x07\x89\x8F\xF2\x75\x21\xDD\x07\x8F\x08\x0E\x05\x0F\x34\x67\x03\x11\xDE\x16\x34\x13\x88\x3A\x7E\x21\x30\x8F\x83\x0F\x02\x0F\x37\x34\x15\x8F\x0E\x0F\x1A\x38\x8E\x91\x4B\x1F\x86\x08\x0C\x0F\x34\xD8\x00\x40\x88\x08\x6E\x03\x20\x8F\x41\x81\x83\x08\x31\x07\xBB\x4A\x90\xF1\x6D\x20\xB5\x43\x83\x82\x08\x32\x01", - "\xBD\x53\x90\xF6\x65\x21\xE0\x53\x85\x80\x00\x33\x07\xD1\x27\x07\x0D\x96\x84\x1D\x90\x9E\x44\x01\xB1\x87\x20\x2C\x06\x9D\x8F\x80\x4B\x03\x6E\x82\x32\x28\x92\x17\x9C\x09\x78\x0C\x22\xB5\x40\x14\x0F\x91\x0E\x09\x46\x82\x87\xAA\x06\x0F\x35\x8D\xDD\x15\x02\xDB\x8F\x20\x3A\x91\x65\x85\x15\x7C\x06\x8F\x98\x17\x5B\x01\x48\x86\x09\x21\x93\x0D\xB6\x7C\x17\x0F\x87\x0F\x41\x0C\x0A\x93\x81\x0C\x24\xDC\x84\x42\x2F\x92\xF5\x87\x01\x67\x03\x29\x92\x10\x55\x90\x39\x9A\x87\x58\x93\xC6\x60\x53\x36\x08\x23\x88\x0A\x97\x8B\x66\x30\x0B\x02\x21\x92\x82\x85\x83\x72\x00\x97\x80\x00\x5E\x95\xE0\x0E\x3B\x35\x90\x1B\xB5\x40\x1E\x0F\x93\x5E\x95\xF6\x55\x0B\x0F\x04\x27\xBC\x8C\x98\x5E\x03\x78\x95\xF7\x63\x0B\x12\x0D\x27\xA5\x89\x1D\x24\x04\x81\x95\xF8\x74\x0B\x15\x05\x28\xA2\x4A\x22\x09\x94\xCC\x7A\x66\x0D\x95\x07\x40\x09\x10\x96\xF5\x6F\x2B\x7D\x94\x23\x95\x4F\xF2\x89\x23\xA1\x8B\x58\x1E\x01\x93\x95\x06\x5D\x04\x4B\x99\xFE\x2B\x0C\x11\x01\x95\x60\x53\x14\x24\x94\xF9\x7B\x1A\x4A\x01\x9F\x93\x89\x50\x29\x15\x25\x92\x21\x97\xE7\x20\x2F\xAB", - "\x82\x49\xAE\x03\x56\x8B\x93\x3F\x7E\x10\x54\x01\xA6\x82\x49\xB3\x03\x37\x87\x8B\x5D\x98\xE8\x42\x4F\xAF\x8F\x40\xBB\x02\x58\x9D\x94\x9F\x64\x17\x62\x00\xAA\x98\x53\xC3\x03\x55\x9D\x81\xD5\x08\x06\x4F\x96\x30\x49\x06\xD2\x97\x2B\x86\x08\x37\x07\x2C\xB5\x43\x33\x1C\x94\x66\x97\x2C\x95\x0B\x3A\x06\x2D\xAF\x5E\x35\x12\x96\x6E\x88\x2D\x65\x97\xBA\x1C\x0D\x52\x94\x5D\x83\x08\x81\x05\x5B\xA0\x52\x71\x0A\x2C\xE1\x97\x5E\x90\x09\x88\x02\x5E\xB8\x52\x75\x05\x2F\xB4\x97\x60\x91\x09\xFA\x92\x18\x72\x07\x7E\x94\x2C\x8C\x8F\x50\x16\x04\x01\x9F\x75\x7A\x06\x82\x94\x25\xC1\x3F\x60\x69\x98\x75\x1A\x00\x0F\x03\xDC\x76\x2F\xCC\x60\x5D\x04\x05\x10\x98\x5F\x09\x01\x89\x91\xFC\x05\x9B\x69\x83\x0B\xAB\x05\x5C\xB1\x05\x3E\x92\x2B\x10\x00\xC7\x9D\x87\x15\x9A\x36\xB4\x0B\x59\x05\x2E\xB9\x04\xC9\x8E\x08\x16\x07\x64\xAC\x92\x8F\x9E\x1B\xAB\x0F\x2E\x05\x97\xC1\x07\x65\xA9\x78\x99\x95\x27\xB4\x9A\x40\x0A\x8E\x18\x0B\x18\x25\x97\x64\x0A\x33\xBA\x44\xCF\x9E\x93\x0D\x9D\xE2\x49\x11\x72\x91\x0D\x45\x9A\x41\x08\x01\x47\x98\x1B\x5E\x92\xEF\x88", - "\x11\x53\x05\xC2\x9A\x06\x4E\x9B\x20\x2E\x01\xA3\x95\xFE\x25\x00\x7A\x8F\x34\xDC\x05\x4F\xAD\x8F\x40\x2F\x63\x01\x0E\x7C\x94\x0B\xDF\x05\x4F\x9E\x17\x71\x0D\x27\xF9\x8D\xC5\x01\x0C\xFD\x8C\x2E\x24\x06\xB5\x9E\x10\x68\x05\xDB\x82\x49\x5E\x98\x21\x07\x90\x71\x34\x37\x88\x09\x3B\x17\x9B\x0F\x41\x6F\x87\x09\x08\x94\x17\x6E\x05\xDF\x87\x08\xF2\x00\x70\xB5\x40\xC1\x96\x10\x19\x90\x3B\x27\x9C\x06\x0F\x1E\x0A\x9C\x30\x5C\x38\x83\x09\x88\x94\x0B\xF8\x00\x72\x83\x08\x7E\x03\x39\xAF\x75\x8A\x86\x08\xFD\x07\x56\x8F\x41\x1A\x07\x34\xC2\x32\x09\x19\x6F\x55\x0A\x00\x1D\x02\x5E\x68\xA7\x3A\x01\xE9\x8E\x08\xA7\x9A\xC0\x63\x0B\x03\x0B\x3A\xD9\x91\xE1\x51\x9A\xB0\x9F\x39\x2B\x0D\x06\x05\x3B\xA8\x99\x0D\x45\x02\xB8\x98\x21\x31\x9D\x83\x07\xB7\x55\x0B\x04\x1D\x9D\x33\x98\x4F\x4B\x03\xE0\x97\x10\x43\x9C\x7B\x63\x4A\xC8\x9D\x67\xB8\x53\x28\x0C\x3C\x86\x0A\xF3\x83\x08\xBF\x62\xEC\x11\x9F\x24\x78\xA7\x57\x03\xEB\x82\x9E\xEC\x84\x6B\x5B\x9E\x43\x91\x48\x5C\x01\xF5\x83\x08\xD7\x9A\x20\x32\x93\xA1\x0A\x02\x63\x9E\x48\x42\x03\xE7\x9A\x20", - "\x29\x9E\x00\x0A\x27\xC3\x08\x0C\x0E\x9F\x0F\x40\x0D\x31\x9F\x61\x42\x28\x8D\x3C\xFE\x95\x41\x6E\x03\x7F\xB3\x9F\x78\x6C\x11\x3C\x03\xFF\x80\x53\x74\x02\x80\xBB\x5D\xD5\x02\x04\x07\xA0\x9E\x5A\x03\x0A\xA3\x78\x6B\x0C\x24\x0B\x3D\x9A\x96\xF6\x00\x04\x5C\x99\x77\x8C\x22\xBA\x0F\x04\x0E\xA2\x30\x47\x04\x11\xA5\x7A\x74\x0B\x2A\x0E\x41\xAF\x5D\x23\x01\xA1\xDC\x5B\x35\x1B\x03\xED\x90\x2B\x98\x0B\x24\x1F\x9E\xCD\x9D\x56\x95\x0A\x30\x0C\x42\xA2\x48\x26\x10\xA1\xD6\x9C\x57\x88\x09\x32\x05\x41\xA2\x49\x27\x07\x9A\xC3\x90\x7D\xBA\xA1\x83\x0C\x06\x3D\xA3\x03\x45\x05\x40\xA2\x83\xB2\x3B\x01\x25\x42\xF5\x19\x2B\x08\xA1\x04\x63\x35\x39\x03\x26\xA8\x2F\x33\x04\x14\xAC\x60\xAB\x0F\x0F\x06\xA3\x1A\x49\x0B\x19\xA0\xF8\x95\x60\x74\x0E\x10\x14\xA2\xB8\x10\x0C\x57\xA0\xAD\x76\x8C\x63\xA2\x7B\x06\x06\x33\xAF\x2E\x82\x0A\x24\x1B\xA2\x60\x54\x19\x09\xA3\x2F\xA5\xEC\x74\x09\x26\x10\xA3\x78\x54\x1A\x33\xA3\x18\xAF\x2F\x87\x08\x28\x18\xA3\xC2\x44\x1B\x3B\xA3\x1C\xAD\x47\xC6\x6C\x20\xAF\x5D\xE4\x03\x90\x82\xA3\x6E\x73\x14\x2E\x07\x21\xB5", - "\x1B\xEC\x06\x8B\xBC\xA2\x8B\x93\x16\x35\x07\x23\xB8\x17\xF3\x02\x92\x84\xA4\xA1\x44\x17\x3C\x05\x09\xA2\x06\xDB\x9A\x56\x3A\x06\x33\xAA\xEF\x08\x08\x31\x05\xA1\xCA\x01\x94\x98\x09\x90\x78\x8D\x73\x9F\x6F\x8E\x08\xCC\x05\x84\x92\x06\x55\xA2\x03\xAC\xA6\x12\xAC\x78\x63\x0C\x1A\x25\xA0\x6D\x04\x4B\xB7\x3A\x2D\xB4\xA3\x06\x0E\xE2\x4E\x08\x6E\x05\x42\xE2\x05\x2F\xA6\x08\x12\x07\x97\x93\xA5\xE4\x63\x16\x64\x07\x21\xAB\x07\xC7\xA3\x20\x18\x01\x90\x75\xFE\x27\x03\xD7\x83\x27\xDB\x9B\x6C\x90\x2B\xBA\x16\x4D\xF1\x8F\xA3\x30\x07\xDB\x9E\x5B\x34\x07\xED\x9E\x36\x87\x09\x37\xBC\x8F\x8F\x35\x1E\x21\xA6\x87\x09\x0F\x64\xA6\x48\x47\xA7\x06\x97\xD1\x3A\x07\x75\xA8\x10\x7E\x06\x3B\xAF\x40\xF0\xA0\x42\x8F\x35\x7F\x04\x4F\xAA\x0A\x17\x0D\x57\xF8\xA1\x30\x0E\x9D\xB1\x04\x00\x7F\xA7\x31\x75\x21\x06\xAF\x5E\x41\xA9\x2F\x3F\x68\x09\x01\x42\xB2\x64\x14\x37\xA1\x80\x58\x91\x48\x02\x1F\x9F\x0F\x52\xA8\xDC\x9A\x18\x5F\x01\x90\x72\x64\x15\xAA\x8C\x98\x08\x13\x00\xA3\xAD\xA1\x1C\x9C\x51\x8E\x0A\x47\xBB\x91\x43\x08\x03\x18\xA8\xF2\x90\x55", - "\x29\x02\x32\xAF\x9A\xBA\x9F\xA5\x2B\xA8\x91\x4F\x02\x2F\xAB\x40\x07\xA9\xE0\x32\xA8\x33\xA9\xD1\x96\x53\x82\x08\x4E\xAA\x37\xAB\x0A\x05\x3B\xA9\x1A\x4B\x03\x3D\xA8\x00\x1F\xA9\xF3\x33\x35\x30\x00\x91\xA2\x92\x41\x01\x49\xA8\x08\x48\xA8\x00\x28\x92\x8E\x05\x03\x43\xA8\x98\x46\x02\x46\xA9\xAA\xAB\x9E\x98\x0B\x03\x56\xA8\x9E\x4C\x02\x59\xAE\x9B\x63\x0B\x20\x0E\x55\xA7\x5D\x58\xA8\x08\x14\x3B\x28\x07\x03\xB2\xAF\xBA\x58\x03\x59\xA7\x08\x04\xA0\x23\x0D\x02\xB6\xA8\x6F\x6F\xAA\x41\x0D\x7E\x0E\x0B\x0A\x34\xAA\x7C\x14\x06\x76\xAB\x65\x4C\x75\x18\xAE\x82\xB0\x1E\x35\x04\x4D\xA6\xAA\xA7\x93\xA1\x7B\xA8\x6E\x31\x02\xBF\xA2\x10\x6A\x7E\x43\x06\x03\x89\xAA\x7B\x37\x02\xC6\xA0\x00\x2F\x88\x11\xAC\xAA\x0F\x45\x0F\x0F\xAB\x83\x01\x55\xFC\x7E\x43\x11\x03\x98\xAD\x06\x42\x05\xCD\xA0\x53\xC5\x95\x55\x16\x03\x81\xA8\xF1\x61\x79\x20\xAE\x53\xC3\xA2\x41\x1D\x03\xA9\xAF\x01\x4F\x05\xD5\xA6\x58\xCC\x97\x13\x91\xAC\xF0\x1F\x12\x14\xAC\xAC\x88\x10\x0A\x04\x6E\xB5\x23\x9D\x04\xB2\x9A\x97\x81\x00\x09\x31\xAD\x0D\x43\x05\x85\xA8\xAA\xA2", - "\x97\xA1\x07\x09\x3F\xAD\x20\x2A\x05\x94\xA9\x5D\x86\x09\x4E\x0E\x5C\xD0\x28\x2C\x14\xAC\x6D\xA0\x00\x23\x04\xE3\xA0\xA6\x36\x04\x6D\xAA\xAE\xF7\x94\x23\x2A\x04\xEE\xA8\xA7\x3E\x07\x77\xBC\xAC\x57\x83\x28\x31\x04\xF2\xA2\x8C\x46\x07\x79\xA5\xAD\x06\x98\x26\x38\x04\xF6\xAF\xBA\x4E\x07\x7B\xB7\xA9\x0E\x9D\x12\xB4\xAF\xBA\x16\x0D\x49\xAC\x7A\xB9\x49\x63\x0E\x18\x3B\xAE\x7C\x1D\x0D\x7E\xAC\x7C\xBF\x98\x55\x0D\x19\x2C\xAB\x69\x08\x51\xB2\x14\x39\x14\xAC\xA5\xA4\x97\x2C\xAB\x6D\x0D\x60\x8E\x0A\x3A\x14\xAC\xAF\xA0\x21\x1D\x06\xB6\xA3\x0E\x15\xB3\xFE\x74\xAC\x40\x9E\x21\x25\x06\xB6\xAB\x0E\x1E\xB3\x41\x16\x07\x94\xAA\x98\xBE\x9A\xB6\xA3\x0F\x26\xB2\x41\x1C\x07\x94\xAC\x6A\x8E\x09\x7A\x04\x5F\xFC\x06\x8B\xA5\x09\x51\x04\x62\x87\x09\x14\x07\x4D\xE3\x0A\x3F\x18\xA8\xDA\xA5\xE9\x70\x1A\x1E\xBE\x4D\xF4\x09\x00\x1F\x02\x7D\x72\xE6\x08\xB3\x83\x05\x4E\x86\x08\x91\xA8\xA7\x74\x0E\x00\x0B\xB3\x94\x36\x53\x53\xB1\x54\x02\x49\x4F\xB1\x9E\xB4\x0B\x05\x06\x65\x9B\x67\x40\x0F\x00\x5D\xB1\x23\x0F\x41\x2C\xBA\x4F\xF4\x08\x04\x01\xB3", - "\xDE\x14\x02\x21\xB3\x26\xBD\x8C\x02\xAB\xA3\x35\x00\x68\xB1\xA0\x6B\xB2\x2C\xB1\x18\x17\x9F\x58\x1A\x00\x71\xB4\x7F\x33\xB3\x07\x4A\x02\x16\xAA\x40\x1F\x00\x61\xB3\xA4\x88\x09\x04\x09\x63\xAB\x73\xC7\x08\x9D\x43\x0C\x04\x01\xB4\x91\x4E\x00\x05\xB6\x98\x83\x08\x7D\xB2\x76\x95\x0B\x14\x01\x66\xAC\xA8\x48\xAE\xB4\xC9\x9A\x20\x11\xB4\x05\x75\x15\x2F\x01\xA5\xA2\x49\x19\x00\xD3\x92\x9E\x4D\xB0\xE1\x54\xAB\xA7\xAF\x40\x1F\x02\xD4\x88\x9A\x52\xB7\xE1\x43\x0B\x0E\x07\xB5\x8B\x9A\xD5\x98\x47\x4D\xB6\x10\x59\x9C\x47\x01\x02\x8B\xB7\x01\x6B\x00\x55\xB2\x64\x34\xB4\x7A\x54\x0B\x46\x00\xD6\x80\x76\x59\xBE\x10\x3E\xB6\xFA\x9D\x5C\xC2\xB0\x4F\x76\x00\x62\xB8\x10\x46\xB4\xFD\x82\x3E\xC9\xB2\x18\x7C\x00\x66\xB7\x68\xE8\xA8\xEB\x51\xB6\xAF\x5A\x08\x14\xB6\x83\x0E\x6C\xF1\xAA\x43\x1E\x02\xD8\xB5\x6E\x08\x03\x6D\xB0\x69\x8B\xA0\x5D\x04\x03\xE1\xB0\x5F\x0E\x02\x72\xBC\x6A\x87\x0B\xF5\x65\x53\x61\xB2\xB0\xB5\x22\x2A\x0A\x6A\xE5\x7E\xB3\xA0\x73\x9F\xA9\xDD\xB0\x1B\x2D\x0C\x6E\x80\x02\xB3\xAE\xAC\x5E\x4A\xDF\x9A\x1F\x30\x0D\x6F\xCE", - "\xB6\x65\xAF\xAD\xB9\xB5\x06\x67\x02\x5E\xB5\x6C\xB2\xA0\x83\x49\xB8\x60\x54\x0D\x0C\xB9\x66\xBE\x5A\x83\x0B\x21\x11\xB7\x22\x49\x0E\x2A\xB4\xD6\xAE\x6F\x95\xBA\x40\x0E\x04\x18\xBF\x01\x79\x03\x8D\xBD\x70\xB6\xAD\x55\x15\x04\x02\xB8\x7E\x01\x05\x82\xB1\x18\x3C\xAF\x41\x1B\x04\x29\xBD\x8E\x07\x04\x96\xB8\x10\x43\xAE\x40\x01\x05\x21\xBD\x06\x4D\x05\x7A\xB5\x72\xD8\x68\x5D\x08\x05\x31\xB9\x90\x14\x04\x9A\xB7\x10\x52\xAF\x40\x0E\x05\x41\xB8\xAA\x1A\x04\xA2\xB6\x10\x59\xAC\x2D\x19\xB9\x60\x50\x14\x24\xB8\x8A\xB1\x5E\x98\x0B\x2E\x10\xBA\x78\x50\x15\x13\xBB\x6A\xB1\x5F\xDF\x8C\xD6\xA2\x46\xB0\x03\xEB\x9C\xB7\xF4\xA0\x13\x49\x07\xD7\xAF\x5D\xB8\x02\xEC\xA5\xB6\x46\xA0\x13\x50\x07\xD9\xB5\x1B\xC0\x04\xE7\x94\xBA\x4A\xA5\x15\x57\x07\xDB\xB8\x17\xC7\x02\xEE\x9C\xBA\x04\xB3\x14\x5E\x04\xB6\xA4\x07\x61\xB2\x56\x0E\x06\xA6\xB7\x78\x63\x10\xB6\xAC\x07\x81\xBE\x21\x14\x06\xC2\xB8\x08\xF5\x44\xB6\xB4\x07\x89\xB8\x21\x1A\x06\xC6\xB0\x00\x21\xB0\x42\x16\x07\xD8\xB4\x1F\x11\xBD\x83\x00\x0E\x14\xBE\x8A\xA2\x19\xD8\xB4\x00\x01\x4E", - "\x88\x2B\x55\x14\xBE\x8C\xB2\x81\xA3\xBA\x20\x25\x7F\x06\x09\x7A\x9D\x28\x42\x0C\x07\x7A\xBE\x20\x2B\x01\x1E\xB5\x15\x0F\x01\xEB\xA1\xB2\x22\x4B\xF6\x85\xB3\xB1\x02\x01\x2D\xBE\xB7\x16\x00\xAD\xBC\xCD\x82\x08\xDD\xB0\x65\xA0\x66\xEF\xAF\x74\xC1\xB9\xF7\x81\x0D\xBD\x93\x16\x1C\x03\xF1\xAC\x80\xC9\xBA\xD7\x81\x0C\xC2\x93\x16\x21\x03\xF3\xA7\x08\x25\x01\xFA\xB5\x40\xE2\xBD\x38\x8F\x36\x09\x17\xBE\xDC\xB2\xFB\xA0\x52\xEE\xB6\x39\x8F\x37\x0A\x00\xBF\x03\x0F\x05\x22\xBE\x3C\x5C\x02\x7E\xB0\x00\x10\x01\xAD\xBA\xD0\xB5\x1F\x89\xB7\x10\x6D\xBF\x47\xAE\x08\x35\x01\xFE\xA2\x48\x7C\x04\x7F\x86\x0A\xFD\xA8\xA9\x30\x0A\x07\x2D\xBC\x4B\xBE\x10\x7D\x05\xBF\xBF\xBF\x44\x93\x28\x00\x03\x01\xC2\x92\x03\x00\x4E\x18\x46\x08\xC5\x49\x95\x5C\x06\xCF\x80\x09\x03\x03\xD9\x8D\x81\x09\x70\x43\x0A\x26\x04\x81\xB5\x43\x03\x17\xC0\x08\x09\x02\xC9\xAA\xBA\x02\x05\x7A\xBF\x03\x55\x00\x38\x0A\xC8\x22\xC0\xA9\xAB\x7C\x1D\xC0\x98\x5A\x00\x20\xC5\xFE\xB2\x87\xAA\x0D\x05\x2E\xC0\x9E\x40\x01\x31\xC6\xFF\xA2\xAA\xE9\x46\x83\xDB\x81\x0E\xC3\x08\x2B", - "\xC1\xAD\xB0\x09\x34\x0D\x83\xAF\x5C\x0B\x1F\xC1\x02\x0B\x05\xDE\xB6\x84\x0F\x06\x45\xC1\xDD\x12\x01\x48\xC0\x00\x2B\xC0\xBC\xA8\x10\x75\x02\x13\xD8\x17\x38\x01\x0A\xEB\xC1\x77\xB8\x96\x2D\xBE\xBC\xA1\x24\x3E\x00\x27\x25\x7F\x15\xC8\x6F\x88\x0A\x20\x17\xC2\x70\x1D\x08\x1A\xC3\x5A\x4B\x1A\x08\x04\x1A\xDA\x1E\x4B\x03\x0D\xDB\x69\xD5\x0E\x08\x26\xC1\x0D\x51\x02\x29\xC0\x03\xF8\x88\x18\x46\x87\xE0\x52\x15\x19\xC3\x21\xC6\xE3\x80\x00\x4C\x0E\x85\xA2\x4B\x16\x18\x09\x1C\xBB\x05\xC0\x8B\x26\x35\x88\x8F\x43\x18\x08\xC4\x7A\xC3\x89\x9A\x43\x37\xC0\x3F\x6B\x02\x1C\xC6\x6A\xAB\x0C\x15\x14\xC5\x3A\x21\x07\x17\xC6\x41\x16\xB9\x51\x2D\x11\xF5\x41\x3B\x02\x86\x91\xC4\xA8\x04\x44\x9B\xC1\x90\x3E\x02\x4F\xC3\x10\x46\xB9\xEF\x29\xC5\x50\x2C\x10\x2C\xC4\x81\x09\x5D\xC5\x06\x28\xC0\x53\x1E\x0A\x31\xB2\xC1\xAA\xB0\x4B\xB7\xC4\x9E\x57\x09\xBA\xC2\x07\xC5\xA4\x31\x6E\x8B\xC2\x46\x26\x10\xC4\x81\xC3\x18\xC2\x08\x6D\x05\x8C\xAF\x5D\x5A\x01\xC6\x40\xC1\xBF\x95\x0B\x70\x0D\x8C\xF5\x1A\x2A\x05\xC5\xC9\xC4\xEE\x83\x0A\x74\x05\x8D\xF8\x14", - "\x68\x1A\xB1\xC2\xC4\x93\xA3\x0B\x77\x05\x84\xF5\x05\xEB\xB2\x15\xBA\x08\x4A\xBB\xC4\x3F\xAB\x1A\x77\x05\x11\xDD\x07\xE7\xC6\x21\x3E\x05\x59\xCB\x4F\x6B\x19\x11\xC5\x00\x61\x05\x8F\x66\xA4\x7A\xC6\x79\x96\x1D\x3E\xD6\x9D\x0D\x2F\x1F\xC9\x64\x84\x0A\x0C\x74\xC7\xE7\xBF\x4B\x02\xC9\xD3\x80\x01\x0A\x09\x90\x99\x12\x43\x10\x06\xF4\xC7\xF4\xBE\x5B\x86\xC4\xFE\x58\x7C\x45\xD2\x15\xD6\x00\x1B\xC7\x09\x16\x04\x7B\xC3\x08\x08\x14\xC8\xB8\xBF\x01\x5C\xC9\xDD\xB5\x15\x23\x00\x45\xDE\x16\x27\x04\x22\xC2\xBE\x00\x03\x92\xC5\xBD\x55\x08\x01\x27\xC9\x37\xAA\xC8\x91\x4D\x92\xDA\xB3\x58\x0D\x01\x31\xC8\x21\x31\x01\x99\xC2\x92\xD3\xBF\xA3\x32\x01\x39\xCF\x20\x36\x00\x9E\xC5\x83\x35\xCB\x40\x03\xA8\x76\x49\x28\xF4\x32\xA2\xC0\xA6\x46\xCA\x40\x16\xB3\x55\x0C\x07\x0A\xCB\x81\x00\x04\x4C\xC8\x9E\x47\x9B\xBD\x88\x26\x1D\x58\xF7\x88\x2F\x71\x9A\xBF\x9C\x58\x4E\x78\xE6\x70\x1A\xE6\xBB\x49\x96\x59\x58\xDC\xCA\x70\x1C\xFA\x87\xB0\xA3\x78\xF4\x4F\x7B\x37\x41\x0C\xCE\xB2\xC8\xAE\xCA\xB1\xCA\x3D\x50\xC9\x34\xC2\x59\x73\xC8\x2D\xDA\x1E\x1A", - "\x0D\x91\xB0\x09\x10\x16\xCA\xE4\x50\x5F\x3C\xCA\x92\xC3\x14\x42\x03\x45\xCE\x08\x44\x00\x30\xEF\x5D\xC1\xCE\x92\xC3\x09\x11\x07\xCC\x08\x0F\x08\x0A\xCD\xBA\x1C\x98\xB6\xC9\x55\x08\x02\x90\xCE\xDD\x93\xCC\xC1\xCE\x93\x99\x2D\x66\xC6\x08\x4D\x03\x33\xF0\x1B\xCA\xC7\x94\x8F\x36\x13\x1F\xCC\xDD\x8A\x34\xFB\xCB\x3A\xBF\x68\x51\x00\x6A\xC2\x08\x53\x02\x35\xF0\x1F\x1A\x0E\x7E\xD4\x00\x45\xDF\xC2\x50\x2D\x1B\x11\xC2\xDA\xC7\x7F\x88\x0B\x16\x17\xCD\x22\x4B\x1C\x3B\xCD\x4F\x65\x15\x62\x00\x45\xDC\xB8\x75\x19\x1D\x1A\xC8\x83\x0C\x9B\x9C\xB7\x50\x0A\x03\xC7\xCA\x24\x47\x14\x70\xC3\x10\x4D\xCD\x4E\xB4\x0B\x72\x01\x3A\xCF\x41\x7B\x0B\x9C\xD5\xCD\x06\xCB\x0D\x7A\x02\x3B\xF5\x40\x7F\x0D\x9D\x82\x0A\x75\xD8\x9E\xAB\x0A\x10\x00\xCF\x07\x45\x00\x51\x27\x79\xC2\x08\x53\xA8\x23\x09\x04\xF1\xC0\xA6\x0B\x01\xBD\x05\x7F\xEF\xCA\xDE\x6B\x0D\x48\x04\x9F\xF8\x52\x04\x17\xCF\xF8\xBB\x07\xC3\x0B\x4C\x0D\x9F\xC2\x45\x06\x00\xD0\x08\x09\x3F\xC2\xC2\x8E\x01\x0A\x05\xD3\xEB\x4C\x18\xD4\xCE\x3C\xF0\x67\xD5\x09\x0A\x0E\xD0\x37\xA8\xD0\x6E\x4E", - "\xDC\xA3\x0B\x58\x06\xA1\xF8\x16\x0B\x18\xD0\xCC\xCD\x14\x74\x0B\x5C\x04\x91\x89\x01\xDC\x55\x17\x1C\xB9\x3F\xE5\xC2\x13\x5D\xA1\xF0\x19\x0F\x00\xD1\xDE\xCC\xA2\x69\x25\x16\xDA\x3D\x61\x19\x84\xC0\x00\xF9\xCF\xE0\x83\x08\x69\x0B\x9E\xB5\x43\x12\x0E\xCF\x0E\xB8\x26\x19\x07\x1E\xD0\xA6\x51\x00\x90\xC6\xAD\x43\x08\x1C\x25\xD0\x91\x4E\x3B\x03\xB5\x80\xC8\xD2\x30\x09\x1D\x0B\xD3\x07\x47\x3D\x4E\xD1\x82\xD1\x8A\x55\x0A\x1E\x34\xD0\xF8\x19\x06\x30\xD2\x84\xDA\x74\xF5\x23\x4B\xF5\x22\x38\x0E\xA5\xB8\xD3\xA8\x74\x0B\x02\x02\x39\x42\x08\x13\xDF\x80\x77\x00\x8A\xCF\xD2\x3E\xBB\x2C\x0B\x00\x35\xDE\x05\x8F\x43\x1F\x05\xD3\xF9\xCE\x15\xF7\x54\x3A\xD8\x9C\xD2\x38\x9E\xDE\x81\x55\x0B\x03\x34\xD2\x36\xDA\x73\xF5\x14\xA1\xC1\xD1\xBC\xC6\x4C\x83\xD4\x91\x46\x09\x06\xD4\x9C\xC2\x6C\x37\xCB\x51\xCF\x41\x4F\x0E\xA8\xD7\xD2\x32\xC0\x00\x36\x02\x52\xF5\x40\x54\x05\xA9\x99\xD0\xDB\xBC\x08\x3F\x02\x53\xE0\x53\x58\x0F\xA6\x96\xD6\x36\xD0\x09\x48\x02\x54\xF8\x53\x5C\x05\xAA\x9E\xD6\x38\xD5\x0A\x51\x04\x4F\xCE\x09\x2C\x04\xA7\xB2\x15\x30", - "\x1F\xD3\x7D\x82\x38\x72\xD4\x84\x03\x06\x35\xD6\x43\x08\x06\xB8\xD4\xE0\x55\x0B\x32\x0B\xAB\x87\x09\x1B\x1E\xD5\x08\x0B\x96\x37\xD1\xFC\xCD\x8F\x86\x0B\x1B\x05\xD6\x06\x0F\x0E\x08\xD7\x83\x06\x0D\x41\xD5\x30\xB2\xA2\xD0\xD0\x5E\x93\xD6\x83\x0D\x0D\x56\xD5\x77\x8B\x0D\x83\x02\x55\xEA\x9F\x6D\xD3\x10\x64\x05\xAB\xC6\x08\x37\x06\xFD\x8E\x04\x3A\xD4\x80\xAF\xBD\x34\x29\xD7\xBD\xCC\x28\x2C\xD6\x91\x42\x0F\x6F\xD4\x71\xC3\x0A\x9A\x04\x4E\xF8\xCC\x8C\x0F\x4E\x37\xD0\xBC\xCE\xCE\x30\x09\x14\x3A\xD7\x95\x55\xA6\xFF\xD7\x75\xC3\x0B\xA8\x03\x60\xCF\x40\x81\x2E\xAF\xDF\xCC\x67\x6A\xD8\xCF\x64\xA3\x25\x7E\x83\xD8\x9E\xF4\x0A\x2D\x13\xD7\x0F\x43\xA3\x2A\xC6\x74\xD1\x3E\xC3\x08\x2F\x10\xD8\x2F\xC2\x62\xCE\x08\x8A\xD7\x6C\xF4\x0B\x30\x00\xD9\x78\x52\xA7\x0D\xD9\x7C\x85\x15\x4A\x04\xCA\xC2\x46\x4D\x2B\x65\xC1\x88\xBA\x01\x0D\x2F\xDB\xEB\x4F\x01\x22\xD8\x21\x24\xD9\x22\x75\x15\x58\x06\xCD\xD5\x1B\x36\x01\x67\xE9\x32\x0D\xD5\x15\x5F\x07\xCF\xD8\x17\x3D\x02\x68\xDC\xD8\x09\xA4\x17\x66\x05\xB6\xC2\x46\x44\x04\xA3\x1C\xB9\x9D\xDB", - "\xA2\x86\x0A\x3B\x07\xDA\x70\x1C\x09\x0A\xDB\x81\x0B\xB3\x80\xBB\x41\x15\x07\x58\xDA\x7B\x13\x03\xAD\xD2\x10\x3B\xDA\x8E\xC2\x08\xFC\x00\x63\xF5\x40\x2D\x04\x52\x23\xD9\x90\xDC\x08\x02\x03\x0C\x1B\xD8\x3C\x50\x06\x6D\xDA\xCE\xC2\xC4\x08\x02\x6E\xD3\x8D\x07\x46\x06\x1C\x2B\xA1\xDC\xDA\x82\xC0\x02\x3A\xDA\x22\x8F\x80\x6F\x02\xDF\xCE\xDB\x26\xB9\xA5\x83\xDD\xD2\x8F\x80\x78\x00\xD9\xC0\x00\x3B\xDE\xE5\x86\x09\x0F\x0B\xB8\xAA\xBE\x48\x5F\x03\x8F\xDB\x67\xE0\xC4\x13\x05\xB9\xF5\xD1\x0D\x5C\x30\xD0\xC5\x6C\xCB\xAE\x98\x0E\x02\x1D\xDF\xBE\xDB\x77\x99\xDC\xC0\x2B\x0D\x1A\x06\xBA\xA2\x49\x8F\x32\xD9\x4D\xBD\x21\x7C\x01\xCE\xDD\xA7\xF0\x18\x27\x07\xDC\x77\xD9\x51\xC7\x08\x22\x04\xBB\xA2\x4B\x96\x36\xD2\x43\xDF\x52\xCC\x03\xDE\xDF\x80\x2E\x04\xEE\xC1\xDE\x5D\xB8\x23\x14\x02\xE2\xD5\x83\x7B\x30\xF0\xCB\xDA\x95\x89\xB7\x0C\xDE\x30\x50\x0C\x52\xD8\xE2\xC7\xD5\x1C\x0C\x0C\x13\xDE\x3C\x58\x0C\x56\xDD\xEE\xCF\xD5\x43\x0C\x0D\x2D\xDC\x84\x03\x07\x1D\xDE\xAC\x06\x35\xB0\xDD\xF0\x96\x77\xF1\xD7\x10\x7C\x02\xF9\xC1\x90\xA9\xDB\xB6", - "\x6B\x0C\x3F\x0C\xBE\x81\x23\xFB\xC6\x16\xF1\xDF\x20\x0D\xD6\x8B\xB5\xBF\x83\x0A\x23\x17\xDF\x07\x09\xDB\x29\xDF\x9B\xBB\x1A\x10\x05\xFF\xC2\x08\x97\x00\x80\xC6\x08\x76\x09\xBF\xCC\xA5\x55\x19\x04\xDB\xDF\xE6\x8A\xE0\xEC\x9E\xBD\xD0\x8D\x60\x16\x01\x8F\x33\x14\x1D\xDD\x90\xC5\x83\x38\x01\x60\x19\x01\x8F\x36\x14\x1D\xDC\x6F\x1A\x0A\x1D\xDF\x4A\xC0\xE1\xDF\xDE\x2C\xED\xCA\xBA\xC0\x3F\x3A\x03\x05\xEF\x34\xAB\x06\x84\xEB\x58\x7C\x1E\xC2\xB0\x8B\xA3\x2C\x05\x13\xE2\x20\x2E\x04\x19\xEF\x80\x3B\x02\xFB\xAF\x05\x11\xE7\x75\x7B\x07\xC7\xDE\xC3\xF1\xD6\x41\x17\x05\x41\xE1\x62\x87\x3B\xF2\x75\xC4\x80\xC0\x47\x1F\x05\x9D\xDF\x6F\xC2\x47\x04\x07\x74\x1C\xB9\x13\xE9\xC0\x30\x08\x19\x11\xE2\x77\x55\xC5\x8E\x0B\x15\xF2\xC0\x43\x09\x1A\x1B\xE3\x07\x4F\x74\x21\xDC\x00\x1F\xE2\x56\x95\x2A\x1A\x07\x31\xE5\x83\x21\x01\x17\xE8\x08\x68\xE7\x4B\x95\x0B\x71\x09\xC4\xF8\x14\xDD\x37\xD1\x71\xE1\x3E\xCE\x09\x75\x0C\xC6\xC0\x77\x1B\xE7\x08\x71\xE3\xAB\x9C\x08\x7A\x0D\xC7\xF8\x50\x0E\x1F\xE3\x74\x32\x40\xF0\x09\x7E\x05\xC8\xC2\x44\x10\x08", - "\xE4\x03\x09\x8E\xCB\xD0\x8C\x06\x00\x64\x03\xF3\xD8\x53\xB1\x3E\x8C\xF1\xE3\x25\xC7\x10\x0F\x02\x25\xE7\x08\x52\xE7\x75\x50\x02\x48\xE2\x10\x71\xE0\x15\xC7\x08\x18\x07\x93\xC6\x09\x50\xE5\x37\x58\x00\x29\xE7\xE3\x22\xD5\xFA\xAA\xE4\xB6\x22\x92\x57\x3F\x25\xE5\xE5\x87\xA8\x98\x73\xE5\x35\xD2\x92\x69\x03\x2B\xF1\xE3\x5E\xDE\x20\x34\x01\x5D\xE0\x00\x2C\xE4\xBE\x11\x03\xBF\xE6\x17\x74\x0B\x1E\x04\xCC\xB5\xDE\xF6\x19\x03\x4B\xE6\x8B\xEF\xDA\x8C\x05\x04\x4D\xE6\x48\x40\x04\xD1\xE0\x8E\xC2\xC5\x26\x04\xCC\x8A\x00\xE2\x67\x3A\xDE\xE2\x9B\xD0\xD2\x8E\x07\x05\x5D\xE6\x48\x51\x04\xE0\xE2\x9A\xC9\xDC\x98\x01\x06\x44\xE6\x31\xF0\x1B\x43\x42\x93\xED\xB8\xF6\x1E\xCE\xA2\x4B\x28\x09\xE6\x35\xBB\x35\x33\x02\x73\xEF\x80\x2B\x07\xD1\x21\xE5\x71\xE6\x4C\x5C\x09\x3E\x05\xCF\x8F\x40\x2D\x18\xE7\x45\xBB\x35\x06\x05\x82\xE5\x83\x3C\x04\x42\xF1\xDD\x74\x0F\x11\x3C\xE7\x1A\x44\x0C\x69\xE6\x38\xF5\xA3\x63\x09\x13\x13\xE8\x30\x50\x8B\x78\x2E\x3A\xE9\xDE\x0E\x0B\x14\x1B\xE8\x3C\x58\x0D\x16\xE8\x20\xE4\xBB\x1C\x0D\x15\x23\xE8\x61\x42\x0E", - "\x26\xE9\x22\xFF\xD4\x18\x0F\x16\x2B\xE9\xD7\x5C\x0E\x7F\xE7\x47\xFE\x8C\x74\x09\x18\x33\xE9\xBA\x15\x0F\x36\xEB\x45\xFC\xBB\x30\x0B\x19\x0C\xE8\x83\x04\x0D\x44\xE6\xAC\x1E\x07\x0F\xEA\x7D\xE3\x0A\x6B\x03\xD4\x83\x0B\x37\x06\xEA\x01\x2D\x28\x56\xE2\xD7\x6F\x4C\x4D\xEA\x40\x0A\x07\x50\xEB\x13\x52\xEB\x9B\xE4\x16\x2B\x0C\x3B\x16\xEA\x00\x05\x1E\x19\xEB\x83\x06\x01\x5B\xEB\x4F\xF4\x8E\x63\x0F\x1E\x20\xEA\x00\x05\x06\x7A\xC5\xD3\x46\xEB\x27\xEF\x14\xA8\xD3\xB6\xE6\x53\x4D\x34\x5D\xE3\xC8\xCD\x9D\x28\x61\xE5\x1E\x0E\x7E\x8E\x03\x5D\xEC\xDC\x35\x46\x2C\x77\xD0\xBE\xE6\xC4\xA6\x4F\x5F\xF6\xDC\x0F\x46\x06\x05\x4B\xF2\x74\xD8\xCE\xE3\xCE\x67\xEC\x9E\xD8\x4C\x7D\x00\xB8\xE6\x10\x0D\xEC\x16\xFC\x08\x24\x00\xB2\xCE\xE6\xF8\x1E\x98\x66\xE2\x65\xE0\xE3\x30\x0C\x05\x1A\xEC\x91\x4D\x04\x14\xEF\x40\x1F\xEC\x69\xE3\x28\x34\x01\xD1\xEF\x80\x31\x4E\x67\xF1\x0F\xAB\x0C\x07\x10\xED\xD3\xD8\x10\x5D\x03\x62\xEE\x08\xA8\xEC\x05\xC9\x74\xD6\xE5\x83\x64\x02\x69\xE2\x08\xB9\xEA\x90\xD8\x09\x25\x0C\xDB\x91\xBB\x6F\xE0\x00\xB9\xED\x7E\xB0", - "\x09\x29\x05\xDC\xF8\x50\x1D\x07\xEE\xB9\xEB\x92\xCE\x09\x2D\x0D\xDC\xC2\x44\x1F\x10\xEE\x13\xD4\x2E\x23\x03\xEA\xEF\xBA\x04\x04\x76\xE8\x08\xA7\xE6\x20\x2B\x02\xEE\xE5\x37\x0C\x07\x77\xEE\xB7\xFA\xE0\xB2\xEF\xE6\xED\x14\x09\x7A\xE8\x6E\xF9\xE5\x30\x0C\x0F\x24\xEE\x7C\x1D\x09\x67\xEE\x41\x01\xE6\x03\x0C\x10\x33\xEE\xB8\x15\x0A\x76\xEF\x40\x07\xDB\xF2\x73\xB6\xE2\x49\x56\x07\xDB\x88\x09\x6E\xFE\xAC\x08\x0B\x12\x02\xF0\x83\xE5\xE0\x87\x09\x6E\xEB\xC4\x07\x0A\x13\x2A\xEE\x91\x4B\x0B\x45\x49\x38\xEE\xF0\x82\xC3\x14\x13\xF1\x07\x45\x0C\x16\xF3\x7B\xEB\xE7\x1C\x0C\x15\x3B\xEE\xED\x1F\x0C\x7E\xEE\x40\x12\xDC\x03\x0C\x16\x23\xF0\xF8\x17\x0D\x26\xF1\x42\x4B\x0D\xBC\x03\xC3\xDC\x8A\xF7\xE6\xE0\xA3\xDC\x47\x05\x06\x2B\xF5\x8E\x07\x57\xD7\xE8\x10\x7A\xD1\x33\x19\xF1\x81\x20\x1E\x2E\xF1\xEC\xA5\x0D\x32\xF3\x5D\x9E\xF0\x35\xF2\x77\xC6\x08\x6F\x06\xE4\xF8\x53\xBA\x5E\xE8\x49\xF0\xA4\xC8\x09\x73\x0D\xE4\xC2\x44\x03\x07\x58\x17\xF5\xB2\xE8\xE8\x8C\x00\x0F\x55\xF3\xEB\x59\x59\x50\xF0\xC3\xF0\xE8\x76\xAE\xE5\xF5\x18\x08\x07\x58", - "\x7B\xEB\x53\x6B\x0C\x01\x06\x06\x37\xE7\xEB\x49\x01\x68\xF7\xC3\xE0\xDE\x98\x0B\x00\x6D\xF3\xDE\xC1\x35\x76\xF0\xAF\xCD\x9D\x83\x5C\x71\xB9\xED\x84\xAE\x41\x79\xF4\x09\x9D\x6F\x40\xFE\x90\x88\x0A\x0E\x1C\xF3\x72\xF3\xBA\x8E\x4A\x42\xF1\xD9\x83\x0B\x09\x0C\xF4\xB2\x12\x08\x08\xF5\x28\xF8\x4B\x93\xB4\xA3\xFC\xB8\x31\x00\xD2\xCE\x08\x25\x03\xE9\xE2\xF3\x6F\x6A\x89\x97\xF6\x8B\xDA\xF5\x5E\x1D\xE9\xDA\xF2\x5C\xE3\x0B\x3D\x04\xD1\xE1\xE4\x23\x03\xEA\xEF\x35\x9C\xE8\x08\x3E\x01\x30\x3C\x01\x47\x38\x04\x0C\xF4\x07\xE0\x53\xB1\xF0\x21\x3F\x01\x47\x3B\x04\x0C\xF6\xB7\x0F\x02\x8C\xF3\x25\xFB\xF4\x4A\xFC\x96\xF9\xC8\xD9\x98\x17\x40\x02\xD6\xCF\x34\x28\x01\xEC\xB3\xE0\xDC\x09\xF6\xBA\xF5\x35\xED\xF4\x83\x03\x05\x4D\xF7\x03\x41\x02\xB5\xCA\xD5\xE2\x49\x31\x05\xEA\x83\x08\xB6\xE5\xEC\x02\x0D\x0B\x1A\xF6\x63\x8D\xED\x82\x0B\xB7\xEE\xEC\x8F\xAC\xD1\xD9\xF2\x3C\x53\x07\x2F\xF5\xB9\x11\xA9\xEA\x2A\xDD\xE2\x48\x3E\x0E\xEE\xE0\x81\xA9\xB8\x08\x7A\x02\xDE\xF9\x5F\x7A\xFE\xED\x8E\xDB\x13\x9A\xF7\x35\x47\x7E\x6E\xF3\x73\xF5\x6B\xF4", - "\xC3\xB8\xF5\x41\x97\x05\xDC\xC0\x00\x82\xFF\x6B\xE3\x0B\x25\x00\xF8\x60\x57\x13\x3C\xF6\x73\xF3\x83\xC3\x09\x28\x10\xF8\x59\xBB\xE2\xCB\xF8\x45\xED\xA5\x18\xFA\x30\x51\x05\x1A\xFC\xE1\xFE\x71\xAA\x05\x0B\x1E\xFB\xEB\x5A\x05\x21\xF9\xBB\xD5\x84\x93\xF5\x37\x43\x05\xCA\xE0\xEF\xA6\x44\xE5\xF8\x16\x66\x0F\xF2\xE8\xEC\x5D\x13\x06\x8C\xF3\x01\x22\x49\x6A\x08\xE5\x8E\x0A\xC8\xF9\x39\x46\x12\xE6\xF0\x1B\x6F\x05\xF3\xF7\xEE\xB1\x42\xFA\xDA\x18\x1D\x05\xFB\xFF\xEB\x1A\x72\x07\xC1\xFC\x64\x0A\xFF\xE7\xC8\xF1\x83\x0B\x0F\x4F\xF8\x9E\x59\x07\x51\xFA\x10\xC4\x01\x33\x0B\x68\x22\x49\x00\x02\x65\x3A\xFA\xC7\x02\xC5\x07\x0C\xF5\x87\x09\xD8\xF5\x41\x0C\x00\xEC\xFE\xF8\x2C\xD3\x14\x1A\x01\xD9\xEC\x29\x22\x49\x94\x43\xF9\x79\xEB\x76\x6F\xF8\x2D\xEF\x40\x20\x02\x94\x61\xE5\x9F\xF0\x8A\xAE\x02\xDD\xE2\x08\x67\xF8\x4C\x69\x00\x51\x6B\xEE\x94\xF8\x18\xA3\x0B\x39\x07\xEF\xCB\x2E\x91\x43\x03\x7A\xFB\xDA\xFD\xF1\xAB\x0B\x08\x0A\xFD\xC2\xFF\xBA\x3C\x02\xE3\xE2\xFB\x4A\xF3\x20\x0D\x02\xC5\xF1\xF8\xF8\x51\x11\x0A\xFB\x98\xF8\xA3\xD5\x0A", - "\x2C\x0C\xF9\xA2\x48\x14\x00\xFD\xEF\xF7\x52\xE3\x03\xD2\xFF\x80\x5B\x00\xEA\xF6\xF7\x97\xD6\x0D\x2C\xFD\x1A\x46\x06\x2F\xFD\xBF\xE3\xF3\x08\x09\x0F\x33\xFC\x30\x50\xD4\x61\xF0\xEC\xF8\xDE\x18\x0C\x10\x3B\xFC\x3C\x52\xD5\x3E\xFF\xED\xF3\xF3\x1C\x0F\x11\x13\xFC\x87\x09\x09\x0A\xFE\xAC\x05\x04\x97\xF9\xF5\xEC\xC6\x21\x4B\xFC\x88\x09\x29\x0E\xFE\xFB\x71\xFA\xFF\xFC\x45\xF4\x17\x27\x05\xF5\xE7\x08\xB1\x00\xFB\xC8\x08\xBE\x63\xF7\x94\x85\x55\x13\x05\xDF\xFE\x20\x3D\x04\xF1\xFE\x47\xDA\xFF\xF1\xF7\xD6\x97\x21\xFD\xC3\x09\x64\x0C\xFE\x86\x09\x65\x65\xFF\x83\x34\x2E\x0B\x07\xE1\xF2\x10\x56\x05\xFD\xE3\x08\xB2\x00\xE1\x71\x14\x6E\x5F\xD8\x02\xE2\x7B\xD9\x75\x11\xBC\x02\x28\x3C\x71\x43\x01\x88\x5B\x2E\x46\x00\xBB\x44\x0A\x83\x00\x82\x69\x5B\x63\x8A\x7F\x7A\x70\x3F\x0C\x03\xEE\x7C\xA2\x10\xEF\x55\x05\xF1\x01\x05\x8B\xF3\x59\x80\x00\x00\x03\x88\x10\x05\x4F\x43\x06\x3E\x0E\x01\x8F\x20\xDE\x00\x08\x82\x02\xAB\x0F\xF1\x28\x1A\x0E\xE6\x75\x0D\xF3\x36\x9B\x7B\x02\x85\x7C\x74\x04\x03\x0E\x02\xB7\x79\x60\x28\x3C\x01\x01\x98\x0D", - "\x1D\x6C\x4C\x04\x01\x37\x80\xAB\x73\xFE\x5A\x02\x95\x7C\x30\x05\x07\x00\x04\x83\x04\x16\x81\x1D\x11\x00\x08\x39\xA1\x73\x0C\x87\xE3\x15\x05\x26\x03\x11\x8C\xCB\x4F\x20\x0A\x00\x13\x82\x01\xB3\x6C\x63\x07\x0B\x02\x05\x85\x73\x22\x27\x04\x06\x05\xBC\x80\x8A\x4B\x58\x08\x03\x1B\x81\x49\x81\x20\x1C\x01\x1F\x81\x07\x06\x13\x8A\xCF\x23\x55\x64\x80\xDE\x48\x06\x86\x04\x6A\x83\x40\x34\x17\x0A\x01\x5B\x80\xE5\x75\x37\x2E\x00\x48\x38\xE5\x71\x07\x95\x6D\x03\x04\x15\x0D\x06\x8F\x20\x38\x03\x1B\x87\x7A\x2C\x61\x74\x05\x17\x0F\x07\xB5\x20\x41\x02\x20\x8A\x01\xB3\x61\x2C\x43\x16\x87\x00\x81\x12\x4A\x00\x92\x3B\x00\x93\x73\x0E\x06\x1B\x0E\x08\xA2\x24\x52\x02\x24\x87\x05\xBB\x11\x0D\x26\x1D\x05\x07\xA2\x24\x5A\x00\x92\x3D\xF9\x4B\x82\x49\x45\x55\x00\x08\x1F\x82\x0F\x21\x19\x02\x0A\x9B\x82\x85\x13\x6A\x0A\x08\x07\x82\x60\x28\x1C\x0A\x08\xA1\x80\x74\x7F\x58\x03\x09\x30\x82\x78\x29\x1E\x03\x0B\xB1\x81\xA0\x60\x27\x08\x0A\xA2\x56\x79\x80\x2B\x8F\x49\x2B\x06\xA6\x00\x2E\x82\x8C\x33\x3B\x32\x82\xEA\x6C\xD9\x06\x83\xAF\x2D\x25\x0B", - "\x0B\x80\x6A\x43\x04\x2E\x0F\x0B\xA9\x3E\xAB\x80\x18\x82\xFA\x43\x05\xC2\x03\x34\x88\xA7\x29\x02\xD5\x81\x1A\x8B\xE5\x70\x52\xDA\x80\x0E\x3D\x0D\xB0\x81\xDF\x81\xAB\x01\x0E\xAF\x2E\xBF\x03\x38\x83\x08\xB8\x7E\x9C\x5F\x39\x8E\x7C\x01\x83\xD6\x80\x4E\x73\x16\x2A\x03\xEE\x80\xBE\x04\x0D\x30\x83\xDE\x83\x14\x3E\x6F\x0C\x83\xFD\x03\x16\x82\x2B\x1E\x03\xCF\x81\xAE\x66\xB1\x0C\x83\x08\x01\x1A\x0E\xD6\x46\x04\x98\x3D\x32\x82\xBF\x74\x05\x0A\x02\x41\x80\xCA\x4E\x04\x13\x02\x43\x8A\xE7\x42\x17\x01\x86\xFE\x6B\x1A\x15\x00\x12\x84\x12\x88\xFD\x19\x84\x85\x7B\x41\x09\x0F\x15\x84\xF0\x7F\x58\x00\x02\x1C\x84\x5C\x80\x42\x09\x02\x24\x84\xB2\x0B\xED\x3A\x10\xB9\x7F\x63\x07\x0A\x04\x12\x94\x7E\x35\x00\x4A\x85\x69\x23\x3F\x94\x7C\x11\x01\x18\x02\x01\x8F\x1B\x0D\x04\x12\xB7\x7A\x78\x2A\x4D\x88\x10\x05\x01\x8F\x1A\x0E\x04\x12\x9E\x0B\x3E\x00\x49\x8B\x92\x40\x85\xF1\x81\xB1\x7C\xC2\x7A\x65\xF0\x0E\x11\x07\x13\x8F\x1A\x3F\x02\x51\x8E\xEC\x5A\x0F\x4E\x87\x4F\x8F\x68\x00\x01\x32\x84\x42\x02\x04\x12\x85\x0F\x23\x11\x0E\x7E\x43\x01\x2F", - "\x86\x48\x25\x01\x23\x3F\xA1\x72\x57\x80\xEE\x40\x00\x4D\x01\x58\x8F\x80\x19\x3F\x6E\x7A\x59\x88\xEE\x48\x04\x57\x00\x49\x83\x0A\xAF\x2E\x27\x00\x4D\x8E\x10\x2E\x85\x97\x74\x46\x02\x06\x32\x85\x22\x25\x0C\x06\x17\x91\x66\xF7\x7A\x0D\x4C\x17\xBD\x70\x7F\x87\x41\x08\x17\x80\x55\x0E\x13\x60\x8F\x3B\x45\x86\x06\x07\x61\x83\x82\x63\x05\x83\x02\x5A\x85\x83\x0F\x01\x64\x87\x5D\x8D\x03\x9C\x04\x8D\x02\x62\x80\xA6\x18\x01\x8C\x87\x40\x0E\x18\xBA\x67\x74\x04\x26\x0A\x19\xB8\x29\x62\x01\x67\x82\x10\x1F\x86\xCA\x74\x47\x03\x0A\x23\x86\xC2\x20\x1B\x06\x1A\x80\x00\x9F\x86\x74\x78\x10\x2E\x02\xAC\x87\xEB\x26\x07\x2F\x86\x9F\x84\x27\x74\x7B\x35\x86\x75\x0C\x20\x08\x1B\x84\x6D\x43\x04\x31\x0C\x1B\xA6\x13\xBF\x84\xD3\x62\x4B\x24\x84\x0C\x02\x3F\x43\xFE\x33\x85\x9F\x84\x1F\x82\x10\x1B\x03\xC3\x84\xDC\x0F\x09\x05\x87\x22\x53\x58\x06\x0E\x11\x87\xDA\x0D\x2A\x04\x1D\xA9\x50\xD4\x42\x64\x80\xA6\x33\x02\x95\x84\x60\x8B\x87\x61\x2B\xDE\x84\x9E\x2C\x0B\x21\x87\x86\x86\x20\x65\x00\x26\x29\xC9\x84\x87\x73\xFE\x2D\x87\xE9\x87\x38\x78\x89", - "\x2C\x87\x22\x25\x34\x0F\x1E\x96\x86\x20\x78\x46\x0D\x01\x26\x29\x73\x85\xDD\x0D\x0D\x1B\x87\x51\x50\x5D\x08\x02\x3C\x87\x12\x40\x80\x88\x45\x74\x05\x33\x00\x7D\x8F\x80\x15\x43\x5D\x7E\x78\x81\xA7\x55\x05\x3F\x00\x81\x8F\x80\x3C\x03\x06\x8B\x19\x5A\x14\x52\x88\x35\x22\x01\x03\x11\x54\x7E\x9F\x85\x76\x55\x05\x0A\x88\xAD\x27\x44\x40\x1F\x8D\x86\xD0\x80\x3B\x70\x22\xA0\x29\x1C\x02\x88\x88\x1F\x92\x79\xC6\x6B\x89\x88\xA7\x28\x00\x2A\x8A\x83\x80\xA9\x55\x05\x79\x02\x8B\x82\x8C\x34\x00\x31\x89\x7C\x81\xBD\x4D\x46\x36\x8B\xEB\x20\x04\x13\x44\xCC\x86\x9A\x72\x44\x3D\x88\x75\x0F\x12\x00\x24\xAB\x88\x40\x74\x47\x0D\x09\x18\x88\x06\x04\x2A\x06\xA6\x32\x0A\x56\x03\x86\x88\x24\x8A\x75\x55\x06\x2A\x0C\x24\x83\x04\xB5\x03\x93\x8E\x10\x20\x01\x52\x8A\x8C\x85\x33\x74\x05\xB7\x03\x95\x8C\xF5\x1A\x89\x6F\x46\xF1\x77\x1A\x81\x06\xFB\x6E\x40\x04\x0C\x22\x89\x00\x03\x33\x04\x26\x87\x04\x74\x01\x97\x8A\x23\xA1\x84\x9D\x28\x9B\x8C\x0D\x2F\x89\x40\x1E\x9C\x84\x22\xA7\x7A\x55\x06\x37\x0D\x23\xAA\x03\x78\x8B\x40\x08\x08\x07\x89\x35\x5E", - "\xFB\x5C\x0E\x26\x29\x65\x80\x54\x10\x1A\x6E\x79\x49\x01\x03\x8C\x11\x35\x03\x88\x8A\x48\x2C\x09\x13\x44\xA1\x71\xA3\x83\x01\xB8\x31\x66\x2A\x1D\x88\x2F\x25\x02\x7A\x89\xA5\x0B\x01\x83\x05\x08\x03\x1A\x06\x26\xAF\x2E\xAF\x01\xA7\x8C\xC0\x01\x86\x97\x1A\xA8\x85\xD7\x4F\x20\xB9\x02\xA9\x89\x90\x3E\x7B\x58\x1E\xAA\x80\xF7\x4F\x20\xC3\x02\xAB\x86\x29\x9D\x38\x43\x06\x09\x02\x2B\x9A\x84\x0F\x21\x33\x04\x29\x8E\x04\xB7\x8B\x89\x39\x05\xBB\x8A\xC0\x16\x48\x26\x0D\x36\x8A\x44\x80\x47\x09\x03\x04\x8B\x8B\x7F\x03\x20\x0E\x08\x8B\x2C\x6F\x50\x03\x04\x0C\x8B\x9A\x88\xDC\x0A\x0E\x10\x8B\x58\x81\x55\x0D\x04\x14\x8B\x22\x24\x3D\x08\x2D\x88\x44\xBD\x0C\xB7\x8F\x80\x3E\x03\xDF\x88\x44\x44\x17\x21\x01\xE2\x89\x0D\x28\x00\x3D\x49\x94\x7D\xB0\x8F\x57\x74\x05\x6B\x00\xB3\x8D\x1F\xB8\x0B\x12\x01\x9F\x43\x17\xAE\x8B\x1A\x2B\x6A\x06\x07\x29\x8B\x60\x29\x07\x0C\x2E\x80\x8B\x84\x83\x58\x00\x08\x3C\x8B\x78\x2B\x09\x0F\x2F\x85\x8A\x8C\x83\x58\x0A\x08\x0C\x8B\x89\x88\x46\x01\x03\x3D\x49\x95\x88\x25\x89\xE0\x4C\x8C\x22\x26\x0E\x00\x31\x80", - "\x8C\xF2\x85\x56\x02\x2F\xB1\x34\x7D\x4B\x88\x8E\x29\x99\x8C\x08\x07\x29\x0B\x31\x8F\x20\x4F\x01\xC7\x88\x31\x92\x62\x55\x06\x2C\x04\x30\x82\x23\x5B\x03\xC1\x85\x49\x35\x82\x55\x04\x2F\x0B\x32\xAF\x2E\x65\x02\xCB\x8F\x89\x67\x69\x01\x5B\xC8\x85\x83\x2F\x01\xF6\x8B\xC9\x87\x8A\x74\x6C\x33\x8D\xDD\x0A\x07\x36\x8C\x1F\x8D\x42\x76\x4C\x01\x8D\xF8\x08\x21\x04\x34\xA7\x8A\x99\x7E\x9A\x2A\x33\xA0\x29\x8E\x02\xC9\x88\x30\x97\x83\x30\x04\x3C\x0F\x34\xB8\x29\x9A\x02\xD4\x8F\x32\x97\x6A\xFB\x03\xD5\x82\x8C\x26\x02\x5A\x8F\xCD\x87\xA9\x46\x00\x6C\x01\x83\x85\x83\x32\x02\x61\x8D\xD1\x80\x06\x6B\x06\x11\x01\xD9\x86\xF6\x62\x24\xBE\x01\xCF\x83\x35\xB2\x83\x58\x1E\xDB\x86\x10\x33\x8B\x70\x0C\xD1\x46\x36\xA2\x8D\xC8\x7C\x46\x07\x02\x36\x8D\x77\x7F\xE0\x40\x38\x9D\x84\x44\x77\xD2\x8F\x2A\x82\x84\x43\x07\x0C\x03\x38\x8D\x8B\x0E\x7B\xE2\x8F\x0F\x86\x8E\xF8\x89\x3D\x60\x58\x0B\x8E\xED\x8A\xE3\x85\x37\x50\x8E\x68\x8B\x6A\x0B\x04\x14\x8E\x0E\x05\x15\x06\x39\x88\x04\x89\x4F\xA8\x81\x39\x87\x64\x03\x07\x15\x0C\x39\x88\x04\x61\x03\xE7", - "\x87\x10\x1C\x4E\xA2\x8E\xB5\x2A\xDD\x4B\x8E\x73\x86\x1B\x0A\x3A\xA4\x0E\xDB\x4F\x5C\x8A\x04\x01\x06\x48\x03\xA3\x10\x07\x0B\x8E\x3C\x86\x30\x27\x3B\x8A\x1B\x8F\x1B\x1C\x0B\x38\x9E\x0B\x77\x03\xE2\x8B\x92\x4B\x01\x4F\x37\x3E\x57\x96\x47\x7B\x59\x6C\xEE\x8F\x68\x38\x01\xC6\x8F\x54\x80\x3F\x0C\x01\x81\x04\xF2\x84\x17\x39\x01\xB3\x8D\xFA\x31\x3D\x8F\x20\x4D\x02\xFB\x5C\x07\x30\x8E\xEE\x2B\xF6\x44\xF9\x5D\x8F\x67\x87\x21\x00\x3E\x8F\x20\x1B\x02\xF8\x8E\x10\x24\x8F\x6F\x87\x41\x02\x09\x0B\x8E\x1E\x8E\x30\x25\x02\x35\x8E\xEB\x8F\xA7\x80\x13\x1E\x02\xF0\x8E\x48\x27\x3F\x7B\x8D\x9A\x7C\xAA\x87\x10\x2A\x02\xF9\x8D\x0F\x74\x3F\x88\x04\xEC\x8F\xF3\x46\xB1\x41\x90\x35\x22\x11\x03\x40\x87\x04\x05\x91\xC5\x63\x16\x02\x03\xE7\x8F\x1D\x6A\x3E\x84\x90\x97\x85\x63\x18\x40\xA0\x29\x2B\x50\xFF\x82\x10\x0D\x90\x25\x6F\x58\x09\x0D\x17\x90\x78\x2A\x19\x0B\x40\xA0\x66\x1C\x7C\x46\x05\x0E\x20\x90\xC2\x21\x1C\x03\x42\xBD\x8F\xD6\x58\x35\x48\x42\xAF\x2E\x7C\x03\x0A\x9B\x41\xAA\x7C\x55\x05\x3F\x0F\x42\x8E\x36\x32\x90\x5A\x80\x1C\xB0\x04", - "\x09\x01\x1B\x0A\x2D\x22\x24\x6F\x52\x06\x9A\x43\x86\x87\x45\x1E\x0F\x94\x61\x3E\x50\xDB\x4D\xFC\x83\x44\x87\x04\xCE\x86\x36\x46\x44\x9F\x1D\x22\x25\x2A\x09\x43\x9C\x90\x29\x44\x5D\x0E\x02\x0F\x91\xD5\x1A\x48\x24\x0B\x13\x91\xCA\x73\x58\x0A\x03\x18\x91\x80\x7E\x48\x2F\x0B\x13\x90\x0C\x92\xC4\x87\x10\x05\x01\x60\x90\x00\x08\x37\x9A\x0F\xC9\x00\x19\x94\x42\xA0\x8C\xC4\x11\x1A\x9D\x00\x22\x24\xD3\x03\xF6\x43\x47\x94\x90\x70\x92\x41\x0D\x05\x32\x91\x22\x24\x38\x06\x47\xB5\x8F\xF9\x86\x43\x0A\x06\x29\x91\x4A\x91\xDD\x0D\x0E\x1C\x91\x60\x6B\x69\x54\x48\xBB\x5F\x88\x90\x3D\x23\x42\x3C\x91\x0F\x23\x00\x08\x51\x4A\x91\x54\x92\x40\x7E\x1B\x0B\x92\xA4\x24\x46\x53\x17\x94\x91\x7A\x6B\x26\x08\x49\xB5\x20\x1A\x02\x26\x90\x48\x94\x8D\x1C\x07\x29\x00\x49\x8B\x4E\x18\x57\x1D\x95\x46\x8D\x8D\x00\x00\x2D\x07\x4A\xA0\x29\x32\x01\x2A\x93\x4A\xB3\x88\x43\x05\x30\x0F\x4A\xB8\x29\x3F\x02\x2C\x98\x47\xAC\x88\x59\x33\x2D\x92\x8C\x0C\x01\xBA\x93\x2A\x9B\x23\x83\x05\xDB\x02\x2F\x9F\xBA\x19\x01\x93\x93\x2C\x94\x95\x46\x2B\xC6\x91\xDD\x05", - "\x06\x09\x93\xBB\x91\x92\x88\x11\x35\x03\x9F\x90\xCB\x0E\x06\x07\x84\x1B\x0A\x28\x91\x4D\x94\x89\x43\x07\x00\x07\x4D\xB7\x1C\x0E\x07\x03\x0F\x4D\x93\x84\x02\x04\x1F\x0A\x4D\x82\x93\xDC\x7F\xCE\x13\x4E\x99\x91\xDD\x37\x3A\x94\x38\x96\x5C\xE7\x93\x1B\x96\x11\xB4\x05\x1F\x02\x3B\x98\x6E\x0E\x04\x2B\x02\x3D\x92\x2B\x12\x02\xF1\x90\x0B\x9F\xE9\x62\x44\xF6\x92\x12\x99\x03\x3A\x93\x0E\x04\x75\x52\x44\x94\x91\x12\x64\x9D\x16\x4F\xAA\x92\x06\x04\x12\x04\x50\x88\x04\xA8\x00\x34\x97\x10\x0F\x01\xEE\x5E\x12\x06\x4F\xAB\x91\xF0\x0C\x2D\x0D\x4F\xA1\x26\x8E\x88\x46\x05\x05\x17\x94\x62\x93\x46\x9D\x39\x37\x6B\x30\x04\x18\x01\x50\xA2\x24\xCA\x02\x44\x96\x10\x14\x94\xA8\x30\x5D\x0C\x06\x27\x94\x0F\x22\x35\x0A\x52\x83\x04\x2C\x94\xF1\x4B\x1A\x38\x01\x30\x95\x0D\x22\x0E\x33\x94\x1C\x95\xAB\x50\x13\x04\x02\x39\x94\x98\x2E\x0E\x3C\x94\x23\x96\x2F\x35\xC0\x60\x94\x0F\x22\x3E\x02\x52\xB5\x94\xC2\x89\x55\x0B\x09\x01\x95\x78\x29\x01\x01\x66\x4A\x91\x4C\x97\x40\x02\xDC\x4E\x04\xA7\x00\x54\x92\x8C\x11\x00\x53\x96\x43\x05\x55\x82\x04\xA9", - "\x84\x46\x03\x0B\x1A\x95\xAF\x2D\x07\x0D\x55\x88\x04\x5F\x94\x00\x02\x1B\x87\x04\xBF\x00\x59\x95\x37\x14\x5A\x3F\x90\x5A\x94\x43\x83\x05\xCB\x02\x5B\x9B\x43\x27\x95\x13\x97\x0E\x9C\x11\x17\x03\x76\x94\xDC\x08\x6B\x71\x95\x79\x94\x11\x93\x14\x23\x03\x0B\x94\x69\x71\x66\x4C\x94\x34\x94\x7C\x7C\x11\x30\x03\x7D\x96\xF6\x0A\x05\x38\x95\x2B\x95\xC0\x85\x24\x4D\x96\xF0\x0E\x19\x00\x59\x89\x96\x09\x8D\x55\x08\x00\x2F\x01\x42\x91\xDD\x02\x07\x21\x59\x73\x85\x5A\x93\xF5\x46\x04\x13\x00\x67\x9F\x36\x99\x56\xA0\x96\x57\x92\x88\x5E\x00\xA6\x95\x43\x13\x9B\x21\x59\x0E\x02\x6A\x99\x47\x83\x04\x2B\x01\x6B\x93\x10\x08\x96\xC2\x22\x25\x00\x5B\xB2\x96\x28\x8F\x50\x08\x03\x36\x96\xDE\x1A\x48\x24\x0A\x17\x96\x3D\x94\x26\x64\x17\x04\x01\xC0\x97\x3D\x9F\x80\x30\x02\xC4\x95\x51\x9E\x48\xA6\x0E\xC9\x94\x6E\x9F\xBA\x3C\x02\x87\x94\x6F\x9F\x33\xA3\x05\x5D\x01\x72\x95\x48\xB8\x0B\x66\x5C\x60\x91\x59\x90\x7E\x74\x05\x1A\x0A\x5D\xBB\x7C\xCD\x95\x5A\x99\x5D\x75\x01\xD1\x96\x48\x21\x0E\x3B\x96\x72\x94\x2B\x92\x08\x29\x97\x0F\x23\x3B\x0C\x5E", - "\x81\x96\xBC\x93\x40\x0F\x08\x30\x97\x35\x21\x3F\x03\x5F\x9F\x97\xF5\x96\x40\x0C\x09\x38\x97\xF5\x65\xEB\x51\x5B\xAD\x97\xC3\x90\x4C\x09\x0A\x00\x98\x78\x29\x06\x0D\x7A\x52\x97\x69\x96\x1A\x46\xDA\x08\x98\x5B\x43\x82\x96\x5D\xB2\x41\x55\x07\x30\x03\x5E\x89\x6B\xC9\x96\xAC\x03\x03\x2D\x5E\x54\x95\x60\x0F\xE7\x43\x04\xD1\x03\x85\x97\x10\x1D\x03\x19\x9A\x43\x0F\x03\x1C\x98\x13\x99\xE3\x58\x36\x62\x98\x06\x07\x3A\x05\x62\x8A\x1B\x28\x98\x81\x95\xE9\x43\x05\xED\x00\x8B\x93\x10\x39\x03\x2F\x9B\x41\x07\x05\x31\x98\xF4\x94\x9D\x83\x14\x3B\x03\x36\x9A\xEA\x5D\xA6\x32\x0A\x63\x00\x8F\x9C\x5F\x8E\x70\x43\x05\x02\x0D\xA6\x12\x97\x16\x03\x90\x9E\x10\x0D\x61\x08\x06\x74\x90\x05\x2E\x5F\x18\x01\x9B\x28\x51\xB5\x11\x7C\x01\xEB\x53\x17\x93\x99\x67\x87\x08\x06\x65\x88\x3E\x5A\x9A\x43\x0C\x65\xAD\x8F\x06\x06\x0B\x0D\xA6\x1B\x97\x70\x0E\x24\x06\x64\x9D\x47\xF6\x8C\x47\x0A\x03\x27\x99\x22\x26\x27\x0B\x66\xB4\x25\xFE\x8E\x41\x06\x04\x30\x99\x0F\x22\x2A\x03\x67\x80\x00\x63\x9A\x01\x93\x16\x12\x01\x78\x99\x0D\x26\x0B\x3B\x99\x7D\x9A", - "\x03\x95\x15\x1E\x01\x5F\x9B\x03\x22\x0C\x21\x99\x61\x05\x05\x9E\x10\x29\x01\x81\x98\x98\x2D\x0C\x04\x9A\xC9\x88\x46\x05\x07\x11\x9A\x78\x29\x36\x04\x69\x91\x8B\xE7\x38\xA6\x92\x8C\x25\x03\x9B\x99\xB6\x83\x14\x0D\x02\x9E\x9B\xEB\x21\x0F\x21\x9A\xE0\x89\x46\x75\x6A\xB5\x0D\xF0\x62\x77\x9C\x66\xB0\x7C\x68\x13\xAA\x9A\x31\x54\x64\x4A\x91\xA1\x98\x11\x5B\x68\x4B\x9A\x58\x84\x91\x52\x99\x8A\x95\x5A\x12\x6B\xB0\x0D\x22\x00\xAD\x92\x66\x92\x96\x43\x06\x32\x0F\x6B\x9A\x0F\x2E\x02\xB0\x9D\x68\x99\x96\x43\x06\x35\x09\x68\xB5\x20\x3A\x00\x45\x6B\x65\xA6\x91\x06\x05\x38\x0F\x6C\xA0\x29\x8F\x66\x10\x96\x6B\xBC\x28\x0D\x24\x3B\x09\x6B\x8F\x20\x50\x00\x45\x63\x60\x84\x13\x82\x61\x3E\x0F\x6D\xB5\x20\x5E\x02\xB8\x93\x6C\x81\x92\x32\x42\x10\x68\x66\x9A\x0F\x6C\x02\xB2\x94\x6E\x89\x92\x43\x06\x04\x0E\x6E\xA2\x24\x78\x02\xBC\x9A\x2C\x38\x8C\x55\x06\x07\x02\x84\x52\x97\x75\x0C\x21\x0B\x6B\xAB\x9B\x0F\x88\x30\x37\x6F\x8F\x20\xFC\x66\xAB\x94\x67\xA0\x97\x63\x07\x0D\x07\x70\xA2\x4A\xFA\x9B\xAB\x94\x4A\x98\x04\x43\x03\xBF\x91\x45\xAA", - "\x9B\xCB\x9B\xC4\x92\x66\x96\x9C\x0F\x23\x2D\x08\x71\xB3\x9B\xFD\x94\x00\x0D\x05\x1C\x9C\x35\x21\x31\x0F\x71\xBB\x9B\x97\x6A\x1A\x04\x72\xA0\x29\xD3\x03\xC9\x92\x71\xAB\x8D\x74\x07\x1D\x0B\x72\xB8\x29\xE1\x03\xC0\x99\x71\xB4\x8D\x43\x04\x21\x03\x73\x82\x23\xEE\x02\xCD\x90\x72\x92\x93\xCA\x07\xC3\x93\x5D\x42\x61\xB2\x0B\x3E\x01\x71\x8B\x9C\xD3\x7F\x93\x12\x74\xB6\x41\x44\x9E\x43\x07\x00\x34\x69\xB5\x98\x55\x73\x16\x2D\x02\x4B\x9E\x40\x09\x0B\x0D\x9D\x1F\x18\xD4\x94\x70\xB3\x98\x30\x07\x2E\x05\x75\x80\x00\xC7\x00\xD6\x97\x10\x1F\x00\x5A\x9F\xCD\x98\xD6\x55\x05\xC9\x03\xD7\x95\x0D\x22\x9D\xB2\x5D\xD9\x9F\x73\x9F\x6B\x74\x07\x35\x0B\x73\x80\x00\xE4\x00\xDB\x9C\xB5\x74\x69\xD2\x95\x14\x0C\x26\x0F\x1A\xE6\x02\x10\x6B\x92\x75\x0D\x52\x00\xEE\x1A\x3C\xAB\x70\x4C\x85\x1D\x13\x05\x01\x06\x69\x96\x5C\x6B\x14\x8C\x8F\xDA\x0C\x15\x0B\x77\x9A\x13\x7E\x9E\xF4\x83\x6F\x41\x06\x87\x9C\x5D\x08\x0E\x36\x9D\x57\x75\xE4\x9D\xDA\x6E\x5F\xEB\x03\xD7\x95\x37\x04\x01\x74\x6B\x5C\x85\x05\x1D\x94\x0E\x07\x3D\x0E\x79\xB8\x0B\x4F\x01\xE8", - "\x9D\x39\xA4\x94\x1C\x07\x00\x01\xCF\x00\x9C\xF8\x0A\x16\x0E\x76\x86\x04\xA3\x9D\x4B\x93\x16\x10\x00\xAF\x9D\xF2\x23\x7B\x83\x04\xB5\x9E\x4D\x98\x30\x39\x9E\x0F\x22\x1C\x0B\x7B\x82\x04\xBD\x9E\x9F\x95\x15\x2A\x00\xC0\x9D\x0D\x2E\x07\x03\x9F\x00\x01\xF1\x96\x68\x83\x05\x37\x01\x3C\x3F\x6E\xB0\x0F\x8A\x02\xEA\x98\x10\x0E\x9F\xF0\x65\xE4\x79\x7C\xA0\x29\x95\x00\xF3\x98\x7D\xA0\x86\xA6\x0F\xF6\x98\xA7\x02\x6C\x0A\x9D\xF3\x95\x42\x80\x3C\xE2\x9E\x30\x2D\x0A\x1E\x9F\xFD\x4F\x73\x69\x7E\xAF\x2E\xB9\x00\xFB\x91\x06\x95\x05\x77\x03\xFB\x95\x37\x05\x03\xF2\x9D\xA4\x44\x81\x36\x9F\xF8\x09\xCD\x65\x7E\x9F\x9F\x5C\x61\xA3\x01\xCF\x23\x9B\x60\x29\x37\x08\x77\xAB\x9E\x1B\x53\x93\x1C\x7F\x96\x8B\xF9\x9E\xD1\x74\x17\x2C\x02\x0B\xA2\xF6\x06\x0F\x0D\xA0\x4C\x7F\x88\x62\x7D\xA2\x24\x71\x6E\x10\x9F\x7D\xA3\x96\x03\x05\x31\x07\x81\xAC\x20\x9D\x6E\xE8\x92\x88\x51\x03\x03\xA2\x48\x28\x01\x1D\x6E\x04\xA0\xEF\x92\x88\x5F\x03\x25\xA3\x03\x2C\xB9\x5B\x22\x08\xA1\x6F\x90\x13\x2D\x03\x11\xA0\xFC\x04\x03\x1D\x6E\x4A\x93\xF7\x98\xE2\x42\x04", - "\xFA\x01\x0D\xA5\x47\x00\x01\x38\xA1\x0C\xAF\x89\x6B\x06\x07\x03\x1C\x00\x83\x8F\x20\xC3\x6D\x94\x92\x84\x83\x04\x96\x91\x28\x26\x84\x87\x91\x0F\x21\x16\x01\x84\x97\x9F\xCA\x83\x58\x02\x02\x0F\xA1\xAE\x95\x2A\x83\x85\x87\x04\xDF\x9D\x76\x5F\x02\x18\xA1\x3F\x21\xC6\x58\x82\x8B\xA1\xB4\x61\x43\x2D\x03\x20\xA1\xCF\x0F\xE5\x63\x86\x94\xA1\x97\x6B\x12\x08\x86\xB6\x20\x22\x25\x23\x0B\x86\x9C\xA1\xE5\x83\x41\x09\x05\x2F\xA1\x29\xA2\x30\x2B\x09\x33\xA1\xB4\x9E\x34\x63\x14\x27\x01\x78\xA1\x14\x9D\xB9\x52\x97\xDF\x9E\x83\x9E\x10\x35\x01\x81\xA1\xF2\x33\x88\xA4\xA1\x00\x02\xA9\x23\x14\x03\x02\x6F\xA2\x74\x90\x09\x2F\xA1\xB2\x0B\x30\x0B\x85\xBD\xA1\x88\x8C\x4C\x02\x09\x11\xA2\x1E\x14\x25\xAE\x10\x0F\x03\x97\xA2\x0A\xAB\x10\xA3\x05\xA1\x00\x27\xA3\x1B\x9E\xA2\xB2\x41\x28\xA4\x7C\x99\x8E\x74\x04\x2C\x06\x8A\x87\x04\xBD\x00\x2A\xA7\x10\x27\x03\xAA\xA2\xF9\x9A\x34\x57\x12\xAF\xA2\x41\x0C\x0C\x32\xA2\xB5\x59\x2D\xAF\x7D\x89\x94\x03\x06\x33\x09\x88\x87\x04\xDC\x00\x2F\xAF\x1D\x0B\xA2\x70\x86\xFB\x5E\x0D\x2F\xA1\xD3\x9D\x1D\x1C", - "\x00\x04\x73\x4A\x93\x15\x04\x7A\x88\x04\xEA\x00\x33\xA6\x82\x90\xA3\x59\x44\xEB\x98\x11\x36\x03\xB9\xA3\x89\x44\xCC\x52\x97\xD2\xA2\xED\x9E\xE1\x34\x01\x4A\xA3\x03\x21\x03\x1F\xA3\xD9\xA3\x08\x87\x2E\x24\xA3\x50\xA1\x0D\x2E\x03\x28\xA3\xC9\xA2\x4F\x9C\x11\x1D\x00\xEC\xA1\x16\xAE\xA3\x70\xA3\x3A\x98\x6C\x74\x17\x2A\x00\xF5\xA0\x3B\x95\x83\x18\x01\xD8\xA1\x3C\xAA\xCC\x2B\x06\x36\x01\x3F\xA3\x82\x22\x24\x64\x00\x3E\xA6\x10\x21\xA3\x07\x07\x55\x98\x35\x06\xA4\x09\x21\xC6\x5A\x90\xA5\x8E\xE7\x9D\x58\x00\x91\xB0\x9E\x70\x0E\x1F\x03\x91\x82\x04\x0C\xA6\x41\x0B\x56\xBA\x91\x17\xA6\x48\x2B\x08\x1B\xA4\xB0\x2F\x5C\x90\x13\x2A\x01\x21\xA7\x03\x28\x09\x24\xA4\x1D\xA6\xB9\x83\x16\x37\x01\x29\xA5\x0D\x25\x0A\x2C\xA4\xB1\x71\x55\x04\x08\x10\xA4\x79\xA3\xEB\x22\x0B\x04\x73\x39\xA5\x4B\xA9\x2F\xB4\x05\x92\x01\x4C\xA4\xBD\x74\xA4\x32\x6B\x93\x12\x94\xB8\x29\xCD\x00\x51\xA6\x25\x19\x62\x10\xA5\x33\xA1\x48\x1A\x03\x01\xA5\x3E\xA3\x1E\x95\x05\xB8\x01\x53\xA2\x92\x26\x03\x51\xA7\x42\xA2\x88\x44\x03\x38\xA4\xBD\x64\xCC\x4F\x00\xE9", - "\xA1\x29\x87\x8B\x1D\xA5\x0F\x21\x00\x00\xD9\x60\xA5\x02\xA6\x41\x02\xE9\x1C\x04\xE0\x03\x51\xA2\x8C\x10\x00\x90\x74\x38\xA0\x33\xB4\x98\x6E\xA5\x59\x91\x97\xA1\xA5\x43\xA0\x5D\x0A\x0F\x24\xA5\x35\x22\x0A\x00\xD9\x7D\xA4\x36\x78\x46\x08\x00\x35\x01\xE5\xA1\x07\x77\x97\xA9\xA5\xAD\x63\x45\x84\x98\xAD\xA3\xD8\x9B\x61\xA2\x95\x9A\x9C\xAF\x43\x62\xA1\x88\x18\x82\x67\xA4\x5E\xAA\x4B\x1D\x15\x92\xA5\x18\xA1\x25\x55\xA6\x88\xA4\x5D\x2D\x90\x3E\x00\x99\xA5\x1A\xAF\x80\x30\x01\x9C\xA7\x63\xA4\x4B\xB0\x04\x4C\x01\x68\xA0\x87\xB6\x69\xA5\xA6\x56\xAC\x0E\x86\x04\x5A\x02\x6A\xA9\x93\x85\x27\x7F\xA6\x65\xA1\x4E\x14\x4B\xB2\xA6\xA4\x85\x9B\x9D\xA6\x8D\xA2\xBE\x8A\x9A\x92\x97\x83\x02\x6A\xA2\x2B\x2A\x02\x8E\xA6\x6B\xA9\x74\x8D\x46\xBF\xA6\x43\x02\x09\x02\xA7\x0E\x07\x2D\x05\x9C\x94\xA4\xA3\xA2\x18\x49\x9C\x95\x3C\xCC\xA6\x29\x5F\x9C\x9C\xA4\xAC\xA3\x62\x33\x9D\x87\x04\xB0\x01\x75\xA7\x10\x11\x03\xD7\xA5\x49\xA7\x8B\xA3\x05\xB2\x03\x76\xA6\x10\x3F\x02\xDE\xA7\x92\x71\x9E\xBE\xA4\x7C\x99\x25\x29\x9B\x89\x6B\xE9\xA6\x11\x2B\x9B", - "\x87\x04\x58\x01\x60\x06\x05\x2C\x1A\xAA\xA5\xEF\x87\x4C\x81\x06\xEC\xA6\xE2\x95\x78\x8C\x9E\xF0\x0E\x16\x06\x9F\x8F\x1A\xD4\x02\x6A\xAF\x77\xB1\x9E\x81\x05\x16\x0F\x68\x15\x03\xF1\xA6\x40\x07\x0D\x06\xA8\x86\x60\x01\x86\x9E\x97\x7D\x90\x76\x12\x9B\x05\x13\xA3\x01\x73\x84\xA2\x8C\x05\x00\x8C\x7A\x85\xAA\x8D\x9D\x17\xEF\xA5\x0D\x21\x01\x0C\x7A\xD2\x97\x85\xA2\x8E\xA7\x56\x47\xA1\x0D\x2E\x01\x24\xA8\xD3\x75\x9D\x9F\x83\x36\x01\x29\xAB\xF8\x5C\xA2\xBE\x66\xB0\x8B\x50\x0C\x01\x30\xA8\x78\x22\x48\x28\x03\x33\xA8\x07\x06\x89\xA8\x2B\xB0\x04\x2A\x00\x8E\xA6\x8F\x98\x9B\x1D\xA9\x8B\xAC\x6F\x2F\x15\x42\xAA\x66\xA7\x87\x7C\xA8\x06\x06\x8F\xAF\xE2\x30\x04\x45\x01\x92\xA2\x9A\xA8\x9B\x4C\xAB\x40\x0E\xA4\x8F\x81\x43\x07\x14\x02\xA5\xAB\xA6\x35\x23\x1A\x05\xA5\x82\x04\x57\xAB\xC8\x73\x14\x21\x01\x5B\xAB\x6C\xA8\x2F\x38\x01\x5F\xA8\x00\x01\xA6\xBC\x6C\x43\x07\x1B\x05\xA6\xA2\x24\x85\x01\x9A\xAB\xA6\xA1\x77\x03\x05\x1F\x0F\xA6\x8F\x20\x92\x02\x9C\xA5\x93\x9C\x28\x5B\xA8\x5A\xA5\x83\x1F\x02\x8C\x79\x4E\xAB\xA6\x8D\x91\x9A\x03", - "\x9D\xA5\x83\x2D\x02\x7A\xA9\x51\xA5\x15\x28\x02\x86\xA8\x98\x2A\x0B\x09\xAA\x4B\xA6\xC5\x6B\xA5\x98\xA4\xDA\x0F\x31\x05\xA4\xB4\xA8\x53\xA7\x50\x03\x0C\x13\xAA\x74\x93\xA5\xAD\xA3\x82\x62\xD0\x01\x9F\xA8\x00\x4C\x7A\x7E\xA9\x93\xAB\x82\xA2\xAA\x0F\x22\x3B\x04\xAA\x86\xA9\x32\xA0\x47\x0E\x0E\x0D\xAA\x78\x29\x3F\x00\xA9\x8D\x0A\xAB\x04\x3F\x00\xAB\x82\x23\x0A\x02\xE2\x75\xA2\xBC\x9B\x43\x06\x02\x07\x07\x08\x04\xA5\xA8\xD4\x2A\xF8\x42\xAA\x81\xA5\x40\x3F\xAB\xB9\xA8\x81\x4E\xAE\xAC\xAA\xA7\x12\xAB\x07\x09\x07\xAC\x93\xA6\x0F\x22\x0C\x0A\xAC\x98\xAA\x90\xA6\x5B\x2F\xAC\x9F\x59\x22\x27\x0F\x0A\xF8\x41\xAB\x60\xA9\x89\x8C\x11\x04\x01\xD7\xA8\xAB\x22\x92\x0E\x01\xDB\xAB\xB2\xAD\x1D\x4D\x24\x53\x01\xB8\xA0\x00\x1C\xAB\xAF\x2D\x17\x05\xAE\x94\xAB\xA7\xA4\x47\x02\x06\x2A\xAB\xEC\xA9\xDD\x0C\x06\x2F\xAB\x9F\xAB\x6B\xAB\x21\x34\xAB\x22\x27\x1E\x03\xAC\xA6\xAB\xB7\xA4\x5D\x00\x08\x3C\xAB\x0F\x21\x22\x0F\xAF\xB0\xAB\x14\x9B\x50\x0F\x08\x2A\xAB\x39\xA5\x27\x0A\xAE\xB2\x0A\x97\x03\xB4\xA9\xAF\x87\xA7\x43\x07\x27\x0C\xB0\x8E", - "\x04\xAD\x03\xC3\xAE\x10\x24\x02\x12\xAE\xA9\xA1\x9D\x83\x05\xAF\x03\xC5\xA8\x10\x3D\x02\x1A\xAF\x67\x0D\xB1\x96\xA9\xD9\xA5\x55\x0F\x0B\x22\xAC\x07\x05\x33\x05\xB2\x80\x3D\x27\xAD\xB7\xA3\x9E\x95\x05\xCF\x00\xCB\xAC\xAD\x6F\xAC\x06\x07\xFE\x75\x98\x9E\xAC\x2C\x85\xD1\x64\xB0\x87\x04\xEE\x00\xCE\xA3\x10\x05\x80\x31\xAB\x40\x0D\x05\x01\x06\x5C\x03\x37\x5A\xAE\x87\xA8\x70\x0E\x17\x07\x3C\x0F\x1A\xF1\x03\xD2\xA2\x79\x81\x12\x60\x02\xFB\x52\x0F\x2A\xAB\x94\xA8\xFC\x06\x0E\x31\xAC\x00\x01\xD5\xA7\x16\xBF\x03\x58\xAE\x48\x23\x0F\x1C\xAD\x5E\xAC\x99\x95\x6D\x38\x01\x45\xAE\x30\x20\x00\x1B\x81\x39\xA5\xD9\xA9\x17\x8E\x04\x1A\x00\xDA\xA8\xAC\x81\x41\x6C\xAF\x96\x8E\xA2\xBE\x54\x72\xAC\xB4\xA5\x83\x1C\x00\x75\xAF\x70\x05\xA3\xB0\x04\x36\x01\xDE\xAA\xA4\xA0\x29\x2A\x01\xDF\xA0\x9C\x3A\xA3\x63\x04\x11\x02\xB8\x87\xA4\x80\x83\x16\x82\x5D\xAE\xAD\x0D\x7C\xAC\x6B\xB8\x9C\xA9\xD8\x9A\xE1\xA6\x7D\x15\x9A\x0E\x07\x17\x03\xB9\xA6\xA9\x70\x0F\x14\x06\xB9\x83\x04\x90\xAC\x58\x9B\x1A\x2D\x01\x9B\xAE\x48\x21\x06\x1F\xAE\x02\x05\xE8", - "\xAA\x56\xAB\x06\x7B\x01\xE9\xA5\xB8\x68\xAE\x5D\xAE\x49\xAC\x11\x09\x02\xAE\xAD\x0D\x2D\x07\x30\xAE\xAA\xAC\x9D\xA8\xC0\x75\xAE\x60\x2B\x22\x08\xBB\xBB\xA9\x30\x05\x29\x03\xB9\xB5\xAB\xF8\x09\x26\x0B\x05\xAC\xAB\xAA\xAD\x13\x94\x0B\x3C\xAE\x59\x5F\xEF\xAA\xA8\x98\x83\xCC\xAD\x7F\x3E\xBC\x91\xAA\x63\x04\x34\x03\xB9\x99\xAD\x75\x10\x31\x0E\xB8\xB6\xAD\x99\xA8\x4C\x0D\x0D\x17\xAF\xF5\x87\xF6\xAE\xB7\xB3\x96\x57\x77\xF0\xA2\x92\x1E\x03\x5B\x80\x04\x0C\xBD\xA2\xA5\x11\x3A\xF9\xA9\xAA\xA9\xAF\xEB\xAE\x5A\xAB\x1A\x08\x00\x79\x01\xDA\xAF\xBA\x3E\x03\xD3\xAC\xAD\xA2\x52\x35\xAF\x73\xAC\x98\x2C\x00\x24\x84\x6D\xAC\xAF\xA0\x13\x24\x00\xFC\xAF\x5F\x22\x92\x1A\x00\x24\x84\xF2\xA5\xAC\x9F\x19\x05\xB3\xE0\xA8\xA7\x27\x84\xF6\xAE\xEA\xAA\xA7\x41\x01\x0D\xB3\x94\xA0\xA6\x3A\x84\x11\xB2\xB7\xA8\x11\x0F\x01\x15\xB3\xBA\xA2\x92\x05\x01\x24\x86\xFA\xA3\xBE\x95\xAB\x06\x06\x17\x0D\xC1\x84\xAF\x70\x0D\x15\x01\xC2\xB1\xAF\xE7\xA8\x5D\x0D\x06\x27\xB0\x35\x27\x0A\xB3\xC2\xB1\xAB\x18\x04\x1F\x00\xC3\x8F\x20\x75\x02\x0C\xB7\xB8\xBA\xAB", - "\x02\x07\x22\x07\xC3\xB5\x20\x85\x01\x02\xBC\xC2\x81\xAC\x46\x1B\x0F\xB0\xA6\x14\x02\x42\xB3\x0C\xB9\xB0\x86\x98\x1D\xB1\x4E\xA7\x0B\x1D\xB0\x29\x14\x00\xB3\xC4\x80\x00\x1F\x9A\xD5\x9D\xC4\x8E\x04\xC7\x00\x14\xBF\x23\x12\xB1\x4A\xB2\x8A\x9D\xC3\x17\xB1\xEB\x1E\x16\xB4\x27\x1C\xB1\x3B\xB3\x3C\x9E\x41\xA0\xB1\xB3\xA2\x18\xBD\xB2\xA4\xB1\x97\xAF\xCC\xA3\x14\x29\x03\x68\xB1\xE4\x4A\xC6\x86\x04\xD0\x85\x06\xBC\x27\x83\x05\xF9\x02\x11\xBB\x42\x0E\x2F\xB2\x09\x3A\x09\xC4\x87\x04\x61\x01\x60\x06\x06\x0F\x1A\x0A\x02\xF3\x2B\x92\x78\x03\x5C\x86\x52\x11\x18\x1F\x01\x8F\x1B\x02\x06\xC8\x93\xAD\x50\x17\x18\x01\x18\x01\xB2\x78\x67\xE2\x9B\x4D\x7C\x55\x82\xB3\xA3\x1C\x00\x0F\xB2\x55\x3C\xBE\x03\xC8\x88\x17\xBB\x4E\xF3\x2C\xB9\x9A\x0F\xF9\x00\x1B\xBF\x7D\x18\xA8\x25\x3A\x28\xB2\x92\x07\x00\x66\x29\x4E\xAF\xC9\xA6\xAD\x02\x05\x0A\x0E\xBC\x28\xB0\xDA\x0D\x05\x06\xA6\x2C\xAB\xAF\xB3\xDB\xA8\x10\x38\x00\xB3\xB2\x48\x24\x02\x37\xB2\x8F\x57\xDD\xA0\x1B\xBD\xB2\x0F\x21\x82\x80\xAC\x81\xB3\x08\x05\x2E\xB3\x14\x16\x01\x7C\xB2\x48\x22", - "\x04\x01\x8A\x02\x06\x32\xB0\x71\x03\x9E\xC6\x7B\x25\xB0\x37\x12\xB3\x00\x02\x06\x60\x13\x18\x01\xC4\xB1\x0D\x24\x04\x00\xB3\xC9\xB0\xE2\xA5\x15\x27\x01\xAA\xB3\x03\x23\x05\x2D\xB2\xC8\xB3\x40\xA6\xED\x1D\xB3\x60\x29\x18\x00\xCE\x87\x04\xD8\xB2\x43\xA7\x10\x04\x02\xEC\xB0\x9E\x20\x07\x2F\xB3\x06\x04\x36\xB1\x56\x8E\x04\x93\x01\x3D\xB2\x8C\x3F\x01\xF8\xB3\x29\xBD\x42\xA3\x05\xA2\x02\x3F\xBF\xBA\x0E\x02\x01\xB5\x34\xB2\xBB\x88\x28\x06\xB5\xDD\x0B\x24\x87\xB3\xE1\xB0\xAC\x93\x16\x00\x03\x0D\xB5\x47\x49\xD0\x80\x00\xD8\xB1\x00\xA3\x10\x0F\x03\xCE\x2E\x08\xB5\x83\x3B\x02\x66\x2A\x47\xB9\xCF\xBD\x9A\x0E\x07\x37\x05\xD1\xB0\x0D\xCB\x03\x45\xB8\xCD\xB8\x77\x02\x06\x3B\x07\xD2\x9A\x0F\xDA\x02\x4A\xBD\x45\xB5\x90\xE5\xB1\x0D\x29\x0E\x28\xB3\x11\xB5\x98\x0B\x1A\x0B\x00\x22\x2B\x28\xB0\x3F\x37\x03\x38\xB4\x3C\xB2\x88\x59\x00\x22\x2A\x48\xB1\x55\x8C\x8B\x11\x01\x3A\xBC\x09\xB4\x05\x29\x01\x51\xB2\x92\x16\x00\x48\xB6\x52\xBD\x0A\x9F\x33\x22\x28\x2D\xB0\x3F\x27\x00\xCC\x88\x2E\xB3\x97\xA8\x6A\x55\xB6\x48\x26\x03\x19\xB5\x52", - "\xB7\x81\x83\x16\x17\x01\x4E\xB7\x03\x25\x04\x0C\x8B\x46\xB6\x42\xB7\xF8\x63\xB3\x5D\xB5\x6B\x70\xD6\xB9\xB4\xCC\xAB\x7D\x2D\xD6\xBD\x76\x6F\xB6\x50\xB8\x5C\x0F\x1A\x85\x02\x88\x2B\x92\x73\x01\xCC\x8B\x60\x08\xCD\x9B\x02\x8F\x1A\x21\x02\xA2\x32\x0A\x75\x0C\x1D\x0C\x2C\xB2\x0A\xD8\xB0\x17\x0D\x90\x08\x02\x83\xB6\x48\x2B\x2F\x98\x93\x6A\xB4\xB5\x0F\x68\x0A\x02\x7A\xB4\xBE\x9D\xD7\xA1\xB5\x00\x01\x39\x0F\x68\x0B\x02\x95\xB6\xC8\x57\xD9\xB0\xB5\xFF\x77\xA3\x1C\x08\x1D\xB6\x35\x22\x1E\x0F\xD9\xB6\xB5\xE6\x07\xA3\x1D\x08\x24\xB6\x60\x2B\x1E\x07\xDA\xA3\xB4\xAF\x5F\xA3\x1E\x08\x2C\xB6\x78\x28\x1F\x0F\xDA\x82\xB4\x07\x05\x1F\x0F\x68\x0F\x02\x8D\xB5\x66\x57\xD8\x98\xB6\x95\x03\xA3\x11\x09\x3D\xB6\x35\x23\x1F\x0F\xDB\xA0\xB6\xEB\x07\xA3\x13\x09\x34\xB6\xC2\x21\x20\x07\xDB\x91\xB6\x06\x07\x22\x0F\x68\x14\x02\xC4\xB4\x98\x22\x08\x07\xB7\xA8\xB6\x41\x02\x0F\x0F\x1A\x96\x00\x73\xBD\xDD\x4F\xB7\x18\xB6\x06\xB1\x1E\x25\xB5\x40\xB1\x54\xB8\xDC\xB0\x0A\x0D\x27\x29\x04\xDE\xA0\x29\x96\x02\x79\xB9\xDD\xAD\xB0\x63\x07\x2D\x0B\xDE", - "\xB8\x29\x22\x8C\x42\x09\xD4\xA7\xB7\xB9\x1D\x55\x07\x0C\x33\xB7\xC2\x20\x2E\x0E\xDE\xB0\xB6\x07\x05\x2E\x0F\x68\x17\x03\x22\x2A\x7E\xA9\x0C\x0C\x8B\xCD\x04\x36\xBA\x0B\x16\x37\x05\xBA\x48\x2C\x0C\x08\xB8\x98\xB7\x2E\x0F\xDD\x0D\xB8\x0F\x23\x33\x00\xE1\xA7\xB7\xBC\x03\xA3\x10\x0E\x14\xB8\x49\x2B\x85\xBF\xDE\xA8\x09\x8F\x1B\x38\x0C\xE1\xA0\x29\xD5\x02\x87\xB0\xE0\x99\x31\x7C\x9D\x75\xB4\xD2\x58\xB7\x27\xBB\x40\x05\x0D\x0F\x1A\xE8\x02\x8A\xB2\x8C\x1A\x03\x2C\xB8\x6E\xB0\x73\xB3\x83\xFC\xB7\xEB\x2C\x0D\x28\xB5\x98\xB6\x26\x02\x4F\x72\xB8\x34\x75\x8D\xB0\xDD\xBE\x46\x8F\x18\x3F\x00\xE4\xBE\x03\x40\xBA\x3B\x02\xE4\xA1\xB7\x00\x5B\x58\x0C\x07\x36\x26\xD2\x64\x8F\xB7\xDE\x8E\xA2\x30\x04\x04\x0F\xE4\x9D\x72\x35\x1B\x95\xB4\x4E\xA8\x1F\x10\xB7\x87\xB0\x00\x2B\x01\xD4\xB0\xFC\x01\x02\x1A\xB9\xA4\x5C\xED\x7E\x61\xAB\x06\x23\x00\x99\xB2\xAE\x85\x47\x6A\xBA\xEB\x5D\xC9\x4B\x8E\x5A\xB7\xC7\xA0\x13\x34\x00\x6D\xB8\xBB\xA3\x04\x2D\xB9\xB2\x0A\x07\x00\xE7\x98\xB6\x69\x88\x00\x05\x04\x35\xB9\xBD\x48\x9E\xBE\x10\x2D\x00\x7B\xBB", - "\x79\xB4\x3A\x82\x04\x56\x00\xA0\xBB\x43\x42\xBA\x08\x04\x0F\x05\xE8\x9E\xB9\xC0\xA2\x40\x07\x06\x2D\xB9\x69\xB4\x00\x07\x07\x0C\xBA\x07\x07\xE6\x80\xE5\x88\x04\x67\x02\xFB\x59\x07\x2D\xB9\x3E\xB5\x1D\x1B\x05\x0B\x8E\x39\xA5\xA7\xB5\x3E\xA0\xBA\xBD\x70\xA9\xBE\x10\x26\xBA\xB0\xB0\x00\x05\x09\x0A\xBA\xA3\x63\xA3\xB9\x5D\x2D\x99\x18\x04\x29\x00\xEB\xA0\x29\x86\x02\xAC\xB3\x10\x2C\xBA\x07\x6F\xF9\x77\xEB\xB8\x29\x95\x02\xAE\xB2\xE9\x99\xB2\x35\x30\xA6\xB0\xA6\x24\x02\xD9\x8F\xB0\xB8\x10\x29\x01\x61\xBB\x7F\xA6\xCD\x9A\x0F\xBC\xB8\x62\x83\x16\x04\x03\xBF\xBB\xD7\x82\xEC\x80\x00\xD1\xBB\x63\x85\x15\x13\x03\xA8\xBB\x03\x25\x0B\x2A\xBA\x9C\xBA\xA3\x98\x10\x21\x03\xD5\xBB\xEB\x23\x0C\x17\xBB\xD9\xB8\xF8\x95\x15\x30\x03\xE5\xB9\xDD\x02\x0D\x28\xBB\x15\xA7\x6B\x0D\xEE\xB8\x0B\xE1\x00\xBC\xB3\xD0\x95\x05\x0E\x01\x1F\x0D\xE5\xB9\x80\xF6\xB8\x5C\x5B\x1A\x1D\x00\xFA\xB8\x96\xB5\xF5\x3D\xBB\x77\x57\x6A\x0C\x02\x01\xBC\x06\xB3\x03\x2E\x00\x29\x91\xEC\xA9\xBA\xBA\xD1\xA5\x72\x08\xBC\x86\x23\xF4\x29\x91\x95\xB9\xBA\xBD\x44\x8B", - "\x01\x11\xBF\x9A\xB5\x94\x4C\xBC\xAB\xB8\xB1\x90\x13\x1A\x01\x19\xBE\x07\xBF\x80\x3C\x00\x1C\xBD\xB8\xBC\x6C\x83\x61\x21\xBD\xA8\xB1\x48\x0B\x01\x69\x91\xA9\xB4\x6D\x83\x04\x77\x01\xCA\xB2\x92\x19\x01\x2D\xBD\xC7\xB4\xBE\x92\x55\x21\xBD\xA5\xB5\x37\x27\x01\x69\x93\x7D\xB1\xF1\x02\x62\x95\x01\xCE\xB8\x6F\xBD\xBC\x36\xBD\xAB\xA8\x11\x25\x02\x21\xBE\x55\xB5\x47\x09\x02\x25\xBF\xCF\xB4\x6F\xAE\x29\x49\xBE\x0D\x5D\xF4\xB3\xBA\xF9\x72\xC9\x62\xF4\x8F\x20\xA6\x93\xA6\xBE\xF4\x85\x9C\x30\x07\x34\x01\xF5\x9D\x9C\x53\xBF\xAE\xB5\x85\x95\x05\xE2\x03\xD7\xB5\x83\x06\x03\x61\xBE\xB2\xB7\x10\x29\x03\x50\xAD\xC8\xBB\x92\x55\x03\x69\x93\x60\x09\xEE\x80\xB6\x74\x06\x3C\x01\xF2\x84\xB6\xF8\x0A\x35\x09\x46\xB2\x0A\xE9\xBA\x62\xB6\xFA\x37\xBD\x22\x24\x36\x0B\xF7\x85\xBD\x06\x07\x38\x0F\x68\x36\x03\x6E\xBC\x00\x41\xF7\x84\xBE\x03\x06\x66\xBD\x0D\x49\xBE\x0F\x21\x31\x90\x50\x5B\xBD\xDC\x2F\xA3\x18\x0F\x10\xBE\x3B\x3B\xE2\xB6\xF2\xA9\xB6\x74\x05\x3E\x08\xF9\x85\xA0\x9A\xBC\xE5\xB3\x10\x2C\x03\xF2\x53\xE7\xB8\xA7\x1E\x03\xA1\xBC\xD5", - "\xB9\xDB\x8F\x1A\xFB\x00\xE0\xBF\x80\x1F\x03\x83\xBF\xE6\xBA\x96\x8F\x1A\xFD\x02\xEB\xB5\x83\x21\x03\xB1\xBE\xE8\xB9\xDC\xB4\x0D\xA6\xBE\x30\x23\x0E\x29\xBE\x62\xBF\x5A\x3F\x68\x00\x00\x7E\x00\x64\xB8\x48\x79\xBE\xAA\xBE\x76\xBF\x68\x02\x00\xC5\xBC\x93\x57\x95\x80\xBF\x6A\xBC\x44\x73\x16\x03\x00\xCD\xBE\x79\x22\x01\x44\xBD\xB2\xBF\x65\xAF\xB2\x15\xBF\x12\xBF\x03\x28\x0F\x18\xBF\xBA\xBC\x9F\x9D\x90\x23\x00\xDC\xBE\x8E\x22\x92\x09\x00\xF6\x92\xCF\xB9\xFC\xB0\xB7\x55\x07\x0C\x05\xFE\x8C\x29\x07\xB1\xFA\xBC\xF8\x96\x9D\x8F\x1B\x10\x0F\xFE\xBA\xA7\xF9\x93\xCB\x01\xFE\x8B\xB8\xC0\x5B\xFD\xB2\x92\x2E\x00\xF6\x91\x73\x09\xEE\x92\xB8\x74\x05\x12\x0E\xFF\xA6\xA3\x01\xC3\xFC\xB0\x00\x19\xB8\x74\x04\x13\x07\x00\xF5\x20\x34\x01\x02\xC9\xFD\xA0\xB8\x1C\x53\x03\xC7\xC1\x92\xC0\xE1\xBE\x33\x0F\x68\x12\x01\xEF\xBC\xDE\xB0\x37\x3A\x00\x0F\x95\xF8\xBF\xE2\xAB\x16\x1D\xC2\x48\x2C\x03\x21\xC0\xEB\xBE\xB9\x76\x91\x2F\xBF\x3A\xBC\xBE\x0E\x03\x36\x93\x15\xBD\x60\x0E\xE3\xAC\x40\x25\xC3\x03\x2E\x04\x28\xC0\xC1\xBE\x4B\x0F\x68\x28\x01", - "\x35\xC0\x3F\x2D\x03\xCA\x0B\x38\xC1\xF4\xBB\x4C\xAE\x94\x2C\xC0\x26\x80\x03\xCA\xC0\x54\xB8\x47\x0C\x07\x2F\xBF\xEC\xAB\x22\x0F\x03\xC3\x04\x62\x02\x3D\x9D\xF0\x81\x06\x60\xB9\x25\xB5\x47\x0D\x02\x4F\xC2\x30\x29\xEE\x95\xB1\x00\x03\x23\x0C\x04\xCE\x04\x9E\x01\x16\xCA\x56\x92\xC1\x0A\xC1\x86\x5E\x47\x5F\xC1\x08\x07\x2B\x02\x06\xC0\x02\x64\xC3\x04\xC5\x79\x71\x21\x68\xC3\x41\x00\x0C\x22\xC1\x8F\x01\x1B\xC1\xFE\x87\xBA\x00\x02\x30\x01\x07\xC6\x04\xD1\x02\x18\xCE\x09\x36\xC1\x29\xC1\x7B\xA7\xF3\x45\xC1\x08\x07\x38\x02\x06\xED\x02\x47\xC0\x42\x08\x06\x01\x06\xCC\xBA\x15\xC0\xA0\x8E\xBB\x18\x05\x23\xC7\x10\x25\x01\x8F\x19\x39\x0F\xFE\x8C\xAD\xDA\x0E\x1A\x01\x18\x0B\xC2\x8E\xC3\xB3\xB6\xC9\x98\x04\x55\xC0\x3F\x2D\xEC\x8F\xC2\xA4\xC0\x54\x1C\x06\x04\xBB\xD6\x86\x18\xC5\x37\x3D\x02\xF6\x93\x60\x07\x0A\xE7\x04\x30\xBA\x2A\xC8\x2F\x3E\x02\xAD\xC1\x25\x81\x18\x2D\x01\x8F\x1A\x3A\x07\x09\xD0\xB2\x18\x07\x1B\x07\x0B\xCF\x1A\xEB\x03\x2E\xCD\xC9\xB0\x0D\x70\x01\x60\x0A\xDB\xBB\x09\xC2\xC1\x0D\x2E\x59\xAE\x5F\xED\x03\xFB\xB8", - "\xBD\xB4\x44\x85\x95\x89\x08\xCA\x83\x04\xFA\x02\x33\xCE\xE0\x91\xC3\x70\x57\x87\xAA\x38\x3F\x01\xF6\xAD\xDD\x09\x0D\x36\x93\x39\xA6\x1C\x04\xEB\xA1\x22\xDC\xC1\xFF\xA8\xA7\x27\x03\xE0\xC2\x43\x02\x0E\xEA\xA3\x74\x07\x08\x05\x0E\xFA\xAD\x60\x29\x3D\x09\x0E\xD2\xC3\xF2\xA2\xC3\x8F\x0E\xCE\xB0\xC2\x23\x00\x09\x5C\xA1\xC3\xE2\xB3\x50\x0F\x03\x37\xC3\x8C\xAE\x88\xA0\x61\x90\x16\xE2\xBB\x41\x0C\x04\x00\xC4\x94\xAE\x14\x4B\x0F\xEA\xC3\x98\xAC\x42\x0A\x05\x08\xC4\x2A\xBC\x54\x1C\x02\x0B\xC4\xF4\xC3\x41\x0B\xCF\x8A\xC2\x10\xC5\xC5\x84\x11\xD9\xC3\xF7\xBB\x50\x06\x07\x19\xC4\x0F\x20\x12\x0B\x11\xDC\x1C\x0B\xB6\x43\x04\x08\x20\xC4\x35\x22\x15\x03\x12\xED\x10\x7A\x94\x46\x02\x09\x28\xC4\x60\x28\x19\x0B\x12\xC2\x04\xEB\xC2\xCD\x73\x16\x20\x02\x08\xC6\xD2\xB1\x48\x32\x01\xC9\x94\xBB\xA5\x13\xC6\x04\x4D\x93\x2B\x00\x13\xFF\x3D\x33\xC4\x41\xCF\xBC\xB0\x04\xBD\x03\x50\xC2\x8C\x37\x97\xF6\xAF\x4F\xC5\x81\xA3\x05\xCB\x00\x42\xCF\x0C\xD0\x15\x9D\x03\x40\xCE\x14\xC2\x04\x1C\xA3\x1A\x32\x15\xFA\x3E\x56\xC6\x20\x65\x0E\x39\xC4\x22", - "\x27\x2D\x09\x5C\x95\xBA\x57\xC4\xB7\x96\xFA\x20\xC5\x0F\x23\x31\x03\x16\xCC\xC4\xEC\x9A\x4A\x00\x08\x1D\xC3\xF8\x0B\x35\x05\x14\xE5\xC5\x3B\xA0\x00\x01\x01\x2F\xC5\xE6\xC3\xA7\x93\x17\xC2\xB0\x1C\x07\x07\x08\x17\xC9\xBC\x35\x23\x3C\x0D\x13\xEC\xC5\x5C\xBC\x47\x0E\x02\x3F\xC5\xF8\xC3\xEB\x22\x00\x2D\x29\xFC\xC0\xC3\x91\x95\x48\xC6\x16\xB0\x9E\x20\x01\x0C\xC6\x84\xC6\x41\x03\x07\x23\xC2\x9E\xC0\x24\xC5\x19\xDA\xBF\x55\x06\x12\x00\x19\xE2\xBC\x2A\xA9\x9B\x24\x16\xE2\xB7\x08\x05\x16\x0F\x19\xFA\xC4\x50\x16\x99\x9A\xF5\xA4\xC4\x97\x68\x1A\x07\x1A\xE2\x24\x3E\x02\x68\xCB\x19\xDE\xA6\x31\x9F\x6B\xC6\x03\xF2\xC6\x15\xC7\x8D\xB2\xA1\x36\xC6\xE8\x99\x9B\x2E\x13\xC2\x89\x3C\x18\x6F\xC3\x26\x7E\xC6\xB3\xC5\x6F\xA7\x31\x5F\xC6\x39\xA6\x2C\x0F\x19\xF2\x0A\x7C\x00\x65\xC9\x1B\xDC\x93\x6E\x28\x72\xCE\x10\x02\x03\xCB\xC5\x47\x0E\x1C\xDC\xC4\xC2\x69\x70\x82\x1D\xC8\x04\xD2\x01\x75\xC8\x10\x18\x02\xD7\xC4\x6B\xC6\xC6\x95\x05\xD4\x03\x76\xC7\x10\x22\x03\xDE\xC7\x41\x06\x0A\x21\xC7\x2C\xC6\x1B\xB0\x13\x24\x03\xE6\xC6\x76\xB9\x1E", - "\xC6\x04\xB4\x00\x7B\xC4\x13\xEE\x8E\xFE\x1A\x70\xCF\x14\x01\x02\xC6\xBE\x30\x04\x1C\xE4\x6F\x81\x04\x1F\x08\x19\xD8\x04\x05\x00\x7F\xC4\x50\x0F\x20\x74\x01\x60\x0D\x90\x24\x3F\x06\xCA\x42\x55\x83\x11\x03\x6D\x2B\x60\x09\x20\xFA\x64\xF3\xAD\x83\xC7\x65\x6C\x38\x11\xCA\x43\x03\x21\xC7\x04\x1D\x03\x6A\x09\x00\x16\xC8\x13\x57\x03\x23\x0D\x19\xC8\x08\x07\x86\xC6\x10\x16\x00\xAB\x06\x02\x00\x22\xE2\x59\x35\x20\x35\x04\x22\xF0\x89\xB3\x1B\x4E\xBB\x22\xEF\xBD\x2F\xCA\x41\x06\x22\xDA\x14\x2F\x1F\x8C\xC6\x2C\xB5\xC8\x03\x07\x8D\xC2\x10\x1C\x00\xBB\x4E\x8E\xCF\x80\x17\x03\x3C\xCA\x40\x0E\x23\xCA\x97\xFA\x42\x90\xC5\x83\x18\x03\x45\xC8\x00\x07\x24\xF3\x85\x18\x07\x03\x0A\x24\xE0\x29\xD9\x01\x93\xC7\x24\xDB\x00\xE7\x0B\x94\xC8\xA7\x1A\x03\x56\xC9\x60\x02\x64\x18\x22\x5A\xCA\x30\x2B\x0D\x1D\xC9\x49\x58\x4C\x02\x01\x21\xC9\x3A\xB8\x99\xC0\x90\x43\x05\x13\x00\x9A\xCE\x1F\xAA\xC9\xA4\x97\xBC\x0E\x26\xF8\x0B\xDE\x00\x9C\xC9\xB5\x17\x84\x73\xCB\xD0\x76\x27\xC2\x04\x1E\x03\x6A\x06\x01\x28\xC9\x17\x03\x8A\xC2\x2B\x20\x03\x4D\xC9", - "\x1D\x0E\x7E\x59\x00\x2B\xCB\x54\xC8\x11\x16\x9B\x3B\xAF\x40\x06\x28\xE7\x85\x26\x01\xA2\xC2\x92\x2E\x03\xE7\x9A\x41\x0F\x28\xED\xBA\x33\x03\x8A\xC1\x11\xD8\x04\xFB\x02\x7D\xC0\x00\x17\xCA\xBA\xB1\xB9\x0A\x29\xE7\xBF\x42\x61\x4E\xA0\x2A\xE0\x76\x1C\x07\x13\x03\x2A\xCF\x20\x17\x01\xA9\xC7\x88\xBF\xAD\x1D\x37\xAA\xCB\x38\x6E\xCA\x55\x61\x3F\xC0\x13\x2B\x01\x92\xC9\x31\xB3\x77\xA7\xCA\xD9\x9E\x03\x12\x2B\xE0\x29\x40\x00\xAD\xCB\x72\x0D\xC4\xCC\x3F\xAF\xC8\xA7\x0E\x01\xC2\xCA\xA5\xC1\xEF\x86\x04\x94\x02\xB1\xC2\x8C\x1C\x01\xC9\xCA\xA3\xCD\x7E\xB0\x04\xA2\x02\xB3\xCF\xBA\x2A\x9C\xF6\xAC\xAF\xCC\xA6\xA7\x29\xD6\xC9\xDD\x08\x07\x11\xCB\x02\x06\xB6\xCA\xBB\x80\x00\xBE\x01\xB7\xC2\x75\x20\xCB\x9F\xC8\xF0\xAC\x11\x0C\x03\x2B\xC8\x6A\xC8\x11\x14\x02\x42\x60\xBB\xAA\x2D\xCD\x91\xDB\x02\xB9\xC0\x37\x23\x02\xE8\xCA\xB6\xCC\xD2\xB1\x29\xF6\xCA\xF6\x01\x0B\x39\xCB\x33\xB6\x41\x29\x2B\xF5\x20\xBF\x03\xAE\xCF\xF2\xAA\x0B\x82\x01\xA3\xC2\x8C\x0C\x03\x06\xCF\xCD\xB1\x01\x09\xCC\x02\xBD\x0D\x29\x0D\x02\x61\x95\xBA\xB6\xC0\xE1\x4B", - "\x3E\x10\xCC\x60\xC0\xA6\x29\x03\x14\xCF\xAB\xCD\x16\xE9\x0C\x19\xCD\x62\xC5\x37\x39\x03\x00\xCF\xD3\xBC\x11\x3D\x00\x21\xCD\x64\xC2\x8C\x07\x00\x2D\xA3\xB0\xC5\xF5\x9E\x26\x29\xCC\x68\xC0\xA6\x15\x00\xF1\x32\xBC\xCB\xC0\xAF\x1B\x31\xCF\xA6\xC9\x23\x6D\xCC\xCA\xCA\x63\xC3\x14\x28\x01\x39\xCE\x48\x22\x03\x3C\xCC\xD2\xC8\x2B\x96\x07\x31\xCC\xEE\xCA\x43\x00\x04\x31\x33\x15\xCC\x69\xCA\xCC\x08\xCD\xA6\x7C\xD3\xCE\x31\xE1\x9C\x94\x00\xD4\xC4\xA5\x52\xCD\xB5\xCB\xA5\x63\x0A\x16\xCD\x35\x20\x1C\x08\x35\xEE\xCC\x05\x9B\x72\x4C\x35\xE0\x29\x80\x01\xCD\xC3\x35\xF8\x9C\x30\x05\x30\x03\x36\xF8\x29\x8F\x02\xD9\xC9\x35\xFD\x8D\x0F\x65\xD0\xC6\x2C\x31\xCC\xB2\x0A\x27\x04\x34\xE1\xCB\x67\xB8\x5D\x00\x0E\x32\xCD\x40\xAC\xDD\xC1\x19\x37\xCD\xE9\xCA\x9C\xBB\x58\xBC\xCD\x06\x06\x3F\x0E\x37\xC8\x04\xBA\x00\xE0\xCA\x2D\xFD\xB9\x00\x03\x20\x06\xBF\x8E\x00\x8E\xCF\x81\xC7\x10\x08\x03\x8A\xCD\x27\x47\x7B\x91\xCE\xF0\xC3\x40\x0E\x01\x18\xCE\x65\xBA\x41\x06\x0D\x15\xCE\x77\xB0\x4C\x00\x02\x1C\xCE\x1A\xBD\xCA\x04\x3A\xEE\xB9\x06\x04\x39", - "\x0E\x36\xC7\x04\x76\x00\x2A\xC3\x78\x27\xCE\x2B\x67\x3C\x01\xCF\x03\x06\x77\x02\xEB\xC3\x14\x32\x00\xA7\xCE\x07\xCA\x3D\x34\x03\xF1\x32\xAC\x05\x3B\xF0\xC2\x74\x04\x0D\x09\x3B\xE4\x39\xBD\xCE\x43\x08\x07\x21\x10\x8F\x1A\x0D\x00\x3B\xFC\xC2\xCA\x10\xF2\xC6\xFC\xB7\x00\xCB\xCF\x30\xCF\xCC\x41\x06\xBF\xCE\xF3\xB2\x3D\xDF\xC2\x14\x05\x60\x0D\x3A\xDD\xC2\xFE\xA5\x29\xC8\x11\x3B\x01\x81\x06\xB6\xCD\x3D\xD9\xC6\xDE\xCE\x43\x02\x20\xE5\xC8\x03\xC8\xF3\xC0\x3C\xD8\xC7\x2A\x71\x35\xB3\x3E\xD8\x04\x7E\x01\x60\x01\x08\x29\xCF\xD7\xCD\x1D\x11\x3F\xE6\x61\xF4\xCE\x32\xC8\x2F\x00\x02\x81\x07\x1F\x0F\x68\x38\x00\xC3\xCD\xFD\xC1\x48\x33\xCF\x08\x06\xFF\xC4\x17\x3A\x00\x01\xD2\xFE\xC0\x37\x02\x02\x81\x04\xFF\xCC\x3D\xEA\xCF\x07\x07\x20\x01\x5E\x0F\x1A\x3C\x01\xF4\xCA\x40\xDA\x0F\x12\xD2\xF0\xBB\xCC\x56\xD0\x60\x29\x37\x1B\xBB\x39\xCF\xD9\x45\x02\xD8\xEB\xB2\xCF\x20\xD0\x9E\x28\x0F\x33\xCE\x5C\x05\x60\x0C\x40\xCF\xD0\x0F\x21\x3E\x08\x42\xC8\x04\x87\x02\xFB\x50\x04\x27\xCE\x8A\xCA\x43\x0D\x83\x8A\xCC\x00\x01\x0C\xD7\x16\x8D\x01", - "\x34\xD3\x2A\xBD\x8D\x82\x04\x3A\xD1\xAB\xBA\x05\x27\xCE\x3A\xCC\x42\x04\x01\x03\xA3\x06\x05\x10\xD1\x2A\xC6\x04\x68\x00\x11\xD2\x92\x17\xA1\xF6\xAE\x12\xD8\x2A\xD8\x04\x76\x02\x13\xDF\x80\x30\x00\x48\xD2\xC5\x50\x2B\xC1\x7F\x56\xD2\x3B\xA9\x45\xC0\xD1\xB6\xC8\x47\x02\x09\x3D\xD0\x48\xA3\x0F\xD9\x43\xC5\xC4\xEA\x11\x17\xD0\xA6\x37\xA1\x51\xD0\xB1\xC6\x10\x2D\x02\x6A\xD0\x9E\x20\x88\xAD\xD1\x9C\x98\x47\x0B\x0B\x31\xD1\xC2\x20\x22\xA4\x47\xE2\x9A\x65\x5C\x1E\xDF\xBA\x10\xA2\x7B\xD1\xAA\x95\x77\x7E\xD1\x75\x0D\x24\x0F\x45\xE7\xD1\x12\xB5\x55\x05\x0E\x04\xD2\xF8\x0B\x27\x07\x48\xD2\xD1\xB7\x99\x55\x03\x0F\x27\xCE\x49\xCC\x42\x0D\x0A\x2F\xA1\xEC\xA8\x24\xD0\xF4\x68\x69\x84\x00\x5C\xC0\x37\x3C\x02\x8F\xD2\xC7\xBC\x11\x10\x00\x9D\xD1\x5E\xCF\xBA\x0A\x03\xA1\xD3\xC9\xBC\x11\x1E\x00\xA5\xD3\x90\xA4\xD2\x66\xD1\x9A\xD1\x56\xC0\x00\x2B\x00\xAD\xD3\x6D\x92\x92\x25\x03\xB0\xD2\x20\x68\x03\x35\xD2\xA5\xCD\x5C\x4F\x86\x95\xBA\x9A\xD3\xC5\xCE\x19\xBC\xD2\x32\xCE\x93\x70\x91\x80\xD3\x6C\x7C\x4C\x06\x05\x04\xD3\x45\xD3\x41\x02", - "\x01\x3C\xA5\x49\xD3\x56\xB9\xBD\x4C\xD3\x22\x24\x08\x00\x4D\xDA\xD1\x2F\xCD\x55\x02\x07\x04\xD3\x95\xD3\x41\x0E\x02\x10\xA4\x99\xD3\xCD\xC6\x10\x01\x02\xD4\xD3\x03\x2D\x03\x17\xD3\x60\xD2\xCF\xC3\xA2\x25\xD3\x3E\x68\x3A\xD8\x48\xE4\xB0\xBE\x44\x37\xD3\xF3\x87\xD3\x0E\x06\x26\xD9\x5D\x6C\x02\xF2\xD3\x03\x29\x06\x34\xD3\x30\xD1\x1D\xA6\x10\x3B\x02\xF9\xD1\x0D\x29\x07\x3C\xD3\x07\x06\x26\xD9\xDF\x85\x9B\x01\xD4\x98\x29\x08\x04\xD4\xD1\xD0\x0F\xB0\x00\x19\x03\x09\xD4\x9E\x29\x09\x20\xD3\xF5\xD0\x70\xC5\x15\x28\x03\x11\xD6\x30\x28\x0A\x14\xD4\xFD\xD2\x3E\x85\x15\x37\x03\xEC\xD3\x42\x18\x26\x72\x0A\xB7\x02\x3B\xDA\x49\xDC\xC1\x07\x00\x9A\x49\x93\x95\x00\x23\xD7\x5E\x16\x52\xD2\x9D\x55\x07\x05\x0A\x52\xCE\x04\x25\x01\x4B\xD8\x10\x13\x03\x2F\xD6\xF9\x73\x14\x27\x00\x33\xD5\x82\x66\x53\xE2\x37\x39\xD7\x3F\x9D\x70\xBD\xD4\x67\x93\x4F\xDC\xBD\x01\xD5\x48\x98\x4C\x07\x04\x28\x49\xEC\xAA\x15\x06\x54\xC3\x04\xFD\x00\x47\xD7\x10\x08\x02\xB6\xCF\x36\xB8\x26\x6B\x64\x0C\x00\x84\xAB\x16\x01\x06\x84\x03\xA3\x19\x05\x17\xD5\x10", - "\xD2\x41\x0A\x08\x01\x06\x54\xD4\x0B\xD7\x41\xF0\x0F\xD2\xB4\xBF\x15\x42\xC1\x66\x70\x0C\x23\x0E\x7E\x5A\x01\x68\x49\x0D\xD1\x65\x9A\xA8\xF2\x3B\x34\xC2\xE9\xB1\xD5\x07\xB0\x5D\xDE\x56\xD7\x8A\x1C\x04\x1D\x04\x54\xE0\x29\x27\x01\x88\xA7\x20\x23\xC3\x66\x63\x5F\xD8\xA7\x35\x00\x82\xD6\x55\x92\xCC\x90\x02\x86\xD6\x30\x23\x04\x09\xD6\xEA\x4F\x16\xD0\x06\xCD\xD6\xAF\x2D\x14\x00\x59\xF5\xD5\x46\x97\x03\xA8\x57\xCF\x20\x5F\x02\x5E\xD8\x46\xC3\x04\xB9\x00\x65\xD6\xAF\x97\xD6\x7B\xD5\x43\xAB\x1A\x07\x03\xA2\xD4\xBE\x0A\x07\x24\xD6\xCB\xCA\x8B\xB9\x5A\xF0\x0D\x88\x00\x6B\xDD\x11\xF0\x04\xE3\x03\x6B\xDA\x3D\x16\x02\xB2\xD6\xBF\xB4\x0D\x76\xD6\xF0\x0C\x29\x09\x5B\xC5\xBC\x74\x0C\x6F\xD5\x47\x25\xA7\xF6\xAD\x69\xD7\x29\x74\x05\x0D\x00\xEF\x2D\x4D\xC6\x04\xC0\x02\x6A\xAC\xAE\x86\xD7\x5F\x39\x2A\x3C\xBB\x0D\xD3\x9C\x0B\x6F\xD5\x2A\x7B\xA3\xD3\xD6\x48\x2D\x0D\x16\xD7\xAC\x48\x5D\x08\x03\x3C\x2E\x72\xD7\x41\x0B\x0E\x1E\xD6\xDD\xAC\x47\x05\x04\x20\xD7\xFB\x5C\x79\xDC\xBE\x9C\x04\x52\x02\x72\xD2\x92\x05\x00\x5B\xA9\xA5\xB0\x5D", - "\xCD\x17\x0D\x25\x18\x0E\x5E\xE7\x60\xF1\xD6\x43\x03\x5F\xEE\xBA\xAB\x04\x1C\x09\x5D\xC1\x4E\xB7\xA8\x66\xD6\x5C\xA3\x05\x7E\x03\x7F\xD5\x83\x33\x00\x01\xDB\x7E\xD0\x8A\x4C\x02\xF7\xD4\x22\x88\xAA\x8D\xA4\xE2\xD3\x40\x0B\x09\x06\xD8\x60\x28\x14\x09\x60\xE3\xBD\x94\x34\x85\xD8\xA7\x1E\x01\x17\xD8\x2B\x97\x0B\x0D\xD8\x11\x5D\x7E\xDC\x40\x0E\xCD\x06\x06\x31\x00\x62\xF5\xB6\x22\xD8\x84\xD7\xA9\x55\x03\x27\xDB\x31\x89\x62\xC3\xD6\x97\x68\x39\x0D\x62\xEF\x2E\x9C\x03\x8B\xDA\x58\xCE\xD4\xF3\x03\x8C\xD5\x37\x2C\x02\x0F\xD8\x8C\xD0\xFC\x41\x07\x87\x03\xBE\xB8\xA7\x3B\x02\x3D\xDB\x8D\xD0\x37\xF6\xB7\x41\xDA\x29\xDF\x01\x09\xD9\x5B\xBA\x32\x0D\x61\xD4\xAC\x30\x05\x08\x0C\x64\xC9\xC6\x2F\x03\x94\xDF\x4E\xAB\x31\x4F\xD9\x3A\x93\x78\x16\xD9\x09\xC6\x40\x0F\x03\x1C\xD9\xB2\x0A\x39\x09\x65\xDD\x75\x74\x05\x10\x0C\x65\xF9\xA4\x4F\x00\x98\xDE\x10\x34\x03\x63\xD8\x01\x74\x17\x11\x01\x67\xD9\xE6\xAA\x66\xE4\x07\x36\xAE\x91\xD9\x54\xE6\x34\x5C\xD8\xBB\xA0\x07\x33\xD9\xBE\x27\xCF\xA6\x10\x0D\x02\x2D\x5F\x5A\xDF\xBA\x35\x0D\x80\xD9", - "\x17\xBC\x11\x32\x01\x5C\xDB\x4A\x6F\x01\x12\xAD\x22\x05\x60\x02\x09\x02\xDA\x5B\x65\x20\x1E\x08\x01\xDA\x66\xD5\x07\xD8\x2F\x13\xDA\x86\xD8\x30\x19\x68\xD5\xD3\x8C\xDB\x41\x08\x69\xEE\x8F\x90\xDB\xF2\x80\x55\x0F\x02\x55\xD5\x5F\xDB\x69\xCF\x20\x21\x01\xA7\xD6\x10\x10\x02\x94\xD8\x58\x64\x78\xA5\xCF\x8D\x10\x57\xDF\x68\x35\x01\xA7\xDB\x59\xD5\x47\x0F\xDA\x31\x05\xA8\xDF\x6A\xCA\x8A\x17\x12\xAE\xDE\x3E\xCE\x04\x94\x01\x60\x03\x09\x3E\xDA\xD8\xCF\x38\x24\x70\x04\xDB\x9A\xC7\x08\x81\x18\x34\xBD\x63\x06\x1D\x05\x6B\xD6\xDA\xD5\x26\x0C\xCF\x68\x37\x01\xCF\xD8\x9E\x25\x37\x16\x02\xBB\x2B\xF3\x85\x6D\xC2\x04\x79\x00\x9F\xD0\xA6\x18\x02\x81\x07\x25\x0F\x68\x3B\x01\xDB\xDB\xA0\xD5\xBC\xA1\xDB\x8F\x18\x1F\x05\x6E\xD1\xDA\x4A\x5D\x60\x00\x6E\xD5\xDA\xD6\xD8\xBE\x03\x03\xDE\xB9\x18\x05\x1F\x0B\x6E\xF8\x0B\x22\x02\xAA\xD2\x61\xF8\x19\x82\xDA\x1F\x0E\x6D\xF8\x29\x9C\x01\xB6\xD0\x6F\xC2\x04\x80\x03\xBF\xD2\x8C\x1D\x02\xEE\x5E\x20\x0C\x65\xE1\xD7\x06\x07\x08\x01\xB6\xB3\x36\x76\xD5\x17\xCB\x70\xFA\x8F\x0F\xDE\x0E\xCC\x57\xD8", - "\x04\x9C\x01\x9C\xD6\x4E\xF5\xD9\x88\x41\x60\x0F\x09\x08\xDB\xB0\xDA\xC5\xD0\xB0\x62\x57\x1A\xDE\x8F\x6C\x71\xFB\x13\xC2\xB0\x2E\x05\x72\xEB\xD1\x27\xDC\xC2\xD5\x0F\xEB\x3D\x2B\xDE\x1C\xDD\x72\xE1\xD1\x18\x04\x35\x03\x71\xF8\xB0\x15\xDF\x74\x5F\x59\xDC\x23\x31\xDE\x30\x22\x08\x33\xDC\x0C\x13\x6A\x0F\x0E\x3D\xDC\xAF\x2C\x24\x00\x74\xD6\xC4\xAA\x08\xD1\xD5\x37\x1E\x02\x47\xDE\x47\xAB\xD3\x88\x02\x9E\xD2\xF6\x0C\x0A\x0D\xDD\x2D\x13\x50\x20\x75\xE6\xD2\x75\x0E\x2E\x04\x75\xEB\x81\x55\x07\x09\x07\x75\xD9\xCE\xC2\x20\x32\x0B\x75\xF2\x81\x78\x2F\xD7\xD8\xAD\xB1\x94\x7E\xD8\x91\xB9\x80\x95\x05\x44\x02\xD9\xDA\x32\xEF\x2E\xE5\x03\xD8\xDB\x2F\xD2\x01\x6E\xDD\x97\xDF\xBA\x33\x03\x63\xDC\x80\x70\x06\x35\xDD\x0C\xDD\x54\x00\xBE\x90\xDC\xE5\xD6\x2D\x1C\x77\xCC\x5A\x7F\xDE\xC8\xDB\xD4\x81\x20\x75\xDF\x72\xDD\xE5\x13\xAE\x95\xBA\xCB\xDB\x5E\xF2\x67\x89\xDD\xEE\x5C\x78\xC5\x94\xC9\xD0\x47\x08\x09\x35\xDD\xD4\xD5\x24\x71\xBD\xA8\xDC\x26\xCC\x46\x06\x0A\x18\xDE\x22\x25\x12\x0B\x79\xCE\xDE\x79\xA7\x58\x04\x0B\x11\xDE\x0F\x23\x15", - "\x0E\xBE\x86\xDE\x4C\xA0\x7A\x00\x7A\xFC\x6D\xA3\xDC\x86\xD0\x13\x11\x03\xAF\xDD\x0D\x24\x07\x31\xDE\xAC\x93\x37\x08\x7A\xE2\x56\x93\xDC\xE0\xD0\x4F\xED\xB4\xBB\xDC\x98\x22\x09\x3D\xDE\xAC\xDC\x6D\xC3\x16\x3D\x03\xC1\xDC\x9E\x22\x0A\x04\xDF\x3A\xDF\xA5\x6C\x00\x09\x02\x42\xDA\x30\x22\x0B\x0C\xDF\x6A\xDD\xD8\xC8\x11\x1B\x00\xD0\xDD\xC4\xC0\xA6\x02\x03\xAB\xDD\xF3\xDF\x63\xCD\x5B\xD9\xDE\xC6\xC8\xA7\x11\x03\xDD\xDD\xF5\xD0\x74\xB0\x44\xE1\xDD\x62\xC7\x04\x29\xDF\x57\xD9\x98\x28\x7B\xD0\xD9\x1C\x05\x12\x0C\x7E\xF6\xDD\x57\x03\xFC\xD2\x2B\x2E\x03\xEF\xDE\x96\xD3\x14\x19\x01\xF3\xDD\xA9\xB6\x7F\xCE\x04\xFC\x01\xFE\xD4\x66\xE3\x05\x69\x01\xFF\xDE\x10\x37\x01\xFF\xDC\x7E\x11\xC7\xA6\xDF\x67\x9F\x50\x09\x07\x06\xE0\x30\xD1\x02\xE8\xCA\x4B\xE0\x1D\xDD\xE8\xC3\xBB\xB3\xDF\xEC\xA8\x26\x02\x81\xD6\x4F\x7A\xB3\xCF\x4E\x7E\x5A\x02\xF3\xDD\xDF\xD6\x9E\x5D\xB0\xD2\x96\x27\x01\x71\xE7\x02\x21\xE2\x33\xB4\x82\xE0\xC1\xDA\xC3\x41\x04\x0B\x10\xE0\x93\x84\x05\xE5\x79\x44\xD6\x26\x28\x0C\xE0\xA6\x1D\x01\x32\xE2\x09\xEC\x0E\xD5\xAF", - "\x36\xE0\x9E\x2B\x06\x39\xE0\x92\xD6\xB1\x0D\x83\xFE\x35\x40\xE1\x66\xD3\x16\x2C\x03\x29\xE3\x03\x27\x08\x2B\xE0\x6D\x1B\xCE\xD0\x00\x39\x03\x43\xE3\xEB\x24\x09\x05\xE1\xA6\xD4\x8A\x3A\x08\x11\xDD\xF0\x0E\x28\x04\x85\xFF\xD9\x17\x87\x15\xE8\x75\xF8\x0B\xB0\x03\x16\xE7\xCE\x2D\xC3\x5E\xE0\xD8\xDF\xBA\x3E\x02\x62\xE0\x4D\xC2\x33\x25\xE1\x22\xCF\xCC\x79\x86\xC0\x00\xE3\xCB\x0F\x0C\x86\xEF\xDD\x75\x0E\x36\x0F\x86\xCF\xBC\x68\x87\x1C\xE5\x4C\xC2\x23\xE8\x01\x07\xE3\x83\xEB\xDD\x43\x04\x17\x0A\x87\xD9\xDE\x02\x07\x3D\x0F\x86\xFB\xCB\x6A\x03\x20\xEF\x5E\xF5\xB4\x41\x05\xC0\xC0\x13\x38\x01\x7A\xE2\x08\xE7\xAB\x0E\x2F\x25\xE3\xC1\xC2\x55\x51\xE2\xD5\xD0\x25\xEC\x82\xF7\xBC\x92\x02\x1E\xEA\x78\xE8\x10\x1D\xB7\x26\xEF\x78\xCE\x04\xA1\x02\x27\xE2\x92\x3D\x00\xA1\xE1\x13\xEF\x31\xC3\x04\xB0\x02\x22\xEC\x3D\x8C\xE2\x64\x06\x34\xD9\x56\x2E\xE2\x54\x34\x2C\xEE\x81\xD9\xD3\x74\x3E\x29\xEA\x4F\xC6\xB4\x3A\xE1\x61\xC8\x11\x1B\x03\xB4\xE0\x98\x28\x07\x36\xE2\x7F\xE2\xD1\x83\x16\x29\x03\xC1\xE0\x9E\x26\x08\x04\xE3\xBD\xE2\xF4\xBF", - "\x51\xFA\xE2\x35\x20\x25\x09\x8A\xFA\x6F\x24\xDA\xDE\x0B\x08\x11\xDF\xAF\x2C\x29\x03\x8D\xCD\xE2\x97\x69\x05\x07\x8D\xDA\xDF\x78\x28\x2D\x0B\x8D\xF1\xE2\x97\x68\x09\x0F\x8D\xE2\xDF\xC2\x20\x31\x03\x8E\xF7\xE2\xD6\xDE\x43\x03\x03\x27\xE3\x67\xDD\x8B\xCC\x8B\xD6\xD4\x85\x64\x3C\xED\x4B\xFE\xBE\xF3\xE2\x47\xD3\x14\x11\x01\xF6\xE2\xDD\xDF\x05\x3D\xE3\xB2\x0A\x3C\x0C\x8C\xF9\xCD\x63\x05\x18\x0D\x8F\xF9\xA4\x6F\x00\x40\xEF\x3D\xF6\xAF\xCD\xE3\x97\x83\x16\x31\x01\x07\xE6\x43\x0F\x07\x0A\xE4\x9B\x21\x4F\xB2\x8A\xDC\x9D\x1C\x05\x20\x01\x91\xF1\x04\x14\xE6\x49\x16\x91\xEA\xE2\x42\xD5\x55\x01\x09\x1B\xE4\x02\x09\x47\xEC\x6D\x5F\xE4\xD4\xE2\x05\xEE\xC0\x3D\xE3\xEC\xA8\x2C\x06\x92\xC3\x04\x38\x03\x5C\xBA\x4E\x28\xDB\x74\x06\x2C\x0D\x8F\xD8\xC2\xF0\x0C\x28\x0E\x71\xE0\xDC\xE4\xCC\x54\x1A\x93\xE0\xE4\xED\xCD\xB1\xD5\x83\x21\x02\x81\x05\xC0\xD3\x70\xE6\xDB\x70\x0E\x28\x01\x18\x26\x02\x8F\x1B\x2C\x07\x93\xE5\x30\x2F\xE6\x30\x2A\x94\xC8\x04\xA4\x03\xA3\x16\x0B\x0F\xE5\x02\xD0\x54\x15\x95\xE7\xB7\x31\x74\x56\xE5\x83\x07\x01\xDE", - "\xB5\x29\x01\x18\x23\x02\x8F\x18\x2E\x0E\x95\xD0\xDB\xDA\x0C\x53\xEC\x95\xCE\x04\xB9\x03\x59\xE8\xC9\x5E\xB7\xA7\x01\x60\x02\xE0\x8F\x12\x6E\xE4\x5B\xDA\x3D\x31\xE5\x88\xCF\xA3\x1B\x0B\x35\xE5\x48\xE7\x5D\xE1\x18\x04\xC0\x63\x04\x2F\x0C\x97\xEC\xDB\x84\x05\x60\x0C\x00\xE3\x05\xBD\x03\x60\xE2\x6A\xC5\xE6\x23\xAF\xA3\x1E\x0B\x0A\xE6\xBB\xD8\x46\x09\x0A\x01\x06\xA8\x03\xA3\x1F\x0B\x3D\xE3\xFA\xA6\x35\x64\x99\xCF\x1A\xC2\x00\x66\xE1\x56\xF6\x41\x9B\xE5\x28\x1E\x99\xD9\xE5\x18\x04\x2B\x01\x18\x2B\x02\x3C\xE7\xFB\xC8\xB1\x81\x06\xA6\xE7\x51\xE4\x98\xF5\x08\x81\x06\x2A\x09\x9A\xE2\x24\xAF\x01\x60\x0D\x0A\x33\xE6\xCB\x95\x68\xE3\x16\x08\x03\xA3\xE6\xAD\xD1\x48\x31\x02\x81\x04\x2C\x08\x9B\xE7\x8D\xBA\xE5\x55\x0B\x0C\x3D\xE6\x68\xE6\x49\x41\x18\x32\x02\xC3\xE4\x98\x24\x0B\x01\x06\x93\xE6\x6B\xEB\x98\xCA\x09\x81\x06\x2B\x0D\x9C\xF8\x29\xB6\x01\x60\x05\x9B\xD2\xE7\x91\xE5\x73\xA1\x18\x00\xE7\xDC\xE7\xAF\xD3\x25\x01\x06\xB3\x03\x75\xE2\x8C\x33\xE5\x2E\xE2\x79\xE7\xF2\x41\x06\xB5\x02\x7A\xE5\x37\x00\xE6\x06\x05\x76\xE1\x9E", - "\xC2\xE5\x06\x07\x61\xE7\xC4\x6E\xE7\xF8\x09\x2F\x01\x18\x38\x02\xF8\xE4\xDC\x0E\x0B\x01\x06\xC0\x03\x7C\x4C\x97\xCF\x03\x51\xE7\xEB\x21\xA0\xF4\x09\xAC\x18\x64\xE2\x9E\xC7\x04\xC1\x01\x60\x03\x0C\x0F\x1A\xD2\x02\x82\xE4\x9F\xC3\x04\x0F\xE8\x42\x0B\x0C\x02\xDA\xD3\x01\x81\xE5\x37\x04\x03\x81\x06\x32\x0D\x9F\xDA\x0F\x1C\xE8\x42\x07\xA0\xE3\x05\xD5\x00\x5F\xE6\x0D\x05\xE8\x49\x02\x77\xB5\x0C\x01\x06\xC6\x03\x87\xE0\x3F\x2B\xE8\x04\x66\x8B\xE5\x47\x2D\xE8\x22\xE8\x82\x4C\x97\xD9\x03\x05\xEA\x12\x0E\xDD\x87\x03\x2C\xEA\x8C\xE1\x48\x3C\xE8\x31\xEB\x7C\xE9\x6C\xD3\xCE\xA5\xDB\x2F\xE2\xA1\xF5\x11\x4B\x02\x77\xB9\x0C\x01\x06\xC2\x00\xD8\x47\xA4\xE1\xDC\x06\x06\x87\xE8\x10\x08\x03\x3E\xE8\x54\x17\xA1\xE6\x52\x55\xEA\xA4\x02\x97\xDF\x37\x1A\xE8\xBE\x0C\x04\x1E\xB7\xCC\x01\x60\x0C\xFF\xA3\x05\xDF\x01\x97\xE0\x37\x0D\x01\x60\xEB\x5F\xEF\x68\x21\x03\x66\xEA\xF6\x0E\x04\x29\xE9\x08\x06\x7D\xE3\x58\xAD\xE9\xF0\x0F\x13\x00\xA7\xF0\xA2\x95\xC0\x9D\xE5\x47\x10\x01\x77\xE8\x8A\xBA\x4D\x0F\xE9\x3D\xE6\x96\xE8\x10\x23\xC0\x63\x04", - "\x3A\x00\xA8\xEA\xE6\x08\x06\x06\xC8\x10\x14\x03\x82\xD9\x3A\x0A\xA7\xC1\x12\xCF\x00\xE7\x9D\x8F\xD2\xE2\x51\x02\x88\x22\x5D\x91\xEA\x67\x84\x3E\x03\xA9\xE2\x24\x5E\x02\xA5\xEF\x89\xAD\xE0\x0B\x17\x56\x54\x88\xDF\xB9\x28\xE4\xA7\x04\x83\xE4\x96\xA2\xEA\x48\x29\x07\x25\xEA\x1B\xB6\x30\xB1\x02\x29\xEA\x4A\xE0\xAB\xE2\x10\x18\xEA\x2C\x81\x16\x80\xAB\xF5\x20\x95\x02\xAC\xED\x26\x81\x06\xD2\x01\x96\xEF\xA9\xC6\xE1\x55\x05\x0F\x0B\x55\x52\xE2\xA3\x02\xA7\xE9\xAC\x4E\xE1\x4A\x03\xAD\xE0\xA6\x30\x02\xBA\xE8\xAD\xEF\xA4\x9C\x04\x58\x02\xB2\xE5\x5E\x4D\xEB\xAD\xD5\x34\xB2\xAD\xCB\xCC\xD4\xEB\x6C\xDD\x57\xD7\xEB\xAF\x2E\x36\x09\xAD\xFA\xD6\x63\x06\x20\x0C\xAD\xF5\x0D\x31\xBA\xFD\xAE\xAC\xEE\xA4\x31\x1B\xB8\xE8\x2F\x36\x03\xDF\xEB\x71\xD3\x16\x1E\x02\x5B\x57\x27\xEE\x16\x25\xBB\xE7\xEB\x4F\xA3\x75\xAA\xEB\x13\x2D\xB7\xB7\x10\x35\xEB\x55\x93\x58\x0B\x0B\x38\xEB\xDA\x0F\x98\xB6\xAE\xCE\xE2\x1C\x05\x32\x03\xAC\xF4\x54\x6D\xBB\xA5\xE6\x89\xD6\x03\x07\xEF\xC8\xB9\xB0\xFF\xEA\xA3\xE1\x21\xC1\xAF\xE1\xDE\x94\xB8\xC4\xE7\x78\xD9", - "\x69\x13\xED\x14\xA5\xB1\xC7\xEB\xAB\xE0\xC0\x2A\xDC\x63\xEA\x69\x02\xBE\xE6\xAA\xDD\xDE\xE1\x93\xC7\xE2\x92\x17\xBA\x03\xEC\x2E\xE5\x04\x8A\x77\xF2\xE9\x21\x04\xAF\xD1\xD8\x49\x62\xC9\xEF\x80\x14\x02\x22\xED\xAB\xEA\x4E\xEE\x99\x32\xED\x0D\x22\x0A\x35\xEC\xB3\xE9\x35\xE2\x10\x08\x01\x2C\xEE\x48\x20\x0B\x1B\xEC\xFB\xEA\xCF\xE0\xBB\x01\xED\x0F\x20\x30\x04\xB4\xE3\xEC\x21\x9E\x19\x08\xB4\xF5\x20\xD0\x03\xD2\xE6\xB3\xE1\x9C\x75\x03\xD3\xE0\xA6\x20\x03\x52\xED\xCF\xEE\x50\xC4\x02\x56\xEC\x9E\x2C\xEE\x98\xE3\xFC\xEA\x21\xA9\xE0\x5D\xED\xE4\x2B\xCB\xEA\x8F\xD4\xCB\x39\xEE\x41\x00\x0B\x0A\x77\xB2\x09\xBE\xB9\xB2\xF0\xDF\x18\x06\x2C\x09\xB6\xC3\x04\xC0\x00\xDB\xEE\x10\x1C\x00\x32\xBC\xC7\xE9\x1D\xF0\x04\xC2\x03\xDC\xE2\x10\x10\x03\x76\xED\xB3\x59\xB7\xC5\xED\x3A\xD4\x4C\x02\x0D\x3E\xED\x61\x29\xE0\xE0\x1D\x43\xEE\x4C\xEE\x8F\x90\x13\x22\x03\x88\xEC\x3C\x0A\xB8\xF6\x99\x8C\xEF\xD4\xE7\x67\xD8\x04\xF2\x00\xD9\xE0\x10\x0E\x02\xC6\xBC\x15\x06\xF6\x86\x04\xD0\x02\xFB\x53\x00\x1C\xEE\x8C\xA4\x9E\x23\x06\x21\xBC\xD2\x95\xE8", - "\xE7\x16\x90\x00\xA4\xEE\x2B\xD2\x8C\x30\x01\xA8\xEF\x43\x60\xAA\xC7\x25\xAD\xED\x1B\xE0\x37\x3D\x01\x95\xEF\xDF\xE7\xAA\xF4\x96\xB5\xEC\x1D\xE8\x2F\x0B\x02\xB9\xEC\x00\x0A\xBA\xFE\x9E\x88\x7D\xEF\xE6\x77\xF5\x0D\x99\x01\xF0\xE3\xBC\xC6\x9F\x6A\x56\xF1\xE3\xAA\xE7\x02\xCA\xEC\xCD\xDD\x39\x86\xEF\x92\xE1\x2D\x01\xBB\xC8\x04\xCB\xED\xE4\xAF\x5C\x0E\xEF\xDC\x3D\xF4\xE1\x74\xF4\x05\x70\x00\xF7\xEF\x80\x10\x03\xDE\xEC\xD2\xD5\xA0\x22\xEF\x35\x22\x37\x05\xBE\xCE\xDD\x96\x44\xFA\xEB\x16\x6B\xEF\x55\xDC\x6A\x4E\xBE\xF8\x29\xFA\x00\xFC\xEC\x75\xC3\x05\xA8\x03\xFC\xE7\x18\x6F\xBF\x39\xA5\xF6\xE1\x49\xC3\x05\xB6\x02\xF1\xE2\xAF\xD6\x00\x7B\xC3\x40\x0E\xBF\xDB\xD2\x63\x05\x31\x0A\xBF\xEF\x2E\x25\x00\xFF\xE2\xBB\xC7\xC5\x1C\x07\x34\x0B\xC0\xF5\x0D\xEE\xBE\xFD\xA7\xC0\xC0\x78\xE1\x00\xF5\xED\x54\x56\xC3\xD8\xEE\x25\xEE\x0E\x1A\xF0\x36\xC0\x07\xF7\x10\x07\xF0\xC2\xD2\x40\x0B\x0F\x02\xF0\x86\x60\x21\xC3\xC2\xC2\x62\x0A\x03\x23\x08\x8D\xF5\x0D\x6B\x02\x0A\xF0\xBA\xD5\xDE\x18\x05\x06\x0E\xC2\xDF\xE1\x70\x0F\x1E\x0E\xC0\xDD\xF0", - "\x24\xEC\x42\x07\x02\x37\xF0\x66\xE1\xDD\x09\x08\x3B\xF0\x2B\xF2\xCA\xE4\x55\x40\xF1\xF1\xE0\x98\x27\x09\x05\xF0\xBA\xEF\x5A\xB3\x14\x04\x01\x48\xF2\xEF\xE0\x37\x26\x02\x44\xF3\x0C\xF7\xB3\xD8\x04\x52\x01\x14\xF7\xBC\xF8\x0B\xB4\x01\x15\xF6\xC0\xC6\xED\x60\x02\x16\xF2\xAF\xFA\xC1\xAB\xC7\x17\xFC\x4A\xAF\x01\x62\xF2\x48\x22\x0D\x32\xF0\x66\xF1\xC8\x9E\x07\x29\xF1\x0F\x22\x38\x0C\xC6\xCD\xF1\x21\x9D\x23\x00\xC7\xF5\x20\xF2\x03\x1C\xF2\xBC\xFE\xA1\x30\x04\x27\x07\xC7\xE0\x29\x02\x00\x5A\xC5\xC4\xDF\xDF\x07\x07\x2A\x0F\xC7\xF8\x29\x11\x02\x20\xF6\xC5\xC7\xD9\x07\x06\x2E\x0A\xC5\xF9\xA4\xC8\x02\x16\xF2\x2B\x20\x00\x4A\xC7\x1E\xF9\x89\x9C\x04\xCA\x03\x23\xFE\x10\x18\x03\x92\xF2\x43\x0E\x02\x15\xF2\x07\xF2\x19\xC6\x10\x1A\x03\x9A\xF0\x42\x08\x0E\x1D\xF2\x8D\xB8\x28\xF9\xB2\x83\x05\xEA\x01\x29\xF7\x10\x38\x03\xA8\xF2\xBB\x5A\xCA\xEE\xC7\x1C\x06\x3E\x0E\xCA\xF5\x0E\x90\x02\xF1\xB8\x05\x33\xF2\x3D\xAD\xAF\xA9\xCB\xE0\xE3\x5F\x37\x2F\xFB\xE5\xA6\x01\x8A\xF0\x88\x91\x18\x0D\x03\x8F\x1B\x06\x02\xCC\xC5\x0F\xA4\xE6\x43\x0D", - "\xAB\xC8\x04\xD1\x02\xAF\xE7\x53\xC1\x06\x07\xF0\xA2\xEE\x9B\xD0\x15\xD3\x00\xAF\xE2\xCD\xC7\x04\x8C\xEA\xDE\xE1\x94\xC3\xE9\x24\xB9\x60\x0B\x0D\x02\xDA\x1E\x03\x32\xFD\x7E\xFC\x57\xEE\x5C\x08\x06\xCE\xD1\xA4\x38\xB3\x56\xCD\x2A\x11\xDC\x2D\x03\x3A\xF2\x89\xC2\x02\xEE\xF0\xB5\x63\xBB\xC2\x04\x3A\x03\x3A\xF3\xAA\xCF\x02\x95\xF2\x35\x0B\xBB\xFF\xEC\xFA\xF2\x0F\x5D\xCF\xC2\xB3\x56\x01\x40\xFD\xCF\x43\xF4\x2F\xDC\x42\x04\x06\x06\xF4\x5C\x50\x42\xF5\x5A\x1B\xF3\x9E\xCE\xF4\xE5\x22\x32\xF3\x22\x27\x31\x05\xCF\xD1\xF4\x47\xA8\x5D\x0F\x07\x0C\xF4\x60\x28\x35\x0E\xD0\xCF\xEB\xB2\x04\x47\xF8\xA7\x22\x03\x1F\xF4\x96\xA6\xC0\x22\xF4\xC2\x20\x3C\x05\xD2\xE2\xA9\x06\x98\x4A\xF7\xBF\xAB\xF4\xDB\xC8\x47\x07\x0B\x2E\xF4\x75\x0C\x03\x01\x1F\xC3\x04\xFE\xF1\x22\xD3\x14\x05\x03\x34\xF7\x76\x37\xD3\xFD\x7F\xEA\xC9\xD5\x4B\xCE\xF2\xEB\x28\x02\x7E\xC0\xD4\xC0\xE2\x8F\xED\x4F\xF0\x37\x37\x00\x3F\xF4\x00\x09\xD3\xD5\x87\xEB\xBA\x52\xFA\x3D\x05\x01\x4D\xF7\x53\xFC\x1D\xBE\x58\x14\xF6\x39\xBF\x19\xD2\x97\x56\xF6\x70\x1B\xD3\x85\x30\x92", - "\xE0\x18\x0B\xD5\xCE\x04\x5D\xF4\x7D\xD4\x17\x18\x00\x05\x32\xBC\xED\x06\x1F\xC6\x95\xB9\x59\xF6\x16\xE3\x05\x27\x01\x5A\xF2\x92\x3D\x01\x6C\xF4\x59\xF4\xC3\xCE\x04\x36\x01\x01\x33\xAA\xCD\x02\x55\xF6\x2C\xE8\x98\x7A\xF5\x22\x27\x26\x0D\xD7\xC6\xF1\x58\xF2\x5C\xFF\x80\x29\x02\x46\xF6\x53\xF0\xB3\xC0\x00\x61\x00\x60\xFF\x80\x38\x02\x83\xF6\x31\xE5\x15\x2F\x01\x8E\xF7\xD9\xB1\xD9\xCE\xE3\x43\x05\x1F\x06\xD8\xED\xC8\x75\xF7\x3B\xFC\x4A\x8C\x02\x9B\xF4\x98\x20\x1F\xE5\xF1\x47\xF5\xC8\x9B\x09\x21\xF6\x78\x28\x3D\x0D\xD9\xF6\xF3\x97\x6A\x2A\x08\xDA\xC2\x23\x04\x03\x8A\xCD\xD6\xFC\xF1\x1C\x05\x2E\x0F\xDA\xEF\x2E\x14\x01\xBB\xC6\xD7\xCD\xB9\x43\x04\x32\x07\xDB\xEF\x47\xBA\xF6\x67\xFC\xC8\xC6\x04\xD7\x01\x65\xF6\x10\x25\x03\x05\x32\xAC\x02\x03\x16\xCB\x6E\xF4\x17\xC7\x0E\x06\xF7\x03\x05\x3D\x09\xDC\xCA\xCD\xCC\xF4\x4C\xD6\x90\x10\xF7\x18\x16\x24\x06\xFC\x8E\x01\xD5\xF5\xE1\xEC\x11\x07\x00\xDA\xF6\x29\xD5\x01\x21\xF7\x5B\xB8\x17\x0D\xDD\xE1\xE4\x43\x07\x05\x04\xDE\xC9\xC6\x25\x03\x7A\xFD\x7E\xEA\x01\xE7\xF7\xE5\xEE\x10", - "\x27\x00\xEE\xF7\x1E\xE8\xA9\x75\xF7\xB2\x08\x1E\x01\xDC\xC7\x04\xD7\x02\xFB\x58\x03\x35\xF7\x92\xE3\x21\x03\x30\xC4\xF7\x11\xDD\x11\x00\xE0\xFE\x43\x03\xFB\x40\x0D\xDF\xD7\xDC\xDB\x19\x7D\xF3\xAA\xE1\x02\xD6\xCB\x82\xF3\x72\xD8\x04\x60\x02\x83\xF4\x9B\xD1\xF8\xC2\xB2\x1B\x06\xE1\xCF\x20\xBD\x00\x86\xF9\xD0\xED\x6F\x1B\xF9\x0D\x2B\x0C\x1E\xF8\x3F\xA8\x47\x0A\x08\x07\xF8\x55\x45\x82\xFE\xA0\x8E\xE1\x97\x01\x88\xFA\xE4\x24\xF8\x20\xF6\x43\x05\x0A\x2E\xF8\xA9\xF4\x8C\xF6\xD2\xDC\x04\xB3\x00\x8D\xF2\x8C\x02\x00\x84\xCE\x82\xF3\x2D\xDC\x04\xC1\x02\x8E\xF0\x19\x7D\xF8\x2B\xFB\xFC\x93\x14\x0F\x03\x42\xF9\xDD\x0E\x01\x04\xF9\x00\x02\x84\xF0\x5C\xE3\x05\xDD\x01\x92\xF8\x2F\x2C\x00\x4C\xFA\x93\xFF\x2E\xBA\x37\xF5\xF6\xBC\xEA\x03\x2B\xCD\x45\xF8\x13\x92\x2A\x12\xF9\x70\x0D\x12\x05\xE5\xE2\xD2\x82\xA7\x24\x08\x85\xF5\x11\x57\x03\x98\xFA\x4A\xD8\x04\x16\x02\x99\xF5\xBA\xC2\x23\x65\x01\xCC\xC2\x5D\x96\xF9\x58\xC4\x9A\xBE\xE6\xEE\xEE\xAF\x2E\x1C\x02\xE7\xC1\x48\x82\x60\x0C\x07\xE7\xC9\xF1\x78\x2B\x1F\x01\x33\xD5\xBA\x74\xFB", - "\x5B\xF0\x21\xBF\xF9\xF7\xE3\xEB\x2F\x08\x03\xFA\x7C\xF9\xC7\xEC\xA3\x08\xFA\x5B\xF2\x74\x8A\xE6\xC3\xD8\x55\x04\x17\x00\xE9\xE3\xEA\xAD\x03\xA4\xF5\x7A\xD5\x05\x6A\x00\xA4\xF2\xAF\xFB\x02\x5C\xF9\x93\xFB\xD8\xF9\x01\x97\xF8\x4A\x9A\xE9\xC9\xA6\x2F\x11\xA9\xFF\x80\x18\x03\xA7\xF9\x19\xA4\x17\x15\x02\x9E\xFB\x55\xAC\xE8\xEB\x1F\x46\xEC\x29\x01\xEB\xCF\x20\xF6\x03\xAC\xFC\xDF\xFE\xD3\x03\x07\x2C\x07\xEB\xD9\x88\xA7\xCC\xA1\xFC\xEB\xDC\x3D\xBF\xFB\xD1\x21\xEC\xCD\xFA\xED\xE0\x34\xF5\xEC\xEF\x3A\x94\xD0\xB2\xF8\x36\xEC\xA5\xCB\xFA\x30\x25\x03\x0D\xFB\xB4\xFB\xD9\xEC\x11\x2F\x03\xAA\xFB\x41\x0D\x0F\x10\xFA\xB2\x08\x11\x0E\x47\xC5\xFA\x5C\xC3\x3F\x09\xED\xCD\x14\x94\x02\xF1\xB2\x05\x1F\xFB\xD6\xF4\x4C\x0F\x00\x25\xFB\xA6\xD1\x07\x0C\xEE\xDB\xB9\x60\x00\xBA\xFE\xDD\xD8\x04\x1F\x03\xBB\xF9\x18\xED\x00\xF6\xF9\xFB\xDE\x06\x32\xFB\xE8\xF4\x4C\x0F\x02\x39\xFB\x76\xDD\x0F\x00\xF0\xCC\xC7\xFC\xFA\x7C\xFA\xEB\x40\xFC\xEC\xAA\x13\x03\xF0\xDD\x04\xD4\xFB\x41\x08\x0D\x07\xF3\xCB\x78\xC0\xF9\x99\xF8\x0B\xD9\x01\x60\x0F\xF0\xC2", - "\xE9\x50\xEB\x40\x0A\x0D\x01\x06\x85\xFA\x35\xF9\x9C\xF5\x11\x1B\xFC\x42\x05\xF1\xD8\xFC\x81\xEA\x43\x03\xCE\xC2\xF7\xDF\xF1\xC6\xF1\x48\x41\x06\xDE\x00\x44\xF9\xA5\x0E\xE8\x8F\x1B\x14\x00\xF0\xEB\x64\x99\x00\x07\xD3\x10\x1D\x03\x2C\xFE\xCB\xF2\x10\x38\xFC\x08\x05\x85\xE3\x16\x14\x01\x33\xFE\x48\x2A\x09\x36\xFC\x02\x05\xCB\xF8\x10\x08\xF3\x23\x51\xD0\xFD\xCC\xC8\x04\xDF\x01\x60\x0C\x0D\x3A\xFC\x61\x2A\xFB\x56\x05\x00\xFC\xA3\xEB\x26\x04\x46\xDC\x5E\x11\xDC\x19\x04\xF5\xE2\x24\xA8\x03\xD5\xF6\x10\x20\x03\xF7\xF0\x64\x18\xF0\xE2\x24\xB5\x02\x1F\xD0\xF6\xE7\xA8\xE7\x3B\xD8\xF4\x2B\xA6\xFD\x8B\xD6\xDA\xFF\x20\xEC\xFD\x6B\xE5\x93\x1B\xF0\xEF\xBE\x44\xFD\xD4\xFF\xE1\xC1\x53\x6E\xFF\xD5\xE0\xF7\xE5\xF8\x18\x04\x2C\x0B\xF5\xE9\xAA\x5E\xFF\x40\x07\xF6\xEA\xB3\x63\x06\x2F\x09\xF7\xF8\x29\xFB\x03\xDE\xF1\xE3\xC7\xFD\x87\xFF\x14\x71\x52\xC2\xFE\xD5\xE8\x00\x0C\x0D\x0D\xFE\xAF\x2F\x05\x0F\xF8\xC2\x04\x83\xFC\xFB\xEA\xDF\x14\xFE\x3F\x1B\xE5\xF6\xF7\xE0\xEB\x55\x06\x3E\x0C\xF9\xF8\x0B\x33\x02\xE7\xF9\xF9\xE8\xEB\x49\x9A\xA4", - "\x32\xAF\xC1\x01\xA6\xFD\x50\xFB\xB3\x12\x3A\x2D\xC0\xDC\x0F\x04\x19\xD4\x9F\xFC\x50\xCB\x1A\x28\x00\xAA\xFC\xA7\xED\xFA\xD0\xF0\x18\x07\x0D\x09\xFB\xCF\x20\x6C\x03\xEE\xF4\xBD\x95\x2E\x92\x3B\xA8\xEA\x07\x04\xD3\xD2\x97\xE9\xF5\xE7\xEB\x16\xC5\xFC\xE2\x38\xFC\xCE\x04\xCA\xFE\xA1\xFF\x5C\x30\xFE\xFE\x40\x31\xD5\xE9\x91\xFF\x25\xF0\x64\x14\xFD\xCF\x20\xA4\x02\xF5\xF0\xFD\xF7\xF5\x66\x63\xEF\xF5\x83\x34\x02\xC2\xFE\xFE\xA3\x16\x11\x02\xE2\xFF\xF6\xD5\xFE\xD5\x0A\xAB\x04\x28\x0B\xFD\xD0\xED\xB4\xFD\xF4\xFD\x84\x94\x06\xE9\xFC\x9E\x2F\x0D\x2B\xFF\xA8\x0B\x6A\x0F\x0B\x35\xFF\xC2\x21\x3B\x08\xFF\xF1\x29\xF3\x22\x49\x1C\x4E\x75\x8E\x01\xFD\x6C\xB6\x74\xAC\x12\x1D\xBA\x66\xF8\x07\x3E\x04\x98\x63\x18\x11\xFE\x7E\xBD\x63\x02\xD1\x00\x04\x82\x48\x14\x1F\x0C\x00\x9F\xFE\x45\xC2\x7E\x23\x02\x81\xCF\x70\xE6\x79\x30\x0E\xF8\x59\xA5\x19\x00\xCB\x7E\x58\x7F\x8D\x1B\x82\x57\x03\x87\xCD\x78\x08\x11\xFF\x66\x01\xB5\x0C\x12\x83\xC7\x79\x90\x01\xFD\x64\x7D\x71\x9D\x2A\x80\xF1\x6C\xB8\x05\xF4\x7F\x18\x63\x16\x18\x06\x12\x00\x8F\x10", - "\xFD\x01\x0A\x80\x42\x01\xFA\x71\xDC\x54\x0B\x1A\x03\x37\x80\xE3\x32\x1D\x81\x08\x87\x35\x00\x36\x30\x01\xB6\xE5\x70\x07\xD1\x7F\xB4\x68\x94\x78\x08\x8D\x41\x62\x02\x9F\xFD\x01\x03\xDB\x5A\xB4\x26\x11\x85\x2F\x78\x04\x86\xDA\x60\x03\x6F\x7F\x60\x14\xDD\x3A\xF5\x5B\x07\x86\xB4\x70\x07\x18\x01\x92\x63\x68\x25\xEB\x7F\xB0\x7A\x20\x04\x02\x50\x7F\x78\x7D\x61\x80\x16\x81\x90\x4C\x04\x05\x0C\x81\xFB\x7A\x1E\x30\x00\x68\x80\x5C\x81\x9B\x1F\xA3\x08\x04\x05\x06\x9A\x4F\x40\x01\x4F\x6A\x1B\x81\xBC\x71\x3B\x65\x0E\x8E\xCC\x58\x03\xB5\xFE\x5D\x04\xDE\x2E\x3E\x83\xE3\x16\x0F\x81\xFD\x72\xD3\x70\x04\x29\x00\x82\x81\x04\x48\x21\x81\x30\x0A\x9F\x66\x19\x09\x02\x98\x17\x8B\x81\x44\x77\xA3\x0F\x05\x05\x06\x89\x00\xB5\x11\x4A\x00\x60\x6B\x38\x80\x2F\x0F\xD1\x01\x03\x15\x04\xA2\x24\x4B\x00\x99\x81\x21\x82\x6E\x61\x71\x4C\x06\x82\x49\x0C\x01\x4C\x6A\x69\x80\x83\x03\xBC\x6D\x2A\x03\x04\x1E\x04\xAD\x7E\x21\x81\x4F\x80\xDF\x6D\x55\x05\x08\x0E\x0A\x86\x0C\x75\x02\x86\x02\x5C\x00\x58\x80\xE4\x7C\xB7\x73\xE9\x05\x05\x8F\x20\x5D\x00\xA8", - "\x80\x4D\x83\xF9\x6E\x0E\x55\x06\x8C\x57\x68\x01\x37\x81\x03\x02\x36\x00\x65\x69\xFA\x7C\x05\x6A\x03\x05\x03\xCA\x09\xC8\x80\x0D\x17\x32\x81\xDD\x7C\x11\x1B\x03\x0F\x03\xBD\x2B\xD1\x81\x87\x03\x34\x83\xDE\x7A\x5F\x77\x06\xAF\x5C\x59\x81\x96\x01\x6D\x81\xBF\x7A\x49\x4E\x0D\x86\x08\x2C\x02\x59\x81\xA4\x00\x71\x82\xC1\x7F\x20\x0E\x0A\x1E\x05\x80\x3D\x59\x81\xB2\x01\x60\x83\x79\x61\x30\x01\x0E\x0F\x34\x00\x03\x65\x80\x03\x81\x40\x0A\xE1\x58\x21\x02\x0E\x10\xFA\x64\x03\x74\x81\x8F\x0D\x60\x00\x3E\x82\x03\x89\xD9\x41\x0C\x3F\x03\xA4\x7E\x1E\x7E\x75\x0E\xFB\x2A\x18\x05\x06\x92\xC4\x41\x03\x1B\x6B\x9C\x5E\xF1\x6B\x6A\x07\x19\x0D\x10\x82\x49\x0E\x03\x10\x82\xEC\x1B\xB0\x7C\x37\x05\x0C\x83\xAA\x7B\x06\x14\xD6\x28\x80\x68\x7E\x8E\x02\x3A\x04\x23\x82\x92\x09\x07\x1F\x04\xC2\x59\xF8\x00\x92\x83\x76\x37\x24\x87\xF7\x7A\x1B\x17\x02\x67\x7C\xFF\x0A\x0D\x6C\xE0\x12\xA2\x75\x82\x0F\x09\xAF\xF9\x2F\x17\x13\x00\xF4\x6B\x56\x0E\x09\x71\x02\x16\x09\x81\xF1\x78\x05\x20\x00\x99\x81\x36\x5E\x8D\x69\x7E\x3E\x09\xB6\xEE\x48\x4D\x42\x82", - "\x90\x82\xF9\x70\xD5\x36\x14\x92\xE2\x5A\x0F\x3C\x00\x49\x83\x1F\x7F\x70\x3D\x29\x81\xE9\x7A\x1E\x0A\x01\x51\x82\x46\x7C\x98\x01\x16\x04\x2A\x83\xAA\x78\x02\x18\x05\xFA\x4F\x63\x03\x33\x00\x57\x81\x79\x1F\x15\x8E\xD7\x63\x4B\x54\x82\xF2\x74\x3A\x03\x8C\x6A\x29\x86\xFB\x74\x40\x23\x05\xE8\x21\x65\x83\xEB\x6B\x58\x02\x12\x0F\x16\x95\x41\x11\x02\x71\x82\xDD\x6B\x9B\x60\x55\x82\x12\x7F\x09\x1A\x09\x91\x04\xE6\x08\xAB\x03\x56\x03\x5E\x82\x24\x1C\x0A\x1E\x0B\x99\x04\xB7\x5E\xBA\x00\xB4\x81\x85\x14\x77\x15\xE9\x4C\x0B\x83\x04\x59\x7F\xC9\x00\xC5\x83\x03\x11\x19\x0C\x18\x8E\x08\x0E\x06\x91\x1D\xAB\x02\x6C\x01\x5D\x84\x4A\x68\x17\x93\x96\x0D\x6D\x1B\x83\xE7\x61\xCE\x80\x28\x34\x1E\x02\x19\x95\x41\x35\x03\x6B\x82\x8B\x7B\x01\x00\x26\x00\x26\x80\x55\x04\x00\x04\xDD\x17\x83\x16\x45\xAA\x01\x04\x03\x35\x88\xC3\x7A\x1E\x12\x00\x2F\x83\x46\x77\x0F\x00\x6D\x80\x1D\x7F\xA0\x3C\xB2\x4D\x06\xC6\x76\x2E\x01\xDD\x80\xA0\x7A\x18\x10\x03\x1E\x0D\x96\x06\xE3\x80\x3D\x00\xE1\x81\xA2\x7D\x6E\x00\x04\x06\x0E\xBB\x04\xC2\x37\xCA\x82\xFB", - "\x79\xDD\x00\x0A\x0E\x1C\x9F\x0B\x9E\x7B\x2A\x28\xD1\x82\x79\x74\x18\x01\xCF\x67\x1C\x9C\x05\x85\x2F\x59\x83\x22\x13\x37\x00\x77\x87\x39\x83\xDC\x63\x08\x39\x01\x51\x83\x39\x53\x43\x01\x74\x82\x56\x0E\x6F\x76\x5F\x70\x06\xDC\x60\x89\x00\xF4\x81\x78\x03\x3D\x8A\x5F\x78\x0D\x82\xCE\x18\x02\x99\x00\xF9\x81\xC8\x44\x3E\x8D\x1E\x16\x0F\xA3\xC7\x14\x1B\xFA\x83\x83\x03\x2D\x04\x3F\x87\x10\x08\x05\x3E\x07\x8E\x77\xB5\x7B\x00\x86\x41\x07\x18\x04\x20\x91\xCF\x47\x08\xF0\x4E\x3D\x18\xF0\x80\x42\x00\x1B\x0D\x20\x83\x08\x04\x03\x63\x83\xB3\x50\x80\x82\x0F\x81\x3A\x89\x0F\x90\x2A\x28\x03\x01\x03\xE7\x00\xA8\x7C\xDB\x5B\x77\x02\x68\x7B\x06\x15\x08\xC2\x11\xEA\x00\x0D\x84\x94\x7C\x43\x84\x10\x8B\x07\x01\x06\x29\x84\x08\x82\x91\x12\x0B\x83\xED\x56\x24\x11\x0E\x92\xE2\x53\x01\x37\x6E\x15\x25\xC4\x6B\x1D\x06\x23\x9D\x23\x79\x08\x8B\x38\x61\x7E\x7C\x02\x82\x80\x4F\x1D\x0E\x04\xBA\x73\x08\xD6\x36\x50\x7F\x23\x84\x14\x63\x35\x06\x00\x19\x04\x2C\x06\x9C\x65\x46\x84\x61\x58\x05\x06\x49\x85\x1B\x90\x1F\x09\x00\x35\x6F\x40\x85\x96\x81", - "\x34\x24\x4A\x8F\x13\x90\x1B\x17\x00\x58\x84\xA3\x5E\x9A\x82\x81\x24\x4B\x86\x4B\x61\x9C\x03\xDE\x31\x5B\x19\x7A\x54\x3C\x99\x86\x29\x80\x3F\x12\x01\x20\x09\x82\x02\x4A\x85\x0E\x49\x55\x03\x09\x0B\x26\x95\x0A\xB8\x23\x6F\x84\x00\x01\x38\x87\xB3\x2C\x2E\x09\x05\x15\x13\xA3\xEA\x4E\x00\x78\x84\x3D\x87\x47\x53\xD7\x5E\x27\x82\x49\x1C\x01\x01\x85\x25\x63\x2A\x31\xA1\x87\x01\x1A\x06\x08\x14\xBA\xF4\x30\x02\x83\x01\x45\x86\x9D\x26\x51\x86\x13\x62\xC9\x75\x09\xF2\x75\x86\x01\xE4\x6C\x9C\x84\xA4\x5A\x11\x12\x14\x9C\x9F\x14\x85\x0E\x51\xB1\x02\x2B\x06\x53\x88\xA7\x03\x05\x20\x0A\xCF\x62\x31\x47\x3A\x86\x24\x71\x16\x07\x26\x9A\x11\x81\xDE\x0A\x05\xAA\x84\xB8\x45\xAB\x81\x4B\x81\xB1\x74\xD6\x17\x0A\xA2\x12\xCB\x01\xBA\x6D\xA5\x5A\x4F\x89\xFD\x65\x07\x37\x0A\x91\x5F\xBA\x84\x87\x02\x9E\x83\x2D\x58\x11\x14\x07\x24\x0A\xC2\x11\xEB\x01\x53\x87\x89\x3B\xCD\x3A\x09\x0F\x12\xAC\x53\x4A\x85\x2F\x3C\x33\x2D\xB3\x80\x98\x7F\xBA\x07\x00\x18\xE0\x42\x85\x8B\x7B\x0F\x03\xB4\x85\x4B\x8A\x3D\x16\x00\x11\xE1\x7A\x84\x7A\x35\x16\x03\xB6", - "\x87\x28\x80\x3F\x04\x01\x1F\x0B\xC6\x76\x3B\x01\x71\x87\x72\x80\x5F\x02\x03\x13\xBF\x7B\x0A\xC6\x76\x4A\x00\x75\x86\x74\x80\x5F\x02\x04\x0E\x17\x98\x0B\x97\x35\x59\x00\x79\x86\xBC\x72\x0A\x06\x2F\x88\x13\xA1\x9C\x68\x00\xFA\x85\xF7\x25\xBF\x86\x55\x89\xEC\x67\x08\x37\x01\x01\x86\xC1\x4F\x6B\x86\xBF\x87\xD9\x72\xD6\x08\x18\xB5\x20\x01\x01\x0A\x86\x82\x87\x30\x82\x2D\x52\x2F\x99\x49\x63\x02\x72\x85\xB2\x04\x48\x03\xB9\x87\x92\x77\xF4\x55\x18\x8E\x04\x33\x01\x18\x86\x30\x63\xC6\x83\x6F\x7C\x11\x15\x05\x1E\x0C\xBD\x7E\x21\x86\x84\x00\x2B\x03\x64\x88\x91\x78\x08\x05\x03\x27\x86\x07\x03\x69\x01\xCA\x85\x91\x7C\x32\x8D\xC0\x70\x04\x55\x01\x30\x87\xC2\x5F\xCC\x86\x20\x08\x0C\x15\x19\xB4\x25\x58\x0D\x0E\x86\x83\x00\x3D\x03\x67\x88\xD3\x71\x18\x86\x04\x6D\x01\x81\x02\x77\x00\xD4\x7A\x69\x83\xEE\x47\x7C\x72\x0B\x9D\x84\x18\x03\x77\x02\xFB\x2F\x1E\x02\x2F\x92\xC4\x65\x03\x49\x70\x56\x05\x88\x6C\x01\x03\x13\x08\x43\x75\x1B\x32\x03\x58\x86\x95\x5E\x06\x7E\x7D\x5C\x6B\x85\x25\x8E\x8F\x11\xE1\x52\x86\x08\x03\x78\x00\xD4\x78", - "\x6D\x83\xE1\x75\x31\x24\x0D\xDC\x85\xF0\x07\x06\x01\x32\x72\xFE\x12\xCC\x4D\x01\x2F\x0D\xE4\x85\x75\x09\x0D\x03\xDC\x85\xB2\x21\x84\x60\xE4\x37\x0D\xEC\x84\x75\x09\x14\x03\xDE\x84\x6D\x84\x03\x43\x0B\x09\x01\x7F\x86\xEC\x79\x1A\x13\x0D\x00\x13\x72\x02\x89\x13\x95\x05\x56\x00\x88\x87\x51\x74\x11\x03\x70\x84\x14\x82\x08\x24\x01\x11\x87\x98\x40\xCA\x85\x1D\x68\x23\x02\x07\x18\x1C\x94\x69\x1A\x87\x7C\x68\x8E\x00\x20\x06\x73\x80\x40\x20\x1D\x82\xD2\x43\x02\x8E\x00\xD2\x84\x98\x14\x0F\x06\x3A\x88\xFD\x7D\xF1\x2A\x87\x78\x14\x45\x01\xEB\x87\x7F\x72\xF2\x08\x1C\xB2\xEB\x18\x01\xD0\x71\xB0\x86\x97\x7B\x44\x30\x3B\x82\x46\x27\x02\x33\x87\xFD\x74\xFD\x59\xEF\x87\x75\x15\x0B\x00\x1E\x80\x78\x55\x01\x88\x86\x49\x73\x30\x04\x71\x89\x35\x8F\x15\xBC\x03\xC9\x87\x22\x12\x68\x00\xF3\x82\x77\x87\xB1\x63\x0A\x2F\x03\x36\x87\xDA\x6A\x3D\x71\xA5\x5C\x70\x8F\x18\x8D\x48\x3E\x03\x58\x87\x93\x18\xED\x86\x43\x04\x7B\x88\x19\x88\xAE\x5C\x02\x4E\x85\x08\x03\x7E\x00\xF0\x85\x2E\x6B\x01\x07\x1F\xA5\x0D\x81\x09\x0B\x00\x92\x70\xF5\x84\xFD", - "\x7C\xD4\x4E\x1F\xBC\x06\xF5\x06\x19\x00\x96\x73\xF8\x83\xB1\x78\x03\x16\x1F\xB8\x0D\x81\x09\x28\x00\xF9\x85\x68\x5F\x8A\x7E\x10\x06\x02\x3E\x0F\x80\x87\x81\x08\x1B\x02\x00\x8C\x6E\x8C\x4A\x54\x02\x07\x10\xF3\x85\x70\x06\x22\x01\x3F\x73\x7B\x86\xB4\x63\x03\x0F\x10\xF2\x75\x54\x01\x09\x8B\xFE\x87\x52\x32\x07\x17\x20\x88\xA4\x1A\x88\x8D\x87\x90\x4D\x20\x06\x83\x88\x20\x60\x21\x8D\x0F\x85\x86\xAB\x6C\x12\x89\x0D\x14\x10\x0A\x3F\x81\x21\x8C\x0C\x9E\x0A\x2A\x88\x30\x17\x24\x05\x85\x87\x42\x93\x18\x87\x5D\x0F\x88\x39\x52\x5E\x03\x03\x8A\x56\x02\x0A\x0B\x20\xBC\x0D\x9C\x86\xF2\x30\x1C\x88\x2C\x2B\x87\x8E\x10\x0E\xC9\x76\xAF\x64\x87\x92\x47\xB1\x02\x33\x02\x88\x8B\x20\x24\x22\x9F\x28\x3E\x88\x48\x89\x3E\x5E\x37\x04\x89\x8A\x22\x2E\x22\x87\x04\x4C\x01\x50\x88\xCB\x65\x55\x06\x1D\x04\x45\x8F\xB1\x16\x11\xA3\x79\x59\x88\x95\x72\x43\x06\x1F\x01\x43\x97\x2D\x65\x31\x32\x05\x86\x74\x6C\x70\x3C\x01\x30\x0A\x36\x91\x11\x8B\x88\x2A\x84\xB5\x2F\x32\x18\xD4\x85\xBB\x05\xA4\x64\x55\x32\x11\xA2\x12\xF7\x00\xBE\x73\x3C\x00\x8E\x83", - "\x14\x11\x00\x37\x11\xA0\x80\xB5\x2D\xC0\x02\x3E\x00\xEA\x7B\x47\x88\x08\x37\x03\x50\x7E\xF4\x01\xC0\x01\x3E\x02\xD0\x62\x01\x07\x23\xA2\x24\x75\x01\x75\x88\x23\x6B\x1F\x8D\x06\x1A\xA9\x73\x7C\x46\x04\x76\x01\x7C\x88\x98\x01\x05\x03\x92\x8B\x02\x90\x2A\x18\x12\x86\x89\x50\x7F\x43\x89\xDC\x7C\xAC\x3C\x49\x97\xFA\x3C\xE5\x78\x01\x99\x88\x8E\x03\x05\x05\x94\x87\x04\x95\x23\x0B\x12\x88\x02\x90\x88\x37\x89\x0D\x13\x90\x88\x10\x09\x24\xB2\x12\xE0\x14\xFB\x00\x2A\x4D\x19\x1A\x12\x7A\x0F\x1B\xD4\x58\x0C\x11\x6E\x25\x01\x5D\x8B\x2A\x5D\x61\x74\xF5\x21\xFB\x72\x00\x65\x18\xA3\x74\x0A\x00\xB7\x71\x97\x81\x12\x98\x08\x00\x01\x48\x89\x4F\x69\x65\x8A\x30\x5E\x09\x00\x4D\x97\xA2\x52\x13\xDA\x84\x00\x00\x2E\x01\x35\x8E\x1D\x57\x4D\x9C\xFB\x42\x92\x42\x89\x48\x50\x62\x8A\x41\x04\x99\x84\xF8\x74\x3F\x5B\x13\xEB\x68\xDD\x89\xC5\x7E\x32\x1F\x9C\x82\x47\x69\x27\xB7\xF8\x2E\x28\xEC\x89\x3C\x6A\x3B\x8C\xA5\x7C\xA0\x31\x27\xBF\xD1\x73\x89\x31\x7A\x8C\x03\x2B\x06\x9E\x85\x48\x78\x27\xA3\xCB\x3D\x01\xFC\x89\x46\x68\x3E\x88\x0F\x7B\x0C", - "\x05\x63\x32\xEB\x2D\x01\x19\x77\x62\x88\x52\x7C\x23\x0A\x0D\x01\x28\x9F\xD2\x78\x89\xFB\x64\x74\x02\x43\x8A\x7B\x0A\x0C\x18\x27\x80\x78\x76\x01\xE0\x89\x25\x66\x38\x8B\x20\x04\x4E\x80\x0C\xB1\x2B\x6E\x18\x56\x87\x8D\x8A\x09\x79\x70\x3E\xC6\x12\xD7\x72\x03\x5B\x2A\x95\x5D\x8E\x89\xF7\x84\x9E\x45\x52\x98\x40\x4A\x77\x29\x8A\xE0\x7E\x6F\x6A\x1B\x1B\x54\x72\x01\x08\xDC\x6A\x14\xCB\x85\x74\x02\x1E\x03\x4C\x8D\x9A\x66\x53\x9C\x8B\x58\x04\x4A\x00\x2D\x8B\x07\x12\x0B\x02\x73\x77\x53\x9A\x2F\x2C\x3A\x3B\x8A\xE6\x69\x9E\x88\x01\x8C\xD3\x58\x54\x9E\xD1\x0A\x15\xBF\x6F\x9F\x65\xA0\x89\x0D\x11\x0B\x0F\x52\x8E\x08\x05\x15\xD9\x2B\x84\x00\xA9\x88\x98\x11\x0D\x05\x55\x9F\x25\x97\x6A\x13\x01\x5A\x8B\x5C\x41\x57\x8A\xA1\x81\x72\x42\x05\x21\x15\xC2\x11\x89\x01\xB1\x8B\x38\x8C\xB6\x78\xA0\x07\x2B\xAF\x2E\x19\x01\x44\x8A\x7A\x70\x4C\x00\x18\x0E\x56\x93\x29\x31\x15\xD6\x7D\x18\x03\x67\x01\x53\x8C\x5B\x3E\xC6\x04\xA9\x4F\x15\xAA\x26\x64\x75\xBD\x89\xBB\x05\xAF\x8B\x57\x1F\x2B\x8E\xE4\x55\x02\xEF\x00\xC1\x8A\x5C\x04\xB0\x87\x53\x66", - "\x2C\xBF\x4C\x6B\x06\x8A\x8B\x04\x10\x95\x5A\x56\x01\x0E\x0E\x2C\x80\x00\x78\x60\x0F\x00\x2A\x5D\x4E\x55\x03\x03\x59\x83\x1F\x96\x16\x91\x5D\x00\x01\x0F\x00\x95\x5C\x5D\x5E\x02\x1D\x2C\xA9\x0F\x9A\x77\xFC\x01\x48\x8B\x41\x00\x06\x04\xE5\x58\xAA\x46\xEF\x03\x03\xFD\x01\x54\x8A\xC3\x45\xB5\x84\x10\x9E\x07\x01\x06\x29\x8B\xB7\x88\x6B\x6D\x60\x05\xA8\x89\x10\x8D\x25\x81\x12\x28\x67\xDC\x11\x9F\x30\x6D\x88\x90\x81\x15\x09\x09\x79\x16\xBB\x7C\x6E\x05\x7A\x80\x82\x43\xB8\x85\x02\x9B\x19\x09\x17\x8F\x0D\x34\x00\xE6\x89\x27\x88\x23\x04\x00\x0F\x2E\xB4\x05\x35\x00\xD2\x8B\x18\x82\xF6\x05\x00\x06\x5D\x83\x0B\x36\x00\x59\x8B\xBE\x8A\xA8\x0A\x01\x05\xBB\x86\x97\x00\x2F\x94\x01\xF5\x08\x07\x00\xF2\x8A\x6F\x4E\xBC\x8F\x9A\x79\x1D\x2E\x09\x0A\x00\x0D\x13\x1C\x00\x7B\x8B\x3A\x78\x5F\x0E\x13\x10\x00\x0D\x12\x75\x06\x1D\x02\x69\x8D\x06\x1B\x00\x0E\x13\x0E\x00\x78\x8B\xF4\x8A\xFE\x8A\x9B\x04\x04\x02\xBB\x3B\x2F\xA0\x29\x0D\x00\xC6\x76\x59\x05\x7F\x8A\x67\x3F\x99\x46\x2F\xBF\x00\x06\x8C\x5F\x2D\xD7\x89\xB3\x0B\xC0\x8D\x90\x01\x02", - "\x10\x18\xEF\x52\x09\x8D\x09\x8C\x83\x89\xD1\x16\x5E\x84\x02\x17\x18\xDB\x07\x12\x8D\x28\x4E\x9B\x01\x01\x0D\x90\x06\x02\x33\x17\xDD\x73\x9B\x10\x37\x05\x03\x00\xC0\x88\x62\x9E\xC0\x2E\x09\x0C\x00\x2C\x8D\x05\x74\x98\x17\x01\x0E\x5F\x91\x31\x93\xE8\x6F\x52\x6E\x05\x05\x8E\xAB\x6A\xC6\x88\xC8\x6E\x13\x1A\x00\x0D\x12\x47\x01\x13\x8C\x8F\x8A\x20\x03\x01\x0E\x13\x14\x00\x36\x8C\xE0\x78\x3C\x17\x91\x88\x21\x06\x01\x08\x32\xAA\xFC\x38\x7B\x14\x8D\x7D\x1B\x87\x8D\x6E\x03\x01\x19\x30\x86\xD1\x6E\x04\x37\x01\x86\x12\x12\x06\xBC\x8B\x04\x1F\x30\x95\x00\x21\x8C\x07\x03\x0A\x01\x94\x8A\x73\x03\x65\x85\x59\x16\x19\xE1\x8C\x58\x8D\x86\x13\x13\x06\xBC\x80\x05\x1F\x30\x98\x00\x60\x8C\x27\x64\x37\x04\x36\x58\x8B\x72\x64\x90\x1F\x19\x00\x70\x8C\x59\x16\x37\x06\x04\x00\x5D\x55\x67\x89\x32\x82\x04\x18\x00\x6E\x04\x31\x8F\x71\x8F\x75\x10\x68\x8C\x32\x8E\x19\xA5\x7E\x64\x38\x23\x8F\xA1\x8D\xB7\x8F\xBA\x1F\x31\x9F\x18\x0B\x8D\x04\x82\x47\x8D\x39\x18\xD2\x88\x10\x14\x02\x25\x19\xF0\x06\x1B\x00\x37\x05\x08\x05\x21\x16\x05\x1D\x33\x8F", - "\x19\x9D\x00\x6E\x05\x0F\x00\xA5\x8D\xB9\x8D\xDD\x0F\x2F\x8D\x24\x57\x00\x9E\x8C\xF3\x18\x9E\x8A\x20\x00\x6A\x88\x08\x12\x1A\xA3\x3F\xA9\x8D\xEB\x6F\xAA\x88\x00\x0E\x01\x01\x35\xA3\x1A\xD3\x8B\xD8\x1E\x53\x8C\x9F\x81\xD6\x87\xB7\x73\x35\xB5\x1A\xAE\x8D\x0D\x12\x2D\x00\xAF\x8D\xBB\x13\x6B\x82\x35\xA9\x3C\x0D\x12\x5B\x01\x61\x8E\xA9\x1E\xD6\x83\x68\x86\xF3\x3A\x1A\xB9\x0B\xCA\x8C\x83\x02\x07\x03\xD6\x80\x02\x1E\x31\x8D\x24\x5D\x00\xD1\x8D\x81\x03\x07\x03\xD6\x8B\x69\x85\x35\x8D\x1B\xF8\x6D\x63\x8D\x43\x4D\xB6\x8A\x18\x14\x60\x8D\xB6\x37\x1A\x83\x02\x5F\x01\x4B\x8E\xF6\x05\x04\x0E\x26\x06\x01\x27\x1B\x82\x02\x61\x00\x75\x8C\xFC\x06\xDD\x88\x10\x03\x01\x0D\x24\x63\x00\xE3\x8D\xD7\x14\xBD\x8E\x9C\x2F\x6E\x87\x2F\x81\x12\x27\x00\x6E\x04\xD5\x03\xB9\x2C\xCA\x52\x89\x60\x01\x20\xF0\x7C\x8D\x67\x43\x38\x00\xC1\x8C\x26\x37\x70\x86\x08\x00\x1C\xE2\x86\x07\x02\x3F\x02\x66\x8D\x62\x4B\xC0\x6F\x38\xAD\x0D\x8C\x08\x13\x8F\x90\x61\xC5\x8E\x4D\x05\x06\x9C\x08\x1A\x02\x19\x8E\x29\x63\x8D\x8C\x36\x88\x15\x00\x72\x91\x89\x62\x1C", - "\xDE\x89\x08\x02\x5B\x03\xC2\x89\xF8\x4D\x70\x8E\xF4\x2E\x09\x7A\x38\x3D\x7F\x92\x8D\xA0\x7F\xE4\x8A\x4E\x9C\x83\x72\x1C\xC2\x11\x8D\x00\x9A\x8F\x3B\x8D\xA4\x57\x73\x8F\x5D\x1B\x02\x3A\x8E\xF4\x88\x8C\x01\x3B\x05\xE7\x85\x37\x09\x05\x00\x1D\xF9\x89\x56\x8A\xA2\x8C\xBE\x07\x16\x07\x74\x83\x97\x49\x00\x31\x15\xA3\x74\x05\x7A\xFD\x56\xE2\x86\x16\x89\xEF\x71\x2A\x72\x75\x12\x78\x6C\x70\xD5\x89\xBA\x69\x11\x30\x3A\xA2\x24\x62\x01\x47\x8F\x7D\x64\x0D\x06\xEB\x8F\x80\x10\x07\x07\x1D\x80\x3C\x42\x01\x58\x16\x24\x76\x1F\x0D\x72\x82\x08\x1B\x1D\xCB\x7F\xA0\x0A\xB5\x8E\x48\x13\x01\x0A\xC5\x72\x2E\x6F\x1D\xD2\x7F\x30\x02\x2E\x03\xD5\x8E\x04\x5A\xC5\x75\x74\x77\x1D\xD9\x7F\x6B\x01\xBD\x8F\x03\x10\x05\x0D\x77\x93\xEF\x6E\x09\x44\x85\x14\x02\xB2\x8D\x07\x3F\x96\x7E\x72\x9D\xE1\x53\xD5\x0A\x8F\x57\x2A\xC6\x8E\xDB\x8E\x4D\x00\x8A\x36\x04\x02\x1E\xB5\x10\x54\x01\x43\x7B\xE4\x8E\x89\x71\xBC\x50\x3C\xA6\xEE\x12\x8F\x00\x01\xBB\x8E\x9E\x33\x16\x0E\x79\x89\x21\x60\x1E\xF7\x8E\xD9\x2B\x60\x03\xE5\x88\x4C\x1F\x07\x05\x3C\xBE\xF0\x6E", - "\x04\xD9\x2A\x68\x03\xEA\x8C\x6D\x6E\x7A\x88\x38\xA1\x9C\x5F\x01\xB3\x8E\x61\x13\x27\x05\xF6\x8E\x70\x8E\x13\x07\xD4\x66\x18\xB9\x8E\x52\x44\xEF\x8D\xF1\x88\x42\x90\xAA\x41\x1F\xF5\x06\xBF\x00\xCD\x8D\xE8\x8E\x4D\x02\xB6\x77\x39\x37\x31\x72\x75\xCE\x00\xE5\x8F\xDD\x89\x09\x67\x7D\x77\x63\x39\xA4\x29\x00\x77\x18\x59\x05\x37\x07\xF4\x8E\x26\x1C\x82\x6B\x00\x56\x8F\x0E\x03\x1C\x01\xF6\x8B\x8F\x3C\x7D\x97\x0F\x9E\x71\x60\x8F\x35\x2F\xF1\x8C\x42\x01\x1F\x05\x7E\x9F\x0F\xB0\x04\x4B\x00\xE8\x8E\x3B\x52\xFA\x8E\x72\x0E\xD2\x77\x3B\xB8\xC1\x5B\x00\xF1\x8E\x83\x01\x1A\x03\xFE\x8E\x82\x15\x3F\xBE\x1E\xAB\x03\x6B\x01\xE7\x8C\x45\x04\xFF\x83\x10\x03\x01\x03\xF5\x26\x2A\x6E\x04\x7B\x8C\x5D\x04\x0F\x07\xC7\x13\x23\xA6\x84\x6E\x04\x28\x01\x7E\x8D\x7B\x8F\x63\x0E\x26\x0C\x37\x9F\x1B\xF0\x06\x2B\x00\x37\x05\x0B\x05\x21\x1D\x07\x0D\x40\x84\x04\x9B\x90\x3A\x33\x7E\x8E\x1F\x04\x00\x92\x8C\x0E\x01\x2E\x09\x30\x00\x12\x91\x00\x8D\x99\x49\xDC\x83\x14\x00\x04\x24\x20\xAF\x17\x32\x01\x75\x7A\xAC\x06\x04\x98\x10\x03\x05\x0D\x24\x02\x01", - "\x77\x18\xFD\x50\x0D\x03\x9D\x7D\x1C\x14\x41\x87\x04\x24\x01\x0D\x13\x42\x01\x0E\x92\x24\x17\x03\x1C\x41\x9E\xF2\x6E\x04\x84\x01\xC5\x5B\x10\x93\x6F\x1B\xCE\x7E\x16\x3E\x20\x81\x08\x0D\x13\x45\x03\x12\x96\x1D\x5D\x84\x87\x42\xB7\xBC\x0E\x01\x53\x90\x30\x16\x10\x05\x0A\x91\x1F\x2E\x13\x19\xFF\x11\x01\x59\x90\x3C\x16\x11\x04\x0B\x9E\x4D\x6E\x13\x0F\x00\xE2\x20\x61\x90\xDF\x46\x11\x95\x0B\x99\xE0\x3B\x6B\x29\x21\xAF\x17\x4D\x01\x35\x91\x19\x92\x23\x0D\x90\x1A\x04\x2F\x21\xD3\x83\x72\x91\x15\x90\x9D\x05\x21\x1D\x09\x17\x43\xB8\x0B\x53\x00\x79\x90\xAD\x26\x9B\x05\x18\x0D\x90\x00\x05\x3E\x21\xF0\x06\x05\x7A\xFD\x5E\x1E\x94\x97\x0D\x90\x03\x05\x07\x22\xDA\x07\x59\x01\x40\x92\x40\x07\x09\x93\x10\x0E\x03\x0D\x24\x26\x01\x8F\x90\xF8\x04\x17\x02\x12\x90\x00\x14\x44\xB2\x3F\x0D\x12\xA9\x01\x4C\x91\x1D\x0F\x0B\x04\x86\x8B\x44\x86\x04\x65\x00\x0D\x12\x56\x02\x28\x91\x90\x03\x06\x1C\x44\x9E\x22\xE8\x5B\x9C\x1B\x55\x90\x54\x0E\x0C\x05\x8A\x82\x44\xAC\x92\x32\x01\xB2\x90\x8C\x02\x1A\x05\x16\x93\x89\x8E\x13\x31\x03\x0D\x12\xB5", - "\x01\x5C\x91\x25\x44\x17\x9D\x89\x9E\x3D\x8D\x24\x38\x01\xC2\x91\x89\x79\x99\x65\x18\x97\xA9\x3B\x05\x09\x23\xAC\x67\xC4\x91\x57\x92\x3B\x05\x21\x1E\x0B\x0F\x46\x80\xC5\x51\x91\x1A\x91\x86\x11\x30\x06\x1A\x93\x10\x1E\x03\x2E\x22\xEE\x04\xFD\x01\x86\x10\x31\x04\x1B\x92\x10\x01\x04\x1C\x22\xAF\x00\x27\x91\x14\x91\x8B\x89\x65\x0C\x82\x90\x09\x07\x03\x2F\x90\x01\x4E\x19\x90\x95\x0E\x4D\x06\x83\x94\x0B\x09\x03\x64\x91\x70\x71\x73\x92\x9B\x00\x08\x94\x17\x0C\x06\x38\x23\x89\x01\xFA\x90\x84\x01\x12\x94\x2E\x0F\x0C\x18\x47\x8C\x02\x44\x91\xE8\x90\x7E\x0D\x43\x12\x1A\x08\x8F\x90\x04\x08\x24\xDE\x90\x0D\x13\x6A\x00\x3E\x94\x12\x0F\x90\x97\x79\x58\x03\x78\x91\x98\x01\x8A\x93\x41\x07\x0C\x94\x4C\x58\x47\x9C\x02\x01\x92\x07\x03\x49\x01\x43\x16\x1B\x08\x8F\x9F\x04\x20\x24\xF9\x1D\x0D\x13\x70\x00\x3E\x92\x14\x07\x92\x83\x08\x3F\x02\x0D\x12\xE4\x00\x7C\x91\x29\x05\x25\x92\x10\x04\x44\x9A\x13\x78\x91\xA8\x00\x9A\x90\x00\x05\x1A\x0D\x90\x0A\x07\x38\x23\xAB\x01\x3A\x92\x4B\x93\x38\x08\x1F\x9E\x0A\x1A\x49\xAF\x03\x0D\x12\xF0\x00", - "\x7C\x91\x2C\x02\x23\x97\x8A\x8D\x48\x33\x03\x78\x91\xB5\x00\x9D\x91\x76\x2E\x1E\x08\x8F\x98\x05\x0C\x25\x9C\x63\x78\x58\x7C\x90\x2F\x07\x2A\x92\x10\x1F\x45\x8D\x1C\x78\x91\xC0\x00\xAE\x92\xF8\x5C\x6E\x08\x8F\x84\x06\x22\x25\xBF\x8F\x70\x36\x51\x02\x22\x94\x7B\x32\x96\x93\x46\xB4\x05\x05\x00\x6A\x92\x95\x02\x83\x5A\x2C\x90\x82\x88\x28\x31\x25\xB8\x07\x50\x76\x9D\x91\x38\x93\xCB\x27\x97\x8C\xE6\x75\x20\x53\x01\x9C\x90\x14\x91\x08\x35\x21\x1E\x00\x1D\x4B\xA1\xC8\x24\x8D\x83\x26\x37\x07\x2B\x94\xD1\x83\x81\x8D\x9C\x2D\x23\x8F\x19\x86\x92\xE0\x8A\x30\x16\x1A\x0B\xCE\x63\x0C\x32\x00\x69\x8C\x74\x03\x08\x01\x64\x93\x30\x02\x01\x11\x4C\x96\x02\x81\x09\x34\x01\xC7\x90\x46\x04\x02\x0B\x99\x82\x49\x17\x03\x15\x93\xF4\x1E\xCC\x93\x8E\x88\x7E\x05\x01\x1E\x4C\xB1\x2D\x6E\x04\x0B\x65\x0B\x01\x69\x93\xD5\x78\x9A\x89\xD0\x2E\x09\x31\x00\xFE\x05\xD9\x92\xC4\x65\x36\x9E\x96\x0E\x13\x1D\xC8\x74\x02\x19\x00\xDD\x90\x98\x12\x1B\x0C\x9B\x8C\xCE\x2E\x09\x28\x64\x74\x02\x0D\x02\x70\x90\x4F\x1B\x0D\x05\x4E\x95\x67\x01\x8D\xAB\x03\x0D", - "\x03\x72\x91\x90\x2E\x9C\x86\xCF\x06\x19\xA9\x19\xD3\x93\xD7\x15\x37\x05\x3A\x98\xA3\x2E\x13\x00\xC9\x08\x06\xD9\x93\xBA\x06\x37\x04\x3B\x95\x03\x0F\x31\xAB\x06\x1E\x00\xE1\x92\x7C\x07\x37\x04\x3C\x99\x63\x8E\x4A\x29\x27\xB2\x80\xEC\x92\xA2\x15\x44\x27\x3D\x9A\x3D\x01\x07\x31\x27\x86\x2D\x55\x03\x10\x00\x7D\x90\x7E\x02\x0E\x17\x4F\x94\x59\x55\x02\x22\x01\xFD\x91\x1D\x0B\x1C\x0E\x9F\x8A\xC8\x18\x04\x23\x00\x02\x95\x40\x08\x39\x05\x40\x94\x64\x82\x2A\x09\x28\xD0\x0A\xE5\x00\x06\x96\xE4\x13\x35\x05\x02\x0F\x50\x98\x04\x66\x01\x12\x95\x3E\x65\x46\x21\x3B\x97\x02\x0E\x4D\x93\x79\x5C\x93\x36\x00\x37\x07\x0C\x05\x21\x19\x02\x16\x50\x84\x21\xEE\x04\xE5\x93\x0B\x92\xF6\x00\x07\x0E\x26\x1A\x01\x2A\x23\xC3\x8C\x00\x00\x17\x95\xA3\x5F\x45\x97\x63\x91\x51\xA2\x26\xC5\x2D\x1E\x94\x1E\x12\x3C\x96\xD0\x3A\x9A\x95\x0A\x2C\x00\x59\x93\x2D\x01\x1C\x96\x41\x02\x1D\x0C\x9D\x9B\x01\x37\x28\xE5\x12\x42\x94\x3C\x17\x3A\x03\x47\x90\xC8\x3D\x51\x83\x05\x31\x00\xD9\x92\x19\x01\x92\x92\x20\x0D\x0E\x1C\x4E\xBC\x00\x6E\x04\x39\x00\x1A\x96", - "\x9F\x88\xB9\x3E\x26\x06\x52\xAA\x28\xF0\x07\x3D\x00\x37\x07\x95\x97\x4B\x95\x47\x1E\x01\x32\x19\xD0\x8B\x53\x95\xD7\x16\x3B\x04\x3B\x96\xA6\x88\x08\x2A\xE5\x5E\x8B\x69\x94\x1C\x01\x9A\x97\x1D\x0C\xA6\x9B\x47\x81\x85\x69\x94\x75\x06\x78\x00\x77\x90\x08\x0E\x26\x1F\x01\x32\x6E\x26\x94\xD7\x3D\x3E\x96\x19\x50\x50\x95\x83\x02\x02\x2E\x09\x44\x00\x5A\x95\x27\x8C\xA2\x93\x78\x19\xA8\x88\x34\xBB\x6E\x47\x94\x07\x02\x1F\x00\x9E\x90\x5F\x01\x0F\x0C\x52\x86\x04\x0B\x95\x69\x0D\x86\x10\x10\x01\x3B\x91\x04\x09\x53\xB3\x03\x5C\x93\x45\x00\x48\x94\x1C\x43\x52\x90\x37\x14\x07\x16\x2A\x83\x02\xA1\x95\x0D\x8F\x58\x05\x08\x09\x9D\x86\x02\x29\x29\xF6\x01\xDC\x92\x23\x00\x6C\x93\x82\x24\xA8\x91\x9C\x31\x2A\xB7\x93\x83\x07\x5A\x97\x40\x00\x1F\x07\xAB\x9D\x6E\x2D\x4A\x3A\x95\x89\x15\x5E\x94\x59\x3A\x73\x40\xAC\x80\x00\x3A\x03\x42\x95\x2E\x11\xCE\x15\xB1\x93\x1F\x08\xAC\x98\x91\x74\x05\x4D\x00\xC5\x94\x7E\x01\xB3\x97\x47\x6B\x1A\x0E\x02\x05\x2B\xFD\x01\xD3\x94\x24\x65\x55\x07\x09\x05\xAC\x9E\x07\x19\x2B\xD0\x64\x62\x4D\x62\x97\x3F", - "\x01\x5B\x98\x25\x6F\xB3\x45\x2B\x9E\x83\x0E\x64\x3B\x4E\x9B\x07\x4B\x6B\x6D\x05\x56\x81\x00\x05\x18\x83\x02\x59\x97\x32\x90\x23\x03\x05\x05\x56\x82\x00\x70\x95\x05\x88\x37\x04\x36\x12\x79\x35\xAC\x83\x00\x38\x2B\x88\x02\xF2\x95\x50\x0F\x6A\x05\x0A\x05\xAC\x84\x00\x3F\x2B\x87\x02\x01\x96\xC4\x16\x45\x15\x58\x95\x00\x07\x58\xAA\x2B\xFC\x07\xCB\x0F\xEC\x90\x16\x01\x4D\x96\x00\x0E\x58\x9E\x86\x6E\x04\x43\x01\x46\x94\xA3\x88\x09\x08\xB1\x9A\x58\xA1\xDE\x6E\x04\x1C\x96\x32\x95\x20\x09\x09\x07\xA6\x94\x0B\x1A\x01\x24\x95\xDA\x07\x03\x03\x74\x7D\xE6\x2E\x26\x0F\x53\x95\xFA\x69\x94\x5E\x01\x34\x95\x02\x03\x65\x95\x49\x16\x53\x96\x0F\x28\x96\xF0\x07\x05\x00\xCD\x96\xFA\x1E\x26\x09\x58\x8A\x85\x5B\x94\x45\x44\x37\x05\xAA\x93\x35\x90\xB4\x98\x17\x0B\x01\x6E\x04\x4A\x00\x8F\x94\x12\x50\x22\x92\xB2\x90\x2A\x0C\x01\x30\x8F\x4A\x97\x1A\x13\xD3\x97\x52\x3D\x98\x87\x96\x6E\x09\x4D\x00\x0D\x12\x31\x00\xCE\x93\x4B\x9F\x04\x17\x5A\x8D\x24\x64\x00\x5B\x97\x27\x8C\x5A\x95\x6B\x9D\xB4\x98\x08\x11\x01\x5E\x96\x2C\x21\xB0\x96\xA3\x90", - "\xB3\x72\x10\x07\x5B\xA5\x2D\xF9\x2A\x4C\x97\xB1\x00\x1A\x05\x58\x9D\x00\x16\x58\xB0\x66\x71\x96\x55\x03\x34\x01\xB1\x96\x01\x06\xB7\x80\x00\x13\x01\x50\x96\x74\x02\x35\x01\xB1\x97\x01\x0D\xB7\x9F\x5B\xAC\x92\x6B\x00\xC5\x94\x08\x01\xE1\x96\x18\x9E\x52\x45\x56\x91\x00\x0B\x97\x97\x35\x36\x01\xB1\x92\x02\x0D\xB7\x95\x02\x2E\x09\x57\x00\xFD\x8C\x37\x02\xDA\x90\x23\x06\x05\x07\x54\x91\x2D\xA4\x4B\x7D\x96\xCC\x94\x42\x00\x53\x99\xF2\x6B\x5B\x9A\x14\x7D\x96\x58\x00\x37\x04\x15\x05\x21\x10\x07\x11\x4C\x93\xFC\x70\x06\x59\x00\xD5\x95\x43\x13\x0E\x0E\xBA\x84\x08\x9A\x01\x66\x90\x9D\x40\x71\x94\xBE\x04\x23\x91\xEE\x3D\x37\xB7\x01\x1B\x97\x00\x1E\x37\x04\x18\x07\x73\x98\xA7\x1D\x02\x2E\x09\x5E\x00\xC4\x96\x61\x10\xF2\x96\xF8\x58\x11\x19\x03\x05\x2B\x95\x00\x7D\x97\xE5\x97\xE0\x20\x3C\x35\xAC\x96\x00\x11\x2F\xBE\x93\xAC\x57\x62\x97\x05\x07\x7A\x9C\x64\x8B\x0D\x3C\x01\x45\x95\x68\x7A\x4B\x8B\x40\x02\x7A\x99\xAC\x94\x0B\x3D\x01\x45\x95\x19\x00\xEE\x95\x09\x13\x7E\x35\xAC\x9A\x00\x2A\x2F\x86\x02\xDF\x93\xB1\x03\x1F\x05\x58", - "\x9B\x01\x0F\x5F\xBE\xA3\x26\x41\xC5\x94\x0E\x02\xFD\x91\x8C\x44\x17\x01\x04\x05\x2B\x9D\x00\xFB\x96\x00\x01\xB9\x91\x5C\x75\xAC\x9E\x00\x01\x30\xEC\x95\x08\x03\x41\x01\xB1\x97\x03\x01\xC0\x9E\x16\x01\x7F\x45\x95\x20\x01\x00\x9B\xBE\x96\x21\x05\x08\x05\x56\xA1\x00\x01\x98\x13\x00\x85\x39\xB1\x92\x04\x01\xC0\x97\x00\x2F\x3B\x45\x95\x23\x01\x00\x9A\x86\x93\x2C\x08\x08\x19\x4E\x89\x02\x69\x94\x24\x01\xBE\x97\x17\x02\x78\x99\xBC\x8F\x5D\x03\x2F\xA0\x59\x74\x03\x45\x01\x64\x92\x12\x75\x02\x00\xEB\x5B\x89\x6E\x04\xBC\x07\xB1\x00\x26\x03\x86\x92\x34\x76\x61\x83\x07\x42\x97\xAB\x03\x52\x01\x64\x93\x54\x7F\x03\x18\xEE\x5D\xAD\x6E\x04\x74\x34\x1C\x7F\x10\x9C\xB4\x36\xC4\x8F\x61\x84\xEF\x55\x02\xC1\x01\x25\x99\xEB\x3D\x89\x9E\x26\x1A\x66\x5C\x04\x4F\x01\x52\x99\x1A\x11\x1A\x04\x8A\x90\xAC\x63\x0A\x1D\x03\x3C\x98\x6D\x34\x1F\x98\x70\x17\xE5\x8D\x8E\x19\x62\xA0\x29\x04\x01\x5C\x99\x2A\x72\xC1\x0E\x8C\x9F\x8B\x29\x63\x9C\xE1\x51\x2C\xA3\x00\xF4\x86\x1F\x2E\x8D\x93\x86\x63\x0B\x14\x00\x71\x98\xEF\x86\xA8\x0A\x2B\x04\x8E\x9A", - "\x86\x72\x18\x38\x31\xF0\x86\x08\x40\x3E\x98\x1C\x72\xA9\x2F\xC7\x9F\x1F\x90\x15\x4A\x01\x82\x98\x3C\x72\x0F\x05\x90\x9B\x2E\x90\x1B\x18\x03\x37\x7B\x4E\x99\xB6\x82\xE6\x04\x91\x96\x27\x95\x23\x0F\xF7\x11\x58\x6E\x05\x7D\x67\x16\x04\x92\x93\xAA\x72\xEE\x58\x32\xEB\x7C\x8F\x4C\x4A\x9A\x24\x73\x00\x08\xE2\x63\x63\x8E\x0F\xAC\x67\xA2\x98\x91\x10\x04\x05\x94\x96\x7D\x18\x5B\x8F\xA2\x14\x99\xF2\x75\x0E\x01\x7D\x7D\xD2\x51\xC9\x8B\x29\xB3\x05\xB0\x99\x34\x33\x59\x9B\x0D\x9E\xD1\x71\x0A\x1C\x64\xA7\xE2\x42\x7C\xB5\x98\x9C\x8B\x58\x07\x15\x0E\xCB\x8D\x91\x00\x33\x94\x8F\xD1\x02\x5C\x99\x14\x51\xCB\x7B\xCB\x9E\xC5\x70\x52\x45\x99\x35\x10\x34\x03\x31\x9B\xA9\x87\x10\x1A\x06\x10\x33\xE0\x14\x76\x01\x69\x98\x54\x88\x1D\x0A\xCC\x8B\x21\xBA\x32\xBF\x98\xAC\x49\x7B\x01\x37\x9F\x88\x5F\xCD\x86\x65\xA1\x9C\x06\x00\xA4\x01\x17\x78\xBE\x04\x14\x05\xCE\x8D\x65\x9D\xE3\x69\x99\xD4\x85\xBA\x04\x2D\x05\x9D\x90\xBA\x4E\x13\x21\x41\x09\x2D\xF0\x99\xFB\x84\xBE\x04\x18\x0C\xCC\x80\x67\x84\xF2\x06\x02\x33\x01\x7C\x9B\x70\x87\x75\x13\x0D", - "\x1D\x67\xA6\x33\xB6\x88\x02\x02\x21\x02\x40\x9F\xED\x60\x05\x0B\x68\x92\x26\x80\x00\xE2\x00\x6D\x98\x60\x8D\x2A\x02\x05\x0E\x68\xAD\xAD\x0E\x9A\xB2\x04\x78\x02\x44\x9F\xB0\x8F\x5C\x16\x68\x8E\x04\x70\x00\x18\x9B\x31\x8B\x46\x9F\xB1\x88\x9D\x3E\x68\x88\x04\x00\x01\x21\x9A\x6D\x07\xB8\x7D\x9E\x94\xCB\x78\x08\x02\x02\x26\x9A\x07\x02\x48\x01\x4A\x9F\x20\x0A\x01\x0B\x69\xA9\xAE\x7F\x8F\x40\x52\x87\x98\xBB\x51\x14\x03\xD3\x8F\x9A\x11\xFB\x0C\x7B\x6E\x05\x2D\x01\x23\x96\xA1\x9E\x80\x8A\x2A\x2E\x09\x61\x00\x2D\x99\xBA\x07\x18\x06\x4D\x08\x8A\x97\x98\x04\x35\x84\x82\x4D\x9B\x83\x03\x1A\x05\xDF\x85\x0A\x1D\x69\xA1\x90\x33\x95\xDD\x3F\xA7\x9B\x03\x17\x06\x00\xE9\x7E\x6B\x78\x2A\xBF\x2E\x5A\x9B\x0E\x39\x57\x9F\xB1\x2E\x26\x09\x03\x09\x35\x9E\x59\xD8\x96\xBA\x01\x2A\x01\xAC\x90\xA6\x19\x01\x23\x35\xC9\x59\xC7\x93\x30\x10\x5B\x9D\x75\x2F\xD6\x90\x67\x50\x27\xF4\x02\xAB\x01\xB9\x9A\x30\x13\x07\x05\xD7\x99\x67\x57\x27\x8F\x50\x7A\x9B\xCA\x3D\x5F\x9F\xFB\x0E\x9D\x81\x0C\x81\x36\xF5\x06\x3D\x01\xC1\x99\x34\x5E\x3C\x98\x86\x07", - "\x6C\xAE\xC0\x0A\x9B\x18\x5B\xF6\x90\x67\x1E\xB1\x90\x37\x1F\x01\x10\x36\xE6\x00\x6E\x05\x01\x99\x55\x00\x16\x04\xD9\x9A\x1E\x00\x01\x17\x9B\xEB\x95\x38\x11\x67\x98\x7E\x01\x04\x00\x6D\xB3\x2B\x8E\x02\xB2\x01\xD1\x99\x1D\x0A\x08\x06\xDA\x8B\x93\x70\x04\x33\x01\xAA\x9B\x40\x0B\x10\x05\xB5\x91\x27\x74\x0B\x34\x02\x31\x9B\x50\x0A\x22\x00\x6D\x9F\x4E\x67\x48\x18\x6D\x94\x73\x3B\x9B\x7C\x65\xD5\x02\x2D\x01\xB0\x97\x0B\x16\x6A\xA2\x11\x10\x9B\x67\x00\xAC\x9B\x58\x01\x17\x0E\xDB\x97\x0B\x48\x37\xDF\x9A\x63\x02\x5D\x01\x73\x98\x12\x2F\xDC\x9E\x55\xAD\x30\x53\x9B\x95\x09\xEA\x9B\xB0\x95\x93\x28\xDD\x96\x7E\x1A\x37\xE5\x97\x88\x73\xEE\x9B\x40\x03\x09\x0F\xDD\x8E\x56\x85\xFE\x62\x9B\x91\x07\xF2\x98\xB5\x97\x92\x08\xDE\x88\x0B\x6A\x37\xDA\x95\x43\x02\x60\x01\x7B\x9E\x09\x0F\xDE\x80\x57\x88\x04\x41\x01\xED\x9B\x27\x03\x7B\x9A\xB3\x98\x0D\x4D\x6F\x90\x01\x6F\x9B\x08\x99\x83\x03\x30\x05\xBD\x91\x05\x0F\x6F\x8E\x30\x94\x1C\xED\x9A\x29\x03\x7B\x9B\x82\x98\x10\x05\x06\x2D\x37\xD3\x00\xEF\x9B\x0C\x98\x5D\x06\x18\x0D\xDE\x94\x02", - "\x2F\x37\x9E\x98\x74\x03\x63\x01\x7B\x9D\x0A\x0F\xDE\x83\x61\x95\x05\x48\x01\x81\x9B\x64\x02\x71\x98\x00\x06\x05\x10\x6C\xA8\x01\x6E\x04\x64\x01\x86\x13\x32\x05\xBD\x95\x37\x06\x6B\x8A\xC2\x67\x9A\x70\x06\x35\x02\x9B\x01\xB9\x9F\xB6\x85\x53\x25\x35\xB0\x9C\xDA\x07\xA9\x98\x5C\x9D\xC6\x94\x44\x2E\x13\x02\x25\xE3\x02\xCC\x00\x16\x9C\xBE\x07\xC7\x96\x10\x18\x03\x3D\x1B\xCD\x01\x23\x9D\xBA\x07\x1B\x02\xB9\x94\xB3\x4D\x6F\x97\x01\x10\x9B\x4B\x9C\x0A\x65\x11\x1D\xBD\x98\x05\x10\x72\xA9\x35\x90\x80\xED\x9B\x2C\x02\x95\x9D\x7B\x9A\xDC\x0D\x6F\x9A\x01\x5B\x9C\x61\x8D\xD5\x03\x34\x05\xBD\x9B\x05\x00\x73\x9C\x26\x27\x04\xED\x9A\x4B\x7E\xF8\x92\x20\x01\xE5\x86\x29\x2B\x06\x55\x01\xED\x9B\x2E\x02\x99\x9F\x7E\x9D\x6C\x4D\x6F\x9E\x01\x73\x9C\xFC\x97\xB1\x03\x35\x05\xBD\x9F\x05\x18\x73\x82\x30\x99\x83\xED\x9A\x30\x02\x9F\x99\xC0\x96\x10\x19\x06\x2D\x37\xE1\x00\x7E\x9D\x03\x9E\xE4\x2D\xBD\x92\x06\x1E\x73\x8C\x38\xF4\x0F\xED\x9B\x31\x02\x9F\x9A\xC2\x92\x8D\x0D\x6F\xA4\x01\x7E\x9C\x18\x9C\x28\x7D\x7B\x9D\x0C\x0E\xE7\x9E\x70\xBD", - "\x5D\x01\x9B\xDF\x01\x11\x9E\x19\x00\xB2\x90\x07\x0E\x13\x31\x01\x7D\x8D\xE1\x01\x24\x9F\x31\x3E\x4D\x04\x07\x18\x71\xB0\x0F\x27\x9D\x25\x04\x57\x9C\x27\x36\x4D\x06\x07\x12\x75\xBB\xC4\x6E\x04\x73\x01\x7E\x8F\x38\x02\xD5\x90\x37\x19\x75\xA5\xC8\x36\x9D\x50\x0A\x5F\x9C\xEB\x60\xD8\x98\x11\x0D\x75\x95\x61\x7D\x8D\xE5\x00\x5E\x9E\xF6\x05\x0E\x04\xEB\x84\x76\x8E\x04\x35\x9D\x19\x0F\x86\x13\x39\x02\xC8\x9E\xF6\x0E\x13\x25\x3A\xBC\x9C\x45\x9C\x37\x05\x9B\x9D\x74\x9C\x98\x98\x17\x39\x01\x4C\x9C\xDB\x30\x65\x9C\xFC\x07\x0C\x00\xD9\x9F\x76\x92\x39\xF3\x41\xE2\x9D\x3A\x08\x1A\x05\xDC\x97\xE5\x95\x0A\x2C\x03\x69\x9D\x81\x09\x34\x00\xBB\x9C\xCB\x93\x16\x0E\x07\x30\x3B\xD0\x0A\x9D\x7D\x35\x9C\x00\x06\xDC\x91\xE6\x94\x0B\x30\x03\x77\x9D\xA0\x61\x79\x9F\xFA\x95\xEE\x50\xF0\x8E\x08\x2C\x01\x02\x9E\xF0\x97\x6B\x15\xC1\x99\xE3\x08\xF0\x94\x73\xAF\x31\x0B\x9E\x07\x02\x37\x01\xC3\x99\xCF\x95\x15\x18\x07\x10\x3C\xCE\x35\x13\x9F\x3F\x9E\x5E\x57\xE2\x9D\x8A\x39\x78\x84\x3A\x9B\x27\x1C\x9F\xC3\x09\xC6\x9A\xD1\x92\x32\x01\x79\x90\x16", - "\x19\x9E\x8F\x9D\x83\x01\x29\x06\xF8\x55\x37\x13\x03\x19\x3C\x94\x9D\xA9\x27\x95\x9E\xE4\x60\x81\x29\xF1\x99\x74\x9E\x1C\x32\x9E\x5B\x5D\xBA\x05\x1D\x01\xE3\x9E\xE9\x90\x09\x06\x00\x38\x9E\x9D\x67\x15\x08\xD0\x9D\xFD\x66\x07\x10\x6C\xBB\x01\x01\x8E\x29\x65\xA1\x9D\xE2\x87\x1A\x20\xE9\x72\x2E\x47\x3D\xE7\x42\x17\x00\xA5\x9E\x24\x74\x10\x0D\xF4\x91\x6A\x00\x31\xEB\x0E\x4A\x9F\x51\x75\x24\x06\xA6\x93\x74\x08\x62\xAB\x06\x32\x00\x59\x9E\x91\x13\x27\x04\xEB\x9F\xF4\x8F\x62\x8A\x60\x61\x9E\x0F\x11\x56\x00\xD9\x9D\x8A\x95\xAD\x88\x7B\x9F\xB4\x6B\x9E\x05\x68\x67\x9D\x93\x06\x4D\x06\x6B\x38\x08\x1C\x01\x52\x9E\x44\x23\xAA\x9F\xDC\x9E\x71\x83\x14\x09\x03\x2E\x3D\xE0\x14\xD6\x00\xB8\x9E\x1A\x9C\xFE\x4F\xF7\x98\x53\x24\x03\x02\x9F\x6F\x99\xB1\x01\x21\x05\xF0\x92\x30\x28\x7C\xB5\x31\xD5\x02\x93\x00\xC6\x9F\xEB\x10\x00\x0F\xF7\x68\x4B\x2E\x09\x3A\x43\x53\x02\xC9\x9D\xDD\x06\x01\x05\xF9\x97\xEF\x2E\x09\x63\x65\xAF\x00\xCD\x9D\xCC\x1D\xF3\x99\xFE\x08\x5A\x91\x07\x4A\x9E\xF2\x74\x15\x00\xE5\x7D\xEC\x92\xC9\x95\x0A\x0C\x03\x22", - "\x9F\x70\x07\x1C\x00\xE9\x9D\xB1\x29\xC9\x9A\x11\x30\x3E\xDA\x07\x47\x01\xD9\x9D\xD7\x98\x94\x96\xCA\x78\x7B\xAD\x76\x00\x7E\x4E\x9E\x37\x06\x2C\x6D\x1E\x0E\xFB\x95\x41\x22\x01\x40\x9F\x56\x9F\x9B\x5E\x00\x06\x14\x0A\xCE\x90\x1B\x2F\x01\x00\x7E\x95\x5C\xD6\x9E\x2D\x9A\x36\x8C\xFC\x91\x67\xB8\x0B\x7F\x00\xD0\x9F\xE4\x9E\xD1\x5B\x61\x05\xFD\x80\x64\x81\x12\x0F\x01\xBA\x9E\xE9\x9E\x30\x9D\x2A\x0E\x02\x1D\x7E\x86\x32\x98\x02\x9D\x01\xF0\x9C\x32\x99\xA7\x86\xFE\x8D\x64\x9A\x0F\x2B\x01\xAB\x9E\x37\x07\xFC\x79\xD3\x5D\xFE\x95\x64\xA1\x15\x6A\x9F\xD4\x98\x83\x01\x16\x05\xFE\x93\xAA\x68\x06\x38\x3F\xD0\x8A\x67\x01\xFA\x9E\xBC\x76\x1A\x09\xFD\x9B\x7B\x90\x15\xF6\x00\x02\xA1\xAB\x51\x01\xA6\xF2\x97\xA9\x25\x04\x09\x40\xB8\x7D\x0B\xA0\xCF\x9F\xA5\x34\x12\x0F\x00\xB9\x10\x5F\x01\xB4\x9F\x0E\x6B\x51\x01\x05\xA7\x68\x1C\xFF\x7B\x7D\xBF\x33\x80\x40\x1B\xA0\x3C\x15\x09\x05\x03\xA2\xFE\x86\x8E\x63\x05\x41\x01\xFC\x9F\x4F\x51\xFD\x9A\x56\x04\x03\x0D\xFE\x46\x40\x93\x9A\x61\x39\x14\xA0\xD3\x7B\x05\xA4\x08\x2E\x81\x8C\x40\xA4\x86", - "\x8B\x64\x19\xA2\x95\x04\x06\xA1\x16\x16\x81\x92\x40\xEE\x8F\x33\x24\x1D\xA0\x6F\x04\x07\xA7\x10\x1E\x02\x3E\x40\xA5\x9F\x2D\x9A\xCD\x03\x29\x06\x7E\x5F\x00\x0B\x82\xB3\x3C\xC9\x81\x47\xA0\x0C\xA1\x2F\x78\x26\x01\x01\x0E\x82\xBC\x06\xA0\x00\x56\xA1\xA0\x9E\x86\x15\x03\xAC\x07\x0E\x13\x3D\x01\x72\x9E\xED\x36\x37\x07\x1F\x00\x0C\xAF\x5A\x28\x7A\x92\x0C\x59\xA0\x01\x62\x85\x6A\xA4\x1A\xBA\x4F\x05\xA7\x0B\x6F\x00\x68\xA0\x4B\x9E\x3C\x16\x25\x03\x0D\xAE\x10\x0D\x83\xAD\xBA\x3C\x00\x70\xA1\x51\x77\x28\x01\x0A\xA0\x00\x16\x83\x8B\xD1\x17\x13\x79\xA0\x91\x11\x2C\x04\x0F\xAE\x07\xB3\xA2\x4E\x04\x58\x00\x81\xA1\x07\x13\xFE\x7E\x7E\x55\x08\xA9\xED\x30\x04\x66\x00\x89\xA1\x1A\x11\x33\x04\x10\xA4\xF7\x8B\x0D\x34\x01\x70\xA0\x92\x71\x6D\x00\x1D\xA7\x24\x04\xC6\x9D\x5F\x91\x42\xE0\x14\xE8\x00\x4A\xA3\xF7\x73\x2C\x0F\x08\x1F\x84\xB8\x29\x76\x01\xA2\xA1\xA5\x81\x55\x05\x13\x06\x0A\xB0\xED\x6A\x04\xB9\x5B\xA6\x9C\x32\x0D\x2B\xA7\x75\x12\x01\x0F\x85\xA5\x41\xD9\x82\xB5\x7B\x59\xA2\x99\x3E\x16\xA5\xA7\x5F\x7C\xA7\xD6\x3A\xA1\x1E", - "\x34\x5E\xA2\x40\x05\x11\xA4\x76\x75\x0A\x15\x03\x70\xA0\xF2\x74\x1E\x01\x39\x85\x17\xAB\x50\x98\x08\x24\x03\x40\xA1\x70\x07\x25\x02\x30\xA5\x0F\xA5\xFB\x95\x7B\x50\x43\x90\x91\xD3\xA0\x62\xA0\x80\x3E\x36\x2D\x35\x98\x17\x27\x01\x15\x82\x9C\xA1\x53\x99\x43\x08\x15\x0D\x0D\xB0\x1B\x34\x01\x60\xA1\xB0\xA1\x9B\x5E\x06\x04\x1C\xA6\xFD\x90\x1B\x01\x02\x6E\x81\xB7\xA1\x5A\x86\x93\x2C\x1D\xAA\xCF\x90\x1B\x11\x02\x70\xA1\xCC\xA1\xED\x9F\x2E\x5C\x1E\xA7\xFE\x84\xC5\x59\x43\xEE\x04\x75\x62\x23\x00\x3F\xA0\x81\x80\x55\x0F\x05\x3F\x43\x84\x7B\xBD\x25\x81\xA0\x04\x8A\x7B\x0D\x0B\x0B\x86\x83\x43\xF2\x9F\xAB\x03\x31\x02\x42\xA3\x54\x7C\x0C\x07\x88\x92\xF6\x43\x02\x71\x01\x89\xA0\x00\x26\x22\xAC\xB6\x9C\x08\x3F\x01\x0A\xA2\xF2\x74\x74\x00\x3E\xA7\x21\xAC\x4A\x4E\x04\x20\x44\xFB\x2F\x23\xA2\x6A\xA3\xA5\x35\x13\x07\x12\xAF\x40\x08\x00\x54\x82\x95\x5C\x62\xA0\x5A\x95\x34\x7D\x12\xB5\x41\x18\x00\x30\xA2\x75\xA0\x7B\x9A\xCD\x25\x26\xA0\xA6\x08\x01\x25\x06\xF1\xA1\x2F\x88\x82\x30\x4F\xA1\xD9\x1F\x13\xB9\x87\x88\x34\x8F\x6A\x1A\xA3", - "\x29\x3E\x42\xA2\x56\x06\x04\x00\x0D\xA4\x44\xF0\x76\x0E\x03\x74\x01\x52\xA7\x20\x07\x0F\x0B\x8A\xBD\x4A\x4E\xA2\x2A\xA2\x1C\xA0\x3B\x2B\x2A\xA2\x3A\x09\x05\x06\xBF\x62\x00\x58\xA2\x62\xA1\x9F\x59\x01\x0E\x15\xA6\xA5\x57\x00\x65\xA2\x5B\x5C\x38\x01\x58\xA6\x4D\x08\x07\x79\x00\x28\x45\x89\x63\x27\x01\xB7\xA1\xFB\x6E\x0F\x0B\x16\xA2\x23\xA6\x84\x72\xA2\xF6\x7A\x1C\x00\x5E\xA2\x56\x0C\x08\x05\x8A\x82\x04\x7E\x00\x5E\xA0\x32\xA1\x37\x92\x0C\xA2\x18\xB4\x26\x2E\x09\x7A\x00\x0D\x12\x1D\x00\x5E\xA5\xA8\x96\x10\x00\x04\x19\x32\x85\xA3\x00\x01\x40\x00\x12\x90\x32\xA2\x19\xAA\x48\x98\x3B\xFC\x12\x6E\x04\x41\x01\x43\x13\x07\x0B\x17\xA4\x08\x83\x24\x87\x02\x9A\xA3\x65\x39\x67\xA4\xB8\x80\x9F\x2E\x13\x03\x02\x10\xA3\x86\x01\xC9\xA0\x60\x0B\x31\xA1\xD8\x74\x0A\x83\x06\x29\xA3\x96\xA3\xB1\x00\x10\x04\x35\xAF\x80\x1C\x04\x2E\x46\x8E\x02\x88\x00\x37\x06\x22\x00\x32\xA9\x1B\xA6\x93\x15\x18\xA3\xA3\xA2\x24\xAA\x82\xAC\x05\x37\xA9\xA9\x89\x74\x34\x46\xBB\x37\xC0\xA2\x75\x0B\x6D\xA3\x2D\x02\xAA\x83\x08\x06\x01\x49\xA3\x78\x14\x50", - "\x02\x70\xA6\x21\x09\x08\x0E\x52\xA8\x6A\x47\xA3\x9F\x30\xE8\xA2\x40\x02\x14\x0B\x1C\xA7\x08\x3B\x46\xEB\x1A\x90\xA3\xEF\xA0\xBD\x6E\x21\x0B\x04\x18\x8E\xA5\x0A\xDD\xA3\xD1\x5A\x70\x9C\x6A\x52\x3B\xA9\x8D\x73\x8E\xA0\x47\xA3\x89\x7B\x08\xF3\xA3\xD7\x40\x3D\xA3\x10\x0B\x04\x10\x37\xDB\x95\xEC\xA3\xBA\x07\x29\x06\x3D\xA7\x10\x16\x8F\x96\x37\xD2\x22\xF9\xA2\x7C\x05\x2A\x04\x3F\xA9\x1E\xB4\x77\x95\x05\x53\x00\x01\xA4\xB8\x07\x2A\x04\x40\xA5\x1F\xB7\x6B\x95\x1C\x09\xA4\xDA\x06\xC1\x82\xF1\x5E\x3F\xA3\xF0\x83\x6B\x50\x48\xF0\x07\xAF\x00\x06\xA5\x0F\x5D\xB0\x9C\x27\x97\x90\xB5\x11\x31\x01\x1A\xA4\x00\x00\x85\xA0\x8A\x49\x3C\x1E\x90\x81\x12\x33\x01\x21\xA5\x11\xA6\xF0\x03\x35\x0D\x05\x06\x91\x90\x15\x35\x01\x29\xA5\xCC\x9B\x6A\x07\x0B\x0E\x22\xB1\xE9\x31\x48\xAC\x27\xEC\x39\x1A\xA4\x5B\x77\x46\xA7\x50\x3C\x08\x23\x01\x3A\xA4\x08\x03\x5D\x00\x8F\xA6\x77\x23\xAC\x20\x92\xB0\xA2\x43\xA4\x03\x02\x98\x9F\x1F\x56\x48\xA7\x9E\x48\x92\xA2\x2D\x2B\x03\x69\x00\x26\xA7\x40\x01\x18\x0E\x24\xB4\x35\x80\x20\xEC\xA3\x6D\x00\xF6\xA3", - "\x30\x01\x44\xAC\x08\x0A\x8F\x9C\x04\x6F\x00\x52\xA5\x9A\x90\x97\xA7\x3E\xA8\x11\xA1\x93\xA0\x9D\x63\xA4\xFF\xA3\xAA\x03\x1C\x06\x4C\xA1\x19\x86\x7E\x5D\x49\x86\xA4\x43\x03\x3A\x02\x99\xA3\x19\x08\x26\xBD\x77\xAF\xA4\x66\xA4\xCD\x01\x3A\xA7\x99\x9F\x7A\x46\x26\xAF\x06\x3A\x49\x83\x02\xF1\x96\x6F\x1E\x99\xA1\x1A\x0F\x27\xA1\x2E\x66\x2F\xE6\xA4\xD3\x01\x42\xA6\x1A\x49\x8B\x26\x26\xB5\x06\x0A\x4A\xFC\x9B\xE7\x1C\x33\xA7\x35\x02\x51\xAF\xF1\x82\x08\x03\x02\x66\xA4\xD9\x00\x45\xA4\xC9\x99\x80\x06\x26\xBB\x06\x0A\x4A\xA9\x9E\x16\x2E\x33\xA5\x37\x02\x51\xAA\x24\xB0\x09\x09\x02\x66\xA4\xDF\x00\x45\xA6\xCD\x9C\x43\x16\x26\xA1\x07\x0A\x4A\xBD\x9E\x98\x42\xF6\xA3\x23\x04\x3D\xA3\x0E\x01\x91\x8D\x02\x6E\x04\x87\x01\x86\x11\x24\x02\x3E\xAE\x6F\x90\x2A\x0E\x02\x6E\x04\x6F\xA4\xA2\x97\x93\x8D\x38\x15\xB2\x93\x0B\xBC\x4A\xF5\x06\xE5\x00\xFA\xA2\x40\x07\x11\x0E\x26\x15\x8E\x97\x46\xCB\xA5\xBA\xA2\xC8\xA0\x24\x06\x4D\x04\x1C\xBC\x76\x84\x04\x91\x01\x6E\x04\x91\x90\x0C\x17\x58\xAA\x82\x83\x08\x1A\x4B\xE3\xA3\xD6\x02\x6E\xA4\xDC", - "\x06\x1C\x0A\x2C\xB4\x7C\xAE\x09\x12\x01\x0D\x13\x4A\x02\xB8\xA0\x46\x95\x09\x0E\x13\x17\x02\x10\xA3\xED\xA4\x84\x01\x26\x00\x32\xAF\x2E\xAC\x5E\x8E\x04\x16\x01\xEB\xA4\xF8\x07\x39\x05\x5C\xA5\x2F\xA7\x08\x33\x4B\xCF\xA5\x00\x01\x7E\xA6\x41\x00\x37\x94\x17\x17\x04\x39\x4B\xBA\x3C\xFC\xA5\x76\x9F\x50\x00\x13\x07\x30\xA1\x24\x29\x03\x09\xA6\x70\xA4\x98\x01\x26\x05\x61\xA0\x55\x0A\x07\x10\x4C\xF6\xA4\x55\x02\x4D\x00\xC5\xA0\x23\x0B\x0E\x17\x98\xBB\x49\xE3\x02\x9B\x01\x8D\xA6\xB0\x86\x63\xA0\x28\xAB\x0D\x1C\x02\x22\xA6\x7E\x26\x92\xA6\xA1\xA3\x2C\x0D\x09\x08\x99\x80\xAD\x2A\xA6\x8B\xA5\x25\x12\xCB\xA4\x7B\x10\x33\xB0\x94\x9C\x04\x1F\x01\x33\xA6\xE1\x08\xCC\xA5\x52\xA4\xC5\x59\x99\x9D\x25\xB0\xA6\x9B\xA5\xA9\x02\xCF\xA0\x00\x02\x0F\x10\x99\xA0\x4A\xDB\xA3\x43\xA7\x79\x00\xCC\xA5\x54\xAA\x1A\x43\x9A\xA4\x06\xFA\x9D\x02\xA6\xDE\x9B\x1C\x23\x68\xA5\x0F\x10\x99\xB0\x4A\xC7\x5E\xBC\xA4\x53\x00\x7B\xA6\x1E\x05\x2E\xB8\x04\x1E\x49\xA1\x04\x43\xA7\x7B\x01\xD7\xA4\x4C\xA6\x60\x43\x9A\xB8\x03\x63\xA6\x69\xA5\xA1\x02\x2A\x03", - "\x68\xA9\x0F\x08\x9B\x9B\x37\xA0\x26\x43\xA6\x7D\x02\xDB\xA0\xBC\x95\x15\x0C\x05\x03\x4D\xFB\x01\x73\xA6\xF3\x99\x55\x05\x15\x03\x34\xBC\x07\x39\x4D\xEB\x9B\xA2\x85\xA1\xA5\x3F\x07\x6F\xA0\xDF\x90\x09\x2F\x02\x43\xA6\xFE\x00\xC2\xA6\x7D\x9C\x3B\x53\x34\xBF\x07\x04\x4E\xB6\xA6\x08\x15\xA1\xA7\x20\x32\xDF\x9E\x35\xB8\x91\x8B\x47\x43\xA6\x01\x00\x16\x87\x77\x66\x4D\x01\x34\xA2\x08\x33\x02\x43\xA6\x02\x00\xCD\xA7\x41\x05\x72\xAE\xDA\x9C\x08\x34\x02\x43\xA6\xAA\x82\xCA\xA6\x9B\x04\x69\xA8\x11\x15\x05\x03\x4D\x84\x00\xA2\xA6\x83\x00\xE9\xA2\x61\x96\xB1\x23\x9A\x85\x00\x31\xA7\x03\x03\xD9\xA6\xE6\x63\x35\x07\x0B\x1C\x95\xB8\x02\x6C\xA3\x06\x00\xDC\xA6\x40\x07\x5F\xA7\x10\x1C\x04\x10\x46\xC4\xA7\x4B\x25\x86\x12\x2E\x06\x4C\xA7\x00\x07\x11\x80\x00\x48\xA7\x03\x03\x7A\x91\x60\x70\x2F\xAA\x9F\x49\x00\x11\x07\xCD\x03\xD0\xA7\xBA\x01\x43\x17\x17\x04\x3D\xA2\x49\x0C\x00\x57\xA7\xCC\x3E\xD5\xA3\x03\x4D\x7B\xA4\x9A\x11\x0E\x9E\x0B\x59\xA7\x52\x2B\x86\x11\x31\x04\x7C\xA5\x83\x13\x00\x26\x4F\xE1\xA7\x37\x5E\x64\x00\xFB\xA0\x4C", - "\x17\x01\x0F\x9F\xB2\x4B\xAE\x99\x41\x3B\xF9\xA4\x9E\x13\x03\x06\x3F\xBE\x97\xB8\x2E\xF4\x02\xCE\x00\xFD\xA6\x46\x28\x7C\xA7\x3F\xAD\x43\xB4\x6C\x02\xA8\xAF\x16\x11\x00\x01\xAE\x7F\xA4\x87\x94\x0B\x14\x03\x08\xA8\x3F\x0D\x05\xAA\x55\x06\x4D\x0F\x92\x91\x3B\x50\x50\xF8\x05\x28\x00\x09\xAB\x40\x00\x7D\xA6\x93\x83\x0B\x1A\x03\x17\xA8\x18\x90\x0D\xAB\xF0\xA6\x4D\x0C\x93\x94\x0B\x1D\x03\x20\xA8\xC8\x4C\x11\xAB\xF3\xA6\xC7\x9D\x90\x00\x07\x28\x50\xF0\x07\x31\x00\x15\xA8\xFA\xA7\x28\x94\x17\x03\x07\x2F\x50\xF5\x08\x34\x01\xFE\xA7\x04\xAB\x87\x2D\x90\x06\x07\x37\x50\x81\x09\x38\x00\x19\xA8\xE0\x97\x18\x7F\x43\xB0\x2A\x3B\x00\x3A\xA8\x1B\xA9\x21\xAA\xBB\x9D\x88\xA8\x11\x1F\x01\x08\x51\xA3\xA8\x69\x87\x86\x13\x3B\x04\x89\xA1\x14\x2F\xA2\xAB\x50\x97\x35\xF2\x00\x2A\xA9\x64\x36\x8A\xA8\x3E\xB3\x89\xB3\x58\x5A\xA8\x99\x5C\x2E\xAA\x9B\x06\x2D\x96\x70\x00\xA3\xAB\x94\x62\xA8\x08\x03\xBA\x91\x55\x03\x1F\x06\x46\xA3\x08\x13\x01\x42\xA8\x08\x03\x6E\x8E\x8F\x2B\x68\xA6\x05\x02\x9E\x97\x51\xDA\x7D\xF8\x8B\x36\xA8\x47\x52\x85\xAA", - "\x09\x0E\x13\x06\x4F\x80\xA6\x7D\xA8\xDF\xA0\x9A\x32\x15\x0C\xF2\x91\x3D\x4E\x4F\x81\xA9\x07\x02\xE9\xA6\xC7\x0C\x90\xA2\x97\x8F\x40\x1C\x01\x7C\xA8\xFB\x91\x86\x13\x01\x04\x91\xA8\x97\x80\x53\x1F\x01\x10\xA9\x02\x93\x86\x12\x02\x04\x92\xAE\x97\x80\x53\x22\x01\x56\xA8\x88\xA8\x28\x90\x72\x6C\x93\xAF\x15\x1C\xDB\x20\x52\xF8\xA7\xA3\x68\x52\xA8\x00\x02\x3F\x5A\x06\x07\xA5\xB7\xBC\x13\x00\xAA\xA8\xFD\x52\x1B\x06\x95\xAB\x91\x8D\x48\x16\x00\x31\xA9\x22\x12\x39\x00\x26\xA9\x24\x9D\x90\x19\x00\x38\x52\xB8\x58\xBB\xA8\x94\x90\x5D\x04\x03\x0F\x4B\xB6\x93\x01\x53\xAE\x92\x0D\x13\x0F\x01\x31\xAD\xB5\x57\x4C\xB5\x49\x8D\x24\x22\x00\xCB\xA8\x3C\x16\x1F\x05\x99\xAB\x93\x8D\x48\x25\x00\x51\xA9\xCD\x5A\x6A\xA8\x91\x9B\x28\x08\x02\x18\xA6\x9D\x77\x54\xA9\x34\xA9\x96\x42\x37\xAE\xB1\x14\x4B\xAD\x4A\x96\x91\x63\xA9\xBF\x76\x6A\xA9\x76\x29\x06\x08\x4E\xB0\x1B\x0E\x02\x65\xA9\x58\x93\x39\x5D\x3B\xAA\x7B\x02\x09\x10\xA7\x9D\x25\x8D\x12\x37\x01\x79\xA8\xFC\x06\x12\x06\x4F\xA3\x4B\x9E\x91\x7A\xA9\x75\x08\x4D\x01\x3F\xAE\x8B\xA6\xE0", - "\x20\xA8\x81\x12\x1E\x01\xFD\xA8\x32\xA9\x55\x00\x08\x06\x50\xB0\x2A\x22\x02\x7D\xA9\x6A\xA8\x69\x45\x43\xAE\xF3\x64\x4D\xB2\xA3\x95\x2E\x2A\xA9\x2B\x33\x54\x02\x1D\xA9\x94\xA0\x55\x60\x32\x93\x54\x8E\x02\xAA\x00\x15\xAB\x26\x06\x8F\xA0\x19\xBF\xA3\x84\x4F\x10\xA3\x9D\x00\x37\x06\xEE\xA2\x2B\x3D\x2D\xA7\xB8\x6E\x09\x68\xA7\xDD\x9D\x75\x90\x59\x04\x1E\x9A\x65\x98\xA8\x84\x04\x9E\x01\x91\xA9\xCC\x0A\x4D\xAC\x34\xA5\x79\x3D\x3E\x8D\x24\x4C\x00\x3B\xAA\xC4\x92\x30\xAF\xB7\x1D\x6F\x8D\x02\x2A\x52\x9F\x93\x21\x18\x77\xA5\x0B\x9D\x15\x06\x47\xA1\x05\x2F\x54\xAD\x98\xAE\x00\x3B\xAA\x28\x06\x4D\x0F\x09\x0A\x33\xAA\x52\xF2\x2F\xA9\x24\x37\x07\x29\x05\xDF\x84\x05\x07\xAA\x82\x97\x6E\x04\xA8\x01\x7E\x8E\x15\x06\xAB\xA7\x44\x2A\xAA\x83\x1A\xAF\x01\x76\xA9\x52\x03\x53\xAB\xD0\x80\x0B\x16\xA3\xA6\x02\x54\xAA\x0D\x12\x2C\x03\x55\xAC\x20\x8B\x55\xB6\xFE\x10\x46\xE1\xAA\xE3\x3F\x16\x99\x2C\x06\x8E\xA8\x57\xAC\xA0\x82\x4B\xA6\x97\x02\x02\x59\x02\x1D\xA9\x15\x00\x57\xA5\x04\x73\x55\xBC\xAA\xAA\x00\x37\x04\x2B\x01\x6B\x91\x54\xA6", - "\x08\x23\x01\x64\xAA\x35\x11\xC5\xA8\x42\x03\x15\x0D\x90\x05\x03\x0D\x56\xDA\x8B\xF0\x07\x56\x01\x73\xA1\x9A\x50\x59\xBF\x0E\x76\x51\x9A\xAB\x08\x03\x59\x01\x43\x10\x0D\x07\x59\xB0\x38\x1D\x56\xF8\x14\xAF\x01\xCD\xAB\x97\x5D\xB4\xAF\xBA\x14\x05\x36\x51\xA9\xAB\xA1\xAB\x7E\x8C\x1B\x07\xB4\xA0\x76\x2E\x13\x32\x02\x19\x97\xB4\xAB\xD7\x15\x2C\x06\x4D\x0E\x0A\x0C\x5D\x9F\x54\x8F\x10\xB7\xAB\xCF\x00\x64\xA2\xB4\xA4\x19\x10\x8C\xB4\x02\x2A\xAB\x73\x01\xDC\xA9\xDD\x05\x16\x06\x47\xA7\xAE\xB1\xE9\x0D\x12\x75\x00\xD6\xAA\x1D\x02\xB9\xA8\x2F\x16\x05\x2A\x56\xF8\x00\xAC\xAB\xBA\x06\x2D\x06\x8E\xA6\x5D\xAF\xAE\x87\xE5\x79\x00\xD4\xAA\xB8\x07\x2D\x02\xB1\xAD\x90\x1B\x03\x2C\x56\xFC\x00\xB9\xAB\x01\x86\xBE\x98\x17\x0E\x26\x19\x05\x10\x46\xEC\xAB\x41\xA4\xC8\xA2\x7B\xAA\x65\x8D\x90\x1E\x03\x2C\x56\xFF\x00\xB9\xAA\x5C\x02\x1D\xAA\x17\x0D\x5E\xB0\x8C\xBC\x57\xF1\xAB\x00\xA7\x5D\x02\x9B\x05\x16\x0D\x90\x01\x04\x3F\x56\x8D\x3A\x6E\x05\xF1\xA8\xC0\xA5\x17\x04\x41\xAD\x48\x04\x02\x59\xAB\x2D\xAB\x46\x23\x20\x91\x08\x90\x61\xB2\xA9", - "\xBD\x1E\x6E\x04\xC4\x01\x7E\x8E\x21\x01\xBC\xAA\x3D\x00\x06\x2A\x56\x88\x01\x1C\xAC\xF8\x05\x2E\x06\x79\xAE\x61\xB1\xAD\xB4\x05\x0A\x01\xAC\xAB\x45\x01\x6E\xAB\x17\x06\x47\xA1\x06\x2E\x09\x43\x01\x90\xA2\x17\xAE\x20\xAB\x2C\x0D\x08\x01\xB1\x88\x80\x4E\xA7\x32\xAD\x83\x00\x71\xAC\x14\xAC\x5A\xB0\x04\x39\x56\xBE\x01\x76\xA8\x61\x03\x8B\xA8\x32\xA2\x64\xB3\xB1\x95\x05\x12\x01\x36\xAC\x9A\x22\xF3\xA5\xC8\xAA\x63\xAD\x48\x14\x02\x2C\xAB\x95\x01\xDC\xA9\x30\x06\x8E\xA0\x63\xBF\x50\x3B\x35\x07\xAC\x60\x15\x0C\xAE\x88\x70\x32\xAD\x41\xB9\x59\x7D\x1B\x9A\x01\x49\xAC\xA8\x0A\x31\x02\xB5\xAC\x09\x01\xB3\x98\x04\x42\x01\xCE\xA7\x31\xAE\x89\xAF\x5D\x7C\x5A\xBF\x04\x39\x56\xC4\x01\x76\xA9\x63\x02\x9B\x02\x19\x00\x19\xB2\xB3\x86\x59\x96\x3E\x66\xAD\xBD\x0A\xF3\xA6\xCE\xA2\x24\x2D\x44\xB9\x59\x88\x02\x0C\x84\xE3\x5C\x9F\xAB\xF5\x0D\x90\x05\x05\x2C\x56\xA6\x01\xB9\xAB\x64\x01\x9C\xAE\x4D\x0C\x0B\x0D\x48\x28\x02\x2C\xAB\xA9\x01\xDC\xAA\x32\x06\x8E\xA8\x0C\x13\xB3\x90\x46\x95\xAD\x77\xAC\x98\x03\x2A\x07\xCF\xA7\x10\x0B\x06\x0E", - "\x4F\x98\xAD\x7D\xAC\x3F\x20\xA7\xAE\x20\x0D\x0C\x1F\xB4\xAE\x09\x3B\xAC\x7D\x08\xD6\xA8\x2C\x01\xB7\xAF\x0C\x14\xB4\x8C\x5A\x8D\x12\xB2\x00\xD6\xAB\x2C\x01\xB7\xA0\x0D\x16\xA3\x89\x03\x16\xAD\x00\xA7\x5B\xAD\xA6\xAD\x64\x83\x6A\xA0\x31\x4E\x4F\xBA\xAD\x07\x03\x46\xAC\x98\x44\xB5\xA8\x0B\x19\xAD\x93\x03\x76\xA8\x74\xAC\x2B\xAF\x23\x08\xCB\xA8\xA7\x0B\x06\x2E\x09\x6A\xAC\x7F\xAB\x98\xAA\xF6\x04\x19\x0A\x5A\xBD\x05\x3D\x5A\x82\x02\xD4\x00\x3B\xA8\xB5\xAC\x3B\x6B\x3D\xAC\xAD\x80\x03\x57\xAD\x00\x00\x67\x02\x6A\xAA\x18\x05\x61\xB8\x7F\x36\x51\xE2\xAD\xDC\xAD\xA3\x73\x30\x00\xDC\xAF\x0C\x1F\x9A\xBB\x15\x65\xAD\xF0\x06\x6B\x02\x1D\xAD\xDD\xA7\xEE\x95\x0A\x06\x03\x70\xAD\x75\x09\x6B\x03\xBC\xAA\x61\xAE\x8E\x98\xB7\x81\x12\x14\x84\xFA\x9C\x7A\xAF\xDB\xA7\xC3\x9E\x6F\xB0\x2A\x19\x03\x7B\xAD\x08\x03\x0A\x02\x29\x15\xE0\xA8\x11\x1A\x06\x08\x5C\x95\xA4\x2D\x36\x86\xAE\xC9\x7F\xE1\xA9\xF0\x9A\xFF\x12\x5C\x8B\x24\x14\xAE\x87\x9F\xBA\x67\xE2\xA3\x62\x59\xB8\x94\x3C\xC3\x02\xCD\x00\x8E\xAF\x92\x3E\xE3\xAA\xF1\x8A\x22\xA2\x5C", - "\xCE\x3A\x24\xAE\x9E\xA7\x33\x07\xE4\xA8\xF9\x64\xB9\x9D\x4E\xC2\x77\x2C\xAE\x00\x01\x38\x04\xE4\xA7\x34\xA0\x00\x11\x03\x31\xAE\xE2\x00\x92\xAC\xEB\xA6\x99\x71\x73\xA3\x07\x24\x5C\xAB\xA5\x5D\x5F\x98\xAC\x39\x04\xE4\xA7\x35\xAA\xBC\x2C\x56\xD5\x01\xB9\xAB\x72\x02\x1D\xA8\x1A\x0E\x26\x0D\x06\x0D\x24\x57\x01\x31\xAF\xCA\x0A\x9B\x04\xE9\xA0\x30\xB2\x06\x2E\x09\x02\xAE\xD6\xA4\x9E\xAB\x34\x04\x84\xAD\x90\x18\x06\x11\x5D\x9C\x0B\x6E\x05\x6C\x01\xBF\x89\x1B\x00\x6E\xB6\x06\x2E\x09\x58\x01\x90\xA2\xB3\xAF\xAE\xAF\x17\x70\x6E\xA6\x07\x0E\x4F\xEA\xAE\x07\x02\xAB\xAE\x09\xAC\xB5\xAE\x0D\x19\xAD\xA8\x03\x76\xA8\xD7\x01\xB3\xAC\x64\xA1\xEF\xAB\x76\xB0\xFE\x60\x5B\xE9\x01\xCE\xA6\xBE\xAD\xDC\xAD\x21\x12\x0E\x0C\xAD\xA3\x03\x39\xAB\x3C\x84\x7D\x9C\xDA\xAB\x51\x7D\x90\x05\x07\x1F\x5D\xF0\x06\x62\xAF\x56\x04\x64\xA2\x1B\x0E\x26\x07\x07\x13\x5E\xEE\x04\xE8\x01\xCB\xAC\x72\x0A\xF3\xA7\x10\x0A\x07\x10\x46\xDC\x01\x6E\x05\x6D\x01\x0F\xAA\x95\xA2\xE7\x1B\x52\x9D\x03\x6E\x04\xA0\xAE\x80\xA6\x37\x06\x4D\x07\x7A\xA0\x98\x9F\x03\x6E", - "\x04\xAB\xAE\x80\xA4\x38\x01\xF4\xAD\x93\x84\xBD\x84\x04\xE1\x01\x6E\x05\xD7\xAC\xC0\xA2\x1C\x0E\x26\x13\xBD\x80\x4C\xE3\x01\xB4\xAF\xC2\x26\xED\xAC\xA7\xA4\x0E\x0E\x13\x00\x5F\x80\xA6\xE5\x00\x37\x05\xF1\xA8\x60\xA6\x0E\x01\xBE\xA3\x05\x72\x01\xC3\xAE\xA1\xAB\x40\x06\xF2\xA3\xEE\x50\x8C\x99\x5E\xFC\x81\x90\xA3\x74\x02\x9B\x01\xF9\xA0\x30\xBE\xBC\x9B\x15\x10\xA3\xEB\x00\x37\x05\x38\xA9\xEB\xA2\x7D\xA2\x08\x21\x5F\xD1\xA8\x00\xA7\xF3\xAC\xD0\x50\x32\xAD\x0E\x0E\x13\x2C\x03\x0D\x12\xF6\x00\x70\xAE\x13\x16\x4D\x0D\x7E\xA0\x98\xA3\x5F\xA3\x5F\x0D\x12\x7C\x02\xFC\xA8\x5F\x00\x0F\x0E\xBF\x8D\x24\x7A\x01\xFB\xAE\xB8\x06\x57\x91\x4C\x00\x19\xB2\x07\x22\x5F\x8D\x12\xFC\x01\x98\xAC\x3B\x06\x8E\xA6\x80\xA8\xBF\x87\xDF\x31\xAE\xED\x00\x06\xB3\x18\xAE\x7B\x81\x73\xAE\x07\x36\x51\xF4\x01\x6E\x04\x7D\x02\x04\x90\xDC\xA5\x0F\x0E\xB7\xAC\x04\x2B\x01\xFA\x9D\xBA\x07\x3B\x06\x8E\xAD\x81\xB5\xB7\x83\x05\x02\x00\x20\xB0\xEB\x65\x0D\x10\x1E\x04\x82\xBC\xB7\xAD\x9E\x29\xB0\xE9\x94\x3C\x15\x3C\x05\x05\xB1\x31\xBC\x08\x04\x00\x30\xB0", - "\x17\x64\x3C\x78\x0D\xB0\x63\xA3\x14\x05\x00\x38\x60\x87\x93\x60\x15\x79\x03\x0E\xB7\x63\xA5\x15\x06\x00\x3F\x60\xAC\x64\x60\x14\x7A\x03\x10\xB5\x64\xA8\xE2\x07\xC2\xAB\x64\x75\x01\x4B\xB1\x95\xA6\x66\x4E\x09\xB4\xE6\x11\xC2\xB1\x4C\xE3\x02\x09\x00\x2A\xB3\x76\x36\x0A\xB0\x39\xAD\x30\x1A\x61\x94\x89\x56\xB0\x9E\xA7\x02\x07\x0B\xB0\xA6\x19\x07\x16\x61\xAF\xAE\x0C\x00\x32\xB0\xFD\x76\x0A\xB5\x73\xAD\x00\x2A\x61\xC2\x11\xFB\x00\x2B\xB3\xCE\xAB\x13\x1F\x86\xAF\x5D\x3C\x03\x56\xB0\x40\xAF\x47\x19\x1D\xB4\xD5\x46\x85\xA5\xBA\xB6\x26\x75\xB0\x11\x01\x23\xB3\x51\x3E\x8E\xA6\x0F\x0E\x13\x37\x03\x10\xA3\x85\xB1\x29\x3D\x52\x9C\x10\xB8\x79\xAD\x61\x8F\x4F\xFA\x9D\x89\xB1\xB5\x5D\x0B\x99\x00\x05\x27\x83\x0C\x11\x62\xC3\x94\x2D\x98\x01\x01\x25\xB5\xF4\x46\x06\xAF\x59\x07\x61\xA3\x99\xB1\x84\x43\x88\x0E\x99\x22\x2F\x89\xAA\x65\xA1\x62\xD4\xA2\x57\x9F\x9B\x33\x11\xB3\x54\x7D\x01\x07\x16\x80\x00\x07\xB1\xCD\x88\x2F\x3B\x2A\xB1\xF7\x2E\x8A\xB0\xC5\xA6\x3D\x93\x1D\xB3\xB1\x07\x11\x0E\x05\x16\xBC\xF6\x9D\x1D\x39\x62\xDF\x72\xBC", - "\xB1\x2E\x98\x4C\x05\x0C\x05\x8A\xAD\xED\x27\x62\x91\x27\x9D\xA0\xF8\x13\x2F\xB6\x93\xA1\x8C\xA3\x7C\xAD\x20\xCB\xB1\xF6\x59\x66\xB1\xE2\x9D\x2A\x0E\x08\x10\xC6\x82\x23\x7E\x00\xD2\xB1\xC7\x9F\x50\x04\x13\x06\x8D\xAF\x5D\x0C\x02\x59\xB1\x7D\x99\xB1\x02\x2A\x05\x1B\xB5\x37\x1A\x04\x20\x63\x83\x99\x74\x02\x5C\x00\x39\xB0\x5F\x08\x0A\x07\xC7\xB8\xE1\x46\x01\x47\xB0\x79\x76\x2D\x07\x57\x88\x8A\xAD\x86\x8E\x04\x55\x01\xEB\xB0\xB8\x05\x31\x07\x1C\xBB\x2F\x63\x07\x39\x63\xDA\x07\xD3\x01\x73\xB0\x80\x39\x1E\x05\x8C\xB7\x7D\x47\x63\x83\x02\xB6\xB0\x8F\x8A\x8F\x2D\x20\xB2\x54\x47\xC8\x85\xE2\x28\xA9\x18\x03\x05\x00\x2B\x05\xF9\x9A\x3D\x1B\x07\x35\x09\x95\x5D\x09\xB3\xE9\x9D\xDB\x3B\x22\xBD\x0E\xBA\x1E\x0B\x00\x72\x85\x18\xB3\xC3\x8F\xDC\x0C\x23\xBE\xFD\x90\x2A\x1B\x00\x39\x86\x08\xB2\x80\xA3\x5B\x0C\x24\xBD\x0F\xA6\x09\x68\x64\x8F\xB2\x08\xA3\x9F\x40\x4B\xB6\xFD\x90\x3F\x17\x01\x01\x0D\xA9\xB2\x9C\x8E\x8E\x00\x15\x03\x26\xB6\xFF\x90\x2A\x06\x01\x2F\xB2\xAF\xB0\x6B\x9F\x6A\x02\x0C\x0C\x93\xA3\xD5\x54\x01\x40\xB2\x19\xB2", - "\x57\x7E\x7A\x0C\x27\xB2\xAF\x62\x03\x20\x64\x9C\xB1\xAC\x49\x3F\x00\x53\xB1\x97\xAF\x94\xA2\xC5\x97\x6A\x0E\x01\x53\xB3\x07\x12\x20\x05\x2A\xB5\x8F\xA1\x39\x5D\x02\x59\xB2\x35\x10\x49\x00\x57\xB0\x19\xBE\x50\x6C\x05\x20\x65\xE0\x14\xA2\x01\x9B\xB0\x4C\xB7\x03\xA2\x10\x1B\x05\x27\x65\xF8\x14\xB1\x00\xB5\xB1\x50\xB0\xAF\x8E\x10\x0A\x06\x05\x65\x9B\x79\x3C\xB2\x59\x04\x30\x00\x29\xBD\x7D\x9A\x11\x37\x65\xA6\x79\x79\xB2\x87\x02\x33\x04\x2F\xB6\x7E\x94\x46\x7F\x65\xAF\x79\x81\xB3\x05\x24\x61\xB0\x08\xA8\x11\x1A\x07\x07\x66\xB5\x07\xAD\x00\xE3\x5E\x3A\x03\x31\xB8\x20\x98\x08\x0A\x00\x11\xB3\xA6\x68\x0C\x00\x66\xB3\xCB\x58\x0F\x14\xCC\x90\x08\xD5\x02\x1A\x01\xCD\xB3\x40\x99\x05\x02\x9A\xAD\xBF\x46\x00\x60\x87\xAF\x79\xCA\xAD\x0B\x9D\x02\x08\x38\x83\x0C\x38\x03\x0D\xB1\x83\x8C\x0B\x01\x6B\xB6\x61\x01\x70\x8D\x61\x97\x00\x33\xB3\x08\x03\xD7\xB0\x35\x55\x85\x98\x01\x18\xCD\x9E\x84\x74\x9E\x0D\x13\x15\x01\x69\xB0\x09\xB8\x59\xB5\x23\x1A\x60\xB0\x89\x90\xA3\x7D\x00\x38\x95\x21\x1C\x02\x03\xCE\x8C\x46\x9D\xAA\xB5\x05\xE6", - "\x00\x4D\x33\x38\xB8\x54\xB8\x08\x3E\x03\x1E\xB0\xFC\x22\xE7\xB0\xA8\x2E\x37\xB5\x38\x64\x9B\xA8\x39\x5A\xB3\x0F\x10\x0D\x00\x77\xB4\x0D\x1E\x82\xAE\x18\x60\x67\xB5\x10\x1B\x01\xF1\xB2\x40\x07\x3A\xB5\x83\xB8\x08\x32\x00\x67\xB3\x28\x44\xF5\xB0\x00\x04\x3D\xBC\x83\xB0\x09\x33\x00\x70\xB3\x78\x15\x0E\x02\x7C\xB4\x3E\xB4\x84\xAA\xED\x38\x67\xC2\x11\x1E\x01\xFD\xB0\x87\xA0\x6F\x1F\x9F\xAF\x5D\x1F\x00\x02\xB4\xE5\x4E\x8C\x02\x0D\x05\x40\xB6\xE6\x28\xD0\xA7\x96\x0D\x4E\x0C\xB4\x7C\x05\x08\x06\x41\xB5\xE2\x0B\x0D\x38\x00\x11\xB4\xC0\x4C\x0A\xB4\xA6\x1B\x28\x09\x03\x18\xD0\x9A\x0F\x23\x00\x1A\xB4\x2F\x2D\x00\x36\x43\xB5\x2E\x81\xD1\xAB\x5A\x1C\x02\x3B\x00\x12\xB5\x1D\x0D\x04\x06\xA2\xB3\xC3\x87\x04\x3C\x00\x2A\xB5\x40\x0A\x09\x06\x44\xB9\x87\xA0\x74\x31\x68\xD0\x0A\x27\x00\x13\xB6\x1F\xB1\x52\x95\xA0\xBF\x01\x14\x67\xA6\x2A\xF2\xB3\x7F\x00\x76\xB0\x0C\x27\xA3\xBD\x20\x01\x69\xDE\xB3\x18\x02\x21\x01\x91\xB5\xD8\x27\xA4\xA9\x9B\xB2\x33\x4B\xB4\x08\x03\x15\x01\x93\xB3\xE0\xAF\xC4\x70\xD2\xB5\x5F\x53\xB4\x74\xA6\xC7\x32", - "\x95\xB6\x20\x06\x37\x81\xC1\xBF\x35\xE3\x02\x46\x01\x2D\xB6\xD6\x20\x4B\xBC\x84\xB2\x2C\x22\x69\x82\x02\x2F\x00\x32\xB6\x14\xB0\xF6\x07\xA6\xAF\xBF\x2A\x69\xD7\xB0\x55\x03\x24\x01\x9B\xB1\x06\x0F\xA6\xBD\xC2\x83\x2F\x6D\xB4\x32\x01\x37\xB4\xCF\xA3\x09\x0D\xA6\xB3\x01\x2F\x69\xAF\xAE\x4C\x01\x36\xB4\x0D\x07\x4D\xB5\x73\xAD\x02\x2D\x69\xB5\x00\x6F\xB4\x17\xB7\x1E\x0D\x4D\xB6\x03\x0F\xD3\xB5\x68\xDE\x4A\x6D\xB5\x1B\x03\x9B\xB3\x47\xBA\x2C\x05\xD0\x91\x01\x3F\xB4\xBB\x58\xF9\xB3\x2A\xA8\x21\x0C\x0F\x08\x57\x6D\x69\xF5\x06\x01\x01\xE6\x02\x74\xB4\xA7\xA1\x31\x30\x0A\x21\x6A\x80\xA6\x03\x00\xA8\x02\x90\xB0\x60\xA4\x00\x10\x0A\x3C\x67\xBF\x96\xC3\xA4\x4B\x14\x54\x02\x91\xA3\x14\x14\x02\x18\x6A\xB5\x10\x39\x00\xF9\xB1\x01\x00\x2A\x0C\x8F\x83\x0B\x16\x01\x37\xB5\x60\x14\x1D\x02\xAE\xB0\x2A\x0F\x19\xA3\xFD\x00\x6B\xF8\x14\x3B\x00\xC4\x86\xAC\x03\x57\xB1\x1B\xB5\x0A\x1A\x01\x47\xB5\xC2\x11\x1E\x02\xB2\xB6\x21\x0C\xAC\xB2\x87\x83\x04\x5C\x00\xD0\xB5\xD7\x17\x0F\x03\x5A\xBE\x18\x10\x0A\x19\xFF\x5E\x00\xD9\xB5\xBA\x05\x10", - "\x04\x5B\xB8\x39\x10\x0A\x3C\x2E\x9C\x02\x60\x01\x70\xB4\xBE\x03\x08\x03\xAC\xA6\xA0\xA3\x05\x62\x00\xEA\xB5\x08\x89\xBB\xB6\x8F\x2F\xB5\x91\xD7\x93\xF5\x73\xB5\xE7\x53\x86\x12\x19\x06\x5E\xBD\x14\x58\xD7\x9D\xA0\x23\xAB\xFC\xB5\x3A\x0B\x11\x06\x5F\xB2\x10\x05\xA1\xA3\x05\x6A\x00\x01\xB7\x40\x08\x12\x04\x60\xB0\x00\x1B\xA6\xB0\x04\x6C\x00\x09\xB6\xA8\x0B\xE1\x82\xDF\x95\xAD\xBC\x5E\x0D\x24\x6E\x00\x11\xB7\x9F\x88\xB9\xB3\xA1\x00\x15\x11\x6A\x95\x05\x70\x00\x19\xB6\x87\x00\x13\x04\x61\xB9\x5D\x32\x03\x21\x6C\x84\x48\x1B\xB6\x99\x0C\x54\x01\xBB\x24\x07\x07\xD9\x93\x94\x29\xB6\x18\x0A\xA8\x03\x00\xB7\xB4\x2E\xB2\xA6\x08\x11\x01\x30\xB6\x71\x06\xA8\x00\x41\xAF\x20\x08\x07\x15\xD9\xAE\x51\xB8\xB6\x15\xB6\xF6\x5F\x50\x02\x0F\x0E\xB3\xA4\x3E\x40\x6D\xD0\x02\x0A\xAB\xA1\x00\x1F\x05\x68\xB0\xBB\x07\xDA\xA9\x51\xF5\xAB\x4C\xB7\x2C\x00\xC3\xB3\x2F\x92\x30\x4C\xDA\x9A\x01\x72\xB3\x07\x00\xA8\x02\x01\x03\x54\xB0\x1A\xBF\xD4\xB8\x0B\x08\x00\x5A\xB6\xAE\xB4\x53\x06\x6B\xB0\x37\x09\x00\x21\x6D\x94\x10\x64\xB6\xED\x06\x02\x07", - "\x6C\xBA\xF8\x89\xDB\xB9\x2C\xEC\xB6\x12\x14\xB7\xB6\x33\x50\x6E\xBD\xBE\x12\xDB\x81\x12\x0D\x00\x74\xB6\x7C\x26\xDD\xB0\xAA\x0E\x00\x19\xDB\xB3\xAE\x7B\xB6\x51\x64\xBF\xB4\x46\x02\x11\x00\xB8\xA4\x55\x02\x6E\x8E\x02\x8B\x01\xC2\xB6\x7D\x5F\x70\xBC\x40\x0A\xDC\x8E\xD3\x0C\xB7\x16\x62\xC7\xB4\x69\x48\x2A\x05\x6E\x83\x0B\x0E\x02\x4C\xB6\x5B\x00\xF9\xB3\x04\x03\x56\xBD\x90\x10\x04\x03\x67\xFA\x53\x5C\x00\x9C\xB7\xE6\xB4\x2A\x7D\x90\x13\x04\x1F\x6E\x9C\x75\xA2\xB6\x62\xB5\x43\x16\x12\x07\xBA\xB4\xD2\x08\x0E\xCD\x03\xA3\xB6\x65\x19\x43\x11\x13\x0D\xBA\xB5\x41\x23\x01\x2F\xB7\x10\x42\x6F\xB5\x43\x14\x13\x05\xBB\xA0\x53\x26\x01\x38\xB7\x1F\x0C\xDD\xB4\x5D\x07\x13\x0D\xBB\xB8\x53\x29\x01\x40\xB7\xA1\x0C\x73\xB5\x43\x12\x14\x05\xBC\xAD\x0D\x69\x6E\xEE\xB5\x5A\x0D\xE6\xB7\xEB\x16\x0D\x0F\xBC\xB4\xD7\xBF\x5C\x52\xB7\x75\x06\x38\x01\xF5\xB1\x5F\xB8\xD7\x98\xDE\xB8\x0B\x1D\x87\xC6\x5F\xD8\xB6\x41\x05\xCB\xAD\x48\x3E\xDE\xA6\x43\xDB\xB7\x2E\x5D\x86\x11\x2C\x06\x7C\xBA\x3D\x16\x03\x28\x6F\x82\x02\x0E\xB6\xD3\xA4\xFB\xB0\x7E", - "\x08\x07\x0F\xDF\x95\x56\x0D\x12\xB7\x01\xF9\xB5\x1D\x0A\x0F\x08\xBC\xB3\xDC\xBC\x50\x8F\x09\xFA\xB7\x40\x09\x1F\x06\x7E\xB9\x5D\x3D\x05\x01\x70\xD0\x0A\x7F\x01\xFE\xB5\x92\xA3\x65\xBD\x90\x00\x06\x07\x70\xAE\x9A\x0A\xB8\x22\x8E\xCC\xB5\x21\x13\x0C\x0F\xE0\x94\x30\x91\xB8\xB7\x14\x9D\xB5\x43\x16\x18\x06\xC1\xA8\x08\x08\x02\x18\xB8\xE2\xB6\xA1\xB5\xD9\x2D\x83\xBD\x1F\xA0\xE1\x88\x6D\x8D\x12\xCC\x00\x12\xBA\x41\x01\x75\x8B\x96\x92\xE0\x8F\x6D\x84\x92\x2A\xB8\x02\x1A\xFD\xB4\x6A\xB5\x15\x12\x06\x31\x70\x82\x02\x93\x00\x9C\xB5\x05\x04\x72\xB1\x91\x8D\xD3\x95\x02\x72\xB3\x3B\xB9\x1A\x91\x43\x16\x1A\x0C\xB4\xB6\x04\x3A\x70\xBC\xB5\x5D\xAE\xA6\xB4\x26\x07\x88\xB9\x49\xBE\x01\x8C\x6D\x9A\x01\x18\xB9\x20\xBA\xEC\xB4\x2E\x0C\x0D\x0C\xDA\x9D\x02\x51\xB8\xC2\xB7\xB1\x02\x37\x04\x69\xB0\x0A\x18\xE2\xB7\xBC\x60\x01\x4C\xB7\x51\x02\x17\xBD\x96\xA4\x17\x02\x07\x0C\x6D\xA6\x01\x4C\xB8\x5E\xAA\xDC\x24\x69\xB8\x0A\x09\xE3\x83\x55\xE5\x11\x4C\xB6\x55\x02\x1B\xB8\x99\xA6\x79\x4C\xDA\xAC\x02\x73\xB8\xCE\xA8\xBA\x02\x3A\x04\x69\xBE", - "\x0A\x18\xE3\x95\x53\xFB\x04\x4C\xB6\x58\x02\x1F\xB9\x7E\xB8\x11\x0E\x07\x0C\x6D\xB2\x01\x7E\xB9\xFB\xAD\xD5\x44\x69\xB4\x0B\x03\xE3\xA6\x53\xCF\xAF\x4C\xB7\x5B\x02\x1F\xB9\xBB\x24\x0F\x0C\xDA\xB9\x02\x0E\xB9\xF1\xA8\x8E\x02\x3D\x04\x69\xBC\x0B\x18\xE4\xB7\x53\x98\x27\x4C\xB7\x5F\x02\x27\xBE\x9F\xA1\xFA\x6C\xDA\x82\x03\x23\xB9\x3B\xB7\x17\x2C\xD3\xB5\x18\x03\xCA\xA9\xDA\xB8\x31\x4C\xB6\xC8\x01\x51\xB9\x44\xAD\x91\x25\x48\xA8\x69\x7E\x71\xB4\xB8\x27\xB0\x57\x01\x2D\xBA\x7B\x0D\x0C\x18\xD9\x96\x00\x50\x02\x14\x00\xB1\xB5\xB7\x02\x97\xBA\x82\xB8\x35\xB4\x2D\x50\x02\x19\x00\x61\xB8\x46\x0C\x98\xB1\x83\xA1\x2F\x8E\x3F\x50\x02\x1A\x00\x65\xB9\x8B\x0C\x99\xB9\x83\xA2\x1D\x14\x73\xE7\x79\xA9\x10\xA8\x00\x06\x02\x9A\xB9\x00\x17\xE6\x84\x67\xCE\xB9\x70\x56\x6D\xBA\x34\xBA\x01\x0E\xCD\xAF\xCE\x9F\x3C\x48\xB9\xD2\xB9\x05\x02\x37\xBD\x3A\xBF\x89\x52\xCF\x9B\x00\x50\xB9\xD2\xB9\x06\x03\x3A\xB9\x9C\x43\xCF\xB8\xDE\x72\x67\x9D\x00\x50\x02\x0E\x02\x34\xB9\x02\x05\xCE\xA4\x08\xB8\x73\xD3\x19\xD2\xB8\x09\x01\x3F\xBD\x29\x27\xCF", - "\xB0\xE7\x98\x32\x03\xBA\x25\x11\x7A\xB9\xDC\xAA\x3E\xBE\x01\x19\xE7\x92\x73\x96\x00\x08\xBA\x63\xB9\xD3\x10\x9D\xB4\x17\x17\x00\x11\x74\xF8\x14\xD3\x00\x86\xBA\x41\xBB\x2C\x08\x01\x17\xE8\x9F\x35\x0A\xBA\x44\x3A\xF9\xB3\x07\x00\x2A\x01\x02\x12\xE6\x9B\x00\x1E\xBA\xBD\xA4\x8C\x01\x49\xB8\xA0\xB3\x4C\xA0\xE9\xB8\x29\x48\x87\xC6\x5F\x95\xB8\x4D\x9A\x9A\xBE\x01\x0E\xE9\x9D\x3E\x36\xBA\x4D\x7C\x9C\xB6\x08\x00\x2A\x03\x02\x12\xE6\x95\x2D\xC2\x11\x3B\xBB\x8A\x06\x4F\xB9\xC2\xAF\x1E\x34\xE8\x96\xA1\x38\xBA\xDE\x60\x9C\xB5\x4F\xBE\xD5\x82\xCD\xA4\x01\x38\x74\xA6\x00\x38\xBB\x6D\x00\xCE\xB4\x04\x0C\xD3\xA3\xEA\x96\x58\xAF\x17\x54\xBA\xA1\xB8\xC0\xA5\x04\x00\x15\x00\x01\x12\x73\xA8\x00\x28\xBB\x9F\xBB\x30\x10\x2A\x0B\x02\x16\xEA\x9A\x0F\x29\x00\x48\xBA\x0C\xA8\x54\x07\x04\x06\xD6\xB5\x51\xB5\x0D\x28\x00\x3C\xB9\x45\x25\x5A\xB8\x6E\x0D\x0D\x18\xD9\xB0\x75\xC2\xB8\x22\x22\x6F\xBA\x7E\x57\x1B\x08\xC1\xB7\xEB\xBF\x20\x8D\x12\x30\x00\xBD\xBB\xD7\x8D\xAF\xBA\xBA\xA8\x10\x42\x76\x8F\x10\xE5\x00\xC4\x86\xB7\x06\xAF\xB2\x4A\xBE", - "\x2E\x87\x76\xB6\x5A\x8A\xBA\x93\x29\x16\xBD\x2A\x09\x03\x0F\xEC\xA0\x29\x6D\x01\x91\xBA\xA8\x2B\x64\xBB\x28\x0C\x03\x16\xEC\xB2\x60\x99\xBB\x9C\x2A\xE5\xB4\x60\x0E\xB3\xB2\x8C\x15\x07\x04\x76\xD0\xB7\x85\x32\xD2\xBB\xEB\x10\x1F\x07\xDA\xB6\xDE\xAB\x2A\xAA\xBB\x75\x07\x7D\x01\x6B\xBC\x7B\xB3\x16\x08\x02\x30\x76\xF8\x05\xDF\x87\x16\xBB\x51\x28\x2A\x04\xBE\xAF\x3F\xB7\x76\xF0\x06\x01\x01\x07\x89\x73\x04\xB1\xB9\xBE\xBB\x74\x3F\x76\xDA\x07\x04\x00\xE1\xBA\x64\xB8\x21\x04\xC8\xAE\x08\x11\x01\x47\xBB\xF0\x07\x03\x02\x72\xBA\xB3\xBB\xD1\x0D\x48\x14\x01\x50\xBB\x75\x08\x05\x03\x03\x8B\xB1\xBD\xB1\xA7\x35\x98\x77\x81\x09\x0E\x01\xE9\xB9\x68\xBC\x95\x4A\x05\x1F\xEE\x90\x15\x11\x00\xDB\xBB\xE5\xB8\x54\x8D\x0B\x06\xDE\xB8\x08\x15\x00\x69\xBB\xD4\xBB\x83\x03\xCC\xB3\x28\x00\x06\x0D\xEF\x81\x34\x70\xBB\xE3\xBB\x90\x4F\x18\x06\xBE\xBD\xDD\x18\xEF\x8F\x4D\x1A\xB8\x2C\x20\xFE\xB8\x02\x0E\xBF\xB7\x53\x27\xE1\xA1\x97\x02\xBC\x13\x08\x02\xBE\x4F\x2C\xA4\xB2\xCD\xAC\x03\x21\x75\xF6\x38\x0F\x89\xC1\x00\x71\xB8\x85\x0D\x90\x0D\x03", - "\x08\x78\x90\x2D\xE2\xBB\xFF\xB9\xFA\x84\x75\x97\xE1\xA8\x21\x19\x78\xCD\x11\x6B\xBB\xB6\xB9\xD1\x93\xC8\x21\xD7\xA3\x0B\x33\x01\x73\xBA\x6E\x81\x2F\x88\x88\xB8\xAF\xB3\x16\x15\x03\x1D\x78\x80\x00\x32\x01\x0F\xBD\x2C\x58\x89\xBE\x40\x0F\xF1\xB5\x00\x32\xBC\x00\x01\x14\x01\x61\xBB\x2C\x0B\x07\x0F\xF1\xBD\x0F\xCB\x91\x3A\xBD\x66\xB7\x50\x06\x0F\x0F\xE2\xBC\x01\x0A\x78\xB9\xBC\x9B\xBB\x73\x1F\x8B\xB8\x08\x07\xE4\xA1\xF2\x96\x6B\x82\x02\x84\x01\x17\xBC\x11\x05\xC9\xB2\xDA\xA3\x0B\x07\x02\x2F\xBC\x48\x00\x1C\xBE\x93\xBE\x20\x0F\x2D\xB5\x0A\x0A\x02\x2F\xBC\x4B\x00\x2D\xBC\x54\x00\x14\x0D\x90\x0D\x04\x2F\x78\xCE\x00\x62\xBD\x3D\x90\x5D\x00\x12\x0F\xE2\xB1\x02\x29\x79\xC6\x0F\xA5\xB7\x17\xBE\x03\x8A\xB7\xBB\xE5\xA5\xEE\xA3\x05\x16\x01\x2F\xBD\x2B\x03\x9B\xBB\x5B\x23\xBB\xAF\xF1\x9A\x01\x7B\xBC\xFF\x3B\xDD\xB7\x8B\xBD\x0B\x04\xE5\xBF\xDF\x8F\x19\x2F\xBC\x61\x00\x40\xBE\x52\xB5\x2A\x02\x0A\x0F\xF1\xA4\x01\x05\xBD\x50\x8B\x52\x03\x8B\xB8\x0D\x00\xE9\xA6\x08\x33\x77\xB0\x02\xA8\x01\x17\xBC\x1B\x05\xD2\xB2\xC2\xBD\x52\x2F", - "\x78\xF0\x00\x9C\xBC\xE3\x6D\x55\x06\x15\x0F\xE2\xB4\x03\x21\x7A\x80\x00\xAE\xB8\x8E\x01\x2C\x07\xC5\xB8\x07\x07\xF5\xB2\x74\xD5\x02\xB4\x01\x07\xBC\xDC\x04\x0F\x01\xE1\xBB\x4A\x10\x05\x33\xB9\x25\x87\x17\xBD\x1F\x02\xD1\xB0\x00\x18\xE5\xB2\x57\x2F\xBC\x80\x00\x1C\xBE\x0A\x01\xC4\xB0\x30\xA3\xF6\xBD\x5D\xC1\xA4\x28\xBC\xF8\x07\x20\x02\xC5\xBA\x69\x3C\xDC\xB4\x05\x3D\x01\x2F\xBD\x42\x02\xB0\xBC\xC6\xB3\xD1\x4F\xF1\x88\x02\x53\xBD\x4D\xB8\xB1\x1F\x8B\xBB\x11\x07\xE4\xA6\xF6\x93\x71\x81\x2C\x2F\xBD\x47\x01\xB7\xB9\xC9\xB5\xB0\x6F\xF1\x93\x02\x63\xBD\x37\x5E\x66\x03\x8B\xBF\x12\x08\xEE\xA4\xE3\xB2\x12\x2F\xBC\x9B\x00\x6C\xBE\x1A\xBB\x2C\x02\x0D\x0F\xF1\x9E\x02\x72\xBD\x6F\xB9\xA1\x01\x35\x07\xC5\xB1\x0A\x18\xF7\xB4\x71\xB5\x80\x2F\xBC\x52\x02\xBF\xB9\x8F\xBD\x6B\x0F\xF1\xA7\x02\x03\xBE\x7F\xB8\x2D\xBB\x8B\xBA\x15\x08\xF0\xAD\xEE\xA3\xBB\x2F\xBC\xAD\x00\x84\xBE\x22\xBC\x23\x04\x0E\x0F\xF1\xB0\x02\x6D\xBD\x8F\xB9\xAA\x03\x39\x07\xC5\xB4\x0B\x08\xF8\x99\x57\x6A\x01\x2F\xBD\x5B\x00\xC6\xB9\x93\xB2\x74\x8F\xF1\xBB\x02", - "\x23\xBE\x9F\xB9\xB1\x00\x3C\x07\xC5\xBF\x0B\x08\xF9\xA4\x72\xFE\x11\x2F\xBD\x61\x02\xCB\xB9\x95\xB3\x10\x16\x07\x2F\x78\xC7\x01\x2E\xBF\x54\xBC\x46\x01\x1F\x0F\xE2\xAB\x06\x2E\x7C\xB8\xBD\x18\x02\x7E\x03\x8B\xBF\x19\x08\xF0\xBE\xF5\x9C\x04\x7F\x01\x2F\xBC\x69\x00\x8E\xBD\xAC\xB1\xDF\xA4\xBF\x92\x74\xFE\x2F\x50\x02\x17\x02\x34\xBA\x00\x0F\x0A\x01\xC1\x91\x58\xAC\x00\x50\x02\x18\x02\x34\xBB\x00\x05\xF5\xA5\xE6\x85\x67\x81\x09\x52\xBF\x28\xB6\x88\xB9\x90\x04\x00\x1D\xFA\x9B\xB9\x55\x01\xB5\xBD\xB2\x13\xAD\xBA\x9A\xB6\x00\x06\xFB\x9D\x52\xDF\xBE\x50\x0A\xAD\xBE\xD8\xBF\x28\x79\x00\x0E\xFB\xAD\xDF\x56\x01\x69\xBF\xC1\x27\xDA\xBB\xCB\x26\xF7\xBB\xD4\xBC\x54\xB2\x00\x63\xBE\xA8\x0A\x34\x08\xAA\x04\x01\x0B\x0D\x00\x00\x05\xBF\x1E\x64\xC3\xBC\xC7\x2C\x23\x02\x01\x06\xFC\x8D\x7E\xAB\x03\x8F\xBE\xBA\x01\xE4\xBC\xF7\x26\xF8\xB5\xB9\x99\x54\x74\x3C\x86\xBF\xC5\xA7\x83\xB2\x4E\x39\xF9\xBD\xFC\xBB\xB4\x06\xBF\xD2\xB9\xF6\x6C\x47\x03\xF8\x56\x17\x66\xFC\xAA\xBF\x32\x83\xA6\xBE\xC3\xBD\xF9\x1E\x06\xB6\xF8\xAD\xFD\x94\x7E\x1C", - "\x02\x4A\x48\x8E\x02\xA2\xB5\xB6\x94\x17\x19\x49\x63\xD2\x06\xBF\x95\x5D\xDB\xBF\xEE\x26\xF0\xBC\xAE\x4F\x64\x06\x7E\xB1\xBF\x20\x2A\xC3\xBE\xED\xB8\x23\x09\xFB\xB8\x08\x12\x97\x3E\xBF\x17\x42\xC3\xBE\xC2\xA9\xF9\xB3\x37\x08\x2B\x25\x37\x7F\x01\xA4\xBF\xE8\xBE\xE1\xBD\x3A\xB8\x54\xAB\xD5\xAB\x79\x53\xBF\xA0\xBE\xE9\x0A\x36\x2F\x1F\x0D\x1C\x0E\x60\x9D\x7F\x98\x02\xDF\xBF\x9D\x05\x70\x00\xFC\xB3\xFE\xA2\xFF\x8C\x2F\xCD\x03\xCC\x04\xF4\xBC\xF9\xBA\xDF\x9E\xF7\xBE\xFA\xAF\x7D\xC0\xB0\x95\xA9\x6A\xB9\xFC\xBD\x94\xAA\xDB\xB2\xCE\xA2\x6A\xEB\xBF\x8D\xA9\xFA\xBC\xFE\xBB\xFE\xB4\xFF\xA4\xA8\x12\x17\x25\xAF\x7A\x03\x97\xAC\xC2\x17\x9B\xB1\xEA\x1C\x20\x30\x4A\x7F\x01\x3C\xA7\xCB\xBC\x64\x06\xD2\x2C\x52\x3F\x07\x16\x7E\xD8\x11\x0B\xC1\xE6\xBF\x8D\x35\x37\x08\x9B\x3F\x07\x26\x47\x18\x02\x17\xC0\xA7\x4D\x83\x08\x03\xCB\x01\xDA\x00\xE3\x8A\x15\x32\x71\xA8\x0E\xC1\x08\xC6\x03\xC8\x40\x02\x01\xE5\x80\xA4\xC0\x06\x03\x10\x02\x09\xC1\x05\xCB\x02\xC9\x86\x2D\x80\xD1\x21\x2F\xC0\x6D\x21\x0C\xC2\x04\x03\x03\xD5\x01\xE8\x80\xDA\xA0", - "\x88\x3A\x70\x4B\x0D\xC3\x4D\xB0\xD8\x24\x91\xB7\x68\x31\xBF\xE5\x1E\x20\xC1\xB3\x09\x06\xC2\x04\xC9\xD0\xA5\x3F\x3D\xBF\xE5\x1F\xDC\xBF\x11\xC1\x06\xC8\x04\xC1\x27\x4C\x81\xB1\xC0\x4A\xC0\x52\x14\x14\xC7\x09\xCB\x03\xC6\x03\xB7\x68\x5F\x7B\x86\x19\x18\xC3\xF1\xBB\xF5\x2A\x05\xDD\x02\xD5\x81\xDB\xC0\x01\x0B\x18\xC0\x64\x00\x0D\x21\x03\xC0\x01\x25\x81\xE7\xC0\x55\xC1\x0F\x01\x0C\xC2\x0D\xC9\x06\xCB\x03\xF1\x80\xB6\xBF\xE5\x1E\x38\xC2\x24\x17\x0D\xC4\x07\xD5\x02\xF2\x81\xF6\x57\x20\xC1\x1E\xA5\x1E\xC4\xFF\xBB\x07\xDD\x01\xDC\x46\x04\x37\x37\x35\x2F\x65\xF9\x1C\x75\xA3\x08\xD1\x01\xC4\x82\x90\x42\x86\xC1\x18\xC3\xE9\xBE\x0F\xC9\xB0\x0A\x04\xCE\x82\xD5\xC0\x8B\xC1\x1C\xC2\x41\x01\x12\xCD\x07\xCD\x04\xD5\x81\x93\xBF\x7F\xC1\x81\x00\x26\xC4\x11\xCB\x3D\x11\x01\xDB\x82\x92\xC1\x9A\xC0\x4F\xC2\x28\xC7\x12\xC3\x0A\xD7\xD1\x14\x82\xE5\x1F\x9F\xC1\x4A\xC1\xE9\xBC\x14\xC5\x05\xC8\xFC\xB7\x68\x2E\xC1\x1D\x26\xD3\x11\x0C\xC3\xF9\xB7\xA3\x28\x4E\xB5\x82\xB1\xC0\xB6\xC1\x58\xC1\x70\x9D\x0A\xC7\x35\xA5\x7F\x3F\x26\xB7\x34\xBF", - "\xC0\x5D\xC0\x00\x01\x50\xA9\x09\xC0\x9C\x82\x83\x9A\x00\x31\xC0\x64\xC1\x15\xC0\x72\xA5\xFE\x04\x06\xDC\x82\xCA\xC1\x37\x34\x66\xC1\x40\x19\x06\xC9\x01\x11\x01\xD8\x00\x56\xC1\x89\xC0\x48\xC1\x29\xC2\x18\xC0\x0B\xC5\x06\xCB\x64\x38\xC1\x31\xC1\x5E\xC2\x43\x01\x18\xCE\x0D\xCE\x06\xE0\x82\x82\x02\xD0\xC0\x61\xC2\x34\xC3\x9A\x18\x0D\xD5\x02\xF5\x68\xE5\x1F\xEF\xC1\xB5\x15\x0C\xC0\x4A\x65\xFE\x04\x01\x31\x80\xA1\x39\xAA\xC0\x7C\xC1\xF9\x18\x1F\xCF\x08\x51\x0D\x3D\x83\xFF\x01\x1C\x2E\xC8\x01\x40\xC2\x30\x55\xFE\xA6\xE3\x0C\x0B\x1C\x2E\x5F\x64\x84\xC0\x41\xC6\x72\xAD\xE8\x22\xD1\x95\x41\x7A\xC0\x1C\x2E\x07\x98\xC7\x2A\x3A\xB3\x11\xCB\x08\xFE\x3E\x52\x0B\x89\x45\x7F\x01\x28\x38\x32\x0B\x11\xD8\x08\x1D\x84\x8E\x02\xF8\xC0\xCB\xB2\x74\x0D\x5A\x4B\x18\x14\xFC\x12\x67\xA6\xC2\x22\xC2\xF6\xBC\xE5\x38\x32\x04\xF9\x2C\x16\x2D\x84\xA9\xC2\xF9\xBF\x55\x46\xFB\xBD\x58\x4C\xBC\x8F\xFD\x91\x64\xD2\x0B\x57\x4C\xBD\x03\x5C\x42\x3A\xBB\x13\xD7\x09\xEC\x7F\xF3\x42\x90\x03\xB9\x40\xB3\x02\x28\xCE\x13\xDA\x03\xF3\x85\x0E\x98\x3D\xC3", - "\x4A\x0E\x04\xC3\xF3\xB8\x03\xD0\xD3\x90\x54\x4C\xC2\x30\x1C\xE9\x0A\x53\x51\x2F\x0A\x44\x50\x0C\x15\x85\x98\x02\x4A\x48\x66\x05\x56\xC0\x2B\xCB\x14\xDE\x01\xDB\xB9\x05\xA7\x30\x02\x45\x67\x54\x67\x1F\x02\x5D\x5B\x57\xA5\x85\xC6\xBF\x5D\xC3\x32\x87\x4C\xC1\x0E\xAD\xFF\xB8\xF3\x52\x67\xD2\x4B\x5F\x64\xB8\xC0\x5A\xC4\x79\x92\x5D\x4C\x16\x12\x97\x0E\x98\x77\xC3\xB9\xC1\xE9\xA4\x2D\xC4\x00\xDC\x0B\xEF\x85\xD4\xB5\x7A\xC3\xAF\xC1\x5E\xC1\x0B\xCB\x1A\x1B\x94\x51\xC4\x7F\x01\x39\x52\xC8\x01\x62\xC0\x23\x0B\x18\xD3\x03\xF1\x24\x52\x0B\xA8\x63\x7F\x00\xBB\x50\x32\x03\x19\xD1\x92\x69\x85\x89\x7D\xBA\xBE\xFA\x09\x1B\x86\x2F\x05\xE9\x50\x0C\x1D\x86\xC4\xBF\x97\xC2\x2B\xC3\xCE\x0A\xBA\x01\x09\xD0\x0D\x3F\x03\x11\xC1\x90\x02\xD4\xC0\x26\x11\x34\xC4\x09\xD8\x08\x1F\x82\xBD\x03\xAF\xC2\xD8\x03\x27\xC0\x32\x03\x1B\xCE\x0D\xE1\x86\xB5\xC3\x0E\x02\xDC\xC3\xA5\x0E\xF0\xBC\x34\xBD\x0D\x3D\x86\xB0\x03\x4C\xA6\xC8\x01\x70\xC1\xF8\xBC\xFE\xB3\xFD\xBA\x4D\xBF\x09\xDD\xC0\xFD\x07\x3F\x01\x39\xCA\x49\x92\x2E\x34\x82\x86\x08\xFF\x01\xE7", - "\xC1\xD1\x0A\xF9\xB4\x1D\xDE\x93\x52\x17\x39\xC1\x11\x09\x7F\x00\x76\xC3\x28\x0B\x1D\xD0\x09\x1D\x87\x9C\x02\xDF\xC2\x36\x7E\xE1\xB9\x3C\xC2\x0F\xC8\x2B\x39\x61\xA6\xC3\x8F\xB5\xF2\xC3\x5A\xC7\x1A\xC8\x56\x0C\x0F\xFC\x16\x7F\x01\xEE\xC2\x8E\xBA\xE1\xB9\x3E\xC5\x15\x14\x0F\xE9\x54\x73\xC3\xF8\xC2\x7F\x05\x7E\xC7\xAC\x7B\x1F\xD2\x0F\xC3\x25\x52\x0B\xD5\xC1\xAB\x0B\x3F\x01\x40\xCB\x16\xC4\x10\xE3\x05\x06\xC4\xF2\xBF\x81\x01\x3A\xC7\x97\x0B\x20\xCA\x0E\xCD\x88\xFD\xC2\x0F\xC4\xC8\x01\x84\xC0\x23\x03\x21\xD0\x5B\x61\x86\x95\xC4\xAE\x8D\x0B\xC6\xE1\xBF\x41\xCC\x11\x1C\x10\xD4\x88\x9B\xC4\x20\xC5\x84\x21\x88\xC1\x39\x93\x22\xC6\x72\x12\x17\x36\xA6\xA6\xC2\x3B\xB6\x7C\x91\x3A\x96\xF8\xB6\x99\x90\x06\x2E\xC4\xD7\x6F\xD0\xC0\x8C\xC7\xD1\x12\x23\xD5\x11\xEC\x7F\xE6\xC1\xBD\x02\x1C\xC4\x6C\x06\x1C\xCC\x11\x1C\x11\xFB\x3C\x06\xBF\xE4\xC0\x0E\x09\x90\xC3\xF0\xB3\x24\xD2\xCE\x83\x89\x90\x03\x43\xC4\x66\x05\x92\xC2\x3F\x45\x10\xDC\x90\x61\x86\xCB\xC4\xE3\xC0\x20\xC6\x94\xC3\x5E\x93\x24\xCE\x60\x85\x89\xCC\xC4\xEC\xBE\x28\xC6", - "\x93\xB5\x08\x4E\x10\x16\x12\xE6\x7F\xDB\xC4\x48\xC5\x26\xC6\x41\x03\x48\xC3\x8F\x5D\x12\xD8\x04\x30\xA5\xBD\x02\x34\xC4\x6C\x04\x52\xB3\xB9\x32\x2E\x2C\x81\xEF\xC3\x6F\xC5\xB1\x01\x9C\xC3\x4F\x26\xF8\xB3\x13\xC3\x05\x76\xC4\x62\x0F\x3A\xC6\x9E\xC6\x29\x16\xF8\xA6\x03\xE8\x15\x7E\xC4\xEF\xC2\x40\xC5\x33\xBD\xF3\x11\x1A\xC2\x14\xC9\x88\x84\xC5\xEC\xBE\x43\xC4\xFC\xBC\xF2\x15\x28\xCD\x14\xCC\x2F\x8A\xC5\x0F\x9B\xB8\x1E\x98\xC4\x51\xCF\x28\xD3\x14\xC8\x8A\xCF\xA0\x94\xC4\x4C\xC7\xA5\xC2\x24\x4D\x27\xDD\x14\xF9\x14\x52\x0B\x2A\xC0\x01\xC5\xA8\xC1\x26\xCC\x02\xDA\xED\x80\x00\x23\xC5\xFF\x93\x52\xC6\x1E\xC0\x55\xC6\xA0\x8C\x15\xE3\x5A\x02\x02\xAE\xC5\x13\xB7\xA9\xC1\x34\xC1\x2B\xD0\x0C\x35\x8A\xAA\xBA\x55\xC1\x59\xC7\x15\xC1\x56\xCB\xFA\xB1\x15\xDF\xC9\x3E\xC5\xB8\xC4\x86\xC1\xAC\xC7\xF5\xB3\x2C\xC1\x16\xF2\x84\xA7\xC0\xC7\xC4\x55\xC7\xAC\x43\x04\xC9\x2C\xC3\x08\x05\x8B\x8E\x02\xCF\xC4\x66\xC7\xB2\xC0\x59\xC1\x04\x50\x16\xE0\x84\xC6\xC5\xD5\xC4\x69\xC4\xAF\x42\x5B\xC3\x05\x5C\x16\xCE\x85\xCE\xC5\x4A\xC2\x6B\xC4\xF3", - "\x91\x56\xCC\x11\x11\x15\xC7\x7F\xB1\xC5\x8B\xBF\x58\xC6\xED\xB9\x56\xC1\xFB\xB4\x01\xE8\x15\x6E\xC5\xEF\xC2\x78\xC6\x15\x56\xF0\xB2\x2F\xC0\x50\xB4\x8B\xF7\xC5\xAB\x03\x7A\xC7\x50\x03\x04\x02\x5D\x1C\x17\xC2\x88\xFE\xC5\xED\x60\xC3\xBC\xC0\xC3\x2C\x03\x30\xC5\xC9\x02\x8C\x87\xC6\x68\x5C\xC3\xBE\x3D\xC0\xAD\x0B\x30\xCF\x0F\xCD\x8C\xE3\x02\x0F\xC6\xAE\x16\xC2\xC3\x62\xC4\xA1\x92\x2E\x25\x00\x4F\x0A\xFF\x01\x8B\xC5\xC5\xC3\x63\xC8\x95\x06\xFC\x9A\x8C\x9D\xC6\x1C\xC6\x5B\x1A\x74\x0E\x04\x08\x31\xC4\x19\xE1\x3F\x06\xBF\x26\xC7\x8C\x20\xCA\xC6\xF0\xB7\x02\x12\x2E\x2D\x8C\x82\xC4\x2F\xC6\x8E\x04\xCB\xC3\x66\xC7\xFB\x72\x2E\x28\x00\x18\xC6\x37\xC7\x9A\xC6\xCE\xC2\x40\x46\xF8\xA9\x01\x12\x17\x3E\xC6\x02\xC4\xA0\xC4\x53\x59\x34\xCA\x02\x12\x2E\x05\x8D\x82\xC4\x47\xC7\x7D\x52\xE1\xB9\x69\xC3\x16\x0C\x1A\xC7\x9F\x4B\xC6\x50\xC7\xA0\x2A\xE1\xBB\x05\x02\x5D\x14\x1A\xC2\x88\xD6\xC6\x9A\xC5\x59\x69\x68\xC0\x6B\xC3\x28\xDA\x1A\xE2\x25\x06\xBF\x2C\x00\xE9\x09\xD8\xC2\x40\xC3\x36\xC6\x19\x21\x86\xE5\xC6\x63\x02\xB4\xC6\x8F\x91", - "\x34\xCD\x02\x12\x2E\x2D\x8D\x82\xC4\x6F\xC6\x91\x22\xE1\xB9\x6E\xC7\x93\x33\x1B\xF6\x8D\xAB\x03\x74\xC6\xF2\x9E\x74\x0E\x05\x08\x31\xDC\x1B\xEB\x06\x7E\xC6\x56\x48\xC3\xBC\xE0\xC3\x2C\x03\x38\xDA\x1B\xFF\x8D\x86\xBF\x2F\x00\xE9\x09\xE2\xC2\x40\xCB\x38\xD4\x0B\x0D\x8E\xD9\x40\x88\xC7\xC8\xC6\xDB\x12\x72\xCE\x38\xD4\x1C\xD0\x8E\x93\xC7\x4A\x2A\xE9\x08\x0C\x00\x63\xCB\x39\xD9\x1C\xDE\x8E\xDD\x0A\x86\xBF\xCE\xC4\xE8\xC2\x66\x02\x5D\x04\x98\xAF\x87\xA6\xC7\x5D\xC6\xD4\xC7\xE0\x09\x34\xC2\x03\x12\x2E\x2D\x8E\x82\xC4\xAF\xC6\xBA\x01\xEC\xC3\x2C\x03\x3B\xD5\x0A\x35\x8E\xB7\x67\x86\xBF\xDB\xC4\x4C\x02\x77\xCC\x11\x1C\x1D\xEE\x67\x86\xBF\x33\x00\xE9\x09\xF0\xC2\x40\xC3\x3C\xC8\x10\x46\x7E\xB4\x00\xD2\x0A\xE4\xC6\x80\xC2\x79\xC1\x3C\x67\x1E\xCE\x8F\xE5\x0A\xCF\xC7\xE6\xC7\xEA\x32\xBA\x05\x03\x18\x18\xD5\x8F\xD3\xC7\xD8\xC7\xEB\x8A\xA5\xC0\x47\x31\x1A\xD7\x1E\xD9\x8D\xDE\xC7\x5F\xC2\xF0\xC5\x53\xC2\x7C\xCB\x28\xC6\xCF\x21\x86\xB6\x00\xD2\x0A\xF4\xC6\x80\xC2\x7D\xCF\x33\x12\x2E\x37\x00\x18\xC6\xEF\xC7\xB7\x0A\xE1\xB9\x7E", - "\xCD\x3E\xD2\x1F\xD6\x68\xD2\x0B\x38\x00\x8C\xC5\xFE\xC7\x7E\xCC\x3F\xDE\xAE\x46\x7E\xFB\xC7\xFE\xC7\xFE\xC4\xE2\x3A\xBA\x09\x03\x18\x18\xC5\x90\xAB\x03\x07\xC9\x6F\x1A\xE1\xB9\x81\xC3\x40\xC8\x20\xCB\x90\xA1\xC3\x0C\xC9\x43\xC4\x00\x01\x82\xC5\x3E\xD3\x20\xD0\x90\x97\xC8\xEC\xBE\x0A\xC9\x5F\xC2\x07\x02\x5D\x1C\x20\xC2\x88\x9E\xC8\x07\x68\xC3\xBC\x08\xCE\x8B\x42\x42\xC6\xFC\xBB\x00\x52\x0B\x27\xC8\x01\xC5\x0A\xCC\x2E\x0B\x42\xC3\x0B\x2D\x90\x82\x17\x26\xC8\xC3\xBC\x0F\x02\xBA\x03\x43\xC2\x10\xF5\x90\xA4\xC5\xF0\x11\x2F\xC7\x8B\xB2\x87\xC6\x10\x17\x21\xFC\x81\xBE\xC8\x12\xC8\x20\xC9\x5B\xC1\x87\xCC\xFE\xA2\x22\xD1\x8A\xC6\xC8\xCC\x04\x24\xC8\x46\x06\x88\xC5\x40\x3C\x21\xC4\x91\xEB\xC2\x4A\xC8\x87\x00\x13\xC8\xD0\x12\x5D\x1D\x01\x18\x8C\xD6\xC8\xEC\xBE\x2C\xCB\x5A\xC2\x8B\xCF\x15\xDC\x22\xC1\xEB\x06\xBF\x3E\x00\xE9\x09\x18\xCA\x40\xC3\x46\xC2\x4C\x20\x91\xE7\xC8\xE8\x18\x34\xCA\x19\xCB\x35\x0F\x03\x12\x2E\x2D\x91\x82\xC4\x6F\xC8\xC0\x0A\xE1\xB9\x8E\xC3\x16\x14\x23\xD0\x88\x73\xC8\x78\xC8\x36\xCA\xE1\xBA\x0D\x2D", - "\x1B\x1C\x23\xF0\x06\x6A\x20\x50\x64\x35\x20\x3E\xC2\x0D\x2B\xAF\x8A\x83\x0E\x30\xEA\x20\x5F\x64\x35\x23\xEA\xBA\x0D\x2C\x2C\x0A\x83\x2F\x7E\xCD\x8F\xD8\x36\xE9\xB2\x1A\x23\xF1\xBA\x06\x30\x0C\x37\x33\x9C\x08\x97\xC9\xC1\xBD\x26\xCF\xD6\x26\xF8\xA2\x02\x12\x17\x1E\xC9\x02\xC4\x50\xCB\x5A\xC2\x94\xC9\x58\x12\x2E\x03\x01\x18\xC6\xA7\xC9\xC8\x3E\xE1\xBC\x08\x02\x5D\x0C\x25\xC2\x88\xAE\xC9\xC7\x4B\x55\xCA\x2C\xCE\x54\x26\xF8\xA5\x02\x12\x17\x36\xC9\x02\xC4\x5C\xC8\x5D\x02\x97\xCB\xAA\x95\x25\xC6\x7E\xED\x02\x8C\x0A\x60\xCA\x69\xC0\x98\xCC\x11\x04\x26\xD8\x04\x40\xC9\x90\x02\x64\xC8\x46\x00", + "\xE1\xA5\xB8\x97\xBC\x72\x8E\xB8\xCC\xAD\xB8\x32\xB9\xE4\xAE\x6F\x39\x0B\x72\xBA\x30\x1D\x1D\xB9\x37\xBB\xE6\x98\xB9\x98\xB9\x71\xBA\xB9\xCB\xA1\xA7\x1E\x07\x13\x3C\x59\x88\x0D\x05\x23\x0D\x7C\x88\x0C\x16\x0D\x1C\x83\x03\xD1\x02\x75\xD4\xB9\x44\x13\xBA\x88\x0D\xEA\x99\xBB\xAB\xB6\x75\x8D\x08\xD6\xA6\x0C\x5A\xB8\xEC\x9C\xBB\xAD\xBE\x75\xDD\xB9\x42\x1F\xBA\x8E\x0D\x1C\xB1\x00\xB3\xB3\x10\x28\x00\xDB\xA2\x08\x3F\x07\xED\x81\x09\x24\x0A\x2A\x16\x0A\x02\x11\x08\x8B\x05\xEE\x93\x09\xBB\xBD\x10\x2C\x07\x68\x06\x00\xA3\x0E\x22\x00\xBC\xA8\xB3\x11\x12\xB5\x40\x07\x02\xA3\x0C\xEF\x89\x09\x44\x0F\x77\x81\xBD\xE1\xB1\x08\x0B\x01\xF1\x91\x09\x0C\x0D\x78\x84\xBF\x43\x06\xBC\x00\x06\x07\x12\xBD\x86\x06\x07\x15\xBE\x61\x16\x08\x98\xBB\xED\x88\x0C\xC5\xB3\x10\x62\x02\xE7\xAE\x0C\xA0\xB9\x22\x0C\x03\xCD\xB9\x10\x10\x07\xE9\xB4\x0C\xA9\xBD\x21\x1D\x00\xD6\xB3\x10\x3A\x03\x68\x15\x5A\xB4\xBA\x20\x3F\x03\xD7\xBB\x19\x16\x08\xEE\xA3\xBD\x11\x0B\xF7\x88\x0D\xC1\xBF\x79\x8F\xBD\x43\x08\xBC\xC0\xBD\x21\x0C\xBC\xC4\x0F\x7B\x86\x0C\xE9", + "\xBA\xBD\xBC\xB9\x30\x31\xBD\x84\x01\x79\xC9\xBD\x42\x14\xBC\xCC\xB9\x22\x09\x01\xDC\xB1\x10\x42\xBE\x61\x04\xBE\xA8\xBE\xF8\x89\x08\xCD\xB6\x7D\x83\x09\xE7\xB9\xBE\x3D\x1C\xFB\x80\x00\xEF\xBE\x18\x60\xBC\xEC\xA2\xBF\x03\x0A\xF4\x8E\xBF\x88\x06\x7A\xE8\xBD\x42\x1B\xBE\xE5\xB8\xFA\x83\xBE\xC7\xB7\x79\xAA\xBE\xFA\xAE\xBD\xF6\xBB\x20\x38\xBF\xF9\xBC\x39\xD1\xBE\x45\x13\xBE\x03\x0B\xF6\xB9\xBF\x80\x06\x7B\x81\xC2\x40\x08\x00\xEA\xBC\xFD\x94\x0C\xF7\xBD\x7B\x93\x0B\xCC\x10\xC0\x0B\xC3\xFD\x86\xC1\x03\xCD\x7F\xC7\xBE\xFA\xAB\xBE\x86\x0F\x02\xD1\xC1\x0D\xCC\x81\x87\x08\xE6\xB5\xBE\x04\xC7\xFA\xB7\xBC\x9D\x13\x82\xFB\xBE\xE5\xAB\x08\x98\xBC\xFC\xA9\xC0\xF3\xBB\x82\x8D\x08\x06\xD3\xC1\xFA\xBF\xFB\xBC\xBE\x18\xC1\x11\x72\xBE\x63\x0F\xBE\x01\x0D\xFE\xA1\xC0\x16\xC9\x81\x92\xC3\x66\x14\xC0\xD2\xB8\xFE\x82\x09\xD5\xB9\x81\x80\xC3\x10\xD6\xC1\x2D\xC2\x07\xEF\xC0\x13\xC1\x11\x0A\xC0\x0E\xCC\xC0\x72\xB8\x00\x0D\xBA\xC4\x0F\x74\xC5\xBF\x43\x01\xBB\x69\xBB\xEC\xA2\xBB\xB2\xB4\x76\xE7\xB9\x16\xC8\xBB\x94\x08\x0C\xE9\xC2\x31\xC1", + "\x86\xE4\xC3\x18\xC6\xC3\x65\xC3\x20\x28\xC3\xCD\x0A\x76\xD9\xC2\xDB\xB1\xC3\x70\xB9\x0B\xF4\xBA\x59\x16\x77\xF8\xB9\x16\xDB\xC2\x86\x0D\x0B\xE1\xBF\x2F\xCC\x86\xEB\xC2\x1B\xCD\xC3\x70\xC7\x0D\xF2\xC3\x33\xCC\x88\xF8\xC1\x40\x13\xC3\x81\x0A\x0D\xF4\xC3\x42\xC3\x89\x87\xC6\x21\xCD\xB4\x76\xC1\x0B\xF1\xBA\x47\xC0\x00\x7B\xC3\xA3\x1D\xC3\x0D\x09\xEF\x8E\xC0\x8C\x0B\x19\x40\xC0\x00\x03\x03\x24\xC5\x04\xC5\x09\x99\x1E\x19\x26\xC4\x2A\xCE\xC1\x5E\xC4\x07\xDE\xC1\x0C\xC0\x82\x8E\x0C\x2B\xCA\xBF\xAF\xC2\x0A\xF1\xC4\x2A\xCB\xB5\x6A\xBC\xF6\xAF\xC2\xA4\xC7\x07\xD1\x09\x5C\xCD\x7E\xBB\xC0\x2F\xC3\xBF\xEA\xBF\xFC\x80\xC7\x60\xC5\x8A\xC3\xC5\x2A\xCA\xC5\xA1\xBA\xFD\x82\xC2\x5B\xCC\x8C\xC2\xC5\x43\x04\xC6\x13\xC6\x18\xC6\x08\xCC\xBC\x84\xD7\xC0\x00\x0E\xC2\xD4\xC5\x1A\xCD\xC7\x6B\xCF\x8C\xA5\xC0\xE6\xB6\xC2\xD6\xC1\x21\x0D\xC1\x65\xC2\x10\x48\xC0\x28\xC9\x08\x46\xC1\x30\x2E\xC6\x55\xC6\x10\x33\x1B\x3C\xCF\x08\xA6\xC1\x1E\xC2\xBC\x6D\xC5\x10\x18\xBC\xF2\xBE\xC6\xB5\xC4\x32\x36\xC7\x28\xC5\x8C\xD3\xC3\x36\xD0\xBC\xBE\xC5\x06", + "\xC9\x09\x7B\xCB\x10\x79\xC5\x39\xDC\xC0\x31\xC1\x19\xCA\xC9\x81\x0C\x90\x87\x0A\x43\xD0\xC5\x83\xC2\x16\xD8\xC5\x0C\xC3\x8D\x82\xC9\x44\x15\xC8\x06\x0F\x22\xFA\xC5\x8C\xC7\x8C\x83\x09\x37\xC9\xC7\x03\x08\x1C\xDE\xC9\xA5\x54\x90\xD9\xC6\x41\xDD\xC7\x55\xC2\xFD\xAB\xC7\x70\xC9\x10\x05\x01\x4B\xC7\xC2\xFC\xC7\x1F\x33\x18\x9B\xC5\x84\x8F\xCB\x01\xDE\xC7\x1F\xC3\x22\xC2\x08\x9E\xCE\x8D\xFA\xC7\x44\x00\xC9\x10\xC8\x21\xD9\xC1\x5F\xC4\x93\x83\x08\x51\xC8\xC9\x39\xC5\x20\xFB\xC5\x83\xCD\x10\x32\xC0\x54\xC1\x08\xCA\xC5\x29\xC3\xCB\x9B\xC2\x8F\xB9\xC9\x34\xDC\xC8\x42\xC9\x20\x0F\xCA\xCA\x02\x92\xD2\xC8\x49\xD4\xCA\x09\x0F\x24\xE4\xCB\x88\x0A\x92\x9B\x0F\x4E\xDC\xCA\xFB\xC7\x25\xFF\x07\x73\xC2\x93\xFF\xC2\xD3\xB9\xC9\x92\xC1\x12\xD4\xC4\xBD\xC6\x89\x95\xC5\x22\xC8\xC4\x8B\xC4\x13\xD0\xC5\xA8\xBB\x97\x84\xCD\x5F\xDC\xCB\x7F\xCF\x12\xC1\xCC\x45\xC2\x10\x3E\xC2\x62\xC2\x08\x77\xC4\x31\xC1\x09\x4D\xC2\x99\x9D\xC6\xDE\xB8\xC7\x7E\xC4\x13\xC0\xC4\xC7\x02\x88\xEF\xBC\x21\xC7\xCC\x86\xC9\x31\xFE\xCB\xC5\xC0\x98\x82\x0B\x60\xD3", + "\x08\x79\xC9\x34\xE4\xCD\xC7\xCF\x88\x8D\xC5\x65\xC7\xCD\x9F\xCA\x34\xC8\xCD\xF8\xB9\x89\x9C\xC4\x65\xC5\xCD\x73\xBF\x32\xCD\xC9\xCC\xC5\x99\x9B\xCC\x65\x1D\xCC\x15\xC1\x36\xEB\xCD\xD1\xC6\x9A\xAE\xCC\x6E\xD4\x64\xC6\xCC\x35\xC8\xCE\xC1\xC9\x9C\xC4\xCD\x6B\xCC\xCE\x9C\xC6\x31\xCE\xCE\x00\x01\x99\xC7\xCF\x6D\xCA\xCE\x9E\xC3\x53\x2F\xC7\x81\x02\x8A\xA3\xCA\x67\xCB\x08\x48\xCF\x27\xD1\x09\x7F\xC7\x95\x80\x01\x40\xD8\xC9\x72\xCF\x04\xC9\xC8\x8C\xCF\x9D\xA5\xCA\x40\x16\xCA\x6B\xCC\xF3\xBE\xC8\x04\xCD\x98\xD2\xC7\x7C\xCA\xC2\x01\x0A\x2D\xE3\xC7\xD6\xB7\x9F\x9D\xC1\x42\x08\xC7\xF1\xCA\x1D\xE1\xCA\x00\x08\x79\xDB\xCD\x54\xCE\xC9\x53\xCB\x15\xD1\x09\x02\xDB\x77\xC1\xBD\x7F\xDA\xC8\x03\x0C\x3C\xC1\xD1\x81\x07\x9E\x81\x0F\xCC\x0C\xD0\x98\xCD\x00\xEC\xCF\xE0\xC0\xA1\x82\x08\x0A\xC5\xCF\x4C\xCB\x25\xC8\xAC\xB8\xC7\x94\xDE\xC9\x44\x10\xCF\xFB\xCC\x06\xE3\xC4\x02\xD4\xA2\x8F\x09\x78\xD4\xCF\x01\x0A\x3A\xC1\x0C\x53\xCD\x91\xEE\xCB\x82\xCD\xD1\xE0\xCE\x44\xCD\x08\xFD\xC3\xA3\xEC\xCB\x80\xD8\xD0\xBB\xCA\x43\xDE\xCE\x0E\xDE\x9E", + "\x81\x08\x80\xC9\xD1\x02\x0B\x26\xE2\xD1\x66\x88\xA3\x87\x0B\x8B\xD6\xC0\x11\x0C\xCE\x8D\xD0\x21\xD6\x96\xED\xCC\x5A\xD1\xD0\x41\xCB\x45\xD2\xD3\x0C\xD0\x8F\x8F\xD1\x91\xC0\x00\x1F\xD3\x42\xC2\x09\x10\xD6\xA3\xCB\xB9\x4F\xDB\xD0\x49\xC6\x3F\xC3\x08\x14\xDD\xA3\xF2\xCE\x96\xCD\xD2\x06\x0F\x49\xEA\xD3\xFA\xC0\x96\xEF\xD3\x99\xC3\xD2\x69\xD5\x43\xF9\xCF\xFF\xB3\xA0\xDB\xD1\x90\xDD\xD2\x68\xD4\x1E\xD7\xD2\x81\x07\xA4\xED\xD2\x80\xCB\xD1\xA5\xAC\x4B\xC3\x08\xA3\xCE\xA2\xB9\xCB\xCC\x09\xD4\x7F\xD3\x51\xDE\xD3\x41\xD7\x78\xD9\xD0\x3B\xD5\xAC\xE5\xCC\x51\xF9\xD1\xF4\xCA\x94\xDE\xC4\x99\xD6\xD0\x11\x08\x52\xD6\xC8\x07\xD1\xA8\x82\xD7\x5C\xC7\xD1\x12\xC8\x51\xF0\xD3\x82\x02\xA7\xFA\xD0\x00\x12\xD1\x06\xD1\x08\xC3\xD0\x51\xD1\x92\xA4\xD4\x9E\xC6\xD5\xA7\xD3\x47\xFC\xD2\x55\xD7\xA7\xD5\xD0\x91\xD4\xD4\x00\x05\x50\xF1\xD4\x00\x0A\xA4\xD3\xCE\x6F\xDB\x0C\xC0\xC9\x4F\xC7\x09\xD4\xC8\x9A\x85\xCD\xB3\xC0\xCD\xCF\xD2\x36\xEA\xCD\xE2\xC0\x9D\xAF\xCD\x73\xD3\xCD\xD4\xD6\x5A\xD1\xCF\xDA\xC5\x99\xD7\xCF\x74\xD9\xCE\x7C\x13\x58\xDD", + "\xCE\x5F\xDA\xAC\xF1\xD2\x8E\xC9\x08\x12\xD0\x49\xC1\x09\x0A\xD1\x97\x89\xD1\xAE\xD4\xBE\xEB\xCF\x56\xE6\xD5\x88\xC9\x81\xD9\xC8\x82\xC7\xCB\x30\xCD\x21\x30\xD5\x29\xD9\x10\x35\xD1\x57\xDC\xD4\xBA\xD5\x09\xD3\xD5\x7C\xDF\x9F\xF5\xCB\x8A\xC7\x00\xAB\xD7\x1F\x2D\xD5\x83\x07\x33\x09\xDB\xC2\xC0\xD6\xE9\xD6\x50\xD4\xD1\x01\xD8\xB0\xBD\xD7\xBD\xD6\xD2\x04\xDB\x68\x31\xD6\xAD\xC1\x10\x15\xD9\x51\xC3\xD8\xEF\xD3\x4D\xE9\xD5\x4B\xD0\x00\x1E\xD9\xA6\xC0\xD9\x5F\xCE\x1B\xFE\xD6\xDF\xB1\x11\x26\xDA\x98\xDD\xBE\x28\xDE\xFF\x82\xD9\x83\xDE\xB0\xE7\xD5\x02\xC6\xD8\x24\xD9\x59\xC3\xD6\x4D\xDE\xA4\x8E\xD5\x44\x1A\xD9\xFC\xD2\x52\xE5\xD4\x41\xD0\x94\xB4\xC7\x80\xC0\xDA\x8A\xD7\x40\xE8\xCE\x77\xDA\x9E\xCB\xCB\xD1\xD5\xD9\x00\xD8\x19\xF5\xD7\xA7\xD6\xB1\xCB\xD8\xBE\xC1\xD9\x74\xD2\x65\xD4\xDB\x8F\xD3\xB4\xF4\xC4\x37\xDB\xD5\x39\xD8\x6A\xCC\xDB\x98\xC9\x81\xC5\xD4\xA8\xC2\xC7\x12\xDA\x69\xFF\xD6\x77\xD7\x8B\xD5\xDB\xDA\xD7\xDA\x45\xD8\x20\xC3\xD1\x56\xC6\xAB\xE4\xD4\xAE\xCD\xDA\x9E\xD3\x6E\xE2\xDA\xB8\xD8\xAA\xD3\xDB\x8A\xD4\xDB", + "\x54\xD7\x62\xFF\xD5\x8C\xD9\xB5\xE5\xCF\xCA\xD0\xD2\x68\xDB\x67\xF1\xD9\x80\xDE\x8D\xED\xCB\xD9\xC2\xC7\x8A\xDD\x6B\xD0\xC6\xB2\xDE\x8D\xE6\xD9\xBB\xD7\xDA\x0F\xDC\x70\xD5\xD4\xA3\xD2\xB9\xE6\xC5\xA7\xC0\xD1\x8B\xDA\x6A\xDE\xC6\x7B\xD6\xB5\x98\xD8\xD6\xD1\xD1\xF6\xCD\x73\xC9\xCA\xC6\xD5\x9E\x8E\xDF\xE5\xC6\xDD\x74\xCD\x6C\xE0\xD9\xCC\xD7\xBA\x80\x01\xC4\xC3\xD6\xEC\xD5\x44\xD1\xDA\x8D\xDE\xB4\xAA\xDE\x78\xD5\xCA\x23\xDE\x6E\xF3\xD7\x1E\xC9\xBA\xF2\xD4\xD1\xD2\xD9\x8D\xD9\x74\xF7\xD8\xD9\xDC\x87\xC1\xDA\x40\x18\x00\xB3\xDE\x66\xC2\x09\xDB\xDE\xBC\xEB\xD6\xF2\xDE\xD0\x1B\xDA\x70\xE5\xD6\xCD\xD9\x79\xC1\xDE\xF6\xD7\xDB\xC4\xDD\x4E\xC6\xDE\xAF\xD8\xBC\xAD\xDF\xF5\xC6\xD2\x38\xDA\x78\xC2\xD4\xDA\xD1\xB7\xE5\xCD\xEE\xCD\xD4\xBB\xD8\x7B\xFD\xDD\xF1\xD3\xB9\xC0\xDE\xDF\xD4\xDF\x9E\xDA\x5F\xC5\xDE\xF5\xD4\xBE\xAC\xDF\xCB\xDF\xC6\xE7\xD9\x58\xE9\xDE\xE5\xC7\xAC\x81\x0C\xD2\xD4\xC7\xCC\xD2\x38\xD9\xD7\xE3\xC0\x9B\x8B\x09\x02\xEE\xE0\xCE\xD2\x81\xCF\xCE\x6D\xD4\xC1\x8C\xE3\xB5\xD3\xD6\xA8\xDC\x13\xD5\xCE\xE5\xCE\xAD\xD8", + "\xD5\x6E\xCD\xDE\x49\xD9\x20\x23\xD7\x25\xD1\x59\xFF\xDC\x36\xC5\xDD\x83\xDA\x27\xE1\xD4\x5C\xC1\xC0\xD4\xDD\x08\xE6\xCF\xB3\xD4\x85\xFE\xDC\x18\xD0\xA6\xD9\xDD\x99\xD3\x18\x19\xC7\x84\xEF\xDA\xD8\xDD\xB7\xA3\xDD\x0C\xF9\xE1\x01\xE3\x5F\xEF\xE1\xC3\xDF\x10\x0F\xD6\x0C\xF8\xDF\xAB\xD9\x2D\xE0\xDA\x8E\xD9\x59\xDE\xC6\x0E\xEF\xDD\x29\xE1\x76\xD5\xDD\xE8\xD1\xBF\x9B\xDE\xDC\xD3\xE1\xF8\xCD\x86\xF3\xDE\xFE\xD5\xBF\xA2\xDD\x79\xC4\xDD\x3B\xE1\x8A\xE1\xDE\xAD\xD8\xC5\xF3\xD3\x9E\xD3\xD9\x48\xE7\x77\xC5\xD8\xE6\xD9\xC6\xD0\xE3\xF6\xD5\xDD\x2E\xE1\x52\xC2\x09\xF7\xDB\xA9\xE3\xD9\x2F\xDB\xE2\xDF\xDB\x78\xF6\xDE\x1F\xE5\xC6\xAE\xD6\x10\xF2\xE3\xB2\xD5\x8F\xDF\xD2\x1E\xD3\xAC\xAE\xDE\xEE\xD6\xE3\x6B\xE3\x8A\xC2\xE4\x73\xD5\xC5\xB6\xDE\xA5\xDC\xE2\xF9\xD8\x5E\xF8\xE2\x14\xEF\xC6\xF4\xD4\x1F\xED\xE3\x59\xE7\x8F\xE3\xD5\x86\x04\xC4\xF5\xE0\xDF\xDE\xDF\xEA\xD0\x80\xCB\xE4\xEE\xD2\xAC\xD5\xDC\xB1\xD6\xCB\x5C\xC0\x2F\xD1\xE0\x08\xE0\xAD\x92\xE3\x72\xD5\xE0\xCA\xCD\x81\xCB\xD7\x55\xE3\xCB\xAD\xE4\x2B\xF2\xD6\xD1\xD3\x38\xDE\xE1", + "\x57\xE7\x9C\x9A\xE6\x41\x05\x87\x1B\xE3\x3A\xDD\xE0\x0C\xE6\x99\xA0\xE0\x20\xE0\x00\x23\xE3\x3A\xD1\x01\xBB\xC2\x97\x87\xE2\x2A\xCE\xE6\x25\xC0\x9A\xDC\xC0\x69\xE7\x80\xD4\xE6\x45\x16\xE6\x13\x08\x9B\xCF\x08\x6D\xEB\x10\x5C\xE5\x2D\xE9\x08\x64\x01\x0B\xCB\xE7\x54\xED\xCC\xB9\xCA\x37\xE6\x08\xE7\xE5\x20\x29\xE7\x7F\x0B\xCE\xED\xE6\x39\xEF\xE7\x72\xCD\x1C\xA1\xE6\x4E\xC3\xCE\x81\xC4\x3C\xEE\xD7\xEE\xE5\x9C\xFA\xE6\x7C\xE7\xCF\xD7\xD9\x3E\xFC\xE7\xF1\xE1\x22\x1C\x02\x71\xEC\xCC\x80\xEA\x41\xFE\xE7\xFD\xE6\x74\xFF\xE6\x84\xEB\xCF\x8C\xEB\x41\xE6\xDD\xE5\x81\x08\x04\xE8\x72\xEF\xD0\xA9\xE3\x42\xEA\xE8\x09\xEE\xA2\xD9\xE9\x37\xE7\xD1\x9A\xE9\x40\xED\x08\x92\x12\x99\xC5\xE8\x87\xE4\xD2\x98\xE9\x43\xE6\xE9\x15\xEC\xA3\xDB\xE8\x5C\xDD\xD1\xAA\xEB\x47\xE9\x08\xF5\xE4\x33\xEB\xE8\x53\xDD\xD2\xAC\xEB\x4C\xE2\xD4\x35\xEC\xA6\xF7\xE8\x04\xE1\x11\x73\xE5\x65\xD1\xE9\xBF\xCB\xA7\xCF\xE6\xA1\xE1\xCD\xC4\xEB\x34\xE6\xEA\xD5\xE0\xA9\xD7\xE6\x55\xED\x10\x30\x03\x44\xF6\xE7\x27\xEE\xA3\xE9\xE8\x9B\xE1\xD5\xAE\xEB\x54\xFA\xE9\x55", + "\xEC\xAA\xEE\xD7\x72\x8B\x05\x4F\xEA\x4C\xF9\xEA\x58\xEF\xAA\xF8\xE8\xA5\xE9\xCD\xE4\xEB\x36\xE6\xEB\xDD\xE4\xA9\xC9\x08\xA7\xE4\xCF\xA3\xE8\x4A\xE5\xE9\x52\xE8\xAE\xD6\xEA\xB9\xEA\xD5\xF4\xE9\x58\xF6\xEB\x82\xD5\x1C\xAC\xEB\x9F\xEE\xD6\xF1\xEB\x5B\xFF\xEB\x7E\xE9\xB0\xF3\xEA\xC0\xE3\xD8\x82\xED\x5D\xF0\xE8\x11\x0E\x05\x1E\xEB\xA0\xE0\xD6\xE3\xE9\x63\xF4\xC7\x39\xEE\xB1\xE2\xEA\xC8\xE8\xD6\x87\x0B\x3A\xE5\x87\x46\x03\xB1\xC8\xD7\xCA\xE8\xCE\x9C\xEE\x3A\xFE\xEC\xEC\xE0\xB4\xD1\xEC\xCA\xEF\xD8\xAA\xC5\x39\x93\x01\x9A\xEE\x80\xE2\xED\xD5\xE5\xDA\xC5\xE9\x6B\xE7\xEA\xAF\xE9\xA9\xEF\xE9\x81\x0B\x03\x29\xEF\x52\xF1\xED\xB7\xEB\xB2\xC3\xEA\xDC\xE5\xD6\xBC\xEF\x59\xFE\xED\x69\xEB\xB6\xC2\x09\x1E\x06\xDB\xBD\xEE\x6E\xEE\xED\xC7\xE8\xB6\xC9\xEE\xD9\xEB\xDC\xB9\xEC\x5E\xFC\xE9\x0D\x0F\x03\x05\xEF\xDF\xED\xDC\xC6\xEF\x73\xFB\xED\xD5\xEC\xBA\xD7\xEE\xE4\xEB\xDD\x9C\xC1\x39\x80\x03\xD3\xE9\xB8\xD9\xEE\xF1\xED\xDD\xCC\xED\x79\xEE\xEE\x84\xEF\xB0\xC6\xED\xBB\xE8\xD8\x8D\x0B\x09\x19\xC2\x26\x01\xBC\xD6\xEC\xD6\xE3\xDE\xF3\xEC", + "\x70\xF6\xEF\xF5\xED\xB3\xF7\xEE\xFD\xEB\xD5\x91\x0B\x7B\xFC\xC4\xF1\xED\xAD\xD4\xE9\xF3\xE6\xDD\xE9\xEC\x7B\xEB\xEF\x92\xEC\xC0\xDA\xEE\x03\xF9\xE0\xED\xED\xBF\xD2\xEF\xFC\xEA\xC1\xE4\xEE\x06\xF4\xDA\xF9\xEF\x67\xFB\xEF\x17\xF6\xC2\xE1\xEC\xE1\xE1\x10\x61\x00\x84\xF9\xF0\x12\xF0\xBF\xE1\xF1\x08\xF4\xE1\xD8\xEF\x88\xE0\xF1\x25\xF4\xBB\xE9\xF0\xEF\xEF\x32\x1F\xF3\x86\xFA\xF0\xA3\xEE\xC4\xEB\xF0\xF3\xE3\xE3\xE8\xEC\x82\xF5\xF0\x57\xDD\x1C\x9E\x0D\x72\x80\xD4\x9B\xEC\x86\xEF\xF1\x27\xF0\xC8\xF5\xF1\x02\xF7\xE3\xB2\xF1\x91\xEA\xF1\x29\xE5\x1C\x9F\xD4\x62\xED\xE3\xAA\xEF\x8F\xF1\xF1\x48\xF5\xB0\xD2\xF2\xF5\xE3\xE5\x87\xF1\x95\xF9\xEB\xFE\xE8\xBE\xEE\xF0\x28\xFA\xDC\xC1\xF0\x97\xF4\xF1\x47\xF5\xCB\xC3\xF3\x05\xF9\xE4\xD9\xF0\x80\xFB\xF2\xF4\xEE\xCB\xE9\xF3\x31\xF3\xE1\xE1\xF0\x98\xEF\xE3\xE5\x87\xBF\xD5\xCD\x00\xFC\xD7\x83\xF0\x9B\xE2\xF1\x77\xF4\xC4\xEE\xF2\x1B\xF7\xE5\xB8\xF1\x9E\xE8\xF1\x65\xF6\xBD\xDA\xF2\x01\xF0\xD5\xB0\xF3\x9A\xFB\xF3\x44\xF5\xCF\xC6\xF2\x45\xF1\xE5\xD4\xF0\xAE\xC5\x87\x3C\x00\xCD\xCF\xF3\x43", + "\xFC\xE8\xE2\xF0\xA2\xE4\xF3\x95\xF7\xCD\xCE\xF4\x53\xD5\x0E\x8D\x02\xA4\xE6\xF4\x93\xF1\xD4\xE0\xF5\x51\xF9\xE3\x91\x08\x12\x1A\xCD\x9B\xE1\x21\x0A\x05\x4F\xFA\xE6\xA2\xF5\xAB\xE4\xF5\x7F\xF2\xC8\xC1\xF5\x84\x02\x04\x28\xF5\xAD\xCD\x08\x7E\x04\xD5\xF1\xF5\x2F\xFC\xE7\x9B\xF5\x83\xF7\xF4\x6D\xF1\xD3\xFD\xF4\x4E\xF1\xBA\x36\xF5\x41\x06\xC5\xC3\xE1\x97\xC2\x09\x26\xF3\xEC\xBF\xF6\xB0\xE9\xF4\xBE\xF6\xCF\xC0\xF6\x3C\xF3\xED\xFA\xF3\xB3\xEE\xE5\x2D\x06\xD8\xFF\x06\x53\xCD\xD5\x84\xF7\x57\xF0\xF5\xD5\xF0\xD0\xD7\xF7\x60\xF1\xED\x8B\xF5\xB9\xED\xF4\xC4\xF5\x21\x16\x02\x6D\xF6\x8A\xA1\x06\xAE\xE1\xF7\xB2\xF3\xDC\xD4\xF6\x79\xF6\xED\xE7\xF6\xA5\xF4\xF7\xE2\xF6\xDE\xC7\xC1\x72\x84\x02\x6C\xF5\x44\x04\x02\x20\xDC\xD7\xD0\xF6\x2B\xFA\xEF\xCD\xF6\xB4\xF8\xF7\xF1\xF5\xE0\xCA\xF7\x80\x0E\xD3\xDF\xF7\xAB\xEF\xF8\xBB\xF4\xD2\xCA\xF8\x57\xED\xF0\x8C\xEC\xB8\xE8\xF8\x02\xF8\xD3\xD3\xF8\x72\xF4\xF0\x9D\xF8\x96\xED\x08\x03\xEE\xCE\xF0\xF7\x8C\xFC\xF1\xCE\xF7\xC6\xF3\xF7\x27\xFD\xDE\xDE\xF8\xE8\xE9\x10\x12\xEA\xC8\xF8\xF8\x12\xFB", + "\xE5\xE6\xF6\x99\xF8\xEE\xA6\xF8\xCD\xEC\xF1\x20\xED\xAF\xF0\xF8\x57\xF1\xF1\xBC\xFB\xC8\xF1\xF9\x36\xF9\xE8\xC7\xF9\x94\xF9\xEF\xB7\xFA\xA6\xE6\xFA\x06\xFE\xB4\xFD\xE8\x9D\xF4\xF4\x89\xF8\xD2\xE3\xF8\x42\xFB\xE6\xD1\xFB\x9A\xF3\xF4\xCF\xFA\x2B\xFB\xEB\x0E\xFD\xE7\xD7\xF9\xA6\xF4\xF2\xA8\xFA\xD5\xE5\xF9\x2C\xFB\x20\x1D\xF7\x42\xF0\xF1\xBF\xFA\xCF\xFB\xF9\x5B\xF9\xDD\xEB\xEA\xA6\xFF\xF5\xDE\xFB\xD4\xF7\xF7\x5C\xF8\xE8\xD5\xFB\xB7\xFB\xEF\x91\x08\xD6\xF6\xF8\x65\xF8\xED\xF9\xFB\xB8\xF7\xF6\x8F\xF5\x62\xEC\xFB\x74\xF9\xE9\xD4\xFA\xA9\xF3\xF7\x85\xFC\xE1\xE7\xFC\x83\xF9\xF1\xF8\xF9\x84\x09\xD9\xAF\xF8\xDF\xE9\xFB\x81\xF8\xEA\xC6\xFC\xC5\xF7\xF4\x91\xFE\xC6\xEA\xFB\x03\x08\xB5\xCE\xFD\xB6\xFA\xF2\x96\xFC\xD8\xE8\xFC\x70\xFC\xF3\xC5\xFA\xCF\xFE\xF6\xE1\xFA\x40\x15\xED\x9B\xFC\xF4\xDD\xFD\xC9\xF1\xFA\xAA\xFF\xE8\xEC\xFD\x95\xF8\xF6\xC2\xFD\xC5\xF3\x10\x44\xED\xEA\xF2\xFD\x92\xF8\xF4\xF1\xFC\xDD\xF3\xFB\xBB\xFC\xE5\xFD\xFD\xC4\xE2\xBA\xF7\xFC\xDE\xF9\xFB\xBF\xFD\xF1\xED\xFD\xB8\xFF\xF2\xEE\xFC\xA7\xFF\xF1\x89\x08\x78", + "\xE3\xFE\xC6\xFA\xF9\xC9\xFF\xCF\xF1\xFD\xD4\xFC\xF2\xE4\xFE\xD2\xF8\xFB\xF7\xE5\x81\x02\xE7\xC7\xCC\x9D\xF9\xFA\x66\xF8\xF2\xD3\xFF\xD2\xFA\xFD\xE4\xFD\xF5\xE6\xFF\xB4\xFA\x20\x1D\xFE\xE5\xCF\xFD\xF8\xFA\xD6\xFB\xFB\xA2\xFC\xF9\xE3\xFF\xD5\xF5\xFE\xF4\xFD\x09\xC5\x87\x9D\xE0\xFD\xFE\xFD\xEB\xF7\xFE\xF6\xFC\xFF\xFF\xFF\xFB\x7D\x00\x80\xFC\x47\x7F\x75\x7D\x43\x0E\xE1\x50\x7F\x00\x83\x00\x89\xFD\x7D\x7F\xAF\x7D\xFD\x7D\x00\x8C\x80\xF2\x7E\x03\x81\x01\xB7\x7F\x2D\x78\x02\x82\x00\x84\x80\x0A\x82\xF5\x77\x01\x8B\x80\x09\x80\x06\x8E\x01\x9C\x80\x05\x80\xE4\x6F\x01\x9A\x80\x19\x82\xFE\x75\x02\xBE\x7F\x1B\x80\x09\x83\x02\xA6\x80\x2B\x83\x2F\x73\x79\x40\x7E\xF3\x7F\x03\x8D\x01\xA0\x80\x27\x82\x0C\x89\x02\xAC\x80\x34\x81\x0B\x85\x10\x31\x79\x83\x78\xD9\x7F\xFE\x7F\x80\xE1\x7C\xFC\x7B\xFC\x57\x76\x66\x7B\x9C\x70\x03\x92\x80\x5D\x7C\x0A\x85\x03\x93\x80\x33\x82\x0A\x89\x03\x8F\x81\xDB\x7E\xFA\x7D\x03\xA0\x7F\x7A\x7C\x10\x85\x05\x81\x81\x56\x82\xDF\x72\xE8\x67\x79\x16\x83\x12\x89\x04\xB6\x80\x5E\x82\xDC\x78\x04\xA0\x76\x90", + "\x7B\x11\x80\x01\x9F\x81\x4C\x83\x0D\x8A\x04\xBA\x80\x69\x81\x18\x8F\xE3\x5D\x7A\x66\x81\x13\x88\x03\x8E\x81\x74\x83\x1C\x86\x07\xAB\x81\x50\x83\x1D\x80\x06\x8B\x7C\x00\x03\xA9\x76\xCC\x69\x7A\x03\x07\xAA\x7D\x05\xAC\x81\x68\x81\x21\x82\x06\xA7\x81\x6A\x77\x40\x05\xEB\x7F\x81\xB7\x79\x42\x09\xEB\x43\x82\x79\x80\x1E\x85\x07\x92\x82\x7A\x81\x1B\x84\x08\x87\x82\xE9\x7D\x40\x02\x02\x3E\x7B\x0D\x05\xB2\x71\x09\xBB\x81\x9F\x82\x25\x81\x0A\x86\x82\x7D\x7D\xFC\x75\x0E\x59\x7B\x8C\x83\xB1\x71\x11\x23\x7D\x54\x83\xE3\x72\x04\xB1\x80\xA2\x83\x24\x80\x0A\xB2\x82\xB1\x83\x37\x73\x10\x2B\x7B\xA9\x83\xB6\x71\x11\x2E\x7B\x90\x80\x2D\x84\x0A\xA2\x7F\x63\x81\x29\x8B\xFC\x7C\x7B\x9C\x81\x42\x00\xF0\x63\x72\xFF\x01\x39\x4F\x02\x05\x83\x03\x06\x17\x01\x07\xAA\x81\xB3\x81\x25\x8F\x0B\xAF\x82\x12\x82\x3C\x7F\x0C\xAE\x81\xC0\x80\x22\x82\x0C\xB0\x82\xD6\x81\x2F\x82\x0D\x98\x82\xD0\x81\x2D\x84\x09\xA3\x83\xD1\x80\x39\x89\x0C\x82\x74\xD7\x83\x25\x8B\x0D\x81\x83\xD9\x82\x1C\x86\x0E\x91\x74\xE9\x83\x28\x80\x0E\x98\x83\xD4\x82\x36\x8D\xDF", + "\x79\x7C\xDE\x82\x39\x83\x0D\x99\x81\xF1\x7F\x3E\x88\x05\xBF\x83\x57\x81\x40\x8E\x0A\xB1\x7A\xDD\x82\x0F\x80\x10\x83\x84\x07\x85\x3F\x83\x0F\xBC\x81\x77\x7E\x8F\x7D\x0E\xA1\x83\xFE\x82\x40\x8A\x10\x9C\x78\x00\x00\x2B\x8E\xFE\x49\x84\x43\x83\x42\x82\x0F\xAB\x83\x14\x81\x53\x71\x0F\xBE\x82\x1A\x84\x48\x8C\x11\xAE\x83\xE5\x83\x0E\x86\xF7\x5F\x84\xDF\x83\x48\x80\x11\xA1\x84\x29\x87\x3D\x89\x10\x0A\x76\xF9\x81\x49\x82\x0E\xB2\x84\x11\x84\x42\x82\x11\x8D\x7F\x03\x05\xE3\x76\x10\xB7\x84\xB0\x81\x4D\x83\x11\x8F\x84\x4B\x83\x69\x78\x12\xBA\x83\x2C\x84\x51\x8A\x12\xB4\x83\x0E\x78\x6D\x73\x14\xB4\x84\x45\x84\x53\x87\x14\xAA\x83\x2E\x85\xED\x7B\x14\xB3\x84\x54\x86\x4F\x89\x11\x8F\x85\xAE\x72\xF0\x7B\x13\xB6\x84\x5C\x87\x4F\x85\x0F\xA4\x84\xE7\x81\x43\x0F\xFC\x5B\x85\x5E\x84\x3F\x87\x15\x80\x85\x50\x85\xA9\x7B\x05\x86\x81\x31\x85\x55\x8D\x14\xAE\x85\x58\x86\x48\x81\x15\x92\x81\x5C\x80\x59\x87\x16\x9F\x85\x2B\x85\x5C\x8D\x12\xAA\x85\x0F\x79\x5B\x86\x15\xBD\x84\x6F\x87\x5F\x8A\xF4\x46\x80\x53\x86\x60\x86\x0F\xB8\x85\x48\x84", + "\x46\x86\xFA\x62\x65\x85\x85\x60\x8E\x18\xBA\x85\xEF\x80\xDA\x6E\xE4\x68\x85\x1B\x84\x65\x82\x17\x88\x86\x7C\x83\x92\x79\x16\xA6\x85\x80\x84\x64\x8E\x14\x9A\x78\x3C\x81\x5D\x8D\x0A\xA5\x85\x8A\x84\x3B\x88\x19\x95\x86\x7C\x84\xF7\x73\x05\x97\x84\x3C\x86\x69\x8C\x19\xAE\x86\xA5\x85\x47\x89\x10\x2B\x7F\xD3\x65\xFB\x7E\x10\xA7\x86\x97\x87\x6B\x87\x18\xBA\x86\x99\x80\x00\x04\x1B\xBB\x72\xB6\x87\x64\x88\x1B\xBB\x85\xBC\x85\x5E\x86\x19\x95\x82\x65\x82\x5F\x8F\x18\x87\x87\x46\x84\x73\x82\x13\xB0\x81\xCA\x86\x67\x80\x17\x8E\x87\xD3\x85\x90\x75\x0E\x7E\x81\x9F\x62\x29\x72\x08\xB6\x85\x9D\x84\x75\x86\x18\xA0\x85\x68\x81\x39\x4B\x08\x99\x87\x2F\x73\x23\x8C\x1D\xB0\x86\xAD\x87\x6E\x81\x1B\xA0\x87\x89\x82\x40\x0B\x09\xB9\x82\xC8\x79\x63\x82\x1D\x9F\x87\xC6\x87\x70\x8E\x02\x8D\x04\xA8\x80\x79\x87\xCC\x56\x84\xB7\x85\x71\x89\x18\xA9\x87\xEC\x86\x74\x85\x0E\x78\x82\xFA\x84\x20\x82\x10\x3C\x82\xE7\x86\x7A\x80\x20\xB5\x87\xFE\x87\x66\x80\xEF\x44\x83\xF0\x87\xBF\x70\xB2\x42\x85\x9C\x63\x58\x63\x9D\x51\x7A\x9C\x62\xA7\x7C\x89\x7D", + "\x7B\x11\x89\x43\x07\x0C\x85\x88\x8D\x83\x40\x0E\x01\x13\x88\x1F\x64\x33\x82\x10\x32\x01\x59\x61\x78\x64\xBB\x74\x87\xFF\x85\x57\x87\x17\x84\x84\x4B\x7D\x74\x8E\x1D\x8B\x87\xF6\x86\x49\x8D\x10\x15\x7C\xFD\x87\x7A\x8C\x20\xBA\x88\x2D\x88\x69\x80\xE7\x68\x83\x32\x89\x8D\x85\x1D\x8D\x88\xA8\x84\x8C\x8D\x10\x2E\x7C\x09\x89\x80\x83\x23\xB3\x87\x6F\x85\x39\x41\xD2\x42\x87\x44\x89\x6E\x8C\x23\x8E\x88\x0B\x89\x8F\x8F\x22\x93\x89\x45\x88\x96\x84\x0B\x85\x84\xA3\x87\x95\x85\x25\x94\x89\x2E\x89\x77\x89\x1A\x82\x04\x0D\x84\x94\x8A\x25\x84\x87\x67\x89\x73\x82\x24\x9C\x75\xF2\x87\x92\x8E\x26\x82\x89\x44\x82\x47\x81\x24\x91\x89\x68\x8B\x97\x89\x25\x88\x7C\x7A\x75\x9B\x80\x27\xB4\x88\x74\x89\x64\x8D\x10\x30\x84\x49\x8B\x8E\x86\x27\x92\x89\x83\x89\x9D\x8A\x05\x8C\x7E\x7A\x89\x9F\x8F\x19\xBB\x89\x4C\x88\x45\x8A\xF9\x41\x8A\x56\x8A\x98\x8A\x28\x83\x89\x69\x8A\x8D\x89\x10\x28\x7E\x90\x88\x98\x8E\x23\xA1\x89\xE8\x84\xA7\x82\x1B\x92\x85\x73\x89\xA5\x84\x29\x85\x8A\x6A\x89\x52\x82\x10\x1A\x85\x5D\x8A\xA4\x82\x2A\xAC\x88\x9A\x88\x4E", + "\x82\x10\x23\x85\xA9\x89\xA7\x8B\x29\xB3\x8A\x5E\x8A\xA7\x8D\x1B\xBF\x86\xC4\x71\x70\x81\x29\xB2\x8A\xB5\x88\xAD\x8A\x2A\xB8\x89\x45\x82\xF7\x79\x28\xAB\x8A\x7C\x88\xB1\x84\x11\xB9\x7F\xA5\x8A\xB1\x8F\x26\x93\x8A\x71\x89\x42\x07\x00\x99\x8A\x77\x8A\xAD\x82\x28\x92\x8B\xBB\x88\x04\x85\x0E\x56\x88\x66\x88\xA9\x8B\x28\x8C\x8B\xC5\x8B\x8F\x89\xB8\x6D\x8A\xBF\x88\xB5\x80\x2E\xBC\x8A\xDC\x83\x0B\x81\x2A\x9A\x8B\xA3\x8A\xB8\x81\x2D\xA6\x82\xC1\x88\xFB\x73\x2C\xA8\x8B\xAC\x8B\xBA\x8D\x2B\xAE\x8A\x01\x04\xAE\x8C\x07\xBA\x8A\xE3\x8A\x82\x8A\x2E\x84\x8A\xFB\x88\x72\x8D\x2E\xB5\x86\xEF\x89\xBF\x89\x2C\xB0\x8B\x4D\x8B\xBF\x80\x1C\x81\x8C\xBE\x88\xB9\x8A\x30\xBA\x8B\x09\x8F\xA7\x82\x10\x18\x88\xD0\x88\xBF\x8D\x30\x8A\x89\x8C\x88\x75\x80\x1D\x91\x8C\x86\x8B\xC4\x83\x2D\x9A\x8C\xD5\x89\x6F\x88\x1D\x9A\x67\xDA\x84\xC2\x83\x2F\xA1\x8B\x1C\x8D\xBE\x80\x16\xA2\x87\x26\x89\x40\x06\x1E\xB1\x8A\x0C\x8F\xC8\x8B\x30\x94\x8C\x93\x89\x39\x4F\x1E\xA0\x88\xAA\x81\x27\x82\x32\xA4\x8C\x2E\x8D\xCB\x88\x33\xA5\x8B\xF8\x85\xCA\x85\x11\xB7\x8C", + "\x2F\x8F\xC6\x89\x33\xB0\x8C\x0F\x89\x44\x04\x20\xA0\x8C\x2F\x70\x82\x8C\x32\x84\x8D\x04\x8D\xA3\x8B\x2C\xB3\x7A\x03\x04\x87\x84\x33\xBA\x82\x1E\x88\x89\x8D\x10\x05\x70\x41\x84\x2D\x77\x1F\xB8\x72\xAE\x72\x2C\x7B\x35\xBA\x72\xC4\x72\xD7\x86\x29\xA0\x8D\x7C\x82\xD8\x81\x16\x9C\x8D\x51\x83\x04\x76\xC1\x5B\x6B\x1A\x72\x26\x6A\x87\x7E\x8C\xC9\x71\xB6\x82\x30\x9B\x8B\xCA\x8B\x9A\x81\x23\x98\x8C\x03\x8F\xDC\x89\x2E\xA5\x8C\xA1\x80\x97\x8C\x1A\xBA\x8D\xF1\x8A\xC4\x83\x34\xA1\x83\xE5\x41\xC8\x78\x37\xB4\x8D\x4D\x8F\xD3\x88\x2E\xB0\x83\xE7\x88\xE0\x8D\x2D\x8E\x8E\x14\x87\x93\x8D\x31\x82\x8D\x3B\x8D\xD0\x83\x39\x97\x8E\x26\x8C\xE5\x86\x39\x99\x8E\x98\x8C\xC5\x70\x34\xBA\x8C\x9B\x8E\xBC\x85\x39\x96\x8B\x27\x85\xE3\x8C\x37\x82\x8E\xA3\x8C\xD3\x8D\xF4\x6C\x89\xA6\x8F\xE0\x8D\x39\xA8\x8E\xA1\x8F\x96\x85\x3A\x87\x8E\x7B\x8E\xEB\x8C\x39\xB7\x8E\xA2\x8F\x60\x8B\xF6\x6D\x8E\xA9\x8E\xE6\x80\x3A\xBF\x8E\x27\x8F\xDF\x7C\x3B\xB1\x8E\x19\x8E\xED\x89\x3B\xA4\x8E\x0D\x06\x4E\x8B\x34\xBE\x8E\xAA\x8F\xE9\x85\x3C\xBD\x8E\x59\x8D\x43\x0F", + "\x28\x8B\x8F\xAF\x8F\xF3\x84\x3C\xB9\x8D\xCE\x8F\xD7\x87\xFA\x5F\x8E\xCD\x8E\xF1\x80\x3B\x80\x8F\x84\x8D\x44\x06\xFB\x74\x8E\x81\x8E\xF5\x80\x3E\x95\x8F\xDA\x8D\x40\x08\x2A\xBF\x8D\xD9\x8C\xE2\x80\x39\x96\x8C\x11\x04\xAC\x8C\x3E\x9E\x8F\xE6\x8D\xF7\x80\x3D\xB8\x8E\x69\x8E\x6F\x8B\x1A\xB9\x88\x89\x8D\xC5\x8E\x3F\x86\x89\xB3\x87\xFE\x82\x37\xAD\x8F\xB5\x8F\xFD\x87\x3C\xB6\x8F\xBA\x8D\xE9\x5C\x3D\x8C\x8F\x0C\x90\xFA\x8E\x3E\xAC\x8B\x84\x87\xF0\x87\x3E\xB8\x8F\xF5\x8D\x03\x94\x41\xA9\x8F\x00\x00\xB6\x8E\x40\x85\x90\xD7\x8F\x03\x94\x3F\xBE\x89\x22\x83\x01\x96\x41\xA2\x90\x1B\x91\xF9\x88\x41\x9A\x86\x24\x93\x05\x9E\x41\x86\x90\xDF\x8D\xF0\x8B\x16\x82\x8B\x12\x90\x02\x93\x41\xA9\x90\x34\x92\xEC\x8F\x42\xAE\x8B\x31\x93\x08\x9D\x42\xBA\x90\x15\x91\xF4\x81\x40\xA2\x86\xF3\x8C\x0B\x9D\x43\xAA\x90\x1C\x93\x0C\x99\x3F\xB6\x8B\xAE\x70\xBE\x85\x43\x83\x91\x4B\x90\xF6\x8F\x41\xAB\x90\x09\x93\xC3\x8B\x40\xA5\x90\x8F\x8C\x01\x91\x1E\x91\x04\x1A\x88\xF9\x85\x45\x8F\x91\x45\x92\x0C\x9E\x31\xBE\x8C\xDB\x84\xF5\x84\x44\xA6\x90\x50", + "\x92\x11\x9E\x2F\x8D\x04\xE3\x84\xD2\x87\xCC\x6B\x8C\x41\x91\x07\x9D\x45\xBC\x90\x4E\x92\x10\x98\x41\xB3\x8C\x6A\x92\x81\x83\x99\x53\x91\x63\x93\x16\x92\x47\x8F\x87\x11\x05\x7E\x85\x47\xA1\x88\x02\x04\x7F\x83\x40\x9C\x91\x64\x93\x1B\x94\x45\x94\x84\x47\x8D\xB8\x66\xCA\x4A\x8D\x6D\x92\x19\x91\x47\xAE\x91\x85\x93\x15\x9D\x10\x12\x8D\x7F\x91\xCD\x86\x0C\x94\x71\x6C\x6F\x0A\x79\x81\x46\x02\x7A\x6F\x26\x9F\xC3\x5E\x63\x88\x01\x27\x90\x4A\xA2\x92\xE5\x67\x23\x0F\x49\xA5\x92\x59\x62\xE1\x87\x9C\x48\x89\xC7\x66\xE4\x8C\x06\xB9\x89\x9C\x62\x20\x94\xCC\x65\x89\xB3\x91\x16\x60\x28\x87\x67\xCA\x8D\x23\x9D\x1B\x93\x8F\xCA\x64\xA6\x87\x9C\x63\x8F\xC7\x64\x12\x99\x3F\x8A\x91\x47\x92\x00\x94\xCC\x48\x8B\x63\x8E\x40\x0F\x2C\xA2\x91\xAE\x72\x06\x9C\x07\xBB\x78\xE6\x89\x65\x62\x4C\xB6\x82\x02\x04\x31\x94\x4D\xB5\x8B\xC6\x90\x1F\x83\x4D\x98\x90\xD6\x90\x06\x9B\x4D\x89\x93\x01\x05\x37\x9C\x47\x8D\x04\x10\x8C\x33\x99\x3F\x99\x91\xC7\x67\xC7\x8A\x48\xAF\x70\x61\x92\x72\x69\x46\xAB\x93\x6B\x91\x16\x64\x47\xB0\x93\x76\x90\x00\x0E\x09", + "\xB9\x8F\x7E\x90\x3D\x90\x48\x81\x04\xB2\x90\x1F\x89\x48\x95\x0A\xC3\x68\x23\x9C\x3F\x87\x8A\x51\x8E\xCF\x8F\x21\x95\x92\x54\x8D\x42\x0B\x0A\x18\x92\x9F\x71\x42\x07\x83\x65\x67\xAE\x90\xFC\x68\xC8\x43\x04\x40\x02\xFA\x5C\x07\x01\x70\x15\x95\x06\x67\x51\x88\x83\x98\x5E\x0C\x0A\x7E\x65\x01\x01\x72\x29\x63\xAC\x58\x56\x61\x71\x25\x7F\xB3\x6A\x5F\x0C\x01\x00\x7B\x3E\xA1\x72\xE5\x91\x1E\x77\xBC\x62\x85\xEA\x5D\x2C\x01\xC0\x4F\x71\xA6\x72\x2D\x03\x53\xAA\x5F\x36\x94\x47\x9E\x8C\x59\x60\x39\x94\x26\x76\xC6\x67\x62\x38\x95\x00\x7C\x02\x2A\x5F\x59\x01\x00\x7B\x04\x2A\x5F\x8E\x00\x1E\x9D\x44\xA5\x91\x5E\x90\x1C\x90\x4E\x80\x00\x38\x8B\x20\x9B\x47\x86\x92\x79\x92\x80\x87\x37\xA6\x93\x4C\x93\x0E\x97\x48\x8A\x8E\x04\x96\x40\x0A\x4A\xBA\x92\x4E\x94\x55\x9B\x54\xA2\x95\x5A\x94\x1F\x8C\x4A\xA0\x95\x5B\x97\xFF\x85\x37\x80\x90\x03\x05\x44\x95\x56\xA3\x95\x91\x92\x1E\x90\x49\xB2\x95\x8E\x90\x53\x91\x3E\xB7\x88\x4A\x97\x5B\x9A\x57\x99\x95\x7C\x94\x08\x93\x10\x34\x92\x55\x94\x57\x96\x45\x85\x8C\x0D\x05\x3F\x90\x57\xB4\x95\x4D\x95", + "\x5A\x96\x2A\x81\x04\x80\x97\x61\x9E\x34\xAA\x95\x8B\x8F\xEC\x88\x55\x8F\x92\x75\x94\x59\x9D\x57\xB6\x95\xC4\x73\x2D\x98\x56\x81\x96\x90\x97\xFB\x86\x1D\x91\x04\xB9\x93\x40\x93\x58\x8F\x96\xDC\x8A\x55\x92\x3D\xB9\x95\x97\x96\x65\x94\x59\x89\x96\xAF\x91\x44\x0E\x4B\x9B\x96\x8E\x96\x60\x94\x48\xA4\x81\xE2\x8C\x6A\x9B\x5A\xA1\x95\x71\x94\x45\x8B\x52\x92\x95\x73\x94\x69\x9B\x56\x90\x8D\xAF\x8A\x6D\x98\x59\x9C\x96\xA5\x94\x68\x86\x30\xB9\x8A\xC2\x96\x6A\x93\x5C\xB1\x96\x76\x8F\x0D\x90\x30\xB9\x90\x8A\x97\x6F\x9D\x3F\x8B\x96\x00\x00\x32\x9A\x5C\x97\x97\xB9\x96\x6C\x9B\x18\x80\x00\xCB\x90\x6C\x9B\x57\xB7\x96\xD1\x97\x74\x95\x34\x8D\x04\xCE\x90\x73\x95\x5C\x9D\x96\x04\x92\x8E\x79\x5C\x99\x97\xE8\x94\x17\x9A\xE4\x6B\x97\x88\x94\x6E\x94\x58\xBF\x90\x6C\x86\x16\x9E\x5B\xA2\x97\xF8\x95\x57\x98\x4D\x80\x91\xA2\x97\x6C\x97\x5F\x9E\x96\x6C\x94\x5D\x85\x5F\x93\x96\xCB\x97\x77\x95\x60\xA9\x96\x92\x90\x7D\x90\x43\xB6\x97\xDA\x95\x6F\x9D\x60\x88\x8F\x09\x05\x4B\x9D\x5F\x93\x95\xEC\x97\x79\x91\x33\x98\x91\xF0\x97\x7F\x93\x5A\xB0", + "\x8F\x0D\x06\x3A\x90\x50\xA1\x8C\xD0\x94\x71\x92\x5D\x80\x98\xC0\x95\x40\x0F\x4E\x9F\x98\xE5\x85\x86\x9F\x60\xAC\x96\xE6\x95\x89\x90\x00\x33\x93\x28\x9B\x31\x77\x4F\x88\x98\xF1\x95\x78\x9A\x37\xA7\x82\x3E\x8E\x61\x96\x60\x98\x97\x35\x9A\x88\x9E\x2D\x89\x04\xFF\x90\xAD\x01\x50\xAA\x98\xED\x94\x85\x9D\x63\xAE\x72\x94\x92\x3E\x96\x49\x83\x04\x07\x96\x4B\x94\x8F\x6C\x6F\x44\x62\x37\x6E\x56\xBD\x6C\x8D\x71\x46\x9E\x8D\x5B\x94\x3E\x96\xAB\x66\x65\xA5\x67\x58\x98\x24\x79\xC4\x43\x04\x1E\x95\x06\x60\x52\xBA\x94\x0D\x06\x48\x96\xCA\x64\x94\x6E\x70\xF8\x6D\x10\x14\x73\xA6\x61\x4A\x94\x66\x89\x04\xBB\x97\xB0\x62\x61\xA5\x94\x6A\x9A\xF3\x71\x53\xB7\x94\x3C\x94\x9E\x9E\x8D\x7D\x94\x5E\x9A\x1A\x73\x10\x34\x94\x2F\x70\x9F\x9E\x64\x9D\x71\x7F\x99\x50\x9F\x66\x83\x04\x43\x95\x06\x65\x54\x87\x9A\x02\x07\x51\x99\x81\x49\x95\x21\x99\x8B\x99\x5F\xA9\x97\x57\x96\x77\x94\x63\x9A\x98\xFE\x97\x5C\x8C\xF0\x44\x99\x16\x9B\x88\x94\x69\xA0\x7C\x9C\x9A\xA7\x99\x69\x8D\x97\x2D\x7D\xA8\x93\x69\xA3\x9A\x17\x98\x3E\x8C\x60\x85\x99\x0E\x98\xAB", + "\x95\x59\x95\x98\xA2\x9B\x54\x9E\x37\x93\x98\xAD\x99\xA7\x97\x6A\xBC\x8C\xBB\x8F\xAA\x96\x6B\xA4\x98\xB7\x99\x14\x9C\x4F\xA6\x9A\xBC\x99\xB0\x9F\x69\xB9\x9A\x04\x98\x8F\x98\x69\x86\x99\x6F\x82\x64\x96\x69\xA0\x97\x3E\x9A\xB0\x9E\x5E\x82\x8F\xBA\x99\xAC\x95\x6B\x92\x9B\x0E\x8D\x40\x01\x5A\xBC\x96\xAF\x9B\x91\x9B\x63\x85\x92\x14\x89\xB4\x9D\x6B\x99\x9B\xC7\x9A\xAF\x90\x00\x2F\x96\xB4\x98\xB8\x9B\x62\xB2\x97\xC9\x99\x43\x00\x4C\x8B\x9B\x07\x98\xB3\x92\x69\xB7\x98\x11\x05\x9C\x9D\x6C\x9B\x98\xAE\x9A\x0B\x96\x67\x91\x9A\xDB\x9A\xB6\x97\x69\x9A\x9A\xFA\x8C\x7F\x98\x6D\xAC\x98\xF9\x99\xB8\x95\x59\xA1\x86\x03\x98\xBB\x96\x6C\xA7\x9B\x36\x98\x04\x9D\x17\x9E\x9B\xCE\x98\xB2\x98\x70\xBC\x81\xDD\x95\xB9\x90\x70\xBB\x9B\xF5\x98\xBA\x9C\x6F\xA5\x97\x01\x9F\xC3\x9F\x6E\x83\x9B\xD5\x61\xC2\x98\x6A\x94\x9B\x13\x9F\x09\x90\x6C\xB4\x9B\xBB\x98\xC7\x92\x60\x8B\x98\xC5\x98\xAC\x9F\x6D\xA1\x9C\xE3\x92\x82\x98\x43\x8C\x9C\x24\x9C\xC8\x96\x71\xA3\x89\xFB\x95\xC1\x92\x71\xB3\x9C\x25\x9F\xC7\x90\x2C\x8E\x97\x07\x8C\xBE\x94\x71\xB9\x9C", + "\x0E\x9F\x67\x94\x4E\xA3\x9C\x3A\x9D\xC3\x93\x6D\xBF\x98\x03\x04\x3A\x96\x70\xAA\x9C\x46\x9E\xB9\x94\x73\xBD\x81\x60\x90\xD1\x91\x74\x80\x9D\x6E\x90\xCA\x8D\x21\x8E\x82\x52\x9F\xD1\x9D\x74\xAC\x9C\x67\x8F\x40\x00\x63\x82\x99\xA6\x73\x8C\x9E\x6E\x99\x9C\x15\x9E\xC7\x9B\x5D\xB9\x93\x31\x99\x3D\x9A\x63\xBF\x9C\x32\x9E\xD9\x95\x75\x86\x8D\x3E\x8E\x40\x9F\x6F\xB8\x9C\x6D\x9F\xBC\x9F\x6C\x93\x92\x06\x95\xD6\x9E\x74\x94\x9D\x10\x9B\x40\x01\x55\xAE\x9D\x7B\x9D\xDD\x9D\x37\x95\x9A\x37\x9C\xE0\x9C\x75\x8C\x9D\x0A\x9F\x40\x0F\x55\x85\x9E\x76\x9F\xD4\x92\x78\xB6\x90\xA5\x9A\xCF\x93\x76\xAC\x9D\x2B\x9F\x5D\x99\x10\x13\x99\x93\x9D\xE6\x9D\x6E\x9B\x9E\x07\x9D\xD9\x9D\x78\x9A\x9D\x26\x9F\xA6\x92\x79\x9C\x9E\x88\x9D\xD1\x98\xF9\x64\x89\x7A\x9F\xE1\x9A\x6F\x9A\x9E\x5D\x9D\x20\x99\x7A\xB4\x9D\x95\x9F\x06\x90\x4B\xB0\x9C\xA6\x9D\xED\x9E\x78\x88\x9D\xA8\x9F\xE8\x9D\x79\xBC\x9D\xAA\x9C\x45\x8A\x59\x8C\x9E\x1B\x9E\xED\x90\x7A\x83\x83\xA0\x97\xEB\x96\x78\xB0\x9E\x5B\x9D\x08\x89\xF9\x46\x9F\x9F\x9D\xE0\x91\x59\x8D\x04\xE4\x9B\xDC\x97", + "\x7C\x93\x9F\xCD\x9E\xBD\x90\x2A\xB4\x9E\xB7\x9D\xF2\x92\x7B\xB1\x9B\xCC\x9D\xF0\x99\x7D\x89\x9E\xC1\x96\xEE\x95\x7A\x9F\x9F\x77\x9E\xCB\x9F\x5C\x98\x9F\xC3\x9C\xF9\x9A\x7E\xA2\x9B\xDF\x91\xEB\x91\x4E\x9D\x9F\x64\x9C\xEF\x91\x56\xB8\x7F\xF0\x9C\xE5\x9A\x7D\x84\x91\xE5\x41\xC4\x92\x7D\x95\x9F\xC8\x9D\xCC\x9F\x7C\xB5\x64\xF5\x9C\xEB\x93\x7E\xAF\x9D\xDF\x8A\xF7\x99\x7E\x87\xA0\x03\x9D\x34\x99\x72\xAB\x9E\xA4\x9C\x03\xAE\x7E\xBD\x9B\x36\x9F\xFE\x96\x80\x8E\x9F\xF7\x9F\xE0\x9C\x73\x88\x97\xE2\x9E\x03\xA3\x80\xBD\x9D\x27\x9F\xCB\x9B\x80\x82\x9C\xBD\x9E\xC6\x95\x4C\xBE\x9B\xD4\x9F\x04\xA1\x82\x9E\x9E\xAE\x73\x9C\x95\x82\xB1\x9F\x8F\x9E\xFD\x97\x7A\x89\x0D\x01\xA1\x03\xA0\x82\xB3\x9F\xA6\x79\xD4\x99\x81\xB3\xA0\x2B\xA1\x6A\x96\x75\x93\x8D\xA6\x60\x1B\x90\x7C\xAC\xA0\xB1\x9C\xFF\x9E\x43\x9E\x9D\x3E\x8E\xD8\x92\x83\xA2\xA0\x2E\xA1\xF9\x93\x10\x28\x9D\x60\x9F\x0B\x7B\x76\x82\xA0\x1A\xA1\x14\xA8\x48\xB1\x9D\x31\xA3\xEE\x9D\x82\x90\xA1\x14\x85\x92\x99\x76\xBB\x93\x00\x01\x93\x94\xC9\x78\x6A\x50\x98\x14\x69\x81\x58\x9E\xAC", + "\x6A\xF4\x61\x10\x1B\x99\xFF\x6D\x97\x93\x68\x91\x72\x14\x96\x45\x91\xC0\x61\x99\xDE\x63\x98\x99\x65\x9F\x69\x66\x9B\x0B\x78\x66\x87\x72\x0D\x96\x62\x58\x52\xAA\x94\xEA\x5E\x0A\xA8\x87\xBC\x70\x30\x95\x06\x62\x53\x8C\x9A\x01\x04\xA0\x97\xCC\x42\x9A\x5F\xA2\x1E\x79\x10\x06\xA2\xF5\x90\x22\xA4\x67\x8A\xA2\x85\x99\x9E\x94\x88\x80\x95\x92\xA3\x1C\xA0\xAC\x49\x9A\xDE\x63\xA2\x96\x89\x9C\x6F\x8E\x9A\x37\x60\x69\xA8\x9F\x14\xA2\xFF\x90\x6F\xB8\x95\x37\xA0\x12\xA8\x85\x86\x97\xA4\xA0\x28\xA7\x82\xB2\x9F\x39\xA0\x06\x9B\x78\x92\xA0\x40\xA1\x05\xA1\x8B\xA0\x9F\x01\x07\x59\x9F\x83\x89\xA1\xEB\x9D\x28\xA4\x7C\xAA\x9A\x1F\xA2\x29\xA7\x84\xA8\xA0\xB3\xA2\xF0\x9A\x8B\xB2\x9A\x84\x9C\x2C\xA8\x8B\x88\xA0\xAB\xA3\x78\x94\x6C\x8B\x9D\x52\xA2\x2F\xA7\x5D\xAC\x8E\xAA\xA1\xFF\x92\x8C\x89\xA3\xB8\x9C\x63\x95\x85\x9B\xA0\xD4\xA3\xEA\x8A\x6C\xB7\xA2\xA7\xA0\x30\xA7\x8C\x9C\xA0\x01\x07\xEF\x96\x8C\x9D\xA3\xAC\xA2\x10\xAD\x5A\x89\x8F\xD7\xA1\x33\xAE\x8D\xBE\x95\x02\x04\x2F\x9C\x8D\xBF\xA2\xE5\xA2\x09\xA6\x79\x8A\x85\xA5\xA3\x3A\xA0\x8F", + "\xA2\x8A\xE5\x43\xBA\x9F\x8E\x96\xA1\x41\xA2\x3C\xA1\xFC\x69\xA3\x38\xA2\x39\xAE\xCA\x72\x8F\xFB\xA0\x36\xA2\x8D\xB9\xA2\xB7\x89\x36\x9E\x8F\x82\xA4\xC1\xA0\x31\xA7\x81\xB7\x8B\x00\xA6\x33\xA6\x90\x87\x93\x11\xA6\x3D\xAC\x8F\x9A\xA3\x11\x91\x34\xAD\x8A\xB7\xA3\xFD\xA0\xE4\x9E\x94\x55\xA4\xF1\xA1\x43\xA5\x0D\x92\x86\x1B\xA7\x45\xA2\x8A\xA1\x9E\x7C\x10\x48\xA7\x85\x9C\xA4\x18\xA6\xF9\x9D\x73\x9A\xA4\x0C\xA7\x37\xA9\x8D\xAF\xA0\x10\xA0\xCA\x9C\x8C\x81\xA4\x0B\xA5\x4E\xA3\x82\x91\xA0\x25\xA7\x44\xA1\x93\xAC\xA3\x35\x9E\x4D\xA5\x90\xAA\xA3\x21\xA6\x4C\xAA\x7C\x92\x91\xF5\xA1\x51\xA4\x8E\xAB\xA4\x0F\xA2\xD2\x93\x94\xB8\xA4\x22\xA7\x30\xA2\x6E\x9E\x98\x4D\xA3\x31\x7D\x4E\x8F\xA5\x12\xA4\x51\xAA\x8C\x8A\x82\x3E\x8E\x0F\xA3\x8E\xAC\xA4\x27\xA7\x34\xA3\x8F\xAE\x87\x45\xA2\x4A\xAD\x91\x86\xA5\x43\xA2\x40\x0C\x84\xA3\x08\xC3\x6B\x13\xA0\x96\xA2\xA5\x3D\xA4\x6D\x9A\xEE\x54\xA1\x49\xA4\x53\xAE\x93\xA3\x95\x10\x88\x0F\xA2\x21\xB5\xA5\x67\xA7\x52\xAB\x73\xA0\x73\x66\xA6\x2C\xA8\x96\xBC\x81\x7F\x9F\x4F\xAF\x96\x88\xA4\x34\xA0", + "\xA8\x9C\x97\x82\xA6\x7E\xA7\x28\xA1\x79\xB0\xA4\x3A\xA7\x60\xA1\x99\x98\x90\x64\xA2\x49\xA0\x97\x86\xA6\x96\xA4\x62\xA1\x97\x90\xA5\xD7\x90\x54\x91\x98\xA1\xA5\x9A\xA7\x39\xAB\x8C\x98\xA5\x16\xA7\x5D\xAB\x63\x90\xA3\xBD\xA1\x69\xAA\x95\xBF\xA5\x7F\x97\x67\xA7\x99\x93\xA6\x2D\x9D\x6B\xAB\x98\xA0\xA6\xC8\xA1\x62\xAF\x12\xAE\xA6\xA1\xA4\x6C\xA4\x15\x98\x76\xB8\xA5\x6D\xAB\x99\xA8\xA2\x09\x06\x3B\xAF\x95\x99\xA6\xBE\xA4\x66\xAD\x2C\xB4\xA3\x90\xA5\x54\xA3\x93\xAF\xA6\xF9\x8E\x3E\xA3\x9C\xA6\xA6\x92\xA7\x69\xAC\x7D\xB3\xA6\xCC\xA5\x74\xA7\x46\xB7\x9B\xC9\xA6\x75\xAD\x98\xB4\xA6\xD5\x99\x4D\xAE\x81\xB7\xA4\x59\xA4\x67\xAC\x7A\x84\x9C\x42\xA7\x73\xAB\x9A\x8C\xA6\x9C\x9C\xFD\x94\x9D\xB9\xA6\xCA\xA6\x6D\xA3\x10\x3A\x9F\xBF\xA6\x6A\xA2\x9E\xB1\xA6\x5B\x67\x7A\xA5\x9C\xBA\xA6\x09\x99\xC7\x96\x9C\xA7\xA7\xDC\xA5\x6F\x88\x42\xAD\xA7\xF1\xA6\x52\xA4\x9F\x81\xA5\xDF\xA4\x69\xA2\xA0\x84\xA7\x52\xA5\x77\xAD\x7E\xA5\x43\xE2\x90\x82\xAB\x9C\xAC\xA7\x3A\xA3\x71\x90\x91\xB6\xA7\x09\xAB\x83\xA4\x80\xAE\xA4\x18\xA1\x76\xAB\x9D\x95", + "\xA7\x1B\xA8\xAE\x93\x6A\x7D\xA6\x15\xAB\x41\xA7\xA1\x89\x9D\x20\xAA\x85\xA1\xA2\xA9\xA5\x01\x04\x55\xAC\x96\xA0\x98\x1A\xAB\x61\xA7\x9F\x80\xA8\x7C\x83\x89\x95\x95\xB5\x93\x5E\xA5\x80\xA6\x97\x8E\xA0\x32\x8D\x59\xA4\xA1\xA6\xA8\x3C\xAA\x7B\xAA\x96\xB9\x98\x25\xAA\x88\xA7\xA2\xA2\xA6\xB7\x80\x5D\xAD\xA2\x8E\xA8\x42\xA9\x8F\xA8\xA2\x80\x00\x5A\xA3\x8C\xAC\x85\x9E\xA1\x8F\xA3\xFA\x66\x86\x80\x00\x0F\x97\xFF\x65\x99\xA1\xA1\x09\x04\x1A\xA1\xCA\x6A\xA1\x89\xA3\x4B\x99\xA5\xAE\xA1\x93\xA0\x1C\xA5\x9E\x72\xA1\x7D\x98\x0D\x75\x87\x87\x73\x77\xA2\x44\x99\x87\x82\x04\x6C\x99\x44\x0E\x66\x9B\xA2\xB5\x6E\xBC\x9F\xC2\x7E\xA1\x6A\xA8\x20\xA8\x9D\xA5\x67\x83\xA0\x9C\xA8\x79\x4C\xA2\x5C\xA2\x23\xA9\x66\x90\xA2\x02\x04\x9F\xAB\x64\x82\x04\x7E\xAB\x1F\xA2\xC6\x64\x63\x95\xA1\x99\xA9\xC5\x42\xAA\x09\x97\x40\x05\xA8\xB5\xA9\x87\xA9\x42\x08\x89\xA5\x67\x9A\xA2\xA2\xAF\x53\x9D\xA2\xE5\x67\x27\xAC\xC4\x7E\x69\xF5\x90\x41\xA1\xA5\xB4\x63\x33\x0C\xA7\xAC\x85\x9E\xAA\x7F\xAA\x97\xA3\x10\x15\xA9\xA1\x71\x65\xA1\xAA\xAA\x5F\xA4\xAA\xA1", + "\xA6\x52\x8D\x04\x5A\xA9\xDA\x61\x10\x1C\xA9\x8F\x6C\x93\x69\x81\x6D\xAA\x90\xAB\xAB\xAF\xA5\x9A\x94\x7D\x68\xAB\xAF\x86\x9F\x94\xBD\xAB\xAD\xA1\x52\xAA\x5F\x69\xAB\x42\x0B\xAA\x82\xAB\x93\xA1\x9B\xAD\x10\x2F\xA9\x9B\xAA\xAF\xA3\x89\xB2\xA9\xC7\x70\x9D\xA6\xAC\x91\x69\xCE\xAA\x9E\xA1\x3F\xB7\x99\x76\x6A\x37\x68\xAB\x9E\x72\x76\xA9\x24\xAB\x67\x81\xAB\xDA\xAA\x9E\x95\x9E\x4F\xAA\xD3\xAA\x99\x61\xAE\x93\xA2\x8C\xAA\x29\x64\xAE\x8C\x6C\xD4\xA8\xB2\xA6\xAD\x88\xAA\xDF\xA9\xB6\xA5\x9E\x5B\xAB\x54\x9B\x44\x92\x10\x13\xAA\xFF\x6D\xA5\xA4\xC2\x59\x43\xD5\xAA\xA5\xAE\xAA\x58\xAA\xFF\x6E\xA6\xAA\x9C\x4B\x83\x57\x9D\x33\x89\x85\x44\xAC\x7A\xA5\x43\x0E\x0C\xBB\xA8\x49\xA9\xC3\xAB\xA4\x85\xA6\xF8\xA4\x7F\xAA\x84\x82\x04\x10\xAC\x8C\xA1\xB1\xB3\xA7\xBB\xA4\x90\x87\xA4\x90\xA7\x1D\xAB\x88\xA2\x10\x36\xA2\xE6\xA4\xC6\xAC\xB1\xA9\xA7\x11\x05\x65\xA3\xB2\x88\xA9\x36\xA9\x5F\xAE\xA2\x83\xA9\x78\xA5\x31\xA9\xB2\xA8\xA7\x28\xAC\x91\xA9\x7B\x9B\xAC\x12\xAC\x84\xA0\x94\xBF\x8C\x0C\xAF\xCB\xAD\x9F\xA3\xA5\xD6\xA1\xCE\xAB\x9F\xA2\xAC", + "\xED\x85\xCF\xA4\xB3\x80\xAD\x44\xAC\xBF\x92\x8E\xBA\xAC\x1C\xAB\xCA\xA6\x7D\x82\x04\xD7\x98\xD2\xA6\xB3\x8A\xAD\x3E\xA9\x40\x02\x9C\x8E\xAD\x2F\xAA\x76\xA3\xA0\xA3\x9B\x41\xA8\xD5\xAC\xB2\x8D\xA7\x59\xAF\xCF\xAC\x61\xB0\x99\x5D\xAF\xC5\xAF\xB5\x83\x04\xF4\xA9\xC7\xAB\xB5\x96\xAD\xCF\xA2\x84\xA9\x44\xA1\xAD\x16\xAD\xDB\xA7\x9D\xAA\x86\x24\xA2\xD7\xA2\x9F\x8E\xA3\xEA\xA7\xD0\xA1\x9E\xB7\xAD\x4F\x9C\x7C\xA2\xB7\x87\xA8\x27\xAF\x71\xA5\x9F\xB6\xAD\x73\xAD\xE0\xA4\x5D\x9E\x06\x7D\xAD\xCD\xAE\xB1\x81\x04\xFF\xA4\xDA\xA5\xB8\x98\xAC\xE4\xA5\x81\xA1\xB2\xB8\xAD\x7C\xAE\x5C\xA8\xA1\x93\xA8\x80\xAD\xE4\xA5\xB4\x8F\x9D\x0B\xA9\x44\x0D\xA0\x8B\xAE\x90\xAC\x3E\xAA\xB6\x83\x93\x6C\xAE\xE2\xA6\xB8\x9D\xA7\xD2\xAA\xE8\xA7\xB9\x96\xAE\xFC\x9A\x53\xAF\xB8\x82\xAE\x37\xA9\xBA\x99\x10\x2A\xA8\xF6\x07\xB0\x67\x95\xAB\xAE\xA8\xAC\xEB\xAC\x9A\x82\x04\x32\xAB\x8A\xA9\x62\xBE\xAC\x62\xAE\xED\xAA\x5F\xAF\x98\x3A\xA9\xE5\xAD\xBA\x9D\xAE\xD5\xA0\x00\x0B\x96\xB1\xAE\xA6\x72\x5B\xA1\xB3\xBD\xAE\xB5\xAC\x75\x91\x64\xBA\xAE\xC7\x72\xDC\x9A", + "\xB5\x8A\xA9\x7B\xAF\x56\xA2\x10\x0D\xA9\xD0\xAD\x3D\x90\xA5\xA5\xAA\x4F\x9B\x94\xA8\xAA\xB2\xAA\x00\x03\x95\xA3\xA5\xB1\xAA\xC3\x68\xAD\xAC\xBD\x84\x9A\x02\x04\xF9\xA6\xCA\x66\xAF\xAE\xA9\x9D\x90\x66\x80\xAB\x93\xA3\x99\xA5\x4F\x85\xAB\xF5\xAB\x9A\xA1\x10\x0A\xAB\x09\x04\xB3\xAB\x86\x9F\x99\xA7\x89\x1F\xA1\xC0\x65\xAD\x83\xA9\x40\x09\xA7\xBE\xAB\x5F\x69\xBA\xA1\x11\x2B\xAB\x8C\x72\xBD\xA5\x88\x86\x9A\xEF\xAB\x22\xAC\xC0\x84\xB0\xC0\x6A\x01\xBD\x10\x08\xB0\x65\xA1\x23\x78\xAF\xA1\x72\xFA\xA9\x97\xAD\xBF\x49\x04\x00\xAD\x28\x72\xB0\x86\x6B\x53\x87\x03\x7D\x99\xA6\x8D\x22\xB0\x06\x94\xC2\x9A\x8D\x4F\x97\x09\xB6\xCB\x63\xB0\x17\x71\xD9\x89\x85\x7E\x72\x4F\x95\x30\x7B\xCB\x46\xA1\x0F\xA0\xB8\x6B\x85\x81\xB0\xC8\x70\x2A\x74\x3B\xA5\xB0\x29\xB1\x0B\xBD\x35\xBE\xB0\xF9\x8E\x0A\xB8\x36\xAC\xB0\xD5\x6B\xDA\x85\x99\x70\xB0\x0F\xA2\x0C\xB4\xCC\x74\xB0\xE5\x42\x0D\xBE\xA4\xB8\xB0\x71\x8F\xF4\xAE\xB0\x98\xA6\xB3\x98\xED\xA3\xBC\xBE\xAE\x34\xA5\xC5\xA6\xBA\x84\xAF\x30\xAD\xE1\x81\xBA\xA6\xAD\xD4\xAE\x05\xAF\x98\xA9\xA6\xCD", + "\xAF\x15\xB1\x60\x81\x04\x26\xAF\xE8\xA1\xC6\xAE\xAD\x60\xB3\x14\xBC\xBC\x96\xAF\xA2\x9E\xF0\xAA\xB2\x8B\xAF\xD2\xA6\x9C\x82\xC7\xB0\xAC\x9C\xAF\xD3\x9A\xBC\xB9\xB1\x65\xB3\xFF\x92\x9B\xB7\xB1\x3B\xAE\x14\xBB\xA4\x8D\x96\x6C\xB0\xD4\xA2\xC8\xB2\xAC\xE1\xA3\x17\xB6\xC8\x95\xAF\xC5\xAD\xD3\xAC\xC8\xB8\xB1\x6A\xB3\x51\xA2\xB5\x8A\xB2\x74\xB3\x16\xBF\x74\x91\x9F\x87\xB3\x1B\xB3\xC7\xB9\xA3\x94\xB0\x1F\xB0\xC7\x80\x00\xD0\xAA\x25\xBD\xC7\x8E\xA6\x64\xAD\x27\xB1\xC9\x9B\x9F\x0F\xA7\xDA\xAC\xBB\x85\xB2\x95\xB3\x78\xAF\xB9\x9D\xA6\x9B\xAF\x29\xBF\xC8\xA8\xA4\xD6\x96\x27\xB3\xC7\x9C\x9B\x11\x06\xDE\xAA\xC9\x90\xB2\xA7\xAE\x8B\x98\x71\xA2\xB2\x66\xB0\x53\xAA\x5E\xAB\xB2\xC0\xB3\x2D\xB1\xB4\xA9\xA4\xC4\xB1\x1B\xB9\xC9\x9E\xA4\x1D\xA3\xF9\x94\xC6\x81\xB3\xC6\xB2\xEB\xA0\xB7\xBC\xA4\xB3\xB1\xD2\xAD\xCA\x97\xAD\x99\xAD\x43\x01\xCB\xBD\xB2\xD1\xB3\xD8\xAD\xCC\xAF\xA4\xCF\xB1\x37\xB8\xC5\x93\xAC\x01\x05\xE9\xAA\xCC\x95\xB3\x4F\xAD\xDA\xAD\x10\x2A\xAE\xCB\xB1\x31\xBD\xC5\xB5\xA0\x05\xAE\x40\x03\xBB\xAD\xB3\xE7\xB3\x2E\xB4\x93", + "\xB9\xAE\xC8\xAF\xEE\xA0\xC8\x96\xB3\xB6\xB3\xEF\xAF\x75\x99\xAF\x5C\xA0\x0D\xBD\xCF\x81\xB2\x54\xB1\x1F\x90\xA4\x89\xB3\x8B\xB2\x3D\xBB\x8B\x80\x99\x46\xA9\x38\xBC\xCB\x9C\xB1\x28\xA4\xF6\xA9\xCF\x87\x73\xDB\xAC\x3A\xB5\xB5\xB5\xB3\xF9\x8E\x16\xB8\xD1\xAE\xB3\x04\xB6\xE7\x88\xD0\x97\xB3\x20\xB5\x7E\xAE\x55\xA6\xB2\xDC\xB0\x29\xBF\xB1\xA4\xB4\x10\xB4\x39\xB1\xBE\xA8\xB4\xE3\xB1\x3A\xB3\xD0\xBC\xB3\x92\xAE\xDF\x9C\xD2\xA3\xB2\x28\xA4\x21\xBC\xD1\xB0\xB4\x8C\xAF\x2A\x83\xD3\x90\xB3\x26\xB6\xD0\xAE\xD0\x9D\xB4\xAC\xB0\x2E\xB6\xC7\xBF\xB4\x38\xB5\x4A\xBE\xA1\x82\x04\x47\xAE\x45\xB7\xB6\x9B\xB4\x37\xAE\x23\xBA\xD0\xAE\xB4\xB2\xB2\x2B\x73\xB5\x8A\xB5\x6B\xB3\x4D\xBB\x5D\x98\xB2\x54\xB6\x1B\xB1\xD4\x87\xB3\xCE\xA4\x3D\xB9\xD0\xAC\xB2\xE5\x41\x28\xBC\xD4\x9F\xB5\x56\xB6\xB8\x90\xC0\xA1\xB4\x51\xB4\x58\xBF\xCA\x9C\x93\x3B\xB6\x38\xB9\x6A\x93\xAE\xAA\xB3\x3E\xB0\xD5\xA5\xB4\x34\xA5\x2D\xB9\xD6\xA5\xB5\x09\xA1\x46\xA4\xD4\xB3\xB5\x46\xB7\xE1\xA9\x41\xAD\xB5\x0F\xB4\xA9\x9A\x9F\x8F\xB5\x17\xB4\x59\xB7\xB3\x89\xAE\x63\xB4", + "\x5A\xB4\xD7\xB4\x8B\xDE\xA6\x33\xB0\x9E\xAD\xB4\x85\xB6\x3A\xB0\xD7\xA0\xAE\x1F\xB7\x4B\xB9\xCE\x8D\xAE\x8E\xB6\x81\xAC\xD3\x80\xB5\x11\xA9\x2A\xB4\xD9\xB2\xB5\x91\xB6\x65\xB3\x92\x83\x9D\x95\xB7\x5D\xB9\xD8\xBE\xAD\x30\xA1\x69\xBB\xD8\x97\xB6\xF0\xB1\xC2\xAA\xEA\x40\xB6\x9C\xB5\x62\xBB\x83\x88\x94\x3D\xA0\x6C\xB5\xD4\x82\xB6\x64\xA5\x3C\xB7\x47\xAA\xB6\x7D\xB7\x52\xBF\x54\x87\xAF\xF8\x05\x5B\xA6\xDB\xBC\xB5\xB8\xB5\x40\x0F\xBC\x93\xB4\xF5\x92\xF4\xA9\xD5\x9E\xB5\x8A\xB4\xBF\x92\xD1\x81\xB7\xA6\x71\x45\xB9\xAB\xA0\xA1\xDE\xAE\xFA\x52\xBE\x95\x99\x60\xA9\x03\xBD\x86\xBC\xAA\x61\xA8\xFC\xAA\xDD\x82\x04\xF2\xAC\x17\xA4\xBF\x89\xB0\xF6\xAC\x00\x08\xBF\xA1\x2D\x7C\xA1\x06\x66\xCE\x95\xB0\x0A\xB0\x00\x07\xD6\xA6\x62\x03\xB3\xFE\xAE\x67\x81\xAA\x0F\xB2\x7C\xB4\xC3\x52\xB0\x09\x04\x05\xBA\xB0\x53\xA9\xF8\xB6\xA3\xA2\xAE\xBF\x6F\xFA\xB4\x96\xA8\x68\x84\x95\x46\x94\x52\x91\xC2\x9A\x92\x47\xA9\x39\x4A\xBF\x9A\xB6\xC5\xAF\x82\xB6\xC5\x85\xAF\x12\x01\x72\x95\x0E\x51\xB8\xBA\x9C\x83\xA2\xE1\x9A\xAE\x17\xB9\x43\x04\xA6\x8F", + "\xB6\xD4\x94\xF4\x65\xE1\xAE\xA9\x19\xB9\x42\x0A\x01\x21\xB8\x03\x07\x88\xBF\xE1\x8D\x04\x57\x00\x89\xB2\x10\x12\xB7\x75\xB2\x30\x47\xE2\x83\x59\x2A\xBB\xFB\x9F\xE2\x83\x04\xDB\xB0\x70\xA6\xAB\x89\xB8\x18\xBB\x8C\xB5\x4D\xB1\xB8\xE4\x40\x8F\xB6\xB9\x78\x9F\xDA\x5F\x81\xB5\x58\x7B\xB5\xE2\x9A\x83\xB8\xCA\xB9\xAF\x3C\xB8\x85\xB8\xE3\x8D\x04\x4A\xB8\x91\xBD\x9D\xB5\xB8\x42\x9D\x42\x00\xE5\xA7\xB1\x00\x03\x86\xBC\xE0\xBF\xAE\x1E\xBB\x92\xB8\xE4\xBA\xB8\x01\x06\x89\xBA\xE5\xA5\xB8\x3C\xB9\x8A\xBC\xE5\x9D\xA1\x3C\xBA\xA8\xA4\xB2\xAB\x13\x3C\xBB\x94\xBF\xC9\xAA\xB9\xB7\xAC\xBF\xA3\xE6\xAC\xB9\x2D\xA4\x8D\xB5\xE6\xBE\xB8\x3C\xBB\x00\x60\xC1\xAC\xB7\xE5\xB7\xF7\xA3\xAC\x57\xB7\xED\xB6\xFA\xAF\xC2\x6C\xAF\xD3\xB4\xA0\xA7\x86\x99\xB7\x77\xB9\xED\x62\xA6\xBF\x6F\x56\xBB\xA7\xA8\xBE\x81\x04\xE1\xB4\x0E\xB3\xDE\xB8\xB9\xDD\xA8\x9B\xAB\x87\x8F\xAB\xFE\xAF\x24\xAF\xDE\x91\x04\xF1\xB6\x06\xBB\xE8\x94\xA2\xF1\xAB\x77\xBB\xC0\x89\xAA\xF6\xB7\xA2\xA5\xDF\x9A\xBA\x6C\xA0\x7D\xB0\xEA\xA4\xBA\xFC\xAD\x40\x07\xC1\xA0\xAF\x19\xB2\xA2", + "\xB5\xEA\x81\x04\x1D\xB0\xF8\xAF\xC1\xB5\xAA\xCC\x63\xB0\x67\xD6\xB4\x6E\x6D\x6F\xB9\xAE\xE9\x94\xA9\xD6\xB4\x29\x9F\xBF\x77\xBA\xE3\xAC\xA1\xBB\xAF\xA4\x62\xB6\xB8\x46\x92\xEC\xB7\x70\x83\xB7\x31\x70\xEC\x8D\x72\x87\xB9\x28\x79\xE8\xAC\x6C\x05\xA2\xB2\xB3\xAC\x99\x60\x8F\xBA\x0A\x71\xED\x9D\xAA\x01\x73\x79\xB6\x34\x3E\xBA\xA1\x73\xB2\xBD\xDE\xA2\xB5\x38\xB3\x7A\xB6\xED\xA1\x90\xD2\xBA\xA5\xB8\xAD\xA4\x6C\x80\x6F\x9D\xA1\xEA\xBF\x94\xFD\xB4\xA1\xAC\xED\xA0\xAF\xDE\xB9\x79\xBD\xEE\x81\x04\xFA\xB5\xAE\xB3\xAF\xBF\xB7\xA1\x71\xBD\xB4\x92\xA6\x72\xF1\xB9\xA4\xBF\xE9\x9D\xBA\x4C\x71\xBA\xB5\xCA\x93\xA2\xAB\xBB\xB0\x6D\xEA\x90\xBB\xE4\xB8\xB6\xB3\x89\xB1\xBA\xC3\x6B\xAC\xBC\xDC\xA2\xB6\xE0\xA2\x67\xAC\xDB\x90\xB6\x79\xB4\x60\xA3\xF1\xB4\xB4\xD6\xB2\x17\xB7\xF1\x9B\xB6\x19\xBD\x44\x00\xB2\x8F\xBC\xA6\xB7\x99\xB7\x79\x83\xB7\xA1\xB5\xC8\xBD\xDC\x94\xBC\x4B\xAD\x1C\xBE\xE4\x95\xB5\xA7\xB7\x7C\x9F\xC7\xAB\xBC\x5A\xB4\x5E\xBC\x75\xA8\xA6\x1C\xB8\xC7\xB4\xDC\x94\xB9\x36\xB5\xCB\xBB\xDA\x91\xB6\xB3\x9C\xCC\xB0\xF2\xBB\xBC", + "\xDD\xA5\x52\xB4\xD8\xBE\xB6\x27\xBC\x75\x9E\xD4\x9B\xB5\x40\xBC\xCB\xB7\xB5\x93\xB5\x43\xBE\xD2\xB5\xF4\xAE\x98\x58\xB5\xD3\xB1\xF3\xBA\xBC\xFC\x99\x57\xBB\xDC\x97\xBD\x2D\xAD\x74\x74\xF2\x84\xBD\x22\xB5\x40\x07\xD6\x90\xBC\x4E\xBE\x50\xB3\xD9\xB0\xB2\x5B\xBD\xD8\xBE\xF2\x9F\xB3\x19\xAA\xCF\xB8\xF5\x88\xBD\x36\xBA\x40\x06\xD7\x89\xBD\x53\xBE\x61\xBF\x54\xBA\xB2\x6C\xBC\xCA\xB1\xF7\x99\xAC\xE4\x95\xD9\xB7\xF7\xA2\xBD\xC9\xBA\xCC\xBB\xF7\xB8\xA8\x0A\xA1\xCD\xBE\xD6\xB6\xBC\xA3\xB7\xD8\xBC\xD6\x9B\xBC\x83\xBF\x26\xBB\xD6\x8F\x95\x70\xB9\x6C\xB2\xF7\x8F\xBD\xC5\xAD\x36\xB2\xE5\xBA\xBD\x3F\xBD\xDB\xB4\xA0\x99\xB6\x0F\xB9\x60\xB8\xF1\x8E\xA4\x11\x98\xE5\xBB\xF6\xA8\xAD\x17\x8E\xDA\xB2\xF5\x95\xBE\x4F\x9C\xEC\xA0\xDD\xAC\x93\x9E\xBF\xE8\xB0\xE4\xA8\x91\x5D\xA5\xEA\xB5\xF7\xAF\xB5\x44\xA2\x6E\xB6\x4F\xAE\xBE\x7E\xBF\x91\xBB\x84\x87\xB4\xA0\xB4\xD7\xB6\xF2\x83\x88\x0D\xB6\xE0\xBA\xF9\x84\xBE\x15\xBD\x41\x92\xFB\xAC\xB8\xB5\xBF\xE7\xBE\xCA\xA9\xA2\xA2\xBF\xEB\xB0\xFC\xBD\x86\x1A\xB7\xE3\xB0\xF6\xB7\xBD\x1A\xBD\xEE\xB6", + "\xF6\xB0\xBD\xC4\x73\xC7\xB6\xFC\x8E\xBF\x80\xBC\x2F\xAE\xFB\x8E\xBE\x90\xBF\xEF\xB9\xF8\x9E\xBF\x71\xB8\xC5\xA4\xFB\x94\xBD\xC5\xB4\x00\x09\xF3\x98\xBF\xD4\xBD\x41\xB5\x58\xA3\xBF\xE8\xBE\x37\xBE\xD3\x9B\xBF\xB7\xB7\xE6\xB5\xF8\xAF\xBC\xF0\xBF\xCD\xBB\xFC\xBC\xAC\x00\x02\xD0\xBA\xFC\x9F\xBF\xDC\xBC\x6F\xA8\xF8\xA0\xBF\xDC\xBC\x6A\xB0\x00\x0C\xBD\xFB\xBC\x00\xCD\xF1\x90\x9F\xEC\xBD\xF7\xB8\x92\x96\xBD\xAA\xBD\x03\xCD\xE2\x83\x04\xE0\xBA\x02\xC1\xFF\x9E\xAE\x81\xA2\xF4\xBF\xF7\xA9\xBF\xAE\x72\xE4\xB2\xE7\xBF\xBF\x01\xC1\xF6\xB6\xF8\x8C\xBE\x09\xC3\xF3\xBB\xA4\xAF\xBD\xBD\xB7\xF4\xBE\xFE\x9C\x97\x21\xC2\xC9\xBD\xF5\xBF\xB5\x1C\xC3\x04\xCA\xF8\x97\xBB\xE4\xBE\xFC\xB4\xF4\xAF\x97\x2D\xC2\xFD\xBF\x02\xDF\xC0\x0F\xA1\xE3\xBE\x02\xC6\xC0\x9C\xBF\x34\xB5\x9E\xA4\xBE\x32\xC3\xCC\xBB\xF8\xB9\xC0\x29\xC0\x06\xCC\xCC\x97\xBE\xE0\xB1\xFD\xB5\xF2\x86\xC1\x9D\xB5\xE7\xB5\x03\xCB\xC1\x25\xC2\x24\xB0\x00\x2C\xB3\xD7\xBE\x04\xCC\xDA\x9D\x98\x36\xA2\x05\xC0\x04\xC2\xB3\x11\x04\x3E\xB7\xFA\xB1\x93\x4F\xC2\xEE\xB9\xD3\x98\x15\xC1", + "\xAD\xF2\xB5\xFC\x8E\xC0\x6F\xAF\x8F\xA2\xFB\xBB\xB1\x2A\xC1\x1B\xC3\x85\xB2\xBE\xCA\xB4\x1A\xC1\x03\xF7\xBF\xC4\x73\x73\xB6\x24\x03\x6B\xC4\xBC\x79\xB6\xBA\x42\xB8\x0F\x61\xAF\xB3\x89\xBE\xB9\xC7\x70\xA0\xBC\xAD\x91\xAA\xDB\xB7\x95\x9F\xAB\xA2\x99\xD3\xBA\x37\x65\xED\xBC\xC1\xF7\xAF\xA4\xBB\xEB\x91\xC0\xA6\x62\xB8\xBC\x08\xEE\xB7\xE7\xB9\xA1\xBB\xA7\xA3\xBA\xAE\xB9\xAA\xBC\xE9\xA3\xAB\xF8\xB8\xF8\xA1\xE0\xBC\xB7\x98\xC3\xF9\xAF\xEA\x80\x00\x05\xBE\x29\x77\xF0\xAD\xAF\x82\xB9\xB0\x56\xE0\x88\x83\x93\xC2\x9E\xB6\xCA\x7C\xB9\xE5\xB4\x20\xC5\x4F\x82\xC2\xF5\xAE\xBF\xBC\xC7\x07\xBB\x99\xC3\x7C\xB1\x10\x0D\xBB\xE0\xAF\xB3\xB8\x0A\xE6\xAA\xE0\xB4\xB1\xA9\xED\x8E\xC2\x96\xC3\x74\xAE\x8D\x52\xC2\x53\xAB\xA5\xBD\x10\x19\xBA\xB9\xC3\x7D\xB1\x0A\xFF\xC2\x1B\xB2\xB7\xAC\x09\xE8\xAB\xCF\xC1\xA0\xB0\x0C\xFF\xBB\xD3\xC3\xAE\xB5\x0A\xEF\x70\xA7\xC2\x35\xC1\x0D\xCD\x9A\xAB\xC0\xC9\x64\xAB\x78\xB0\xFD\xB9\x0A\x76\xC4\x6E\xAB\xC5\xC2\x18\xA2\x65\xA7\x92\xBF\xBA\xB1\xBC\xDD\xA2\xC3\xFD\xAB\xBA\xBA\x65\xB8\xC2\x08\xBE\xD1\x2A\xEB", + "\xA9\xC3\x09\x04\x2F\xC3\xAC\x7E\xC2\x45\x70\x82\xB7\xEF\xB1\xAF\xC2\xC0\xAF\x67\x0F\xF2\xC3\x5F\x6A\xB6\xB1\x10\x06\xB9\x88\x6C\x0E\x73\x10\xE8\xBA\xBA\xC0\x28\xB5\xE9\xB0\xC3\xE8\xC0\x41\xC0\xAC\x4A\xC3\x09\x04\x33\xC5\x0F\xE5\x70\xDD\xB9\x27\xC3\xAC\x7A\xBB\x43\xB9\x3B\xC4\x0D\xE7\xBA\xB4\xB8\xA6\x6E\x11\xFB\xBA\xF3\xB8\x00\x0C\x11\xCA\xC4\xFF\xC0\x49\xC5\x0D\xE5\xAB\x28\xC7\x48\xC8\x0F\xC3\xB8\x8A\x98\x3B\xC9\x11\xCB\xBC\xE1\xC2\x19\xC3\x07\xFC\xBF\x8C\xB5\xF3\xB6\x05\xD0\xC1\xE5\xBE\x4E\xC2\x02\xD5\xC1\x2B\xC3\x2B\xAB\x05\xF8\xC4\x3D\xC3\x49\xB1\x06\xE6\xC0\x16\xA6\x93\x85\x04\xD1\xC1\x43\xC4\x0F\xCC\xF3\xAE\xAC\x40\xC6\x1B\xC6\xF9\xA6\xBF\x4B\xC6\xDD\xBB\xA4\xAC\xC1\x4C\xC3\x4D\xCD\xD3\x94\xC5\x47\xC7\x05\xC4\xB7\x9B\xA3\x99\xBD\x07\xC9\x15\xD7\xAD\xFA\xBF\x19\xC5\x00\xFD\xBF\xC5\x9D\x57\xCD\x14\xE8\xC5\xA7\x96\x5A\xC1\x15\xE6\x96\x97\x89\x55\xC1\x04\xF8\xBF\x0C\xC3\x59\xCB\x03\xE8\xA4\x11\xC3\x4F\xC2\x07\xD7\xAD\x5F\xBE\x54\xC6\x15\xC8\xB2\x8D\xB5\x12\xC7\xE5\xA2\xC5\x4C\xC4\x60\xCA\x01\xFB\xB8\x6E\xC7", + "\x5E\xC0\xD2\xB5\xAD\x36\xC5\xFB\xBF\x17\xE2\xB1\xEF\xA6\x5C\xC4\x07\xEB\xBE\x00\xA1\x62\xC6\x17\xD7\xC1\x09\xBE\x56\xC4\x18\xC9\xC5\x81\xBF\x60\xC7\x17\xDF\xC6\x47\xB4\x12\xC9\xF6\x8A\xC1\x62\xC1\x61\xC0\x19\xE8\xBD\x94\xAD\x63\xCB\x13\xE5\xC6\x51\xBA\x0F\xCE\xB8\xAB\xC5\xA0\xC6\x5F\xB7\x18\xF2\xB8\x5A\xC3\x5B\xC6\x1A\xF9\x8F\xE2\xBA\x5E\xC7\x19\xCF\xC5\xEB\xB2\x64\xC4\x14\xF3\xBF\x02\x06\xE9\xB7\x07\xEC\xA8\xAA\xC6\x6E\xC6\x16\xDD\xA6\x5E\xC3\x70\xCA\xCF\x85\xC7\x7E\xC7\x81\xA9\xA3\xB2\xBE\x02\xB5\x73\xC3\x19\xE7\xC6\x01\x04\x70\xBA\x1C\xFB\x87\xBE\xC6\x53\xC1\xF1\x87\xB7\x5F\xC1\x72\xB9\x1D\xDB\xC6\xB0\xBF\xF5\xA9\x77\xAC\xC2\xD5\xB7\x18\xAE\x0E\xC6\xC2\x7F\xC0\x3D\xC0\x0D\xDB\xBA\xFA\xC2\x29\x7C\x0F\xC3\xC2\xBA\xAB\x40\x0D\xE8\x8D\xAA\x02\x07\x22\xC3\xA5\x86\xC4\x00\x00\x42\xCE\x0D\xDB\xBA\x90\xC1\x44\x08\x0C\xCD\x72\x14\xC7\x40\x06\x11\xEB\xC7\xA3\xC1\x49\xCF\x09\xCD\x72\x06\xCA\x46\xC5\x53\x8A\xC8\x81\x9A\x50\x94\xE0\xB4\xC4\x8F\x9A\x0E\xB5\x6C\xBC\xB0\x0F\xA2\x10\xB4\x36\xBF\xB0\x45\xB1\x2C\x70\xC4\x84", + "\xB1\xB0\x73\x74\x66\x21\xC5\x6E\xCA\x66\x12\xBC\x07\x8C\xB1\x11\x06\x13\xB0\xD0\x90\xB1\x0C\x96\x2D\xCE\x0A\xEF\x70\xB0\xC2\x2D\xC2\x0B\xDC\xA1\xB4\xC2\x1E\xC4\x08\xE9\xAF\xEA\xC7\x7E\xC3\x0A\xED\xC7\x2F\x73\x7B\xC5\x0B\xF3\xC8\x8C\xB9\x40\xCB\xEB\xB8\xC7\xFA\xC4\x7C\xCE\xBE\xBD\xAF\xEA\xB7\xFF\xA5\x09\xD2\xC4\xDC\x6D\x82\xCF\x11\xC0\xBC\x48\xC9\xED\x6A\x24\xEA\xC4\x20\xC6\x28\xCA\x09\xDB\xC3\xC7\x71\x37\xC2\x24\xE9\xC2\x0C\xBE\x29\x7E\xF0\xBC\x81\xCC\x7A\x6D\xCF\x18\xC7\xC1\x12\xBD\x9D\x75\x1B\xCA\xC6\x7C\xBE\xF8\xBE\xED\x64\xC6\x48\xC7\x5C\xCB\xA4\x82\xC5\x5C\xCB\x77\xC1\x1B\xD1\xBC\xD6\xBE\x2B\x7D\x25\xE4\xC9\xD2\xC5\x9B\xBB\xD2\xA7\xC9\x9E\xC6\x0D\xCA\x1D\xC2\xC1\x0D\x07\x9C\xCB\x1B\xEC\xC6\xE1\xC6\xCA\xBA\x9C\x7E\xC9\xC7\xC6\x66\xC7\x00\xE3\xA6\xBB\x70\xA1\xC6\x28\xFA\xC9\x6C\xC5\x42\x0A\xBC\xBC\x78\x6E\xC8\xA3\xCB\xD0\xB4\xBF\x22\x76\x65\xC5\x28\xCF\xBE\x3D\xBF\xA0\xC1\x29\xFC\xC4\x54\xB9\x59\xC8\x41\x8A\xCA\x8E\xC6\x9A\xCA\xFE\x88\x8A\x78\xC9\x58\xCF\x26\xE9\xC9\x14\xC1\x70\xAF\xEE\x7F\xC6\x80\xC9\xAA", + "\xC8\x9C\x87\x67\xA0\xCB\x6A\xC8\x2A\xF7\xC0\xD7\x9C\xAC\xCB\x29\xED\xCA\xC5\xAD\x04\xC0\x29\xD6\xCA\x8B\xCA\x5F\xB7\xD6\xBB\xCA\x63\xCB\x9F\xC3\x2B\xFF\xAE\xB3\xC4\x00\x0D\xA0\x80\xCB\xCC\xC7\x58\xC2\x2B\xD2\xC1\xC5\xCB\xB1\xC1\x11\x31\xCA\xC6\xC5\xAF\xC1\xFC\xAE\xBD\xAB\xCB\x9E\xCE\x15\xE5\xBF\x74\xBD\x67\xA0\x2D\xF5\xC9\xD6\xCA\xED\xBF\xB7\xB6\xCA\xBC\xC9\xA8\xCC\x05\xF0\xC0\x4F\x97\xB6\xCA\x2C\xD1\xCB\x57\xAC\x62\xB5\x2E\xF7\xCA\xC3\xC8\x2D\xA1\x18\xE3\xC6\x95\xC9\xB0\xC7\x29\xCB\xCB\xC4\x71\xB3\xC5\x2D\xE0\xC7\xD3\xC7\x03\xC8\x1A\xF1\xB5\xE0\xCA\xBC\xC2\x2D\xED\xCB\x8C\xB6\xBD\xC5\x2A\xF0\xC6\x92\xC8\x66\xCF\xA1\x83\xCC\x5E\xCA\xA8\xCA\x9B\xA1\xBE\x9A\xC9\xB8\xC4\x2F\xE3\xCA\x03\x06\x70\xC8\x20\x32\xAE\xF7\xCB\xA9\xC7\x2D\xC1\xCA\x00\x01\x72\xC3\x31\xE6\x72\x35\xA9\x9B\xCE\x30\xE8\xCB\x92\xB5\xEC\xBE\xDA\x83\x04\x24\xC9\x9F\xCC\x2E\xD7\xCC\x9F\xB2\x75\xCB\x31\xCE\xA1\x15\xCD\xC1\xCC\x29\xEE\xCA\x02\x04\x77\xC7\x1D\xDE\xC7\x08\xCC\x9D\xC7\x2E\xE7\xBD\x01\x06\x1D\xCB\x32\xD4\xB4\x2D\xCF\xCB\xCC\x2A\xE9\xBC", + "\x61\xC9\xBF\xC9\x2C\xF7\xC6\xA0\xBC\x54\xC2\x27\xE7\xCC\x04\xCE\xB8\x9C\x26\xC7\xCD\x1F\xCC\xB7\xCE\x2E\xF1\xC9\xF9\x8E\xB9\xC4\x34\xFF\xCB\x51\xAF\x9D\xC2\x26\xC3\xCD\x5F\xCB\xBC\xC2\x00\xD2\xCD\x59\xCC\xD5\xCF\xB0\xBD\xCC\xB8\xC9\xB7\xC4\x19\xD4\xCA\x89\xC8\xD2\xC9\x30\xEE\x98\x8F\xCB\xB3\xC6\x36\xF6\xCC\xFC\x9B\xF9\xBF\x80\x9C\xCD\x0A\xCE\xB0\xC5\x35\xEE\xCD\xC8\xC8\x9A\xC8\x32\xFF\xCC\xF8\xBE\xA7\xCB\x2E\xCD\xCD\x37\xCE\x34\xBC\xB4\xA0\xCD\x00\xCE\xCB\xC3\x03\xD1\x04\x04\xC2\xB6\xCB\x36\xF2\xCD\x4B\xA9\xD4\xB1\x35\xC7\xCE\x5A\xCC\x57\xB0\x38\xF7\xCD\x62\xCC\x75\xCE\x10\xF5\xCC\x88\xCF\xD9\xC6\x27\xFF\xCA\x6A\xCC\xDF\xC3\x35\xE2\xBC\xAE\xC4\xE6\xBC\xE4\x4C\xCE\x5E\xCE\x61\xCA\x90\x8B\xCE\x9A\xCD\xD7\xCC\x39\xD4\xCB\x94\xCD\xE3\xCD\x37\xD3\xC5\xD9\xCB\xA7\xC0\x3A\xE2\xCB\x7E\xB3\xB7\xCD\x30\xFE\xCB\xB0\xCD\xE4\xC9\x3F\x90\x93\x26\xCD\xE9\xC1\x37\xCD\xC1\x03\x06\xBA\xCF\x36\xEF\xCE\x0F\xCE\xE4\xC2\x30\xD7\xCD\x76\xCD\xD2\xC1\x36\xF4\xA4\xC3\xCE\xD0\xC5\x3C\xD6\xCE\xB6\xCD\x67\xA9\x3C\xF3\xCE\x58\xCF\xEE\xC1", + "\x3A\xD9\xC0\xA3\xCE\xE1\xCA\x3B\xF9\xCB\x45\xCC\x69\xB4\x3C\xF9\xC9\x3E\xCD\xF3\xC7\xFC\x89\x04\x54\xC0\xD3\xC4\x3B\xC1\xCF\x95\xCE\x2B\x72\x31\xD6\x08\x14\xCD\xEA\xC3\x3D\xE5\xCF\x6A\xB4\xEB\xB2\xFB\x9D\xCC\xE2\xCD\xF4\xC8\x3D\xEB\xCF\x9D\xA7\x3F\xB8\xDC\x81\xB4\x8F\xCE\xF1\xC1\x38\xC0\xC7\xD5\xC4\xEE\xBA\x3C\xDC\xCF\xC7\xCE\xC5\xCB\xA4\xB2\xCC\x3B\xCC\xCD\xCB\x3D\xE6\xCA\x82\xCF\xFE\xC3\x2D\xF9\xCC\xE3\xC7\x01\xDA\x3F\xD0\xCE\xEE\xCA\x4E\xC5\x37\xC0\xD0\x0A\xD1\x05\xD2\x05\xD2\xD0\x99\xCF\xF8\xC0\x32\xE5\xC9\x01\x07\xD2\xC4\x3A\xDA\xD0\x4E\xCE\x4A\xB0\x35\xD6\xCF\x20\xD3\xEA\xC5\xFE\x95\xA6\x13\xD0\x02\xDD\x3D\xF8\xCB\xB1\xCD\x40\x00\x37\xF3\xCF\xB5\xCD\x04\xD9\x3F\xCC\xCF\x2C\xD1\xF8\xBF\xFE\xB1\xCB\xF2\xCC\xDE\xCC\xDC\xB4\xBC\x38\xD3\xF2\xCC\x36\xE6\xCE\x0F\xA0\xDD\xC9\x41\xF9\xD0\xDE\xCD\x0C\xDC\xD8\x82\xD1\xB9\xCD\x09\xDB\x39\xCB\xC6\xD0\x9B\xFF\xCA\x42\xC1\xD0\x09\xD0\xFE\xB7\xF4\xA4\xD0\x44\xD1\x0D\xD6\x45\xD3\xCA\xED\xA3\x0C\xDF\x43\xD2\xCF\x57\xAE\xE2\xC4\x45\xFE\xD0\xEC\xCE\xEA\xC5\xF5\x9A\xD1\x61", + "\xD0\xFD\xC7\xB3\xBA\xCA\x43\xD0\x18\xD2\x46\xDC\xC6\x15\xC2\x13\xDF\x40\xEF\xD1\xA2\xCD\xDC\xA1\x3F\xEA\xD1\x66\xD2\x11\xD1\x1A\xEF\xCB\xA9\xC4\xF4\xC4\x47\xF6\xD1\x2B\xD0\x16\xD1\xC8\x4E\xD0\x34\xD2\x00\xD3\x36\xCA\x93\x64\xD3\x1A\xDC\x45\xE1\xCC\xB2\xCD\x0F\xD4\x41\xD0\xD0\x82\xD2\xE4\xC8\x3B\xF0\x74\xC0\xCC\xC8\xC4\x03\xC0\xD2\x5B\xD0\x0C\xD8\x48\xE2\xC6\x79\xD2\x22\xDF\x44\xD6\xD0\x70\xD0\xF5\xC2\x47\xDF\xD0\x55\xD1\x23\xD5\x46\xCF\x95\xCF\xCE\x26\xDD\x49\xE3\xD2\x97\xD0\x1E\xDC\x2F\xFA\xD1\x8B\xD3\x29\xD6\x48\xEE\x98\xE2\xB9\x0A\xDE\x4A\xF5\xD1\x4C\xD1\x6F\xCA\x3E\xFC\xD1\x50\xD0\x6F\xCF\xBA\x99\xC1\x6E\xD1\x20\xD1\x45\xDE\xCB\x26\x99\xEB\xB7\x4B\xE4\xCF\xAF\xD1\x0B\xD0\xBC\x90\xC7\x85\xD0\x2D\xDB\x41\xC7\xB3\x2A\xCC\xFA\xC9\xBC\x89\xD3\xB8\xD0\x27\xD3\x48\xC6\xB7\xBD\xBE\x29\xDE\x4B\xFD\xD1\x06\xCE\x78\xC3\xFC\xA9\xC8\x3C\xC8\xAF\xB6\x1E\xE9\xC7\xEF\xC3\x4B\xC4\x23\xE1\xD3\x4D\xC9\x47\x9E\xDD\xA2\xD3\x3D\xC8\xB5\xB3\x0C\xD9\x60\x41\xCB\x8E\xC1\x1F\xC4\xC9\xC7\xC2\x91\xC2\x88\x8C\xC8\x87\xA0\x3D\xDD\x88", + "\xB6\xD3\x7D\xA8\x3E\xD8\xC3\x87\xC8\xED\xB4\x95\xC5\x4F\x96\xC9\xEE\xD3\x90\xC0\xEB\xB5\xC4\xAC\xD3\x26\xDC\x48\xFF\xD2\x84\xA4\x34\xD4\x4C\xCA\xD3\xC7\xB0\x06\xD9\x44\xE1\xD2\x08\xD6\x62\xC1\xFD\xBD\xD2\x95\xD2\x0E\xD3\x4D\xC0\x00\x23\xD2\xEB\xC7\x3D\xD6\xD4\x59\xBF\xC8\xB3\x4C\xCB\xD3\x26\xD0\x95\xBF\x42\xDC\xD4\xA8\xD2\x00\xCE\x50\xD0\xD2\x1B\xD5\x11\xD9\x4A\xC8\xD1\x28\xD6\x12\xD0\x44\xDC\xD0\x38\xAC\x25\xD5\x52\xE1\xD0\x77\xD0\x4B\xD3\x10\x23\xD4\x2A\xD4\x48\xDD\x36\xCA\xD4\x3A\xD4\x10\xD5\x0E\x7A\xCD\xBF\xCD\x4A\xD7\x45\xC5\xC5\xD6\x98\x4F\xD4\x53\xD8\xD3\xFC\xCF\x00\xC6\x54\xE1\xD4\x96\xD1\x39\x4E\x45\xDA\xD4\x2E\xD7\x21\xD0\x53\xF5\xC5\x5F\xD1\x2B\xD7\x4D\xC3\xCE\x5A\xBF\x47\xD7\x54\xF9\xD2\xDD\xA4\xE6\xCF\x50\xFB\xD1\x0B\xD5\x34\xD8\xFF\xA5\xD2\x65\xCE\x50\xD2\x4A\xFC\xCE\xFB\xCB\x67\xB4\x51\xF3\xD4\x4C\xD6\x9D\xC6\x5D\xB2\xD2\x57\xD6\x34\xDD\x51\xD1\xC6\x5A\xD5\x5B\xD9\x53\xF1\xB4\x89\xD1\x59\xD1\x55\xD6\xD2\x30\xD7\x23\xD7\x53\xD1\xD2\xBB\xBD\x67\xCA\x57\xD0\xD4\x48\xD4\x57\xD9\x90\x9F\xD2\x55\xD6", + "\x41\xD3\x4B\xE2\xD5\xF5\xC9\xF5\xC0\x55\xC4\xD6\x86\xD7\x41\xDC\x7E\x8E\xD6\x7B\xCF\x5E\xD4\x52\xD9\xCF\x38\xC2\x85\xB5\x57\xCB\xD1\x3D\xD4\x95\xB1\x4B\xE9\xD1\x56\xD5\x45\xD7\x57\xD4\x84\xE1\xCC\x28\xD0\x56\xDD\xD6\xE3\xCB\x2E\xD2\xFB\xB3\xB3\x1E\xCE\x65\xD3\x5A\xE7\xC0\x1A\xCE\x33\xDB\x1C\xC5\xD4\x8B\xD5\x58\xD9\x4A\xF6\xCF\xDD\xC4\xFE\xCB\x59\xEF\xD4\x5B\xD5\x6F\x8D\x4C\xF4\x07\xC2\xB7\x6E\xD2\x55\xFD\xD6\x52\xC0\x01\xD2\x5B\xD1\xAF\x4B\xD4\x67\xD4\x5C\xF5\xC1\x0D\xD1\xA1\xBD\x0A\xFE\xC1\xBB\xBB\x8B\xC8\xC3\xB1\xC8\x90\xB9\x37\xD2\x5D\xF4\xC7\xB3\xAB\x21\xC1\x87\x89\xC2\xE5\x66\x7D\xCD\xC8\x40\xC9\xE9\xB5\x3C\xD6\xEE\xB3\xD3\x4B\xC9\x36\xC8\x4E\xDB\xC2\x00\xBA\x3E\xD8\x5D\xE6\xC4\xEA\xD6\xBA\xAE\x20\xF1\xC4\x10\xCA\x27\xAC\x4D\xEF\xD3\x01\x07\x8A\xC7\xCC\x6D\xC8\xD6\xD5\x8D\xC7\x25\xD7\xC3\xB7\xC0\x39\xDC\x10\xF4\x70\x38\xCB\x31\x7A\x23\xF2\xC8\xF4\xD4\x00\x03\x1F\xE6\x62\xDE\xD5\x7B\xB0\x5E\xD4\xBA\x45\xCB\x78\xDE\x8D\x43\xC8\x36\xCA\x26\xCF\x24\xE7\xD7\x13\xD9\x39\xDB\x53\x8C\xC9\xFF\xD6\xA8\xB1\x25\xC4", + "\xC8\x53\xCB\x83\xCB\xEB\x99\xC9\x2F\x73\x96\xC1\x61\xC7\x60\xCF\xD7\x37\xD1\x5D\xFA\xD7\x01\xD5\x2A\xC7\x5D\xE6\x62\xD4\xD7\x7E\xBC\xEC\xA7\xD3\x16\xD9\x99\x9E\x23\xE7\xD7\x0B\xDB\x23\xCF\x10\xE7\xD7\x01\xCA\x40\x00\x61\xFB\xD7\xDF\xC0\x36\xC9\x5E\xE5\xD7\x3F\xD8\x94\xC8\x61\xCD\xC3\x1A\xDB\x90\xD2\x25\xCD\xC4\xFE\xD0\x17\xA0\x50\xC4\xD8\x02\xD6\x2A\xC1\x21\xE4\xC7\x8D\x72\x7D\xD5\x4F\xB8\xD7\x05\xDB\x8A\xD1\x11\x2D\xD8\x93\xC2\x95\xDD\x10\x18\xD9\x53\xA9\x80\xD5\x4F\x83\xD8\xD5\xD5\x81\xD7\x60\xD1\x04\x09\xD9\x79\xB5\x63\xE7\xD7\xFD\xC6\xF6\xC8\x63\xC7\xC9\x19\xD8\xBB\xBB\x12\xE9\xD8\xFC\xD5\x85\xDD\x66\xEE\x6A\x72\xD8\x91\xDE\x66\xDB\xD8\x23\xD8\x0D\x79\x64\xF8\xB0\x4B\xD9\x98\xDD\x64\xE0\xD8\xC7\x72\x88\xDC\x63\xEA\x62\x25\xDB\x3A\xC0\x4E\xE8\xC7\x27\xDA\x7F\xD6\x67\xEE\x6A\x5E\xD8\x17\xA0\x66\xEE\xD8\xED\xB7\x98\xDD\x10\x25\xD9\xB6\xC3\x99\xD1\x63\xE0\xAD\x0D\xDB\xAE\xB9\x63\xC2\xB0\xED\xD7\x01\xBD\x69\xD3\xB0\x9F\xD9\x7E\xB1\x6A\xFE\xB7\x04\xBE\x87\xD7\x5E\xC0\xDA\xF5\x92\xA0\xD5\x4C\xEF\xD6\x4F\x9E\x4F", + "\xCB\x5C\xD5\xC1\x55\xB1\x6D\xD8\x5A\xC5\xAF\x1E\xD3\xAA\xD3\x54\xFE\xB5\x19\xD4\x63\xD1\x57\xD5\xCD\x69\xB2\x5D\xD7\x6B\xD1\xD6\xB2\xD8\xCE\xC1\x34\xE7\xD6\xAF\xDB\xC2\xC0\x16\xC1\xDB\xBE\xD8\x63\xB8\x15\xCA\xD7\xC9\xDB\x76\x9E\x36\xF3\xDA\xAC\xD8\x75\x9F\x6C\xC5\xDB\x6C\xD6\xD1\xA0\x58\xCA\xCB\xFE\xBE\x6B\xDF\x6B\xF2\xD5\xF9\x8D\xE1\xCC\x50\xCD\xDB\x49\xD7\x53\xDA\x6B\xE2\xD6\x0B\xC3\xB5\xDF\x15\xD9\xD5\xDA\xDB\x59\xDF\x3D\xC3\xBC\xE9\xD9\x44\xDD\x3E\xD9\xD6\x39\xB9\xBB\xD5\x58\xCE\xBD\x98\xB6\x60\xCA\x58\xFB\xDA\x3B\xD0\xFD\x56\x6E\xFE\xD4\xB9\xB3\xBE\xD3\x5C\xD4\x84\xBF\xB3\xB7\xDC\x6C\xD3\xC5\x84\xAC\xB5\xD6\x6B\xCC\xB6\xBE\xCC\xB4\xDB\x6D\xE3\xD5\x94\xD6\x6D\xDA\x70\xFE\xD1\xAA\xD2\x5A\xD4\x6C\xE0\xDB\x58\xD4\xBC\xDA\xCD\xBE\xDB\x4D\xD7\x10\xCA\x59\xF2\xDB\xC0\xD8\xAC\xDE\x1F\xD8\xDC\x97\xD7\xCD\xA5\x5A\xC7\xDC\xEE\xD8\x5A\xD9\xA2\xBC\xD2\x13\xDF\xC0\xDC\x46\xF4\x7A\xC2\xD0\xC7\xDC\x6D\xD8\xD6\x22\xCC\x6D\xB1\x11\x11\xC7\x14\xDF\xCB\xD7\xB3\xBF\xD6\x47\x09\x70\xDE\x72\xD2\xD6\x15\xDD\x91\xA0\x07\xE0\xDC", + "\xD1\xDA\x8B\x9A\x33\xC7\xD7\xDA\xAC\xD0\xDD\x28\xF2\xB4\x66\xD5\xC9\xD7\xB3\xAE\xDA\x35\xDC\xCF\xD0\x34\xF5\xDA\x02\xDC\x6F\xDE\x37\xF5\xA2\x46\xDE\xBA\xDF\x54\xBD\xDA\x2A\xDF\xBF\xD9\x75\xFC\xD5\x78\xD6\xA0\xC1\x5A\xD5\xDB\xFC\xDB\x50\xB9\x72\xD2\xDD\xE7\xDA\xA3\xC5\x75\xCA\xDD\x4F\x97\xB4\xDD\x74\xF5\xD6\x99\xCB\xD7\xD4\x72\xF3\xDB\x52\xC0\x50\xDF\x70\xE8\xDD\x78\xBC\xA9\xCB\x73\xC8\xDB\x27\xC2\xB7\xD3\x6E\xE0\xDD\x18\xCE\xB8\xDE\x70\xC6\xDC\x37\xAC\x55\xD1\x75\xDA\xDD\x4F\x9D\x5E\xC0\x78\xFB\xDD\x9D\xA5\x5F\xCB\x76\xF8\xDB\xDA\x91\xC3\xD3\x77\xF0\xDD\x4B\xA8\x59\xD8\x77\xE4\xDD\x4F\x9C\x09\xC4\x79\xC4\xDE\xD4\x95\xEB\xC8\x78\xC3\xDE\xA9\xD7\x47\xA9\x74\xD0\xDE\x17\xD5\xC1\xDB\x78\xE4\xDB\x08\xDF\xD9\xD0\x7A\xDE\xD2\xD4\xB0\xE9\xD4\x77\xEB\xC0\x92\xDC\xE3\xDA\x7A\xC9\xD5\xAD\xDF\xEB\xDD\x71\xF3\xD5\x69\xD4\xD9\xBF\x79\xF3\xDE\xEF\xDB\xC1\xC7\x77\xEE\xDE\xB9\xDE\x40\x03\x72\xDC\xDE\x21\xDF\xE9\xC7\x72\xEB\xD6\xA6\xDC\xEE\xD8\x1C\xED\xDC\x90\xD6\xCD\xDB\x79\xCF\x95\xB8\xD7\xCC\xCA\x5B\xFB\xDE\xB2\xDC\x9F\xC9", + "\x10\x38\xDC\x9E\x06\xCE\xD9\x7C\xCE\xDD\xD8\xDC\x31\x76\x5C\xC0\xD7\x8B\x91\xF1\xDA\x7C\xF5\xDD\xC2\xBF\xC8\xCB\xE2\xB3\xD7\x4D\xDA\x94\xDC\x85\x94\xD9\x4D\xDA\x96\xD9\x10\x1C\xD9\xD8\xB6\xA2\xD7\x64\xC0\xD8\x30\xDB\x9C\xD4\x87\xB3\xD8\x97\xDA\x1E\xAC\x4E\xE1\xD7\xE5\x67\x7F\xCD\xDE\x9B\xDA\x00\x03\x8E\xD0\x67\xFD\xD8\xE8\xD5\xBE\xB3\x6A\xEE\xBB\x40\xDA\x00\xE5\x80\xDE\xC2\xEF\xD5\x26\xA5\xE0\x8F\xD9\xD0\xDC\xDF\xDF\xC9\x8C\xDD\x5B\xDD\xF0\xDF\x80\x90\xE0\x97\xDC\xD7\xD4\x11\x90\xDD\xCB\xDF\xDF\xD0\x17\xC3\x04\xB9\xDA\x06\xE1\x81\xF6\xD0\x56\xCF\xF5\xD3\x79\xD8\xDE\x16\xE1\xD9\xD8\x74\xCD\xE0\x6F\xDF\x02\xDC\x15\xE8\xE0\xC0\xDF\x56\xCB\x6C\xD5\xE0\x12\xE2\x00\xCA\x76\xDF\xE0\x0B\xDF\x20\xBE\x7D\xD9\xDF\x7C\x82\xDC\xD7\x78\xDE\xE0\x4F\x9F\x14\xDD\x82\xF5\xE0\x10\xCD\x16\xD7\x7B\xDF\xDF\x2B\xC2\xDF\xDF\x78\xC6\xDF\x81\xDF\x0D\xE5\x92\xA1\xB5\x4A\xE1\x10\xEE\xF5\x8D\xE1\x12\xD6\xC6\xD1\x6F\xE2\xE0\xBC\xDC\xCC\xD5\x7B\xC7\xBE\x2C\xE1\x06\xE0\x53\xD6\xDE\x24\xE1\x0C\xE7\xCC\x9A\xDE\x3C\xE1\x17\xEB\x15\xC1\xDC\x5A", + "\xE3\x0E\xE2\x00\xE2\xDE\x34\xE2\xD5\xD0\x7E\xE3\x69\x50\xE0\x2A\xD5\x6F\xF0\xCB\xF7\xD9\xF4\xD8\x83\xE8\xDE\x3F\xC1\x15\xEF\x83\xD0\xDC\xB1\xDE\x03\xEE\x85\xD3\xDD\x11\xDE\xED\xD9\x85\xE1\xE1\x9D\xDC\x52\xAF\x87\xC7\xE1\xD2\xDC\x89\xA3\x84\xF3\xE1\xFA\xCB\xF0\xD2\x7E\xC1\x04\xAC\xD6\x1C\xE3\x82\xEE\x98\xB1\xD4\xF7\xD3\x5B\xEE\xDD\x77\xE0\xDD\xDF\x1C\xCB\xE2\xB3\xBF\x21\xEF\x88\xC5\xAF\xD4\xDD\x4E\x6C\xED\x6D\xE1\xF3\xC8\xEF\xBF\x73\xDA\xE2\x76\xE2\xF0\xDC\xA4\x8D\xD7\x63\xDE\x18\xE8\x92\x94\xE0\xAA\xE2\x1A\xE1\x6B\xE5\xE2\x80\xE2\x9D\xC8\x81\xF1\xE2\x41\xDE\x9D\xCD\x81\xC4\xE2\x88\xE1\x1A\xC8\xC6\xA0\xE2\x95\xE3\xE9\xDA\x87\xE0\xE0\xAC\xE1\x09\xE0\x83\xFF\xAE\x33\xE3\x30\xE0\x84\xD2\xCE\x2F\xE1\x2B\xEB\x7A\xC7\xB3\xC5\xE2\x32\xEE\x8B\xFA\xE2\x2B\xE0\x15\xEE\x88\xCE\xE1\xF9\xBC\x2F\xE9\x81\xD9\xDB\xD2\xE3\x2F\xE7\x8C\xDD\xDB\xD6\xE2\x6D\xDE\x54\xDD\xE3\x27\xAC\x27\xB4\x8A\xD3\xE3\x59\x84\x38\xE2\x6C\xCA\xDE\x69\xE3\x32\xE4\x11\xB9\xE1\x29\xE0\x11\xED\x75\xFD\xE1\x58\xE1\x36\xED\x8E\xD0\xBF\xFA\xDB\x38\xEA\x8D", + "\xD0\xDC\x60\xE0\x2E\xEB\x89\xFF\xAE\x64\xE0\x2D\xEB\x8D\xE6\xDC\xC4\xB8\x2C\xEA\x8F\xD9\x86\xE6\xE3\x18\xC6\x71\xD3\xBE\xF6\xE3\x3C\xE1\x79\xCE\xDE\x66\xE1\x60\xDE\xD9\xBE\xE1\xF2\xE1\x2F\xED\x73\xD7\xE1\x20\xC1\x42\xE2\x91\xC5\xE2\x82\xE1\x44\xE5\x86\xD8\xDB\x18\x9A\x45\xEB\x91\xD3\xC5\xE7\xCE\x24\xE6\x95\x85\xE4\x26\xE0\xEE\xA8\x7C\xE9\xE2\xC2\xE2\x73\xC5\xEC\x48\xD3\x1E\xE6\x3F\xE0\x71\xDD\xE2\x72\x67\x27\xED\x92\xC3\xE4\xAE\x73\xF6\xD9\x73\xDD\xDF\x33\xE5\x43\xE9\x85\xA8\xE2\x94\xE3\x47\xEB\x72\xE7\xE0\x1A\xE6\x4B\xE4\x54\xC3\xDB\x3D\xE6\x50\xEF\x8C\xEE\xA2\x24\xE7\x4F\xE6\x14\xC3\xE2\x3A\xE4\xBF\x98\x75\xC6\xE3\x6A\xE0\x4D\xE7\x8F\xF7\xD1\xC1\xE3\x1E\xE9\x8E\xE2\x9B\xCD\xE1\x4A\xEA\x95\xC5\xAF\xC9\xE3\x56\xE5\x8B\xC4\xE3\x49\xE6\x4A\xE2\x76\xC5\xE5\x52\xE6\x15\xE9\xC8\xB9\xE4\xA3\xDD\xFE\x8E\x83\xFE\xE4\xCE\xE2\x0A\xEA\x77\xC6\xE5\x48\xE2\x29\xE6\x84\xCD\xE5\x61\xDD\x42\x02\x78\xEC\xE5\x5E\xE4\x4D\xA6\x78\xE9\xE5\xA1\xE3\xB5\xA8\x96\xD7\xE5\x0A\xA8\x43\xEC\x97\xD7\xE4\xCC\xCA\x60\xE0\x98\xEE\xE3\xC7\x89", + "\x58\xE1\x88\xDD\x78\x8A\xE6\x04\xE7\x2D\x8D\xE6\xEF\xB0\xB9\xC0\x97\xC8\xE6\x53\xC5\xC2\xD4\x97\xC7\xD2\x6F\xE1\x26\xD1\x87\xD3\xE5\x47\xE4\x29\xD6\x98\xD0\xE5\xEA\xE0\xBF\x9C\x8E\xC4\xE6\xFB\xE0\xF2\xCF\x99\xED\xE5\x94\xE5\x6B\xC9\x91\xE8\xE4\x56\xE5\x5D\xE6\x88\xCC\xE5\x83\xE7\xD5\xA1\x92\xF7\xE4\xA8\xBF\x5F\xE0\x9A\xE2\x9B\x91\xE0\x6D\xE0\x06\xF0\xE6\x87\xE4\xFE\xBD\x7C\xC5\xD0\xCF\xDD\x50\xE5\x96\xEB\xDB\x6A\xC0\x26\xED\x95\xED\xE6\xA8\xE5\x71\xD5\x4D\xDB\xE6\x0A\xE4\x2C\xE9\x97\xB2\xDC\x55\x8F\xDF\x6A\x7E\x7B\x01\x20\x6E\xBD\xBF\xBF\x54\xE7\x93\xA2\xF9\xD8\xC3\xAA\xAA\xFB\xBB\x0B\x78\x9D\xC9\xDA\x88\xD9\xC0\xB3\x9D\xE7\xC7\x5C\x9B\xBB\xB3\xAC\x5F\xE7\xE7\xD5\xA3\xD8\xC3\x8F\xDA\xD6\xE5\x28\x78\x9E\xF5\xDF\xC1\xC2\x3A\xD2\x9D\xD9\x60\xEF\xE6\xFC\xD0\xAC\x56\xDA\xC8\xB9\xAD\xB6\xCA\x75\xE7\x8B\xDB\x97\x69\x66\xCE\xC1\xE8\xBB\x78\xEE\x60\xF8\xA9\xE6\xE7\x7E\xE3\x80\xF4\xBB\x05\xEA\x77\xE7\xA0\xEC\xD7\xF3\xE6\x37\x6C\x9F\xEF\xDF\x45\xDA\x79\xD3\xEC\x82\xBC\x02\x07\x83\xEC\x61\xCD\xC4\x75\xDB\x45\xC1\x8C\x67", + "\xE7\x09\xE0\xA5\xA9\xA0\xC7\x73\x16\xE9\x9E\xD9\xC5\x68\xDA\x5C\xA2\xAA\xD4\x74\xDC\xA1\x7A\x00\x64\xEB\x8A\xEA\xE8\x2A\xB5\x55\xEF\x95\xFF\xE3\x37\xAF\x2C\xE3\x9C\xF8\xE5\xC5\xAF\x2D\xE7\x99\xD9\xDC\xDA\xBC\x59\xE7\xA3\xC8\xE7\x79\xE7\xA1\xC0\x94\xEC\xE6\x2F\xEA\x8F\xE3\xB3\x82\xE7\x3B\xE8\x08\xE7\x9C\xC1\xE9\xA1\xE7\xD3\x99\x95\xFC\xE8\x4C\xE8\x58\xE6\x9B\xC9\xE7\x99\x94\x8B\xE9\x4D\xC5\xD5\x4F\xE9\x8F\xE7\x47\xEF\xE5\x33\xEB\x64\xE2\x05\xF3\xE5\xB1\xE6\x96\xE4\xCC\x77\xE5\x5E\xEA\x73\xE6\x0C\xC4\xE9\x5D\xEA\x00\xC8\x8E\xF7\xE6\x71\xE7\x1A\xE8\x49\xEB\xD2\x3A\xE9\x99\xE2\x6C\xE3\xE6\x34\xE8\x92\xE9\x54\xDC\xE1\x56\xE9\x67\xEA\xA6\xE8\xC0\x55\xE9\x93\xEE\x2E\xFD\xE3\x59\xEA\x24\xDD\x9D\xDC\xE6\x69\xEB\x0A\xC6\x99\xEE\xE9\x1C\xE7\x43\xE1\x8F\xC0\xE9\x30\xEB\x35\xE2\x85\xD7\xDC\x79\xEA\x9C\xE1\x98\xC8\xD6\xA4\xE6\x40\xE7\xCC\xB0\xE9\x61\xE8\x39\xE9\x88\xC0\x00\xB9\xC5\x91\xE9\xA8\xF7\xE9\xBF\xDD\x9C\xEB\xA9\xEB\xC0\xB3\xE5\xF5\xD4\x1C\xC8\xEA\x51\xE6\x07\xCC\x95\xAF\xCF\x52\xEA\x2E\xD1\x73\xCA\x99\xEB\xD4\xCD", + "\xDD\x9B\xEC\xDD\x06\xB7\x1A\xC9\xAA\xD3\xE4\xD4\xD3\x28\xEC\x9B\xE8\xE9\x18\xE4\x03\xDB\x4D\xCD\xEA\x9B\xEB\x2B\xE6\xA9\xCD\xE7\x1E\xB7\xAD\xE0\xA5\xC0\xC6\x32\xEA\xA6\xEE\x8A\xDE\xBC\xB3\xE8\xBD\xD5\xB2\x89\xEB\xB9\xE1\xA4\xEF\xAB\xD8\x90\x2E\xEB\xA7\xEB\x83\xED\xDD\xCC\xE6\xB3\xEE\x86\xFA\xB4\xBC\xE9\xA9\xE4\x11\x8B\xE9\x8E\xE9\x6A\xE2\x6D\xCC\xEB\x4B\xE1\x13\xD4\xAA\xC9\xE9\x62\xE6\xDD\xD4\xA6\xEF\xEA\xD4\xE0\x96\xE6\xAC\xD6\xE2\xAE\x94\xB8\xE4\x8D\xE0\xE9\x7D\xEA\xA9\xE0\x4F\xE7\xEB\xB8\xE8\xFE\xB7\xA6\xC3\xEB\xCF\xEA\x67\xE0\xA9\xDE\xEA\xDA\xEB\x54\xC4\xA9\xF1\xEB\x85\xEB\xC2\x94\xAF\xF8\xEB\x97\xE9\x3E\xEB\xAE\xF6\xE9\x02\xC0\x9F\xE7\xB0\xE9\xE9\xC3\xB2\xB0\xE5\xA7\xD1\xBC\x83\xE8\xBA\xE9\xAF\xCF\xA0\xFF\xEB\xC2\xEF\x7D\xD9\xE6\x6C\xE9\xB5\xEC\xAF\xEC\xEB\x86\xE9\x45\xEE\xB0\xFA\xE9\x78\xE3\x69\xEF\xB0\xDE\xEB\x9F\xB1\xA6\xE4\xA8\xD2\xEC\xE7\x92\xBB\xE6\x6C\xD8\xC1\xC4\xDD\xB6\xE4\xAE\xD0\xE2\x27\xE5\x9B\xE8\xB2\xE6\xE5\xC7\xD0\x26\xEE\xAA\xF5\xEB\xB0\xE9\xCF\x82\xAB\xEE\xEC\x08\xEF\x31\xB6\x93\xE2\xEA", + "\x49\x8E\xCA\xE7\xAD\xF8\x9D\xBB\xEB\xC7\xED\xAD\xD7\xD0\x42\xEC\x40\xE1\xAD\xFD\xEB\x38\xEC\x1F\x85\xAC\xE7\xEC\xAE\xE7\x52\xE3\xB0\xE3\xEC\xBC\xD9\xD2\xE6\xAD\xC0\xEB\x43\xEE\xC5\xB6\xB4\xD2\xEB\x7C\xE0\xB7\xEC\xB5\xF3\xEC\x18\x93\x91\xEF\xB5\xCD\xED\x57\x7E\xD5\xE8\x29\xC7\xDB\x92\xE9\x97\xEF\x53\xE6\xED\xB5\xD2\xB9\xE3\xAE\xFD\xEC\x01\xEF\xF2\x9C\xB3\xC1\xEA\xC7\xB0\x97\xE0\xB6\xDB\xEC\xE2\x98\xBC\xE6\xB1\xF4\xE3\xE8\xDB\xD4\xE0\xB2\xF7\xD1\xF7\xE8\xD5\xE9\xB3\xC7\xE4\x1B\xC3\xD6\xEC\xB4\xD4\xB9\x15\xEC\xD4\xE8\x99\xF5\xE3\x86\xEF\xCB\xE6\x27\xC6\xEC\x8A\xEE\xE0\xEC\x07\x8A\xEC\x91\xEE\x63\xEF\xA7\xD8\xED\x98\xEF\x61\xBC\xB6\xF0\xD4\x89\xEF\xDD\xE5\xA9\xFB\xA4\x75\xE3\xC4\xE9\xA5\xD8\xEC\x12\xDE\xCC\xE4\xB6\xFD\xDE\x6B\xE9\xE9\xEA\xB1\xDF\xEE\x99\xEF\x53\x96\xB2\xDE\xEE\xA3\xED\x47\xED\xB8\xF0\xED\x20\xE4\xCA\xD6\xBA\xC4\xEC\x34\xED\x6E\xE0\xB4\xFB\xE6\x7E\xEF\xD1\xE0\x4C\xF5\xEC\xD0\xE5\x42\x07\xB3\xF8\xEE\x57\xEC\x06\x90\x93\xEE\x6B\x32\xE7\xEC\xE4\xB7\xFC\xE1\x3F\xEE\x27\xEB\x0B\x9B\xEE\xF2\xEA\xAE\xE8", + "\x89\xF9\xC1\x0A\x69\x47\xCE\x9E\xD5\xE7\xFE\xC3\x75\xE1\xC0\x5A\xE7\xEB\xD4\x77\xE6\xBD\xE0\xAF\x21\xEB\xA0\xD3\x0A\xEA\xDF\x03\x05\x8B\xD7\x0E\xCE\xE8\xE4\xE5\x1A\xA2\x13\xE0\xEF\xDA\xD7\x98\xAB\xBE\xDC\xE8\x00\xC6\x7C\xE0\x11\xE8\xEF\xC9\xA8\x31\xC3\xEC\xA3\xC3\xEB\xD5\xF8\xEF\x7F\xFC\xC7\x37\xDB\xFD\xE2\xA0\xDA\xDA\x6C\xD9\x48\xCD\xC4\x65\x67\xFA\xEC\x93\xD9\x0A\xD9\xE8\x09\xC6\x3D\xC4\xC0\xCB\xE8\x27\xC6\x02\xFA\xBD\xC7\xE0\x1B\xC7\xFB\xE6\xA0\xD0\xF0\x0B\xCA\x40\xCB\xC0\xE5\xDA\xF0\xD7\xFC\xE7\xC1\xDF\xD8\x04\xD7\x0D\xBB\x5E\xFA\xC4\xB4\x6D\xA1\xD0\x51\xA9\xEF\x5B\xA8\x09\xF0\xBE\xAC\xDF\xED\xB6\x7A\xEB\x5E\xCF\xDA\x93\xC2\xA4\xD9\x10\x14\xDA\xDD\xD0\x7E\xED\x9F\xC0\x6B\xFF\xE6\xEE\xDB\x66\xE4\xD7\x42\xDA\x84\xE6\x9F\xC9\xC9\x6F\xDA\x01\xF1\x67\xFD\xF0\x7E\xDB\x01\xF0\xC4\xD0\xDA\xE5\xB7\x9E\xDB\x5E\xFD\xD9\x44\xF2\x2D\xC4\xA2\xF8\xB0\x26\xEA\x48\xE5\x4F\xA3\x43\x33\xF1\x10\xFC\x5F\xDC\xEF\xA6\x60\xFA\xDA\x62\xE8\xD8\x3E\xF0\x00\xE4\xBE\xC2\x04\x28\xF1\x79\xBA\xC2\xE6\x62\x2C\xF3\x94\xAE\xC2\xC3\x04\x30", + "\xF1\x81\xD2\xC3\xD0\xE8\x3F\x95\x0D\xFB\x9A\xFB\xF0\xB5\x6C\xFF\xDE\x7F\xD9\xF1\x9B\xB8\x02\xF2\xA2\xF7\xD9\x46\xDB\x85\xEE\x0C\xF8\xD9\xE2\xEE\x84\xD3\xC4\xD3\xC2\x46\xF2\x29\x68\xC4\xD3\xC2\x4B\xF3\x7A\xDD\xC4\xEC\xEE\xC5\xEF\x53\x9B\xB4\xCE\xEE\x2A\xD6\xAF\xE0\xA8\xE4\xEC\xB2\xE0\xF4\xEB\x81\xD2\xED\x6F\xEF\xF2\xE5\x92\xFB\xE2\x73\xEC\x23\xFE\xBB\xE9\xED\xFC\x9B\x21\xF4\xBB\xE7\xEE\x9D\xA6\xD7\xE7\xB8\xD2\xEE\xAE\x72\xD8\xEF\xC9\xFF\xED\x58\xE6\x23\xF7\x02\xDE\xF2\x88\xF3\xD8\xE4\x5D\xBA\xE0\x95\xED\x22\xF9\x16\xCA\xEF\x96\xF0\x4A\xAA\xAE\xED\xF2\xBD\xE9\xBB\xE5\xC9\xCD\xEB\x57\xAE\xDE\xE4\xCB\xC2\xE9\xEA\x8E\x29\xFA\x9A\xCF\xE1\xB7\xF3\xE0\xED\x39\xF6\xDB\xA5\xE7\x28\xF4\x2C\xE2\xEC\xA4\xF2\x24\xF5\x79\xFE\xF2\x18\xCC\xE4\xE0\xBB\xD3\xEB\x15\x80\x2C\xF8\xCB\xE9\xD2\x68\xE0\x27\xF5\xC8\xCF\xA0\x11\xEE\x35\xF8\xB7\xCF\xEA\xA9\xDF\x22\xF3\xCD\xEC\xDE\xC8\xF3\x25\xF3\xB1\xE4\xEE\x10\xE5\x24\xF1\xCB\xFC\xF2\xF0\xE2\xC7\xED\xBB\xEA\xF2\x8B\xE4\xA6\xEC\xCC\xED\xF3\x9D\xE8\x21\xFB\xCD\xC0\xCD\xA1\xEA\xF3\xED\x10", + "\x0D\xE2\xDE\xF1\x31\xFB\x5D\xBA\xEE\xF6\xF0\xD6\x91\xCC\xE2\xE9\x64\xC0\x4B\xE2\xCD\xFA\xF3\xE2\x9B\xF1\xE7\xB5\x49\xEF\xEB\xF2\x31\xF8\x92\x8D\xEF\x31\xE7\xF3\xEF\xCF\xE2\xEE\xC7\xB3\xD0\xDE\xC4\xCF\xA9\x12\xF3\x0B\x71\xCF\xF8\xBA\xD9\xED\x28\x77\xD1\xE5\xC7\x86\xDA\x06\xFF\xBF\x5B\xF4\xED\xDD\x78\xEE\xBF\xD9\x60\x20\xF5\x9F\xB8\xC5\xD5\xEF\x2D\xC6\x46\xFD\xBE\xC8\xBA\x15\xF7\x31\x75\xD2\xE5\xB7\x63\xF1\x7D\xCD\xD2\xF5\x93\x2F\xF5\xA5\xD6\xBF\xF9\xE7\x22\xC6\x4A\xFC\x60\xE2\xD7\x1E\xF6\x4E\xF0\xC0\xF8\xF0\x4C\x70\xFE\xE6\x8A\x75\xF4\xDD\xD2\x1C\xFC\x12\xCE\xF0\x3E\xF4\x85\xD3\xC4\xE7\xEF\xE5\x64\x51\xF5\x60\xC6\xF5\xEC\xAB\xF7\xE3\xAC\x4E\xF5\x4D\xD8\x54\xF5\x8F\x59\xF4\xE0\xAC\x55\xF9\x0A\xFD\xF1\x11\x04\x12\xFC\xD4\xDF\xF4\x0B\xE2\x7C\xD6\xC1\xFF\x6F\x60\xE8\x46\xF2\xD5\xE6\x72\x65\xF4\x47\xF3\xC2\xE3\xF5\xA1\x71\x5A\xF1\xD2\xE5\xE7\x6C\xF4\xF8\xAE\xD6\xE6\xF4\xEE\xDD\x02\xF8\x11\xF2\xF5\x2B\xF6\xB3\xB3\xD3\xDC\xA1\x73\xF4\x4C\xF4\x7F\xF8\xF4\x03\xF0\x59\xFB\x4E\xDE\x63\xED\xD3\x55\xF7\xD6\xEF\x70\x7D\xF6", + "\x2D\xCA\xC6\xE5\xB3\x7B\xF4\x0E\xB9\xD8\xDD\xD3\x6E\xF1\x63\xFB\x5E\xCF\xF6\x4F\xF7\x52\xF8\xD5\xC3\x6B\x94\xF5\x55\xF6\xD9\xC7\xF6\xC7\x71\x66\xF2\xC4\xF8\xF1\x51\xF5\x4A\xF8\xD7\xD4\xF0\x0D\xC9\x5C\xF8\xD9\xDD\xE8\xF9\xAA\x64\xF6\x8A\x5E\xF6\xFC\xD5\x20\xF6\x8A\x43\xF2\xE5\x40\xD6\x80\x18\xDF\xC8\x6A\x8E\x86\xC9\x21\xDE\xC8\x1B\xCA\x09\xB9\xDB\xFD\xB0\xB7\xF7\x2E\x78\xC4\x80\x73\x6E\x8C\x27\x66\x22\xF7\xCF\x28\xCA\x69\xF6\xCA\x72\x02\xD8\xEC\x67\xF5\x4F\x88\xF7\xD9\xE4\x74\xD1\xD4\xEA\x5F\xCC\xF4\x78\xE0\xD7\xFD\xF4\xE0\xAD\x74\xF7\x5E\xDB\xF1\xD9\xD6\x71\xFF\xC2\x56\xF7\xF0\xE7\x2E\xC1\x7F\xC2\xF0\x42\xF5\x44\x0C\xDD\xEC\xF1\x98\x5D\x4C\xF1\x10\x15\xBB\x5F\xF5\x28\x73\xDE\xD1\xF1\xB5\x6F\x19\xF6\xD7\xF9\xF4\xD5\xF4\xFE\xDF\xBF\x62\xBB\xE9\xF5\x7C\xF3\xA0\xFF\x6F\x6F\xF0\x4A\xF8\xD4\xF6\xF7\x39\xF1\x90\xDF\xDC\xD9\x60\xEB\xF4\x1A\xF4\x67\xDB\xF6\xA2\xF7\xB0\x61\xE0\xF6\xF1\x11\xEA\x7F\xF3\xD2\xDE\x63\x07\xFB\x1C\xF3\xE0\xE0\xF6\x86\xF5\x81\xF7\xDC\xE8\xF6\x18\xB2\x6A\xF2\xDE\xE1\xF5\x99\xAB\x8F\x6A\x7E\x77", + "\x02\xC9\xF7\x88\x69\x81\x5C\xF8\xCD\xF6\x89\xDC\xC4\x40\x69\xF5\x90\x88\xF2\xDD\xEA\xEF\x2B\x68\x89\xFC\x85\xA6\xF8\xD7\xF7\x49\xF3\xEE\x8D\x56\x1F\xF9\x5E\xFD\x0B\xDA\xF8\x31\xF9\xFC\xEA\x08\xF4\xF8\xDE\x60\x8B\xFD\xDD\xE6\xB7\x37\xF6\x00\xFA\xE2\xF8\xB0\x3A\xF8\x79\xF3\xA6\xF3\xF7\x38\xF9\x79\x61\xE4\xEC\xF7\x98\x5D\x64\xF9\xE2\xDB\xF8\x0C\xF1\x91\xFF\xBF\x47\xF9\x02\xF9\x01\xB4\xE0\xF0\xF8\x39\xF9\x93\xFB\xE4\xF5\xF8\xFD\xF6\x01\xE4\xB2\x7F\xF8\xEB\xD4\x94\xF8\xE0\xFF\x94\x5C\xF5\x43\x0E\xD5\xF7\x68\x58\xFB\xA9\xDD\xC1\xFB\x72\xB2\xF6\xE4\xC4\xDB\xFC\x72\xB6\xF5\x87\xCB\xCB\x6B\xF9\x70\xFB\x6E\xF5\x21\xF2\xF9\x75\x61\xDB\x86\x9B\x6F\x8D\xB2\xBD\x14\xBF\xDE\xC1\xF6\xA1\x72\x97\xFE\xE0\xE1\xF6\xFB\xF7\xB0\x6E\xE7\xF9\xF1\x0D\xC4\x15\xFB\xAC\xDA\xF7\xC7\x73\xA0\xFB\xBF\xE3\xEF\x2E\xF9\x7D\xF2\xE8\xE6\xF0\xE5\xAE\x85\xFD\x10\x0A\xFA\x70\xF3\x8D\xCF\xDD\xDA\xE8\x7C\xF8\xF8\xA4\xE9\xD2\xF1\x00\xE2\x79\xF3\x58\x52\xFA\x09\x07\xA6\xF9\xC4\xF1\xF0\x3D\xF8\xA6\xF1\xDE\xD3\xFA\xF2\xF4\x4B\x90\xEA\xC3\x04\xA2\xFB\x24", + "\xCA\xE4\xD4\xF7\x8F\xF8\x69\xF5\x4F\xC8\xFA\x25\xFA\x95\xF0\xEB\xE6\x72\xAD\xF8\x28\xC0\xE1\xFA\xF7\x77\xF5\xAC\xF9\xE5\xC8\xE0\xB4\xFB\x8A\xF4\xE1\xEC\xBA\xAB\xFA\x40\x09\xEB\xCD\x72\xAE\xF5\x44\x03\xC8\xC7\xAB\x55\xF8\x32\x8C\xEC\xC6\xF9\xDB\xEE\x73\xF3\xEC\xA6\xB9\x5D\xF8\xA4\xFB\xBE\xA0\xAB\xD0\xFB\xA1\xD3\xDD\xCD\xAB\x65\xFB\x8E\xFF\xC5\xD1\x04\xEC\xE5\xBB\xAD\xEC\xFB\xBA\x9E\xF8\x7A\xF2\xEE\xD9\xFB\x3F\xC9\xA9\xFB\xE7\xD4\xFB\xA6\x63\xB1\xFF\xED\xBD\xEF\x80\xF4\xBB\xF1\x11\x2E\xFB\xE5\xB7\xAB\xFC\xED\xE3\xFB\x4A\xF7\xAE\xFF\xE2\xC2\x04\xF2\xF8\xAA\xF2\xEB\xF7\xD3\xF2\xAB\x93\xF6\xEB\xF7\xFB\xE8\xF9\xBE\xF5\xC7\xFD\xC3\xE6\xA9\xC1\xFB\xE3\xE1\xF9\x09\x07\x98\xF9\xF0\xC2\xFC\xF1\xD5\x86\xFA\x99\x42\xB9\x43\xB2\x6E\xFD\xDB\xE1\x8D\x74\xF8\x0A\xB3\xE7\xD7\xFC\x2E\xB0\xC7\xFE\xCA\x7F\xF6\x11\x06\x88\xCE\xCA\x65\xCC\x09\x07\x70\xF9\x5B\xC5\xF7\x01\xE9\xB7\xFC\xC6\xED\xE7\x9A\xF9\xB4\xF2\xE2\xD3\xE8\x4C\xFA\xB6\xF8\xE2\xE9\xFC\xF8\xFB\x8E\xF8\xDD\xC0\x00\xE6\xEF\xE5\xE2\xEC\xDD\xB7\x88\xC1\x83\xEA\xF0\xC2\xF9", + "\x32\xDA\xFC\xE2\x9E\xEA\xFC\x48\xFB\x49\x97\x7F\xFE\xFC\x10\xFE\x8D\xD9\x69\xC3\xFD\x35\xFC\xD0\xFA\xEE\xA1\x72\xF9\xF7\xBE\xFB\xA1\xF8\xFA\x03\xFC\xCC\xF4\xF4\xD1\xF9\x11\xB3\x94\xFA\x9F\xEF\x70\xF4\xFA\x2D\xC6\xD5\xFC\xFA\x53\xFC\xD7\xF5\xF5\xC0\xF6\x14\xE9\x40\x0D\xF5\xDD\xD3\x0C\xFF\x40\x0E\xF0\xD9\xC6\x40\xF8\x86\xF1\xB0\x92\xC8\x06\x9C\x85\xC2\xF7\xDA\xFC\x73\xFF\x0A\xB6\xF1\xEE\xF9\x18\xFE\xC7\xF1\xC4\xAF\xB0\xDC\x6A\x75\x68\xE7\xD8\xE2\x7A\xFB\x9F\xF5\xE9\xDA\xC2\x86\xF9\x8E\xE5\xF4\xF0\xAA\x2E\xF9\x96\xD9\xF8\xDD\xD9\x97\xFB\x97\xFE\xAA\x65\xFB\x83\xF5\x79\x65\xD8\xDC\xFA\xFC\xEF\xD2\xFB\xE3\xF6\xFB\x3B\xFB\xD7\xF3\xEA\xD5\xF6\xFA\xFB\x24\xCA\xF9\xDE\xFE\x7B\xF3\x94\xA9\xF6\xC2\x04\x7F\xF3\x94\xA9\xEC\xCD\x04\x83\xF0\xC0\xE3\xC9\xC4\xE5\xAB\xEE\xEA\xFF\xCB\xEC\xFE\x04\xF6\x32\xF4\x5D\x8F\xED\xCF\xF1\xDC\xE0\xC9\xF7\xEE\xA0\xF0\xEA\xE1\x82\xE6\xF3\xDF\xF3\xDE\xE1\xFB\xF9\xEA\xB0\xFC\x26\xFA\xCD\xC1\xD1\xEF\xF2\x31\xD2\xCA\xE9\xF2\x0A\xF7\x11\xD5\xFC\xDB\xC5\xA8\xF3\x26\xF4\xBC\xCF\x95\xAC\xF1\xED\xFB", + "\x44\xD8\xE3\xBC\xFF\xEF\xFC\xB7\xEA\xCA\x0F\xF5\x3E\xFC\x07\xB6\xED\xC3\xFE\x9F\xEA\x6E\x8B\xFF\xEE\xCB\x5E\xE2\xFD\xCA\xE5\xC0\xF3\x40\xF2\xFC\xD4\x97\x9D\xED\xF7\xFE\x90\xC4\xEE\x88\xC6\xF9\xF0\xD1\xC9\xE6\xD9\xFD\xEB\xEF\x80\x8E\xF3\xEA\xFE\xDA\xE1\xCD\xC9\xF4\xC8\xFF\x50\xE5\xCD\xCF\xFF\xF2\xF0\x36\xF0\xFE\xEA\xB4\xE9\x7E\xFE\x7E\xF7\x7C\xFD\x74\x1B\x78\xFF\x4E\xFF\x30\x66\xA9\x77\x72\x78\xEE\x79\x99\x7A\xAC\x7D\xD8\x44\xC1\x71\x7F\xD7\x78\x01\x63\xEB\x75\xFE\x7E\xB9\x6C\x98\x4B\x00\xE2\x79\xBA\x7F\x7A\x79\x43\x7F\x9E\x7F\xFF\x63\xCA\x7C\xF3\x1B\x80\xFE\x78\xF7\x7E\xF6\x7A\x72\x6F\x9B\x67\xD1\x78\xB0\x43\x77\xB9\x7E\xF9\x7C\x8E\x4B\x67\x72\x02\x92\xFF\x42\xC0\x0C\x7A\xC8\x76\x87\x79\x0B\x81\x02\x8F\x8E\x72\xE8\x7A\xE6\x45\x6E\x50\x6D\xF6\x59\xE1\x7E\xA3\x67\xE2\x65\xE1\x72\xFC\x3E\x80\xBB\x5D\x6F\x7E\x86\x5C\xBB\x6F\xBF\x25\xE3\x4D\xD9\x6E\x7B\x82\x7E\xEE\x37\x62\x7E\x9D\x77\xDF\x70\xFA\x63\xFD\x07\x7F\x0E\x59\xCE\x7E\xAE\x7F\xE0\x74\xE8\x77\xE3\x54\x01\x8B\x7D\x1D\x6D\x0C\x7A\x99\x7C\x01\x7E\x5C\x6A\xEB", + "\x56\xA9\x56\x7D\x7F\x5C\x30\x81\x20\x62\xC6\x7B\x0F\x64\x02\xA1\x72\x46\x80\xA9\x60\x24\x81\x15\x81\x8B\x3B\x04\x9A\xBF\x75\xFB\x01\x78\x58\x7E\x1E\x7A\x14\x80\x41\x61\xFA\x74\x03\xB3\x01\xED\x5B\x9F\x7E\xD1\x7E\xA9\x6B\xC7\x77\xFA\x69\x08\x03\xF2\x21\x78\x5E\x81\x54\x56\x18\x83\x16\x63\x08\x90\x91\x64\x01\xEE\x63\x66\x80\xF0\x54\x1A\x84\xBF\x6A\x06\x98\x02\x8D\xC4\x6D\x80\xF2\x69\x07\x6F\x13\x81\x0E\x8E\x24\x75\x03\xB8\x01\x96\x81\xF2\x5C\x4C\x82\x2D\x63\xF4\x71\x10\x05\xFD\x48\xFB\x67\x7C\x94\x80\x11\x7B\x17\x87\x07\x87\xC2\x65\x04\x93\xD7\x07\x81\x39\x65\x44\x83\x48\x49\xF2\x7F\xBF\x33\xFC\x5B\xFE\x4D\x6C\x90\x81\x26\x80\xF8\x51\xEA\x70\xFA\x77\x03\x99\x02\xB6\x81\x5E\x7E\x4D\x81\x51\x7A\x17\x85\x60\x7C\x04\x80\x00\x1E\x81\xED\x5B\x3E\x83\x40\x01\xF5\x7E\xFB\x74\xC6\x5A\xF2\x32\x7F\x38\x74\xAD\x76\x01\x80\x19\x86\x4C\x74\xFD\x54\x00\xD1\x76\x54\x6E\x08\x83\x3C\x7A\x0A\x6F\x94\x62\x00\x85\x03\xEF\x7F\xAB\x7F\x63\x83\x39\x79\xFF\x75\xCA\x72\x06\xBD\xFF\x3C\x68\xAD\x7F\x6B\x83\xA5\x75\xF9\x7C\x0C\x98\x00\x9D", + "\xF2\x1D\x80\x7E\x5B\xE8\x7F\x33\x83\x71\x78\x8E\x5E\x06\xB1\xEE\x6D\x62\x33\x81\x69\x81\xE2\x60\x1D\x8A\x82\x7A\xE5\x63\xFF\x65\x75\x10\x60\x7A\x80\xD0\x61\x70\x7C\x00\x9D\xFD\x6B\xE3\x61\x79\xEC\x79\x7E\x81\x63\x6B\x5F\x7D\xFF\x6F\x07\x82\xEC\x55\x7F\xE7\x7E\x04\x80\x9E\x71\x1E\x85\x10\x8F\xC7\x54\xEE\x77\x81\xC9\x81\xBE\x5C\x0D\x86\xFE\x7D\x10\x19\xE6\x56\x03\xB6\x7F\x09\x81\x43\x77\x05\x81\x20\x81\x99\x64\x00\x86\xCB\x7A\x81\x55\x67\x00\x81\x0A\x87\x9A\x74\xCE\x7A\x08\xA1\x03\xBB\x79\x53\x74\x26\x80\x43\x86\xF5\x74\x5D\x51\xE7\x6C\x04\x91\x82\xC1\x62\xDB\x77\x49\x80\x22\x86\x4C\x7F\x00\xB1\x00\xB8\x3D\x20\x83\xDF\x75\x09\x83\xA2\x77\x02\x99\x09\x97\xD4\x06\x7A\xA6\x36\x84\x78\x42\x80\x1B\x85\xFE\x50\x01\x87\xF4\x32\x80\xCB\x81\x6D\x82\xAA\x72\x9B\x63\xBD\x79\xC2\x27\xD4\x3F\x74\xFB\x51\x89\x69\xDC\x78\x59\x7D\x16\x4A\x8A\x63\xB9\x5A\x81\x52\x60\x72\x81\x6F\x47\xF8\x7D\x0D\x9B\x61\x68\xED\x12\x67\xEA\x80\xA3\x5C\x8F\x5B\x96\x7C\x6F\x5C\xFE\x54\x97\x60\x74\x4C\x70\x4E\x30\x3F\x87\x98\x74\x10\x82\x80\x62\x04", + "\xC5\x57\x74\x75\xE2\x54\xFD\x7C\xCA\x5F\x10\x8F\x3A\x7B\xFF\x2E\x4C\x16\x82\x17\x4F\x5B\x84\x2D\x8D\xCD\x70\xC6\x7B\x05\xA6\x73\x6D\x83\x77\x73\x04\x84\xCA\x5E\x12\x87\x66\x5A\x00\xB7\x82\xAF\x5B\xAA\x81\x17\x61\x66\x73\x9C\x57\xC4\x41\xEF\x24\x66\x14\x7F\xDB\x5C\x0B\x83\x42\x60\x77\x56\xD5\x6A\xC6\x4F\x73\xAC\x74\x53\x30\xF5\x73\x02\x7E\x14\x91\x0C\xA3\xB4\x0A\x83\x47\x44\xCF\x80\x25\x7F\xCB\x56\x26\x7E\x0A\xA3\xE5\x0D\x83\xD8\x74\xD3\x80\xA2\x66\x06\x70\x1A\x97\x4D\x6D\x06\xB9\x42\x63\x82\xD1\x80\xD6\x57\x35\x83\xDC\x39\xC2\x28\xD1\x6D\x68\x53\x82\x07\x83\xC6\x6C\x32\x8A\x1B\x93\xC2\x79\x06\x87\x82\x51\x83\x7E\x6F\x98\x5D\x2E\x83\xB8\x52\x0D\xB9\x05\x91\x5F\x00\x83\x80\x65\x72\x83\xBB\x4F\x17\x8A\x0E\x81\x06\xFC\x70\x83\x83\x4F\x59\x61\x84\x22\x47\x18\x87\x0A\x9C\x00\xB4\x83\xC1\x68\x54\x74\x76\x80\x78\x79\x19\x93\xB9\x72\x06\xC0\x82\x29\x38\xA1\x81\x70\x83\x2E\x56\x19\x80\xAB\x58\x06\x9E\x78\x9A\x83\x0F\x75\x3D\x49\x17\x06\x35\x4A\x06\x8A\x67\x58\x82\xC4\x38\x67\x80\x75\x4E\x46\x71\x39\x5C\x71\x70\x07\x8C", + "\x42\xB2\x82\xAE\x81\x77\x52\x2B\x89\x15\x92\x0D\xA1\x05\xAE\x4C\x6B\x73\x54\x68\x59\x87\x92\x52\x1B\x88\x0B\x83\xF9\x53\x33\x6B\x82\xC0\x81\x5F\x87\x66\x5D\x1C\x9B\x2E\x71\x05\xBF\x57\x73\x83\x4F\x58\x71\x86\xC5\x47\x17\x85\x5E\x47\x07\xFC\x82\xA1\x76\x30\x65\x83\x83\xB2\x6F\x1C\x82\xCD\x4B\x07\xC9\x6A\xD1\x82\x3B\x67\x74\x84\xDF\x45\x1D\x81\x0A\x91\x04\x78\x79\xD0\x70\x9B\x82\x75\x81\x04\x8C\x1B\x89\x08\x3B\x04\xB7\x80\xC1\x73\xDF\x82\x64\x86\x38\x72\x1B\x86\x0A\xA6\x08\x8D\x02\x71\x61\x4B\x76\x0D\x83\x77\x78\x03\x97\xF5\x6F\x70\x6C\x83\xC8\x40\x45\x79\x67\x57\x3E\x8E\xCA\x32\x0F\xAE\x98\x74\x83\x4E\x72\xFB\x82\x6C\x84\x3F\x84\xCC\x3A\x0F\xBD\x86\x4C\x84\xF8\x83\xED\x83\x7F\x85\x91\x51\x1B\x9B\x0E\xA6\x05\xAE\x4C\x06\x85\xBE\x76\x72\x31\x41\x8E\x1C\x8B\x10\x98\xB3\x1F\x84\xDD\x53\x07\x84\x4D\x51\x42\x86\x27\x73\x10\x85\xAF\x15\x84\xBF\x57\x0B\x86\x82\x81\x43\x8E\x17\x80\x13\x87\xD6\x5E\x84\x77\x75\x0D\x85\xC4\x59\x44\x80\x82\x63\x11\xA5\xBE\x32\x82\x4B\x54\x15\x87\x8D\x84\x45\x82\x23\x99\x6D\x76\xEC\x5F\x83", + "\xFE\x67\x3E\x85\xAD\x70\x13\x79\x23\x80\xC8\x7B\x08\xFD\x79\x4C\x4C\xF5\x80\x5F\x7D\x3D\x83\x10\x09\xF3\x60\xC9\x71\x7C\x7A\x7E\x0E\x66\x11\x5B\x52\x8D\xE6\x74\x14\xB8\xF6\x11\x85\x18\x48\x90\x7D\x43\x02\xE4\x79\x3F\x44\xF9\x43\x04\x26\x7E\xCE\x6E\x94\x7F\x71\x37\x29\x85\x1A\x8D\x11\x8A\x9E\x32\x83\x48\x85\xA7\x4D\x35\x87\x01\x7B\x24\x99\x0F\xAD\x0A\xDB\x83\x50\x84\x57\x3B\x94\x87\x77\x51\x20\x8B\x81\x43\x08\xD4\x4B\x57\x85\xE2\x55\x96\x80\xD3\x65\x99\x3C\x12\x8C\x07\xEE\x84\x85\x73\x0E\x87\x32\x7B\x3B\x84\x26\x80\xC1\x66\x09\xBF\x57\x68\x84\x9A\x52\x9A\x85\x4B\x8C\x26\x8C\x10\x80\x0B\x83\x82\x70\x84\xB7\x83\xB3\x80\x30\x64\x27\x8E\x97\x76\x09\xD4\x4B\x25\x85\xF0\x83\x89\x82\x36\x8A\x27\x9A\x16\xB8\x04\xDB\x83\x2F\x84\x1E\x85\x8C\x83\x3C\x83\x7D\x61\x14\xA4\x0B\xBE\x6E\x84\x84\x1E\x5F\xA1\x80\x04\x89\x28\x88\xFA\x6A\xF7\x0C\x85\xA5\x85\xF7\x82\x6C\x86\x48\x85\xA3\x72\x0D\xAB\x0A\xF6\x64\x44\x85\xFC\x45\xAC\x81\x7F\x4E\x24\x9D\x0F\xB0\x0A\xFE\x83\xB2\x83\x5A\x87\x3B\x77\x56\x80\xF5\x45\x10\xB6\x06\xD9\x30\xBE", + "\x84\x0E\x85\xB4\x83\x52\x73\x2D\x8E\xE5\x22\x09\x8C\x5B\xC5\x85\x3D\x76\x6C\x81\x59\x85\x7A\x7B\x0E\xB2\x09\xEF\x84\xCD\x85\x2F\x86\xB0\x80\xFD\x7D\x30\x80\x93\x55\x0B\x90\x6E\xD7\x84\x17\x4D\xB6\x87\x8D\x36\x8A\x28\x11\xB7\xAC\x5D\x85\x24\x87\x88\x00\xFC\x60\x4C\x61\x2E\x88\x14\xB9\x61\x5B\x83\xE0\x83\x94\x87\xFA\x5B\x3B\x86\x23\x9E\x16\x89\x04\x05\x85\xC4\x72\xE9\x77\x63\x83\xFC\x61\xF0\x61\xE5\x00\x09\xF0\x54\xFD\x70\x4A\x82\x49\x6A\x36\x89\x2F\x90\xC6\x74\x0B\xA0\x70\xA9\x84\x2A\x5F\xBD\x85\x23\x80\x15\x8B\xDD\x54\xEB\x3F\x77\xFD\x84\xD6\x80\x69\x87\x86\x6E\x34\x82\xD7\x45\xE5\x54\x7F\x1B\x82\xC6\x58\xC1\x86\x4E\x69\x2B\x80\xC1\x76\x03\x85\x6F\xB2\x83\x84\x85\xC4\x5F\x62\x8C\x70\x7B\x18\x9F\xB2\x0F\x86\x77\x69\x88\x86\x4A\x5F\x58\x8E\x2E\x74\x18\xB7\xD1\x4B\x85\x77\x68\xB2\x87\x42\x76\x6C\x86\x27\x72\x1B\xB1\xD1\x0B\x86\x8F\x78\xC6\x7B\x47\x5E\x02\x85\x35\x8C\xD9\x58\xE2\x26\x86\xA6\x70\x94\x84\xAE\x35\xB6\x53\xE6\x4D\x19\xAC\x0B\xAF\x86\x53\x86\xE3\x56\xB9\x85\x6F\x8C\xD0\x45\x0F\x99\x0D\xDB\x4B\xEB\x84", + "\xC4\x81\xBB\x85\x32\x34\x2A\x9E\xBA\x68\x06\x8A\x53\xAA\x82\x0E\x72\xBD\x82\x49\x8F\x2F\x9B\x0E\x91\x0D\xD1\x84\x99\x87\x21\x76\xA0\x85\x1A\x7B\x1D\x82\x18\xBC\xE1\x5B\x86\xBF\x57\xAE\x84\x4D\x53\x57\x89\x0F\x8A\x0B\xB2\x06\xF6\x86\x74\x71\xD7\x60\x60\x60\x6D\x82\x6E\x4A\x1B\xB7\xD1\x6C\x86\x8C\x5A\xB7\x86\xB8\x48\x6E\x8A\x30\x99\x18\xB1\x09\x9D\x86\xCE\x66\xE0\x86\x37\x4A\x78\x87\xB5\x5F\x18\xB7\xD1\x21\x86\xC5\x57\x91\x87\xE0\x83\x5B\x8B\x1D\x82\x1C\xA6\x6A\x04\x87\xA1\x86\x4D\x41\x19\x63\x74\x81\x33\x8B\x1E\xB3\x0C\xD1\x87\x00\x01\x9A\x86\xCC\x87\x66\x8A\x2E\x9C\xC9\x42\xF0\x7D\x71\x43\x7B\x0E\x7E\xE7\x6E\x1B\x3A\xD5\x6C\x04\xAA\xFB\x49\x80\xAF\x81\x34\x83\xF9\x87\x52\x75\x34\x8B\xBA\x55\xA1\x52\x82\x8F\x86\x71\x4D\xD2\x82\x21\x8B\x34\x9C\x08\x99\xB1\x6F\x87\x5F\x82\xDD\x7F\xE7\x84\xF6\x64\x35\x81\xD7\x67\x06\xFE\x87\xAE\x83\xF1\x64\xD6\x83\x26\x8F\xFA\x68\x1D\xA8\xA4\x2A\x87\x2A\x5B\xAF\x84\x95\x5A\xFC\x7F\xFA\x62\x1B\x80\xFF\x30\x87\x97\x74\x08\x88\x40\x74\x76\x8A\x82\x76\x1D\x8B\x05\x8C\x43\x7B\x86\x9D", + "\x7F\xD9\x75\x22\x88\x3F\x9D\x0D\x8C\xEA\x02\x88\x8B\x74\x84\x70\x08\x8E\x83\x82\x42\x81\xCA\x65\x04\xEA\x79\x43\x82\x8F\x84\x25\x5C\x6F\x80\x40\x91\x98\x78\x09\xD4\x71\xCE\x86\x41\x34\xF4\x86\x84\x8B\x92\x7F\x13\x99\x10\xBA\x76\x34\x85\x1B\x89\xE3\x81\x5D\x8E\x30\x67\x0F\x8F\xB1\x6B\x6B\x9B\x83\xA1\x87\x76\x85\x7D\x87\xB5\x47\x1A\x8F\xCD\x3C\x5C\xF5\x86\x74\x78\x11\x8F\x4E\x7B\x2F\x90\xC6\x7B\x0F\xE0\x64\x4D\x89\x9B\x55\x14\x8C\x2C\x6C\xE3\x46\x1D\xB9\xDD\x3C\x5C\x08\x89\x3B\x6A\x02\x8E\xC5\x4C\x40\x94\x2E\x4E\x10\xE5\x86\x78\x86\x7F\x74\xF1\x87\x4E\x74\x41\x80\x9A\x56\x10\xAA\x70\xB8\x87\x3B\x6A\xEE\x80\x62\x7C\xE3\x52\x20\x8E\x0B\xF4\x86\x20\x70\x37\x8A\xC6\x81\x8C\x85\xFE\x46\x1E\xBE\xB5\x48\x87\x20\x70\xE5\x87\xF3\x84\x79\x89\x38\x91\x21\xB4\x63\x33\x88\xE6\x83\x1A\x8B\xCE\x83\xB7\x59\x38\x95\x1E\xBB\x11\xD7\x87\x97\x83\xCA\x80\x0F\x8B\x84\x89\x10\x11\x1C\xAB\x08\x93\x87\x4C\x38\x4F\x7D\xF9\x80\x54\x58\xB5\x0A\xBF\x13\x12\x9B\x5D\x8D\x81\x08\x7E\x7C\x66\x92\x8C\x0A\x81\xE5\x2E\x02\xB3\x06\x92\x89\x4E\x88", + "\xF8\x56\x15\x82\x44\x98\x1E\x8B\x11\x82\x60\x46\x88\x88\x6F\xFC\x86\x4E\x69\x44\x89\x09\xA7\x12\xCC\x71\x3C\x5D\x27\x88\x34\x73\x8A\x8C\x44\x9C\x71\x73\x0A\xEE\x65\x56\x89\xF2\x5E\x01\x88\xE2\x69\x45\x89\xAA\x5B\x11\xB9\x65\x61\x87\x36\x8B\x18\x8A\x5A\x80\x47\x8E\x97\x65\x11\xF8\x5F\x67\x88\xE0\x7D\x1A\x89\xA9\x6B\x46\x80\x9A\x7C\x0E\xE3\x86\xC3\x88\x86\x85\x31\x89\x64\x73\x4D\x91\x1B\x91\x13\xD0\x83\x1D\x88\xF0\x64\x8F\x5A\x8F\x82\x43\x9C\x23\x89\x12\xEE\x67\x98\x71\x95\x84\x40\x76\x70\x82\x39\x88\x1C\x9F\x13\xE5\x85\x93\x83\x40\x88\x79\x83\x91\x84\x43\x84\xDA\x4D\x05\xAB\x34\x3B\x81\xD7\x71\xA1\x5A\x04\x34\xD2\x62\x25\x83\x6B\x1F\x89\x51\x4D\xA6\x7A\x3D\x8E\x94\x38\x4F\x8A\x87\x7A\x13\xF5\x77\x47\x7E\x53\x88\xD1\x84\xC7\x59\x4A\x97\xA3\x6B\x12\xA0\x70\xAD\x89\x0B\x89\xF0\x7C\x7F\x81\x8D\x6A\x27\xA6\xDD\x63\x5C\xB4\x88\x19\x72\x2D\x8D\x8A\x89\x4D\x92\xDB\x49\x0E\xBD\x89\x11\x5F\x5F\x8B\xEF\x55\x8B\x8E\x62\x5F\x22\xB3\x0D\xF4\x88\x88\x77\x6B\x88\xBF\x4F\x98\x8B\xA4\x49\x26\x95\xCD\x4B\x89\x11\x5F\x66\x88\xFE", + "\x5F\x99\x80\x34\x72\x23\xBF\x0E\xD5\x89\xB0\x6E\x91\x88\xE6\x52\xA6\x8E\x59\x75\x28\xBE\xDE\x5B\x89\x2F\x88\x86\x8A\x1F\x8A\x15\x30\x48\x97\x1A\x82\x12\xDD\x83\x36\x47\x31\x5E\x21\x8D\x9B\x88\x48\x8E\x28\xA8\x0B\x83\x89\x00\x00\x9C\x87\x06\x8D\x91\x8E\x3D\x98\xF4\x76\xB9\x60\x7A\xCE\x7D\x20\x5D\x3D\x88\xA0\x84\xD8\x63\xD0\x0F\x15\xC9\x7A\x3B\x7D\x4C\x88\xD8\x78\x00\x07\x55\x99\xEA\x7B\x13\xAF\x38\xAE\x80\x40\x83\x77\x6B\x7D\x8E\x08\x94\xE1\x1A\x15\xE9\x87\xE6\x87\x80\x89\x3B\x8E\x3D\x81\x3F\x9D\x4E\x6F\x12\xF9\x86\x00\x01\x82\x8A\x42\x8F\xA0\x87\x74\x62\x08\x09\x14\xE5\x81\x2B\x75\x1E\x89\xFE\x85\x2F\x75\x54\x8D\x2B\x80\xCD\x11\x8A\xC2\x6C\xC0\x88\x5C\x8F\x96\x88\xCE\x79\x25\xAC\x03\xD8\x7F\x7F\x71\x6F\x72\x5E\x8F\xFB\x7A\x43\x8D\x1D\x8C\x12\xEC\x6D\x49\x83\x60\x84\x48\x8D\x9D\x7E\x52\x9B\xC2\x6B\x10\xC2\x83\x0C\x83\xC7\x73\x62\x8C\xED\x7E\x8D\x62\xAC\x79\xDB\x24\x88\x85\x77\xC8\x88\xB4\x86\x77\x81\x8E\x61\x21\xA1\x16\xA9\x88\x6D\x84\x98\x88\xC3\x77\xE3\x6D\x92\x6C\x21\x9E\xDC\x7E\x86\x48\x8A\xC0\x85\x67\x88", + "\x9C\x88\x54\x82\x27\xB4\xD2\x0E\x83\x40\x8A\xE1\x77\x65\x88\x87\x88\x54\x92\x25\xB2\xB6\x0A\x89\x48\x8A\xA5\x8B\x37\x81\x22\x0E\x48\x9B\x13\x90\x12\xC6\x8A\xF1\x84\x9F\x88\xF2\x58\xB5\x88\x94\x6D\x2C\xB7\xFE\x04\x88\xD4\x4B\xBB\x8A\x52\x86\xAD\x86\x53\x9D\x1F\x94\xE3\x3E\x8B\xA6\x70\xC1\x8B\x54\x62\xBB\x8F\xFA\x64\x2C\x83\xE5\x06\x8B\xED\x79\x5D\x8B\x50\x70\xA3\x80\xFC\x7A\x28\xA1\xFF\x3C\x5C\x1E\x8B\x8B\x69\x65\x8F\x1D\x7B\x5E\x9C\xC3\x64\x14\x97\x6A\x26\x8B\x16\x89\x5E\x6A\xBE\x81\xF6\x7A\xFD\x6C\x14\xA1\x82\x34\x8B\x4F\x59\x7B\x8A\x8C\x8A\x5A\x8F\x20\xB9\x17\xC6\x69\x76\x88\x5A\x77\x14\x65\xBA\x80\x75\x4D\xD9\x4F\x16\xA6\x72\xDA\x83\x03\x8E\xF4\x82\xA0\x7B\x56\x93\x11\xBD\x16\x84\x8C\xDA\x86\xEB\x84\xF7\x83\xB3\x81\x7E\x68\x2A\x9B\x06\xCF\x7D\x50\x8A\x38\x54\x86\x88\xAB\x8E\xF4\x76\xBF\x55\x15\xBD\x86\x5E\x8A\xAA\x8A\xE4\x78\xDB\x79\x61\x94\xB1\x64\x15\x9A\x89\xFC\x7C\x4E\x8A\x88\x8D\x15\x8C\x39\x89\x1C\xAF\x15\xD3\x62\x72\x8A\x15\x70\x5D\x8A\xA5\x52\x5D\x9E\x07\x99\xF2\x04\x8C\xDC\x8A\x2A\x5C\x76\x8B\xA5", + "\x68\x63\x84\x30\x9E\x17\xFE\x5A\xE0\x8A\x5A\x66\x10\x72\xC1\x83\x1B\x84\x32\xA6\x17\x90\x6E\x1C\x8B\xCB\x64\x81\x8B\xBF\x8F\xFA\x6C\x32\x94\xB9\x6F\x8B\x0C\x8B\xF8\x88\x35\x70\xA5\x80\xFC\x6A\x29\xBF\xEE\x77\x8B\xBF\x76\x27\x8E\x7E\x8F\xBF\x81\x47\x9C\x32\xAE\xCB\x5A\x8C\x00\x8D\xDD\x8A\x36\x8E\xB9\x8A\x88\x71\x2D\x84\x18\xBB\x8A\x25\x31\x9E\x88\x74\x8E\xC5\x44\x4E\x8F\x24\xA6\x13\xCC\x8B\xBF\x5B\xC5\x84\x7D\x89\x7B\x8B\x9C\x7F\x2C\x8C\x15\xC5\x76\x4C\x39\xF0\x31\xF8\x81\xAA\x8C\x92\x33\x2A\xA9\xFB\x6A\x8A\xC3\x5C\x3D\x8E\xEC\x76\xC4\x80\x68\x80\xEC\x42\x1A\xB6\x69\x7F\x8D\x0F\x8C\xC9\x37\xD0\x83\x66\x89\x34\xA3\x18\xD7\x82\x2D\x8D\x06\x8F\x67\x84\xC8\x83\x63\x83\xCA\x75\x18\xC2\x79\xC9\x8B\x35\x8D\xF1\x51\xC7\x8F\xC9\x5B\x31\xAB\xC0\x1C\x8D\x76\x64\x50\x8C\x08\x77\xC7\x8A\x82\x61\x32\x8C\x0D\xC3\x8C\x92\x8D\x80\x00\x79\x8D\x6A\x67\x64\x97\xA3\x49\x19\xA0\x70\xE9\x8A\x86\x88\x98\x8D\xCB\x8D\x5F\x95\x9A\x50\x19\x85\x76\x62\x8D\xF1\x85\xAA\x89\x20\x7B\xB2\x6A\xC1\x24\x19\xE9\x79\x0F\x80\x22\x8F\xAC\x8F\xCB\x8E", + "\x65\x94\x26\x93\x16\xC2\x8C\x7A\x87\xC4\x8B\xA0\x88\xCE\x8F\x80\x5C\x26\xBF\x11\xDE\x89\xCC\x8D\xD9\x59\x6E\x8B\x20\x06\x5B\x8B\x2A\xAB\xEA\x68\x83\xDE\x83\x5F\x8F\x50\x8F\xD9\x8D\x57\x9A\x34\xBF\xAE\x11\x8C\x87\x89\x09\x8E\xB2\x8E\x9D\x86\x61\x94\xD8\x2A\x18\x9A\x8C\x2D\x37\x73\x8C\xA1\x8A\xD1\x8C\xC4\x2E\xD9\x1C\x18\xD0\x80\x1E\x8D\x47\x8C\xC9\x36\xDD\x81\x62\x8E\x34\xAC\x18\xB4\x36\x7E\x8D\x75\x8E\xBC\x8F\x9C\x8D\x34\x9F\xDD\x6F\x18\xAF\x7F\x31\x8C\xE0\x7D\xA5\x8E\xAF\x57\x69\x80\xE8\x6C\x15\xDE\x8D\x34\x52\x51\x8E\xBB\x66\xD3\x8F\x8E\x6A\x38\x90\xDC\x0E\x8E\x77\x68\x52\x8C\xF0\x7E\xD4\x85\x57\x93\x64\x7F\x1A\xAB\x8D\xBF\x77\x56\x8D\x52\x6F\xD5\x8E\x2E\x71\x35\x91\x10\xC5\x8D\xD6\x89\x5A\x8F\xEF\x77\xD6\x80\x90\x72\x32\xBD\x1A\xBA\x8D\xD1\x8C\x0D\x89\xDB\x75\x77\x6B\x64\x80\x39\xB1\x14\xA2\x8E\xEA\x8A\x97\x8C\x34\x88\xE6\x87\x72\x8B\xE3\x48\x1C\xA0\x86\x04\x8C\x67\x8C\x4F\x88\xDA\x8E\x57\x92\x82\x68\x19\x9C\x30\x6A\x8D\x39\x8D\x9B\x8E\xB8\x8F\x66\x9D\x39\x84\x73\x5B\x8D\x3B\x8F\x6E\x8F\x9C\x88\xDC\x84\x54", + "\x82\x37\xA2\x16\xFC\x40\xC5\x8A\x9B\x87\x71\x88\xB0\x7C\xE5\x7B\x33\xA8\x1B\x8D\x02\x55\x8F\x65\x8D\x87\x8A\xD2\x55\x68\x9E\xF1\x6A\x1B\xD9\x8A\x27\x8D\xAD\x89\xD6\x88\xD1\x8A\x6F\x97\x37\x9B\xF9\x5F\x8E\x5B\x8F\x46\x61\xD7\x89\x14\x87\x1F\x61\x3B\xA8\x15\x80\x70\x67\x8B\x49\x61\xDC\x8D\xED\x8B\x76\x8F\x2D\x87\x1C\xF6\x8C\xFD\x8C\x83\x8F\xA9\x85\xB5\x84\x15\x99\x2C\x87\xFA\x2B\x82\xEB\x7F\xBC\x8F\x38\x7B\xAF\x84\x12\x89\x0D\x8F\x1D\x92\x67\x10\x8E\x85\x89\xE2\x8A\xC0\x82\x71\x93\xE6\x43\x10\xD6\x7F\xC4\x38\xF1\x8A\x9D\x72\xB1\x8E\x77\x8C\x2C\xA3\x1B\xBC\x85\x87\x8F\xFC\x46\xC7\x8C\xAF\x8E\x11\x9A\x81\x5C\xEC\x1D\x8F\x09\x60\xC6\x60\xB3\x8B\x05\x66\x72\x83\x01\xB9\x8F\x54\x8C\x8E\x8E\x95\x8F\x00\x84\xE5\x8C\x77\x80\x2D\xAD\xFF\x19\x8F\xA9\x8B\x63\x8E\x2B\x7E\xF5\x85\x00\x83\x3D\xAC\x17\xB2\x8E\x17\x76\xD6\x88\xE0\x8C\xB4\x61\x7A\x8D\x6D\x66\x19\xAD\x8F\x2C\x6F\x04\x8C\xEC\x8F\x66\x53\x74\x92\x3A\x85\x1D\xB7\x8E\x43\x72\xA4\x8D\x9A\x8E\xF0\x86\x7B\x8C\xDE\x75\x19\x89\x82\xC5\x57\xA8\x8F\xF6\x83\xEA\x88\x7C\x82", + "\x37\x7F\x1B\xD4\x5C\xD7\x8E\x85\x81\xC0\x8F\xFA\x7A\x39\x94\x30\xB6\x15\xEC\x76\x42\x85\xDB\x88\xE1\x8A\x51\x7A\x74\x96\x3B\xA4\xCD\x78\x8E\xA2\x86\xA3\x8C\x60\x65\xF1\x83\x67\x94\x38\x87\xEB\x70\x81\xC3\x8F\xA7\x48\xC6\x8F\x5D\x74\x60\x9C\x38\xAA\xB4\x1B\x8F\xBF\x8A\xDA\x8F\x47\x86\xFB\x89\x11\x88\x21\xAA\x1F\x92\x67\x24\x8F\xFC\x8E\xB3\x45\xF7\x89\xF7\x5C\x3F\xBC\x1A\xD9\x76\xAC\x8F\xCB\x8F\x30\x78\x0E\x78\x7E\x9D\x3F\x81\x1B\xF1\x8F\x14\x76\xDC\x8C\x7E\x8C\xE6\x88\x80\x96\x39\x98\x1A\xA9\x5B\x0A\x91\x98\x82\x81\x88\x02\x92\x6D\x98\x36\x9F\x0B\x99\x90\x0B\x8C\x1B\x88\x08\x92\x71\x89\x4E\x9F\x3F\xA0\xC9\x4C\x8E\xDC\x8C\xA7\x8D\xF3\x8B\x2A\x62\x7D\x92\x30\x94\x1F\x98\x7D\x61\x35\x77\x8C\x25\x83\x66\x01\x83\x95\x37\xA5\x1D\x9E\x89\x03\x35\x1A\x93\x54\x7F\xAB\x87\xCC\x24\x25\x82\xDB\x59\x8F\xF8\x85\x5C\x8F\xA4\x8C\x03\x9D\x77\x84\x42\x86\xFE\x10\x8F\x17\x6A\x20\x90\xF3\x7A\x08\x9F\x6B\x46\x40\x8B\x1E\xC0\x7F\x4F\x91\xAA\x64\xFB\x8C\x1A\x7E\x7E\x9F\x3C\x96\x14\xC6\x90\x71\x62\x03\x92\xC6\x8A\x05\x76\x7F\x83\xCA", + "\x78\x1F\xD6\x8D\x14\x73\x07\x93\x0A\x93\xA6\x84\x81\x94\xD9\x41\x20\xE0\x90\x8C\x72\xE0\x8C\xCA\x8E\x04\x90\x8D\x76\x32\x94\xE3\x58\x8C\xD4\x71\x61\x8C\x00\x82\x02\x99\x65\x94\x43\xB1\x1C\xE5\x90\xE2\x8E\x35\x6F\x18\x94\x30\x8C\x84\x85\x30\xBF\x0D\xFD\x90\x3F\x8F\x03\x31\xD0\x8E\xFC\x8E\x27\x88\x2A\xA8\x00\xC8\x8D\x24\x91\x1C\x8B\x08\x90\x05\x99\x74\x8A\x41\xAC\x21\xB9\x86\xA7\x70\x3C\x8F\xB0\x5E\x15\x86\x75\x93\x27\xA0\xB8\x79\x8D\x60\x8F\xBA\x8C\xC2\x7B\xCB\x54\x3E\x9C\x41\xB5\x93\x61\x8A\x39\x32\xB9\x8E\xDB\x8A\x14\x9A\x89\x86\x3D\x83\x09\x84\x90\x77\x8E\xE8\x8F\xEF\x53\xFB\x87\x81\x98\xA8\x40\xCF\x56\x82\xBB\x8E\x9A\x83\xEF\x52\x09\x95\xCB\x7F\x1F\xAA\x22\xB4\x52\x0C\x8E\x8C\x81\x43\x8F\x11\x98\x86\x9B\x45\x95\x1F\x8C\x8F\xAF\x91\x57\x78\x04\x90\xA6\x62\x79\x98\x2B\x8C\xB6\x73\x8F\x83\x8E\xCB\x8F\x30\x97\x98\x5D\x85\x93\x3C\xBE\xE5\x31\x91\x64\x90\xD9\x8E\xFD\x84\x59\x82\x3B\x84\x0A\x94\x97\x67\x90\xC3\x8A\xBD\x5B\x1E\x95\x9D\x78\x7A\x8D\x45\xAE\x21\xC9\x91\xBE\x8C\x68\x90\xC7\x80\x0F\x92\x0F\x8D\xBC\x64", + "\x23\xD9\x91\xA0\x8E\x6F\x83\x09\x8A\x0C\x9C\x8B\x93\x2D\x80\xE8\x4B\x91\x70\x8A\x3C\x8B\x34\x93\xBB\x4A\x73\x8B\x3E\x97\x07\xE2\x91\x30\x76\xE1\x8F\x36\x96\x98\x65\x7C\x93\x3E\x87\x1F\xC8\x90\xD8\x3C\x39\x8F\x2D\x94\xB1\x5C\x88\x96\x47\x8E\x22\xBF\x91\xB9\x8E\x72\x8F\xB4\x8C\x67\x83\x82\x94\x45\xAD\xE8\x28\x91\x7B\x8F\xCA\x8F\x18\x5B\x1F\x98\x50\x9E\x09\x92\xCE\x0E\x92\x29\x83\x28\x93\x9C\x89\x17\x9B\xFA\x7A\x48\x94\xE3\x1E\x92\x35\x8F\xB3\x72\x44\x90\x36\x8A\x8E\x84\x9C\x50\x24\xDB\x47\x6A\x91\xDA\x82\x01\x95\x19\x92\x60\x9F\x42\xAE\x23\x8B\x90\x9A\x73\x56\x92\x1C\x91\x25\x88\x8D\x85\x2D\x9A\x23\xED\x91\x30\x6B\x6E\x90\x21\x95\xBE\x8A\x02\x9E\x2C\xBA\x1D\xE1\x90\xBB\x82\x8A\x90\xB1\x8F\x1C\x96\x93\x89\x47\xA3\x24\xC0\x92\xBE\x82\x9C\x92\xB0\x69\xC0\x83\x5D\x9D\x0D\x72\x23\xEF\x8F\xAA\x6B\x3F\x91\x4A\x91\x3B\x81\x4E\x87\x49\xA1\x20\x86\x91\x56\x93\x44\x93\x83\x8B\x2A\x94\x67\x8E\x1C\x88\x24\xDC\x8F\x4C\x83\x72\x8F\x8A\x35\xC9\x55\x62\x8D\x92\x73\x0C\x64\x92\x32\x90\xC7\x7D\x41\x66\xED\x87\x96\x88\x3B\xB0\x1B", + "\xDC\x8E\xEC\x8D\x61\x5C\x5A\x96\x06\x99\x89\x91\x4B\x80\xF6\x73\x92\x3B\x91\x15\x8C\x0E\x93\x2C\x9E\x96\x94\x04\x98\x5E\x67\x8A\x6D\x92\x4C\x91\xDA\x8C\xC7\x75\x8A\x9C\x3C\x82\x1E\x95\x90\x96\x87\x56\x90\x2B\x93\x27\x9E\x8A\x9C\x4A\x85\x1C\xD6\x91\xED\x78\x8C\x92\xE2\x89\x2B\x9C\x91\x84\xFF\x7E\x22\xAD\x91\x20\x92\xDD\x7F\x14\x91\x0A\x7D\x0E\x98\x47\x85\xAF\x45\x91\x09\x93\x2C\x93\x51\x91\x20\x0B\x85\x8D\x00\x98\x1E\xC2\x92\x8C\x5A\x97\x91\x51\x90\x26\x99\xB1\x72\x49\xB6\x21\xA1\x92\xD5\x4B\xAC\x91\xE9\x8D\x27\x95\x80\x83\x4D\x87\x20\xB4\x93\xE1\x90\x78\x92\x87\x84\x28\x91\xBD\x60\x36\x81\x25\xCA\x92\x7C\x71\x99\x92\x42\x8A\x38\x9B\x5A\x9A\x43\x80\x27\xA7\x60\x4F\x92\x2B\x92\x06\x92\x2A\x96\x9B\x81\x44\x83\x6B\x55\x8D\xE8\x91\x6B\x8F\x0F\x89\x3E\x4C\x95\x8A\x3E\x80\x1D\xCC\x8F\xC7\x93\xD7\x7D\x41\x97\x3A\x98\x23\x81\x46\x8A\x24\x9E\x90\x97\x49\x15\x35\x3C\x7D\x12\x96\x96\x9A\x3A\xB4\x25\x83\x93\x80\x92\xF3\x91\x5E\x96\xDE\x8B\x97\x84\xD9\x23\x27\xEA\x93\x6A\x93\xFB\x70\x5B\x90\x3E\x96\xD1\x7E\x44\x9C\xA1\x7D", + "\x89\x8D\x8D\x7F\x88\x7B\x93\x94\x83\xA0\x2F\x4F\xA4\x1D\xF5\x92\xFB\x8C\xD4\x93\x76\x4A\x32\x9A\x82\x64\x50\xA6\x26\x91\x92\xBA\x93\xA7\x4F\xC0\x8D\x38\x9C\x03\x89\x50\xBC\xFF\x61\x8F\xE5\x91\xB2\x74\x57\x95\x32\x98\x0F\x89\x3F\x9F\x25\xBF\x77\x99\x92\x9A\x77\x66\x90\x31\x90\x00\x15\x42\x87\x00\x9F\x93\x59\x92\x64\x90\x87\x95\x34\x90\x96\x9D\xE5\x46\x20\xAA\x93\xBD\x92\xE2\x93\x81\x90\x29\x9F\x41\x8E\x50\xAE\x98\x35\x92\xBD\x93\xD9\x91\xE1\x8D\x36\x9E\xA2\x87\x13\x99\x25\xF0\x90\x9C\x92\xA3\x91\x8D\x90\x43\x85\x8D\x86\x45\x83\x0F\xBC\x93\x06\x72\xD6\x92\xEA\x70\x20\x98\x1B\x7E\x4E\xB9\x27\x82\x94\x49\x6B\x7A\x90\x77\x91\x31\x8D\x9C\x8C\x0C\xAD\x22\xFD\x91\x2E\x91\x7F\x93\x4F\x95\x7F\x65\x82\x97\x50\x97\xD4\x5B\x93\x82\x90\xA4\x80\x92\x92\x05\x7D\x82\x81\x37\xAF\x20\xFB\x7C\x0F\x01\xBE\x91\x7C\x93\xAB\x81\xA6\x82\x4C\xAF\x25\xEA\x8E\x76\x92\x01\x79\x99\x95\x13\x9A\x97\x9C\x4F\xAB\x68\x6B\x94\xFA\x93\x1B\x92\x9B\x94\x64\x30\xA7\x85\x4B\xA8\x27\xF3\x93\x0D\x03\x3A\x95\x5A\x90\x7D\x8F\x97\x98\x53\x89\x04\x7A\x94", + "\xE7\x93\x33\x94\x61\x91\x4D\x9D\x80\x8B\x28\x9C\x28\x86\x94\x25\x95\xB8\x89\x56\x93\x41\x91\x9A\x8D\x2B\x56\x24\xE0\x64\x88\x95\x39\x8D\x86\x92\x00\x92\xF6\x39\x4A\x93\x2A\xBD\x91\x97\x95\x95\x8C\x52\x59\x2B\x9E\xA1\x86\x46\x9B\x97\x20\x93\xA9\x8E\x04\x60\x57\x94\x44\x93\x67\x8C\x49\xAB\x28\xE5\x7F\x3B\x95\x35\x85\x8F\x90\x37\x92\xA4\x8A\x00\x96\x29\x8C\x8A\x30\x95\x20\x94\x21\x6D\x24\x94\xA3\x9B\x52\x80\xCD\x5F\x91\x1C\x94\x1C\x94\x87\x92\x45\x99\xA8\x9C\x55\xB3\x19\xBE\x95\x71\x91\xD7\x90\x87\x94\x29\x96\x63\x8F\x3A\x49\x27\xCE\x91\xB0\x8B\x85\x90\x23\x71\x2B\x9E\x9C\x9C\x98\x59\x25\xD0\x94\x5E\x94\x29\x94\x38\x96\xC1\x8A\xAC\x91\xA9\x69\x2A\x84\x92\xCF\x8E\xC8\x91\xF4\x8D\xA9\x8B\xE7\x71\x95\x64\x27\xAB\x7E\xA0\x6B\x40\x96\x5F\x96\xE8\x74\xA8\x9D\x56\xA2\x29\xFC\x94\xE4\x95\x00\x94\x60\x7E\x5B\x94\x9F\x8B\x03\xBF\x94\x69\x93\x5F\x6B\x3D\x96\xBB\x96\x55\x30\xAF\x8D\xA9\x71\x29\x80\x94\x66\x8E\x26\x38\xBB\x97\x3F\x97\xA7\x85\x4C\xB9\x21\xA9\x91\x39\x95\xC3\x90\xAB\x93\x08\x96\xAB\x98\x7F\x4C\x2A\xA1\x95\x0D", + "\x95\x82\x94\x91\x97\x14\x9C\x95\x99\x54\xB0\xD4\x14\x94\xED\x78\x87\x95\x60\x89\x2B\x9B\xA1\x86\x4C\xBF\xCD\x34\x95\x88\x8B\x6B\x97\x55\x59\x2B\x94\xAA\x94\xC6\x66\x2A\x89\x95\x28\x94\x59\x96\x03\x97\x37\x9F\xAA\x9F\x38\x80\x29\xAB\x7F\xB1\x95\xD5\x7E\x8C\x91\x42\x97\x7A\x99\x4A\xB8\x2A\x96\x96\x88\x57\xAC\x90\xB0\x90\x36\x93\xB3\x9A\xFD\x75\x2C\xB4\x76\x37\x97\x7F\x96\x0D\x7A\x61\x97\x51\x67\x56\x8C\x28\xAE\x88\x1B\x90\x9E\x96\xE4\x65\x59\x93\x89\x65\x59\xA3\x13\xD3\x87\xD9\x92\x2A\x5E\x75\x91\x4B\x95\x7E\x93\x56\xB1\xCC\x59\x95\x3E\x95\xAB\x55\x97\x95\xE9\x8F\xA5\x9B\x44\x83\x04\x0E\x00\xE7\x95\x79\x94\xA0\x7A\x20\x08\xB5\x86\x53\xA3\x2B\xEB\x4C\x7E\x95\xAB\x95\xD6\x95\xAC\x89\xC5\x35\x57\xA2\x2D\xDE\x96\x63\x95\xF6\x79\xD8\x94\x6B\x93\xB6\x83\xFC\x4D\xC4\x66\x96\x6C\x96\xB4\x94\xBA\x90\x6C\x9E\xAF\x9B\x2A\x9D\x2D\xEC\x94\xFB\x93\x7B\x89\x1F\x91\x52\x99\x84\x99\x4A\x8B\x26\x81\x96\xCF\x8B\x56\x93\x63\x91\x6A\x9F\x92\x99\x34\x98\x26\x94\x93\x96\x95\xC4\x94\x57\x95\x62\x9A\xB3\x97\x58\x9E\x26\xBF\x57\xA0\x95", + "\x42\x96\x88\x90\x66\x90\x00\x1D\x58\xB0\x26\x9F\x96\x73\x8D\x90\x97\xEA\x79\x67\x9D\x8B\x9C\x5C\x9A\x2A\xFF\x68\x1A\x97\xDA\x86\x91\x93\x0D\x96\xB4\x90\x44\xAF\x2C\x8D\x97\x31\x96\xAE\x92\xE7\x94\x73\x72\xAC\x98\x59\xAD\x2E\x94\x95\x2C\x95\x12\x8A\xD0\x97\x52\x74\xAC\x8D\x45\xBE\x2C\x8D\x95\xCB\x93\xDF\x8D\x93\x92\x1F\x99\xB4\x9F\x64\x50\x2B\xD4\x96\xD2\x94\xC2\x97\x0A\x82\x11\x91\xBA\x9D\x4E\x58\x29\xC3\x4C\x18\x97\x0A\x8D\xB5\x97\xC2\x8B\x35\x0D\x5B\x94\xFE\x25\x30\x33\x06\x08\x02\xF3\x97\xED\x88\x49\x8B\x5B\x81\x04\x52\x97\x72\x96\xAD\x96\x7C\x95\x6E\x92\xF5\x60\x00\x18\x2F\xF8\x96\x72\x94\xBD\x97\x8A\x37\x7B\x97\xAF\x9D\x57\xA5\x2B\xD6\x96\x02\x02\xF2\x96\x9D\x92\x50\x90\xB7\x97\x5E\x93\x2F\xA4\x91\xE7\x96\xED\x97\xF3\x92\x13\x63\x77\x83\x2B\x9C\x2F\xF0\x97\xEA\x94\xF6\x97\x28\x94\xEE\x81\xBF\x84\x5B\xAF\x2B\xEE\x8E\x06\x82\x81\x97\x44\x87\xC6\x8E\x0E\x87\x66\x7F\x2D\x84\x97\x02\x61\x83\x97\xC2\x94\x32\x5F\xA8\x83\x58\x89\x26\x83\x92\x35\x6B\x6E\x70\x38\x83\x81\x97\xB5\x52\x58\xBA\x22\x96\x98\xD3\x7E\xAB", + "\x85\xE9\x94\xFC\x8E\xB6\x7D\x5D\x96\xEE\x70\x8F\xB3\x96\x9A\x77\xE4\x93\x80\x9F\x74\x56\x5C\x82\x2F\x87\x84\x1B\x99\xCF\x94\x25\x65\x80\x9F\x0F\x87\x59\x83\xFF\x6B\x91\x24\x96\x0A\x98\x19\x8A\x82\x98\x59\x85\x5E\xA7\x2A\xAC\x60\x8F\x97\xB6\x84\x0D\x9C\x83\x8C\xC2\x9B\x4D\x92\x23\xC9\x7F\x21\x8F\x1F\x98\x37\x83\xE6\x82\xC4\x9F\x50\xB4\x1A\xC5\x98\x9E\x94\xBF\x59\xED\x90\x82\x99\x54\x77\x5D\x85\x2B\xD4\x5C\x4A\x94\xA6\x94\x93\x96\x86\x95\x35\x64\x5A\xBC\xEE\x21\x98\xB0\x97\xAB\x91\xB5\x97\x10\x96\x0E\x97\xB9\x42\x24\xDA\x95\x20\x71\xE3\x94\x4E\x71\x87\x9A\xD2\x53\x5A\xA9\x20\xD5\x96\x27\x99\xE5\x8A\x07\x98\x18\x73\xBA\x84\x58\xAB\x31\xA8\x52\x0A\x99\x29\x97\xEE\x7F\x8D\x90\xC4\x8A\x28\xBC\x2D\x80\x97\xD6\x8A\x30\x98\x2E\x95\x8D\x99\xC7\x88\x60\xB0\x12\xC9\x97\x9B\x94\x40\x98\x95\x74\x8C\x97\xA5\x7C\x63\x85\x19\xD4\x98\x4B\x54\x13\x98\xE5\x90\x73\x9C\x98\x9A\x5C\x90\x03\xBE\x93\x49\x93\x14\x98\xEB\x96\x85\x97\x58\x8A\x20\x42\x32\x8B\x82\x88\x99\x8B\x6A\x4E\x96\x69\x9C\x93\x84\x61\x94\x97\x3A\x95\x0E\x98\x48\x99", + "\x8B\x90\x8B\x96\x8A\x6B\x5D\xA9\x28\xAF\x97\x1C\x99\x56\x96\x49\x82\x86\x92\x01\x9B\x61\x87\x29\xF4\x98\x43\x73\x28\x99\xFA\x64\x90\x98\x9B\x6E\x52\x8C\x31\xDD\x53\xBF\x97\x33\x99\xF0\x96\x05\x8C\x4C\x7F\x62\xBE\x31\xEF\x60\xEC\x88\x52\x9A\x0A\x9E\x8C\x9D\x88\x88\x63\x9B\x2D\xA3\x83\xE5\x96\xF6\x7B\xCC\x05\x32\x5F\xAD\x9A\x5F\xB7\x2F\xA1\x91\xFC\x97\xFC\x94\x2B\x9D\xA1\x6E\xCA\x82\x60\xAC\x2C\xB4\x76\x07\x98\x5E\x98\x1F\x71\x8E\x9A\xC7\x90\xB8\x43\x2E\xDA\x99\xB2\x91\x8A\x8E\xA1\x90\x9C\x95\xFE\x58\x60\xAF\x30\xD8\x93\x92\x99\xC0\x8E\x85\x93\x9A\x9D\xB5\x60\x3F\x9A\x30\xEC\x99\x53\x63\x4E\x95\x53\x91\x51\x91\xB9\x97\x65\x80\xCD\x23\x98\xD7\x98\x48\x92\x22\x9E\x93\x9C\x45\x95\x66\xA1\x9F\x34\x99\x2A\x70\x53\x98\x45\x82\x47\x92\xCC\x8B\x4D\xA8\xCE\x00\x9A\xC0\x7F\x95\x95\x43\x80\xAE\x8B\xC9\x9F\x65\x84\xDC\x6E\x99\x3C\x98\x84\x9B\x04\x90\x89\x93\xCF\x95\x43\x94\x32\xA3\x82\x73\x88\xD2\x8A\x38\x81\xF6\x8A\xD1\x88\x09\x8A\x31\x8D\x98\x18\x48\x27\x98\x3C\x9F\x4E\x81\xB4\x90\x65\x88\x2B\xC1\x8F\x55\x93\x1E\x9B\xEB", + "\x79\x97\x95\xCC\x9B\x65\xBC\x33\xC6\x69\x38\x6E\x00\x00\x10\x00\x27\x5C\x01\x00\x00\x00\x81\x80\x9F\x74\x85\x82\x83\x83\xFF\x0A\x02\x81\x8B\x2B\x87\x80\x84\xFF\x04\x0E\x80\x00\x8D\x89\x89\x89\x16\x90\x92\x8E\x89\x88\x87\x8D\x85\x1D\x87\x9F\x82\x81\x96\x83\x91\x80\x25\x85\xA7\x8F\x89\x93\x94\x8B\x94\xFF\x02\x13\x96\x28\x88\x8B\x89\x97\x29\x8A\x8E\x81\x55\x9E\x8D\x9F\x92\x2E\xB0\x97\x9C\x80\x99\xA1\xA3\x9F\x21\xC6\xAD\x88\xAD\x8A\xA4\xA0\xA6\x19\xB2\x8E\x84\x10\xAF\x7F\x9A\xA1\x3A\x8B\x84\x35\xAE\xA1\xA5\xAB\x8A\x5D\xCD\x9F\xBA\x83\xB6\x9C\xA3\x94\x52\x8B\xA4\x3C\xA5\xB2\x91\xB6\x93\x6F\xAA\xB1\xA4\x81\xB1\x8D\xBA\x8B\x69\x82\xAB\xA7\xBE\xB4\xBE\xAE\xBF\x62\x80\xF6\xB3\xB3\xA0\x93\xA2\xC1\x16\xF7\x95\x99\xB1\x84\x2C\xB6\xC4\x60\x84\xCA\xC4\xB0\xCC\xCA\xC3\xA5\x95\xE6\x97\xC5\x9C\xC0\x81\x21\xC7\x9B\xFF\xA1\xC1\xC3\xD3\xC1\xCD\xBE\xA5\x89\xD2\xC4\xCD\xC8\x03\x08\xD0\x24\x87\xE9\xD1\xC7\xD0\xB9\xDA\xB9\xB7\xF4\xAB\xD9\xD5\xC1\xD8\xCD\xD9\x96\xBE\xCF\xBC\xD3\xCA\xCE\xE0\xD1\xC7\x9D\xAD\xDB\xB9\xD5\xE0\xD5\xE4\xA6", + "\xC0\xC6\xE8\x92\xD8\xEA\xD4\xE2\xAC\x93\xB0\x10\xD4\xEF\xDE\xEA\xDA\xD2\xCF\xDD\xE3\xE1\xF6\xD9\xF2\xDC\xE7\x84\xAD\xCD\x88\xC6\xE6\xF3\xEF\xC1\xE3\xC8\xF2\xF4\xD0\xFB\xE8\x96\xE4\xF6\xC7\x8D\xDB\xED\xF7\xDD\xF4\xBD\x74\x71\x76\x7E\xEF\x42\x87\x74\x80\xEE\x45\x4C\x7C\x77\xF8\x73\x7D\x81\x7D\x06\xA0\x74\x80\x7A\x13\xBA\x68\x74\x6F\xAD\x6E\x0C\x80\x4E\xF9\x51\x81\x7F\x83\x03\x9E\x87\x7C\x87\x0E\xA4\x80\x84\x88\x78\x53\x46\x13\x86\x42\x49\x86\x84\x82\xFF\x55\x81\x80\x8A\x12\xA2\x82\x78\x8D\x10\x6D\x63\x0C\x8B\xD5\x76\x85\x80\x8E\x23\xAD\x81\x8E\x8F\x14\x84\x9A\x7B\x44\x3B\x3C\x8E\x76\x91\x33\xA6\x81\x88\x90\x37\x8E\x97\x82\x8C\x2E\xB1\x43\x45\x0F\x4A\x9D\x80\x97\x8F\x52\xB5\x8B\x95\x91\x5F\xAF\x82\x8D\x6B\x1F\x19\x95\x8A\x90\x17\xB0\x89\x9B\x98\x13\x60\x16\x9B\x89\x5D\x9F\x81\x9D\x90\x3D\xA1\x9D\x90\x9A\x00\xAD\x67\x09\x55\xAD\x66\x0F\x9B\x93\x73\x91\x98\x9C\x95\x43\xB6\x95\x96\x9E\x7C\x93\x4E\x9E\x7F\x6B\x8C\x95\x97\xA3\x85\x81\xAC\x96\x50\xAD\x62\x1F\x9F\x94\x8E\x91\xA3\xA1\xA6\x8D\xB6\x9D\x69\x18\x97\x9E\x92", + "\xA4\x98\xA3\xA2\x9C\xA6\x9A\xA8\x84\xA8\x87\x44\x05\x21\xA2\x9F\xA6\x86\x9A\xA5\x9D\xA9\x77\xB0\x4D\x6B\x55\xAF\xB3\xA0\xAC\xAD\x90\x9D\xAC\xAD\x76\x0E\x59\x0E\xA8\x9D\x4B\xB1\xAE\xAF\xAE\xC8\xB6\xA3\x47\x9E\x88\x7D\x93\xB2\xA0\xBA\x91\xB5\xB3\xAF\xC7\x8A\xBE\x40\xB3\xA9\x4E\xBC\xA1\xAA\xA7\xAA\xAC\xB6\xB1\xDF\xB4\xA8\xA1\xB3\x8A\x8F\xB3\xA6\xB4\x5A\x94\xB1\xB9\xB2\x68\x4B\xB9\xA2\x43\x8B\x8D\x72\xAF\xB4\xEC\xA9\xB5\xBF\x99\xE8\xA1\x4D\x68\x0F\xE6\xA4\xA7\xBC\x9C\xFF\x80\xA1\xC0\xA6\x9E\x93\x4D\x01\xBF\xA6\xA0\xBE\xB7\xC2\xDD\x8D\xC5\xC2\x43\x48\x15\x58\xAD\x4E\x13\x4A\x28\xC1\xAD\xF4\xB9\xB0\xC2\xC6\x02\xD6\xBB\x42\x10\x12\xC4\x69\x56\x40\x7E\x17\xCD\xAF\xBA\x1C\xC4\xCA\xB8\x9B\x0E\x62\x01\xC8\x6F\x23\xC1\x4F\x0E\xC9\xF3\xB6\xB9\xCA\xA8\x03\xCB\x63\x45\x0B\x2F\xC0\x81\xCC\x40\xEC\x72\xB5\xB5\xC6\x44\xF6\xC5\xD0\xBE\xED\x8E\x44\x4C\x62\x13\xE5\x4F\xCC\x00\x3C\x5B\xBC\xC2\xC2\x0E\xEB\xC5\xD5\xCE\xB9\x89\xDB\x40\x55\x4C\xE2\xC3\x47\x56\x88\x41\x03\x44\x05\x55\x4F\xD7\xC0\x62\x06\x04\x62\xDA\x43\x64\xC8\x66\xD9", + "\x55\x69\xFC\x63\x03\x44\x77\x4F\xDC\x00\xDC\x84\x71\xD0\x83\xDC\x0E\x75\xD3\x47\xDD\x52\xD7\xD7\xCD\xD6\x46\xC5\xE8\xD2\xE1\xCA\x53\x4C\x72\x75\x27\xD3\xD6\xD4\xD5\x90\xCF\xE2\xE4\xA5\x8A\xF4\xC3\xD0\xE2\x1D\xC7\xDB\xC6\xE6\x99\xDC\x63\x46\x63\x81\xD1\xE8\xD4\xB1\x98\xEA\xC3\xE8\xB4\x9C\xE9\x8E\x43\x67\xA1\xD3\xE3\xE0\xE9\x87\xF1\xEB\xE5\xE9\x38\xDE\xC2\x43\x6B\xAD\xE7\xE7\xB9\xEA\xB5\xFC\xE4\xE2\xEC\x9D\xC0\xF6\xEB\xEB\xA8\xF4\xEF\xEF\xEC\xC2\xFD\xEE\xE6\x43\x8B\xC6\x8D\xE2\xE0\xBE\xF0\xE8\xF3\xF4\xC1\xD4\xFA\xEB\x42\xFD\x42\xD8\xC9\xF4\xC5\xC9\xF7\xF1\xF5\xE0\xC3\xFA\xD6\x40\x41\xCC\xE5\xCE\xF7\xD2\xE1\xFA\xF0\xFA\xDD\xD6\xFA\xCE\x43\xD9\xE6\xF7\xE4\xFB\xBB\xC6\xF9\xFA\xF8\xF6\xED\xF1\x56\x76\x96\xDB\xF9\xFD\xFD\xF4\x7E\x5C\xF1\x00\x89\x70\x87\x1A\x41\x77\x03\x82\x80\xF7\x04\x8A\x7D\xEF\x78\x79\x80\x47\x4E\x23\x8A\x08\x8B\x80\x05\xBF\x7E\x82\x10\x98\x63\x05\x89\x6E\x75\xF1\x41\x23\x47\x14\x9B\x82\x06\x99\x8F\x78\xD1\x49\x84\x83\x94\x6E\x21\x92\x21\x84\x85\xF3\x6E\x7E\x81\xEB\x6F\x87\xFD\x6F\x7B\x20\x2C\x6C", + "\x82\x86\xFA\x6F\x80\x0E\x8C\x8A\x87\x06\x88\x24\x4C\xFD\x6E\x72\xEE\x18\x8B\x86\x22\xBE\x83\x3F\x6D\x41\x88\xF4\x22\x85\x85\x0E\x8C\x88\x58\x0B\x38\x5A\x75\x5A\x5A\x7A\x21\xA7\x83\x84\x45\x88\x87\x15\xCD\x89\x85\x28\xAF\x5B\x21\xF1\x52\x7E\xFF\x2D\x83\x7F\x2C\x98\x8F\x88\x3C\x94\x86\x40\x16\x57\x86\x34\x86\x8D\x87\x70\x91\x86\x1B\xDA\x85\x83\x08\x8B\x20\x54\x6D\x91\x8C\x0C\xFB\x83\x86\x3E\xB9\x82\x8E\x7A\x9D\x8F\x0F\xAC\x5A\x88\x13\xB5\x8F\x8C\x81\x9F\x8E\x1F\xE9\x89\x47\x9B\x05\x96\x89\x64\x83\x8E\x19\xDC\x86\x77\x80\x02\x59\x8F\x80\x99\x93\x22\xEF\x8A\x92\x41\x8A\x96\x93\x06\x23\x5D\xB6\x65\x58\x93\x4D\xB4\x8F\x89\x65\x93\x8C\x22\x9D\x98\x89\x6B\x5F\x8A\x20\x61\x8E\x7A\x0B\xAA\x94\x93\x43\xB5\x92\x84\xA2\x93\x88\x29\xD5\x8B\x89\x48\x96\x8E\x96\xB3\x89\x91\x28\xEE\x54\x5C\x78\x4F\x93\x88\xA7\x9E\x95\x2F\x93\x91\x98\x35\x81\x24\x5F\xA5\x80\x94\x27\xA6\x9B\x94\x6A\xB7\x92\x99\x0F\x6B\x23\xD9\x3C\x96\x90\x54\x92\x94\x96\xCD\x94\x99\x6B\x11\x6D\x6A\x98\x55\x67\x98\x5B\x81\x9E\x34\xC9\x9C\x99\x55\x4E\x20\x64\xE5", + "\x9E\x67\x44\x25\x61\x9B\x4F\xB6\x9C\x91\xEB\x95\x99\x3E\xD7\x95\x81\x85\x2E\x61\x9E\x32\x4F\x6B\xCC\x75\x98\x9F\x7B\x93\x9B\x9F\xEA\x86\xA0\x3B\xFB\x7E\x20\x9E\x40\xA4\x49\x4F\x65\x7E\x2C\xA9\x92\x99\x83\x8A\xA2\x9F\x17\xBC\x9C\x43\x8B\x2B\x69\xD4\x0D\x69\x24\x4F\x71\x68\x37\x90\x9D\x9D\x6F\x95\xA3\xA1\x27\xB8\xA1\x41\xC3\x93\x2B\x9E\x41\xA7\x6B\xE8\x80\x98\x45\xAC\x9B\xA4\x05\x55\x74\xA0\x16\xB5\xA4\x4A\xB4\xA9\xA7\x9E\xB6\x8A\x2F\x31\xBE\x9B\x2F\xC2\xAB\x99\x8D\x82\x20\x74\x23\xA8\x9A\x4A\xBE\xAB\xA9\x9D\x96\x98\x8A\x02\x2C\x75\x52\xE9\x93\xA7\xA7\x95\xA9\x9F\xAD\x38\x77\x54\xB2\xA6\xA4\x9E\x8E\xA8\xA1\x57\xB9\xA1\x42\xBA\xAD\xA9\xB2\x87\x57\xA6\x5B\xA4\xA9\x37\xD8\x94\xA4\x55\x8B\x40\xA7\x5F\xA2\xAD\x58\xE4\xAA\xA3\xEB\x64\x79\xA8\x6C\xAA\xA9\x5D\xDE\xA6\x4A\xF8\x78\xAD\xA4\x43\xB9\xAF\x15\xEF\xA9\xAC\xC1\x9C\xA9\xB0\x80\xAC\x49\x86\x7F\xA0\x9D\xB9\x8C\xAB\xAF\x8D\x92\x80\x63\xA9\xA0\xB2\xB0\x9D\xAA\x9C\x13\x20\x85\x61\x89\xBB\xAC\xCE\xAD\xA9\xA5\xAD\x2B\x87\x66\x8D\xB7\xB2\xCB\x88\xB6\xAD\x57\x53\xB0\x5F", + "\x95\xB2\xAF\x3C\x53\x25\x4C\x70\xA6\xAF\x58\x8F\xB3\xB7\x9F\x81\x26\x4D\xB1\xAC\xB4\x5D\xB5\xB2\xB6\x77\x9E\x8D\x98\x60\x8A\xB6\x55\xA5\xBD\xB5\xD3\xB6\xA9\x20\x52\x86\x40\x15\xE2\x86\xB9\xD5\xBC\xB2\xB7\x4C\xB5\x52\x70\xA6\xB5\xA8\xCA\xBC\xB7\x53\xD3\xA5\xB9\x75\xCE\xBE\xB1\xB8\xAC\xA3\x21\xAD\x59\xB7\x73\xE3\xBD\xBB\xB2\xB7\x51\xBB\xBB\xA5\xBC\x74\xDE\xB6\xA7\x60\x68\xBC\xB6\xEA\xA4\xBE\x6B\xAE\x90\xB8\x58\xAF\xBC\xBD\xF8\xBD\xB4\x71\xE4\xA9\x96\xE5\xBB\x94\xB9\xDB\xA3\xB9\x73\x82\xC1\xC1\x41\xB4\xBB\x94\xC6\x82\xBD\x7C\x8B\xCB\xBF\xE8\x84\x98\xC1\xC1\xAA\xC1\x83\xF9\xBB\xBC\xFD\x83\xC6\xC0\x0B\x30\x9B\x68\xD6\xBC\xC1\x0B\xDA\xBD\xB3\x46\xA1\x23\x36\x80\xC0\xC4\x0E\xD3\xC6\xC2\x05\xCD\x97\x42\x64\x9E\xA2\xAF\x4E\x26\x62\x12\xDE\xC1\x7A\xA7\xC5\xC3\xD6\x30\x9D\xC5\xE6\x8E\x20\x3D\x9B\xCC\xBA\x1A\xF2\xBA\xC6\xED\xBE\x9E\x4B\x90\xA3\x23\x81\xBC\xC4\xC0\x25\xDD\xC4\x90\xF9\xBD\x34\x87\xB8\xC2\x9E\x0E\x32\xA0\x8A\x15\xC4\xCB\x1F\xE9\xC7\xBB\x02\x3D\xA2\x75\x1F\xAD\x23\x90\xB7\xB8\xC5\x49\xC8\xCB\x67\xFC\xAD\x34", + "\xAE\x4F\xCF\xA5\x0E\x20\x6D\x6A\x6B\x6B\x21\x0A\x25\x6E\x60\x78\x7C\x34\x9B\x82\x2E\xCC\xB7\x70\xC8\x6D\x84\x3C\x6F\x42\x7E\x6E\x20\xC0\x69\x32\x6F\x32\x40\xD0\x93\x7A\xC2\x20\x3E\xCB\x26\xCF\x24\xC3\xCE\x98\xFA\xA6\xCB\x30\xD8\xC0\xA8\x31\xD7\xC8\x7C\xBE\xCD\xC2\xC5\xA8\xA9\xD1\x8C\xD5\xD2\xA3\x9F\xCA\xD0\xAC\x9F\x77\xCB\x55\xDA\xD1\xA7\x9C\xDD\x8B\xA8\xA0\xD5\xD1\xA3\xD3\xC7\x92\xE6\xB3\x22\xAD\x98\xD4\xAA\x94\xD1\xD7\xAA\xA1\xD2\xD6\x49\xD4\xC0\xD5\x99\xD3\xBE\x5A\x27\xD2\xD5\x5C\xF3\xD7\xBA\xFC\x71\xD3\xA6\xAA\xD6\xD6\x30\xE9\xD6\xC1\x51\xDC\xD5\xAD\xC3\xD3\xD3\x5F\xFE\xB2\x20\xF1\x73\xA3\xB2\xC7\xD7\xD7\x5E\xF0\xD4\x65\xD8\x6A\xDA\xB3\xD3\xDE\xD7\x62\xCB\xB2\xD8\xD4\xC6\xD9\xB7\xCC\xD5\xDA\x5D\xC2\x23\x82\x47\xD4\xB8\xB9\xE2\xD7\xDB\x62\xF5\xC1\xB3\xDA\xCE\xDC\xAE\xED\xDB\xDD\xD0\xB1\xDB\xDD\xB4\xDB\xDB\xAA\xAD\x36\x87\x74\xE4\xD4\xDE\xE1\xD9\xDE\xA5\x8E\x20\xB6\x7F\xC4\xD8\xDF\xF3\xC7\xB3\xC0\x8B\x28\xB6\x83\xCD\xDA\xDE\xD6\xCA\xE1\xBD\x8F\xCA\x97\x04\xCE\xE5\xDC\xFA\xD0\xE0\xB7\x83\xB4\xE2\xFF\x96\xE7", + "\xD5\x12\xE1\xE1\xC2\xEA\xA1\xDC\xE9\xA0\xDB\xDC\x22\xF1\xE0\xC9\xA5\xD1\x20\x3C\x97\xE4\xDD\x21\xE8\xE6\xCC\x80\xEC\xE4\x80\x21\xBF\xE5\x02\xE8\xE2\xCA\x86\xBB\x78\x47\xA0\xE3\xE5\x34\xE1\xE9\xCC\x9C\xEE\xBD\x93\xC2\xE8\xE8\x43\xE9\xE9\xCF\x82\x29\xB8\x14\x4B\xBA\xDA\x19\xFA\xE7\xC6\xCA\xE9\x83\xFE\x8E\xEF\xBF\x50\xFA\xE1\xD4\xA9\xE3\xEA\x5C\x9D\xE7\xEA\x1F\xF9\xEA\xD4\xDB\xE3\xE6\xAA\xE6\x8E\xEA\x52\x4F\xEB\x94\xA3\xEC\xE7\xB6\xDE\xB5\xEC\x4B\xEF\x9B\xBD\xDC\xE4\xED\xA3\xEE\xE9\xC4\x00\x23\xC6\xD8\xF4\xEA\xEB\xBE\xE3\xEE\xDB\x13\x2C\xC7\x96\xAE\xCB\x20\x18\xF8\xE4\xED\x6F\xF6\xED\xE2\x9E\x80\x21\x1B\xC3\xF1\xC7\x0B\x3B\xC7\xCF\xF7\xE6\xC5\xBA\xE6\xE8\xB5\x2D\x63\xCA\x9D\x02\xA3\xEE\xB8\xD4\xF2\xC9\x80\xED\xA2\xE6\xB4\x51\xA3\xCE\xCA\xF4\xB4\x96\xFE\xEA\xD2\x23\xF8\x2B\x89\x22\xA3\xF2\x8B\xE8\xEA\xEC\x9F\xFB\xD1\x4A\x80\x26\xCC\x8F\xF0\xCA\x56\x26\xF7\xF3\xCA\xE1\xF3\xD7\x46\xFD\xF4\xE8\xFF\xE9\x9A\x48\xC7\xF3\xE7\xB1\xF4\xF6\xA7\x8E\x28\xA8\xD8\xE8\xF6\xEF\x7C\xE4\xFA\xB8\x13\x22\xAA\xE7\xFE\xF2\xFA\x9E\xE9", + "\xF9\x3F\xB7\x7C\xF7\xD9\xDA\xFF\xF9\xD8\xE7\xF7\xF5\xD1\xF5\xE5\x4B\xFB\xE9\xFB\xE0\xE4\xFC\xFA\xC7\xB0\x21\x68\xEB\xE8\xF9\xE9\xEB\xFF\xF0\xD3\xF9\xD9\xE0\xDE\xF9\xFE\xE2\xE4\xCD\xB0\xC7\xFD\xEA\xE5\xFF\xDF\x90\x84\x56\x7D\xF3\x72\x7F\xB5\x72\x7C\x91\x5B\x10\x07\x4C\x7F\xA9\x7E\x7F\x07\x75\x7E\x92\x56\x7F\x0C\x8F\x70\xE1\x76\x80\x8F\x6F\x41\xDD\x71\x81\x18\x70\x7D\x35\x70\x00\xA2\x52\x80\x05\x87\x7F\xE3\x74\x80\x15\x80\x10\xFD\x6E\x81\xEA\x6A\x7E\xF9\x78\x59\x04\x77\x81\xDF\x71\x82\x44\x7C\x70\x2C\x88\x7F\x14\x8F\x7F\x71\x70\x10\x4D\x79\x76\x58\x7F\x7E\xFD\x7D\x82\x03\x89\x82\x23\x80\x00\x37\x8E\x4C\x00\x11\x4B\x3A\x8B\x80\x3C\x8F\x81\x18\x8D\x57\x0B\x1C\x46\x0A\x8A\x81\x3E\x84\x83\x55\x73\x11\x2E\x76\x82\x50\x87\x84\x27\x82\x82\x17\x5D\x1A\x37\x74\x85\x0D\x88\x85\x5D\x8F\x84\x58\x6E\x73\x52\x29\x73\x28\x83\x83\x5F\x8C\x78\x00\x07\x49\x4D\x83\x81\x20\x8D\x83\x00\x8F\x75\x38\x81\x76\x45\x8E\x84\x66\x82\x81\x65\x85\x83\x40\x8F\x4A\x01\x14\x84\x63\x88\x78\x32\x8D\x86\x48\x8B\x7D\xC8\x5A\x87\x43\x81\x83\x2E\x85", + "\x87\x19\x85\x7C\x83\x85\x5F\x7B\x86\x88\x6E\x80\x88\x57\x8F\x82\x02\x1A\x61\x5C\x86\x87\x5E\x86\x89\x60\x88\x6C\xDA\x4E\x88\x81\x8F\x87\x49\x83\x4E\xAC\x70\x13\x4F\x36\x78\x95\x89\x88\x77\x89\x84\xEF\x6F\x4E\xA1\x84\x31\x3A\x6C\x89\x91\x88\x88\x30\x78\x87\xFF\x47\x66\x44\x6E\x10\x46\x65\x8A\xB1\x88\x8A\x7E\x80\x5A\x3B\x3B\x8A\x4E\x33\x11\x52\x6D\x87\xF0\x77\x88\x90\x85\x85\x78\x70\x00\x5A\x66\x20\x5C\x69\x11\x5E\x60\x81\x56\x86\x8C\xC4\x8F\x89\x13\x18\x7B\xCA\x84\x78\x02\x1A\x66\xD6\x13\x67\x01\x16\x68\x02\x1A\x77\x28\x22\x68\x76\x2A\x8D\x00\x1C\x8D\x22\x61\x67\x7B\x34\x37\x6F\x6D\x67\xE6\x81\x68\x79\x68\x8E\x76\x6A\x8E\xCE\x8E\x89\xCF\x87\x86\xAA\x70\x7C\x6B\x87\x8A\xF3\x88\x89\x6F\x8C\x3C\xAE\x80\x8D\x8F\x8A\x8B\xCF\x6D\x18\xFD\x84\x8F\x00\x9B\x83\xC7\x85\x7D\xE7\x79\x89\xA6\x87\x89\x0B\x92\x89\x01\x1E\x6A\x09\x90\x8B\x64\x8C\x90\xB9\x89\x8F\x0D\x92\x91\xBB\x8A\x7F\xFC\x81\x8F\xD1\x86\x91\x15\x92\x8F\xC7\x8E\x7E\xC2\x86\x90\x1D\x90\x92\x25\x9C\x8B\xF5\x77\x8F\x14\x93\x91\x0A\x9C\x6A\x7E\x5C\x91\xFF\x8E\x91", + "\x2C\x9B\x8F\xD9\x60\x93\x9D\x87\x92\x31\x96\x92\x42\x80\x00\x09\x88\x8B\x33\x95\x8C\x04\x9E\x91\xAD\x18\x6E\x3E\x99\x91\x37\x99\x93\x38\x9A\x82\x0B\x1A\x59\x45\x93\x8C\x48\x9F\x94\x47\x97\x80\x02\x1D\x81\x11\x90\x94\xFA\x86\x95\x17\x95\x8F\x02\x15\x82\x55\x95\x90\x46\x8A\x93\x4A\x92\x10\x05\x7D\x94\x24\x90\x95\xAF\x8A\x95\xB7\x53\x90\x57\x9E\x95\x74\x88\x87\x41\x82\x95\x8D\x86\x93\x67\x9C\x96\x6C\x81\x85\x07\x65\x71\x11\x6A\x92\x2D\x9F\x93\x74\x94\x7F\x4B\x8A\x96\x59\x9D\x97\x14\x98\x5D\x72\x9E\x8F\x51\x93\x97\x32\x90\x55\x01\x1B\x85\x5D\x99\x98\x4E\x97\x98\x86\x9F\x83\xCB\x8F\x91\x49\x98\x98\x60\x96\x99\xEC\x79\x86\x80\x94\x99\x66\x91\x99\x59\x80\x87\x3B\x9C\x87\x9D\x91\x94\x97\x9E\x99\xA4\x99\x99\x6F\x9F\x83\xA2\x90\x99\xA7\x93\x9A\x6B\x92\x94\xA0\x90\x97\x85\x85\x98\xAD\x9C\x9A\xAF\x95\x9A\x61\x86\x83\x84\x80\x00\xAB\x98\x99\xAE\x91\x98\x8E\x95\x96\xB2\x90\x00\x94\x8D\x98\xB8\x97\x9B\x95\x96\x9A\xC8\x9B\x93\xDE\x83\x92\x5F\x99\x9C\xB5\x9E\x9B\x61\x91\x10\x82\x75\x8D\x90\x72\x10\xA4\x86\x9C\xD0\x9B\x9C\xB6", + "\x90\x9C\x98\x7F\x31\xBE\x80\x52\xF3\x4B\x99\x7C\x91\x9C\xFB\x63\x11\xB3\x89\x7B\x68\x6B\x10\xB7\x8A\x9D\xBF\x9C\x99\xDD\x90\x9F\xCB\x7B\x10\x4E\x6A\x9E\xB5\x8B\x10\xC1\x8F\x9E\xE5\x97\x9C\xDE\x98\x92\x1C\x51\x9E\x5D\x6E\x7A\xE4\x96\x94\xD2\x95\xA0\x9F\x9D\x52\x0F\x5B\x79\x30\x54\x9B\xDC\x96\xA0\xD1\x97\xA0\xF6\x84\x96\xCF\x9A\x9F\x04\xAA\x62\xC6\x72\xA1\x6D\x92\x98\x7B\x9A\x98\x00\x1D\x7C\xEE\x91\x9F\xFB\x9B\x9D\xFD\x9B\x93\x08\x93\x87\x75\x96\x9E\x19\xA0\x9B\x0E\x10\x91\x26\xA8\x8F\xFC\x92\x9F\xCA\x93\xA2\x20\xA5\xA1\x0F\xA5\xA3\x41\x67\xA1\x1F\xAE\xA0\x0D\xA1\xA3\x30\xAC\x5F\xFB\x78\xA1\x27\xAF\xA2\x21\xAA\x91\xF8\x93\xA0\x8F\x9A\xA3\x32\xAF\x83\x22\x94\xA1\x47\xAC\xA3\x43\xA3\x9C\x4B\xA3\xA3\x4D\xA6\xA3\x49\xA0\xA1\x02\x1D\x93\x39\xAE\xA4\x34\xAB\xA3\x54\xAA\x84\xE7\x66\xA4\xC2\x98\xA4\x3D\xAA\x89\x02\x1C\x94\x59\xAD\xA5\x4F\xA2\xA6\xA9\x8B\x10\x54\x9D\xA2\x2B\x9B\xA5\x55\xAD\xA5\xFC\x60\xA6\x13\xA2\xA5\xE6\x61\x10\x63\x97\xA6\x5C\xAB\xA7\x71\xAC\xA7\x5E\xA9\x96\x0C\xAD\xA7\x82\xA3\xA6\x83\xA8\x76\xA1\x94", + "\xA7\x29\xA2\xA4\xC0\x67\x97\x1E\x79\x97\x40\xAE\xA2\x22\xA4\xA8\x92\xA6\x72\x7A\x98\x91\x53\xAE\xA7\x67\x5E\x10\x53\x8A\xA7\x83\xA9\xA6\x5A\xA7\xA9\xB6\x56\x73\x88\xA1\xA4\x91\xAB\xA6\x62\x8E\x9C\x89\xA5\xAA\x70\xA3\xA9\x13\x1A\x86\x8F\xAF\xA6\xA0\xA2\xA9\x99\xAF\x5B\x10\x66\x5F\x81\xA2\xAB\xAB\xAE\xA9\xB9\x99\x87\x8C\x83\x9B\x95\xA8\x95\xB8\xA1\xAB\xB3\xAC\x74\xBB\x9D\x9B\x9F\xA1\xA6\xC7\xA5\xA7\x3F\x89\x9A\x16\xA1\x97\xBF\xAA\xA1\x96\xA8\xAC\x3E\xAE\x10\xC5\x9E\xA6\x1B\xA2\xAC\xB9\xAB\xA8\x9B\x87\xAB\xBA\xA8\xA9\xAB\xA0\x8A\x09\xA4\x7A\xE7\x4C\xAD\xD9\xA8\xAD\xE5\x56\x63\x00\xAC\x8C\xE3\x94\xAE\xE6\xA2\xAD\x7E\xAD\x1A\xE9\x96\x9D\xBA\x72\x10\xED\x96\xAD\xD1\xAA\xAC\xC9\xAF\x7B\x02\x15\x9F\xF2\xAB\x9E\x77\x5C\xAE\xEE\xAD\xA9\xDF\xA3\x13\xE9\xA6\x11\xCD\x8F\xAC\x28\xA4\xAA\x4C\xA7\x62\x65\x65\xB0\x15\x1F\x34\xD8\x8C\xA9\xC1\xA1\xB0\x13\xB8\x6D\x38\xA6\xAF\xC0\xAD\xAD\x02\xB1\x90\x00\x1D\x3C\x18\xB0\xAD\x19\xB5\xAE\x77\xAD\xA1\xA3\xA0\xA9\x0B\xB7\x9E\xAB\x35\xB2\xB0\xA4\xB1\xC3\xAF\x90\x2A\xB7\xAD\x2C\xB2\xB2", + "\xF8\xA8\xA6\x03\xBB\x91\x08\xBA\xA8\xED\xA3\xB3\x37\xA1\x10\x51\xAA\xA6\x32\xB9\xAA\xEF\x9B\x1E\x2F\xB7\xAF\x40\xB3\x9D\xED\x73\xB4\x21\xB9\xB3\x0B\x70\x6D\x48\xB0\xB2\x4E\xB2\x88\x00\x18\xA5\x1F\xB9\xB0\x26\xB6\xA7\x28\xBB\x10\x44\x92\xB1\x1A\xB5\xB1\x45\xB2\xA6\x3A\x2D\xB4\x54\xBB\xB2\x16\xB1\x10\x6D\xA8\xAA\x0A\xB6\xB5\x5D\xBC\xA3\x73\xA0\xB0\x3A\xBB\xB1\x0C\xBF\x5A\x60\xB8\xB3\x14\xBD\x1A\x0D\x7F\xAA\x30\xBD\xB6\x5C\xBA\x88\xBA\x9D\xAB\xBC\x91\xB7\xAA\xAA\xB4\x7A\xBC\xAB\xB5\xAE\xAC\x76\xB4\xB4\x67\xBE\xB3\x1C\xB0\x00\x4C\x85\xB8\x49\xB1\xB3\xB1\xA4\x98\x37\xBF\xB7\x8E\xB3\xB9\x63\xB2\xAA\x6C\xB9\xB6\x34\xBF\xB8\xA7\xAA\xB5\x3F\xB7\xB8\xF9\xA1\xB8\xAE\xAC\xB9\x80\xB5\xB5\x88\xB3\xB2\x82\xB8\x97\xB6\xA1\xB9\x27\xB8\xB9\xDE\xA9\xB8\xCC\xAB\xAB\xC6\xA9\xB9\x94\xBC\xBA\x85\xA1\x9B\xAA\x9E\xB7\xAB\xBE\xB9\xD3\xA4\xAB\xA8\xB4\xB8\xA2\xB3\xBB\xBA\xBD\xBA\x6F\xB4\xAD\xB8\xB8\xB6\xC1\xB5\xBB\x0E\x1D\x9C\xB9\xB4\xBA\x9F\xBC\xBC\xBB\xA5\x9D\x28\x23\x99\x0F\xB3\xAE\xAA\xB6\xBC\xCE\xB2\xBC\x95\xB0\x00\x8E\x7D\xAF\xF7", + "\x94\x32\xC5\xB5\xBA\x78\xBD\xB2\x00\x11\xAF\xD1\xB6\x8D\x32\x3F\xBD\xCD\xB2\xB6\x4B\xB1\x10\xFC\xA5\xBE\xD7\x9C\x10\xE8\xB2\xBB\xE1\xBC\xA1\xC8\x8E\xB0\x10\x17\xB0\x8C\xBF\xB4\x72\xB3\xBF\x89\xB4\x8D\xEE\xB3\xAF\x01\x11\xB1\xDF\x84\x18\x08\x0C\x5B\x09\x04\x18\x8C\x96\x27\xE0\x84\x2B\x05\xC9\xB8\x2A\x05\x15\x07\xCF\xBE\x00\x11\x05\xF1\xB8\xBD\xB4\xBF\xA7\x1D\xB5\xC1\x6E\xB8\xB7\xCB\x1A\xC1\x79\xB7\xBD\x4C\x6F\x69\x97\xB7\xBC\x1F\xC3\x98\xD4\x7E\xC1\x5B\xBB\xB5\x59\x58\xC2\x9D\xB0\xC2\x25\xC7\xB7\x17\xC6\xAA\x01\x1E\xB1\x66\xBE\xC2\x29\xCD\xC2\x1B\x8D\xB3\xE9\xB0\xC3\x24\xC2\xC3\x40\x3C\xC2\xA3\xB6\xC2\x2F\x95\xBD\xE0\xB1\xC3\x35\xB5\x93\x44\xCB\xC3\x86\xBE\xC2\xDF\x69\xC4\xF2\xB6\xC4\x9A\xBF\x80\x4E\xC6\xC1\x3D\xC8\xC3\xB6\x70\x00\x66\xA3\xB5\xFB\xB0\xC5\xC0\xBE\x97\x53\x90\xC4\x5D\xC2\xC4\x35\x40\xC6\xFC\xB3\xBC\x0B\x19\xA7\x5A\xC2\xB9\x65\xCC\xC1\x49\x43\xC2\x36\xC6\xC5\x34\x94\xAC\x7C\xB1\xBB\x54\xCF\xC6\x41\xCE\x90\x7B\xB3\xB8\xBE\xA9\xBF\x61\xBC\xC3\x4C\xC3\x11\x8B\xBF\xBB\x6B\xCC\xC5\x6C\xCA\xA9\x64\xC4", + "\xC8\x88\xC1\xB8\x09\xC5\xC3\xEA\xB5\xC5\x77\xC8\x86\x93\x97\xC3\x8F\xCD\xB8\xD9\xB1\xBA\x69\xCB\xBC\x8D\xC6\xC7\xA6\xBF\xBA\x3B\xBB\xC7\x82\xC9\xC8\x9A\xC5\xC8\xBC\xBD\xA8\xA9\xBC\xC7\x5B\xCE\xC8\x73\xB6\xBB\xCD\xAE\xC9\x97\xC6\xBD\x99\xCF\xCA\x57\xCC\xC9\xA1\xAD\xB7\x6E\xC0\xCB\x4B\xC2\xC6\x93\x87\xC8\xA8\xC3\xC8\x81\xBA\xBC\xAE\xCE\xC7\xB6\xC8\x96\x00\x10\xBD\x52\x22\xBD\xF7\xB4\xBD\xA6\xCA\xC6\xA0\xC8\xCB\x01\x1B\xBD\xFF\xBE\xAF\x01\x12\x79\x9F\xCB\xCB\xCB\xCD\x92\xF0\xA6\xBF\x08\x1C\x79\xB5\xC0\xCC\xDC\xC1\xC7\xEC\xB8\xCD\x07\x15\x7A\xDB\xC7\xCB\xDD\xC2\xCC\xF5\xB1\xAE\xAD\x7B\x13\xBA\xC1\xCA\xD5\xC8\x86\xFE\xB5\xCC\xE6\xB0\x10\x02\xCC\xC8\xE5\xCA\xBF\x91\xAD\xC1\xE3\xC4\xC9\xED\xC8\x87\x34\xC8\xC9\xF5\xCD\xC7\xDE\xC4\xB2\xF9\xC6\xCF\xFE\xC1\xD0\x00\x05\xA2\xF4\xC4\xCE\x0A\xDA\xCF\x81\xBC\xA2\x09\xDC\xD0\xEC\xC4\xCD\x12\xD1\xD1\x14\xDA\x54\xF8\xC3\xC5\x1B\xCB\xCF\xD2\x83\xC4\xC9\xC5\xD0\x10\xDC\xCC\x3F\xC3\xD0\x00\xDF\xD1\x78\xC0\x00\x3A\xCF\xC4\x13\xD1\xCC\x76\x98\xC4\x1D\xDF\xCB\x0B\xDB\xD1\x08\x8B\xCE", + "\x2A\xDA\xA2\x58\xB2\xD3\xFF\xC7\xCA\x5E\xC6\x81\x22\xD8\xD3\x33\xDF\x9D\x5F\xCB\xD3\xCA\xC9\xD2\x25\xDC\x95\xAD\xC5\xC4\x42\xD0\x8B\x40\x40\xD4\x1E\xD4\xD0\xC3\x95\xB7\xD3\xC5\xD1\x37\xD7\xCF\xAA\xC0\xBB\x36\xDF\xD2\x34\xD2\xC7\x7A\xC4\xCB\x18\xDF\xC2\x56\xDF\xA2\x94\xAD\xD2\x46\xD0\xD5\x48\xD2\x85\x55\xD4\xD2\x5D\xD9\x99\x8B\xCB\xD4\x23\xDC\xD4\xF3\x97\xAA\x6A\xDC\xD3\x51\xD4\xA4\x02\x16\xC9\x0F\xDC\xD6\x4A\xC6\xD6\x6E\x95\xAC\x65\xD6\xD7\x72\xA3\xD5\x9D\xCA\xD5\x60\xD7\xD7\x7C\xDF\xAE\x7E\xD3\xCB\x74\xC9\xD1\x47\xD8\xD7\x2B\xD8\xD5\xBD\xBC\xCA\x75\xDB\xD6\x90\xD0\xD7\x06\xD5\xAD\x8F\xD2\xD9\x8A\xD1\xD9\xFE\x9D\x8D\x7B\xD8\xD9\x41\xB1\x78\xE0\xC6\x10\xA3\x8B\xD9\x96\xD0\xD3\x02\x1E\xCC\xF0\xC2\xC1\x00\x02\xCD\x45\xD2\xD8\x9C\xDE\xD2\xB2\x8F\xD9\x05\x1A\xCD\x5B\xD2\xC9\x61\xC5\xD2\xED\xB7\xDA\x00\xC1\xD2\xB3\xD0\xC7\x97\xDE\xD3\x01\x19\x8C\xCF\xCD\xBD\x01\x1F\x7A\x4F\xDD\xD3\x41\xD2\xD6\x78\x8F\xCE\x15\x16\xCC\xD9\xCB\xA0\x6B\x6B\xB9\x28\x2F\x36\x78\x6C\x1B\x0D\xC7\x62\x11\xC0\x20\x69\xD0\x13\x0B\xC2\x14\xD5", + "\xD9\xBD\x77\x17\xDD\xD0\xC0\x10\x88\x65\xDC\x71\xDE\xDA\xA4\xD3\xC3\xA2\xD7\xDC\x20\xD0\x00\xFD\xC6\xDE\xAD\xD1\xD6\xEB\xDE\xA1\xAB\xD8\xD2\xC8\xD3\xD8\x21\xC9\xB2\x4A\xDE\xDE\xA3\xD7\xD5\x2E\xB9\xDF\xF0\xD5\xDE\xFF\xD7\xD6\x6F\xDA\xDE\x25\xDD\xDE\x01\xED\xDB\x04\xE3\xD6\x1C\xD4\xDE\x02\xEA\xDF\x09\xE8\x87\xF9\x9E\xE0\x03\xE3\xE1\xF1\x91\x80\x0C\xE8\xE0\x14\xE7\xE0\xFA\x2F\xA3\x17\xE6\xDF\x5C\xD8\xE1\xC3\x92\xB5\x95\xDF\xE0\x1E\xE4\xDB\xD9\xB9\xB5\xF3\xD5\xC7\xC6\xD9\xE1\x6A\xB0\x6F\xFE\xDC\xDA\xFB\xDE\xD5\x48\x29\xDE\x2C\xE4\xDF\x1B\x84\xD4\x23\xE5\xE3\x2A\xE0\xE0\xAB\xC0\x00\x68\xC9\xE3\x12\xE1\xE4\x1A\xE0\xB5\x00\x0E\xD4\x29\xE8\xD8\xF5\xDF\xDE\x56\xAB\x88\x59\xD7\xD8\x1F\xE5\xE2\xBC\xDB\xD8\x4C\xED\xD8\x80\xDD\xE1\x4A\xE6\xE3\x3C\xEB\xAB\x81\xC7\xE4\x4F\xE7\xE5\x3B\xE6\xD0\x9B\xAC\xE5\x26\xEA\xD1\x5E\xE7\xDF\xE0\x54\xE3\x42\xE0\xE3\x99\x91\xC9\x51\xE5\xE6\x5D\xEE\xDB\x00\x14\xD7\x3A\xE8\xE4\x2B\xE5\xE1\x85\xD8\xC1\x55\xE2\xE6\x6D\xE1\xE3\x24\xE4\xE4\xB2\xC8\xE7\x4E\xE3\xE6\x89\xD0\xE5\xAE\xBA\xD7\x2F\xE8", + "\xE5\x0D\xEE\xB5\x77\xEA\x76\x40\xE3\xE4\x7C\xE3\xE7\xAC\xA4\xBC\x87\xEF\xE5\x20\xEE\xE8\x99\x9E\xCB\x96\xE0\xE9\x82\xEE\x80\x2B\x60\xDB\x04\x11\xDA\x93\xE4\xE7\x59\xE4\xD8\xAA\x88\xCE\xA2\x8B\xAE\xBB\xD3\xC9\x84\xE6\xC6\x02\x14\xBE\xB8\xD1\xDE\x00\x05\xAF\x8D\xEA\xE6\x9A\xEB\xE7\x99\x97\xDB\xCB\xD1\xCF\x00\x01\xE1\x99\xE9\xE6\x88\xE0\xAC\xAD\x10\xDC\xAF\xE2\xDC\x00\x14\xDC\x7A\xEA\xEA\x6E\xEB\xE9\x1B\x8A\xDC\x36\x1A\xEB\xF3\xC5\x11\xD9\xD9\x12\xDB\xD7\xC5\x59\x08\xE6\xBD\xEA\xE8\x36\xB1\xD8\xBF\xEB\xEA\x57\xB7\xB1\xB3\xEB\xED\xC9\xE6\xEB\x3B\x92\xDF\xDF\xE4\xE9\xDC\xE4\xE6\x07\x96\xED\xB4\xEE\xEB\x7F\xDE\xD0\xB5\xE8\xEC\x8F\xEC\xEE\xA2\xE9\xE8\xEB\xEF\x83\x06\xE5\xEF\xF8\xE0\xEE\x32\xEB\xE0\xC7\xE5\xDB\xF4\xEA\xEF\x99\x9C\xEB\xF9\xE6\xEE\xE1\xE7\xAE\x1C\xED\xEF\xBC\xC9\xE4\xF1\xEA\xA4\xEA\xE0\xF0\x90\xED\xC4\xDA\xE4\xF0\x0B\xF3\xF0\xB3\xC8\xE2\xE5\xE3\xEF\x95\xE4\xF1\x91\xEB\x94\x0D\xF2\xF1\x7D\xE7\x8C\x65\xBF\xEE\xFE\xE9\xF1\xBB\xBB\x95\x1D\xF8\xF1\xE7\xD0\x10\x3F\xE2\xF2\x09\xF5\xE7\x3F\x86\xE4\x17\xFF\xE6", + "\x1F\xF3\xF3\x72\xD3\xE5\xA4\xCE\xBB\x08\xF8\xEE\x34\xF2\xEF\x78\xEF\xE7\x8C\xEC\xF2\x3A\xF0\xF4\x81\xBB\xE5\x31\xFA\xEC\xA3\xE8\xF2\x44\xE1\xE6\x45\xF2\xEE\x3C\xF6\xF4\x68\x81\xED\x1A\xFE\xF4\x24\xF4\xA6\x62\x82\xF4\x0A\xFB\xF3\x6D\xD6\x49\x27\xF2\xF3\x0F\xFB\xE8\x39\x8B\xF4\xF0\xE8\xF5\x1A\xF6\xA8\xC3\x91\xE8\x4C\xF7\xED\x51\xF4\xBF\x3E\xFF\xF5\x56\xFE\xF2\x69\xF5\xE8\x73\xCB\xF5\x52\xFE\xE1\xFB\x22\xF7\x67\xF3\xF6\x77\x69\xEA\x23\xF7\xEE\x13\x70\x31\x9E\xE9\x10\xC8\xC6\xE5\x13\xFE\xF0\x3C\xF8\xAE\xA6\xEC\x8A\x91\x76\xF7\x61\xFD\xD9\x99\x77\xF8\xBF\x86\x8B\x8A\xFB\xF7\xFC\xD0\x10\xB8\xED\xEC\xA8\xD2\xF0\x84\xF8\xF6\x99\xFD\xE2\xAB\x7E\xF8\xE2\x9A\xCE\xA1\xEC\xF5\x4D\xF7\xC4\x02\x1C\xEC\x08\x1C\xDC\xE1\xCE\xDC\x54\xE3\xED\x08\x1C\xFA\x78\x8E\xFA\xBB\xA1\x02\x91\xFD\xF2\x05\xEB\x9B\xB2\xF1\xFA\x73\xFE\xE6\x17\xD4\xE5\xB7\xFA\xF7\xB4\xFF\xEF\xA4\xEB\x10\xE4\xEB\x93\xBD\xF1\xF1\x48\xF3\xF8\x1E\xF4\xA2\xB6\xF3\xFB\x41\xF6\xE7\x2B\xA7\x31\xAD\x10\xFB\x7F\xD5\xFC\x82\xF2\xF6\x9B\xF7\xFD\x54\xF0\x10\xD4\xF9\xF3\x83", + "\xE5\xF0\xAC\xE8\xDE\x7C\xBB\xFD\x60\xF2\xF9\xC8\xF7\xFC\x99\x97\xD2\xD3\xFC\xFC\xDD\xFB\xEF\x45\xA1\xFE\xEA\xF7\xF5\x8C\xFC\xD2\x37\xFA\xFD\xEF\xFE\xF6\x7D\xDC\xEF\x71\x8B\x10\xE2\xFD\xF6\x47\xF2\xFA\x59\xF1\xB5\xCB\x78\xF7\x77\x7A\xEC\x76\xE6\x5F\x52\xFB\x62\x80\x8B\x7B\xF4\x46\x78\x87\x09\xC5\x79\x7E\x40\x1B\x7F\x0A\x84\xFC\x56\x7F\xEC\x7C\x81\x01\x82\xEF\x6D\x7E\x9A\x79\xF8\x66\x79\x03\x87\x01\xEB\x7F\x04\x85\x80\x78\x56\x02\x86\x7E\xFF\x7F\xF6\x5F\x7C\x40\x10\x79\xC4\x7D\xFE\x7D\x7E\x1F\x67\xBA\x73\x7D\x9E\x6E\x80\x01\x08\x02\x99\x80\xF3\x7C\xFF\x06\x6B\xDA\x72\x43\x30\x84\xFE\x48\x80\x09\x85\x03\xF8\x40\xD1\x69\x81\x3B\x87\xF7\x53\x7A\x10\x80\x10\x4A\x78\x10\x9D\x80\xF0\x79\x02\xA2\x64\x81\x00\xF5\x31\x7E\x0A\x80\x7E\xC8\x5B\x73\x47\x83\x11\x89\xFB\x65\x7F\xC6\x73\x6B\xBB\x49\x05\x10\x7F\x89\x0E\x00\x3B\x4E\x19\x1B\x4D\x65\x03\x37\x47\x01\xDD\x4D\x36\x59\x6A\x12\x1B\x4D\x17\x03\x37\x45\x03\x2D\x8E\x10\x2B\x00\x1B\x8B\x08\x5A\x03\x37\x6C\x03\x37\x82\x10\x23\x03\x6E\x5E\x02\x22\x85\xFA\x7D\x80\xBE\x7C\xE9", + "\x0C\x6E\x0B\x8E\x72\xAD\x0A\x06\xA5\x80\x21\x8C\x07\x9B\x43\x0D\x8E\x54\x2E\x82\x10\x84\x80\x12\x8B\x08\xAC\x83\x21\x85\x65\x89\x87\x09\x83\x83\x2B\x86\xF3\x60\x38\x22\x9C\x7E\x39\x68\x20\x14\x03\x2F\x3D\x1A\x1B\x87\xAD\x5D\x84\x9C\x83\x22\x1E\x85\xAD\x60\x0A\xB1\x2D\x6B\x0F\x02\x74\x81\x20\x28\x84\x0E\x84\x05\x83\x81\xF2\x65\x7C\x13\x0C\xB2\x75\x78\x80\x0F\x00\x29\x84\x40\x1D\x82\x9E\x79\x40\x4E\x08\x10\x09\x07\x98\x86\xFD\x6F\x85\x33\x86\x25\x5B\x57\xAC\x6A\x08\xC0\x87\x20\x98\x80\x4B\x73\x98\x7F\x7A\x50\x74\x8B\x0A\x52\x43\x10\x00\xBD\x83\xFC\x44\x84\xEF\x7B\x04\xCD\x67\x32\x88\x75\xBC\x7A\x12\x85\x85\x92\x6E\xEA\x39\x74\x6A\x72\x75\x53\x82\x0F\x8A\x82\x64\x87\xFF\x74\x4F\x35\x89\x49\xD9\x81\x08\xA4\x86\x63\x85\xF2\x3F\x6F\x39\x8B\x08\xC6\x71\x07\x80\x01\x62\x84\x03\xE3\x86\x07\x91\x7F\xA5\x7F\x1D\x97\x47\x68\x8B\x07\xD4\x87\x05\x7B\x7D\x91\x82\x1D\xB7\x86\x58\x89\xED\x01\x88\x12\x9F\x85\xF5\x80\xDB\x42\x7E\x7E\x86\x0F\xC9\x81\x30\x82\x5F\x07\x6C\x21\x8F\x88\x57\x89\x10\xC9\x86\x6B\x16\x85\x00\x02\xFA\x73", + "\x64\x7A\x8C\x08\xEC\x86\x47\x95\x88\x4E\x82\x20\x8E\x88\xBC\x75\x10\x96\x87\x03\x9A\x86\xFE\x85\xEF\x72\x7E\x93\x81\x03\xA8\x8A\x15\x8C\x81\x98\x79\xFD\x62\x88\x84\x8D\x11\xC4\x82\x49\x72\x88\xC7\x83\x20\x93\x89\xC4\x58\xFE\x1B\x8A\x4B\x9F\x80\x94\x80\x00\xAC\x84\x71\x8B\x13\xBC\x82\xF3\x75\x69\x43\x8E\x17\xAB\x80\x8A\x85\x13\xF8\x71\x03\x81\x87\x4A\x88\x0A\x8D\x8A\x15\x63\xE3\x49\x8A\x34\x8B\x87\x20\x8F\x23\xB8\x72\x1C\x70\x15\xD7\x8A\x4E\x99\x89\x7D\x81\x04\x96\x8B\x7E\x8F\x12\xA4\x7C\xA0\x44\x86\x3F\x8C\x2C\x99\x6D\x4A\x82\x0F\x80\x87\x44\x1C\x88\x55\x80\x28\xB1\x8B\x9D\x4F\x08\xB8\x7A\x3C\x90\x8B\x4C\x8B\x2E\x84\x89\xBF\x43\x16\x8D\x88\x4D\x9A\x8B\x3F\x46\x08\x83\x4E\xBC\x89\x00\xC5\x8B\x34\x90\x73\x00\x05\x09\xB2\x89\x83\x8B\x14\x85\x8E\x45\x93\x4C\x81\x81\x2D\xBE\x8B\x92\x62\xE7\x43\x4E\x16\x86\x85\x5C\x86\x0B\xA0\x82\x31\x84\x06\xBB\x4F\x19\x9C\x5B\x69\x84\x6F\x6B\x82\xCC\x8D\x06\x98\x89\x1C\x9C\x5B\x73\x84\x34\x8B\x08\x3B\x8C\xB7\x78\x81\x5F\x86\x8C\x58\x8B\x2A\xAA\x7A\x43\x78\x16\xB3\x89\x63\x86\x8A", + "\xCB\x54\x36\xA9\x86\xC6\x82\x15\x80\x8E\x45\x95\x8B\x8E\x6D\x2B\xAA\x8B\xE1\x8B\x17\xFE\x80\x4B\x81\x8E\x47\x8A\x20\x23\x85\x11\x85\x0A\xA4\x86\x28\x81\x85\x0E\x0B\x39\x84\x8B\x1E\x72\x1D\xDC\x73\x29\x98\x88\xAB\x85\x36\xBC\x8D\x49\x8E\x1B\xE5\x85\x2E\x6A\x8D\x02\x0D\x16\xA0\x8F\x80\x08\x0B\xCD\x86\xB8\x5B\x85\x38\x8D\x11\xB9\x8B\xF5\x89\xB8\x18\x75\x8F\x64\x8C\xB8\x88\x2C\xB4\x88\x70\x56\x1E\xE9\x65\xE1\x3A\x87\x01\x08\x1A\xAF\x8C\xF9\x87\x1B\x87\x8D\x66\x46\x6D\xDE\x81\xB7\x69\x6D\xF4\x8A\x15\xDD\x8D\x81\x94\x5F\xDD\x86\xF2\x42\x90\x70\x83\x18\x92\x8C\x6C\x8A\x89\xFB\x50\x3F\xBA\x6D\xDD\x8D\x0A\x8E\x8E\x7A\x8B\x80\xFF\x49\x17\xAA\x56\xD0\x7A\x1D\x95\x91\x7C\x97\x90\xA9\x60\x41\x75\x8F\x53\x79\x66\x6B\x46\xBE\x41\x08\x1A\x8A\x18\x82\x08\x37\x88\x18\x0A\x8D\x46\x09\x91\xD0\x71\x6F\x34\x5E\x16\x9B\x1D\xDB\x86\x54\x80\x88\x51\x8C\x3B\xAC\x8E\xD3\x57\xEF\x20\x92\x7F\x84\x8E\x3F\x43\xF8\x53\x8D\xDE\x8C\x14\xAD\x0C\x42\x60\x92\xFC\x8F\x46\xAD\x34\x07\x99\x24\xBA\x92\x85\x87\x90\x18\x96\xDB\x48\x92\x1F\x91\x1B\x96", + "\x71\x8E\x96\x91\x4E\x96\x04\xBB\x74\x26\x94\x25\x90\x90\xCF\x5C\x92\x50\x92\x4B\xBD\x88\xD9\x8F\x24\xD9\x8A\x4D\x82\x71\x53\x91\x4C\xBF\x91\xE1\x46\xF1\x69\x92\x99\x84\x93\x5A\x97\x29\x83\x93\x2C\x9B\x26\xBF\x41\xC8\x73\x93\x58\x94\xEE\x69\x2C\xDB\x84\x24\xD1\x63\x19\x60\x93\x6F\x90\x22\xA8\x80\x3C\x99\x12\xA3\x8B\xAE\x40\x8E\x2F\x86\x4D\xB0\x93\x3A\x9D\xE3\x08\x96\xD9\x65\x93\x8B\x95\x4A\x80\x64\x40\x91\x29\xDE\x91\x11\x94\x94\x06\x91\x0A\x8C\x82\x4C\x9B\x23\xD9\x5C\x9B\x70\x94\x99\x95\x29\xAD\x0D\xCA\x8F\x20\x86\x96\x9A\x8B\x5F\x79\x64\xCA\x4F\x95\x0F\x97\x2A\xDF\x8B\xA1\x9A\x8D\xD3\x8D\x4B\xA6\x94\x4D\x9C\x16\x87\x54\x9F\x94\x93\x92\x94\x51\x47\x8F\x44\x94\x28\xE5\x88\xA8\x94\x5F\xB2\x85\x57\xB2\x8B\x4E\x98\x2A\x80\x02\x7B\x92\x95\x7F\x8D\x48\x9E\x6C\x0D\x96\xB0\x01\x7F\x95\x85\x94\xC9\x91\x4A\x96\x86\x66\x93\xBD\x2D\x47\xAD\x99\x93\xBA\x78\x3D\x52\x91\x58\x7C\x29\xBF\x95\xE2\x55\x7C\xA7\x7A\xD7\x71\x89\x40\x94\x2C\xAE\x97\x5F\x62\x76\x01\x90\xD6\x71\x86\x45\x91\x2A\xA1\x95\xC3\x54\x96\xC7\x65\x44\xB0\x97", + "\xE6\x6D\xF9\x59\x69\x17\x18\x88\x43\x03\x37\x79\x96\xBE\x5B\x2F\xD9\x69\xBF\x94\x72\xFF\x96\x05\x81\x99\x5D\x93\x30\xF2\x85\xC1\x9B\x49\x07\x9B\x38\x49\x99\x1F\x41\x03\x3B\x4C\x0A\x1B\x4D\x0C\x97\x07\x49\x03\x6D\x9B\x08\x5D\x94\xAB\x93\x65\x3D\x95\x55\xB3\x94\x51\x96\x7E\x4F\x96\xAF\x97\x98\x41\x88\x00\x02\x93\x52\x91\x2D\xA0\x9A\x91\x96\x98\x8C\x95\x1D\x80\x08\x77\x72\x2C\xEC\x95\xB9\x9B\x98\xED\x92\x5B\x52\x93\x96\x94\x33\xC1\x86\x95\x9E\x8A\x30\x9F\x65\x96\x68\x60\x48\x32\xB1\x8C\x44\x83\x93\x31\x9E\x5B\xA1\x91\x95\x88\x33\xA5\x99\xCA\x9A\x80\x01\x08\x4D\xB5\x99\x26\x9A\x27\xD2\x62\x87\x87\x9A\xE4\x96\x4F\xA5\x53\x9E\x96\x2E\xB6\x8B\x9D\x84\x99\xFD\x89\x57\xA3\x63\x6B\x90\x2D\xD6\x64\xDC\x5C\x9A\x1F\x9D\x1A\xA7\x80\xAA\x99\x33\xF0\x79\x93\x64\x9B\x46\x9D\x58\x8E\x94\xB4\x99\x35\xC3\x78\xDB\x9D\x93\xA6\x5A\x30\x98\x9A\xB8\x90\x35\xAA\x93\x62\x4F\x9B\xB8\x91\x70\x5F\x94\x90\x91\x34\xC3\x98\x16\x80\x9B\xC3\x90\x52\xA4\x7B\xDB\x50\x38\xAE\x9A\xD4\x95\x95\x65\x78\x6F\x98\x97\x63\x4B\x36\x85\x9F\xD2\x8B\x84\x83", + "\x9D\xC7\x6B\x95\xBA\x9D\x37\xF5\x99\xDD\x6E\x9C\x73\x99\x6F\x99\x84\x63\x9A\x38\xDD\x98\x1A\x44\x66\xE9\x94\xD8\x40\x01\xEC\x4E\x31\x81\x9C\xDF\x92\x99\xD3\x93\x44\x88\x7C\xEF\x58\x39\xCC\x99\xB6\x8D\x7C\xAA\x9F\xF1\x6C\x4F\xCE\x91\x36\xC5\x94\xB8\x87\x08\xA8\x78\xB4\x7C\x99\xD6\x98\x2C\xFD\x7D\xB0\x7B\x96\xEB\x97\x71\x9A\x99\xB4\x91\xB8\x26\x7C\xEE\x8E\x76\xBB\x49\x45\x90\x88\xE5\x93\x23\xA6\x92\x02\x6A\x1B\x13\x0A\x1C\x52\x13\xA7\x17\x24\x90\x0A\xF4\x93\x4C\xD4\x9B\x37\x67\x8D\xAC\x6C\x1A\xB1\x9F\xE7\x60\x4F\xBC\x9B\x78\x9E\x9B\x92\x85\x34\xED\x99\xD9\x9C\x91\xB4\x9E\x74\x99\x5F\x91\x9E\x3A\xB5\x9D\xD5\x98\x73\xD5\x99\x73\x8B\x9C\xA0\x8B\xC2\x61\x9D\xD4\x87\x9D\x42\x9C\x72\xA6\x8B\x0C\x66\x3F\x95\x97\xC6\x97\x99\x86\x98\x7F\xBE\x9A\xF8\x5D\x3F\x95\x9F\x3F\x87\x78\xE5\x9C\x6E\xBE\x98\xD4\x97\xB4\x05\xA2\xCE\x83\x9F\x31\x6E\x81\xB9\x9F\x03\xAE\x34\xB1\x96\xF8\x8A\xA0\x24\x67\x6B\x52\xA0\x01\xA2\x36\x95\x83\x06\xBA\x9F\x87\x9C\x04\x69\x9F\xAE\x7B\x82\x1F\xA3\x02\xB2\x96\x63\x9E\x84\xAF\x9E\xAA\x8A\x2B\xED\x8B", + "\x08\xA2\x9E\xB3\x65\x71\xB5\x90\xCF\x9A\x39\x9B\x43\x0F\x90\xA1\xFE\x9B\x3E\xA4\x6A\x15\xA7\x3E\x96\x9C\x21\x3C\xA1\xC4\x9F\x8F\x50\x6F\x00\xA0\x42\x83\xA1\x9C\x6F\xA1\xF2\x9E\xCF\x70\x95\xD2\x94\x44\xA7\xA3\x26\x6B\xA2\x09\xA5\x86\xA6\x9F\x9D\x9D\x42\xB6\x97\x0C\xAE\x9F\x3D\xA2\x6D\x90\xA3\x26\xAB\x42\xCA\x96\xA4\x77\xA2\xEA\x9E\x89\x9D\x77\x72\x40\x44\xD3\xA0\x04\xA2\x08\xA0\x9A\x41\xB0\x74\xD2\x91\x45\xF3\x9C\x17\xBB\x9C\x00\x92\x8D\xA2\x9C\xD5\x6D\x46\xB4\xA2\x1B\xA6\x5A\x00\x01\x41\xA1\x97\x6F\x88\x44\xED\x9F\xAD\x7B\x96\xE3\x91\x87\xA6\xA2\x25\x95\x2F\xF6\x4E\x33\x90\x87\x7D\xA5\x77\x86\x68\xE3\x96\x10\x39\x9D\x6C\x6A\x7D\x2E\x81\x45\xB0\x90\x1C\xA6\x40\x96\x94\x7B\x69\xA4\x5A\x88\x47\xB5\xA2\x2C\xA1\x44\xD4\xA3\x42\x85\xA3\x18\xA2\x88\x8B\x09\xF8\x9E\x47\xEF\xA3\x7A\x6C\x99\x49\xA4\x93\x83\xA4\x29\xA1\x4A\xEB\x6D\xC6\x97\x9F\x45\xA6\x87\xB8\x7E\x53\xAB\x4A\xA9\x7B\x96\x80\xA5\xAC\xA0\xD8\x48\xA0\x5A\xAD\x4A\xE7\xA3\x97\x98\xA5\x77\xA2\x21\x97\x52\x4C\xA0\x4B\xC5\x95\x9B\x94\xA4\x0F\xA4\x90\x9C\x78\x60", + "\xA6\x47\x93\x7E\x07\xA0\xA3\xBC\xA3\x12\xAB\x5A\x68\xA8\x4C\xA1\xA2\x8F\x64\xA6\x1C\x9E\x21\x03\x95\x54\xA1\x46\xEF\x9D\xE4\x94\x6A\xCC\xA2\x95\x8A\x71\x51\x6B\x2B\x93\x9E\x18\xA7\xA7\x19\xA3\x52\xA1\xA7\x6E\xA2\x4A\x82\x0A\xDC\x85\xA5\xD5\xA6\x64\xBF\xA0\x6A\xAC\x4D\x8A\x97\x79\x2B\xA7\xD1\xA2\xCA\x47\xA2\x7C\xA1\x4F\xE3\xA1\xAA\x9F\x83\xD8\xA6\x5D\x9E\x7A\x1C\x89\x4F\xCD\xA4\xFB\x66\x8E\x2E\xA4\x9F\xB5\xA7\xE4\x88\x38\x84\x9C\x3D\xB0\xA7\x0B\xAF\xFF\x44\x4F\x80\xA9\x4C\xF8\x43\xB1\x97\xA0\xB9\xA5\x69\x9D\x75\x79\x99\xFA\x2F\x30\x45\xA2\x9C\x13\x09\x8E\xBB\xA2\x01\x94\x47\x85\xAA\x38\xBA\xA5\xB0\x9E\x90\xA7\x8F\xD9\x9A\x50\x90\xA8\xE7\x66\x87\x1C\xAA\x77\xA8\x86\x0B\xA5\x4C\xDD\xA0\x0A\xA7\x67\xDE\x9A\x17\x88\xA5\x96\xAA\x48\xD2\xA7\x34\x5B\x96\xCF\x73\x38\x55\x76\xBE\x53\x54\xD9\x6A\x24\xB4\x5F\xE5\x8C\xCA\x62\x8F\xAC\x69\x54\xDC\x5F\x21\xA2\x08\xBC\x83\xBA\x40\x11\x49\xAF\x83\x29\x92\x23\xBF\x74\x6F\x8B\x5B\x91\xAB\x87\xAD\x53\x9A\xAB\xCC\x91\xA8\x2E\xAE\x3B\xA0\x7E\xAE\xA8\x51\xC1\xA5\x8F\x6C\x9F\x5D\xAE", + "\xA0\xB4\x9F\x13\x6C\x53\xE5\xAA\x33\xA8\xA5\x61\xAE\xAD\xA7\xA8\xB3\xA9\x56\x87\xAB\x58\xAF\x9A\xE8\xA1\x8B\x81\x5C\xA0\x95\x51\xF4\xA8\xD2\x93\x90\x34\xAA\x90\xBD\xA4\x83\x6C\x57\x93\xA2\x4D\xA6\xA2\x37\x8D\xAD\xB5\xA9\x76\xA9\x34\x9F\xAA\x3C\xB5\xA0\x4C\xA5\x9F\xB9\xAA\x4F\xA3\x35\x8A\xAE\x60\xA8\xA9\x6C\x56\xB1\xB2\xA5\xAD\x94\x56\x8B\xAE\x0E\xA5\xA1\x9D\xAF\xB2\x9E\xAB\xB3\x88\x57\x87\xAD\x2C\xBA\xA2\x71\x7E\xB2\x95\xA5\xB0\x8F\x4F\xE5\xA6\x66\xBA\x9A\x6B\x27\xB5\x9E\xA7\x1D\xA1\x5A\xAB\xAD\x27\xB7\x62\x2E\x92\xB4\xAA\xAA\x12\xA2\x05\x92\xAE\x69\xB4\xA0\x0B\x0C\x54\xB1\xAA\xCF\xAE\x3B\x83\xAB\x25\x9B\xA4\xEC\xA7\xB6\xB6\x81\x2D\xAE\x5B\xFA\xA8\x63\xAD\xAD\x09\xAD\xB6\xBD\xAB\xD7\x94\x4E\xD1\xAD\x69\xAE\xAE\xCA\xAE\x9C\x41\x96\xB0\xA5\x57\xC9\xAF\x15\x77\xA8\xC4\xAB\xB0\xBE\xA8\xBF\x71\x53\x8F\xA6\x47\xAA\xAD\xD3\xA8\x31\xA2\xA9\xE3\x98\xDA\x25\xA9\x73\xB9\xAE\xB6\xA2\x8F\xAC\xAF\x05\x92\x5B\xFF\x9D\x2F\x45\xAF\x58\xAB\xA6\x91\xAC\xEE\xA2\x57\xEB\x88\x40\x08\x97\x72\xA7\xA9\x83\x6F\xFA\xA0\x5F\xC4\x70\x23", + "\xA5\x08\x57\xA8\xF0\x72\x96\xE9\xA6\x58\xCF\xAF\x25\xA8\xAF\x0D\xB3\x03\x6F\xA4\xDD\xA3\x57\xD4\xAF\x51\x24\xB0\xC5\xA8\xBF\x4C\xB0\x0E\xA0\x5B\xFD\x6F\x86\xA7\xAD\xBF\xA9\xC4\x98\xAE\x5F\xAC\x3F\x9F\xB3\x64\xB9\xB0\x44\x9E\xA4\x9E\xAF\x71\xAF\xAF\x26\xB2\x88\xBF\xAC\x29\xB7\xBD\xB5\xA4\x67\xA5\x58\x9C\xB3\x8B\xA4\xB1\x3C\x48\xC3\x8A\xA6\x03\x8E\x62\xA3\xB2\x78\xBB\x70\x0C\x82\xC7\xA3\xAF\xCC\xA0\x61\xB6\xB0\x6B\xA0\x00\x5C\x8A\xC6\xBF\xB1\xB3\x3F\x35\xBD\xB1\x81\xB6\xAB\x29\xA6\xC9\xB3\xB0\x2B\x8F\x4D\xFF\x6A\x39\xB7\xB1\x4B\xB0\xCA\xAD\x80\xD7\xA5\x64\xA0\xB3\x91\xB7\xA1\xFC\xA9\xBC\x83\xB2\x77\xA2\x64\xFE\xAB\x2C\x79\xAD\xB6\xAB\xCA\x92\x6B\x21\xAA\x64\x99\xAA\x33\xA2\xAE\xDD\xAA\xC5\xB8\x87\x86\xA2\x39\xE5\xB2\x85\xB4\xB3\xE0\xA2\xCA\x99\xB3\xB5\xA5\x45\x89\x9D\x97\xA7\xB1\xCB\xA9\xB5\xBA\xB2\x37\xB5\x61\xC7\x47\x76\xA3\xAE\x14\xB3\xC5\x96\xA8\x3B\xB4\x65\xCB\x95\x4E\xBB\x90\xF7\x8F\xCF\x98\xB2\x73\x6B\x5E\x8D\xA6\xAE\x6E\xAF\x61\xB1\xD1\xBC\xAD\x56\x7B\x2D\x91\x98\xA2\xA9\xB3\x2C\xB7\x9B\x78\xAE\x05\xBD", + "\xFE\x03\xB6\x99\xB9\xA6\x19\x97\xD1\x8D\x96\x0E\x97\x5D\xCF\xB2\xA2\xBA\xA7\x00\x07\xC0\x84\x09\x04\xB0\xB1\x4E\x9F\xE6\x9A\x8F\xAA\xB5\x5A\xAB\x8D\xDD\x48\x6B\xAB\x7E\xAD\xBB\x40\x29\x95\x39\x94\x73\xEA\x82\x0F\xC4\xB7\x4E\x46\xB6\xC3\x48\xD9\x88\x08\xE9\x94\x68\x06\x13\xD3\x00\x05\xBF\xB0\x26\x12\x9E\xE9\x9A\x6B\x82\x08\xB4\xB2\xAA\x32\x12\x7A\xAD\x0D\x6A\xB1\x10\x57\xB7\x9F\x30\x9E\x6C\xB4\x5E\x8B\x08\x6F\xB6\x1D\x54\xAB\x41\x12\x9E\xE4\x40\x20\x24\xB6\x03\x16\x6E\xBB\x56\x14\x1B\x96\x9B\x01\xDA\xA8\x43\x29\x0B\x2D\x9D\x07\x6E\x4F\xB7\xA3\xB7\x69\x31\xB6\xBE\x58\x6F\xB9\xB5\xBC\x8B\x08\xFB\xB6\xA8\xB2\xB6\x73\x6A\x6C\x96\x89\xC1\xAA\x99\x00\x07\xE0\x94\x80\x85\xB6\x13\x8C\xB8\x9E\x79\x8E\x54\x70\xE2\x8E\xAB\x95\xA2\x10\x17\x04\xA3\xAB\xB3\x11\x51\xB0\xA0\xB5\x31\xB7\x57\x9A\xB9\x7A\xAF\xB5\x44\x70\xAD\xBD\xAE\x39\xBC\x50\x9E\x0F\xC5\xBB\xB4\x1E\xB5\xD5\xAA\xB2\x92\xB9\x69\x9B\xB8\xAC\xB3\xB0\x2E\xBB\xB7\xA5\xB9\xC4\xA6\x6A\xB2\xBA\xCD\x9B\x9D\x35\xBD\xD0\xBC\xB3\x18\xBD\x72\x9F\xBB\x9C\xAD\xA0\x39\xB8\xE4", + "\x8D\xB4\x03\x27\x72\xC5\x8D\x40\x07\xA6\x3D\xB9\xC2\xA8\xB1\xCA\xA1\x74\xAC\xBB\x4B\xBF\x69\x4D\xBD\xCD\xB6\xA5\x24\xB9\x74\xC6\xB0\x65\xA2\x8B\x51\xBD\xEA\xBE\xA7\x22\x75\x74\xB7\xB9\x9F\xAE\xA8\x2A\xBB\xCF\xB6\xA6\xE3\xA0\x09\xFB\xAF\xA7\xBE\xB9\xC3\x48\xCC\xA7\xBA\xA5\xB1\x6A\x97\x96\xA4\xBE\xB1\x98\xAB\x53\xAF\xBA\x57\xB3\x0B\x8E\x26\xD3\xB1\xB3\x33\xB8\xCE\xA3\xB8\xA9\xBE\x4C\xB2\xA1\xD8\xA4\xB4\x42\xB8\x35\x4C\xAE\xAD\xB0\x68\xF1\xB8\x9E\xB6\xB2\x5D\xBC\x24\x95\xAE\x2B\xAF\x77\xA7\xB5\xCC\xA6\xB4\x89\xB8\xEF\xBF\x40\xF0\xAA\x69\xFC\xBA\x96\xA9\xA3\x23\xAB\x8D\x91\xBD\x4C\xA1\x52\xDB\x94\xA6\xAB\xBB\x56\xB8\xC7\xB2\xAE\x4B\xBC\x47\xF3\xBB\xCA\xB8\xA3\xB7\x9C\xF4\x82\x91\x40\xAF\x78\x81\xBF\xCF\xB8\xA9\x2A\xAE\x3E\x82\x09\xE0\x94\x78\x93\xB7\x68\xB7\x3D\x40\xAB\xF3\xB4\x95\x12\xBD\x78\xB6\xBA\xE2\xBF\xAA\xA0\xBE\xCB\xB1\x6E\xDD\xB8\x6A\xA6\x36\xE9\xA2\xBB\x78\xA0\xAE\x92\xBD\xE0\xB5\x78\x8E\xBC\xDA\xB6\x77\xC4\xBC\x85\xBC\xB8\xE6\xB6\x7B\xCE\xA4\xEB\xAF\xBE\xD4\xBF\xC8\xB5\xB0\xE1\xB7\x7A\xC2\xA7\x2F\xB9", + "\xBA\xD9\xBB\xBD\x4A\x9B\xDA\xB0\x77\xB6\xA4\xD2\xA1\xBF\xDD\xBF\xF7\xBA\x68\xF0\xBB\x7C\x90\x9D\x55\x8C\xBF\x7B\xBE\xEB\x9C\xAD\xDE\xBA\x73\xA8\xBA\xCA\x71\xBE\x0C\xA4\xEB\x87\xBE\xC0\xB5\x77\xFE\xBA\xC7\xAC\xBB\xFC\xBB\x38\x7E\xBE\xB3\xBD\x7E\xF1\xBE\x45\x8A\xBB\x05\xC2\xCC\xB7\xBC\x00\x0F\x4E\x89\xC1\xE5\xB9\xB4\x5A\x40\xFF\x96\xA7\xBD\x9C\x7D\xC8\xBE\xF7\xBB\xA7\xF0\xBA\x01\xF7\xB2\xE8\xAC\x78\xFF\xBD\xE8\xB6\xC0\x8D\x93\xF0\xA8\xBE\x10\xC2\x56\x9C\xC2\x9F\xB9\xC0\x0F\xC2\xFD\xA6\xC0\xB0\xBE\x81\x95\xC1\x00\xD2\xA8\x87\xB6\x01\xED\xBC\xFB\xBC\x39\xFB\xBE\xF3\xA9\x5C\x98\xBB\xBE\x9A\xBC\x1B\xCE\x7B\x88\xB9\xA5\xA8\xB0\x97\xB2\x02\xC8\xAD\xD1\xB0\x84\xA5\xBC\x0A\xD3\xC1\x33\xB9\xF5\x85\xC3\xD5\xB2\x84\x9D\xA0\x80\xB9\xBC\xA2\x9C\xF6\xA3\xC1\x17\xCA\x82\xB1\xB5\xEE\xA1\x1B\xD0\x6B\x7A\x93\x08\x4C\x03\x70\xA1\x08\xAD\xB3\x08\x16\xBC\x07\xF5\xBF\xE1\x40\x73\xD8\xBE\x0C\xD4\x5F\x65\xC0\x00\xF7\xC0\x2D\x92\x72\x9A\xC3\x18\xD2\xBF\xC6\xBF\x08\xE6\xC3\xBF\xA7\x11\xE2\xC2\xEB\xB6\xBC\x77\xC0\x0E\xDD\xB8\x02\xC6\x80", + "\xE7\xC0\x4F\x8D\xC2\xC0\xAD\xC5\xB4\xBF\x3C\xC8\x68\x80\xA0\x1E\xD7\xBB\x14\x83\xFB\x8D\xBF\x1E\xC4\x87\xE3\xBF\x14\xCB\xC3\x5B\xBF\xFC\xBE\xC3\x0F\xCC\x71\x80\x0A\x9C\x84\xBF\x74\xBB\xE6\x97\x9B\x47\xCC\x88\xBB\xBC\x92\xA0\xC4\x96\xA3\xE5\x47\xC5\x51\xCF\xF2\x20\xC6\x83\xA3\xC0\xC8\xA8\x11\xEE\xC2\xC1\xB2\x68\x83\xC6\x2A\xC5\xBE\x01\x08\x01\xFD\xC3\x59\xCF\x26\x90\x5E\x2B\xC4\xC5\x85\xC3\x9E\xB7\xC4\x4C\xCB\x74\xD5\x78\x2E\xD3\xC4\x5B\xBA\xEF\xAB\xC5\x57\xCE\x08\xA2\xC0\x30\xCB\xC4\x5A\xB0\x15\xC4\xC7\x39\xC6\x13\xCA\xC7\x2F\xD4\xC5\x21\x9E\x19\xFC\xC4\x12\xCC\x79\xDF\xA3\x2E\xDC\xC4\x6F\xC5\xC7\x54\xBC\x24\xC3\x8D\xE6\x65\x0E\xCA\xBD\x3B\xC2\x0E\xEA\xC2\x67\xAF\x83\xB3\xB5\x10\xD6\xC3\xAF\xC7\x9A\x79\xB7\x22\x36\x8A\xEB\x6E\x12\xC6\xC7\x97\x7D\x1D\xF8\xB1\x27\xCA\x83\xD1\xC2\x3C\xDB\xB1\x01\x0A\xD6\x96\x0A\xE4\x98\x8E\xB8\xA2\x26\xAB\xC6\xE3\xC7\x18\x69\xC2\x4A\xC0\x89\xA7\x92\x40\x62\xC7\x04\xCE\x99\xA4\xA5\x63\xC5\x7D\xDA\xB2\xF2\xB0\xC6\xDC\xC0\x1B\xC4\xC4\x07\xCF\x8F\xCF\xC7\x30\xD3\xB9\x8A\xC5\x21\xD3", + "\xC8\x3A\xC7\x7D\x81\xCB\x46\xDE\xC4\x19\xCD\xFC\x9D\xC5\x90\x91\x92\x99\xC5\x37\xD0\xB5\x8E\xC4\x21\xE2\xC8\x2D\xB2\x89\x90\xC8\x33\xD0\xC5\x96\xC7\x1E\xC6\xBC\x80\x0B\x89\xAA\xCA\x49\xCF\xBA\x01\x0C\xEA\x92\xC9\x74\xCD\x64\xD7\xC6\x4D\xD8\xB1\xDB\xA3\x27\xD6\xC8\xBB\x9B\x82\xF5\xB1\x3F\xC7\xC9\x4A\xA5\x15\xED\xC0\x64\xCF\x91\xF8\x72\x2C\xD7\xC8\x48\xCA\xCB\x8D\xC0\x97\xCE\x91\xB4\xC0\x9A\xAF\xC9\x11\xC8\xE1\x94\xC0\xA6\xC0\x90\xA6\x5E\x30\xC9\xC1\x3F\xCD\xED\x9B\xB2\xEB\xAB\x94\x9A\xCB\xD8\xBF\xBA\x46\xC8\x21\xEE\xC0\x5B\xA2\x8D\xC2\xC9\x54\xDE\xAF\x63\xCD\x03\xFC\xC2\xA8\xCE\x96\x96\x89\x0C\xD4\xCA\x09\xCB\xE8\x83\x86\x9F\xC8\x97\x9B\xAC\x1A\xBB\x96\x6C\xA5\x2B\xEB\xCA\x26\xB5\xEA\x7E\xB6\xB8\xAC\x9D\x6A\xCC\x2B\xF3\xB8\x22\xC0\x8F\xF4\xAF\x51\xD5\xCB\xBB\x57\x1D\xFB\xC7\x78\xCF\x98\xE1\xC8\x1E\x54\xC7\xE0\xC6\x1E\xD5\xCD\xBE\xC6\x90\xD6\xC3\x3A\xCB\xB0\xD9\x41\x7A\xA9\x47\x85\x0C\x85\xD8\xB5\xB1\x94\xB7\x7C\x58\x35\xDF\xB7\xC4\x50\x1F\x83\xCD\x36\xC8\xB8\x13\xB1\x32\x9B\xCC\xBA\xCB\xAB\x31\xCD\x56\xB3\xCD", + "\x60\xCC\x02\xAD\xC2\x3C\x7D\x9A\x8A\xCF\x5B\xD5\xBB\x0B\xCB\x31\xBC\xCA\xDA\xC0\x8D\xF5\x9F\xCB\x31\x7E\x04\x94\x38\xCA\xCF\xDC\xCE\x13\xB8\xCE\x40\xA4\x9F\xC2\x8B\x28\xD9\xCB\x44\xC9\x9C\xCC\xCE\x75\xD2\xBE\x82\xC6\x20\x83\xCF\xEB\xCE\x45\xD3\xBD\x48\x89\xCC\x66\xC8\x23\xD5\xCF\xE9\xCB\x9C\xAC\x81\x4A\xC2\xCE\x65\xCB\x25\xCD\xCB\xA1\x43\x9E\xD8\xCA\x7B\xD7\xA9\x97\xC7\x3D\xB2\xC8\x5B\xA5\x93\xE8\xCF\x5C\xDC\xCE\x55\xCB\x38\x7A\xC9\xEF\xCB\x9D\xE4\xCD\xC8\x82\xC5\x3F\x45\x37\xE1\xCF\xDF\xCD\xD4\x6D\xCD\x7E\xC4\xD0\x12\xAD\x2D\xFC\xCF\xF4\xC7\x93\x94\xC8\xD9\xB6\x8B\xD1\xC8\x41\xD0\xCC\x0A\x8F\x94\xBC\xCF\x7C\xCE\xA6\x53\xCD\x39\xE0\xCE\xF5\xC6\x95\x86\xD1\x5E\xCD\xCA\x2C\x80\x32\xB7\xCD\x0D\xDD\xA0\xF4\xC3\x57\xCD\x0D\x97\x8F\x38\xD9\x8C\xBE\x5F\x05\xFC\x59\x18\x9C\x5B\x63\x84\x6F\x65\x82\x2A\x7F\x19\xD9\x69\x68\x99\x6A\xA3\x8A\x45\xE5\x8D\xF1\x80\x10\x5B\x9C\x95\x69\x8D\x3A\xD3\xD7\xAD\x8C\x0F\xDE\x9A\xA0\xD1\xFE\xAA\xD0\xF6\xC9\x15\xD2\xCF\xEE\xC8\x50\xF2\xCB\x5D\x97\xD0\xC9\xC6\x18\xC9\xD2\xC1\xCE\x9B\xBF", + "\x8E\x94\xDE\xC4\x0E\xBC\x05\x99\xD3\xFC\xBB\xA5\xB7\xA9\x97\xDA\x92\x5F\xD1\x7B\x52\xB8\xEB\x83\x11\x63\xD3\x93\xCE\xCE\xEF\xCE\x74\x77\xCA\x9B\x8B\x54\xB8\x45\x6B\x0D\xAA\xC1\x6A\xC0\x80\x09\xAD\xA4\x21\x8C\xD1\xFA\xB6\xCC\x40\xB3\x2F\xDA\xCE\x3B\xD4\x8D\xCB\xCC\x7D\x91\xBD\x24\x91\xD2\x9D\x90\x3E\xD4\x85\x8E\xD1\x61\xC0\xD4\xAB\x99\x9A\x44\xD3\x2A\xD8\xA7\x84\xCE\x90\x3F\xCC\x2C\xAB\x50\xF7\xCE\xFF\xCF\x9C\xB0\xAA\x61\xDD\xA8\xA5\xB5\x4E\xD3\xD5\x34\xDE\x97\xEE\x84\xA4\xD3\xBD\x8B\xD3\x40\xD3\xD0\x4F\xCA\x8F\xDF\xC0\x68\xCC\xB7\x32\x97\x40\xE3\xD4\xA2\xCF\x60\xA4\xD3\x9D\xD4\x80\x03\xCD\x48\xD4\xD3\xC0\x5B\x9B\x94\xD4\xA7\xC5\x96\xC1\xCD\x3C\xF7\xD4\x4B\xAF\x90\xBA\xD6\xAA\xCD\xD4\xAF\xCD\x38\xDD\x98\x25\xD2\xA1\x86\xD6\x77\xDC\xCC\xA2\xD5\x04\xF7\xA4\x57\xDD\xA7\xA4\xC8\x94\xD8\xB8\x4C\x58\x4D\xFF\xD5\xBF\x67\x9E\xBE\xD7\x87\xCF\xBD\x2D\xCE\x5A\xF2\xD4\xA3\xB1\x93\xD2\xD7\xB5\xC3\x4E\xF5\xCA\x5B\xCC\xD4\x3A\xCB\x9F\xC8\xD4\x87\xD8\xA3\x00\xD3\x55\xFE\xCE\xBA\x5F\xAC\xAF\xBC\x92\xC2\xD7\xC9\xD4\x0E\xEF\xD6", + "\xFC\xCF\xAD\x97\xC2\xE2\x4D\xD7\x33\xB9\x43\xF4\xD7\x6D\xDA\x87\x96\x5C\xB3\xC5\xD4\x74\xC3\x2B\xF1\xD6\x78\xD7\x64\xDF\xCA\xAD\xD3\xD6\xCD\xC7\x4A\xFB\xD7\x71\xDE\x89\xF3\xD7\xC1\xD5\xD7\x56\xD2\x29\xDB\xD4\x84\xD6\x9D\xD5\xB2\x61\x78\xD7\xFD\xD3\xA2\x9E\xD6\x7E\xD6\x11\xDB\xC7\xAE\xC7\xD7\x12\xAF\x1B\xCB\xC3\x70\xCD\x9F\x9F\xDB\x7A\x65\xC7\x93\xCC\xA4\x98\xD8\x9C\xC3\xBE\x1D\xB7\xCA\xCA\xD6\x92\xCE\x54\xD9\xD4\x42\xD5\x90\xB3\xAD\x21\xB3\xB8\xB2\xBB\xC0\x9B\xD8\x86\xDC\xAA\xA5\xD4\x3F\xCB\xCD\x00\x12\x66\xC2\x08\x28\x0D\x85\xA3\xCB\xC3\xD9\x5E\xB1\xD4\x67\xEB\xD7\x61\xD3\xAB\xA0\xDA\x45\x95\xD5\x26\xDF\x55\xF6\x89\x5C\xDB\xB0\x83\xD9\xC8\x9D\xD5\x55\xDE\x69\xC0\xD6\x23\xD0\x52\xD0\xCF\x92\xD4\xD8\x3F\x9F\x65\xDC\xC8\xB1\xD0\x92\xE4\xDA\xB3\xDB\xD9\x56\xD8\xE2\x74\xD8\xA3\xDC\xA4\xC7\xBA\xD9\xD8\xCE\xEB\xBD\x64\xE0\xDB\xFD\x9F\x4C\xF2\xD8\xC4\xCE\xBF\x0E\x0D\x5C\xC4\xD9\x12\xD6\x13\xE9\xD7\xD6\xDC\xC9\xDA\xA7\x6D\xC7\xD2\x85\xD7\xB4\xCA\xDB\x6C\x92\xD8\xC4\xD2\x5D\xED\xDA\x80\x05\xA1\x85\xDE\xD5\xD0\x88\xFA", + "\xD6\x71\xDA\xDA\x3A\xC7\x95\xF3\xDA\xE5\xC6\x5D\x02\xDB\x72\xFB\xDA\xCA\x82\xB8\xB7\xAA\xC3\xD1\xDA\xCD\xD0\x22\x9F\xDD\xCB\xDC\xB1\x88\xBB\xE8\xD7\xDB\xE6\xD7\xEA\x85\xCB\x3C\xB6\xB7\xA5\xDE\xB0\xD6\xC6\x6B\xD9\x58\xDB\xDC\x34\x4E\xB1\xA4\xDE\xE1\xD8\xC1\x80\xCD\x73\xDA\x92\x94\xD2\xB4\x8A\xD4\xDA\xDA\xDC\x78\x74\x31\xE9\xD8\x58\x7E\x69\xFF\xDB\xD7\xC6\x5D\x31\xDA\x5C\xBA\xDD\xAD\xB8\x99\xA3\xDA\x66\xDF\xD7\x35\xDE\xC1\xBE\xD8\xD4\x61\x54\xAD\x7C\xE8\xC0\xD8\x36\x89\x69\xCF\xDD\x97\xC5\x91\xC5\xD5\xEA\xC5\x69\x50\xDE\x76\xDB\xDF\xC4\x54\xB5\x92\xDC\xDF\xCC\xD5\x58\xDE\x7C\xD2\xDB\xAC\xD7\xBE\xF0\xD8\xEF\xB1\xDD\x5C\xDF\xB1\x87\xD7\xD9\xD8\xBD\xA1\x99\x47\xC8\xDD\xF4\xD8\xD6\xA5\xC9\xF5\xDA\xBE\xE8\x43\xFE\xC1\xDD\xD7\xD9\x4F\xC3\xA7\xDF\xD7\xBE\xEC\xCC\x01\xFC\xDF\xF4\x59\x3E\xC6\xDE\xEF\xD6\x35\xCB\xDD\x67\xDA\xDB\xEC\xD8\x81\xC9\x5C\xBF\xDF\xBD\x80\xE1\xE2\x41\xCA\x0B\xE2\x71\xE6\x9A\x55\x9E\xC0\x96\xA7\xE9\xCE\xDD\xF9\xDE\x51\xF1\xAD\x03\xED\xAC\xB6\xC4\xFC\xCD\xDA\x30\xB2\xEE\x90\xDE\xB6\xD7\x53\x99\xDD", + "\xFB\xC1\xE0\x44\x76\x60\xF0\xE0\xD9\xDC\xAA\x9F\xE3\xED\xD8\xDF\x35\xE4\x70\xF3\xE1\xF8\xD9\xBD\x36\xE3\xF8\xD8\xE1\xA2\xDA\x87\xE2\xDE\xE0\xDC\x02\xEB\xD1\x04\xF6\xE0\x88\xAD\x76\xC0\xE3\x1D\xEB\x93\x22\xD9\x63\xC4\xD9\x27\xE7\x78\xDD\xA0\xDE\xD7\x8E\xAB\xE0\x0D\xEC\x81\xC2\xDD\x77\xC0\x09\xE2\xD5\xC1\xF5\xDC\x0B\x89\xDE\x94\xCE\x8A\xFC\xE1\xCE\xCD\xBC\xCF\xE3\xF3\xCD\xDD\x37\xE5\x53\xF8\xBD\x4F\xD1\xC0\x45\xDB\x31\x47\xAA\xBC\x0A\x8B\xC0\x01\x57\x09\x3C\xEE\xE1\x66\x50\xE3\x4B\xE3\x88\xD2\xB1\x0E\xEB\x39\xDA\xDC\x11\xEC\xE2\xC3\x49\x7C\xF9\xE3\x41\xE9\xBD\x65\xDC\x20\xEC\xE0\x78\x71\x7D\xC7\xE4\x0D\xE4\xC8\xE9\xE1\xB1\x9E\xE3\x2F\xE2\x8F\xD7\x63\xFF\xDE\xC5\x8B\xE7\xAE\x57\xDF\x20\xE7\x88\xE6\x66\x4A\xE1\xBD\x91\xE6\xE9\x5C\xE4\x2C\xE5\x91\xC1\x5D\x6A\xDA\xC9\x9D\xE5\x49\x79\xD6\xA5\xE1\x94\xDD\xA0\x05\xED\xC5\xA6\xE6\x41\x61\xD7\xA9\xE7\x8A\xF9\xBE\x08\xED\xBF\xF5\xDD\x52\x62\xE3\x80\xD8\x06\x64\xE0\x5B\xEF\xA0\xC8\x8C\x22\xF5\xE5\x02\xE7\xF0\x97\xD9\x5D\xE7\x6A\xDF\x69\x14\xFF\xE5\x74\xD9\x72\xD6\xE5\x56", + "\xE2\xC2\xF7\x98\x31\xE3\xC9\xF7\xA0\x97\xD2\xE3\x62\x92\xC3\x92\xE4\x12\xFD\xE1\x42\xE2\x94\xFF\xE3\x0D\xE0\x50\xCF\xE4\x0D\xF6\xD8\x80\x74\x8F\xEA\xDD\xB8\xC7\x82\xE8\xE3\x0F\xEA\xE3\x1A\xDA\x9A\xC8\xE7\x9B\xAA\xC4\x99\xE4\x30\xE4\x72\x4E\xE3\x78\xE2\x9D\xC0\xC3\xCD\xE7\xE5\xB1\x94\xE2\xED\xAA\x9C\xDC\x86\x97\xDE\xCD\xEB\xCF\x7D\xB7\xD4\x32\xAB\x66\xD3\xD8\x6D\xE9\xC2\x9E\xD4\x40\xE6\xAF\x3B\xAA\x9D\xCC\xE5\xAD\xB3\xBD\x82\x91\xF5\xDD\x71\x78\xE4\x1D\x68\x6D\x5E\x06\xC7\xB1\x90\x6F\x0D\xB7\x05\x09\xB7\x95\x08\x8C\xE4\x10\x1A\xE8\x44\x1C\xE8\xFF\x06\xA3\xD6\xDE\xDE\x02\xD2\x87\x08\x48\xED\x0D\x4E\x03\x5B\x95\x05\xDD\x45\x02\x3B\x4C\xB5\xA3\x4E\x2D\xEC\x8D\xC0\x08\x54\xED\x1A\x31\xE9\x56\x6F\xE9\x3F\x46\xA6\xC8\xD4\xD9\x9C\x63\xE5\xB4\xFD\x4D\x02\x2C\xEE\xA5\xC1\xEA\x99\xE0\x00\x34\xEB\x44\x1A\xE9\x2E\x80\xA7\xFD\x70\xA4\xE1\xA7\x94\xBA\xDB\xDC\x5B\x11\xEC\x49\x32\xE2\x49\x0B\x9B\x44\xD8\xDF\x49\xE9\x7C\x58\xA8\xD7\xEB\xDD\x4A\xD5\xC0\xD9\xF6\x58\xEA\x59\x6D\xAB\xD4\x72\xA5\xE9\x99\xF2\xD0\x00\x1B\xB6\x01\xB6", + "\xA9\xC0\x09\x66\xB3\xC0\x56\xE5\x25\xE9\x5C\x90\xE2\x82\xF8\xE1\xEE\xDB\xD0\x8E\xE4\xAD\xDA\xE7\x06\x6E\x90\xEE\xEA\x57\xE8\x87\x0A\xE7\x5E\xEA\xE5\x76\xEB\x9B\xDA\x93\xB8\xE7\xCD\x81\xED\x0E\x78\xEB\xE6\x60\x93\xC6\xEC\xB9\xE9\xBD\x20\xE6\x2C\xFF\xEB\x21\x48\xB1\xE8\xC8\xC9\xED\xCC\xB3\xE8\x65\xFA\xB2\xAC\xE1\x84\xCF\xEC\x2D\x90\xCB\xEF\xE7\x66\xF9\x5E\xB4\xE3\x99\xFE\xD3\x9E\xC7\xCC\xF5\xEA\x25\xB8\xE0\xCC\xE7\xB3\xDD\xCC\x1F\xE2\xD8\xEE\xE7\xE1\xC7\x9B\xFD\xE7\x2C\xFC\x8A\x85\xE9\xC1\x88\xBA\x32\xF0\xEC\x63\xE6\x92\x95\xDC\x82\xEC\xD8\xC5\x96\x0B\xFD\xED\xF6\xE0\x74\x57\xEC\xB8\xCC\xDA\x9E\xE6\x6B\xFC\xE6\x5C\xB4\xB6\xE9\xEC\xE2\xE9\xCD\xC7\xEC\x6F\xE8\x43\xC5\xE8\xB8\xED\xED\xCE\xC6\xC4\x9E\xED\x6E\xE7\xB2\xED\xE3\xB1\xC5\xED\xC0\x51\xCF\xF2\xE0\x3D\xEB\xE7\xCF\xE8\x0F\x78\xE6\x95\xD1\xDB\xFE\xC6\xB6\x84\xEA\x5C\xE2\xB3\xD7\xEF\x71\xE0\xC6\xCC\xC1\x79\xF0\xC0\x04\x5C\xA8\xD2\xC3\xDA\xEB\xDC\xAF\xBD\x43\xF0\x75\x0F\xEE\x20\x27\xE9\x89\x0A\x03\x5B\x96\x64\xD0\x88\x64\xEC\x0E\xE3\x6F\xFB\xCD\x1A\x03\xF1\xE2", + "\xDB\x55\x12\x00\x3A\x8B\x09\x04\xFF\x09\xEC\x7B\xCC\xB7\xB2\x47\xB7\x45\xCE\x8E\x87\x08\x01\x0A\xF2\x40\x06\xF0\xAF\xBA\x03\x16\xF1\x80\x0A\xE1\x8D\xF2\x43\x17\x02\x1B\xF2\x9E\x61\xF1\xB3\xE3\xE2\x9E\x03\x88\xF0\xF0\xE3\xE0\xC5\xE5\x68\xB4\xE6\xAF\xAA\xF2\x41\x6E\xF1\xE6\x64\xC5\xEC\xD8\x00\x0D\xDF\x9E\xF3\x42\x00\x6F\x12\x5D\x35\x01\xF0\x4F\xC8\xE1\xB3\xB9\x8F\xF6\xD7\x0C\xF3\xC2\xCB\xF1\x13\xF4\xE4\xB6\xF2\x40\x12\xF0\xCC\x8B\x22\x15\xF0\x23\xF1\x10\x3F\xF3\x8C\xFD\xF0\x42\xF2\x20\x10\xF3\x24\xFF\xE1\xA3\xF1\x7E\xF4\xC3\x32\xF2\x59\xE6\xF0\x26\xFE\xCB\xB3\xF0\x8C\xF0\xB5\x59\xF4\x0E\xDF\xF3\xCA\xEC\x2B\xF6\xD5\x98\xFE\xC4\x35\xF1\xCA\xC1\x08\x1C\xFD\xD6\xA6\x5C\x53\xF2\x87\x3B\xF0\xCF\x6F\xF3\xD0\x96\xD6\xC6\xEA\x43\x11\xF3\x72\xE6\xCE\xCB\x09\x7B\x9C\xA3\x80\x03\xC2\x9D\x71\x7F\xF3\x57\x41\xF5\xBF\x63\xE8\xB3\x65\xA1\xF8\x73\x87\xF5\x35\x09\xF5\x89\x0B\xE8\x8E\x09\xA3\xEB\x08\x8F\xF2\x20\x0D\x98\xBE\x5F\x30\xFC\x59\x7A\xF8\x73\x13\x9C\xA8\xD5\x98\xD3\xC1\xB8\x73\xF3\x70\x51\xF3\x35\xEB\x5B\xBA\xF2\x81\x0E", + "\xE9\xBF\x40\xA8\xE7\xEA\xA2\xF0\x23\x8C\x9F\xC4\x5D\x6B\xB8\xD9\xA0\xD5\x83\x18\x8D\xD5\xE8\x11\x92\xEA\xDF\x88\x61\xAA\xCE\xF3\x42\xEC\x6F\x65\xF5\x7A\xC5\xE7\xC3\xEB\x4D\xFE\xF5\x3B\xEF\x7B\xBD\xE8\x17\x8C\xE7\xC1\xD2\x40\x11\xF4\x01\x08\xD9\xC0\x08\x65\xFE\xE7\xFA\x96\xB3\xFC\x97\xCF\xF6\x5F\x91\xF6\x2A\x73\xE9\xD9\x69\xA5\xF9\x6A\x97\xF5\x35\x19\xF5\x83\xE9\x5F\x8B\x0B\xA6\xE6\xF6\x28\x91\xD6\xDB\x97\xEE\x9E\xA6\x93\x0A\xAC\xF2\x12\xDA\xB3\x34\xC2\x09\x1A\xD1\x9A\xF7\xF2\xBA\xE1\x08\xEC\xF6\x40\x17\x9F\x77\xF0\x10\x71\xF5\x72\xFC\xE0\x88\xDE\x49\xFA\xF7\x72\xEE\xEA\x89\xD4\xE5\x75\x0A\xF3\xF7\x1D\x5B\xA8\xAF\xEC\x24\x53\xB4\xBD\xE0\x00\xF1\xE3\xBF\xCE\x08\x24\xFD\xEF\xBC\xEA\xA8\xB6\x97\xF8\x93\xDA\xC2\x98\x89\xF4\x30\x94\xFA\xC1\x96\xF8\x08\x98\xE3\xC3\x4F\x6A\xF4\xE5\x57\xF4\x95\x79\xF6\x13\x0B\xDB\xC1\xF6\x9D\xA2\x10\x5F\xF6\x39\xF3\xEE\x96\xA4\xB0\xEF\xEB\xB9\xEC\xB4\xF5\xE4\xCA\xFB\x9C\x82\xE6\xB9\xF2\xF8\x5C\xD3\xDC\xF5\xBA\x5F\xE1\xEF\x7C\xE9\xE7\xC0\xED\x94\xF5\xF3\xF8\xA2\x63\xEB\xEF\xD2\xEB\x03", + "\x4A\xED\xE0\xEF\xF2\x87\xEF\x7B\xF9\xC5\xB3\xA6\xE5\xC6\xEF\x62\x94\xCA\xD6\xED\x2E\xE3\xF6\x03\xEB\xE6\xE9\xDA\x17\x7A\xDC\xEA\xED\xDD\xBD\xEC\xA2\xE9\x96\xD9\x4D\xD0\xE8\xDB\xB2\xEE\x58\x5D\xF9\xA5\xC7\xE8\xC6\xD7\x26\xDC\xEF\xD1\xFA\x76\xF5\xC4\xE4\xE4\x05\xE6\xFA\xA2\xF5\xD0\x8C\xDC\xD8\xF6\x88\xB7\xE8\xE7\xFB\xF9\x23\xBB\xDB\xD2\xF9\xD1\xF7\x62\xBF\xEB\xBB\xF7\xFA\x34\x45\xCD\xF2\xFA\x6A\xE1\x5C\xD1\xEA\xEF\xCB\xFA\xC0\xFD\xDC\xE7\xFA\xCE\xEC\x9C\x85\xFC\xED\xC1\xFB\x58\x69\xF8\xFB\xFB\xCA\xFB\xBA\xD5\xE9\xEB\xCE\xFB\xE1\x49\xDD\x8A\xFE\xE0\xF7\x62\xDD\xEA\xD7\x5F\xEE\xD3\xEE\xF8\xC1\xE5\xE3\x3E\xBC\x6F\xF8\xE1\x99\xE2\x5D\x77\xE9\x93\xFC\x22\xED\x32\x80\xA1\xF4\xD4\x81\x32\xE2\xCF\xE6\xEB\x7C\xF5\xEF\x4A\xFD\xA4\x77\xEE\xD1\x97\xE5\x84\x0A\xC2\xEB\x08\x5B\xF4\xDB\xE4\xB5\x08\x9C\xB7\x45\xF5\xB9\xEE\xF4\x1A\xFF\x07\x4C\xF7\xE1\xF1\xFC\x80\xF5\xF1\xE2\xF4\xC7\xFF\xAF\x5C\xF8\x17\x8E\xF1\xAE\x80\xC8\xEE\x08\x22\xFD\xE1\xC2\xF7\x80\x06\xF2\xC4\xF5\xC4\xF0\xF6\xD8\xFA\xDA\xD9\xFE\x80\x99\xFC\x86\xF5\xF7\xE8", + "\xF4\xBB\x4B\xF9\xFB\x95\xE6\xFB\x2B\xCF\xFF\x42\x11\xFE\x4D\xE9\x67\xC0\x09\xEA\xFD\xE6\xD9\x5D\xED\xED\xFD\x6A\xE8\x00\x12\xCD\xD6\x0E\xFB\xB9\xF0\xA3\xFF\xFE\x8A\xF0\xFF\xF7\xFF\xED\xF3\xF1\xFC\xFD\xC5\xFE\xFF\xF2\x42\xF8\x72\x0F\x64\x7F\xF2\x42\xF9\x72\x10\x28\x7F\xC3\x3A\x59\x7C\xFE\x49\x80\xF1\x7C\x20\x0B\x2D\x41\x02\xDB\x4B\x20\x05\xD1\x43\x27\x6C\x76\x3C\x45\xFF\x7B\x4A\x15\x81\xDD\x59\x01\x8A\x4C\xBB\x27\x06\x82\xFC\x5D\x80\xFA\x7E\x43\x0E\x01\x86\x7F\x7C\x2F\x08\x88\xFC\x65\x80\x21\x83\x42\x06\x02\x84\x7A\x20\x80\x00\x8B\x93\x2B\x80\xDE\x7C\x0A\x8E\x02\x94\x80\xE1\x7D\x0B\x86\xED\x76\x80\x1F\x7C\x0E\x8E\x02\x48\x80\x74\x79\xFC\x7B\x00\xA8\x70\xEB\x6C\x5D\x74\xDF\x56\x7D\x64\x62\xEA\x76\x13\x71\x7C\x86\x7F\xDC\x7B\x81\x3A\x75\x7E\x7C\xD0\x78\x86\x37\x7C\x76\x7F\xE0\x7D\xF9\x4A\x81\xB5\x3E\xD8\x7F\xBA\x73\x6F\x5A\x7C\x10\x88\x86\x03\x7D\x53\x83\xDF\x7B\x39\x7F\x7C\x5A\x80\x2F\x79\xF4\x60\x77\x51\x83\x15\x3D\xF4\x52\x7E\xDC\x6E\x8A\x06\x04\xA1\x4C\x99\x75\x16\x81\xFB\x68\x21\x58\x7D\xD7\x73\x94\x53\x53", + "\x27\x7E\x14\x83\xCE\x54\x70\x44\x83\xE9\x7D\xC6\x15\x7D\x6E\x81\x82\x6D\xF8\x76\x81\x8B\x7C\x74\x7F\x07\x81\x82\x8F\x7D\xB1\x4D\xB8\x68\x81\x14\x6E\x09\x7B\xF6\x5D\x81\xFE\x72\x43\x05\xF7\x49\x81\x5E\x83\x06\x29\xF7\x45\x82\x96\x7C\x1E\x2D\xF7\x65\x81\x97\x7E\x20\x89\xEF\x6F\x81\x94\x83\xE6\x41\xF8\x5D\x82\x80\x82\x26\x80\xDB\x7C\x81\xA6\x7D\x08\x6B\x09\xA4\x81\x90\x80\x5C\x61\xF9\x72\x81\xA8\x81\x2F\x3B\x06\x90\x44\x99\x7C\x6A\x3B\xF9\x43\x81\x7D\x82\x45\x43\xDE\x70\x3A\x9F\x5C\x2D\x85\x0A\xBB\x2A\xA3\x7E\x11\x65\x07\x84\x82\xB6\x51\x7B\x70\xEB\x1C\x81\xA1\x80\x28\x87\xC5\x2C\x7E\x72\x73\xEB\x79\x07\x9C\x7E\xE3\x73\xEC\x76\xD6\x6F\x7F\xBB\x83\x15\x80\x7C\x7A\x82\x69\x82\xD7\x6D\x0A\x8C\x82\xE3\x3B\x2B\x84\xBF\x0C\x81\x98\x82\x31\x8F\x04\x9A\x83\xAC\x80\x33\x87\xC5\x2A\x7C\x87\x7E\x13\x88\x87\x20\x81\x9C\x81\x31\x78\x73\x7F\x82\x99\x83\x4C\x64\x73\x6C\x83\xDE\x82\x3B\x88\x0E\x97\x83\x05\x73\x44\x07\x06\xA1\x83\xB4\x82\x01\x74\x0A\x88\x82\xA6\x2D\x1B\x81\x0D\x8B\x83\xBB\x29\x1C\x8D\x04\x8F\x7D\x39\x67\x1A\x87", + "\xCB\x70\x83\xE5\x81\xDD\x58\xDA\x40\x84\xB0\x7E\x1F\x87\x0A\xA2\x83\xED\x82\xE7\x79\xF6\x69\x65\x08\x84\x15\x82\x96\x47\x82\xF8\x81\x43\x8D\xE3\x31\x7D\xDD\x81\x42\x88\x47\x4F\x82\x95\x82\x47\x82\x99\x20\x83\x5E\x64\x49\x88\xCD\x4F\x84\xD4\x81\x46\x81\x43\x43\x82\x11\x86\x45\x89\xD7\x28\x84\x1A\x85\x4A\x8F\x44\x70\x84\x0C\x85\x4D\x81\x32\x6B\x82\x03\x85\x3A\x84\xE4\x15\x7E\xD8\x83\x1C\x8E\x68\x63\x7C\x90\x58\x76\x26\x12\xB7\x73\xA0\x7E\x15\x83\xDA\x69\x54\xD2\x7C\xC9\x77\xBE\x06\x85\x15\x6F\x3F\x70\x14\xAB\x5A\x02\x77\x81\x71\x13\x92\x83\x06\x77\x53\x8C\x6D\x45\x3B\x43\x86\x25\x5E\x0C\xB1\x7F\xEF\x7C\x48\x79\xEE\x42\x7C\x02\x05\x8A\x6D\xEE\x4B\x04\x71\x7B\xD3\x02\x16\xAE\x40\x41\x78\x95\x39\x16\xAE\x40\xBB\x7B\xAE\x27\xEA\x4E\x04\x6D\x86\xF3\x6D\xEB\x7A\x7A\xB9\x79\x56\x31\x17\xA6\x71\x73\x86\xC0\x52\x03\x90\x7C\x50\x76\x0E\x84\xA6\x62\x80\x29\x82\x40\x00\x03\xA0\x7F\x7B\x84\xF7\x75\x18\xBD\x7F\x59\x37\x60\x89\xFF\x47\x86\xFF\x7D\x62\x81\x18\x81\x04\x8A\x87\xFE\x7E\x18\xB3\x80\x3F\x21\x64\x80\xFC\x4C\x86\x01", + "\x82\x5F\x83\x00\x9A\x86\x3B\x26\x01\x80\x19\xBB\x26\x3C\x81\x5A\x7A\xFE\x40\x00\x3F\x80\x0D\x8D\xFB\x5C\x86\x78\x52\x65\x80\xE9\x68\x86\x1F\x80\x66\x89\xF1\x6E\x86\x1C\x80\x6C\x8D\x1A\x93\x86\xDA\x7C\x6D\x86\x18\xB6\x86\x88\x84\x95\x3A\x1A\x87\x7B\xAC\x84\x09\x88\x1B\xBB\x4A\x02\x83\x0B\x8E\x30\x7D\x86\xBB\x2A\x67\x8B\xD6\x60\x86\x14\x4F\x04\x85\x55\x7B\x26\x4B\x7A\x5E\x84\xF0\x41\x2E\x17\x81\xCC\x3B\x18\xB5\x86\xB7\x85\x75\x89\x1B\x97\x87\x8D\x86\x75\x89\x1D\x98\x87\x99\x84\xA5\x70\x31\x48\x87\x9A\x7B\x6E\x21\x1D\xB5\x5D\xC4\x7C\x65\x8E\x1B\x9A\x87\x17\x7E\x79\x87\x02\x94\x87\xDC\x87\x4E\x21\x1C\x83\x27\x04\x81\x67\x80\x1E\xBA\x7E\x4F\x0D\x69\x82\x51\x71\x79\x2C\x42\x93\x7A\xAC\x7A\x87\x74\x63\x5A\x84\xE0\x53\x04\xFE\x86\x54\x83\xCC\x6A\x79\x5D\x7A\xB2\x6C\xF0\x7F\x87\x14\x7B\x88\x7C\x1F\x9E\x62\x53\x79\x60\x5D\x1A\x0D\x88\x08\x8B\x42\x00\xE2\x5C\x79\x00\x00\x34\x89\x7F\x67\x79\x21\x4D\xEE\x74\xE5\x47\x57\xAF\x5F\x98\x78\x18\x58\x88\x2C\x42\x87\x80\x97\x62\x88\x75\x5C\x88\x89\x7F\x69\x79\x54\x3A\x55\x74\x20", + "\x80\x00\x6C\x7A\x74\x82\x9A\x54\x88\x0B\x89\xC8\x41\x23\xAC\x40\x01\x8B\xEB\x55\x23\x8F\x78\x45\x7B\x8A\x87\x20\x82\x88\x78\x39\x73\x8B\x21\x97\x78\x23\x78\x84\x8C\x23\x8F\x88\x23\x7B\x84\x8B\x22\x96\x88\x37\x56\x89\x87\x53\x5A\x88\x0E\x8A\x83\x7D\xE2\x63\x78\x4A\x8A\x96\x44\x22\xB8\x51\x53\x8A\x44\x51\x25\x9B\x5D\x28\x8A\x0B\x4A\x22\xBF\x88\x6B\x7B\x6E\x21\x23\x85\x78\x5E\x8A\x7F\x70\xF0\x59\x61\x57\x84\x00\x0D\x01\x23\x89\xE1\x58\xA6\x62\x10\x1B\x00\xCA\x84\xAF\x71\xFF\x42\x83\xA2\x4E\x64\x66\xF0\x60\x85\x01\x07\x99\x88\x85\x4E\x04\x18\x8B\xD3\x0C\x26\x9C\x7A\xB4\x0B\x9C\x89\x1A\x0F\x0D\x76\x8B\x73\x3E\xEE\x74\x89\x00\x07\x9E\x8F\x1C\x9B\x4E\x1C\x03\xB6\x49\x03\x2D\x89\xBB\x2A\xA1\x83\xD6\x7B\x26\x8E\x89\x52\x81\x14\x81\x04\x37\x01\x5D\x86\x15\xBF\x5B\x02\x05\xA5\x84\xD4\x78\x00\x68\x89\x6F\x57\x98\x41\x04\x36\x00\xA3\x8F\xD7\x11\x8A\xBB\x4B\x5B\x8B\x10\x24\x8A\x0C\x83\x68\x8A\x29\xBF\x7A\x44\x77\xAA\x84\xE5\x09\x8A\x44\x77\xA2\x8C\xB7\x30\x8A\xF4\x87\x44\x02\x2B\x82\x8A\x64\x87\xC1\x71\x2A\xBC\x89\x1B\x22", + "\x90\x8B\x93\x3E\x8A\xA2\x87\xAB\x7F\xF0\x54\x39\xA8\x8B\x4E\x26\x2A\xAB\x89\xDB\x4A\xAB\x8E\x02\x45\x8B\x9F\x78\xA4\x89\x2C\x8E\x8B\x7C\x2F\xB1\x81\x10\x0C\x8B\x50\x62\x59\x7A\x2C\xA8\x08\x01\x7F\x9F\x84\xF5\x7E\x74\x71\x72\xAE\x33\xFF\x53\x04\xD4\x89\x8F\x32\x2D\x85\x8A\xCF\x88\xDF\x21\x2E\xAE\x85\xD0\x88\xAB\x89\xD5\x27\x8B\x72\x85\xFC\x77\x2D\xB2\x43\xEC\x88\x5E\x8E\x2E\xA9\x8B\x8F\x8A\xB9\x86\x29\x8B\x8B\xE5\x8B\xBA\x89\x2F\x84\x8B\xF7\x8B\xAE\x41\x2F\xB0\x7F\xAA\x89\xA7\x82\x10\x25\x85\xDB\x88\xAA\x69\xB8\x18\x01\xFD\x8A\x3C\x48\x30\x84\x75\xA4\x01\xC2\x8D\x03\xA3\x86\x0D\x8F\x69\x8D\xE7\x65\x87\xEC\x87\x76\x86\x31\xA9\x87\x15\x8C\xC6\x88\x1E\xAF\x86\x59\x37\x7B\x8F\x83\x31\x87\xC3\x26\x71\x80\x00\x21\x86\xD5\x8A\x0F\x82\x2A\xB3\x32\x46\x8B\xA5\x8F\x29\xBF\x7B\x7C\x2F\xC2\x8A\x2E\x94\x39\x2E\x8E\xCA\x8A\x26\x81\x04\x11\x8D\x56\x31\x33\x89\x75\xBB\x27\xCD\x89\xFE\x42\x8B\x00\x05\xCD\x8C\x2D\x80\x08\xD9\x8A\x75\x0F\x34\x39\x56\x7E\x8A\xD0\x83\x11\x29\x48\x41\x8E\xB3\x5A\x8B\x72\x7B\x64\x88\xA6\x81\xEE\x77", + "\x89\xB9\x88\xA1\x89\x18\x42\x8C\x01\x04\xC1\x8E\x10\x08\x8D\x2F\x8A\xB6\x8E\x08\x94\x8D\x3E\x1D\x99\x88\x35\x83\x8A\x5A\x8F\x42\x0D\xDD\x0C\x8D\x78\x8B\xC1\x73\x36\x98\x8B\x4D\x8F\xCA\x80\x00\x27\x8D\xF2\x40\x86\x8D\x1A\x2E\x8D\x13\x04\x86\x82\xC7\x5F\x8B\x0E\x07\x78\x88\x47\x54\x8C\x1B\x8D\x6C\x89\x31\x9C\x8C\x79\x8F\x6C\x8D\x37\xA7\x87\x2E\x42\xC7\x8D\xE3\x20\x8C\x3F\x22\xC8\x84\x32\xAE\x89\xA3\x86\x7D\x80\x11\xA2\x81\x19\x5F\x22\x85\x0C\xB6\x52\xE4\x82\x4B\x82\x12\xA7\x55\x59\x87\xE6\x4C\x0D\xA9\x82\x04\x87\xCA\x45\x39\x8F\x8E\x92\x8C\x99\x71\x39\x91\x82\xC0\x80\x91\x33\x0F\x8B\x8E\xEA\x82\x7E\x5C\x23\xBF\x83\x30\x67\x3B\x85\xDA\x72\x84\x1D\x53\xE8\x8C\x3A\xBC\x6C\x6A\x6E\xE3\x81\x3A\xBA\x65\x50\x7F\xE9\x8C\x0F\xA8\x73\xFE\x83\xED\x80\x3B\xAF\x5F\x15\x84\xE8\x82\x96\x5C\x7D\x39\x84\x7C\x70\x5A\x7D\x8E\xE6\x80\xAC\x5B\x10\xB5\x82\xAF\x8C\xE1\x74\x13\x88\x8F\x53\x85\xC2\x6B\x3C\xA8\x8E\x4B\x6E\x43\x08\x11\x81\x8F\xAB\x6A\x22\x86\x3B\xAA\x84\x4D\x87\xD6\x8C\x14\x95\x6A\x6E\x36\x4E\x8E\x3B\x96\x82\x9B\x8C\xE3", + "\x7F\x3C\xBA\x8E\x53\x7C\x5A\x6C\xBA\x6B\x8E\xCD\x8D\xEA\x8F\x09\x93\x8E\xF9\x81\x2F\x75\xE6\x64\x8E\x9D\x8C\x62\x48\x13\x9D\x84\xF1\x8C\x5C\x6C\x13\x9C\x8E\xDF\x8E\x44\x81\x0B\x82\x48\xB3\x81\xFA\x88\x3A\x86\x3E\xB5\x8A\xB5\x4B\x0F\x98\x8F\xEA\x61\x00\x91\xA9\x44\x8F\x61\x80\xAC\x50\x27\xA6\x75\xC4\x83\xEC\x85\x3C\x84\x39\xC8\x82\xAE\x3A\x0C\x8C\x8F\x36\x84\x0B\x4B\x15\xA3\x86\x5D\x84\xFD\x2D\x22\x8F\x8C\x3C\x8E\xFC\x72\x1E\x97\x7F\x7B\x8E\xDE\x8F\x37\xAB\x87\x23\x90\x0B\x8A\x1E\xA6\x90\x21\x90\xC3\x43\x1C\x96\x7A\xF3\x86\xCC\x81\xD0\x65\x7C\x1F\x93\xC4\x8F\x18\x8B\x7B\x33\x91\xB3\x77\x42\xB1\x80\x29\x90\xE0\x87\x31\xAE\x87\x2B\x90\xB6\x7D\x42\x92\x8A\x50\x84\x0C\x9C\x2B\xA5\x34\x33\x88\xFD\x25\x44\x89\x2E\x37\x8A\x44\x59\x44\x96\x44\x55\x88\x45\x86\xFF\x4B\x7C\x18\x46\x8F\x8F\x44\x87\x1A\x18\x44\xB0\x82\x51\x56\x91\x16\x45\xCA\x83\x45\xBB\x43\x7D\x7B\x95\x85\x2C\x4C\x89\x7F\x84\x87\x84\x25\x98\x44\x5E\x91\xE0\x2D\x44\xA7\x8F\x61\x92\x40\x05\x46\x9B\x4E\x59\x89\x1A\x9D\x25\xAD\x48\xB7\x7A\x8C\x04\xEB\x45\x04", + "\x20\x77\x1C\x96\xFB\x76\x7A\x17\x74\x1E\x93\x55\x7A\x91\x12\x74\x76\x31\x47\x8C\x09\x76\x93\x3F\x05\x47\xBF\x91\x76\x09\x20\x93\x48\xB9\x91\x24\x74\x21\x97\x64\x78\x87\xF9\x5F\x11\x9A\x25\x4E\x92\x5B\x5F\x12\x9A\xAC\x52\x92\x62\x79\x8E\x8C\x25\x80\x04\x3B\x8B\xEB\x52\x45\x91\x88\x40\x88\x85\x88\x45\x8A\x6B\x9F\x90\x1D\x6A\x45\x9C\x92\x6D\x70\x85\x8B\x46\xA3\x73\x60\x93\x90\x8E\x24\x9E\x79\x50\x8A\x25\x9D\x24\x84\x54\x33\x5F\x29\x95\xD2\x2D\x91\xAA\x92\x43\x0B\x41\x8D\x8B\x7D\x78\x24\x95\x2C\x7A\x92\x81\x2C\x25\x96\x13\x7E\x92\xAC\x6B\x19\x98\x78\x7D\x79\x99\x90\x1E\x5B\x49\xAE\x88\xF0\x20\xB8\x70\x10\x21\x92\x36\x44\x33\x9C\xAA\x63\x92\xC8\x93\xEE\x1D\x45\x98\x44\xA9\x91\xDD\x52\x4C\x83\x88\xBF\x7F\x42\x02\x4B\xA8\x21\xD7\x91\x38\x73\x4D\xBD\x79\xB4\x91\xDD\x57\x4B\xA3\x74\xA6\x2F\xAD\x84\xE5\x2F\x8B\x1C\x92\xBF\x70\x00\x2D\x01\x27\x8E\x20\x94\xBF\x3B\x8A\x59\x36\x39\x9E\x02\x70\x93\xE7\x93\xB6\x4C\x4E\x83\x91\x68\x22\x3C\x9B\x2B\x68\x93\xC1\x8A\x3A\x97\x4F\x87\x8A\x1B\x22\x3E\x92\x0F\x7C\x93\x25\x8F\x68\x8F", + "\x4F\x94\x39\x9C\x88\xDF\x24\x4F\xAE\x40\x02\x97\x4E\x2B\x50\xBB\x93\xF6\x93\x6E\x2F\x50\xB2\x43\x0D\x97\x70\x23\x51\xBB\x24\x04\x94\xE2\x8D\x41\x87\x94\x06\x8D\xD0\x6A\xEB\x2A\x01\x18\x44\x23\x97\x53\x7C\x92\x47\x58\x49\x93\xCE\x40\x93\x34\x8A\x2B\x94\x4A\x85\x88\x74\x61\x31\x96\xAF\x47\x93\xAF\x5E\x49\x95\xD2\x0E\x93\x2C\x40\x4D\x99\x7F\x50\x93\xAF\x5C\x92\x8A\x25\x5B\x93\xE6\x31\x35\x98\x23\x94\x88\xDD\x90\x44\x4C\x53\xB0\x5A\x41\x94\xFD\x25\x54\x89\x2E\x70\x8E\x43\x09\x50\xAB\x88\xE1\x93\xCC\x53\x4E\x96\x44\x22\x97\x23\x9A\x20\xA3\x78\x28\x95\xFE\x55\x55\xB7\x54\x47\x96\xE9\x29\x55\x99\x2F\x2E\x97\x8C\x70\x53\xBE\x78\x41\x89\x58\x94\x21\xB8\x94\x33\x5E\x4E\x9B\x75\x43\x95\x64\x7A\x4F\x9F\x24\x80\x95\xAD\x90\x5B\x9E\x56\xAB\x88\x49\x97\x42\x0B\x54\x97\x92\x34\x7B\x88\x7F\x54\x88\x5C\x51\x97\xD6\x52\x53\x86\x34\x7B\x96\x39\x37\x55\x9A\x49\x7F\x97\xD6\x5B\x55\x85\x4B\x83\x95\xE0\x2D\x55\x8A\x6B\x5F\x96\xBD\x6D\x57\xB0\x5A\x36\x97\x4D\x5D\x58\x9A\x49\x64\x96\xBD\x66\x56\x9D\x66\x68\x94\x62\x4A\x56\xAC\x92\x6F", + "\x94\x5D\x95\x59\xA3\x88\x2A\x95\x2D\x9A\x4D\xA3\x78\x4D\x96\xBD\x67\x57\xBF\x35\x34\x03\x6E\x25\x5A\x84\x75\x20\x94\xD4\x8D\x3D\xAA\x8D\x69\x01\x3B\x92\xC7\x69\x96\xB8\x8B\xC0\x87\xF0\x6D\x96\xF8\x92\xC3\x7E\xF6\x52\x8D\xFA\x6B\xD3\x00\xD6\x46\x8D\x0E\x07\x6E\x9A\x34\x8E\x04\x66\x69\x99\x87\x07\x07\x7C\xFA\x69\x20\x9F\x34\x37\x85\x21\x74\x1F\x90\x48\x8A\x97\x85\x90\x73\x94\x2B\x01\x92\xD0\x96\x73\x93\x1A\xA2\x75\xBF\x96\x18\x9A\x36\x9F\x01\x07\x7F\x1C\x09\x5D\x87\x7C\x6D\x69\x75\x92\x10\x27\x01\x07\x7D\x8B\x61\x36\x82\x04\x7D\x03\xC1\x78\x3D\x59\x8D\xBC\x94\x16\x8F\x34\x02\x8E\x2F\x91\x40\x06\x37\xAA\x8D\xEF\x97\xCC\x87\x90\x69\x97\x02\x05\x1C\x07\xF0\x75\x01\x07\x7C\x1C\x09\x5F\x87\x7C\x74\x03\xC1\x7C\x02\x15\x05\xC6\x97\x44\x0D\x5F\x92\x8D\x85\x03\xC1\x77\x08\x07\x7C\xB4\x03\xC1\x75\x0B\x07\x7C\x34\x48\x7D\x91\x10\x0D\x98\xDE\x97\x83\x9C\x60\x87\x7C\xC0\x93\xD3\x05\x61\x93\x04\x79\x03\xC1\x78\x07\x1A\x98\x07\x7D\x86\x92\x35\x9B\x98\x1F\x9B\xC1\x70\xA7\x5A\x61\x0E\x07\x2C\x07\xF0\x78\x02\x27\x9B\xC1\x7E\xA3", + "\x51\x98\x00\x05\x23\x00\x60\xBA\x3A\xBA\x03\xC1\x71\x63\x92\x8D\x46\x73\xD3\x06\x62\x92\x8D\xB1\x02\x8C\x92\x62\xBB\x98\x52\x8F\x88\x95\x26\xBE\x98\x4E\x8F\x2D\x4C\x63\xA3\x97\xE4\x47\x90\x9E\x60\x82\x99\x3D\x9A\x91\x9C\x62\x80\x00\x40\x9A\xDA\x8D\x64\xB2\x97\x4C\x9A\x92\x91\xDD\x2B\x68\x44\x98\x92\x95\x65\x91\x99\x49\x99\x96\x97\x65\xAA\x66\x47\x98\x00\x0D\x6F\x5D\x99\x4F\x99\x7B\x90\x10\x26\x02\x07\x7F\x29\x07\xF0\x51\x00\x07\x7E\x0F\x0F\x62\xA8\x36\x68\x9A\xD4\x8E\x70\x4F\x0D\x3A\x8C\x89\x9B\x10\x2F\x99\x13\x05\x64\x90\x65\x95\x01\x07\x7C\x10\x07\xF0\x47\x7A\x4F\x0E\x2A\x07\xF0\x68\x02\x7F\x9B\xC1\x79\x0A\x07\x7C\xC2\x6F\xD3\x08\x07\xBB\x7E\x58\x5D\x97\x9A\x8F\x4F\x0D\x8B\x9B\x44\x0C\x09\x07\x7C\x8F\x9A\xD4\x8E\x09\x07\x7C\x96\x00\xA5\x96\x69\x92\x8D\x95\x9A\xD4\x8F\x09\x07\x7C\x9B\x9A\xD4\x84\xCA\x4F\x0D\x84\x03\xC1\x7C\x08\x07\x7C\xB0\x03\xC1\x7D\x0A\x07\x7C\xAE\x03\xC1\x73\x0C\x07\x7C\xC4\x03\xC1\x74\x09\x07\x7C\x39\x69\x97\x9F\x6A\x92\x8D\x91\x03\xC1\x75\x6B\x92\x8D\x93\x03\xC1\x79\x09\x07\x7C\x9A\x02", + "\xAE\x9C\x6B\xBE\x9A\x52\x8D\xAF\x92\x35\xA9\x5B\x00\x03\x1B\x07\xF0\x46\x9B\x52\x8D\xAC\x9B\x64\x87\x01\x07\x7F\xE1\x82\x66\xA3\x8C\xCD\x99\xB4\x92\x35\x8B\x01\x07\x7C\x13\x07\xF0\x7C\x02\x07\x7F\x2E\x07\xF0\x70\x72\x4F\x0C\xB7\x93\x11\x02\x02\x07\x7F\x02\x07\xF0\x4F\x0D\x65\x88\xB9\x91\x64\x93\x84\xCF\x9B\x9F\x3F\x34\x0F\x30\x52\x8C\xE1\x80\x65\xAC\x9B\x57\x9A\xBB\x9F\x6C\xB0\x9B\x5D\x9B\x0B\x07\xF0\x4E\x93\x4F\x0C\xBE\x93\x11\x34\x8A\x5D\x98\xBF\x9B\x64\xBE\x9B\x53\x9A\x43\x00\x70\xB2\x99\x02\x07\x69\x97\x65\x86\x9C\x5D\x98\xC2\x9B\x64\x8A\x9C\x01\x9F\x42\x05\x03\x07\x7C\x0F\x9E\xD4\x82\x03\x07\x7C\x13\x9E\xC4\x94\x71\x97\x9C\x16\x9D\xC6\x97\x65\x95\x9C\x1B\x9F\xC1\x73\x0A\x1E\x9C\x07\x7D\x29\x07\xF0\x62\x02\x23\x9F\xC1\x73\x5A\x9D\x7B\x02\x05\x8C\x67\x65\xB3\x68\x4B\x99\x9D\x17\x65\xBF\x97\x70\x90\x6A\x30\xA4\x5D\x99\x33\x9F\x92\x95\x73\x8D\x9C\x02\x06\x1B\x07\xF0\x7A\x9C\x52\x8C\x1A\x07\xF0\x6B\x01\x07\x7E\xCF\x92\x35\x80\x9D\x3D\x9D\x55\x07\x0D\x11\x9A\x59\x61\xD2\x9A\x74\x8B\x9D\x4C\x9D\xD3\x9E\x74\xA0", + "\x8D\xB2\x94\xD4\x95\x35\xA8\x97\x53\x9E\xD4\x90\x10\x05\x8D\x55\x9D\xD4\x8A\x75\x91\x9D\x5B\x9D\xD6\x9C\x75\xAA\x91\x71\x8D\xD8\x95\x36\xA3\x9D\x9F\x94\xD9\x90\x76\xA6\x9D\x01\x07\xDB\x82\x76\xA5\x9D\x6C\x9F\xD9\x9D\x76\x9F\x86\x80\x85\xDC\x9A\x02\x93\x04\x15\x81\xDD\x94\x77\xB7\x9D\x72\x9E\x60\x88\x77\xB3\x9D\x79\x9C\xDC\x9C\x77\xBB\x19\xEE\x20\xE0\x9D\x37\x01\x9E\x85\x18\xE1\x9B\x8D\x06\x9E\xE3\x20\xE2\x90\x00\x2E\x04\x8C\x9E\xE2\x9E\x12\x0B\x32\x90\x9F\xD2\x8E\xAF\x6A\x70\x94\x9E\x33\x77\xE6\x1A\x8F\x97\x9D\xE6\x95\x79\x93\x9E\x96\x9F\xE6\x99\x11\x47\x8D\xA0\x9F\xD5\x81\x7A\x8B\x04\x0B\x31\xE9\x93\x7A\x82\x04\xA6\x9E\xE8\x9A\x7A\xA4\x9E\xA7\x9F\xD3\x8B\x10\x2A\x9C\x29\x9F\x44\x00\x7B\x81\x04\xB3\x9C\x40\x05\x7B\x80\x00\xB7\x9D\xEE\x92\x7B\xBB\x9E\x0E\x06\xEE\x9D\x7B\xBC\x9E\xAF\x9C\xF0\x92\x10\x2C\x8D\x2D\x8B\xD3\x02\x6E\x89\x93\x9A\x36\x43\x03\x62\x9D\x97\x00\x07\xB9\x7D\x66\x83\x79\xCF\x3C\xDB\x03\x11\x04\x9F\x13\x06\xF1\x9F\x37\x39\x3D\x02\x07\xF2\x96\xEE\x53\x04\xCF\x9E\x40\x01\x20\x8E\x34\x2C\x9C\x40", + "\x04\x7D\x8E\x04\xD6\x9C\xF2\x94\x46\x4B\x04\xDA\x9F\x33\x4C\x7D\x80\x88\x4B\x4A\xF4\x9E\x10\x2E\x9C\xC3\x9F\x44\x05\x7C\x93\x04\xC7\x9C\x15\x99\xBC\x14\x99\xE1\x47\xF6\x9E\x10\x1D\x9F\x01\x07\xF7\x93\x36\x13\x04\xF0\x9D\x40\x03\x7E\x8B\x04\xE5\x9E\xFD\x9A\xA7\x56\x99\xF9\x9E\xFA\x9B\x7F\xAC\x9F\xD1\x9F\x42\x01\x7E\x80\x00\x01\xA2\xF8\x92\x7F\x95\x9F\xF4\x9F\xF5\x97\x7F\x8A\x9F\x13\x04\xF3\x90\x00\x0E\x9F\x0C\xA3\x42\x00\x7E\x80\xA0\xD3\x9F\x04\xA4\x7E\x95\xA0\xE6\x9D\xDE\x18\x7F\x81\x04\x1A\xA0\x07\xAE\x10\x3E\x9F\xEE\x9E\xD8\x82\x82\x84\xA0\x24\xA2\x01\xA9\x7C\xA8\x9F\x19\xA2\xFE\x9B\x10\x3C\x9F\x00\x04\x0B\xAE\x80\xA0\xA0\x0E\x07\x00\xA2\x10\x05\xA0\x9D\x93\x01\xA8\x65\x8B\x04\x29\xA3\xFA\x9B\x82\xAD\x9F\x3B\xA3\xFB\x91\x82\xB6\x92\x14\xA2\x43\x05\x7F\x81\xA1\x33\xA1\xF6\x95\x83\x8A\xA0\x37\xA1\x07\xAC\x7D\x2D\xA0\x74\x1B\x12\xA7\xE3\x4D\xA1\x0B\x07\x13\xAD\xE4\x58\x9F\x45\x9A\x43\x05\x84\x8B\xA0\x47\xA1\x03\xA2\x10\x0F\xA0\x11\xA3\xDA\x8F\x82\xBF\xA0\x31\xA0\x14\xA7\x7E\x92\xA1\x62\xA2\x0D\xA2\x10\x38\xA0", + "\x00\x02\x0E\xA7\x86\xBC\xA0\x2E\xA0\x13\xA3\x82\x8E\xA1\x16\xA2\x10\xA9\x7E\x8B\x04\x2A\xA0\xF4\x9E\x81\xBF\x9F\x4A\xA1\x0F\xAB\x86\x81\x04\x40\xA3\x17\xA7\x81\xB4\xA0\x71\xA0\x15\xA3\x87\x96\xA1\x29\x5D\x40\x08\x86\x93\x04\x16\x02\x16\xA2\x10\x33\x9F\x7C\xA1\x09\xA5\x83\x4C\xA2\x44\xA2\x1C\xA1\x10\x34\xA1\x76\xA2\x24\xA8\x87\xB1\x9F\x7A\xA0\x0C\xA9\x89\xB2\xA0\x6F\xA1\x18\xAD\x89\x8E\xA2\x9F\xA0\x24\xAA\x39\x98\xA1\x01\x05\x1A\xAE\x83\x88\xA2\x6D\xA2\x22\xAE\x87\x93\xA1\x80\xA2\x11\xA2\x88\x97\xA1\x49\xA1\x1E\xAB\x85\xBB\xA1\x5D\xA1\x1F\xA1\x85\xAA\xA2\x09\xA1\x2E\xA4\x86\xBB\xA2\x91\xA0\x40\x0F\x80\xB3\xA2\x00\x05\x22\xA2\xDE\x20\xA1\x08\xA0\x0A\xAE\x89\x80\x04\xA0\xA0\x12\xA7\x87\x85\xA2\x0B\x07\x8D\x62\x10\x07\x93\xCC\xA0\x00\x0E\x8C\x80\x00\x06\x79\x73\x2F\x87\x82\x04\x81\xA2\xF7\x96\x8D\xA2\xA2\xD8\xA2\x40\x0A\x8D\x9A\x3D\x86\xA1\x29\xAC\x86\xA7\xA2\x6E\xA2\x09\xA8\x81\x8D\xA2\xC6\xA1\x15\xA5\x86\x83\xA2\xB0\xA0\x40\x02\x8B\x87\xA2\xCD\xA1\x2D\xAF\x8C\x8B\xA2\x70\xA3\x2A\xA5\x8F\x8F\xA2\xF7\xA0\x2F\xA7", + "\x8D\xAD\x19\x96\xA3\x1B\x96\x8A\x81\xA3\x9A\xA2\x38\xA8\x8B\xA4\xA3\xBA\xA2\x39\xA6\x86\xA8\xA3\x08\xA6\x43\x05\x89\xAD\xA3\xBF\xA3\x42\xA2\x10\x1E\xA1\xFF\xA3\x2D\xA4\x8F\x90\xA4\xC7\xA2\x44\xA8\x8F\xBD\xA2\x59\xA0\x46\xA7\x89\x9C\xA1\x1B\xA6\x30\xA9\x8A\x91\xA3\xB4\x43\x34\xA0\x00\x15\xA3\x13\xA6\x32\xA3\x8A\x82\xA0\xFC\xA2\x37\xAE\x8F\xA0\xA3\xD0\xA3\x10\xA5\x8C\xA0\xA4\xF6\xA0\x32\xAF\x8A\xA4\xA4\xB1\xA3\x44\x0B\x8E\x80\x04\xDC\xA1\x4D\xAF\x8D\xA1\xA3\x27\xA1\x4B\xAC\x8A\x94\xA3\xAE\xA1\x1D\x60\x94\xBA\xA3\x42\xA5\xAB\x29\x90\x80\x04\x98\xA0\x43\xA8\x8A\xB2\xA3\x9C\xA3\x4E\xA9\x1F\x51\xA4\xFD\x9F\x39\xA2\x93\xA9\xA3\x01\x07\x50\xA0\x00\x05\xA5\xEE\xA0\x2D\xA0\x8F\xB6\xA2\xC3\xA0\x4B\xA0\x00\x23\xA1\x3D\xA6\x48\xA6\x90\x94\xA4\x25\xA5\x36\xA2\x95\xA6\xA4\x0A\xA7\x3B\xA6\x95\xB1\xA3\x9B\xA1\x40\xAA\x95\x8D\x9F\x5C\xA5\x0E\xAE\x95\x80\x00\x93\xA2\x45\xA3\x95\xAC\x88\x28\xA5\x40\x0C\x91\xB8\xA4\x00\xA4\x31\xA2\x8D\x8B\xA5\x2F\xA5\x53\xAF\x81\xA0\xA5\x00\x07\x45\xAE\x8B\xA7\xA4\xC0\xA1\x4A\xAD\x90\x89\xA5\x6B", + "\xA6\x4B\xA0\x93\xA3\xA4\x07\xA5\x5C\xA4\x8A\x99\xA4\x76\xA6\x65\xA7\x95\xB9\xA5\x8A\xA6\x52\xA3\x90\xAD\xA2\x05\xA5\x32\xA0\x98\xB3\xA4\x12\xA1\x59\xAD\x8F\xA7\xA5\x1D\xA5\x5A\xAA\x93\x8B\xA6\xA7\xA4\x53\xA9\x9A\xBF\xA4\x9D\xA5\x50\xA4\x97\x94\xA5\x85\xA4\x40\x07\x98\x88\xA5\xF3\xA2\x40\xAC\x93\x84\xA4\x3E\xA6\x53\xA9\x9B\x90\xA5\xBB\xA4\x61\xA5\x99\x86\xA6\x2A\xA4\x56\xAA\x97\xB4\xA6\xC3\xA4\x6A\xA5\x9C\x8F\xA6\x15\xA7\x64\xA5\x97\xA6\xA5\x77\xA4\x5A\xAB\x92\xB3\xA6\xA6\xA5\x74\xA6\x9B\x93\xA7\x84\xA1\x75\xA2\x10\x12\xA6\x52\x7A\x51\xA7\x93\x80\xA7\x59\xA4\x74\xAB\x95\xA1\xA4\x5D\xA5\x4C\xAB\x9A\x8E\x04\x42\x89\x55\xA2\x9A\xB8\xA5\x0E\xA7\x47\xAB\x9E\xAD\xA5\xED\xA4\x67\xA0\x97\x9C\x78\xE6\xA4\x6C\xA8\x98\x9E\xA4\xC2\xA7\x7D\xA4\x9C\xAE\xA5\xAA\xA5\x60\xAB\x10\x31\xA7\xBD\xA4\x00\x0F\x9B\xB9\xA4\xE3\xA2\x80\xA2\x9D\x84\xA8\xB8\xA7\x7E\xA8\x9C\x87\xA8\xFD\xA5\x76\xA1\x9B\x9B\xA7\x0D\xA8\x5F\xAC\x9E\xBE\xA5\xEE\xA6\x81\xA5\x9E\xAE\xA6\x36\xA6\x7F\xA8\x9E\x8F\xA7\xDD\xA6\x83\xAF\x9D\x90\xA8\xC6\xA6\x84\xA0\x81", + "\x93\x04\x08\xAB\x72\xAE\x9B\x8D\xA7\xA4\xA6\x5A\xAC\x96\x83\xA8\xF9\xA7\x5B\xAF\x95\x94\xA8\x20\xAB\x51\xAC\xA0\x8F\xA4\x26\xA9\x63\xA7\x9B\xA9\xA8\x37\xAA\x67\xAC\x9F\xB9\xA8\xE7\xA7\x8E\xA6\x9F\x9A\xA8\xF8\xA4\x87\xAA\x9F\x81\xA9\xBA\xA4\x8E\xA0\x9A\x98\xA7\xF3\xA6\x76\xAE\x9C\xA5\xA6\x99\xA4\x63\xAB\x99\xB6\xA8\xEF\xA6\x78\xA3\xA4\x8F\xA9\xAF\xA6\x85\xAF\x9F\xB2\xA6\x19\xAB\x06\xAD\x97\xB5\xA1\x7F\xA6\x87\xAB\xA5\x94\xA6\x1A\xA4\x73\xA7\x99\x81\xA7\x7B\xA6\x98\xAB\xA1\xA4\xA9\x1D\xA8\x6B\xA0\x00\x2D\xA8\x69\xAB\x8B\xAB\xA6\xA9\xA7\x25\xA8\x92\xA4\xA3\x8A\xA9\x58\xAA\x99\xAB\x4C\x95\xA8\x51\xAB\x85\xA3\xA5\xB2\xA8\x9A\xA6\x63\xA1\x9E\x82\xA9\x91\xA4\x8B\xA0\xA8\xAA\xA9\xA3\xA5\x7D\xA1\xA0\xBA\xA9\x0F\xA9\x8D\xA5\xA0\xB2\xA9\x74\xA9\x68\xAC\xA8\xB4\xA7\x98\xA7\x8C\xA1\xA9\xBC\xA9\x93\xA8\x64\xA3\xA7\x8B\xAA\x76\xA9\xA3\xA9\xA9\x85\xAA\x3F\xA8\x75\xAF\xA1\x9C\xA9\x21\xAA\x97\xA3\xA2\x94\xA9\x9A\xAB\x89\xA2\xA9\x91\xA8\x4C\xAB\x9F\xA4\xA4\xA2\xA8\x46\xAB\xA3\xAE\xA6\x89\xA9\x70\xAB\x92\xA9\xA5\x88\xAA\x00\x02", + "\x58\xA7\x4C\x95\xAA\x50\xAB\xA5\xA2\xA5\xB1\xA8\xDC\xA5\x95\xA5\x9B\xBE\xA8\xE0\xA5\x3E\xAB\xA2\x8E\x04\x62\xA4\x5D\x30\xAC\x9D\xA9\x81\xAB\x97\xA8\xA1\xBC\xA8\x90\xAA\xAB\xAC\xA9\xB0\xAA\xBB\xA9\x93\xA7\xAA\xA8\xA9\x96\xA9\xA8\xA8\xA9\xAC\xA9\xEA\xA5\xB5\xA8\xAC\xA8\xA8\xA6\xAA\xB6\xA7\xA6\x97\xA7\xD0\xAA\xB0\xA2\xA8\x84\xAB\x61\xA9\x39\xAF\xAA\x80\xA9\xD9\xAB\x84\xA3\x9E\x8A\xAA\xB3\xAA\xAA\xA5\xAB\xAD\xA9\xEE\xAB\xB5\xA0\xAF\xBE\xA9\x9F\xA9\xBD\xA1\xAD\xAB\xAA\x84\xAA\x95\xA6\xA8\x8A\xAB\x69\xA3\xB3\xA9\xAA\xBF\xAB\xF7\xA9\xB8\xA7\xAB\xBB\xA9\xB9\xA9\x9F\xA2\xA7\xBE\xAA\xF4\xA8\xAA\xAA\xA3\x89\xA6\x01\xAF\xB1\xA7\xA5\x9D\xAA\x5A\xA8\x40\x0D\xAC\x91\xAC\xDC\xA9\xB0\xAE\xAD\x83\xAB\x8E\xA8\xBE\xA3\xA6\xA1\xA2\xB1\xAB\xB2\xA2\x97\x89\x88\xF0\xA4\xA8\xAA\xA0\xB0\xA8\x21\xAE\xC2\xA9\xAF\x8D\xAC\x18\xAC\xAF\xAB\xB1\xA9\xAC\xFE\xAA\xBA\xA2\xAD\x83\xAA\xC5\xA9\xAB\xA3\xAE\xAF\xAB\xE5\xAA\xBC\xA1\x10\x24\xA7\xE7\xA8\x6F\xAE\xA2\xAB\xAC\x77\xA8\x89\xA6\xAC\x9E\xA7\x3B\xAE\xBE\xAD\xB3\xA6\xAC\xF3\xA8\xCD\xA2\xB1\x85", + "\xA9\x14\xAD\xCE\xA4\xAA\x89\xAB\x4F\xA4\xD3\xA1\xB4\x8A\xA7\x75\xA8\xD1\xA2\xAA\xA0\xAB\x79\xAB\xC2\xAB\xA9\xB0\xAC\xD8\xA8\xBF\xA6\xB0\x93\xAC\x00\xAA\xC8\xAF\xA6\xA4\xAC\xF1\xAA\xD5\xA2\xAB\x8F\xAD\xB4\xA9\xD4\xAD\xAE\xA3\xAC\x65\xA8\xA5\xAA\xB2\x8B\xA8\x6E\xAC\xB5\xAE\xB5\x96\xAB\x60\xAF\xBE\xA2\xB7\xB5\xAC\x1F\xAF\xBA\xAD\xB2\x9D\xAD\x2F\xAC\xDA\xAC\xAF\x80\xAD\xE4\x88\xDF\xAA\xB5\x9F\xAB\x78\xAB\xD1\xAD\xA3\x97\xAC\x61\xAC\xB8\x83\xB7\xAC\xAC\xA3\xAA\xC0\xA5\xAA\x87\xAA\xD3\x8B\xE3\xA5\xB4\xAC\xAA\x53\xAC\xB9\xA4\xB9\xBE\xAC\x85\xAC\xDB\xA6\xAF\xB5\xAD\x47\xAB\xDD\xA9\xB4\xB9\xAD\x4B\xAD\x1A\xA8\x2A\xB2\xA7\x36\xAC\xC0\xA2\xB5\x92\xAE\x54\xAF\x71\xAA\xB6\x80\x00\xA7\xAD\x82\xA4\xB7\xA5\xAD\x2E\xAC\xDC\xA1\xA7\x9E\xAA\xB1\xAF\xD0\xA3\xBB\xA0\xA9\x76\xAD\xE0\xA1\xB7\x8E\x04\xB9\xAD\xD6\xAB\xBB\x93\xAB\xA1\xAE\xEF\xA7\xBB\x99\xAC\xB0\xAE\xE5\xAB\xB5\x89\xAE\x3A\xAC\xE3\xAA\xB7\xB8\xAE\xCA\xAC\xE2\xA6\xB4\x8D\xAF\x03\xAD\xD5\xA6\xBA\x91\xAF\x20\xAD\xE4\xA6\xB1\x95\xAF\xAE\xAF\xF5\xA6\xB8\x83\xAF\x38\xAF\xDB", + "\xA7\xB6\xBF\xAE\xC8\xAD\xF0\xAD\xAD\x87\xAE\xD9\xAC\xD7\xAA\xB8\xA2\xAB\xCE\xAD\xE9\xAE\xB8\x9F\xAF\x90\xAE\xFA\xA4\xBD\x93\xAE\x04\xAC\x25\xAF\xBE\x9E\xAE\x08\xAC\xE8\xA6\xAB\x86\xAF\xBA\xA8\xBF\xA6\xBE\x9E\xAC\xE8\xAE\xDF\xAA\xBD\x88\xAD\xED\xAF\xE6\xAF\xBA\xBF\xAF\xE9\xA9\xDF\xA7\xB3\xAC\xAB\xBD\xAE\xED\xAD\xBF\xB7\xAF\x1D\xAD\x02\xB1\xC0\x8B\xB0\x7F\xAF\xFA\xA2\xBA\x85\xB0\xCA\xA8\x02\xB7\xB0\xA9\xAE\x09\xAC\xE0\xAE\xC0\x8E\xAC\x9E\xA8\xC4\xA0\xBC\x98\xAF\x02\xB2\xFC\xA9\xB9\xBC\xAC\x06\xB1\x1A\xA3\xB3\xA7\x8A\x24\xB0\x05\xB3\xC0\x8B\xAE\xDC\xAE\x8A\xAE\xBD\xB8\xAF\x1C\xB2\xFE\xA6\xB6\xB8\xAA\x82\xAE\x9C\xAA\xC1\xA4\xAD\xBC\xAD\xF1\xAF\xC1\xB1\xAC\xE6\xA9\xA2\xA3\xC2\xB0\xAF\x97\xAD\xC5\xA4\xC0\xB1\xB0\x25\xAF\x0C\xB1\xC1\x9B\xB0\x0A\xB2\xEA\xA2\xBE\xB8\xB0\xE4\xAC\xAF\xAB\xC3\x90\xAD\xB4\xAE\x07\xB3\xBE\x87\xAF\x32\xAE\x92\x70\xC1\xA8\xAB\x4C\xB3\x04\xBE\xC4\x8D\xB0\x57\xB3\x03\xB1\xC2\xB3\xA5\x2C\xB0\x11\xBB\xBC\x93\xAF\x27\xB2\xD2\xA9\xC2\x91\xA5\x28\xAD\x19\xB4\xC3\x8D\xB1\x1D\xB2\x05\xBC\xBF\xA0\xB0", + "\xC8\xAF\x0A\xB8\x2C\xA6\xB1\xD2\xAC\xE6\xAC\xBA\x9A\xAE\xF5\xAE\x60\xA3\xC4\xAF\xB1\x5E\xB1\x1C\xB3\xBF\xAD\xAE\x32\xB2\xFD\xAF\xC7\x8B\xB1\x3C\xB0\xF1\xAB\xBF\xBF\xB0\x8D\xAC\xF4\xA8\xC7\xA9\xAF\xCC\xAD\x1A\xB4\xBA\xAB\xB1\x87\xB0\x17\xB9\xC8\xA1\xAF\x60\xB0\x14\xB8\xC5\x81\xB1\xC9\xAF\x23\xB5\xC2\x91\xB2\x7B\xB0\x0A\xBD\xC7\xAE\xB1\x88\xB0\x15\xBD\xC3\x8B\xB2\x61\xB0\x1D\xB2\xC5\xAD\xB0\x5F\xB2\x0F\xB9\xCA\x80\xB1\x9C\xAC\x00\x04\xB8\x80\x00\x03\x9D\xA0\x82\x10\x29\x92\xA8\xAC\x1C\xB6\xC3\xB5\xAE\xAF\xB1\x23\xB8\xFB\x6C\xB2\x82\xB2\x24\xB9\xC3\x8E\x04\xB8\xB2\xEC\xA1\xBF\xA0\xB2\xDB\xAC\xFD\xA6\xBD\x93\x04\xC5\xB2\xEE\xA7\xCC\xA8\xB1\xA1\xB2\x1A\xB3\xCA\xB7\xB2\xC0\xB3\x2E\xB6\xC5\x9A\xB2\x62\xB0\xF2\xAD\xCC\x82\xAF\xCF\xB2\x1E\xB9\xCC\x84\xB2\x49\xB0\x33\xB5\xCD\x95\xB1\x72\xB0\x23\xBF\xBC\xBF\xB2\x9E\xB2\x0B\xB6\xC2\x91\xB3\x93\xB3\x34\xB1\x10\x1B\xB3\xE7\xAC\xF8\xAC\xC0\xAE\xB2\xD8\xB2\x2A\xBC\xC9\xB0\xB3\x00\xB2\x3C\xB5\xC1\x83\xB2\x7C\xB3\x32\xB4\xCC\xA3\xB3\xA7\xB3\x0D\xBC\xB0\x83\xB3\xDA\xB0\x40\xBA", + "\xC8\x82\xB4\x5F\xAC\x41\xBC\xAB\xB8\xB3\x12\xB2\x3E\xBF\xC2\xAC\xAF\x48\xB1\xDA\xA9\x86\x8C\xB4\x5D\xB2\x43\xBB\xCE\x9F\xB3\xFD\xB1\xF7\xA6\xC8\xA8\xB3\x80\xB2\x45\xB8\xCC\x87\xB1\xCA\xB2\x46\xBF\xCF\xA9\xB3\xAD\xB0\x2A\xB5\xCF\xB0\xB2\xAF\xAC\x45\xB7\xC9\xB3\xB3\x26\xB7\x40\xB1\xC5\xAF\xB3\x06\xB4\x26\xB4\xCF\xAE\xB4\x9B\xB0\x40\x0A\xD2\xA6\xB2\x07\xB4\x2F\xB7\xD2\xBE\xB2\x59\xB1\x1B\xB4\xCD\xA4\xB4\xC1\xB0\x3B\xBA\xD0\x9C\xB2\x76\xB0\x4C\xB0\xD4\x96\xB3\xE5\xB1\x2F\xB7\xCE\x8B\xB4\x31\xB4\x4B\xB8\xD0\xB8\xAD\x43\xB5\x2C\xB7\xD3\xAD\xAD\xE4\xB0\x3F\xB2\xCA\xBE\xB3\x0B\x07\x2C\xB3\xD5\x9F\xAE\x55\xB6\x30\xBF\xD2\x92\xB5\x4D\xB7\x3E\xBE\xD5\xB5\xB4\x29\xB5\x58\xBF\xD0\x97\xB0\x11\xB4\xBF\xA2\xC2\x9C\xB4\xA5\xB0\x55\xB1\xD0\xBA\xB4\x34\xB5\x36\xBD\xD3\x81\x57\xE2\xB3\x51\xBD\xD5\x82\xB5\x5F\xB7\xEB\xAB\xD6\xBF\xB4\x1D\xB5\x37\xB6\xC4\xB0\xB0\x21\xB5\x21\xBC\xAC\xA4\xB1\x7C\xB5\x5B\xBC\xD5\xAF\xB5\xD7\xB1\x5C\xB6\xCF\xB1\xB2\x5A\xB6\x59\xB7\xD1\xA0\xB4\xE0\xB2\x44\xBB\xD1\x85\xB6\x96\xB0\x4E\xB2\xD3\xAD\xB4\x09", + "\xB5\x5E\xB3\xD1\x8E\xB6\x1F\xB4\x60\xB1\xD9\xBC\xAB\x5B\xB5\xFE\xA7\xD7\x98\xB4\x57\xB6\x48\xBC\xD6\x95\xB6\x6E\xB5\x4E\xB9\xD8\x99\xB6\x64\xB7\x66\xB6\xD7\x88\xB6\x49\xB7\x4E\xBB\xD4\xB7\xB3\x9C\xB4\x34\xB4\xDA\x92\xB3\x58\xB5\xD3\xAF\x27\x43\x8F\x89\x99\x6F\xB7\x7F\x7C\xB6\xBF\xB7\x6E\xB2\xDC\x9F\x7D\xC0\xB7\x35\x55\xDC\xBF\x38\xC8\xB7\x44\x04\xA7\x68\xB6\x87\xB6\x6A\xB1\xDB\x8A\xB6\x28\xB7\x72\xB2\xB4\x9C\xB3\x45\xB3\xEA\xA7\xDB\xAD\xB3\x55\xAE\x74\xB8\xB5\xB1\xB3\x7E\xB6\x75\xB0\xD9\x99\xB4\x82\xB7\x42\x0A\xDD\xB9\xB2\x81\xB0\x52\xB6\xD5\xB8\xB6\xA6\xB4\x54\x55\xDB\x9E\xB3\xDF\xB5\x69\xB1\xDE\xAA\xB7\xAF\xB6\x73\xB7\xDE\x98\xB7\xE9\xB5\x40\x03\xDE\x86\xB3\xD5\xB7\x13\xB0\xDD\xBC\xB4\xF6\xB7\x7A\xBF\xD7\x90\xB4\x81\xB5\x38\xB8\x1E\x71\xB7\x97\xB7\x53\xB3\xBA\x91\xB5\xAF\xAF\x7D\xBE\xCC\xB9\xB7\x99\xB3\x7E\xB3\xDB\xB1\xB2\x0A\xB8\x75\xB7\xC6\xAC\xB7\x9E\xB4\x78\xB2\xE0\xA2\xB7\xFE\xB6\x77\xB5\xE1\xAE\xB7\x17\xB8\x7C\xBD\xD7\x8C\xB8\x33\xB4\x6B\xB2\xD7\x9C\xB2\x11\xB8\x77\xB0\xE2\x98\xB6\x50\xB6\x66\xB3\xD9", + "\xBD\xB7\x04\xBA\x53\xB0\xD7\xA2\xB8\x8B\xB5\x82\xB9\xE1\xBA\xB7\x30\xB8\x4A\xB9\x86\xA5\xB8\xF9\xB1\x77\xB4\xE3\xA9\xB8\x64\xB4\x8E\xBD\xD0\xBA\xB8\x0D\xB9\x8D\xBC\xDF\xB3\x69\x33\xB9\x90\xBC\xE3\xA3\xB8\xB1\xB3\x5E\xBC\xE2\x9F\xB8\x13\xBB\x7F\xB8\xD6\x81\xB8\x92\xB7\x60\xB5\x74\x18\xB8\x2D\xBA\x58\xB8\xD7\xAD\xB6\xCA\xB5\x91\xB1\xE2\x87\xB9\x31\xBB\x8D\xBA\xE5\xA8\xB8\x07\xBA\x8A\xBE\xC7\x94\xB9\x4C\xB9\x1E\xBE\xE4\xB3\xB1\x36\xB9\x96\xB5\xE5\xA7\xB5\x68\xBB\x90\xB2\xE3\xAB\xB9\x8F\xB7\x86\xB8\xDE\xAF\xB7\x61\xA6\x16\xB3\xE0\xA5\xB9\x90\xB2\x6D\xBD\xDE\xB3\xB9\x1D\xB9\x9D\xB3\xE5\x9E\xB8\x86\xB6\x68\xB0\xDB\xB3\xB7\x08\xBA\x0A\xB6\xE7\xA4\xB9\x81\xB9\x0D\xB3\xDA\xBB\xB9\xF4\xB4\x9D\xBA\xB1\x84\xB6\x4B\xB9\xA2\xBA\xCB\x8B\xBA\x72\xB9\xA3\xBD\xE7\x82\xB1\x88\xB8\x73\xB2\xE8\xB2\xB7\x63\xB4\x92\xBF\xBA\xB3\xB2\x3E\xB9\x45\xB0\xE4\x9B\xB9\x61\xB8\x96\xB7\xE7\x92\xBA\xE5\xB4\xA5\xB0\xE0\x9F\xB6\x72\xA9\xA8\xBB\xD2\x96\xB9\xD7\xB5\xA1\xBA\xE6\xB8\xB9\x9F\xB2\x9E\xB5\xE9\xB2\xBA\xA7\xBA\xA6\xBA\xE8\x83\xBA\x9D\xB9", + "\x97\xB3\xEB\xA8\xBA\x1E\xB6\xAD\xBB\xEA\x96\xB8\x51\xB9\x56\xBB\xE2\x8F\xBA\x3E\xB6\x9F\xB4\xD7\xA3\xB9\xEA\xA3\xA1\xBD\xEC\xBF\xB9\xCA\xBB\x36\xAC\xC6\x8B\xBB\xC6\xB8\xB3\xBF\xB3\xA3\x68\xC0\xBB\xA8\xB0\xE6\x98\xB0\x55\xAE\xF8\x34\xDE\x81\xBB\x14\xBB\xB0\xBC\xE1\xA9\xAD\xDE\xB8\x7E\xBD\xE4\x9A\xB8\xE2\xB8\x9F\xB5\xEC\xA7\x44\x70\xB9\x67\xB9\xEE\x96\xBA\xEB\xB9\x4B\x4D\xEE\x82\xBB\x4F\xB8\xAB\xBE\xA9\xA5\xBB\x0B\xBB\xB9\xBB\xE3\xA5\xBA\x9E\xB9\x1A\xA8\xEF\x92\xB8\x66\xB8\xBA\xB5\xEF\x84\xBB\x0F\xA3\xBF\xB6\xE2\xBA\xBB\x46\xB8\xBF\xBE\xEB\x8E\x04\x06\xBD\x8E\xB7\xE2\x86\xB8\xDC\xB9\x7D\xBA\x03\x74\xBA\xEA\xB2\xBB\xB3\xF0\xA3\xBB\xFC\xA9\xC3\xBF\xE3\x8F\xBC\x2F\xB8\x97\xB9\xE6\x8C\xBC\x5F\xB8\xC4\xB9\xD6\xB2\xA9\x1A\xBE\xA8\xBC\xF1\xAB\xB6\x1E\xBE\x9B\xBE\xEF\xA1\xBC\x1D\xBE\xC2\xBF\xF1\x95\xBB\xFA\x3C\xCB\xB8\xF2\xAE\xBC\x2A\xBC\xB6\xBA\xEB\x93\xBA\xBC\xBB\x95\xBD\xEF\xB6\xBC\xD3\xB7\xC1\xB1\xF0\xBB\xBB\x11\xBE\x8A\xA5\xF2\xAF\xBA\x6C\xBA\x39\xBB\xB4\x83\xBD\x96\xB6\x8B\xB3\xF3\x81\xBD\x97\xB9\xAF\xAE\xEC\xB2", + "\xBB\x14\xBD\x49\xB2\xF2\x90\xB9\x6A\xB4\xA4\xB3\xF1\x99\xBB\x27\xBF\x73\xB2\xE4\x8F\xB8\xAF\xAC\xD2\xB9\xDA\x85\xB8\x2D\xBC\xD3\xB1\xEF\x97\xBD\x37\xBD\xAA\xB9\xF3\xB1\xBA\x62\xB8\xCC\xBC\xEE\x91\xBD\x41\xB4\xDA\xB6\xEA\xB1\xBC\xF3\xB9\xB8\xB7\xF1\xAA\xBB\x19\xBE\xCC\xBA\xF5\xA9\xBC\x5C\xBE\xA1\xB9\xEC\xA4\xBD\x3D\xBE\xC3\xB8\xF0\xA4\xBA\x62\xBD\xD5\xB0\xED\xBC\xBD\xDB\xB6\xDF\xBF\xF3\x89\xBC\x81\xBF\xC3\xAF\xF4\x84\xBE\xDF\xBA\xB6\xB3\xF5\xB6\xBB\x75\xB2\xD5\xB3\x0F\x76\xBD\x84\xB9\xDA\xBA\xDB\xAB\xBD\x58\xBF\xDF\xBB\xED\xA3\xBC\x9E\xAB\x2C\xBE\xF5\x8D\xB7\x60\xBF\xD2\xBC\xF9\x88\xAF\x9F\xBF\xA6\xB1\xFA\xB7\xBD\x34\xBD\xDE\xBC\xF3\x85\xBE\x1B\xBE\xE6\xBF\xF8\x84\xBC\x24\xBC\xE5\xBD\xEB\xAF\xBC\x98\xBD\xD9\xB0\xEE\xA7\xB9\x46\xBC\x25\xB0\xF7\xAC\xBD\xE6\xB7\xEC\xB5\xF3\x96\xBB\x2D\x6D\xDC\xB8\xFB\x8A\xB5\x4B\xAE\xAB\x3D\xF8\x99\xBD\x95\xBC\x59\xB6\xFC\xA6\xBB\x87\xBC\xE0\xB3\xFA\xBC\xAA\xCB\xBD\xBE\xBD\xFC\x9B\xBE\x54\xBE\x9C\xA1\xFD\x80\xBC\x79\xBA\xDC\xBD\xE6\xAA\xBE\x48\x85\xDF\xBD\xFA\x93\xBF\xAF\xBC\xC6", + "\xB6\xFD\xB2\xBE\x3A\xBD\x8C\xB7\xFD\xBE\xBC\xD9\xBF\xF0\xB2\xDB\xAE\xAF\xDD\xBC\xEB\xB6\xF2\xAE\xBE\x61\xBF\xF3\xBC\xC9\xA7\xBF\x86\xBD\xFA\xB2\xF0\x9B\xBF\xEC\xBF\xA3\x6C\xFB\xAA\xBA\x73\xBC\xBC\xBC\xAF\xB4\xBF\xDF\xBE\xFD\xB0\xF4\xB2\xBF\xB1\xB0\x00\xCF\xFE\xA0\xBF\xF1\xBD\xF5\xBE\xA9\x86\xC0\x44\xBD\x9C\xBF\xEE\xB8\xBA\x6A\xBD\x40\x0C\x00\xC9\xBD\xB0\xB8\xA3\xB0\x01\xDC\x5A\xC2\xBF\xFD\xB9\xFB\xAE\xB3\xC1\xBF\xFE\xB7\xF6\x96\xC0\x79\xB7\x04\xCF\xF5\x8A\xBD\xA8\xBD\xE2\xBD\xFE\x87\xBF\xF0\xBE\xE8\xBA\x00\xD1\xBE\x7B\xBD\x1E\x54\xFE\xAE\xBD\x3B\xBE\x94\xB4\xED\x98\xC0\x1E\xC0\xA7\xB5\xFE\xB4\xBE\x12\xC3\x0B\xC0\x02\xEF\xBD\x34\xC1\xE6\xB8\x00\xEA\xC0\x90\xBC\xAF\xA3\xCB\xA2\xC0\xA0\xBC\x09\xC9\xFC\xB1\xC0\xFA\xBE\x0F\xC2\x00\xC8\xBE\x04\xC3\xEB\xA4\x04\xE6\xBE\x46\xC2\xEF\xBC\xFD\xA7\xAC\x0B\x07\x31\x9F\x04\xFB\xBA\x36\xC0\x0C\xCB\xF0\x94\xC1\x7F\x4D\x12\xC6\xFB\x8E\xBE\x09\xC1\x10\xC4\xD4\x8B\xBE\x2E\xC1\x06\xC3\x00\xEB\xC0\x73\xB5\x17\xCD\x03\xDF\xC1\xC8\xBE\x14\xC9\xFF\x97\xBE\x39\xC2\x19\xCC\x04\xE8\xC1", + "\x9C\xB3\x10\xCA\x03\xF7\xBA\x96\xBD\x1C\xC5\x03\xE7\xBE\x47\xC3\x16\xCB\x06\xDE\xBF\x07\xC3\x12\xCE\xFC\xB4\xC1\x05\xC3\x1D\xCF\x00\xF9\xC1\x1D\xC2\x12\xC5\xEB\x9A\xBF\x1B\xC1\x6E\xBA\x07\xCA\xC2\x15\xBC\xBD\xB8\xFF\xBA\xBE\x70\xC0\x40\x04\xEE\x6C\xC1\x29\xC1\x09\xCD\x04\xD7\xC2\x80\xC1\x03\xC6\xF1\x93\xC2\xCA\xA8\x27\xCE\xFE\x9E\xC2\x92\xC1\x23\xC2\xF1\x80\x00\xA2\xC0\x0A\xCF\x03\xDA\xC2\x84\xC3\xEB\xA9\x0A\xCC\xBF\x82\xC0\xF5\xB2\x06\xF1\xB2\xAF\xC2\xF4\xB1\x0B\xE1\xBF\x74\xBE\x9C\xA5\x0B\xD8\xBF\x8B\xC2\xFA\xBE\xE0\x8B\xAD\xBB\xC0\xFA\xBD\x0B\xDA\xC0\xC4\xBC\x25\xC1\x10\x01\xC3\xF5\xBF\x30\xC7\x06\xF3\xC2\xAE\xC2\x21\xCD\xFF\x97\xC0\xC7\xC2\x33\xC0\x0A\xCE\xC2\x96\xC2\x34\xC6\x0A\xCE\xBA\xA8\xC2\x35\xC5\x0C\xDC\xC0\xD9\xC2\x1C\xC3\x08\xCC\xC3\x69\xA3\x2C\xB8\x0C\xC1\xC0\xCA\xC3\x1C\xC0\x0E\xD3\x04\xE3\xC1\x20\xC5\x0E\xDF\xC3\xB0\xBE\xA7\xA9\x0E\xE4\xC2\x8C\xC3\x36\xC5\xB5\xAF\xC3\x14\xC1\xD1\xB2\x0F\xEE\xAE\xF4\xC3\x08\xC5\x01\xF8\xC1\x3C\xC1\xB4\xB1\x10\x07\x93\xF9\xC1\x11\xCB\x0F\xC7\xC2\xFD\xC0\xB2\xB3", + "\x03\xD1\xC3\xDE\xC2\x2C\xCD\x0E\xC8\xAF\x01\xC4\x14\xC3\x10\xCF\xC3\x88\xC1\x37\xCB\x07\xD1\xC1\x37\xC3\xEF\xB1\x01\xD5\xC3\x09\xC4\x2E\xCE\xFF\xBA\xC2\xDA\xC3\xFA\xB6\x0C\xD8\xC4\x13\xC7\x43\xC3\x0D\xE7\xC2\x4A\xB8\x48\xC0\x09\xD2\xBD\x61\xC3\x42\xC9\x06\xEC\xA3\x42\x69\x48\xC6\x0F\xDE\xC4\xDC\xC1\x49\xC2\x11\xE7\xC4\x6D\xBF\x0E\xC8\x04\xCF\xBB\x07\xC6\x49\xC8\x09\xEB\xC2\x7D\xC0\x0E\xC8\xE9\xB0\x7A\x19\xC5\x4A\xC2\xFE\x9D\xBE\xE8\xC1\x47\xCF\x0B\xDF\xC4\x33\xC7\x4E\xC7\x0B\xC2\xC5\xB9\xC2\x3B\xC6\x14\xDB\xBD\x6F\xC0\x42\xCE\x12\xCE\xC0\x10\xC5\x41\xC9\x14\xDD\xC2\xF5\xC0\x55\xC3\x12\xD8\xC3\x0D\xC4\x16\xCC\x07\xEE\xC1\x48\xC7\x2C\xBF\xCE\x2A\xC2\x4B\xC4\x10\xCA\x12\xF9\x63\x4F\xC4\xDE\xBB\xB4\xA3\xC5\xB0\xC3\x3A\xCA\x10\xC3\xC5\xC8\xAC\x5B\xC6\x0B\xEE\xC5\x1A\xC4\x34\xCB\xC6\x53\xC5\x9F\xC3\x35\xCD\xF4\xB2\xC5\xBC\xC1\x24\xC1\x0F\xF0\xC4\xD4\xC2\x67\x68\x17\xE5\xC2\xF7\xC2\x8A\xAC\x17\xC2\xC3\x7E\xC6\x2F\xC0\x15\xC8\xC5\x87\xC5\x32\xC9\x18\xC4\xC3\x80\xC7\x29\xCD\x18\xE4\xC3\x8F\xC7\x32\xC7\x16\xF1\xB2\x93", + "\xC6\x3A\xC5\x19\xE6\xC3\x97\xC7\xEB\xA9\x19\xF0\xC3\x8A\xC6\x5A\xCC\x18\xE9\xC5\xA9\xBD\x54\xC7\x17\xF4\xC4\xBD\xBD\x45\xC3\x05\xD5\xC2\x82\xC4\x6A\xCC\xFF\x9B\xC5\x7B\xC4\x69\xC6\x02\xF1\xC5\xB2\xC5\x13\xCF\x19\xD9\xC5\x79\xC5\x61\xC5\xB2\xB7\xC6\xFA\xC3\x4B\xC7\x14\xF1\xC4\x64\xC0\x6F\xC2\x10\xFE\xC6\x8B\xC4\x70\xC3\xF8\xAD\xC6\x4A\xC4\x5D\xCC\x14\xDB\xC4\x9E\xAA\x70\xCE\x10\xC4\xC7\xA2\xC4\x37\xCE\x1C\xDE\xC5\x14\xC6\x16\xCE\x13\xF2\xB2\x3F\x55\x50\xC6\x16\xF0\xC5\xBC\xAB\x74\xC8\xF3\x99\xC1\x36\xC6\x1F\xC8\x16\xDA\xC7\xAC\xC3\x39\xC2\x03\xD2\xBB\x22\x4A\x6B\xCF\x01\xFC\xC3\x37\xC6\x3F\xC8\x81\x79\x43\xE4\xC5\x4F\xC6\x11\xF8\xC4\xE8\xC7\xD6\x05\x1B\xED\xC2\x7A\xBD\x4E\xC8\x1C\xD8\xC5\xBD\xC6\x56\xCA\x17\xE3\xBD\xD8\xC5\x7A\xC9\x1C\xDB\xC6\xEC\xC0\x77\xC5\x07\xD9\xC7\x83\xC7\x5F\xCF\x1B\xC1\xC6\xDE\xC6\xD9\xB0\x1E\xEC\xC7\xE2\xC7\x69\xC3\x20\xE8\xC4\xDB\xC5\x53\xC4\x1B\xF1\xC7\x60\xC6\x74\xC7\x1F\xE6\xC7\xF6\xC4\x86\xCA\x1A\xE6\xC6\x01\xCB\x42\x0F\xE6\x64\xC5\xCA\xC5\x85\xCC\x1C\xE2\xC8\x1B\xC9\x67\xC3\x22", + "\xED\xC5\x04\xCB\x5B\xC6\x21\xFC\xAA\x2B\xCB\x5C\xCD\x22\xF5\xC5\x11\xC5\x8C\xCD\x17\xD4\xC8\xE5\xC5\x67\xC9\x86\xB6\xC8\x88\xC4\x8E\xC2\x1F\xEB\xC6\x01\x04\x8F\xCE\x18\xFE\xC8\x19\xC9\xD5\xA2\x24\xD4\xC6\x44\xCB\x87\xC8\x14\xC7\xC9\x9A\xC5\x92\xC6\x1D\xF3\xC7\x41\xC9\x8A\xC6\x20\xF1\xB2\x4C\xC8\x68\xC0\x19\xCB\xC8\xA7\xC1\x95\xC8\x1B\xC4\xC6\x91\xC4\x36\xCA\x25\xFD\xC7\xB9\xC5\x97\xCD\xF4\x9F\xC9\xC3\xC6\x7F\xCA\x1B\xC0\xC8\xB3\xB0\x99\xCF\x1C\xE6\xC9\x62\xC8\x80\xCA\x26\xD4\xC7\x22\xC7\x7F\xCC\xAF\xAF\xC9\xDF\xC7\x57\xCA\x24\xCA\xAB\x74\xCA\x83\xC6\x27\xCF\xC9\x5C\xBD\x9E\xC7\xFB\x97\xC9\xC5\xC5\x60\xC2\x13\xFE\xC9\x60\xC2\x89\xC6\x17\xCE\xBD\xC7\xC4\xA1\xCD\x06\xF7\xC9\x81\xC6\xA2\xC9\x09\xFF\xC8\x20\xCA\xA3\xCC\x13\xC5\xC9\xA7\xC1\x9A\xC2\x25\xEF\xC8\x9C\xB2\xA4\xC5\x16\xF9\xC8\x53\xCB\xEB\xAA\x29\xE5\xC8\x9C\xC8\xA6\xC9\xE4\xA4\xC1\x9F\xCB\x8C\xCB\x1C\xC7\xCA\x45\xB4\x40\x05\x2A\xCE\xC9\xE1\xC7\x75\xC3\x28\xD7\xCA\x27\xCB\x4A\xCF\x1E\xD1\xC9\x1E\xC8\x9F\xC0\x22\xD6\xCA\xB5\xC9\xAB\xC0\x25\xFF\xC4\xB4\xC9", + "\x82\xC1\x1A\xE5\xC6\x4B\xC8\xAC\xC7\x28\xEB\xCA\x35\xC4\x84\xC7\x1D\xC4\xCB\xA9\xC6\xAD\xC1\x2C\xF9\xCA\xC6\xCB\xAE\xC0\x00\x08\xCB\xAF\xC6\x9C\xC2\xA7\xB3\xB2\x7C\x23\x0D\x24\x00\xA4\xC8\xA6\xCA\xA1\xC9\xD7\x97\xCB\x2C\xC8\xAB\xCD\x2C\xDC\xBD\xDC\xCA\x8C\xCE\x2D\xC4\xC4\xED\xC4\x40\x01\x2E\xF7\xC8\xC5\xC8\xB9\xC1\x21\xC0\x00\xE7\xC9\x8F\xC9\x2E\xD5\xC5\xE5\xC8\xBB\xC2\x2C\xD1\xC4\xED\xCB\x90\xCF\x2E\xF0\xC6\x69\xAD\xBD\xC8\x24\xF7\xCB\xD2\xCA\xA7\xAA\x2F\xCD\xC9\xFC\xCB\x99\xCC\xAF\xBF\xCB\x56\xCA\x65\xCD\x29\xE9\xA1\x04\xCF\x96\xCA\x20\xC1\xCA\xA7\xC1\xC2\xC0\x26\xDC\xC9\x58\xC8\x36\xCE\x30\xE5\xC9\x61\xC9\xC4\xCD\xF4\x93\xCC\x6B\xC9\xC5\xCC\x30\xD8\xC3\xB3\xB0\xC6\xC0\x27\xD0\xC7\xC0\xC8\x37\xCE\x31\xF5\xC9\xD5\xC6\xAE\xC0\x24\xE6\xCB\xF3\xC8\x59\xB3\x32\xFA\xC9\x25\xCF\xB7\xCB\xB4\xAB\xCC\x7F\xCA\xC1\xC2\x2A\xFA\xB5\x64\xC0\xCC\xC5\x28\xE1\xCA\xB1\xCB\x18\xC7\x1C\xF6\xCC\x8B\xCA\xB2\xC2\x32\xE9\xCC\xF1\xC8\xCF\xCF\x28\xD4\xCA\x1C\xCF\x44\x02\x34\xD3\xCA\x8C\xC9\xC3\xC0\x34\xEB\xCB\x47\xCF\xA6\xC0\x29\xC8", + "\xC5\x32\xC5\xD3\xC0\x2A\xCF\xCD\xC6\xC6\x7E\xC2\x35\xD9\xCB\x38\xCC\xAA\xC5\x33\xCB\xCD\xAE\xCA\xE4\xB7\x35\xE3\xCB\xF0\xCB\xBA\xCD\x31\xDC\xCD\xCE\xCB\xD8\xCC\x2C\xEA\xCB\xD7\xC7\xD7\xC1\x30\xED\xC9\x03\xCC\xD9\xC7\x32\xF2\xCB\x67\xCD\xD8\xC9\x36\xEE\xCD\x20\xCA\xDA\xC9\x2C\xE6\xCC\xB7\xCB\x44\x07\x16\x80\x04\x7B\xCC\x00\x0D\x37\xFF\xCD\x7A\xCD\xE0\xCE\x10\x00\xCE\x83\xCE\xE0\xCB\x10\x04\xCE\x87\xCE\xE1\xC1\x16\x93\x04\xF4\x99\x40\x0D\x38\xC0\x04\x8F\xCC\x00\x01\x39\xD3\xCE\x8C\xCD\xE5\xCE\x10\x14\xCE\x97\xCE\xE5\xCB\x10\x18\xCE\x9B\xCE\xE6\xCB\x22\x74\xCD\x06\xB0\x84\x9C\x1F\xD4\xCC\x10\xCF\xC6\xC5\xB2\xA2\xCE\xA3\xC2\xC2\xCF\x2B\xF3\xC6\xBC\xA8\xEA\xC8\x2D\xE0\xCD\xF8\xC8\xBF\xAE\x3A\xDD\xCB\x6B\xCE\xC5\xC0\x20\xF3\xCE\xE2\xC9\xED\xC6\x3A\xF7\xCE\xA0\xCE\xB2\xA8\x3B\xE8\xCB\x77\xCE\xCB\xC8\x14\xFF\xCE\xEE\xC9\xF0\xC8\x36\xCE\xCB\xC4\xCE\xBD\xC6\x3C\xF2\xCD\xC8\xCD\xEF\xC1\x18\xC9\xCF\xFB\xCB\xF2\xC1\x3B\xF2\xA9\xD0\xCC\xC0\xC2\x3D\xFD\xCB\xC8\xAD\xF5\xC5\x30\xDC\xC6\x07\xCF\xB1\xB0\x00\x1A\xCF\xAA\xCC\xA0", + "\xC1\x1D\xCF\xCF\xCE\xCF\x29\xC0\x3E\xCF\xCC\x0B\xCF\xF8\xCE\xBA\xA7\xCF\xA4\xCD\xFA\xC1\x32\xD5\xAD\xEC\xCD\xC6\xC5\x3A\xEA\xCF\xD8\xC2\x4C\xC1\x3F\xDF\xCC\x6C\xCA\xED\xC2\xF8\xBA\xC7\xF7\xCC\xC9\xC1\x27\xC2\xCC\xD4\xCD\xF9\xC8\x0D\xFD\xCF\x2C\xCF\xFF\xCC\x36\xD3\xCB\x13\x04\x01\xD1\x33\xDC\xCF\x33\xCD\x1A\xAA\x40\xF7\xCC\x54\xCC\xF9\xC1\x37\xD3\xCF\x63\xB1\x0B\xCF\x40\xFD\xCC\x78\xCC\xD4\xC2\xF9\x97\xD0\x43\xCD\xD2\xC5\x3F\xE4\xC1\x1C\xD0\xD2\xCE\x33\xC2\xCA\x1B\xD2\x00\xDD\xF4\xB3\xB2\x21\xD2\xD3\xC4\x34\xE7\xD0\x09\xD2\x09\xDC\x3B\xD3\xD0\xD8\xCD\xEB\xCE\x42\xF2\xCE\x33\xD1\x00\xD0\x43\xC0\xD0\x9E\xA9\x0A\xD3\x35\xEB\xD0\x68\xCB\x44\x00\x73\xBE\xCA\xE2\xCF\xFB\xCE\xBA\xBF\xD0\xEA\xC7\x83\xC7\x3C\xDC\xBD\x44\xD3\x84\xCA\x3B\xF4\xCF\x4D\xBD\x12\xD3\x3A\xF2\xCF\xEE\xCC\xEB\xCC\xC9\x8E\xD1\xA9\xCC\xFA\xCB\x3A\xCD\xC1\x69\xA0\x15\xDF\x3A\xCB\xD1\x42\xD0\x36\xCA\x45\xF4\xCE\xD7\xCC\x0E\xDB\x10\x1F\xD1\xB9\xCD\x18\xD7\x40\xDE\xAA\x64\xD0\xF0\xC1\x2D\xE2\xD1\xBC\xA9\x1A\xD5\x3C\xEB\xD1\x67\xD0\xF2\xAE\x46\xCA\xCF", + "\x70\xD2\xFE\xC2\xA7\xB3\xD1\xD1\xCD\x1D\xDB\x3B\xFC\xAB\x78\xD2\xF5\xCA\x47\xCC\xD1\x00\xC9\x1F\xDB\x3D\xC5\xC8\x0D\xD2\xF7\xC2\x48\xE1\xCF\x32\xCD\xCE\xC1\xCB\x87\xD2\x56\xD1\x10\xD2\x45\xCB\xD2\x35\xD2\x43\x0C\x48\xED\xCF\x57\xD1\x2B\xC3\x49\xD0\xD1\x95\xD0\x87\xC4\x1F\xFF\xC3\x3E\xD1\x24\xDC\x02\xFA\xC7\x97\xD0\xFE\xCA\x31\xC0\xD2\x7C\xD2\x27\xDD\x46\xE6\xD2\x07\xCA\x24\xD8\x4A\xD0\xD2\x37\xD1\x1C\xD7\x4A\xED\xD2\x76\xD1\x05\xD5\x05\xDD\xD2\xB0\xD3\x1E\xDA\xF8\x87\xC7\xA1\xD2\xFF\xC0\x32\xCF\xD2\x34\xCD\x0B\xC9\x4B\xC5\xD0\xBB\xD0\x16\xD3\xED\xAA\xC1\x01\x07\x2F\xDB\x40\xC4\xD2\x8A\xD3\xA7\xB4\x4B\xC0\xD1\x89\xD3\xA1\xC3\xCB\x86\xD3\x10\xD0\x0F\xD5\x4A\xF5\xD2\xA4\xD3\x1D\xDB\x4A\xEF\xAE\xD0\xD0\x06\xD2\x3C\xDC\xC3\xD9\xD1\x07\xD3\x42\xE7\xC2\xDD\xD2\x08\xD9\x41\xDC\xC3\xB3\xB3\x6D\x32\xE2\x37\x36\xF6\x98\xFE\x38\x4E\xC8\x50\xEB\xD2\x43\x02\x00\x9C\x9C\xBC\x7F\x42\x09\x4E\xCB\x04\xEF\xD2\x53\x81\x10\x33\xD3\x4C\x5D\x7D\xC1\x4F\xC2\x04\xF8\xD1\xDC\x6C\x12\xFB\xD3\xF7\xD3\x44\x0C\x70\x9E\x90\x0E\x05\x3F\xD0", + "\x10\x11\x9C\x96\x68\x3F\xDC\x4E\xD3\x04\x06\xD4\x00\x03\x51\xAD\xD3\x0B\x07\x43\xDC\x50\xD3\x04\xEF\x88\x44\xD2\x10\x33\x95\xC3\x89\x40\xDE\x10\x02\x94\xB4\x92\x45\xD4\xB6\x36\xD3\x00\x05\x43\xDD\x00\x47\x93\x1E\xD5\xB7\x6A\x1F\xE5\xD4\x00\x00\x47\xD0\x52\xC0\x00\x22\xD4\x19\xC8\x52\xCD\x40\x74\x34\x4A\xDA\x52\xE2\x1E\x05\xD5\x2C\x4B\x52\xCD\xD4\x38\x3A\x9A\x94\x74\x4E\x04\x3A\xD6\x3C\xD8\x40\x7D\xD4\x0A\xD4\xFE\x30\x54\xDA\xD4\xF4\xD3\x44\x00\x4F\xC1\x04\x43\xD5\x48\xD3\x11\x35\xD3\x3C\xD7\x44\xD1\x64\x6D\xC0\x49\xD4\x4B\xD5\x30\xB3\xCA\x00\x05\x54\xDD\x50\xC3\xD4\x56\xD7\x44\x08\x50\xC2\x04\x59\xD6\x50\xDE\x54\xD1\xD4\x13\x05\x57\xD0\x56\xCD\xD5\x35\xD6\x43\x0F\x2E\xA2\xD5\x17\xD5\x58\xDF\x55\xC2\x04\x33\xD7\x42\x08\x56\xDF\xD4\x64\xD6\x4F\xDF\x54\xF3\xD2\x71\xD5\x50\xDB\x4C\x7A\xC7\x6F\xD4\x40\x0D\x56\xDC\xD5\x6B\xD6\x3F\xD4\x94\xAA\xD5\x65\xD7\x5D\xD4\x4C\xD5\xD5\x7D\xD6\x5E\xDC\xDF\x40\xD6\x72\xD5\x86\x18\x58\xF6\xD5\x1B\x43\x01\x9B\x14\x8B\x04\x7A\x98\x35\xDD\x45\xE5\xAC\x91\xD4\x33\xDC\x40\xC9\xD3\x95", + "\xD5\x11\xDB\x27\xE3\xD3\x81\xC5\x66\xDA\x44\xE6\xD1\xB1\xD0\xF2\xAE\x59\xCF\xD1\xA2\xD3\xFC\xC3\x59\xC0\xC8\xA3\xD5\x15\xD4\x49\xCE\xD2\xC2\xD2\x43\x09\x5A\xDB\xD1\xA0\xD6\x2D\xDE\x5A\xD7\xD3\x69\xA3\x6B\xD0\x46\xFF\xD1\xA7\xD4\xBF\xA6\x5B\xE5\xD1\xB8\xD4\x2F\xD5\x5B\xF4\xD6\x13\x07\x6E\xDA\x46\xEB\xC7\x47\xD0\x88\xC2\x5C\xEF\xD1\xC4\xD4\xF3\xCF\x36\xC7\xD7\x74\xD1\x72\xD4\x41\xC8\xAF\xB3\xB0\x73\xD9\x47\xCE\xD7\x31\xD0\x27\xB2\x5D\xFE\xD1\xD4\xD4\x1B\xD6\x5D\xD7\xD3\xD7\xD7\x20\xDE\x22\xD8\xD6\xC0\xD7\x79\xCC\x49\xF3\xD6\x92\xD6\x6F\xD3\x4C\xFF\xD3\x01\x05\x77\xD8\x48\xD7\xD6\x87\xCA\x7A\xDD\x48\xCD\xD3\x11\xC6\x7B\xDB\x5A\xF0\xD7\x56\xC5\x74\xD1\x5E\xD0\xD6\xF7\xD6\x40\x02\x5F\xD8\xD2\xAC\xD4\x7E\xC7\x5E\xFF\xD5\xE4\xD6\x65\xD8\x4C\xDA\xCD\xC7\xC7\x7E\xD5\x5A\xD1\xD1\xAD\xD4\x17\xC3\x5E\xF8\xD7\xE5\xD5\x82\xDB\x49\xD4\xD5\x00\x02\x81\xDA\x4B\xF9\xCF\xB2\xD4\x74\xD1\x5C\xF9\xD7\xD7\xB9\x80\xDA\x59\xED\xCC\xC5\xD4\x52\xC2\x61\xC0\xD3\x14\xD9\x35\xDE\xA9\x9F\xD8\xC7\xD3\x77\xDD\x5E\xD8\xD8\x00\x04\x89\xD1\x4D", + "\xDE\xD0\x4D\xBE\x8A\xDA\x4D\xDD\xD8\xE4\xD0\x5B\x52\x60\xE6\xD8\x79\xB4\x42\x30\x5B\xFD\xD6\x4D\xC2\x8D\xD7\x5B\xD9\xD7\xAE\xD0\x27\xBA\x63\xFC\xD6\x3C\xD9\x68\xDC\xAB\xBF\xD8\xC3\xD6\x11\xDA\x5C\xE0\xC8\x44\xD8\x72\xD6\x64\xCF\xD7\x43\xDB\x35\xD9\x64\xCD\xD7\x4B\xD9\x75\xD1\xCB\x8F\xD9\xD3\xD5\x94\xDA\x5D\xD3\xD9\x28\xD9\x44\x4D\x60\xFE\xD7\x1A\x5B\x86\xD6\x40\xC2\xD9\x3E\xD9\x96\xD4\x65\xD8\xD7\x56\xD9\x8F\xDC\xD8\xB2\xD8\x5E\xD9\x30\xDC\x65\xE3\x52\x62\xDA\x93\xDE\x66\xDB\xD9\x9A\xD2\x7B\xC3\x96\xA8\xD9\x9F\xD4\x8E\xDB\x66\xCF\xD8\x9A\x25\x97\xD5\x67\xC1\xD9\x15\xD9\x93\xD0\x67\xFA\xC8\x74\xD8\x69\xD3\x61\xE3\xD2\xB9\xD4\x02\xDA\x67\xC2\xDA\x20\xD8\xA1\xD6\x5E\xC7\xDA\xAA\xD4\x7F\xD4\x5F\xF1\xCB\x63\xDA\x77\xD4\x23\xD6\xC5\x32\xC5\xA4\xDB\x5E\xC3\xD8\x11\xC5\xAA\xCA\x65\xF3\xD8\x93\xD9\xBC\xC5\x69\xD9\xD9\x9A\xDA\xA5\xDF\x5E\xEC\xD7\x11\xC7\x2C\xB2\x6A\xF3\xD7\xA4\xD9\x7D\xD1\x68\xCD\xDA\x07\xD9\x26\xD0\x68\xCC\xDA\x37\xD8\x9F\xD2\x62\xC8\xAF\xA7\xDA\xA3\xD9\x6A\xD0\xDA\x6D\xDB\x9F\xDD\x3D\xF0\xDA\x3B\xD9", + "\x99\xD0\x66\xE7\xD9\x87\x69\xEA\x4C\x1B\xBA\xDA\x33\xCD\xC1\x41\x6B\xFE\xDA\x7D\xD9\xB2\x79\x65\xC6\xDB\xBD\xDB\x66\xDB\x4D\xC1\xC6\xCC\xD8\x90\xD8\x6C\xF3\xDA\xBC\xA9\xB4\xD5\x64\xCE\xDB\x30\xD8\xB4\xD7\x4D\xD6\xDB\x4A\xD8\xB6\xD7\x64\xC8\xC5\xDC\xD8\x94\xDE\x6D\xCC\xD9\x9C\xB1\xB8\xD5\x65\xE3\xDB\x52\xDB\xEB\xA6\x6E\xE4\xD9\xE8\xDB\x95\xDA\x6E\xCB\xDB\xF0\xD8\xB1\xD9\x4C\xE1\xC3\x92\x85\x9A\xD1\x62\xC5\xDA\x9E\xAB\xBA\xD2\x69\xE7\xCA\x11\xC6\xBE\xD7\x69\xF4\xD8\x64\xB6\xBF\xD3\x6A\xD8\xDA\x01\xDC\xA8\xD4\x06\xC2\xDC\xA8\xD8\xC1\xDE\x69\xD2\xBE\x08\xDE\xAD\xDA\x70\xEB\xCB\x0D\xDD\xAB\xDD\x5F\xF1\xD9\x34\x92\xBC\xDE\x4C\xF5\xDB\x7B\xDB\xB4\xD8\x6F\xC8\xAF\x11\xDF\xA0\xD6\x5A\xCB\xDA\xAB\x86\xC5\xD9\x69\xC7\xDC\x06\xDF\x71\xCD\x71\xC9\xDA\x1F\xDE\x83\xD2\x67\xC7\x93\x27\xDD\x89\xDD\x69\xEB\xCB\x9A\xD9\xCB\xDB\x62\xDF\xD3\x45\xCF\x65\x8C\x69\xFC\xDB\xAA\xDA\xCD\xD6\x6F\xCA\xDA\x2A\xDD\xC5\xD7\x73\xDA\xCB\x56\xC6\xCC\xDF\x62\xDF\xDB\xDC\xC2\xD0\xDE\x4D\xDC\xD6\xA7\xC2\xD1\xD2\x4E\xCF\xDB\x49\xDD\x96\xD3\xCB\xB3", + "\x33\x50\xDC\x24\x52\xE2\x67\x6A\x53\xDE\x34\x96\x75\xDC\x91\x57\xDD\x29\x99\x75\xD5\xDD\x58\xDD\xD7\xD1\x10\x0A\x9B\xAD\xA7\xCF\xD9\x35\xF9\xB5\x60\xDE\x1A\xA2\x72\xE4\xB5\x65\xDD\x37\xAB\x6F\xC0\xDD\xF1\xC9\xDA\xD9\x65\xEE\xDD\x67\xDD\xDB\xD3\x98\x87\xDB\xED\xDA\x99\xDF\xBA\xB0\xDD\x62\xDD\x04\xDE\xBA\xB8\xDD\x3B\xDD\xCA\xD7\x67\xDF\xDD\x73\xDD\xB3\xDC\x61\xC4\xDD\x81\xC4\xDF\xD9\x71\xF5\xDD\xBF\xDB\xDD\xD1\x78\xD2\xDB\x88\xDD\xB2\xD1\xCB\x86\xDE\x88\xDA\xCB\xD8\x73\xF2\xDD\xC9\xA4\xDD\xD3\x78\xE4\xDB\x8F\xDF\xE2\xD7\x6D\xD7\xDE\xE9\xD8\xBD\xDE\x10\x10\xDE\xAC\xDA\xC7\xD8\x60\xFF\xDD\x00\x04\xE8\xD6\x79\xDF\xD9\x8E\xDE\xE2\xD5\x79\xC2\xDE\xA8\xDC\xB5\xD0\x78\xEB\xDE\x8C\xDC\xE7\xDE\x6E\xE6\xDE\xAC\xDE\x9A\xD4\x71\xC8\xCA\x74\xD7\x42\x04\x7B\xF1\xDE\xAD\xDF\xC6\xD2\x2B\xF9\xD9\xBA\xDE\xE6\xDD\x6D\xF2\xDE\x76\xDD\x1A\xAB\x7B\xDB\xDE\xBD\xDC\xC8\xD2\x10\x07\xDF\xC3\xDD\xF2\xDD\x73\xE1\xC8\xCB\xDE\xF0\xD2\x6E\xC4\xDF\x89\xDE\xF1\xD2\x7D\xE7\xDB\xD4\xDD\xEA\xD6\x7D\xF0\xDE\xC8\xDE\xED\xDF\x6A\xCA\xD8\x00\xD9\xF0", + "\xDC\x7D\xCD\xDF\xDE\xDF\xAE\xD0\x7E\xC0\xDF\xD1\xDF\xF8\xD3\x7D\xCE\xDF\xA4\xDC\xEE\xDA\x4F\xEF\xDE\xD6\xA5\xE4\xD3\x73\xC8\xDD\x1F\xD3\x71\xCC\x7C\xEB\xDF\xE5\xDD\x21\xD0\xFC\x80\x00\xF7\xDC\xF6\xDC\x7E\xF7\xDE\xB3\xB1\xFF\xDC\x6E\xD9\xDF\xAE\xDD\xE6\xDA\x7E\xFE\xDF\xF9\xDF\xBC\xD3\x11\x02\xE0\x6B\xDF\xD8\xD6\x15\xCC\xE0\xFF\xDB\xCB\xD7\x1D\xD0\xE0\x03\xDC\xC0\xD4\x79\xF1\xDF\xA1\xDC\xCA\xD3\x7A\xC0\xE0\x6A\x83\x01\xE3\x80\xFF\xDF\x9D\xC6\xC5\x3A\x76\xD1\xE0\x93\xDD\x8C\xB2\x82\xD9\xD9\x27\xE1\xDC\xDB\x2E\xE9\xE0\x79\xDE\x34\xD2\xA7\xAC\xE0\x7D\xDF\x06\xEF\x7D\xF5\x8E\x23\xE1\x05\xE2\x81\xEE\xB9\x30\xE3\xE1\xD4\x80\xFE\xDE\x9C\xB1\x0E\xE2\x7F\xC3\xDD\x98\xDF\xEB\xAE\x83\xD9\xE0\x92\xDC\xDB\xDB\x82\xD7\xDF\x1F\xE1\x02\xE7\x28\xC3\xE1\xA7\xDE\x12\xE1\x11\xCC\xE1\xB5\xDF\xBD\xDA\x7C\xCF\x75\x18\xE1\x13\xE2\x85\xCF\xDF\xB3\xB0\x14\xEC\x7B\xCE\xE1\x56\xC6\x16\xED\x7D\xD7\xE1\xED\xDE\x17\xE4\x7E\xE0\xE1\xCC\xC2\x18\xE8\x7F\xE4\xE1\x21\xE0\x12\xED\x80\xFA\xDD\xF5\xDD\xEE\xD4\x83\xE5\xDC\xFA\xC6\x19\xE8\x80\xE8\xE1", + "\xE6\xDF\x1B\xEA\x82\xD7\xC7\x72\xE1\x12\xE4\x87\xFA\xDF\x17\xC5\x51\x7A\x86\xE4\xE0\x46\xE0\x1E\xEF\x87\xF6\xE0\x25\xE2\x20\xEE\x81\xEB\xE1\x2E\xE2\x2C\xDF\x7E\xD6\x76\x87\xE0\x20\xEE\x80\xCB\xDC\xC7\xC5\x1E\xE8\x88\xEC\xD8\x00\xCA\x4C\xC2\x89\xCE\xE2\x6C\xE1\xD3\xBA\x69\xD7\xE2\x84\xE1\x20\xE5\x36\xDD\xE0\x55\xE1\x14\xEC\x73\xED\xDF\x59\xE3\x20\xE9\x70\xD6\xE0\x47\xE1\x23\xED\x89\xCF\xE2\xA9\xE1\x28\xEB\x85\xFB\xE1\x0A\xE0\x64\x56\x76\xED\xE0\x94\xE0\xBF\xAC\x89\xE7\xE2\x37\xE3\xDB\xC7\x8B\xCE\xDC\xA8\xE3\x75\xC3\xCB\x8C\x9B\xAA\xE0\x2E\xE5\x88\xEE\xB9\xC0\xE2\x2B\xEF\x85\xE3\xE2\xCC\xC1\x31\xEF\x99\xB1\xE0\xAE\xD9\x1D\xE1\x10\x0A\xE3\x34\xA7\x1D\xEE\x2C\xD0\xE3\x61\xDC\x33\xE3\x71\xF3\xE0\xCF\xE2\x29\xEC\x8B\xF9\xE2\x20\xC8\x35\xE3\x8B\xD6\xE3\x8F\xD9\x8C\xBE\x8D\xF5\xE0\xC2\xE2\x27\xEF\x36\xE3\xE3\x59\xD8\x3A\xE2\x8D\xE7\xE3\xDA\xE2\xC4\xD1\x8E\xD7\xC7\xEA\xE0\x2D\xE4\x73\xCD\xBD\xF1\xE0\x38\xE7\x6B\xEB\xCB\xF5\xE2\x0E\xE0\x82\xCE\xE3\xBC\xC8\x40\x09\x8F\xFF\xE0\x47\xDC\xD3\xD8\x0D\xFF\xE3\x44\xE3\xFC\xD2", + "\x90\xF4\xE3\xED\xE2\xE8\xDD\x8C\xF3\xCC\x04\xE6\x15\xE8\x8C\xDD\xC6\x0D\xE6\x28\xEE\x77\xF7\xDE\x32\xC5\x44\xEF\x8A\xCF\xE4\xFC\xE2\xFB\xD8\x5E\xFE\xE3\x09\xE6\x06\xEB\x90\xF1\xE2\x0B\x06\x45\xE7\x8C\xD3\xE4\xD8\xE0\x47\xE1\x8C\xDB\xE3\xC3\xE3\xDB\xCF\x8B\xDD\xE4\x45\xE0\x2B\xE0\x8F\xEC\xE4\x06\xE5\xB6\xD7\x0A\xE2\xE4\x63\xE0\x46\xEC\x87\xF8\xD9\xC7\x90\x4D\xE7\x86\xF6\xE4\x20\xE4\x9E\xD4\xD7\x3A\xE4\x73\xE0\x4F\xE4\x60\xEE\xE1\xD9\xE3\x49\xEE\x8E\xF7\xE3\x5D\xCF\x71\xC0\x94\xFA\xE1\x42\xE5\xA9\xD3\x11\x0B\xE5\x93\xE3\x3C\xED\x43\xCE\x04\x50\xE4\x26\xE9\x88\xC8\xAF\x55\xE7\x2A\xE9\x89\xC0\xC8\x59\xE5\x39\xEE\x92\xD3\xE3\x30\xE4\x10\xED\x79\xCF\xE5\x61\xE5\x40\xE2\x93\xC3\xE4\x65\xE7\xD2\xD7\x96\xEC\xD0\xE4\x56\x31\xE5\x93\xE4\xE4\x9D\xC8\x31\x34\x8E\xE8\xE4\xE6\xE3\xD2\xA2\x97\xD9\xD9\x77\xE7\x3A\xE0\x22\xF9\xE5\xF2\xE0\xFD\xDD\xF4\xBC\xE5\xF6\xE3\xC3\xD7\x1D\xC0\xE6\xFA\xE0\x17\xEE\xE9\x84\xE6\x00\xE6\x5A\xE4\x78\xE7\xC2\x88\xE5\x41\xE2\x96\xEE\xDB\x69\xA1\x63\xEE\x90\xF0\xE5\x37\xE4\x75\x29\x96\xEA\xD0\xB5", + "\xE2\x9C\xA2\x99\xD2\xE4\x32\xE1\x46\xEB\x99\xD7\xE4\x94\xE5\x4F\xE6\x99\xC6\xE5\x0A\xE7\x35\xE9\x91\xF3\xB2\x9F\xE7\x48\xED\x99\xD5\xE6\xCA\x40\x69\xEE\x91\xE6\xE6\xAC\xE4\xC2\x77\x99\xFB\xD0\x99\xE5\x5B\xEB\x8C\xC5\xE6\xB0\xE0\x82\xB9\x9A\xEF\xE5\xAB\xE6\x68\xE6\x10\xCB\xE2\xB2\xE6\x6B\xED\x92\xDB\xE5\xFB\xCF\x60\xD1\x9C\xEE\xE5\x3B\xE5\x68\xE7\x28\xFB\xE6\xC9\xE5\x6F\xEB\x9C\xF3\xE6\x58\xCC\x71\xE6\x68\xC3\x7C\xB7\xE5\x62\xE8\x99\xD2\xE5\xFC\xA8\x73\xE1\x94\xCA\xE7\x11\xC6\x76\xEC\x94\xDC\xE7\x94\xD8\x19\xCE\x9D\xD1\xE5\x7E\xE5\x25\xE2\xF9\xA3\xE7\x56\xE5\x6D\xEF\x49\xC0\xE7\xE8\xE6\x56\xE7\x95\xFF\xDE\x74\x35\x7B\xEE\x95\xD2\xE7\x44\xC6\x6D\xE1\x8D\xFD\xE5\x07\xE7\x54\xE4\x9D\xF7\xE7\x81\xE5\x2F\xEE\x2C\xF2\xE7\x74\xE7\x57\xEF\x36\xC0\xE8\x47\xE6\x60\xEF\x9F\xD0\xE7\xB0\xCF\x58\xE6\x9F\xD5\xE3\xB8\xE5\x53\xE6\x15\xC4\xE8\xA5\xE7\x3B\xEF\x89\xD0\x7F\xD7\xD0\x02\x83\x99\xCE\xE7\x79\xB6\x85\xEC\x99\xDF\xE4\x87\xCA\x86\xE0\x9A\xD8\xE8\x56\xC6\x87\xEA\x9A\xDC\xE8\x11\xC6\x88\xEC\x9B\xE4\xE8\x21\xE9\x85\xE9\x65", + "\xE6\xE8\xCD\xE4\x8A\xE1\x2F\xEC\xE8\xDB\xE4\x88\xEF\xA2\xEB\xE8\x34\xEA\x5E\xE8\x14\xF0\xE8\xDF\xE6\x8C\xE2\x36\xE1\x7C\x35\xE8\x7E\xEB\x96\xC0\xC8\x38\xE8\x79\xE9\x9F\xCF\xA0\x41\xE9\x7A\xE8\x9D\xFC\xE8\x36\xE9\xD5\xC0\x9C\xC5\xE9\xEE\xE6\x7A\xE0\x9F\xC8\xE9\x3E\xEB\x62\xE8\x0D\xCC\xE9\xF3\xE7\x7B\xEC\xC9\x94\xE9\x01\xE8\x7D\xE6\x61\xD4\xE8\x49\xE9\x60\xC8\xA5\xC5\xE8\xFE\xE7\xDB\xCF\xA5\xD1\xE8\x48\xE6\xB3\xC2\x13\xE3\xE9\xAF\xE6\x84\xEF\x36\xDA\xDA\x68\xEB\x70\xE6\xA5\xE3\xCA\x2D\xC1\x9B\xE1\x93\xD2\xE9\x9A\xE2\xE4\xB2\xA7\xCF\xE6\xC5\xDE\xF7\xC7\xA7\xE6\xE5\x74\xEA\x7E\xE7\x00\xBD\xE8\xFD\xE4\x37\xE7\xA3\xC0\xEA\x0D\xE8\x78\xE3\xA3\xDD\xE9\xA7\xC3\x9E\xEA\x98\xC1\xE1\x9E\xDF\x42\x06\xEF\x4E\xE6\x7C\xE9\x10\xEF\xA8\xD7\xE8\x2E\xE9\x8C\xB3\xA9\xDB\xE8\xB0\xE6\x6F\xE0\x00\x17\xEA\x1F\xE9\xA5\xE7\x1D\xDC\xEA\x23\xE9\xA6\xE7\x28\xE0\xEA\x27\xEA\xA8\xE1\x11\xE4\xEA\x2D\xEA\xA9\xE4\xD6\xA8\xEA\x31\xEA\xA7\xEE\x2C\xEC\xEA\x39\xEA\xAB\xEF\x36\xF0\xEA\x42\xEB\x8F\xEC\xAF\xB4\xEA\x46\xE9\x79\xE7\xAB\xD9\xD9\xB8\xE9", + "\x93\xE7\xA4\xDE\xAA\xBD\xE9\x95\xEE\xA4\xE9\xD2\x8E\xE8\xAF\xE6\xAC\xC8\xEA\x2A\xA9\xB0\xE9\xA5\xEF\xE9\x9B\xE8\x1C\xE0\x9C\xCA\xEB\x60\xEA\xA0\xEA\xA4\xDB\xE4\xCD\xE8\xB2\xED\xF4\x90\xEB\x64\xEA\x81\xE3\xAB\xCE\xDD\x13\x04\xB6\xE9\xA6\xE5\xE9\xDB\xEA\xB5\xE0\x20\xDE\xEB\x6E\xEB\xB0\xE0\xA7\xC4\xE5\xF5\x7A\xB3\xE4\xAD\xE4\xEB\x73\xE8\xA3\xEF\x5F\xF3\xD9\x0E\x04\xBB\xE8\xA7\xD5\xDF\xEF\xE8\x5D\x32\xAF\xD1\xEA\x0A\xE9\x1F\xE7\xAF\xCB\xEA\xF9\xE8\x6B\xCB\xAF\xD7\xE7\xBA\xEA\x9C\xAF\xAF\xF4\xE6\xBF\xE8\xF2\xA3\xB0\xD1\xE7\xCC\xE9\x1A\xA7\xB0\xC9\xE8\x90\xE5\xB7\xE7\xAC\xD1\xE9\xEE\xEB\xFE\xD4\x6D\xA2\xEB\x0F\xA3\xC4\xE0\xB1\xE9\xDB\x16\xED\xA0\xE9\x92\xE0\xC8\x19\xED\xA1\xEA\xA3\xD7\xC7\x1D\xEE\x75\xE4\xB0\xC1\xEC\x9E\xA9\xC8\xE0\xA9\xFC\xEB\x0D\xEE\x43\x06\xB2\xD4\xEA\xAA\xEA\xA7\xBB\xB2\xD8\xEA\x6A\xE8\xC7\xE9\x65\xEF\xEC\x9D\xE9\xCB\xEB\x2E\xF4\xEC\xA1\xE9\xCC\xE8\x14\xF8\xEC\xA5\xEA\xCE\xEC\x0D\xFC\xEC\xA9\xEA\xCF\xE1\x18\xC0\xED\xAD\xEA\xCD\xEE\x8B\xD3\x04\x44\xED\xAC\xE6\xB4\xCE\xCB\x49\xED\xAD\xED\xA7\xFC", + "\xAB\x4D\xED\xAE\xE3\xA4\xC8\xED\xD7\xD1\xD4\xEE\xAB\xE4\xEC\xEB\xE7\x82\xD2\x10\x16\xED\xC2\xE9\xC1\xEF\xA4\xEA\xEC\x33\xED\xD8\xE4\xB1\xD3\xE7\x5B\xEE\xD8\xE7\xB1\xE9\xEC\x0B\x04\xD7\xEB\xAC\xE6\xEB\xBD\xD0\xBA\xE0\x00\x2A\xED\xD1\xEB\xC6\xEA\x41\xC7\xC7\x70\xED\xB6\xE1\xA6\xE0\xC8\x32\xC5\xDD\xEF\xAD\xDA\xEB\x78\xEE\xE4\xBA\xB7\xE5\xEB\x5E\xEC\xB1\xE5\xB6\xE3\xED\xF5\xE5\xDA\xE6\xB6\xDA\xEC\x75\xE7\xCE\xE7\xB8\xDE\xEC\xB2\xEA\xCC\xE4\xB8\xC8\xAF\x7F\xED\xBB\xED\xAF\xD9\xD8\x0B\x06\xB5\x9F\xB8\xC2\x04\x96\xEF\xD9\xE6\x77\xD9\xEE\x88\xEE\x80\xE0\x22\xDC\xEE\x8C\xEF\xD2\xEF\x36\xE0\xEE\x22\xEC\xC2\xEC\xB6\xE9\xA1\xA4\xEF\xC9\xE0\xB0\xD3\xED\x9E\xA9\xEA\xEC\xB2\xC2\xED\xAE\xAE\xEB\xE0\xB3\xE0\xEB\x9F\xED\x96\xD2\xBB\xF5\xEC\xB0\xEC\x36\xC7\xBB\xF9\xEC\xB4\xEC\x52\xCB\xBB\xFD\xEC\xBD\xEC\x37\xCF\xBB\xC1\xED\xC1\xED\x60\xC3\xBC\xC5\xED\xB9\xEC\x5B\xE5\xB9\xF6\xEE\xCC\xEF\xE5\xE1\x10\x07\xEF\x4A\xED\xF2\xE9\xB6\x90\xEF\x4E\xED\xC4\xE7\x7E\xC7\x93\xD4\xEE\xD4\xE6\xAB\xF7\xD2\xFA\xC5\xF6\xE7\xB5\xEC\xEE\xC8\xAE\xF7", + "\xED\xB5\xD8\xED\xBC\xAA\xF8\xEB\xB6\xC1\xEE\xC0\xDB\xF2\xEE\xBC\xF1\xB2\xE6\xED\xDC\xE9\xB8\xC2\xEF\xEA\xE9\xF8\xD8\xB9\xF1\xEF\xE8\xDF\xF3\xE4\xBF\xD8\xEF\xF4\xEC\x5D\x3D\xBE\xF6\xED\xD2\xE9\x60\xC3\xCB\xBB\xEF\x7B\xEF\xDD\xE1\x16\xD3\x04\x00\xF0\xE0\xE4\xBE\xDC\xB2\x05\xF2\xE4\xE8\xB6\xF3\xEF\xEB\xEF\xEB\xA9\xC0\xF3\xEB\xDA\xDC\x01\xFD\xBC\xDA\xEE\xF4\xEB\xFE\xD4\x5D\xA5\xEE\x0C\xEE\xDD\xD7\xC1\xEA\xEE\x23\xEC\xF8\xE2\x10\x1B\xF0\xAF\xED\xF1\xE7\x0A\xE0\xF0\xB3\xEC\xDF\xE8\x14\xE4\xF0\xB8\xEE\x08\xF8\x0D\xE8\xF0\xBC\xEE\x09\xFC\x0D\xEC\xF0\xC0\xEE\x0B\xF5\xB5\xB0\xF0\xC4\xEE\x0C\xF3\xC2\xD9\xD9\x34\xF0\xF2\xEA\xC2\xCD\xBD\x39\xF1\xF4\xEB\xC3\xC0\xC8\x3D\xF1\xF5\xE3\xB9\xC0\x04\x41\xF2\xF6\xEF\xB4\xF2\xA9\x45\xF3\xF7\xEB\xBD\xC5\xEE\x1F\xF0\x0E\xFE\xC4\xCD\xF0\x49\xF3\xF8\xEE\xC1\xC1\x04\x51\xF3\xF9\xE7\xC0\xE7\xEB\xC0\xE5\x15\xFE\xBE\xDE\xEE\x73\xEE\x7E\xCA\xC5\xFC\xEF\x72\xEF\x0B\xFF\xC4\xD4\xF0\x11\xF2\x05\xF3\xC6\xDD\xEE\x5A\xE8\xAF\xAF\xC5\xC1\xF0\xFD\xEC\x49\xC4\x06\xEB\xF1\x06\xF3\x14\xF8\xC5\xD4\xEB", + "\x70\xF2\x02\xF9\xA7\xE2\xD7\xF2\xEC\x15\xF9\xBF\xD3\x04\x75\xF0\x04\xF5\x80\xCA\xD3\x0E\x05\x1F\xF8\xAF\xCB\xF0\x94\xED\x13\xFD\xC0\xE9\xA1\x82\xF0\xCA\xE7\xC7\xCB\x04\x89\xF3\xEA\xEB\xC4\xC8\xAF\x8D\xF1\x07\xFF\xC8\xEA\xF1\x67\xF1\xE8\xE2\xBD\xC3\xAE\x13\x06\x6F\x98\xC1\xDC\xD1\xBC\xD2\x26\xFC\xC1\xE6\xEE\xE8\xEC\x00\x0E\xC9\xE1\xF0\x36\xF0\x36\xC3\xCA\xE5\xF0\x02\xF0\x37\xC7\xCA\xE9\xF0\xA5\xF1\xD3\xBB\xCA\xED\xF0\xA9\xF1\x60\xCF\xCA\xF1\xF0\xB1\xF2\xEB\xA3\xCB\xF5\xF0\xB5\xF2\x29\xF9\x65\xF7\xF2\x3A\xF1\x2B\xF0\x20\xFC\xF2\x3E\xF2\x2F\xFC\xAF\x80\xF3\x42\xF0\x21\xF0\x10\x04\xF3\x46\xF2\xF5\xE2\x10\x08\xF3\x4A\xF3\x11\xFC\xC4\xC1\x04\xCC\xF2\x14\xF3\xC9\xDC\xB2\xD1\xF2\x15\xF2\xC7\xEF\xAE\xD5\xF3\x16\xF9\xC6\xD0\xF3\xD7\xD1\x36\xF0\xC6\xEF\xEF\x24\xD1\x0B\xCE\xCD\xEC\xF1\x61\xF1\x38\xFA\x1F\xE3\xF3\x71\xF3\x34\xF1\xCB\xA8\xF3\x76\xF1\x05\xFB\x10\x2C\xF3\x7E\xF0\x0F\xE9\xBE\xCB\xF3\xBB\xF1\x3D\xF7\xC8\xEF\xEB\xC7\x90\x3C\xF3\xC8\xCB\xF2\x3E\xE5\x26\xF7\xBF\xFE\xF3\xF7\xF0\x1E\xF5\xBF\xC7\xF3\xDC\xE9\x6F\x95", + "\xD0\xEF\xF3\xF6\xF0\x19\xFF\xC7\xE9\xA1\xFA\xF2\x22\xFE\xCE\xF4\xF3\x01\xF4\x42\xF1\xD1\xD0\xF4\x0A\xF6\x3C\xF0\xC8\xCB\x04\x66\x68\x29\xF9\xCB\xE5\xAC\x19\xF4\x2A\xFD\xC6\xEA\xA8\x1D\xF4\x2B\xFB\xD1\xC0\xC8\x21\xF4\x2C\xFF\xD1\xCD\xBD\x25\xF4\x2D\xF7\xD2\xE4\xF4\x59\xD9\x4A\xF8\xCB\xEB\xF4\x0F\xA2\x4B\xFD\xCB\xE3\xF4\xFC\xAA\x4C\xF1\xCC\xF4\xF4\x72\xAA\x4D\xF5\xCC\xFC\xF3\xAA\x41\x4B\xFE\xD3\xD3\xF4\x3D\xF4\x50\xFD\x8F\xC0\x00\x3A\xF5\x32\xF3\xC4\xC4\xF5\x3F\xF5\x45\xFC\x4B\xC5\xF5\xCD\xF1\x10\xEC\xD4\xD2\xF3\xCE\xF1\xD6\xE9\xC7\xC0\x04\x4F\xF6\x35\xFA\xCE\xED\xED\xC6\xE5\x55\xFA\xCD\xC9\xEC\x65\x69\x52\xF8\xC6\xDC\xF5\xFB\xDE\x56\xFF\xCD\xDC\xF1\xDC\xC2\x58\xF4\xCE\xE0\xF3\xA7\xC2\x59\xF9\xCE\xD1\xF5\xBF\xDF\x31\x9A\xD6\xED\xF3\x65\xF3\xF9\xD4\xD7\x2F\xF5\xF1\xF3\x14\xEF\x9B\xDA\xED\x41\xF6\x52\xFF\x7C\xDA\xDA\x74\xF7\x3E\xFF\xD0\xC5\xF2\x79\xF7\x57\xF7\xBA\xDE\xCF\x7D\xF6\x43\xF1\xD7\xC2\x04\x85\xF6\x23\xFC\xD6\xDC\xB2\x89\xF6\x24\xFB\xD8\xF1\xB2\x8D\xF4\x28\xF7\xC5\xEF\xAE\x91\xF5\x06\xFF\xD7\xD4\xF5\x07", + "\xF7\xD0\x67\x4D\xDB\x89\x96\xF3\x0F\xFF\x80\x9C\xF6\x9B\xF1\x6C\xDB\xD0\xD3\x04\xA0\xF7\x27\xF6\xD9\xC7\xF6\x01\x05\x69\xFA\xD1\xF0\xF4\x72\xAA\x6A\xFE\xD1\xE5\xF3\xA7\xC2\x6B\xF2\xD2\xEC\xF6\x0E\x06\x6C\xF6\xD2\xF0\xF6\xD8\xC2\x6D\xFA\xD2\xF8\xF6\x4D\xBE\x6E\xFF\xD2\xFC\xF6\x00\xCA\x6F\xF3\xD3\xF4\xF6\xC8\xAE\x70\xF7\xD3\xC4\xF7\xBC\xAA\x71\xFB\xD3\xD7\xF6\x00\x02\x72\xF6\xD4\xC6\xF3\xD0\xDD\x6A\xF9\x65\xCE\xF7\x4D\xF7\x51\xF4\xDD\xD0\xF5\x41\xE3\x75\xF6\xD5\xCF\xF6\xCD\xF7\x3F\xF5\xDB\xFB\xF1\xDF\xF6\x50\xFD\xDD\xE2\xF7\xDA\xF7\x56\xF3\xD8\xFB\xDF\xE5\xF7\x58\xFB\xCD\xF1\xB2\xE9\xF7\x59\xF4\xD6\xC1\xC6\xED\xF7\x5A\xFA\xCC\xEB\xDC\xA4\xF4\x78\xFB\x10\x31\xF7\x70\xF7\x68\xF2\xD0\xC7\x93\xF8\xF5\x5D\xFB\xD7\xD2\xBE\xFD\xF6\x5F\xF8\xDA\xC3\xF5\x01\xFA\x61\xFA\xDF\xFD\xE1\x05\xFA\x62\xF3\xDF\xC0\x04\x09\xFA\x63\xFB\xE0\xE3\xF7\x7A\xF5\xFB\xDD\xE0\xD2\xF6\xD7\xF1\x1A\xA3\xE1\xE7\xF6\x07\xFA\x66\xF2\xDE\xF3\xB2\x14\x31\x03\xFD\xE1\xD1\xF8\xCC\xC3\x87\xF2\xD8\xE1\xF2\x69\xA2\x88\xFD\xD9\xC2\xF3\x72\xAA\x89\xF1\xDA", + "\xF6\xD9\xB7\xDE\x8A\xF6\xDA\xDC\xF2\xCF\xDE\x8B\xFB\xDA\xC0\xF7\x0F\xA2\x8C\xFF\xDA\xE8\xF5\xD8\xC2\x8D\xF3\xDB\xF4\xF8\x29\xF9\x96\xDA\xE3\xF7\xF6\x38\xF9\xD3\xBF\xE3\xFB\xF6\x41\xF8\x80\xC3\xE4\xFF\xF6\x45\xF8\xBF\xA7\xE4\xC3\xF7\x3C\xFB\x33\xF3\xC1\x3E\xF8\x50\xFA\x87\xF7\x4D\xCB\xF9\xC7\xF5\x93\xF2\xD5\xF0\xEB\x0B\x04\x95\xFB\xDC\xC3\xF8\x1A\xE4\x84\xDA\xE5\xCF\xF7\x3C\xF7\x93\xF2\xDE\xDF\xF9\xD5\xF4\x74\xFC\xE1\xD1\xF9\x20\xF9\x49\xE0\x00\x24\xF9\xD8\xF7\x51\xF2\x13\xEC\xF9\xDB\xF7\x83\xFA\x69\xF0\xF9\xE6\xF4\x89\xF8\xCF\xD3\x04\x74\xFA\x7A\xF0\xD6\xF2\xF5\x78\xF9\x66\xF1\x10\x39\xF9\xEE\xF7\x7A\xF7\xD1\xC2\x04\x80\xFA\x7C\xF7\xD4\xC5\xFA\xF9\xF6\x45\xF5\xE2\xE8\xF9\x23\xFB\x64\xFB\xE8\xE3\xF9\x7E\xF8\x40\x0F\x65\x81\x04\x93\xFA\xA4\xF3\x11\x15\xFA\x5E\x9B\xA5\xFA\xE9\xCE\x04\x98\xF9\xA7\xFB\xE9\xCB\x04\x9E\xF8\xA7\xFF\xE9\xC2\x04\x98\xF8\x97\x91\x10\x26\xFA\x00\x04\xAA\xF0\x00\x2A\xFA\xAC\xFB\x44\x0D\xEA\xCE\x04\xAF\xFB\x42\x01\xEB\xC2\x04\xB3\xFB\xA9\xFE\xEA\xCF\x47\xD1\x44\xAE\xF3\x67\xBA\xFA\xCA\x44", + "\xAF\xF1\x10\x04\x5B\xC0\xFA\xAF\xFA\x09\x42\xFB\x09\x5C\xB1\xF4\x6C\x78\x99\x0E\x04\xB2\xFB\x10\x0A\xFB\x02\x04\xB3\xF1\x10\x0E\xFB\x00\x04\xB4\xF0\x00\x12\xFB\xD4\xFB\x44\x05\xED\xC9\xFB\xD6\xF9\xB6\xF8\xED\xDB\xFB\xA9\x59\x96\x15\x67\x97\xD3\xD0\x93\x8C\xF9\xE4\xDF\xFB\xE2\xF5\xB8\xF7\xE3\xEF\xF7\xA7\xC2\xB9\xFB\xE3\xE3\xFB\x9E\xAA\xBA\xF0\xE4\xE8\xFB\xD8\xC2\xBB\xF4\xE4\xF0\xFB\x25\xAE\xBC\xF8\xE4\xF4\xFB\x00\xCA\xBD\xFC\xE4\xEC\xFB\xC8\xAE\xBE\xF5\xE5\xFC\xFB\xBC\xAA\xBF\xFB\xE5\xD9\xF8\x01\x06\xC0\xF0\xE6\xCC\xF7\x06\xFD\x99\xF1\xE6\xC0\x00\x09\xFD\x9B\xF6\xE6\xE4\xFB\x69\xF9\x46\xED\xF0\xF1\xF9\x47\xF7\xC4\xF5\xE7\xD3\xF6\x16\xFE\x9E\xFC\xB6\xD9\xFC\x81\xFB\x9E\xF8\x93\xD0\xFC\x8D\xF9\x85\xF5\xAF\xE0\xFC\x27\xF8\x4E\xFD\xEE\xD9\xD9\x1C\xFE\xA1\xFF\xF0\xD5\x79\xE5\xF8\xCA\xFE\xDD\xD2\x88\xF6\xF6\x40\x09\xF2\xC9\xFA\x76\xF5\x97\xF8\xE5\xF2\xFC\x31\xFD\xC1\xF1\xE9\xCC\xFC\x3B\xFF\xCC\xFE\xDF\xED\xDF\x3E\xFE\x80\xF4\xF0\xC0\x04\x41\xFE\x81\xFA\xE8\xE4\xFC\x2B\xFA\xAC\xD7\xF4\xEC\xFC\x11\xFD\x6C\xE5\xF4\xCA", + "\xF8\x47\xF7\x2C\xB1\x67\xA2\xFB\xF8\xFB\x03\xA3\xF5\xE7\xFB\x82\xFB\xD5\xFB\xEE\xD5\xFD\x72\xAA\xD6\xFF\xEE\xC2\xFA\x69\xA2\xD7\xF3\xEF\xE0\xFD\x13\x06\xD8\xF7\xEF\xE4\xFD\x0E\x06\xD9\xFB\xEF\xDC\xFD\x69\xFD\x96\xDA\xF6\xFF\xFB\x6C\xFC\xF2\xAF\xF6\xC3\xFC\x4B\xFF\x42\x03\xF7\xC7\xFC\x5C\xFB\xDD\xFA\xF0\xCC\xF7\x7A\xFE\xC3\xFB\xF0\xFD\xFD\x14\xFF\xCA\xF6\xF7\xEE\xFD\x84\xFD\x03\xF0\xF8\xD7\xFC\xD7\xF3\xE1\xFA\xF1\xF6\xF9\xFB\xF5\xD9\xF9\xF3\xC0\x04\x8A\xFD\xC7\xF7\xDE\xC3\xFE\xE2\xF5\xE4\xFA\xF2\xCB\xFC\x52\xFD\xE1\xFD\xF4\xDA\xEA\x96\xFC\xCD\xFF\xDF\xED\xC0\x9D\xFF\xCF\xF4\x91\xD2\xBE\xA1\xFE\xD0\xF5\xF7\xDF\xFC\x6D\xFE\x78\xFA\x69\xE5\xFE\x46\xFD\xCD\xF9\xF9\xDB\xF8\x8E\xFD\xE5\xFA\xF9\xE1\xFC\x57\xF5\xD8\xF3\xFB\xE5\xFC\xC8\xF4\x27\xBC\xFA\xD0\xFD\x82\xFC\xAF\xA9\x86\xBF\xFE\x72\xA8\xF0\xFE\xA9\x82\xFF\x5B\xE8\xF2\xA4\xFC\xE8\xFE\x57\xF8\x5D\x37\xFC\xC2\xEE\x9C\xB3\xF2\xF7\xD7\xD3\xF5\x58\xF4\xB5\xE9\x1F\xC0\xE7\xD3\xFE\xF4\xFE\x3D\xCD\xEA\xBE\xFD\xF0\xFA\xFD\xFB\xDF\x45\x56\x40\x0D\xFD\xC1\x04\xDF\xFD\x2C", + "\xB1\xFE\xEF\xAE\xE3\xFD\x1A\xA5\xFE\xD3\x04\xE3\xFF\xF9\xFE\x10\x2A\xFF\x0B\x04\xFB\xFE\xFD\xF2\xA9\xEE\xFC\xF8\xF0\xFF\xE4\xED\xF2\xFE\xA7\xA1\xFF\xC0\x04\xE9\xFC\xFA\xFC\xBD\xC0\xE7\xF7\xFE\xCD\xF4\xD7\x3D\xFF\x00\x80\xFA\x7C\xFE\x7B\xFE\x76\xFF\x7B\xFF\x78\xF5\x03\x80\x8A\x70\x6A\x75\xFF\x7A\x26\x6B\x00\x92\x7C\x7D\xFF\x33\x59\x0F\x80\xFD\x7D\x01\x83\x02\x88\xBC\x41\x00\x94\x00\xC2\x60\x13\x03\x15\x4D\x8F\x31\x03\x82\xA7\x5A\x00\xAF\xAE\x1E\x80\x69\x50\x10\x80\x07\x86\x21\x02\x02\x84\x01\x9D\x00\xA7\x80\x9E\x55\x12\x80\x1C\x20\x05\x85\xFC\x62\x08\x2A\x00\xAE\x80\x2C\x80\x18\x82\x09\x81\x01\x80\xFD\x6F\x01\xB2\xD9\x74\x1A\x36\x81\x0D\x81\x0A\x82\x00\x80\x00\x19\x01\xBD\x00\xB1\x80\x3A\x66\xB7\x76\x0F\x82\xD3\x63\x04\x84\x83\x45\x01\xC7\x63\x3E\x81\x59\x59\x12\x83\x04\x88\xBC\x5E\x01\x8E\x01\xC0\x80\xB1\x59\x25\x82\xE9\x41\x18\x11\x8C\x09\x43\x55\x01\xEB\x41\x9C\x59\x2B\x83\x14\x82\x4E\x5A\x05\x91\x0A\x56\x01\xDC\x80\x60\x80\x4F\x55\x17\x84\x35\x63\x06\x84\xA0\x08\xAF\x54\x80\x58\x81\x39\x78\xF4\x7D\x0C\x8F", + "\xFC\x63\xE8\x4B\x6B\x3C\x55\x6C\x81\x37\x80\xF3\x78\xB0\x21\xCB\x51\x03\xB1\x01\xB2\x62\x77\x80\xC9\x5D\x1E\x85\x05\x6B\x07\x9A\x8F\x71\x01\xB3\x59\x7F\x81\x34\x83\xEB\x56\x0E\x81\x06\x87\x03\x85\x02\x98\x80\xCC\x0E\x11\x1B\x27\x2B\x11\x87\x61\x29\x04\x8E\x02\x8C\x81\x02\x13\x47\x81\x23\x80\x12\x83\x5F\x51\x04\x94\x02\xA2\x26\x13\x03\xE8\x42\x26\x82\x4E\x51\x1D\x49\x43\x5D\x02\x99\x81\x9C\x80\x50\x82\xA7\x57\x13\x85\x37\x41\x05\xA3\x02\xA6\x81\xC8\x56\x52\x81\x1F\x72\x15\x82\x10\x0C\x05\xAE\x97\x22\x81\x7B\x3C\x03\x80\xF4\x7E\x15\x8D\x06\x94\x6B\x34\x02\x80\x00\xB7\x81\x5B\x83\x2C\x59\x17\x88\x0A\x8D\xEB\x70\x02\xDF\x76\xB1\x80\x1A\x83\xCD\x7F\x15\x82\x0C\x96\x05\xBC\x00\xBA\x81\xBF\x80\x4E\x58\x2F\x87\x14\x8C\x0C\x89\x05\xBC\x00\xAE\x23\x0B\x02\x68\x82\x40\x02\x1A\x8C\xC9\x54\x06\xB1\xB2\x56\x81\xAF\x56\x6C\x81\x1A\x50\x1B\x8A\x0D\x93\x08\x1D\x03\x8E\x02\xDF\x81\x68\x82\x9C\x51\x1C\x83\x0D\x83\x07\x8F\x03\xE6\x81\x9E\x54\x6E\x82\x37\x82\x16\x83\x0C\x80\x08\x24\x03\xB7\x80\xEB\x81\x74\x80\x3A\x85\x05\x81\x10", + "\x0F\x07\xAE\x03\xF3\x81\xBE\x80\x70\x80\x3B\x84\xAE\x16\x0F\x96\xF9\x47\x93\x7D\x81\x9A\x6D\x7E\x83\x2C\x5A\x20\x81\x0F\x88\x5E\x7D\x03\x87\x82\xF8\x81\x6A\x80\x0F\x87\x01\x5C\x10\x92\x53\x7C\xAB\x0F\x82\x0E\x82\xA4\x60\x44\x86\x53\x53\x11\x88\x5E\x55\x04\x88\x81\x81\x63\x8B\x82\x8A\x55\x38\x77\x00\x86\xCF\x47\xC7\x1A\x82\xB1\x58\x4C\x78\x37\x60\x24\x81\xFD\x70\xFE\x5C\x04\x90\x6C\x27\x83\x76\x82\x47\x82\x3F\x62\x12\x9E\xDF\x52\x04\x91\x82\x14\x82\x98\x82\x45\x84\x07\x88\x5D\x4E\x08\x35\x04\x8B\x02\x37\x82\x5E\x55\x4E\x84\x93\x5B\x13\x91\x65\x7D\x04\xAF\x57\x3F\x83\x9F\x81\x1A\x52\x28\x83\x11\x04\x0A\xB6\x04\xF2\x54\x46\x82\x9C\x80\x52\x84\x26\x8B\x14\x9E\x54\x41\x05\xC5\x82\xEC\x81\x63\x49\x52\x85\x9F\x77\x14\x8E\x0A\x8D\x05\xF4\x81\x00\x03\xA9\x81\x40\x02\x2B\x89\x15\x91\x0A\x90\x05\xC5\x81\x5F\x83\x2B\x7E\x54\x83\x1F\x81\x16\x98\x08\x82\x04\x5C\x82\xD1\x7B\xAE\x82\x55\x83\x2D\x88\xBC\x48\x0B\xAE\x05\xBC\x80\x4B\x57\xB8\x80\x52\x60\x44\x64\x17\x93\x0B\x86\xB0\x75\x82\xDC\x60\xBC\x81\x60\x62\x2F\x87\x0A\x79", + "\x9B\x56\xC5\x7C\x82\x2A\x54\xB9\x83\xB4\x70\xFA\x7D\xB7\x67\x8E\x40\x06\xCD\x5E\x7E\x83\x78\x67\x61\x83\x25\x80\x9C\x65\x0C\xBA\xC7\x0E\x83\x8D\x83\x2E\x7A\x71\x71\x31\x8B\xA3\x7F\x0B\xB6\x05\xF9\x82\x97\x83\xBD\x83\x00\x79\x70\x3A\xAC\x50\x79\x0F\xA0\x1E\x83\x72\x54\xD0\x82\xA7\x52\x34\x88\xBC\x44\x0D\xBC\xAA\x26\x83\xA4\x2A\x6C\x60\x6A\x81\x96\x5B\x1A\x8F\x5D\x6D\x06\xE9\x50\xAF\x83\x3D\x43\x29\x61\x36\x8B\x7F\x74\x0D\xBA\x72\x01\x63\xAD\x83\xDC\x82\x64\x85\x23\x86\x1B\x94\x0A\xB7\x06\xB3\x83\x48\x63\xDE\x80\x60\x79\xCA\x20\x1C\x9C\x86\x42\x07\xED\x80\xC7\x49\xE3\x82\xFF\x7A\x36\x8D\x86\x60\xCE\x4A\x07\x9A\x6D\xCA\x83\x59\x59\x74\x84\x39\x8D\xF4\x4A\x0E\x96\x07\xC1\x83\xD8\x83\x18\x6E\x21\x1A\x59\x5A\xF4\x0F\x40\x5D\x07\xF2\x54\xDF\x82\x4F\x55\x78\x80\x79\x53\x1E\x9C\x55\x65\x07\xAD\x0E\x48\x63\xF3\x81\x2C\x5A\x3D\x8F\xBA\x4C\x0F\xA9\xA1\x6E\x83\xB4\x2B\x53\x60\x7C\x83\xFF\x63\x1F\x97\x23\x29\x07\x86\x58\xEC\x83\xFA\x80\xF2\x7C\xCC\x23\x18\x8E\x03\xBA\x07\xE8\x83\xDC\x61\xFF\x83\x50\x7A\x40\x8C\x80\x37\x0F", + "\xBD\x07\xC7\x49\x04\x84\x4D\x6D\x82\x84\x0C\x6B\x20\x87\x8E\x44\x08\xB3\x59\x0F\x85\xF8\x80\x36\x64\x40\x84\x21\x86\x10\x81\xC6\x11\x84\xD2\x46\x03\x58\xD1\x1F\x01\x5B\x21\x92\x53\x5D\x08\x9E\x55\x1F\x84\xE4\x55\x88\x84\x57\x53\x22\x91\xC5\x08\xC5\x25\x84\xB1\x58\x14\x87\xEB\x52\x45\x89\x86\x4C\x11\xAA\x53\x01\x63\x2E\x85\xFD\x6D\x8C\x83\xB6\x37\x0A\x6A\x11\xB6\x08\xBB\x83\xD0\x7F\x19\x86\x6F\x83\x84\x30\x23\x87\x11\x9B\x06\xB4\x84\xD8\x60\x1D\x86\x89\x87\x40\x8F\x22\x8E\xE3\x47\xC7\x42\x84\xC8\x83\x22\x85\x73\x84\x5A\x78\x24\x89\x0B\xB7\x6B\x5A\x83\x40\x85\xA6\x5D\x93\x83\x4A\x8E\x23\x9C\x86\x4D\x09\xB3\x59\x08\x5D\x2C\x85\x44\x67\x50\x6C\x25\x9B\x12\xB9\xB5\x5D\x84\x56\x62\x30\x85\xBC\x62\x4C\x8B\x2E\x77\xB8\x6D\xDF\x64\x84\x28\x5A\x2D\x85\x78\x75\x05\x63\x94\x66\xCE\x68\x09\xCE\x65\x66\x85\xDB\x6F\x9B\x83\x4D\x74\x06\x6D\x13\x94\xEB\x76\x84\xD0\x7E\x3C\x86\x1B\x81\x4E\x8A\xE6\x78\x12\x9E\x09\xE1\x84\x7F\x85\x31\x85\xA0\x85\x32\x8B\x10\x03\x03\x39\xB5\x06\x85\x64\x5A\x44\x85\xBC\x62\x51\x8B\x2E\x6C\x14\x97", + "\xC7\x0E\x85\xCE\x64\x48\x84\xD7\x5A\x52\x80\x22\x74\x14\x88\xC5\x16\x85\xDC\x60\x4C\x85\x60\x62\x53\x87\x0A\x7C\x14\x98\xC3\x1E\x85\xCA\x76\x81\x00\xA8\x80\x40\x63\x2A\x9C\x57\x65\x0A\x93\x02\xA7\x84\x87\x01\xAA\x82\x2C\x88\x2A\x83\xB9\x47\xC7\x2B\x85\xBC\x54\x58\x84\x27\x5A\x56\x83\xCF\x61\x08\x34\x0A\xAF\x57\xB7\x85\x34\x51\xAE\x87\xCE\x7A\x2A\x8E\x15\xBA\xC7\x3B\x85\x8D\x7F\x5E\x87\x9A\x87\x57\x8E\x94\x62\x16\xB1\xCB\x33\x59\xC0\x85\x42\x85\x44\x61\x59\x82\x2A\x8B\x16\x8E\x0B\xB9\x6E\x8D\x46\xAE\x5C\x0D\x1B\x69\x53\x2D\x88\x8A\x55\x0B\xDC\x61\xD7\x85\xC0\x61\xB6\x87\x14\x6B\x2D\x8A\x51\x5D\x0B\xCD\x5E\xDF\x84\x00\x65\xB8\x84\x5F\x53\x2E\x92\x53\x65\x0B\x9E\x55\xE7\x84\xE4\x55\xBA\x86\x2C\x8B\x87\x2F\x9B\x6B\x0B\x9C\x59\xEF\x85\xF7\x36\x9B\x59\x5E\x85\x12\x8A\x09\xB4\x0B\xD5\x7F\x10\x6D\x7B\x87\xB0\x30\x44\x6A\x2F\x9B\xBF\x7D\x0B\xD1\x85\xFC\x84\x5F\x84\x70\x77\x5F\x8B\x23\x8D\x17\x90\x06\x9D\x82\x04\x86\x78\x80\xF9\x24\x32\x86\x30\x9F\x11\x9E\x3B\x01\x86\x56\x63\x84\x86\xBC\x86\x5D\x81\x11\x72\x18\x8E\x09", + "\xBB\x44\x4B\x56\x8C\x86\x01\x5A\x63\x8C\x0D\x7C\x18\x81\xC6\x1E\x86\xA7\x60\x90\x84\x36\x62\x64\x85\xB2\x44\x19\x80\xC8\x26\x86\xFC\x54\x94\x86\x9C\x52\x65\x8E\xA9\x4C\x19\x88\xAF\x2E\x86\xBC\x54\x98\x87\x1C\x80\x00\x02\x33\x91\x65\x75\x0C\xAF\x57\x37\x87\x9C\x86\xC0\x85\x23\x87\x33\x98\x17\xAE\x01\xBD\x86\x13\x02\xA0\x84\x14\x48\x5A\x87\xE4\x31\x88\x42\x0D\x8B\x02\x47\x87\xFD\x81\x40\x01\x69\x8A\x30\x88\x1A\xBB\x0C\xD0\x7F\x4C\x87\x5A\x81\xD0\x85\x58\x8E\x34\x84\x1A\x8B\x0D\xC6\x86\x58\x86\xAB\x61\xD4\x84\x66\x89\x35\x87\x16\x93\x04\x62\x4B\x31\x5C\xB0\x84\x4A\x5A\x6C\x8E\x2C\x64\x1B\xAF\xCD\x66\x86\x20\x64\xB4\x84\x52\x62\x6D\x8A\xAC\x4C\x1B\x81\xC6\x6E\x86\xA7\x60\xB8\x84\x36\x62\x6E\x8D\xF4\x54\x1B\x80\xC8\x76\x86\xFC\x54\xBC\x84\x0F\x82\x6F\x8E\xA9\x5C\x1B\x88\xAF\x7E\x86\x02\x02\xC0\x85\x40\x02\x70\x8A\x06\x8A\x09\x84\x0E\xF5\x85\x74\x1B\xC3\x85\x1A\x52\x71\x8F\x35\x94\x1A\x81\x0E\x91\x62\x8C\x86\x87\x01\xE4\x87\x7A\x7D\x38\x83\x16\x86\xE7\x13\x87\x4A\x86\x80\x00\xE6\x85\x69\x8F\x38\x96\x1A\x9A\x0E\x8E", + "\x87\x83\x86\xC8\x86\xE8\x86\x2A\x6B\x39\x9F\x1C\xA4\x0E\xA0\x87\x7F\x78\x5E\x69\xCD\x7B\x75\x8F\x7C\x6C\x1D\xAD\xC2\x2E\x87\xB7\x6E\xD8\x86\x9A\x7A\x76\x89\x91\x6E\xFD\x47\xF5\x34\x87\x33\x66\xD5\x87\xE7\x7E\x6D\x75\xF3\x7A\xB4\x78\x0E\x9A\x75\xB6\x86\xE8\x7B\xEF\x82\x4F\x87\x4C\x5D\x1D\x92\xBE\x46\x87\x2D\x60\xE4\x86\x7E\x61\x78\x88\xF9\x77\x1D\xAD\x0E\xCF\x87\xED\x6F\xE1\x84\xEA\x80\x00\x00\x5E\x4D\x85\x55\x0F\xCC\x61\xD7\x86\x35\x7D\xF6\x81\x23\x7B\x3D\x91\xCD\x5D\x0F\x9A\x75\xDF\x86\x04\x5D\xF8\x81\x22\x63\x3E\x96\x8A\x65\x0F\xF1\x65\xE7\x87\x75\x65\xFA\x87\x3A\x6B\x3E\x8E\x96\x6D\x0F\xAA\x72\x13\x03\xF7\x84\x88\x62\x7E\x88\x14\x74\x1F\x8A\xAB\x76\x87\x55\x56\xFC\x86\x91\x86\x6D\x7A\x3F\x8B\x12\x90\xD8\x7D\x87\x4D\x5E\x00\x88\x80\x62\x80\x8D\x12\x9F\x2E\x4F\xDF\x04\x88\x72\x54\x04\x8A\x30\x87\x98\x4A\x40\x89\xFE\x71\x0F\xBB\x87\xC0\x73\x06\x88\x30\x86\x80\x84\x8A\x6F\x20\x95\x10\x8E\x02\x12\x88\x4E\x59\x06\x89\x96\x5B\x41\x8F\x5D\x5D\x10\xE9\x50\x1F\x88\x0B\x88\x07\x76\x21\x02\x74\x4C\x86\x65\x10\x9D\x63", + "\x27\x89\x8C\x71\x0A\x89\x36\x7B\x42\x9A\xD4\x6D\x10\x87\x65\x2F\x89\xBC\x59\x0C\x8E\x2A\x63\x43\x91\x97\x75\x10\xEB\x65\x37\x89\xEB\x61\x0E\x8E\x59\x6B\x43\x8F\x9B\x7D\x10\x8C\x86\x00\x03\x1F\x88\x52\x62\x88\x8C\x0D\x64\x22\x95\xAD\x46\x88\xAE\x56\x24\x8A\xFF\x82\x25\x8A\x44\x95\xD3\x47\xC7\x4D\x88\x00\x64\x28\x88\xBF\x52\x8A\x8C\x03\x94\x22\x9E\xAA\x56\x88\xC8\x56\x2C\x89\x3E\x83\x21\x0A\x45\x81\x02\x86\xE7\x5D\x88\x85\x87\x63\x48\x18\x88\x71\x83\x11\x03\x23\x98\xFF\x01\x02\x66\x88\xEF\x65\x1A\x8C\x84\x8F\x7C\x6B\x23\x9C\x11\xED\x88\x70\x89\x0B\x89\x28\x79\x08\x7F\xE0\x75\x23\x87\xF5\x76\x88\xEE\x6C\x3C\x8B\xC2\x7A\x8F\x8C\xDC\x7C\x23\x9C\xF9\x0F\x7C\xB3\x58\x3F\x8B\xD0\x7C\xBB\x74\x47\x8E\xF3\x64\xC1\x72\x7C\x92\x5E\x41\x8B\xE9\x7A\xE4\x7B\x7F\x6A\x24\xB5\xFC\x08\x89\x2D\x60\x48\x8A\x7E\x62\x92\x80\x9C\x74\x24\x94\xEB\x00\x89\x1E\x7F\xE1\x80\x77\x79\x0D\x5E\x48\x8F\xBE\x5D\x12\xED\x6F\x98\x88\x87\x00\x6D\x4E\xEE\x63\x4A\x89\xBC\x65\x12\xDC\x7C\xA7\x89\x41\x89\x2A\x8B\x91\x80\x10\x0B\x25\xB5\xFC\x2E\x89\x4D", + "\x60\x58\x89\xFB\x6A\x96\x87\x7B\x74\x25\xAA\xF9\x36\x89\x19\x72\x5C\x89\x6C\x72\x97\x8A\xA9\x7C\x25\xBC\x09\x81\x02\xBE\x89\x88\x61\x30\x8E\x2A\x63\x4C\x9E\x74\x45\x13\xB1\x5C\xC7\x89\xA4\x72\xDB\x71\x99\x86\xA6\x72\x7C\x4C\x13\xEF\x66\xCF\x88\x10\x65\x34\x8E\x61\x80\x4C\x87\xEA\x53\x13\xDC\x61\xD7\x88\x73\x78\x70\x71\x9B\x8B\x3F\x86\xCE\x5C\x13\xCB\x88\xC7\x49\x6F\x8A\x13\x8A\x3F\x62\x4E\x9E\xD3\x55\x13\xBD\x7F\xE7\x89\x85\x7D\x39\x8C\x5F\x5B\x4E\x92\x53\x6D\x13\x9E\x55\xEF\x88\xE4\x55\x3C\x8C\x5D\x80\x10\x10\x2D\x49\xDE\x76\x89\xA9\x6E\x7C\x8B\x20\x8A\x9F\x8C\x4A\x80\x00\x3C\x13\xB5\x7E\xFF\x89\xE7\x6D\x40\x8D\x15\x63\x50\x97\xBD\x45\x14\xEA\x7C\x07\x8B\x8C\x71\x42\x89\x36\x7B\x50\x9A\xD4\x4D\x14\x87\x65\x0F\x8B\xE9\x85\x44\x8E\x2A\x63\x51\x91\x97\x55\x14\xB1\x5C\x17\x8A\x94\x59\x46\x8D\x99\x8D\x02\x7B\x28\xB4\x09\xC7\x63\x1E\x8A\x10\x65\x48\x88\x29\x63\x52\x90\x12\x82\x04\x25\x8A\x81\x62\x94\x8B\x29\x62\xA5\x80\x4E\x93\x08\x2C\x14\xE3\x89\xC6\x73\x97\x88\x63\x85\x23\x82\x53\x89\x09\xB4\x35\x35\x8A\x3C\x80", + "\x9C\x8A\x93\x7E\x9F\x87\xD4\x7A\x29\x88\xAF\x3E\x8A\xBC\x54\xA0\x88\x27\x5A\xA8\x81\xCB\x44\x2A\x83\xFA\x01\x02\x44\x4E\xBB\x6D\x52\x89\xF1\x6B\x54\x9C\xF2\x4D\x15\x83\x89\x4F\x8B\x7E\x89\x54\x8D\xE6\x73\x55\x8D\x82\x55\x15\xED\x6F\x57\x8B\xDB\x6D\x56\x8A\xCD\x7B\x55\x99\xC8\x5D\x15\xB1\x73\x5F\x8A\x4D\x75\x58\x8F\x97\x80\x10\x03\x2B\x91\xC4\x66\x8A\x56\x62\xB4\x8A\xA7\x5A\xAD\x81\xE3\x4C\x2B\x8A\x13\xC0\x73\x6E\x8A\x8E\x8A\x7E\x61\xAE\x8F\x36\x74\x2B\xA0\xC8\x76\x8A\xD4\x89\xB2\x8B\x51\x78\xAF\x8C\x0D\x7C\x2B\x9A\x13\x9D\x82\x7E\x8B\x6E\x88\xB5\x71\xB0\x8D\x52\x8E\x08\x04\x16\xB0\x8A\x83\x8B\xA8\x7F\x44\x07\xB0\x86\x4E\x9A\x2B\x90\xF7\x0C\x8B\xFC\x54\xC8\x8A\x9C\x52\xB2\x8E\xA9\x54\x2C\x88\xAF\x16\x8B\xF4\x88\x00\x03\xCD\x4E\xA2\x7B\x59\x9C\xA5\x5D\x16\xCF\x6F\x9F\x8B\xF6\x6D\x68\x8F\xF6\x63\x5A\x8A\xF3\x65\x16\x9D\x65\xA7\x8B\xD8\x71\x6A\x8A\x53\x7B\x5A\x87\x94\x6D\x16\x91\x62\xAF\x8A\xAB\x61\x6C\x89\x5E\x63\x5B\x84\x14\x82\x04\x35\x8B\xD7\x62\xDC\x8A\xB3\x62\xB7\x8C\xF5\x5C\x2D\x8B\xAD\x3E\x8B\x38\x84\x95", + "\x80\x70\x8D\x3F\x84\xD7\x03\x2E\x81\xC6\x46\x8B\xA7\x60\xE4\x89\xCD\x6B\x21\x0A\x5C\x8D\x7A\x4D\x17\x80\x64\xCF\x8B\x94\x83\x31\x49\xBA\x84\x16\x8E\x08\x14\x17\x8B\x88\x13\x03\xEB\x8A\x03\x8E\xBA\x8A\x58\x9C\x2E\xA8\x13\x80\x02\xDA\x8A\x5E\x55\x78\x8C\x93\x53\x5E\x91\x65\x65\x17\xAF\x57\xE7\x8B\x34\x51\x7A\x8E\x7B\x6C\x51\x5F\xE3\x6D\x17\x96\x7A\xEF\x8B\x9A\x7D\x7C\x8F\xF9\x63\x5F\x8D\xBF\x75\x17\xB7\x6F\xF7\x8B\xCE\x61\x7E\x89\x23\x7B\x5F\x91\xCD\x7D\x17\x9A\x75\xFF\x8B\x43\x65\x80\x89\x22\x63\x60\x96\x8A\x45\x18\xDE\x86\x0E\x03\x03\x8F\xBA\x62\xC1\x87\x1D\x6C\x30\xAE\xB9\x0E\x8C\x5C\x5E\x08\x8F\xC1\x80\xFA\x72\x61\x81\x2E\xB4\x35\x15\x8C\xDC\x60\x0C\x8D\x60\x62\xC3\x85\x29\x73\x08\x1C\x18\xD8\x61\x1F\x8D\xA6\x5D\x88\x8B\xA6\x84\x61\x86\x24\x87\xC7\x23\x8C\xD2\x8A\x0F\x8E\x89\x8A\x3F\x68\x62\x9C\x01\xAD\x18\xBB\x8A\x2F\x8C\xE4\x55\x8C\x8C\x57\x53\x63\x9C\x64\x75\x18\xB1\x59\x37\x8D\xD7\x55\x8E\x8F\x8C\x80\x10\x1C\x39\x76\xDD\x3E\x8C\x89\x6E\x20\x8C\x97\x7A\xC8\x83\x48\x84\x32\xBD\x13\xC6\x8C\x35\x7E\x24\x8D", + "\x13\x62\xC9\x8D\x7E\x6C\x32\xB7\xDE\x4E\x8C\x6A\x7C\x28\x8D\x46\x72\xCA\x81\x9B\x74\x32\x9A\xEA\x56\x8C\x64\x8A\x00\x00\x96\x89\x22\x6B\x65\x96\x8A\x5D\x19\x9E\x5D\x5F\x8D\x18\x5D\x98\x8F\xAD\x8D\x11\x83\x33\xB2\x15\xC6\x73\x66\x8D\xB7\x65\x9A\x88\x44\x6B\x66\x99\x2B\x9A\x19\xC7\x7A\x6D\x8C\x6E\x61\x9C\x8F\xAF\x80\xFD\x73\x33\x82\x16\x90\x6C\x76\x8D\xC2\x8B\x42\x01\xCF\x88\x58\x98\x33\x9D\x17\xFB\x8C\x7F\x8D\x9C\x4C\x9C\x8B\xD0\x80\xDD\x7C\x33\x80\xC8\x06\x8D\xFC\x54\x44\x8C\x0F\x82\xD0\x7C\x68\x99\x24\x80\xFC\x1C\x59\x68\x7E\x93\x7C\xF2\x55\xD1\x83\xF9\x79\xFD\x71\xB2\x11\x8D\x96\x8D\xD7\x54\xA6\x8E\xCA\x7C\xAB\x5B\x34\x83\xF5\x1E\x8D\x71\x7F\x4E\x8C\xB3\x74\xD2\x8C\xF8\x74\x1C\xA8\xF8\x60\x82\xA7\x8D\x49\x8E\xA3\x89\xD4\x83\x33\x80\x35\xAE\x1A\xAB\x8D\x32\x62\x50\x8E\xA6\x6A\xD6\x84\x06\x74\x35\x87\xC7\x20\x8D\xB3\x58\x5C\x8E\x67\x7A\x4E\x5F\x6A\x95\x34\x9C\x1A\x90\x8D\xAB\x8C\x5D\x8E\x43\x00\xD9\x41\xCA\x64\x36\x93\xF6\x46\x8D\x8C\x89\x85\x00\xB2\x8D\xF6\x73\x11\x0B\x36\x9B\x12\xCD\x8D\xAB\x8C\x67\x8D\x10", + "\x72\xDA\x87\xD4\x74\x36\x90\xF7\x56\x8D\x0B\x7E\x6C\x8C\x73\x7A\xDB\x8C\xE5\x7C\x36\x83\x12\xDE\x8D\xFD\x89\x59\x58\xB8\x8D\xE6\x73\x6E\x8F\xBE\x65\x1B\xAD\x61\xE7\x8C\x66\x61\xBA\x8A\xCD\x72\x13\x6B\x37\x99\xE4\x1A\x6D\xEE\x8D\xD8\x71\xBC\x8A\x53\x73\x6F\x99\x32\xB5\x1B\x91\x62\xF7\x8C\xAB\x61\xBE\x88\x12\x7E\xB6\x7B\x37\xB0\xDC\x12\x5F\xFE\x8C\x32\x8C\xF4\x79\xE0\x87\x66\x94\xD6\x44\x1C\xF0\x87\xC3\x8D\x55\x8E\xB8\x89\xDA\x8C\x70\x9E\x35\x80\x04\x07\x8E\x20\x64\x88\x8C\x52\x62\xE2\x86\x52\x9F\xD8\x6E\xB9\x17\x79\x86\x73\x75\x64\xC6\x8E\x53\x5B\x71\x88\x5E\x5D\x1C\xBC\x55\x1F\x8E\x8B\x8F\xDB\x61\xE4\x81\xCB\x44\x39\xAF\xAE\x26\x8E\x69\x50\x94\x8D\xC6\x8F\x3A\x6A\x72\x9B\xBF\x6D\x1C\x8E\x74\xF1\x64\x93\x8E\xCC\x8B\xD7\x88\x5D\x99\xCD\x4F\x0D\xEE\x80\x2F\x8E\x43\x76\xC6\x8C\xE6\x88\x15\x82\xDD\x60\xC8\x39\x8E\x22\x8F\x09\x8E\x4A\x80\xE8\x82\x35\x96\x39\x96\x0E\x9D\x82\x44\x8F\xE5\x82\xD1\x88\xC1\x80\x73\x96\x2D\x81\x1D\xC8\x62\x49\x8F\xA8\x8C\xCF\x88\xE4\x83\x75\x9C\x64\x49\x1D\xB3\x59\xFA\x4B\x54\x8E\x40\x01", + "\xEB\x82\x69\x9B\x3A\x95\x1D\xB1\x59\x5C\x8F\x4C\x8D\x1A\x51\xEC\x8F\x6B\x80\x3B\x9F\x1D\xAF\x57\x64\x8F\x47\x8C\x40\x01\xED\x8C\x6A\x86\x3B\x9A\x1D\x9C\x59\x6C\x8E\x50\x8D\xDC\x8B\xD5\x83\x77\x8E\x38\x80\x00\x75\x8E\xA5\x8C\xAF\x8F\xDB\x8D\x56\x8B\x76\x87\x3B\xA3\x1D\xFE\x8E\x13\x02\xBC\x8F\x64\x7A\xF0\x87\xCD\x64\x3C\x8C\x1B\xC1\x85\x0B\x02\xC3\x8F\xB3\x8A\xA0\x74\xD7\x0A\x3C\x8F\xF8\x0E\x8F\x47\x7A\xC8\x8F\x77\x8F\xEE\x80\x78\x8E\x08\x12\x1E\x8B\x7E\x97\x8E\xE6\x7A\x4C\x61\xF3\x8C\xE5\x7A\xB4\x5C\x1E\x83\x89\x9B\x8F\xCA\x8C\x9F\x7E\xF2\x82\x7A\x8C\x8D\x5F\x1E\xE1\x8D\x81\x8F\xD2\x8D\x40\x07\xF4\x85\xF3\x6C\x3D\x8F\xDF\x2E\x8F\xED\x6E\xD8\x8F\xED\x6A\xF6\x8D\x27\x90\xF1\x6D\xC2\x7B\x71\x33\x66\xDC\x8E\xA6\x72\xF7\x87\x28\x7C\x3D\x91\xC4\x3E\x8F\x56\x62\xE0\x8E\xA7\x5A\xF8\x8B\x2E\x64\x3E\x97\xC7\x46\x8F\xCE\x64\xE4\x8F\xDB\x62\xF9\x80\x22\x6C\x3E\x88\xC5\x4E\x8F\x15\x8F\xC6\x6F\x20\x88\xFA\x81\x18\x74\x3E\xAE\xAE\x56\x8F\x2A\x54\xEC\x8D\x9F\x8A\x25\x8A\x7D\x84\x31\xAE\x01\xDD\x8F\xFC\x54\xF0\x8E\x9C\x52\xFC", + "\x8B\x53\x84\x3F\x88\xAF\x66\x8F\xBC\x54\xF4\x8E\x17\x8D\x23\x8A\x7E\x85\x1C\xB4\x35\x6D\x8F\xF5\x85\x63\x48\xFC\x8E\x67\x8F\x7E\x8B\x39\x93\xE8\x2C\x7C\xB5\x8E\xD1\x79\x3F\x8B\xFE\x86\x7B\x97\xBD\x7C\x1F\xFA\x8F\x35\x7F\xFF\x8D\x1F\x76\xBE\x4B\x74\x91\x71\x44\x20\xCD\x8E\x28\x5B\x03\x92\xCE\x8F\x3A\x6A\x80\x8F\x3A\x9C\xC3\x0D\x90\x8D\x76\xA4\x60\x04\x96\xE7\x82\x81\x96\x3F\x9C\xBD\x13\x90\x49\x8E\x0C\x92\xEA\x88\x20\x0A\x81\x9B\x3B\xAF\xAE\x1D\x90\x5D\x8E\x4E\x58\x08\x92\xEC\x83\x11\x03\x41\xA5\x1D\x9F\x90\x16\x90\x20\x88\x00\x06\x04\x9A\x76\x88\x41\x85\x20\x8C\x90\x29\x90\x03\x58\x0B\x95\xED\x8B\x82\x91\x41\x84\x09\x8E\x02\x33\x90\x5B\x8E\x7E\x61\x07\x9B\x6A\x9C\x41\xB6\x1D\xBE\x90\x79\x8E\x4D\x88\x10\x96\xD1\x75\x82\x96\x41\x81\xC6\x43\x90\xC9\x8D\xCC\x85\x0D\x97\x05\x95\x70\x90\xB0\x48\x21\x87\x8F\xA6\x8D\x85\x03\x13\x93\xF1\x83\x7A\x92\x42\x86\x21\x9D\x8C\x38\x91\x2B\x93\x72\x8D\xBE\x4A\x85\x8D\x7A\x53\x21\x8F\x7C\x5F\x91\xA3\x79\x18\x90\xBA\x73\x86\x8B\xF8\x65\x21\xCC\x7B\xB3\x58\x0C\x7E\x45\x7A\x0D\x9C", + "\x4B\x6C\x43\x8F\xDF\x6E\x90\xED\x6E\x38\x93\xED\x6A\x0E\x9A\xE6\x74\x43\x9D\xCA\x76\x90\xB1\x72\x3C\x92\xA6\x72\x0F\x97\x28\x7C\x43\x91\xC4\x7E\x90\x56\x62\x40\x91\xBC\x62\x10\x9E\x74\x8E\xF0\x47\xF5\x04\x91\xD7\x62\x44\x92\x9B\x5A\x11\x9C\xF5\x4C\x44\x82\x1D\xC7\x49\x8E\x90\x0B\x8E\xE7\x79\x0E\x9D\x7F\x95\x43\x95\x22\xA7\x73\x93\x91\x39\x93\x25\x91\x0F\x9B\x89\x9A\xD4\x72\xC4\x11\x91\xC4\x8B\x4C\x90\xBB\x8C\x0C\x60\x8A\x94\x33\xAE\x01\xA5\x91\x58\x90\xD3\x7C\xF3\x85\xF5\x7F\x86\x9D\x44\xBD\x21\xAE\x91\x7F\x90\x58\x91\x20\x92\x16\x93\x88\x94\x45\x85\x22\x80\x00\x72\x00\x5B\x90\x4A\x59\x17\x90\x80\x8D\x82\x7C\x22\xF8\x8F\x19\x73\x5F\x92\xD2\x7D\xE6\x72\x8C\x9A\xB8\x44\x23\xBA\x91\xCE\x65\x62\x92\xF4\x8E\xA2\x7A\x8C\x9B\xC1\x47\x23\xBD\x91\xED\x6F\x66\x92\x00\x92\x20\x02\x8D\x9D\x42\x80\xC8\x55\x91\x4C\x91\xB7\x64\x36\x90\x01\x99\x8C\x88\x46\x88\x1C\x8B\x02\xDB\x91\x05\x91\x37\x90\x1A\x97\x7B\x61\x47\x8E\x20\xD5\x56\xE6\x91\x08\x92\xB2\x51\x1D\x94\x81\x97\x41\xA0\x23\xDE\x91\x42\x8E\xBA\x18\x3B\x91\xE9\x83\x8F", + "\x9B\x40\xB8\x22\xF0\x91\x6E\x8D\x7A\x92\x07\x91\x0D\x5A\x8F\x81\x41\xB1\xB2\x7D\x91\x24\x90\xC4\x8C\x35\x90\x1F\x91\x8A\x8E\x08\x00\x24\xA7\x90\x3E\x87\x63\x4B\x41\x95\x05\x94\x7F\x93\x08\x0B\x24\xB4\x90\x3C\x8D\x7B\x90\x39\x91\xFF\x8F\x8E\x93\x48\x81\x23\x84\x92\x81\x63\x87\x90\xA8\x8A\x23\x9B\x6A\x9C\x48\xB6\x1D\x9E\x92\x41\x91\xA1\x7B\xE5\x79\xF1\x63\x92\x89\xBD\x65\x24\x83\x89\x27\x93\x7E\x89\x4A\x95\xE6\x7B\x92\x8F\xBE\x6D\x24\xAD\x61\x2F\x93\xDB\x6D\x4C\x92\xCD\x73\x93\x99\xC8\x75\x24\xB1\x73\x37\x92\x4D\x75\x4E\x97\x50\x6B\x93\x93\x1E\xBD\x24\xD6\x62\x3F\x93\x78\x65\x50\x91\xC6\x53\x94\x88\x69\x45\x25\xCD\x90\x2A\x83\xA3\x93\x47\x8A\x3F\x6A\x94\x80\x91\x4D\x25\xC8\x62\x4F\x93\xE8\x8E\xE4\x79\x24\x93\x95\x84\x42\xBB\xFD\x1D\x8F\x64\x61\xA8\x92\x29\x94\xAE\x1A\x95\x97\x33\x89\x25\xA2\x91\xEF\x8C\xC9\x5D\x57\x93\x0B\x98\xF8\x70\x42\xAC\xC6\x63\x92\x4D\x5E\xB4\x90\x80\x62\x2D\x9C\xAF\x4C\x4B\xB2\xA9\x6E\x92\x9E\x54\xB8\x91\xCF\x8A\xBB\x47\x95\x9F\xE3\x74\x25\xFE\x7E\x89\x6F\xBB\x91\xE0\x7B\xE1\x7A\x97\x85", + "\x4B\x94\x21\x82\x02\x7D\x93\xC5\x7E\x55\x93\x21\x01\x98\x95\x4A\x89\x21\x81\x02\x85\x92\xB9\x90\x60\x90\xEF\x73\x48\x89\x4C\xA0\x25\xB1\x73\x8E\x92\xD1\x7E\x9A\x79\x32\x9A\x8A\x8F\xBE\x54\x26\xAC\x91\xED\x6F\xCB\x90\xEF\x7C\x2F\x9C\x98\x88\x3D\x8E\x04\x1A\x93\x86\x90\xE8\x78\x68\x94\xC2\x76\x96\x88\x4C\x9D\x26\xBC\x69\xA3\x92\x54\x92\x8A\x51\x35\x98\x91\x9E\x4A\x87\x93\x2C\x93\x16\x93\xD8\x72\xA6\x68\x36\x90\x8C\x90\x4C\xA7\x26\x96\x93\xB7\x92\x39\x8B\x62\x95\x2E\x9D\x4F\x94\x4D\x83\x23\xB8\x93\xBC\x92\xE5\x84\x70\x76\x37\x96\x8C\x90\x20\x94\xEB\x44\x93\xCB\x90\xE1\x91\x47\x80\x39\x9E\x8C\x86\x4E\x90\xD8\x4C\x93\xD3\x90\x4D\x88\x74\x96\x1A\x95\x40\x86\x4D\x81\x27\xC0\x93\x78\x92\x2E\x7F\x74\x91\x1B\x90\x22\x7B\x4E\x9C\x23\xEF\x66\xDE\x92\x71\x90\x78\x91\x37\x93\x42\x8B\x08\x03\x98\x59\x93\x7F\x79\xF3\x93\x5E\x91\xF1\x6A\x9E\x9E\x4B\x8F\xF8\x6D\x93\x82\x93\xC3\x90\x40\x00\x3E\x96\x98\x85\x4D\xB3\x27\xE4\x93\x6A\x7C\xFA\x92\x62\x91\x20\x0A\x9F\x8F\x4C\x9A\xEA\x7D\x93\x92\x93\x8C\x70\x80\x95\x32\x9D\x7E\x63\x50", + "\x98\x26\xB7\x6F\x06\x95\xCD\x90\x73\x79\x41\x91\x9A\x8B\xF8\x4C\x28\xA4\x93\x7F\x92\x4D\x8B\x83\x92\x35\x9D\xF4\x53\x50\xAD\x26\xD8\x61\x16\x95\xD8\x91\x32\x69\x43\x95\x9B\x9B\x50\xB8\x27\xE1\x92\x2D\x60\x0E\x97\x6F\x95\xFD\x6A\x69\x62\x51\x85\x27\x85\x94\x1F\x95\xD8\x72\x89\x91\x39\x98\x85\x62\x30\x69\x28\xFF\x93\x2F\x95\x43\x67\x8A\x95\x39\x94\xA2\x84\x83\x73\x28\xD1\x93\x45\x8E\xF3\x91\x8C\x97\xE6\x87\x4C\x57\x51\x94\x27\xD5\x8B\x3A\x95\xEB\x92\x6E\x94\x3F\x9B\xA3\x9E\x1C\x80\x00\x3E\x94\xDC\x92\xA4\x60\x92\x97\x3B\x90\x22\x6B\x52\xA2\x27\xCD\x94\x45\x95\x78\x66\x93\x97\x1C\x97\x0A\x73\x52\xAA\x23\xAE\x82\x5B\x7E\x41\x7C\xDD\x7C\x97\x6B\xA5\x8F\xBE\x5D\x29\xED\x6F\x5F\x95\xDB\x6D\x98\x92\xCD\x73\xA6\x9D\x94\x65\x29\xB1\x73\x67\x94\x4D\x75\x9A\x97\x50\x6B\xA6\x91\x88\x6D\x29\xD6\x62\x6F\x95\x78\x65\x9C\x97\x16\x93\xA7\x97\x8E\x75\x29\xCE\x65\x77\x94\xAE\x5D\x9E\x93\x69\x5B\xA7\x81\x2E\x87\x93\x7D\x94\x05\x93\xAF\x7F\xAA\x88\x50\x91\x18\x64\x54\xA9\x22\xE3\x7E\x83\x95\x28\x97\xBA\x66\x50\x9A\x67\x88\x54\xB6", + "\x1D\x9A\x6D\x8C\x95\xED\x8F\x9F\x92\x51\x92\x70\x8E\x03\x91\x2A\x8D\x8B\x70\x7E\x61\x8E\xA0\x96\xEE\x87\xA9\x9C\x57\x5D\x2A\xF2\x54\x9F\x94\x4F\x55\xA8\x90\x79\x53\xAA\x99\x2C\xB8\x97\x59\x94\xCC\x75\x53\x97\xA6\x91\x94\x7A\xAA\x8E\x54\x94\x25\xAD\x95\x67\x7F\x55\x8C\xAC\x93\xED\x70\x6A\x93\x55\x99\x2A\xB2\x95\x58\x7F\x54\x95\xAE\x96\xEE\x86\xAB\x85\x55\x9C\xB2\x3D\x95\x94\x94\x67\x64\xB0\x92\x48\x97\x7B\x63\x56\xA8\x27\xFD\x89\xC6\x95\xF5\x90\x97\x79\x59\x9E\x9E\x81\x34\x81\x04\x4C\x95\xF1\x92\xFB\x90\x00\x00\x5A\x95\x9F\x91\x50\x80\x04\x54\x95\xFB\x93\x6B\x97\xAE\x94\x55\x9B\xAD\x83\x4C\x8A\x21\xD8\x95\xFE\x92\x3D\x84\x5D\x18\x5C\x91\xA0\x91\xCD\x64\x2B\x84\x94\xC5\x95\x6E\x96\x7C\x96\x49\x87\xAE\x87\x50\xAA\xF9\x6D\x95\x0A\x95\x65\x96\xBA\x92\x5A\x92\x13\x70\x57\x8D\x28\x9A\x8F\x92\x5E\x7B\x94\x84\x96\x92\x80\xFD\x7A\x57\x94\x28\xDE\x8F\xE3\x95\x79\x96\xB5\x94\x5D\x92\xB0\x81\x25\x8B\x04\x7E\x95\x17\x95\xA6\x5C\xC2\x92\x43\x97\x28\x6B\x58\x9D\x28\x8D\x96\x05\x97\xA3\x7A\xC3\x93\x44\x99\xAE\x88\x55\xB6\x1D", + "\xB3\x59\x54\x7E\x41\x7D\xC6\x94\x59\x7B\xB1\x96\x3B\x9D\x2C\xD4\x92\x1F\x96\x6F\x94\xEE\x78\x21\x97\x4D\x61\x59\xAB\x2B\xA6\x96\xD2\x94\x94\x97\xC0\x92\x65\x9F\xE0\x6C\x59\x87\xF5\x2E\x96\xD0\x7A\x98\x95\xF3\x82\xBC\x72\xB3\x8C\xEE\x75\x2C\xA9\x6F\x37\x97\x3F\x79\xCE\x95\x9F\x82\x13\x7B\x59\x8A\x27\x90\x6C\x3E\x97\xE7\x6D\xD0\x95\xFD\x63\xB4\x85\x4F\xB4\xFE\x2B\x96\x11\x97\x98\x95\xD2\x93\xE1\x7D\xB3\x8B\x5A\xB8\x2B\xC7\x63\x45\x97\x51\x91\x0B\x61\x6A\x90\xA2\x9A\x8F\x54\x2D\xB1\x73\x18\x96\xA7\x94\x97\x79\x6B\x96\xB1\x80\x59\x9A\x2D\x83\x89\x57\x96\x4D\x75\xD8\x97\x50\x63\xB6\x91\x88\x65\x2D\xC6\x94\x76\x01\x6B\x69\xDA\x95\x81\x7B\xB6\x9B\xFC\x47\xCA\x6D\x96\x47\x97\x07\x7C\xDC\x93\x64\x9C\x90\x93\x08\x33\x2D\xC9\x7E\x27\x95\xDB\x6F\xDD\x97\xC5\x7C\xB0\x99\x6B\x7B\x2D\xE7\x96\xF1\x65\xBF\x97\xD7\x95\x9F\x82\xB8\x9D\x5A\xA2\x2C\x80\x02\x85\x97\x55\x97\xE1\x90\x00\x09\xB8\x8E\x55\x8B\x2E\x8D\x97\xB1\x94\xBB\x8C\xE4\x94\x56\x9A\x70\x96\x5B\x99\xD9\x13\x97\xB7\x94\xC9\x96\xDA\x93\x73\x9A\xFA\x64\x83\x58\x2E\xBE", + "\x95\xEE\x8E\xCB\x96\x78\x7F\x73\x91\xAC\x8F\x9B\x64\x2E\xC4\x95\x14\x92\x81\x03\xE9\x97\x58\x95\xF3\x6B\x5D\x8A\x2B\x83\x89\xAE\x97\x66\x94\x74\x7A\x26\x61\xBB\x91\x56\x83\x2C\x9A\x6D\xB5\x97\x6A\x94\xBF\x92\x25\x89\xBB\x99\x56\xA4\x11\x8E\x02\xBD\x97\x70\x97\xF4\x81\x78\x95\xAE\x9A\xD4\x73\xB2\x44\x97\xE8\x94\x35\x7C\xF2\x96\x5D\x99\x91\x6B\x5E\xB1\x2B\xB0\x97\x97\x97\xE8\x94\xEC\x7E\x21\x03\x5C\x4E\x08\x20\x98\x0B\x02\x1E\x4C\xB7\x95\x5E\x5F\x7A\x92\x10\x19\x5E\xB1\x2D\xE9\x6D\xDC\x97\x80\x02\xF7\x94\x6E\x90\x91\x93\x08\x21\x2F\x80\x02\xE3\x96\xBC\x94\x8B\x95\xFD\x67\xBE\x80\x00\x29\x2F\xFC\x96\x0F\x97\x88\x61\xFB\x92\x0F\x06\xBE\x98\x30\x59\xD9\x6D\x97\xEF\x96\xC0\x95\x8C\x58\x7F\x97\xBF\x96\x5F\xA2\xF7\x7C\x97\xFF\x96\xFF\x96\xF6\x96\x2A\x60\xC0\x83\x60\xB1\xCB\x05\x98\xDF\x96\xE8\x78\x02\x9C\x7C\x9A\xA9\x82\x08\x0B\x30\xEA\x97\x34\x95\xDB\x6F\x03\x98\x7E\x94\xB1\x8A\xF3\x53\x30\xFA\x97\x28\x5B\x0B\x9B\xE0\x94\x97\x6A\xC1\x86\x5C\xAB\x2B\xB2\x62\x1D\x98\xC5\x97\x07\x9A\xF2\x51\xC2\x8E\x5C\xAB\x2B\xA5\x98", + "\x91\x96\xAA\x90\x0A\x9C\x72\x97\xB1\x95\x5F\x8E\x04\x79\x97\x1B\x99\xE7\x6F\x0A\x99\x73\x9A\xC2\x8E\x61\x8B\x04\x7B\x00\x36\x98\x81\x00\x1F\x01\x87\x91\x10\x0D\x5F\xBE\x30\xBC\x98\x00\x03\xF6\x95\x79\x4E\x7A\x98\x0D\x3D\x61\x80\x31\x83\x24\x44\x99\x24\x98\xF6\x97\xE5\x7E\xC0\x82\x60\x89\x30\xCC\x96\x24\x98\x27\x98\x03\x98\xD6\x84\x06\x73\x61\xA0\x2E\xBF\x97\x0B\x03\xF6\x97\x1F\x03\x22\x0E\x00\x4A\x62\x82\x04\x5B\x98\x0E\x03\x2E\x99\x16\x9B\x22\x00\xC6\x8B\x08\x22\x31\xCD\x98\x0E\x03\x32\x9A\x40\x07\x8C\x96\xC4\x89\x63\x9C\x31\xC7\x98\x6A\x99\x36\x9B\x42\x01\x8E\x91\xC4\x92\x62\x90\x30\xB8\x94\x4E\x85\xF6\x94\x0E\x9E\x8B\x91\x10\x1B\x63\xA3\x31\xAF\x98\x3B\x7E\x2B\x99\xE9\x90\x44\x62\xC8\x88\x5D\x99\xE4\x05\x99\xAC\x96\x19\x9A\x1D\x9C\x82\x99\xB7\x96\x60\x8B\x32\x98\x98\xCE\x64\x44\x9B\xEB\x96\x33\x9B\x10\x10\x00\x40\x32\x8D\x78\x96\x99\x25\x98\x26\x9F\x91\x91\xC3\x8D\xBF\x59\x32\xDD\x97\x59\x6D\x4F\x9A\xF8\x91\x94\x93\x11\x14\x5F\x8E\x04\x22\x99\xE8\x96\x52\x9B\x25\x9E\x80\x91\xE3\x48\x65\xAE\x2F\xAA\x99\x9A", + "\x98\x56\x9B\x75\x66\x95\x90\xC3\x9E\x60\x92\x2B\xB4\x99\xB0\x98\x50\x9A\x78\x78\x97\x9B\xCB\x9C\x64\xB6\x32\x83\x96\xB3\x58\x5E\x9A\x2C\x9E\x59\x62\xCC\x8F\x62\x8C\xF7\x45\x99\x53\x98\xB6\x74\x32\x9F\x8E\x9F\xA3\x87\x65\xBE\x32\xA2\x98\xF4\x94\x32\x63\x32\x9C\x91\x9B\xBE\x83\xFD\x47\xC7\x53\x99\x90\x99\xB7\x64\x36\x9D\x93\x97\x7B\x7B\x66\xBF\x32\x86\x96\x02\x02\x6F\x98\x34\x9B\x60\x92\xCE\x86\x61\xB7\x32\x93\x02\xAE\x98\x3F\x99\x38\x9B\x22\x0B\xC3\x8E\x66\xAE\x33\x95\x99\xE8\x99\x78\x9B\x3B\x9C\xBC\x42\xCF\x89\x7C\x33\x33\x81\x02\xAE\x98\x3A\x2A\x2B\x9D\x9C\x99\xC2\x8B\x5C\xB2\xC4\x7C\x99\x2C\x98\xAA\x92\xA6\x68\xA0\x94\xC3\x9E\x67\x92\x33\xCF\x99\xE6\x99\xDB\x96\xE4\x5E\x95\x94\xC7\x80\x00\x2C\x31\x80\x02\x0C\x9B\x37\x9B\x3D\x98\x20\x0D\xD0\x8F\x68\x80\x00\x11\x9A\x61\x99\x7A\x9B\x17\x9A\xA2\x90\xCF\x8E\x63\x93\x34\x80\x00\x0D\x9A\x82\x9B\x15\x99\x22\x99\xCE\x9A\x68\xBD\x31\xA6\x9A\xA9\x99\xE9\x95\x47\x99\x96\x96\xCC\x9C\xF2\x62\x34\x83\x99\x48\x63\x97\x9A\x21\x99\x36\x72\xD3\x89\x64\x9E\x32\x88\x9A\xFD\x99", + "\x75\x95\x4D\x9B\x92\x9B\x8A\x81\x08\x20\x9B\x0E\x02\x12\x40\x87\x01\xA8\x4D\x81\x73\xD4\x83\x66\x9C\xBD\x45\x9A\x2D\x9B\x41\x88\x52\x99\x99\x94\x95\x8B\x6A\x8C\x33\xC9\x94\xDC\x60\xA7\x98\x35\x99\x82\x9A\xE6\x72\x6A\x99\x33\xCB\x56\x56\x9A\x6E\x99\x55\x99\xCB\x69\xD5\x9F\x66\x87\xF5\x5D\x9A\xE3\x99\x07\x7C\x58\x99\xA1\x92\xD6\x9C\x6A\xBB\xFC\x63\x9A\x39\x9A\x69\x94\x5A\x99\xA0\x9B\xB8\x8B\x6B\x85\x34\xD7\x79\x6E\x9B\x2B\x99\x5C\x98\xA6\x9E\x8E\x82\x08\x33\x35\xB3\x9A\x9E\x90\xC9\x5F\x5D\x9E\xA6\x97\x7B\x7B\x6B\xBC\x34\xCF\x6F\x7E\x9A\xD9\x97\xCC\x93\x21\x01\xD8\x96\x5D\xA5\x35\xE2\x7B\x85\x9A\xDD\x97\x8A\x88\x38\x79\xD8\x9E\x5D\x8D\x24\xC2\x9A\x4C\x99\x80\x01\x63\x9A\x78\x97\x74\x90\xB0\x53\x36\xC5\x97\x59\x8D\xCB\x99\xF2\x90\x13\x90\xD9\x88\x6C\xA6\x35\x9E\x9B\xA0\x9A\xA3\x98\x88\x62\xB3\x9C\xBC\x98\x5A\x93\x04\x05\x4C\x0E\x02\xD4\x9B\x42\x02\xB5\x92\x10\x0C\x6D\x81\x04\x2E\x9B\x00\x02\xD8\x98\x00\x02\xB6\x94\xDB\x87\x6D\xB6\x36\xA9\x9B\xB7\x9B\xD5\x99\x6E\x9D\xB5\x93\x11\x06\x04\x17\xD3\x3E\x9B\x0D\x78\xE0", + "\x9A\x68\x98\x29\x62\xDC\x89\x6A\xBD\x13\xC5\x9B\x4C\x9B\xC5\x94\x72\x9F\xA9\x9C\xA4\x84\x6E\xBF\x36\xD9\x6C\xCB\x9B\xA9\x98\x1E\x99\xBA\x97\xD5\x8E\x6E\xA2\xF7\x54\x9B\x5A\x9B\x8C\x70\x76\x9E\xAB\x90\xDD\x7B\x6E\xA1\x35\xCE\x95\x00\x02\xEF\x98\x59\x9F\xA8\x72\xDE\x89\x6B\x83\x2C\xE5\x9B\x6C\x9B\x6B\x78\x7A\x9F\xAD\x97\xD5\x6B\x6F\xA3\x34\xBC\x85\x0B\x02\xF7\x98\x5D\x9B\x2B\x9D\xDB\x90\x6E\xB6\x37\xAA\x9A\x02\x02\xF9\x98\x5E\x9F\x50\x6A\xDF\x9C\x6B\xAA\xF9\x7D\x9B\x7F\x9B\x1A\x95\x0B\x60\xC0\x92\xD8\x8F\x5A\xBA\xC7\x04\x9C\x86\x9B\xC5\x99\x47\x80\xC1\x9A\xD8\x93\x5D\x92\xBE\x0C\x9C\x8E\x9A\xEF\x64\x84\x9C\xB2\x9C\x74\x99\x6F\xB7\x37\xC3\x9B\xDC\x61\x09\x9C\x66\x99\x22\x6A\xE1\x9B\x6C\xB1\xE6\x1D\x9C\xA5\x9A\x4D\x74\x88\x9F\x79\x94\xC9\x82\x08\x07\x98\x0E\x02\x88\x01\x6F\x4F\x44\x01\xC5\x90\xD4\x93\x08\x09\x02\x2E\x9C\xCE\x24\xE9\x99\x33\x9A\x50\x36\xDC\x9C\xA5\x6C\x51\x55\x9B\xDC\x61\x1B\x9D\x76\x99\x36\x7A\xE3\x9C\x6E\x8B\xFC\x3D\x9C\xDF\x9A\xE8\x78\x90\x9B\xBC\x9E\x6E\x63\x72\xA6\x37\x8F\x7C\x46\x9D\xF4\x9A", + "\xB4\x91\xC9\x9C\xDE\x83\x58\x8C\x39\xEF\x9B\xE7\x2A\x0C\x9D\x60\x67\xC9\x93\xDF\x87\x85\x54\x39\xFB\x9B\xD3\x87\x2B\x9E\x7F\x99\x23\x7A\xE5\x81\x70\xB7\xDE\x5D\x9C\x05\x9D\xD4\x6C\x98\x99\xC1\x95\xE4\x91\x6C\x80\x04\x63\x9C\x0D\x9C\x28\x9B\x71\x60\xCD\x91\xE1\x91\x72\xB5\x38\xCF\x6F\x6C\x9C\x0A\x9F\x2D\x91\xCE\x9B\xE1\x96\x8A\x74\x39\x9E\x9C\x9A\x75\x3B\x9D\x88\x9C\x78\x81\xE3\x98\x71\xB4\x37\xEE\x9C\xC9\x9B\x11\x99\x0B\x62\xCF\x94\xE2\x9F\x59\xAE\x01\x84\x9D\xF7\x95\xAD\x95\x9F\x9B\xC7\x96\xBC\x8B\x74\xBE\x38\xCC\x7B\x88\x9D\x7D\x97\x51\x79\xD2\x9F\xAF\x9C\x57\x54\x3A\x89\x96\x00\x65\x4B\x9D\xDF\x96\xCE\x9B\xF3\x6B\x00\x63\x9A\x0D\x78\x9F\x9C\x29\x9E\xEB\x51\xD4\x9F\xE6\x8D\xBF\x64\x3A\x81\x9D\xD2\x95\x53\x9C\x73\x9F\x49\x98\x14\x6A\x75\xB2\x38\xD0\x9A\x81\x62\x57\x9E\x9F\x9B\xD4\x99\x65\x72\x75\x8C\x3A\x87\x65\xB6\x9D\x47\x9C\x97\x79\xD7\x91\xE4\x8B\xF8\x7C\x3A\xC4\x9C\xBE\x9D\x5A\x9F\xCE\x7F\xD7\x97\xE4\x87\xEA\x44\x3B\xCA\x9C\x03\x97\x63\x9D\x93\x99\x08\x7A\xEC\x97\x62\x8D\x3B\xD5\x9C\x8D\x95\x80\x03\xB3", + "\x98\xCB\x95\xD9\x8E\x03\x93\x3B\xDB\x9C\xB1\x73\x6B\x9E\x97\x9A\xCD\x7A\xED\x81\x73\x83\x12\xB3\x59\xDD\x9C\x32\x9D\xB0\x9A\xBC\x71\xEE\x89\x73\x86\x38\xC0\x73\xE5\x9D\x36\x9D\x15\x92\x20\x09\xEE\x92\x73\x95\x2A\xC7\x49\xED\x9D\x3A\x9C\xBF\x8E\x38\x71\xEF\x98\x73\x99\x19\xF5\x9D\x7B\x9D\xE9\x84\xBE\x9D\xD0\x9F\x7C\x7B\x77\x89\x3A\x83\x89\xFE\x9C\x49\x9C\x74\x79\xE0\x95\xE9\x92\x53\x44\x3C\x98\x9D\xFC\x55\x83\x9F\xA6\x9D\xC2\x91\x10\x0E\x31\x4E\x04\x0E\x01\x13\x03\x47\x03\x44\x00\x12\x03\x11\x17\x35\x62\x3A\xAA\x54\x16\x9F\x52\x9C\x33\x61\xE3\x98\xEA\x83\x58\x9C\x3C\xAB\x9D\x54\x94\x6C\x63\xC7\x9F\xD5\x9D\xDC\x9C\x86\x63\x3C\xB3\x9D\x22\x9F\x6B\x6B\xC9\x9F\xD6\x91\x11\x6B\x79\xBA\x3A\x83\x89\x2E\x9F\x5E\x9C\x73\x79\xE6\x90\xEC\x93\x79\x99\xD9\x34\x9E\xC5\x9C\xE8\x78\xCE\x98\xD9\x90\xCE\x81\x08\x3B\x3C\xCB\x9D\x47\x7B\x9F\x9C\x94\x9B\x21\x02\xF4\x90\x76\xA5\xAC\x45\x9E\xD4\x9C\x4F\x5C\xD2\x98\xDB\x99\xD7\x8D\x81\x4B\x3D\xDB\x9D\x55\x96\xE3\x73\xD3\x9E\xDB\x9D\x4F\x93\x7A\xA2\x3B\xB6\x9E\xF8\x9A\x9F\x9F\xCD\x9B", + "\xEB\x9D\xB9\x8E\x7A\x8F\xFE\x00\x00\x56\x9E\x73\x9C\x56\x96\xEB\x9D\xF5\x9A\x8F\x61\x3D\xEA\x9D\xAC\x63\xB3\x9E\xBB\x9F\xFE\x82\x10\x0A\x7B\xB2\x3B\xEB\x65\x6E\x9E\x7B\x9D\xCB\x9C\xEB\x97\xF1\x8D\x7A\x71\x3D\xF9\x9D\x56\x63\xBB\x9C\xBF\x9B\x48\x90\x10\x14\xEA\x0D\xF0\x7E\x9E\x75\x9F\xB4\x54\xE0\x9A\xE3\x9A\xE6\x63\x7C\x9D\x3C\x8F\x7C\x86\x9E\x90\x9F\x95\x97\x14\x69\xF8\x84\x79\xAC\x3A\xDC\x61\x8D\x9E\x94\x9D\xC9\x51\xF2\x9C\xF2\x96\x8A\x54\x3E\xAF\x9E\xFD\x89\xCB\x9E\xCC\x9C\xCB\x7A\xF9\x95\x79\x9C\x3E\xD9\x6C\x9D\x9F\x9C\x9F\xC2\x79\xF4\x9C\xF3\x80\x6F\x80\x00\x24\x9F\x40\x9E\xE8\x78\xEA\x9B\xE8\x92\x10\x0B\x7D\x86\x3D\x82\x9F\xD7\x68\xD7\x9D\xD2\x9F\xDF\x8D\x02\x72\x7D\x8C\x3D\xE2\x95\x13\x02\xDB\x9C\xD4\x99\x36\x7A\xFB\x94\x7A\xB5\xFC\x3D\x9F\x57\x9E\x45\x9E\x43\x00\xF8\x92\xF6\x83\x24\x84\x3F\xE8\x9E\x01\x03\xE3\x9F\xDA\x9B\x29\x90\x9C\x6A\x7E\xAF\x3D\x95\x95\x74\x1A\xE7\x9E\xDC\x9D\xDA\x97\x4C\x52\x7E\xB8\x3D\xF3\x9D\xD4\x74\xEB\x9F\xDE\x9E\x68\x99\xFC\x9B\xF9\x5A\x3F\xFF\x9D\x99\x9E\xD0\x9E\xF8\x9A\xBC", + "\x7F\xFD\x82\x78\xA3\x3E\xBB\x7E\xB9\x4C\x87\x03\xAC\x4B\x21\x0B\xD2\x2E\x08\x19\x9A\x0B\x02\x61\x30\x33\x98\x47\x9B\x8D\x93\xFF\x81\x08\x16\x34\xA5\x33\x81\x9F\x07\x50\xFE\x9C\xF0\x9D\x29\x7B\x7F\x87\x3E\xC7\x7A\xFE\x9E\xC5\x9D\x3B\x91\x30\x61\x00\xAE\x7C\xA1\x3C\xCD\x5E\x05\xA0\xC9\x9C\x80\x61\x01\xA5\xF9\x9E\x74\x4C\x40\x98\x9F\x35\x7F\x07\xA3\xE6\x9B\x90\x82\x01\xBE\x7C\x94\x40\xD9\x6C\x15\xA0\xD1\x9C\x73\x79\x03\xA5\xFA\x90\xEE\x5C\x40\xA9\x9F\x83\x9A\x81\x03\x07\xA4\xF5\x91\x10\x03\x81\xAF\x3E\xFC\x55\x26\xA1\xD9\x9C\x4A\x59\x05\xA7\xFB\x99\x6B\x6C\x40\xBB\x9F\x4D\x9E\xB7\x77\x0B\xA6\xF7\x9E\x9C\x8E\x03\xB3\x40\xC1\x9F\x17\xA0\xF1\x7B\x0D\xA5\xF8\x95\xE2\x85\x81\x98\x40\xBF\xA0\x65\x9E\xE0\x73\x0E\xA0\xF9\x99\xA3\x82\x81\xA6\x39\x80\x00\x43\xA1\xE5\x9D\x3C\x93\x0B\x3B\xF3\x69\x82\x8F\x3F\xEC\x9E\x3E\xA0\x1D\xA0\x10\xA1\xFF\x92\xA7\x4E\x82\x93\x3F\xF1\x65\x56\xA1\xEB\x9F\xBA\x61\x0B\xAB\xFD\x89\x5D\x81\x04\x3B\x4D\x0D\x78\x30\xA0\x15\xA6\x21\x02\x06\xBC\x7F\xB1\xE6\x65\xA0\xFF\x9E\xE8\x78\x1A\xA2\x00\xA9", + "\x74\x8B\x83\x86\x40\x8B\x9F\xD8\x60\x37\xA2\x02\xA7\x01\x52\x07\xAD\x80\xAB\xCB\x75\xA0\x10\xA1\xE7\x6C\x1E\xA3\x02\xAD\x4F\x9B\x83\x96\x40\xFD\xA0\x59\x6C\x3F\xA2\x06\xA4\xCB\x72\x08\xBD\x80\xA1\x40\xDF\xA0\x81\xA1\x44\xA1\x18\xA7\x9A\x65\x08\xA0\x81\xA7\x3B\x9D\x82\x8D\xA0\x12\xA1\x11\xA0\x11\xA2\xDE\x71\x84\xA7\x40\xF2\x54\x96\xA0\x15\xA0\x14\xA0\x20\x09\x09\xAD\x81\x96\xC5\x1D\xA1\x30\xA1\x43\x64\x28\xA4\x06\xA2\xE0\x8E\xDB\x63\x42\xB8\xA0\x3C\x96\xC9\x5F\x29\xA4\x07\xA6\xE8\x87\x26\x6B\x42\xC4\xA0\x4A\x8F\x85\x03\x2B\xA2\x09\xAE\x66\x93\x85\x8F\x41\xDF\x91\x02\x02\x5B\xA3\x15\xA7\x0E\xAA\x08\xA3\x83\x88\xAF\x3A\xA1\x5A\xA1\xEB\x60\x30\xA5\x0B\xA9\x91\x63\x86\xA0\x3F\xBD\x9A\x00\x02\x61\x4E\x2F\xA2\x20\x0A\x0C\xA6\x83\x89\xD3\x4D\xA1\x69\xA1\x85\x7C\x34\xA4\x0D\xA6\x8F\x93\x86\xAF\x41\x83\xA0\xA7\x60\x6B\xA3\x1C\xA2\x4E\x5A\x0D\xB6\x83\xA8\xB4\x5D\xA1\x79\xA1\xF6\x6C\x38\xA4\x0F\xA5\xF3\x63\x87\xBF\x41\xE5\xA1\x59\x6C\x73\xA3\x20\xA3\x90\x8A\x0E\xA6\x84\x8C\xF7\x6D\xA1\x8E\xA0\xE1\x9F\x42\x00\x1E\xA2\x09", + "\xA0\x00\x34\x43\x97\xA1\x9E\x55\x7B\xA2\x26\xA4\xEB\x5A\x0F\xBE\x84\x9E\xBA\x7D\xA1\xA1\xA0\x1E\x97\x44\x00\x20\xA4\x0A\xB6\x66\xBA\xC7\x04\xA2\xA8\xA0\x74\xA2\x78\x78\x21\xAC\x0A\xAD\x51\x8E\x04\x0C\xA2\xB0\xA0\x88\xA0\x2D\xA4\x1B\x62\x11\xB7\x85\x8F\x22\x83\xA2\x5F\x9F\x8A\xA3\x2E\xA7\xDD\x98\x11\xA1\x82\x94\xEB\x1A\xA2\xC1\xA1\x4D\xA2\x3D\xA3\xE7\x70\x12\xA4\x86\xB1\xE6\x25\xA2\xC7\xA1\xE7\x6C\x4A\xA6\xFC\x9F\x0E\xA9\x87\xAE\x44\xD9\x9E\x00\x03\x80\x2E\x33\xA0\xC1\x52\x13\xB1\x86\x89\xDE\x35\xA2\xD4\xA1\x7D\x93\x44\x00\x27\xA7\x0D\xA9\x3A\xBC\x44\xDB\xA1\x9E\x55\x9F\xA2\x37\xA6\x59\x62\x14\xA1\x87\x8C\xC3\x45\xA2\xE4\xA1\xE7\x6C\x52\xA7\x1C\xAA\x14\xB9\xB2\x4B\x45\xEB\xA1\xFD\x89\xA7\xA2\x3B\xA4\xCB\x72\x15\xB1\x87\x83\x12\xD5\xA2\xF5\xA1\x59\x58\x56\xA0\x1F\xA8\xBC\x5B\x8A\xBB\x43\xA0\x64\x5E\xA2\x7F\xA1\x8C\x59\x2C\xA1\x10\xA4\x6B\x64\x45\x85\xA2\x52\x96\xB7\x77\x59\xA1\x21\xA5\x03\xB4\x6B\x2B\x45\x8D\xA2\xED\x6F\xB7\xA0\x2C\xA2\x2E\xA3\x11\xB8\x52\x80\x5C\x4E\xA2\x78\xA2\x8F\xA0\xF4\x7C\x2E\xA6\x11\xB2", + "\x44\x8E\x04\x7C\xA2\x1B\xA2\xA4\x93\x31\x48\x30\xA1\x12\xAC\x7E\x94\xEB\x04\xA3\x26\xA3\x46\x9F\x5F\xA3\xE7\x78\x18\xA9\x89\xB1\x45\xF9\xA2\xCB\xA0\x4E\x59\x63\xA4\x25\xA4\x15\xB0\x8C\xB3\x44\xD3\x87\x48\x4E\x81\x02\xBD\x2B\x95\x97\x19\xA4\x6B\x75\x32\xC9\xA2\xAD\x61\xCF\xA0\x53\xA5\xFD\x62\x1A\xB0\x8A\xB5\xFC\x25\xA3\x53\xA3\x41\x8A\x29\x9C\xA5\x96\x13\xBC\xF2\x68\x46\xD6\xA2\x16\x7B\xD7\xA1\x3D\xA2\x36\xAC\x15\xBC\x55\x74\x46\xDF\xA2\x48\x63\xDB\xA2\x58\xA7\x3A\x6A\x1B\xA5\x8B\xB1\xCB\x3D\xA3\x68\xA3\x8C\x70\x70\xA4\x2D\xAC\xF7\x8F\x65\xA2\xF7\x43\xA3\x70\xA3\xDB\x6C\x72\xA6\x77\x9B\x1C\xB5\x8B\xAE\xAE\x4D\xA3\x7D\xA3\xBA\x9B\x28\x9A\x2F\xAE\x06\x90\x8E\x81\x46\xEF\x66\xD6\xA3\xC2\xA0\x88\x61\x3B\xA9\x18\xB9\x32\x9C\x47\x8E\xA3\xCA\xA3\x2C\x6E\x3A\x99\x20\x0D\xCE\x8B\x08\x03\x31\xF6\x99\xE8\xA2\x5D\x99\x64\xA1\x8C\x88\xD3\x89\x8D\xA9\x42\xC7\x63\xDF\xA2\xCA\xA0\xE8\x8C\x0C\x61\x1F\xA5\x78\xA8\x1A\xF3\x98\xF5\x9E\x8A\x99\x7E\xA0\xA4\x9B\x1F\xB5\x68\xA4\x31\xFD\xA3\xFF\xA2\xCE\xA1\x6B\xA7\xDB\x93\x11\x03\x8F", + "\x80\x04\x06\xA4\xC6\xA3\xF5\xA3\x51\x89\xA5\x9A\x20\xA9\x43\x75\x47\x88\x9E\x72\x55\x07\xA7\xC2\x9B\x5D\x62\x21\xB1\x5F\x96\xC5\x15\xA4\x15\x98\xE1\xA3\xCE\x7B\xD2\x4D\xC0\x7C\x90\x8A\x48\x9E\xA4\x9D\xA3\x78\x64\x88\xA3\x40\xAD\x4F\x83\x91\xB9\x44\xFE\x91\xAF\x56\x13\xA5\x4F\xA6\x1E\x9A\x22\xA0\x8A\x8B\x04\x2D\xA4\x43\xA3\xB7\x64\x8C\xA6\x28\xAA\xE6\x73\x91\xA0\x46\xB7\x6F\x36\xA5\xD1\xA0\x8E\xA1\xCB\x69\x23\xA6\x8D\x8F\xDF\x3D\xA4\xEE\xA2\x64\xA0\x00\x00\x48\xA0\x1B\xB5\xF9\x44\x49\xF5\xA1\x47\xA5\xDA\xA1\x40\x01\x49\xA8\x1B\xAA\x56\x4C\x49\xBB\xA3\x82\xA3\x89\x03\x93\xA6\x37\xA4\xFB\x9A\x8F\x53\x49\xC1\xA3\xB1\x73\x2B\xA4\x71\xA3\x47\xA0\x13\xA3\x92\xBC\x48\xDF\xA4\xD4\xA3\x63\x4A\x96\xA1\x39\xA9\x16\xA6\xCE\x63\x49\xB0\xA1\x32\x63\x33\xA6\x73\xA3\x89\x84\xD7\x0A\x93\x91\x47\xF6\xA2\x02\x02\x37\xA7\x75\xA2\x05\x92\x27\xBA\x8E\x88\xC5\x75\xA4\xDD\xA3\x88\x60\x9E\xA0\x3C\xA5\x23\xA0\x93\x8D\x48\xD2\xA4\x3B\x7F\x4E\x4E\x82\xA2\x50\xA1\x22\xB1\x71\x44\x4A\xA4\xA4\x35\x7F\x43\xA7\x89\xA1\x20\x9B\x10\x0A\x94\xAB", + "\x48\xBA\xA2\x0E\x02\x47\xA6\x8B\xA4\x57\x52\x29\xB1\x91\x8B\xAD\x15\xA5\x34\xA5\x8C\x70\xA6\xA7\x46\xAA\xE6\x7B\x94\xBA\x48\x9D\xA5\x59\x6C\x4F\xA6\x8F\xA5\xFD\x62\x2A\xA1\x92\x8F\xDF\x25\xA5\x45\xA4\x87\xA1\xA3\xA1\x54\xAC\x2A\xAD\xE0\x68\x4A\xD7\x98\xAF\xA4\x25\xA4\x7B\xA1\x52\xAF\xF5\x91\x95\x8D\x49\x81\x63\xB6\xA4\x28\xA7\xDB\x61\x57\xA4\x25\xA7\xDA\x74\x4A\xE2\x7B\xBC\xA4\x2C\xA6\xA6\x71\x58\xAB\x25\xA5\x93\x9D\x04\xC4\xA5\x64\xA5\xA8\x9C\xB5\x70\x59\xA8\x26\xA4\x83\x4C\x4B\xEB\xA4\xDB\x8E\xBA\x1B\xB3\xA7\x4D\xA7\xA8\x81\x08\x13\x4B\xF3\xA4\x6E\x8D\x6B\xA6\x9D\xA4\x1B\x6A\x2D\xB9\x93\x96\xC5\x5D\xA5\x7C\xA4\x4D\xA5\xAB\xA7\x4F\xAF\x2B\xA4\x97\xBD\xE1\x6B\x2D\x8B\xA5\x13\x90\xBA\xA7\x51\xA8\x22\xAB\x97\x93\x4A\x9C\x59\xEE\xA4\x4B\xA4\x52\x61\x5E\xA9\x29\xB1\xCD\x74\x4B\x9C\xA5\x19\x73\x7B\xA7\xA7\xA5\x53\x6A\x2F\xA3\x95\xB7\xDE\x7D\xA5\xA6\xA5\xF6\x6C\xC0\xA1\x55\xA2\x30\xB9\xB2\x43\x4C\xF5\xA1\x07\xA6\x59\xA7\xEB\x51\x61\xA7\x2B\xB5\x96\xAA\x5B\x06\xA6\x10\xA7\x06\x78\xC3\xA2\x57\xAB\xB4\x53\x98\xBD\x4A", + "\xD1\xA4\x0E\x02\x8B\xA6\xB0\xA0\xF7\x99\x31\xB1\x98\xA6\x4B\xD6\x2D\x3B\x7E\x8D\xA5\xB1\xA1\x5F\xAE\x31\xA5\x94\x9C\x44\x9D\xA6\xD4\xA2\xBA\x1A\xC8\xA1\x59\xA2\x9B\x84\x83\x6B\x4C\xCD\xA5\xC7\x63\x97\xA4\xB4\xA0\x53\x92\x33\xB4\x96\xA4\x25\x8F\xA6\xE2\x7B\x9A\xA4\xB6\xA4\x1B\x6A\x33\xBB\x96\x81\xC6\x3D\xA6\xDE\xA5\x78\x64\xD0\xA1\x5C\xA6\x2F\xBB\xF9\x71\x43\x24\x4E\x0E\x03\x8F\x4E\x43\x06\x67\x48\x28\xAD\x82\x4C\x4D\xE9\xA5\x2D\x91\xA7\xA4\xBB\xA4\x51\xA2\x10\x12\x9A\xAF\x4B\xB1\x59\x56\xA6\x79\xA4\x37\x61\x6B\xA5\x2F\xBA\xD4\x5C\x4D\xF8\xA5\x33\x67\xAF\xA7\xBE\xA1\x36\x72\x36\xBE\x97\xAA\xF9\x65\xA6\x01\xA7\xDB\x6C\xDA\xA4\x60\xAA\x36\xB9\xB2\x6B\x4D\xF5\xA1\x6F\xA6\x85\xA5\x44\x91\x6E\xAD\x30\xB8\x86\x74\x4D\x94\xA6\x48\x63\xBB\xA7\xC5\xA4\xEB\x5A\x37\xBB\x98\xB9\xB5\x7D\xA6\x23\xA7\x96\xA5\x0B\x60\x70\xAC\x32\xB1\x81\x86\xE7\x04\xA7\xB0\xA0\xC4\xA7\xCC\xA4\x5F\x5A\x38\xB6\x99\xA1\x0A\xB4\x46\x6E\xA7\xC8\xA5\x98\xA3\x22\x0D\x38\xBB\x99\xBF\x39\x8B\x02\x95\xA6\x9F\xA6\x6B\x94\x72\xAF\xF5\x99\x9C\x81\x4D\xB7", + "\x91\x9E\xA6\xA2\xA6\x62\xA0\x73\xA2\x39\xBF\x98\x90\x4E\xE2\x7B\xA1\xA6\xF9\xA1\x3F\x89\x75\xA6\x1F\xA8\x5E\x6C\x4E\x90\xA4\x3B\x8A\x91\x4E\x43\x04\xCC\x4E\x10\x06\x33\x73\x4E\x93\x02\x80\x4D\xDA\xA4\xEE\xA3\x22\x03\x68\x5A\x9D\x8E\x04\x3D\xA7\x0B\x02\x3F\x4E\xEF\xA1\x78\xA3\x11\x0B\x05\x13\x04\x2C\x01\x13\x03\x53\x4E\x43\x01\xD5\x4E\x10\x14\xE3\x0E\x04\x25\x4D\x0E\x03\x1C\x4E\x43\x02\x16\x07\x4D\x74\x9E\x8D\xF0\x56\xA7\xA6\xA6\x80\x00\xF6\xA6\x64\xAE\x2C\x7B\x9E\x8D\x4D\xED\x6F\xDE\xA6\xA8\xA5\xF9\x93\x7A\xA5\x3D\xB9\xB2\x61\x4F\xD3\xA6\x24\x96\xF2\xA6\x78\x7F\x7C\xA7\x35\xAF\x5D\x6C\x4F\xDA\xA6\x81\x63\xF7\xA5\xD7\xA7\x50\x62\x3F\xA0\x9B\xA3\x4E\x82\x02\xF5\xA7\xB1\xA6\xA6\x71\x7F\xA6\x36\xB9\xC8\x7C\x4F\xE9\xA6\x9D\x63\xFF\xA4\xDB\xA1\x80\xA7\x04\xA2\xA0\xB5\x43\x9A\x6D\x06\xA8\xB9\xA7\x44\x01\x81\xA5\x37\xAD\x7A\x4C\x50\xF8\xA6\x52\x93\x07\xAB\xDE\xA0\x44\x62\x41\xBE\x9B\x96\xC5\x15\xA8\x81\xA6\xC3\xA5\x47\x80\x83\xA5\x38\xBC\x98\x8B\x04\x1C\xA8\x30\xA6\xB7\x74\x08\xAB\x71\xA0\xA4\x98\x9F\xBB\xFC\x23\xA8", + "\x8E\xA6\x4C\x94\x0A\xAE\x72\xA7\x0A\x6B\xA1\x9A\x4E\xD8\x61\x2E\xA9\xCF\xA7\x75\x61\x86\xA2\x3A\xB4\x9F\xA6\x4F\xBB\x7E\x37\x4D\x08\x2B\x42\x01\x87\xAC\x58\x7F\xBE\x02\x04\x3C\xA8\x44\x6B\x68\x37\x0E\xAD\xB0\x60\x00\x0C\xAA\x43\x51\x81\x6B\x92\x3C\xA3\x6B\x44\x00\x88\xAA\x54\x73\xAB\x40\xE7\x4C\xA8\x52\x6A\x27\xA8\xB5\x70\x8A\xA7\x55\x6B\xA2\x84\x51\xDB\x6A\x01\x02\x2A\xA8\x02\x2A\x8B\xAE\x10\x13\x28\x5C\x51\xE3\x6A\x47\xA9\xC4\x69\xA6\x46\x8A\xA8\x44\xA1\x08\x18\xD4\x00\x02\x5F\xA8\xB6\x6B\x61\x6D\xC4\x44\x44\xA5\x5B\x29\x51\xFE\x6A\x2A\x83\x37\xAA\x49\x6E\x38\x72\x47\xA9\xA9\x6B\x51\xE1\xA8\x3D\xA9\x39\xA9\x47\x85\x8E\xA0\x53\x64\xA3\xA2\x51\x81\x02\x7B\x6B\x2C\xA8\x11\xAC\xB2\x15\x47\xB8\x71\x09\x98\x3B\x6A\x0B\x03\x43\xAB\x1F\xA8\xE8\x22\x10\x0A\xA4\xB9\x51\xAA\x47\x00\x02\x47\xA9\x10\xA9\x20\x06\x44\xAD\xA4\x84\x51\x95\xA9\x01\x02\x49\xA9\x13\xAA\xB0\x6D\x11\x9A\xA4\x91\x51\x9C\xA9\x10\x6C\x4F\xA9\x15\xAE\x21\x02\x4A\xBA\xAA\x53\x04\x25\xA9\xF8\x1E\x54\xA8\x18\xAE\x92\xA5\x46\xA0\x08\x13\x94\x2A\xA9\x63", + "\xA8\x52\xA8\x11\xAF\x8C\xA0\x00\x10\xA5\x80\x52\xF7\xA8\xAC\xA9\x45\xA9\xDD\x31\x93\xA4\x44\xA3\xA9\x67\x52\xBD\xA9\x92\x5E\x5B\xAA\x61\x6E\x21\x04\x4B\x42\xA6\x98\x31\x64\x60\xC6\xA9\x3E\xAA\x2C\xAD\x95\xA6\x47\xA4\xA6\xBF\x52\xCC\xA9\x94\x1A\x63\xA8\x8E\x1E\x76\xAB\x10\x0B\x30\x4E\x04\x36\x01\x13\x02\x6C\xAB\x35\xA9\x9B\xAC\x4D\xBB\xA6\x9E\x53\x8B\x02\xDA\xA8\x70\xA9\x37\xAA\x9C\xAF\x4D\xA2\x08\x21\x53\xE6\xA9\xE3\xA8\x74\xAA\x43\x07\x16\x03\x11\x14\xA6\x82\x04\x6C\xA9\x0E\x02\x14\x4F\xF0\xA2\x20\x02\x4F\xAB\x08\x39\x02\x13\x02\x33\x4D\x85\x01\x3E\xAA\x20\x0A\x6D\x53\xA7\x81\x04\x7D\xA9\x0B\x02\x6C\x4E\x3F\xA8\x20\x02\x50\xAB\x08\x14\x74\x0E\x02\x07\xAA\x83\xAB\x44\x01\xA1\xA2\x10\x0C\xA8\x81\x04\x0E\xAA\x00\x02\x88\xA8\x00\x02\xA2\xA4\x51\xAB\xA8\x96\x54\x88\xAA\x17\xAA\x85\xA8\x46\xAE\x21\x0E\x0B\x13\x08\x37\x53\x9C\xAA\xF8\xA9\x89\x01\x47\xAE\x21\x0B\x4F\xBD\x08\xB4\x35\x47\x49\x27\xAA\xC9\x5F\x2F\x03\x22\x00\x0C\x13\x08\x01\x03\x2E\xAA\x30\xAA\x87\x03\x4B\xAA\xA6\xA1\x53\xAB\x08\x33\x54\xB6\xAA\x35\xAA", + "\x81\x03\x4D\xAA\xA7\xA9\x53\xA1\x08\x3B\x54\xBE\xAA\x3D\xAA\x80\x03\x4F\xA8\x20\x02\x0C\x17\xA6\x45\x55\x8D\x78\x47\xAB\xEC\xA4\x00\x01\xA9\xAC\x3D\xAF\x9B\x4C\x55\xDF\xA7\xB7\x6F\xA7\xAA\xF8\xA0\xD4\x82\x55\xA8\x9F\xAD\x20\xD5\xAA\xED\xA7\x34\x50\x56\xA8\x7E\xA7\x0A\x7B\xAA\xB3\x4F\x91\x62\x5E\xAA\xFB\xA7\xA1\x61\xAC\xAA\x3F\xA3\xAB\x99\xD9\x64\xAA\xFD\xA6\xD3\x9A\x43\x00\xAD\xA0\x40\xB9\xC8\x6C\x55\x83\xA8\x6E\xAA\xA3\xAA\x5C\xAB\x72\xAB\x56\xBF\x7A\xAF\x55\xF5\xA1\x77\xAA\x05\xA9\x5D\xAD\x4B\xA9\x57\xAD\xA0\x80\xC8\x7D\xAA\x10\xA9\xC0\x60\x60\xAB\x82\xAE\xA7\x93\x08\x03\x56\x96\xA8\xD8\x9E\x08\x6F\x61\xA9\x83\xAC\xE7\x9B\xAB\x8A\x55\x9A\x6D\x8B\xAB\x0E\xAB\xF4\x81\xB2\xA0\x0B\xB3\x65\x54\x56\xA4\xA8\x9E\x55\xCB\xA9\x0A\xAC\x5F\x5A\x59\xAC\xA1\x98\xC3\x1D\xAB\x2F\xA9\xA6\x5C\x68\xAA\x86\xAE\x2C\x63\xAD\xB5\x50\xD3\x87\xAB\x4C\x87\x01\x6A\xAB\x21\x0B\x5A\xA2\x08\x2D\x56\x81\x02\xAF\xAA\x80\x01\x6C\xA8\x00\x03\x5B\xB5\xAD\x93\x04\x36\xAB\xAA\xAB\xDB\xAA\x6E\xA9\xB7\xAC\x5B\xAB\x08\x2D\x9A\x0E\x02\xBF\xAA\xDF", + "\xAB\x44\x01\xB8\xA2\x10\x04\xAE\x81\x04\x46\xAB\x00\x02\xE4\xA8\x00\x02\xB9\xAC\x5C\xA3\xAE\x8E\x57\xC0\xAB\xCF\xAA\xE1\xA8\x74\xAE\x21\x05\x0C\x13\x08\x15\x57\xD4\xAB\xD6\xAB\xEC\xA8\x76\xAB\xBB\xAB\x10\x17\xAE\x9D\x57\xDA\xAB\xDF\xAA\xEE\xAA\x40\x06\xBB\xA3\x5E\xA0\xAF\xA5\x57\x8E\x02\xC6\x01\x89\x01\x7A\xA8\xBD\xAA\x5E\xAD\xAF\xAC\x57\xEF\xAB\x0B\x03\xF5\xA9\x7C\xAE\xBD\xA3\x5F\xB0\xAF\x82\x04\x72\xAB\xF7\xAA\xFA\xA9\x7E\xAE\x21\x07\x0C\x17\xA6\x7D\x57\x8D\x78\xFF\xAA\xA5\xA9\x80\xAD\xA9\xA0\x22\x63\xB0\x90\x55\xEA\x7C\x06\xAD\xA9\xAB\xAA\x89\xC1\xA6\x55\xB4\x41\x8C\x58\xD9\xAA\x13\x03\x07\xAC\x57\xA8\x1B\x62\x61\xBF\xAA\x96\xC5\x15\xAC\x62\xAB\x88\x60\x86\xAD\xAC\xAA\x61\xB9\xB2\x5B\x58\xE9\xAA\xF7\xA7\x80\x03\x87\xAD\xAD\xA1\x9B\x63\xB1\xB0\x55\xA5\xAC\xFE\xAB\x14\xAC\x5D\xAB\x21\x06\x62\xA7\xA0\x92\xBE\x2D\xAC\x7A\xAA\x16\xAE\x87\xAB\xE7\x70\x63\xBE\xAB\xBC\xAB\x35\xAC\x81\xAB\x53\x60\x8E\xAC\xB0\xA2\x1D\xA0\x08\x3B\x58\x88\xAB\x55\xA4\xE3\x73\x8F\xAC\xB1\xA2\x10\xBC\xAF\x9F\x3D\xC3\xAC\x92\xAA\x23\x94", + "\x92\xAD\xB2\xA1\x61\xB3\xB1\xA2\xF7\x4B\xAC\x98\xAA\xE4\x54\x94\xAB\xB3\xA2\xA7\x53\xB2\x9E\x56\xCD\x5E\x56\xAD\xD0\xA8\xA6\x90\x19\x07\x4D\x7C\xB2\x8D\xF0\x5E\xAC\x4A\xAA\x30\xAC\x81\xA8\x29\x62\x66\xA7\xB0\x99\xE4\x65\xAC\x0A\xAC\xBB\x8C\x9A\xAD\xC1\xA2\xE8\x6B\xB3\x90\x58\x8E\x02\x6E\xAD\x09\xAD\xD3\x59\xCE\xA6\x61\xB1\x97\x74\x59\x99\xAC\x56\x63\x3B\xAC\x87\xA9\xCF\xA9\x65\x7A\xB3\xA0\x58\xD9\x8C\x7E\xAC\x12\xAE\xA6\x71\xD0\xA7\x62\xA3\xB4\x9D\x59\x87\xAD\x2B\xAC\x81\x00\xA1\xAE\xC5\xA7\x1C\x6B\xB4\xB1\x58\x8A\xAD\x7D\xAD\x9D\x7E\xA3\xAE\xC6\xA2\xA7\x53\xB4\xB9\x58\xD8\x61\x96\xAC\x1E\xAE\x29\x97\x98\x49\x69\xA0\xB2\x90\x3F\x93\x02\x9D\xAC\x22\xAC\xF5\x98\xD4\xAF\xF5\x81\xB5\x89\x59\x8C\x9E\x00\x02\x53\xAC\x93\xA8\xCE\xA1\x69\xA2\xEF\x6A\x5A\xD1\xAC\xBC\x55\x57\xAC\x95\xAE\x53\x52\x6B\xB7\xB2\x80\xC8\x35\xAD\x5A\xAD\xEA\x90\x40\x07\xA8\x6B\x6B\xB3\x08\x09\x03\x6D\xA9\xBE\xAD\x89\x02\x32\x00\xD8\xAE\x10\x03\xB6\x8E\x04\x4B\x01\x13\x02\x66\x02\x7E\xA9\x20\x0D\x0C\x09\xB6\x8B\x5B\x80\x02\xCA\xAC\xFB\xA9\x40", + "\x01\xDA\xA5\x5F\xAB\x08\x14\x5B\xFB\xAB\xD6\xAD\x67\xAC\x00\x07\xDA\xA1\x10\x18\xAF\x93\x5B\xDA\xAD\xDC\xAC\x80\x02\xB7\xA8\xDA\xA0\x6E\xA5\xB7\x92\x5B\xE4\xAD\xE7\xAD\x6D\xAE\xB9\xAD\xDA\xA2\x10\x01\xB7\x80\x00\x63\xAD\x00\x00\x67\x02\xB6\xAA\xDE\xA9\x6E\xB4\xB7\xAC\x5B\x81\x02\xF6\xAC\x6C\xAE\x40\x01\xDF\xAD\x6D\xB3\x08\x3C\x5B\xE2\xAD\xFE\xAD\x79\xAE\xC0\xAD\xDE\xA3\x70\xB7\xB7\x80\x04\x7F\xAD\xEF\xAD\x80\xAC\xC1\xAB\xE1\xA6\x70\xB1\xB7\x9A\x5B\xCF\x01\x13\x02\x68\x03\x44\x01\x1A\x03\x71\xB5\xB8\x8E\x04\x14\xAE\x17\xAE\x8B\xAF\x42\x00\xE3\xAB\x71\xBA\xB8\x82\x04\x1C\xAE\x1F\xAE\x8F\xAD\x40\x00\xE4\xA3\x72\xA2\xB9\x80\x04\x24\xAE\x00\x02\x69\x03\x44\x02\xE5\xAE\x10\x0C\xB9\x8B\x04\x2E\xAE\x02\x02\x98\xAD\x40\x02\xE6\xA9\x72\xAB\xB9\xB6\x5C\xAD\xAE\x37\xAF\x97\xAD\xCE\xA9\xE6\xAB\x73\xB3\xB9\x93\x04\x53\x01\xF6\x41\x9F\xAC\x11\xAA\x24\x10\x74\xAC\xA6\x84\x5D\x97\xA9\x4A\xA8\x87\x01\xD1\xAA\x97\xA8\x49\xA0\x08\x0B\x5D\x8F\xA9\xBE\xA8\xA5\xAC\x30\xAF\x38\x6F\x74\xB3\xA4\x80\x04\x03\x6A\x55\xAF\x4D\xAA\x40\x00", + "\x8B\xAE\x74\xA3\xBA\x82\x5D\xCC\xA9\x13\x4B\xAC\xAF\x27\xAA\x20\x01\x76\xA4\xA2\xAF\x8B\x62\xAE\x0D\x6A\x5A\xA8\xDA\xAE\x56\x48\x4B\xA1\x08\x2B\x5D\xAA\x08\x5F\xAE\x5D\xA9\xD4\xAB\x21\x0F\x76\xA0\xA5\xAE\x01\xF5\xAE\x6A\xA8\x67\xAA\xD4\xAC\x99\xA3\x77\xA2\x08\x38\x5D\xF0\xA8\x74\x1B\xBF\xAF\x30\xAB\x21\x04\x4B\x42\xBC\xA9\x73\x02\x02\xD4\x01\xB8\xAF\x23\xA8\xC7\x15\x0D\x01\xBA\x8E\x04\x0D\xAF\x46\xAF\x89\x00\xE4\xAA\x97\xA2\x92\x13\xBC\x8F\x52\xCD\xAE\x00\x00\xCB\xAE\xD5\xAD\x88\xA9\x74\xAB\x08\x1A\x5E\xDA\xAE\x70\xA9\x63\x4B\xE7\xAB\xEC\xA0\x78\xB2\xBC\x84\x51\x83\x6A\xA3\xAF\x86\x68\xD7\xA9\xF3\xAE\x75\xAF\xBC\x84\x51\x93\x4A\xA9\xAF\x89\x00\xEC\xAE\xEC\xA6\x7A\xAC\xA6\xB4\x52\xB1\xAF\x1B\x6B\xB6\xAC\x40\x00\xF7\xA4\x64\x3E\xBC\x93\x5D\xEE\x76\xBC\xAF\x7C\x68\xB5\x71\xF8\xA7\x4B\xBA\xBB\xBE\x5E\xFC\xAE\x64\x60\xE2\xAE\x1E\xA8\xC2\x6A\x7C\xAD\xA6\x84\x5E\xB5\xAF\xBA\xA8\xCA\x1A\x35\x00\xFA\xAB\x78\xB3\x08\x17\x03\x56\xAF\x13\x02\x6C\x01\xF6\xAB\x22\x09\x0D\x1C\xBE\x93\x04\x5A\x01\x13\x03\x6D\x03\x44\x04\x1B", + "\x03\x11\x1D\x06\x13\x04\x5E\x01\x13\x03\x6F\x03\x44\x00\x1C\x0F\x7D\xAB\xBF\x93\x04\x61\x01\xED\xAE\x87\x00\xFC\xAE\x21\x02\x0E\x11\xBF\x8B\x04\x75\xAF\x0E\x03\x71\x02\xFD\xAA\x20\x0A\x7F\xAE\x08\x24\x03\x7B\xAF\x01\x03\x72\x03\xF8\xAB\x22\x0F\x7F\xAE\x08\x02\x60\x8E\x02\xE6\x00\x00\xB0\x40\x07\x1C\x03\x80\xA8\xC0\x93\x04\x0C\xB0\x0E\x02\x74\x01\x03\xB3\x21\x02\x81\xAE\x08\x29\x03\x13\x02\xEA\x01\x89\x03\x3A\x02\x03\xBC\x81\xAE\x08\x1B\x60\x9E\xB0\x1D\xB1\x85\x03\x07\xB2\x04\xB1\x82\xA2\x08\x23\x60\xA6\xB0\x25\xB1\x80\x03\x09\xB2\x05\xB9\x82\xA0\x08\x2B\x60\x80\x02\xEC\x01\x89\x03\x05\xB6\x21\x01\x83\xAE\x08\x2D\x03\x32\xB0\x13\x03\x1B\xB2\xF1\xAA\x20\x04\x4B\x54\x25\x6E\x03\x13\x02\x3F\xB0\x87\x01\x10\xB3\x21\x03\x84\xA2\x08\x05\x61\x81\x02\x47\xB0\x80\x01\x12\xB0\x00\x0B\x84\xAD\xC2\x80\x61\xCF\xB0\x42\xB0\x28\xB0\x11\xB2\x0A\xB2\x10\x0F\x07\x13\x04\x56\xB0\x0E\x02\x2C\xB3\x42\x02\x0B\xB2\x10\x10\x07\x17\xD3\x5E\xB0\x0D\x78\x30\xB2\x52\xAA\x0C\xB3\x66\xBC\x86\x64\x61\xE6\xAC\xB1\x73\x33\xB1\x9A\xAC\x2A\x9A", + "\x86\xAC\xB3\x8C\xEB\x6D\xB0\x6F\xAD\x85\x00\x1C\xB2\xCE\xA0\x20\x73\xC3\xB5\x59\xEB\x65\x76\xB0\x3C\xAD\xBC\x61\x0F\xBB\x67\xBB\xC3\x99\xD9\x7C\xB0\x7F\xAD\xE9\x84\x20\xB2\xD0\xA7\x28\x63\xC4\x85\x5A\x85\xB1\x5F\xB1\x44\xB1\xA2\xA9\x20\x06\x88\xAC\xB4\xBA\xC7\x0D\xB1\x8F\xAC\x46\xB3\x1F\xB3\xE7\x70\x89\xB4\xB4\x9E\xAA\x15\xB1\x97\xAD\xA6\x5C\x26\xB2\xD3\xAB\x39\xAE\x08\x1B\x62\x9E\xAD\x48\x92\xBA\x1B\x27\xB2\xD4\xA9\x58\xAA\x09\xA3\x62\xA7\xAD\x41\xAC\x6A\x77\x29\xB3\xD5\xA2\x87\xB4\xC4\x93\x62\xE2\x7B\xAB\xB0\x58\xAC\x27\x59\x16\xB3\x6B\xA8\x5E\x74\x62\xB6\xAD\xFC\x55\x5B\xB1\xAE\xAC\x07\x81\x0F\x13\x08\x3D\x62\x8E\x02\xBF\xB1\x85\x01\x30\xB2\x20\x02\x0F\x13\x08\x05\x63\x8E\x02\xC7\xB1\x85\x01\x32\xB4\x18\xB6\x8C\xAD\xC6\x88\x63\xCE\xB1\xCA\xB0\x68\xB0\x33\xB7\x19\xB4\x8D\xB1\xC6\x95\x63\x82\x02\xF3\x01\x89\x01\x36\xB6\x21\x0B\x8D\xAB\x08\x1D\x63\xD8\xB1\xDA\xB1\x70\xB0\x37\xB2\x1C\xBE\x8D\xA4\xC7\xA0\x63\xE3\xB1\xE8\xB1\x72\xB1\x3A\xB2\x88\xAC\x8E\xB4\xA4\x9D\x5E\xC9\xA8\x0E\x02\x5E\xAF\x31\xAD\x05\x6A\x4C", + "\xAB\x08\x03\xD4\x2B\xAF\x22\x13\x89\x4B\x44\x4F\x5D\x44\x4B\xA1\xA4\xB4\x64\x53\x6A\x2A\x83\x7A\xB1\xDE\xAF\xF9\xA2\x45\xB0\xFE\x42\x64\xC5\xAF\x04\xB2\xC5\x69\xDE\x36\xF1\xA4\x79\xAD\xBD\x8C\x5D\xEF\xB1\x9B\xAE\xCC\xAD\x4B\x6D\x05\x63\x91\xBA\x8F\x63\x52\xBA\xA9\xAB\xAF\x86\x6A\x48\x15\xA1\x63\x51\x5C\xC8\xB4\x5E\xB6\xAF\x44\xA8\x7F\xB0\xE9\xAF\x1F\xB8\x7C\xB4\xC8\x80\x64\xF4\x1A\x0D\x6A\x91\xB1\x45\xB0\x38\x7B\x92\xB4\xD6\x69\x64\xBA\xAF\x23\xB3\xC3\xAF\xE6\xA8\xC7\x14\x0F\x13\x08\x35\x03\x08\x28\x37\xB2\xFC\x1D\x4E\xB5\xA8\x61\x8F\xB6\xC9\x8B\xD5\x10\xB2\x00\x03\x9D\xB2\xF0\xA8\xFA\x72\x94\xA5\xBD\x8E\x04\x45\xB2\x57\xAE\x9F\xB2\x43\x03\xF5\xA8\x94\xB0\xA4\x80\x00\x4D\xB2\x13\x4A\xA8\xB2\x52\xB3\x21\x0F\x2E\x4D\xCA\xB4\x52\xCD\xB2\x22\xB3\xA6\xB1\xD9\x15\x29\xBD\x77\xA1\x08\x1C\x65\x92\x5F\x58\xB2\x98\xB3\x57\xB5\x05\x63\x96\xBA\x8F\x61\x65\xBB\xB0\x5E\xB2\x9B\x6B\x51\xB3\x4F\x2B\x10\x16\x07\x13\x04\x6E\xB2\x0E\x03\x7B\x03\x44\x02\x2E\xBE\x10\x18\x07\x13\x04\x76\xB2\x0E\x03\x7C\x03\x5B\xB3\x22\x0A\x97\xAE", + "\x08\x30\x65\x8B\x02\xFA\x01\xBD\xB2\x43\x01\x30\xBE\x97\xB3\x08\x3B\x03\x0C\xB2\x02\x03\xC3\xB1\xE4\xAE\x21\x0A\x98\xAD\xC8\x8C\x66\xC8\xAE\x3D\xB3\xC7\xB0\x33\xA8\xF3\xAD\x98\xB0\xBA\xA4\xC1\x15\xB3\x9B\xAF\x83\xB0\x40\x00\x33\xB0\x7A\xA9\xCA\x92\x66\x98\xB2\x86\xB2\x87\xB1\x62\xB7\xF5\xA1\x9A\xA0\xBB\xA5\x66\xBA\xA9\xEF\x44\xCE\xB1\x4C\xB4\x96\xAA\x9A\xAF\xC9\xA8\x65\x9B\xB3\x6D\xA9\xD3\xB2\x65\xB5\x05\x6D\x9A\xA7\xC9\xB2\x66\x9B\xAF\x22\xB3\xDA\xB1\x41\xB2\x25\x8A\x9B\xB6\xBB\xB4\x35\x3D\xB3\x03\xB2\x1E\xB3\x44\x04\x1F\x07\x9B\xBD\xCC\xB2\x64\xB0\xB3\xCC\xA8\x1C\x1D\x3F\x00\x31\xB1\x10\x0B\xCE\x8B\x66\x8B\x02\xCE\xB2\xC7\xB0\x74\xB0\x32\xBB\x10\x12\xC7\x91\x67\x97\xAF\x40\xB2\x00\x03\x75\xB1\x33\xB4\x06\x7B\xCE\x86\x67\x9A\xB3\xDA\xB3\xD3\xAF\x44\x06\x3B\xB1\x93\xAB\xBD\xA4\x67\x9A\xB2\xE3\xB2\xD2\xB2\x43\x07\x3C\xB2\x7B\xA9\xCF\x8C\x53\xEF\x45\xEC\xB2\xA5\x4A\x7B\xB2\x97\xA2\x92\xB1\xCF\xBD\x5E\x82\x02\xF6\xB3\xA1\xB2\x4A\x81\x3F\xB6\x94\xB3\xCE\x8C\x53\xF5\xB3\xBF\xAE\xE0\x70\x7F\xB3\xF9\xAE\x06\x83\xD0", + "\x8E\x5F\xC2\xB3\x0E\x02\x7F\x03\x7C\xB7\x91\xA4\xD9\x06\xD0\x9C\x45\x4C\xB3\x03\x02\xD1\xB0\x4A\x02\x42\xB1\xA1\xB3\xCC\x99\x67\xAD\x3F\x0D\x6A\xCC\xAC\x86\xB0\x20\xB0\x53\x41\xD0\x94\xEB\x1B\xB4\x0E\x03\x81\x68\x88\xB6\xE1\x48\x11\x14\xD0\x94\x04\x6A\xB3\x20\x02\x14\xB4\x49\x07\x23\xB9\xA2\xA0\xC9\x9C\x04\x21\xB2\x30\xB3\x11\xB4\xD4\x2B\x45\xB5\x92\xAE\xDB\x72\x68\xFD\xB3\x34\xB4\xFA\xB1\x8C\xB6\x43\xB0\xFD\x77\xD1\x84\x68\xF2\x1C\x30\xB5\xD7\xB3\x89\xB0\x9A\xA5\xA2\xA9\xCE\xB7\x04\x62\x11\x01\x00\x71\x12\x00\x01\x69\x4D\xC5\x49\x3A\x47\x01\x26\xA4\x4C\xB5\x6F\x70\xD3\x48\x09\x00\xA5\xB9\xC2\x01\x88\x49\x4E\x49\x01\x2A\xB4\x74\x1F\x4A\xB9\x85\x2A\x02\x1A\x69\x9B\x17\xE7\x3D\xA4\x4F\x12\x07\x4B\xB7\xAA\x02\x12\x49\x9D\x4C\x00\x64\xB4\x31\x13\x3B\x19\xE9\x4D\x04\x09\xD3\xBE\x1C\x22\x12\x37\x03\x0A\x42\x13\x06\x4D\xB9\xB6\x43\xA8\x49\x9D\x4F\x00\x74\xB4\x87\x19\x17\x04\x49\xB3\x18\x57\x09\x01\x88\x5A\x00\x7C\xB5\xD1\x0C\x1D\x54\x0A\x01\xA8\xA1\x57\x27\x7B\x4C\x00\x85\xB5\xFB\x78\x9D\xB2\x03\x56\x04\x09\xD4\x84", + "\xFA\x74\xB4\x23\x4C\x20\x02\xA3\xB4\xD2\x74\xA7\xAD\x4E\x3A\x00\x13\xB5\xA9\x7C\x3A\xB6\x81\x3C\x06\x08\xA9\xA9\xB8\x34\x69\x87\x53\x1F\x01\x4E\xB5\x15\x04\x4E\xBF\x34\x16\x00\x1D\x6A\xD6\x00\x74\xB5\x16\x47\x01\x05\x53\xB7\x05\x14\xD3\xAC\x8D\x2A\xB3\x71\xB5\xB2\x7C\x9D\xB7\xF6\x4D\x94\xB1\xD5\xA1\x2B\x15\x40\xFD\xAF\xCD\x15\x05\x41\x0B\x04\xA7\xB4\xA2\x78\x5F\xCE\x4E\x5A\x00\x3A\xB4\xEA\x65\x0A\x01\xCD\x3E\x3A\x53\x5C\x28\x67\x56\x01\x62\xB7\xD5\x4B\xF4\x0F\x80\x53\x28\x49\x9D\x5B\x00\x74\xB5\x07\x50\x2D\x49\xE9\x4C\x05\x14\xD3\x8F\xDD\x4F\x4E\xB8\x80\x6B\xB6\xD4\x6A\xE9\x4E\x05\x11\xD6\xBF\x84\x4C\x4E\x5F\x00\x3A\xB7\x4D\x06\x4C\x39\x74\x40\x03\x1E\x6B\x81\x79\xD8\xB5\x30\x03\xB9\xB1\x5A\x89\x74\x42\x03\x2B\x6B\x82\x02\xAB\x89\xA4\x4F\x18\x07\x5D\xB8\x46\x98\xD6\xA4\x01\x74\xB5\x0F\x8E\x6C\xB5\x19\x00\x5F\xBF\x66\x8F\x3A\x66\x01\x74\xB4\xAD\x03\xC2\x91\xD2\x4F\x0C\x00\xB0\xB3\x08\x36\x2A\xC9\x4E\x68\x00\x7E\xB5\xFB\x91\xE9\x49\x06\x02\xD7\x93\x04\x41\x9A\x4E\x4E\x35\x02\xC3\xB5\xB3\x9E\x74\x4B\x03\x3C\x6B", + "\x8D\x9A\x49\x4E\x36\x03\xC5\xB0\x5B\xBD\x06\x14\xD3\x88\x34\x2E\x99\x49\x4E\x37\x00\x9D\xB7\xCD\x35\x01\x15\x00\x59\x61\x6F\x00\x74\xB5\xD4\x6A\x05\x06\x64\xBD\x77\x4B\x3B\xB4\x69\xAB\xAF\x09\x00\x96\xB7\xDF\x4A\xA5\x22\x8F\xAA\x00\x32\x6C\xFA\x4E\xE1\x14\x01\x40\x24\x02\x59\xB0\x00\x18\xF3\x0B\xD3\x59\x4F\x37\xB6\xBF\x4E\x4A\x2F\xB6\x12\x01\x01\xDA\x87\x87\x61\x15\x0D\x21\x05\x02\xD1\xB0\x00\x0D\xA7\xAC\xBB\xBD\x19\x4B\xB6\x4D\xB6\xB8\xAF\xFE\x48\x6A\xB3\x7A\x0D\xA8\x50\x00\x54\xB6\xE1\x15\xA8\x6B\x01\x00\x6B\xB6\x1E\x34\xC9\xBC\x6C\xBE\xB6\x88\xA9\x6E\x10\xD7\xB2\xA5\x2C\x87\x0F\x00\x23\x6D\x93\x2E\xB2\x1C\x04\x03\xD9\xB5\xA9\x3F\xB1\xB8\xD6\xB1\x01\x74\xB4\x2E\x03\x13\x9F\xE6\x10\x6C\xB5\xB5\x4B\x00\x49\x9D\x72\x00\xFC\xB5\x17\x9F\xD3\x4B\x0E\x04\xA7\xAB\x64\x2C\x51\x47\xB4\xCC\xB5\x89\x9C\xB6\xB4\x0E\x03\xB1\xAB\x08\x2B\x3F\xCD\x4E\x75\x00\x3A\xB6\xF4\x21\x33\xAC\x74\x56\x03\x0A\x6E\xE0\x30\xD8\xB5\x3B\x03\xE3\xB4\x0C\xA8\xAD\xB8\x03\x13\x6E\xF0\x9F\xD8\xB5\x3C\x00\xBF\xB2\x69\xAE\x74\x5A\x03\x3C\x6B\xB2", + "\xA7\x4E\x4F\x3D\x00\xBF\xB1\x77\xAE\x74\x5C\x03\x3C\x6B\xC2\xA7\x4E\x4F\x3E\x00\xBF\xB0\x79\xAF\x74\x5E\x03\x3C\x6B\xD0\xA7\x4E\x4F\x3F\x00\xBF\xB7\x7C\xA9\x74\x40\x04\x3C\x6B\x9E\xA9\x49\x4F\x40\x00\xBF\xB3\xA8\xAA\x74\x42\x04\x05\x6E\xE7\xAB\x4E\x4F\x41\x03\xEF\xB1\x20\x0F\x6B\xAF\x3A\x44\x02\x43\xB7\x00\x02\x88\xAF\xD3\x4D\x10\x08\xBC\xA0\x00\x28\x5C\xCA\x4E\x86\x00\x3A\xB7\x02\x1C\xFD\xA0\xDD\x14\xDB\xAE\xAE\x73\xAF\x4E\x4F\x43\x00\xBF\xB7\x00\xBA\xAB\xAB\x71\xAE\x6A\x98\xB0\xD8\xB5\x44\x03\xF7\xB4\x06\xB8\xAD\xAA\x04\x23\x6F\xD3\xB0\x4F\x4F\x45\x01\xF3\xB3\x18\xBC\x74\x4C\x04\x27\x6F\xD3\xB1\x4E\x4F\x46\x03\xFB\xB1\x20\x05\x93\xAF\x3A\x4E\x02\x73\xB7\x00\x03\xBE\xB2\xD3\x4F\x11\x09\xAA\xA5\xD2\x8E\x9D\x10\x01\xFD\xB7\x3B\x3D\x94\xB5\xE2\x91\xC0\xAA\x01\x43\x70\xC3\x9F\xA4\xB4\xFA\x4F\x01\xBB\x21\x03\x09\x09\xE0\x89\x2F\x0B\xB8\x02\x02\x4A\x02\x03\xBC\x08\x50\xC1\xA1\x08\x15\x02\x13\xB8\x73\x51\x0A\xB8\x40\x06\x12\x0F\xA9\xAC\x51\x5A\x70\x80\x00\x97\x01\x0E\xBA\xC0\x4F\x83\xB8\x09\x1A\xD4\xA8\xC3\x1F\xB8", + "\x99\x00\x13\xB8\x5C\x47\x83\xBA\x09\x0A\xE1\x91\x11\x1F\xB8\x9B\x00\x17\xB9\x58\x47\x83\xBC\x09\x12\xE1\x8F\x98\x1F\xB8\x9D\x00\x1B\xB8\xE5\x1F\x83\xBE\x09\x15\xD4\x93\x04\x38\x00\x1F\xB9\x4F\x00\xA4\xB1\xAC\x6F\xC1\xA0\x05\x0B\x6A\xDF\x06\x1F\xB9\x50\x00\x9D\xB7\xDC\x3A\x04\x1F\xE0\xA2\x02\x74\xB4\x01\x44\x29\x03\x07\xBB\x14\x00\xC5\xB8\xF3\x5F\x70\xA4\x01\x79\xB5\xB2\x7F\x07\xBD\x14\x0C\xAF\xA3\x03\x1F\x70\xA6\x01\xDA\xB4\xE9\x47\x07\xBF\x14\x04\xA7\xA2\x7F\x27\x01\x1F\xB8\xA8\x00\x7E\xB5\x00\x04\x67\xB7\x13\x09\x05\x21\x71\xAA\x40\x3C\xB7\xA8\xB4\x29\x5B\x1B\x11\xC7\xA3\x3D\x37\x36\x02\x00\x6C\xB9\xD1\x0F\x31\x4D\x00\x05\xC7\xA1\x57\x02\x89\x07\x00\x7D\xB8\xF3\x22\x76\x5E\x00\x01\xC8\xAA\xA9\x36\xB2\x01\x02\xDF\x01\x4E\xB6\x2A\x05\x8C\xB1\x3F\x9F\xE0\xAB\x02\x6F\xB8\x39\x4F\x4E\xB5\x0F\x47\x98\x4F\x06\x12\xE4\xA9\x75\x0F\x50\x7A\x01\x0F\xB8\x2B\x05\x79\xBB\x07\x1F\xE0\xAD\x02\x7C\xB5\x99\xB9\xA7\x4E\x2B\x00\x92\xB2\xBE\x9F\xE0\xAF\x02\x74\xB4\x62\x52\x3C\x03\x07\xB8\x16\x04\xA7\xB4\x6B\x07\x02\x4C\xB4\xD6", + "\xB6\x15\x56\x22\x07\x83\xB1\x0B\x04\xE5\x80\x04\x09\x01\x1F\xB8\x59\x00\xBF\xB4\x12\x0F\xC1\xB3\x05\x34\x69\xE9\x50\x8E\x01\x0F\xB8\x2D\x07\x97\xB3\x11\x01\xE6\x8F\x9D\x35\x01\xB6\xB8\x00\x00\x24\x07\x83\xB6\x0B\x09\xE6\x99\x02\x1F\xB8\xB7\x00\x7E\xB4\x28\x07\x83\xB8\x0B\x12\xE6\x9F\x70\xB9\x01\xC9\xB9\x52\x03\x07\xBA\x17\x09\xCD\xBF\xE0\xBB\x02\x74\xB4\xA9\x49\x62\x03\x07\xBC\x17\x00\xCE\xB1\xB0\x9F\x70\xBD\x01\xC9\xB9\x64\x03\x07\xBE\x17\x0C\xAF\xB3\x06\x1F\x70\xBF\x01\xED\xB9\x0F\xB8\x30\x04\x5F\xBA\x0D\x1F\xE0\x81\x03\x74\xB9\x1F\xB8\x61\x00\x9D\xB7\xC7\x1D\x0D\x1F\xE0\x83\x03\x7B\xB9\xE5\xAF\x0F\xB8\x31\x04\x5F\xB8\x0E\x1F\xE0\x85\x03\x7C\xB5\xED\x01\x0F\xBA\x31\x04\x5F\xB0\x0F\x1F\xE0\x87\x03\x49\xB9\xF3\x01\x0F\xB8\x32\x01\x99\xB6\x0F\x1F\xE0\x89\x03\x49\xB9\xF8\x01\x0F\xBA\x32\x04\x5F\xBE\x0F\x1F\xE0\x8B\x03\x49\xB9\xFD\x01\x0F\xB8\x33\x04\x4E\xB7\x83\x0F\x00\x39\x71\x8E\x02\xCD\x01\x91\xB6\x40\x6F\xA4\xBB\x10\x0E\x06\x24\x74\x99\x50\x2C\xBA\x81\x03\x33\x07\xA5\xB4\xE1\x31\xE9\x81\x04\x50\x01\x34\xBB", + "\x2A\x62\x4D\xBF\xE4\xA9\xCC\xB7\x00\x3B\x74\x80\x00\xD2\x00\x3A\xB6\xAB\x1E\x03\x0F\xD3\xB3\x06\x34\x69\xA2\x61\x20\x01\x9F\xB8\x35\x02\xA8\xBC\xCC\x5F\xE9\x95\x03\x47\xBA\xCA\x5B\x9F\xBA\x35\x04\xA9\xB4\xCC\x5F\xE9\x97\x03\x50\xBA\xBB\x21\x9F\xB8\x36\x04\x5F\xB9\x02\x1F\xE9\x99\x03\x1E\xB6\x0C\x6B\x9F\xBA\x36\x00\xAC\xB5\x50\x7F\xE9\x9B\x03\x2A\xBA\x21\xB5\x9F\xB8\x37\x05\x79\xB6\x03\x1F\xE9\x9D\x03\x39\xBA\x5B\x13\x9F\xBA\x37\x00\xAE\xB9\x93\x3F\xE9\x9F\x03\x49\xB9\x40\x01\x42\xBB\xC4\x2B\xE0\x41\x04\x1A\xEB\x8D\x75\x37\x10\x4B\x01\x9F\xB8\x38\x04\xAE\xB0\x10\x01\xEC\x8F\x9D\x61\x01\xCD\xB7\x24\x03\x4F\xBA\x1C\x04\xA7\xBD\x9B\x47\x01\x3F\xBA\xE3\x00\x3A\xB5\xE4\x61\x0B\x0F\xB5\xA3\x3D\x11\xCE\x58\x00\x95\xBB\x70\x17\x4D\x07\x0B\x0F\xD3\xA4\x07\x3C\x6B\xE2\x00\x3F\xBB\x72\x01\xF3\xB2\x0D\x0F\xD3\xA6\x07\x23\x76\xBF\xBA\xE7\x01\xE6\xB7\x1D\x07\xA7\xB8\x0E\x0D\xDE\x80\x02\x3F\xBA\xE9\x00\x7E\xB4\x1F\x07\xA7\xBA\x0E\x1C\xD7\xBE\x01\x3F\xBA\xEB\x00\xC2\xB8\x00\x07\x11\x0F\xD3\xAC\x07\x3A\x76\xBC\xBB\x4F\x4F\x76", + "\x01\x32\xBD\x11\x0F\xD3\xAE\x07\x34\x69\xA2\x12\x8E\x01\x9F\xBB\x3B\x03\xB8\xBF\xD3\xB0\x07\x07\x77\xC5\xB9\x3F\xBB\x78\x00\x73\xBF\xE9\x42\x0F\x09\xE6\x94\x02\x3F\xBA\xF3\x01\xE6\xB5\x27\x07\xA7\xB4\x0F\x1A\xEE\xBF\x74\xF5\x01\x64\xBB\x79\xA3\x4F\xBE\x1E\x04\xA7\xAF\x67\x1B\x02\x3F\xBA\xF7\x01\xF0\xB8\x33\xA7\xA7\xB8\x0F\x05\xEF\xBB\x44\xBF\xBA\xF9\x00\x3A\xB7\x40\x6A\x14\x09\xD9\xA6\x8F\x03\xD4\x26\x01\xF5\xBA\x95\x2B\x40\x69\x15\x09\xDF\xB3\xB8\x2F\x79\x2F\x01\x3F\xBA\x7D\x00\x5A\xBB\x21\x00\xE0\xAF\x3A\x7B\x03\x03\xBC\xE6\xA9\x9F\xB8\x3F\x00\xC1\xB1\x10\x16\x05\x3F\x74\xFD\x01\x74\xB5\x89\x48\x2E\x07\xA7\xBE\x0F\x11\xF0\xB8\x53\xBF\xBA\xFF\x00\x3A\xB7\xBB\x41\x18\x0F\xD3\xA0\x00\x0A\x4A\xD2\x27\xEF\x44\x61\x03\x4F\xB9\x00\x0F\xE1\xB4\xA8\x46\x56\xBF\xBA\x02\x01\x12\xBE\x59\x69\xC2\xAF\xD3\xA3\x00\x2A\x78\xD4\xB2\xA0\xAD\x9F\xB8\x01\x07\xC5\xB9\x56\x6E\x08\x09\x03\x3F\xBA\x05\x00\x1A\xBC\xA5\x41\xC6\xBF\x74\x46\x00\x3A\x78\x80\x02\xB4\xA9\x1B\xBF\xD3\x4F\x00\x0F\xE3\xA0\x00\x01\x79\xBF\xBA\x08\x01\x22\xBF", + "\x9B\x3E\x19\x0F\xD3\xA9\x00\x0A\x79\xFE\xAD\x3F\xBA\x05\x01\x91\xBF\x26\x01\x0D\x1F\xE9\x8B\x00\x45\xBC\xB4\x49\x6B\x03\x4F\xBC\x01\x08\xE5\xB6\xBE\xBF\x74\x8D\x00\x53\xBD\xB7\xB3\x4F\xBE\x01\x05\xE4\xB4\x6C\x39\x03\x7D\xBB\x4D\x3B\x07\x50\x3E\x07\xA7\xBF\x00\x05\xF3\xBC\x65\xE8\xBC\x0C\x41\x38\xB7\xD2\xB7\x26\x00\x01\x01\xF3\xB8\x89\x73\xBC\xDC\x4F\x27\xBF\xFB\x48\xCF\xBB\x82\x45\xF2\xAA\x6C\xEB\xB6\xAE\x03\x22\xBE\x69\x1D\x03\x0C\xE7\xAE\x40\x42\x7A\xCC\x59\x85\xBC\x3A\x0F\xA1\xBC\x98\x59\xE8\xBF\x59\x45\x79\x85\x26\x22\x01\x46\xBE\xC6\x57\xD1\xB3\x8D\x12\xF4\xA3\xA5\x45\xBC\x08\x1A\x15\x02\xA5\xB9\x03\x05\xE4\xB3\x67\x29\x00\x16\xBD\x1A\x00\x4C\xBC\xE3\x66\xD2\xBB\x01\x1D\xF4\xBA\xCD\x16\xBD\x1C\x00\x51\xBF\xE5\x66\xD2\xBD\x01\x05\xF2\xA5\xDD\x2F\x00\x4B\xB7\x58\xB9\xE9\x6B\xA9\x61\xEB\xA3\x3D\x35\x01\x62\x52\x6B\x4E\x95\x29\xD2\x4A\xD6\xB1\xE7\xBF\xC9\x9A\x76\xD4\x4E\xCB\xB4\x66\x25\xD2\x4F\x90\xBD\xD4\x37\x09\x3A\x78\x05\x16\x49\x4F\x59\x59\x0F\x46\x56\xBD\x75\x5B\x19\x65\x8C\x37\x02\x69\x51\x65\xBE\xE2", + "\x4C\xD7\xB2\xED\xAA\x56\x55\x7B\x9A\x4F\xC6\xB4\x67\xBE\x9B\x47\x26\x03\x70\x57\xF6\xA8\x9E\x40\xBD\xA9\x45\xB4\x3B\x4D\x01\x46\x49\x74\x57\x3D\x54\x7B\xE2\xBD\x37\x52\x6F\xBC\x7F\x71\xDB\xB1\xEE\xAF\xF6\x9B\xB1\x45\xBD\x35\x53\x73\xBE\xBB\xB8\xF3\x4A\xEB\xA9\x50\x72\x7B\xDB\xBD\x8A\x4E\x75\xBE\x02\x5F\xDE\xB5\xD6\x2E\x24\x16\x55\x59\x30\x06\x3C\x7E\xBD\xBB\x47\x26\x08\xB5\x29\x3A\x4D\x27\x02\xBE\xF2\x45\x9B\x02\x58\x52\xDF\xB5\xAC\x48\xF8\xB0\x7F\x37\x02\x97\x4B\x7E\xBF\x4D\x02\x03\x52\x3D\x27\xF7\x32\x8D\x39\xBD\x42\xB7\x89\x2F\x64\x16\x4F\xB8\xF1\xAD\xEA\x15\x80\x3C\xBD\x37\x03\x07\x52\xC3\xBC\xD9\xBB\x38\x7F\xF5\x9E\xAA\x2D\x03\x62\x52\x5E\xBD\x05\x41\x72\x6C\xF0\xA7\x26\x44\x89\x56\x4E\x0C\x41\x0A\x40\xEA\x64\xE1\xB8\x2A\x4D\x0D\x04\x7B\xBD\xB6\xA3\x0F\x0A\x40\x15\x6C\xE1\xB9\x4A\x4D\x0D\x1A\xB7\x2A\xBE\x2B\x6A\x86\xBE\xF8\x1D\x35\x02\x0A\x60\xFA\xA1\x6D\x9A\xBE\x08\x64\xB7\x4D\xD9\x28\xE7\xB1\xAE\x0E\x09\x20\x7C\xF0\x10\x72\xB8\x95\x2A\x4B\x05\x6F\x6C\xF0\xB1\x9C\x6E\x04\x22\x1C\xBC\xBC\x97\x00\xCB\xB8", + "\xDD\xBC\x4C\xAE\x09\x0D\x40\x59\xBE\x2D\x68\x93\xBE\x3D\xB2\xF1\x44\x4B\xA0\xFB\xAA\xD2\x62\xBE\xC1\xB3\xC3\x4F\x42\xB0\xE6\xBD\x03\x4E\x09\x0B\x90\x0E\x09\x51\x6A\x97\x02\x69\x1E\xEC\xBA\x43\xB5\xF7\xBA\xDC\x6A\xBE\x21\x72\x70\xBD\x0F\x43\x91\x1F\xF4\xAB\xD0\x4C\x6D\xC8\xBD\x92\x4E\xBF\x67\xE8\x0F\x26\x06\xB2\x6E\x09\x26\x69\x3C\xBD\x8B\x19\xAD\xBF\xBC\xBF\xBE\x7A\x78\x44\xB6\x08\x7E\xE1\xBE\xE6\x23\x9B\x02\xB4\x7E\x25\x03\xFE\x6F\xFC\xA7\x7D\x91\xBF\x4C\x81\xC2\x4E\x3E\x84\xED\xB9\xD6\x2B\x64\x2F\x7D\x9B\xBB\x8A\x4E\x49\x86\xE5\xBD\xEE\xB8\xF4\xA4\x9F\x2E\x04\x2D\x88\xBC\xBD\x05\x1B\xC5\xB8\xBA\x1B\x4A\x9D\xFB\x8D\x7B\x9F\x4F\xEE\x69\xC1\xBE\x4B\x8A\xEF\xB9\xD6\x38\x3A\x40\x04\x0B\x18\x37\xBE\x86\xBD\x54\x8C\xD7\xB7\xEC\xAB\x3D\x6C\xC6\x0C\xBE\x9B\x8A\xA3\xBF\xEB\xBB\x81\x11\xED\xBC\xFA\x8B\x04\x6F\x8B\x74\xBF\xAF\x4E\xEB\x4E\x75\x5C\xF0\xA6\x32\xA3\x7E\xCA\xBF\xB7\xBF\x7D\x4E\xEC\xB9\xE1\x8C\xF9\xA5\x19\x4B\x30\x52\x27\x0B\x18\x72\xBD\x16\x34\xED\x8C\xEB\xA6\xF7\xAD\x9E\x0A\x58\x0C\xBF\x09\x90\xAF\xBC\x6D", + "\x48\xFD\xAF\xF7\xBD\x7A\x86\x92\xB4\xBF\x92\x45\x8B\x45\xFC\xB4\xEF\xA5\xFD\x84\x26\xE9\xBF\x6E\x45\xA7\x04\xFB\xBA\xF0\x48\xF9\xAE\x08\x34\x27\xBC\xBD\x87\x53\xF9\xBF\xB7\xB8\xED\xBF\xAC\x90\xFF\xBD\x7B\x81\xBE\xDF\xBE\x78\x54\xC3\xBB\x6F\x9C\xEB\xA7\xF8\x81\x80\x8B\xBE\xC6\xBE\x81\x01\xF5\x97\xF5\xBD\x03\x43\x31\x7A\x7F\xC6\x5A\xF5\xBF\x3F\x9B\xEB\xBF\x7D\x9D\x1A\x14\xF8\x82\x9F\x69\x4E\xD3\xBF\x1B\x9A\xFF\xBD\x5D\x47\xEE\x32\x9E\x37\x9E\x27\x4E\x0F\xBE\xC0\xBD\xB8\x17\xF6\x4C\x5E\x43\xF8\xAC\x33\x9B\xC0\xF2\x44\x3A\x52\x07\xC3\x22\x09\xFB\xA9\x00\xC1\x04\x67\xA3\xD0\xBE\x06\x41\x80\x43\x05\xCB\x7F\x6C\xF8\xB4\x51\x3C\xBD\x0E\x1A\x1A\xC0\xF2\x54\xE1\xBD\xD0\x9C\xF5\xA2\x7C\x97\xC0\x25\x56\x86\xBE\x45\x9C\xD7\xB9\x86\x5A\x01\xC2\x04\x5D\xBD\x2E\xC0\x88\x98\x0A\xC0\xFE\x33\xCB\x46\x02\xC3\xAB\x0C\xBE\x3F\x9A\x06\xC1\x5A\x39\xE5\xB0\x04\xD3\x60\x4C\x7C\x90\xB6\x31\xC1\x49\xB8\xB8\xBF\xF6\x4F\x2F\x49\x3A\x52\x35\xBC\xBD\x74\x1A\x27\xC0\xE7\x48\xDE\xB8\xDB\x95\xFE\xAE\x89\x42\x44\x62\xC1\xC5\x4D\x06\xC6\xC2\x96", + "\x06\xDD\xF7\xA8\x8A\x69\xC0\xFF\xBC\xE8\x1A\xDC\xB1\x0B\xC9\xD6\x23\x38\x69\x81\x85\xBE\x59\x30\x16\x9E\x14\xC5\x64\x47\xF3\xA9\x03\xC8\x80\x8B\xBF\x02\x02\xBD\xB7\x1E\xC6\x4D\x49\x4A\x49\x03\xD1\x7C\xA6\xC0\x80\x9D\x60\xBE\xB7\x3D\xE3\xB6\xDC\x4F\xFD\x9D\xA3\x0C\xBE\xE9\x48\x8D\x4A\xFA\xBB\x09\xC9\x74\x4E\x78\xB3\x6C\xC0\x48\x37\x03\x16\x44\xD5\xB9\x09\xCA\xCC\xAA\x3C\x47\x6E\xEC\xBD\x3D\x41\x16\x46\xE2\xB8\xDF\xBE\x10\x0D\x7F\xB4\x7F\xB9\xA1\x94\xC1\x9A\x53\xCC\xBC\x13\xC6\x0D\xAE\x09\x2A\x48\xBC\xBD\x2D\x45\x9D\xBC\x27\xC6\x51\xAE\x12\x1C\xDC\xB4\x81\x93\xC1\x34\x6B\x08\xC1\xD5\xA2\xF1\x44\xBA\xB7\x05\xEE\x89\x2D\x44\xA4\x39\xA4\x4C\xF0\xA2\xF3\xBB\x10\x0A\x9E\x83\x82\xFD\xBD\x4F\x07\xDB\x4C\x24\xC5\x9F\x42\x09\xCE\x13\x79\x7F\xEB\xC0\x01\x02\xE6\xA7\x25\xC2\xDB\xBD\xEF\xA7\x4C\x5B\x82\x80\xC1\x01\x02\xE9\xA7\x29\xC1\x20\x06\x4D\xA7\x06\xED\x8B\x07\x53\xA3\xC0\x89\xBD\x3A\xA8\xEF\xB2\x10\x05\xA9\x8A\x82\xAA\x2A\x87\x53\x55\xC0\x36\xC0\x20\x00\x50\xA4\x06\xC2\x04\x2B\xAA\x6D\xC1\x6F\xC3\xCF\xB6\xFD\xB2\x10", + "\x0D\xA9\x83\x9E\x53\xAB\xDE\xC0\x79\x47\x61\x57\xF3\xB6\x5E\xA4\x07\xC4\x6F\xA9\xC1\xFE\x53\x60\xC1\x16\x36\xD8\xAB\x0D\xC7\xB8\x80\x84\xA3\x53\xAE\xBE\x99\xBB\xDE\x4F\x29\x43\xEE\xAA\x9C\x74\x83\xBE\xAE\xF7\xC1\x85\x03\xF4\xA9\x1E\xC2\x2F\x46\xF0\x21\x83\x88\xC1\x0B\x03\xEB\xAD\x44\xC2\x20\x02\x7E\xB4\x08\xF0\x7F\x06\x3C\xEA\xC0\x52\xC3\x42\x04\xFC\xAB\x11\xC1\x08\x14\x6F\xF9\xC1\x1F\xC3\x79\xC0\x19\xC3\x21\x08\xBD\xAE\x07\xC1\x60\x87\xC2\x78\x52\x7E\xC2\x03\xB5\x24\xC0\x10\x19\xC0\x9E\x84\x8D\xC2\x47\xBF\x95\xC0\x0A\xB4\x26\xC0\x00\x1C\xC2\xA0\x82\xE9\x3A\xCD\x13\xD5\xBF\xE6\x15\x0D\xBC\xEB\xBF\xF9\xB9\xA4\x25\xC0\x09\xBE\x5F\xB0\x4C\xC0\xEA\x51\x03\xCD\x4E\x34\xA1\x4B\xC1\x05\x4A\x66\xC1\xBF\xBD\x39\x1D\x02\xCB\x07\xC0\x00\x4B\xB1\x3F\xC3\x92\x46\xAB\x1A\x7A\x2D\x9C\x0A\xF6\x9C\x82\xDF\xB1\x59\xC2\x37\x45\xD1\xB9\x27\x55\xFC\xB6\x0A\xF5\x6F\xA8\xC2\x37\x03\x77\x18\x57\xC6\x80\x5C\xF0\xAD\xCA\xBC\x7A\xEF\x3C\x6B\xC2\x81\x4C\x34\xC0\x20\x0F\x97\xBE\x05\xFD\x7B\xFC\x10\x71\xC3\xD1\x50\xC3\xBC\x2E\xB8\x16\xD0", + "\x43\x39\x85\xD1\x55\x0C\xBE\xBC\xB1\x5F\xC6\x21\x04\x00\x5F\x0B\xD5\xAE\x7C\xBF\xF9\xB7\xA5\xC0\xDF\x60\xDC\xBD\x9C\x19\xAD\x09\x9D\x04\xB3\x83\xC3\xCE\x64\xCC\xBD\x39\x17\x17\x09\x3A\x6A\x66\xBC\xBD\xA8\x66\xC3\xC1\xF4\xB8\x31\xC0\x00\x04\xCE\xB7\x84\xAA\xC2\x4C\xBE\x21\x50\x1E\xC0\xBA\x14\x9E\xBC\xF5\xB7\x36\x1A\xC3\x36\x7E\x86\xBE\x82\xB7\x33\xC9\x13\xC1\x0D\xF2\xA6\x07\xC1\x49\xC3\x17\xB4\xCC\xBE\x35\xC0\x10\x0D\x0D\x0D\xD4\x52\x27\x23\x4C\xA1\xC3\xA9\x13\x49\xBC\x1A\xC4\x9A\x38\x86\xBE\xBD\xBA\xC0\xC8\x40\x92\xB3\xF4\x02\x00\x5F\x0D\xCE\x04\x55\xC2\x22\xC3\x42\x0F\x70\xC1\x5C\x12\x8F\xA6\x0E\xFD\xE1\x0C\xBE\x05\x01\xE5\xC2\x79\x27\xEB\xB8\x99\x45\x0B\xC9\x87\xA8\x24\xD2\xC2\xFD\xB8\xB8\xBB\xC4\x4F\x80\x4C\xF8\xAB\x6A\xBD\xC3\x5B\xAF\xED\xC2\xF4\xBC\x33\xC8\x00\x19\x0E\xD3\x5C\x13\x4A\xCE\xC2\xBC\x50\xC3\xB9\x01\x06\x1E\xCD\xEA\x2F\x8B\x69\xC3\x36\x56\x86\xBE\x02\x05\x3D\xCC\x00\x45\xFB\x98\xA6\x5D\xC0\x59\x31\x05\x00\x7D\xC5\x07\x42\x50\x50\x0F\xE3\x81\xE7\xBF\x87\x0D\xFD\xC1\x5A\x3C\x96\x4E\x1F\xCA\x03", + "\xDC\x86\x8D\x00\x02\xC5\x92\x45\xD9\x15\x40\xC1\x07\xDB\x5C\x0E\x00\x09\xC4\x6E\x44\xCA\x19\x81\xC3\x34\xCB\xB9\x0F\x00\x10\x88\xFD\xBD\x38\x1D\x02\xC7\x1F\xC7\x3A\xCD\x7C\x57\x10\xED\x8B\x51\x6A\x05\xC4\xD8\xC1\x08\xC3\xFF\x44\x1F\xD2\x00\x0A\x69\xEC\x31\x30\xBE\x0D\x52\x6E\xC2\x0C\x14\x01\x1E\x10\xF2\x8B\x29\x6B\xD2\x26\x0D\x50\x52\xC3\x44\xCD\x66\x0E\x11\xF0\x7F\x08\x1A\x31\xC4\x16\xC3\x5C\xC2\x96\x56\x23\xD7\x09\x33\x7D\xF6\x56\x5E\xC2\xAB\xC3\x05\x05\x47\xC8\x71\x67\x07\xCA\xAC\x56\xC3\xE2\xC0\x0A\x3C\x91\xC4\xEA\x64\x1B\xDD\x5A\x5D\x87\x9C\xC1\x19\x01\x25\xC6\xF8\x6F\xF5\xBA\x81\x48\x02\xD6\x85\x9A\x00\x52\xC5\xDA\x45\x8E\xC2\x13\x54\xF3\xB9\x12\xC5\xE5\x54\xC4\xE9\xBC\x4E\xC0\x07\x06\x4B\xCD\x9A\x60\x13\xD5\xB2\x3A\xC2\x75\x44\x32\xC4\xB4\x49\x45\xC1\xF8\xBC\xF9\xAA\x89\x8F\x75\x5B\xC5\x82\xC0\x80\xC2\x2C\x1A\x26\xC6\xD9\x71\x89\xFB\xBF\xC1\xC3\x39\x36\x9A\xC1\x75\x77\x27\xCA\x4D\x42\x7D\xEA\xC4\x1B\x79\x3E\xC5\x1B\x84\xE1\xB2\x02\x0A\x13\xDE\xF2\x02\xC5\x00\x00\x11\xC5\xD2\x4B\x04\x04\x1F\xC4\x01\x27", + "\x88\xC0\x4B\xE0\xBD\x0E\xC3\x8E\xC6\x04\x0A\x26\xDD\x01\x67\x7B\x57\xC1\x1C\xC4\x20\x13\xA3\xC7\x70\x6A\x26\xC7\xF7\x17\x84\xB1\xC3\x9B\x67\x4D\xC6\x40\x04\x05\x0D\x29\xD0\xFC\xB6\x7D\xF4\x13\xA2\xC5\x7B\x69\xA9\xC7\xF2\xB7\x2A\xD0\x36\x29\x8A\xBB\xAD\xAB\xC5\x84\x6B\x43\xC6\x12\x3F\x2A\xC0\x00\x35\x00\x31\xC5\x03\x39\x3C\xC6\x43\x6D\x56\xC0\xC4\xA0\x0F\xDF\xAD\x1A\x50\x50\xC3\x66\xC1\xBF\xBD\x07\x41\x20\x41\x33\x58\x84\x8C\xC2\xA3\x0F\x00\x47\x53\xC4\x13\xC1\x09\xC3\x16\xE9\x75\x0E\x1A\x94\x2F\xA4\x4D\xB3\xC5\x5D\x4D\x03\x5F\x01\xDC\x86\xB9\x00\xE2\x11\xA8\xBF\xC4\x2F\x01\x58\x29\xC9\x12\xD9\x18\x62\x11\x2E\x02\x49\xB6\xAF\xC5\x64\x5F\x29\xD4\x11\xD1\x15\x60\xC5\x0B\x70\x35\xC7\x03\x51\x24\xCE\x2D\xC7\x37\x28\x8B\xF1\x75\xEA\xC4\xD0\xC0\xC3\xBB\x09\x0F\x2E\xD8\xE8\x71\x8B\xB9\xC1\xAD\xC5\xD4\x79\xBD\xC2\x39\x27\x2F\xC4\xFD\xA8\x89\xD1\x7D\xFB\xC4\xF0\x7E\x9A\xC5\x08\xCB\x23\xC0\xD4\xAD\x6C\xED\xBD\x6E\x45\x34\x51\xB7\xC7\x58\xCE\x5E\x41\x18\xC5\x41\x03\xC6\x9E\x67\x59\xC6\xE2\x16\x61\xC0\x00\x06\x03\x10\x8C", + "\xBB\x34\xBA\xC5\x33\xB8\x4F\xC3\x0D\x07\x31\xC3\xA3\x7B\x88\xEC\x00\x14\xC6\x38\x01\xC7\xC0\xA0\x6F\x2F\xCB\x41\x94\x8C\xF5\x00\x23\xC7\xC6\x28\x67\xC6\x0E\x04\x31\xC1\xE5\x91\x86\xAC\x63\x09\xC3\x3E\x99\xB6\xC2\x04\xCD\x87\x6B\x18\xE0\x8A\xA4\x06\x14\xC6\x41\x02\x9A\xC3\x96\x55\x2E\xC9\x3A\x43\x02\x14\xC6\xAF\xB9\x71\xC6\x93\x84\x5D\xCC\x30\xC0\x08\x08\x02\x14\xC6\x8C\x01\x9D\xC6\xBC\xC4\x13\xCD\x08\x14\x18\xD1\x02\x4A\xC6\xF8\xC4\x89\xC6\x24\x04\x62\xC6\x09\x10\x1A\xFE\x8B\xF3\xC4\x01\x03\x4B\x00\xC5\xC3\x13\x0A\x26\xC2\x4B\x6B\x88\xBE\x0E\x9C\x00\x35\xC5\x69\x7A\x7A\x22\x96\x53\x11\xC9\x9D\x1D\x01\x6A\xC4\x17\x7C\xD9\xC2\x47\xCC\x19\xDE\x04\x2A\x89\x98\x7D\x6B\xC7\x1A\xC3\x2C\xC2\x4D\xCA\xEA\x71\x1B\xFB\x80\x9C\xC1\xD3\xB8\xA1\xC6\xE3\xBF\x5D\x7F\x24\xD6\x0A\xE1\x02\x6A\xC4\xD2\x7C\xBB\xC7\x11\xC3\x47\xC2\x0A\x0A\x13\xC2\x3B\x02\xC7\x4F\xC0\x4E\xC3\x28\x02\x4D\xC0\x4D\x48\x1C\xE0\x7F\x9C\xC1\xA4\x00\x35\xC5\x9C\x4E\x71\xCD\xC9\x5A\x15\xDA\x73\xC2\xC6\x95\xBF\x77\x76\x63\xC1\x0B\x36\x0A\x0A\x13\xDE\x00\x94", + "\xC7\x95\xC3\x2C\x33\x29\x02\x4D\xC1\x8C\x14\x1C\xCD\x88\xA7\x15\xA8\x00\x35\xC4\xB9\x1C\x72\xC4\x21\xC7\x55\x29\x02\x6A\xC4\xD1\x42\xCA\xC7\x86\xC5\x5D\xC1\x10\x0A\x05\x2A\x89\xD8\x81\x94\xC6\x45\xC5\x16\x33\x15\x04\x1F\xCC\x05\x35\x8A\xBF\x82\xD2\x27\x63\x49\xCC\xC0\x20\x0E\x0A\x15\x14\xE9\x75\x47\x49\x36\xC6\x73\xC5\x40\x07\x15\x05\x2B\xD1\x05\x2A\x89\xC7\x49\x3D\xC7\x2C\x32\x2C\x05\x56\xC4\x0B\x0F\x1E\xE6\x8A\x92\xC6\xB5\x01\x5A\xC7\x2D\x06\x7A\xCC\x2A\xD2\x18\xF8\x02\x35\xC5\xBA\x00\xEE\xC6\xAC\xC5\x64\xCB\x0B\x15\x15\xFD\x02\x62\xC7\xB9\xC5\x7C\xC4\x40\x06\x17\x05\x2B\xC0\x06\x2A\x89\xA9\xAA\x9C\xC3\x69\xC6\xBC\x45\x07\x42\x24\x5F\xCA\x12\x8B\xD2\xC2\xD4\xC5\xB4\x3B\x1B\xC3\x47\xC1\x0C\x13\x19\xC2\x7B\xE6\xBF\xC9\xC7\xA4\x4C\x31\x04\x62\xC8\x0C\x0A\x13\xE8\x8A\x51\xC7\xD0\x1A\x75\xB8\x4F\xC5\x19\x06\x40\xD7\x1E\xE5\x8C\xCE\x01\x14\xC6\x69\x01\x03\xCD\x7B\xC5\x32\xCE\xE7\xBC\x84\xD7\x01\x13\xC9\xF1\xC4\xD6\xC0\x20\x08\x0D\x14\x18\xDC\x03\x19\xC8\xE9\xC6\x89\xC5\x3F\xBC\x27\xC1\x0E\x0A\x13\xF6\x81\xBB\xC4", + "\xE2\x00\xFF\xC6\xAA\x2C\xDB\xBE\x10\xC5\x19\xE5\x03\x14\xC6\xE9\x00\x13\xC9\xC4\xC5\x64\xCA\x0E\x14\x18\xEE\x03\x32\xC8\x18\xC6\xF5\xC5\x4F\xC4\x62\xC1\xD1\xA2\x1A\xC3\x9C\x32\xC1\x66\xC2\x8A\xC5\x46\xBE\x87\xC1\xF4\xBC\x04\xF9\x03\x14\xC6\x21\xBA\x22\xC9\x6B\xC2\x35\xC4\x31\xD8\xE3\x82\x8D\xFD\xC0\x3B\xC5\x01\x01\x67\x02\x5B\xCD\xD4\x37\xF9\x81\x90\xD9\x30\x84\xB8\x9E\xC2\x02\x05\x33\x0C\xEB\xB7\xF9\x88\x90\x9B\x17\x0B\x01\xCE\x02\x4B\x06\xA4\xBF\x44\xCE\x20\xDB\x90\x9B\x50\x62\xC9\xB1\x04\x17\xCB\xF4\x07\xF3\xA0\x22\xD9\x8A\x95\x00\x69\xC9\x60\x07\x1A\xC9\x5C\x17\xF3\xB2\x09\xC7\xA8\x71\xC8\xB8\x3F\x39\xCA\x79\x27\xE6\xB2\x10\xD0\x6E\x1F\x00\x78\xC8\x75\x20\x3D\xCA\x4A\x2D\x10\xCB\x23\xC4\x01\x02\x92\x98\xC1\x75\x5B\xC4\x64\x67\xC5\x04\x0D\x19\x1A\x13\x07\x92\xCD\x3A\xA9\x49\x2F\xCB\xA9\x10\x05\x0D\x48\xCC\x9C\x4F\x92\x8C\x40\xA9\x48\xA2\xC7\xCD\xC7\xC1\x45\x49\xCD\x28\x17\x92\xBD\x40\xA9\x48\x37\xC8\xED\xC1\x6A\x1D\x49\xD8\x1E\x1F\x92\xE9\x3A\xA9\x48\x3B\xCA\xA4\x3D\x94\xC5\xA6\x07\x25\xE5\x8C\x29\x49\x7D", + "\xC9\xCD\x14\x0D\x04\x95\xC0\x2A\x4E\x25\xEE\x89\x3F\x1C\xC3\xC6\x00\x03\x0D\x06\x96\xCE\x2C\xC5\x19\x7F\x38\x57\xC8\xD0\x1A\x1C\x00\x2D\xC8\x20\x0A\x03\x1C\x25\xED\x8B\x3F\x1C\x92\xC8\x31\x13\x0E\x03\x98\xC8\x64\x26\x26\xF2\x8B\x3F\x1C\x9A\xC8\xE5\xC5\x55\x6C\x99\xC9\xD7\xA2\x1A\xFF\x38\x22\xC9\x45\xC7\x83\x18\x33\xCB\x08\x0E\x4C\xD0\xFF\x3F\x38\x2A\xC9\x01\x18\x66\xCA\x11\x05\x9B\xC7\x13\x1F\x71\x31\x92\xA7\x15\x8F\xBA\xB4\x4C\x40\x02\xB1\xB2\x34\xDA\x6E\x5C\x44\x77\xC7\x25\x46\x25\x00\x33\xCD\x07\x42\xFE\x19\x25\xCC\x01\x64\xC9\xA3\x0E\xF1\x1C\x30\xCB\x73\x1D\x04\x0C\x26\xCF\x01\x78\xC9\x20\x5F\xCC\x64\x67\xC0\x0A\x0C\x4C\xD2\x02\x00\x94\xBB\x5F\x9F\x66\xCE\xC3\x14\x04\x99\xC4\xAC\xA2\x1A\xE2\x3F\x58\xC9\x9B\xC9\xFF\x28\x33\xC8\xB3\xBE\x50\xC5\x22\xD6\x85\x94\xBB\xEA\xC9\x5D\x1F\x41\xCD\xF6\x52\x14\x3A\x15\xDC\x01\x4C\xC9\x5E\x01\x8D\xCB\x23\x61\x2C\xC3\x4A\xC0\x00\x1C\x76\xC2\xC6\x3D\x40\x57\x1F\x3E\xCF\x54\x10\x06\x0C\x26\xE0\x76\xC2\xC6\xAE\x1D\x64\xCA\xCF\x0B\x0C\x0C\x4C\xC5\x03\x22\x94\x89\x61\x12\x4C", + "\xCE\xC2\x19\x04\x99\xC8\x06\x17\x29\xE5\xC1\x1E\xC6\x9C\xC3\x34\x00\x33\xCB\x0D\x0E\x53\xCE\x75\x20\x93\xE0\x8B\xCC\xC8\x37\x01\x51\xC8\x42\xB7\x46\xCF\x03\x0C\x93\xF1\x00\x3E\xCA\x51\x63\xD7\xC6\x91\x02\x07\x1E\x29\xF0\x3C\x52\x27\xA2\x60\xE4\x48\x3C\xCA\x58\xC9\x3F\xC5\x19\x62\xC2\x66\xC6\x59\x31\x39\x02\x4F\xCA\xE9\x18\x55\xCC\x1B\xFA\x8A\xF4\x00\x3E\xCA\xA2\x1D\x59\xCA\x6E\xC6\x15\xD5\x03\x3E\x94\xA2\xBF\x45\x62\x4F\x57\x00\xC6\xA7\xC4\xC3\x0B\x2B\xD5\xAD\x0C\xBE\xAB\xBA\xA1\xC7\x8E\x46\xAE\xC3\x38\xDC\x0C\xF8\x01\x3E\xCA\x66\x86\xBE\xC9\xE2\xC6\x2A\xC9\x07\x1E\x29\xDF\x0F\x82\xCB\x8F\xC6\xAB\xC2\x1E\x06\xA7\xC8\xFA\xB1\x2B\xF3\x71\xA5\xC6\x7B\x00\x9F\xC9\xEB\xBE\xB1\xCE\x79\x4C\xF8\xB3\x76\xC2\xC6\xFC\x88\xC4\xCA\x81\xC2\x57\xCD\x07\x1E\x29\xFB\x7E\x94\xCB\xCB\xBE\x89\xC7\x6D\xBA\x68\xC1\xFC\xA0\x2D\xD8\xAB\x3C\xC0\x3E\xCA\xE4\xBE\x69\xC9\x35\xCC\x09\xCF\xED\x82\x8D\xCE\xBF\xAB\xCA\xDD\xC4\x74\x19\x10\x07\x49\xC2\x04\x0C\x93\xCE\x8D\xD2\x27\x77\x1A\x56\xC9\x6D\x4C\x55\xD3\x1F\xE9\x75\x70\xC2\x3B\xC4\x42", + "\x03\x14\xCC\x66\xC4\xEA\x2D\x21\xE7\x91\x87\x01\x80\xC8\xEA\x3E\x4F\xCF\xCD\x32\x53\xCE\x24\x0C\x02\x49\xCB\x00\x03\x9D\xB6\xD0\xC7\xCD\x31\x4D\xC9\x3A\x51\x02\x50\xCB\x00\x01\x4A\x03\x72\xCB\x69\xC6\x15\xD6\x04\x18\x97\x9A\x01\xDB\xCB\xA8\xC5\xC9\xC7\xBC\xBC\x13\xDF\x04\x21\x97\xD7\xC6\x0C\xBE\x50\x00\x76\xCC\x14\x0E\x53\xD8\x0B\xFB\x88\xA5\x01\x3E\xCB\x1E\x40\x1F\x13\xA5\xC2\x86\x18\xEF\x99\x94\xA8\x01\xED\xCB\x19\xCB\x19\xCC\xBF\xB9\x51\xCB\x05\x39\x97\xB9\xC8\x12\xC6\x56\x00\x33\xCE\x15\x0F\x5F\xC0\x2A\xFA\x8A\x85\xBC\x6F\x4E\x80\x01\x2C\x05\xC0\xC4\x32\xC7\x23\xF2\x02\x4C\xC9\xB4\x00\x06\xCE\xCA\xC2\x57\xC5\x0B\x0C\x26\xF7\x02\x3E\xCA\x37\x11\x5C\xCB\x84\xB8\xA5\xC9\xD6\x37\x41\x34\x97\xBE\x0E\xB9\x00\x66\xCB\x2E\x00\xC3\xCA\x5F\xCC\xF8\xBC\x02\x4C\xC9\xBE\x00\x12\xCC\x80\xCD\x64\xCF\x0B\x0C\x26\xDC\x78\xC2\xC6\x37\x10\x88\xCA\x34\xCB\xA9\xAC\x4C\xC4\x06\x2A\x98\x9A\xC8\x0C\xBF\x62\x00\x33\xCF\x18\x07\x63\xC1\x21\xE5\x8C\xC8\x01\xCC\xC8\x65\x02\x4F\xCC\x00\x4F\xE7\x1B\x2A\xFD\x92\xBD\xCB\xF0\x3F\xBE\x67", + "\xA1\x4E\xC8\xCD\x55\xC8\x32\xF7\x04\x11\x67\xDA\x5B\x60\xC7\x91\xCB\xCA\xCD\x2E\x48\x9D\x7D\x82\x1E\x45\x4E\xCD\xD1\x0C\x15\x6A\x14\x62\x65\xCD\x32\xD4\x99\xF2\x45\xB7\x1A\x27\x1C\x93\xCE\xB7\xC1\x15\xC5\x19\x62\x38\x72\x4D\xD9\xC8\xF9\xC4\xC0\x41\xAD\x37\x1B\xDB\x11\xCB\x03\x71\xCB\x6C\xCC\xE3\xC8\xC3\xBC\x19\x0C\x4C\xCC\xF2\x82\x8D\x8D\x6A\xCD\xCB\x9B\x03\x33\x04\x99\xC5\xE5\xB7\x33\xE6\x91\x8C\xBE\xD2\x00\x66\xC8\x35\x06\xA7\xCD\x50\x72\x31\xC9\x9D\x55\x01\xCC\xC8\x2D\xBE\x9F\xCA\xBC\xC7\x46\xD8\x06\x0C\x93\xDA\x01\x84\xCC\xA6\xC8\xC3\xBB\x1B\x0C\x4C\xDD\x06\x3E\x94\x9B\xB2\x3B\xC4\x35\xCF\xC6\xB8\x38\xCA\xF4\xB2\x18\xDE\x03\x3E\xCA\xDC\xBE\x4E\xCE\x3B\xB4\x33\xCF\x0D\x1E\x29\xE2\x7F\xA2\xCD\x00\x02\xE4\xC1\x49\xC8\x1C\x0E\x53\xCD\x46\x92\x4F\x02\x40\x41\xC5\x4C\xC5\x38\x06\xA7\xC5\x98\x8F\x35\xF2\xA9\x0C\xBE\xE2\x00\x9F\xCB\xFD\xB8\xD5\xC9\xB6\x4C\xF8\xA3\x03\x3E\xCA\xB6\x94\x5B\xCE\x5C\xC4\x33\xC4\x0E\x1E\x29\xC4\x80\xBC\xCD\xDA\xBE\xE8\x19\x39\x06\xA7\xCB\x00\xD1\x01\xC2\x80\x07\x53\x0C\xBE\x73\x02\x4F", + "\xCD\x7D\x92\x6C\xCF\x2C\xE7\x91\xE7\x01\x3E\xCB\xF7\x95\xB5\xCD\xB2\xCC\x09\xC8\x07\x3E\x94\xAB\xA3\xCE\xCD\x7C\xBC\x27\xC1\x1D\x0E\x53\xC8\x90\x9B\x9B\xA1\xCB\x34\xC8\x9F\xC9\x79\xA1\xDC\xCE\x9E\x4C\xF8\xAB\x03\x3E\xCA\x30\xC0\x76\xBE\x00\x43\x76\xC9\x4D\xCC\x07\x3E\x94\xB7\xC0\xBC\xCC\xD9\xCB\xE6\x15\x1D\x07\x49\xCE\x07\x0C\x93\xBD\xC0\xD9\xB3\x19\xB2\xAE\xC0\x1E\x0D\x19\x09\x36\xF2\x3F\xD1\x56\xF2\xB1\x17\xB3\x19\xCC\x1F\x05\x70\xC3\x3D\x16\x82\xB2\x53\xF2\xB1\xE3\x45\xD2\x4A\x6D\xB1\xB5\x5D\x01\x56\x43\xA3\x4C\xF2\xB1\x0A\x35\xD2\x4D\x64\xB5\x71\xC9\xEB\x3D\x82\xD4\x54\xF2\xB1\xF7\x9E\x0E\xC9\xD2\xBD\x71\xC5\x19\x67\x53\xA0\xCE\x13\x03\x04\xB0\x67\xC0\xD6\xB5\x72\xCE\x13\x4A\x57\x98\xCE\xE6\xB0\x89\xC4\x0F\x04\xAD\x36\x70\xDC\xB9\x88\x9C\xBB\x9B\x12\xC6\x24\x00\x5B\x39\x5A\xC9\x7E\xB8\x4C\x72\x63\xAE\x9D\x0C\xBF\x2A\x03\xCE\xCB\xF4\x0A\x83\xA9\x5C\x72\x63\x8F\xCE\x12\xC6\x31\x03\xD0\xC9\x5C\x1A\x9A\xB0\x39\xD9\x21\x9C\xC3\x6F\x01\xA5\xCE\x79\x24\x3D\xCA\xBE\x52\xC7\x8D\x23\x96\xCB\x52\xCE\x95\x2B\x90\xC5", + "\xEA\xC5\xDF\x9C\x0C\xC9\x02\x59\xCE\xFE\xBA\x71\x12\xD3\xCD\x58\x7C\x19\xD6\x04\x2C\x75\x46\xC5\xF2\x45\x19\x02\x38\x12\x03\x52\x8F\xA0\x37\xD2\x8C\xA4\x01\x60\xCF\xA6\x3A\x10\x02\xEC\xC9\x9D\xA8\x90\x8C\x7C\xB1\x01\x71\xCE\x06\x40\x14\x04\xEE\xC1\x99\xBB\xC2\xBB\x88\xBE\x01\x34\xCF\xD1\x0E\x17\x02\x1C\x1D\x9C\x12\xC7\xAD\x61\x8C\xBE\xCA\x01\xC0\xCD\xB8\x14\x63\xC7\x73\xDD\x2D\x5D\x06\x0C\xBE\xD6\x01\xB3\xCF\xE8\x0A\x95\xBC\x98\x52\xC7\x8E\x01\x0F\xCF\x9C\xC0\x72\x02\xE4\xC9\x5C\x17\x34\xD5\x3C\xD3\x04\x26\xC1\x3A\xC8\x79\x01\xDE\xCD\x07\x48\x09\x1C\x3B\xD5\x67\x95\x9E\x99\xCD\xD1\xCD\x5A\x3D\x73\xCC\x75\xDC\xD2\x7A\x8A\x8C\x00\x2B\x02\xB4\xCC\xFC\x3D\x7A\xC1\xBA\x52\xC7\xBC\x13\x8C\xBE\x1A\x01\x95\x00\xCF\xCA\xB5\xA6\x7A\xC2\x08\x32\x63\xEC\x8E\x0C\xBF\x13\x02\xEE\xCB\xF4\x01\x0D\x1D\x3D\xC1\x04\x72\xB1\x06\xCA\xCE\xC0\x0D\x01\xF6\xC3\x7A\x09\xE4\x9E\x9E\x9C\x7D\x98\xCE\xAB\xC2\x10\x04\xF9\xC1\xAE\x0F\x07\x22\x23\x67\x3D\xF2\xB0\x82\xCB\x40\xCC\xFA\xC5\x1F\x37\x3E\xD9\x67\xDA\xCF\xBA\xC4\x2F\x00\xF7\xCA\xA5", + "\x24\x46\xC7\x56\x72\x63\xD4\x36\x19\xB7\xF1\xCF\xC4\x2F\x8F\xC5\x7B\xD7\xB0\x5C\x86\xFA\x00\xEA\xCF\xA6\x3A\x0B\x05\x33\x0C\x76\xD3\x08\x0E\x4A\x8C\xBE\x88\x01\xE1\xCD\x29\xC3\x25\x0C\x6F\x1D\x0C\x23\x9D\xA0\xA6\x9C\xC3\x4B\x02\xFE\xC8\x73\xAC\x7F\xC8\xDA\x7E\x9F\xD9\xB3\x9B\xA2\x5D\xC6\x29\x03\x00\xDF\x43\xA5\x40\xEB\xFF\x07\xD0\x7D\xCF\x38\xA7\x8E\xC5\x16\x0C\x80\xC1\x08\x02\x03\x0E\xD0\x0B\x03\x33\x00\x04\xD7\xF4\xCC\x6A\x32\x18\xC4\x03\x15\xD0\x27\xAE\x0C\xD2\x40\x06\xAD\xCD\x7A\xCC\xFC\x9C\x86\xD3\x01\xF1\xCE\x00\x01\x38\x02\x04\xD1\x10\x03\x04\x34\x9F\x82\x6A\x00\xB2\x5F\xCF\x4A\x03\xE4\xB0\x83\xCB\xCA\x99\x9A\xF8\xC7\x64\xCC\x37\x47\xEA\xAA\xE0\xCA\x43\xC4\x07\x2B\x04\x50\xCD\x69\x3A\x49\x01\x67\x05\x39\x1B\x7A\xAA\x38\xCC\x7C\xEF\x01\x3F\xD1\xD1\x0E\x79\xC9\x6A\x5B\x7A\xB2\x38\xD9\x61\x7A\x01\x2B\x03\x9A\xCD\x40\x02\xC0\xCA\xBE\x4B\xBD\x9A\x9C\xD8\xC8\x09\x18\x29\xD0\x40\x02\x17\x0B\x81\xC1\x0F\xEE\x3F\xBB\xC4\x12\x01\x2C\xD3\xE8\x08\xC8\xC5\x85\xC9\x39\xFB\x88\x9E\x00\x62\xD1\x70\x16\x35\x05\x0B\xD1", + "\x10\x0B\xBD\xA0\x85\xA5\xC6\x2A\x01\x04\x18\x10\xD5\x64\x45\x6C\xCC\x42\xF8\x9C\xA5\xC6\x35\x01\x34\xD2\x79\x21\x1E\x0C\x86\xC7\xA8\x53\x04\x40\xCE\x9C\xC1\x20\x02\x1E\xD1\xF6\x2D\x87\xD6\x15\xD3\x04\x48\xCE\x25\xC7\x26\x03\x20\xD3\xE2\x2D\x00\x1B\x3C\xE4\x68\xCF\xCE\xBA\xC5\x2C\x03\x22\xD5\xA9\x3B\x01\x0E\x44\xDE\xA1\x95\x92\xBA\xC5\x32\x03\x24\xD4\x01\x4F\xE9\xA5\x43\xCE\x04\x51\x9B\xE1\xBF\x4D\xD1\x0F\x47\x06\x06\x89\xCD\x43\xCE\xEC\x1C\xC3\x7D\x01\x04\x1B\xEE\xCA\xF7\x6C\xD6\x3A\x40\x6B\x5E\xEE\xCE\x25\xC6\x45\x02\x28\xD1\xAD\x34\x05\x05\x45\xFE\xA1\x8E\x02\x76\xCE\x4E\xC2\x25\x03\x16\xD5\x32\x4A\x3A\xDE\xA2\xFE\xCE\x9C\xC2\x51\x02\x1C\xD3\xF4\x00\x07\x19\x3B\xEB\x5E\x87\xCF\x9C\xC1\x56\x03\x30\xD1\x5C\x1D\x07\x06\x46\xD9\xF2\x51\xCF\x99\xC4\x5C\x02\x2A\xD3\xF4\x0A\x08\x0C\xEB\x27\x7B\x2B\xAF\x97\xCE\xCE\xC1\x31\x03\x1A\xD1\xAE\x1A\x04\x16\xA3\xA6\xA9\xA5\xC1\x1D\xC6\x34\x04\x17\xDE\x26\x4A\x05\x36\xA2\x86\xD1\x0E\x03\x91\x9C\xC3\xBE\x1B\x04\x8E\xDD\xF7\xB8\x02\x67\xD1\xAB\xAE\x67\x4D\x36\xCA\x1D\x0C\x8D", + "\xC6\x8F\x06\x03\x2D\xD1\xE0\xD1\x85\x03\xED\xCC\x13\xC7\x0F\x0D\x47\xED\x8B\x55\x01\xF0\xD1\xD4\x8C\x67\xC3\x00\x00\x8E\x1A\x42\xC0\x00\x63\x01\x01\xD2\xE8\xCC\x67\xC7\x01\x00\x8E\x0B\x45\xC2\x04\x71\x01\xDF\xD0\x1B\xD2\x42\xD2\x57\xCC\x01\x0D\x48\xE3\x1E\x01\x00\x2B\x03\x6B\xD0\x69\x78\x1A\xD5\x52\xC9\x01\x16\xA4\xE1\x15\x11\x01\x8C\xD1\x3E\xD3\x68\x3C\x91\xD9\x26\xF6\x00\x1F\xD2\xE6\x23\x10\x02\x48\xD2\x22\xDC\x66\x7C\x0C\xC3\x01\x28\xD2\x2A\x2B\x18\x03\x4A\x06\x15\xDE\x7E\xDA\x15\xD0\x01\x30\xD2\x13\x2E\x20\x03\x4C\xD3\x24\xD6\x2D\xBB\x11\xDD\x01\x05\xD2\x13\x03\x34\x00\x38\x17\x14\x29\x82\xCB\xBD\xAB\x4B\xBA\xBF\x40\xD2\xEA\x97\x50\xD1\x13\x85\x94\xD3\x08\x09\xA0\xBA\xC8\x79\x01\xA4\xD3\x6A\x9B\x29\xD6\x58\x8D\x4A\xCE\x04\x2A\xA4\x0C\xBF\x43\x02\x54\xD2\x20\x03\x09\x14\x4A\xD8\x2F\xD6\xD2\x09\x3A\x1D\xC9\x25\x03\x2B\xD3\xDC\x1E\x4A\xE6\x38\xE0\xD2\x1A\x7C\x5D\xC7\x28\x00\x27\xD0\x10\x10\x05\x26\xA5\x96\xB8\x3B\xD3\x2E\xA9\x0C\xD4\x13\xC2\x0B\x00\x47\x34\xA0\xAB\xBC\x52\xB6\x5D\xC7\x2C\x06\x2E\xD7\x4A\xAF", + "\x4B\xCD\x75\x02\x4A\x3C\xD0\x89\xC6\x2D\x00\x1C\x13\x87\xCE\x13\x64\x02\x20\xD0\x07\xB4\x16\xB0\x67\xC1\x18\x04\x98\xC3\x3D\x31\x02\x08\xD3\x02\x4A\x27\xD0\x74\x1C\x19\x04\x96\xCD\xEA\x3E\x02\x29\xD0\x02\x4B\x2B\xD0\x74\x18\x1B\x05\x99\xCC\x00\x4C\x03\x18\xD3\x13\x02\x91\xCE\xC4\xC4\x1C\x0D\x99\xDD\x01\x5A\x03\x20\xD3\x33\xC3\x81\xCD\x69\xD1\xAD\x38\x0E\x08\x4D\xEA\x63\xBA\xC5\xFC\x01\xC6\xD1\xB8\x16\x1E\x00\x99\xD7\x43\xE7\x91\x87\x00\xB5\x4E\x83\xD3\x00\x01\x81\x13\x62\x42\x28\x40\xA2\xD6\xC2\x13\x01\xDC\xD2\xA0\xB4\x37\xDE\xB4\xAB\x08\x08\xA2\xE7\xC8\x1F\x00\xE1\xD1\xB8\x17\x03\x04\x9C\xD9\xBD\x90\xA2\xBA\xC8\x2B\x00\xE5\xD2\x79\x25\x05\x0D\x9C\xCB\x08\x02\x94\x57\xCE\x9C\xC1\x1B\x02\x74\xD2\xA5\x2B\x03\x15\x4E\xE9\x7D\xE1\x9B\x3B\xC5\x21\x03\x76\xD3\xE2\x29\x04\x1E\x4E\xC8\x64\xEB\x3D\x3B\xC5\x27\x01\xED\x4E\x21\xD5\xF0\x69\x60\x1A\xA0\x02\x4A\xB0\xD1\x33\xC8\x17\x03\x3C\xDD\xD4\x26\x03\x26\xA7\x83\xAF\x02\x03\x5C\xD2\x55\xC0\x0D\x04\x9F\xCC\x00\x74\x01\x77\xD3\x89\xD2\x80\x02\x4F\xC5\x64\xC4\x07\x15\x3D", + "\x45\xA6\xFD\xBD\x82\x01\x7A\xD3\x77\xD0\x00\x08\x8C\xD6\x0A\xFF\x01\x06\xD4\xA3\x0F\x47\x02\x82\xD7\x3C\xD0\xCD\x65\x49\xD1\x94\xA3\x27\xEB\xD3\xD1\x0C\x27\x01\x81\x17\xEE\x22\x28\x59\xA3\xBA\xC5\x97\x01\x0C\xD5\xB8\x14\x15\x0C\xA1\xC5\x4E\xC2\x04\x20\xCF\x6F\xCF\xFE\xD1\x0F\x44\x17\x00\xA0\xC2\x28\x6A\xA3\x9C\xC1\xB0\x00\x15\xD5\x5A\x3A\x19\x0D\xA2\xD0\xD2\x7A\x90\xBC\x01\x22\xD4\xF3\x20\x36\x06\x3D\xD6\xA2\xC1\x08\x3B\xA3\xD6\xC2\xC9\x00\x19\xD5\xC9\x47\x1C\x05\xA3\xC4\x3D\x9C\x86\xD5\x01\x42\xD4\x37\x45\x3D\x05\x48\xD0\xEA\x76\x50\xF3\x98\xE1\x01\x39\xD4\x95\x28\x41\xD4\x31\x52\x50\x49\x3E\xFA\x8A\xEE\x01\x51\xD5\x89\x2F\x04\x00\x1C\x1D\xA1\xDB\x48\xDC\x86\xFB\x01\x59\xD5\xA6\x3B\x08\x04\x4B\xDD\xA3\xCC\xF0\x4E\xA9\x93\xCE\x67\x46\xF6\xD2\x25\x34\x4C\xDE\x9C\xCD\x49\xFA\x8A\x95\x00\x69\xD5\xD1\x0F\x4B\xD1\x74\x52\x50\x49\xAD\x44\x8A\xF1\xD4\xE1\x14\x29\x00\x38\x17\x3D\xD6\x7F\xDB\x11\xEF\x00\x67\x46\x06\x3D\x1D\x03\xD9\x47\x53\x00\x8E\x1D\x4D\xD3\x04\x47\xD2\x9C\xC1\x1E\x00\xA0\xD1\xE4\x33\xA8\xCD\x36\x85", + "\xAA\xE5\xD4\x00\x01\xA7\xD2\xC4\xC3\x09\x0B\xA8\xDF\xF0\x0D\xAA\x8E\x02\x7D\x01\x47\xD5\x9B\xD2\x02\xDC\x19\xD9\x02\x15\xAA\xC8\x86\x97\xD4\x6F\x3E\xA6\xD6\x3A\xD2\xA0\x1C\x0C\xE7\x01\x1F\xD5\x80\x93\x50\xD5\x2E\xA3\x54\xDB\xA0\xC5\xED\x4C\x7C\xF5\x00\x78\xD5\x85\x02\x20\x02\x55\xD1\x10\x07\x05\x3B\xA9\xB0\xB2\xB4\xA8\x86\xBC\x21\x07\x6C\x47\x97\xD7\xCF\x94\xA8\xA5\xC6\x9A\xCD\xD1\x0C\x65\x1F\x51\x7C\xF0\xA5\x04\x3C\xAA\xC4\xCB\x72\x0E\xD7\xCE\x0E\xCE\x10\x07\xAC\xDF\x1F\xF0\x6E\x26\x2E\x9C\xC3\x43\x01\xB3\xD3\x85\xCA\x96\xAC\xB0\x7A\x8A\x88\x01\xD3\xD4\x64\xC7\xB3\xD0\xC2\x7A\x43\xC9\x04\x19\xAB\x81\x02\x8A\x00\x5A\xD5\x53\x39\xAA\x67\xE9\x23\x33\xF0\x7F\x0C\x01\xE2\xD4\x06\x42\xAC\x18\x82\x39\x74\x4E\x04\x1F\xAB\xD4\xC1\xED\x45\xD4\x69\x54\x6D\xCB\xC9\x83\xDF\x32\xF7\x88\xDF\x86\xE2\x10\x86\xBF\x23\x07\x5D\xDC\x00\x43\x4C\xF0\x7C\x88\x1A\xB7\x40\x5F\x31\x99\xC9\xCB\xC1\x6C\x73\xF5\xB1\x8F\xE9\x3A\x90\x01\x74\xD5\x0F\x45\x60\x26\x31\xDC\x0C\xD2\x02\x7C\xD5\x3D\x41\x5B\x00\x5F\xD4\x49\xCC\xAE\xD9\xC2\x13\x02", + "\x10\xD6\x38\xD0\xF8\x3D\xD9\x6F\xD0\x36\xAE\xDB\x34\xE1\x2B\x16\x1E\x81\xD3\x92\xC4\x25\x07\x6C\x47\xA0\xCD\x17\x78\x02\x6C\xD2\x7E\x70\x10\xB0\x67\xC7\x13\x04\xB2\xC3\x3D\x05\x03\x28\xD6\x16\x1E\xC9\xD3\xE6\x12\x15\x08\xAA\xD3\xB8\x12\x03\x2C\xD5\x54\x70\x1E\x86\x0E\xCE\x16\x05\xB3\xCD\xEA\x20\x03\x38\xD6\x8C\x71\x85\x02\x68\xD5\x64\xC2\x0C\x1D\x59\xCC\x80\x6E\x01\x40\xD7\x94\xD7\x42\x02\xE5\xCA\x2B\xCE\x06\x06\xAD\xBD\x40\xB1\xD2\xF5\x56\xC5\x1F\x0D\xD7\x46\xDA\x06\x2D\xAC\xE1\x15\x0A\x01\x30\xD6\xD2\xD4\xB7\x9C\x19\xC5\x07\x0F\xAD\xD3\xC0\xB5\x4F\x11\x4E\xC5\x1F\x37\xD9\x29\xD1\x07\x1F\xAD\xA5\x46\x25\x01\xB0\xD4\x28\x72\x20\x07\x9C\xCC\xF8\xBD\x03\x67\xD6\x6E\x45\x19\x02\xDA\xD2\x16\x73\x81\x8B\x0F\xEC\x79\x06\xD2\x41\x01\xB9\xD4\x52\x20\x13\xDA\x43\xD5\x00\x37\xAD\xA3\x0F\xEA\xD2\xA9\xD5\xD7\xCA\x57\xC1\x02\x1F\x5B\xE1\x2B\x5D\x00\x7A\xD7\xDA\x44\xB1\xD4\x13\xCD\x02\x0C\xF3\x2A\xA9\x80\x00\x6B\x01\xDA\x4C\xA3\xB5\x94\x9B\x23\xDA\x01\x06\xAE\xE6\x23\x7A\x01\xC4\xD5\xCE\xD7\xA4\x9C\x19\xC6\x02\x17\xAE\xAA", + "\x2A\x88\x00\xCD\xD5\xD0\xD5\x0A\xBB\x23\xD2\x02\x2C\x79\x25\xD6\xF2\x44\x4B\x02\xD6\xD6\xE2\x1D\xA0\xD9\x14\xDD\x01\x27\xD7\xA3\x0F\x51\x03\xEA\xD7\x19\xDC\x19\xC8\x03\x0E\xAE\xA3\x0F\x31\xD4\xC6\x52\xC5\x1F\x43\xDA\x43\xD5\x03\x37\xAE\xE1\x15\xC0\x01\xDA\x4F\xB9\x3E\xE2\x18\xA2\xC5\x19\xC2\x02\x1F\xD7\x13\x2E\x68\x02\xE8\xD3\x6B\xDA\xF5\x9C\x0C\xCE\x02\x48\xD7\x4D\x3A\x6F\x03\xF2\xD6\xE2\x12\x8F\xD7\x50\xDA\x02\x3F\xD7\xE6\x22\x76\x02\xE4\xD3\x6D\xDE\xA3\xDB\x11\xE7\x02\x50\xD7\x0C\x40\x30\xD6\xE0\xD6\x48\xDA\x97\xC0\x5F\xE1\x82\xE7\x46\x62\xD7\x4B\x7F\x99\xD1\x0B\x3F\x0B\x18\x5E\xDA\x9D\xE7\x46\xC3\xD6\xF5\xD4\x67\xC4\x19\x0E\xBE\xD3\xB8\x27\x00\x70\xD7\xDC\xD6\x33\xD4\x67\xC1\x1B\x05\xBF\xCE\x0F\xF8\xAF\xB2\x71\xE0\xCE\x1D\xCA\x39\x05\x7F\xDC\x00\x47\x02\x3F\xAF\xFB\xD6\x71\x30\x1D\xCB\x3C\x04\x80\xDD\x03\x57\x02\x27\x8D\x13\xD7\x1A\x6C\x89\xC4\x13\x5F\x71\xD6\x06\x0F\x60\xF9\xAF\x9E\xBC\x3B\xC5\x06\x03\xCF\x06\xC0\x39\x01\x1F\x19\x2D\x06\x30\xD5\xE3\xD7\x71\x2F\x8E\xC3\x03\x0B\xC1\xCB\x16\x1E\xB0\x8F\xB6", + "\xE8\xD7\x0B\xDA\xA4\xD5\x64\xC9\x02\x05\x61\xCB\x65\xA7\xD8\xE9\xD1\x14\xDA\x2C\x70\x2B\xD9\x9D\xCE\x61\xD0\x7A\x30\xD8\x8D\xA4\x19\xD8\x02\xDA\x67\x3A\x2B\xC5\x02\x36\xB0\x84\x7D\x38\xD8\x81\x01\x2B\x02\x87\xD5\x3B\x4E\x55\xDC\x82\xD3\x00\x3F\x07\xE6\x10\x18\x01\x88\xDF\x4F\xB6\x60\xD4\xE5\x6C\xB2\x3A\xC8\x31\x03\xCF\x05\x57\xDF\x97\x2F\x62\xC7\xAC\x83\xD6\xF6\xD5\x9B\x00\x02\x40\x95\x3D\xB1\xC8\x56\xE9\xEB\x19\xCA\x0C\xBF\x31\x03\x14\xDB\xF4\x0A\x0C\x1C\x57\xCF\xEA\x60\xCA\xD0\x1A\x32\x03\x18\xD9\x5C\x1B\x0C\x06\x63\xE6\x95\xBA\xC8\x65\x01\x35\xDA\x79\x24\x19\x0E\xC6\xCC\x2B\xD9\x8A\xE6\x00\x72\xD8\x95\x29\x33\x05\x8E\xD7\x37\xD6\x0A\xE7\x01\x79\xD8\x13\x2E\xA7\xD4\xCC\xBF\x51\x7D\x37\xD9\x14\xE8\x01\x00\xD9\x4D\x3B\x67\x00\x1F\xDD\xAF\xCA\x2B\xC9\x03\x08\xB2\x8C\x40\xD0\x01\x45\xDB\x60\xC9\x53\xCA\x06\x0F\x64\xFD\x80\x51\x01\x92\xD9\xC4\xC9\xA6\xC3\x0D\x06\xC9\xC9\xEB\x12\x03\x19\xD9\x95\xC6\x1D\xC8\x1B\x05\x93\xD5\x32\x53\x06\x20\xB2\x9B\xC7\xD0\x1B\x36\x00\x29\xDE\x4D\x44\x0D\x00\x65\xE1\x8E\xD0\x1B\x6E", + "\x01\x55\xD9\xBF\xBD\x1A\x00\xCA\xC7\x1D\xE2\x21\x6F\x00\xB2\xD9\x76\x46\x35\x00\x94\xDD\x3A\xC2\x43\x30\x01\x39\xD9\xF2\x45\x6B\x00\x28\xDC\xDE\xC7\xA1\xD1\x03\x00\xB3\xF0\x3F\xD8\x00\x50\xDA\xBE\xCF\x54\x12\x07\x0F\x64\xF3\x01\x4C\xD8\x00\x03\x6C\x00\xBF\xD6\x64\x71\xB2\xC7\x23\xF5\x01\x3F\x06\xA8\xD6\xF8\x3E\xD5\xD1\x6A\x56\xB2\x66\x42\xED\x96\xD8\xD9\xA3\x0F\x73\x01\xAC\xD3\x70\x7F\x1B\x92\x18\xCB\x02\x3F\xD8\x13\x2E\x7A\x00\x11\xD9\x20\x06\xB2\x7A\x4C\xDB\x2E\x17\x01\xE8\xD9\xA6\x3A\x00\x04\xCD\x33\x62\x46\xD9\x43\xAD\xE7\xC8\xA3\x01\x78\xD8\x03\x40\x02\x04\xCF\xD4\xDA\x69\xA6\xBA\xC8\xAF\x00\x7D\xD8\x28\xCD\x9F\xD0\xB6\x6B\xC7\x92\x8C\xBB\x01\xE0\xD9\x70\x14\x0B\x04\x80\xD6\xB2\x72\x6D\x8C\x7C\xC6\x01\x02\xDB\xB4\x39\x0E\x04\xA0\xD6\xB8\x6E\x08\x24\xAD\xA5\xCA\xD2\x01\x88\xD9\xC9\x47\x08\x04\xD1\xC4\x67\xEC\xAD\xBB\xC4\xDE\x00\x8D\xDA\x9B\x45\x0A\x0D\xD1\xCC\x67\xC5\x21\x9C\xC3\xEA\x00\x91\xD9\xBF\xBB\x0C\x05\xD2\xC5\xEC\x8E\x24\xBB\xC4\xF6\x00\x95\xD9\xBB\x41\x0E\x0D\xD2\xCF\xDB\x43\xAE\xBA\xC8\x02\x00", + "\x8E\x52\x41\xD7\x0F\x05\xD3\xC6\xD9\x4B\xAE\xD6\xC2\x0E\x00\x8E\x53\xE3\xD5\x11\x0C\xE6\x3A\x40\x66\xEC\x71\xD3\x34\xBE\x9D\xDA\x86\xD5\xA7\xD5\x20\xBB\x11\xE7\x00\x4A\xDA\xE1\x14\x55\x00\x53\xD9\x0B\xBB\x23\xD3\x01\x1C\xA4\x59\xD9\x37\x02\x5C\x00\x43\xDB\x22\x0D\xBA\xC5\x29\xFE\x00\x57\xDA\x2E\xD7\xAD\xDA\xE3\xCC\x33\xC9\x04\x02\x6A\xE3\x1E\x52\x01\x6C\x3D\x73\x3E\xC9\x74\x77\xD2\x31\xD6\x02\x26\xB5\xE1\x15\xE2\x01\xB4\xDA\x3F\xDC\xFD\x9B\x23\xC3\x03\x10\xB5\xE6\x23\xF2\x01\xA9\xD8\xD1\x9B\x47\xCF\x06\x17\x6B\xFA\x7A\xBF\x06\xF5\xD8\x1B\xD6\xC4\xC3\x0F\x0F\xD6\xC6\x8F\x0E\x00\x3F\x06\x46\xDB\xD9\xBC\x67\xC0\x11\x0E\xD7\xD3\xB8\x1D\x00\x00\xDB\x73\xDA\xBD\x8E\xAE\xC4\x12\x0D\xD8\xCD\xEA\x2B\x00\x10\xDB\x05\xDB\x26\xD4\x67\xC0\x14\x05\xD8\xCA\xA9\x39\x00\x3F\x06\x6A\xDA\xF9\xD6\xAE\xC5\x15\x0D\xD9\xC4\x4F\xE0\xB6\x91\xDB\xA9\x7B\xF5\xD4\x74\x1A\x17\x05\xDA\xCD\xEA\x19\x01\x27\xDB\x99\xDA\x92\xD0\x67\xC7\x18\x0D\xDA\xCC\x00\x4E\xB2\x8C\x53\x26\x76\xF4\xCD\x16\x34\x1A\x05\xDB\xDD\x01\x79\x01\x08\xDB\xA8\xDB\x14", + "\x6F\x8E\xC1\x1C\x0D\xDB\xC9\xEB\x08\x02\x40\xDB\xB1\xDB\x9E\xD0\x67\xC6\x1D\x05\xD9\xC0\x00\x3A\x03\x1C\x52\xAD\x02\x78\xDA\xFA\x56\x64\x78\xA8\xD6\x0A\xFC\x03\x4D\xDB\x08\x01\x01\x3D\x6B\x05\x14\x08\xD9\xD5\x68\xCB\x04\x2B\xD8\x67\xC8\x05\x03\x80\x3E\xC0\x36\x01\x1A\x6E\xCB\x51\xDD\xDB\x1E\xDB\x25\xA7\x8E\xC0\x03\x03\xDE\xD3\x46\x26\xB7\xB2\xAA\xE8\xDA\x93\xD9\x07\xD5\x64\xC6\x02\x0D\x6F\xF1\x63\xEF\xDB\x0B\x03\x67\x01\x7C\xDE\xA5\xD1\xDE\x7A\x15\xF4\x00\x03\x3C\xCD\x13\x20\x00\x7E\xDA\x20\x0D\x0D\x08\x6E\xEA\xEF\x73\x2F\x12\xC7\x21\x03\x80\x3C\x8A\xDA\xC7\x6E\x08\x29\xEE\x74\xD5\x6B\xCC\x2C\xD9\xBB\x46\x93\x76\xB2\x70\x70\xDE\xAC\xE6\x23\x66\x34\x4F\x7A\x85\xDE\x8B\xDC\xAD\xC5\x08\x5C\x86\xC4\x00\x0B\xDC\x0E\xDE\x8B\x7E\xE1\x2D\xC5\xCE\x56\xD9\xF9\x37\x7D\x57\xD8\x82\xD6\x79\x22\xD5\x78\xE9\x6C\xF8\x85\x01\x03\xDC\x88\xC9\x5C\x7E\xA8\x7C\x33\xC7\x04\x10\x71\xF0\xAB\xF2\x45\xD2\x7D\x38\x4F\x86\xDE\xC4\xDD\xEC\x68\xFA\x67\x91\xC1\xD5\xE1\x14\x68\x49\x04\x48\xBA\x19\x04\x16\x71\xC8\x8C\xFD\xBD\x71\x4D\x21\xDF", + "\xE6\x13\x09\x06\xE4\xC0\x72\xED\xFF\x49\x81\xC0\xD5\x8C\xD7\x85\xDF\xFD\x76\x3A\x5B\x71\xD4\xAB\xA6\x47\x1E\x80\x86\xBD\x13\x05\xC9\xD2\xE5\xCA\x04\xB2\x00\xBA\xC5\x4F\x00\x2E\xDE\x84\xDA\x5E\x41\x1D\x5B\xCD\x25\xB8\xD7\xDC\xE2\x80\xCE\x82\xAE\xC1\x0A\x01\xE2\xDC\x71\xF5\x03\xCA\x84\x25\xC6\x29\x01\x9B\xD8\xCD\xD5\x0E\x9F\x42\xCA\x94\xF3\xDC\xDA\xD5\x34\xDF\xD2\xD3\x47\xC4\x05\x18\x73\xF1\xB8\xFA\xDC\x5C\xD6\x5D\xC5\x15\x06\xCF\xD7\xE3\xD0\xFF\x18\x03\x97\xDA\xD9\xC8\x2B\x00\xA1\xDF\xC8\xDD\x2E\x58\x06\xAD\xAD\x9C\xC1\x57\x01\x45\xDE\x93\xDD\xCE\xD6\x85\x9C\x0C\xD8\x01\x12\xDD\x5D\xDD\xCD\xBC\xDF\xD2\x62\xC9\x05\x18\x74\xE3\xB9\x86\xDD\x37\xDA\x89\xC6\x16\x06\xD3\xDA\xE2\xD4\x74\xE8\xA7\x9C\xC3\x5B\x00\x31\xDE\x9B\x44\x1D\x0F\xC8\xD8\x06\x88\xB5\x9C\xC1\x5D\x00\x52\xDD\x16\xDD\x20\x89\x9F\xDB\x11\xDE\x01\x32\xDD\x5E\xCD\x46\xDC\xED\xD2\x57\xCF\x05\x0A\x75\xFD\x7B\xED\x01\xD0\xD8\x00\x00\x36\x84\xAD\xD5\x32\xC1\x03\x3E\xBA\xED\x45\xEF\x01\x60\xDC\x36\x85\x78\xD7\x46\xC3\x03\x38\xBA\xF5\xD5\xBA\xDD\x74\xD3\x8E", + "\xC4\x0C\x0F\xEC\xD1\x70\xEE\x89\x58\x81\xD5\xD7\x19\xCD\x19\x07\xD8\xD2\x2F\x51\x07\x2D\xBA\x8A\xDB\x19\xC7\x6A\xDF\x94\xDF\xCD\xD4\xBE\xDA\x21\xE8\x01\x62\xDD\x82\xCE\xD1\xDA\x0E\xC9\x0D\x0C\xED\xD0\xFF\x32\x03\x4A\xDD\xEA\xDC\x89\xC7\x1A\x05\xDD\xD7\x13\x14\x07\x30\xBB\xB5\x7B\xAA\xDB\xCD\x15\x1B\x04\xDE\xDF\x96\xB7\x77\xF7\xF7\x79\xDD\xA7\x15\x37\x00\xBF\xDD\x2E\xBE\xEF\xC9\x60\xD2\x8C\xF1\x00\x03\xDE\xC0\xB3\xB7\xD9\x82\xD5\x32\xD3\x03\x09\xBC\x89\xB3\x0B\xDF\x55\xA4\x67\xC5\x0E\x0B\xE8\xD6\x03\x0F\xBC\xE4\xDD\x22\xD8\xBF\xCB\xA2\xD9\x0F\x07\xF1\xD7\x07\x8E\x04\x60\xDB\x0C\xBF\x3D\x03\xA2\xDC\x0F\x0D\xF1\xC2\x76\xC0\x4A\x9C\xC3\x7E\x01\x45\xDF\x1F\x05\xE4\xD8\x0D\x93\x20\x79\x6E\x8B\xDD\x82\x00\x96\xDD\x7D\x7C\x33\xC4\x08\x06\x72\xC6\x02\x46\xDC\xFC\x01\x47\xD8\xCC\x1A\x5F\x37\xE6\xC2\x08\x08\x02\x25\xDE\x4A\x1F\x9F\x80\xC3\xBA\x11\x08\xEE\xC1\x57\x0A\x3D\x34\xAE\x67\xC9\x45\x02\x91\xDD\x11\x05\xF4\xD6\x0F\xBB\x5D\xBA\xC5\x8E\x00\x23\xDC\x24\x05\xE9\xDC\x1F\x8B\x08\x09\x5E\x9C\xC3\x91\x00\x23\xDF\x24\x04", + "\xEA\xD0\x20\x87\xBE\x93\xB6\xC6\xDC\x96\x00\xAE\xDE\xDB\x2A\x22\xCB\x23\xD7\x04\x06\xB9\x99\x01\x62\xDF\x02\x86\x43\x02\x23\xCA\x2B\xDA\x04\x06\xB9\x9C\x01\x69\xDE\xA5\x1E\xF6\xAC\x33\xCD\x09\x06\x72\xDF\x02\x71\xDE\xDE\xAF\xCD\xDA\x91\xDA\x14\x08\xF7\xCE\x08\x20\x5F\x9C\xC3\xA3\x00\x23\xDD\x29\x05\xEF\xDB\x10\x1D\x08\xCA\xA0\xC6\xDC\xA8\x00\xC2\xDE\x40\x04\x24\xCA\x2B\xC9\x05\x06\xB9\xAB\x01\x8A\xDF\x80\x02\xF9\xAC\x33\xCC\x0A\x06\x72\xEE\x02\x11\xDF\x00\x02\xF4\xAC\x67\xC7\x15\x06\xE4\xD1\x05\x18\xBE\x80\x00\xEA\xAE\xCE\xC2\x2C\x06\xC8\xD4\x0B\x09\x7B\xC4\x3D\x55\xD9\x0C\xBF\x5A\x03\x80\x38\xAB\xD3\x9E\xA9\x62\xF0\xB9\x80\x00\xDE\xD8\xAB\xC0\x30\x03\xF5\xD3\x7A\x0A\x00\x35\xB6\xC4\x1E\x32\xD7\x53\x17\x32\x06\xBE\xD6\x1E\x37\x00\x1C\xA4\x23\x4C\x44\x1E\x77\xDB\xA9\x17\x1A\x0C\xFB\xCA\xA9\x25\x00\x3F\xDF\xAF\xDF\x7B\xDA\xAF\xCD\xF8\xD3\x71\x36\x6A\xEA\xAF\x44\x1E\x4C\xD6\x1D\xCB\x3B\x04\xF9\xDC\xB6\xA8\x7E\xD9\x08\x86\xDA\x25\xC7\x7D\x00\xED\xD9\x5C\x1F\x04\x17\x7D\xF6\xA6\x8C\xBE\x06\x00\x6F\x12\x41\xD4\x0B", + "\x06\xFD\xD1\x12\x80\x00\x08\xDD\x17\xD4\x09\x02\xF8\xDB\xF4\x0A\x06\x05\x7F\xFA\xAC\x8D\x9E\x67\xD1\xF5\xDD\xB8\x10\x0F\x0E\xFE\xC3\x12\x95\xBA\xBA\xC5\x2A\x00\xF9\xDE\x79\x26\x10\x05\xFF\xD7\x2D\x5B\xBA\xA5\xC6\x36\x00\xFD\xDE\x4A\x2C\xB2\xDF\xFC\xC1\x75\xE5\x8C\xC2\x00\x02\xE1\x89\x2E\x28\x05\xFF\xDF\x24\x84\x3B\xFA\x8A\xCE\x00\xDE\x11\xC7\xD4\x2C\x04\x23\x5A\x81\x44\x7A\x2F\xBA\xD6\xC2\x5B\x01\x04\xE1\x53\x3F\x17\x0C\x00\xE4\x7A\x3A\xA7\x99\xC5\x67\x00\x0D\xE0\x03\x45\x19\x0D\x01\xF7\xC2\xBB\x88\xF3\x00\xDE\x10\xD6\xDE\x43\x03\x1B\x0E\xFD\xDE\xC4\xBB\x88\xFE\x00\x29\xE1\xD1\x0C\x3A\x05\x05\xEF\xCE\x60\x78\xE2\x21\x09\x01\x11\xE1\xD1\x0D\x3D\x04\x23\x57\xEE\x24\x7A\x04\xBB\xE7\xC8\x96\x01\x1C\xE1\xB8\x15\x00\x03\xE0\x3D\x81\xDF\x9E\xBB\xC4\xA3\x00\x11\xE1\x0F\x45\x02\x03\xE0\x20\x7E\xE8\x9E\x9B\xDF\x4A\xE1\xB4\x3B\x08\x05\x09\xEF\xFA\xD9\x76\xC9\x9D\x3B\x01\x42\xE0\xF3\x21\x0C\x03\xC0\x35\x01\xE0\x77\xFA\x90\xC8\x01\x51\xE1\x92\x44\x10\x04\x0A\xE7\xFD\xC9\x3C\xBB\x88\xD4\x01\x61\xE0\x37\x46\x13\x04\x0C\xE6", + "\xFE\xD6\x52\xFA\x90\xE0\x01\x59\xE0\x95\x28\x17\x05\x08\xEF\xFA\xCE\x83\xD2\x8C\xED\x01\x71\xE1\x89\x2C\x1B\x04\x0E\xE5\x06\xF2\x6D\xFA\x8A\xFA\x01\x79\xE1\xA6\x38\xC9\xDC\x31\x54\xF4\x01\x60\xD2\x8C\x87\x00\x70\x35\xC7\xD4\x23\x04\x0F\xE6\xFE\xDA\x6D\xD0\x37\x14\x00\x89\xE0\x0D\xD4\x17\xE7\xF5\xD6\xA7\xDC\x04\xE1\x00\x11\xE1\xE1\x14\xC8\xDD\xE8\x54\xE8\x17\x7F\xDC\x04\xEE\x00\x70\x34\x06\x3C\x1D\x00\x9C\x35\x35\x0A\x0B\x0C\x83\xEF\xBF\xB8\xA6\xBA\xC4\x1E\x00\x28\xE1\xF0\x03\x0A\xE0\xB5\xA6\xC2\xF6\xDF\x9A\xA3\x1D\xC6\x12\x03\x15\xEA\x34\x0D\x85\xCE\x04\x56\x01\xAF\xE0\xFF\xDC\xA7\xD2\x57\xC8\x05\x14\x85\xEA\x05\x36\xE1\x0B\x02\x72\x01\x2E\xE5\x01\xE0\xAA\x3A\x29\xFE\xC2\xD4\x91\xC0\xE0\x62\xB3\x30\xE5\x10\xEB\x23\xD4\x03\x18\xC2\x95\x99\xC9\xE1\xB4\x52\x06\x52\x52\x82\xF4\xDC\x04\xC3\x02\x70\x34\x0C\xDC\x80\x02\xA4\x80\xE9\xDA\xAB\xD1\x86\xE1\x37\xD8\xE1\xA3\x0E\x49\x86\xD8\xA9\x2B\xDE\x0D\xE0\x00\x09\x02\x60\xE1\xE1\x14\x49\x87\xD5\xDA\x57\xCA\x08\x05\x87\xCC\x02\x68\xE1\xE6\x22\x49\x87\xE8\xAC\xE1\xBD\x08", + "\x05\x87\xCF\x02\x70\xE1\x2A\x2A\x49\x87\x44\xC2\x57\xC0\x09\x05\x87\xD2\x02\x78\xE1\x13\x2E\x49\x84\xDB\xDA\x87\xC3\x09\x05\x87\xD5\x02\x00\xE2\x4D\x3A\x49\x87\xDC\xDA\x57\xC6\x09\x05\x87\xD8\x02\x08\xE2\x0C\x40\x49\x85\xF7\xAC\x33\xC9\x09\x05\x87\xDB\x02\x10\xE2\x3D\x40\x49\x87\xDF\xDA\x57\xCC\x09\x05\x87\xDE\x02\x18\xE2\x69\x3A\x49\x86\xE1\xDA\x87\xCF\x09\x05\x87\xE1\x02\x20\xE2\x25\x46\x49\x84\xE3\xDA\x87\xC2\x0A\x05\x87\xE4\x02\x28\xE2\x6E\x44\x49\x87\xE4\xDE\x72\xC5\x0E\xE7\x05\x30\xC4\xAB\xDA\xE7\xAF\x1D\xC4\x2A\x05\x1C\xEA\x0A\x17\x89\xED\x8B\x12\x85\xA1\xDE\x5D\xC7\x2A\x05\x1C\xED\x0A\x1E\x89\xF2\x8B\x34\x18\x92\x84\x2B\xDD\x9E\xDD\x68\x86\x81\xBB\x11\xEE\x02\x70\x34\x2A\xE0\x22\x51\x20\xE4\x6B\x8A\xB2\xDA\x15\xF9\x02\x50\xE2\xA3\x0E\x0E\x03\x54\xE3\x47\x49\xFB\xC2\x43\x04\x03\x47\xE1\x13\x2F\x14\x02\x37\x13\xC4\x4B\x23\x42\x7E\xE2\x21\x50\x01\x60\xE2\xF7\xC3\x58\xE3\x6A\x86\xE7\xDA\x15\xDC\x03\x69\xE2\x0C\x41\x22\x03\x5A\xE3\x68\x8B\xE7\xDC\x0C\xE8\x03\x70\xE2\x3D\x41\x29\x03\x5C\xE5\x6A\x8F\x9A\xDA", + "\x21\xF4\x03\x58\xE2\x46\xDF\xAD\xE3\xF7\xDC\x59\xC8\x17\xE9\xEB\x2E\x01\x7B\xE2\x4C\xE3\x85\x00\xFA\xDB\xC6\xCB\x00\x0C\x3E\x46\xA4\xFC\x00\x88\xE3\xAB\x86\x43\x07\xD1\xD2\x24\xCE\x8C\xD4\xA3\x91\xE3\x98\x49\x93\xDA\xAE\xC3\x04\x06\x19\xE1\x57\x18\x02\x18\xE3\x54\xE3\xFF\xDF\x19\xCF\x05\x0D\x19\xE6\x8F\x26\x02\x20\xE3\x3B\x44\x50\xD0\x27\xC3\x07\x05\x1A\xEA\xA9\x34\x02\x28\xE3\xA7\xD0\x5D\xC7\x11\x04\xF9\x4F\xB8\xC2\x06\x1E\x23\x1A\x50\x3B\x45\x0B\xE1\xA6\xC4\x0A\x0D\x1A\xF3\xB8\x11\x03\x30\xE3\xB8\xD1\x1D\xC4\x18\x05\x37\xED\xD4\x3F\x06\x00\xC7\xC0\xD1\xBA\xC4\x36\x00\xF3\x49\x2A\xE2\x10\x18\x83\xD1\xAD\x3B\x44\x5D\xDB\x6C\xCB\x1D\x03\x39\xE3\x7A\x00\x84\xCF\xC7\xBB\xDD\x3A\xC8\x41\x00\x6D\xE3\xF4\x08\x08\xEC\x4C\x7B\x88\x3F\xE0\xFA\xD5\xED\xE1\xB8\x17\x02\x00\xA7\x27\xF7\x3B\x88\x4C\xDD\x0C\xBE\x4E\x00\x71\xE4\x01\x47\x02\x10\xD3\x24\xC5\xCF\xE0\xBA\xC4\x54\x03\x7A\xE5\x07\x45\x03\x0E\x8F\xEC\xC5\xE7\x3F\x3B\xC4\x5A\x02\x78\xE6\x3C\x23\x04\x10\xD3\x38\xC6\xDE\xE0\x12\xC7\x60\x03\x7C\xE1\xAD\x32\x05\x16\x8F", + "\xF4\xC5\x92\xDB\x3A\xC9\x66\x03\x80\xE5\x64\x40\x06\x06\x90\xFC\xC5\xA4\x7D\x36\xE0\x9F\x0D\x36\x03\x3F\xEA\x52\x2E\x03\x25\xC7\xF7\xE3\x10\xE4\xCE\xC2\x39\x04\x42\xE3\x71\x3E\x03\x17\xC8\x87\xE4\xA9\xDA\xCE\xC3\x3C\x04\x43\xED\xD4\x2E\x04\x1F\xC8\x8F\xE4\x21\xE4\x5D\xC7\xDD\x57\x71\xDF\x11\xFE\x8E\xEB\xDA\x0C\xBE\x0D\x00\x59\x3F\xE3\xD7\x29\xE1\xBA\x5B\x11\x55\xC2\xD7\xC4\x32\xE5\xD1\x0D\x2F\x06\x3F\xE8\x21\xEA\x6E\xFA\x8A\xA7\x00\xB2\x3C\x03\x3F\x0C\x02\xD6\x3D\x1A\x0C\x06\x0E\xC8\x89\xE3\x00\xD0\x5D\xC5\x0D\x01\x48\xE4\x7D\x04\x92\xDF\x5F\xC7\xE4\x92\xE3\xEF\xD9\x78\xD4\x49\xE0\x5C\x4E\x92\xD1\x60\xD0\xE4\x99\xE3\xAB\xD3\x8E\xC1\x0A\x04\x25\xFB\xF3\x16\xC9\xED\xB2\x58\xE5\xD0\xE1\x31\xE4\xD7\xDD\x25\xE2\x08\x2B\x01\x5F\xE4\x85\x0C\xE6\x4F\x7B\xE5\xBF\xDA\x43\xCD\x03\x39\xC8\x8E\x02\x7A\x00\x34\xE5\xFF\x4C\xF9\x4A\x81\x46\x1B\xA8\xBE\x9C\xC1\x7C\x00\x59\x3C\x73\xE1\x06\x24\x22\xF5\x18\xED\x60\xC7\xCB\x7A\xE5\xD1\x0E\x0B\x05\x4F\xE6\x36\x9D\x8A\xFE\x1C\x12\x01\x65\xE5\x89\x2C\x6B\xE2\x7D\x56\x36\x86\x8B\xFE", + "\x1C\x1E\x01\x89\xE5\xA6\x39\x12\x02\x4D\xE5\x39\x82\x5A\xFB\x88\xAA\x01\x91\xE4\x06\x43\x15\x04\x52\xE2\x39\x86\x43\xDC\x86\xB6\x01\x99\xE5\x1E\x41\x19\x04\x53\xEB\x10\x06\x1B\x94\xAD\x8C\xBE\xC2\x01\x40\xE5\xB8\x13\x0E\x04\x28\xE3\x8C\xD6\x85\xCD\x01\xA1\xE5\xB4\x38\x20\x04\x54\xED\x39\x8A\x8C\xFB\x88\xD9\x01\xB1\xE5\x92\x46\x23\x04\x56\xE1\x3A\x93\x8C\xFB\x88\xE5\x01\xB9\xE4\x37\x46\x7A\xE4\x51\xEA\x19\xFA\x21\xF1\x03\x41\xE5\xFD\xBC\x55\x00\xAF\xE6\x74\x82\x1A\xEE\x5B\xC8\xCB\xA6\xD6\xCB\xE4\x3F\xE7\x27\xD3\x47\xC9\x00\x18\x41\x46\xA4\xC6\x01\xD1\xE4\xB3\x87\x4F\xDF\x8D\xC8\x83\x4F\x5C\xD4\x03\x74\xE4\x95\xE4\x81\x02\x6E\xE5\xA4\xC2\x02\x16\x96\xE3\x1E\x63\x01\xD9\xE5\xA6\xD8\x67\xC6\x05\x06\x2E\xE1\x57\x31\x03\x69\xE5\x54\xDA\xCE\xC2\x0E\x00\x07\x5B\x27\xE3\x08\x2D\xCA\xAE\xE0\x9C\xC3\x22\x00\xBD\xE3\xF4\x0C\x00\x0F\x93\xE5\xCA\xD8\xE3\x12\xC6\x28\x01\xB7\xE3\xF4\x09\x01\x12\xF5\x27\x7B\x66\x86\xE0\xE2\x58\xDF\xC0\xE1\x5C\x19\x02\x06\x98\xE1\xCB\x96\xB8\x3B\xC4\x35\x01\xBB\xE6\x3C\x29\x03\x12\xF5\x23\x98", + "\x66\x86\x2F\xD4\xAB\xC2\x1D\x03\x62\xEA\x52\x27\x02\x16\xCC\x8F\xE6\xEB\xC9\x1D\xC6\x20\x03\x61\xE6\x1E\x35\x02\x32\x7A\x75\xE4\x00\xE5\x92\xC7\x23\x04\x63\xE3\x71\x24\x03\x1F\xCC\x9D\xE5\xE5\xDC\x89\xC7\x26\x04\x65\xED\xD4\x32\x03\x2F\xCC\xFF\xE5\x13\xD2\x1D\xCB\x29\x04\x64\xEA\x52\x20\x04\x0E\xCC\xB0\xE6\x9A\xDA\x5D\xC4\x2D\x04\x67\xE3\x71\x30\x04\x3F\xCC\xB8\xE6\xFF\xDD\xC5\xD0\xD1\xE5\xA9\x30\x0A\x07\x9A\xF5\xCA\xFE\xE0\x3A\xC8\x67\x03\xD2\xE4\x01\x40\x0B\x0E\x9A\xFD\xCA\xEE\xD4\x3A\xC9\x6D\x03\xD4\xE5\x07\x40\x0C\x07\x99\xE0\xCC\x91\x6C\x3B\xC4\x74\x03\xD6\xE1\xAD\x3F\x0C\x1E\x9A\xC0\xCD\x82\x02\x9D\xE0\xAB\xC1\x3D\x04\x66\xED\xB3\xBE\x0F\x6D\x06\x5E\x01\x37\xE7\xA7\xE5\xB7\x29\x8A\xCE\x1F\x46\xF0\x0F\x00\x6E\xE6\x13\x02\x76\x01\xDC\xE7\x6A\xE1\x0B\xFC\x0C\xD1\x00\x75\xE6\x2C\xC0\xBC\xE7\x60\xB3\x6F\xEC\x2C\xFB\x85\xFA\x90\x9F\x00\x80\xE7\x36\x22\xE0\xE2\x6C\x48\x83\x57\x98\xE5\xAA\xBA\xC5\x2D\x01\xC4\xE6\x75\xD3\x71\xE3\x9E\x4D\x9C\xDF\xCD\xC6\xD8\x56\xC3\x1D\x02\x7F\x45\x39\x18\x04\x14\x9C\xF9\x63\x38", + "\x50\x1A\x51\xEF\x85\x35\xE6\x2A\xCA\x04\x1E\x0F\x59\xC3\xD4\x87\x3D\xAF\x92\xC7\x12\x06\x73\xE4\xC4\x66\x9D\xE3\x1E\x5F\x87\xE3\xE0\x4E\xC2\x13\x04\x75\xED\xDC\x6E\x9D\xE1\x2B\x5F\x87\xEB\xE0\x1D\xC9\x14\x04\x76\xE3\x05\x16\x9D\xE6\x47\x5F\x87\xF3\xE0\x4E\xC0\x15\x04\x76\xE6\x05\x1E\x9D\xEA\x54\x5F\x87\xFB\xE0\x1D\xCB\x15\x04\x76\xE9\x05\x06\x9E\xD3\x5C\x5F\x87\x03\xE2\x51\xDC\xED\xE4\x0B\x0E\x3C\xED\xEA\x1F\x0F\x8B\xE2\x3A\xC9\x2E\x00\xED\xE7\x0B\x05\x3D\xEC\x00\x5F\x0F\x93\xE2\xBA\xC4\x30\x00\xED\xE2\x0C\x0D\x3D\xFD\x01\x5F\x0F\x9B\xE2\x3A\xC9\x31\x00\xED\xE5\x0C\x05\x3E\xE9\xEB\x1F\x0F\xA3\xE2\x12\xC6\x33\x00\xED\xE0\x0D\x0D\x3E\xE5\x19\x5F\x0F\xAB\xE2\x12\xC7\x34\x00\xED\xE3\x0D\x05\x3F\xEE\x13\x5F\x0F\xB3\xE2\xA2\xD8\xDA\xE6\x1B\x05\x7F\xED\xEF\xBF\x1E\x9A\xBE\xBA\xC5\x6F\x00\xDA\xE5\x1C\x04\x80\xED\x2E\x5F\x1E\x81\xC5\xBA\xC8\x72\x00\xDA\xE4\x1D\x04\x81\xE2\x2F\x4D\x21\x9F\x0F\xCA\xE2\x7F\xDC\x78\xB7\xD7\xE0\x83\xE5\xE8\xD7\x09\x3C\x13\x87\x4B\x69\xCD\x4C\xDE\x79\x21\xAA\x87\x27\xED\x2B\xFE\x87\x75\xE5", + "\x58\x19\xA9\xE5\x54\x89\xF6\xD9\x29\xC0\x04\x27\xD0\xA3\x0F\x40\x00\x15\xE8\x75\x81\xE9\xD2\x39\xEA\xA9\x0D\x01\x16\xE7\x86\x8B\xD7\xDC\xC3\xBF\x12\x05\x43\xF3\xB8\x1B\x01\x38\xE8\x0B\x03\xA8\x8A\xF2\xDA\x71\xCD\x43\xED\xEA\x29\x01\x40\xE8\x66\xE4\x4F\xE7\x81\xCD\x88\xEC\x00\x57\x03\x08\xD1\xC8\x8A\x31\xCE\xF2\xC7\x0B\xE9\x5C\x15\x08\x12\xA1\xE5\x81\xBA\xC5\xC6\x00\x26\xE9\x0F\x42\x12\x0F\x44\xEE\x2C\xB6\xCA\x9C\xC3\xD2\x00\x2D\xE9\x5A\x38\x14\x0D\x45\xF0\x5C\xC7\xA2\xA0\xDA\x62\xE9\x92\x46\x2B\x05\x8C\xE1\x55\x95\x5B\xDC\x82\xEA\x01\x69\xE8\x37\x44\x2F\x04\x8D\xEF\xD2\xDC\x0C\xF6\x03\x71\xE8\xFD\xBC\x65\x00\x1D\xEB\x5A\xEC\x19\xC2\x00\x2C\x28\x06\xD2\xD8\x01\x3D\xEA\x03\xE2\x87\xCE\x00\x0C\x51\x0F\xAE\xE6\x01\xA0\xE7\xC5\x88\xE5\xD4\x33\xCB\x01\x1F\xA3\xFA\xC0\x82\xE9\xB5\xDC\xCE\xC3\x09\x06\x91\xE7\xAB\xBE\x0F\x63\x98\x51\x8A\x03\xD5\x33\xCB\x0C\x04\x45\x18\x42\xFF\x9B\xD1\xAD\x51\x8A\xD1\xE3\x0B\xD6\x0F\x04\x93\xE3\x7A\x1E\x00\x1B\xCE\x8A\xE9\x63\xDA\x5D\xC5\x12\x06\x90\xE3\x7A\x0B\x01\x3E\x87\x67\x3D\x51", + "\x8B\x84\xE6\x55\xC6\x0A\x0C\x4A\xE1\x57\x1A\xCE\x8C\x53\x51\x8A\xF4\xE0\x27\xC3\x0C\x04\x49\xE6\x8F\x2B\xCE\xEA\x57\x51\x8B\x8C\xE5\xA6\xC7\x0D\x0D\x4B\xEA\xA9\x0D\xCF\xC0\xE9\x82\xDA\xC8\xC9\x2D\xEF\x77\xEE\x1F\x5A\x40\x51\x15\xBF\xD4\x99\xC4\x44\x01\x31\xEB\xE2\x26\x07\x16\xA4\xE8\xD2\xE6\xE0\x9C\xC2\x4A\x03\x34\xED\xA9\x34\x08\x16\xA6\xF9\xD0\xB9\xE6\x12\xC6\x50\x03\x32\xEA\xA5\x22\x09\x0F\xA5\xD7\xD3\x99\xE4\xA3\xDB\x71\xEA\x02\xE6\x9C\xEF\x4D\xE9\x9A\xFA\x8A\xBA\x01\xEA\xE9\xA6\x3A\x2C\x04\x9D\xE1\x44\xFE\x52\xFA\x8A\xC7\x01\xF1\xE8\x06\x42\x30\x04\x9E\xE9\x44\xEC\xB4\x4C\x7C\xD4\x01\xF9\xE9\x1E\x41\x18\xE9\x74\x51\x55\x97\x91\xF2\x9A\x81\xEA\x69\x3B\x70\x01\x33\xEF\x9C\xEE\x23\xFA\x21\xEE\x03\x5B\xE9\xCE\xDA\x16\x15\x6B\x00\x1E\x0E\x4D\xF5\xA7\xE8\x4C\xB0\xD3\x10\xEA\x04\x01\xF8\x4D\x35\x0E\x0F\x15\xA8\xFD\xD3\xD2\xE4\x9C\xC2\x05\x01\xF8\x4C\xBC\xDB\x51\xFF\x1B\x2C\x28\x17\xE9\x27\xDE\x5D\xC4\x06\x03\xA4\xE3\x8D\x05\xA9\xF0\xA7\x27\xEA\x0C\xEA\xAC\x40\x67\xC6\x04\x0C\x52\xF1\xC7\xAE\xD4\x8B\x02\x28\x00", + "\x98\xE9\x3B\xE9\x2D\xDA\x43\xD4\x01\x21\x9F\x01\xDC\x37\xEA\xB2\xAC\x8B\x12\x03\x5B\x59\x85\xA1\xD9\x8A\xC3\x00\xE1\x4E\x14\xE9\x11\x01\x9F\xEB\x59\x8C\xA1\xE5\x94\xCE\x00\x49\xEB\xD1\x0E\x14\x04\xA9\xE3\x43\xEC\xF8\x99\x01\x35\xEA\xE6\x23\x2F\x02\x4E\xEC\xB9\x8A\x43\xFC\x04\xE5\x01\x58\xEA\x2A\x2B\x36\x03\x56\xEF\xB6\x81\x9A\xDB\x11\xF1\x01\x60\xEA\x13\x2F\x3D\x03\x58\xE9\x20\x0B\x59\x91\x7E\xD2\x8C\xFD\x00\x68\xEB\xA6\x39\x22\x03\xAD\xE0\x5E\x91\xA2\xE7\x91\x89\x01\x51\xEB\x70\x17\x25\x04\xAA\xE7\x45\xFA\x21\xD4\x02\x71\xEA\x0C\x40\x52\x00\x5D\xEA\xB3\x8F\x87\xDB\x11\xE0\x02\x00\xEB\x3D\x40\x59\x03\x60\xEB\xB3\x84\x19\xF9\x14\xEC\x02\x08\xEB\x69\x3A\x60\x03\x62\xED\x58\xEE\x3D\xD0\xAC\xE5\x8C\x4E\x01\x93\xEA\xF4\xBC\x67\xC4\x18\x06\x59\xEE\x13\x5C\x03\x19\xEB\xF1\x9B\x1D\xC4\x34\x05\xB3\xED\xEF\xAA\x07\x20\xD6\xA7\xDD\x6E\xE3\x9F\xEB\xE8\x08\x1F\x03\x54\xF9\x2E\x8B\xD2\xBA\xC5\xE9\x00\xD2\xE9\xBB\x47\x00\x01\x7E\x43\x31\x5B\x16\x9F\xE0\x25\xCB\x7A\x02\x6C\xEA\x5E\x45\x01\x15\xAD\xEE\xD6\xF1\xE5\xBA\xC5\x00", + "\x01\x04\x50\x85\xE3\x02\x0A\xAD\xDE\x17\xAD\xB1\x9C\xC2\x06\x03\x70\xEB\xF4\x00\x03\x06\xAE\xDC\xD5\xA9\xE9\x3A\xC9\x0B\x01\x04\x57\x71\xDD\x03\x01\x3F\x67\x7B\x1B\x8B\xB2\xE9\x4C\xC4\x09\x03\xBA\xE3\x7A\x0D\x02\x16\xD7\xBF\xEB\x74\xDA\xCE\xC1\x0C\x01\x02\x56\x90\xDD\x02\x3E\xD6\xC7\xEB\x6D\x9F\x1D\xC5\x0F\x04\xBC\xE3\x7A\x0B\x03\x27\xD7\xCF\xEB\xF8\xE2\xB2\xD8\x77\xE9\x5C\x19\x07\x01\x3F\x44\xD5\xA9\xE6\x67\xC8\x2B\x00\x7B\xEC\xF3\xCF\x5E\xE4\xAB\xF1\xCC\xA5\xC6\x62\x01\xFD\xEA\x79\x26\x12\x0D\x5F\xEC\xAB\xF1\xBB\xA5\xC6\x6E\x01\xF9\xEA\x79\x24\x14\x0F\x5D\xE8\xAF\xD4\xFA\x11\xE4\x8E\x09\x3D\x02\x82\xEE\x35\xED\x60\xF0\xAF\xD0\xCD\x92\xC6\x88\x01\x09\xEF\xC4\x2C\xB3\xEC\x98\x5B\x2C\x86\xC2\xA5\xC6\x95\x00\x0D\xED\x53\x3C\x1A\x05\x61\xFE\xAF\xD8\xCD\x92\xC6\xA2\x00\x11\xEC\x03\x44\x1C\x06\x5F\xE0\xAF\xFA\xD7\x3B\xC4\xAF\x00\x15\xED\x0F\x43\x1E\x0D\x62\xEE\xB0\xC0\x04\x69\xE6\x99\xC4\x5E\x02\x80\xEA\xD1\xA1\x81\x4F\x1B\x51\xA0\x36\xEB\x87\xD5\x1D\xC6\x32\x03\xC7\xE1\x10\x16\x06\x3D\xD8\xE6\x3D\x3F\xEC\x17\xED", + "\x40\x00\xE4\xDC\x09\xD8\x06\x04\xD9\x80\x02\xE4\x01\x23\xEC\x31\x59\xC9\xE6\x63\xFE\x92\x9A\xC8\xCF\xEC\x57\xC2\x29\xEF\x18\x6C\xCA\xE6\x61\xFC\x61\xFE\xC5\xD8\xEC\x69\x83\xD6\x02\x0E\x04\xCB\xE6\x62\xFC\xA9\xD2\x8C\x82\x00\x84\x57\xE6\x13\x03\x04\x70\x53\x4E\x11\x40\x5A\xA0\x6F\x8B\xA3\xE7\x4C\xC5\x04\x04\x70\x57\x3A\xEF\x2F\x9C\xC3\x9C\xC1\x12\x00\x36\xEF\xD8\x04\xCE\xE3\x7A\x0F\x2F\xB1\xCE\xD6\xC2\x15\x00\x3D\xEC\xB3\x54\xCF\xE1\xAE\x0F\x2F\xB9\xCE\x92\xC6\x18\x00\x41\xEF\x81\x54\xD0\xE6\x1E\x2F\x2F\x81\xCF\xD6\xC2\x1B\x00\x45\xEE\x40\x05\x03\x0C\x68\xE1\xAB\xD3\x04\x49\xE7\x12\xC6\x0F\x02\xA4\xEE\xBE\x55\x69\xF3\xB8\x2F\x17\xD1\xE7\x25\xC7\x10\x03\xA6\xEE\x12\x6D\x69\xED\xEA\x2F\x17\xD8\xE7\x12\xC6\x12\x03\xA8\xEC\x37\x15\x6A\xEC\x00\x6F\x17\xE0\xE7\x3A\xC9\x13\x03\xAA\xE9\x05\x0D\x6A\xFD\x01\x6F\x17\xE8\xE7\x12\xC6\x15\x03\xAA\xEC\x05\x05\x6B\xE9\xEB\x2F\x17\xF0\xE7\x25\xC7\x16\x03\xAA\xEF\x05\x0D\x6B\xE5\x19\x6F\x17\xF8\xE7\x25\xC6\x18\x03\xAA\xEA\x06\x05\x6C\xEE\x13\x6F\x17\x80\xE8\x12\xC7\x19\x03\xAA", + "\xED\x06\x0D\x6C\xFD\xF7\xAF\x17\x87\xE8\x3A\xC8\x1B\x03\xAA\xE8\x07\x05\x6D\xED\x17\x6F\x17\x8F\xE8\x12\xC7\x1C\x03\xAA\xEB\x07\x0D\x6D\xF2\x17\x46\x19\xEF\x8B\x1C\xE8\x46\xDE\xBC\x46\xD9\x8B\x59\x89\xB7\xD3\xBA\xAB\x8F\x31\xEB\x1F\xDE\x08\xEA\xA5\x23\x81\x91\xB3\xE5\x94\xBC\x00\x84\x56\x2A\xC8\x03\x43\x02\x97\x67\xF6\x0A\xFF\x00\x04\x57\x2E\x03\x21\x01\xB9\xE8\xFE\x33\x81\x9F\xB3\xD9\x8A\xC4\x00\x00\xEF\xC0\x0F\xC0\xEF\x26\x03\x81\x87\xB4\xE5\x8C\xC9\x00\x09\xEF\x40\x7B\xC2\xEC\xB2\xEB\x7B\xBB\x11\xCE\x01\x11\xEE\xA0\x7D\x89\xEF\x73\xD5\xC8\xEB\x23\xD3\x02\x18\xDC\xB2\x7E\x1A\xEF\xFB\xDE\x40\x00\xD4\xE7\x46\xD8\x02\x1F\xDC\x8D\x03\x21\xEE\x2E\x92\x43\x00\xD5\xE5\x32\xDD\x02\x27\xDC\xC5\x20\x29\xEF\x80\x03\x04\x90\xD6\xE9\x74\xCF\xB9\xD5\x8C\xB1\xEE\x1C\x90\x05\xB3\x19\xCF\x0C\x06\x73\xEB\x03\x38\xDC\xCB\x90\x85\xDF\x8F\xC6\xCD\xE8\x0E\x0F\x73\xF3\x40\x88\xDB\xE7\xC8\x71\x00\x9B\xED\x1D\x05\xE8\xE5\x7E\xBB\x11\xF6\x01\x36\xEE\x7A\x00\xA6\xEE\x43\x00\xDB\xE3\xD8\xD6\xB9\xFF\x01\x52\xEE\x0B\x02\x70\xED\xC9\xC0", + "\x10\x06\x73\xE4\x04\x3F\xDC\xCD\x91\xB0\x39\xA4\x4D\x21\x05\xD5\xE6\x08\x0B\xB5\xD7\x01\x11\x50\xD2\x27\xC2\x90\x7D\x96\xDD\xE3\x6F\xF6\x4E\xAC\x46\xD1\xDC\x9F\xDD\x71\xDF\x7D\x91\x2F\xDA\x43\xC8\x04\x2D\xDA\x89\x01\xAB\xEC\x2C\x00\xDA\xEE\x60\xBE\xA2\x89\x71\xF3\xBA\xE1\x15\xB6\x95\xF7\x94\xDB\xE9\xEE\xE2\xBA\x8B\x08\x06\xD5\xA5\xCA\x8B\x00\xC2\x54\x0A\xE9\x0B\x0A\x62\xFB\x5B\x8E\xD5\xD9\xC9\x96\x00\xC5\xEF\xE8\x0E\x0C\x0D\x78\xF5\xAA\xDC\x82\xA1\x01\x84\x56\x83\xD3\x1C\x04\xCC\xE1\x10\x1B\x5B\x8E\xCA\x8E\x09\xAD\x01\xCC\xEF\xE8\x09\x10\x0C\x79\xE8\x5C\xA5\xD5\x9C\xC3\xB9\x00\xD1\xED\xB8\x17\x11\x05\x7A\xEC\x5C\x8A\xD1\xBA\xC8\xC5\x00\xD5\xEE\x79\x25\x13\x0D\x7A\xFB\x5B\xA7\xCA\x9C\xC1\xD1\x00\xC9\xED\x26\xE5\xF2\xED\x57\xF2\x18\xDC\x03\x32\xEF\x2A\x2A\x5C\x01\xED\xED\xB0\xE6\x17\xE0\xBE\xD3\x5C\x46\x01\xC3\xEE\x5F\xE4\x67\xC4\x1E\x06\x7C\xE3\xB1\xC9\xDF\xA2\xEE\x12\xD9\xA1\x52\x41\xD2\x1C\x0F\x7C\xE3\x48\x89\xD7\xD2\xEF\xA3\x0E\x78\x01\xF5\xE9\x20\x0A\x1A\xF6\x0A\xD8\x00\x58\xEF\xE1\x14\x7F\x03\xF6\xEF\x8B", + "\xDA\x2B\xC4\x01\x03\xA5\x0F\xD7\x0C\x00\xC2\x56\x06\x53\x6F\x93\x2E\xF9\x26\xF1\x00\x60\xEF\xE6\x23\x48\xEE\xFA\x53\x6F\x98\x5B\xF9\x26\xFD\x00\x70\xEF\x2A\x2A\x5A\xEF\xFC\xEE\x04\xE4\xD6\xC3\x4A\x68\xD0\xB7\x00\x69\xED\xC2\xED\x17\xB4\xCF\xDE\x7F\xE3\x3D\x08\xDC\xD1\x56\x7B\x97\xEC\xE9\x49\xCF\x0B\x07\x7E\xE3\x3D\x11\x01\x04\x57\xE7\x3D\x04\xF0\x84\xEF\x26\x0C\x06\x0D\xC0\xC6\xBD\x90\xF0\x02\xF0\x88\xE4\x67\xC1\x0F\x08\x7F\xF3\xB8\x09\xDD\xFB\xEF\xD2\xDC\xCE\xC1\x21\x05\x03\xFD\xD4\x37\xBA\xE0\xE0\xF1\xEB\xBA\xC5\x48\x02\x05\xF6\x3C\x2D\x08\x0A\xBF\xD9\xE0\xF5\x89\x3B\xC4\x4F\x00\x09\xF4\x01\x4C\x09\x04\x5C\x63\x98\x7B\x96\xC0\xCE\x4E\xC2\x2A\x03\x06\xFD\x03\x4A\x05\x36\xE0\xAF\xF0\x5E\x4D\x09\xF1\x36\xAB\x05\xF1\x7C\xF8\xC0\xC0\x2F\x87\xEC\x67\xC9\x61\x00\x11\xF3\xE2\x28\x0C\x06\xC2\xCB\x04\x7B\x96\x1F\xED\x33\xC8\x34\x03\x09\xFD\xD4\x38\x06\x0E\xE1\xAA\x97\xF6\xE8\x1D\xC9\x37\x04\x0A\xFC\x00\x48\x07\x17\xE1\x9D\xEF\x2F\xE5\x37\xE8\x17\xF5\x07\x48\x0F\x0E\xC1\xC7\xE1\x8C\xDE\x67\xC9\x7B\x03\x18\xF1\xAD\x37", + "\x00\x03\x4A\x6B\xDF\xFD\xD4\x9C\xC2\x02\x03\x26\x4E\xC0\x30\x01\x1B\x24\x6D\x06\x16\x00\x43\x53\x1B\xF1\x90\xEC\x33\xC2\x01\x13\xC3\xCC\xB3\x76\xF0\xD3\x11\x3C\xF0\x10\xF4\xC9\xE6\x15\xC0\x01\x3E\xE1\x92\x69\x80\xF1\x78\xB2\x20\xF7\x0C\xFF\x22\xBB\x11\xEE\x00\x07\xF1\x84\xAF\x44\xF0\x64\x6B\x11\xFF\x84\xEF\x9C\xFA\x90\xBC\x00\x90\xF0\x34\x2A\x24\xF3\x99\x74\x89\xF8\xC2\xEC\xC9\x92\xC6\x4A\x01\x4D\x49\x73\x17\x0A\x0B\x89\xED\x0C\x2E\xE1\x93\x02\xCD\xCD\xAD\x83\x8E\xC1\x0B\x0B\x49\x47\x9D\xE9\xE2\xB5\xAE\x9C\xC2\x2D\x01\x29\xF5\x43\x1D\x8A\xE3\x3D\x2F\xE2\x80\x00\x06\xEF\x92\xC9\x17\x03\x16\xF6\x52\xD5\xC5\xE1\x2B\x37\xF1\x0E\xEF\x33\xC8\x18\x04\x17\xF2\x06\x1E\xC5\xE6\x47\x37\xF1\x8F\xED\x4C\xC7\x18\x04\x17\xF5\x06\x06\xC6\xEA\x54\x37\xF1\x98\xED\x92\xC6\x19\x04\x17\xF8\x06\x0E\xC6\xD3\x5C\x37\xF1\x24\xEE\x86\xBD\x1A\x04\x17\xFB\x06\x16\xC6\xCD\x75\x37\xF1\x2C\xEF\x33\xC8\x1B\x04\x17\xFE\x06\x1E\xC6\xCD\xD1\xF9\xDE\x08\xE8\x5E\xF1\x1C\x06\x1C\xFD\x03\x57\xC5\xF8\xDA\xA5\xC6\x72\x00\x5E\xF0\x1D\x04\x1D\xF9\xD6", + "\x37\xC5\xC0\xDB\xD6\xD9\xBC\xF1\x3B\x00\x3D\xF5\x64\x47\x8B\xE7\xBA\xCC\x7C\xF8\x00\xBC\xF0\x3D\x03\x3E\xF6\x4D\x47\x8B\xF0\xB6\xD0\x96\xBC\xF1\x7D\x01\x81\xF1\xBF\xBF\x16\xF4\x75\xE5\x19\xFE\x01\x3C\xF1\x80\x00\x85\xF1\xBB\x47\x16\xFA\x75\xE7\x23\xC1\x02\x3C\xF1\x83\x00\x89\xF2\xBC\x45\x7D\x97\x8B\xE3\xBC\xE5\xBA\xD3\xA3\x95\xF0\xBF\xED\xAE\xD8\xDA\xD2\x2F\x51\x4F\xD3\x95\xB7\x02\x84\x00\x8D\xF0\xFC\x3B\x0D\x03\x94\x52\x9E\x31\xA7\xE8\xD8\x9B\x17\x42\x02\x4A\xF4\x02\xFD\x92\xEF\xAD\xD3\xDA\xBB\xC4\x86\x01\x99\xF2\x87\x8D\x26\xF0\x27\xFE\x9E\x59\xA5\xBA\xF2\x0E\x02\x37\x00\x4F\xF3\x21\x01\x9F\xC8\x12\xD9\x93\x88\x01\x40\xF2\x65\x8F\x50\xF2\x5C\xEC\x16\xDC\x04\xC9\x02\x49\xF2\x5B\x8F\xA5\xF1\x40\x01\x3E\xD6\x25\xD9\x14\xCA\x02\x50\xF2\x32\xEE\xA9\xF0\x40\x01\x3E\xD6\x90\xD7\x09\x0B\x02\x58\xF2\x00\x02\x39\x02\x56\xF0\x00\x01\x9F\xC8\xA1\xF7\x04\x0C\x01\x60\xF2\x00\x03\x1C\x03\x2C\xF1\x9F\xD8\x0F\xD0\x37\x0D\x01\x69\xF2\x3A\x00\x5B\xF5\x4D\xCC\x09\xCE\x04\x29\xE5\xB7\xBD\x30\xBF\xF8\xD3\x2B\xDB\x73\x1F\x08\x09", + "\xCB\xF6\x01\x73\xF2\xBE\xBE\x89\xC4\x24\x01\x2D\xF7\x07\x00\xCC\xFA\xAA\x0C\xBE\x91\x01\xB4\xF0\x1E\x06\x30\xF8\x67\x6C\xF8\x92\x02\x69\xF2\x1C\xF1\xBC\xF1\x22\xCC\x20\xE6\x8E\xF4\x04\x01\xE4\xE3\xF2\x08\xA5\x93\xF1\x68\xD1\x2D\xFB\x07\x18\xCC\xFC\x9A\xBB\xE8\x69\xF2\x3E\x02\x67\xF7\x38\xCB\x23\xD8\x04\x29\xE5\xFD\x00\xA3\xF3\xE7\xC0\x27\xC1\x13\x09\x96\xFE\x03\x29\xE6\xBC\x55\x0C\xBE\x4D\x01\x5A\xF7\x0F\x0F\x9A\xEA\x51\x4C\x7C\x9B\x01\x69\xF2\x40\x01\x6D\xF0\x20\x05\x95\xE5\x29\xDC\x02\x69\xF2\x81\x01\xDD\xF3\x02\x5C\xE1\xBD\x09\x09\xCB\xC2\x02\x42\xF3\x66\xF2\x29\xA5\x5A\xF3\x10\x02\x9C\xEE\xCB\xDB\x2E\x1F\x01\x69\xF2\x42\x02\x70\xF0\x95\xDB\xB9\x00\x05\x29\xE5\xA3\xF0\x30\xBE\x04\xA7\x5E\xF7\x54\x11\x0A\x09\xCB\xC6\x02\x42\xF3\xB6\xD8\x9F\x0E\x28\x01\x2D\xF7\x08\x02\xCE\xFD\xB2\xBE\x0E\xA3\x01\xB4\xF0\x22\x02\x38\xF4\xCC\xD3\x31\xE4\x02\x69\xF2\x89\x00\xE1\xF3\x32\xDA\x0C\x15\x0A\x06\xC7\xE6\x02\x3C\xF1\x8A\x01\xB1\xF3\xBA\xC9\x20\x07\x78\xF9\x26\xE8\x02\x1B\x49\x28\xE9\x45\x00\x17\xF3\x3F\xFE\x82\xBB\x11", + "\xF3\x02\x00\xF4\xA3\x0E\x4C\x03\x80\xF6\xF2\xE6\x15\xDE\x05\x19\xE2\x93\x2E\xA5\x01\x4E\xF0\x79\xA5\xAB\xE6\x15\xCA\x06\x0F\xE8\xCD\x3A\xB3\x00\x09\xF4\x40\x04\x40\xF0\x00\x03\xA2\xD6\x85\xD6\x01\x17\xF4\x06\x41\x30\x02\x43\xF0\x00\x1C\xD0\xEE\xD5\xA5\xC6\xE2\x01\x10\xF5\x0F\x47\x19\x04\xA2\xFC\xD0\xF9\x82\x21\xE8\x84\xEF\x70\x14\x87\xF7\xF6\xE6\x15\xCE\x07\x08\xE8\xE1\x15\x5B\xF1\xA8\x54\x87\xF6\xA1\xD6\x44\xCA\xD1\xE9\x75\x6A\x01\x2D\xF4\xE2\xEE\xAE\xC5\x00\x06\xC9\x06\x48\xF8\x03\x41\xF4\xCA\xEE\x5D\xC5\x04\x05\x48\xF3\x7A\x06\x00\x1B\x92\x23\x4C\x1C\xF4\x37\xEA\x55\xC5\x03\x0C\xA4\xE1\x57\x14\x00\x4F\xF4\x27\xC0\xCD\xEA\xAE\xC1\x05\x05\xA5\xE6\x8F\x22\x00\x58\xF4\x0E\x02\x0E\xF5\xF7\xE9\x53\xC5\x03\x1D\xD2\xEA\x54\x30\x00\x60\xF5\x85\x00\x87\xF3\x5B\xE5\x52\xC1\x02\x16\x32\x0F\xD7\x3E\x01\x4D\x4A\x06\x54\x43\xFD\x7E\xF7\x50\xCE\x01\x66\xF4\x13\x2F\x26\x01\x9A\xF2\x87\x9A\x2E\xFA\x15\xDA\x01\x78\xF4\x4D\x3B\x2D\x03\x9E\xF3\x42\xF0\x5C\xFA\x21\xE6\x01\x16\x19\x28\xE9\x6D\xF2\x8E\xF4\xAB\xD6\x56\xE8\xD4\xE3", + "\x1E\x76\x00\xA2\xF1\x2C\xF5\x0D\xE4\x33\xCC\x07\x0F\xD3\xE3\x1E\x19\xF2\x8C\x52\x0E\xF6\x02\xF1\x9B\xC9\x08\x16\xD4\xE1\x2B\x13\x01\x9B\x49\x73\x3C\x87\xF2\x97\xED\x5D\xC0\xD4\xCC\x80\x69\xF3\xEA\x56\x0E\xF6\x30\xED\xA4\xC2\x0A\x06\xD5\xFD\x80\x31\x01\x83\xF5\x0D\xF5\x32\xEF\x8C\xCE\x0A\x1E\xD4\xE6\x47\x3F\x01\x72\xF4\x49\xF7\x49\x8B\x47\xCB\x0B\x0E\xD5\xE9\x75\x4E\x01\xB1\xF5\x12\xF6\x40\xD7\x9E\xEE\xAB\xE5\x19\x5C\x03\x41\xF5\x1C\xF4\x3B\xE1\x05\xCE\x56\xFA\x52\x2A\x07\x21\xEA\xBA\xF5\x0F\xEC\xCE\xC0\x38\x04\x59\xF3\x71\x3A\x07\x0F\xEB\xE1\xF4\x59\xF1\x3B\xE0\xB5\xF5\xA9\x3A\x00\x16\x64\x22\xEA\xD9\xF5\x25\xC6\x7D\x03\xB6\xF4\x01\x4A\x01\x1E\xD6\xD0\xEB\xD0\xD5\xBA\xC5\x03\x00\x84\x47\x71\xDA\x02\x16\x64\x33\xE9\xB5\xD2\x3A\xC8\x0A\x03\xBA\xF3\xF4\x09\x03\x0E\xD7\xE7\xEB\x98\xD8\x9C\xC3\x10\x00\x84\x46\xC0\x3D\x02\x10\x10\x63\x13\x16\x19\x50\xF5\x3D\xF2\xAE\xC7\x05\x0B\xAF\xE8\x12\x3E\xEB\xB3\x02\x00\xF7\x7B\xF4\x21\xF1\x53\xCD\x03\x05\xD8\xD0\x7F\x07\xF6\xCC\x07\x84\xF4\xB6\xF2\x4B\xEC\x19\xCB\x02\x0E\xEC", + "\x92\x44\x10\xF6\x70\x92\xC4\xF2\x4D\xF6\x89\xFC\x74\xD7\xEC\xC7\x3C\x19\xF7\x35\x9B\xC6\xF4\x4F\xFF\x89\xE5\x19\xE7\x01\x73\xF5\xF6\xBF\x90\xF5\x40\x06\x11\x06\xAF\xF8\x54\xF8\x60\xAB\xC6\x10\x44\x14\xE9\x27\x03\x5C\xF1\x6F\xC5\xD0\xDC\x86\x81\x01\x31\xF7\xD1\x0E\x2A\x04\x66\xFC\xA0\xF9\x14\xCC\x02\x1F\xF6\x13\x2F\x5B\x03\xC8\xF7\x05\xC4\xA1\xF9\x14\xD8\x02\x40\xF6\x4D\x3B\x62\x03\xD0\xF0\x20\x05\xB3\xFD\xD0\xFB\x88\xA4\x01\x48\xF6\x06\x43\x34\x03\x69\xF0\x00\x0D\xDA\xE7\xE8\xE7\xC8\xB0\x01\xA8\xF5\x0F\x41\x1C\x04\xB5\xED\xDA\xF4\xE8\xB9\xEC\x39\xF7\xEA\xCC\xCF\xF5\xF7\xE5\x32\xC7\x06\x1A\xED\xE9\x3A\xFC\x01\xAE\xF6\x90\xF2\x87\xC3\x0D\x07\xDB\xE5\x8C\x0A\x00\x10\x45\x11\x4D\xD3\xF5\xB1\xE5\x52\xDF\x06\x2E\xED\xEE\x44\x18\x01\xB8\xF7\x44\x05\x69\xF2\xA5\xF9\x14\xEB\x03\x77\xF6\x77\xC2\xBD\xF6\xCB\xF2\x4B\xFA\x43\xD7\x07\x00\xEE\xED\x45\x34\x00\xC1\xF6\x79\xA6\x00\xE7\x46\xC3\x00\x24\x8A\x06\xD2\x42\x00\xC5\xF4\x3D\x99\x5E\x7B\x23\xCF\x00\x24\x8A\x0F\xD7\x50\x00\x08\x46\x06\x55\x69\xF5\xA7\xF3\x31\xDC\x00\x0F", + "\xF7\xA3\x0F\x2F\x02\xE4\xF4\x68\xF1\x1C\xFC\x0C\xE8\x00\x20\xF7\x85\xED\xD1\xF4\xD3\xF4\xFF\xEE\xDF\xC4\x15\x68\xD0\xFB\x00\x28\xF7\xC5\xF4\xBE\xE2\x57\xCF\x03\x0E\xDD\xE3\x1E\x08\x01\xB1\xF7\xC9\xF7\xA4\xF2\x57\xCA\x04\x17\xDC\xE3\x1E\x15\x01\x10\x45\x73\x3D\xD3\xF3\x53\xF7\xA1\xD7\x02\x3E\xEE\xE1\x15\xA5\x01\xE0\xF7\xDE\xF7\x08\xEC\x19\xC4\x03\x28\xEE\xE6\x23\xB5\x00\xD5\xF5\xD5\xF0\x3E\xEA\x43\xD0\x03\x0F\xEF\xAA\x2A\xC3\x00\xE9\xF5\xD3\xF6\x0A\xE9\x85\x3C\x03\x07\xEF\xE6\x23\xD1\x00\xCD\xF7\xF2\xF6\x21\x00\x4D\xE5\x29\xC9\x02\x57\xF7\x13\x2E\x70\x02\xF6\xF3\x58\xF2\x96\xC8\xDF\xCD\x75\x6E\x01\xEB\xF6\x70\xE9\xC9\xC1\x14\x0F\xBD\xEA\xA9\x3C\x03\x4A\xF7\x83\xF7\xA0\xE6\x0E\xCE\x15\x05\xBF\xF3\xB8\x0C\x00\x24\x45\xC2\xF6\x70\xF7\x19\xCB\x17\x0D\xBF\xED\xEA\x1F\xEE\x8C\x53\x4D\xF7\x28\xF0\xC3\xB8\x19\x05\xC0\xEC\x00\x6C\x00\x00\xF8\xE3\xF7\x13\xED\xC9\xC5\x1A\x0D\xC0\xFD\x01\x7C\x00\x24\x45\x9B\xF6\x78\xF6\xC4\xC2\x1C\x05\xC1\xE9\xEB\x0B\x01\x18\xF8\x11\xF8\xB4\xE7\x8E\xC7\x1D\x0E\xBE\xE0\x00\x3B\x03\x24\x45", + "\xAD\x02\x2D\x00\xA9\x42\x6E\xF2\xB0\xFA\x21\xFD\x03\x25\xF8\x09\x00\x80\x4D\x6B\x00\x0D\x0B\xC2\xE1\xE1\xCB\xD9\xBB\xC4\x0B\x00\x80\x4E\x81\x3F\x02\x02\xC3\xF6\x5B\xB5\xF0\xF9\xF7\x86\xE6\x89\xC5\x06\x02\x87\xF7\xD4\x3D\xE1\xC2\x35\xBF\xF8\xB2\xF7\xB0\xD2\xC4\xC7\x04\x04\xC4\xEC\x80\x06\xF1\x8B\x02\x92\x00\x24\xFA\xEE\xF6\xCC\xE8\x87\xC0\x38\x4D\x27\x42\x00\x4F\xF8\x6B\x2C\x08\xFA\x80\x47\x16\x9B\x11\xC4\x01\x00\x4E\xA7\xE6\x3A\x29\xBF\xE9\x53\xC5\x04\x19\xE2\xCF\xE3\x60\xF8\xA3\x0E\x3A\x29\x2E\xF1\x9B\xC8\x04\x06\xE3\xF5\x7B\x68\xF8\xE1\x14\x3A\x29\x30\xF3\x5E\xCE\xC6\xE0\x00\x0D\x01\x70\xF8\xE6\x22\x3A\x29\x32\xF7\xA9\xE5\xC7\xF0\x02\x38\xF1\xAA\x2A\x74\x29\x68\xF3\x19\xC9\x0A\x05\xC7\xF3\x02\x3F\xF1\x9D\xE4\xD8\xAE\xCE\xC0\x15\x05\x8E\xF6\x05\x07\xE4\xCD\x75\x74\x28\xE1\xF0\x86\xBF\x15\x05\x8E\xF9\x05\x0E\xE4\xCC\x80\x74\x28\x34\xEF\x92\xC6\x16\x05\x8E\xFC\x05\x16\xE4\xFD\x80\x74\x28\xEF\xF1\x33\xC9\x17\x05\x8E\xFF\x05\x1E\xE4\xE9\x75\x74\x28\xF7\xF0\x86\xBC\x18\x05\x8E\xF2\x06\x06\xE5\xE5\x8C\x74\x28\xFE", + "\xF1\x5D\xE9\x1D\xFD\x0C\x0E\xCA\xEE\x13\x74\x51\x06\xF2\x67\xC8\x33\x01\x1D\xF8\x0D\x05\xCB\xFD\xF7\xB4\x51\x0D\xF2\x67\xC9\x34\x01\x1D\xFB\x0D\x0D\xCB\xED\x17\x74\x51\x15\xF2\xC0\xBF\x3A\xFA\x1B\x05\x98\xF2\x2F\x4D\x68\x8D\xED\x9E\xF2\x7F\xEE\xFC\xA0\x17\xFA\x62\xCF\x6E\xED\xEA\x16\x34\xD1\xC0\x3A\xC9\x6A\xF8\x03\x46\xA2\x96\x48\xD0\x3A\xF5\xF1\xBD\x40\xAF\x00\x14\xFB\x7E\xA3\x14\x02\x84\xF8\x41\x80\x9C\x7A\xED\xB1\x00\x52\x45\x05\x46\xA2\x9C\x5E\xDC\x0C\xF4\x01\x67\xF9\xA3\x0E\x5A\x02\x3A\xFB\x3F\xA2\x5C\xDC\x0C\xF7\x01\x70\xF9\xE1\x15\x5B\x00\xA9\x46\x25\x06\xD1\x85\x04\x25\xF3\xC4\xF2\xF8\xF8\xF3\x20\x01\xFC\x27\xC6\xD1\x84\xDE\xF3\x98\xFD\x00\x01\xFA\x95\x2B\x2F\x03\x9F\xFB\x1F\xA6\xE8\xF5\x6E\x89\xFA\x13\x2F\x61\x00\x43\xF9\xA3\x9C\x7C\x1F\xE7\xC2\x04\x03\x01\x10\xFB\xA6\x3B\x31\x03\x9E\xF4\xD1\xEC\xE0\x96\xF4\xDC\xEF\x19\xFA\x06\x42\x32\x04\xA3\xF7\x70\xC3\xB7\x1F\xF4\xB7\xB9\x21\xFB\x1E\x41\x33\x04\xA4\xF4\xFF\x8E\x08\x2D\x98\x9C\xC3\x8C\x01\x94\xF9\x5A\x38\x1A\x0C\xD2\xF6\x7F\x96\x57\xA7\xFA\xBB\xBA", + "\x99\xF9\x29\xDD\xA6\xF0\x10\x16\x68\x88\x9A\x8E\xD6\x3A\xFA\x37\x46\x35\x04\xA7\xFE\xD0\x93\x08\x0A\x95\x9C\xC3\x95\x01\xA0\xF9\xBF\xB9\x1B\x04\xD4\xF6\x68\xAF\x03\x38\xFA\x98\x00\xA5\xF9\xBB\x44\x1B\x03\xD1\xE5\xE9\xC7\x79\x38\xFA\x9B\x00\xA9\xFA\xBC\x40\x1C\x0D\xD4\xE8\xC2\xCC\x7C\x9E\x01\x5A\xFA\xF8\x3F\x38\x05\xAA\xFD\xD2\xFA\xDF\xD2\x8C\xA1\x01\x61\xFB\x9B\x03\x39\x04\xAC\xF6\xD3\xE0\xC6\xB8\xF4\xA4\x01\x69\xFA\x0D\xB0\x5B\xFD\xA7\xF2\xC0\xEC\xF8\xA7\x02\x71\xFA\x59\xB1\xB9\xF9\x51\xF8\xDF\xDC\x19\xCA\x05\x38\xF5\xDE\xB1\x7A\xFA\x8B\x9A\xBF\xCC\x33\xCD\x0A\x1F\xEB\xC2\x04\x77\x01\x81\xFB\x9D\x04\x4E\xF8\x16\x06\xD8\xE1\x08\x27\xF0\x87\xC6\x16\x9B\x7E\x00\x4E\xFB\x16\x0D\xD8\xE0\x08\x3E\x03\x44\xFA\xAE\x98\x6C\xF8\x35\xFD\xED\xED\xD4\x2E\x65\x9D\xF3\xBA\xC5\xB6\x01\x6F\xF9\xED\xBD\x8E\xFE\xCA\x84\xE7\xDC\x86\xB8\x01\x95\xFA\xA6\xB5\x48\xFE\x95\x9D\xCE\xFA\x15\xFB\x02\x29\xFB\x06\x01\xD5\xFB\x44\x05\x9E\xFA\x2B\xDE\x05\x29\xF6\xB1\xF8\x3C\xC2\x57\x9A\x3F\xFB\x31\xD9\xDA\xED\x00\x00\x9C\x2E\x02\xAE\x98\x87", + "\xF9\x16\x34\x18\x09\xDA\xF1\x00\x3F\xF6\xA8\x9A\xA2\x78\x9C\xFB\x31\x01\xB5\xF5\x01\x07\xEE\xDF\x34\x9F\xCA\x9C\xC2\x65\x01\x6A\xFB\x88\xF7\x30\xCE\x65\x93\x02\x38\xFA\xCD\x01\xD4\xF8\x07\x02\xB6\xF9\x31\xB8\xE9\xD0\x03\x29\xFB\x1F\x00\xEE\xFB\x42\x07\xA5\xFA\x2B\xD3\x06\x29\xF6\xA2\x00\xE2\xFB\xF1\xA8\x4E\xFE\x1A\x09\xDA\xE5\x01\x29\xF7\x81\x02\x3F\xFA\x5D\xC5\x36\x01\xB5\xF8\x02\x0F\xEF\xFD\x18\xB8\xFA\xDC\x01\xD4\xFB\x0A\x06\xBE\xFD\x13\xD8\xE9\xDF\x03\x29\xFB\x2E\x00\xE7\xFB\x4A\x9F\xAA\xFC\x19\xC2\x07\x29\xF6\xB2\x00\xFC\xFA\x65\xF7\x19\xCD\x1C\x09\xDA\xF5\x01\x02\xF8\xEB\x99\xF2\xF7\x33\xC8\x3A\x01\xB5\xF9\x03\x0F\xF0\xF8\x33\xBE\xB1\x38\xFB\x75\x01\x6A\xFD\x07\x06\xE1\xEA\x02\xFC\xF5\xD7\xD4\xA9\xFB\x20\x01\x87\xFF\xA2\x95\xD7\xFC\x04\xF1\x03\x29\xFB\x65\xF9\xDC\xF8\x10\xB0\xA7\xF4\x0F\x09\xED\xC9\x01\x23\xFC\xAE\x99\x16\x00\x4E\xFF\x1E\x09\xDA\xF7\xE3\xD5\xF7\xE3\xB3\x38\xFA\x7D\x01\x6A\xFE\x8F\xF7\x30\xDA\xEC\xEA\x05\xBA\xC5\xFD\x00\x66\xFA\xB5\xD8\x41\xD9\x3A\xE7\x23\xFE\x03\x75\xF8\x66\x44\xA1\xC6", + "\x8F\xF8\x17\xFB\x23\xC1\x00\x04\x7B\xAD\x03\x03\x00\x62\xBC\xAF\xBB\xC9\xF3\xC7\xFC\x04\xC4\x00\x4F\xFC\x47\x46\x29\xFF\xE8\x0B\xC9\xFB\xC7\xF9\x26\xC7\x00\x58\xFC\xB6\x48\x2D\xFD\xB8\x13\xC9\xF2\xC8\xF2\x0F\xE0\xF9\x87\x0D\x62\xFC\xF3\x23\x92\xF9\x1B\xFC\x09\xCD\x00\x27\xF9\xE1\x23\x69\xFC\x95\x2B\x92\xF9\x92\xFC\x09\xD0\x00\x2F\xF9\xFD\x4F\x71\xFD\x89\x2F\x92\xF9\x93\xF7\x46\xD3\x00\x37\xF9\xFA\x51\x79\xFD\xA6\x3B\x92\xF9\x94\xFC\xF0\xB6\x00\x3F\xF9\xE3\x52\x81\xFC\x06\x43\x92\xF9\x95\xF0\x25\xC7\xF4\xDB\x00\x09\xFD\x3D\x41\x25\xFD\x2C\xFE\x2A\xCC\x01\x07\xF4\xDE\x00\x10\xFD\x69\x3B\x25\xFC\x2E\xFC\xE1\xBF\x01\x07\xF4\xE1\x00\x18\xFD\x25\x47\x25\xFC\x30\xFC\x50\xC7\xE8\xE4\x01\x20\xFA\xEE\x44\x4B\xFC\x64\xF8\x27\xC5\x04\x07\xE8\xE7\x01\x27\xFA\xFD\xBD\x58\xC0\x42\xF6\xAE\xC2\x9B\xFD\x03\x52\x6A\x96\x34\xD0\xF9\x23\xF2\xF8\x3E\x6C\x9E\xDE\xE9\x4D\xC8\x01\x04\x7B\xFA\xED\x3D\x40\xD9\x9B\x18\xFD\xA4\xCB\x02\x04\xF6\xAE\x04\x2F\x00\xAF\xFD\x76\x46\x6C\x9B\x8D\xF7\xA1\xD0\x01\x06\xFB\x82\x6A\xC9\xFC\x79\x46\x6C", + "\x9D\xCA\xF6\x15\xD5\x01\x0F\xFB\x9B\x6A\xD1\xFC\x5D\xFC\xF5\xAA\x62\xCA\x03\x17\xF6\xEE\xD5\x59\xFD\x37\x02\xD9\x99\x99\xFC\x13\xCF\x03\x1E\xF6\xC7\x7B\x60\xFD\xB6\xD2\x36\xFE\x55\xC4\x08\x06\xEE\xF4\x4E\x28\xFB\xE4\xF6\x00\x00\x3A\xFE\x55\xC1\x09\x0D\xEE\xE4\xE2\x6F\xFB\xBA\x9B\x0E\x02\x3E\xFC\xC3\xBE\x09\x05\xEF\xFE\x32\x77\xFB\x81\xDD\x02\x02\x42\xFF\x11\xDD\xDF\xF7\x05\x1F\xF7\xEF\x36\xE1\xAF\x3B\xC4\x2C\x01\xBF\xFC\x0B\x06\xF0\xF1\x6D\x93\x60\xD9\xE7\xFD\xFD\x30\x01\xC3\xFB\xB6\x9D\x74\xFC\x0C\xE2\x01\x7D\xFD\x66\x01\x89\xFE\x6C\x9B\xD4\xFC\x09\xC7\x03\x3D\xFB\xEB\x00\x1A\xFF\x9E\xCC\x67\xC4\x0D\x0D\xEF\xF0\x03\x13\xFC\xD1\x9B\x24\xDC\xDE\xC9\x34\xFC\xD6\x76\xC9\xF1\x6E\xAA\xFA\x38\xFD\xF2\x45\x45\xF8\xCC\xBB\x0E\xCC\x9F\xE6\xAB\xC4\x7B\xA8\xE8\x55\x00\x2B\xFB\x44\x04\xE6\xF6\xB3\xFA\x15\xFC\x01\x37\xFE\xA3\x0F\x56\xF9\xD4\x54\xE7\xFA\x7F\x3A\x15\xC7\x02\x44\xBD\x06\xD3\x37\x00\xC0\x4B\xC4\x44\xF4\xFF\xBC\xF7\x04\x13\x01\x48\xFF\xD1\x0C\x42\xFA\x7D\x54\xF4\xFE\xD0\xD9\x8A\x9F\x01\x51\xFF\x70\x17\x22\x03", + "\xE9\xFB\xF3\xEF\xBD\xD2\x8C\xAB\x01\x59\xFE\xF3\x21\x26\x04\xEB\xFE\x10\x04\xFA\xDF\xED\xA5\xCA\xB7\x00\xA0\xFD\xB8\x17\xAE\xF3\xF4\xEE\x95\xD9\x8A\xC2\x01\x61\xFE\xD7\xE0\xD9\xFB\x21\x04\xF4\xEB\x8C\xC9\x9D\x4E\x01\x71\xFF\x89\x2E\x30\x03\xEE\xF6\xE2\x87\xA3\xDC\x86\xDA\x01\x79\xFF\xA6\x3B\x77\xFC\xEA\xF4\x71\xE7\x23\xE6\x03\x01\xFF\x0C\x40\x6F\x00\xDF\xF9\x20\x04\xF4\xF8\x4E\xD6\x85\xF2\x01\x88\xFF\x1E\x40\x3B\x03\xF1\xF0\x10\x04\xFA\xE3\xE9\xA5\xCA\xFE\x01\xC8\xFD\x5A\x3A\xC7\xF4\xF8\xF4\xDC\xE1\xD4\xE0\x48\x8F\xD6\x04\x00\xB1\xBA\x03\x54\xF4\xFD\xDC\xC9\x9D\x17\x00\x60\x48\x83\xD3\x05\x04\xD8\xBC\xF4\xFD\xD3\xFA\x90\xA3\x00\xA9\xFF\xD1\x0C\xAB\xFD\xF3\xF8\x1C\xFA\x21\xEF\x00\x60\x48\x28\xE9\x19\x00\xB1\xBD\x39\x14\xF4\xE1\xA5\xF3\x98\xBA\x00\xB8\xFE\x18\xEB\xEE\xFD\xEB\xF0\x5D\xF2\x18\xC5\x01\x20\xFF\xDD\xEA\x62\xBF\xB9\x3C\xE8\xF2\xDC\xF0\x6E\x12\x01\x48\xFF\x87\xD6\xE5\xFC\xF1\xF9\xBC\xEC\xEB\xD1\xFD\xC5\xDA\xAC\xFF\xD3\xFF\xF4\xE8\x67\xC3\x0D\x06\xFD\xE6\x8F\x3B\x01\x58\xFF\x65\xFF\x59\xF4\x5E\xC8\xFA", + "\xF6\x1E\x29\x04\x23\xFE\xD9\xFF\xDD\xD6\x9A\xDD\xF7\xFA\xA5\x28\x09\x00\xFF\xF4\xFD\xEC\xF7\x82\xF3\xF5\xFF\xC4\x2E\x14\x0E\xFE\xFD\xFB\xD1\xF8\xE9\xE3\xE4\xFE\xD7\xE2\xF4\xF9\xFC\xF7\xFF\xFC\x04\xE9\x02\x79\xFF\x1B\x76\xFB\x7F\xEF\x7F\x1F\x7E\x3B\x6B\x00\x80\x23\x76\x02\x80\xF6\x7F\xEE\x74\x3A\x64\xC3\x00\x06\x80\x2B\x76\x08\x80\x8C\x7F\x61\x78\x56\x61\xD0\x00\x0D\x80\x3D\x20\xF4\x00\xE7\x7F\xFC\x7F\xD6\x6A\x5A\x78\x14\x80\x69\x1D\x03\x00\x60\x24\xA4\x7F\x70\x78\xBA\x62\xEA\x00\xF2\x7F\x74\x61\x60\x24\xAD\x01\x12\x00\x60\x24\xAD\x7F\x17\x75\x3A\x64\xF8\x00\x23\x80\x8B\x27\x68\x0C\x3E\x5F\x28\x80\xE8\x7F\x00\x01\x0B\x7B\x25\x65\x06\x00\x68\x0C\x06\x1E\x12\x00\x2F\x80\xF6\x20\x31\x80\x18\x80\x41\x7C\x25\x63\x14\x00\x37\x80\xCA\x2D\x3A\x80\xD4\x0A\x3C\x80\x03\x80\x4A\x7C\x25\x63\x22\x00\x41\x80\x06\x04\x43\x80\x8E\x3A\x45\x80\x09\x80\x54\x7C\x67\x64\x30\x00\x68\x0C\xCD\x09\x3D\x00\x4C\x80\x02\x01\x58\x00\x1E\x80\x2B\x4E\x2F\x7B\xB4\x7B\x68\x0C\x28\x74\x67\x00\x0D\x80\x7A\x60\x3B\x61\xBC\x7B\x5D\x80\xA3\x07\x74", + "\x00\x60\x80\x3D\x7B\x25\x65\x55\x00\x4A\x80\xE6\x11\x81\x00\x4E\x80\x01\x01\x61\x80\xB0\x70\x12\x63\x61\x00\x6B\x80\x2A\x15\x8F\x00\x6E\x80\x46\x63\xA7\x77\xBA\x62\x6D\x00\x74\x80\x13\x17\x9D\x00\x77\x80\x00\x00\x70\x80\x00\x01\x57\x7B\x0C\x5F\x79\x00\x7C\x80\x4D\x1D\xAB\x00\x7F\x80\x81\x80\x00\x00\x67\x7F\xD9\x64\x85\x00\x64\x80\xE1\x0A\xB9\x00\x67\x80\xF0\x7E\x0C\x5F\x90\x00\x86\x80\x0C\x20\xC6\x00\x89\x80\x6B\x7B\x12\x63\x9C\x00\x96\x80\x3D\x20\xD4\x00\x99\x80\x49\x7A\x3A\x64\xA8\x00\x9D\x80\x69\x1D\xE2\x00\xA0\x80\xD0\x77\x25\x63\xB4\x00\xA4\x80\x25\x23\xF0\x00\xA7\x80\xD6\x77\xBA\x62\xC0\x00\xAB\x80\x6E\x22\xFE\x00\xAE\x80\xDC\x77\x3B\x62\xCC\x00\xB2\x80\xFF\x5F\x68\x0C\x23\x26\x8A\x80\x6C\x7A\xD9\x64\xD8\x00\x53\x80\xA3\x07\x1A\x00\x68\x0C\x1A\x28\x8A\x80\xA6\x7F\x59\x18\xE5\x00\xB9\x80\xED\x22\x29\x00\xBB\x80\x5A\x80\xA5\x7B\xBA\x62\xF1\x00\xCA\x80\xF2\x22\x37\x00\xCD\x80\x28\x4E\xAC\x7B\x2E\x7C\x8F\x80\xE6\x11\x45\x00\xC1\x80\xD6\x80\xB3\x7B\x3A\x64\x08\x00\xD2\x2D\x28\x74\x52\x00\xDC\x80\x0B\x01\x8A", + "\x80\xCD\x7F\x9B\x0B\x13\x00\xD2\x2D\x8F\x6B\x5F\x00\x68\x0C\xE7\x1E\xE6\x80\x38\x7D\x20\x00\xEA\x80\xA3\x07\x6F\x00\xED\x80\xCE\x80\xD4\x7F\x3A\x64\x2D\x00\xD2\x2D\x3B\x6D\xD5\x80\xE5\x80\xD4\x7B\xE1\x76\xFA\x80\x0E\x67\xFC\x80\x3E\x6F\xE2\x7F\x9C\x60\x45\x00\xF2\x80\xE1\x0A\x9B\x00\xC4\x80\xF6\x80\xBB\x7A\x9C\x61\x52\x00\x00\x81\x51\x6D\x02\x81\x6F\x80\xF0\x7F\x25\x63\x5E\x00\x0F\x81\xE6\x11\xB8\x00\x11\x81\x78\x80\xFD\x7F\x56\x61\x6A\x00\x07\x81\xF6\x68\xF5\x80\xDD\x80\x66\x7D\x25\x63\x77\x00\x1E\x81\x2A\x15\xD6\x00\x20\x81\xFD\x80\x04\x80\x12\x63\x84\x00\x25\x81\x13\x17\xE6\x00\x28\x81\x03\x81\x2A\x81\x25\x63\x91\x00\x2D\x81\x4D\x1D\xF6\x00\x30\x81\x12\x81\xFE\x74\x9C\x60\x9E\x00\x35\x81\x0C\x20\x06\x00\xD2\x2D\xC5\x80\x1A\x7C\x25\x63\xAB\x00\x3D\x81\x4B\x70\x40\x81\x0B\x81\x0D\x75\xDE\x63\x16\x81\xC5\x55\xD2\x2D\x65\x06\xD2\x2D\xBC\x80\x2D\x7C\x12\x63\xC6\x00\x4B\x81\x33\x57\x4D\x81\x46\x35\x4F\x81\x48\x81\x33\x80\x67\x70\x54\x81\x00\x01\xE0\x00\x56\x81\xAE\x35\x58\x81\x21\x81\x3E\x80\x67\x64\xE2\x00\x5C", + "\x81\x4C\x58\x5F\x81\xEF\x3C\x61\x81\x29\x81\x47\x80\x67\x64\xF0\x00\x66\x81\xFC\x00\x68\x81\x47\x05\x6A\x81\x31\x81\x26\x68\xBA\x62\xFE\x00\x3D\x81\x0B\x00\xDB\x0F\xAD\x01\x1D\x81\xA1\x2B\x82\x60\x57\x80\x37\x68\x31\x7A\xD8\x4B\xD2\x2D\xD2\x13\x7E\x81\x3A\x3F\x22\x79\x24\x79\xF0\x1F\x7A\x00\x83\x81\x31\x4E\xBC\x7E\x17\x6A\x0D\x00\xDB\x0F\xA7\x73\x6C\x14\xC3\x7E\xD9\x64\x0E\x00\x7A\x81\xE6\x1E\x90\x81\xD4\x68\x8A\x57\x12\x63\x11\x00\x96\x81\x2B\x0A\x98\x81\xE1\x0A\x6C\x14\xD4\x7E\x99\x62\x14\x00\x9D\x81\x59\x2D\x9F\x81\xE6\x11\x6C\x14\x5D\x7E\x17\x6A\x17\x00\xA5\x81\x73\x0D\xA7\x81\x2A\x15\x6C\x14\xE3\x7E\x57\x62\xAD\x81\x01\x01\x1C\x00\xAF\x81\x13\x17\x6C\x14\xEA\x7E\x99\x62\x1D\x00\xB4\x81\x2A\x0F\xB7\x81\x4D\x1D\x6C\x14\xF2\x7E\x99\x62\x20\x00\xBD\x81\x79\x14\xBF\x81\x0C\x20\x6C\x14\xFA\x7E\x9C\x60\x23\x00\xC5\x81\x25\x00\xC7\x81\x3D\x20\x6C\x14\x02\x7F\x56\x61\x26\x00\xC5\x81\x28\x00\xCF\x81\x69\x1D\x6C\x14\x8C\x7E\x56\x61\x29\x00\xC5\x81\x2B\x00\xD7\x81\x25\x23\x6C\x14\x93\x7E\x99\x62\x2C\x00\xC5\x81\x2E", + "\x00\xDF\x81\x6E\x22\x6C\x14\x9B\x7E\x9C\x60\x2F\x00\xC5\x81\x31\x00\xE7\x81\xFD\x5E\x6C\x14\x1C\x7F\x56\x61\x32\x00\xC5\x81\x34\x00\xEF\x81\xED\x22\x6C\x14\xAA\x7E\xD5\x7E\xC5\x81\x37\x00\xF7\x81\xF2\x22\x0B\x20\x8A\x80\x30\x7F\x43\x7E\xED\x22\xAE\x4E\x8D\x81\x33\x66\x38\x00\xFE\x81\x03\x82\xF2\x22\xAE\x4E\x93\x81\x17\x6A\x39\x00\xC5\x81\x3B\x00\x09\x82\x67\x79\x9A\x81\x25\x63\x3C\x00\xC5\x81\x3E\x00\x12\x82\x9A\x80\x00\x01\xA2\x81\x25\x65\x3F\x00\xC5\x81\x41\x00\x19\x82\x16\x6D\xDB\x7E\x07\x70\xC5\x81\x44\x00\x21\x82\x5F\x74\x64\x6F\xF9\x72\xC5\x81\x47\x00\x27\x82\xEC\x4E\x89\x7C\xBA\x62\x48\x00\xC5\x81\x4A\x00\x2D\x82\xD2\x4E\xDB\x57\x15\x7B\xC5\x81\x4D\x00\x34\x82\x00\x01\xAE\x4E\xCA\x81\x56\x61\x4E\x00\xC5\x81\x50\x00\x3A\x82\xE7\x6F\x3A\x77\x0C\x5F\x51\x00\xC5\x81\x53\x00\x42\x82\xAE\x4E\xDA\x81\xBB\x71\xC5\x81\x56\x00\x49\x82\x0F\x7F\x12\x63\x57\x00\xC5\x81\x59\x00\x4F\x82\x0E\x01\xEA\x81\x56\x61\x5A\x00\xC5\x81\x5C\x00\x55\x82\x0B\x01\xF2\x81\xAE\x6B\xC5\x81\x5F\x00\x5C\x82\x02\x01\xFA\x81\x99\x62\x60", + "\x00\xC5\x81\x62\x00\x42\x82\xC7\x69\x06\x82\xF2\x5A\xDB\x0F\xC0\x7E\x69\x1D\xC7\x69\x0D\x82\x33\x66\x66\x00\xDB\x0F\x2E\x01\x6A\x00\x69\x82\x14\x82\x67\x64\x6B\x00\x74\x82\xCD\x46\x77\x82\x0E\x01\x1C\x82\xD9\x64\x70\x00\x7B\x82\xF6\x5F\x7D\x82\x5E\x6F\xBD\x6B\x82\x82\xD8\x4B\x84\x82\x02\x01\xB2\x81\x99\x62\x7A\x00\x87\x82\x24\x03\x89\x82\x01\x01\xBA\x81\x25\x65\x7F\x00\x8E\x82\x2D\x68\x90\x82\x1C\x64\xC1\x65\x95\x82\x46\x63\x97\x82\x00\x00\x3D\x82\x99\x62\x89\x00\x9A\x82\x00\x00\x8D\x00\x9C\x82\xD2\x81\x99\x62\x8E\x00\xA1\x82\x92\x00\x9C\x82\x4B\x82\x25\x65\x93\x00\xA1\x82\x97\x00\x9C\x82\xE2\x81\x25\x65\x98\x00\xA1\x82\x9C\x00\x9C\x82\x57\x82\x99\x62\x9D\x00\xA1\x82\xA1\x00\x9C\x82\x5E\x82\xAC\x7A\xA1\x82\xA6\x00\x9C\x82\x64\x82\x25\x65\xA7\x00\xA1\x82\xAB\x00\x42\x82\x10\x4F\x4D\x71\x94\x6F\xDB\x0F\xAF\x7B\x3D\x81\xC8\x82\x24\x58\x9C\x61\xB7\x00\xCB\x82\xB7\x7B\xCD\x82\x68\x80\xD9\x64\xC2\x00\xDB\x0F\x06\x69\x95\x00\x73\x81\x2B\x7B\x45\x7B\x25\x65\xCE\x00\xD8\x82\xB1\x6B\xDB\x82\x00\x01\xCE\x82\x02\x01\x56", + "\x7F\x25\x65\xDA\x00\xE0\x82\xE1\x0A\xB1\x00\xE2\x82\x00\x00\xE4\x82\x01\x01\x83\x80\x9C\x60\xE6\x00\xE9\x82\xB7\x7A\xEC\x82\xEE\x82\x00\x01\x8C\x80\x17\x6A\xF2\x00\xD2\x82\xE1\x0A\xCD\x00\xD4\x82\x93\x80\x9C\x60\xFD\x00\xF3\x82\x2A\x15\xDA\x00\xF5\x82\x1A\x82\x67\x64\x09\x00\xE4\x0B\x06\x69\xE8\x00\x05\x83\xA1\x80\x12\x63\x15\x00\x09\x83\xA3\x07\xF6\x00\x0C\x83\xA8\x80\x67\x64\x21\x00\x10\x83\x4D\x5F\xDB\x0F\x23\x26\xF6\x82\x12\x49\x90\x73\x17\x83\xE6\x11\x12\x00\x19\x83\xC5\x5C\x8C\x7B\x0C\x5F\x39\x00\x1E\x83\x2A\x15\xC4\x81\xEA\x2B\x1B\x83\xBE\x80\x17\x6A\x45\x00\xE4\x0B\x8F\x6B\xE6\x81\xA1\x2B\x1B\x83\xC7\x80\xCE\x7F\x26\x83\x13\x17\x3D\x00\x21\x83\x0F\x4F\xAE\x7F\x12\x63\x5E\x00\x35\x83\x4D\x1D\x4B\x00\x38\x83\x0B\x01\x1B\x83\x99\x74\x0C\x5F\x6A\x00\xE4\x0B\x8B\x77\xDB\x0F\xCD\x09\x1B\x83\xBE\x7F\x49\x27\x75\x00\x46\x83\x93\x77\x48\x83\x22\x83\xC5\x7F\x5B\x77\x2E\x83\xA3\x07\x73\x00\xDB\x0F\xE7\x1E\x1B\x83\xE7\x80\xA7\x0A\x8D\x00\x54\x83\xE1\x0A\x83\x00\x57\x83\x51\x83\xF7\x80\x12\x63\x9A\x00\x3D\x83\x0C", + "\x20\xAD\x82\x29\x83\xFE\x80\x25\x63\xA6\x00\x65\x83\x3D\x20\xBB\x82\x68\x83\xCA\x6A\x12\x63\xB2\x00\x5D\x83\xE6\x11\xAF\x00\xDB\x0F\x1A\x28\x1B\x83\xE5\x7B\xD9\x64\xBF\x00\x6C\x83\x69\x1D\xBE\x00\x40\x83\x02\x01\x1B\x83\x39\x78\x56\x61\xCB\x00\x7C\x83\x25\x23\xCC\x00\x7F\x83\xDC\x82\x1B\x81\x99\x62\xD7\x00\x73\x83\x03\x83\x60\x83\x39\x83\x8A\x83\x25\x65\xE4\x00\x8D\x83\x13\x17\xEA\x00\x8F\x83\x41\x83\x25\x7E\x56\x61\xF1\x00\x94\x83\x4D\x1D\xFA\x00\x97\x83\x80\x83\x99\x83\x99\x62\xFE\x00\x9C\x83\x0C\x20\x0A\x00\xE4\x0B\x58\x83\x11\x80\x99\x62\x0B\x00\x9C\x30\x8F\x6B\x1A\x00\xE4\x0B\x77\x83\x42\x81\x67\x64\x18\x00\xAC\x83\xA3\x07\x29\x00\xAF\x83\x61\x83\x22\x7C\x8B\x64\x9C\x30\x06\x1E\x31\x00\x9C\x30\xAD\x01\x38\x00\xE4\x0B\x1A\x83\x51\x81\x25\x63\x33\x00\xBB\x83\x45\x06\xBE\x83\x2A\x02\xC1\x83\xB8\x83\x37\x7C\x9C\x61\x41\x00\xC6\x83\x81\x3C\xC8\x83\xD1\x11\xCA\x83\x90\x83\x8D\x78\x9C\x61\x4F\x00\xCF\x83\xF8\x09\xD1\x83\x4B\x08\xD3\x83\x98\x83\xF3\x6D\xA2\x7C\xD8\x83\xF0\x5A\xDA\x83\x5B\x47\xDC\x83\xA0\x83\x25", + "\x7B\x79\x82\xB4\x83\xD6\x4B\xE2\x83\xD1\x0C\xB7\x83\x0E\x01\x12\x4F\x55\x41\xBA\x62\x7A\x00\x9C\x30\xA7\x73\xEE\x83\x3A\x57\x9C\x61\x7B\x00\xEA\x83\x4C\x7B\xF2\x83\x11\x6A\x78\x82\x36\x60\xF8\x83\x0E\x4D\xFA\x83\xAB\x77\x13\x01\x7F\x82\x17\x6A\x81\x00\xFE\x83\x83\x00\x00\x84\xE6\x11\xF4\x83\x02\x01\xAA\x81\x33\x66\x84\x00\xFE\x83\x86\x00\x08\x84\x75\x80\x97\x76\x3B\x62\x87\x00\xFE\x83\x89\x00\x11\x84\x13\x17\x0A\x84\x91\x82\x3B\x62\x8A\x00\xFE\x83\x8C\x00\x18\x84\x4D\x1D\x1A\x84\x98\x82\x9C\x61\x8D\x00\xFE\x83\x8F\x00\x20\x84\x0C\x20\x22\x84\x9D\x82\x3B\x62\x90\x00\xFE\x83\x92\x00\x28\x84\x3D\x20\x2A\x84\xA5\x82\xAC\x82\xFE\x83\x95\x00\x30\x84\x69\x1D\x2A\x84\xAB\x82\x90\x77\xFE\x83\x98\x00\x37\x84\x25\x23\x2A\x84\xB1\x82\xD9\x64\x99\x00\xFE\x83\x9B\x00\x3E\x84\x6E\x22\x2A\x84\xB7\x82\xBE\x79\xFE\x83\x9E\x00\x46\x84\xFD\x5E\x2A\x84\xBD\x82\xD9\x64\x9F\x00\xFE\x83\xA1\x00\x4D\x84\xED\x22\x2A\x84\xC2\x82\xD9\x64\xA2\x00\xFE\x83\xA4\x00\x55\x84\xF2\x22\x14\x4F\xED\x83\x80\x81\x1F\x79\x4D\x1D\x23\x4F\x1B\x83\x02", + "\x82\x72\x77\xA7\x4F\x8C\x60\x0C\x5F\xA5\x00\x5D\x84\xF0\x1F\x5C\x83\x30\x5F\x8D\x4F\x30\x79\xA7\x0A\xA6\x00\x6C\x84\x37\x01\x8E\x00\xE4\x0B\xD2\x13\x8D\x4F\xAA\x66\xD9\x64\xA7\x00\x74\x84\x11\x4F\x77\x84\xB9\x4F\x3E\x79\x9C\x60\xA8\x00\x7D\x84\x0E\x01\x90\x00\x7F\x84\xC3\x4F\xB7\x66\xFE\x7F\x84\x84\x44\x4F\x87\x84\x50\x7C\x4D\x79\x56\x61\xAA\x00\x8B\x84\xAD\x4F\x8D\x84\xAD\x4F\xE3\x61\x42\x71\x92\x84\x01\x01\x93\x00\x94\x84\xDD\x4F\x5C\x62\x9C\x60\xAC\x00\x98\x84\x00\x01\x94\x00\x9B\x84\x7D\x4F\x61\x62\x56\x61\xAD\x00\xA0\x84\xD9\x65\xA3\x84\x68\x84\x67\x62\xB4\x7A\xA8\x84\x96\x00\xAA\x84\x8D\x4F\xD4\x79\xA7\x0A\xAF\x00\xA8\x84\x97\x00\xB0\x84\xE2\x66\x56\x61\xB0\x00\xA8\x84\x98\x00\xB7\x84\x81\x79\x25\x63\xB1\x00\xA8\x84\x99\x00\xBD\x84\x87\x79\x74\x69\xA8\x84\x64\x83\x6F\x84\xEF\x3A\x0C\x5F\xB3\x00\xA8\x84\x9B\x00\xC3\x84\x94\x2D\xA9\x80\x28\x84\xB5\x00\xFE\x83\x9C\x00\xAA\x84\xE9\x4F\x4A\x41\xD0\x82\xA8\x84\x3D\x20\xD6\x84\x36\x67\xBA\x62\xB8\x00\xFE\x83\xBA\x00\xA8\x84\xDB\x84\x6E\x57\xBC\x7A\xFE\x83\xBD", + "\x00\xE1\x84\x02\x84\x7F\x67\xFE\x83\xC0\x00\xE7\x84\xAE\x57\x8B\x69\xFE\x83\xC3\x00\xEC\x84\x29\x82\xBA\x62\xC4\x00\xFE\x83\xC6\x00\xF1\x84\x23\x77\x3B\x62\xC7\x00\xFE\x83\xC9\x00\xF7\x84\x01\x01\xC2\x81\x25\x65\xCA\x00\xFE\x83\xCC\x00\xFD\x84\xD1\x6C\x3B\x62\xCD\x00\xFE\x83\xCF\x00\x04\x85\x00\x00\x33\x84\xD9\x64\xD0\x00\xFE\x83\xD2\x00\x0A\x85\x3A\x84\x17\x6A\xD3\x00\xFE\x83\xD5\x00\x0A\x85\x41\x84\x17\x6A\xD6\x00\xFE\x83\xD8\x00\x0A\x85\x49\x84\xD9\x64\xD9\x00\xFE\x83\xDB\x00\x0A\x85\x50\x84\x17\x6A\xDC\x00\xFE\x83\xDE\x00\x0A\x85\x58\x84\x17\x6A\xDF\x00\xFE\x83\xE1\x00\xA8\x84\x9F\x60\x00\x01\xE2\x84\x70\x77\x62\x84\x0C\x20\xCC\x6E\x8D\x4F\x66\x84\xA3\x07\xF7\x6C\xFD\x79\x17\x6A\xE2\x00\xE0\x83\x7D\x80\xE4\x83\x01\x01\xF7\x6C\x8F\x77\x17\x6A\xEE\x00\x3E\x85\x87\x80\x40\x85\x1B\x5C\xD5\x82\x17\x6A\xFA\x00\xE8\x83\xE6\x11\xB9\x00\xEC\x83\x96\x72\x7D\x70\x87\x70\xFE\x0B\x8F\x6B\xC8\x00\x50\x85\xE5\x82\x79\x80\xF1\x7A\x54\x85\xA3\x07\x8C\x83\xA1\x2B\xF7\x6C\xD6\x50\x38\x85\xE1\x0A\xF7\x6C\xF0\x82\x56\x61\x21", + "\x00\x5B\x85\xE1\x0A\xE6\x00\x57\x85\x41\x85\x76\x75\x0C\x5F\x2E\x00\xFE\x0B\x06\x69\xF5\x00\x48\x85\x4E\x7B\xFF\x82\x56\x61\x3A\x00\x67\x85\xE6\x11\x03\x00\x9C\x30\x1A\x28\xF7\x6C\x76\x7F\x59\x18\x47\x00\x77\x85\x2A\x15\x12\x00\x7A\x85\x59\x85\xF0\x6F\x8A\x7C\x80\x85\x13\x17\x21\x00\x83\x85\x6D\x71\x2A\x77\xBA\x62\x61\x00\x87\x85\x4D\x1D\x30\x00\x8A\x85\x51\x85\xCD\x72\x9C\x60\x6E\x00\x8F\x85\xEA\x6A\x92\x85\x58\x85\x7C\x74\xBA\x62\x7B\x00\x97\x85\x3D\x20\x4E\x00\x99\x85\x6B\x85\x9E\x7F\xD7\x6A\xFE\x0B\xB2\x67\x37\x01\x5D\x00\x9C\x30\xE7\x1E\xF7\x6C\x33\x83\x9B\x0B\x96\x00\x9E\x85\xBE\x76\xA1\x85\x49\x85\xCF\x80\x3A\x64\xA3\x00\xAF\x85\x25\x23\x7C\x00\xB1\x85\x73\x85\xB5\x7F\x12\x63\xB0\x00\x6F\x85\xA3\x07\x8B\x00\x9C\x30\x23\x26\xF7\x6C\x4B\x83\x59\x18\xBC\x00\xBE\x85\xE1\x0A\x43\x84\xEA\x2B\xF7\x6C\x5A\x83\x62\x08\xC8\x00\xA5\x85\xA3\x07\x7C\x84\x6F\x2A\xCB\x85\xEB\x7D\xCF\x85\xE1\x0A\xDE\x84\xD2\x85\xCC\x7B\xBA\x62\xE4\x00\xB6\x85\x6E\x22\xFC\x84\x5E\x85\x69\x83\x67\x64\xF1\x00\xDC\x85\xFD\x5E\x1C\x85\xDF", + "\x85\x70\x83\x25\x63\xFE\x00\xD5\x85\xE6\x11\xE7\x00\xA9\x85\x84\x85\x30\x78\xC9\x75\x4C\x1D\x8F\x6B\xF7\x00\xB9\x85\xF7\x6C\x82\x83\x99\x62\x19\x00\xF1\x85\x4D\x7A\xFE\x0B\x7B\x85\x5E\x7D\x9C\x60\x26\x00\x4C\x1D\xA6\x85\x00\x28\xFE\x0B\x74\x28\xF7\x6C\x0A\x7E\x0C\x5F\x34\x00\x00\x86\xA3\x07\x26\x00\x03\x86\xEE\x85\xCD\x3D\x38\x7D\x42\x00\x09\x86\xE1\x0A\x37\x00\x0C\x86\x8B\x85\x29\x72\x3A\x64\x50\x00\x11\x86\xE6\x11\x48\x00\x14\x86\x93\x85\x06\x6F\x14\x81\x19\x86\xC6\x74\xFE\x0B\xAA\x85\xB1\x83\xC0\x5F\x20\x86\x13\x17\x69\x00\x22\x86\x0D\x86\x38\x76\x25\x65\x7A\x00\xF9\x85\x65\x7F\x4C\x1D\xAD\x01\x79\x00\xFB\x85\x0D\x86\xD5\x6D\x9F\x82\x2E\x86\x42\x6B\x30\x86\x2B\x4E\x33\x86\x15\x86\x5A\x81\x9C\x61\x98\x00\x37\x86\x02\x01\xA5\x00\x39\x86\x0E\x01\x97\x00\x3B\x86\x1D\x86\xEA\x6D\x9C\x61\xA7\x00\x40\x86\x99\x54\x43\x86\x0B\x01\xA6\x00\x46\x86\x9A\x85\x6C\x81\x0C\x5F\xB6\x00\x4B\x86\xB2\x55\x4D\x86\x02\x01\xB5\x00\x50\x86\xA2\x85\x75\x81\xB0\x77\x26\x86\x4E\x57\x57\x86\xC7\x55\x29\x86\x44\x86\x5B\x80\x3A\x64\xD5", + "\x00\x4C\x1D\x06\x69\xD4\x00\xEA\x85\x15\x17\x7F\x72\x0C\x5F\xE1\x00\x67\x86\xA3\x07\xE2\x00\x6A\x86\x59\x63\x4A\x85\x33\x66\xED\x00\x55\x86\x0C\x20\xF0\x00\x5A\x86\x00\x01\xF1\x4F\xA7\x70\x67\x64\xFA\x00\x77\x86\x0F\x23\x7A\x86\x20\x5C\x0D\x86\xDE\x61\x44\x08\x8F\x6B\x0E\x00\x4C\x1D\x1A\x28\x7C\x86\x01\x01\x60\x85\xCC\x62\x9C\x7D\x0C\x20\x8B\x86\x82\x80\x3B\x62\x14\x00\x86\x86\x6C\x64\x89\x86\x90\x5B\xD8\x6F\x15\x83\x44\x08\x06\x69\x2C\x00\x5E\x86\x83\x86\x74\x85\x99\x62\x2D\x00\x95\x86\xE1\x0A\x3A\x00\x97\x86\x63\x86\x22\x82\xF2\x72\xA3\x86\xE6\x11\x49\x00\xA6\x86\x98\x5B\x0D\x83\x25\x63\x47\x00\xAA\x86\x2A\x15\x58\x00\xAD\x86\x6B\x86\x1B\x77\x25\x63\x54\x00\xB2\x86\xCF\x73\xB5\x86\x73\x86\x84\x7B\x72\x80\xBA\x86\x4D\x1D\x76\x00\xBC\x86\x7B\x86\x23\x83\x95\x85\xC0\x86\x0C\x20\x85\x00\xC3\x86\x9F\x86\x83\x74\x83\x6D\x44\x08\x01\x86\xEA\x4F\x4C\x1D\xE7\x1E\x91\x86\x64\x79\x3B\x62\x89\x00\xC7\x86\x3D\x20\xA4\x00\xCA\x86\xD3\x86\xF5\x77\x17\x6A\x96\x00\xD7\x86\x69\x1D\xB3\x00\xDA\x86\xD7\x80\x12\x63\xA3\x00\x9B", + "\x86\xA3\x07\xC2\x00\x9E\x86\xD3\x86\xC4\x85\xD0\x0D\xAF\x00\xE6\x86\xE1\x0A\xD0\x00\xE9\x86\x00\x73\xE4\x63\xCE\x86\xA3\x07\xDE\x00\x4C\x1D\x74\x28\xD3\x86\xCC\x85\x3E\x07\xC9\x00\xF4\x86\xD5\x67\xF7\x86\x98\x86\x62\x83\x25\x63\xD7\x00\xDF\x86\xCF\x5E\x44\x08\x8A\x86\xE0\x85\x0C\x5F\xE4\x00\x04\x87\x6E\x22\x0F\x00\x06\x87\x00\x87\x7F\x3A\x9C\x61\xF1\x00\xFD\x86\xE6\x11\x1E\x00\x44\x08\xD2\x86\xF8\x75\x90\x60\x0B\x87\xFD\x5E\x2E\x00\x0E\x87\xA7\x86\xD8\x74\xAF\x67\x4D\x07\xD4\x75\x1D\x87\xAE\x86\x22\x81\x67\x64\x19\x00\x4D\x07\xCF\x86\x95\x3B\x44\x08\xF8\x86\xFD\x85\x56\x61\x27\x00\x28\x87\xA3\x07\x5D\x00\x2B\x87\x0F\x87\x16\x86\x12\x63\x35\x00\x30\x87\xE1\x0A\x6E\x00\x33\x87\x1E\x87\x17\x76\x25\x63\x43\x00\x38\x87\xE6\x11\x7F\x00\x3B\x87\x24\x87\x1E\x86\x83\x7C\x40\x87\x2A\x15\x90\x00\x16\x87\x34\x87\xC2\x6D\x9C\x61\x5F\x00\x47\x87\x13\x17\xA0\x00\x4A\x87\x3C\x87\x49\x81\x25\x63\x6D\x00\x21\x87\xA5\x4C\x4D\x07\xAD\x01\xB0\x00\x23\x87\xB6\x86\x19\x6F\x3E\x7F\x57\x87\x0E\x01\x89\x00\x59\x87\x13\x01\xBF\x00\x5C", + "\x87\xBD\x86\x20\x75\xBA\x62\x8B\x00\x60\x87\xA4\x19\x63\x87\x0E\x01\xCE\x00\x66\x87\xC4\x86\x14\x7B\x6D\x6F\x6B\x87\x02\x01\xA7\x00\x6D\x87\x0B\x01\xDD\x00\x70\x87\xCB\x86\x63\x72\x3A\x64\xA9\x00\x74\x87\x0D\x5E\x77\x87\x02\x01\xEC\x00\x7A\x87\xD3\x86\x98\x73\xD1\x68\x4F\x87\xE2\x56\x81\x87\x8E\x7D\x52\x87\xA4\x19\x64\x86\x12\x63\xC8\x00\x4D\x07\x06\x69\x0B\x00\x88\x87\x48\x50\x6C\x86\x9C\x60\xD4\x00\x91\x87\x04\x73\x94\x87\x05\x50\x86\x72\x8E\x04\xE0\x00\x7F\x87\x7F\x5D\x4D\x07\x1A\x28\x05\x50\x4E\x7F\x39\x58\xA0\x87\x0C\x20\x36\x00\xA2\x87\x4C\x50\x3C\x86\x7E\x86\xA7\x87\x3D\x20\x45\x00\xAA\x87\x0E\x01\x05\x50\x64\x85\x99\x62\x07\x00\xE4\x1F\x8F\x6B\x54\x00\xB1\x87\x8D\x87\x99\x86\x0C\x5F\x14\x00\xE4\x1F\x06\x69\x63\x00\x9B\x87\x6E\x7F\x25\x65\x20\x00\xB7\x87\xA3\x07\x71\x00\xBA\x87\x46\x50\xA8\x86\x90\x73\xC6\x87\xE1\x0A\x80\x00\xC9\x87\x51\x50\xC6\x69\x95\x6B\xCD\x87\x09\x84\xD0\x87\x00\x01\x05\x50\x7D\x7B\x25\x65\x47\x00\xD4\x87\x2A\x15\x9E\x00\xD6\x87\x95\x87\xBE\x86\xB8\x86\xDC\x87\x13\x17\xAD\x00\xDF", + "\x87\x05\x50\x97\x7F\xD9\x64\x61\x00\xE3\x87\x4D\x1D\xBC\x00\xE6\x87\xB1\x71\x3A\x64\x6E\x00\xE4\x1F\x29\x87\x02\x01\xCB\x00\x4D\x07\xE7\x1E\x05\x50\xAC\x85\xA7\x0A\x7C\x00\xEB\x87\x0C\x20\xDB\x00\xEE\x87\xB3\x85\x12\x63\x89\x00\xFC\x87\x3D\x20\xEA\x00\xFF\x87\xBB\x85\x25\x63\x96\x00\xBF\x87\xA3\x07\xF9\x00\xC2\x87\xDE\x80\x28\x76\x0A\x88\x23\x60\xF2\x87\xAB\x87\xBB\x7B\xFB\x7B\x12\x88\xE1\x0A\x15\x00\xE4\x1F\x74\x28\x05\x50\xFA\x86\x8E\x04\xBC\x00\x16\x88\xE6\x11\x26\x00\x19\x88\x13\x88\x27\x6A\x42\x76\x03\x88\x69\x1D\x37\x00\xE4\x1F\xA3\x87\x08\x87\x9C\x60\xD7\x00\x26\x88\x25\x23\x46\x00\x29\x88\x23\x88\x01\x01\xDC\x7B\xD0\x0D\xE4\x00\x1F\x88\x2A\x15\x55\x00\xE4\x1F\xF7\x87\x18\x87\x9C\x60\xF2\x00\x2E\x88\x6E\x22\x65\x00\x31\x88\xB2\x87\x13\x81\x3F\x6E\x3F\x88\xFD\x5E\x74\x00\x42\x88\xBB\x87\x25\x87\x0C\x5F\x0C\x00\x7B\x33\xF3\x87\x2D\x68\x22\x88\x43\x88\x91\x83\xD9\x64\x1A\x00\x4E\x88\xA3\x07\x94\x00\x51\x88\x4A\x88\x3D\x87\x67\x64\x28\x00\x56\x88\xC8\x7B\x59\x88\xCA\x87\x0A\x80\x12\x63\x36\x00\x5E\x88\xE6", + "\x11\xB6\x00\x60\x88\xD1\x87\x45\x87\x0C\x5F\x44\x00\x65\x88\x2A\x15\xC7\x00\x3A\x88\x32\x88\x4C\x87\xBA\x62\x52\x00\x6D\x88\x13\x17\x2D\x88\x8C\x29\x05\x50\x2B\x86\xD9\x64\x60\x00\x7B\x33\xCD\x09\x6D\x00\x7B\x33\xAD\x01\xE7\x00\x49\x88\x61\x88\x49\x72\x3A\x64\x6F\x00\x7D\x88\xEC\x4C\x80\x88\x6F\x59\x83\x88\x69\x88\xCC\x83\xBA\x62\x7E\x00\x88\x88\x0E\x01\x8B\x00\x8A\x88\x8E\x20\x7B\x33\x2A\x88\x72\x87\x3A\x64\x8D\x00\x91\x88\xF3\x50\x94\x88\x0E\x28\x96\x88\x71\x88\x50\x03\x3B\x62\x9C\x00\x9B\x88\x02\x01\xA9\x00\x9D\x88\x75\x10\x9F\x88\x52\x88\x5C\x86\x5F\x7F\x75\x88\x00\x01\xB9\x00\xA7\x88\xC7\x67\x7B\x33\xE7\x1E\x6E\x50\x05\x50\x61\x85\x62\x7F\x3B\x51\x61\x84\x2B\x7F\x13\x17\xD6\x50\x6B\x82\x59\x18\xBB\x00\x7B\x33\xA7\x73\xD6\x50\x71\x82\x49\x27\xBC\x00\xB0\x88\xEB\x63\xC0\x88\xA3\x07\xD6\x50\xCC\x7E\x33\x66\xBF\x00\xC6\x88\x00\x00\xC1\x00\xC8\x88\xDD\x68\xE8\x84\x9C\x61\xC2\x00\xCE\x88\xC4\x00\xD1\x88\xE6\x11\xD6\x50\x0C\x84\x49\x27\xC5\x00\xCE\x88\xC7\x00\xD8\x88\x2A\x15\xD6\x50\x8B\x82\x25\x65\xC8\x00\xCE", + "\x88\xCA\x00\xE0\x88\xBB\x88\x2F\x82\x3A\x64\xCB\x00\xCE\x88\xCD\x00\xE8\x88\x4D\x1D\xD6\x50\xFF\x84\xD9\x64\xCE\x00\xCE\x88\xD0\x00\xEF\x88\x0C\x20\xD6\x50\x9E\x82\x25\x65\xD1\x00\xCE\x88\xD3\x00\xF7\x88\x16\x67\x44\x82\x97\x87\xCE\x88\xD6\x00\xFF\x88\x69\x1D\xD6\x50\x12\x85\x33\x66\xD7\x00\xCE\x88\xD9\x00\x05\x89\x25\x23\xD6\x50\x18\x85\x33\x66\xDA\x00\xCE\x88\xDC\x00\x0D\x89\x6E\x22\xD6\x50\x1E\x85\x17\x6A\xDD\x00\xCE\x88\xDF\x00\x15\x89\xFD\x5E\xD6\x50\x24\x85\x33\x66\xE0\x00\xCE\x88\xE2\x00\x1D\x89\xED\x22\xD6\x50\x2A\x85\x33\x66\xE3\x00\xCE\x88\xE5\x00\x25\x89\xF2\x22\x3C\x51\x8D\x86\x56\x61\xB4\x7E\x69\x1D\x8C\x5B\x00\x01\x3B\x85\x33\x66\xE6\x00\x7B\x33\x90\x7B\xAD\x88\x00\x00\x34\x89\xB0\x6F\x3B\x62\xF2\x00\x39\x89\xA3\x07\x50\x00\x3B\x89\x3D\x89\x9D\x87\x37\x01\xFE\x00\xA4\x88\x13\x17\x5E\x00\xA9\x88\x0B\x01\x3D\x89\xB5\x88\x8E\x86\x81\x81\x2A\x15\x3D\x89\x3C\x51\xB6\x88\x52\x89\xDD\x82\xD9\x64\x0B\x00\x8F\x33\x8F\x6B\x7F\x88\xA1\x2B\x3D\x89\xE6\x82\xD9\x64\x18\x00\x5A\x89\xA3\x07\x7C\x00\x4C\x89\x02", + "\x01\x3D\x89\x30\x89\x99\x62\x32\x89\x25\x23\x3D\x89\xB4\x87\x25\x65\x25\x00\x62\x89\x5A\x7F\x65\x89\x01\x01\x3D\x89\xF8\x82\x33\x66\x32\x00\x8F\x33\x06\x69\x9A\x00\x44\x89\xC3\x87\xD9\x64\x3E\x00\x70\x89\xE6\x11\xA8\x00\x72\x89\x00\x01\x3D\x89\x7D\x85\xD0\x0D\x4B\x00\x7F\x89\x2A\x15\xB7\x00\x82\x89\x3C\x89\x7E\x7F\xBC\x70\x88\x89\xC7\x77\x8B\x89\x3D\x89\xD9\x87\xD9\x64\x65\x00\x8F\x89\x4D\x1D\xD5\x00\x91\x89\x75\x74\xBA\x62\x72\x00\x96\x89\x2B\x76\x99\x89\x9B\x85\x3A\x64\x7F\x00\x9D\x89\x33\x76\x9F\x89\xCC\x86\x25\x63\x8C\x00\x8F\x33\x4F\x88\xB5\x61\x8F\x33\xE7\x1E\x3D\x89\xF9\x87\x62\x08\x9A\x00\xA3\x89\x69\x1D\x12\x00\x8F\x33\x1A\x28\x3D\x89\xDC\x86\x33\x66\xA7\x00\xB2\x89\x25\x23\x21\x00\xB5\x89\x8E\x26\xE3\x86\xA9\x80\x78\x89\xCC\x75\xA9\x89\xBF\x89\x0E\x88\x25\x63\xC0\x00\xC2\x89\x59\x5B\xC4\x89\x0E\x01\x3D\x89\x1C\x88\x37\x01\xCC\x00\xCB\x89\xE6\x11\x4C\x00\x8F\x33\x74\x28\xCD\x89\x38\x7D\xDA\x00\xD1\x89\x2A\x15\x5D\x00\xD4\x89\xC5\x89\x01\x87\x12\x7E\xBB\x89\x6E\x22\x6E\x00\xBE\x89\xCC\x89\x2B\x88\x6A", + "\x73\xE0\x89\xFD\x5E\x7D\x00\xE3\x89\x4D\x89\x04\x81\x56\x61\x02\x00\xA2\x33\xAA\x89\xE7\x6F\xAC\x89\xDD\x89\x0C\x81\xBA\x62\x10\x00\xA2\x33\x8F\x6B\x9C\x00\xEA\x89\x66\x89\x44\x88\x0C\x5F\x1D\x00\xF7\x89\xA3\x07\xAB\x00\xFA\x89\x73\x89\x2D\x87\x99\x62\x2A\x00\xEF\x89\xA3\x07\xBA\x00\xDC\x89\xE4\x89\x53\x88\x17\x6A\x38\x00\x07\x8A\x6C\x6C\x0A\x8A\xEB\x89\x32\x81\x67\x64\x46\x00\x0F\x8A\xE6\x11\xDC\x00\x11\x8A\xFB\x89\x13\x8A\x0C\x5F\x54\x00\x16\x8A\x2A\x15\xED\x00\x19\x8A\x03\x8A\x3A\x81\x56\x61\x62\x00\x1E\x8A\x13\x17\xFE\x00\xF2\x89\x0B\x8A\x19\x80\x12\x63\x70\x00\x26\x8A\x4D\x1D\x0E\x00\xA2\x33\xAD\x89\x20\x80\x3A\x64\x7E\x00\xFF\x89\x92\x88\xA2\x33\xAD\x01\x1E\x00\xA2\x33\xB6\x89\xC3\x83\x67\x64\x8D\x00\x36\x8A\xF3\x50\x38\x8A\x3B\x03\x3B\x8A\xF3\x89\x8E\x88\x3A\x64\x9C\x00\x40\x8A\xA5\x88\x42\x8A\xD4\x0A\x44\x8A\x2A\x8A\x63\x81\x0C\x5F\xAB\x00\x49\x8A\x01\x01\xB8\x00\x4B\x8A\x69\x3B\x4D\x8A\x12\x8A\x52\x86\x9C\x60\xBA\x00\x52\x8A\x3E\x56\x55\x8A\x2E\x40\x57\x8A\x1A\x8A\xAB\x88\x25\x63\xC9\x00\x2E\x8A\x00", + "\x00\xD7\x00\x5E\x8A\xC0\x44\x31\x8A\x4E\x69\x65\x41\x12\x63\xD9\x00\xA2\x33\xA7\x73\xE0\x6D\xC3\x88\x59\x18\xDA\x00\x68\x8A\x00\x01\xDC\x00\x6F\x8A\xA3\x07\xE0\x6D\xCB\x88\x49\x27\xDD\x00\x75\x8A\xA0\x6F\x78\x8A\xE1\x0A\xE0\x6D\x03\x84\x21\x89\x7E\x8A\xE2\x00\x80\x8A\xB3\x77\x23\x82\x67\x64\xE3\x00\x7E\x8A\xE5\x00\x87\x8A\x2A\x15\xE0\x6D\xE3\x88\xD9\x64\xE6\x00\x7E\x8A\xE8\x00\x8E\x8A\x7D\x80\xEA\x88\x12\x63\xE9\x00\x7E\x8A\xEB\x00\x96\x8A\x4D\x1D\xE0\x6D\xF2\x88\x17\x6A\xEC\x00\x7E\x8A\xEE\x00\x9D\x8A\x0C\x20\xE0\x6D\xFA\x88\xD9\x64\xEF\x00\x7E\x8A\xF1\x00\xA5\x8A\x3D\x20\xE0\x6D\x0C\x85\xF9\x82\x7E\x8A\xF4\x00\xAD\x8A\x69\x1D\xE0\x6D\x08\x89\x49\x27\xF5\x00\x7E\x8A\xF7\x00\xB4\x8A\x25\x23\xE0\x6D\x10\x89\x49\x27\xF8\x00\x7E\x8A\xFA\x00\xBC\x8A\x6E\x22\xE0\x6D\x18\x89\x33\x66\xFB\x00\x7E\x8A\xFD\x00\xC4\x8A\xFD\x5E\xE0\x6D\x20\x89\x49\x27\xFE\x00\x7E\x8A\x00\x00\x4E\x34\xBC\x5E\xE0\x6D\x28\x89\xBB\x5E\x4E\x34\x50\x7E\xD4\x8A\xA3\x07\x2A\x52\xBD\x88\xD0\x0D\x04\x00\xDB\x8A\x6E\x6E\x00\x01\x2A\x52\x72\x8A\xD0", + "\x0D\x05\x00\xD9\x8A\xB2\x27\xE1\x8A\xE6\x11\x2A\x52\x7B\x8A\x59\x18\x08\x00\xE8\x8A\xE4\x27\xEA\x8A\xDD\x87\xD3\x88\xBA\x62\x0B\x00\xF0\x8A\xDA\x04\xF2\x8A\x13\x17\x2A\x52\xDB\x88\x59\x18\x0E\x00\xF7\x8A\xE4\x28\xF9\x8A\x4D\x1D\x2A\x52\x91\x8A\x17\x6A\x11\x00\xFF\x8A\x0F\x09\x01\x8B\x0C\x20\x2A\x52\x92\x82\xD9\x64\x14\x00\x07\x8B\x91\x29\x09\x8B\x3D\x20\x2A\x52\xA0\x8A\x33\x66\x17\x00\x0F\x8B\x69\x08\x11\x8B\x69\x1D\x2A\x52\xA8\x8A\x17\x6A\x1A\x00\x17\x8B\x1C\x00\x19\x8B\x25\x23\x2A\x52\xB0\x8A\x33\x66\x1D\x00\x17\x8B\x1F\x00\x21\x8B\x6E\x22\x2A\x52\xB7\x8A\x59\x18\x20\x00\x17\x8B\x22\x00\x29\x8B\xFD\x5E\x2A\x52\xBF\x8A\x59\x18\x23\x00\x17\x8B\x25\x00\x31\x8B\xED\x22\x2A\x52\xC7\x8A\x49\x27\x26\x00\x17\x8B\x28\x00\x39\x8B\xF2\x22\x2A\x52\xCF\x8A\x59\x18\x29\x00\x17\x8B\x2B\x00\x41\x8B\xF0\x1F\x2A\x52\xD7\x8A\x59\x18\x2C\x00\x17\x8B\x2E\x00\x49\x8B\x37\x01\x8E\x52\xDE\x8A\x9B\x0B\x2F\x00\x51\x8B\x4A\x68\x45\x7E\x0C\x5F\x30\x00\x17\x8B\x32\x00\x57\x8B\xE5\x52\x7E\x57\x55\x6D\x17\x8B\x35\x00\x5E\x8B\x12\x6F\x56", + "\x6F\x3B\x62\x36\x00\x17\x8B\x38\x00\x64\x8B\xB9\x83\x85\x82\xE1\x76\x17\x8B\x3B\x00\x6B\x8B\x54\x87\x00\x00\x04\x8B\x33\x66\x3C\x00\x17\x8B\x3E\x00\x71\x8B\x37\x76\x98\x8A\x25\x63\x3F\x00\x17\x8B\x41\x00\x79\x8B\xF8\x7A\x0B\x01\x14\x8B\x49\x27\x42\x00\x17\x8B\x44\x00\x80\x8B\x8E\x52\x1C\x8B\x33\x66\x45\x00\x17\x8B\x47\x00\x88\x8B\x01\x89\x56\x61\x48\x00\x17\x8B\x4A\x00\x8F\x8B\x2B\x70\x3B\x62\x4B\x00\x17\x8B\x4D\x00\x95\x8B\x23\x61\x16\x77\x17\x8B\x50\x00\x9B\x8B\x04\x6E\x5B\x72\x17\x8B\x53\x00\xA0\x8B\x01\x01\x44\x8B\xD0\x0D\x54\x00\x17\x8B\x56\x00\xA5\x8B\x00\x01\x4C\x8B\xD0\x0D\x57\x00\x17\x8B\x59\x00\x80\x8B\xEB\x52\x54\x8B\xA7\x0A\x5A\x00\x80\x8B\x3D\x20\xEB\x52\xE5\x8A\x9B\x0B\x5B\x00\x17\x8B\x5D\x00\xB3\x8B\xFC\x83\x9C\x60\x5E\x00\x17\x8B\x60\x00\xC0\x8B\x7E\x82\x3B\x62\x61\x00\x17\x8B\x63\x00\xC6\x8B\x6D\x8B\x25\x63\x64\x00\x17\x8B\x66\x00\xCC\x8B\x8A\x82\x3B\x62\x67\x00\x17\x8B\x69\x00\xD2\x8B\x1B\x84\x9C\x61\x6A\x00\x17\x8B\x6C\x00\xD8\x8B\x23\x84\x7A\x80\x17\x8B\x6F\x00\xDE\x8B\x2B\x84\x9C\x61\x70", + "\x00\x17\x8B\x72\x00\xE3\x8B\x24\x8B\x49\x27\x73\x00\x17\x8B\x75\x00\xE3\x8B\x2C\x8B\xD0\x0D\x76\x00\x17\x8B\x78\x00\xE3\x8B\x34\x8B\xD0\x0D\x79\x00\x17\x8B\x7B\x00\xE3\x8B\x3C\x8B\xDD\x7B\x17\x8B\x7E\x00\xE3\x8B\xA7\x8B\x9B\x0B\x7F\x00\x17\x8B\x81\x00\xE3\x8B\xAE\x8B\x9B\x0B\x82\x00\x17\x8B\x84\x00\x80\x8B\xF1\x10\xB5\x8B\x62\x08\x85\x00\xB8\x8B\x69\x1D\xF1\x10\xBB\x8B\xA7\x0A\x86\x00\x17\x8B\x88\x00\x0C\x8C\xC1\x8B\x56\x61\x89\x00\x17\x8B\x8B\x00\x19\x8C\xC7\x8B\x30\x7D\x17\x8B\x8E\x00\x1F\x8C\xCD\x8B\x67\x64\x8F\x00\x17\x8B\x91\x00\x24\x8C\xD3\x8B\x0E\x6B\x17\x8B\x94\x00\x2A\x8C\xD9\x8B\xBA\x62\x95\x00\x17\x8B\x97\x00\x2F\x8C\xDF\x8B\x3A\x64\x98\x00\x17\x8B\x9A\x00\x35\x8C\xE4\x8B\xBA\x62\x9B\x00\x17\x8B\x9D\x00\x3B\x8C\xEA\x8B\x59\x18\x9E\x00\x17\x8B\xA0\x00\x3B\x8C\xF0\x8B\x9B\x0B\xA1\x00\x17\x8B\xA3\x00\x3B\x8C\xF6\x8B\x9B\x0B\xA4\x00\x17\x8B\xA6\x00\x3B\x8C\xFC\x8B\xD0\x0D\xA7\x00\x17\x8B\xA9\x00\x3B\x8C\x01\x8C\xA7\x0A\xAA\x00\x17\x8B\xAC\x00\x3B\x8C\x07\x8C\xA7\x0A\xAD\x00\x17\x8B\xAF\x00\x80\x8B\x48", + "\x53\x86\x77\x3B\x62\xB0\x00\x4E\x34\x28\x74\x79\x00\x5C\x8A\x00\x00\x66\x8C\x62\x80\x3A\x64\xBB\x00\x6A\x8C\xA3\x07\x86\x00\x6D\x8C\x6F\x8C\xA9\x41\x25\x63\xC6\x00\x4E\x34\x06\x69\x93\x00\x65\x8A\x77\x8C\xBA\x70\x12\x63\xD2\x00\x7B\x8C\xA3\x07\xA1\x00\x7E\x8C\x84\x86\x9C\x60\xDE\x00\x83\x8C\xE1\x0A\xAF\x00\x86\x8C\xFF\x6C\x12\x63\xEA\x00\x8A\x8C\xE6\x11\xBD\x00\x8D\x8C\x4E\x86\xB9\x88\xB9\x7E\x67\x84\x7F\x8C\x8B\x80\x30\x6D\x73\x8C\x6C\x6C\x76\x8C\x7C\x89\x17\x6A\x01\x00\xED\x0B\x80\x74\x94\x8C\x2E\x82\x07\x62\xA2\x8C\xA3\x07\x93\x8A\xEA\x2B\x99\x8C\x74\x7B\xD9\x64\x19\x00\xA7\x8C\xE1\x0A\xB3\x8A\xAA\x8C\x85\x7F\x0C\x5F\x25\x00\xAF\x8C\xE6\x11\x02\x00\x4E\x34\x23\x26\x99\x8C\x8E\x7F\x99\x62\x31\x00\xB6\x8C\x2A\x15\x10\x00\xB9\x8C\x13\x01\x99\x8C\xE8\x87\x17\x6A\x3D\x00\xBF\x8C\x13\x17\x1E\x00\xC2\x8C\x0E\x01\x99\x8C\x2B\x83\x33\x66\x49\x00\xED\x0B\x8F\x6B\x4E\x8B\xA1\x2B\x99\x8C\xAF\x89\x3E\x07\x56\x00\xC8\x8C\x4D\x1D\x70\x8B\xB2\x8C\x00\x88\x00\x76\xD9\x8C\x0C\x20\x49\x00\xCB\x8C\x0B\x01\x99\x8C\x43\x83\x95", + "\x85\xED\x0B\x28\x74\xB0\x8B\x51\x2B\x99\x8C\xEB\x86\x9B\x0B\x79\x00\xE7\x8C\xA3\x07\xCF\x8B\xEA\x8C\xF2\x86\x67\x64\x84\x00\xD1\x8C\xC7\x87\x4E\x34\xE7\x1E\x99\x8C\xCE\x89\x15\x4F\xF6\x8C\xE1\x0A\x05\x8C\x8C\x29\x99\x8C\xA4\x7A\x99\x62\x9E\x00\xDF\x8C\x3D\x20\x29\x8C\xDC\x8C\x7B\x6D\x7D\x7D\x05\x8D\x69\x1D\x9F\x00\xE2\x8C\x02\x01\x99\x8C\x34\x88\x9B\x0B\xB6\x00\xFD\x8C\xE6\x11\x62\x8C\xD4\x8C\x3C\x88\x56\x61\xC3\x00\x0B\x8D\x25\x23\xBC\x00\x0E\x8D\x01\x01\x99\x8C\xF6\x85\x25\x65\xCF\x00\x1B\x8D\x6E\x22\xCA\x00\x1E\x8D\x00\x01\x99\x8C\x06\x86\x9C\x60\xDB\x00\x14\x8D\x2A\x15\xD8\x00\xF8\x8C\xC3\x8C\x04\x8A\x25\x65\xE8\x00\x2D\x8D\x13\x17\xE8\x00\x30\x8D\xCC\x8C\xA1\x83\xB9\x75\x35\x8D\x4D\x1D\xF8\x00\x38\x8D\xE3\x8C\x3A\x8D\xD9\x64\x02\x00\x52\x0B\xA1\x7F\xED\x0B\xF9\x8C\xA9\x83\x25\x65\x0F\x00\x44\x8D\x7A\x5C\xED\x0B\x1A\x28\x99\x8C\x06\x75\x25\x65\x1C\x00\x4B\x8D\xE1\x0A\x27\x00\x4D\x8D\x31\x8D\x5F\x8B\x12\x63\x29\x00\x52\x0B\x06\x1E\x35\x00\x52\x0B\xAD\x01\x36\x00\xED\x0B\xBA\x8C\x3D\x8A\x0C\x5F\x37\x00\x5B", + "\x8D\x8C\x1E\x5E\x8D\x5F\x03\x61\x8D\x57\x8D\x68\x87\x3A\x64\x45\x00\x66\x8D\x0E\x01\x51\x00\x68\x8D\x9C\x3E\x6A\x8D\x39\x8D\x98\x88\x12\x63\x53\x00\x6F\x8D\x38\x41\x72\x8D\x0C\x07\x74\x8D\x40\x8D\xDE\x83\x0C\x5F\x61\x00\x79\x8D\x02\x01\x6D\x00\x7B\x8D\x39\x27\x7D\x8D\x0F\x8D\x33\x6F\x08\x74\x53\x8D\x6A\x7A\x85\x8D\xE4\x51\x56\x8D\x49\x53\x9C\x53\x87\x81\x0A\x82\x93\x8D\x37\x01\xB6\x60\x01\x01\xB4\x53\xB3\x7E\x8F\x86\xD8\x86\x8E\x87\x0E\x79\x52\x0B\x01\x7A\x3C\x8D\x00\x00\x52\x53\x43\x85\x33\x66\x89\x00\x9E\x8D\x09\x7A\xA0\x8D\x52\x53\x46\x89\x13\x01\x94\x00\x82\x8D\x10\x7A\x87\x8D\xA7\x53\xE6\x6F\xE9\x65\xAD\x8D\x18\x7A\xAF\x8D\x3D\x23\x87\x8C\x56\x61\xAC\x00\xB3\x8D\x22\x7A\xB5\x8D\xA1\x8D\x5E\x7F\x25\x63\xB8\x00\xBA\x8D\x2B\x7A\xBC\x8D\x52\x53\x75\x89\x02\x64\xA6\x8D\x38\x7A\xA8\x8D\x9F\x8C\x33\x66\xCF\x00\xC1\x8D\x3F\x7A\xC3\x8D\x06\x83\x93\x66\xCD\x8D\x25\x23\xF8\x00\xCF\x8D\xAF\x86\xD7\x66\xD2\x8D\x6E\x22\x06\x00\x52\x0B\x23\x26\x52\x53\x93\x89\x17\x6A\xF3\x00\xD8\x8D\xFD\x5E\x14\x00\xDB\x8D\x91\x8D\x94", + "\x85\x31\x89\xE1\x8D\xED\x22\x22\x00\xE4\x8D\x4B\x53\xC5\x86\x56\x61\x0B\x00\x06\x35\x06\x69\x30\x00\xEB\x8D\xA4\x53\xA3\x85\xD1\x75\x06\x35\x70\x7A\x52\x0B\x1A\x28\x52\x53\xD6\x8C\x8E\x04\x24\x00\xF0\x8D\xDD\x75\xF3\x8D\xBB\x60\xDD\x8C\x51\x80\xFF\x8D\xE1\x0A\x5B\x00\x01\x8E\xB0\x8D\xA4\x6B\x9C\x61\x3C\x00\x06\x35\x89\x7A\x8B\x8D\x02\x8E\xC8\x75\xB2\x71\x0D\x8E\x8F\x7A\x0F\x8E\x09\x8E\x15\x6A\x0D\x81\xF7\x8D\x97\x7A\x52\x0B\xE7\x1E\x52\x53\xFB\x8C\x36\x41\x19\x8E\x9F\x7A\x1B\x8E\xE5\x8D\x24\x88\x23\x7F\x05\x8E\xE6\x11\xA3\x00\x08\x8E\xB6\x8D\x21\x78\xBA\x62\x78\x00\x26\x8E\x2A\x15\xB1\x00\x29\x8E\xBD\x8D\xE7\x85\xF4\x8C\x20\x8E\xB7\x7A\xF9\x8D\x23\x8E\xE9\x7F\x29\x78\x2E\x8E\x81\x6C\x31\x8E\x52\x53\x21\x8D\xD9\x64\x9D\x00\x3B\x8E\x4D\x1D\xDC\x00\x3D\x8E\x32\x8D\xD9\x64\xA9\x00\x35\x8E\xCD\x7A\x22\x8E\xEC\x8D\x0C\x8A\x33\x66\xB6\x00\x49\x8E\xD5\x7A\x4B\x8E\xF4\x8D\x62\x88\x25\x63\xC3\x00\x50\x8E\xDC\x7A\x06\x35\x1C\x8E\x41\x8D\x17\x6A\xD0\x00\x57\x8E\xE4\x7A\x59\x8E\x38\x8E\xE8\x7A\x5A\x78\x5E\x8E\x3D\x20\x2A", + "\x00\x06\x35\xFA\x8D\x24\x86\x6F\x74\x64\x8E\x12\x6D\x67\x8E\x61\x8E\x81\x8B\x85\x7B\x42\x8E\x4C\x5B\xEE\x07\xE3\x04\x06\x35\xDC\x8D\x63\x8D\x9C\x60\x05\x00\xEE\x07\x06\x1E\x11\x00\x73\x8E\x33\x01\x75\x8E\x6E\x8E\x34\x80\xD9\x64\x13\x00\x7A\x8E\xAF\x05\x7D\x8E\xCC\x03\x7F\x8E\x4C\x8E\xD5\x83\x84\x6B\x84\x8E\x0D\x05\x86\x8E\xE0\x48\x88\x8E\x53\x8E\x7C\x87\x12\x63\x2F\x00\x8C\x8E\x6C\x0A\x8E\x8E\x6B\x4C\x90\x8E\x10\x8E\x50\x80\x0C\x5F\x3D\x00\xEE\x07\xCD\x09\x4A\x00\x97\x8E\x2B\x7B\x6D\x8E\x0E\x01\xA0\x5B\x9A\x8E\x9B\x7D\x51\x89\x10\x7A\x13\x01\x98\x8D\xD9\x7C\x9A\x8D\xAB\x67\x6C\x8A\x25\x63\x4C\x00\xEE\x07\xA7\x73\xAB\x8E\x10\x61\xBA\x62\x4D\x00\xA1\x8E\x54\x3D\xB2\x8E\xA3\x07\xB4\x8E\x5D\x57\x03\x65\xB8\x8E\x5E\x26\xBA\x8E\xE1\x0A\xBC\x8E\x00\x00\x83\x8A\x49\x27\x53\x00\xBF\x8E\x55\x00\xC1\x8E\xA6\x71\x89\x8A\x0C\x5F\x56\x00\xBF\x8E\x58\x00\xCA\x8E\x2A\x15\xC3\x8E\x74\x8B\x49\x27\x59\x00\xBF\x8E\x5B\x00\xD1\x8E\xF3\x7F\x7B\x8B\xF2\x69\xBF\x8E\x5E\x00\xD9\x8E\x4D\x1D\xC3\x8E\x83\x8B\x59\x18\x5F\x00\xBF\x8E\x61", + "\x00\xDF\x8E\x0C\x20\xC3\x8E\x8A\x8B\xED\x5A\xBF\x8E\x64\x00\xE7\x8E\x3D\x20\xC3\x8E\x42\x8C\xD0\x0D\x65\x00\xBF\x8E\x67\x00\xEE\x8E\xAE\x8E\x96\x8B\xB5\x6B\xBF\x8E\x6A\x00\xF6\x8E\x25\x23\xC3\x8E\x4E\x8C\xA7\x0A\x6B\x00\xBF\x8E\x6D\x00\xFC\x8E\x6E\x22\xC3\x8E\x54\x8C\x9B\x0B\x6E\x00\xBF\x8E\x70\x00\x04\x8F\xFD\x5E\xC3\x8E\x5A\x8C\x62\x08\x71\x00\xBF\x8E\x73\x00\x0C\x8F\xED\x22\xC3\x8E\x60\x8C\x62\x08\x74\x00\xBF\x8E\x76\x00\x14\x8F\xF2\x22\xEE\x54\x35\x7F\xF6\x7C\xEE\x07\x32\x7B\x5E\x8E\x1E\x8F\x3D\x7F\xD9\x71\x21\x8F\x3A\x7B\x23\x8F\x74\x86\x95\x60\x95\x8E\x89\x89\x99\x8E\xB5\x6A\x57\x89\x17\x6A\x99\x00\x2C\x8F\x13\x17\xC5\x00\x2E\x8F\x00\x01\x24\x8F\xBA\x85\x3A\x64\xA5\x00\x33\x8F\x4D\x1D\xD3\x00\x36\x8F\x00\x00\x38\x8F\x6D\x89\xD9\x64\xB1\x00\x3C\x8F\x0C\x20\xE1\x00\x3F\x8F\x38\x8F\xC5\x8D\x59\x18\xBD\x00\x27\x8F\xD5\x67\x29\x8F\xA0\x86\xE4\x88\x45\x8F\x50\x6B\x48\x8F\xD0\x8D\x97\x87\x52\x8F\x69\x1D\x0A\x00\xEE\x07\x23\x26\x38\x8F\xAC\x8C\x17\x6A\xE0\x00\x57\x8F\x25\x23\x18\x00\x5A\x8F\xC4\x56\x14\x83\x0C", + "\x5F\xEC\x00\x60\x8F\x6E\x22\x26\x00\x63\x8F\x03\x55\x1C\x83\x2B\x80\x68\x8F\xFD\x5E\x34\x00\x6B\x8F\x0B\x01\x38\x8F\xC5\x8C\x33\x66\x04\x00\xE2\x1F\x90\x7B\x72\x8F\x75\x87\xEF\x87\x12\x63\x10\x00\xE2\x1F\x98\x7B\xEE\x07\x1A\x28\x38\x8F\xFC\x8D\x37\x01\x1D\x00\x78\x8F\xA1\x7B\x7A\x8F\x2F\x8F\x03\x8E\x0C\x5F\x29\x00\x87\x8F\x85\x76\x89\x8F\x37\x8F\xC0\x89\x67\x64\x35\x00\xE2\x1F\xAF\x7B\x9E\x8E\x64\x8F\x03\x78\x9C\x61\x40\x00\x95\x8F\xB7\x7B\x97\x8F\x6C\x8F\x1E\x8E\x69\x3B\x7F\x8F\xBF\x7B\xEE\x07\xE7\x1E\x38\x8F\xA0\x8F\x57\x80\xA2\x8F\xC8\x7B\xA4\x8F\x98\x8F\x1A\x78\x99\x68\x8E\x8F\xD0\x7B\x90\x8F\x40\x8F\xE5\x89\x99\x62\x71\x00\xAF\x8F\xD8\x7B\xB1\x8F\x38\x8F\x11\x8D\xA7\x0A\x7D\x00\xA9\x8F\xE0\x7B\x81\x8F\xAC\x8F\xEF\x85\xEC\x70\xB6\x8F\xE9\x7B\xB8\x8F\xFC\x89\xBA\x68\xC3\x8F\xEF\x7B\xC5\x8F\x4D\x8E\x49\x27\xA2\x00\xBD\x8F\xF6\x7B\xAB\x8F\x6C\x8F\x2A\x8D\x56\x61\xAF\x00\xCE\x8F\xFE\x7B\xE2\x1F\xA5\x8F\x5B\x8E\x33\x66\xBC\x00\xD5\x8F\x06\x7C\xD7\x8F\xC0\x8F\x0E\x86\x9C\x61\xC9\x00\xDC\x8F\x0E\x7C\xDE\x8F\x6C", + "\x8F\x8E\x70\x9B\x0B\xD6\x00\xE3\x8F\x16\x7C\xE2\x1F\x82\x8F\x69\x8E\x56\x61\xE3\x00\xEA\x8F\x1E\x7C\xEC\x8F\xDF\x8F\x7A\x88\x17\x6A\xF0\x00\xC8\x8F\x9D\x61\xE2\x1F\x29\x7C\xE2\x1F\x5B\x8F\x77\x8E\x56\x61\xFE\x00\xF8\x8F\x0A\x00\xBC\x56\x33\x7C\xFC\x8F\xDF\x8F\x81\x8E\x17\x6A\x0C\x00\xBC\x56\x06\x1E\x18\x00\x03\x90\x76\x4B\x05\x90\x6C\x8F\x34\x6C\x57\x62\x0A\x90\x8A\x02\x0D\x90\x42\x4D\x0F\x90\x73\x8F\x1D\x7B\x25\x63\x28\x00\x13\x90\x21\x5A\x15\x90\x50\x7C\x17\x90\x7B\x8F\xE6\x83\x0C\x5F\x36\x00\xBC\x56\xCD\x09\x43\x00\x1E\x90\xD6\x16\xF3\x8F\x0E\x01\x1F\x67\x00\x01\xC6\x60\xAC\x8E\xA8\x8E\x4D\x1D\x2C\x90\x00\x00\xC3\x60\xA7\x8E\x34\x85\x3D\x20\x34\x90\x35\x89\x3B\x62\x45\x00\xBC\x56\x28\x74\xD4\x8F\x51\x2B\x38\x90\x3E\x89\x03\x65\x3C\x90\xA3\x07\xDB\x8F\x3F\x90\x2A\x8F\x59\x18\x5B\x00\x1C\x90\xE6\x11\xE2\x8F\xEA\x2B\x40\x90\xA5\x87\x18\x44\x4A\x90\x2A\x15\xD7\x00\x20\x90\x01\x01\x40\x90\x5F\x89\x17\x6A\x73\x00\x51\x90\x13\x17\xE5\x00\x54\x90\x00\x01\x40\x90\x42\x8F\x17\x6A\x7F\x00\x5A\x90\x4D\x1D\xF3\x00\x5D", + "\x90\x33\x90\x6C\x85\x9C\x60\x8B\x00\x43\x90\xE1\x0A\x01\x00\x25\x90\xBC\x53\xCA\x8D\x49\x27\x96\x00\x63\x90\x0C\x20\x0E\x00\xBC\x56\x23\x26\x40\x90\x85\x89\x9B\x0B\xA2\x00\x73\x90\x3D\x20\x1C\x00\x76\x90\x6F\x90\xD6\x8D\x0C\x5F\xAE\x00\x7C\x90\x69\x1D\x2A\x00\x7F\x90\xBF\x53\xB3\x8C\x5A\x8A\x84\x90\x25\x23\x38\x00\x87\x90\x0B\x01\x40\x90\xBC\x8C\x25\x65\xC6\x00\x8B\x90\x6E\x22\x46\x00\x8E\x90\xA5\x88\xED\x8D\x99\x62\xD2\x00\x94\x90\xFD\x5E\x54\x00\x97\x90\x55\x90\x7C\x8F\x25\x63\xDE\x00\x6E\x90\xE1\x0A\x62\x00\xBC\x56\x1A\x28\x40\x90\x84\x8F\x1A\x58\x9C\x90\x33\x6D\x9F\x90\x5E\x90\x3A\x83\x25\x63\xF7\x00\xAC\x90\xCD\x7C\xAE\x90\x67\x90\x85\x7A\x12\x63\x03\x00\x59\x0C\x28\x74\x8D\x00\xA4\x90\x8F\x90\x8C\x7A\x9C\x61\x0E\x00\xBA\x90\xC9\x88\xBD\x90\x98\x90\x52\x83\x26\x87\x59\x0C\x8F\x6B\xA7\x00\xBC\x56\xE7\x1E\x40\x90\xA7\x8F\x7B\x08\xC8\x90\xA3\x07\xB7\x00\xCB\x90\x80\x90\xDE\x89\x0C\x5F\x33\x00\x59\x0C\x06\x69\xC7\x00\xB5\x90\x40\x90\xAB\x7A\xD9\x64\x3F\x00\xD8\x90\xA3\x07\xD5\x00\xDB\x90\xEC\x89\x99\x62\x4B", + "\x00\xD0\x90\xE1\x0A\xE3\x00\xA7\x90\xD4\x90\xF4\x89\x3A\x64\x58\x00\xE0\x90\xE1\x0A\xF2\x00\xE3\x90\xFF\x75\x67\x64\x64\x00\xEF\x90\x91\x5F\x59\x0C\x77\x90\x46\x8E\x17\x6A\x70\x00\xE7\x90\x86\x6D\x59\x0C\xCC\x90\xFA\x90\x07\x7D\xFD\x90\x83\x64\xFF\x90\xEB\x90\x35\x87\xB1\x68\x03\x91\x13\x17\x2E\x00\x05\x91\x88\x90\x1B\x8A\x9C\x60\x97\x00\x09\x91\xE3\x6A\x0C\x91\xBE\x90\x23\x8A\x99\x62\xA4\x00\x11\x91\x0C\x20\x4E\x00\x59\x0C\xA8\x90\xEE\x8F\x99\x62\xB1\x00\x18\x91\x3D\x20\x5D\x00\x1B\x91\x06\x91\x7A\x8B\x9C\x61\xBE\x00\xF6\x90\x02\x01\xCA\x00\x59\x0C\xAD\x01\x6C\x00\xF8\x90\x24\x91\x00\x00\x35\x86\x25\x65\xCC\x00\x28\x91\xFE\x84\x2B\x91\xA5\x4C\x2E\x91\x0D\x91\x6C\x8D\x12\x63\xDA\x00\x34\x91\x82\x80\x36\x91\x28\x4E\x38\x91\x14\x91\x8A\x8E\x3A\x64\xE8\x00\x3D\x91\x00\x00\xF4\x00\x3F\x91\x42\x6B\x41\x91\xC5\x90\x59\x8A\x56\x61\xF6\x00\x46\x91\x02\x00\x0C\x27\xAD\x01\x17\x91\x4D\x90\x89\x8D\x3A\x64\x04\x00\x0C\x27\x4E\x61\x52\x91\x0B\x54\x23\x91\x0E\x01\xA8\x5B\x02\x01\xC6\x53\x92\x8D\x67\x84\x3D\x78\xC9\x53\x96", + "\x8C\x88\x81\x67\x84\x61\x91\x67\x8C\x9C\x61\x13\x00\x0C\x27\x28\x74\xC1\x00\x18\x91\x69\x91\x70\x8C\x99\x76\x6D\x91\xA3\x07\xCE\x00\x70\x91\x47\x90\xD0\x0D\x29\x00\x0C\x27\x06\x69\xDB\x00\x4B\x91\x01\x01\x71\x91\x71\x80\x78\x68\x7B\x91\xA3\x07\xE9\x00\x7E\x91\x00\x01\x80\x91\xB2\x85\xBA\x62\x41\x00\x83\x91\xE1\x0A\xF7\x00\x86\x91\x00\x00\x88\x91\x00\x00\x60\x90\x33\x66\x4D\x00\x8C\x91\xE6\x11\x05\x00\x0C\x27\x23\x26\x91\x91\x4A\x8F\xD0\x0D\x59\x00\x74\x91\xE1\x0A\x6C\x91\x51\x2B\x91\x91\x3C\x7A\x56\x61\x64\x00\x96\x91\x27\x83\x99\x91\xC5\x53\x55\x8F\x56\x61\x70\x00\xA7\x91\x0A\x91\xA9\x91\x0E\x01\x91\x91\x5D\x8F\x33\x66\x7C\x00\xAE\x91\x4D\x1D\x3C\x00\xB0\x91\x0B\x01\x91\x91\xDE\x8D\x33\x66\x88\x00\xB6\x91\x0C\x20\x4A\x00\xB9\x91\x60\x91\x9A\x89\x7E\x75\xBF\x91\x3D\x20\x58\x00\xC2\x91\x7F\x91\x99\x90\x25\x65\xA0\x00\xC6\x91\x69\x1D\x66\x00\xC9\x91\x87\x91\xA1\x90\x67\x64\xAC\x00\x59\x91\x65\x80\x0C\x27\x1A\x28\x91\x91\xAA\x90\x0E\x01\xB9\x00\xCE\x91\x25\x23\x83\x00\xD1\x91\x90\x91\xB0\x90\x67\x64\xC5\x00\xDE", + "\x91\x6E\x22\x91\x00\xE1\x91\x91\x91\xE5\x8C\x56\x61\xD1\x00\x9F\x91\xE6\x11\x9F\x00\xD6\x91\xB1\x91\xBF\x90\x6E\x71\xEE\x91\x2A\x15\xD5\x91\xA2\x91\xF3\x8C\x0C\x5F\xE7\x00\xF1\x91\x4E\x85\x0C\x27\xE7\x1E\x91\x91\xCE\x90\x00\x01\xF4\x00\xFC\x91\x2A\x15\xC9\x00\xFE\x91\xAA\x91\xE1\x68\x9C\x61\x01\x00\x5C\x57\x06\x69\xD9\x00\xE9\x91\xB3\x8F\x25\x65\x0D\x00\x0C\x92\xE1\x6C\x0F\x92\x33\x8E\x0C\x5F\x19\x00\x5C\x57\x8F\x6B\xF5\x00\xD8\x91\x08\x92\xFA\x68\x93\x62\x13\x92\x4D\x5F\x5C\x57\x9A\x91\xC6\x8F\xF3\x81\x20\x92\x1F\x83\x22\x92\x1D\x92\xE8\x74\x3A\x64\x3E\x00\x19\x92\xA3\x07\x20\x00\x5C\x57\xFF\x91\x01\x91\x62\x5A\x2D\x92\xE1\x0A\x30\x00\x30\x92\x29\x92\x07\x91\x25\x77\x34\x92\xE6\x11\x40\x00\x37\x92\xF2\x91\x0E\x91\x56\x61\x65\x00\x3B\x92\x2A\x15\x50\x00\x3E\x92\xBA\x91\x48\x8D\xD9\x64\x72\x00\x43\x92\x13\x17\x60\x00\x5C\x57\xD9\x91\x1D\x91\x93\x82\x4B\x92\x4D\x1D\x6F\x00\x4E\x92\x38\x92\x25\x91\xBA\x62\x8C\x00\x26\x92\x22\x50\x5C\x57\xAD\x01\x7E\x00\x28\x92\x3F\x92\x5E\x87\x3A\x64\x9A\x00\x5A\x92\x97\x8D\x5C", + "\x92\x7F\x68\x5F\x92\x47\x92\x1F\x6F\x3A\x71\x64\x92\x91\x54\x66\x92\x0F\x51\x68\x92\xC3\x91\x76\x8D\x25\x63\xB6\x00\x6C\x92\x4B\x55\x6E\x92\x0B\x01\xA8\x00\x70\x92\xCA\x91\x7F\x8D\x9C\x60\xC4\x00\x75\x92\xD0\x00\x77\x92\xE6\x54\x7A\x92\xD2\x91\x22\x90\x9C\x60\xD2\x00\x52\x92\xA0\x6F\x81\x92\xC7\x55\x55\x92\x0E\x01\xAC\x5B\x69\x92\x99\x8D\x30\x90\x0C\x20\x8E\x92\x42\x6C\x66\x91\x94\x8D\xA3\x07\x2E\x90\xAA\x78\x9C\x61\xE1\x00\x5C\x57\x6E\x82\x25\x23\x98\x92\xB0\x78\xDA\x85\x5C\x57\x2E\x01\xE8\x00\x5C\x57\xBC\x5E\x9F\x92\x4C\x7E\x9C\x61\xE9\x00\xA2\x92\x39\x58\xA5\x92\x97\x92\xF4\x8A\x0E\x75\xAB\x92\xC8\x58\xAD\x92\xE1\x0A\xA7\x92\xFC\x8A\xD0\x0D\xF3\x00\xB1\x92\x0B\x01\xF7\x00\xB3\x92\x15\x8D\x13\x84\x9C\x61\xF8\x00\xB9\x92\x02\x01\xFC\x00\xBC\x92\x2A\x15\xA7\x92\x0C\x8B\x17\x6A\xFD\x00\xC1\x92\x55\x23\x0F\x25\xA6\x92\x36\x82\xBA\x62\x02\x00\x0F\x25\x2E\x01\x06\x00\xCC\x92\xAE\x92\xF9\x7E\x3B\x62\x07\x00\xD1\x92\xF4\x27\xD4\x92\xB4\x92\x90\x8B\x99\x62\x0C\x00\xD9\x92\xCF\x10\xDB\x92\xBD\x92\xF8\x8E\x4A\x7A\xE0", + "\x92\x6D\x06\xE2\x92\xC5\x92\x50\x82\x25\x63\x16\x00\xE6\x92\x52\x1E\xE8\x92\xE4\x87\x15\x7F\xBA\x62\x1B\x00\xED\x92\x78\x0A\xEF\x92\x4D\x1D\xA7\x92\x0F\x8F\x3E\x07\x20\x00\xF4\x92\xB7\x07\xF6\x92\x0C\x20\xA7\x92\x17\x8F\x3E\x07\x25\x00\xFC\x92\x7E\x33\xFE\x92\x3D\x20\xD2\x60\xEA\x54\x90\x92\x6E\x22\x2A\x00\x0F\x25\x53\x65\xCE\x53\x6A\x91\xBA\x62\x2C\x00\x0F\x25\x28\x74\xD3\x00\x88\x92\x0F\x93\x72\x91\x25\x63\x37\x00\x13\x93\xA3\x07\xE0\x00\x16\x93\x78\x91\x9B\x0B\x42\x00\x0F\x25\x06\x69\xED\x00\x83\x92\x73\x1C\x30\x8F\x33\x66\x4E\x00\x22\x93\xA3\x07\xFB\x00\x25\x93\x17\x93\x5B\x86\x3A\x64\x5A\x00\x2A\x93\xE1\x0A\x09\x00\x0F\x25\x23\x26\x2E\x93\x92\x86\x3A\x65\x32\x93\xBD\x6F\x35\x93\x13\x01\x37\x93\x9A\x8C\x9C\x61\x72\x00\x1B\x93\xE1\x0A\x03\x93\x51\x2B\x3E\x93\xA4\x91\x99\x62\x7D\x00\x3A\x93\x34\x5B\x3C\x93\xCD\x53\xAB\x91\x9F\x82\x4A\x93\x39\x69\x4C\x93\x04\x5E\x8D\x89\x62\x69\x50\x93\x4D\x1D\x29\x93\xEA\x2B\x3E\x93\xBC\x91\x49\x27\xA1\x00\x56\x93\x0C\x20\x5C\x00\x52\x93\x02\x01\x3E\x93\x91\x90\xD9\x64\xAD", + "\x00\x5E\x93\x3D\x20\x6A\x00\x61\x93\xCB\x63\xCB\x91\xD9\x64\xB9\x00\x67\x93\x69\x1D\x78\x00\x6A\x93\x00\x01\x3E\x93\xCE\x8C\xDC\x88\x0F\x25\x8F\x6B\x86\x00\x0F\x25\x1A\x28\x3E\x93\xDB\x91\x2F\x57\x6F\x93\x25\x23\x95\x00\x72\x93\x26\x93\x8B\x8F\x88\x8C\x7F\x93\x6E\x22\xA3\x00\x82\x93\x3E\x93\xEB\x91\x99\x62\xEA\x00\x42\x93\xE6\x11\xB1\x00\x77\x93\x3D\x93\xF3\x91\x3A\x64\xF5\x00\x8E\x93\x2A\x15\xBE\x00\x91\x93\x4D\x93\xC6\x90\x0C\x5F\xBA\x64\x2D\x67\xFD\x5E\xCB\x00\x0F\x25\xE7\x1E\x3E\x93\x01\x92\xC6\x12\xD7\x22\x8F\x6B\xDB\x00\xA1\x93\x92\x93\x09\x92\xBA\x62\x1A\x00\xD7\x22\x06\x69\xEB\x00\x89\x93\x10\x92\xD9\x64\x26\x00\xAE\x93\x0B\x88\xB1\x93\x16\x92\x9C\x60\x32\x00\xA6\x93\xDC\x71\xD7\x22\x7B\x93\x18\x8D\x99\x62\x3F\x00\xB5\x93\xE1\x0A\x16\x00\xD7\x22\x36\x93\x24\x92\xE5\x90\xC2\x93\xE6\x11\x24\x00\xC5\x93\xAA\x93\x4B\x88\x90\x6E\xBB\x93\xCC\x61\xD7\x22\xA2\x93\x32\x92\x59\x18\x64\x00\xD0\x93\xE6\x11\x42\x00\xD2\x93\xCD\x93\x5B\x88\xE1\x5F\xD7\x93\x2A\x15\x52\x00\xDA\x93\x9A\x93\x54\x8E\x67\x64\x7E\x00\xDE", + "\x93\x13\x17\x62\x00\xE1\x93\x53\x93\x15\x91\x88\x77\xE6\x93\x35\x73\xBD\x93\xDB\x93\xE9\x35\xA5\x79\xED\x93\x0C\x20\x81\x00\xEF\x93\xE2\x93\x6C\x8B\x3A\x8F\xC9\x93\x02\x01\xB1\x00\xD7\x22\xAD\x01\x90\x00\xCC\x93\xF7\x93\x73\x73\x9C\x61\xB3\x00\xFA\x93\x01\x01\xBF\x00\xFD\x93\x52\x52\x00\x94\xEA\x93\x3A\x91\x25\x63\xC1\x00\x05\x94\x00\x01\xCD\x00\x08\x94\x8D\x92\x0A\x94\x62\x93\x29\x75\x3A\x64\xCF\x00\x0F\x94\x00\x00\xDB\x00\x12\x94\xFA\x54\x14\x94\x6B\x93\x7C\x92\x56\x61\xDD\x00\x19\x94\xE9\x00\x1C\x94\x8A\x56\x1E\x94\x73\x93\x56\x91\x12\x63\xEB\x00\xF3\x93\xF8\x00\x25\x94\x45\x76\xF6\x93\x0B\x01\xB0\x5B\x58\x86\x95\x92\x63\x91\x69\x1D\x32\x94\xD9\x60\x34\x94\x1C\x6E\xDA\x60\x02\x01\x36\x89\x8F\x61\xD7\x22\x28\x74\xE5\x00\xF3\x93\x3B\x94\x8A\x69\x43\x7A\x67\x54\x28\x74\xF2\x00\x42\x94\x1F\x93\xA7\x0A\x10\x00\x67\x54\x06\x69\xFF\x00\x27\x94\x00\x00\x43\x94\x80\x8C\x25\x63\x1C\x00\x4D\x94\xA3\x07\x0D\x00\x67\x54\x23\x26\x52\x94\x39\x8F\x12\x63\x28\x00\x56\x94\xE1\x0A\x1B\x00\x59\x94\x13\x01\x5B\x94\x93\x91\x49", + "\x27\x34\x00\x5F\x94\xE6\x11\x29\x00\x62\x94\xD1\x53\x68\x90\x56\x61\x40\x00\x46\x94\xA3\x07\x37\x00\x67\x54\xCD\x09\x5B\x94\x47\x93\x25\x65\x4B\x00\x68\x94\x2A\x15\x44\x00\x6B\x94\x0B\x01\x5B\x94\x79\x90\xA7\x0A\x57\x00\x79\x94\x13\x17\x52\x00\x7C\x94\xFB\x93\x54\x93\x12\x63\x63\x00\x82\x94\x4D\x1D\x60\x00\x85\x94\x38\x94\xB7\x86\x4D\x65\x8A\x94\x0C\x20\x6E\x00\x8D\x94\x0A\x66\xC4\x91\x83\x6D\x91\x94\x3D\x20\x7C\x00\x94\x94\x51\x94\x6C\x93\x17\x6A\x87\x00\x98\x94\xD8\x81\x9B\x94\x5B\x94\x75\x93\x16\x6B\x73\x94\x09\x7A\x67\x54\x1A\x28\x5B\x94\x7D\x93\xD6\x16\xA0\x94\x25\x23\xA7\x00\xA2\x94\xE3\x91\x0C\x5F\xAC\x00\xAD\x94\x6E\x22\xB5\x00\xB0\x94\xB7\x90\xBF\x8D\x70\x94\xE1\x0A\xC3\x00\xA6\x94\x6C\x94\xC6\x89\x49\x78\xBA\x94\xE6\x11\xD0\x00\xBD\x94\x7D\x94\xF9\x91\x9C\x60\xCE\x00\xC4\x94\x2A\x15\xDD\x00\x67\x54\xE7\x1E\x5B\x94\xA4\x93\xDB\x00\xC9\x94\x13\x17\xED\x00\xCC\x94\x63\x94\xD9\x85\x44\x91\xB4\x94\xFD\x5E\xFD\x00\xB7\x94\x09\x8D\xBA\x62\xF4\x00\xD8\x94\xDF\x60\xFA\x24\x5A\x94\xE4\x90\x25\x65\x01\x6A\x8F", + "\x6B\x19\x00\xFA\x24\xA9\x94\xBF\x93\x11\x92\xFA\x24\x06\x69\x28\x00\xE1\x94\xD5\x94\xF3\x90\x17\x92\xEC\x94\xA3\x07\x36\x00\xEF\x94\xBE\x94\xCE\x93\x56\x61\x25\x00\xFA\x24\x8F\x6B\x44\x00\xFA\x24\xCD\x94\xD4\x93\xD0\x0D\x32\x00\xFB\x94\xA3\x07\x54\x00\xFE\x94\xF0\x94\xE3\x93\x0C\x5F\x3F\x00\x03\x95\xE1\x0A\x64\x00\x06\x95\xF7\x94\xDC\x93\x9C\x60\x4C\x00\x0B\x95\xE6\x11\x74\x00\x0E\x95\xC5\x94\xEB\x93\xD9\x64\x59\x00\x13\x95\x2A\x15\x84\x00\xE8\x94\x07\x95\x2F\x76\x3A\x65\x1B\x95\x13\x17\x93\x00\x1E\x95\x0F\x95\x72\x8B\x0C\x5F\x73\x00\xF3\x94\x69\x4C\xFA\x24\xAD\x01\xA2\x00\xF6\x94\x17\x95\x61\x92\x12\x63\x81\x00\x2A\x95\xC6\x69\x2C\x95\x13\x01\xB0\x00\x2F\x95\x86\x94\x6A\x92\x9C\x61\x8F\x00\x34\x95\x02\x01\x9B\x00\x36\x95\x1C\x55\x39\x95\x8E\x94\x43\x91\x12\x63\x9D\x00\x3E\x95\x55\x90\x41\x95\xD6\x56\x43\x95\x95\x94\x20\x94\x99\x62\xAB\x00\x48\x95\x00\x01\xB7\x00\x4A\x95\x01\x7F\x4C\x95\x9C\x94\x85\x92\x56\x61\xB9\x00\x22\x95\xE2\x56\x54\x95\x01\x01\xE8\x00\x25\x95\x1F\x54\x7E\x54\x2F\x90\x36\x90\x69\x1D\xE7", + "\x53\xDD\x60\x63\x95\xBA\x88\x18\x7A\x9C\x8D\x67\x64\xC8\x00\xFA\x24\x28\x74\xF7\x00\x5B\x95\x00\x00\x50\x54\xA3\x8D\x49\x27\xD3\x00\x6E\x95\xA3\x07\x04\x00\x6D\x24\xCD\x09\x50\x54\xAA\x8D\x53\x77\x51\x95\x0C\x20\x11\x00\x6D\x24\x23\x26\x50\x54\x4F\x90\x0B\x01\xEA\x00\x7F\x95\x3D\x20\x1F\x00\x82\x95\x62\x95\x2F\x93\x12\x63\xF6\x00\x88\x95\x69\x1D\x2D\x00\x8B\x95\x6C\x54\x8E\x8C\x25\x63\x02\x00\x6D\x24\x06\x69\x3B\x00\x93\x95\x78\x54\x01\x01\x9C\x91\x0E\x62\x6D\x24\x28\x74\x49\x00\x7A\x95\x8C\x95\x0E\x7F\x9C\x61\x19\x00\x98\x95\xA3\x07\x56\x00\x9B\x95\x3F\x54\x4E\x93\x6E\x89\xA8\x95\x0C\x95\xAB\x95\x82\x54\x81\x90\x9C\x60\x31\x00\xAF\x95\xE6\x11\x72\x00\xB1\x95\x68\x54\x89\x90\x56\x61\x3D\x00\xB6\x95\x3D\x73\xB9\x95\x72\x95\x96\x94\x0F\x77\xBE\x95\x13\x17\x8E\x00\xC0\x95\x50\x54\x75\x8F\x49\x27\x55\x00\xC4\x95\x4D\x1D\x9C\x00\xC7\x95\xD3\x91\x80\x8D\xA3\x95\x51\x6D\x6D\x24\x1A\x28\x50\x54\xAB\x94\x01\x01\x6E\x00\xCC\x95\x0C\x20\xB9\x00\xCF\x95\x84\x93\x8A\x65\xDA\x95\x3D\x20\xC7\x00\xDD\x95\x07\x88\x67\x64\x86", + "\x00\xA0\x95\xE1\x90\xD2\x95\x9C\x95\x00\x01\xEC\x8C\xA7\x0A\x91\x00\xE7\x95\x70\x6D\xE9\x95\xAC\x95\x9B\x93\x9C\x60\xCE\x95\x9E\x93\xC8\x6E\x6D\x24\xE7\x1E\x50\x54\xA4\x93\xA9\x00\xF1\x95\x38\x1B\xF8\x95\xA4\x95\xD9\x65\x3B\x62\xB6\x00\xE0\x95\x69\x1D\x0F\x00\x6D\x0A\x83\x95\xB2\x93\x17\x6A\xC2\x00\x04\x96\x7C\x60\x07\x96\x00\x96\xBA\x8F\x62\x08\xCE\x00\xFD\x95\x96\x6D\x6D\x0A\xD5\x95\xEA\x94\xD9\x64\xDB\x00\x0C\x96\x6E\x22\x3A\x00\x0E\x96\x94\x95\x1F\x87\x3A\x64\xE7\x00\x1A\x96\xFD\x5E\x48\x00\x1D\x96\xEA\x95\x41\x78\x22\x72\x13\x96\x0C\x20\x56\x00\x6D\x0A\xF9\x95\x00\x95\xD0\x0D\x6D\x0A\x14\x6C\x2C\x96\x00\x96\x0A\x7C\x6D\x7E\x30\x96\x8F\x7A\x32\x96\x1E\x96\x10\x95\x57\x62\x36\x96\xE1\x0A\x86\x00\x38\x96\x26\x96\xE7\x8F\xA7\x0A\x27\x00\x3C\x96\x03\x76\x15\x96\x00\x96\x50\x8D\xD9\x64\x34\x00\x44\x96\x2A\x15\xA5\x00\x46\x96\x39\x96\x27\x95\x81\x68\x6D\x0A\x06\x1E\x4D\x00\x6D\x0A\xAD\x01\xB4\x00\x25\x96\xF2\x95\x31\x95\x25\x63\x4F\x00\x52\x96\xC0\x08\x55\x96\x86\x55\x58\x96\xB2\x95\x0C\x94\xA2\x7C\x5D\x96\xA2", + "\x44\x5F\x96\x0E\x01\xD0\x00\x61\x96\xBA\x95\x72\x92\x79\x82\x65\x96\x0B\x01\x77\x00\x67\x96\x5D\x82\x6A\x96\xC1\x95\x4E\x95\x25\x65\x79\x00\x6E\x96\xAD\x4D\x71\x96\x82\x87\x73\x96\x50\x54\x86\x87\x25\x65\x87\x00\x4B\x96\x01\x01\x94\x00\x7A\x96\x01\x01\xFA\x00\x4E\x96\x89\x54\x00\x96\x55\x89\x13\x17\x9E\x54\x67\x95\x35\x90\x69\x95\x0C\x20\x8D\x96\x3F\x7E\x3A\x64\x96\x00\x6D\x0A\x9D\x92\xB5\x94\x59\x8B\xAB\x79\x6D\x0A\x2E\x01\x9D\x00\x6D\x0A\xBC\x5E\x91\x96\xA8\x92\xBA\x62\x9E\x00\x9A\x96\xC3\x8C\x9D\x96\xA3\x07\x9F\x96\xC5\x8E\x59\x18\xA3\x00\xA3\x96\xB5\x53\xA5\x96\xE1\x0A\x9F\x96\xB6\x92\x9B\x0B\xA8\x00\xAB\x96\x0B\x01\xAC\x00\xAD\x96\xD0\x7B\xBE\x92\xA3\x6D\xB3\x96\xFB\x93\xB6\x96\x2A\x15\x9F\x96\xC7\x92\x33\x66\xB2\x00\xBA\x96\x0D\x5E\xBC\x96\x13\x17\x9F\x96\xE2\x8E\xD0\x0D\xB7\x00\xC2\x96\xEC\x60\xC4\x96\x4D\x1D\x9F\x96\xEA\x8E\xC5\x85\xCA\x96\x00\x00\xC0\x00\xCC\x96\x90\x96\xDD\x92\x25\x65\xC1\x00\xD1\x96\xC5\x00\xD4\x96\x3D\x20\x9F\x96\x48\x8C\xA7\x0A\xC6\x00\xD1\x96\xCA\x00\xDB\x96\x69\x1D\x9F\x96\xFF", + "\x8E\x62\x08\xCB\x00\xD1\x96\xCF\x00\xE3\x96\x25\x23\x9F\x96\x07\x8F\xA7\x0A\x69\x96\x3C\x61\xD4\x00\xEB\x96\x97\x96\x53\x77\x3B\x62\xD5\x00\xD1\x96\xD9\x00\xF3\x96\xFD\x5E\x9F\x96\x01\x93\x8E\x04\xDA\x00\xD1\x96\xDE\x00\xFA\x96\xED\x22\x27\x67\x28\x94\x62\x91\x1C\x6E\xF0\x54\x18\x90\x06\x97\xE2\x8A\x00\x00\xF5\x54\x02\x01\x08\x93\x8E\x96\x97\x8C\xA3\x07\x1F\x55\x0B\x01\x08\x97\x68\x95\x11\x97\xE1\x0A\xE6\x60\x0C\x97\x39\x94\x0B\x97\xED\x60\x01\x01\x05\x55\x16\x97\xF2\x22\xDF\x00\x84\x96\xEC\x87\xAF\x8E\x67\x64\xE1\x00\x02\x97\x67\x91\x13\x01\x1F\x97\xB5\x8E\x3A\x64\xE2\x00\x23\x97\x00\x00\xE4\x00\x28\x97\xF0\x1F\x2B\x97\xBD\x8E\xBA\x62\xE5\x00\x2F\x97\xE7\x00\x32\x97\x37\x01\x34\x97\xC4\x8E\x61\x73\x2F\x97\xEA\x00\x3A\x97\x2A\x97\xCC\x8E\x9C\x60\xEB\x00\x2F\x97\xED\x00\x41\x97\x0E\x01\x3C\x97\xD4\x8E\x59\x18\xEE\x00\x2F\x97\xF0\x00\x48\x97\x01\x55\xDB\x8E\x0C\x5F\xF1\x00\x2F\x97\xF3\x00\x50\x97\x02\x01\x3C\x97\xC7\x96\x9B\x0B\xF4\x00\x2F\x97\xF6\x00\x57\x97\x1E\x97\xE8\x78\x85\x7B\x2F\x97\xF9\x00\x5F\x97\x04", + "\x55\xD6\x96\xD9\x64\x86\x96\x19\x65\xFC\x00\x65\x97\x00\x00\x3C\x97\xDE\x96\x62\x08\xFD\x00\x2F\x97\xFF\x00\x6C\x97\x3C\x97\xE6\x96\x62\x08\xD5\x0A\x6F\x23\xD5\x0A\xBC\x5E\x3C\x97\xEE\x96\x62\x08\x03\x00\x78\x97\xAC\x02\x7A\x97\x44\x90\x39\x71\x9C\x61\x06\x00\x80\x97\x3D\x28\x82\x97\xE1\x0A\x3C\x97\xFD\x96\x99\x60\x87\x97\x5D\x28\x89\x97\x92\x8C\x22\x55\x1B\x97\x87\x06\x8E\x97\x97\x93\x25\x97\x0C\x5F\x0E\x00\x90\x97\x4B\x71\x01\x01\x23\x55\xF5\x83\xBA\x62\x0F\x00\x95\x97\x9F\x28\x9A\x97\x13\x17\x9D\x97\x60\x8B\x7C\x78\xA1\x97\xCA\x28\xA3\x97\x96\x69\xAF\x92\x0E\x83\xA8\x97\xBD\x2A\xAA\x97\x0C\x20\xA5\x97\xF0\x7D\xEB\x6D\xAE\x97\x1A\x00\xB0\x97\x3D\x20\xB2\x97\x00\x01\x4B\x97\xD0\x0D\x1B\x00\xAE\x97\x1D\x00\xB7\x97\x7D\x83\x52\x97\x9C\x60\x1E\x00\xAE\x97\x20\x00\xC0\x97\x25\x23\xB9\x97\xF1\x7E\x3B\x62\x21\x00\xAE\x97\x23\x00\xC7\x97\x6E\x22\xC9\x97\xCF\x96\xD0\x0D\x24\x00\xAE\x97\x26\x00\xCF\x97\xFD\x5E\xC9\x97\xF1\x8E\x9B\x0B\x27\x00\xAE\x97\x29\x00\xD7\x97\xED\x22\xC9\x97\x6F\x97\x3E\x07\x2A\x00\xAE\x97\x2C", + "\x00\xDF\x97\xF2\x22\xC9\x97\x76\x97\x8E\x04\x2D\x00\xAE\x97\x2F\x00\xE7\x97\xF0\x1F\xC9\x97\x7D\x97\x6F\x5A\xAE\x97\x32\x00\xEF\x97\x37\x01\xC9\x97\xF9\x92\x8E\x04\x33\x00\xAE\x97\x35\x00\xF6\x97\x92\x97\x0E\x01\x8C\x97\xB2\x57\xAE\x97\x38\x00\xFE\x97\x2E\x7D\x6B\x95\x24\x83\xD5\x0A\x28\x74\x09\x00\xD5\x0A\xCD\x09\xF0\x60\xCF\x82\xBA\x62\x44\x00\x09\x98\xA3\x07\x16\x00\x0C\x98\x64\x87\x4A\x94\x62\x08\x4F\x00\xD5\x0A\x06\x69\xCE\x97\xEA\x2B\x0E\x98\x7D\x86\x0C\x5F\x5B\x00\x1A\x98\xC4\x61\xD5\x0A\x23\x26\x1E\x98\x8D\x95\x26\x7B\x22\x98\xE1\x0A\x3F\x00\x24\x98\x16\x98\x95\x95\x67\x64\x73\x00\x29\x98\xE6\x11\x4D\x00\x2C\x98\x06\x98\xBC\x87\x9C\x60\x7F\x00\x12\x98\x06\x8E\x15\x98\x35\x98\xF8\x7E\xEC\x70\x31\x98\x2A\x15\x68\x00\x34\x98\xE3\x7D\xAD\x95\x90\x77\x3F\x98\xD4\x74\x42\x98\xEF\x60\x87\x94\x25\x63\xA2\x00\x46\x98\xDC\x74\x48\x98\x06\x94\xBB\x95\x99\x62\xAE\x00\x4D\x98\x0C\x20\x92\x00\x4F\x98\x00\x01\x26\x98\x61\x79\x3B\x62\xBA\x00\x54\x98\xB9\x8B\x57\x98\x00\x00\x59\x98\x00\x00\xC9\x95\x59\x18\xC6\x00\x5D", + "\x98\x69\x1D\x53\x98\x1D\x98\xD0\x95\x86\x92\x3B\x98\xE6\x11\xBC\x00\xD5\x0A\x1A\x28\x61\x98\xD7\x95\xAD\x8B\x66\x98\x25\x23\xCB\x00\x5F\x98\x61\x98\xB8\x89\x49\x27\xEB\x00\x74\x98\x6E\x22\xD9\x00\x77\x98\x92\x8F\x7B\x61\x39\x98\xEB\x85\x6C\x98\x49\x98\xBF\x94\x0C\x5F\x02\x00\x44\x0D\x28\x74\xF4\x00\x84\x98\x50\x98\xF3\x95\x56\x61\x0D\x00\x44\x0D\x8F\x6B\x01\x00\x44\x0D\xE7\x1E\x61\x98\xA4\x93\x1A\x00\x91\x98\x82\x5A\x94\x98\x2D\x98\xD5\x90\x9C\x60\x27\x00\x44\x0D\x06\x69\x21\x00\x44\x0D\x25\x98\x09\x96\x33\x66\x33\x00\xA0\x98\x55\x5B\xA3\x98\x9C\x98\x10\x87\xB4\x7B\x99\x98\xE1\x0A\x3D\x00\x44\x0D\x70\x98\x17\x96\x17\x6A\x4C\x00\xA8\x98\xE1\x0A\xB5\x98\x69\x98\xF1\x94\x9C\x60\x58\x00\xB6\x98\xE6\x11\x5A\x00\xAA\x98\x3C\x98\x2A\x92\x12\x63\x64\x00\xAE\x98\xE6\x11\x68\x00\x9B\x98\xC1\x98\xD1\x7A\xBA\x62\x71\x00\xC5\x98\x2A\x15\x78\x00\xC8\x98\x43\x98\x40\x92\x99\x62\x7E\x00\xCD\x98\x13\x17\x88\x00\xD0\x98\x85\x98\x08\x95\x69\x90\xD5\x98\x4D\x1D\x98\x00\xD8\x98\x8D\x98\x12\x7C\x67\x64\xDE\x98\xF6\x95\xF2\x22\xA8", + "\x00\xB1\x98\xAB\x98\xF1\x93\x9C\x61\xA5\x00\xDC\x98\x0C\x20\xB7\x00\xE7\x98\xC9\x98\x57\x92\x3A\x64\xB2\x00\xBD\x98\x02\x01\xBE\x00\x44\x0D\xAD\x01\xC6\x00\xC0\x98\xD1\x98\x5A\x96\x67\x64\xC0\x00\xF4\x98\xD3\x56\xF7\x98\x02\x84\xFA\x98\xD9\x98\x7D\x73\x4D\x6B\xFF\x98\x00\x01\xDA\x00\x01\x99\xF4\x57\x03\x99\xE0\x98\x4F\x8A\x9C\x60\xDC\x00\x07\x99\x00\x00\xE8\x00\x0A\x99\x72\x58\x0C\x99\x58\x98\x19\x90\x67\x64\xEA\x00\x11\x99\xF6\x00\x14\x99\x02\x01\xFE\x00\x16\x99\x60\x98\x29\x94\x25\x63\xF8\x00\xEC\x98\x05\x00\x49\x35\x05\x1E\x49\x35\x1A\x28\xF6\x60\xD7\x84\xE9\x7A\x49\x35\x96\x96\xFD\x5E\x2B\x99\xDC\x84\x3A\x64\x0A\x00\x49\x35\x2E\x01\x0E\x00\x49\x35\xBC\x5E\x31\x99\xE3\x84\x0B\x69\x35\x99\xAD\x06\x38\x99\xA3\x07\x3A\x99\x1B\x82\x93\x86\x3D\x99\x14\x1E\x3F\x99\xC0\x6B\x43\x97\x56\x61\x19\x00\x44\x99\x0B\x01\x1D\x00\x46\x99\xE6\x11\x41\x99\x73\x8B\x67\x68\x4B\x99\xAD\x0E\x4E\x99\x2A\x15\x50\x99\xBF\x96\x8B\x62\x53\x99\xC8\x05\x55\x99\x13\x17\x50\x99\x5A\x97\x93\x64\x5A\x99\x00\x01\x2C\x00\x5C\x99\x4D\x1D\x50", + "\x99\xD2\x97\x9B\x0B\x2D\x00\x61\x99\x45\x54\x64\x99\x0C\x20\x50\x99\xDA\x97\xA7\x0A\x32\x00\x6A\x99\x36\x00\x6C\x99\x5C\x73\x08\x7F\x9C\x61\x37\x00\x6A\x99\x3B\x00\x74\x99\x91\x75\xEA\x92\x67\x64\x3C\x00\x6A\x99\x40\x00\x7B\x99\x25\x23\x50\x99\xF2\x97\x8E\x04\x41\x00\x6A\x99\x45\x00\x82\x99\x6E\x22\x50\x99\xF9\x97\x37\x01\x46\x00\x6A\x99\x4A\x00\x8A\x99\x30\x99\x22\x7F\xBA\x62\x4B\x00\x6A\x99\x4F\x00\x92\x99\xED\x22\xBC\x5B\x50\x99\x8A\x96\x4D\x1D\x55\x55\x0E\x8C\x3E\x07\x50\x00\x2E\x99\x1C\x6E\x55\x55\x14\x8C\x62\x08\x53\x00\x6A\x99\x57\x00\x99\x99\xF2\x22\x55\x55\xED\x8A\xD0\x0D\x58\x00\x6A\x99\x5C\x00\xAB\x99\xF0\x1F\x55\x55\xA8\x96\xD0\x0D\x5D\x00\x6A\x99\x61\x00\xB3\x99\x37\x01\x55\x55\xB0\x96\xA7\x0A\x62\x00\x6A\x99\x66\x00\xBB\x99\x86\x55\xB8\x96\x3A\x64\x67\x00\x6A\x99\x6B\x00\xC3\x99\x8E\x55\xF8\x84\x23\x7F\x6A\x99\x70\x00\xCA\x99\x0B\x01\x55\x55\x5F\x99\x10\x8F\x6A\x99\x75\x00\xD0\x99\x02\x01\x55\x55\x67\x99\xA7\x0A\x76\x00\x6A\x99\x7A\x00\xD7\x99\x16\x68\x67\x97\x17\x6A\x7B\x00\x6A\x99\x7F\x00\xDF", + "\x99\x44\x55\x76\x99\xBA\x62\x80\x00\x6A\x99\x84\x00\xE6\x99\x4B\x55\x7D\x99\xC5\x6A\x6A\x99\x89\x00\xED\x99\x55\x55\x85\x99\x37\x01\x8A\x00\x6A\x99\x8E\x00\xF3\x99\x84\x97\xBA\x62\x8F\x00\x6A\x99\x93\x00\xFA\x99\x00\x98\x3B\x62\x94\x00\x6A\x99\x98\x00\xED\x99\xB3\x55\x55\x55\x9D\x99\x0C\x20\xCA\x55\x9A\x79\x64\x50\xED\x99\x1B\x00\x6C\x99\xCA\x55\x71\x84\xB0\x89\xED\x99\x1C\x00\x10\x9A\x6F\x6C\x32\x73\xED\x99\x4D\x99\x30\x5F\xCA\x55\xB1\x66\xBE\x79\xED\x99\x1E\x00\x16\x9A\x72\x65\x9C\x60\x9D\x00\xED\x99\x1F\x00\x21\x9A\x77\x65\x3B\x81\xED\x99\x20\x00\x27\x9A\x8C\x6C\x24\x71\xED\x99\x21\x00\x2C\x9A\x93\x6C\xCC\x91\xED\x99\x22\x00\x31\x9A\x9A\x6C\x25\x65\xA1\x00\xED\x99\x23\x00\x36\x9A\xA1\x6C\x28\x76\xED\x99\x24\x00\x3C\x9A\xB2\x84\x62\x08\xA3\x00\xED\x99\x25\x00\x3C\x9A\xDB\x79\x62\x08\xA4\x00\xED\x99\x26\x00\x3C\x9A\xE1\x79\x8E\x04\xA5\x00\xED\x99\x27\x00\x3C\x9A\xE7\x79\x8E\x04\xA6\x00\xED\x99\x28\x00\x3C\x9A\xED\x79\x49\x27\xA7\x00\xED\x99\x29\x00\x3C\x9A\xF3\x79\x3E\x07\xA8\x00\x6C\x99\xA9\x00\x27\x99\x8C", + "\x33\x6C\x99\xE4\x55\x99\x92\x42\x71\xA3\x99\x0B\x97\x68\x9A\xA0\x92\xFB\x7B\x6A\x99\xB2\x00\xED\x99\x6D\x9A\xA0\x96\x3A\x64\xB3\x00\x6A\x99\xB7\x00\x72\x9A\xAC\x97\xBF\x8D\x6A\x99\xBC\x00\x79\x9A\xED\x84\xBA\x62\xBD\x00\x6A\x99\xC1\x00\x7E\x9A\xF2\x84\x3A\x64\xC2\x00\x6A\x99\xC6\x00\x84\x9A\xCC\x99\xF7\x74\x6A\x99\xCB\x00\x8A\x9A\xFE\x84\xB7\x80\x6A\x99\xD0\x00\x8F\x9A\x05\x85\x9C\x61\xD1\x00\x6A\x99\xD5\x00\x94\x9A\x0B\x85\x3B\x62\xD6\x00\x6A\x99\xDA\x00\x9A\x9A\xE2\x97\x8E\x04\xDB\x00\x6A\x99\xDF\x00\x9A\x9A\xEA\x97\x37\x01\xE0\x00\x6A\x99\xE4\x00\x9A\x9A\xF5\x99\x13\x01\xE5\x00\x6A\x99\xE9\x00\x9A\x9A\x8D\x99\x18\x58\x6A\x99\xEE\x00\x9A\x9A\x01\x98\x59\x58\x6A\x99\xF3\x00\xED\x99\xF0\x56\xA0\x99\x8E\x04\xF4\x00\x6B\x9A\x74\x6E\xFD\x56\x38\x57\x9C\x61\xF7\x00\x6A\x99\xFB\x00\xBC\x9A\x1A\x8C\x99\x62\xFC\x00\x6A\x99\xDC\x12\x2F\x63\xC3\x9A\x66\x8B\x0A\x92\xF5\x0A\x8F\x27\xF5\x0A\xBC\x5E\xF0\x56\xBE\x99\x62\x08\x06\x00\xD3\x9A\xD5\x27\xD5\x9A\xA3\x07\xF0\x56\xBB\x97\x60\x64\xDB\x9A\x62\x28\xDD\x9A\xE1\x0A\xF0", + "\x56\x58\x99\x59\x18\x10\x00\xE2\x9A\x0E\x28\xE4\x9A\xF6\x68\xCE\x92\x7D\x6B\xEA\x9A\x73\x0D\xEC\x9A\x2A\x15\xF0\x56\xDA\x99\x62\x08\x1A\x00\xF0\x9A\xEF\x2C\xF2\x9A\xC7\x77\xE1\x99\x33\x66\x1F\x00\xF8\x9A\x96\x30\xFA\x9A\x4D\x1D\xF0\x56\xA1\x9A\x69\x61\xFF\x9A\xEC\x32\x01\x9B\x97\x80\xEF\x99\x9C\x60\x29\x00\x06\x9B\x2D\x00\x08\x9B\x3D\x20\xF0\x56\xAD\x9A\x06\x04\x06\x9B\x32\x00\x0F\x9B\x69\x1D\xF0\x56\xB3\x9A\x0C\x10\x06\x9B\x37\x00\x16\x9B\x25\x23\xF0\x56\xB8\x9A\x72\x25\x06\x9B\x3C\x00\x1D\x9B\x6E\x22\x0C\x56\xF0\x56\x09\x9A\x3D\x20\x6B\x56\x0C\x9A\x35\x04\x24\x9B\xFD\x5E\x2B\x00\x6C\x99\x6B\x56\x12\x9A\x3E\x07\x3E\x00\x2D\x9B\xED\x22\x63\x99\x30\x5F\x6B\x56\x7A\x84\x17\x6A\x3F\x00\x35\x9B\x60\x66\x30\x9B\x81\x84\x6E\x94\x3D\x9B\xF0\x1F\x2E\x00\x3F\x9B\x22\x9A\x56\x61\x41\x00\x42\x9B\x37\x01\x2F\x00\x45\x9B\x28\x9A\xD2\x67\x49\x9B\xDA\x01\x4C\x9B\x2D\x9A\x09\x6E\x4F\x9B\xEE\x34\x51\x9B\x32\x9A\xD9\x64\x44\x00\x54\x9B\xD5\x59\x56\x9B\x37\x9A\xD9\x64\x45\x00\x5A\x9B\x65\x0A\x5C\x9B\x3D\x9A\x25\x63\x46\x00\x60", + "\x9B\x01\x01\x34\x00\x62\x9B\x42\x9A\x3E\x07\x47\x00\x66\x9B\x07\x35\x62\x9B\x48\x9A\x3E\x07\x48\x00\x6D\x9B\x0E\x35\x62\x9B\x4E\x9A\x5A\x6C\x73\x9B\x78\x99\x38\x9B\x7F\x29\x0C\x5F\x4A\x00\x73\x9B\x38\x00\x62\x9B\x5A\x9A\x59\x18\x4B\x00\x73\x9B\x39\x00\x62\x9B\x60\x9A\x8E\x04\x4C\x00\x08\x9B\x4D\x00\xF5\x0A\x62\x76\x6C\x99\xC5\x5B\x2C\x99\x3A\x64\x4F\x00\xF5\x0A\x2F\x99\xED\x22\x8F\x9B\x32\x99\x12\x63\x52\x00\x06\x9B\x56\x00\x73\x9B\x96\x9B\x3B\x99\xBA\x62\x57\x00\x06\x9B\x5B\x00\x9C\x9B\x7A\x9A\xF2\x69\x06\x9B\x60\x00\xA3\x9B\x7F\x9A\x3A\x64\x61\x00\x06\x9B\x65\x00\xA8\x9B\x85\x9A\xF1\x73\x06\x9B\x6A\x00\xAE\x9B\x8B\x9A\x3A\x64\x6B\x00\x06\x9B\x6F\x00\xB3\x9B\x90\x9A\xE5\x8B\x06\x9B\x74\x00\xB9\x9B\x95\x9A\xBA\x62\x75\x00\x06\x9B\x79\x00\xBE\x9B\x9B\x9A\xEF\x67\x06\x9B\x7E\x00\xC4\x9B\x04\x9B\x64\x4C\x06\x9B\x83\x00\xC4\x9B\xA7\x9A\xB3\x7D\x06\x9B\x88\x00\xC4\x9B\x12\x9B\x0B\x01\x89\x00\x06\x9B\x8D\x00\xC4\x9B\x19\x9B\x41\x83\x06\x9B\x92\x00\xC4\x9B\x20\x9B\x5C\x69\x06\x9B\x97\x00\x73\x9B\x04\x61\x5D\x7C\x3E", + "\x86\x93\x9B\x1C\x6E\xE4\x9B\x2C\x97\x32\x73\x06\x9B\x9F\x00\xE3\x9B\xCA\x9A\xCC\x91\x06\x9B\xA4\x00\xEE\x9B\x20\x8C\x96\x63\x06\x9B\xA9\x00\xF3\x9B\x25\x8C\x0C\x5F\xAA\x00\x06\x9B\xAE\x00\xF8\x9B\x2B\x8C\x07\x66\x06\x9B\xB3\x00\xFE\x9B\x30\x8C\x3A\x64\xB4\x00\x06\x9B\xB8\x00\x03\x9C\x36\x8C\x12\x63\xB9\x00\x06\x9B\xBD\x00\x09\x9C\x3C\x8C\x3A\x64\xBE\x00\x06\x9B\xC2\x00\x0F\x9C\x6F\x99\x62\x08\xC3\x00\x06\x9B\xC7\x00\x0F\x9C\xCA\x9B\x70\x56\x06\x9B\xCC\x00\x0F\x9C\xCF\x9B\x28\x5D\x06\x9B\xD1\x00\x0F\x9C\xD4\x9B\x31\x57\x06\x9B\xD6\x00\x0F\x9C\xDA\x9B\x23\x77\x06\x9B\xDB\x00\x0F\x9C\xDF\x9B\x01\x01\xDC\x00\x06\x9B\xE0\x00\x73\x9B\xC8\x56\x46\x56\x0A\x97\xC2\x9A\xE8\x56\x0B\x01\x6B\x56\x28\x9B\x69\x1D\xCD\x56\xC5\x56\x93\x97\x9B\x97\x06\x61\x60\x6C\x9C\x60\xE1\x00\x73\x9B\x7A\x99\x30\x5F\x08\x57\x32\x9B\x8E\x04\xE2\x00\x73\x9B\x7F\x99\x49\x9C\x17\x9A\x25\x63\xE3\x00\x73\x9B\x3D\x00\x6C\x99\x08\x57\x1D\x9A\xD9\x64\xE4\x00\x73\x9B\x3E\x00\x56\x9C\x89\x84\x56\x61\xE5\x00\x73\x9B\x3F\x00\x5D\x9C\xD6\x5E\xF1\x82\x73", + "\x9B\x81\x99\x50\x9C\xC3\x66\xBA\x62\xE7\x00\x73\x9B\x87\x99\x68\x9C\x7A\x61\xDD\x66\x73\x9B\x42\x00\x63\x9C\x5E\x2A\x0C\x5F\xE9\x00\x73\x9B\x43\x00\x73\x9C\x77\x2C\x21\x80\x73\x9B\x44\x00\x79\x9C\x9D\x27\x2A\x94\x73\x9B\x89\x99\x6E\x9C\x2E\x61\x25\x63\xEC\x00\x73\x9B\x8F\x99\x83\x9C\xE8\x66\x67\x64\xED\x00\x73\x9B\x47\x00\x7E\x9C\xA7\x65\x9C\x60\xEE\x00\x73\x9B\x48\x00\x8F\x9C\xAC\x65\x56\x61\xEF\x00\x73\x9B\x49\x00\x95\x9C\x87\x9B\x37\x01\xF0\x00\x08\x9B\xF1\x00\x8C\x9B\xDD\x3A\x6C\x99\xCA\x5B\x90\x9B\x12\x63\xF3\x00\xE7\x9B\x0B\x97\xA4\x9C\x97\x9B\x25\x63\xF6\x00\x06\x9B\xFA\x00\x73\x9B\xAA\x9C\x9E\x9B\x3A\x64\xFB\x00\x06\x9B\xFF\x00\xB0\x9C\xA4\x9B\x9C\x93\xA3\x35\x8C\x27\xA3\x35\xBC\x5E\xB1\x9C\x15\x77\x9C\x61\x05\x00\xBA\x9C\xF2\x27\xBC\x9C\xA3\x07\xBE\x9C\x51\x99\x21\x75\xC2\x9C\xCA\x27\xC4\x9C\xE1\x0A\xC6\x9C\xE7\x9A\xD0\x0D\x0F\x00\xC9\x9C\x1E\x28\xCB\x9C\xE6\x11\xC6\x9C\xD3\x99\x3E\x07\x14\x00\xD1\x9C\xDB\x28\xD3\x9C\x2A\x15\xC6\x9C\xF5\x9A\x3E\x07\x19\x00\xD9\x9C\x75\x22\xDB\x9C\x13\x17\xC6\x9C\x16", + "\x9C\x3E\x07\x1E\x00\xE1\x9C\xE3\x0B\xE3\x9C\x89\x6C\xE8\x99\xAF\x7F\xE9\x9C\x40\x08\xEB\x9C\x0C\x20\xC6\x9C\x21\x9C\x38\x75\xEF\x9C\x2C\x00\xF1\x9C\x2B\x7A\xF1\x92\xF8\x80\xEF\x9C\x31\x00\xF8\x9C\x64\x73\xFB\x99\x3A\x64\x32\x00\xEF\x9C\x36\x00\xFE\x9C\x25\x23\xC6\x9C\x30\x9C\x00\x01\x37\x00\xEF\x9C\x3B\x00\x05\x9D\x6E\x22\x12\x57\x44\x9C\x56\x61\x3C\x00\x0D\x9D\xFD\x5E\x96\x99\x30\x5F\x0F\x9D\x3C\x59\xBA\x62\x3D\x00\x13\x9D\xED\x22\x4C\x00\x6C\x99\x17\x9D\x37\x79\x9C\x61\x3E\x00\x1B\x9D\xF2\x22\x4D\x00\x1E\x9D\x40\x9B\xC0\x93\x23\x9D\xF0\x1F\x4E\x00\x26\x9D\x46\x9B\x99\x62\x40\x00\x29\x9D\xE3\x5A\x2C\x9D\x4D\x9B\x99\x62\x41\x00\x30\x9D\xA4\x3D\x32\x9D\x52\x9B\x07\x70\x36\x9D\x70\x8D\x38\x9D\x57\x9B\x17\x6A\x43\x00\x3B\x9D\xA0\x3E\x3D\x9D\x5D\x9B\x17\x6A\x44\x00\x41\x9D\xB4\x3E\x43\x9D\x63\x9B\x67\x64\x45\x00\x47\x9D\xBF\x3E\x49\x9D\x6A\x9B\x8E\x04\x46\x00\x4D\x9D\xD1\x3E\x49\x9D\x70\x9B\x8E\x04\x47\x00\x53\x9D\xC8\x08\x49\x9D\x76\x9B\x81\x07\x59\x9D\xAA\x99\x16\x9D\x7B\x9B\x9C\x60\x49\x00\x59\x9D\xB0\x99\x60", + "\x9D\x02\x3D\x7C\x9B\x59\x9D\x59\x00\x49\x9D\x9C\x9C\x48\x3B\xF1\x9C\x4C\x00\xA3\x35\x29\x7C\x6C\x99\xCF\x5B\xBE\x9A\x37\x01\x4E\x00\x59\x9D\x97\x6C\x98\x96\x56\x61\x4F\x00\x70\x9D\x78\x3E\x59\x9D\xCF\x5B\xAE\x99\x9B\x0B\x52\x00\x7C\x9D\xD1\x11\x7E\x9D\xB8\x9C\x9C\x60\x55\x00\x83\x9D\x12\x22\x85\x9D\xA9\x9B\x12\x63\x58\x00\x89\x9D\x2E\x40\x8B\x9D\xAF\x9B\x25\x63\x5B\x00\x8F\x9D\xEE\x25\x91\x9D\xB4\x9B\x3B\x83\x95\x9D\x27\x10\x97\x9D\xBA\x9B\x8D\x85\x9A\x9D\x00\x00\x63\x00\x9C\x9D\xBF\x9B\x3A\x64\x64\x00\x9F\x9D\x66\x00\xA2\x9D\xC5\x9B\x19\x63\x9F\x9D\x69\x00\xA8\x9D\x1C\x9C\xFA\x68\x9F\x9D\x6C\x00\xA8\x9D\xF4\x9C\x83\x8D\x9F\x9D\x6F\x00\xA8\x9D\x26\x9C\xAB\x47\x9F\x9D\x72\x00\xA8\x9D\x2B\x9C\x88\x49\x9F\x9D\x75\x00\xA8\x9D\x08\x9D\x8C\x4B\x9F\x9D\x78\x00\x59\x9D\x48\x6F\x99\x8C\x3D\x9C\xA5\x6C\x1E\x55\x41\x9C\x19\x74\x01\x01\xC1\x78\x19\x97\xC9\x9D\x6E\x22\xA3\x57\x1D\x97\x33\x85\x8F\x96\x3D\x20\x82\x7C\x12\x55\xD1\x9D\xFD\x5E\x24\x77\x61\x98\xDA\x9D\xED\x22\xE1\x78\xB3\x55\xDE\x9D\xF2\x22\x7C\x7E\xCA\x55\xE2", + "\x9D\xDA\x6C\x13\x01\x36\x9C\x0A\x93\xD6\x9D\x69\x1D\xF7\x78\xEE\x56\xE6\x9D\x37\x01\x47\x77\x3F\x9C\xEA\x9D\x17\x97\xE6\x11\xB8\x7C\x08\x57\xEF\x9D\x00\x9D\x37\x5D\xCC\x9D\x1D\x74\x94\x99\xAD\x40\xFB\x9D\x0C\x20\x5B\x00\x6C\x99\x15\x79\x81\x14\x3D\x6F\x13\x17\xB2\x99\x30\x5F\x27\x61\x3C\x94\x3B\x62\x79\x00\xA3\x35\x28\x74\xB8\x99\x51\x2B\x09\x9E\x44\x94\x3A\x64\x84\x00\x0D\x9E\xEC\x6F\x49\x35\xCD\x09\x11\x9E\xC4\x41\x12\x63\x8F\x00\xA3\x35\x06\x69\x77\x00\x49\x35\x23\x26\x19\x9E\xC4\x70\x32\x73\x1D\x9E\xA3\x07\x85\x00\x20\x9E\xEE\x57\xAC\x87\x76\x7D\x25\x9E\x9F\x7A\x28\x9E\x0E\x01\x22\x9E\x65\x94\x59\x18\xB3\x00\x2C\x9E\xE6\x11\x39\x9A\xEA\x2B\x22\x9E\x9E\x95\xA7\x0A\xBF\x00\x15\x9E\x8B\x8C\x17\x9E\x29\x9E\x3D\x98\x3A\x64\xCA\x00\x34\x9E\x2A\x15\x7D\x9A\x37\x9E\x44\x98\x19\x85\x43\x9E\x13\x17\xCA\x00\x2E\x9E\x0B\x01\x22\x9E\xB3\x91\x49\x27\xE2\x00\x49\x9E\x55\x78\x4C\x9E\x02\x01\x22\x9E\x5B\x93\x4C\x97\x52\x9E\x0C\x20\xE6\x00\x54\x9E\x26\x61\xC2\x95\x7E\x86\x59\x9E\x15\x80\x5C\x9E\x5D\x81\x9D\x94\x33\x66\x06", + "\x00\x25\x0A\x06\x69\x02\x00\xF5\x0A\x21\x9E\x6A\x98\x56\x61\x12\x00\x25\x0A\x8F\x6B\xE9\x9A\xA1\x2B\x22\x9E\x72\x98\x3E\x0E\x67\x9E\xA3\x07\xFE\x9A\x46\x9E\xDE\x95\x99\x62\x2B\x00\x76\x9E\xE1\x0A\x0E\x9B\x79\x9E\xE4\x95\x64\x8D\x25\x0A\x28\x74\x3B\x00\xF5\x0A\x18\x9E\x93\x93\x12\x63\x42\x00\x83\x9E\xA3\x07\x72\x9B\x10\x9E\xC6\x94\x56\x61\x4D\x00\x6F\x9E\xA3\x07\x55\x00\xF5\x0A\xE7\x1E\x22\x9E\xA4\x93\x5A\x00\x92\x9E\xE1\x0A\xAD\x9B\x8C\x29\x22\x9E\x02\x8D\x25\x65\x67\x00\x7D\x9E\xE6\x11\xC1\x9B\x80\x9E\xDA\x7F\xBA\x62\x73\x00\xA2\x9E\x2A\x15\xCD\x9B\xA5\x9E\x33\x88\x3B\x62\x7F\x00\x9A\x9E\xE6\x11\x91\x00\xF5\x0A\x1A\x28\x22\x9E\x79\x83\x17\x6A\x8C\x00\xA9\x9E\x50\x87\x6A\x9E\x3F\x9E\x08\x72\x12\x63\x98\x00\xB9\x9E\x4D\x1D\xFD\x9B\xAC\x9E\x92\x3E\x6F\x7D\xB0\x9E\x44\x9E\x95\x9E\xBC\x9E\xCA\x98\x3A\x64\xB1\x00\xC6\x9E\x13\x17\x1F\x9C\x9D\x9E\xD9\x8F\x49\x27\xBE\x00\xCD\x9E\x43\x8E\xC8\x9E\x2F\x9E\xD1\x9E\x59\x18\xCB\x00\xD4\x9E\x0C\x20\x86\x9C\xD0\x9E\x18\x95\x17\x6A\xD8\x00\xDB\x9E\x50\x6B\xB3\x9E\xC9\x9E\x72", + "\x88\x3A\x64\xE5\x00\xE2\x9E\x69\x1D\x0B\x00\xA3\x35\xB4\x9E\x33\x8A\x12\x63\xF2\x00\xC0\x9E\x00\x00\xFE\x00\x25\x0A\x0F\x22\xA3\x35\x6B\x9E\x2A\x80\x12\x6C\xCE\x0C\x06\x1E\x0C\x00\xCE\x0C\xAD\x01\x28\x00\xF6\x9E\xE5\x9E\x91\x6A\x3B\x62\x0E\x00\xFA\x9E\x2C\x2A\xFD\x9E\xB2\x57\x00\x9F\xD7\x9E\x6C\x96\x0C\x5F\x1C\x00\x05\x9F\x84\x61\x07\x9F\x69\x06\x09\x9F\x4D\x9E\x18\x99\x55\x5F\x0E\x9F\x11\x35\x10\x9F\xA0\x3E\x12\x9F\x55\x9E\x22\x99\x67\x64\x38\x00\xCE\x0C\xCD\x09\x45\x00\x18\x9F\x02\x01\x60\x00\xEC\x9E\xEF\x57\x97\x97\x9C\x60\x47\x00\xCE\x0C\xA7\x73\x2D\x61\xEA\x9B\x25\x63\x48\x00\x22\x9F\xF0\x1E\x2A\x9F\xA3\x07\x2C\x9F\x35\x97\x3A\x64\x4B\x00\x30\x9F\x44\x3C\x32\x9F\xE1\x0A\x34\x9F\x3D\x97\x9C\x61\x4E\x00\x38\x9F\xCD\x3D\x3A\x9F\xE6\x11\x3C\x9F\xD8\x9A\x3E\x07\x51\x00\x40\x9F\x53\x00\x42\x9F\x2A\x15\x3C\x9F\xE0\x9A\xA7\x0A\x54\x00\x40\x9F\x56\x00\x4A\x9F\x13\x17\x3C\x9F\xCE\x9C\x9B\x0B\x57\x00\x40\x9F\x59\x00\x52\x9F\x4D\x1D\x3C\x9F\xD6\x9C\x8E\x04\x5A\x00\x40\x9F\x5C\x00\x5A\x9F\x46\x8F\x61\x97\x12\x63\x5D", + "\x00\x40\x9F\x5F\x00\x62\x9F\x5B\x7B\xFC\x9A\xE5\x5A\x40\x9F\x62\x00\x69\x9F\x09\x75\xED\x9C\x88\x94\x40\x9F\x65\x00\x6F\x9F\x25\x23\x3C\x9F\xB3\x9D\x83\x43\x40\x9F\x68\x00\x75\x9F\x6E\x22\x3C\x9F\xB8\x9D\xAD\x44\x40\x9F\x6B\x00\x7C\x9F\xFD\x5E\x3C\x9F\xBD\x9D\xE0\x45\x40\x9F\x6E\x00\x83\x9F\xED\x22\x3C\x9F\xC2\x9D\x6F\x00\x40\x9F\x71\x00\x8A\x9F\xF2\x22\xBF\x5A\xE5\x9B\x9B\x89\x91\x9F\x96\x92\xF4\x57\x79\x9D\x99\x62\x73\x00\x40\x9F\x75\x00\x96\x9F\x37\x01\x93\x9F\xB2\x9C\x12\x63\x76\x00\x40\x9F\x78\x00\x9E\x9F\x13\x01\xA0\x9F\x42\x99\x1B\x78\x40\x9F\x7B\x00\xA6\x9F\x98\x9F\x8C\x9D\x25\x63\x7C\x00\x40\x9F\x7E\x00\xAD\x9F\xF7\x57\xC5\x99\x12\x63\x7F\x00\x40\x9F\x81\x00\xB4\x9F\x02\x01\xA8\x9F\x66\x8A\x22\x73\x40\x9F\x84\x00\xBB\x9F\x01\x01\xBD\x9F\x5D\x9F\xE1\x7E\x40\x9F\x87\x00\xC2\x9F\x00\x01\xBD\x9F\xDE\x9C\x8E\x04\x88\x00\x40\x9F\x8A\x00\xC9\x9F\x00\x00\xBD\x9F\xE6\x9C\x8E\x04\x8B\x00\x40\x9F\x8D\x00\xD1\x9F\xBD\x9F\xAE\x9D\x80\x83\x40\x9F\x90\x00\xD9\x9F\x0A\x9B\x56\x61\x91\x00\x40\x9F\x93\x00\xDF\x9F\x56", + "\x82\x02\x9A\x40\x9F\x96\x00\xE5\x9F\x5D\x82\x65\x6F\x40\x9F\x99\x00\xEA\x9F\x63\x82\x3B\x62\x9A\x00\x40\x9F\x9C\x00\xD1\x9F\xB9\x5A\x94\x9F\x3A\x64\x9D\x00\xD1\x9F\x3D\x20\xF6\x9F\x2D\x9F\x67\x64\x9E\x00\x40\x9F\xA0\x00\xF5\x9F\xEF\x9B\xD9\x64\xA1\x00\x40\x9F\xA3\x00\x02\xA0\xF4\x9B\x3A\x64\xA4\x00\x40\x9F\xA6\x00\x08\xA0\xF9\x9B\x9C\x60\xA7\x00\x40\x9F\xA9\x00\x0E\xA0\xFF\x9B\x3A\x64\xAA\x00\x40\x9F\xAC\x00\x14\xA0\x04\x9C\x12\x63\xAD\x00\x40\x9F\xAF\x00\x1A\xA0\x0A\x9C\x25\x63\xB0\x00\x40\x9F\xB2\x00\x20\xA0\x10\x9C\x12\x63\xB3\x00\x40\x9F\xB5\x00\x26\xA0\xD4\x9F\x37\x01\xB6\x00\x40\x9F\xB8\x00\x26\xA0\xDB\x9F\x01\x01\xB9\x00\x40\x9F\xBB\x00\x26\xA0\x78\x9F\x04\x55\x40\x9F\xBE\x00\x26\xA0\x7F\x9F\x60\x98\x40\x9F\xC1\x00\x26\xA0\x86\x9F\x4B\x55\x40\x9F\xC4\x00\x26\xA0\xC2\x9D\xC5\x00\x40\x9F\xC7\x00\xD1\x9F\x05\x58\xA5\x9C\x3F\x66\xFA\x9F\x69\x1D\x4D\xA0\xAB\x9C\x67\x64\xC9\x00\x40\x9F\xCB\x00\x4C\xA0\x03\xA0\x17\x6A\xCC\x00\x40\x9F\xCE\x00\x58\xA0\x09\xA0\x12\x63\xCF\x00\x40\x9F\xD1\x00\x5E\xA0\x0F\xA0\x56", + "\x61\xD2\x00\x40\x9F\xD4\x00\x64\xA0\x15\xA0\x12\x63\xD5\x00\x40\x9F\xD7\x00\x6A\xA0\x1B\xA0\x25\x63\xD8\x00\x40\x9F\xDA\x00\x70\xA0\x21\xA0\x67\x64\xDB\x00\x40\x9F\xDD\x00\x76\xA0\x27\xA0\xA2\x90\x40\x9F\xE0\x00\x7C\xA0\x2D\xA0\xEF\x57\x40\x9F\xE3\x00\x7C\xA0\x33\xA0\x50\x76\x40\x9F\xE6\x00\x7C\xA0\x39\xA0\x00\x00\xE7\x00\x40\x9F\xE9\x00\x7C\xA0\x3E\xA0\xEA\x00\x40\x9F\xEC\x00\x7C\xA0\x43\xA0\xED\x00\x40\x9F\xEF\x00\x7C\xA0\xC2\x9D\xF0\x00\x40\x9F\xF2\x00\xD1\x9F\xDC\x5B\x02\x01\x52\xA0\x10\x97\x29\x97\x68\x85\x07\x98\x5F\x61\xCE\x0C\x28\x74\xB6\x9D\x51\x2B\x57\x7B\x74\x95\x59\x18\xFE\x00\xA9\xA0\x63\x89\xA3\x35\xCD\x09\x57\x7B\x7D\x95\x37\x1E\x03\x13\x06\x69\x89\x00\x1A\x9F\xEF\x82\x27\x93\x1B\x67\xB8\xA0\xA3\x07\x97\x00\xBB\xA0\x38\x93\x47\x86\xA1\x76\xBF\xA0\xC8\x7B\xC2\xA0\x92\x91\xBE\x8D\x67\x64\x2D\x00\xC6\xA0\xE6\x11\x33\x9E\xEA\x2B\x57\x7B\x39\x9E\x62\x08\x39\x00\x03\x13\x6E\x91\xB3\xA0\xCA\xA0\x76\x94\x58\x9B\xCD\xA0\x2A\x15\xCE\x00\xC8\xA0\x57\x7B\x7F\x94\x62\x08\x50\x00\xDB\xA0\x13\x17\xDC\x00\xDE", + "\xA0\x4A\x98\xF2\x69\xE3\xA0\x4D\x1D\xEA\x00\xE6\xA0\x8F\x94\x0C\x5F\x68\x00\xE9\xA0\x0C\x20\xF8\x00\xEC\xA0\xE6\x8D\x99\x62\x74\x00\xF0\xA0\x3D\x20\x66\x9E\xD0\xA0\x64\x9E\xB5\x5B\xF7\xA0\x97\x5C\x25\x0A\x23\x26\x57\x7B\xA4\x94\xD0\x0D\x8C\x00\x03\x13\x8F\x6B\x22\x00\x25\x0A\x1A\x28\x57\x7B\x74\x9E\x99\x00\xFD\xA0\x25\x23\x31\x00\xFF\xA0\xCA\xA0\x79\x98\x59\x18\xA5\x00\x0D\xA1\x6E\x22\x3F\x00\x10\xA1\x2E\x98\x8B\x93\x25\x65\xB1\x00\xD5\xA0\xDD\x75\xDB\x9E\x57\x7B\xEC\x95\x62\x08\xBC\x00\x1D\xA1\xE1\x0A\x99\x9E\xAC\xA0\x8F\x9E\x99\x62\xC7\x00\x05\xA1\xAF\x73\x25\x0A\xE7\x1E\x57\x7B\xA4\x93\xD4\x00\x2B\xA1\xBF\x78\x2D\xA1\xCA\xA0\x9F\x9E\xD9\x64\xE1\x00\x15\xA1\xFD\x5E\x87\x00\x18\xA1\x75\x71\xDC\x94\x3A\x64\xED\x00\x39\xA1\xED\x22\x95\x00\x3C\xA1\x02\x01\x57\x7B\x10\x96\x3E\x07\xF9\x00\x32\xA1\x27\x8E\x08\xA1\xCA\xA0\xB6\x9E\x65\x9E\x02\x0C\x06\x69\xB2\x00\x44\xA1\xBC\xA0\xBA\x98\x6D\x9E\x50\xA1\x40\x99\x53\xA1\xC3\xA0\xC2\x98\x25\x63\x1E\x00\x02\x0C\x8F\x6B\xCE\x00\x34\xA1\x2E\x98\xD2\x8F\x7B\x9E\x5E\xA1\xF5", + "\x86\x61\xA1\x3D\xA1\x3A\x96\x99\x62\x38\x00\x65\xA1\xE1\x0A\xEE\x00\x67\xA1\x45\xA1\xD8\x9E\xD0\x0D\x45\x00\x6C\xA1\xE6\x11\xF3\x9E\x8C\x29\x57\x7B\x41\x96\x62\x08\x52\x00\x74\xA1\x2A\x15\x04\x9F\xA1\x2B\x57\x7B\x48\x96\x17\x6A\x5F\x00\x7C\xA1\x8E\x6D\xCE\x0C\x09\xA1\xEE\x9E\x25\x63\x6C\x00\x57\xA1\xD6\x4B\x02\x0C\xAD\x01\x2C\x00\xCE\x0C\x00\xA1\xFE\x8F\x8C\x82\x8B\xA1\xF1\x4D\x8D\xA1\xFC\x1D\x90\xA1\xCA\xA0\x07\x90\xBD\x91\x94\xA1\x11\x5C\x96\xA1\x10\x03\x98\xA1\x2E\x98\x11\x90\x99\x62\x96\x00\x9C\xA1\x1F\x8D\x9E\xA1\x1C\x05\xA0\xA1\x68\xA1\x5E\x76\x6F\x67\xA5\xA1\x6D\x69\xA7\xA1\x7A\x01\xA9\xA1\x70\xA1\x58\x95\x99\x62\xB2\x00\x84\xA1\x58\x98\xAF\xA1\x01\x01\x72\x00\x86\xA1\x0F\x58\xA7\xA0\x56\x61\xC1\x00\x02\x0C\xA7\x73\x10\x58\x0F\x98\x86\x9A\xC0\xA1\x1C\x6E\xC2\xA1\x23\x9F\x3B\x62\xC3\x00\xB8\xA1\x9D\x7D\x62\x9F\xC7\xA1\x81\x91\xE4\x91\xCB\xA1\x8A\x7E\xCD\xA1\xB7\x8D\x29\xA1\xD1\xA1\x3D\x20\x83\x00\xD3\xA1\x2E\x98\x0C\x5F\xC9\x00\xD6\xA1\x69\x1D\xC1\x9F\x30\x5F\xCE\xA1\xF7\x82\x6E\x66\xC5\xA1\x0B\x97\xE1", + "\xA1\x14\x7F\xF3\x6B\xDD\xA1\x25\x23\x85\x00\xD9\xA1\x28\x82\x51\x73\xE9\xA1\x6E\x22\x86\x00\xEC\xA1\x1F\x6D\x9C\x61\xD0\x00\xEF\xA1\x3A\xA1\xF2\xA1\x32\x77\xE2\x68\xF6\xA1\xED\x22\xCE\x9F\xE0\xA1\x5E\x9E\xFF\x74\xFB\xA1\xF2\x22\x89\x00\xF8\xA1\xE0\x69\x9C\x61\xD6\x00\x01\xA2\xF0\x1F\xD0\x9F\xFE\xA1\xF5\x8D\x12\x63\xD8\x00\x02\x0C\xFA\x76\xD6\x9F\x19\x65\xE6\xA1\x74\x9E\xDB\x00\x08\xA2\x37\x01\xD8\x9F\x0B\xA2\x1A\x60\x9C\x61\xDD\x00\x16\xA2\xC5\x5C\x04\xA2\x3D\x61\x3B\x62\xDF\x00\xE4\xA1\x39\x9C\x8D\xA0\x88\x9E\x25\x63\xE0\x00\x23\xA2\x42\x9C\x25\xA2\x8E\x98\xB2\x66\x0F\xA2\x11\x6A\xCE\x0C\x15\x20\xE6\xA1\xA4\x93\xE4\x00\x2E\xA2\xE1\x0A\x92\x00\x30\xA2\xBC\xA1\xAB\x93\x20\x96\x1D\xA2\xA5\x60\x1F\xA2\xDD\x90\x17\x6A\xE9\x00\x3C\xA2\x42\x6B\x1F\xA2\x47\xA1\x8E\x04\xEB\x00\x35\xA2\xE6\x11\x97\x00\x40\x9F\xE6\xA1\x4E\xA1\x49\x27\xEE\x00\x42\xA2\xB9\x50\x1F\xA2\x3F\x8E\xF6\x8F\x50\xA2\x8C\x86\x1F\xA2\x63\xA1\x25\x65\xF2\x00\x48\xA2\x2A\x15\x9B\x00\x38\xA2\x0E\x01\xE6\xA1\x58\xA2\xD9\x64\xF5\x00\x5B\xA2\xFA\x8A\x5E", + "\xA2\x0B\x01\xE6\xA1\x34\x96\x56\x61\xF8\x00\x64\xA2\x4D\x1D\x05\xA0\x07\x63\x68\xA2\x38\x7D\xFB\x00\x6C\xA2\x81\x75\x66\xA2\x02\x01\xE6\xA1\x79\xA1\x3E\x07\xFE\x00\x73\xA2\x3D\x20\x11\xA0\x12\xA2\x50\x92\xD9\x64\x01\x00\x60\x37\xFA\x76\x13\xA0\x7E\xA2\x58\x8D\x25\x63\x04\x00\x60\x37\xD1\x0F\x89\xA2\xC5\x53\x1F\xA2\x31\x91\xD9\x64\x08\x00\x8B\xA2\xE4\x27\x91\xA2\xB4\x96\x1F\xA2\x9A\xA1\x49\x27\x0C\x00\x93\xA2\xD9\x27\x99\xA2\x01\x01\x1D\xA0\x19\xA2\x0E\x99\x56\x61\x10\x00\x9B\xA2\x39\x28\xA2\xA2\x00\x00\xAE\x00\x1F\xA2\x2E\x6F\x59\x18\x14\x00\xA4\xA2\x16\x00\xA4\xA2\x1F\xA0\x9E\xA2\xD2\x3D\x9C\x61\x18\x00\x82\xA2\xE0\x22\xA4\xA2\x23\xA0\x19\x65\xD5\x6C\x3D\x94\x59\x18\x1D\x00\x60\x37\xBC\x5E\x25\xA0\x30\x5F\xD5\x6C\xAE\xA0\xD0\x0D\x1E\x00\xBC\xA2\xA3\x07\x29\xA0\xBF\xA2\x17\x98\x3E\x07\x1F\x00\xA4\xA2\x3D\x20\xB4\x00\x8F\xA0\xBD\xA0\x59\x18\x21\x00\xCB\xA2\x69\x1D\x2F\xA0\xB7\xA2\xD4\xA1\x25\x65\x23\x00\xD2\xA2\x25\x23\x31\xA0\xD5\xA2\xDA\xA1\xAB\x7E\xD9\xA2\x6E\x22\xBA\x00\xCE\xA2\x36\x98\x2E\x87\xC4\xA2\x8A", + "\x97\x62\x9F\xD5\x6C\xD9\xA0\x17\x6A\x28\x00\xDF\xA2\xFD\x5E\xBD\x00\xE2\xA2\xED\xA1\xB9\x76\xEC\xA2\xED\x22\xBF\x00\xEF\xA2\xF3\xA1\x11\x93\xF2\xA2\xF2\x22\x41\xA0\xDC\xA2\x65\x8F\x9E\x70\xF8\xA2\xF0\x1F\xC3\x00\xF5\xA2\xB9\xA1\x3B\x62\x30\x00\xFE\xA2\x37\x01\x49\xA0\xFB\xA2\x6C\x60\xBA\x62\x32\x00\x05\xA3\x11\x56\x01\xA3\xE4\x77\x3D\x75\xB3\xA2\xE1\x0A\x55\xA0\x07\x63\xD5\x6C\x74\x9E\x37\x00\x0C\xA3\x0E\x01\x5B\xA0\x08\xA3\x9C\x6B\xBA\x62\x39\x00\x18\xA3\x2D\x5D\x0E\xA3\x20\xA2\x9C\x61\x3B\x00\xE5\xA2\xC2\x94\xE7\xA2\x26\xA2\x7E\x99\x25\xA3\x2A\x15\x63\xA0\xC7\xA2\x2C\xA2\x25\x65\x3D\x00\x11\xA3\xE6\x11\x67\xA0\x3C\x61\xD5\x6C\xA4\x93\x40\x00\x31\xA3\x26\x81\xCE\x0C\x2E\x01\xD5\x6C\x36\xA1\x3F\x9D\x1F\xA3\x01\x7F\x21\xA3\x3F\xA2\x8B\x8B\x3F\xA3\x31\x9C\x21\xA3\x45\xA2\x37\x01\x47\x00\x38\xA3\x13\x17\xDE\x00\x75\xA2\x1F\x8F\x1E\x92\x9C\x61\x4A\x00\x44\xA3\x00\x01\xE1\x00\x21\xA3\x53\xA2\x33\x66\x4C\x00\x52\xA3\x07\x69\x21\xA3\x61\xA2\x76\x7A\x4A\xA3\x4D\x1D\xE5\x00\x3A\xA3\x6B\x95\x5C\xA3\x33\x66\x51\x00\x5E", + "\xA3\x0C\x20\x90\xA0\x34\xA3\x71\xA1\x9B\x0B\x54\x00\x66\xA3\x3D\x20\x98\xA0\x69\xA3\xD2\x98\x25\x65\x57\x00\x6D\xA3\x69\x1D\xF1\x00\x61\xA3\xC9\x82\xE1\x98\x0C\x5F\x5A\x00\x74\xA3\x25\x23\xF5\x00\x4D\xA3\x39\x90\x68\x78\x0C\x5F\x5D\x00\x7C\xA3\x6E\x22\xF8\x00\x7F\xA3\x00\x00\xD5\x6C\xF5\x8F\x33\x66\x60\x00\xA4\xA2\x62\x00\xA4\xA2\xFB\x00\x21\xA3\x8E\xA2\x17\x6A\x64\x00\xA4\xA2\x66\x00\xA4\xA2\xFD\x00\x21\xA3\x96\xA2\x59\x18\x68\x00\xA4\xA2\x6A\x00\xCB\xA2\x21\xA3\xA2\xA1\x25\x65\x6C\x00\xA4\xA2\x6E\x00\xA4\xA2\x01\x00\x03\x13\xAD\x01\xD5\x6C\xA8\xA2\xD0\x0D\x70\x00\xA4\xA2\x72\x00\xA4\xA2\x03\x00\xA8\xA3\x6B\x95\x7E\x96\xD9\x64\x74\x00\x66\xA3\x77\x00\xA4\xA2\x05\x00\x03\x13\x15\x20\x36\x61\x14\x58\x0B\x9E\x84\xA3\x8F\x96\x0A\x67\xB9\xA2\xD0\x0D\x7C\x00\x2A\xA3\x13\x17\x08\x00\x03\x13\xD2\x13\x0A\x67\xC1\xA2\x9B\x0B\x7D\x00\xC6\xA3\x4D\x1D\x09\x00\xC9\xA3\x7F\x72\xB6\xA0\x24\x03\x59\xA3\x0A\x00\xB2\xA3\x55\x71\x1F\x98\xAD\x65\x59\xA3\x0C\x00\xD8\xA3\xC3\xA1\x27\x98\x67\x64\x82\x00\x59\xA3\x0E\x00\xDE\xA3\x18", + "\x93\xC9\xA0\x34\x6F\x59\xA3\x10\x00\xE5\xA3\x12\x9E\x9D\x95\x38\x79\xCF\xA3\x32\x60\xD2\xA3\xD9\xA3\x07\x7F\xD1\x6A\x59\xA3\x13\x00\xEB\xA3\x25\x8F\x35\x82\x5E\x67\x59\xA3\x15\x00\xF7\xA3\x41\x90\xD2\x87\x9C\x61\x8B\x00\x59\xA3\x17\x00\xFD\xA3\x0A\x67\x57\x9E\x6F\x79\x59\xA3\x19\x00\x04\xA4\xFF\xA1\x9C\x60\x8F\x00\x59\xA3\x1B\x00\x0A\xA4\xA0\x89\x12\x63\x91\x00\x59\xA3\x1D\x00\x10\xA4\xA6\x89\x67\x64\x93\x00\xC0\xA3\xC7\x64\xBB\xA3\x7F\x72\x74\x9E\x96\x00\x59\xA3\x22\x00\x16\xA4\x91\x74\xBA\x62\x98\x00\x59\xA3\x24\x00\x22\xA4\x01\x01\x1A\xA1\xD9\x64\x9A\x00\xEF\xA3\xF2\x65\xF1\xA3\xDF\xA3\xEB\x95\x3B\x62\x9B\x00\x2D\xA4\x1D\x66\x2F\xA4\xE6\xA3\xA4\x93\x9C\x00\x1A\xA4\xF2\x22\x28\x00\x03\x13\x2E\x01\x0A\x67\xA4\x93\x9F\x00\x3A\xA4\xF0\x1F\x2C\x00\x3D\xA4\x7F\x72\x3D\xA3\x33\x66\xA2\x00\x59\xA3\x30\x00\x28\xA4\x00\x01\x42\xA3\x49\x27\xA4\x00\x59\xA3\x32\x00\x4C\xA4\x6B\x62\x0A\x68\x42\xA4\x37\x01\x34\x00\x1C\xA4\xF2\xA3\xC1\x8F\x7D\x87\x59\xA3\x37\x00\x53\xA4\x56\xA3\x49\x27\xAB\x00\x59\xA3\xD4\xA0\x19\x65\x0A", + "\x67\x63\xA3\x49\x27\xAD\x00\x56\xA4\x48\x02\x45\xA4\x5A\xA4\x27\x96\xBA\x62\xB0\x00\x6A\xA4\xB6\x08\x6C\xA4\x30\xA4\xE0\x8F\x7A\x69\x71\xA4\x90\x1E\x73\xA4\xE6\xA3\x69\xA2\x99\x62\xB6\x00\x77\xA4\x02\x01\x47\x00\x79\xA4\xEC\xA3\x62\x8E\x0B\x9C\x7E\xA4\xEC\x6C\x59\xA4\x74\xA4\x81\xA1\xDA\x8F\x85\xA4\xC7\x3C\x87\xA4\xE6\xA3\x8A\xA3\x49\x27\xBF\x00\xA4\xA2\xC1\x00\xA4\xA2\x51\x00\x53\xA4\x92\xA3\x33\x66\xC3\x00\xA4\xA2\xC5\x00\xA4\xA2\x53\x00\x53\xA4\x9A\xA3\xD0\x0D\xC7\x00\xA4\xA2\xC9\x00\xA4\xA2\x55\x00\x53\xA4\xA1\xA3\xD9\x64\xCB\x00\xA4\xA2\xCD\x00\xA4\xA2\x57\x00\x53\xA4\xAB\xA3\x9B\x0B\xCF\x00\xA4\xA2\xD1\x00\xA4\xA2\x59\x00\x53\xA4\xB4\xA3\x13\x85\x66\xA3\xD6\x00\xA4\xA2\x5B\x00\x8D\xA4\x01\x01\x35\x58\xBE\xA3\x9C\x61\xD8\x00\x8B\xA4\x0C\x20\x45\x67\x0A\x9E\x9C\x61\xDB\x00\x34\xA4\x25\x23\x5E\x00\x36\xA4\x01\x01\xC5\xA4\x82\xA4\x67\x64\xDC\x00\xC9\xA4\x6E\x22\x5F\x00\xCC\xA4\x00\x01\xCE\xA4\x1A\x9E\x25\x63\xDD\x00\x59\xA3\x60\x00\xFD\xA3\xD7\xA4\x23\x9E\x25\x63\xDF\x00\x59\xA3\x62\x00\xDD\xA4\xD6\xA2\x37", + "\xA1\x59\xA3\x64\x00\xE4\xA4\xDD\xA2\xEF\x8F\x59\xA3\x66\x00\xE9\xA4\x7D\x71\x12\x63\xE5\x00\xD2\xA4\xFD\x5E\xEF\xA0\x30\x5F\xDE\xA4\xE9\xA2\x37\x89\x59\xA3\x69\x00\xEE\xA4\xA5\x8C\xBA\x62\xE8\x00\x59\xA3\x6B\x00\xFB\xA4\x85\x85\x21\x80\x59\xA3\x6D\x00\x01\xA5\x39\x77\x9C\x61\xEC\x00\x59\xA3\x6F\x00\x06\xA5\x6D\x8F\x12\x63\xEE\x00\x59\xA3\x71\x00\x0C\xA5\x63\x98\xD0\x0D\xF0\x00\x59\xA3\x73\x00\x0C\xA5\x02\xA1\x9B\x0B\xF2\x00\xC3\xA4\x75\x00\xBD\xA4\xD6\xA4\x36\x79\x12\x63\xF5\x00\x59\xA3\x78\x00\x0C\xA5\x12\xA1\xD0\x0D\xF7\x00\x59\xA3\x7A\x00\x0C\xA5\x2A\xA4\x17\x6A\xF9\x00\xF2\xA4\xED\x22\x7C\x00\xD5\xA4\x00\x00\xDE\xA4\x21\xA1\x3E\x07\xFA\x00\x2F\xA5\xF2\x22\x7D\x00\x32\xA5\xDE\xA4\xA4\x93\xFB\x00\xC3\xA4\x7E\x00\x81\xA4\x1F\xA5\x2E\xA3\xD9\x64\xFE\x00\xC3\xA4\x82\x00\x41\xA5\x33\xA5\xD6\x94\x12\x63\x01\x00\x28\x0E\x53\x65\x86\x00\x0C\xA5\x4E\xA4\x59\x18\x03\x00\x4D\xA5\xB7\x7B\x0C\xA5\x47\xA3\xAC\x02\x28\x0E\xFA\x76\x8A\x00\x1E\xA5\x49\xA5\xE4\x7B\x3B\x62\x08\x00\x54\xA5\xE1\x0A\x8D\x00\x0C\xA5\x60\xA4\x59", + "\x18\x0A\x00\x61\xA5\x09\x84\x0C\xA5\x67\xA4\x00\x5F\x59\xA5\xA3\x07\x91\x00\x48\xA5\xDE\xA4\x6B\xA5\xCF\x9C\x6D\xA5\xE1\x0A\x95\x00\x70\xA5\x6A\xA3\xA7\x0A\x12\x00\x74\xA5\x62\x7F\x77\xA5\x71\xA3\xD9\x64\x15\x00\x7B\xA5\x8F\x8A\x7D\xA5\x79\xA3\x9C\x60\x18\x00\x81\xA5\x13\x17\xA1\x00\x5C\xA5\xDE\xA4\x89\xA4\x49\x27\x1B\x00\x87\xA5\x4D\x1D\xA4\x00\x8A\xA5\x88\xA1\x67\x64\x1E\x00\x68\xA5\x50\x15\x96\xA5\xB5\x6A\x0C\xA5\x97\xA4\x49\x27\x22\x00\x98\xA5\xB7\x07\x9E\xA5\x33\x90\x0C\xA5\x9F\xA4\x9B\x0B\x26\x00\xA0\xA5\x28\x00\xA0\xA5\xAB\x00\x0C\xA5\xA7\xA4\x17\x6A\x2A\x00\xA0\xA5\x2C\x00\xA0\xA5\xAD\x00\x0C\xA5\xAF\xA4\xA7\x0A\x2E\x00\xA0\xA5\x30\x00\xA0\xA5\xAF\x00\x0C\xA5\xB7\xA4\x76\x89\x8F\xA5\xB6\x62\xA0\xA5\x1C\xA1\x07\x63\x4B\x58\x15\x58\xBA\x62\x37\x00\xBD\xA5\xDA\x7C\x99\x74\xDE\xA4\xF8\x9D\xBF\x94\x2B\x9B\x3C\x58\x28\x0E\xBC\x5E\xB4\x00\x32\xA5\x6D\x58\x4B\x9C\x37\x01\x3B\x00\xCE\xA5\xA6\x96\xD1\xA5\x51\x9C\x7E\x99\xD6\xA5\xE1\x0A\xB6\x00\xD8\xA5\x76\x6C\x2F\xA3\xDB\xA5\xE6\x11\xB7\x00\xDE\xA5\x7D\x6C\x99", + "\x62\x3E\x00\xE1\xA5\xC1\x77\xE4\xA5\xCC\x5F\xE4\x7E\xE8\xA5\x13\x17\xB9\x00\xEA\xA5\xB5\x81\x3B\x62\x40\x00\xED\xA5\x4D\x1D\xBA\x00\xF0\xA5\xEB\x2A\x0C\x5F\x41\x00\xF4\xA5\x0C\x20\xBB\x00\xF7\xA5\x56\x60\x9C\x60\x42\x00\xFB\xA5\x2B\x6A\xFE\xA5\xCE\x79\xA7\x0A\x43\x00\x02\xA6\x69\x1D\xBD\x00\xFE\xA5\x50\x9D\x37\x01\x44\x00\x08\xA6\xC8\x97\xFE\xA5\x56\x9D\x37\x01\x45\x00\x0F\xA6\x6E\x22\xBF\x00\xFE\xA5\x5C\x9D\x12\x04\x15\xA6\x30\x99\xFE\xA5\x54\x9A\x48\xA3\x1B\xA6\x9A\x99\xFE\xA5\x81\x9B\xD0\x0D\x48\x00\x20\xA6\xAC\x99\xFE\xA5\x6C\x9D\xD0\x1F\xFB\xA5\x4A\x00\xA0\xA5\xC3\x00\x32\xA5\xEC\x5B\x80\xA3\xBA\x62\x4C\x00\x26\xA6\xF0\x1F\xC4\x00\x2F\xA6\x96\x87\x90\x9E\x34\xA6\x06\xA3\x37\xA6\x6A\x6E\x3A\x64\x4E\x00\xA0\xA5\x10\x9B\xFD\xA3\x30\xA6\xDF\xA4\x67\x64\x50\x00\x40\xA6\x69\x1D\xC8\x00\x42\xA6\xE5\xA4\x17\x6A\x52\x00\x47\xA6\x25\x23\xCA\x00\x4A\xA6\xEA\xA4\xBB\x71\x4E\xA6\x6E\x22\xCC\x00\x51\xA6\xEF\xA4\x25\x63\x56\x00\x3A\xA6\xFE\x56\x3C\xA6\x40\x9E\x51\x82\x54\xA6\xFD\x5E\xCF\x00\x57\xA6\xFC\xA4\x3A\x64\x59", + "\x00\x60\xA6\xED\x22\xD1\x00\x63\xA6\x02\xA5\x3A\x64\x5B\x00\x67\xA6\xF2\x22\xD3\x00\x6A\xA6\x07\xA5\xBA\x62\x5D\x00\x6E\xA6\xF0\x1F\xD5\x00\x71\xA6\x0D\xA5\x25\x63\x5F\x00\x75\xA6\x37\x01\xD7\x00\x78\xA6\x13\xA5\x9B\x0B\x61\x00\x7C\xA6\xDC\x57\x78\xA6\x19\xA5\xA7\x0A\x63\x00\xC6\xA5\xEC\x9D\x5C\xA5\x43\xA6\x74\x9E\x66\x00\x83\xA6\x53\x77\x78\xA6\x26\xA5\x9B\x0B\x68\x00\x8F\xA6\x4D\x9E\x78\xA6\x2C\xA5\x33\x66\x6A\x00\x5B\xA6\xF4\x57\x5D\xA6\x99\x8F\xBA\x62\x6B\x00\x9B\xA6\x0B\x01\xE3\x00\x9D\xA6\x17\x8E\xC9\x71\x89\xA6\x74\x68\x48\xA5\x43\xA6\xA4\x93\x6F\x00\xA7\xA6\x6E\x22\xE8\x00\xA9\xA6\x4A\xA5\xF0\x78\x95\xA6\x82\x87\x78\xA6\x51\xA5\xD0\x0D\x74\x00\xB3\xA6\x48\x58\x78\xA6\x57\xA5\xC0\x4B\xAD\xA6\xFD\x5E\xF0\x00\x8B\xA6\xB3\x98\x33\x66\x79\x00\xB9\xA6\xF7\x82\x78\xA6\x65\xA5\xD0\x0D\x7B\x00\xC5\xA6\x4F\x59\x78\xA6\x72\xA5\xCD\xA3\xBE\xA6\xED\x22\xF7\x00\xB0\xA6\xCB\x8F\x59\x18\x80\x00\xD0\xA6\xF2\x22\xFB\x00\xD3\xA6\xDA\x98\x56\x61\x83\x00\xD7\xA6\x00\x23\xDA\xA6\x69\xA1\x25\x65\x86\x00\xDE\xA6\x71\x5A\x02", + "\x0C\x2E\x01\x43\xA6\x78\xA2\x8E\x04\x89\x00\xE4\xA6\xB2\x27\x73\xA2\x43\xA6\x8C\xA5\x59\x18\x8C\x00\xEC\xA6\xE4\x27\xEE\xA6\x93\xA5\xFA\x6A\xA0\xA5\x91\x00\xA0\xA5\x0D\x00\xD1\xA1\x43\xA6\x9B\xA5\x16\x6B\xA0\xA5\x95\x00\xA0\xA5\x0F\x00\xFC\xA6\x6B\x8A\x01\x68\xA0\xA5\x99\x00\xA0\xA5\x11\x00\x04\xA7\x0B\x9F\x9C\x60\x9B\x00\xA0\xA5\x9D\x00\xA0\xA5\x13\x00\x0B\xA7\x4D\x91\x57\x7F\xA0\xA5\xA1\x00\xA0\xA5\x15\x00\x13\xA7\x9B\x8E\x8A\x63\xBD\xA5\xA6\x00\xA0\xA5\x17\x00\x73\xA2\x58\x61\x00\x01\xC3\xA5\xA2\x80\xF3\xA6\xE6\x11\x54\x6B\xC3\xA3\x9B\x0B\xAB\x00\xA1\xA6\x52\x1E\x29\xA2\xED\xA3\x6D\xA4\xB2\x94\x2C\xA7\xD3\x22\x2E\xA7\xE2\xA1\x3D\xA6\x1C\xA0\xCB\xA6\x1C\x00\xD1\xA1\x54\x6B\x85\x95\x62\x93\xCB\xA6\x5D\xA1\x19\x65\x54\x6B\x57\x90\x33\x66\xB1\x00\xCB\xA6\x20\x00\x3A\xA7\xCA\xA0\xCA\x84\xCB\xA6\x22\x00\x47\xA7\xE3\xA2\x99\x62\xB5\x00\x32\xA7\xB7\x07\x34\xA7\x3F\x93\x5E\xA6\x73\x92\xCB\xA6\x25\x00\x4C\xA7\xF0\xA2\xBF\x8D\xCB\xA6\x27\x00\x58\xA7\xF6\xA2\x3A\x64\xBA\x00\xCB\xA6\x29\x00\x5D\xA7\xF9\xA1\x9C\x61\xBC", + "\x00\xCB\xA6\x2B\x00\x63\xA7\x5A\x98\x26\x91\xCB\xA6\x2D\x00\x69\xA7\x62\x98\x3B\x62\xC0\x00\xCB\xA6\x2F\x00\x6E\xA7\x86\xA6\x62\x08\xC2\x00\x26\xA7\x92\x1E\x73\xA2\x54\x6B\x74\x9E\xC5\x00\xCB\xA6\x34\x00\x6E\xA7\x92\xA6\xA7\x0A\xC7\x00\xCB\xA6\x36\x00\x6E\xA7\x98\xA6\x49\x27\xC9\x00\x50\xA7\x46\x5E\x52\xA7\x54\x6B\x35\xA5\x8E\x04\xCA\x00\x8A\xA7\x39\x00\x8C\xA7\x28\xA1\x25\x65\xCB\x00\x78\xA7\x01\x01\x3A\x00\xE6\xA6\x76\x75\xA4\x93\xCE\x00\x97\xA7\x55\x35\x9A\xA7\x99\x86\x47\xA4\x49\x27\xD1\x00\xCB\xA6\x42\x00\x6E\xA7\xB6\xA6\x9B\x0B\xD3\x00\xCB\xA6\x44\x00\x6E\xA7\xBC\xA6\x9E\x57\x9E\xA7\x45\x1D\x7A\xA7\xC2\xA6\x49\x27\xD8\x00\xCB\xA6\x49\x00\x6E\xA7\xC8\xA6\x9B\x0B\xDA\x00\xCB\xA6\x4B\x00\x6E\xA7\xCE\xA6\xA7\x0A\xDC\x00\xB0\xA7\x4D\x00\xA0\xA7\x58\xA6\x6E\xA4\x3A\x64\xDF\x00\xB0\xA7\x51\x00\xC4\xA7\xE7\x58\xDB\xA6\x99\x62\xE2\x00\xB0\xA7\x55\x00\xCB\xA7\x2F\xA7\xCD\xA7\x25\x65\xE5\x00\xB0\xA7\x59\x00\xD2\xA7\x35\xA7\x84\xA5\x56\x61\xE8\x00\xB0\xA7\x5D\x00\xB2\xA7\x81\xA3\x44\x97\xB0\xA7\x60\x00\xE0\xA7\x65", + "\x8B\x0E\x75\xA0\xA5\xF0\x00\xA0\xA5\x63\x00\x6E\xA7\xFE\xA6\xD0\x0D\xF2\x00\xA0\xA5\xF4\x00\xA0\xA5\x65\x00\x6E\xA7\xA3\xA5\xA7\x0A\xF6\x00\xA0\xA5\xF8\x00\xA0\xA5\x67\x00\x6E\xA7\xAB\xA5\x33\x66\xFA\x00\xA0\xA5\xFC\x00\xA0\xA5\x69\x00\x6E\xA7\xB3\xA5\x62\x08\xFE\x00\xA0\xA5\x00\x00\xD4\x38\xAD\x01\x6B\x00\x6E\xA7\xBB\xA5\x49\x27\x02\x00\xD4\x38\x15\x20\x05\x00\x0A\xA8\x1E\x46\x73\xA2\x67\x61\x02\x01\x24\xA7\x87\x70\x11\xA8\x1C\x6E\x4D\x59\x19\xA8\x25\x63\x0A\x00\x14\xA8\x0B\x97\x75\x61\x4E\xA3\x3A\x64\x0C\x00\x21\xA8\xE6\x11\x70\x00\x52\xA7\x23\xA8\xF8\xA3\x25\x63\x0E\x00\x27\xA8\xF4\x76\x2A\xA8\xC8\xA2\x8E\x04\x10\x00\x1B\xA8\xE1\x0A\x72\x00\xD1\xA1\x2B\xA8\x44\xA6\x0C\x5F\x13\x00\x35\xA8\x14\x95\x38\xA8\x4B\xA6\x33\x66\x16\x00\x3D\xA8\x2A\x15\x76\x00\x3F\xA8\x52\xA6\x25\x65\x19\x00\x43\xA8\x13\x17\x78\x00\x46\xA8\xC5\xA7\x0C\x9F\x2F\xA8\x13\x17\x7A\x00\x31\xA8\x50\x8F\xD9\x64\x1E\x00\x4A\xA8\x4D\x1D\x7B\x00\x4D\xA8\x64\xA6\x12\x63\x21\x00\x57\xA8\x0C\x20\x7D\x00\x5A\xA8\x6B\xA6\xA9\x76\x5E\xA8\x3D\x20\x7F", + "\x00\x61\xA8\x72\xA6\xB1\x76\x64\xA8\x69\x1D\x81\x00\x67\xA8\x79\xA6\x67\x64\x2A\x00\x6A\xA8\xDF\x91\x6D\xA8\x80\xA6\xA7\x0A\x2D\x00\x71\xA8\x6E\x22\x85\x00\x6D\xA8\x75\xA7\x6F\x5A\xD4\x38\x56\x9D\x87\x00\x73\xA2\x39\xA8\x74\x9E\x34\x00\x77\xA8\xF0\x81\x6D\xA8\x81\xA7\x62\x08\x37\x00\x84\xA8\x04\x82\x6D\xA8\x87\xA7\x59\x18\x3A\x00\x50\xA8\x25\x72\x53\xA8\x11\x8E\x97\x78\x90\xA8\x29\x84\x92\xA8\xCB\x3C\x38\x7D\x3E\x00\x7D\xA8\xA3\x07\x90\x00\xD9\xA7\x00\x00\x39\xA8\xA4\x93\x42\x00\x9B\xA8\xE1\x0A\x94\x00\x9E\xA8\x39\xA8\xA2\xA7\x59\x18\x46\x00\x8A\xA8\xF2\x22\x98\x00\x6D\xA8\xA8\xA7\xA7\x0A\x49\x00\xAB\xA8\xF0\x1F\x9A\x00\x6D\xA8\xAE\xA7\x98\x3B\xA3\xA8\xE6\x11\x9C\x00\x80\xA8\xB3\xA7\x59\x18\x50\x00\xB2\xA8\x52\x8B\x6D\xA8\xB9\xA7\xA7\x0A\x53\x00\xBF\xA8\xAE\x07\x6D\xA8\xBF\xA7\x62\x08\x56\x00\xB8\xA8\x2A\x15\xA3\x00\xA6\xA8\x2E\x96\xB6\x8B\xCB\xA8\x13\x17\xA7\x00\xCE\xA8\x7E\xA5\x17\x6A\x5E\x00\xD1\xA8\x87\x80\xD4\xA8\xD4\xA7\xD9\x64\x62\x00\xD8\xA8\x0C\x20\xAF\x00\xDA\xA8\x6A\x88\x9C\x60\x66\x00\xDE\xA8\x3D", + "\x20\xB3\x00\xBB\xA8\xE1\xA7\x1C\x81\xE5\xA8\xD3\xA2\xE8\xA8\xE6\xA7\x12\x63\x6E\x00\x5E\xA8\x71\x00\x95\xA8\xB9\x00\x6D\xA8\xED\xA7\x9B\x0B\x73\x00\x5E\xA8\x76\x00\x95\xA8\xBB\x00\x6D\xA8\xF5\xA7\x62\x08\x78\x00\x5E\xA8\x7B\x00\x95\xA8\xBD\x00\x6D\xA8\xFD\xA7\x49\x27\x7D\x00\x5E\xA8\x80\x00\x95\xA8\xBF\x00\x6D\xA8\x05\xA8\x3E\x07\x82\x00\x5E\xA8\x85\x00\x95\xA8\xBF\xA1\x19\x65\x39\xA8\x0E\xA8\x59\x18\x87\x00\xDE\xA8\x8B\x00\x95\xA8\xCA\xA1\x07\x63\x82\x61\xC6\xA4\xBA\x62\x8D\x00\xD4\x38\xD6\x9A\x52\xA7\x1F\xA9\xCF\xA4\x0C\x5F\x8E\x00\x23\xA9\xA3\x07\xC7\x00\x25\xA9\x32\xA8\x37\x01\x8F\x00\x95\xA8\x29\x9B\xD1\xA1\x26\xA9\x53\x94\x67\x64\x91\x00\x31\xA9\x33\x6A\x33\xA9\x40\xA8\x49\x27\x93\x00\x38\xA9\x86\x83\x3A\xA9\x47\xA8\xD9\x64\x95\x00\x3E\xA9\x6E\x22\xCE\x00\x40\xA9\x4E\xA8\x0F\x91\x2A\xA9\xEF\x86\x2D\xA9\x54\xA8\x17\x6A\x98\x00\x44\xA9\xFD\x5E\xD1\x00\x47\xA9\x5B\xA8\x25\x63\x9A\x00\x50\xA9\xED\x22\xD3\x00\x53\xA9\x62\xA8\x25\x63\x9C\x00\x57\xA9\xF2\x22\xD5\x00\x5A\xA9\x68\xA8\x12\x63\x9E\x00\x5E\xA9\xF0", + "\x1F\xD7\x00\x61\xA9\x6E\xA8\xE9\x65\x65\xA9\x37\x01\xD9\x00\x68\xA9\x74\xA8\x62\x08\xA2\x00\x6B\xA9\xE1\x57\x68\xA9\x7B\xA8\x8E\x04\xA4\x00\xC5\xA8\x56\x82\x73\xA2\x34\xA9\xD4\x86\x49\x86\x72\xA9\x2F\x9E\x68\xA9\x87\xA8\x3E\x07\xA9\x00\x7E\xA9\xF7\x57\x68\xA9\x8D\xA8\xD0\x0D\xAB\x00\x4A\xA9\xE6\x11\x34\xA2\x30\x5F\x7B\xA9\x8E\xA7\x37\x01\xAC\x00\x8A\xA9\x2A\x15\xE5\x00\x4C\xA9\x14\x88\x1C\xA0\x78\xA9\x4B\x6B\x9E\xA8\x7B\xA9\xA4\x93\xB0\x00\x98\xA9\x02\x01\xEA\x00\x9A\xA9\xB1\xA6\x67\x64\xB3\x00\x84\xA9\x46\x58\x68\xA9\xAF\xA8\x62\x08\xB5\x00\xA5\xA9\x8C\x58\x68\xA9\xB6\xA8\x01\x01\xB7\x00\x9E\xA9\x01\x01\x5A\xA2\x1E\xA9\xBC\xA8\xAB\x6D\xAB\xA9\x41\x59\x68\xA9\xC2\xA8\x22\xA1\xB7\xA9\x00\x00\xF7\x00\x68\xA9\xC8\xA8\x3E\x07\xBE\x00\xB1\xA9\xF9\x5B\xA1\xA9\xD4\xA6\xD0\x0D\xC1\x00\xC3\xA9\xDA\x59\xC5\xA9\xDB\xA8\x17\x6A\xC4\x00\xC9\xA9\x81\xA2\x3C\x61\x7B\xA9\x7B\xA4\x25\x65\xC7\x00\xC9\xA9\x05\x00\x60\x37\x2E\x01\x7B\xA9\xE9\xA6\x37\x01\xCA\x00\xC9\xA9\x09\x00\x66\xA3\x7B\xA9\xF0\xA6\xD0\x0D\xCD\x00\xC9\xA9\x98", + "\xA2\xB4\xA9\x86\xA2\x52\x78\x95\xA8\xD2\x00\x95\xA8\x0F\x00\xA4\xA2\x7B\xA9\xF6\xA8\xA7\x0A\xD4\x00\x95\xA8\xD6\x00\x95\xA8\x11\x00\xEE\xA9\x05\xA7\xBA\x62\xD8\x00\x95\xA8\xDA\x00\x95\xA8\x13\x00\xF7\xA9\x0C\xA7\x56\x61\xDC\x00\x95\xA8\xDE\x00\x95\xA8\x15\x00\xFF\xA9\x14\xA7\xAB\x66\x95\xA8\xE2\x00\x95\xA8\x17\x00\x07\xAA\x1B\xA7\x56\x61\xE4\x00\x5E\xA8\xE7\x00\x95\xA8\x19\x00\x66\xA3\xFA\x5B\x87\x7D\x3B\x62\xE9\x00\xC9\xA9\x3D\x20\x17\xAA\x85\x96\x3B\x62\xEC\x00\xDE\xA8\xF0\x00\x92\xA9\xD5\x7A\x77\x59\xFF\x9D\xDA\x7C\xAA\x59\x7C\x61\xC6\x72\x23\xAA\xFC\x9D\x9F\x59\x02\x01\x90\x61\xA1\x67\x95\xA8\xF4\x00\x2B\xAA\x0C\x20\x9E\x61\x10\x93\x94\x93\xC9\xA9\x1C\x00\xA4\xA2\x35\xAA\xE6\xA3\x81\x61\xC9\xA9\xC3\xA2\x6A\x97\x2E\xA9\x86\x59\xEB\xA8\x25\x23\x20\x00\x66\xA3\x3B\xAA\xCF\xA1\x90\x60\x43\xAA\x62\x61\x46\xAA\x3B\xA9\x52\xA5\xD0\x0B\x56\x9D\x26\x00\x4C\xAA\x41\xA9\x17\x6A\x07\x00\x4F\xAA\xB5\x83\x52\xAA\x48\xA9\xEE\x8D\xD0\x0B\xFA\x76\x2C\x00\x3A\xAA\x70\x90\xFD\x8A\x56\xAA\xE1\x0A\x2E\x00\x58\xAA\x54\xA9\x67", + "\x64\x12\x00\x61\xAA\x5A\x70\x64\xAA\x5B\xA9\x67\x64\x16\x00\x68\xAA\xFA\x5D\x6A\xAA\x62\xA9\x25\x63\x1A\x00\x6E\xAA\x13\x17\x17\xA3\x07\x63\x47\xAA\x6A\xA7\xBA\x62\x1E\x00\x74\xAA\x4D\x1D\x3A\x00\x70\xAA\x6F\xA7\x9C\x61\x22\x00\x7C\xAA\x0C\x20\x30\xA3\x77\xAA\x6C\x9E\x99\x62\x26\x00\xD0\x0B\x50\x9D\x37\xA3\x3C\x61\x78\xAA\x7C\xA9\xBA\x62\x2B\x00\x83\xAA\x3D\x20\x44\x00\x7F\xAA\x81\xA9\x8E\x04\x2F\x00\x92\xAA\x69\x1D\x49\xA3\x86\xAA\xB8\x94\x9A\x74\x5B\xAA\xA3\x07\x51\xA3\x40\xAA\x86\x98\x9C\x60\x36\x00\x9F\xAA\xB7\x98\x5E\xAA\x43\xA5\x0E\x82\x8A\xAA\xA3\x07\x4E\x00\x60\x37\x8B\x0C\x8E\xAA\xA4\x93\x3E\x00\xAB\xAA\xE1\x0A\x53\x00\xAE\xAA\xC3\x59\xA2\xA9\x0C\x5F\x43\x00\x99\xAA\x25\x23\x58\x00\x7F\xAA\xA8\xA9\x6B\x9B\xBB\xAA\x6E\x22\x5B\x00\x7F\xAA\xAE\xA9\x85\x5D\xB3\xAA\xE6\x11\x5E\x00\xD8\xA9\xB7\xAA\x5E\xA5\x03\x65\xC1\xAA\xFD\x5E\x8E\xA3\x9C\xAA\x1F\x96\x12\x63\x54\x00\xCE\xAA\xED\x22\x65\x00\x7F\xAA\xC0\xA9\x8E\x04\x58\x00\xC7\xAA\x40\x98\xB6\xAA\x0E\x01\x8E\xAA\xD9\xAA\xA7\x85\xDC\xAA\x9E\x76\xDE\xAA\x0B", + "\x01\x8E\xAA\xD3\xA9\xDC\xA8\xE3\xAA\x35\x73\xE5\xAA\xC2\x92\x78\xA5\x62\x08\x67\x00\xEA\xAA\x4D\x74\xEC\xAA\x01\x01\x8E\xAA\xDB\xA9\xD9\x45\xF1\xAA\x99\x94\xCA\xAA\xDF\xAA\x7F\xA2\xC5\x6C\xF8\xAA\xB2\x72\xFA\xAA\xE6\xAA\xF6\xA6\x9C\x60\x76\x00\x83\xAA\x7A\x00\xD0\x0B\xAD\x01\x84\x00\x7F\xAA\xF0\xA9\x62\x08\x7C\x00\x83\xAA\x80\x00\x07\xAB\x3B\x7F\x7F\xAA\xFE\xA8\x0F\xA9\x83\xAA\x86\x00\x10\xAB\x2F\x06\x7F\xAA\x06\xA9\x79\x60\x83\xAA\x8C\x00\x17\xAB\xC6\x69\x7F\xAA\x0E\xA9\x8E\x04\x8E\x00\x83\xAA\x92\x00\x1E\xAB\x02\x01\x90\x00\x7F\xAA\x17\xA9\xD0\x0D\x94\x00\xF1\xAA\x99\x00\x26\xAB\x99\x84\x00\xAB\x1E\x99\xBD\xA1\x99\x62\x9B\x00\x2F\xAB\x4D\x1D\x97\x00\xA4\xA2\xAB\x61\x74\xA4\xC4\x79\x36\xAB\x0C\x20\x99\x00\x39\xAB\x41\xAA\x91\x52\xA6\xAA\xE6\x11\x33\xA4\x07\x63\x3A\xAB\xDA\xA3\x56\x61\xA2\x00\x43\xAB\xDD\x87\x66\xA3\x47\xAB\xE0\xA3\x6A\x84\x4B\xAB\x88\xA5\x4D\xAB\x48\xA7\x82\x84\x51\xAB\x90\xA5\x53\xAB\x4D\xA7\x25\x65\xAB\x00\x3D\xAB\x7C\xA2\x40\xAB\x4D\xA9\x33\x66\xAD\x00\x56\xAB\x0C\x20\xA9\x00\x58\xAB\x59", + "\xA7\x58\x7B\x62\xAB\x3D\x20\xAC\x00\x65\xAB\x5E\xA7\x28\xA0\x68\xAB\x69\x1D\xAF\x00\x6B\xAB\x64\xA7\xA0\x7D\x6E\xAB\x25\x23\xB2\x00\x71\xAB\x79\xAA\x3A\x64\xB9\x00\x74\xAB\xB5\x94\x77\xAB\x80\xAA\xBA\x62\xBC\x00\x7B\xAB\xEE\x68\x7D\xAB\x75\xA9\x37\x01\xBF\x00\xD5\xAA\xF2\x22\xBB\x00\x31\xAB\x01\x01\x4E\xAB\x5B\x79\xC9\xA1\x81\xAB\xF3\xA2\x7D\xAB\x96\xAA\x37\x01\xC6\x00\x8F\xAB\xAC\x99\x7D\xAB\x87\xA9\x9B\x0B\xC9\x00\x5C\xAB\x69\x1D\x9B\xA4\x19\x65\x8C\xAB\x0C\x6A\x6E\x66\x9B\xAB\x25\x23\xA1\xA4\x9E\xAB\x94\xA7\xD9\x64\xCD\x00\x87\xAB\xF0\x1F\xA3\xA4\xED\x5F\x96\x7D\xA6\xAB\x17\x6A\xD1\x00\xA9\xAB\x37\x01\xCE\x00\xF3\xAA\xAD\xAB\x3A\xA2\x6C\xA0\x95\xAB\xF0\x1F\xD3\x00\x7D\xAB\xBF\xAA\x8E\x04\xD8\x00\xB8\xAB\x37\x01\xBA\xA4\x46\xAB\xE3\x94\x18\x96\xB1\xAB\xDC\x57\x8A\xAB\xB5\xAB\x4F\xA3\xBA\x62\xDF\x00\xBF\xAB\xE5\x57\x7D\xAB\xBA\xA9\x3E\x07\xE2\x00\xCC\xAB\x2F\x9E\x7D\xAB\xE1\xAA\xAE\x9A\xC5\xAB\xF9\x57\xB4\xAB\xF2\x9E\xCF\xA8\x62\x08\xE9\x00\xD7\xAB\x14\x58\xD9\xAB\x9F\xAB\xE8\xAA\x17\x6A\xED\x00\xDE\xAB\xCD", + "\x71\xE0\xAB\xEE\xAA\x3E\x07\xF1\x00\xE5\xAB\xB2\xA9\xE7\xAB\xDF\x9E\x33\x66\xF5\x00\xEB\xAB\x00\x01\x28\xA5\x3C\x61\x9F\xAB\xE2\xA9\x9B\x0B\xF9\x00\xF1\xAB\x26\x7C\xC7\xAB\xDA\xAB\xE8\xA9\x6E\x6B\x62\xAB\x54\xA4\x18\x60\x1C\x01\x7D\xAB\x0B\xAB\x3E\x07\x02\x00\xE8\x1F\x12\xA8\xE8\x1F\x6F\x23\xBD\xA5\x9F\xAB\x13\xAB\x8E\x04\x07\x00\x07\xAC\xD5\x27\x09\xAC\x58\xA5\xC2\xAB\x00\xAA\xDE\x92\x10\xAC\x62\x28\x12\xAC\x3D\x28\x0B\xAC\x14\x9F\x9C\x60\x11\x00\x17\xAC\x0E\x28\x19\xAC\x5D\x28\x1B\xAC\xB3\xA1\x25\x65\x16\x00\xE8\x1F\x2E\x01\x1A\x00\x21\xAC\xD9\x27\x28\x0E\x41\x01\x0B\x5A\x12\x63\x1C\x00\x1F\xAC\x2A\xA2\xAD\x1F\x04\x00\xF9\x6A\x9C\x60\x1F\x00\x27\xAC\xE8\x30\xE8\x1F\xD4\x5E\xAC\x02\x35\xAC\x56\x61\x24\x00\x38\xAC\x84\x61\x3A\xAC\xAC\x07\x47\x23\x3D\xAC\x99\x62\x29\x00\x40\xAC\xF4\x09\x42\xAC\x9A\x5D\xE2\x08\x29\xA7\xB4\xA5\x2A\xAC\x13\x17\x7A\xA5\x19\x65\x4D\x62\xCC\xA3\xA7\x0A\x30\x00\x4F\xAC\x69\x5E\x08\xA8\xE2\x08\xD4\xA3\xC7\x67\x31\xAC\x13\x17\x16\x00\xBD\xA5\x4D\x62\x3C\xA7\x6D\x68\x5D\xAC\x4D\x1D\x19", + "\x00\x60\xAC\xE2\x08\x42\xA7\x49\x27\x38\x00\x64\xAC\x0C\x20\x1C\x00\x67\xAC\x53\xAA\x33\x66\x3B\x00\x6C\xAC\x89\x95\x6F\xAC\x59\xAA\xE6\xA5\x57\xAC\x0C\x20\x9D\xA5\x52\xAC\xE2\x08\xF7\xA4\x49\x27\x40\x00\x73\xAC\x69\x1D\x24\x00\x75\xAC\x65\xAA\xB9\xAA\x80\xAC\x25\x23\x27\x00\x83\xAC\x6B\xAA\x0C\x5F\x46\x00\x86\xAC\x0B\x93\x89\xAC\x71\xAA\x67\x64\x49\x00\x8D\xAC\xFD\x5E\x2D\x00\x8F\xAC\x69\xA9\x11\x95\x93\xAC\xED\x22\xB7\xA5\x07\x63\x4D\x62\x6F\xA9\x3E\x07\x4F\x00\x99\xAC\x69\x67\x96\xAC\x84\xAB\x97\x3E\x48\xAC\x2A\x15\x36\x00\x2C\xAC\x80\x5B\x44\x79\x3B\x62\x56\x00\xA1\xAC\xF0\x1F\x3A\x00\x96\xAC\x92\xAB\xE8\x3F\xAE\xAC\x37\x01\x3D\x00\x96\xAC\x98\xAB\xA7\x0A\x5C\x00\x78\xAC\x3D\x20\xF3\xA5\x7B\xAC\xA3\xAA\x56\x61\x5E\x00\xBB\xAC\x69\x1D\x01\xA6\xBE\xAC\x96\xA9\x25\x63\x60\x00\xA6\xAC\x13\x17\x0E\xA6\xAC\xAB\x46\x62\xC9\x7D\xCD\x7B\xC9\xAC\x92\x72\x28\x0E\x8B\x0C\x4D\x62\xA8\xA8\xD0\x0D\x68\x00\xB4\xAC\x99\x3C\x96\xAC\xBC\xAB\x37\x01\x6B\x00\xD8\xAC\x70\x8D\x96\xAC\xC5\xAA\x5A\x46\xD0\xAC\x0C\x20\x54\x00\xA9", + "\xAC\xC0\x5E\x4D\xA2\x59\x18\x72\x00\xDE\xAC\x76\x3F\x96\xAC\xCF\xAB\x8E\x04\x75\x00\xEB\xAC\xE4\x03\x96\xAC\xD5\xAB\xD6\x4B\xE3\xAC\x3D\x20\x5E\x00\xD2\xAC\xAA\xAC\x5B\xA1\x67\x64\x7C\x00\xF6\xAC\x21\x71\xF9\xAC\xC0\x5E\xE2\xAB\x33\x66\x80\x00\xFE\xAC\x25\x23\x94\xA6\xCC\xAC\x4D\x62\x02\xAD\x5E\x60\x05\xAD\xCE\x76\x00\xAD\x56\x27\xF6\xAA\x28\x4E\x0C\xAD\xFD\x5E\x72\x00\xE6\xAC\x56\x27\xF6\xAB\xA7\x0A\x8C\x00\x12\xAD\xED\x22\x76\x00\x15\xAD\xCD\x5E\x8F\xA4\x59\x18\x90\x00\x6C\xAC\x93\x00\x78\xAC\x7A\x00\x96\xAC\x04\xAC\x8E\x04\x95\x00\x6C\xAC\x98\x00\x78\xAC\x7D\x00\x96\xAC\x0D\xAC\x37\x01\x9A\x00\x6C\xAC\x9D\x00\x78\xAC\xD6\xA6\x9C\xAC\xE2\x08\x1A\xAB\xD0\x0D\x9F\x00\x6C\xAC\xA2\x00\x78\xAC\xDD\xA6\x36\xAD\x75\x96\xD9\x64\xA4\x00\x6C\xAC\xA7\x00\x78\xAC\xE3\xA6\x3F\xAD\x62\x8A\xFB\x65\xE3\xAC\xAD\x00\x78\xAC\xEB\xA6\x3C\x61\x49\x5A\xEB\x59\x30\x76\xF1\xAC\x13\x17\x4F\xAD\x7B\x06\x45\xAC\x25\x65\xB2\x00\xE3\xAC\xB6\x00\x4A\xAC\xE6\x11\x54\xAD\x4C\x10\x56\xAD\xD9\x64\xB7\x00\xE3\xAC\xBB\x00\x5B\xAD\x2A\x15\x5D", + "\xAD\xD8\x61\x65\xA7\xE3\xAC\xC0\x00\x64\xAD\x13\x17\xBC\x61\x36\xAA\x01\x72\xC2\xAC\x25\x23\x8D\x00\xA0\xA5\x6D\xAD\x3C\xAA\x9C\x60\xC3\x00\x70\xAD\x47\x84\x73\xAD\x5A\xAC\x3B\x62\xC5\x00\x52\xAD\x4D\xA4\xBD\xA5\x74\xAD\x48\xAA\x9C\x60\xC8\x00\x7E\xAD\x00\x00\x94\x00\x80\xAD\x68\xAC\x6E\x66\x85\xAD\x97\x00\x88\xAD\x70\xAC\x77\x7F\x85\xAD\x9A\x00\x8D\xAD\x76\xAC\xFB\x88\x78\xAD\xCD\x8A\x7A\xAD\x5F\xAB\x75\x95\x85\xAD\x9F\x00\x92\xAD\x84\xAC\x9C\x60\xD6\x00\x85\xAD\xA2\x00\x9C\xAD\x8A\xAC\x9C\x60\xD9\x00\x85\xAD\xA5\x00\xA2\xAD\x90\xAC\x0C\x5F\xDC\x00\x85\xAD\xA8\x00\xA8\xAD\x97\xAC\x56\x61\xDF\x00\x85\xAD\x2B\xA7\x07\x63\x81\xAD\x05\xA2\xBA\x62\xE2\x00\x85\xAD\xAE\x00\xAE\xAD\xA4\xAC\x06\x58\x1A\xAD\xF2\x22\x44\xA7\x3C\x61\xB5\xAD\x8F\xAA\x3A\x64\xE9\x00\x85\xAD\x4F\xA7\xB4\xAD\xE2\x08\xB2\xAC\x34\x58\x85\xAD\xB8\x00\xAE\xAD\xB8\xAC\x62\x08\xEF\x00\x95\xAD\xED\x22\xBB\x00\x97\xAD\x93\xA8\x12\x63\xF1\x00\xD2\xAD\xF2\x22\xBD\x00\xD5\xAD\x98\xA8\x22\x72\xBE\xAD\xF0\x1F\xBF\x00\x0E\xAD\x6A\x24\xE2\x08\xA4\x93\xF7", + "\x00\xDF\xAD\x37\x01\xC4\x00\xE2\xAD\x69\x27\xE2\x08\xD5\xAC\x9B\x0B\xFB\x00\x85\xAD\x89\xA7\xC8\xAD\x2B\x8E\x3A\x64\xFE\x00\x85\xAD\xCC\x00\xAE\xAD\xE1\xAC\x01\x00\xF6\x1E\x56\x9D\xCF\x00\x1D\xAD\xEB\xAD\xCC\xAA\x43\x7A\xF6\x1E\xFA\x76\xAA\xA7\xF2\xAD\xD2\xAA\x25\x63\x08\x00\x02\xAE\xA3\x07\xD6\x00\xAE\xAD\xF4\xAC\x5D\x28\xFB\xAD\xA3\x07\xD9\x00\xEA\xAD\xB5\x61\xE2\x08\x0D\xAE\xE1\x11\x0F\xAE\xE1\x0A\xDE\x00\x12\xAE\x67\x1D\xE2\x08\x0A\xAD\x59\x18\x13\x00\x17\xAE\xE6\x11\xE3\x00\x1A\xAE\xC2\xAD\x1D\xAE\xD0\x0D\x17\x00\x20\xAE\x2A\x15\xDD\xA7\xCC\xAC\xC2\xAD\x10\xAD\xA7\x22\x28\xAE\xD2\x94\xFE\xAD\x13\xAE\xE9\xA8\x99\x62\x1F\x00\x2F\xAE\x4D\x1D\xF1\x00\x31\xAE\x1B\xAE\xFD\xAB\xCB\x81\x09\xAE\xF0\x02\xF6\x1E\xAD\x01\xF5\x00\xAE\xAD\x27\xAD\x37\x01\x28\x00\x3D\xAE\x0B\x01\x2B\x00\x3F\xAE\x77\x59\xAE\xAD\x2F\xAD\x3B\x03\x46\xAE\xD0\x06\x49\xAE\x8C\x59\xAE\xAD\x38\xAD\x9B\x0B\x32\x00\x4E\xAE\x6D\x68\x50\xAE\x0B\x01\x07\xA8\x05\xAE\x92\x8E\x19\x93\x56\xAE\xC4\x64\x58\xAE\x03\x23\x5E\xA8\x24\xAE\x3B\x62\x3C\x00\x36", + "\xAE\x11\x36\x60\xAE\xDB\x08\xDE\xA8\x03\x00\xE2\x08\xE4\x59\x0C\x5F\x42\x00\x5E\xAE\xEA\x76\xF0\x1F\x6B\xAE\x7D\x03\x5F\xAD\x2C\x83\x66\xAE\x49\x00\xF6\x1E\x2A\x5F\xE2\x08\xD1\x61\x50\xA3\x66\xAE\x4E\x00\x79\xAE\x39\x5F\xE2\x08\x06\x00\x75\xAE\x33\x66\x4F\x00\x66\xAE\x53\x00\x80\xAE\x4D\x5F\xE2\x08\x9F\xAB\xCA\xA5\xE0\x05\xB6\x5F\x8D\xAE\xA8\x27\x4A\x5A\x84\xAE\x05\x9E\x2C\xAA\xAF\x27\x6C\xAE\x7C\x6E\x89\xAE\x24\xA2\xDF\x61\x55\xAD\x9C\x61\x55\x00\x68\xAE\x44\x3F\x99\xAE\x2A\x15\x9B\xAE\x5E\xAD\x96\x6E\x9F\xAE\x3D\x40\xA1\xAE\x13\x17\xA3\xAE\x67\xAD\xBA\x62\x5B\x00\xA6\xAE\x5D\x00\xA8\xAE\x4D\x1D\xE5\x61\x78\xA3\x3A\x64\x5E\x00\x66\xAE\x3D\x20\x08\x00\x5E\xA8\xB2\xAE\x3B\xAB\x9C\x60\x62\x00\xB6\xAE\xEA\x9E\xB9\xAE\x7B\xAD\x3A\x65\xF6\x1E\x50\x9D\x2E\xA8\x3C\x61\xBA\xAE\x48\xAB\x9B\x6C\xC3\xAE\xC9\x62\xDE\xA8\xC7\xAE\x4F\xAB\x9C\x60\x70\x00\xCA\xAE\xC3\x93\xCC\xAE\xE2\x08\x31\x9E\xD0\x0D\x75\x00\xD1\xAE\xE6\x11\x1A\x00\xD3\xAE\x59\xAB\xD9\x64\x7A\x00\xBE\xAE\xAF\x64\xC0\xAE\x98\xAD\x59\x18\x7E\x00\xD8\xAE\x2A", + "\x15\x5D\xA8\xC6\xAE\xE2\x08\xE0\xA0\x3E\x07\x83\x00\xE5\xAE\xFE\x5D\xDB\xAE\xFF\xA3\xD7\x6A\xED\xAE\x4D\x1D\x29\x00\xEF\xAE\x8C\x85\x99\x88\xF2\xAE\x0C\x20\x76\xA8\xE8\xAE\xE1\x87\x67\x64\x92\x00\xF8\xAE\x3D\x20\x31\x00\xF5\xAE\xB6\x80\x01\x68\xFF\xAE\x69\x1D\x35\x00\x02\xAF\x0F\xA3\x9B\x80\xF6\x1E\x4E\x9A\x39\x00\xD4\x38\x8B\x0C\xCD\xAE\x8D\xAB\xC1\x68\x05\xAF\x25\x23\x9A\xA8\xFB\xAE\x1A\xA2\xBA\x62\xA7\x00\x13\xAF\x6E\x22\xA2\xA8\x16\xAF\x0A\x8E\xBA\x62\xAC\x00\xDF\xAE\x95\x90\xE1\xAE\xD6\xAD\x22\xA0\x21\xAF\xFD\x5E\xB1\xA8\x07\x63\x10\xAF\xCE\xAC\x42\x73\x0B\xAF\xA3\x07\x4C\x00\xD4\x38\x0B\x0C\x2A\xAF\xA4\x93\xBA\x00\x2D\xAF\x79\x6A\x30\xAF\xD3\x27\xEC\xAD\x70\xA7\x1A\xAF\x48\x6E\x08\xAF\x60\x4F\x7C\xAD\x3B\xAF\xED\x22\x5C\x00\x3D\xAF\xE1\xAC\xCA\x00\x35\xAF\xE6\x11\x60\x00\x0E\xAF\x38\xAF\x00\xAE\x3A\x64\xD0\x00\x40\xAF\xF2\x22\x65\x00\x3D\xAF\xEE\xAC\x37\x01\xD5\x00\x4E\xAF\xF0\x1F\x69\x00\x3D\xAF\x15\xAE\x01\x01\xDA\x00\x46\xAF\x61\x75\x37\xAF\x3D\x28\x14\xAE\x38\x7D\xE0\x00\x5C\xAF\x13\x17\xF8\xA8\xBE", + "\x84\x6B\x23\x1C\xAE\x38\x7D\xE6\x00\x63\xAF\x4D\x1D\x79\x00\x5E\xAF\x62\x23\x68\xAF\x08\xA5\x6B\xAF\x0C\x20\x7F\x00\x6E\xAF\xC3\x27\xE2\x08\x2D\xAE\xC4\x58\x72\xAF\xC1\x7E\x49\xAF\x5F\xAF\x33\xAE\x25\x65\xF8\x00\x7A\xAF\xD8\x81\x7C\xAF\x6F\xAF\x3B\xAE\xFF\x8F\xF8\xAE\x03\x00\x21\x3B\xAD\x01\x30\xA9\x1D\xAF\x02\x94\x43\x7A\x21\x3B\x8B\x0C\x0A\x00\x89\xAF\x13\x01\x3D\xA9\x8C\xAF\x3D\x86\xAF\x67\x8F\xAF\xDC\x27\x92\xAF\x44\x86\x3D\xAF\x53\xAE\xA7\x0A\x13\x00\x98\xAF\x14\x1E\x9A\xAF\x00\x17\x3D\xAF\x21\xAB\x37\x01\x1A\x00\xA0\xAF\x67\x0C\xA2\xAF\x68\x73\x3D\xAF\x2A\xAB\x9B\x0B\x21\x00\x21\x3B\x0B\x0C\x27\x00\xAA\xAF\x01\x01\xA3\x00\x83\xAF\x3F\x28\x4C\xAC\x3B\x62\x29\x00\x21\x3B\xFA\x76\xA8\x00\x5E\xA8\xF3\x61\x30\xA7\x9C\x60\x2C\x00\xBB\xAF\x00\x8A\xBE\xAF\xC1\xAE\x03\x7B\x21\x3B\x56\x9D\xAE\x00\xDE\xA8\xBF\xAF\xB1\x8D\x9C\x60\x33\x00\xC8\xAF\xA3\x07\xB2\x00\xCB\xAF\x89\xAD\x77\x99\xD0\xAF\xDC\xA5\xD3\xAF\x8E\xAD\x59\x18\x3B\x00\xD6\xAF\xE6\x11\xBA\x00\xD8\xAF\x93\xAD\xDE\x90\xC3\xAF\xE1\x0A\xC2\xA9\x07\x63\xCC", + "\xAF\x00\x7F\x89\x9E\xDC\xAF\x2A\x15\xC8\xA9\x5A\x64\xE9\xAE\x3B\x62\x46\x00\xE9\xAF\x34\x8F\xDF\xAF\x6C\xAB\x25\x63\x4A\x00\xF0\xAF\x4D\x1D\xC9\x00\xF2\xAF\x72\xAB\x3E\xA6\xF6\xAF\x23\x70\xF9\xAF\x78\xAB\x98\x9B\xFC\xAF\x97\x6C\xFE\xAF\x7E\xAB\x3A\x64\x56\x00\x01\xB0\x69\x1D\xD5\x00\x03\xB0\xBC\xAD\x70\x10\xA8\xAF\x2A\x15\xD9\x00\xB6\xAF\x88\x28\xE2\x08\x74\x9E\x5F\x00\x07\xB0\x25\x23\x04\xAA\xEC\xAF\x7A\x9E\x25\x65\x63\x00\x15\xB0\x6E\x22\x0B\xAA\x18\xB0\x81\x9E\x1D\x7F\xE2\xAF\xE6\x11\xE6\x00\xC5\xAF\xBF\xAC\x94\x6C\x22\xB0\x2A\x15\x1A\xAA\xE5\xAF\xE4\xAD\x38\x7D\x6D\x00\x0D\xB0\x13\x17\x20\xAA\x66\xAF\xE6\xAF\xA5\xA6\x10\x74\x2F\xB0\x4D\x1D\xF2\x00\x75\xAF\x11\xB0\xB6\xAB\x23\x81\x1C\xB0\xFD\x5E\xF8\x00\x03\xB0\xDB\xAC\x05\x52\x3D\xB0\xED\x22\xFC\x00\x03\xB0\xE1\xAC\x7F\x00\x36\xB0\x71\x5E\xF1\xAA\x33\xB0\x5B\xA4\x2B\x81\x43\xB0\xF2\x22\x05\x00\x83\xAA\x4C\xB0\x94\x47\x8B\x6D\x4F\xB0\xF0\x1F\x09\x00\x52\xB0\x60\xAF\x30\x7D\x49\xB0\x3D\x20\x0D\x00\xD0\x0B\x0B\x0C\x53\xB0\x59\xAF\x4D\xA4\x5C\xB0\xCF\x62\x5F", + "\xB0\xD5\x27\x70\xAF\x0C\x71\x64\xB0\x25\x23\x19\x00\x66\xB0\xE4\x27\x68\xB0\x3A\x64\x9B\x00\x6A\xB0\xB7\x64\x6D\xB0\x04\x28\x77\xAF\x86\x75\x72\xB0\xFD\x5E\x25\x00\x4B\xB0\xE2\x08\x17\xAD\xF4\x79\x78\xB0\xED\x22\x2A\x00\x7B\xB0\x85\xAF\x99\x62\xAA\x00\xFC\xAF\xAE\x00\xB3\xAF\x21\x35\x59\xB0\xF8\x9E\x22\xA0\xFC\xAF\xB4\x00\x88\xB0\x58\x0C\x8A\xB0\x63\x96\x53\x86\xFC\xAF\xBA\x00\x8F\xB0\x37\x00\x91\xB0\x9F\xA2\x39\x76\xFC\xAF\xC0\x00\x8F\xB0\x3B\x00\x98\xB0\xAB\xA1\x44\x6B\xFC\xAF\xC6\x00\x8F\xB0\x3F\x00\x9F\xB0\x0C\x3E\x3B\x62\xC8\x00\x49\xB0\xCD\x00\x8F\xB0\xBA\xAA\xCC\xAC\xFA\x61\xB6\x24\x93\xAE\x59\x18\xCF\x00\x28\xB0\xCD\x9D\xBE\x29\xE2\x08\x26\x62\x60\x74\xFC\xAF\xD6\x00\x21\x3B\xF8\x5F\xE2\x08\x13\x00\xB1\xB0\xD0\x0D\xD7\x00\xFC\xAF\xDB\x00\xBC\xB0\xA3\x07\xAF\xB0\x0E\x28\xC0\xB0\x9B\x0B\xDC\x00\xFC\xAF\xE0\x00\xC5\xB0\xE1\x0A\xC7\xB0\x74\x06\xC9\xB0\xA7\x0A\xE1\x00\xFC\xAF\xE5\x00\xCE\xB0\xE6\x11\x0C\x00\xB8\xAF\x1A\x72\xB4\xB0\x4D\x1D\x48\x00\x62\xAB\xD9\xB0\xC0\xAF\x56\x61\xE9\x00\xDC\xB0\x0C\x20\x4B", + "\x00\xDF\xB0\xC6\xAF\x3A\x64\xEC\x00\x56\xB0\x75\x9D\x83\xAA\xE0\xB0\xCD\xAF\x56\x61\xF0\x00\xEB\xB0\x97\x3E\xED\xB0\xD4\xAF\xDD\x94\xF2\xB0\x4A\x03\xF4\xB0\xD9\xAF\xD0\x0D\xF8\x00\xF7\xB0\x70\x10\xF9\xB0\xE0\xAF\x17\x6A\xFC\x00\xE4\xB0\xF7\xAC\xE7\xB0\xE2\xAE\x43\x14\xFD\xB0\xEE\x14\xFF\xB0\x9D\xAD\x56\x61\x03\x00\xA4\x3B\x56\x9D\x65\x00\x0A\xB1\xA3\xAD\x56\x61\x07\x00\x0E\xB1\xA3\x07\x69\x00\x11\xB1\xA9\xAD\x9C\x60\x0B\x00\x15\xB1\x85\x76\x18\xB1\xAF\xAD\x99\x62\x0F\x00\x1C\xB1\xE6\x11\x71\x00\x1E\xB1\x9E\xAC\x8E\x04\x13\x00\x22\xB1\x2A\x15\x75\x00\x1E\xB1\x0B\xB0\xEA\x28\xA4\x3B\x50\x9D\x79\x00\xF1\xAA\xEE\xB0\x4C\x79\x9C\x61\x1C\x00\x29\xB1\x1D\x72\x1E\xB1\xCA\xAD\xE2\x2D\x37\xB1\x82\x7E\x1E\xB1\xCF\xAD\x3E\x07\x24\x00\xA4\x3B\xFA\x76\x16\xAB\x07\x63\x33\xB1\x92\x58\x92\x74\x42\xB1\xA3\x07\x89\x00\x05\xB1\xC6\xAC\x6F\xA8\x2F\xB1\xA3\x07\x1D\xAB\x66\xAF\x46\xB1\xC7\x3C\x38\x7D\x2F\x00\x4F\xB1\x36\xA2\x74\xB0\x17\x1E\x39\xAF\xCA\x67\x3C\xB1\x0C\x20\x98\x00\x1E\xB1\x41\xB0\x4A\x25\x5D\xB1\x3D\x20\x9C\x00\x1E", + "\xB1\xE1\xAC\x3C\x00\x57\xB1\xE6\x11\xA0\x00\x32\xB1\xE2\x08\xE8\xAC\xD0\x0D\x41\x00\x63\xB1\x69\x1D\xA5\x00\x1E\xB1\x52\xAF\x0B\x38\x71\xB1\x25\x23\xA9\x00\x1E\xB1\x62\xB0\x23\x23\x69\xB1\xC5\x92\x59\xB1\x4D\x1E\x5A\xB0\x0F\x70\x7D\xB1\x13\x17\xB3\x00\x7F\xB1\xE2\x0D\x6F\xB0\x77\x8D\x83\xB1\x4D\x1D\x7A\xAB\x52\xB1\x88\xB1\x25\x63\x58\x00\x8A\xB1\x0C\x20\x86\xAB\x8D\xB1\xEE\xAB\x49\x27\x5D\x00\x91\xB1\x3D\x20\xC5\x00\x6C\xB1\x7E\xAF\xDC\xA8\x98\xB1\x33\x6A\x9B\xB1\xEE\xA8\x26\x7B\x5D\xB1\x6B\x00\xA4\x3B\xAD\x01\xCF\x00\x1E\xB1\x43\xAE\x1E\x46\x5D\xB1\x71\x00\xA5\xB1\x3F\x57\x1E\xB1\x4C\xAE\x9F\x49\x5D\xB1\x77\x00\xAD\xB1\x6B\x6F\x1E\xB1\x9D\xAF\x62\x08\x79\x00\x5D\xB1\x7D\x00\xB4\xB1\x85\x6F\x1E\xB1\xA5\xAF\x64\x4C\x5D\xB1\x83\x00\xBC\xB1\x63\x82\x1E\xB1\xAD\xAF\xA7\x0A\x85\x00\x91\xB1\x8A\x00\xC3\xB1\x01\x01\xE3\x00\xF1\xAA\x08\x62\xB0\xB0\x30\x7D\x49\xB1\x0B\x97\xCF\xB1\x0B\x1E\xD2\xB0\x62\x08\x8F\x00\x5D\xB1\x93\x00\xA4\x3B\x05\x60\xBE\xB0\xD6\xB1\x3E\x07\x94\x00\x5D\xB1\x98\x00\xDB\xB1\x57\x94\xE2\x08\x2D", + "\x62\x14\x71\x5D\xB1\x9D\x00\xE3\xB1\xE1\x0A\xD4\xB1\xD1\xB0\x6D\x63\x5D\xB1\xA2\x00\xEA\xB1\x86\x6D\xDA\xB0\x6A\x69\xD2\xB1\xE6\x11\xE8\x00\x62\xAB\x0F\x62\xE1\xB0\x99\x62\xA6\x00\xF5\xB1\x2A\x15\xEB\x00\xF8\xB1\xE8\xB0\x12\x63\xA9\x00\x77\xB1\x6E\x22\xEE\x00\x83\xAA\xF9\xB1\xEF\xB0\x99\x62\xAD\x00\x04\xB2\xFD\x5E\xF2\x00\x07\xB2\xF5\xB0\xCB\x9E\x0C\xB2\xED\x22\xF6\x00\x0F\xB2\xFA\xB0\x9B\x0B\xB5\x00\x12\xB2\xF2\x22\xFA\x00\x15\xB2\x00\xB1\x33\x66\xB9\x00\xFD\xB1\x27\x8A\x00\xB2\x06\xB1\x9B\x0B\xBC\x00\x19\xB2\xF0\x1F\x01\x00\xE3\xAC\x08\xB2\x0B\xB1\x99\x62\xC0\x00\x26\xB2\x37\x01\x05\x00\x29\xB2\xE2\x08\x4F\x9E\xC3\x7D\x2E\xB2\xF2\x27\x31\xB2\xED\xA0\x83\xAD\x35\xB2\xC9\x0B\x37\xB2\xF4\xA0\x32\x91\x3A\xB2\x37\x28\x3C\xB2\x09\xA3\x4C\xAF\x3F\xB2\x74\x06\x41\xB2\xF0\x1E\x67\x70\x9E\xB1\x6B\xB0\xE8\x1F\x8B\x0C\x2A\xB2\x53\x79\xB7\x72\x44\xB2\xEF\x2C\x46\xB2\x07\x52\x3B\x62\xDD\x00\x50\xB2\xE3\x0B\x52\xB2\x22\xA3\xBA\x62\xE1\x00\x20\xB2\x4D\x1D\x26\x00\x6C\xAC\x4D\xB2\x31\xA4\xC4\x66\x5C\xB2\x9C\x68\x5F\xB2\x2C", + "\xB0\x9C\x61\xE7\x00\x49\xB2\x6E\x22\x2C\x00\xE8\x1F\x0B\x0C\x60\xB2\x2B\xAF\xE9\xB0\x69\xB2\xFD\x5E\x32\x00\x6C\xB2\x5C\x10\x5B\xB1\xD0\x80\x56\xB2\x46\x5E\x58\xB2\x61\xB1\x0B\x01\xF5\x00\x78\xB2\x3C\x00\x58\xB2\xE1\xAC\xF9\x00\x71\xB2\xF1\x6A\x4B\xB2\x75\xB2\x4B\xAF\x12\x63\xFE\x00\x78\xB2\x45\x00\x58\xB2\x75\xB1\x78\x22\x17\x3C\x56\x9D\x92\xAC\x3C\x61\x6E\xB2\x7B\xB1\x06\x00\x17\x3C\x50\x9D\x4D\x00\x74\xB2\xCA\x27\x81\xB1\x3A\x64\x0B\x00\x96\xB2\xA3\x07\x53\x00\x99\xB2\xE8\x27\x8E\xB1\x67\x64\x10\x00\x9E\xB2\xE1\x0A\x59\x00\xA1\xB2\xD9\x27\xA3\xB2\x0C\x5F\x15\x00\xA6\xB2\x59\x75\xA9\xB2\xE4\x11\x76\xB0\x9C\x61\x1A\x00\xAE\xB2\x2A\x15\x65\x00\x85\xB2\x9A\xB2\x9C\xB1\x17\x6A\x1F\x00\xB5\xB2\x13\x17\x6A\x00\xB8\xB2\xA2\xB2\x83\xB0\x25\x65\x24\x00\x8F\xB2\x46\x33\x17\x3C\xAD\x01\x6F\x00\x58\xB2\xA9\xB1\x97\x33\xC5\xB2\x06\x04\xC7\xB2\x13\x01\x73\x00\x58\xB2\xB0\xB1\xD8\x03\xCD\xB2\xF6\x58\xCF\xB2\xD4\x4B\x58\xB2\xB7\xB1\x3E\x07\x36\x00\xD5\xB2\x3C\x58\xD7\xB2\x37\x4C\x58\xB2\xBF\xB1\xD4\x0A\xDD\xB2\xE9\x35\xDF", + "\xB2\x5F\x4C\x58\xB2\xC6\xB1\x62\x08\x42\x00\xBD\xB2\xFE\x38\xE6\xB2\x2D\x68\xC0\xB2\xE1\x11\xE2\x08\x54\x67\xAA\x74\x17\x3C\x94\x9B\xF2\x22\x16\x62\x2B\x28\xDE\xB1\x88\x9B\xE4\xB2\x0C\x3E\x17\x3C\xBC\x5E\xF8\xB2\x1E\x28\xFA\xB2\x37\x01\x51\x00\xFC\xB2\xD3\x3E\xFE\xB2\xA3\x07\x00\xB3\x67\x28\x02\xB3\x33\x01\x05\xB3\x5A\x00\x07\xB3\xE1\x0A\x09\xB3\xB1\x28\x0B\xB3\x51\x06\x05\xB3\x5F\x00\x0F\xB3\xE6\x11\x10\x00\xF3\xB1\x3A\x64\x60\x00\xF5\xB2\xB7\x7B\x6C\xAC\x19\xB3\xFA\xB1\x1A\xB0\x1D\xB3\x5A\x7F\x1F\xB3\x01\xB2\xD2\x78\x05\xB3\x3D\x20\x8E\x00\xE3\xAC\x20\xB3\x09\xB2\x25\x65\x6A\x00\x28\xB3\x41\x68\x2B\xB3\x10\xB2\xEF\xA8\x30\xB3\x25\x23\x96\x00\x32\xB3\x16\xB2\xCC\x6C\x35\xB3\x16\x89\x38\xB3\x1D\xB2\x49\x27\x76\x00\x23\xB3\xEB\x8A\x25\xB3\x23\xB2\xA7\x0A\x79\x00\x3B\xB3\xFD\x5E\xA1\x00\x3D\xB3\x2B\xB2\x25\x65\x7D\x00\x47\xB3\xED\x22\xA5\x00\x4A\xB3\x12\xB1\x99\x62\x81\x00\x4E\xB3\xF2\x22\xA9\x00\x51\xB3\x19\xB1\x56\x61\x85\x00\x55\xB3\xF0\x1F\x4B\xAD\x3C\x61\x2C\xB3\xAF\x80\xDD\x6A\x5C\xB3\x37\x01\xB1\x00\x58", + "\xB3\x04\xB0\x12\x63\x8D\x00\x63\xB3\x13\x01\xB5\x00\x66\xB3\x2D\xB1\x3E\x4F\xEC\xB2\xDB\x95\xF0\xB2\xF9\x11\x12\xB0\x3B\x62\x96\x00\x6A\xB3\x1C\x55\x66\xB3\x3A\xB1\xCC\x50\x77\xB3\xD1\x99\x66\xB3\x3F\xB1\x8E\x04\x9E\x00\x41\xB3\xF3\x9A\x43\xB3\x24\xAF\x67\x64\xA1\x00\x82\xB3\x13\x17\xC9\x00\x84\xB3\xDD\xAD\xBA\x62\xA4\x00\x70\xB3\x3D\x20\xCC\x00\xB0\xB2\x1D\x62\xA9\xAA\x33\x66\xA9\x00\x8F\xB3\x9E\x6C\x92\xB3\x1B\x28\x76\xB2\xFB\x7B\x7C\xB3\x02\x01\xD8\x00\x66\xB3\x7B\xB2\xF8\x53\x9D\xB3\x31\x9C\x66\xB3\xE1\xAC\xB6\x00\x97\xB3\x25\x23\xE0\x00\x72\xB3\x93\xB3\xC9\xAB\x71\x8C\xA3\xB3\x00\x01\xE5\x00\x66\xB3\x8D\xB2\xE3\x7D\xAF\xB3\x88\xA3\x66\xB3\x7B\xB1\xC3\x00\xA8\xB3\x6E\x22\xED\x00\x99\xB3\x60\xB3\xCA\x9E\x8F\x87\xBA\xB3\xFD\x5E\xF3\x00\xBD\xB3\xAB\xB2\x9C\x60\xCD\x00\xC1\xB3\xED\x22\xF9\x00\xC4\xB3\xD5\xA8\x33\x66\xD2\x00\xC8\xB3\xF3\x63\xCB\xB3\xDB\xA7\x8B\x83\xCF\xB3\xF0\x1F\x05\x00\xF8\xAE\xBE\xB3\xE6\x9E\xBE\x77\xD4\xB3\x37\x01\x0A\x00\xD7\xB3\xE2\x08\x1F\xAD\xD0\x0D\xE1\x00\x05\xB3\xE5\x00\xEE\xB2\xB4", + "\x10\x66\xAE\xD8\xB3\x30\x91\x3B\x62\xE7\x00\x05\xB3\xEB\x00\xE5\xB3\xAE\x01\xE7\xB3\xE2\x08\xD3\xB2\xCD\x71\x05\xB3\xF1\x00\xEE\xB3\x27\xAE\x5F\xB3\x37\xAD\x3B\x62\xF3\x00\x05\xB3\xF7\x00\xEE\xB3\x1B\x00\xF0\xB3\x40\xAD\x2D\xA5\x05\xB3\xFD\x00\xEE\xB3\x35\xAE\xF8\xB3\x24\xAC\x69\x66\x70\xB3\x04\x00\x9A\x3C\x44\x5F\xF8\xAE\x11\x00\xF2\xB2\x13\xB3\xA4\x27\x9A\x3C\xF6\xB2\xF0\x1F\x0F\xB4\xF9\xB2\x9C\x61\x09\x00\x9A\x3C\x2E\x01\x0D\x00\x9A\x3C\xBC\x5E\x16\xB4\x01\xB3\xC0\x90\x1A\xB4\x00\x22\x1D\xB4\x82\x5A\xE5\xB1\x11\xB4\xB7\x03\x22\xB4\xCC\x2A\x24\xB4\x20\x69\xE2\x08\x15\x00\x27\xB4\xFF\x30\x29\xB4\x0B\x01\x1C\x00\x2B\xB4\x1F\x83\xE2\x08\x53\xB0\x90\xAE\x0F\x09\xE2\x08\x53\xB1\xF2\x76\x91\x92\xD5\x62\x62\x67\x2F\xB4\x95\xAE\x2A\x15\x2E\xB4\xCF\x10\x40\xB4\x71\xAE\x67\x84\xA6\x5A\xD0\xB1\xBA\x62\x1D\x00\x34\xB4\x2A\xA2\x48\xB4\xD5\xB1\x9C\x61\x1E\x00\x0C\xB4\xCA\x2D\x4C\xB4\x5E\xAC\xDD\xB1\xF9\x7A\x52\xB4\x0E\x01\x23\x00\x54\xB4\x4D\x1D\x4E\xB4\x0A\xB3\x9C\x61\x24\x00\x58\xB4\x60\x04\x5B\xB4\x0C\x20\x5D\xB4\x12", + "\xB3\x92\x74\x61\xB4\x61\x21\x63\xB4\x3D\x20\x5B\x67\x6E\xAD\x70\x68\x9A\x3C\x50\x9D\x45\xAE\x3C\x61\x6C\xB4\x75\xAD\x56\x61\x2F\x00\x6F\xB4\x5A\x66\x66\xAE\x73\xB4\x78\x8C\x67\x64\x34\x00\x9A\x3C\x4E\x9A\x30\x00\xF8\xAE\x7A\xB4\x35\xA9\x0C\x5F\x3A\x00\x7E\xB4\xA3\x07\x35\x00\x81\xB4\x33\xB3\x25\x63\x40\x00\x86\xB4\xA4\x86\x89\xB4\x39\xB3\x62\x08\x46\x00\x8D\xB4\xE6\x11\x3F\x00\x8F\xB4\x3E\xB3\x59\x18\x4C\x00\x77\xB4\xE1\x0A\x44\x00\x79\xB4\x7C\xAC\x5B\x72\x93\xB4\x2A\x15\x48\x00\x96\xB4\x4B\xB3\xD9\x64\x57\x00\xA0\xB4\x79\x7A\xA3\xB4\x52\xB3\xBA\x78\xA7\xB4\x4D\x1D\x52\x00\xA9\xB4\x59\xB3\xCA\x78\xAC\xB4\x9A\x72\xAF\xB4\x1F\xB1\x25\x65\x69\x00\xB2\xB4\x3D\x20\x5C\x00\xB4\xB4\x26\xB1\x37\x01\x6F\x00\xB8\xB4\x69\x1D\x61\x00\xB4\xB4\x6E\xB3\xD7\x4A\x9A\x3C\xCA\x60\xCF\x91\x72\xAF\x82\xB4\xC3\xAD\x12\x63\x7C\x00\xBF\xB4\x25\x23\x6C\x00\xB4\xB4\x7A\xB3\x3E\x4D\xCD\xB4\x6E\x22\x71\x00\xB4\xB4\x7F\xB3\x37\x01\x88\x00\x9A\xB4\xE6\x11\x76\x00\x9D\xB4\x26\xB0\x25\x65\x8D\x00\xDA\xB4\x2A\x15\xDE\xAE\x72\xB4\x66\xB2\xBA", + "\x62\x92\x00\xC5\xB4\x69\x7C\xF6\x1E\xB7\x27\xC9\xB4\xA4\x93\x99\x00\xE8\xB4\x54\x74\xEA\xB4\x42\x29\x9B\xB3\xE1\x74\xD3\xB4\xFD\x5E\x8C\x00\xB4\xB4\xA1\xB3\x97\x8D\xF5\xB4\xED\x22\x91\x00\xB4\xB4\xE1\xAC\xAC\x00\xEF\xB4\x03\x76\xC8\xB4\x6D\xB1\x06\x7A\xFB\xB4\xF2\x22\x9C\x00\xB4\xB4\xB3\xB3\x02\x01\xB9\x00\x06\xB5\xF0\x1F\xA1\x00\xB4\xB4\x7B\xB1\xBF\x00\x01\xB5\xD2\x8E\xF1\xB4\xCC\x2A\x9B\xB2\x52\x81\x13\xB5\xE4\x87\x15\xB5\xD9\x28\xC5\xB3\xAF\x72\x19\xB5\x4D\x1D\xB4\x00\x1B\xB5\xEA\x28\x1D\xB5\x99\x62\xD4\x00\x1F\xB5\xFC\xA5\x22\xB5\x61\x29\xB2\xB2\xBA\x62\xDB\x00\x27\xB5\x3D\x20\xC2\x00\x03\xB5\xBA\xB2\x33\x66\xE2\x00\x2E\xB5\x48\xA6\x31\xB5\xA1\xB1\x67\x64\xE9\x00\xB2\xB4\xEF\x00\x68\xB4\xF8\x56\xB4\xB4\xCB\xB2\xC2\x58\xB2\xB4\xF7\x00\x3D\xB5\x4E\x57\xB4\xB4\xF2\xB3\x01\x01\xF9\x00\xB8\xB4\x44\xB5\xF1\x7E\xB4\xB4\xDA\xB2\x8E\x04\x01\x00\x63\x1A\x0B\x0C\x07\x00\x63\x1A\xAD\x01\xDD\x00\xB4\xB4\xE2\xB2\x37\x1E\x51\xB5\x19\x28\x54\xB5\xA7\x9F\xB4\xB4\xE9\xB2\x3E\x07\x11\x00\x63\x1A\xB7\x27\x18\x00\x5C\xB5\x5F", + "\xA2\x72\xAF\x51\x62\xB3\xAE\x12\x63\x1A\x00\x63\x1A\x56\x9D\xED\x00\x66\xAE\x68\xB5\xBB\xAE\x56\x61\x1E\x00\x6C\xB5\xA3\x07\xF1\x00\x6F\xB5\x26\xB3\x67\x64\x22\x00\x63\x1A\x50\x9D\xF5\x00\xF8\xAE\x70\xB5\xC8\xAE\x25\x65\x27\x00\x7B\xB5\xD5\x71\x7E\xB5\x8A\xB4\x67\x64\x2C\x00\x83\xB5\xE8\x0C\x85\xB5\x90\xB4\x3E\x07\x31\x00\x89\xB5\xE6\x11\x04\x00\x49\xB0\x7F\xB5\xD3\xA7\xD9\x76\x74\xB5\x33\x93\xFC\xAF\x93\xB5\xA5\x95\xBA\x62\x3A\x00\x8F\xB5\x2A\x15\x0D\x00\x92\xB5\xED\xAF\x9C\x61\x3F\x00\x9D\xB5\x50\xAC\xA0\xB5\xB3\x95\xEB\x7E\xA4\xB5\x4D\x1D\x17\x00\xA6\xB5\xFC\xA2\xF3\x7E\xA9\xB5\x6D\xAC\xAC\xB5\x61\xB3\x12\x63\x4E\x00\xAF\xB5\xF4\x64\xB1\xB5\x03\xAF\xBA\x62\x53\x00\xB5\xB5\x69\x1D\x26\x00\xB7\xB5\x09\xAF\x8F\xB1\x5A\xB5\xE1\x0A\x2B\x00\xB0\xAF\xAD\x0A\x74\xB3\x9C\x61\x5E\x00\xBB\xB5\x0E\xA1\xBE\xB5\x00\x00\xD1\xB4\xDA\x70\xC9\xB5\x6E\x22\x36\x00\xCB\xB5\xD7\xB4\x65\x44\x96\xB5\xE6\x11\xDB\xAF\x3C\x61\x99\xB5\xA0\xAB\x23\x7F\xD5\xB5\x2A\x15\x3F\x00\x98\xB5\xE5\xB4\xD5\x7B\xC1\xB5\xFC\x71\x21\x3B\xB7\x27\xD9", + "\xB5\xA4\x93\x76\x00\xE2\xB5\x2A\x15\xF5\xAF\xBF\x27\xC1\x02\xF3\xB4\xB0\x9F\xCF\xB5\xFD\x5E\x51\x00\xCB\xB5\xF9\xB4\x10\x4D\xF0\xB5\xED\x22\x06\xB0\xCC\xAC\xD9\xB5\xE1\xAC\x86\x00\xE9\xB5\x3E\x74\xC4\xB5\xED\xB5\x87\xB2\xA7\x89\xF6\xB5\xF2\x22\x61\x00\xCB\xB5\x0A\xB5\x3E\x4F\x03\xB6\xF0\x1F\x66\x00\xCB\xB5\x7B\xB1\x96\x00\xFD\xB5\x4D\x1D\x6B\x00\xE4\xB5\xC5\xB5\xC6\xA9\x9B\x0B\x9C\x00\x0F\xB6\x0C\x20\x72\x00\x12\xB6\x00\xB6\xCC\xA9\x48\xA4\x17\xB6\xBE\x6D\x1A\xB6\xC1\x15\x24\xB5\x25\x65\xA8\x00\x1E\xB6\xB2\x72\x20\xB6\x73\x0D\x2B\xB5\xFB\x7B\x25\xB6\x25\x23\x87\x00\xFF\xB5\x21\xB6\x32\xB5\x49\x27\xB4\x00\x2B\xB6\x6E\x22\x8D\x00\x2E\xB6\x28\xB6\xC2\xB2\xD9\x64\xBA\x00\xAF\xB5\xBF\x00\x65\xB5\x0C\x5C\xCB\xB5\x40\xB5\x3A\x55\xAF\xB5\xC6\x00\x3D\xB6\x22\x50\xCB\xB5\x47\xB5\xA9\x56\xAF\xB5\xCD\x00\x44\xB6\x4B\x76\xCB\xB5\x4E\xB5\x7A\x66\xAF\xB5\xD4\x00\x4B\xB6\x28\x8D\xCB\xB5\x58\xB5\x8A\x82\xAF\xB5\xDB\x00\x52\xB6\x40\x8F\xCB\xB5\x5F\xB5\x8E\x04\xDD\x00\x17\xB6\xE3\x00\x59\xB6\xAC\x00\x36\xB6\x1C\x1E\xE2\x08\x18", + "\x00\x45\xB4\xE5\x00\x63\x1A\x14\xB4\xA6\xAF\xE2\x08\x1D\x00\x45\xB4\xE8\x00\xDC\xB5\xBE\xA4\x63\x1A\xBC\x5E\x58\x62\xC4\x2C\x45\xB4\xED\x00\x70\xB6\x00\x01\xF1\x00\x72\xB6\xA3\x07\x1B\x00\x1A\xB3\xEF\x9E\x78\xB6\x0C\x20\xB2\x00\xFC\xAF\x7D\xB6\x21\xB3\xD9\x64\xF6\x00\x80\xB6\x3D\x20\xB6\x00\x83\xB6\x78\xB5\x0C\x5F\xFA\x00\x09\xB6\x37\x01\x95\xB0\xCC\xAC\x84\xB6\x2D\xB3\x69\x66\x8F\xB6\x64\x87\x49\xB0\x93\xB6\x51\x86\x57\x91\xA0\x3D\x50\x9D\xC4\x00\x98\xB6\xD4\xAE\xD4\x72\x9C\xB6\xA3\x07\xC9\x00\x9F\xB6\xDC\xAE\x17\x6A\x0E\x00\xA0\x3D\x56\x9D\xCE\x00\x8B\xB6\x44\xB3\x62\x08\x12\x00\xA2\xB6\xE1\x0A\xD2\x00\xA5\xB6\x66\xAB\x0C\x5F\x17\x00\xB0\xB6\xE6\x11\xC2\xB0\x92\xB6\x32\xB2\x3B\x62\x1C\x00\xB7\xB6\x2A\x15\xCB\xB0\xBA\xB6\x38\xB2\x65\x85\xBE\xB6\x53\x9F\xB3\xB6\xB2\xB5\xF4\x6D\xC4\xB6\x4D\x1D\xE6\x00\xC6\xB6\xB8\xB5\xD0\x69\xC9\xB6\x0C\x20\xEB\x00\xCC\xB6\xBF\xB5\x51\x80\xA0\x3D\x4E\x9A\xF1\xB0\x66\xAF\x99\xB6\x4E\xB2\x9C\x61\x36\x00\xCF\xB6\x3D\x20\xF6\x00\xD2\xB6\xCC\xB5\x3B\x62\x3B\x00\xDD\xB6\x69\x1D\xFB", + "\x00\xE0\xB6\xD3\xB5\xAE\x35\xA9\xB6\x83\x5F\x5D\xB1\xD9\xB6\x61\xB2\x10\x98\xEA\xB6\x4D\x5F\xEC\xB6\xE0\xB5\x39\x67\xD5\xB6\xA3\x07\x08\x00\xA4\x3B\x5C\x60\xF3\xB6\x25\x63\x4E\x00\xF5\xB6\x10\xB3\xF8\xB6\xE0\x22\xEE\xB5\x67\x64\x54\x00\xE4\xB6\x25\x23\x16\x00\x91\xB1\xED\xB6\x3E\xAF\x9D\x6A\x04\xB7\x6E\x22\x1B\x00\x07\xB7\xE2\x08\xE1\xAC\x5E\x00\xFD\xB6\x82\x5C\xA4\x3B\x0B\x0C\x08\xB7\x6E\xB1\x9B\x0B\x64\x00\x0B\xB7\x77\x61\x0E\xB7\x55\xA1\x99\x62\x69\x00\x1A\xB7\x55\x66\x1C\xB7\xF8\x94\x99\x62\x6E\x00\x12\xB7\x67\x7A\xFF\xB6\xC0\x2B\x17\xB5\x04\x6A\x26\xB7\x75\xAA\x28\xB7\xA7\x22\x22\xB6\xDD\xAE\x2C\xB7\xE3\x6A\x2E\xB7\x6B\x22\x30\xB7\x17\x6A\x80\x00\x32\xB7\x71\x71\x34\xB7\xD3\x22\x29\xB6\x12\x63\x86\x00\x39\xB7\x3D\x20\x4C\x00\x14\xB7\x00\xB7\x30\xB6\xF1\xA6\x40\xB7\x04\x72\x43\xB7\x29\xB7\x38\xB6\x17\x6A\x92\x00\xCF\xB6\x97\x00\xA0\x3D\xAD\x01\x90\xB1\xC1\xB6\xFC\x98\x0C\x5F\x99\x00\xCF\xB6\x9E\x00\x50\xB7\x99\x40\x22\xB7\x05\x99\x3A\x64\xA0\x00\xCF\xB6\xA5\x00\x59\xB7\xD2\x23\x5B\xB7\x48\x86\x18\xAF\xCF", + "\xB6\xAC\x00\x61\xB7\x19\x68\x63\xB7\x32\x75\xBA\x62\xAE\x00\xCF\xB6\xB3\x00\x68\xB7\xB7\x45\x6A\xB7\x1D\x6E\x25\x63\xB5\x00\x39\xB7\xBB\x00\x70\xB7\x32\x77\x49\xB7\x32\xB4\x65\xB6\x45\xB4\xBD\x00\xA0\x3D\x6A\xB6\xFB\x26\x6C\xB6\x45\xB4\xC0\x00\xF0\xB6\xBE\x55\xA0\x3D\xBC\x5E\x63\x62\x75\xB6\xDA\x68\x85\xB7\x02\x01\xC9\x00\x87\xB7\x6C\x64\xE2\x08\xD9\xB5\x38\xB4\x36\x2D\xE2\x08\x08\xB7\x93\xB7\x3E\x0E\x7C\xB7\xD1\x7D\x8F\xB7\x0B\x97\xA1\x5A\xC7\x61\x45\xB4\xCB\x00\x78\xB7\x10\x94\x9B\xB7\xE6\x11\x9D\xB7\xB8\x1F\x45\xB4\xCE\x00\xA1\xB7\x00\x00\xD0\x00\xA3\xB7\x27\x83\x7E\xB6\x25\x63\xD1\x00\x47\xB7\xFC\x78\x91\xB1\x20\x00\xE2\x08\x54\xAC\x62\x08\xD7\x00\xB1\xB7\x6E\x22\x7C\x00\xB3\xB7\x8C\xB6\x9C\x60\xDD\x00\xA0\x3D\xC6\xB4\x25\x23\x81\x00\x7A\xB7\x50\x15\xE2\x08\x62\xAC\x50\x76\xC0\xB7\xA3\x07\x87\x00\xC4\xB7\xF6\x2D\x86\xB5\xEE\x66\xC9\xB7\x62\xA5\xCC\xB7\x7A\x62\x8C\xB5\x8E\x04\xF2\x00\xD0\xB7\xE6\x11\xDA\xB1\x66\xAF\xB4\xB7\xA6\xB6\x33\x66\xF9\x00\xB9\xB7\xFD\x5E\x99\x00\xBC\xB7\xAD\xB6\x5D\x23\xD7\xB7\xDD", + "\x87\xD2\xB7\x00\x00\xDB\xB7\xB4\xB6\x9C\x60\x06\x00\x2A\x3E\xC1\xB7\x86\x69\xE7\xB7\xE9\xB7\xF3\xAF\x67\x64\x0D\x00\xED\xB7\x3A\x7B\xF0\xB7\xE2\x08\x06\xA4\x9B\x0B\x14\x00\xF5\xB7\xE1\x0A\xB0\x00\xF7\xB7\xFC\xAE\x34\x5F\xFC\xB7\x66\x88\xFF\xB7\xA1\x75\x81\xAA\x02\xB8\x44\x9E\x04\xB8\xA8\x75\x3A\x64\x29\x00\x2A\x3E\x6C\x23\x2F\xB5\x3B\xB7\xD3\xB7\xAB\xAC\xE2\x75\x07\xB8\x89\xB3\x09\xB8\x1C\xA3\x3A\x64\x38\x00\x14\xB8\x89\x6C\x16\xB8\x02\x6A\x3B\x62\x3F\x00\x2A\x3E\x4E\x9A\xD5\x00\xE2\xB7\x85\xB3\x2E\x6E\x20\xB8\xA3\x07\xDA\x00\x23\xB8\x8C\xB3\x36\x9F\x0D\xB8\xCD\x67\xA4\x3B\x6C\x23\xF1\xB7\x34\xB0\x77\x8D\x2C\xB8\xE1\x0A\x68\xB2\xC9\x29\x30\xB8\x00\x01\xED\xAD\xA7\x0A\x5B\x00\x1A\xB8\x0C\x20\xEF\x00\x1C\xB8\x09\xB7\xBA\x62\x62\x00\x3C\xB8\x3D\x20\x7D\xB2\xDA\xB7\x0F\xB7\x3B\x62\x69\x00\x33\xB8\xE6\x11\xFB\x00\x10\xB8\xE8\xB7\x04\xB5\x9C\x61\x71\x00\x43\xB8\x69\x1D\x02\x00\x17\x3C\x0B\x0C\x37\xB8\x54\xB0\x2C\x8E\x52\xB8\x25\x23\x08\x00\x55\xB8\xCA\x2D\x2A\xB7\x67\x64\x7F\x00\x4A\xB8\x7D\xA1\x17\x3C\x2F\xB8\x5F", + "\xB8\x59\x69\x62\xB8\x5E\xAC\x64\xB8\x5E\xB8\xCC\xB3\x49\x27\x8F\x00\x68\xB8\x90\x64\x6A\xB8\xBB\x10\x36\xB7\x33\x66\x97\x00\x6F\xB8\x0C\x20\x26\x00\x71\xB8\xE2\x2D\x3D\xB7\x25\x63\x9F\x00\x76\xB8\x3D\x20\x2E\x00\x17\x3C\xB7\x27\x57\xB8\x7D\xB0\x3E\x07\xA7\x00\x7E\xB8\x06\xAF\x81\xB8\x6B\xB8\x38\xB5\x0C\x5F\xAF\x00\x3C\xB8\xB6\x00\x2A\x3E\xFB\x02\x5D\xB8\x72\xB8\x8B\xB0\x67\x64\xB8\x00\x3C\xB8\xBF\x00\x90\xB8\x21\x15\x92\xB8\x7A\xB8\x3B\x95\xBA\x62\xC1\x00\x3C\xB8\xC8\x00\x99\xB8\x10\x03\x9B\xB8\xC5\xB7\x15\xAC\x00\x85\x3C\xB8\xD1\x00\xA2\xB8\xEF\x3C\xA4\xB8\xCD\xB7\x01\xB4\x33\x66\xD3\x00\x3C\xB8\xDA\x00\xAA\xB8\xCA\x11\xAC\xB8\x11\xB8\x0F\xAA\x99\x62\xDC\x00\x76\xB8\xE4\x00\xB3\xB8\x01\x01\x0E\xB3\xEC\xB5\xFE\x04\xAE\xB7\x86\x7F\x2A\x3E\x50\x9D\x61\x00\x70\xB3\x85\x62\x85\xB6\x17\x6A\xEB\x00\xC3\xB8\x93\x77\xC6\xB8\xBD\xB7\xF0\xB0\x26\xB8\x8B\x67\xB5\xB8\x79\x14\xC6\xB7\x30\x6D\xD0\xB8\x23\xB1\xD2\xB8\xC7\xB8\xC4\xA0\x0B\x67\xD6\xB8\xCF\x78\xD8\xB8\xA0\xB6\x7D\x74\x95\x3E\x4E\x9A\x4D\xB3\x66\xAF\xD9\xB8\xCC", + "\xA7\xDF\x80\x95\x3E\x50\x9D\x83\x00\xCD\xB8\xE3\xB7\x8E\x04\x0D\x00\xE1\xB8\xB7\x7B\xDE\xB8\xCB\x87\x3A\x64\x13\x00\xEF\xB8\xE1\x0A\x8E\x00\xF1\xB8\xF0\xAE\x3A\x64\x19\x00\xF5\xB8\xE6\x11\x94\x00\xF8\xB8\xF6\xAE\x12\x63\x1F\x00\xFC\xB8\xE1\x88\xFF\xB8\x02\xA3\x8B\x64\x03\xB9\x50\x87\x05\xB9\xB6\xAD\xD0\x69\x08\xB9\xE0\x8E\x0A\xB9\xD5\x3A\xBA\x62\x31\x00\x95\x3E\xEE\xB7\xFD\x5E\xAC\x00\x89\xB8\x2D\x03\xC6\xB5\xBA\x62\x38\x00\x0D\xB9\x0C\x20\xB3\x00\x0F\xB9\xCD\xB5\x00\x00\x3E\x00\x1C\xB9\x3D\x20\xB9\x00\x0F\xB9\xE8\xB6\x5A\x01\xE8\xB8\xA3\x07\xBF\x00\xEB\xB8\x24\xB8\x62\x9D\x29\xB9\xE1\x0A\xC4\x00\x2C\xB9\x2A\xB8\xB3\xB5\x13\xB9\xA3\xB6\x79\xB8\xAD\x0E\xFA\xB6\x67\x64\x55\x00\x35\xB9\xE1\x0A\xD1\x00\x37\xB9\x12\x30\x01\xB7\x0C\x5F\x5C\x00\x23\xB9\x69\x1D\xD9\x00\x0F\xB9\xF4\xB5\x8A\x0B\x44\xB9\x25\x23\xDF\x00\x0F\xB9\xE1\xAC\x68\x00\x3C\xB9\xE6\x11\xE4\xB3\xBF\xB8\x38\xB9\x01\xB6\x4D\x65\x4A\xB9\xAB\x6E\x0F\xB9\x07\xB6\xD7\x4A\x57\xB9\x0D\xB2\x0F\xB9\x7B\xB1\x7B\x00\x50\xB9\x2A\x15\xF8\x00\x3F\xB9\xE3\x0B\x66", + "\xB8\x9C\x60\x82\x00\x61\xB9\x1A\x5F\x9A\x3C\x6C\x23\xE5\xB8\x39\x92\x0C\x5F\x89\x00\x69\xB9\xB1\xAE\x6B\xB9\xE8\x09\x73\xB8\x49\x27\x90\x00\x71\xB9\xFB\x6C\x73\xB9\x18\xB9\x95\xB1\x59\x18\x97\x00\x78\xB9\x93\x5C\x27\xB5\x6D\xB9\xD9\xB3\x25\x63\x9E\x00\x7F\xB9\x69\x1D\x1F\x00\x81\xB9\xDF\xB3\xEF\x65\x1C\xB9\xAB\x00\x95\x3E\x7D\x02\xB2\xB4\x82\xB9\xE9\xB3\x84\x7D\x1C\xB9\xB3\x00\x8E\xB9\x3E\x34\x90\xB9\xF1\xB3\x13\x68\x1C\xB9\xBB\x00\x96\xB9\xF1\x58\x98\xB9\xA6\xB8\xD9\x64\xBD\x00\x1C\xB9\xC3\x00\x9D\xB9\x72\x25\x9F\xB9\x08\xAA\xD9\x64\xC5\x00\x1C\xB9\xCB\x00\xA5\xB9\x5C\x35\xA7\xB9\xB7\xB8\x25\x65\xCD\x00\x78\xB9\xD4\x00\xAD\xB9\x01\x0C\x27\xB5\x8C\x62\x0C\x2F\x45\xB4\xD6\x00\x95\x3E\x80\xB7\x59\xB4\xE2\x08\x2E\x00\x45\xB4\xD9\x00\x95\x3E\x2E\x01\xDD\x00\x95\x3E\xBC\x5E\xB8\xB9\xF2\x34\x45\xB4\xDE\x00\xC3\xB9\xA7\x9F\xC6\xB9\xA3\x07\xC8\xB9\xAE\x62\x9C\x61\xE3\x00\xCC\xB9\x5F\xA2\xCE\xB9\xE1\x0A\xD0\xB9\x94\x54\x6E\xB6\xD4\xB9\x0B\x01\xEC\x00\xD6\xB9\xE6\x11\xD8\xB9\xB0\x62\x9C\x61\xED\x00\xDB\xB9\x0F\x69\xDE", + "\xB9\x2A\x15\xE0\xB9\x58\x0C\x45\xB4\xF2\x00\xE4\xB9\x01\x01\xF6\x00\xE6\xB9\x13\x17\x8E\x62\x69\xB5\xB1\x90\x2F\xB9\xBE\x74\xE1\xB4\xF9\x18\xB5\xB7\x3B\x62\xFC\x00\xF4\xB9\x44\x92\xF6\xB9\xB7\x07\xCE\xB8\x99\x62\x01\x00\xA8\x3E\x4E\x9A\x55\x00\xB2\xB4\xF1\xB9\x94\xB6\x54\xAA\x02\xBA\xA3\x07\x5B\x00\x05\xBA\xCE\xB7\x6D\x7E\x09\xBA\x46\x6F\x0C\xBA\xD4\xB7\x04\x5F\x0F\xBA\xBF\x73\x11\xBA\x97\xB4\xD0\x0D\x19\x00\xA8\x3E\x50\x9D\x6D\x00\xFD\xB9\xB1\x16\x9E\xB4\x50\xB4\x14\xBA\x2A\x15\x72\x00\x16\xBA\xA4\xB4\x17\x6A\x24\x00\x21\xBA\x4B\xA8\x24\xBA\xAA\xB4\xD9\x64\x2A\x00\x28\xBA\x8F\x7C\x2A\xBA\xB0\xB4\x25\x65\x30\x00\x2E\xBA\x0C\x20\x84\x00\x30\xBA\xB5\xB4\x26\x69\x34\xBA\xD0\x81\x37\xBA\xBC\xB4\xB1\x10\x3A\xBA\x08\x6B\x37\xBA\xC3\xB4\xDA\x0B\xA8\x3E\x14\xB9\xED\x22\x96\x00\x27\xB5\x06\xBA\x34\xB1\xAA\x74\x3F\xBA\xBD\x8A\x37\xBA\x20\xB9\x4F\x00\x4C\xBA\x87\x93\x37\xBA\x27\xB9\xCD\x3E\x1A\xBA\xA3\x07\xA9\x00\x1D\xBA\x49\xBA\x47\xB1\x7E\x7A\x56\xBA\xE1\x0A\xAE\x00\x59\xBA\x39\xB9\x0C\x5F\x5F\x00\x44\xBA\xC5\xA2\x7A", + "\xB9\x5B\x03\x61\xBA\xE3\xA8\x64\xBA\xE1\x0A\xBB\x00\x66\xBA\xA5\x0F\x41\xB9\x9C\x60\x6D\x00\x51\xBA\xFD\x5E\xC3\x00\x37\xBA\x48\xB9\x73\x00\x72\xBA\x95\x9B\x37\xBA\xE1\xAC\x79\x00\x6A\xBA\xD4\x9C\x48\xBA\x4F\xB8\xE9\x99\x78\xBA\xF2\x22\xD6\x00\x37\xBA\x5A\xB9\x62\x98\x82\xBA\xF0\x1F\xDC\x00\x37\xBA\x7B\xB1\x8C\x00\x7D\xBA\x2A\x15\x34\xB5\xC9\x29\x5A\xBA\xC4\x9E\x9C\x61\x93\x00\x8E\xBA\x95\x83\x6D\xBA\xF7\xB9\x6C\xB8\x59\x18\x9A\x00\x96\xBA\x37\xB0\x98\xBA\xFE\xB9\x9A\xBA\xD0\x0D\xA1\x00\x9D\xBA\x0C\x20\xFA\x00\x9F\xBA\x1E\xBA\x7C\xB9\xD0\x0D\xA8\x00\xA4\xBA\x3D\x20\x02\x00\x62\xB5\xD3\x08\x7C\xB0\x30\x76\xAC\xBA\x69\x1D\x09\x00\xAF\xBA\x53\x01\x8A\xB9\x9F\x72\x34\xBA\xBC\x00\xA8\x3E\xAD\x01\x10\x00\x17\xB6\x92\xBA\x92\xB9\xB5\x7D\x34\xBA\xC4\x00\xBC\xBA\x94\x28\xBF\xBA\x99\xB9\x9C\x61\xC6\x00\x34\xBA\xCC\x00\xC5\xBA\x02\x27\xC7\xBA\xA0\xB9\x17\x6A\xCE\x00\x34\xBA\xD4\x00\xCD\xBA\xFE\x04\xCF\xBA\xA8\xB9\x19\x85\x34\xBA\xDC\x00\xD5\xBA\x02\x01\x28\x00\xD7\xBA\xB0\xB9\xD9\x64\xDE\x00\xA4\xBA\xE5\x00\xDC\xBA\x49", + "\x13\xB6\xBA\x22\x32\xE2\x08\x21\x00\x45\xB4\xE7\x00\xA8\x3E\xBD\xB9\xE8\xBA\x06\x04\x45\xB4\xEA\x00\xA8\x3E\x2E\x01\xEE\x00\xA8\x3E\x6F\x61\xE2\x08\x2F\x00\x45\xB4\xEF\x00\xF3\xBA\xDA\x58\xF6\xBA\xB2\x7F\xE2\x08\x30\x00\x45\xB4\xF4\x00\xFC\xBA\x75\x59\xFE\xBA\x43\x93\xE2\x08\x31\x00\x45\xB4\xF9\x00\x04\xBB\xD0\x59\x06\xBB\xE6\x11\x25\x00\xE2\x08\x32\x00\x45\xB4\xFE\x00\x0C\xBB\x6A\x24\xD5\x11\xF7\xBA\x0C\x10\x45\xB4\x03\x00\xD5\x11\x2E\x01\x07\x00\x17\xBB\x0A\x86\xC1\xB8\x0C\x5F\x08\x00\xD5\x11\x50\x9D\x35\x00\xAF\xB5\x94\x62\xC8\xB8\x33\x66\x0D\x00\x24\xBB\xA3\x07\x9C\xB5\xCC\xAC\x28\xBB\xE5\x6C\x25\x63\x12\x00\xD5\x11\x4E\x9A\xA3\xB5\x66\xAF\x30\xBB\x80\xB5\x60\x89\x34\xBB\xA3\x07\x45\x00\x17\xB6\x38\xBB\xCE\xAE\x72\xB5\x3B\xBB\xE1\x0A\x4B\x00\x3E\xBB\xDF\xB8\xE5\x77\x42\xBB\xE6\x11\x51\x00\x45\xBB\xDC\xB7\x49\x27\x2A\x00\x2C\xBB\x41\x6E\x27\xBB\x1F\xBA\x03\x7B\x48\xBB\x72\x70\x4B\xBB\xEA\xB7\xD5\x7E\x54\xBB\xE7\x93\x56\xBB\xF2\xB7\x0C\x5F\x3B\x00\x59\xBB\x4D\x1D\x68\x00\x5B\xBB\xFA\xAF\x12\x63\x41\x00\x5F", + "\xBB\x92\x94\x62\xBB\xFF\xAF\xB0\x86\x66\xBB\x3D\x20\x74\x00\x68\xBB\x67\xB3\x89\x68\x6B\xBB\x69\x1D\x7A\x00\x6E\xBB\x42\xBA\x53\x00\xD5\x11\x45\xBA\xF2\x22\x80\x00\xE7\xBA\xB0\x04\x19\xB9\x30\x93\x71\xBB\x2C\xB6\x6E\xBB\x20\xB9\x60\x00\x7F\xBB\x34\xB6\x6E\xBB\x54\xBA\x83\x43\x4F\xBB\xD8\xB7\x51\xBB\xDE\xB4\xD9\x64\x6B\x00\x89\xBB\xEC\x7F\x8B\xBB\x4D\xB1\x0C\x5F\x70\x00\x77\xBB\x79\x8A\x63\x1A\x6C\x23\x3F\xBB\x54\xB1\xF6\x7C\x95\xBB\xC8\x7B\x97\xBB\x8A\x02\x6F\xBA\x56\x61\x7E\x00\x84\xBB\xFD\x5E\xAD\x00\x6E\xBB\x48\xB9\x84\x00\xA3\xBB\xED\x22\xB3\x00\x6E\xBB\xE1\xAC\x8A\x00\x9C\xBB\x4E\x85\x7B\xBB\x7B\x08\x80\xBA\x3A\x64\x91\x00\xA9\xBB\xF2\x22\xC0\x00\x6E\xBB\x86\xBA\x97\x00\xB6\xBB\xF0\x1F\x43\xB6\x37\xBB\x66\xB9\x56\x61\x9D\x00\xAF\xBB\x2A\x15\xCC\x00\x9E\xBB\xF0\x02\xC0\xBB\x16\x91\xC3\xBB\x13\x17\x51\xB6\xC9\x29\x99\xBB\x75\xA4\x3A\x64\xAB\x00\xCA\xBB\x43\x8E\xC6\xBB\x60\x04\x75\xB9\xD2\x63\xD2\xBB\x2B\x76\xD4\xBB\x7C\xBB\xA9\xBA\x9B\x0B\xB9\x00\xD8\xBB\x92\x7F\xB1\xBB\x43\x08\xB1\xBA\x9C\x61\xC0\x00\xDF", + "\xBB\x69\x1D\xF3\x00\xE1\xBB\xBC\x09\xB8\xBA\xF7\x74\x66\xBB\xCD\x00\xD5\x11\xAD\x01\x8E\xB6\xBF\xBB\x94\xB8\x0C\x5F\xCF\x00\x66\xBB\xD5\x00\xEF\xBB\x37\x01\x39\xB7\xCE\xBB\x47\xB6\x66\x8A\x66\xBB\xDD\x00\xF8\xBB\x57\x23\xFA\xBB\xF9\xB3\xA4\x66\x66\xBB\xE5\x00\x00\xBC\x87\x06\x02\xBC\xAE\xB8\x49\x27\xE7\x00\x66\xBB\xED\x00\x07\xBC\xDE\x27\x09\xBC\x48\xAD\x47\x68\xD8\xBB\xF6\x00\x0F\xBC\xFF\x30\xE5\xB7\xC8\x05\xE9\xBA\x45\xB4\xF8\x00\xD5\x11\xEE\xBA\x4C\x07\xBF\xB9\x45\xB4\xFB\x00\x1C\xBB\x18\x01\x1F\xBB\x54\x8D\xF8\xBA\x45\xB4\xD3\x3E\x3C\x61\x04\x00\xD0\x3E\xBC\x5E\x27\x00\x00\xBB\x45\xB4\x05\x00\xD0\x3E\x2E\x01\x09\x00\x2C\xBC\xA3\x07\x2E\xBC\xEE\x34\x45\xB4\x0A\x00\x32\xBC\x5C\x10\x35\xBC\x26\xBC\xF1\x58\x45\xB4\x0F\x00\x3B\xBC\x2B\x0A\x3D\xBC\xE6\x11\x37\xBC\x4B\x09\x45\xB4\x14\x00\x42\xBC\x55\x30\x44\xBC\x2A\x15\x28\x00\x21\xBB\x50\x62\xD0\x3E\x50\x9D\x1F\x00\xCF\xB6\x4E\xBC\x29\xBB\x49\x27\x1E\x00\x51\xBC\xA3\x07\x24\x00\x54\xBC\xFF\xB9\xD7\xA2\xD0\x3E\x4E\x9A\x29\x00\x39\xB7\x55\xBC\x07\xBA\x33\x66\x29", + "\x00\x5F\xBC\x55\x5B\x62\xBC\x0D\xBA\x75\xB4\x67\xBC\xE1\x0A\x35\x00\x69\xBC\x12\xBA\x5A\x35\x6C\xBC\xD6\xB5\x6F\xBC\x17\xBA\x9B\x0B\x3B\x00\x59\xBC\xE1\x0A\x41\x00\x5C\xBC\xEC\xB8\x37\x01\x40\x00\x72\xBC\x2A\x15\x46\x00\x74\xBC\x25\xBA\x33\x66\x46\x00\x7F\xBC\x13\x17\x4C\x00\x82\xBC\x2B\xBA\xB4\x98\x86\xBC\xAD\xB4\x89\xBC\x31\xBA\xD9\x64\x52\x00\x8C\xBC\x0C\x20\x58\x00\x8E\xBC\x38\xBA\x17\x6A\x58\x00\x92\xBC\xF7\xAC\x95\xBC\x3D\xBA\xE0\x40\x99\xBC\x69\x1D\x19\xB7\x66\xAF\x63\xBC\x0A\xB8\xC3\x98\xD0\x3E\x78\xBB\xF0\x1F\x6A\x00\x18\xBC\xE6\x32\x7D\xBB\xF2\x6E\x9E\xBC\x25\x23\x71\x00\x95\xBC\x20\xB9\x71\x00\xAD\xBC\x04\x79\x95\xBC\x87\xBB\x00\x01\x77\x00\x78\xBC\xE6\x11\x7D\x00\x7B\xBC\x2D\xB9\x56\x61\x7C\x00\xB9\xBC\x72\x7E\xBC\xBC\x33\xB9\x25\x63\x81\x00\xA5\xBC\xCA\xB7\xA0\x3D\x6C\x23\xA2\xBC\x31\xB8\x25\x63\x88\x00\xC6\xBC\xAB\x77\xC8\xBC\x46\x33\xA0\xBB\x99\x62\x8F\x00\xB3\xBC\xFD\x5E\x4F\xB7\xA1\xBC\xE2\x08\x48\xB9\x95\x00\xD5\xBC\xED\x22\x9D\x00\x95\xBC\xE1\xAC\x9B\x00\xCE\xBC\x27\x8E\xA9\xBC\xEC\x32\xB3", + "\xBB\x28\x76\xDC\xBC\xF2\x22\xAA\x00\x95\xBC\x86\xBA\xA8\x00\xE8\xBC\xF0\x1F\xB0\x00\x95\xBC\x7B\xB1\xAE\x00\xE2\xBC\x2A\x15\xB6\x00\xD0\xBC\x84\x61\xC8\xBB\x25\x65\xB5\x00\xF4\xBC\xA4\x97\xF7\xBC\x38\x75\xD6\xBB\xD0\x0D\xBC\x00\xFC\xBC\x02\x9B\xFE\xBC\xDD\xBA\x00\xBD\x9B\x0B\xC3\x00\x03\xBD\x0C\x20\xA8\xB7\xC9\x29\xCA\xBC\x83\xA4\x25\x63\xCA\x00\x0A\xBD\xD7\x9D\xE4\xBC\x0E\xBD\x60\x73\x96\x9A\x12\xBD\x69\x1D\xBF\xB7\x53\xB9\x01\x01\x15\xBD\xE0\xB3\x9B\x0B\xD8\x00\x92\xBC\xDE\x00\xD0\x3E\xAD\x01\xE4\x00\x95\xBC\x40\xB6\x26\x61\x92\xBC\xE6\x00\x23\xBD\x18\x58\x95\xBC\xFC\xBB\xE8\x00\x92\xBC\xEE\x00\x2B\xBD\x9E\x58\x95\xBC\x4E\xB6\x5C\x6D\x92\xBC\xF6\x00\x32\xBD\x6D\x59\x95\xBC\x55\xB6\x01\x01\xF8\x00\x92\xBC\xFE\x00\x39\xBD\xC2\x92\x95\xBC\x5C\xB6\x8E\x04\xC0\x0D\xB9\x27\xC0\x0D\x6F\x23\x3C\xB8\x29\x00\x1A\xBC\x18\xB4\xC0\x0D\x1E\xBC\x01\x01\x4B\xBD\xF0\xBA\xC9\x75\xC0\x0D\x2E\x01\x10\x00\xC0\x0D\xBC\x5E\x51\xBD\xC9\xB9\x7E\x73\x54\xBD\x00\x28\x57\xBD\xB5\x83\x2F\xBC\x9C\x61\x16\x00\x5C\xBD\xF0\x29\x5E\xBD\x0C", + "\x73\x08\xBB\x45\xB4\x1B\x00\x63\xBD\x67\x0C\x65\xBD\x69\x94\x11\xBB\x45\xB4\x20\x00\x6A\xBD\xA5\x0F\x6C\xBD\xF9\x77\xE2\x08\x6A\x67\x8B\x64\x71\xBD\x50\xBD\x73\xBD\x13\x17\x2A\x00\x4F\xBC\x56\x61\x2A\x00\xC0\x0D\x50\x9D\x09\x00\xCB\xB8\x97\x33\xF8\xB9\x2B\x67\x80\xBD\xA3\x07\x0E\x00\x83\xBD\xA1\x62\x36\xA7\x25\x63\x34\x00\xC0\x0D\x4E\x9A\x13\x00\xDC\xB8\x8E\x33\xD4\xB8\xF2\x72\x8F\xBD\x04\x73\x92\xBD\x90\x33\x6A\xBC\x2E\x9D\x96\xBD\xCB\x69\x98\xBD\x92\x33\x46\xBB\x3A\x64\x46\x00\x9C\xBD\x0F\xBB\x9E\xBD\x7C\xBD\x4C\xBB\x98\xB4\x87\xBD\xC2\xB5\x8A\xBD\x02\x01\xA6\xBD\x54\xA7\x83\x7C\xA3\xBD\x67\x7A\xA5\xBD\xA1\xB5\x9F\x9B\xB0\xBD\xE7\x61\xB2\xBD\xA7\xB5\xAE\x6B\xB5\xBD\xB7\x91\xB7\xBD\xAD\xB5\xCA\x78\xBA\xBD\x0C\x20\x42\x00\xBC\xBD\xC7\xB6\xC1\x7C\xBF\xBD\x3D\x20\x48\x00\xC2\xBD\xCD\xB6\x12\x63\x6F\x00\xC5\xBD\x69\x1D\x4E\x00\xC8\xBD\xD3\xB6\xAF\x6A\x46\xBD\x04\x95\x3C\xB8\xAD\xBD\x4A\xBA\x3A\x64\x7C\x00\xCC\xBD\x25\x23\x3B\xB8\x66\xAF\xD5\xBD\x17\xB8\x12\x63\x82\x00\xD9\xBD\x6E\x22\x61\x00\xCF\xBD\x59\xB2\x75", + "\x77\xA9\xBD\xBF\x73\xAB\xBD\x93\xBD\x8C\xBB\x17\x6A\x8D\x00\xE7\xBD\x2A\x15\x6C\x00\xE9\xBD\x99\xBD\x94\xB3\x49\x27\x92\x00\xD2\xBD\xE1\x0A\x51\xB8\xC9\x29\xDD\xBD\x9A\xBB\xBA\x62\x99\x00\xF6\xBD\xE6\x11\x79\x00\x76\xB8\xFA\xBD\x01\x96\x9B\x6D\xE1\xBD\xFD\x5E\x81\x00\xE4\xBD\x48\xB9\xA6\x00\x05\xBE\xED\x22\x87\x00\xE4\xBD\xFF\xB4\xFE\xBD\x2A\x15\x8D\x00\xD4\xBD\xE6\xBC\x25\x63\xB3\x00\x0B\xBE\xF2\x22\x94\x00\xE4\xBD\x86\xBA\xB9\x00\x17\xBE\xB3\xA8\xE4\xBD\x11\xB5\x10\xBE\x50\x87\x01\xBE\xF9\xBC\xD9\x64\xC6\x00\x21\xBE\x31\x90\x23\xBE\xA1\xBA\x9B\x0B\xCD\x00\x27\xBE\x54\x73\x29\xBE\x1C\xB6\x49\x27\xD4\x00\x2D\xBE\x3D\x20\x96\xB8\xF9\xBD\x7B\xB8\x78\xA0\x33\xBE\x91\x75\x13\xBE\x45\xB7\xD0\x0D\xE2\x00\x39\xBE\xA3\xAB\x3B\xBE\x8B\xB8\xE3\x66\xBF\xBD\xEF\x00\x48\xBD\xFE\x56\xE4\xBD\x27\xBD\x79\xB6\xBF\xBD\xF7\x00\x46\xBE\x7E\x82\xE4\xBD\xFC\xBB\xF9\x00\xC5\xBD\x4D\xBE\x0B\x01\xB2\xB8\xDC\xBD\x03\xBC\xC1\x75\xA3\x24\x52\xB5\xA3\x24\xAD\x01\xE0\x00\xE4\xBD\x3C\xBD\x54\x29\x59\xBE\x19\x28\x5B\xBE\x29\x67\xE4\xBD\x44", + "\xBD\xDC\x27\xA3\x24\x63\xB5\x63\xBE\x34\x58\x3C\xB8\x2B\x00\x4C\xBD\xAC\x93\xA3\x24\x4F\xBD\x00\x01\x6D\xBE\x52\xBD\x4A\xB4\xA3\x24\x2E\x01\x21\x00\xA3\x24\x98\x61\x27\xBC\x81\xAA\x76\xBE\x8A\x02\x79\xBE\xAD\x74\x60\xBD\x3F\x72\xA3\x24\x9A\xA8\x03\x00\x86\x8F\x00\x00\x04\x00\x01\x82\x80\x0B\x17\x2B\x81\x80\x01\x07\x81\x9F\x7C\x85\x84\x86\x85\x01\xAB\x09\x87\x81\x1B\x8B\x80\x87\x0E\x90\x9A\x80\x0C\x16\x83\x82\x80\x0A\xB0\x1E\x83\x86\x8F\x88\x8D\x87\x10\x92\x8A\x92\x15\x93\x87\x93\x7F\x1B\x90\xB1\x03\x92\x80\x93\x83\x1A\x34\x88\x90\x8F\x90\x99\x95\x96\x00\x33\x3F\xBC\x91\x9A\x86\x19\x9C\x00\x36\x83\xBA\x07\xAF\x98\x03\xA0\x88\x2C\x3F\xA9\x7B\x9F\x94\xA3\x83\x1D\x47\x85\x14\xA7\x9A\x8B\x79\x28\x85\x5A\x8A\x91\xAA\x8B\x73\xAC\x8C\xAB\x03\xC0\x19\xA6\xB9\x88\x88\x7D\xAF\x07\xE1\x87\x83\xB7\x80\x30\xB7\x86\x68\x82\x85\x27\xA6\x07\xB8\x94\x85\xFD\x70\x83\x9D\xB2\xB7\x9E\x30\xBF\x3D\xF9\x8B\x3C\xB8\xC2\x8F\x00\x29\x0A\x84\xF3\xBF\x96\x4D\xC5\xBC\x00\x51\x0C\xCA\x8F\xAA\x81\x04\xC9\x83\x92\x83\xB4\xA3\x86\x76\xC9\xBD", + "\x2B\x9A\x87\x9C\xC7\x8F\x07\xCF\xC0\xA8\x3F\xF3\x66\xC8\xBD\x2B\xB7\xCD\xAA\x10\x95\x2E\xC2\x82\xBA\xD3\x9F\x42\xB3\xD6\xA2\x29\xD6\x94\xAC\x88\x0D\xBB\x81\xA1\xC2\x83\xD2\x80\x47\xE0\x44\xE8\x04\xE2\x8B\xD3\x80\x11\xE4\x00\x4B\xC1\x8D\xE1\x85\x44\xE9\x98\x6E\x53\xEE\x86\xEA\x86\x10\xEC\xED\x1C\xBF\xB1\x3F\xEB\x8C\x3A\xF0\xA7\xB8\xE2\xA7\xF0\xDA\x82\x38\xF6\x8D\x7A\x6F\xD5\xE2\x82\x1B\xF9\xC2\x85\x86\x37\x70\x44\x20\xFA\x71\x77\x40\x0E\xFE\x53\x6A\x42\x12\x02\x80\x87\x53\x01\xEC\x7E\x08\x74\x84\xFF\x47\x4A\x1D\x83\x07\x4D\x25\x80\x79\x07\x45\x19\x82\x6F\x0A\x7B\x18\x87\x40\x93\x1B\x87\x58\x44\x4B\x1F\x8C\x73\x4F\xEF\x23\x82\x41\x26\xB6\x6A\x66\x83\x40\x51\x18\x7D\x6F\x8A\x0A\x70\x3E\x89\x40\x9E\x31\x85\x73\x89\x0A\x56\x16\x8C\x7D\x07\x4E\x12\x03\x6D\x1C\x96\x53\x2B\x83\xEC\x5B\x18\x74\x02\x44\x83\x46\x90\x92\x40\xA8\x5A\x28\x93\x54\xAD\x5A\x43\x18\x4F\x91\x92\x41\x25\x3B\x80\x01\x2E\x89\x5A\x87\x4B\x1A\x8A\xDB\x7F\x41\x25\x98\xB7\x24\x98\x5C\x44\x71\x28\x99\x7A\x42\x49\x21\x9D\x2C\x96\x32\x89\x92\x43\x1D\x13", + "\x9E\x91\x42\x1A\x61\x84\x3E\x9B\x5F\x07\x7E\x12\x9C\x77\x00\x30\x11\x9A\x32\x83\x89\x67\x40\x21\x87\xBF\x42\x17\x91\x79\x95\x96\x54\x34\x78\xBF\x85\x9B\x40\x8A\x1D\x95\x87\x40\x93\x99\x9F\x99\x5E\xD7\x19\xA4\x77\x8C\x02\x52\x2E\xA6\x82\x07\x50\x14\xA6\xA6\xA3\xA8\x5E\x36\xA9\xE3\x56\xA2\x42\x26\xAB\xA0\x8D\xAB\xAB\xA7\xBA\x91\x4D\x39\xB4\xB0\x7E\xAC\x00\xA2\x39\xA8\x8F\x41\x41\x21\x9C\x39\xB0\xFB\x41\x4A\x29\x9F\x9F\x82\x40\x11\x98\xF3\x0C\xB8\xA9\x40\xB1\x10\xBC\xAB\x40\x9F\x21\x9A\x3F\x7B\x00\x18\x1A\x40\xAF\x02\x78\x21\xA6\x42\xA0\x21\x92\x02\xB8\xA0\x50\x48\x00\xBB\x03\x64\xB1\x42\x2F\xE7\x87\x4D\x25\x98\x0A\x30\xB2\x40\x7A\x10\x3A\xB1\x42\xBC\x00\x04\x35\xBF\x40\x9E\x21\x92\x06\xBF\xD9\x50\x48\x04\xC2\x00\xCA\x33\xC2\x40\xA1\x21\x9A\x04\xC2\xE8\x60\x0C\xC0\x44\xD0\x0F\xC1\x40\x14\x61\xA2\x08\xC0\x85\x07\x69\x07\xC6\x42\xD6\x1A\xB3\x41\x0B\x3F\x61\x02\x53\xB5\x1B\x6B\x08\xC3\x00\xEC\x4D\xB0\x00\xCA\x0A\x6E\x0B\xCB\xB0\x1A\x6E\x08\xC1\x52\xFC\x48\xCD\x52\xCC\x34\xC7\x4F\x0B\xCD\xB6\xB1\x43\x0F\xCE\x10\x77", + "\x0E\xCC\x7B\x41\xC3\x40\x0C\xD1\x9B\x84\x58\x0C\xD2\x0A\x7C\x0B\xD2\xA8\x84\xA7\xCF\x4D\x45\x58\xCE\xA6\x55\x0F\x54\xC8\xB7\xD5\xA5\x51\xC1\x4D\xD0\x7F\x50\xF1\xA6\x56\x10\x61\xC3\x46\x13\xD8\xB0\x99\xD2\x43\xD9\x01\x41\x5D\xD7\x65\x00\x07\x1D\xDA\x40\x4B\x30\xDD\xAD\xD1\x00\x36\xCA\x42\x08\x69\xF2\xD1\x4E\xCC\x88\xEC\xC3\xD2\x42\x24\x05\xEE\xD4\x51\x89\xC3\xB2\xCF\xD3\xE5\x4E\xE8\xDD\xE4\x80\xF2\xCC\xD7\x41\x28\x16\xE7\x64\xE6\x65\xC2\xB0\xE0\x4B\x0A\x6A\x0E\xE5\x5E\xA0\xEA\xDF\xDD\xE8\x76\xDB\xBB\xEA\xEA\x87\xEC\xC9\xEA\xE1\x00\x34\x09\xCB\xE9\x68\x4C\x1E\xDD\xAD\xA1\xF2\xC6\xED\xCD\xB8\xD6\x5D\x13\xC8\x07\x4F\x1B\xEE\xE8\xA1\xFF\xE2\xD1\xF0\x44\x50\x14\xF0\xA8\xC7\xFE\xEF\x4C\xE5\x64\xF0\xEB\x47\x14\xCF\xC2\x45\x15\xF4\x2C\xCA\xF3\x43\xE6\x71\xCF\xE1\x4E\x15\xD9\xC1\x48\x14\xF7\xC3\x9E\xF8\xDB\xDD\x97\x59\x15\xF8\x00\x5B\x28\xF0\xE2\xFA\x75\xCC\xF1\x4C\x17\xEF\xDE\x12\xFD\xE8\x35\x12\x51\x9B\x17\x1F\x6C\x3D\x37\x72\x4D\x7E\xB2\x21\x4E\x0C\x01\x8C\x7E\x42\x63\x14\x81\x9F\x36\x2A\x81\x68\x2D\x0C\xC2\x50\x40", + "\x83\x81\x29\x1E\x64\x02\x25\x83\x41\x07\x35\x82\xA2\x35\x0B\x82\xEC\x30\x1C\x06\x81\x2A\x83\x81\x15\x35\x83\x31\x3D\x0C\x08\xA8\x80\x01\x7B\x23\x80\x00\x25\x82\x21\x69\x2C\x8A\x23\x42\x2B\x85\x7A\xB4\x7E\x1F\x0B\xB1\x81\x20\xD9\x34\x80\x22\x8D\x09\x80\x0E\xE2\x70\x01\x02\x13\x09\x32\x10\x3C\x84\x00\x40\x3F\x86\x85\x14\x17\x86\xE1\x7A\x23\x02\x47\x87\x20\x90\x43\x22\x89\xCF\x2D\x8B\x41\x1C\x10\x8B\xD7\x74\x72\x02\x54\x83\x22\x15\x99\x8F\x26\xEF\x1A\x8B\x20\xA4\x1D\x88\xEF\x56\x79\x03\x30\x82\x23\x8C\x24\x8A\x3D\x98\x2C\x1A\x8C\xE4\x56\x78\x04\x6E\x81\x20\x1C\xB0\x8F\x26\xFB\x27\x8A\x20\xB4\x15\x8E\xCC\x27\x09\x8E\x00\x3B\x8A\x89\x01\x5F\x8D\x40\x3C\x12\x90\x96\x6E\x05\x90\x87\x9F\x24\x83\x0A\x91\x60\x84\x49\x04\x3D\x35\x05\x90\x05\xB7\x2F\x27\x0B\x54\x95\x19\x8D\x83\x59\x0F\x10\x99\x89\x9F\x22\x44\x92\xD5\x01\x94\xE0\x44\x04\x94\x85\x0A\x8D\x45\x94\x9D\x1A\x10\xD1\x88\x45\x42\xA8\x3A\x89\x3A\x54\x90\x39\x33\x9E\x8A\x22\x91\x0E\x96\xA5\x8A\x23\x94\x43\x88\x6F\x75\x16\x94\x3D\x57\x05\x93\x25\xAE\x9F\x27\x61\xB4", + "\x91\x2F\xF4\x07\x98\x0B\xE0\x0A\x99\x60\x87\x20\x4C\x94\x9D\x1E\x2A\xA1\x79\x0D\x56\x9C\x92\x21\x6B\x54\x91\x01\x59\x0A\x21\x4D\x8F\x9F\x20\x70\x1E\x9B\x15\xBF\x25\x4E\x4A\x8D\x04\x9C\x07\x2B\x98\x31\x90\x27\x0E\x4D\x96\x9B\x20\x80\x54\x92\x05\x70\x93\x20\x73\xBD\x92\x23\x7F\x0A\x9C\x19\x8A\x2A\x50\x4A\x9E\x04\x9F\x02\x3E\x9F\x1A\xB4\x76\x10\x81\xB1\x8A\x21\xA1\x53\x9D\x5E\x26\x08\xA1\x80\x32\x9F\x9C\x03\x2D\x11\x35\xCC\x90\xA2\x79\x72\x62\x23\x2F\x15\xA0\x00\x17\xAF\x9E\x88\x16\x13\xA3\xDF\x9B\x54\x25\xB8\x02\xA4\x92\x8B\xA4\x88\x9F\x08\xA7\x3A\x8A\x2E\x54\x4A\x81\x0D\xA5\xEC\x28\x16\x4C\x83\xA8\x59\x30\x4A\x08\xA7\x2C\x91\x16\x3D\x9C\xA7\x21\x69\x54\x93\x0A\x40\xB2\xA3\x41\x39\x13\xA9\x94\x9C\x59\x4C\x5C\x02\xA6\x42\x80\x04\x0C\x91\x80\x61\x18\x0E\xBC\x8C\xBA\x07\x82\xAA\x88\x2E\x0E\xAA\x10\x28\x19\x56\xCA\x87\x5E\x4A\xB0\x0D\xAB\x0A\x38\x0C\x58\x8A\x2F\x19\xB1\xBF\x25\x60\x94\x9A\x0C\x5A\x87\x22\x11\xB5\x87\x26\x1A\x6E\xAA\x21\xC4\x14\x94\x11\xB9\x83\x24\x11\x76\xA3\x21\x37\x79\xAD\x55\x30\x4E\x11\xA9\x03", + "\x37\x11\x60\x82\x24\x1D\xA6\x83\x27\x06\xFE\x74\x91\x26\x22\xA8\x3C\x99\x6C\x18\x98\x0A\x30\xB2\x01\x94\x9F\x12\xCA\xAC\x3A\x1E\x98\xA7\x22\x66\xF5\x21\x4D\x52\x22\xA3\x8F\x32\x78\x1D\x56\xA3\xB3\x20\x0E\x8A\xAE\x2A\xAC\x07\xB5\xCC\x2B\xB4\x33\x30\x73\x12\xB6\x2C\x86\x00\x15\x0A\x2B\x8E\xD6\xB2\x81\x4C\xBA\x18\xB7\x6B\x82\x2D\x01\xDD\x95\x89\x69\xB1\x21\x4D\x30\x1E\xBC\x84\x0A\x06\xBF\x35\x99\xBF\x35\x98\x47\x12\xB8\x8C\x82\x22\x03\xCF\xAF\x8C\x72\x8A\x29\x8B\xE1\xB1\x26\x19\xD5\xA5\xA6\x42\x21\x09\xBA\x3D\x9B\xB9\x43\x61\x55\x19\x78\xAF\xAA\x22\x14\x25\xBE\x90\xE7\xA3\x23\x7A\x14\x9C\x1B\xF5\xB6\x8C\x76\x2F\x0F\xBD\x6F\xFD\x81\x4D\x71\x36\xBA\x66\x36\x1A\xBD\x7C\x82\x29\x90\xEF\x9B\x22\x1D\xFF\xAC\x65\x0F\x02\xC1\xBB\x05\x61\x49\x1E\x7E\xA2\xBF\x41\x44\x0F\xBD\xA9\xBE\xB1\x20\x9E\x86\xC2\x46\x79\x19\xC1\x61\x4C\x0C\xC1\xA2\xA6\x95\x98\x00\x0A\x0A\xDE\xAC\x3B\x0A\x20\xCF\xB0\x8B\x61\x47\x01\x12\xED\x5C\x85\x5A\x0F\xBC\x7A\x17\xC0\x01\x5C\x9A\xC0\x22\x0D\x0E\xC4\x74\x86\xC0\x0C\x19\xC3\xC1\x20\xCE\x92\xC2\x55", + "\x13\x0A\xC7\x84\xAC\x3E\x0C\xEF\xAE\xA4\x00\x34\xC1\xC8\xF6\x97\x33\x03\x45\xC1\x23\x54\xB2\x6F\x0D\x24\xFF\xC0\x00\xD8\x97\xC6\x42\x23\x01\xCA\xF8\xAC\x80\x0F\x29\xC2\x20\x8D\xE1\x9A\xCB\x83\x2A\x05\xCB\xA8\xAC\x67\x1F\x61\xC1\x20\x1A\xED\x9D\xCC\xDF\x7D\xCB\x94\xAC\x66\x11\x0A\xD7\xC9\x9F\x70\xC2\x21\x0E\x68\xCC\x3C\x47\x2C\xCB\xC9\x3F\x25\xA1\x9E\x81\x20\x08\x3E\xEC\x85\x12\x7F\xD4\xC5\x44\xD6\xB1\x27\x23\x32\xCC\x3D\x9C\x16\xC9\x83\x87\x2B\xD0\x21\xC4\x2F\x09\x8F\xCC\x85\x29\x12\xD1\xC4\x9A\x9E\xA4\x65\x1A\x37\x09\xA6\x86\xCE\x14\x4E\xEA\xC6\xD3\x94\x9F\x0B\xA8\x8C\xD0\x01\x5B\x26\xD2\xCC\x3F\x29\x58\x25\xE7\x0B\xD4\x4B\xC1\x20\x18\x76\xD3\xD1\x5A\x61\x4F\x0D\x5A\xCE\xCA\x21\xC8\x19\xD5\xA7\x87\x2D\x5A\x4A\xB7\x0E\xD0\x85\x5D\xC8\xC0\x50\x19\xD1\x9F\x29\x5C\x92\x80\x08\xDB\x40\x07\x1A\xD8\x88\x17\x1D\xD9\x0A\x25\xAF\xA0\x80\x09\x10\x69\xC2\x20\x12\xD5\xCA\x22\x37\x58\xD7\x20\xB8\x9B\xDA\x12\xDE\xC1\x21\x26\x61\xD7\x21\x72\x24\xDB\x20\x7B\xBB\xDB\x26\x69\xD4\x58\x76\xC3\x24\x1D\xEF\xC2\x20\xC7\x14\x94\x14", + "\x5F\xC0\x04\x15\xF6\xC2\x23\x3C\x42\xD3\x20\x1C\x3F\x26\x06\xF6\x7B\x22\x2B\x5D\xC0\x66\x16\xB2\x66\xE0\x0A\x39\x05\xC2\x9A\x21\x17\x2E\xFC\x61\x20\xB5\x1D\xCB\xCF\x2C\x62\xE2\x5D\xF6\xD3\x23\xB3\x64\x8A\xCC\x3A\x07\xE1\x89\xD0\x26\x16\x1A\xF1\x64\xCB\x24\xE1\xE2\x93\xCA\x27\x16\x01\xE1\x21\x2E\x29\xEC\x85\x1D\x11\xB3\xDB\xBA\x1E\xDE\xCC\x7B\x1F\xCE\x9B\xDB\xB3\xDB\xC2\x1A\xE4\xCB\x02\x05\x0A\x13\xCA\x26\xE7\xA4\xB4\x92\x32\x5D\xCA\xC8\x99\x49\x05\xE8\x07\x33\xA8\xD2\xAD\xB1\x4D\x69\x0C\xEC\x3D\x11\x10\xE9\x3F\x90\x23\xEA\x81\x27\x83\xDB\xDC\x17\xE8\x0B\x99\x0A\xEA\x23\xC7\xEF\x27\x33\x9B\xD9\x39\x62\xE6\xC1\x10\x25\xEA\xCA\x5C\xE9\xB8\x25\xEE\x12\xE9\x61\x69\x07\xED\x5E\xD7\x2A\x74\x94\x96\x1E\xB6\xEC\xD0\x06\x78\xF2\xEB\x4F\x5D\xBC\xD4\x8D\x3F\x1E\xEF\x1F\xF8\x05\xE0\xF1\xEA\x20\x33\x9B\xD8\x01\x5B\x1D\x30\x7B\x40\x0B\xF1\xB3\xCA\x23\xBE\xDB\xD1\x01\xE4\xF1\x9C\x3C\x24\x15\xF2\xEF\xF5\x32\x63\xE6\x83\x2D\xE8\x96\x50\x0F\xF3\x03\x3D\xE9\x40\x05\xC5\xF0\x88\x23\x03\xF4\x02\x25\xF7\xB0\x58\x08\xF4\x81\x2A\xF0", + "\x00\x93\x9B\xD8\x0B\x30\xF1\x20\x05\x2C\x38\x0C\x78\xEA\xCB\xED\x99\xCD\xF5\xA2\x3C\xF3\xA4\xEC\x29\x0D\xED\x81\x27\xF7\x53\x9B\xDF\x07\xC7\xF2\xF4\xE0\x71\x0B\xF8\x00\x37\xF0\x96\xDB\xC8\x0B\xF1\xF3\xC3\x59\x3C\x38\xEB\x8F\xB7\xF6\xC5\xF1\xAD\x5B\xFA\xF6\x00\x17\xFB\x8C\xE5\x4B\xA7\xB8\x60\x22\x2C\x07\xFE\xF7\x2C\x87\x10\xDE\xF0\xF0\xF4\xF5\xD4\x92\x0C\xEF\xEC\x3D\x24\x73\xF9\xFD\x81\x19\xCB\xFC\x03\x1C\x06\xD1\x7C\x1E\x9B\x05\x7D\xB7\x74\x66\x00\x82\x10\x75\x03\x80\x2C\x43\x0A\x06\x8C\x4E\x61\x2E\x07\xF9\x7C\x42\xAB\x01\x7C\xFD\x72\x10\x78\x69\x80\x01\x18\x08\x0C\x86\x60\xB4\x0F\x80\x04\x51\x26\x91\x0D\x81\xAC\x6C\x0B\x20\x84\x69\xEB\x70\x38\x1A\x1A\x09\x13\x86\x60\xC4\x0C\x7F\x96\x78\x82\xFC\x6D\x82\xAC\x6E\x0C\x30\x85\x7F\x03\x15\x53\xDB\x6E\x0A\x34\x8F\x71\xD8\x07\x83\xA9\x7F\x13\x3A\x8A\x81\x00\x08\x0B\x3D\x8F\x6B\x07\x12\x0E\x40\x86\x7B\xB1\x61\x26\xC2\x07\x84\xF7\x54\x44\xEC\x06\x81\x31\x8B\x6B\x94\x4C\x0C\x50\x82\x33\xF5\x04\x85\x38\x82\x10\xC5\x6B\x6D\xD6\x04\x82\x02\x1F\x0D\xC7\x70\x30\xFE\x07\x82", + "\x03\x1F\x6C\xDB\x61\x0E\x62\x81\x10\xEA\x05\x86\x10\x16\x00\x56\x05\x4E\x17\x81\x10\xDA\x64\x84\xEC\x0D\x86\x00\x05\x0F\x70\x8A\x10\x0E\x03\x87\x51\x75\x87\x00\x06\x6E\x44\x87\x0F\x7A\x80\x00\x5C\x03\x2E\x10\x16\x01\x80\x8B\x75\x55\x80\x31\xEA\x29\x88\x9C\x7A\x10\x0B\x02\x89\xF1\x20\x11\x1E\x0D\x88\x66\x7D\x85\x1B\x31\x26\x0D\x06\x89\x02\x14\x7F\x03\x17\x01\xA0\x8F\x2F\x10\x16\x02\x9A\x86\x51\x10\x1D\x03\x37\x74\x84\x19\x05\x8A\x79\x7C\x6A\x2F\x09\x8A\xB1\x82\x10\xAC\x8F\x73\x44\x80\x02\xB0\x89\x66\xC3\x26\x03\xB4\x8B\x47\xB7\x89\x74\xDB\x67\x02\xB0\x8C\x7D\x80\x3D\x03\xB4\x83\x55\xC1\x84\x75\x94\x4F\x02\xC5\x8C\x1E\x45\x09\x8C\xAB\x85\x5B\x94\x47\x03\xCF\x8C\x42\x4D\x02\x8D\x0A\x1B\x8C\xBF\x54\x49\x3F\x07\x8D\x06\x65\x05\xDA\x87\x10\xDC\x8D\x43\x61\x27\x04\xBB\x8C\x1E\x5D\x0F\x8B\xD3\x8A\x10\x4C\x4B\x6D\x4E\x00\x8E\xAC\x64\x06\xE3\x83\x10\xE5\x80\x00\x84\x7F\x71\x1A\x16\x05\xF2\x8F\x71\x6C\x05\x8F\xB6\x85\x46\x61\x2E\x05\xFD\x88\x84\x03\x14\x07\x00\x91\x10\xF7\x88\x79\x44\x86\x06\x05\x91\x85\x1A\x1C\x07\x09", + "\x90\x00\xF7\x8E\x47\xDB\x6E\x06\x0F\x92\x33\x84\x03\x91\xF7\x8C\x7A\xFA\x80\x11\x76\x09\x91\x2C\x3C\x08\x1C\x92\x49\x11\x80\x8B\xD2\x71\x3A\x94\x04\x8B\x4A\x67\x8F\xC4\x7F\x91\x0A\x17\x08\x22\x93\x2C\x9D\x05\x92\x21\x21\x26\x8F\x03\x93\x80\x35\x0A\x36\x97\x10\xD8\x74\x84\x97\x09\x8E\x2C\x4D\x0A\xEC\x8B\x8D\x3F\x12\x7E\x30\x95\x6E\x42\x9E\x81\x45\x94\x8E\xCD\x49\x82\xA1\x3A\x11\xA5\x08\x92\xEC\x1B\x0B\xB4\x82\x8A\x01\x92\x4C\x50\x96\x3D\x1A\x1E\x0A\x54\x9C\x42\xC5\x07\x95\xED\x87\x4D\x6C\x2A\x93\xA1\x3F\x0C\x3D\x93\x10\x08\x89\x94\x03\x1F\x0B\x66\x96\x3D\xD7\x09\x96\x02\x1F\x66\x44\x87\x0C\x5F\x96\x60\xDF\x0C\x92\x63\x98\x4F\x61\x20\x0D\x6F\x94\x3B\xE8\x02\x97\x01\x12\x68\x44\x88\x0D\x7F\x94\x44\xF0\x02\x98\x00\x05\x69\x06\x94\x14\xE0\x07\x97\xAC\x68\x0F\x62\x96\x94\x1D\x54\x49\xE9\x00\x99\x1F\x72\x00\x47\x18\x95\x0A\x92\x84\x5B\x94\x3B\x1A\x12\x0F\x98\x9D\x98\x01\x1C\x00\x9B\x9B\x97\xFA\x6F\x99\x44\x4A\x11\xFB\x03\x9A\x10\x9B\x88\xA7\x94\x99\x3D\x54\x49\x04\x0D\x05\x92\x7C\x42\x20\x07\x14\x2D\x9F\x13\x46\x5B", + "\x6D\x0D\x06\x9B\x93\x86\x60\x29\x0A\x9B\xA8\x91\x10\x5F\x84\x84\x16\x00\x9C\x8E\x87\x10\x1E\x0A\x9C\x02\x10\x30\x32\x07\x14\xCA\x8E\x6C\x61\x20\x02\xCE\x90\x77\x0A\x18\x02\xD7\x90\x00\x00\x3B\x14\x74\x82\x9B\x03\x17\x87\x6C\x92\x10\x2A\x0B\x9D\x53\x52\x03\xDB\x90\x30\x42\x02\x9D\xC5\x93\x88\x61\x24\x03\xE6\x90\x11\x3C\x09\x9E\x10\x1A\x04\xEC\x90\x9E\x90\x84\x49\x3E\x01\x9F\x0A\x16\x04\xF4\x90\x51\xF7\x9E\x94\x34\x51\x26\x48\x0B\x9D\x4A\x61\x05\xFF\x97\x10\x5A\x04\x9C\x0A\x1E\x03\x3F\x1C\x03\x2E\x77\x10\x53\x0B\x9D\x0D\x76\x60\x32\x3E\xA0\x0A\x1F\x03\x11\xA3\x10\x56\x0B\x9D\x17\x74\x62\xDB\x9B\x71\xC3\x2A\xA1\xF8\x94\x9A\x20\x72\x3B\x28\xA3\x2C\x40\x0F\xA0\x1B\xA2\x10\x5B\x01\xA2\x2A\x7A\xA2\x3F\x14\xA2\xDB\x6C\x05\x09\xA3\x10\x5E\x00\xA3\x2C\x41\x04\xAD\x83\x9E\x01\x1F\x05\x06\xAC\x1E\x63\x01\xA0\x03\x1C\xA3\xB8\x8E\xA3\x00\x08\x06\x41\xAC\x42\x6B\x04\xA4\x02\x16\xA4\xC2\x84\x84\x71\x0B\x9D\x9C\x9F\x9A\x0A\x13\x07\x0C\xA8\x2C\x86\x11\x26\x7B\x04\xA5\xEC\x1C\x07\x59\xA5\xA4\xD4\x8B\x6D\x85\x0E\xA5\x2C\x45\x08", + "\x61\xAF\xA4\x68\x78\x93\x66\xA6\x60\x8E\x09\xA6\x01\x10\xA5\x03\x1E\x43\xDB\x69\x09\x4B\xA6\x60\x97\x0E\xA4\x71\xAB\x77\xDB\x62\x0A\x6D\xAC\x6A\x9F\x00\xA7\x00\x02\xA7\xCE\x13\x47\x7F\xAF\x71\xA8\x02\xA8\x84\xAD\x1D\x61\x26\x0B\x87\xA6\xA2\x63\x27\x9B\x5A\xA7\x79\x61\x20\x0C\x8F\xA6\xA5\x07\x1A\x0B\x8A\xAC\x5F\x4A\x77\xA9\x32\x33\x0C\x9B\xA0\x20\x61\x24\x0D\x9E\xAC\x32\xCC\x01\xAA\x07\x19\x7B\x44\x8E\x0D\xDB\x9B\x00\xEC\x15\x0D\xB1\x93\xA9\x16\x21\x26\xE9\x05\xAA\xC3\x2F\x0D\xA8\xA3\x10\xCE\x74\x84\xF3\x06\xAB\x80\x38\x0E\xB9\xA2\x10\x3F\x98\xA4\xFD\x07\xA7\xAC\x61\x0F\x7A\xA3\xA8\x47\x91\x26\x06\x0E\x05\x92\xAC\x6A\xF9\x09\xAC\x8B\xA0\x00\x4D\x68\xA9\x56\x1F\x00\xCE\xA7\x10\xAE\xAC\x42\x01\x08\x30\xDB\xA2\xAB\x52\x2A\x9A\x78\x3A\x01\xD9\xA3\x10\xDF\xAC\x6A\x0C\x0E\xAD\x10\x13\xAD\xFF\x78\xA4\x25\x05\xAE\xA1\x8C\x1E\x17\x02\x4D\xE0\xA2\x10\x6B\x96\xA2\x20\x50\xAF\xBD\x7C\x1E\x16\x3F\xAC\x6A\xA4\x27\x61\x29\x03\xFA\xA0\x00\xE7\xAF\x71\x22\x3A\x10\x55\xA3\xAD\x19\x88\xA4\x44\x03\xB0\x55\xA2\x33\x47\x3E\xAF\x7B", + "\xA1\x82\x94\x4E\x04\x0E\xBC\x1E\x56\x32\xB1\xCA\xA5\x99\xDB\x68\x05\x03\xB5\xB0\x26\xA5\x04\xEA\xAA\x10\xD3\xAC\x98\xD6\xA4\x14\x63\x0F\xB1\xEC\x1E\x3C\x94\x8B\xAE\x9E\x94\x49\x6E\x0A\xB2\x2C\x41\x3F\x2D\xB4\xB2\x2F\xBB\x6D\x79\x02\xB3\x06\x68\x40\x35\xB5\xAF\x71\xA1\x26\x84\x0A\xB3\xAC\x61\x07\x08\x39\xB0\xBC\x98\x93\x42\xBF\x71\x7B\x05\xB4\x2E\xBA\x10\xC7\x98\xA4\x9A\x07\xB1\x0A\x14\x0A\x03\xB0\x30\x36\x4A\xB1\xD3\xAA\x86\x44\x86\x0A\x52\xB7\x10\xB0\x05\xB5\x10\x1E\x08\xF4\xA2\xA6\xD9\x61\x26\xB2\x0D\xB5\x03\x1C\x0B\x60\xBA\x10\x97\x03\xB6\xFF\xA5\x6E\x61\x2E\x0B\x68\xB2\x10\xC8\x0B\xB6\x07\x10\x0A\x6E\xB3\xB1\x07\x11\x6F\x44\x8A\x0C\x73\xB1\x10\xD4\x06\xB7\x03\x19\x0A\x79\xBB\xB1\x85\x54\x49\xD6\x09\xB4\x01\x11\x0E\x82\xB2\x10\xB2\x0C\xB4\x0A\x13\x04\x3D\xA8\xAF\x10\x13\x0E\x03\xB6\x8C\xA1\x3C\x48\xDF\x97\x10\x92\xB7\xA4\x94\xB4\x16\x97\xBC\x1E\xC4\x05\x47\x9D\xB1\xA5\x48\xA3\x0F\x03\xB9\x92\xD6\x3C\x0C\x85\xB5\xBA\xCC\x8B\x6D\xFC\x09\xBA\xAF\xAD\xBA\x63\xA4\x84\x05\x0F\x05\x1A\xB2\x33\xDE\x04\xBB\x0A\x19", + "\x76\x44\x8E\x00\xB8\xB1\x9C\xAC\x67\x0E\xBC\xB7\x10\x74\xA4\x84\x17\x01\xBC\xCB\x9C\x6A\xF0\x04\xBA\x7C\xA4\x84\x1F\x0A\xBC\xB1\x7C\x1E\xF8\x05\xBC\x7F\x51\x26\x28\x02\xBD\xAA\x8C\xAD\x88\x52\x10\xAE\xB2\x10\x8E\x74\x84\x31\x0A\xBD\xC8\x7C\x42\x0A\x0D\xBD\x01\x1F\xBD\x01\x1C\x90\x48\xAA\x03\xE4\xBA\xBA\xB4\x33\x01\xE8\xB0\x00\xEA\xB0\x00\x16\x94\x84\x43\x0F\xBE\xEC\x1C\x01\xF3\xB5\xBF\x1E\x9F\xB9\x07\x1C\x04\xFA\xBC\x42\x25\x0D\xBF\x26\x94\x49\x55\x04\xBE\x0F\xBE\x48\x22\x55\xA5\xF5\xBF\x92\x00\xC3\x10\x5F\x03\xC0\x06\x6C\x52\x1A\xB5\xBF\xBB\xA8\xA4\x68\x04\xC1\xAC\x67\x53\x17\xCB\x62\x94\x41\x07\xE4\xB8\xB9\xD6\x3F\x53\x9B\xB3\x10\xF5\xB8\x94\x11\xC2\x10\x79\x03\xC2\xEC\x12\x05\x11\x69\xBE\x4F\x94\x49\x81\x0A\xC0\xEC\x1A\x05\x22\x50\xB2\xF4\xB3\xC3\xDB\x6B\x08\x36\xCC\x42\x65\x09\xC3\x10\x15\xBF\xED\xAB\xC2\x01\x15\x09\x1C\xCF\x71\x67\x5F\xC1\xE0\x41\x26\x9E\x09\xC4\x26\xA9\x07\x06\xC0\xB0\x94\x47\x0A\x3F\xC6\x60\x75\x58\xB0\x43\xCF\x13\x0B\xB6\xC4\x62\x20\xC5\x27\xB1\x10\x80\x5C\xC4\xE8\x40\x5C\x60\xC2\x33", + "\x95\x03\xC5\x32\x8B\x6D\xC3\x07\xC5\xAC\x6E\x09\x42\xC1\xB9\x92\x22\xAE\x97\x1D\x0C\x6E\xCF\x71\xA9\x01\xC7\x9C\xB7\xB3\x44\x87\x0D\x77\xC6\xA2\xB4\x0A\xC7\x28\xCC\xC7\x48\xA1\x0E\x7F\xC1\xC6\x00\x0F\x0B\x82\xCE\xBD\x4D\x84\x49\xEB\x07\xC8\x32\x3A\x0C\x0D\xCB\xC5\x0A\x1D\x9B\x44\x85\x0F\x90\xCC\x32\xD4\x03\xC9\x72\xCE\xB4\x61\x2F\x0F\x60\xC8\x00\x0F\x47\x89\xE2\x6A\xC6\x69\x88\x2F\xA3\xC3\xBD\x0A\x13\x01\xA9\xC6\x8A\x0A\x17\x0E\xA6\xC2\x10\xE2\x9E\xC5\x15\x0D\xCA\xE5\xBC\x9C\xB6\xC0\x30\xF0\x01\xCB\x3C\x25\x9D\xB6\xCA\x64\x29\x09\xCB\x10\x1C\x61\x64\xC0\x6F\x61\x2B\x02\xBF\xC0\x11\x34\x02\xCC\xE3\x28\x78\x32\xC3\xA0\x94\x46\x03\xB6\xC5\xA5\x40\x0C\xCC\xDA\xAD\x65\x55\xA4\x04\x3F\x12\x04\x2D\xA1\x10\x42\x06\xCB\x15\xAC\x6A\x32\x3A\xCD\x0A\x15\x04\xDD\xC0\x00\x45\x06\xCB\x1F\xA9\x04\xB6\xC2\xA2\x80\x36\xCE\x9D\xCB\x6D\x21\x76\x78\x2C\x36\x04\xDB\xC7\xCE\x4A\x0D\xCE\x31\xA0\x38\xF6\xC5\xCE\xE7\xCB\x04\xD6\xC3\x10\x4D\x0A\xCF\x2C\x47\x04\x93\xB8\xC8\x1A\x1E\x04\xD3\xCC\x1E\x15\x0E\xCC\x79\x3F\x13\x65\x14\x49\x58", + "\x0B\xD0\x2C\x4E\x01\x0E\xD6\xD0\x0A\x16\xCB\x08\xD0\x11\x62\x06\xCB\x3A\xC3\x48\xD8\xC0\x11\x18\xDB\x41\x61\x2D\x06\x1E\xDC\x1E\x31\x01\xD2\x0A\x13\xD2\x26\x41\x26\x78\x07\xD2\x35\x7A\xD2\x07\x1C\xD2\xDD\x8B\x6D\x83\x00\xD3\x06\x65\x04\x32\xD3\x10\x34\xD6\x8E\x94\x4E\x08\x14\xD6\x60\x98\x6A\xB1\x3D\xDB\x44\x61\x28\x09\x38\xDC\x6A\x58\x0B\xD3\x02\x15\xD4\xF9\x8E\xC5\xA3\x09\xD4\x1F\x72\x06\x4C\xD1\x10\x45\xD1\xBE\x48\xAE\x0A\x52\xD6\xA2\x6C\x05\xD5\x0F\xD4\xA9\x94\x49\x0B\x5B\xD8\xC8\x76\x0E\xD5\x45\xD7\xBF\x48\xA4\x0C\x63\xD2\x33\xD1\x6A\xC5\x2B\xDF\x13\xFF\xBB\xD1\x6C\x5B\xD6\x2C\x3A\x08\x66\xD7\xC0\xDB\x6A\x0D\xB6\xCC\x00\xEC\x14\x09\x5D\x6A\xC3\x45\xD0\xC1\x72\xD7\x10\xE6\x04\xD7\xC3\x2F\x09\x77\xD7\x93\x94\x41\x0F\x86\xD0\x38\xA9\x09\xD8\x3E\x91\x26\xFC\x01\xD4\xAC\x63\x0B\x17\xDB\xAC\x94\x46\x00\x61\x0E\xD6\x06\x6C\x0B\x97\xDA\x95\x94\x40\x01\x9B\xD7\x10\x7C\xD0\x96\x5D\x65\xDA\x33\xDC\xC3\x44\x8C\x01\xA3\xD3\x10\xA8\xDC\x6A\xD1\x07\xDA\x22\xDF\x13\x45\xC3\xD8\x03\x18\x02\xAD\xD2\x10\x1F\xDC\x32\xDD\x00", + "\xD9\x6A\x91\x26\x33\x09\xDB\x01\x1B\xDB\xC3\x27\x0E\xBE\xD3\x97\x61\x2E\x03\xC2\xD0\x00\xAF\xDF\x71\xF1\x0F\xD7\xB3\xDA\x10\x5D\xC6\xDB\x02\x1A\x04\xCB\xD4\xDC\x80\x3C\x0F\xC7\xD3\x98\x61\x25\x05\xD7\xDC\x1E\x06\x00\x85\x45\xD6\xB2\x1F\x50\x11\x60\x0B\xDC\xCD\xD6\xA2\x10\x07\x7C\xE9\xDF\xD5\x6B\xC4\x84\x6C\x08\xDE\xFB\xBC\xDE\xD1\xDA\x52\xDB\x68\x07\xF2\xDC\x42\x28\x04\xDF\x6F\xD8\x6A\xDB\x64\x08\xF9\xD6\x60\x34\x0C\xDF\xA9\xD4\xB2\x61\x20\x09\x01\xEC\x6A\x40\x07\x7C\x80\xD7\xB4\x94\x4C\x09\x09\xEF\x71\x4B\x0C\xE0\xF5\xDF\x54\x94\x48\x0A\xDF\xDA\x10\xB3\x0B\xDC\x00\x36\x05\xE2\xD4\x9D\x94\x45\x0B\x19\xE7\x10\xC0\x0C\xE1\xE6\xDF\xE1\x65\xB4\x49\xC2\x03\xE2\x03\x1D\x0C\x26\xE2\xDD\x28\xE0\xB7\x94\x4F\x0C\x2C\xE2\x10\xDA\x0F\xE2\x07\x14\x07\x31\xE6\xCC\xF4\x55\xE3\x01\x17\x0E\x38\xE3\x10\x12\x8C\xD9\x3C\xD2\x84\xB4\xA1\xE1\x01\x15\x0F\x41\xE2\x10\x1C\x8D\xB3\x03\x19\x04\x07\xD5\xDE\x0A\x17\x0F\xCB\xD0\xBF\x44\x43\x09\x7A\x80\xE5\x9E\xB4\xDD\x02\x1E\x5A\xAA\xC6\x60\x9C\x09\xE5\x0E\x41\x26\x09\x0E\xE5\xFB\xAA\x69", + "\x50\x8A\xE5\x24\xD4\x49\x13\x06\xE6\x00\x0B\xC0\xC3\x2F\x0A\x69\xE5\xBB\x48\xAD\x01\x6E\xE0\xE7\x80\x39\x0B\x73\xED\xBB\x61\x27\x02\x77\xEC\x1E\xC3\x0B\xE7\xC6\xB1\x26\x31\x0E\xE6\x56\xEA\x11\xCD\x02\xE6\xEE\x81\x26\x3A\x0F\xE7\x2C\x41\x86\x44\xE3\x97\x83\x71\x26\x44\x0E\xE8\x06\x60\x0E\x82\xE9\x51\x61\x2E\x04\x96\xEC\x6A\x6F\x81\xE9\x01\x1A\xE6\xF2\x51\x26\x58\x0D\xE9\x1F\x74\x0F\x99\xE2\x10\x68\xDE\xC5\x62\x06\xEA\x26\xAE\x0F\xA9\xEB\x7A\x61\x2C\x06\xAE\xE8\xC8\x08\x00\x8B\x55\xA2\xEA\xD5\xD1\x26\x76\x0E\xE6\xD8\xD1\x3A\x12\x00\x8B\x3A\xCA\xEB\x18\x61\x26\x81\x05\xEB\x32\x3D\x01\xB8\xE0\x11\xC4\xE0\x00\x19\xCE\xC5\x8B\x08\xEC\x2C\x34\x8C\xA0\xE0\x00\xCD\xE3\xAC\x5E\xC5\x09\x86\xE8\xD2\xAE\x9D\xEC\x2A\xCC\xE5\x83\x8B\xED\x2C\x4A\x03\xDD\xEA\xDA\x48\xA7\x0A\xBE\xEC\x1E\x43\x00\x8B\xED\xDD\xEC\xD5\xA2\xE5\x07\x12\x0B\xE9\xEC\x42\x4F\x0C\xEE\xCC\xE4\xDB\x76\x22\xED\xC3\x2B\x05\xCB\xE4\x27\x6A\x23\x5D\xFA\xE0\x38\x65\x0D\xEF\x07\x1D\xEC\x74\x98\xA4\xD1\x03\xEF\x06\x6F\x06\xC2\xE7\xEF\xD2\xD1\x26\xDC\x01\xF0\xA1", + "\x3A\x07\x04\xFF\xE4\x81\x61\x26\xE6\x02\xF1\xD6\x34\x08\x15\xF2\xE9\x1C\xB4\x84\xF0\x0A\xF0\xAC\x6E\x08\xF6\xEE\xEF\x1F\xF8\xA4\xFB\x02\xF2\x1F\x7A\x09\x25\xF5\xF0\x84\xCE\xC5\x06\x03\x06\x4E\xEF\x71\xA6\x0D\xF2\x16\xFE\xDF\x44\x81\x01\x32\xFA\xAD\xEC\x12\x0B\x36\xFE\xF1\xB3\x9B\x6D\x1C\x0B\xF3\xE6\xAC\x1E\xBE\x0D\xF0\x26\xF5\x54\x7D\xE4\xF4\xBA\xDC\x1E\xC9\x08\xF4\x2E\xFE\xC9\x94\x42\x03\x4C\xF7\xE6\x07\x1C\x03\x55\xFC\x9D\x10\x14\x0D\x1D\xF1\xEA\x20\xEB\x6D\x3E\x09\xF5\x55\xA8\x04\x59\xF0\x30\xDE\x0D\xF5\xD6\xEF\x13\xB3\xC0\xEE\x4A\x02\xF6\x10\x14\x05\x65\xF0\x11\xE8\x08\xF6\xCD\xE4\x88\x48\xA6\x05\x6E\xF9\xD1\x71\xFA\x10\xA2\x95\xED\xCD\xEC\xB7\x48\xA2\x06\x79\xF7\x10\x6C\x0B\xF7\x07\x1C\x0F\x74\xF6\xE4\x30\xB9\xF5\x3A\xC9\x07\x86\xF3\x18\xAD\xA5\x9F\x3F\x18\x04\xE7\xCB\x07\x59\xF1\xCE\x1F\x72\x33\x4A\x0F\x13\x4B\x07\xCE\x7E\x09\xF5\x1F\xA2\x08\x59\xFE\xCE\xA1\x3D\xF9\x49\xF4\x84\xF3\xCC\x1E\x4C\x03\xF9\xE7\xC3\x08\xA3\xFB\xCF\xA1\x3B\xFA\x0A\x16\xFA\xFF\xDF\xF8\x04\x6F\xFA\xD8\x81\xE5\xA0\x60\x11\x87\x03", + "\xF8\xAC\x61\x01\x97\xAD\x04\x10\xD2\x82\xBE\xFF\x71\x1B\x01\xFC\x63\xE4\x49\x9B\x0C\xF8\xEC\x15\x02\x91\xFA\x10\xC2\xFA\x10\x6E\xE0\xEE\xA6\x0C\xFC\x2C\x40\x03\xCF\xF7\x10\xD1\xF7\x10\x5F\x74\x84\xB1\x06\xFD\x06\x6B\x03\xD9\xF2\xD0\x6B\xA4\x49\xBC\x00\xFE\xAC\x6E\x9F\x33\xF1\x10\xDB\xF3\xA7\xD3\x55\xFC\x26\xA8\xA0\xD5\xED\xFE\x02\x1F\x8E\x44\x81\x0D\xE8\xFF\x71\x2F\xAB\xFE\x00\x04\xFF\x62\xC0\xF1\xF9\x7E\x44\x66\x03\xF1\x72\x10\x7E\x7C\x00\x18\x6A\x5E\x67\x1C\x01\x80\x44\x63\xA5\x7C\x7E\x01\x8C\x5F\x5E\x62\x1E\x0B\x80\x99\x1C\x07\x04\x80\xFB\x7C\x54\xDB\x35\x1F\x13\x80\x96\x17\x08\x16\x81\xFF\x70\x6B\x61\x10\x01\x24\x02\xFE\x72\x33\x12\x06\x07\x86\x80\xAA\x50\x49\x53\x01\x11\x84\xDA\x6C\x0D\x27\x1B\x4E\xED\x6E\x00\x82\x6C\x78\x73\x10\x1F\x00\x0B\x85\x7A\x2C\x21\x15\x27\x80\x11\x34\x49\x2A\x03\x0D\x8D\x7A\x2C\x24\x16\x3B\x80\x85\x08\xED\x60\x75\x0D\x1F\x81\x56\x7C\xD5\x3F\x04\xE4\x79\x23\x61\x13\x0F\x08\x82\x6F\x76\xE9\x4C\x82\xFB\x3B\x6D\x49\x00\x14\x8D\x6F\x32\x1B\x1A\x1B\x4F\x06\x00\x11\x06\x83\xBB\x7B\x7D", + "\x0A\x0D\x0A\x17\x82\xF6\x00\x0E\x5B\x81\x17\x98\x77\x94\x21\x0C\x10\x83\x5F\x76\x3D\x6D\x07\x10\x87\x08\xF7\x50\xDC\x6C\x03\x35\x84\xBD\x6F\x83\x93\x61\x13\x77\x03\x0C\xAC\x21\x01\x03\xB0\x31\x80\x17\x61\x13\x83\x04\x0E\xAC\x20\x6C\x5E\x00\x97\x7B\x4F\x62\x84\x06\x34\x5C\x45\x85\x93\x7E\xC5\x19\x06\x1E\x86\x30\xEF\x52\x21\x1C\x82\xE8\x73\xC7\x14\x25\x29\x0F\x84\xAC\x32\x06\x03\x59\x49\x8A\xFD\x2F\x78\xB8\x71\x05\x98\x87\xE3\x3F\x01\x4D\x87\x06\xB8\x78\x92\x5D\x05\xA1\x86\x44\x4C\x02\x52\x84\x09\x86\x70\x25\x29\x06\xA9\x80\x91\x59\x03\x3E\x85\x0A\xCA\x78\x2A\x31\x85\x32\x1D\x0C\x34\x85\x56\x84\x6C\x61\x11\x38\x08\x84\xF7\x30\x0A\x80\x19\x38\x0A\xB8\x1F\x83\x56\x33\x3B\xC0\x82\x20\x39\x06\x61\x80\x11\x7C\x01\x31\x86\x80\x6B\x7C\x06\x82\x09\x7D\x09\x0C\xCA\x0D\x19\x0A\x44\x31\x4F\x19\xAF\x2B\x10\x87\x0D\xBC\x7B\x2A\x7D\x86\xA4\x67\x20\x12\x04\x6D\x8A\x57\x61\x11\x05\x00\x87\x40\x87\x20\x20\x00\x74\x8E\xCA\x76\x14\x39\x87\x5C\xDB\x32\x04\x2C\x86\xE6\x60\x11\x2E\x03\x3C\x80\x18\xA8\x03\x17\x85\x1E\xDD\x7C\x7E\x21", + "\x0B\x3C\x98\x73\xA1\x1C\x16\x05\x87\x27\x03\xFC\x14\x26\x0E\x1F\x87\xEC\x0F\x17\x03\x89\xE4\x7B\x6D\x44\x03\x3C\x8C\x83\xB4\x1E\x6F\x4A\x09\xF6\x64\x10\xD2\x7D\x98\x0F\x02\x0F\x8C\x3D\x09\x5D\x89\x80\x11\x15\x88\xF7\x61\x13\x5A\x01\x23\xAC\x20\x71\x0A\x0F\x83\x0A\x47\x84\x0D\x61\x15\x0C\x22\x88\x03\x3E\x0E\x25\x8A\x40\x07\x89\x02\x39\x4C\x30\x02\x84\x8C\x42\x7A\x07\x42\x8B\x74\x71\x2B\x25\xAC\x35\xDB\x5C\x11\x8A\x08\x4C\x9F\x7F\x94\x25\x10\x3A\x89\x8F\x31\x01\x64\x5C\x45\x82\x48\x94\x20\x12\x03\x8A\x13\x5D\x01\x46\x89\x47\x92\x23\xCA\x7B\x29\x88\x65\x14\x0E\x14\xBE\x88\x06\x9B\x5A\x52\x8A\x66\x35\x01\xAA\x8B\x0F\xA2\x54\x25\x31\x05\x59\x8C\x65\x01\x02\xAE\x86\x12\xF8\x68\x11\x5C\x05\xF3\x80\x0B\xAC\x19\x26\x04\xBE\x1C\x85\x59\x8A\x08\x33\x80\x0C\x87\x08\x64\x01\x16\xC3\x16\x16\x04\x8B\x2F\x8C\x07\x9B\x37\x69\x05\x17\x80\x1E\x19\x18\x8B\x01\x0F\x27\x80\x01\x22\x82\x0D\x81\x0A\x37\x14\x89\x06\x32\x0E\x24\x5E\x1D\x62\x18\xDF\x75\x61\x80\x00\xE8\x00\x31\xAC\x35\x3E\x0B\x18\xCF\x88\x68\x7B\x36\xF2\x01\x2D\xAC\x0E", + "\x44\x04\xBE\x0E\x02\x65\x94\x82\x44\x46\x1F\x1A\x8C\x16\x26\x09\x1D\x8F\x67\x9E\x3F\xF8\x16\x0C\x24\x80\x96\x14\x0A\x00\x8C\x00\x02\x8C\x71\x87\x31\x95\x00\xD5\x8E\x0D\x86\x30\x2C\x0E\x8D\x82\x8F\xE0\x5E\x62\x10\x04\x1B\xAE\x6C\x7B\x1C\x05\x6D\x8F\x34\x98\x41\x30\x1C\x02\x3D\x8D\x3A\x8C\x35\xC9\x00\x37\x86\x85\x6D\x37\x03\x46\x8F\x70\x6F\x55\xCA\x8C\x11\xA0\x76\x21\x0E\x1C\xF4\x84\x0B\x26\x64\x7E\x42\x38\x81\x08\xF2\x62\x17\xD2\x11\x75\x8A\x8B\xC3\x17\x1D\x26\x8C\xAB\x86\x0A\xDE\x62\x16\x1F\x8E\xEC\x0D\x1F\x23\x8F\xAE\x86\xDF\x0D\x48\x7A\x8C\x21\x0B\x06\x96\x5E\x8C\xF2\x81\xF4\x44\x42\x1C\x0F\x8F\x06\x31\x03\x36\x64\xB7\x89\x17\x95\x65\x04\x58\x8F\xAC\x36\x04\x3B\x8E\xED\x80\x00\x4F\x5A\x17\x6A\x04\xD5\x8A\x87\x55\x05\xEA\x80\x30\x33\x03\x5E\x64\x90\x5A\x58\x49\x57\x05\x04\x90\x11\x22\x04\x83\x90\x08\x3F\x07\x41\xB4\x8F\xF0\x41\x26\x24\x04\x85\x8A\x08\xAF\x07\x42\xB3\x7C\x0D\x9C\x1E\x84\x19\x98\x11\x05\x1F\x97\x20\x3C\x04\x11\x97\x10\x57\x00\x89\x8F\x8B\x7B\x59\x6E\x69\x91\x81\x09\x0C\x2C\x93\x40\x03\x03\x2F", + "\x95\x3F\xB0\x86\x22\x4B\x0C\x00\x92\x40\x17\x06\x36\x92\x20\x2F\x03\x01\x94\x53\x7C\x86\x0A\x50\x08\xD9\x05\x3A\x80\x88\xEB\x1C\x07\x63\x68\x14\x05\x88\xDB\x33\x1C\x0A\x92\xF6\x07\x08\x4E\x90\x43\x84\x42\xED\x03\x46\x9F\x38\x49\x09\x23\x9B\x1B\x96\x54\x24\xF8\x02\x4B\xA6\x50\x4F\x0D\x25\x80\x03\x93\x8A\x08\xDD\x78\x49\x43\x01\x33\x0B\x1A\xC3\x16\x2A\x05\x93\x67\x94\xB0\x61\x12\x07\x0C\x26\xB5\x8C\xAB\x36\x05\x70\x92\xEE\x1B\x37\x0C\x05\x27\x83\x0B\x92\x94\x1D\xC2\x06\x4A\xB8\x89\x6D\x33\x02\x7D\x93\x71\x9F\x38\xCD\x01\x4F\x9C\x2F\x30\x1E\x02\x06\x97\x73\x8C\x21\xD9\x02\x51\xA8\x2E\x4A\x29\x03\x0E\x94\xC1\x4C\x0F\xE5\x02\x52\xA3\x74\x4A\x24\x04\x16\x94\x44\x84\x22\x8C\x6D\x27\xAD\x15\xAB\x88\xA4\x4F\x02\xA7\x89\x8F\x9A\x94\xC0\x20\x89\x53\x9C\x42\x09\x00\x92\x66\x93\x66\x88\x49\x65\x02\x4B\x90\x1E\x80\x1D\x05\x0B\x6E\xFC\x8E\x4B\xB0\x8B\x30\x11\x07\x2C\x96\x81\x22\x01\xAF\x91\x4E\xBA\x55\x30\x1C\x07\x3E\x94\xAB\x2E\x01\xC1\x90\x84\x5B\x37\x43\x06\x29\xFF\x90\x11\x3A\x01\x3E\x70\x56\x8D\x82\x4A\x21\x09\x4D\x94", + "\x34\x51\x96\xC2\x92\x20\x1F\x83\x7E\x87\x10\x1B\x04\xAD\x8B\x59\xCB\x6B\x3E\xA3\x95\xCB\x84\x84\x27\x07\xB7\x8C\x21\x5E\x01\x5C\x90\x09\x6C\x97\xC4\x36\x2E\xB1\x9E\x47\xC9\x95\x89\x54\x24\x5F\x0F\x2E\xA6\x50\x7E\x62\x95\x39\x40\x02\x6F\x85\x73\x96\x60\x00\x72\x24\x8B\x97\x7F\x80\x95\x35\x96\x44\x61\x09\x71\x95\x19\x74\x24\xE0\x03\x60\xB2\x19\x4E\x06\x30\xA0\x14\x1D\x79\x0B\xEB\x04\x5F\xAC\x35\x54\x0A\x2E\xC5\x92\x74\x8F\x8C\xF7\x02\x62\x9F\x39\x5B\x05\x31\xE3\x95\x7B\x8A\x93\x68\x00\x5F\x9F\x39\x62\x0D\x31\xF9\x95\x79\x80\x77\x0F\x01\x64\xAD\x80\x16\x23\x0D\x25\x9A\xBE\x2D\x64\xDB\x33\x03\x2A\x98\xDF\x87\x1D\xB8\x94\xC0\x9E\x8F\x94\x27\x04\x33\x98\x81\x05\x2B\xA1\x1E\x3B\x16\x99\x16\x9D\x17\x94\x25\x19\x0B\x33\x8F\x97\x41\x1E\x01\x45\x9A\xEB\x4A\x09\x7D\x0D\x30\x82\x09\x84\x9E\x62\x40\x01\x69\xBA\x61\x25\x09\x34\x80\x1B\x01\x0E\x73\xED\x6C\x5D\x80\x01\x68\x8D\x1D\x85\x82\xD4\x8D\x3F\x55\x98\x22\x2D\x72\x91\x9A\x2B\xB2\x73\xB6\x3A\x02\x5F\x9A\x21\x25\x03\xB0\x9A\x10\x1F\x00\xD6\x97\x99\x31\x93\xD6\x29\x9B\x83", + "\x02\x07\x6C\x9B\x41\x0B\x01\x6F\x99\x68\xB9\x41\x30\x14\x07\x49\x99\x7B\x60\x04\x76\x9F\xB1\x2E\x73\x5C\x98\x19\x4D\x27\x39\x62\x04\x49\x9C\xF4\x56\x1E\x99\x12\x05\x42\x43\x39\x69\x7D\x2C\x23\x0A\x3F\x08\xC1\x8F\x18\x90\x9E\x81\x34\x02\x86\x9C\x92\x03\x05\xA4\x97\x23\x26\x52\xCC\x18\x9C\x0A\x0A\x72\x94\x24\x99\x18\x08\x49\x9B\x87\x52\x19\x55\x06\x48\x91\x4A\x88\x0C\x08\x49\x9A\xB3\x9A\x08\x95\x74\xFF\x69\x9D\x2D\x7F\x18\x96\x06\xEB\x8C\x0F\x4F\x02\xE5\x41\x09\xD9\x96\xBA\x5E\x60\x28\x13\x9B\xAC\x32\x0B\x39\x9B\x83\x0C\x3B\xAF\x5C\x11\x4B\x05\xC0\x9F\xE3\x26\x03\xE1\x93\x10\x45\x9E\xD7\x2D\x54\xC9\x9E\x44\x72\x02\xE6\x9A\x3D\x65\x7F\xB6\x21\x06\xD1\x98\x91\x7E\x02\xEA\x9B\x3B\xFA\x90\x11\x4C\x06\xB7\x9C\x85\x0A\x04\xDD\x90\x00\x4E\x9D\x40\x16\x7F\x48\x56\x1A\x19\x9E\x34\x6C\x3D\xE5\x9F\xA4\x74\x24\xE1\x03\x7D\xAC\x19\x50\x0D\x3E\xE6\x9F\x01\x8A\x16\xF2\x9B\x58\x2D\x05\xFA\x90\x15\xDB\x37\x3D\x19\x9F\x79\x74\x7F\xA1\x3C\x4A\x22\x00\x69\x01\x9B\x80\x1C\xC5\x02\x80\x87\x09\xB8\x6F\x18\x8D\x02\x01\xB6\x93\x1F\x39", + "\xE1\x64\x9A\xF7\x9E\x60\x14\x24\x06\x0F\xA0\x34\x9E\xC0\x1D\x07\xC1\x90\x11\x76\x9D\x5C\x9C\x96\x03\x0C\x04\x18\xA1\x43\x96\xA2\x6A\x06\x02\xA3\x96\xCD\x43\x84\x86\x9A\x56\x36\x0F\x27\xA2\xB0\x4C\x74\x2A\xA1\x0A\xAC\x20\x01\x0B\x00\xF6\x9E\x63\x9D\x9A\x01\x0C\x08\x31\xA1\xD7\x98\x63\x35\xA2\xB9\x7E\x62\x4E\x01\x86\xBD\x98\xEB\x18\x01\x59\x7A\xB8\x8D\x9E\x3F\xA0\xDC\x5A\x02\x21\xAC\x1E\x26\x02\x11\xBD\xA0\x68\x83\xDB\x26\x03\x18\xAF\x29\x9A\x08\x0D\x19\x7A\xED\x6E\x7E\xB1\x8C\x1C\xA0\x00\x71\x00\x15\xB3\x3C\x58\xA0\x8A\x94\x63\x6D\x3C\x07\x4C\xA0\x0B\x2C\x02\x59\x7C\x70\xB6\x9F\xE9\x6F\x18\x88\x07\x17\xAC\x21\x59\x01\x8C\xA1\x83\xE5\x84\x84\x13\x07\x1B\xA6\x30\x65\x02\x8E\x84\x9F\x4A\x8B\x6D\x1E\x06\x19\xA6\x30\x71\x07\x89\xB3\xA3\x8B\x9C\x45\xAA\x07\x1F\xAC\x35\x7F\x02\x90\xBB\xA3\x93\x9F\x18\xB6\x07\x21\xBF\x38\x8D\x02\x91\x88\xA2\x46\xAC\x45\xC2\x07\x23\xA6\x51\xCB\x79\x3B\x83\xA5\xFA\x88\xA4\x4E\x07\x25\xA8\x64\xA9\x01\x8D\xA2\xA2\x5B\x89\xD7\x1F\xA6\xCC\x16\x05\xA2\xA3\x93\x96\x71\x6D\x36\x0E\x77\xA3\x40", + "\x11\x07\x31\xA0\x60\x03\x06\x3D\xA3\x49\xF7\x58\xB5\x0E\xA5\x02\x0E\x1F\x31\xA4\x88\x0F\x0C\x34\xA5\xF5\x89\x71\xDB\x30\x00\x1D\x62\x1D\x6B\x00\x5D\x60\xC0\x1B\x06\xBE\xA5\x7B\x8A\x08\xBB\x7E\xC5\x0D\x03\x30\xAA\x18\xC6\xA0\x22\x0A\x81\x09\xA6\x3F\x80\x7E\x17\x7A\x00\xCF\xA2\x21\x25\x01\x68\xAA\x10\x73\x05\x32\xB4\xA0\x3B\x90\x49\x67\x01\x2E\x6D\xDE\x33\x00\x37\xAA\x0D\xA9\xA5\x45\xAA\x9C\xAE\x49\x44\x5D\x60\x0F\xB3\x88\xB1\x87\x0A\x10\x92\x22\x4F\x03\x6E\xA4\x7B\x18\x00\xF1\xA7\x4A\x88\x53\x24\x09\x4D\x86\x30\x09\x10\x82\x84\x9A\x9E\x96\x88\x4A\x24\x05\x7D\xA4\xAB\x31\x01\x00\xA8\x22\x02\xA9\x8F\x89\x6A\x06\xAB\xC7\x3E\x01\x09\xAA\x21\x0B\xA8\x94\x84\x49\x6A\x02\x43\xA6\x51\x4B\x01\xA2\xAA\xA7\x6E\xA1\x26\x75\x02\x3D\xAC\x21\x58\x01\x9F\x83\x94\x22\x4F\x07\x17\xA8\x22\x64\x03\x1A\xAB\x20\x13\xA9\x42\x54\x49\x0A\x06\x49\xB2\x19\x71\x01\xA5\x82\x09\x95\xAC\xA8\x14\x25\x25\x0F\xA9\x2C\x1E\x0F\x32\xA9\x80\x04\x53\xDD\xA1\x98\x00\x05\x38\xAB\x58\x0B\x05\x9D\xA0\x00\x3D\xAB\xAA\x60\x77\xAB\x01\xA8\x80\x1C\x4C\x04", + "\x54\xBD\xA8\x03\xBC\xA2\xB6\x02\xA9\xA1\x1D\x4B\x8F\x2F\x92\xA9\xAC\x9E\x62\xC1\x04\x9C\xBD\x78\x28\x87\x44\xB3\xA9\x27\x21\x13\xCD\x02\xAA\x96\x1E\x60\x0D\x54\xFA\x89\x61\x42\xAB\xB4\x1D\x19\x25\xAA\x22\x8D\x5F\x1F\xAA\x81\x3A\x06\x22\xAF\x20\x37\xA0\x10\xA2\x10\x6D\x06\x5B\xAC\x35\xE6\x01\xAE\xA1\x56\x4A\x27\x0F\x5A\xA8\x0B\x32\x07\x50\x87\x01\x0A\xA9\x24\xAF\x18\x83\x03\x1A\x13\xA0\x32\x19\x00\x33\x86\xC1\xA6\x55\x8A\x09\x6D\x6F\x8C\x0F\x07\xB0\x90\xA0\xF5\x63\x0F\x81\xAB\xBF\x74\x24\x1A\x02\xB2\xB8\x80\x03\x3D\x01\x15\xAF\x60\xA3\xA3\x44\x45\x04\x1A\xAC\x9E\x9C\x1E\x2A\x03\x3C\x9D\xAA\x3C\xA9\x60\x9B\x37\x18\x03\x5A\xAB\xA1\xE2\x3E\xAC\x8D\xAF\x60\x9B\x36\x1E\x0D\x5A\x97\x94\x0B\x25\x02\xB0\xAB\xA3\xAF\x6E\x24\x57\x04\x35\xAF\x10\xB4\x1D\x52\x03\xB1\x9F\xAD\xDD\xAE\xC5\x53\x02\x6F\xAC\x0F\x61\x02\xB8\xB1\xAD\x1C\x4F\x30\xE8\x0B\x17\x07\xAE\x2C\x23\x26\x8A\x08\xC6\xAA\x5B\xCC\xAC\x25\x2B\x03\xD0\xAE\xC0\x3F\x02\xE5\xA5\x5D\xCF\x50\x1E\x99\xAE\x23\x7F\xB4\x83\xAE\x2B\x46\xD3\x60\xAF\xC7\x3C\x04\xE2\xAB\xB9", + "\x9E\x42\x9C\x45\x5B\xBA\x62\x26\x15\xAD\x00\x1A\x15\x39\xAC\x95\xAF\xF5\x44\x40\x27\x0D\xAF\x10\x0F\x14\x30\xAE\x88\x07\x0B\x73\xAE\x57\xA0\xA6\x44\x41\x15\x38\xAE\x85\x04\x0B\x7B\xAE\x42\x04\x06\xFE\xA9\xB5\x8B\xA7\x46\x53\x60\x87\x09\x30\x06\xB0\x07\x09\x1A\x09\xB1\xA2\xAF\x13\x56\xA4\xB8\x63\x06\x0D\xB3\x20\x0E\x06\x08\xB3\x10\x07\x8D\x55\xBD\xAE\x9D\x44\x92\x10\x06\xF3\xA1\x10\x5C\x04\x87\xA2\x08\xEB\x01\xBD\x87\x08\x2C\x0F\x13\x56\x03\x39\x7E\x06\xB5\xA8\xF3\x5E\x9C\x96\x19\x05\x3F\x09\x4F\xB5\x9C\x29\x51\x73\x2C\x18\x2D\x0D\x62\xE7\x65\x38\x15\xAD\x9D\x98\x91\x72\x18\x1E\xBA\x10\x35\xB3\xE8\x8C\x19\xE6\x05\xB6\xA7\x9C\x96\x1B\x05\x6B\xA4\x68\x50\x08\xEA\x01\xC3\x9F\x39\x7C\x03\x1A\x87\x09\x93\xB4\x9D\x5C\xA5\x1E\x12\xB2\x13\x55\x00\x3E\x91\x40\x17\xB2\xBD\x98\xDC\x40\x00\x36\x08\x58\xAC\x19\x04\x15\x8E\x84\x98\xCC\x86\x9E\x24\x5C\x00\x64\xB3\xCA\x86\x30\x1E\x00\xCD\x90\x08\x35\xBF\x3C\x96\xA2\x9B\xB9\xA0\xAC\x33\x05\x32\xB2\x85\x04\x67\x81\x0A\xEF\x48\x52\x24\x07\xCE\xA4\xAC\x16\x28\x03\x7B\xB2\x95\xBE", + "\x9E\x48\x50\x06\x02\xB4\xD7\xA1\xB2\x5E\xB0\xFC\x0F\x5E\x48\x53\x07\x0B\xB4\xEB\x86\x60\x51\x02\xA1\xA3\x08\x7D\xB0\x1F\x67\x47\x49\xBF\x5B\xC4\x22\x17\x17\xB4\x2E\x50\x29\x9B\x37\x29\x0C\x69\xEC\x0F\x1A\x00\xB5\x5F\xB5\x7F\x84\x43\x2F\x05\x6A\xDF\x30\xAA\xAF\xB4\x03\xA3\xDB\x2B\x03\x56\xB6\x60\x05\x07\xAB\xB9\xB4\x4F\xAC\xAE\x81\x09\x3B\x04\x6B\xAC\x36\x24\x17\xB5\x57\xA8\xDC\x43\x05\x49\xB4\x38\xB2\x1B\x27\x15\x8E\xA8\xA8\xD6\xB3\x55\xA4\x8D\x6B\x9F\x39\x2B\x00\xB6\x8A\x6B\xDB\x1C\x05\x66\xB6\xA2\x3A\x04\xB4\xB1\x6C\x17\x73\xD2\x95\xA2\x88\x07\x0C\x0E\xB5\xA6\xB3\xAB\x47\x92\xC3\x5A\xB6\xF6\x03\x0D\x5E\xB4\x61\xBC\xA2\xBE\x04\xD8\xAC\x0F\x6F\x05\x1D\xD4\xAC\xA6\xA7\xB7\xBA\xB0\x00\x0B\x06\x75\xBC\x42\x6E\x05\xBB\xB3\xB3\x51\xA5\x30\x54\xB6\x44\x6D\x0F\x57\xB7\x6F\x7A\x25\xFB\xB2\x66\x0A\x00\x4B\x99\x66\xFA\x97\xB6\x30\x07\xF4\xB6\xC0\x17\x00\x4B\x99\x6C\x99\xB4\x1B\xBC\xA2\xFD\x01\xE0\xAC\x19\x12\x04\x70\xF8\xB4\xC5\x5B\x36\x09\x05\x0D\x25\xB3\x61\x12\x03\x15\xB8\x9F\xBC\xA3\x44\x45\x02\x1A\xB9\x83\x05\x6C", + "\xAC\x1B\x0F\x16\x94\xEE\xB1\xD4\x84\xA5\x78\xB2\x02\x23\xBB\x40\x05\xB9\xC3\x16\x09\x28\xB8\x8B\xBF\x31\xDE\x63\x0B\x0E\xB9\xC4\x2A\x1D\x73\xB9\x8F\xB4\x49\xF1\xB4\x0F\x18\xB9\x01\x08\xE6\x80\x1C\x36\x0B\x73\x87\xB6\x2B\x95\x82\x40\xB8\x00\x02\xBB\xD0\x1B\x07\x0C\xB8\xCD\xA4\xAF\x44\x46\x0A\x09\xBB\xA5\xB6\x3D\x09\x06\xD3\xBC\xB9\x42\x9B\xDB\x23\x03\xA4\xBD\xDE\x6F\x01\xD2\xA0\x18\x97\x06\xE3\x86\xBA\x5B\xA1\xC2\x5C\xB8\x44\x1D\x03\x5F\xB8\x22\x24\x04\xB1\xBF\x6E\x80\xB0\x92\x5F\x03\x66\xBA\x21\x0B\x05\xB4\xBA\x10\x31\x04\xDB\xAA\xB9\x66\x9C\x08\x4D\x05\xB8\xB7\x10\x19\x04\xDD\xA7\x08\xF4\x97\xC3\xAD\xBB\xB8\x92\x6F\x7C\xBB\x40\x07\x05\x7F\xBB\x20\x0B\x07\xBB\xB9\x6A\xD0\x67\xB6\x29\x05\x53\xBF\xE4\x09\xBC\x81\x08\x0D\x57\xBB\x41\x1D\x02\x3F\x0C\x0B\x27\x66\x5C\x03\x79\xB3\xB3\xB0\x1E\x02\x0E\x27\x9C\x7A\x05\xA4\xBA\x38\xB4\x1E\xCC\x00\x03\x4E\xB3\x35\x50\x09\x5D\x09\x74\xDB\xB5\xEF\x4C\xBC\x00\x00\xF5\x98\xB3\x78\xB6\x0C\x2D\xBC\x7B\x13\x07\xB0\xBA\xF6\xA1\xB3\xC7\x81\x0D\x06\xBE\x3E\x49\x9A\xC9\xB2\xF7\xAB", + "\xB2\x2F\x6D\x0D\x3E\xBE\x89\x4E\x00\xC0\xBE\xBC\x74\x72\x2F\x69\x0E\x46\xBC\x22\x7C\x00\xC9\xB9\xA3\x56\x9F\x4B\x6E\x7C\xB2\x1A\x0A\x11\xBE\x75\x08\xD1\x9E\x63\x00\x0E\x06\x07\xA1\xE8\x18\x01\x49\x9C\x70\x82\xBF\xFA\x71\x26\x0C\x01\xF7\xAF\xB3\xAC\x35\x08\x18\xBF\x81\x03\x7E\xC0\x8B\xB6\x38\x00\xE7\xB8\xCF\x9F\x39\x29\x0B\x7E\x82\x09\xFB\xB7\x9F\x94\x24\x04\x31\xBF\x41\xB6\x60\x61\x01\xFD\xA1\x08\xF7\xB8\x02\xA0\x76\x18\x0B\x7F\xA5\x4C\x7B\x0F\x03\xFF\xB9\xF6\xA4\x94\x2F\x6C\x03\x05\xC0\xA5\xB3\x8C\x09\xC7\xFE\xB9\xB5\x70\xB7\x10\x48\x02\x03\xDD\xB4\x1A\x0B\x11\x11\xC1\x60\xBF\x18\xD4\x02\x03\xD4\xBA\xB4\x19\x13\x09\x9B\x94\xB0\x80\xDF\xA9\x1A\x97\xC0\x39\x2B\x03\xD1\xB6\x22\x4D\x06\x28\xC0\x0B\x36\x05\x2A\xC0\xDB\xB8\x58\x07\xCE\x7A\x87\x08\x31\x01\xBF\xCA\xBB\x5A\xBF\x6E\x1A\xCC\x1E\x51\x04\x0E\xD2\xBE\xE4\x90\x49\x4F\x05\x0F\xCC\x1E\x5E\x05\xD2\x90\x00\x39\xC0\x34\x88\x52\x4E\x04\x84\xF5\xB7\x11\xC9\xC2\xA8\x8C\x92\x29\x04\x17\xC6\x60\x7E\x05\x0C\xDF\xB7\xDB\x35\x16\x14\xC2\x74\x51\x43\xC1\xBE\xC1\xA4\x42", + "\xC1\x05\x09\xC9\x85\x18\xA4\x82\x8A\xC3\xC3\x74\x24\xCE\x03\x0B\xC6\x59\x2E\xC0\x85\x82\x08\x61\x48\x52\xDA\x02\x0D\xE6\x51\x1B\x0C\x86\xC0\xC0\x71\xA0\x77\xE6\x02\x0C\xE9\xBF\x18\xA8\x84\xF6\xC2\xC3\x94\x24\xF3\x02\x0F\xDF\x39\x2A\x0C\x87\xED\xC3\xC6\x0D\xAE\x68\x0F\x0D\x02\xBD\x8F\x35\x06\x05\xC6\x1F\xC9\x4D\xEE\x22\x11\xE4\xB8\xF6\x05\x07\x0E\xC5\xF6\xA7\xBA\x44\x42\x03\x12\xC5\x97\xBC\x1E\x05\x04\x19\xC6\xC4\x00\x06\x92\x62\xA7\x4D\xC9\x73\xAC\x20\x25\x1F\xC4\x8F\xC6\x38\x6F\x4E\x52\xC6\x80\x95\x64\x2B\xCA\x9A\x07\x0B\x14\x35\xC3\x4B\xC4\x76\xDB\x36\x10\x0F\xC5\xED\x6E\x09\x2F\xC4\x80\x11\x0B\x33\xC4\xFB\xAA\x7B\x61\x10\x0A\x38\xC4\x88\x0C\x05\x3B\xC4\x44\x1F\x05\xBE\xC6\xFE\x9B\x86\x4A\x2E\x05\x43\xC6\x74\x66\xC6\x0A\x0D\x19\x09\xC7\x12\xC5\x0E\x94\x24\x1B\x0E\xC6\x07\x08\x0F\x10\xC7\x83\x0B\x0D\x53\xC6\x19\xC1\xA7\x5E\x62\x0F\x2F\xC4\xC2\x97\x08\x5B\xC6\x05\x28\xC5\x07\x09\x0C\x3F\x08\x33\x07\xCE\x09\x07\x2B\xC5\xBD\x44\x20\x1F\x31\xA1\xA6\x02\x06\x3F\x0B\x17\x07\x67\x8A\x07\x1D\xF0\x7C\xEB\x13\x06\x3F", + "\x0A\x3A\xC7\xB2\x92\x19\xC7\xA1\x1C\x32\x0B\x8E\xE7\x67\x22\x1A\xC7\x0E\x3C\x65\x2C\xC6\x85\x03\x15\x14\x24\x23\x18\xC6\xD0\x56\x1B\xCB\xC9\x83\x01\xD1\x5B\x34\x26\x10\xC8\x1F\x3F\x00\x1D\x63\x64\xB3\x91\xEC\xBD\x87\x83\xC7\x0C\x6D\x8B\x65\xC3\x8E\xCD\xE5\x27\x90\x48\xCC\x21\x24\x02\x24\xD0\x08\x92\xC1\x10\x69\x92\x17\x7E\x05\x27\xCE\xC0\x26\xA7\xE9\xAB\x92\x85\xC8\x25\x2B\x06\xE6\xC7\xE3\x02\x03\x73\xA3\x10\x2C\xC8\x00\x09\x03\x8F\x9A\x20\xCB\x9C\x85\xC3\x7D\xC8\x51\x33\x11\xC9\xAC\x34\x08\x2A\xC8\x85\x0E\x93\xC7\x5C\x1C\xD8\xC8\x26\x53\x0A\x1B\xC9\x9A\xC3\x52\xC8\x52\x39\x08\xCA\x1F\x39\x0C\x0B\xCB\x83\x0E\x93\xCF\x68\xB8\x73\x07\x58\xCE\x44\x70\x03\xAD\xCD\x93\xA2\xB4\x11\x49\x14\x8B\xC6\x44\x65\xA8\x9A\xCC\x94\xAA\xB4\x92\x4D\x00\x6F\xC2\xE9\xBD\x32\xB2\xC2\x10\x3E\xCB\x51\xAF\x8C\x1A\x01\x2E\xE0\xC0\x22\x2D\x09\x74\xC9\x40\x1E\xC9\x13\xC3\x75\x8A\x09\x13\x0A\x97\xEC\x0C\x2B\x1E\xCB\x00\x06\x27\xE9\x80\x2F\x64\x03\x71\xC9\xB2\xB2\x19\xBB\x05\x8B\x7D\xC2\xAE\xC6\x82\xB6\xC5\x61\xCC\x21\xCB\x00\x31\xFE\xC9", + "\x67\x70\xEE\x4F\x03\x65\xCF\xAB\x9A\xCA\x59\x84\x42\x2E\x01\x97\x98\xC0\x44\x09\x07\x53\xCD\x2D\xFA\xC0\x22\x48\x06\x25\xCC\x7B\x1D\xAB\x9A\xA4\x32\xC1\xC2\x2F\x64\x07\x0E\xCC\x7B\x05\x00\xB5\xA9\x02\x14\xCA\x25\xCE\xC5\x02\x06\x6D\xCC\x21\x16\x01\x37\xFB\xCD\x28\xCB\x6D\x10\x07\x67\xCC\x35\x27\x05\xB6\xA3\xC9\xCB\xAB\x6D\x1D\x07\x71\xDF\x38\x36\x02\x39\xC3\xCE\xE4\x64\x49\x2A\x07\x6F\xD9\x69\xB5\xAB\x32\xE5\xCB\x33\xCB\x6D\x38\x07\x73\xC6\x51\x55\x02\x3A\xEA\xCC\xD9\xA4\x84\x45\x07\x77\xC7\xA9\xE2\xCA\x36\xC7\x09\x74\x07\xCE\x52\x05\x5C\xD0\xC7\x1A\x0B\x0E\x35\xAD\xA6\x0E\x93\x9B\x07\x39\x73\x06\x71\xC8\x60\x32\x18\x3A\x07\x62\xFF\xC9\xE6\xA8\xC4\x44\x0D\x1A\x39\xCE\xF6\x06\x07\x7D\xCD\x62\xDF\x09\xE3\x07\x9C\x57\x07\xF7\xCC\x1E\x78\x03\x7C\xD3\xCE\x01\x0D\x1C\x27\x66\x6C\x0C\xA0\xAC\x21\x1E\x0F\xD0\xE3\xCB\x20\x2F\x07\x73\x69\x0D\x15\xD2\x81\x3A\x03\x18\xD2\x3D\xE4\x0D\x73\x6A\x0D\x1E\xD0\xAB\x3B\x03\x21\xD3\x3B\xC7\x08\x76\x07\xCE\x5B\x06\x89\xDF\x38\x7C\x01\x45\xF5\xCB\x9F\x0D\x07\x67\x64\x37\x03\xD0\x2C", + "\x25\x0F\x06\xD0\x9F\xC5\x09\x2F\xB0\x8E\xDA\xAE\x3B\xD2\x28\x27\x66\x70\x0F\xA2\xA6\x51\x20\x12\xD1\xFE\xCA\xEE\xBE\xB1\x1F\xDC\x6A\x02\x05\x90\xDC\x7B\xE7\x63\x1C\x05\xD2\x44\x64\x08\x48\xD3\x81\xCB\xB9\x14\xC3\x20\x24\x07\xEB\xCC\x6A\x05\x06\x70\xD9\xD0\x02\x0C\x3B\xB1\xB6\x79\x0C\xA5\x9F\x3A\x25\x1F\xD2\x22\xD0\x12\xC1\xA6\x08\x8F\x98\xAC\x1A\x7E\xAA\x08\xBA\xC8\x4C\xC7\xC4\x4A\x2E\x00\x6C\xD0\x7B\x18\x05\x68\xD2\x45\xC3\x09\x5C\x07\xCE\x1C\x00\x04\x92\xB1\x88\x61\x19\x31\xB0\x08\xD0\x00\x3A\x07\x39\x7F\x00\x7F\xD4\x3D\x0C\x07\x41\xD2\xA7\x80\x03\x2E\x07\x67\x22\x01\x51\xEC\x21\x67\x0C\xA8\xE9\xD3\x22\x27\x67\x25\x02\x52\xC6\x30\x69\x05\xA9\xFA\xD2\x40\x1D\x05\xE7\x60\x05\x1A\xD4\x56\x35\x0D\x1D\xD7\x8C\xCA\x08\xCE\x07\x9C\x6B\x00\x08\x8A\x9F\xAC\x18\x36\x0F\xD2\x07\x0D\x1A\x27\x67\x16\x0C\xAA\xEC\x0E\x36\x10\xD5\x45\x51\x4C\x2F\x00\x3B\xDC\x42\x26\xB2\x42\x1A\xCE\xA7\xD7\x20\x1A\x05\x73\x6D\x03\x35\xD4\x0B\x2C\x07\xB8\xD2\x96\x67\x67\x1F\x06\xAC\xC8\x15\xB3\xC3\x08\xEE\x01\x59\xC4\x35\x30\x13\x04\x3C\xD6", + "\x81\x30\x07\xD9\xCC\x50\xC6\x90\x70\x71\x05\x10\x80\xE1\x9E\x02\xCF\xD1\x00\x6C\xCA\x4B\xD0\x00\x6B\x01\x50\xC3\x16\x60\x01\x5C\xC2\x81\xFA\xA1\xF8\x5E\xD4\x44\x0F\x03\xEA\xD0\x00\x0F\x01\x49\xBB\x9C\xEE\xBA\x17\x71\x03\xEE\xD2\x21\x3E\x03\x78\xDE\x01\x74\xD4\xA1\xCC\xA6\xE0\x70\x10\x39\xD7\x0C\x11\xAF\xAD\x02\xBF\xCD\xD4\x16\xB7\x31\x8F\x05\x81\xD3\x10\x1C\x05\xBC\xDC\x01\x07\xDC\x5C\xFB\x37\x3E\xA6\xAD\x83\x08\x2B\x11\xD7\x4B\x03\xD2\x80\xD7\x80\x07\x06\x29\xBC\xDE\x0E\x05\x10\x86\x34\xFC\xB3\x49\xB9\x6C\x9D\xDB\xEC\xB9\xD2\x02\x0A\x17\x21\xD9\xE4\x34\xB2\x90\x0A\xC9\xDB\xBD\x5C\xA6\x18\x0C\xD9\x8F\x3C\x6B\xE3\xD7\x40\x0F\xD9\xC3\xB8\xDC\x53\x07\x99\xD6\xA2\x06\x05\xC4\xD7\xD9\xCB\xB8\xDC\x60\x06\x9E\xD8\xC8\x15\x07\xCF\xC2\x08\x38\xD9\x58\xD8\x93\x78\xD2\x33\x24\x07\xA4\xA0\x18\x49\xD9\x20\x00\xCA\x80\xCA\x63\x81\xCB\xB0\x11\xDA\x00\x07\xCF\x9E\x63\x77\x04\xB4\xB2\x1A\x29\x07\xDA\x1C\xDA\xFB\xA0\x76\x7E\x0B\xB2\xAC\x21\x2D\x0D\xD9\x0A\x08\x6B\xE8\x9E\x2F\x68\x00\x2B\x77\x5E\xDA\x08\xC3\x00\x6C\xC0\x00\xAC", + "\xDE\x95\xB2\x8E\xDB\xCC\x0F\xD2\x02\x6E\xD8\xDA\x04\x80\xEE\x22\x03\xDD\xD7\x8E\x7A\xDE\x2D\xF6\xB9\xBF\xD7\xAD\x81\xDD\xAC\xA4\x42\x3C\x04\x70\xE2\x66\xC3\xDB\x40\xE1\x11\x12\x0A\xDC\x1F\x3E\x01\x09\xBB\x32\xC8\xB5\x8B\xCC\xB8\x76\x02\xAB\x75\x4D\xC3\x17\x0E\x09\x74\x9B\xDB\xDC\xD5\xCC\x44\x44\x0C\x10\xDC\x13\x5D\x02\x13\xDE\xCB\xC6\xAB\x48\x51\x0E\x23\xDC\x44\x6F\x73\xB6\xD8\xD2\xC2\xCD\x48\x56\x0F\x2B\x74\x91\xD7\x10\x4B\x01\xD2\xA5\xD9\x98\x6B\xDB\x0A\x05\xD9\xDC\x1E\x59\x03\xED\xC7\xDD\xB3\xC8\xDC\x56\x05\xCC\xDC\x1E\x67\x01\xD2\xB1\xD3\x07\x08\x6B\xDB\x96\x94\xD1\x10\x24\x04\xF1\xDF\x32\xC7\xD8\x78\xE4\x4A\x4A\x22\x0B\x2B\xDE\xCC\x09\x04\xA6\xD9\x6D\xCC\xCE\x22\x4F\x0B\x56\xDC\xCB\x18\x04\xD9\xD9\x79\xDF\xC2\x24\x5C\x0C\x4F\xDE\x81\x28\xBC\xBF\xD2\x7A\xFC\x4A\x4A\x2A\x0D\x5E\xDF\xB0\x17\x05\xE1\xD8\x68\xD7\xB8\x22\x47\x0E\x6E\xDC\xE0\x15\xBD\xAE\xD9\x6C\xCC\xC9\x73\x64\x0F\x2B\x74\x7C\xD0\x08\xD5\x04\xF4\xAA\xDE\x81\x06\x9F\x94\x25\x3D\x0B\x75\xAD\xD3\x58\x16\x07\xCE\xBF\xB9\x8A\x08\x17\x00\xD0\x31\x0F", + "\x1E\x08\xE0\xF6\x08\x0D\x0C\xE0\xD6\xC9\xD0\x94\x21\x1F\x3E\xDE\x5B\xD2\xC0\xDA\xDE\x42\x12\xD0\x94\x22\x1F\x1B\xE0\x16\x2B\x0D\x1D\xE2\xF8\xC4\x82\xE7\x63\x1F\x23\xE0\x03\x3C\x0D\x26\xE2\xFC\xC4\x6C\xE7\x64\x1F\x2B\xE0\x56\x35\x7C\x8A\x09\x53\x18\xDA\x2C\xD1\x9B\x33\xE1\x8F\x3E\x0D\x2E\xE3\xEB\xCA\x08\x35\xD4\x92\x3E\x07\x09\xEC\x42\x5F\x06\x05\xF4\x6D\xE7\x60\x00\x33\x02\x6C\x86\x60\x61\x07\x11\xFB\x0C\xE7\x62\x00\x0B\xE3\x83\x0F\xBF\x8B\x22\x0F\xFA\xDF\x07\x0B\x11\x27\x67\x01\x03\xC5\xE1\x84\xAB\x24\x07\x4F\xE7\x20\x32\x07\x73\x65\x00\x5D\xE2\x40\x15\xE2\x84\x6F\x8A\xCD\xE1\x3B\xCF\x18\x86\x02\x19\xE1\x08\x9A\xD8\x70\x27\x07\xE8\xDE\xC1\xEC\xE0\x17\xB4\x00\x6F\xE0\x00\x31\xE3\xD0\x18\x0F\x74\xE3\x09\xF5\xB9\x7D\xD9\x8F\xFB\xE2\xEB\x19\x00\x0E\xC0\xF2\xCF\xE1\xD6\xAB\xDB\x30\x00\x41\xEC\x1E\x1A\x02\x21\xE3\xE0\x32\x3F\x9C\x7E\x01\x3C\xE0\xA8\xB2\x1B\x0A\x0E\xC0\x80\xD0\x6B\xC6\xD4\x9B\x24\xC9\xEC\x0E\x0B\x18\xE4\x90\xE6\x51\xE7\x66\x22\x0D\xC9\xAC\x21\x0C\x00\xE5\x75\xE1\x6D\x67\x67\x23\x05\xCA\x82\x70\x2A", + "\xFF\xE3\x03\x08\x54\xD4\x24\x25\x0D\xCA\xAC\x37\x0D\x0F\xE5\x88\xE2\x20\x29\xD4\x4A\x2D\x04\x79\xE1\x02\xE0\x1C\x3A\x06\x01\xD0\xDB\x9F\x02\xAB\x94\x27\x13\x1E\xE5\x18\x5A\x98\xE1\xE4\x59\x3B\x6D\x51\x00\x23\xEC\x21\x3E\x06\x01\xDE\xDC\xAC\xD3\xAC\xA9\x34\x32\xEC\x21\x4E\x02\x99\xE9\xE4\x65\xD9\x06\xD7\xE7\x41\x03\x03\xDE\xE1\x07\x5A\xE6\x58\xE2\x2D\x29\x8B\x33\xE6\x30\x52\x02\x9A\xE1\xE5\x6D\xDF\x18\xF3\x01\x1E\xE4\x9C\x80\x01\x9C\xDD\x72\x07\xC4\xB9\xBF\x0A\xB9\xD4\xDA\xA1\x1A\x10\x32\xE6\x13\x58\xB5\xCF\x98\xB8\x64\x04\xEF\xE0\x22\x11\x05\x7D\xED\x45\xF4\xE5\x28\xFC\x9A\xF1\xB3\x12\x01\xE8\x74\x14\xD0\x80\x06\x41\xFB\xE6\xBD\x64\x92\x22\x05\x85\xE7\x10\x2F\x04\x41\xE3\xC2\xF9\xDB\x8D\xFC\x71\x6D\x31\x0B\x14\xEB\x40\x1E\x05\x04\xEE\x13\x0F\xE8\x72\xE1\x62\xDB\x34\x30\x07\xE7\x1A\xB4\xA0\xED\x04\x75\xEA\x10\x68\x03\x4F\x13\xDA\xF2\x62\x28\xE6\xBC\x96\x10\xD3\x83\x09\x19\x07\x67\xD0\x01\x8F\xE8\xE2\x56\x3A\x06\x3F\x0A\x4B\xF8\xE7\x43\xCE\x6A\xC0\x1D\x7B\xE7\x10\x3D\xE8\x50\xF3\xE9\x42\xE9\x74\x2C\x02\x9B\xCB", + "\x6D\x51\x04\x41\xF2\x19\xBD\x06\x01\xCD\x0B\xA5\xE0\xC4\xF7\xCF\x53\xEC\x19\xBE\x02\xAA\xDE\x2B\x9F\x0D\x06\x67\x65\x35\x17\xEA\x49\xEE\x7A\x2F\x02\xAE\xEA\xA0\xE0\xE9\xD5\xC0\x1C\x70\x04\x46\xDC\xD0\x9D\xEB\x8F\xB4\x1E\x1C\x1E\xD8\x97\x0A\x1B\x39\xE3\x1A\xCD\x96\x02\xC5\x40\x0F\xEB\x27\xDA\x30\xED\x37\xB9\xEA\xA8\xF6\xEA\xFD\x5A\xA7\x5E\x60\x1E\x39\xE2\xDA\xD3\x10\x59\x06\x03\xC9\xB6\x78\xEB\xCD\x70\x5D\xC1\xEC\x1E\x67\x07\x61\xF0\x08\x89\xED\xA5\x54\x24\x04\x04\x07\x1B\xB8\xE0\x15\x07\x8F\xED\x3E\x05\xCA\x2F\x64\x01\x15\xEC\xFA\xBF\x38\x03\x07\x15\xC8\xEC\xB1\xDF\x18\xA0\x02\x67\xFB\xAC\xBF\x79\x2C\xFF\xEB\xAA\xCE\xC5\x2B\x03\x69\xFC\xBF\xAC\x36\x03\x22\xEC\xC8\xEF\x3E\xCC\x8F\x6B\xED\xC5\x06\x34\x05\x33\xEC\xCD\xED\x78\x54\xD7\x6D\xEF\xC0\x1F\x3A\x07\x3B\xEC\xBA\x92\xB8\x9D\xCF\x6F\xE4\xEC\x02\x08\x09\x03\xEF\x81\x01\xD9\xAA\x75\x98\x1B\x02\xC7\xEC\x3D\x16\x03\xE5\xEA\xEA\x20\x83\xAC\x31\xEE\x2C\x24\x0C\x14\xEF\xBB\xEC\x81\xDC\xA3\x1C\x1F\xED\x6F\xD8\xB2\xEF\xC5\x32\xCD\xDC\xC5\x74\xB4\x38\xEE\x06\x31\x10", + "\x1B\xEF\xD5\xE7\x10\x1C\xCF\x63\x8C\x04\xE8\xEC\xD5\x0F\x05\xF5\xE5\xDE\x83\x8F\x51\x7F\xED\x74\xEA\x96\x6A\xED\xFA\xE0\x6E\xFA\xEB\x40\x03\x05\xF8\xEC\x3D\x2A\x05\xFD\xE0\x6F\xCC\xDC\x00\x0E\x05\xE0\xEC\x3D\x37\x05\x57\xCE\xB9\xF5\xEF\xF2\xDE\xEF\x02\x0B\x17\x09\xF0\x16\x27\x0C\x0C\xF0\x6D\xEE\xAC\x61\x10\x19\x31\xEF\x8F\x37\x0D\x74\xEF\xF6\xC8\x52\xD4\x03\xC3\xE6\x51\x72\x0E\xE1\xA0\xAC\x92\x40\x07\x13\xF6\xC0\x20\xCB\x8C\xE5\xDF\x8F\xB9\xBC\xAD\x07\x22\xF0\x91\x42\x01\x32\xDC\xDD\xF3\xDC\x92\x59\x07\x31\xF2\x66\x10\x00\x1A\xFC\xDE\x83\x0B\x1C\x07\xD7\x67\xED\x77\x2C\x19\xFA\xE2\xA6\x86\xF1\x01\x15\x03\x69\xC8\x91\x5E\x01\xB8\xCD\xE0\xA0\xB8\x92\x52\x00\x48\xF3\x12\xEC\x20\x17\x0C\xE4\x97\xF0\x20\xEF\x8C\x1F\x01\xCA\xDC\xC4\x68\xE5\xE5\xBC\xEF\x95\xFC\xA2\x2C\x02\xCB\xE5\xC4\x03\x3E\x04\x5D\xF0\x71\xF8\xC4\x48\x51\x07\x22\xF3\xA0\xBC\x1E\x5E\x01\x5C\xC4\xEF\x0E\x73\xDB\x06\x03\x35\xF2\x97\xAC\x21\x1B\x0F\xF3\x56\xF3\x95\x84\x43\x29\x04\xE7\xED\x6F\x17\x14\xF3\x00\x1C\x0F\x3C\xF1\xFA\xEE\xCF\x8F\x8D\x18\x1D", + "\xF3\x10\x0D\x0D\x00\xF4\x88\x0A\x08\x03\xF4\x30\xD4\x24\x6F\x00\xD1\xE1\x11\x45\xFA\x10\x18\x06\xA3\xEB\xB0\x94\x25\x0F\x12\xF5\x83\x09\x08\x14\xF7\x41\x06\x05\x97\xF4\xF0\x84\x43\x45\x0B\xE9\x89\x2E\xA7\xE3\x08\xB4\x01\xD4\xFB\x9A\xC9\x24\xE7\x84\x9E\x29\x07\xF5\x02\x0A\x18\x38\xF3\x2B\x5F\x13\x7C\x00\x90\xE1\x1D\xA8\x00\xD6\xE6\x50\x3A\x0F\x13\x3F\xE4\x84\xEE\x16\x74\xF3\xA7\xC2\x09\x68\x03\xA5\xBC\xF6\x42\x11\x01\x61\x13\x15\x01\xF6\xBC\xD5\xEC\xBF\x09\x07\x13\x23\xCB\xF4\x65\x8D\xF6\x85\x06\x01\x61\x11\x2B\x11\xF6\x06\x34\x1A\x13\xF7\x83\x05\x01\x61\x12\x2B\x18\xF6\xA4\xD3\xDB\xC3\x08\x0A\x01\x26\x2F\x04\xB8\xFF\x38\xD6\x02\xDC\xC2\x08\x0E\x01\x26\x30\x07\xB9\xE6\x51\x0B\xD6\x86\xD0\x08\x63\xFF\xD9\xDE\x61\x2C\x0F\xF7\x88\x64\x42\xF2\xF6\x85\x04\xEF\xA8\xEC\x92\x52\x05\xF8\xF2\x66\x1D\xD1\x7D\xF9\xE3\x3F\x0B\x06\x16\x2D\x01\xFC\x65\x25\xD0\x82\xF7\x90\x3F\x09\x90\xAF\x8C\xB4\x01\xE1\xC3\x16\x17\xDC\xF0\x82\x09\xBF\xF5\x09\x61\x15\x16\x12\xF8\xC0\x17\xA3\x95\xF9\x40\x17\xF8\xCA\x0D\x51\x5B\xF9\xD0\x1D\x0D", + "\x6A\xF5\x40\x13\x00\x6C\x13\xE4\xD6\x1E\x6F\x06\xF2\x80\x03\x05\x01\x13\xB8\x02\xE5\xF4\x1D\x6F\x0D\xF2\x9E\x01\x98\x19\x05\xF8\xF2\x17\x3A\xF4\x00\x04\xA4\x9E\xF8\x00\x15\x03\x70\xE9\x2F\x3C\x04\x3A\xF9\xDF\x8B\x5F\x79\xC0\xFA\x79\xEC\x9D\x8A\x09\x63\x04\xF4\xEC\x0E\x3B\x07\xFA\x80\xE8\xDC\x52\x07\x52\xFF\x71\x7B\x04\x8F\xE8\xFA\x8A\xEB\x55\x54\xFA\x13\x59\x00\x15\xDA\x02\x41\xDA\x8F\x8A\x1D\x1B\xFA\x44\x67\x01\x5E\xF9\x40\x18\xFA\x14\xAB\xDB\x36\x07\xB1\xF2\x33\x19\xD5\x6C\xC3\x08\x68\xF9\x26\x84\xA0\x3B\x0E\x7D\xD6\x1F\x0C\x04\xDA\x71\xFF\x7C\x9E\x44\xBA\xF5\xEF\x88\x64\x10\x06\xFB\x3F\xFD\xB6\xEE\x44\xBE\xF2\x7F\xA6\x52\x13\x00\xFC\x79\xF8\xFF\x9B\x37\x12\x04\xF8\xB0\xEF\xC7\x3C\x02\x88\xFD\xB8\xCF\x8D\x18\x0D\xF8\xB8\xEC\x4F\xF1\xFC\x87\xD8\x49\x7D\x01\xCA\xF0\xDC\xF6\x94\xE6\xED\xDC\x94\x21\x09\x1C\xFC\xE4\xEB\x7A\x1F\xFF\x40\x16\xDC\x8F\x8D\x0A\x1C\xFD\xF0\xEE\x44\x10\x81\x19\xC9\xFC\x1F\xA6\xC0\xE2\x03\xD1\xFC\x1E\x23\x06\xE9\xE2\x08\xEE\xEC\x8B\xAE\x02\xDA\xF1\x54\x37\xFD\x40\x04\x8C\x5C\xA2\x0F\x1C", + "\xFD\xA2\xF9\xC8\x78\xF9\xEE\xC4\x42\x85\x03\xF8\xCA\xD4\xE3\xF1\xBC\x8F\x8C\x24\x0B\xFD\xEC\x09\x1B\x10\x80\xCF\xD9\xF8\x8F\xF2\xD2\xF6\x17\xD0\xFC\x85\x29\x07\xE9\xF0\x11\x09\xFF\x63\xA5\xA4\xBC\xFE\xC0\x39\x06\xDF\xF0\x00\x5B\xA1\xBC\xB6\x05\xE1\xFC\xD5\x07\x00\xF3\xD0\xF7\xE3\xDE\x17\x62\x06\xD9\xFE\xC0\x15\x01\x55\x7F\xFA\xAA\xAC\x11\x4F\x06\xE9\xFF\xE3\x24\x00\xF6\xFF\xF5\xB6\xF2\x17\x7B\x06\xF9\x7E\x89\x22\x03\x3C\x7F\x67\x7E\x93\x79\x00\x71\x7F\x0A\x3B\xAA\x34\xFD\x46\x80\xE0\x38\x3D\x08\x00\x9F\x1C\x50\x02\x02\x8D\xFD\x5E\x42\x8F\x45\x00\x07\x07\x09\x79\xA7\x5E\x04\x8A\x10\x09\x7E\x43\x20\x92\x2E\x00\x17\x80\x52\x7A\x81\x10\x07\x1A\x80\x07\x05\xE2\x7C\xCC\x44\x21\x1B\x00\x08\x8B\xE5\x46\x18\x80\x00\xFD\x73\x01\xB8\x4C\xDB\x18\x0A\x0A\x02\xA3\x79\xF2\x76\x0B\x8B\x01\xBF\x04\xEC\x70\x17\x55\x03\x33\x80\x96\x7F\x93\x2C\x03\xB0\x62\x04\x0C\x01\x81\xF8\x47\x43\xDB\x1B\x10\x0F\x03\x94\x44\x3F\x80\xC0\x0C\x0A\x02\x81\x89\x7C\x42\x76\xE0\x51\x01\x47\x80\x44\x0D\x05\x09\x81\x10\x06\x2E\x0C\x04\x8B\x63\xDB\x1B", + "\x17\x01\x05\x8A\x04\x6B\x00\x15\x80\x6C\x17\x81\xD5\x63\xB6\x1D\x06\x1B\x81\x07\x05\x1E\x0E\x05\xB7\x15\x60\x80\x38\x60\xEE\x3B\x01\x3F\x80\xE1\x48\x08\x27\x81\x5A\x6A\x0D\x87\x10\x36\x01\x4C\x74\x11\x2A\x08\x3F\x80\xC2\x79\x0F\x1B\xC3\x7B\x5A\x75\x80\x92\x2B\x08\x30\x81\xA7\x38\x11\x77\x10\x37\x01\x6A\x74\x25\x1D\x08\x00\x82\x26\x2A\x3D\x02\x08\x83\x04\x78\x02\x7A\x07\xCE\x0F\x02\x78\x81\x5B\x74\x44\x39\x01\x8E\x83\x0C\x50\x11\x10\x02\x91\x81\x42\x6D\x7D\x3F\x04\x84\x80\xB7\x22\x09\xB4\x33\xC3\x0A\x1E\x0F\x13\x34\x81\x47\x76\xC8\x12\xD3\x44\x11\x7B\x03\x4F\x09\xF8\x78\x58\x61\x74\x52\x70\x38\x36\x7A\xFC\x7B\xAD\x71\xD4\x41\x79\xD6\x0D\x10\x77\xE6\x71\x74\xAD\x82\x29\x83\x2C\x3E\x01\x3F\x05\x20\x02\x0B\xAE\x82\x42\x7B\x2E\x8F\x13\x02\x02\xBF\x82\x2E\x84\x0B\xB4\x0E\x80\x03\x4F\x0F\x07\x27\x33\x91\x00\x22\x82\x64\x6C\x0C\xBE\x82\x42\x0B\x0C\x94\x12\x93\x02\x33\x86\x39\x43\x04\xC4\x82\x42\x09\x0C\xA5\x82\xA0\x83\x31\x84\x44\x03\x02\x48\x72\x4D\x59\x09\x96\x28\x2C\x0C\x38\x8A\xA4\x54\x12\x96\x03\x38\x82\xCE\x2C", + "\x0C\x85\x00\x5C\x35\x0C\x9A\x04\x97\x02\x35\x84\x67\x3D\x82\xEF\x80\xF5\x2B\x07\x80\x00\x86\x03\x30\x85\x0F\xAC\x10\x1A\x72\xCF\x77\x08\x01\x7D\x68\x05\x26\x0F\x03\x84\x7F\x22\x71\x92\x7F\x0F\x89\x7D\x4F\x5B\xD4\x23\x10\xAC\x07\x07\x02\x47\x72\x10\x07\x84\x30\x6D\xBC\x5F\x0A\x24\x81\xAC\x18\x1E\x7F\xF6\x4F\x84\x5F\x4B\xB6\x1B\x0B\x14\x84\x1F\x1E\x08\x08\xD2\x58\x84\x68\x4B\x74\x1C\x11\xA6\x28\x8B\x73\x45\x81\x10\x10\x84\x69\x7C\x11\x23\x0D\x23\x84\x88\x33\x24\x76\x12\x80\x00\x28\x86\xDC\x7B\x6D\x1F\x03\x0B\x87\x19\x5E\x10\xA7\x84\x90\x5A\x17\x3A\x0E\x2C\x84\x32\x0D\x16\x0F\x11\xB8\x84\x8B\x48\xDF\x1C\x13\xAC\x0C\x67\x03\x4F\x80\x13\xA6\x65\x48\x2A\x00\x08\x07\x16\x76\xA1\x0D\x1D\x06\x14\xB1\x84\xEB\x2F\x9C\x4B\x14\xBD\x7D\x32\x0F\x20\x0F\x14\x8B\x60\xE0\x3A\x06\x03\x15\x85\x7E\x04\x4F\x55\x8E\x15\x5B\x1B\x26\x03\x56\x8E\xF8\x66\x28\x9F\x02\x57\x89\xAA\x21\x09\x32\x02\x58\x8C\xE6\x43\x25\x79\x71\x19\x60\x15\x80\x00\xB1\x7F\xAF\x70\x00\x3F\x00\x6A\x85\xE7\x78\xC8\x3C\x02\x66\x84\x0A\x5B\x6D\x0B\x01\x75\x84\xE9", + "\x70\x00\x0A\x03\x79\x87\x0B\x54\x49\x17\x01\x75\x84\xF1\x78\x0D\x37\x84\x47\x87\x6A\x61\xF8\x05\x86\x98\x48\x62\x8F\x16\x96\x7F\x09\x87\x41\x0D\x06\x35\x85\xAC\x7E\x18\x79\xC7\x5E\x6E\x8F\x84\x04\x7B\x11\x3A\x01\x94\x84\x7B\x02\x00\x3F\x76\x98\x85\xBE\x58\xA4\x07\x02\x7D\x84\x7B\x02\x01\x3F\x76\xC9\x5B\x5B\x86\xFE\x46\x78\x93\x01\x69\x88\x9B\x28\x86\xBC\x3E\xFB\x70\xEE\x1F\x02\x9D\x87\x94\x7F\xDB\x6E\x85\xF6\x7C\x92\x2C\x0A\x2E\x86\x06\x19\x0F\x00\x1B\xB1\x24\x74\x50\x92\x28\x0B\x3C\x86\xAC\x1B\x12\x0F\x1B\x87\x04\x6F\x85\x91\x72\x17\x84\x03\xB5\x86\x81\x19\x05\x20\x86\xB1\x84\x96\x62\x17\x91\x03\xCD\x84\xAB\x19\x06\x10\x87\xC0\x85\xCF\x56\xE0\x5E\x03\xD5\x87\xC7\x19\x07\x18\x87\xC8\x84\x05\x8C\x45\x6B\x03\xDD\x86\x89\x29\x08\x20\x87\xD3\x18\xCC\x44\x84\x38\x03\xE5\x84\x22\x39\x09\x37\x86\xD1\x84\x29\x56\xBB\x39\x01\x18\x80\xCB\x08\x0A\x30\x87\xD9\x85\xD6\x54\x84\x12\x00\xF4\x85\xDF\x7E\x01\x3D\x87\x5E\x72\x40\x07\x0B\x07\x87\xE9\x84\x11\x89\x8B\x00\x88\x63\x84\x47\x08\x20\xAD\x43\x03\x05\x31\x04\x20\xA0\x84", + "\xF6\x08\xA3\x4B\x20\xB6\x85\x3A\x03\x84\x80\x30\x13\x03\x0F\x88\x50\x89\x77\x48\x29\x3C\x03\x84\x8D\xDE\x08\x01\x16\x88\x44\x01\x0E\x19\x88\x89\x86\xA8\x78\xA4\x0A\x01\x1E\x88\x44\x06\x05\x21\x88\x44\x40\x89\x8F\x16\x93\x6C\x44\x20\x16\x03\x21\x84\x4E\x65\x00\x8B\x87\x10\x3D\x03\xF8\x87\x41\x08\x08\x3D\x81\x5E\x33\x19\x03\x21\xB9\x81\xCC\x34\xBE\x79\x08\x3F\x04\x84\x03\x39\x38\x06\x3F\x88\x9F\x80\xA3\x7F\x13\x3B\x88\xDC\x81\x92\x87\x0E\x87\x04\xED\x81\x93\x8A\x09\x80\x0E\x8C\x00\x40\x86\x15\x29\x01\x13\x88\xF1\x7D\x00\x2D\x7A\xAC\x4F\x3C\x58\xA4\x34\x01\x59\x89\x23\x7C\x25\x9C\x17\x51\x7F\x63\x4F\x07\x29\x88\x2C\x13\x09\x04\xE7\x49\x5B\x55\x8B\x40\x5D\xC3\x28\x89\x06\x19\x0D\x0B\x26\x9D\x89\x21\x84\x25\x17\x09\x30\x89\xAC\x1B\x10\x03\x27\xA4\x89\x7C\x38\x25\x13\x0A\x38\x89\x1F\x1D\x14\x0B\x27\x87\x04\x6D\x8B\xA0\x34\x49\x2F\x02\x61\x88\x0B\x1F\xE7\x49\x79\x85\x8B\x40\x0B\xB6\x60\x3B\xBA\x00\xA0\x8C\xD5\x03\x8A\x7F\x16\xE0\x78\xA4\x06\x03\x92\x88\x22\x3A\x07\x14\x8A\xCE\x04\x52\x8E\xC5\x12\x03\x99\x88\xE9\x4C", + "\x29\xA2\x31\x92\x7C\x17\x5E\x0D\x21\x8A\x2C\x0E\x25\x03\x2A\xB8\x23\x58\x85\xD8\x78\x2A\x83\x0B\xA4\x03\xAA\x8D\x28\xAA\x4A\x7C\x1F\xAB\x80\x38\x00\x7C\x2F\x87\xAC\x81\x10\x28\x7E\x5C\x52\x00\x00\xC1\x15\x86\x03\x04\x30\x04\xE7\x65\x61\xBA\x88\x5C\x81\x26\x0F\x00\x10\x32\x5F\x8F\x0C\x32\x8A\xA8\x6E\x17\x3B\x01\x09\x8B\x02\x10\xB3\x8C\x56\x79\x4C\x10\x30\xF1\x7B\x0E\x23\x89\x84\x8B\xF1\x78\xA4\x32\x00\xD5\x88\xF5\x28\x2D\x95\x8A\xCD\x7C\x17\x5D\x03\x3F\x8A\xB7\x64\xE7\x7E\xB9\x45\x8B\x90\x86\xEA\x5B\x20\x24\x8B\x2C\x11\x05\x06\x2E\xB4\x89\xD3\x6F\xB6\x17\x05\x10\x8B\x04\x30\xE7\x7C\x26\x9F\x78\x5E\x33\x18\x04\x2F\xB2\x64\xF6\x88\xBC\x87\x07\x50\x7A\xEC\x8A\x81\x11\x04\x1C\x7E\xC4\x89\x6E\x8E\xC5\x3C\x01\xFB\x88\xAB\x10\x05\x3D\x8B\x7C\x88\x79\x68\xA4\x08\x02\x09\x8F\xC7\x1E\x05\x0C\x8C\xD9\x8A\x74\x87\xFD\x43\x04\x94\x01\xC0\x8C\x6A\x2C\x01\xEF\x89\xC3\x8F\x87\x5B\x1B\xA1\x02\xC6\x80\xA3\x5D\x8C\x15\x8F\x97\x71\x6F\x6E\x02\x22\x8E\x89\x2C\x08\x24\x8C\xE0\x8A\xC9\x86\xE0\x7B\x02\x29\x8C\x22\x3C\x09\x2C\x8C\x9D", + "\x88\x9A\x7E\xC5\x08\x03\x31\x8E\xCC\x0C\x0A\x04\x8C\xFE\x89\x39\x78\x4A\x39\x8C\x2C\x0F\x2E\x0C\x33\x9E\x8C\xEB\x54\x25\x12\x0E\x11\x8C\x01\x06\x3B\x00\xC1\x0D\x0C\x14\x8D\xCB\x87\xCA\x14\x12\xF0\x00\xD2\x80\x00\x3C\x03\x4B\x8C\x44\x08\x0D\x0D\x8D\x35\x8D\x84\x82\xC4\x52\x8D\x0A\x03\xB3\x30\x30\x26\x03\x58\x8C\xA9\x88\xE9\x5B\x1B\x0C\x03\xB3\x3D\xDE\x18\x00\x5E\x8C\x44\x0E\x00\xB9\x8A\x15\x5A\xC4\x06\x36\xA7\x22\x69\x8F\xB8\x0F\x03\xB7\x8B\x8E\x5C\x11\x28\x02\x0F\x3B\x84\x4D\x0D\x01\x37\x87\x04\x10\x03\x0F\x85\x86\x4D\x02\x6A\x0B\x3E\x84\x0E\x83\x0B\x80\x8D\x2A\x60\xEE\x37\x00\xCF\x38\x90\x8F\x01\x2A\x83\xE0\x2F\x4F\x02\x09\x02\x8E\xEB\x83\xB0\x0E\x08\x01\x8E\x52\x8B\xE0\x80\x38\x13\x8E\x86\x8F\x63\x48\x03\x09\x8E\xFC\x28\xE3\x81\x10\x18\x8E\xE2\x40\xE4\x89\xF9\x2C\x0C\x8F\x00\x8F\x80\xEE\x39\x00\x9C\x8C\x0B\x11\x02\x1E\x8E\x00\x00\x24\x04\x39\xB8\x82\xDE\x81\x37\x81\x3A\x11\x02\x44\x8B\x39\x3A\x03\x29\x8E\x96\x8D\xE8\x0F\x38\x8A\x04\xA5\x8D\xE5\x81\x39\x80\x0E\x93\x01\x19\x12\x3A\x9E\x5E\x80\x0C\x25\x0F\x13", + "\x01\x8F\xBE\x8F\xE8\x83\x2C\x3D\x68\x44\x8E\x17\x37\x0D\xA6\x69\x3F\x05\x01\x7B\x6D\x3B\x00\xB8\x8F\xEF\x81\x3A\x16\x02\x3F\x05\x35\x73\x5B\x55\x8F\xCA\x8C\xE0\x08\x3D\x99\x1B\xC4\x68\xF7\x81\x10\x3E\x00\x7B\x8C\xAB\x18\x09\x3F\x04\x97\x03\x39\x30\x04\x22\x8F\xCF\x83\xB0\x09\x09\x28\x8F\xE7\x31\x10\x0C\x3E\x8F\x8F\x01\x06\xF6\x83\x10\x27\x8F\xC9\x8C\xF1\x81\x3A\x36\x8F\x4A\x6C\x92\x22\x04\x33\x8F\x2C\x0E\x08\x0C\x3A\x92\x8F\xF0\x1B\xF0\x84\xBF\x25\x8F\xE7\x56\xDA\x36\x40\x85\x01\x08\x92\x89\x2D\x09\x16\x89\x44\x07\x11\x0F\xEC\x04\x7F\x23\x01\x1B\x80\x11\x0F\x90\x08\x86\xBA\x84\x69\x13\x90\xEC\x04\x0C\x06\x41\xA0\x8F\x19\x35\x98\x0D\x05\x2F\x8D\x2C\x11\x0F\x03\x37\x97\x90\x38\x82\x01\x94\x3F\x9B\x4D\x19\x84\x11\x29\x06\x24\x90\x06\x1B\x12\x07\x42\xA0\x90\x0C\x57\xB6\x15\x07\x30\x90\xAC\x19\x16\x03\x43\xB6\x0B\x9B\x74\xB8\x31\x08\x38\x90\x1F\x1F\x19\x0B\x43\xA1\x27\xA4\x74\x17\x5D\x08\x1C\x90\x2C\x11\x1D\x0F\x41\xBC\x90\xAC\x74\xB8\x38\x09\x00\x91\x26\x2A\x20\x03\x44\x9C\x73\x84\x89\x87\x40\x45\x88\x32\x98\x83", + "\x4B\x88\x41\x93\x4A\xDB\x18\x2C\x07\x45\xB2\x0C\x9E\x03\x14\x96\x87\x25\x8A\xF1\x58\x2F\x0F\x45\xAC\x0C\xAC\x02\x18\x9C\x42\x99\x7E\x37\x8F\x19\x93\x2C\x3A\x02\x6A\x93\x16\x93\x10\x01\x66\x17\x8E\x40\x04\x0D\x2E\x91\x80\x0C\x32\x01\x47\x9D\x77\xF1\x58\x38\x08\x37\x9A\x44\x7E\x8C\x0A\x9B\x2B\x54\x12\xED\x00\x1E\x91\x3A\x25\x03\x7B\x93\x0A\x67\xE3\x46\x92\xD6\x0F\x3C\x09\x48\xB2\x60\xB6\x2C\x1F\x05\xF7\x74\x0E\x01\x01\x7B\x82\x47\x82\x04\xFD\x75\x1D\x91\x10\x10\x00\x92\x93\x64\x58\xC8\x0E\x00\x96\x91\x81\x72\x17\x9B\x00\x9D\x93\x0A\x8C\x6A\x1B\x00\x75\x86\xE7\x67\x49\x80\x19\x9A\x85\x7B\x15\x4A\xB4\x80\x1F\x1F\x0A\x09\x4A\x82\x92\xF1\x88\x11\x25\x03\x2F\x92\x3D\x82\x89\x2B\x03\x35\x85\xC9\x5B\x2A\x95\xFE\x61\x09\x41\x00\x2E\x96\x17\xB2\x0C\x49\x00\x2F\x94\x4B\xBF\x8B\xDB\x19\x13\x02\x4C\x80\x8B\x33\x55\x5D\x85\x86\x7E\x92\x2E\x7A\x81\x7A\x05\x02\x93\x7E\x86\x19\x06\x4C\xB4\x90\x03\x05\x5C\x60\xEE\x26\x01\xD4\x90\x7B\x04\x07\x17\x93\x4C\x92\x1D\x71\x6F\x72\x01\xCB\x90\x7B\x02\x08\x33\x92\xD8\x91\x98\x6D\x4A\x90", + "\x04\x7F\x01\x39\x9C\x42\x12\x02\xE8\x91\x38\x99\xC8\x44\x21\x8C\x02\x3B\x96\x60\x22\x02\xF1\x90\x11\x9A\x1D\xB2\x85\x99\x02\x3D\x9C\x6A\x32\x02\xF9\x90\x15\x99\xAB\x54\x12\xA6\x02\x3F\x9F\x71\x02\x03\xCE\x93\x31\x9E\x33\x9B\x1B\xB3\x02\x41\x96\xA2\x14\x87\x19\x76\x2F\x99\x03\xB1\x5B\xC0\x01\x37\x9A\x10\x0C\x03\xC2\x90\xC0\x00\x0E\x20\x93\xFA\x91\x2D\x64\x84\x0E\x03\x16\x97\x41\x0A\x0D\x19\x94\x10\x06\x3B\x0C\x51\x82\x94\xB2\x30\xC4\x31\x52\x83\x04\xE8\x00\x49\x9A\x10\x3C\x03\x27\x97\x18\x93\x36\x84\x21\xEA\x03\x4A\x92\x10\x36\x03\x2E\x97\x41\x0A\x00\x13\x88\xBD\x91\xDB\x80\x26\x76\x94\x01\x04\x01\x0D\x07\x0C\x71\x03\x04\x06\x0C\x53\x8A\x94\x25\x74\x11\x26\x00\x03\x95\x21\x83\x40\x03\x01\x0C\x95\x01\x89\x40\x06\x02\x13\x88\x65\x62\x27\x00\x41\xB1\x04\x15\x00\x54\x94\x42\x48\x32\x35\x03\x8C\x80\x11\x16\x95\x19\x90\xDE\x00\x02\x1A\x95\x8C\x58\x22\x32\x04\x1E\x95\xCB\x51\x99\x8C\x45\x6B\x00\x64\x97\x30\x9C\x32\x0F\x01\x47\x95\x5A\x9E\x26\x84\x21\x37\x01\x5B\x9E\x17\x9D\x01\x71\x95\xB9\x10\xF6\x5C\x51\x43\x02\x5D", + "\x96\x6A\x79\x95\x04\x0D\x0F\x9F\x18\x4F\x01\x7E\x96\x85\x60\x58\x82\x04\x60\x96\xA1\x8B\x6D\x1B\x01\x6D\x94\xF1\x77\x08\x28\x95\x7A\x95\x13\x9F\x18\x66\x01\x85\x96\x81\x14\x09\x07\x96\x3C\x0A\xA5\x8E\xC5\x32\x01\x95\x94\xAB\x12\x0A\x18\x96\x83\x22\xA7\x80\xEE\x3E\x01\x9D\x97\xC7\x10\x0B\x20\x96\x89\x97\xA6\x4A\xBB\x65\x96\x26\x2A\x2F\x08\x5A\xAD\x8A\x5C\x52\x25\x0C\x5A\x88\x32\xCC\x03\x6B\x9F\x15\x84\x21\xA2\x03\x6C\x92\x33\x1A\x03\xB6\x97\x59\x84\x49\x2E\x02\x6D\x94\x33\x91\x10\x28\x03\x54\x97\x57\x90\xBA\x48\x29\xBB\x02\x6E\x9C\x32\x37\x03\xBD\x96\x5E\x85\x97\x0A\x97\xC3\x09\x01\x00\xC1\x09\x5B\xA9\x96\x60\x8B\x17\x4D\x96\xEC\x07\x04\x01\x33\x95\x97\x01\x05\x26\x91\x19\x9D\x58\xD8\x94\x6E\x2B\x5D\xA2\x92\x9A\x90\x00\x09\x0E\x01\x97\x4C\x0C\x04\x3E\xB9\x5C\x97\xD4\x2B\x3A\x9A\x10\x36\x03\xE8\x95\x09\x9A\x5E\x86\x97\x18\x78\x25\x13\x00\x3E\x01\x4C\x86\xF5\x0D\x04\x13\x97\xF4\x94\x1C\x47\x2C\xB8\x97\x54\x84\x93\x5C\x5F\xB2\x95\x05\x3D\x98\x0B\x01\x00\x98\xA6\x93\xC7\x19\x06\x10\x30\x55\x96\xC1\x80\xEE\x28\x00", + "\x08\x99\x82\x82\x33\x38\x01\x03\x99\x64\x9E\x30\x8C\x66\x11\x99\x2E\x98\xC8\x06\x02\x15\x99\x60\x96\x31\x9F\x97\xD2\x09\x86\x95\xE7\x56\x96\xF3\x94\x81\x9F\x31\x84\x21\x4D\x02\x88\x92\x5C\x80\x00\xA4\x01\x89\x96\x61\xB3\x93\x48\x2A\x16\x0A\x62\xAC\x07\xB4\x02\x8B\x9E\x61\xAE\x8C\x72\x87\x19\x03\x63\xAC\x10\xC4\x02\x8D\x98\x58\xAA\x87\x5F\x8B\x8E\x99\xED\x4C\x98\xFD\x94\xD4\x58\xA4\x01\x02\x42\x98\xAB\x13\x0E\x04\x99\x26\x99\xD1\x8B\x6D\x0E\x02\x22\x99\x7B\x3A\x09\x22\x98\x00\x0E\x3C\x0D\x61\xBF\x98\x06\x8B\x12\x61\x65\x90\x04\xA8\x00\x95\x9A\x11\x0F\x3B\xD4\x97\xA3\x7B\x6D\x2A\x02\x5B\x9A\x42\x06\x0B\x1E\x99\x7E\x20\x98\x95\x64\x88\x96\x30\x7D\x99\x96\x83\x68\x99\x07\x04\x07\x0A\x66\x8D\x99\x01\x05\xC2\x61\xB3\x6E\x99\x03\x06\x34\x00\x67\x83\x04\x2A\x03\x9C\x9F\x62\xBA\x1B\xA3\x29\x92\x92\x10\x21\x03\x7B\x9A\x40\x0B\x39\x99\x74\x9F\x00\xFC\x84\x49\x23\x03\x22\x98\x90\x82\x33\x20\x02\x29\x91\xFE\x8D\x3E\x80\x0E\x90\x98\x9D\x90\xEE\x2B\x90\x32\x0D\x28\x0F\x13\x1C\x02\x2A\x93\x29\x8A\x11\x22\x02\x3F\x06\x29\x07", + "\xCE\x24\x03\x8D\x98\x44\x05\x0E\x05\x9A\x26\x28\xA8\x93\xB5\x27\x33\xE7\x01\xA9\x93\x25\xA1\x0E\xA4\x02\xE9\x8F\x18\x68\x03\xAE\x9A\x81\x12\x41\xBE\x7C\xA5\x03\x4F\x03\x0A\x27\x33\xE9\x01\xAD\x96\x3D\x96\x0F\xA2\x99\xA3\x61\xF6\x7E\x9A\x1F\x1C\x12\x0C\x3E\xA7\x02\x3F\x04\x9F\x6E\xC8\x04\x9B\xFA\x8E\xF5\x08\x6C\x8A\x04\x9B\x73\xB6\x1C\x0E\x0C\x9B\x93\x99\xE8\x0F\x6C\x87\x04\x8F\x68\x21\x94\x6D\xAB\x90\xD7\x9A\x2A\x73\x77\x1B\x9B\x9E\x99\x7E\x5F\x13\x32\x72\xDB\x1B\x3B\x00\x6E\xB9\x82\x1A\x05\x2A\x0F\x13\x28\x02\xE7\x30\x3C\x02\x62\x95\x72\xE1\x9A\x42\x0A\x0A\x2B\x9B\xE7\x33\x3C\x0F\x6E\x8E\x89\x07\x07\x2A\x04\x6F\xBC\x1D\xF7\x9B\xAB\x96\x3D\x2C\x02\x3F\x06\xBE\x92\x69\xAB\x90\xAD\x03\x4F\x00\x70\x83\x9C\xF1\x9B\x41\x0E\x0A\x3F\x04\xF3\x98\xC2\x98\x6E\x90\x04\xAF\x03\x4F\x05\x70\x8E\x9C\xB1\x8C\x44\x00\x0B\x3B\x9B\xDB\x19\x3E\x0D\x6F\xB9\x8E\xD6\x0D\x2C\x0F\x13\x17\x9C\x14\x9D\x30\x87\x2B\x98\x9C\x44\x20\x3F\x0B\x71\xBF\x9A\xB4\x0F\x2C\x0F\x13\x32\x02\x9D\x9B\xC3\x94\x60\x7F\x04\xEA\x99\xC8\x93\x0B\xA1\x0E\xB5", + "\x03\x4F\x0B\x70\xB2\x9C\xC0\x82\xF5\x06\x0B\x3F\x04\x11\x9C\xCE\x96\x0C\xA1\x0E\xB7\x03\x4F\x0E\x71\xBE\x9C\xB2\x8E\xF5\x08\x0B\x3F\x04\x2A\x9C\xD1\x9C\x1E\x0A\x9B\x07\x04\x2D\x0D\x72\x95\x9C\xD0\x9B\x4F\x05\x73\x8A\x9D\x2C\x11\xB6\x97\x10\x3B\x9C\x54\x9D\x67\x3F\x13\x01\x9D\x59\x9C\xAB\x14\x6E\x83\x04\x47\x9D\xD7\x9F\x71\x3E\x02\x3F\x04\x30\x0F\x38\x54\x9B\x00\x03\x1F\x04\x54\x9F\x1C\x66\x9E\x42\x0F\x0B\x11\x71\x6A\x9C\x15\x78\x6F\x83\x04\xC1\x03\x4F\x03\x0C\x1B\x71\x71\x9C\x49\x03\x77\x82\x04\x77\x9E\x42\x0B\x0C\x06\x90\x04\x01\xDE\x9F\x9C\x22\x2E\x3F\x06\x32\x0F\x74\xA2\x9C\xA1\x0C\x31\x05\x76\xA7\x33\x06\x02\xE0\x9A\x13\x3C\x16\x8E\x9C\x10\x83\x97\x2C\x8F\xC5\x03\x4F\x06\x0C\x07\x9E\x33\x9E\xF5\x05\x79\x8A\x04\x86\x9E\xD8\x96\xA2\x17\x9E\x0A\x05\xDB\x98\x71\x51\x9E\x4D\x06\x02\x01\x79\x80\x0C\x4A\x00\xFB\x87\x0C\x16\x9E\x98\x9D\xCE\x94\x3B\x2B\x9E\x9C\x9D\xEB\x9F\x73\x96\x0F\xC8\x02\xAC\x9C\x45\x4C\x00\xA4\x9C\x7B\x0B\x04\x2C\x8F\xC9\x03\x4F\x02\x0C\x27\x33\x0D\x01\xEE\x9E\x6F\x91\x44\x3F\x05\xED\x9E\x79", + "\x88\x32\x7F\x9F\x81\x52\x7B\x85\x9D\xB4\x0C\x33\x09\x6C\xA7\x33\x0E\x03\xE9\x9A\xFA\x2C\x8F\xCE\x9D\xD4\x91\xDA\x12\x9F\xD8\x20\xF5\x9F\x13\x16\x9D\xFB\x84\xF6\x94\xE6\x5A\x9F\x0A\x04\x2F\x07\xCE\x14\x00\xDE\x9C\xAB\x1F\x04\x20\x9F\x07\x07\xD7\x98\xA4\x16\x00\xE5\x9C\x04\x88\x7E\x9A\x58\xE7\x30\x06\x02\x7C\x9C\x9C\xCD\x9C\x31\x77\xCE\x19\x00\xF3\x9C\xCA\x94\x44\x3B\x72\x07\x04\x35\x06\x40\x9A\x00\xED\x9E\x89\x2F\x0C\x17\x95\x1B\x04\x07\x01\x79\x84\x7F\x51\x03\x1F\x9C\x56\x1E\x89\x5E\x33\x09\x07\x80\xAD\x79\x0A\xA3\x41\x03\x80\xA1\x90\x53\x3D\xE4\x9E\x17\xAB\x01\x7E\x9B\x40\x03\x81\x99\x7D\x48\x2A\x0F\x06\x81\xAC\x07\x79\x01\x06\xA2\x10\x1B\xA0\x92\x77\xB6\x1A\x04\x1F\xA0\xF1\x1E\x08\xA1\x10\x24\xA0\x35\x35\xD4\x58\x82\x86\x18\x95\x02\x0A\xA0\x00\x2C\xA0\x01\x06\x34\x0B\x7C\xAC\x07\x34\xA0\x00\x0E\x94\x6C\x3A\x0F\xA1\x03\x21\x81\x9A\xA0\x39\x84\xB8\x3D\x06\x2F\xA0\xAC\x1A\x17\x9F\x12\xB9\xA0\x75\x6C\x17\x59\x07\x04\xA1\x63\x9E\x0C\xA9\x83\xBC\x6D\x8F\x45\x21\x0C\x84\xA6\x28\xCC\x02\x13\xA4\x46\x86\x78\x91\x03", + "\x14\xA8\xC8\x1A\x03\x56\xA0\x1B\x90\xEE\x1D\x02\x5A\xA2\xCC\x08\x0E\x1D\xA1\xA0\x7F\xE3\x51\x86\xAC\x0C\xF6\x00\x19\xA7\xFA\x59\x7C\x91\x9F\x8A\x94\x00\x02\x93\x65\x61\x0E\xA1\x17\xA5\x97\xC2\x03\x19\xA3\x2C\x13\x00\xC2\x91\xB2\x59\x83\xB9\x7E\xF1\x5A\x33\x06\x87\x80\x0E\x21\x01\x1E\xAC\x4B\x70\x6E\x5E\x32\x36\x0D\x83\x86\x18\x2F\x02\x43\x93\x83\x9A\x8B\x5E\x31\x39\x07\x88\xAC\x1A\x3C\x02\x22\xA9\x83\xA9\x8B\x78\x0C\x3C\x0D\x86\xAC\x07\x49\x02\x30\x9E\xB9\x53\xA2\xEE\x97\x8D\x87\x89\xB0\x51\x9A\xA3\x20\xA5\x5F\x9B\x1B\x0A\x00\x20\x09\x5F\xB4\x0E\x69\x02\x20\xAB\x80\xB2\x4B\xDB\x1A\x05\x06\x8A\x81\x98\xC3\x0B\x1D\x0A\x8A\x92\xA0\xB2\x87\x63\x42\x02\x2F\xA2\x09\x9A\x89\x25\x08\x30\xA1\xA2\xA1\x51\x7A\xAB\x78\xA2\x12\x98\xCB\x04\x09\x33\xA2\x40\xA2\xFF\x70\xEE\x3B\x00\xC0\xA2\x86\x92\x33\x22\x02\xC4\xA3\x08\xAC\x00\x8F\x46\x47\x01\x32\xA3\x62\x85\xA1\xA1\xA3\x2A\xA2\x4E\x86\x78\x54\x02\x34\xAB\x62\x95\x94\xE9\x6E\x35\xA0\x63\x9E\x31\x61\x02\x36\xAC\x1E\x10\x03\xD5\xA0\x2D\xAB\x4F\xA5\x97\x6E\x02\x38\xAC\x42\x20", + "\x03\xE5\xA1\x31\xAC\x49\x5E\x31\x7B\x02\x3A\xA7\xAD\x7C\xA2\xDE\xA3\x42\x94\x84\x08\x02\xF2\xA2\x38\x34\x8F\xA6\xA3\xFA\x84\x92\x25\x09\x12\xA3\xED\x35\x28\x02\x8D\x80\x0C\x0E\x01\x5B\x9A\x87\xAC\x6B\x50\x34\x40\xA0\x71\x83\xA4\x10\x04\x07\x06\x90\xBD\xA2\x1C\x4B\x57\x4A\x90\x8A\x04\xBD\x00\x43\xA5\x3A\x0F\xA4\xF5\xA1\x44\x7B\x6D\x3F\x02\x13\xA7\x41\x0B\x0C\x16\xA4\x07\x08\x46\xAC\x8F\x9B\x74\x44\x21\x33\x0D\x91\x85\x76\x20\xA6\xDB\x02\x92\xAE\xA3\xAB\x7B\xB6\x1B\x0D\x39\xA3\x02\x04\x3A\x09\x92\x82\x04\x54\x01\x5B\x95\x86\x50\x03\x04\xA2\x46\x0A\x0E\x12\xA3\xC4\x7F\x18\x01\x5F\x87\x04\x38\xA5\x58\x97\x19\x35\x03\x3C\xA4\x7B\x00\x07\x3F\xA4\x03\x05\x50\xA1\x11\x86\x78\x00\x01\x20\x07\x8A\x84\x11\x7D\x03\x4A\xA2\x10\x0A\xA5\x39\x6F\x63\x4C\x00\x0E\xA5\xB0\xA0\xE0\x0B\x08\x12\xA5\x01\x04\x55\xA5\x67\x6F\x5F\x58\xA4\x57\x82\x33\x19\x02\x5C\xA4\x00\x0E\x95\xBE\x59\x61\x08\x09\x01\x96\x81\xA3\xC3\x0B\x29\x05\x96\xA7\xA5\x3A\xA1\x98\x00\x03\x2B\xA5\x65\x96\xCC\x05\x0B\x08\xA5\x53\xA5\x10\xAF\x18\x7B\x00\x74\xA6\x5B", + "\x93\x2C\x02\x03\x6F\xA6\x66\x90\xEE\x07\x01\x7D\xA6\x5F\x80\x0D\x01\xA6\xBD\x77\x51\x15\x98\x85\x61\x88\xA7\x41\x02\x80\x4F\x46\x5F\x03\x62\xA7\xAC\x4D\xA6\xCC\x75\x98\x0B\x06\x12\xA6\x06\x1A\x3E\x04\x99\xB4\x8A\xDB\x1B\x1D\x08\x99\xAC\x1A\x08\x02\x88\x99\x6C\x70\xA5\xBC\x89\xBC\x53\x08\x3D\xA5\x2B\x9A\x05\x02\x62\xB7\xA4\xC7\x96\x17\x30\x09\x1F\xA6\x1F\x1D\x09\x02\x9A\x98\x0C\xCD\x88\xB8\x3C\x09\x30\xA6\x26\x2B\x0C\x03\x9B\x8A\x04\x70\xA4\xF0\x71\x6F\x68\x02\x7D\xA4\xF1\x71\x04\x02\x9A\x5D\xA4\x23\xA0\xEE\x33\x02\xC1\xA4\x7B\x0E\x04\x04\xA7\x66\xA4\x79\x90\x62\xB3\x0B\xA8\xA5\x93\x02\x62\x9E\x6E\x70\xA4\x25\xA7\x19\x0B\x03\xD1\xA4\x93\x23\x9D\xB4\xA6\xA3\xA1\x61\x28\x9B\x88\x32\x7B\x03\x6E\xA0\x94\xB8\x8B\xE0\x38\x39\x0F\x9D\x97\x6F\xE2\xA5\x52\xA5\x8B\x9C\x51\xF0\x01\x76\xA8\xA7\x2B\xA6\xDC\xA6\x2F\xA9\x4D\x27\xA7\x2C\x0E\x29\x09\x9E\xB9\xA5\xC6\xA3\x63\x49\x00\x02\x02\x4F\xA6\x46\x04\x0B\x37\xA7\xC5\xA7\x87\x9A\x41\x83\x04\x15\x00\x7F\xAD\x54\x87\x94\xDB\xA4\x6F\xAF\x8C\x9C\x51\x22\x02\x81\xA9\x8B\x88\x32", + "\x7A\x99\x37\xA3\x9E\xA7\xA3\xCF\xA4\x00\x0F\x02\x0E\xA8\xB0\x92\x89\x22\x0E\x09\xA8\x13\xA8\x8E\x95\x5E\xBC\x00\x18\xAB\x5A\x86\x60\x32\x03\x1C\xAA\x7A\xA6\x33\xA0\x3B\x49\x01\x88\xA3\x8D\x99\x26\x91\x9C\x6B\xA0\x03\x91\x5D\x2A\xAB\x8A\x91\x01\x2D\xA8\xF1\xA6\x9E\x78\xA4\x23\x01\x2A\xA9\xD7\x5A\xA2\x80\x0C\x20\x01\xE4\x93\x9A\x88\xA4\xE0\x39\x1C\x09\xA3\xA7\x5D\x3B\xA9\x3D\x4E\xA3\xB5\xA8\x29\x94\x25\x1F\x07\x03\xA9\x72\x5D\x91\xA5\x35\x07\xA9\x0A\xAB\x4C\x98\xA4\x0D\x02\x4C\xA9\xDF\x5E\xA4\xA9\x2A\x50\xA9\x87\xA4\x92\x88\x29\x9B\x01\x95\xA7\x78\x57\xA9\x03\x04\x16\x09\xA5\xA6\xA8\x6A\x83\x63\x49\x0A\x31\xA8\x27\x1C\x98\xA5\x97\x74\xA8\x0A\x05\x34\x0F\x13\x0D\x03\x9B\x5E\x8A\xA0\x6F\xAE\x9C\x07\x06\x0D\xAD\xA6\xB7\xA0\x2C\x4F\x4F\x00\x97\xAC\x82\x50\x9E\x81\x13\x0D\x3F\x04\x76\xA8\xEC\x88\x78\x99\x9E\xB4\x0E\xFF\x99\x91\x97\x9A\x09\x9C\xA9\x6F\x13\x1B\x03\x06\x93\x2E\x0A\xA6\xA6\x28\xD6\x01\x4E\xA0\x11\x3D\x02\x2A\xA8\xF1\x75\x07\x1F\xA2\x77\x14\x03\xA0\xEE\x08\x03\x95\xAA\x39\x98\xA9\x83\x04\x91\xA8\x05\xAB", + "\x17\x5E\xA9\x1F\x1F\x23\x03\xA6\x82\x04\xA1\xA8\x07\xAE\xC5\x1F\x03\xA4\xAA\x03\x97\xAA\x81\x04\xA9\xA9\x09\xA4\x84\x2B\x03\xAD\xA8\x22\x3B\x0A\x2F\xAA\x00\x01\xAC\xAD\x82\x88\x29\xF7\x01\xAD\xA2\x33\x39\x02\xB8\xAA\xAE\xA1\x10\x19\x03\x78\xAA\x81\x12\xAC\xB1\xA5\xF6\x97\x20\x03\x49\x84\x11\xC7\x03\xA7\xA8\xAA\xBA\xA5\x5C\x52\x03\x0A\xAC\x99\xA5\xA1\x0C\x35\x01\xAC\x82\xA6\x78\x67\xB4\xA2\x96\xAC\x0C\xE2\x03\xB5\xA9\x98\xA0\x85\xDA\xA8\x5B\xA0\x38\x16\xA2\x2F\x87\xB1\xAF\x98\x9C\x51\x32\x01\xB8\xAA\x8C\xAC\x0C\xFE\x02\xB7\xA4\x37\x49\x37\xEA\xAA\x5F\xA0\x38\x0C\x00\xD2\xA1\xB2\x57\xAC\xB4\x91\x15\xAA\x12\x01\xAF\xBE\x85\x1A\x01\xBD\xA0\x11\x07\xAB\xA5\xA6\x81\x76\x05\x31\xAB\x2B\x98\x0A\x02\x8D\xA5\x61\xC7\xAB\x1C\xA5\xA1\xA3\x01\xFB\xA8\x7B\x07\x03\x3E\xAB\x24\x0D\x6D\xAF\x18\x6F\x01\x0D\xAF\x6D\x50\xB1\x99\xAA\xD3\x8B\xB6\x1B\x07\x31\xAB\xC4\x7F\x14\x00\x93\xB0\xAA\xC6\xA7\x63\x46\x08\x1C\xAC\xBF\x1F\xC7\xA9\xAB\x8E\xA7\x03\xAA\xBD\x24\xB0\xAC\x07\x6D\x02\x34\xAE\xB9\x47\xAB\xD6\xA5\x5E\x0E\x09\x2B\xAC\x39", + "\x6A\xCB\xAF\xAF\xA2\x86\x5E\x33\x2A\x05\xB1\x86\x18\x8D\x03\xC5\xA0\xAA\xA4\xA7\x8F\x47\x2D\x0B\xB3\xAC\x1A\x9B\x02\xCF\xAF\xAC\xA6\x78\x5E\x33\x30\x04\xB3\x86\x18\xA9\x03\xC1\xA7\xB3\x9C\x67\x44\x20\x34\x03\xB4\x9F\x1C\xB8\x02\xD1\xA0\xB2\xB9\xA7\x5C\x50\x37\x03\xB5\x9F\x9E\x56\xAF\xC9\xA2\xA0\xB8\x0D\xE8\x03\xD2\xAC\x6A\x14\x03\x36\xAD\xC4\xAF\xB5\x83\xA5\x62\xAF\xC7\x14\x0E\x25\xAD\x18\xAE\x87\xA5\xA1\x82\x00\x84\x01\x7D\x83\x2C\x34\x03\x6C\xAF\xCF\xA4\xA1\xA9\xAC\x01\x07\x03\x01\xB7\x87\xA8\x26\x28\x01\x0D\x97\xAF\xAC\x40\x9A\x17\x3C\x01\x3B\xAD\x0F\xAA\xCC\x04\x01\x3D\xA5\x08\xAD\x9C\x74\x84\x29\x00\x84\xAD\x86\xA8\xC8\x23\x00\x88\xAF\xD3\xAD\x8F\x9E\x31\x36\x01\xE3\xAA\x61\x82\x01\x96\xAE\xE4\x91\x10\x32\x00\x7D\xA6\xBD\xA0\xA4\x8F\x46\x44\x01\xE6\xA9\x35\x59\xAE\x00\x0C\x10\x0D\xB9\x92\xAE\x11\xA7\xB6\x12\x05\x22\xAE\x10\x06\x17\x04\xBA\x90\x04\x4E\x03\xE9\xA6\xB6\x9B\x88\x5E\x30\x18\x0C\xBA\x8A\x04\x6C\x03\xEB\xAE\xC0\x72\xAE\x6D\xAF\x96\xAE\xC5\x2E\x01\xB7\xAE\x85\x0A\xBB\x85\x75\xBC\xAE\xDD\xA5\xA6", + "\x9C\x51\x7C\x01\xE6\xA4\x38\x49\x02\xC3\xAC\x23\x81\xB9\x8A\x04\xD7\x02\xA4\xA2\x77\x59\xAE\x8E\x96\x7B\xA3\x10\x11\xAF\x42\xA5\x5E\x06\x09\x14\xAF\x7D\x36\xF5\xAF\x23\x6A\x95\xF1\x59\x28\x01\xBC\xAC\x1A\xA1\x01\xF1\xAF\xBD\xB3\x95\x48\x29\x2B\x03\xBE\x9F\x1C\xAF\x02\xF9\xA1\x10\x18\xAF\x35\x90\x11\x29\x0B\x2B\xAF\x26\x29\x2F\x0E\xBE\x80\x00\xF0\xAD\x4A\x88\xA4\x05\x03\xF4\xAC\xF2\x97\xBF\xB9\xAF\x32\x87\xFD\x3C\xBD\x90\x4A\xDE\xAF\xFB\xA0\xAD\xB1\x5B\xDC\x01\xFF\xA2\x33\x26\x03\xFF\xAC\xB6\xAC\x45\x68\x03\x0A\xB0\xCB\x04\x0F\x0D\xB0\xDF\xA8\x11\x24\x0F\x11\xB0\xC3\x0A\x00\x0A\xA2\x89\x5B\x00\xB1\x54\x84\x49\x06\x35\xD4\xAA\xF5\x00\x01\x1B\xB0\xD6\x18\x6C\x91\x6F\x4C\x00\x6B\x6E\x5F\x8E\x01\x24\xB0\xD0\xAE\x75\x7F\x7E\x69\xB0\xEC\x04\x0B\x0C\xC2\x87\x04\x1D\xB0\xEE\x19\x96\xAB\x6D\x2B\x9A\x0E\x0A\xA2\xA5\x61\x35\xB2\xC2\xA8\xB7\x80\x00\x31\x00\x0C\xBC\x42\x29\xA8\x2F\x85\x0D\xBC\x87\x86\x78\x3D\x02\x10\xB6\x60\x17\x01\x33\xB3\xF5\xA4\x88\xA8\xA8\x6B\x6C\xF1\x75\x06\x28\xA9\x2D\xB2\x62\x8E\xC5\x14\x01\x51\xB0", + "\x7B\x02\x07\x14\xB1\x34\xB0\xCA\xA8\x37\x1F\x01\x38\xB0\x7B\x0B\xA4\x92\xA8\x4E\xB1\xB8\x81\x6F\x6C\x01\x61\xB0\x0B\x1F\x08\x2A\xA8\x9E\x6D\x0D\xBF\xFD\x71\x5B\x79\x02\x12\xB0\xA8\x0D\xB1\xE7\xAE\x7F\x91\x14\x72\xB1\xCE\x58\x1D\xB6\xC0\x88\xAD\xE0\x39\x24\x09\xC6\x86\x18\x8E\xA9\x46\x75\xC3\x91\x93\x72\x86\x27\x08\xC7\xA6\x28\xCA\x02\x1E\xB8\xBF\x81\x87\x5E\x32\x2A\x07\xC8\xB9\x7B\x8A\xB1\x0D\xBA\x1C\xA5\x97\xB6\x03\x1F\xB8\x57\x6C\xB1\x25\xB3\xD9\xA9\x17\x03\x03\x96\xB3\xC7\x16\x0F\x18\xB2\x55\xB2\xDB\xAF\xC3\x90\x03\x9D\xB2\x89\x26\x00\x31\xAB\x6D\xB2\x78\x81\x6F\x5D\x03\xA5\xB0\x22\x36\x01\x28\xB2\x99\xB3\x3B\xA0\xEE\x2A\x03\xAD\xB2\xCC\x06\x02\x31\xAB\x3C\xB2\xE2\xAC\xAB\xB5\xB2\x2C\x0D\x0D\x08\xCB\xB1\xB2\x36\xAA\x17\x34\x00\x3F\x2F\xED\x34\x04\x0F\xBF\x00\x0C\x44\x01\xBC\xAC\xC1\x9F\xAE\x5C\x52\x04\x04\xCC\x98\x22\xC7\xB0\x44\x02\x05\x0A\xB3\xC0\xB1\x92\xAB\x6D\x20\x00\xCF\xB2\x58\x01\xCD\x99\x34\xD4\xB1\x28\xB6\x22\x54\x12\x2E\x01\x36\xB7\x10\x3A\x00\xDB\xB3\x41\x0E\x06\x1D\xB3\x5D\xB1\x18\x88\xB8\x62", + "\xB3\x03\x04\x12\x05\xCE\x83\x04\x7C\x00\x3A\xB5\xC6\x87\xAF\xF1\x5A\x12\x0F\xBF\x01\x54\xEF\xB2\x40\x0A\x08\x3F\xB2\x0A\x04\x36\x0F\xA6\xA7\x33\x59\x03\xFF\x23\xA7\xBD\xA9\x85\x77\x4F\x0E\xCF\x87\x9F\xBB\x97\x4F\x05\xC3\xBC\xA9\x83\xAA\xEB\x94\x44\x1A\x03\x3F\x04\xB1\xA8\xD0\xAC\x0C\x8C\xAB\xEC\xA8\xFA\x09\xAA\x1F\x1C\x37\x0F\x13\x1E\x03\xC5\xA8\xAB\x1A\xD1\x8A\x04\x7D\x9D\x8D\x2F\xBF\x00\x89\x99\x01\xBC\xAD\x14\x1D\x03\x1B\xB5\x47\xBF\x71\x28\xB4\x20\xB7\x39\x3D\x05\x23\xB4\xEC\x06\x26\x06\xD2\x90\x04\x1C\xB5\x34\x67\xCE\x1E\x01\x30\xB7\xF0\x94\x44\x1F\x03\x3F\x07\x47\xB2\xA8\x84\xAA\xB3\x9C\xED\x00\x0E\x12\xAF\x07\x07\x17\x0C\xCE\x9F\x1C\x9B\x01\xDA\xA1\x10\x03\xB5\xD9\xAC\x5A\x0B\x06\x07\xB5\x26\x28\x2A\x0A\xD4\xBC\x7C\xE0\xAE\x81\x77\x07\x37\xB3\xEC\x05\x2D\x02\xCF\x82\x04\x4C\xB6\xAA\xAF\xCF\x58\xB5\x2C\x12\xD2\xAF\x12\x9D\xB5\xB2\xA8\x92\x21\x09\x20\xB5\x06\x19\x34\x0B\xD5\x8B\xB5\xB6\x9D\xBC\x5E\x09\x39\xB3\x26\x2B\x37\x03\xD3\x8A\x04\x64\xB7\xAE\xAE\x3B\x68\xB5\xAC\x18\x38\x0B\xD6\x94\xB5\x1C\x54\x25", + "\x1D\x0A\x10\xB5\x88\x32\x3B\x03\xD5\xB5\xB5\x7A\x7D\x58\x38\xD7\x95\x7D\x7B\xB4\x61\xBA\x69\x54\x12\xC6\x03\x61\xBC\xF5\x59\xAE\xC9\x5A\x62\xB0\x85\x9C\x51\xD3\x02\x63\xB4\xF6\x50\xB6\x10\x06\x62\xB7\xAE\xBD\x91\x96\xB5\xDB\x78\xD9\xB4\xB5\x26\xB2\x81\x7D\x0E\x1D\xB6\x2C\x0F\x0C\x0F\xD9\x87\x04\x8A\xB4\xBE\xAF\xC3\xBA\x03\xA4\xB7\xB0\x01\x04\x27\xB6\x03\x06\x62\xB1\xB0\xB2\x85\x07\x03\x21\x0F\x12\xB2\x0C\x4F\x01\xE6\xA5\x86\x4A\xB6\x3E\xB0\xDE\x05\x01\x36\xB6\x7C\xAC\x22\x3E\xBA\xA3\xB5\x12\xAC\x83\xA0\xDC\x85\xAE\x2C\x0D\xEE\xA4\xDC\x99\xAC\x44\x23\x0B\x07\xDC\xA2\xAB\x13\x3E\xF2\xA9\xD9\xA1\xAC\x5C\x53\x0E\x0F\xDC\xAB\xAB\xC3\x0B\x21\x02\xDD\xA0\xB6\x66\xB2\x81\x77\x04\x17\xB7\x7A\x71\x5F\x39\xB9\x9E\x6E\x8A\xB5\xCC\xA8\x16\x15\x01\xE0\xB7\x20\x74\x3B\x24\x02\xE3\xB7\x74\xBD\x9D\xB7\xA8\xE0\xB7\x8A\x94\x0B\x30\xB6\x5C\xB4\xD0\xAC\x45\x70\x01\xF1\xB4\x7B\x02\x0C\x34\xB7\x6C\xB4\x1F\xBF\x18\x7D\x01\xE9\xB7\x38\xAA\xDB\xAE\xB7\xF2\xA5\x0F\x39\xDF\x85\x71\xFC\xB4\x5F\xB7\x61\x8E\x91\x07\xBA\x81\x1D\x0E\x09\xB8", + "\x8A\xB4\x7B\x66\x09\x60\xB7\x8E\x98\xCB\x0A\xD8\x84\x90\x48\x2A\x29\x00\xDE\xBE\x7A\xD6\x0F\x3E\x09\xB9\x8D\x05\x8A\xB7\x03\x77\xE1\x1B\xB8\xEC\x04\x3F\x0F\xE1\x84\xB8\x03\x04\x06\x73\x66\x94\xB8\x7B\x9D\x7F\xBD\x6E\x27\x33\xAB\x00\x8B\xBA\xD3\x9A\x04\x8A\xB7\x86\x64\x49\x2C\x02\x32\xB8\xFD\x94\x44\x0A\xB6\xE6\x03\x39\x3D\x0A\x39\xB8\xFA\x9C\x8D\xBF\x13\x39\x70\x3B\x20\x90\xBD\x3D\xA1\x0E\x8A\xB6\x2D\x84\x84\x2F\x02\x24\xB8\x0B\x1D\x0F\x27\xB8\xDC\xB7\x35\x17\xCE\x31\x02\x4D\xB9\x15\x60\xE5\xA8\xB6\x42\x68\x25\x13\x0B\x06\xB9\xCD\x9A\x50\xBF\x13\x1A\x71\x94\x10\x2D\x05\xE5\xA2\x33\x57\xB9\x6C\xBF\x13\x23\x71\x94\x12\x2D\x0C\xE5\x95\x9B\xD6\x0E\x62\xB3\xC9\x95\xA8\xB7\x01\x80\xB4\x43\x2B\x6D\xE4\xB7\x82\xA1\x6F\x45\x03\x72\xBA\x81\x10\x01\x34\xB9\x28\xBA\x9A\x6A\x12\xB9\xB9\xAC\x18\x08\x0C\xE7\x91\xB9\xDF\xA0\xB8\x31\x0E\x00\xBA\x1F\x1C\x0C\x03\xE8\x98\xB9\x0A\x04\xD3\x94\x84\x2F\x03\xE0\xB7\x40\xB1\x3A\x00\x01\x6B\x6E\x46\x9F\x13\x11\x9B\x44\x22\x3C\x01\xE9\xAC\x07\x42\x01\xA5\xBD\xE7\x81\x04\xDC\x9C\x92\x25", + "\x0F\x1B\xBA\x2C\x10\x11\x0E\xE9\x84\xBA\x02\x06\xF8\x90\x26\x64\xBA\x06\x1A\x11\x07\xEA\x8C\xBA\xE9\x9D\x0A\x7C\xEA\xAC\x1A\x48\x03\xAB\xB6\xE6\xA8\x6A\xE7\x32\x3F\x03\xE6\x9F\x1C\x4A\x03\xDA\x60\xE2\xB6\x9F\x1F\xB0\x22\x0B\x76\x98\x54\xBE\xBB\xA7\xB3\xA8\x2A\x0B\xC2\xBB\x41\x0A\xDE\x84\x11\x4C\x03\xDA\x6B\xDB\x99\x8F\xE7\x30\x04\x09\xEC\x91\x95\x88\x33\x16\x05\xEC\xA8\xBA\x32\x97\xB6\x12\x01\x13\xBB\x83\x9E\x42\x04\x01\x1C\xBB\x0C\x8A\x40\x0C\x05\x17\xBB\xB0\xBA\x91\x9E\xC5\x16\x00\xE0\xB9\x78\xBC\x42\x1D\x01\xCE\xBA\xB1\xB3\x51\x86\x78\x24\x01\xBA\xB4\x38\x71\x00\xE9\xB8\xC0\x08\xC6\x8B\xB7\x1E\x94\x92\x23\x03\x32\xBB\x10\x04\x10\x05\xEF\x90\x04\x7A\x03\xDA\x61\xD9\xA2\x99\x44\x22\x10\x0C\xEF\xBE\x44\xFF\xBA\x42\x08\x08\x02\xBC\xC6\xB8\xC0\x6F\x18\x51\x01\x07\xBF\x41\x0E\x05\x09\xBC\xDC\x3C\xC3\xB8\xED\x80\x00\x76\x99\xBC\x50\x06\x11\xBC\x03\x05\x1B\x04\xF1\xA8\x11\x16\xBD\xB9\xB0\x68\x90\x7A\xE9\xB9\xB2\x5D\x07\x1F\xBC\x8E\x2D\xBB\xBA\x10\x22\x03\x3F\x05\x38\x07\xCE\x3F\x01\xE9\xB9\x85\xB3\x2C\x2A\xB8\x03", + "\x04\xCB\xB3\xD1\x83\x0B\xE4\x01\xCB\xB7\xCE\x00\x02\x31\xBD\x8B\xB0\x00\x20\x70\x07\x05\xCE\xB7\xF3\x80\x0E\x3D\xB8\x43\x66\xEC\x29\xBB\xC4\x7D\x30\x0D\xCA\x85\xBD\x14\x65\x98\x0C\x08\x08\xBD\xEC\x06\x33\x0B\xF4\x95\xB5\x72\x87\x25\x09\xEE\xBE\x85\xDB\x01\xC8\xB3\xA2\x68\xAF\x50\x37\xD5\xBC\x1E\x29\x03\x5A\xBE\x0C\x1B\x57\x92\x84\x5E\xBC\x0B\x17\x0F\x21\xBD\x7E\x5A\x60\x9C\x45\x7B\x02\x65\xBE\x81\x15\x00\x3F\x2F\xC9\x58\xD3\xBE\xFE\x14\x12\xC7\x00\xD4\xBC\x42\x13\x00\x96\xB6\xDC\xB4\x7E\x54\x12\xD2\x01\xDB\xB1\xE8\xB0\xBD\x10\x06\xDE\xBE\x7E\x6B\x2A\x7E\xBF\xC7\x11\xCE\xAF\x84\x82\xBE\xE2\x74\x53\x85\xBE\x26\x28\x0F\x00\xF8\xBD\x2E\x57\xA2\x5C\x86\x0F\x0C\xBE\x88\x32\x3D\xB8\xF8\xA1\xB6\x72\x86\x00\x09\x08\x3D\xA7\xED\x1F\xE3\xB0\xC3\x77\x96\x1E\x83\xE6\xB1\xC2\xB4\x0E\x66\x02\xE7\xBB\xF5\xBE\x96\xDB\x1A\x06\x02\xFA\x88\xB7\xC3\x08\x1D\x0F\xBF\x25\x61\x89\xBD\x6F\xB7\x19\x27\x00\xAB\xBC\x74\xB6\x3D\x03\x02\xA6\xBE\xD8\xBA\x48\x9E\x31\x33\x01\xED\xB8\xDD\x80\x0E\x67\xB7\xE5\xBC\xDC\x88\x29\x3F\x02\xEF\xB6\x5B", + "\x46\x18\x9F\x01\xDE\xB4\xDD\xB5\xB3\xC6\xBC\xF1\x7C\x0A\x0A\xBF\xDD\xB6\x5C\x85\x05\x06\xBF\x2B\x99\x2E\x0F\xBF\x1E\x6E\x89\xBE\x79\xB2\x1C\x14\xBF\x4E\x3F\xF5\xB1\xF8\xB8\xAC\xE0\x3B\x1B\x06\xFC\xBE\x85\xD9\x01\xEE\xB9\xF6\xAC\xA2\x44\x23\x1E\x03\xFE\x8D\x76\xE6\xBD\xD6\x6B\x9E\xB1\x5B\x87\x00\xF7\xBC\x42\x35\x03\xAF\xBF\xF7\xB0\xB5\x88\x29\x94\x03\xFA\xBC\x42\x04\x00\x88\xBB\xF9\xBB\xE0\x8F\x46\xA0\x02\xFE\xB6\x60\x12\x00\xFD\xBE\xFB\xBA\xC9\xA8\x05\xAC\x02\xFC\xB6\x60\x20\x00\xE0\xB4\xF6\xB6\xE7\x86\x78\xB9\x02\x02\xCF\x77\x0D\xC0\xF6\xBE\x28\xB8\x37\x06\x03\x12\xC3\xC7\x10\x04\x14\xC0\x90\xBF\xDD\xA8\x37\x13\x03\x19\xC2\x89\x20\x05\x1C\xC0\x9F\xBE\x2C\xBF\x18\x60\x03\x21\xC0\x22\x30\x06\x20\xB7\xB0\xBE\x2E\xBE\xC5\x2D\x03\x29\xC0\x95\x1C\x02\xD5\xC0\xC1\xB0\xB8\x3A\x0F\x02\xC0\x83\x06\x22\x03\xEC\x80\x00\x7E\x01\x01\xC9\xF8\x85\x7A\x5C\x50\x02\x0A\x03\xFD\x7D\x14\x03\x10\xC4\xED\x8C\x02\x3E\xC0\xC1\xBB\x7E\x86\xC1\x09\x8A\x08\x0C\x04\xE1\xBB\xF5\x8D\x12\xC2\xA5\x9E\x31\x24\x03\x13\xC6\x17\xB0\x00\x56\xC0", + "\x3E\x42\x05\xE6\x88\x5E\x32\x0C\x06\x05\xED\x37\x3E\x01\x16\xC7\x72\x1B\xC1\x2D\xA4\x11\x20\x04\x16\xC1\x84\x4D\x13\x02\x06\xC7\x58\x33\xC3\x2B\x3A\xF3\x86\x73\x56\xC2\xCC\xBF\xAB\x3F\x04\xE7\x02\x4A\xB6\xA2\x12\xB8\x14\x66\x01\x90\x05\x2B\xC1\x06\x1A\x3A\x0F\x06\xEA\xAE\x71\xC2\xCF\xBB\x0E\x3F\x04\x7E\xC3\xD0\xB1\x3A\x04\xB9\x16\x11\x98\x03\x05\x16\xC1\xC4\x7F\x34\x0D\xE0\xB7\x1B\x9A\xAB\x63\x4E\x05\x0C\xC2\x64\x43\x23\xC2\x10\x08\xC2\xF6\x5D\x98\x09\x06\x1F\xC1\xEC\x05\x3B\x05\x00\xD8\xC2\x49\x8E\x1D\xC8\xC8\x20\xC2\x00\x03\xF4\x3F\x18\x75\x01\x9C\xC0\x0B\x1B\x0F\x1F\xC2\x63\xBE\x81\x71\x08\x29\xC2\x06\x19\x02\x05\xF2\x90\x04\xA4\xC2\xD6\x60\xEE\x0D\x02\xB0\xC0\xAB\x17\x01\x33\xC2\x0A\x04\x29\xCB\x83\xA0\x3B\x99\x00\x25\xC4\xC0\x1C\xBC\x97\xC3\x01\xB6\xE0\x64\x02\xB9\xC3\xC7\x12\x03\x3C\xC2\x2B\x6A\x03\xB1\x6F\x70\x02\xC9\xC2\x89\x2E\xEF\xAF\x84\xA4\xC3\x64\xB5\x46\x91\xC3\x88\x32\x13\x0C\x0C\xD0\xC2\x60\x37\xB6\x18\x0C\x18\xC3\x32\x0C\x17\x0B\x0D\xC5\xC3\x5E\xA3\x63\x44\x0D\x20\xC3\x2C\x0E\x1A\x03\x0E\xC1", + "\x04\xA4\xC2\x6A\xB8\x37\x20\x03\xE8\xC3\xB0\x08\x07\x2B\xC3\x00\x00\x29\xC3\xDB\xA5\x97\xEC\x00\x1A\xCC\x1E\x06\x02\xE9\xB9\x19\x64\x0A\xF2\xBE\x79\x05\x3E\x01\x0F\xC0\x0E\x95\x00\x3D\xC4\x0A\xC7\xB1\x72\x85\x01\x0B\x08\x1C\xBE\x0A\x07\x28\x06\x10\xCF\xB1\x8F\x45\x04\x0B\x10\xDE\x92\x32\x0D\x2C\x04\x0C\xEC\xC3\xCB\xBE\x81\x7C\x01\x13\xC4\xFE\x79\x6B\x97\x11\xF5\xC3\x5E\xB3\xEC\xBC\x11\xCE\xAE\x32\x0F\x32\x09\xEE\x9E\x6E\xA4\xC2\xF6\xB4\x14\x34\x00\x23\xC6\x88\xAC\x6A\x1B\x03\x27\xC4\x2D\xC0\xFE\x8F\x46\x41\x01\x4B\xC2\xAF\xA1\x0E\xEB\x03\x43\xC8\xFE\x88\x29\x4D\x02\x4D\xCE\x17\xB9\x03\x3A\xC5\x81\x94\x49\x19\x01\x36\xC7\x8A\x97\x00\x06\xBF\xFE\xC2\x83\x93\x59\xBE\xC4\xEC\x06\x05\x06\xFC\x89\x5B\xA4\xC2\x36\x9F\x18\x72\x01\x4C\xC4\x4A\x6F\x14\xF2\xC4\x07\xC2\x55\x0E\x07\x05\xC5\xEC\x06\x0C\x06\xFC\xA8\xC4\x0F\xC2\x5C\x8B\x08\x1C\xC5\x2C\x12\x10\x0F\x15\xD8\xC5\x16\xC3\x65\x08\x09\x24\xC5\xE8\x73\x59\xCD\x0B\xEA\xB2\x06\x79\x29\x0C\x16\xEC\x1A\x62\x02\x5B\xCD\x0C\xE7\xA8\x8F\x46\x2C\x03\x17\xDF\x1C\x72\x00\x52", + "\xC8\x16\xE6\xBB\xE0\x3B\x2F\x0B\x17\xC6\x69\x7E\xC7\x5B\xC2\xF5\x1B\x1B\xCC\x01\x55\xC7\x10\x18\x03\x36\xC4\xC0\x00\x09\x17\xC5\x86\xC5\xBE\xB5\x88\x8A\xC6\xA4\x05\x63\xCF\x55\x90\xC6\x77\xC6\xD6\x8B\x6D\x28\x03\x94\xC6\x40\x04\x0F\x16\xC6\x0A\x05\x02\xC4\x0D\xD8\x81\x44\x22\x3D\x0D\x19\xFF\x0B\x4F\x34\xC0\x0A\x0B\x18\xC6\xDC\xC0\x17\xC0\xEE\x04\x00\x4F\x35\x31\xB9\x1A\xE1\x15\xAC\xC4\x39\xC4\xCF\x86\x78\x12\x03\x53\x34\x38\x5F\x00\xB3\xC4\xC9\x05\x18\xC7\x04\xED\x03\x4F\x0E\x0E\x22\xC2\x32\x0F\x70\xCA\x10\x2E\xBC\x94\x11\x08\x0F\xD4\x32\xC1\xA1\x0E\x8D\xBB\x9E\x5D\x0C\x4F\x34\xF1\x75\x0E\x29\xC0\xCE\xC7\x40\x05\x91\x44\x21\x2D\x01\x74\xCF\x59\x14\xC7\x54\xBD\x79\x98\x03\x31\xC6\x31\x0D\x6D\xCF\xFB\x7F\x04\xF1\x00\x71\xCC\x32\x15\xC7\x25\x64\xA7\x40\x1E\xEC\x10\x0D\x02\x15\xC9\x6C\x68\xC7\x2D\x65\x30\x6B\x1E\xC6\x18\x1B\x02\x7B\xC0\x11\x30\xC7\x59\x6C\x54\x13\x1F\xEC\x1A\x29\x02\x7D\xC8\xC2\x7D\xB5\xDB\x18\x1A\x0A\x1D\xEC\x10\x37\x02\x3E\xCF\x1F\xD0\x89\x61\x0B\x1C\x0B\x1F\xDF\x1C\x44\x02\x7F\xCE\x93\x0E\xC3", + "\x06\x7B\x1F\x0B\x20\xE6\x28\x52\x02\x83\xCA\xA1\x62\x96\x8F\x47\x22\x03\x21\xEA\xC0\x16\xCA\xB0\x21\xF9\xA5\x97\x97\x03\x86\xC2\x33\x2E\x01\x1D\xCB\x78\xC5\x0E\xDC\x51\xA3\x02\x88\xCC\x32\x3C\x01\x25\xCB\x60\x4E\xC2\x8B\xB9\x2A\xCB\xB0\x0A\x08\x2D\xC8\xF8\xC7\x3D\xC5\xA1\xBB\x02\xBA\xC4\x7B\x08\x09\x16\xC1\x65\x60\x7E\xC0\x10\xE8\x05\xC8\x01\x8C\xC0\x38\x27\x02\x34\xC9\x71\xB1\x6F\x54\x03\x42\xC8\xCD\x95\x24\xC3\xBF\x5E\x30\x38\x03\x20\xC6\x18\xC3\x02\x81\xCF\x20\xD6\xB1\xE0\x3B\x3A\x0F\x24\xEC\x1A\xD0\x02\x94\xC7\x21\xD1\xBF\xE5\x96\x3D\x09\x23\xEC\x10\xDD\x02\x15\xCE\xB9\x78\xC7\x2A\xC5\x4C\x03\x00\x08\x40\x2B\x99\x3B\x02\x26\xF7\xC7\x33\xC4\x17\x50\x01\x08\x40\x7E\x85\x3F\x0B\x24\xF6\xB1\x42\x3C\x9C\xCC\x1E\x0B\x00\x36\xC7\x7B\xCF\xFE\x86\x78\x28\x00\x9A\xCC\x1E\x19\x00\x36\xC5\x8F\xCA\x14\xFA\x80\x76\xCA\x7E\x39\x27\xEC\xC9\x58\xAD\xBC\x51\x04\x05\xCA\x06\x1A\x0D\x07\x28\xC7\xC8\x27\x98\x4F\xCE\x27\xE5\xBA\x36\xC7\x98\xC1\x16\xE5\x97\x5A\x03\xA4\xC7\x39\x55\xCA\x88\xC9\x5A\xC9\x17\x27\x01\x9A\xCB\x3C\x2C", + "\x29\xD0\xCA\x7E\xBB\x97\x81\x2A\xDF\x1C\x74\x03\xA8\xC3\x25\xE6\xC0\x5C\x51\x20\x07\x2A\xE6\x28\x84\x01\xA0\xCD\x29\xC0\xC6\x8F\x46\x23\x0F\x2A\xC8\x32\x93\x02\xAC\xC4\x2A\xEA\x62\xCA\x3C\xA3\xC7\x78\x48\x40\x00\x0E\x28\x0F\x28\xEB\xCA\x4F\x8F\xE3\x5E\x2B\xC2\x04\xB5\x00\xB0\xC6\x71\x83\xCB\x5B\xCA\x66\xC4\x84\x37\x02\xC7\xC9\x40\x03\x0C\x0A\xCB\x0A\x06\x2F\x0C\x2C\xDE\xC8\x53\xC0\xB8\x35\x0C\x11\xCB\x00\x01\x34\x04\x2D\xC7\x04\x89\xC7\x4B\x88\x1F\xD9\xBC\x06\x7B\x34\x0C\x2D\xDF\x03\xDF\xCB\x40\x0A\x0D\x17\xCB\x26\xCB\x6D\xC2\x17\xA1\x03\xB7\xCA\x3B\x09\x2E\xF1\xA4\xBA\xCA\x5C\x54\x1E\xE6\xC7\xC3\x09\x79\xC7\x1C\xED\x9B\x08\x40\x73\xC6\x3D\x28\xB9\xE4\x6B\x63\x41\x0F\x3D\xCB\xAF\x66\x4D\xCD\x14\x33\x03\x7F\xC1\xA6\xB4\x30\xF3\xB8\x10\x04\xC2\xCA\x10\x3A\x03\xF8\xC8\xE0\x0E\x30\xC7\x04\xF7\x01\xC4\xC1\x3A\x34\x03\x3F\x05\x3E\x06\x40\xB3\x03\xF3\xCA\x89\x25\x0F\x2D\xB5\x06\x79\x3D\x0B\x30\xC6\x18\xF8\x02\xC1\xC0\x11\x36\x03\x09\xCC\x92\x26\x0F\x23\xCC\x41\xBB\xC9\xCF\x13\x15\xCC\x86\xC2\xF5\x00\x33\xC1\xCC\x5C", + "\x53\x3D\x0C\x32\xD3\x59\x26\xCE\x42\x08\x0F\x29\xCC\x5E\x30\x3E\x07\x33\xDD\xB9\x44\x12\xC6\xCA\x10\x1F\xCC\x31\xCC\xED\x00\x31\xCA\x04\x18\xCD\xD1\xC4\x44\x3B\x03\x44\xB7\x40\x09\x0F\x08\x40\x04\x87\x60\xC0\x00\x0C\xCD\x4D\xB6\x55\x04\x00\x0E\x02\xCB\xAA\x46\x07\x00\x1F\xC9\x07\x04\xD5\xCB\x94\xB2\x85\x0F\x00\xD6\xC3\xFA\x84\x11\x14\x03\x53\x39\x6C\x5E\xCD\x55\xA4\x17\x5B\x01\x22\xCD\xDB\xAB\xB0\x02\x02\x26\xCD\x10\x04\xDA\xCF\x95\x84\x21\x27\x00\xDB\xC6\xFB\xB4\x0E\x30\x00\xDC\xCB\x34\x6A\xBD\xF1\x5B\x0C\x06\x37\xFF\xBE\xA1\x0E\x0F\x0A\x37\xDD\xCD\x45\x91\xBC\x5F\x03\x3F\xCD\xC7\xBC\xAB\x1C\x04\x1C\xCD\x03\x06\xDC\xC5\xD8\xA6\xA0\x88\xCE\x5F\x89\x05\x03\xCE\x8D\xCC\x84\xC2\x17\x96\x01\x91\xCD\xF1\x64\x39\xD3\x43\x18\xC8\x17\x52\x06\x19\xCE\x49\x93\xE6\xC1\x10\x0E\xCE\x3E\x54\xCC\x20\x3A\xC6\x18\x83\x02\xE8\xC3\x35\xD8\xBE\xE5\x96\x1E\x07\x3A\xEC\x1A\x91\x02\xEA\xC4\x3A\xEE\xC3\x97\x06\x21\x0F\x3A\xDF\x1C\x9F\x02\xEC\xCC\x47\x86\x78\x92\x00\xE2\xCB\x62\xAD\x02\x4F\x35\x19\x64\x3A\xFF\xC8\x56\x07\x27\x07\x3B", + "\xE6\x28\xBC\x02\xEE\xCB\xFB\x88\x55\xC7\xCC\x22\x3A\x0C\x0A\xCF\x90\x90\x92\x27\x0B\x08\xCE\x86\x84\xE3\xCC\x39\xD4\xC9\x8F\x46\x30\x04\x3D\xD8\x4A\xD6\xCF\xE8\xC1\x12\xF9\x05\xCD\x02\xEF\xCF\x59\x0F\x35\x9E\x6C\xE9\xC5\x26\xDB\x04\xDA\x02\xF8\xC3\x43\x48\x40\xE5\xCD\x9B\xC1\x6F\x67\x03\xCD\xCE\xCC\x02\x01\x08\x40\x67\xCE\x7D\xB1\x6F\x73\x03\xF1\xCC\xCB\x00\x02\x34\xCF\x71\xCF\x9E\xC2\x17\xBF\x03\xEA\xCE\x81\x1E\x02\x08\x40\xC2\xCF\xA0\xC7\xC2\x8F\x02\x0C\xC4\x39\x2C\x3F\xFB\xCD\x89\xCA\x81\x78\x01\x08\xD0\x63\xCE\x46\x0B\x04\x0B\xD0\x84\xCD\x56\xC4\x14\x24\x00\x10\xD0\xEB\xB0\x38\x19\x01\xEC\xCD\xFF\xC6\x41\xF1\x04\x31\x01\x06\xD4\x12\xF4\x74\x1D\xD0\x03\xDE\x29\xE8\x05\x3E\x02\x08\xDE\x12\xDE\x87\x25\xD1\x05\xD7\x42\xD6\x05\x4B\x02\x0A\xDB\xA2\xA6\x87\x2D\xD1\xE5\xC8\x17\xDC\x51\x58\x02\x0C\xDB\x62\x99\x02\x04\xD2\x07\xD2\x1F\xB2\x4A\x3A\xD1\x4E\x1D\x43\xE6\xD0\x35\xC3\x54\xC2\x43\xED\x37\x7E\x02\x0C\xD0\x30\x10\xCB\x2F\x84\xE9\xC0\x04\xF1\x5B\x80\x03\x11\xDC\x3A\x4A\xD1\x10\x07\xB6\xCD\x44\xCA\xC1\x5E\x32", + "\x23\x02\x45\xCA\x04\x9A\x00\x15\xDA\x10\x26\xCB\x57\xD1\xB6\xCF\x18\x5C\x02\x5B\xD3\x41\x08\x0A\x1E\xD1\x07\x04\xBC\xC1\x46\xEE\xC6\x8F\x46\x2A\x05\x46\xC3\x04\xB6\x00\x1A\xDA\xA1\x54\xD0\x36\xD2\xBB\xC5\x5E\xB8\x02\x41\xD2\x42\x05\x0C\x32\xD1\x02\x05\x3F\x03\x44\xC7\x3E\x20\xCE\x5C\x87\x0C\x32\xD0\x40\x88\x03\x08\x38\xCD\x05\xFD\x00\xCF\xCB\xA9\x84\xD2\x3E\xBE\x3F\x0F\x13\x3C\x03\x16\xCF\xE2\x4F\x13\x24\xCE\x0C\xB4\x50\xBC\x7C\xAB\x26\xF2\x08\x72\xCB\x6D\x09\x03\x8C\xD0\xC3\xC6\xC3\x40\x0C\x9D\xA1\xCB\xC3\x43\x59\xD2\xE7\x32\x32\x0C\x47\xC0\xCD\x8E\x04\x29\xD7\x85\x27\xD2\x6C\xB8\xED\x04\x00\x2A\xD2\xDB\x1A\x33\x0C\x4A\xEB\x90\x05\x00\x2C\xD1\xB5\xB3\xD2\x18\xB6\x72\x06\x4B\xC8\x29\xD2\x00\x2E\xD4\xA7\xA2\x11\xBB\xD2\x17\x34\x0D\x3E\xD2\x04\xB5\x42\x12\x2F\x0A\x00\xA1\xD0\xAA\xAD\x49\xFA\xB8\x1A\x04\x32\xDF\xAB\x49\xD3\xF0\x78\x31\xD1\x3A\x0B\x00\xF2\x0A\x03\x00\x4D\xED\xD2\x41\xB4\x11\x14\x4D\xCC\x0E\xD7\xD1\x36\x02\x4D\xD6\x0F\x0D\x00\xE2\xC0\x30\x1B\xD3\xA2\x17\x35\xDB\x0D\x0B\xD3\x03\x04\x37\x0C\x4A\xE1", + "\xCD\x3E\x7C\x03\x02\x2F\x24\x00\xD7\xD2\x37\x0F\x4D\xF4\x0E\x10\x02\x38\xD0\x11\x2E\xD3\x99\x17\x35\xD0\x0E\x28\xD3\x83\x98\x2B\xD2\x01\x07\xD2\x38\x1A\xBC\x09\x00\x17\xD3\xE3\x00\x3F\xD8\x4A\xD0\x04\xD6\xD2\x24\x47\x4D\xD8\x9A\x2C\x0F\x03\x02\x2F\x38\xD3\x3F\xB6\x43\xB7\x49\xDA\x04\x0E\xD6\x1F\x2B\x50\xF9\xD2\x88\x30\x04\x02\x2F\x24\xD3\x17\xB7\x2F\xD4\x14\x72\x0B\x1A\x03\x35\xD4\x0E\x06\xD4\xD8\xD2\x46\x03\x01\x32\x0B\x14\x03\x45\xDE\x51\xE6\x28\x29\xD4\xB5\x7A\x52\xC5\xD3\x2C\xD7\x3B\xD7\x4D\xE5\x03\xF3\xD0\x11\x13\x01\x36\xD3\xDE\xBA\xBC\x07\x03\x17\xD3\xE7\x00\x49\xD8\x0E\x2C\xD2\x15\x00\x40\xDA\x10\x15\x00\x32\xD4\x25\x1A\x0E\x35\xD4\x1A\x06\x05\x08\x53\xDC\x7B\x3A\xD7\x35\xDC\x0E\x24\xD4\xED\x00\x2B\xD8\x01\x02\xD5\x07\x06\x05\x02\x2F\x3E\x64\x8F\x47\x3B\x04\x52\xF2\x0C\x19\x00\x55\xD3\x8A\x32\x0B\x12\x03\x35\xD0\x0F\x1B\xD5\x18\xD4\x06\x02\x2F\x04\xD5\x4A\xCE\x46\x06\x56\xEE\xD4\x69\xD4\x44\x09\x01\x28\xD4\x2F\xD5\x43\xB9\x4D\xDA\x04\x21\xD7\x2A\x31\x57\xD6\xD2\x8D\x72\xBC\x0F\x56\xD2\x9A\xF1\x00\x52", + "\xD0\x11\x1B\x00\xF2\x09\x08\x07\x4D\xF3\x03\x64\xD7\x4A\xD0\x00\x1D\x00\xF2\x0B\x07\x07\x57\xD2\xD4\xEC\x04\x62\xD8\xB0\x17\xD3\xF4\x01\x61\xD0\x38\x1A\x00\x5E\xD6\x40\x0E\x58\xC7\x04\x75\xD7\xB6\x15\x0F\x12\xD6\xA1\x0F\xDA\xCE\xF3\x5E\x00\x89\xD7\x62\xD3\x57\xEC\x07\xA0\xD7\x63\xDC\x77\x1C\xD6\xD6\x0C\x07\x05\x59\xC1\x04\xA5\xD4\x66\xD7\x4D\xF7\x03\xA8\xD4\xED\x0D\x01\x2B\xD6\x00\x02\x62\xDA\x10\x1C\x00\xD7\xD0\x3E\x01\x5B\xE3\xD6\x0A\x04\x08\x01\x5A\xED\xD5\xBD\xD7\x31\xD7\x4D\xF9\x03\xBB\xD6\x46\x0E\x01\x34\xD6\xBE\xD6\x42\x09\x59\xC4\x21\xFA\x01\x71\xD0\x11\x1F\x00\xB4\xD6\x60\xDA\x10\x17\xD6\x1D\xD4\x4C\xD8\xC8\x22\x00\x45\xD7\xB6\x1B\x0F\x0E\xD7\x28\x66\xBC\x0A\x02\x22\xD6\x1A\x04\x3F\x0E\x57\xDA\x53\xF2\x0A\x09\x00\x5E\xD0\x04\xFE\x03\x78\xD7\x10\x26\xD7\x5B\x1B\x35\xDD\x3A\xBE\x7C\x2B\x90\x7B\xD7\x10\x27\x00\xE7\xD6\x27\xD3\x5F\xF2\x0B\x0D\x67\xB6\x11\x00\x10\x02\x59\xCC\x44\x00\x02\x01\xD0\x03\x04\x7D\xD5\x35\xC4\x05\x0C\x00\x7F\xD4\x11\xEC\x0C\x2D\x00\x80\xD2\x10\x02\xD8\x5F\xCD\x79\x97\x01\x06\xD8", + "\x6D\xCC\x30\x78\x38\xC9\x5B\x0C\xD9\xDA\xC1\x6F\x63\x00\x10\xDB\xDD\xC4\x44\x08\x01\x13\xD8\x44\x05\x61\xF3\xCD\x48\x2B\x0B\x09\x61\xC0\xCE\xD6\x0C\xE6\xCF\x12\x9F\xD8\x68\xA4\x25\x1B\x03\x23\xD8\x37\xC6\xF5\x04\x06\x1D\xD8\x83\x66\xBC\x0F\x0B\xD0\xA3\x2C\xD8\xF1\x72\x07\x0A\xD8\x01\x04\x8A\xD0\xC2\xAA\xAE\x2C\xDA\x5F\x8F\x07\x30\xD8\xF7\xD5\x50\x8B\x6D\x1E\x01\x3D\xD8\x7B\x0D\x08\x00\xD9\x01\xDA\xBC\x06\x0D\xC6\x78\x6A\x01\x91\xDC\x42\x1B\x02\x48\xDB\x82\xD2\x2F\x1B\xB6\x06\x7A\x1D\x0E\x64\xCC\xAD\x51\xD9\x8E\xD2\x2F\x37\x65\x5C\x52\x20\x07\x65\xEC\x1A\xD3\xCF\x89\xD2\x2F\x34\xCE\x79\x06\x23\x0F\x65\xE3\x4C\x59\xD8\x00\x0A\x63\xF6\xC8\x3F\xB2\x26\x0C\x62\xEB\x98\xD3\x00\xE2\xC5\x86\x7A\xD8\xC4\xCC\x51\x07\x0A\x27\xD9\x1A\xA9\x9A\xDA\x63\xC8\xC4\xE5\x97\x2C\x08\x67\xC8\x32\xF0\x02\x9E\xD2\x2F\x3E\xA6\x06\x7B\x2F\x05\x63\xEC\x07\xFE\x00\x8E\xDA\x66\xF2\x0B\xDE\x97\x0F\xBA\x0C\x07\xDA\xF0\x45\x1E\xD1\x64\xFC\x66\xE0\x39\x35\x0F\x66\xF7\x53\x32\xD2\xE7\x6A\x63\xE7\xCF\x1A\x06\x38\x07\x69\xFA\x37\x99\xDA\x87\xD2", + "\x2F\x2F\xB1\x06\x7B\x3B\x0F\x67\xCF\x1C\x32\xD0\x85\xD2\x2F\x2B\x86\x72\x87\x3E\x07\x6A\xF5\x33\xA9\xDA\xA8\xDE\xDF\x9C\x51\x07\x03\xBD\x2B\x62\x94\x01\x32\xD3\x9C\xD2\x2F\x04\xB2\xE5\x94\x05\x07\xAF\x3E\x85\x63\x01\xAC\xD1\x63\xCD\xD0\x72\x84\x08\x0F\x6B\xEC\x07\x71\x02\xB0\xD3\x69\xD1\xCA\x5E\x30\x0B\x06\x6B\xE2\xB1\xA1\xDB\xB0\xD7\x8D\xB2\x85\x39\x03\xB3\xDA\xC6\x91\xDB\xCB\xD9\xA9\xCE\xC5\x06\x01\xD6\xD8\xF2\xB8\x6D\xC9\xD9\x1E\xC3\x65\x03\x05\x1D\xDB\xAC\x1B\x2B\x0F\x6D\xD2\xD9\x37\xD2\xC6\xB4\x6E\xDF\x1C\xBF\x01\xAE\xD2\x6B\xFF\xD0\x5E\x31\x1B\x0B\x6E\xE6\x28\xB2\xD1\x46\x7A\x63\xEF\xBB\x72\x86\x1E\x07\x6C\xC0\x08\xF7\x28\xC0\x0D\x0D\x0A\xDB\xE0\xDA\x64\xC0\xEE\x08\x02\xFB\xDB\x41\x04\x09\x3D\xDB\x10\x07\x3A\x00\x70\xE8\xDB\xCE\xC8\x92\x26\x09\x05\xDC\x03\x06\x28\x08\x70\xCA\x04\xC4\xD6\x98\xD2\x46\xDC\x51\xA4\x00\xC4\xD2\x10\x30\x02\x13\xDD\x15\x1C\x62\xEA\xDA\xEA\xB3\xBF\x7A\x71\xF3\x0B\x1D\xDC\x81\xAF\x71\xEF\xDB\x65\xC0\x92\x20\x0C\x33\xDB\x00\x01\x33\x05\x72\xC2\x04\x18\xD9\x46\x78\x02\x32\x0B\x23", + "\x03\x35\xDF\x0C\x37\x2B\xFE\xC8\xED\x09\x02\x32\x0B\x33\xDC\x70\xD6\x66\x32\x0B\x25\x01\x7D\xDC\x4C\xE9\x04\xF2\x09\x0B\x07\x4D\xD0\x03\x38\xDE\xCF\xB6\x74\xC7\x7B\x42\xDF\x40\x01\x0D\x2F\xDC\x26\x2A\x0B\x02\x2F\x30\x00\x4D\xDF\x91\xB6\x3D\x12\xDD\xDC\xD0\x25\x13\x0D\x10\xDD\x88\x32\x0C\x0C\x62\xC0\x0C\x58\xDD\x2C\x67\x4D\xD5\x03\xF7\x2A\xA4\xB6\x3D\x34\x00\x2C\xD8\xA0\x61\x76\xE8\x11\xD7\xD0\x36\x05\x76\xCE\xAC\x69\xDD\x3D\x42\x2F\x04\x02\xE6\xD3\xDB\xD3\xEE\x2C\xD8\x1F\x2B\xDA\xD5\xFF\x31\xD3\x76\xDE\x81\x1E\x03\x38\xDD\x72\xDC\x97\xC5\xA1\xA1\x03\x7D\xDC\xAB\x12\x04\x00\xDE\x35\x0E\xBC\x0C\x69\xD0\x04\xE4\x01\xE1\xDF\x71\x06\x01\x88\xDF\x41\x0A\x77\xC1\x04\x22\xBB\xB6\x17\x0E\x0E\xDE\x26\x2A\x12\x01\x77\xC9\xDE\x0A\x07\x24\x07\x4D\xEA\x03\x98\xDC\x22\x3D\x04\x1B\xDE\x92\xDE\xBC\x00\x0A\x17\xD3\xED\x01\xE8\xD2\x33\x10\x01\xA4\xDF\x40\x03\x79\xC9\x32\x62\xD6\xEA\xDC\x32\x13\x01\xAD\xDE\x40\x0F\x7A\xC5\x03\x83\xD6\xEC\xD3\x2C\x16\x01\xB5\xDD\x40\x0F\x7A\xD5\x03\xD7\xD2\x3D\x0A\x7B\xDB\xD0\xBD\xDD\xE0\x02\x2F", + "\x2E\x01\xC3\xD7\xF0\xD1\x3A\x1C\x01\xC5\xDF\xEB\xDF\x0E\x17\xD3\xFC\x02\xF2\xD6\x3D\x1F\x01\x91\xDE\xEB\xD2\x2F\x25\x01\x0B\xD6\xF4\xD4\x3B\x23\x01\xCD\xDE\xBC\x0F\xE6\xBF\xB0\x02\x02\x24\x0A\x10\x26\xDD\xA4\xBD\xF5\xD6\x7B\xDE\xDF\xD7\xD1\x01\x02\x7E\xC7\x04\xE4\xDC\x11\x1D\x64\xCA\x04\x79\xDE\xBC\x01\x0F\x17\xD3\x08\x03\xFA\xD3\x10\x2D\xDF\x1A\x06\x1B\x06\x7E\xFE\xDE\xF2\x09\x07\x8E\xC5\x0B\x00\xF6\xDE\x40\x08\x7F\xD0\x76\xFB\xDE\xF1\xD1\x6E\xF9\x05\x0E\x01\x00\xE1\x10\x03\xE0\x0A\x06\x95\xD0\x7F\xC1\xDE\x07\x06\x3B\x07\x4D\xD1\x00\x0A\xE0\x00\x0C\x80\xD6\x08\x05\xE3\xEB\xDB\x74\xDB\x1B\x14\x01\x05\xE7\x81\xC2\x39\xDD\xDC\x60\x07\x4D\xD7\x00\x1E\xE0\x7B\x01\x08\x05\xDF\x2F\x03\xD4\xD5\x75\xC7\xD4\x0A\x05\x0A\xE9\x75\xE9\xBE\x15\xE0\x87\xB4\x3B\x04\x02\x5F\xDC\x44\x0E\x82\xE2\xDD\x94\x10\x07\x05\x82\xEC\x10\x86\x00\x0A\xE2\x2F\x24\x02\xD7\xD3\x07\x0B\x83\xC6\x18\x89\x02\x0F\xEA\x10\x34\xDD\x94\x12\x08\x03\x84\xEC\x1A\x8C\x01\x01\xE7\x83\xCE\x8A\xD7\xD1\x09\x0B\x84\xDF\x1C\x90\x02\x13\xEA\x78\xD7\xD3\x28\x03", + "\x14\xE6\xA2\x14\x02\x56\xE2\xE0\xDF\xC3\xAB\x00\x5A\xE0\x22\x38\x09\x1D\xE1\x07\x05\xE5\xD4\x84\x2E\x00\x61\xE2\xCC\x0C\x09\x06\xE1\x07\x06\xE7\xD4\x49\x31\x00\x69\xE0\xCB\x0F\x09\x2C\xE1\x69\x23\x35\xD4\x03\x31\xE1\xC3\x0A\x28\x04\x87\xC2\x04\xBF\x03\x35\xD7\x03\x38\xE1\x3B\x27\x1E\xE1\x10\x38\xDE\x06\x44\x20\xE8\xEB\x42\xE2\x00\x00\xF0\xD4\x49\x3D\x00\x86\xE2\xF5\x0B\x0A\x08\xE2\xC8\xDC\x25\x10\x04\x0D\xE2\xB4\x0E\x2B\x08\x88\xCF\xDF\x94\x13\x10\x04\x89\xC4\x11\xB1\x00\x19\xE6\xD3\x57\xD3\x46\x03\x26\xEA\x11\x35\x02\x88\xE3\xF7\xD8\x37\x09\x01\xA2\xE0\x44\x08\x0B\x1E\xE2\xEA\x90\x25\x1C\x04\x29\xE2\xE1\x9C\x2B\xE1\x10\x33\xDF\xC6\x70\x2C\xE4\xE2\x32\xE2\x66\x4B\x35\xD2\x05\x36\xE2\x03\x04\x31\x08\x8B\xFE\xDF\xE0\x39\x15\x0C\x8B\xF4\x2D\xB8\xE2\x04\xE2\xD1\x03\xE3\x01\x04\x33\x08\x8B\xDB\xE0\x44\x23\x16\x08\x8C\xE6\xA5\x88\xE1\x3F\x07\x4D\xDE\x01\xCF\xE3\x34\x05\x7C\xD4\xDD\x62\x07\x35\xD1\x06\x15\xE0\x39\xDC\x11\x11\x03\x32\x0B\xAF\xDD\x25\xDC\x58\xEC\x10\x32\x01\x76\xD4\x84\x22\x01\x31\xE2\x46\x4C\x62\xCD", + "\x05\xE5\xE1\x3E\xD4\x49\x24\x01\xDC\xE0\x44\x05\x06\x29\xE3\x2C\x10\x0D\x06\x8E\xC8\x29\x67\x01\x3C\xEC\x42\x17\x03\xEB\xE2\x32\x3D\x54\xD2\x9A\x68\x00\x3D\xE1\x27\xB2\x0B\x32\xE3\x0F\xBA\x06\x3A\xE3\x06\x18\x36\x0D\x8F\xEE\x12\xF2\x08\xB2\x77\x5D\x48\xE4\xAC\x19\x36\x0B\x90\xF7\x04\xF2\x0B\xB3\x76\x8D\x50\xE4\x1F\x1E\x36\x03\x91\xD7\x11\xF2\x09\xB5\x74\x49\x2D\x01\x18\xE6\x89\x2B\x0D\x1B\xE4\x19\x13\x59\xD1\x26\x2E\x01\x21\xE4\x22\x3C\x0D\x24\xE4\x24\x10\x4A\xDC\x6B\x29\xE4\x32\x0D\x37\x0C\x92\xF0\x10\xF2\x08\xBB\x76\x56\x30\xE4\x2C\x0E\x37\x03\x93\xF5\x00\x0F\xD4\xAF\x48\x93\xF7\x2A\x3B\xE7\x46\xD1\x26\x32\x01\x3F\xE4\xE0\x00\x0E\x01\xE5\x0A\x07\xC1\x74\x49\x33\x01\x45\xE5\xE8\x01\x0E\x08\xE5\x71\x04\xDF\x4D\x94\xD6\x0F\x9E\xDA\xCF\x7C\x93\xCF\xE0\x94\x11\x1D\x03\x95\xF4\x0E\xE3\x00\x54\xEB\x63\x04\x21\x76\x03\x56\xE4\x44\x24\x03\x5E\xE6\x40\x08\xF2\x46\x1B\x62\xE6\x46\x05\x0E\x25\xE5\x01\x07\xCB\x74\x49\x38\x01\x69\xE5\xE0\xBC\x96\xC0\x00\x36\x7C\x25\x19\x07\x29\xE4\x7A\x02\x40\xE3\x10\x27\x03\x33\xE6\x0D", + "\x02\x2F\x33\x00\xD7\xD0\x1F\x01\x97\xC4\xC8\xF2\x0B\x55\xE1\x51\xFC\xD6\x15\x32\xBC\x0A\x03\x2B\xE0\x25\xD4\x44\x0B\x98\xD5\x0D\x8C\xE7\x0A\x9F\x98\xC7\x04\xF0\xD1\xA6\x7A\x97\xDF\x1C\xE8\x01\x0D\xEA\x10\x13\xE6\x8F\x17\x35\xDF\x07\x29\xE4\x80\x03\x65\xEE\x86\x33\xE4\x3B\x03\x3D\xED\x9B\x62\xE6\x88\x33\x3A\x0A\x99\xD7\x05\xFF\xE3\x7F\x39\x92\xC5\x02\xA8\xE5\x3B\x03\x93\xFC\x00\xF2\x09\x0E\x01\x99\xD8\xD4\x3D\x02\xBC\x05\x9A\xFE\xDC\xF6\x22\xBC\x04\x9B\xFC\xE6\x02\x06\x0F\x07\x55\xE7\x33\x87\x00\x6A\xE5\x1C\xF3\xE4\xC2\xE6\x42\x01\x6C\x9B\x1B\x89\x00\x6A\xEB\x08\x28\xE6\xA6\xDA\xCF\x79\x9C\xC7\x04\xB1\x9A\x21\x86\x9C\xEC\x0C\xF0\x03\x4C\xE0\x04\x32\x0B\x3F\x03\x35\xDF\x08\x17\xE7\x86\xD5\x10\x0C\x9D\xD7\xD3\x91\x00\x78\xE6\x5D\xC2\x01\xF2\x08\x11\x07\x9B\xC6\xD6\xEA\xE7\x82\x0B\x9E\xD6\xD7\xED\xE4\x65\xE7\x4D\xD3\x02\xE6\xE5\xE8\x01\x0F\x2B\xE6\x03\x05\x7C\xED\x99\xF6\x54\x29\xE6\x25\x08\x9A\xF3\x03\x33\xE5\x11\x06\x9A\xCE\x91\xF5\xE6\xF5\x04\x0F\x38\xE7\x7A\x05\x6B\xE4\x84\x1A\x02\x29\xE7\x26\x08\x9A\xF6\x03", + "\x33\xE6\x11\x04\x90\xE1\x09\x9D\x03\x60\xE4\x31\xD1\xE8\x0D\xE6\x13\x36\xA1\xC3\x04\xF8\x00\x86\xE3\x5D\xE1\x09\x9F\x03\x86\xEA\x0C\x5E\xE8\x55\xD7\x4F\x52\xA2\xC1\x04\xFA\x00\x89\xE4\xA0\xA1\x09\xA1\x03\x89\xE3\x35\xEA\xE8\x02\x04\xB9\x72\xD1\x6E\xE8\xFC\x00\x8C\xE1\x10\x36\xE4\xDB\x1B\x28\x0E\xA2\xFD\x03\x36\xE9\x8B\xD5\xA1\xA4\x02\x2E\xEA\x3F\x0D\xA3\xC4\x7F\x52\x26\x8B\xEF\x0F\x3D\xE8\x4A\xE7\xB6\x16\x0A\x2E\xE8\xBF\x92\xDC\x9D\x9F\x32\x0B\x0F\x7C\x17\x57\x0A\x2E\xE8\x01\x01\xD2\xDF\xA4\xD8\xE5\xDB\x18\x2A\x0E\xA2\xC2\x00\x56\xEB\x41\x02\xA1\xC8\x11\x52\x62\x8B\xE3\x00\x1D\xE9\x6E\x0E\xBC\x07\x96\xE3\x99\x2E\xE8\x01\x04\xA6\xC2\x04\x5F\xEB\x41\x0E\x96\xDB\x1B\xAB\x02\x8B\xE5\x00\x2B\xE9\x01\x05\x9B\xE3\x10\x35\xE5\xDB\x18\x2B\x09\x92\xED\x02\xA8\xE6\x01\x04\xA7\xF9\x0D\xF2\x0B\x10\x0F\x9E\xF2\xD5\x1A\x04\x12\x01\xA8\xC3\xEA\x78\xD4\x9D\x02\x2F\x06\xEA\xC0\xE5\xA8\x33\x9C\xC7\x8A\x05\xE8\xED\x05\x6B\xFB\xC0\x49\x02\xBC\x0B\x9C\xDE\x3F\xA8\xE7\x2C\x08\x9A\xC9\x00\x5C\xDD\xA5\xEB\x6A\xA1\x38\x91\xEA\x36\xDC", + "\x75\xCA\x01\xF2\x0A\x9D\xE8\xA4\x0C\xD4\xC3\x0B\x12\x02\x2F\x02\xE8\x8D\xE8\x00\x0A\xAA\xEE\xE7\xAD\xE8\x13\x07\x85\xF1\xEA\xE8\xDC\xAD\xE7\x80\xE8\x05\xA8\xE8\xE0\x05\xAD\x0D\x01\xD7\xD3\x2D\x01\xAA\xD3\xD4\x1D\x46\xBC\x0C\xAB\xE1\x35\xBF\xEB\xCA\x22\x2F\x0F\x01\x88\xEB\x38\xE7\x10\x11\x01\xC2\xEB\x35\xDB\x0B\x05\xEB\x2C\x12\xC9\x2C\xAC\xED\xEA\x53\x03\xAC\xEB\x6D\x3D\x02\x2E\xE9\x03\x0F\xA7\xD5\xEB\x5E\xE0\xDE\x0E\x0B\x2E\xE8\x0E\x03\xB6\xE5\xAB\xDB\xA4\x2E\xEB\x03\x02\xAE\xDF\xD0\x1B\x04\x30\x0E\xA2\xD0\x00\xE7\xEB\x0B\xD4\x14\x01\x03\x2E\xE9\x04\x0D\xAE\xC5\xBA\xD9\xCE\x8B\xE2\x01\x3F\xE9\x55\x02\xBC\x07\x05\x0C\xE6\xC3\x00\xB4\xE7\x10\x16\x01\xE9\xE5\xB2\xE6\x53\xFF\xE9\xFB\xEA\x42\x0A\x9F\xE7\xEA\x18\xD6\xAF\xDE\xF3\x58\x01\xF2\x08\x15\x07\x4D\xC5\x03\xCF\xE1\x4F\x8D\xB0\xD7\xD3\xC8\x01\xC4\xEB\x63\x72\x0B\x66\xE0\x92\x2B\x0C\x06\xE9\x2C\x0D\xC6\xE1\x10\x1D\x01\x8C\xE4\x33\x0E\xAF\xC3\x04\x20\xED\x46\x32\xB0\xC0\xEB\x0A\x05\xC9\xE2\xF1\xA7\xEC\x6D\x7B\x84\xE8\x86\x6E\xE8\x15\x03\x9F\xEE\x05\x19\xE8\x33", + "\x3A\x8B\xE6\x01\x32\xEC\x15\xE5\x5F\x2E\xA2\xD7\x00\x38\xEC\xB5\x71\x26\x11\x03\x2E\xE8\x06\x0D\xB3\xDC\x7B\x61\x0A\x34\x0E\xA2\xD9\x00\x43\xEF\xB8\x75\x75\x2E\xE8\x1A\x01\xD2\xEB\xEE\x63\x2A\x2E\xEB\x06\x0E\xB4\xE4\xD8\x15\xA9\x35\x0E\xA2\xDC\x00\x53\xED\xE2\xC9\x3E\x6E\xE8\x1D\x01\xD6\xE9\xA4\xFD\x31\x2E\xEA\x07\x09\xB5\xD1\xE9\xF1\x58\x36\x0E\xA2\xDF\x00\x59\xEF\x92\x51\x6F\x59\x03\x2E\xEA\xB1\xDE\xF3\x73\xEC\x60\xE9\x5E\x3E\xA2\xE1\x00\x59\xEF\x99\xE4\x84\x1B\x03\x2E\xEA\x08\x09\xB5\xEF\xE9\x44\x20\x37\x0E\xA2\xE3\x00\x59\xEC\x9E\xE4\x84\x1D\x03\x29\xE6\x37\x08\x9A\xE4\x00\x7F\xEB\x17\x02\x2F\x20\x01\x2C\xEF\x34\x18\x5F\xE1\x09\xE0\x01\x05\xE4\xFC\x65\x00\x2C\xDC\xE3\xE3\x60\xF1\x04\xEB\x02\xE4\xED\x15\xD5\xEE\x8B\xED\x98\x06\x0F\x15\xE0\x7E\x87\x0F\x07\xAF\x01\x5F\xF2\x0A\x29\xCD\x2B\x93\x02\x09\xD2\x40\x33\xBA\xE6\x37\xF2\x0A\x4B\x60\xEE\x0E\x00\xA8\xED\x04\xD3\x67\x6B\xEE\x26\xED\x9F\x89\xFA\xB1\xEE\x11\xD8\x37\x14\xBB\xF5\x05\x32\xD9\x98\x06\x02\x38\xEE\x5B\x96\xCC\x07\x07\x1C\xEE\x92\x94\x17\x51\x03", + "\x00\xEF\x54\xEC\x11\x14\x08\x3B\xEE\xEC\x5E\xBC\x09\x84\xB1\x5B\x3D\x00\xF2\xEE\xA3\xC4\x11\x92\x00\xF3\xE6\x7F\x4A\xD9\x8E\x6E\xF4\xEE\x17\xA0\x02\xD6\xEC\x00\x63\x65\xDD\x37\xDA\xEC\x7B\x0E\x0A\x1D\xEF\xB1\x5F\x96\xD1\x26\x21\x01\xE1\xEC\x0B\x1C\x0B\x24\xEF\x96\xED\x19\xAC\x82\x69\xEF\x06\x1A\x32\x0C\xBE\xF2\x0B\x6C\xD8\xDE\x09\x07\x12\xEF\x2B\x9A\xDB\xD9\xD1\x6D\xEF\x03\x05\x9D\xD1\x13\x06\x02\xF0\xEF\xF0\x23\xBF\xCB\xCF\x8F\x46\x24\x01\xC0\xDF\x1C\xF5\x03\x00\xF1\x3D\xDE\x31\x9E\x02\xF4\xE4\xFC\x43\x00\x15\xE2\xF8\x5C\x68\xE1\x09\xA9\x02\x03\xFC\x1E\x10\x00\x11\xF0\xEB\xED\xAD\xD7\x06\xB4\x00\xFE\xED\x58\xD5\xE0\x9E\x6C\xFF\xEA\x2D\x57\xD3\xC1\x02\x07\xFC\x42\x2D\x00\x20\xF2\x06\xF5\x4B\x9D\x52\x07\xF2\x89\x2C\x88\xEF\x84\x22\xF1\x40\x0C\x6A\xE5\x97\xDA\x01\x0B\xF8\xC8\x0B\x01\x15\xE0\xE9\xE3\x6B\xF1\x5B\xE6\x02\x09\xFE\x1C\x95\xE0\x65\x61\x0C\xF2\x4C\x54\x0B\x36\xF2\xCC\x01\x90\xF0\xF0\xF2\x0A\x54\xCC\x45\x7F\x03\x45\xF0\xCB\x01\x96\xC8\xF1\xE8\xEA\x14\x14\x09\x32\xAD\x80\x0C\x21\x09\xC2\xF5\xEE\xD3\xD9", + "\x79\x98\x01\x13\xF1\xC1\xB6\xCC\x04\x09\x17\xF1\xBC\xEF\xAD\xE6\x15\x25\x00\x5C\xF2\x06\xD0\x6B\xA0\xF1\xCD\xEE\x18\xF4\x14\x32\x00\x65\xF3\x08\xD3\x2C\x34\x02\x68\xF3\xF5\xE9\x6E\xC6\x78\x3F\x01\x1B\xFB\x42\xE6\x28\xC4\x00\x10\xFA\xC2\xF4\xCA\x5C\x50\x13\x06\xC7\xF3\xD0\x88\x33\x34\x0A\xC7\xD8\xF1\x45\xD0\x17\x59\x05\x3F\xF1\xED\x35\x19\x0F\xC7\xC0\x0C\xE2\x01\x0E\xFB\xC7\xCE\x4D\x61\x0B\x19\x08\xC8\xD0\x04\x73\x03\x22\xF0\x11\x30\x03\x8E\xF0\x21\xF6\xCD\x84\x21\x75\x03\x24\xFA\x10\x01\x02\x96\xF2\x42\x0E\x0F\x19\xF2\x61\xF0\xED\xA2\x6C\x5E\xF2\x07\x07\x23\x01\xCA\xE4\x36\xD2\xEE\x0E\xFC\x46\xDC\x51\x91\x00\x2A\xF1\x9E\x2B\xF2\x03\x06\x06\x0D\xCA\xCF\xF2\x49\x94\x92\x2F\x09\x3F\xF1\x84\x4C\x2B\x04\xCB\xC2\x04\x28\x02\xF4\xE5\x86\x61\x01\xF2\x0B\x16\x07\x4D\xEE\x02\x7F\xF1\x37\xEA\x11\x22\x01\xF2\x08\x31\xFD\xAA\xE3\x01\xD7\xDF\x35\xDF\x0A\x09\xF3\x3E\xBC\xF6\xDC\x05\x8C\xE6\xB0\x03\x2F\xF2\x00\x6E\xEC\xDB\x1A\x2C\x04\xCD\xC4\xC8\xD2\xEC\x7D\x64\xB3\xCC\x94\xDF\xF1\x05\x31\xCE\xEB\x64\xF2\x09\x1A\x0D\xB8\xFB", + "\x2C\x39\xED\x98\xB5\xCE\xEC\x1A\x39\x03\x39\xFC\x94\x5D\xE4\x19\x7F\x3B\xF1\xDC\x72\xF3\x5C\x66\x49\xE9\xE6\xB6\xF3\xBA\x90\x3E\xFD\x93\x6E\xE4\x94\x13\x2D\x0C\xCF\xEC\x6E\xFE\xF1\x5D\x65\x93\xF0\x7C\x03\xF6\xCC\x01\xBD\xFE\x7C\x66\x01\x4F\xE1\xD6\x09\xF4\x2C\x0E\x0F\x05\xD0\xFF\x65\x42\xE4\x25\x1A\x0B\x10\xF4\x23\x2B\x44\xF9\x98\x72\x0B\x5F\xEC\x72\x98\xD1\xC0\x0E\x40\x02\x46\xFD\xD0\xE0\x05\x61\x08\x2F\x0F\xD1\xE1\x0E\x41\x02\x48\xF2\x2F\x2A\xED\x06\x79\x2F\x07\xD2\xD6\x0F\x42\x02\x4A\xF1\xB7\xC4\x21\xBE\x03\x4B\xF4\x3B\x03\x01\x32\xF7\x41\x06\xB7\xC8\x29\xBF\x02\x4D\xF4\x44\x04\x01\x39\xF7\x28\x25\xA9\x3E\xF4\x1A\x05\x11\x01\xD4\xC2\x04\x82\xEC\x92\x21\x0C\x03\xF4\xC2\x02\x36\xF0\x00\x06\x01\x1A\xF7\x19\x0C\xCD\xC4\x21\xC4\x00\x51\xF2\xD2\x11\xF5\xE3\xF1\x79\x66\xD5\xCA\x04\x48\x00\x56\xFF\xA1\xCC\xB6\x5B\xF5\xC1\x3E\xD5\xE5\xE8\x74\xBD\x58\xF7\xFA\x63\xF5\x2B\xE8\x25\x18\x0C\x26\xF5\x7C\x0C\x5A\xF1\xA3\xE1\x09\xC9\x00\x5B\xF1\x10\x0C\x01\x6E\xF7\x8D\xEB\x28\x32\xF5\xFD\x3D\x5D\xF3\xBD\xF8\x0D\xCB\x00\x5E", + "\xFE\x04\x3A\xF5\x44\xE8\x44\x0C\x0C\x38\xF5\x4F\x02\x5E\xFD\xD1\xDE\x31\xCD\x00\x5E\xF0\x05\x3A\xF5\x64\xEE\x81\x7E\x0C\x38\xF5\x51\x02\x5E\xFC\xD2\xF2\x85\xCF\x00\x5E\xF2\x05\x3A\xF5\x95\x14\x17\x50\x0D\x38\xF5\x53\x02\x5E\xFB\xD3\xDE\x31\xD1\x00\x5E\xF4\x05\x3A\xF5\x7C\xEC\x2F\xD8\xD7\xD5\x01\x7A\xF5\x52\xFE\xC5\x13\x03\x03\xF4\x35\x0E\xD4\xD6\x01\x1A\xF4\x1A\x02\x2F\x24\x01\xD7\xD2\x35\x08\xD7\xF2\x0C\xEA\xF1\x4B\x7B\xCE\xFC\x74\xF2\x0A\x54\xFD\xAA\xEA\x01\xE9\xF3\x6E\xFF\x71\x2B\x01\x57\xD6\x70\xFC\xD5\x07\xDF\xD7\xD3\x35\x07\xDB\xEC\x0C\x91\xE1\x36\x6C\x98\xD8\x03\x4E\xF4\x95\x13\xD5\xF0\x61\x78\xF7\x15\x0A\xD1\xEF\x01\x59\xF4\x92\x2B\x0D\x38\xF5\x58\x03\x75\xFD\xCE\xE0\x1D\x78\xF5\x16\x0E\xDD\xFE\xEC\xB1\x10\x5E\xFA\x05\x23\xF7\x44\xEC\x25\x1E\x0D\x38\xF5\x5B\x00\x7A\xFA\xB4\xD4\x12\xDF\x00\x5E\xFC\x05\x2E\xF7\x4F\xEC\xC2\x48\xD7\xDD\x01\xF4\xF5\xF2\xE8\x37\x21\x03\x78\xF6\x17\x09\xDF\xDA\xED\x5E\x32\x38\x08\xD7\xDF\x01\xFF\xF7\x61\xF0\xEE\x23\x03\x78\xF4\x18\x0F\xDF\xCD\xF6\x72\x84\x39\x08\xD7\xE8\xEF", + "\x3E\x7C\x76\xF8\xA5\xC4\x21\xE5\x00\x5E\xF2\x06\x3F\xF7\x99\xF4\x0F\xF8\xD7\xE3\x01\xFF\xF7\x67\xF0\xEE\x27\x03\x78\xF4\x19\x0F\xDF\xE5\xF6\x5E\x30\x3A\x08\xD7\xE5\x01\xFF\xF6\x6A\xF0\xEE\x29\x03\x03\xF6\x3A\x0E\xD4\xE6\x01\x1A\xF4\x1C\x03\x65\xCC\xE6\xEC\x01\x74\xFC\x32\x31\x01\xF2\x08\x1D\x06\xDC\xCC\x40\x5B\xDB\x8E\xF0\x53\x72\x0B\x76\x02\x8F\xF3\xE4\x72\x0B\x73\x00\x63\xEE\x0E\x36\xF8\xC3\x09\x91\xFC\xEF\x42\xF9\x49\xF8\x90\xFC\xE4\xC0\x0E\x3A\xFB\x06\x8C\x98\xF0\x03\x48\xF8\xE0\x05\x07\x0E\xF9\xAD\xE9\x90\xFA\x10\x2D\x01\xD7\xD2\x3C\x0B\xDC\xF1\xA2\x49\xF3\x93\xF1\x3A\x38\x01\xF2\x0A\x84\xF7\x98\xE8\xEC\x06\x19\x1E\x03\xDD\xDE\x31\xF3\x01\x95\xF1\x3A\x27\x01\x1A\xF6\x9A\xF7\xEC\x61\x09\xF5\x02\x9B\xF6\x3D\x28\x01\x71\xFB\x77\xF5\x88\x36\xF9\xA8\xA1\x9E\xF4\xDE\xD9\x9C\x7C\xFA\xFB\xDE\xE7\xE9\xF7\xDA\xD5\xA0\xFA\x11\x2B\x01\x83\xFB\x7B\xF9\x01\x46\xFA\x10\x04\x1B\x09\xE8\xF5\xF7\xF2\x30\xA3\xFB\xE5\xCF\xFA\xFA\xF7\x65\x01\x00\x05\x31\x05\xE5\xFE\xD4\xE9\xC0\xF8\xE0\x3B\x00\x08\xE9\xC7\x60\x9B\xFA\x81\xFF", + "\x18\x45\x00\x9F\xF9\x74\x5B\xE9\xCC\xF8\xE5\x97\x01\x05\xEA\xC0\x52\x9B\xFB\x64\xF5\x5E\x89\x00\xAB\xF8\xAB\x12\x07\x1B\xFA\x19\xFA\x81\x7B\x00\x31\xFA\x1F\x1F\x1C\x0B\xE9\xDE\xF8\x0D\x50\xAE\xFB\xEB\x5B\xFA\x24\xF8\xCA\x4E\xEB\xC8\x32\x75\x03\xA6\xFA\xE2\xD1\xC4\xC3\xFB\x04\x03\xEC\xF6\x01\x1A\xF7\x1E\x0F\xB8\xD4\x12\x15\x01\x11\x34\xFC\x77\x01\x3E\xF2\xAE\x22\x2F\x17\xC7\x48\x28\x08\x02\xED\xEC\x07\x84\x01\xB5\xF8\xFB\x5D\xEE\x94\x13\x0A\x05\xC4\x3E\x85\x91\x03\x2D\xF1\x22\x25\xEE\x61\x0B\x0D\x03\xEE\xEC\x07\x9F\x02\xB9\xFD\xDE\x6D\xEE\xD4\x6B\xBA\xF3\x94\x2E\xFB\xD6\xFA\xED\xE4\x84\x0F\x01\xF2\xF8\x20\xB4\xEF\xDF\xFB\xD2\x82\x98\xF6\x3D\x0E\xFB\x00\xC9\x33\xEB\xED\xEC\x10\xC9\x02\xB7\xF1\x10\x00\xFC\x08\xC8\x25\x16\x06\x39\xFB\xAC\x1A\x35\x0B\xEF\xC7\xFC\xCE\xEF\x50\xEC\xF0\xEA\xAD\x0F\xFE\xB3\x38\xBD\xD4\x12\x7E\x03\xC4\xF6\xA2\x32\x03\x15\xFC\xC2\xFA\x5A\xB6\x81\x1A\xFC\x42\x3F\xC7\xC9\x5B\x1E\xFE\x73\x78\x0E\xA1\xFC\x32\x0E\x03\x03\xF2\xD0\x04\x25\xFE\xAC\x32\xD1\x68\xFC\x2C\x0C\x07\x0B\xF2\xE7\xFB\x15", + "\x53\x0E\x25\xC4\x2B\x98\x2A\x03\x1F\xF5\x86\x6D\xFC\xC6\x88\x25\x1B\x0B\x30\xFC\xC3\x09\x0E\x03\xF3\xEF\xFB\x04\xF0\x17\x57\x0C\x00\xFD\x80\x0F\x11\x03\xF4\xF5\xFB\x0B\xF2\xCE\x63\xF0\xE1\x23\xBC\xF0\xCB\xF3\xC1\xEA\xF7\x4F\xFC\x5D\xC1\xF5\xF4\xFC\x94\xDB\x63\x49\x0E\x37\xFC\x07\x63\x1F\xFE\xB9\x7C\xFC\x8B\xDF\x7B\x9C\xF5\xEC\x10\x7F\x02\xD7\xF2\xF5\xEF\xB7\x5E\x33\x00\x0E\x92\x7E\x85\xAA\xF3\x4B\x8C\xF3\xF3\xF0\x15\xAB\x03\x0B\xF6\xEE\x40\x4B\xFC\xBF\xF2\x14\xF1\x4C\x2E\x67\x8A\x9B\x0A\x3A\xFC\x67\xFD\x81\xB6\x37\xB3\xFD\x2C\x13\x45\xFE\xF6\xC9\xF1\xEF\x24\xE0\xF6\x60\x2B\xF5\x83\xFD\x14\xFD\xEF\xB9\xFD\x1A\x46\xD9\xF8\xF5\xCC\xDB\xE0\x39\x13\x0C\xF8\xEC\x10\xE6\x02\xE3\xF4\xF4\xEE\xEB\x31\x06\x16\x03\xF9\xC6\x18\xF6\x02\xE5\xFC\xF4\xF4\xEB\x5C\x53\x19\x0B\xF9\xEC\x1A\x06\x01\x11\x3F\xF5\xF2\x0B\x27\x83\x97\x83\xFA\xDF\x1C\x16\x01\x11\x3B\xF3\xF2\x0B\xA2\x62\x17\x31\x08\x2B\xFE\x26\x29\x09\x0E\xFA\xFD\xFD\x85\xF1\xBC\x5E\x08\x06\xFE\x03\x06\x26\x0E\x92\x40\x0C\x34\x01\x11\x34\xF2\xE6\xDE\x61\x08\x27\x0C\xFB", + "\xC2\x04\xA8\x03\xEF\xF0\x11\x02\x01\xC2\xFC\xEE\xFB\xC9\xC8\x29\xAA\x03\xF1\xF1\x10\x36\x02\xCA\xFC\x4D\x1D\xFC\xCF\xFE\x6C\x98\x25\x18\x0B\x12\xFF\x01\x0D\xF5\xF2\xF1\x97\xFF\x97\xFE\xEF\xA0\xEE\x06\x03\xDC\xFE\x34\x0E\xFD\xC1\x20\xE0\xFF\xE7\xF3\xF2\x9B\x1B\xD4\x00\xED\xF0\x00\x21\x03\xE7\xFE\x40\x0A\x07\x37\xFE\x0A\x04\x1F\x02\x2F\x3D\x01\xFE\xF8\xED\x06\xFF\xFD\xFB\xAD\xE8\xFE\xF6\xF4\x8B\x9A\x2E\x32\xE2\x3D\x22\x03\xEC\x77\x10\x1E\xFF\x4D\xBD\x73\x0E\x01\x80\xF6\x02\x25\x04\x00\x83\x10\x06\x00\x9E\x64\x19\x38\xDC\x7E\x99\x07\x28\x01\xFD\x72\x10\x0E\x00\xA9\xC7\x5B\x0D\x05\x01\x4B\x01\xEA\x72\x20\x01\x0B\x14\x00\x81\x04\x16\x80\xF1\x62\x4A\x09\x04\x02\x03\x82\xBB\x6E\x3B\x5E\x00\x80\x00\x20\x81\xFC\x60\x25\x0D\x03\x04\x02\x99\xDD\x56\x0F\x4D\x01\x27\x81\x14\x83\x8C\x6C\x8B\x29\x02\x0D\x01\x81\xEF\x14\x5A\x0C\x81\x0A\x82\xBC\x07\x51\x4F\x18\x34\x01\x36\x00\x95\x7D\x0A\x02\x74\x01\x0C\x81\xE2\x72\x89\x7F\x01\xBB\xF5\x27\x66\x43\x81\x0A\x58\x92\x14\x09\x06\x04\x9E\x0B\x44\x00\x2E\x32\x26\x5F\xEF\x76\x44\x1D", + "\x09\x86\x1A\x50\x02\xA7\x5D\x66\x77\xEF\x70\x2A\x80\x6E\x16\x0A\x80\xC4\x23\xB3\x72\x44\x5A\x80\x02\x68\x2E\x81\x01\x84\x7E\x74\x2C\x26\x02\xAB\x98\x3C\x00\x2E\x33\x32\x31\x0A\x86\x7F\x7B\x11\x09\x04\x20\x01\xC5\x43\x62\x81\x06\x82\xBC\x04\xCF\x65\xA1\x55\x04\x2F\x01\x9F\x0E\x59\x01\x38\x82\x0E\x84\x49\x60\xEE\x01\x05\x06\x01\xC4\x3F\xA2\x7F\x24\x3D\x0A\x85\xD1\x68\x37\x0C\x05\x3F\x01\xDE\x49\xEE\x7F\x14\x81\xD8\x7F\x20\x07\x0B\x06\x03\xA6\xE0\x2E\x32\x9E\x36\x45\x83\x35\x6C\x18\x0E\x08\x8C\x21\x11\x02\x10\x81\x57\x80\xB4\x7C\xB8\x19\x1A\x07\x07\x86\x51\x21\x02\x7A\x80\x1F\x81\x55\x6D\x98\x05\x1B\x0D\x09\x88\x64\x2F\x02\x20\x81\x28\x80\x79\x06\x6E\x23\xC5\x75\x09\x86\x30\x3D\x02\x69\x80\x99\x80\xBF\x7E\xCA\x65\x14\x82\x33\x0C\x06\x28\x02\xA9\x80\x4A\x79\x78\x2E\x00\x00\x13\x0B\x01\x81\x08\x1A\x03\x37\x81\xE3\x75\xDF\x14\x2F\x85\x8B\x7C\x32\x08\x07\x18\x02\xDD\x80\x8A\x7F\xA4\x73\x30\x86\x8C\x76\x3D\x18\x07\x07\x03\xE3\x80\x6A\x79\x98\x00\x0A\x03\x19\x8E\xC6\x60\x1C\x08\x00\x46\x80\x91\x81\xFE\x6F\x35\x6D\x06", + "\x04\x0D\x97\xE3\x48\x32\x18\x00\xD8\x81\x58\x83\x40\x4E\x16\x3D\x0D\x80\xE4\x72\x0C\x28\x00\x46\x80\x35\x80\xEC\x7F\x22\x25\x0E\x8B\x31\x77\x00\x69\x81\xE2\x80\x27\x4F\x68\x35\x1C\x8D\xDE\x08\x03\x25\x03\x80\x06\x46\x00\x23\x81\x14\x81\xCB\x4E\xC5\x0A\x03\x34\x03\xA0\x12\xF7\x81\xB7\x1E\x3E\x81\x1E\x86\x87\x0E\x69\x3F\x03\xC7\x70\x01\x82\xE9\x1F\x40\x80\x19\x86\xCA\x62\x59\x47\x04\xE2\x21\x09\x82\x74\x0B\x42\x80\x1A\x8F\xCA\x71\xB7\x14\x02\x0F\x82\x69\x11\x88\x82\x90\x1B\x22\x82\x07\x95\x1B\x48\x29\x22\x01\xED\x80\x88\x4E\x46\x86\x39\x00\x0F\x9A\xD7\x37\xFF\x79\x7F\x44\x08\x3F\x02\xBC\x07\x0F\x08\x12\x80\x28\x32\x0B\x7A\x00\xD7\x69\x58\x01\x39\x82\x99\x73\x20\x13\x03\xAD\x04\x90\x02\x81\x01\xB9\x6F\x4D\x87\x93\x7B\x03\x9B\x09\x87\x04\x03\x01\xF2\x04\x41\x03\x35\x6A\x16\x03\x12\x8C\xC1\x4F\x0A\x41\x82\xD7\x68\x5A\x01\x51\x85\x31\x7E\x8E\x12\x17\x00\x05\xAD\x75\x86\x00\x9D\x81\x9A\x5B\x26\x84\x80\x06\x02\x8D\x05\x51\x82\x4D\x83\x80\x78\x55\x84\x85\x0C\x09\x16\x0A\x90\x04\x08\x01\xF2\x04\x45\x02\x4F\x83\x20\x00", + "\x16\x8F\xC1\x44\x21\x38\x01\x4B\x83\x85\x26\x11\x80\x60\x05\x16\x85\xA7\x56\xF4\x5B\x82\xD8\x4D\xA5\x83\x27\x06\x2B\x8A\x10\x09\x04\x03\xE8\x0F\x23\xBD\x01\xB4\x80\xCB\x00\x14\x0B\x16\x90\x08\x36\x05\xEE\x71\x1B\x52\xB8\x81\xB0\x43\x29\x82\x0A\x14\x0B\x87\x04\x62\x82\x72\x2F\xB1\x82\x3E\x5F\x51\x70\x74\x02\x0C\x9F\x1C\x23\x01\x86\x83\x81\x03\x22\x03\xCD\x77\x61\x3A\x0B\xB0\x8A\x7D\x82\x89\x82\x61\x4C\x17\x2D\x18\x0E\x18\x86\x51\x26\x02\x11\x83\x02\x03\xC9\x83\x9C\x7C\xB1\x56\x19\x83\x92\x58\x06\xD9\x38\x7A\x7C\x24\x14\x32\x05\x34\x81\x3A\x09\x05\x27\x06\x92\x83\xF4\x78\xA5\x0C\x6B\x86\x11\x7F\x1A\x81\x0D\xBA\xF3\x08\x63\xB3\x82\xDA\x05\x2B\x05\x36\x81\x10\x02\x0D\x87\x04\x32\x74\xB1\x69\xDC\x80\x11\x0F\x15\x0C\x1B\x80\x00\x3E\x06\x83\x02\x38\x75\xA8\x56\x70\x84\xE2\x05\x1C\x87\x0E\x9A\xD8\x78\x06\xD2\x01\xE5\x80\x44\x03\x16\x0D\x1C\x95\xE8\x6C\xFF\x52\x83\x0A\x03\x5A\x01\x75\x81\x29\x71\x26\x16\x06\x18\x07\x8C\x81\xDB\x83\xA8\x70\x25\x08\x1B\x0F\x1D\x9B\xD3\x21\x07\x83\x02\xAE\x7D\x0A\x56\x36\x05\x3C\x81\xE1", + "\x27\x0F\xBB\x0B\x10\x1E\xEC\x83\x80\x01\x2F\x06\x3D\x87\xF2\x21\x13\x1E\x03\x71\x83\x89\x18\xFA\x82\xCB\x38\x72\x78\x1F\x81\x06\x3A\x07\xC7\x7D\x5C\x28\x71\x03\x52\x84\x1C\x0B\x14\x83\x06\x05\x07\x8C\x01\x94\x83\xC7\x22\x39\x00\x3F\x85\x0C\x07\x10\x99\xF7\x25\x7C\xF8\x83\x63\x02\x83\x87\xAB\x7B\x6D\x0A\x07\x38\x07\xC9\x01\x13\x84\xB2\x7A\xB4\x48\x3F\x8B\x0C\x19\x10\xA9\xF5\x5B\x0D\xEE\x00\xFC\x81\x33\x06\x43\x8F\xD6\x70\x1A\x78\x07\xCF\x01\x24\x84\xBB\x78\x25\x0A\x1E\x08\x1F\x9C\x04\xBB\xC0\x08\x84\xBD\x81\x8D\x00\x3D\x00\x3F\x83\x0D\x09\x11\x9C\xFA\x0F\x23\xF6\x00\xFC\x81\x35\x06\x46\x82\xEA\x7C\xA2\x38\x03\x78\x83\xD7\x00\x1B\x84\xAA\x7D\x42\x5A\x0F\x18\x0F\x99\x03\x36\x84\xE9\x83\x1F\x58\x3F\x00\x3F\x8B\x0D\x16\x11\xB5\xFA\x72\x42\xFE\x00\xFC\x80\x29\x87\x45\x86\xA6\x63\x31\x19\x02\x3B\x60\x32\x07\x6F\x02\x8D\x81\xD8\x7F\x18\x22\x00\x17\x09\x87\x02\x99\x7C\x11\x46\x8D\x80\x40\x81\x6F\x24\x00\x1F\x09\xD4\x5D\x06\x01\x33\x85\xB7\x5F\x20\x03\x0E\x05\x0E\x8D\x02\x72\x05\x87\x00\xFA\x6E\x9A\x87\xF1\x43\x74\x6A", + "\x08\x0E\x02\x4E\x77\x8A\x83\xCF\x44\x63\x84\x08\x19\x00\x13\x13\x80\x00\x40\x44\xE5\x00\xD0\x81\x40\x07\x11\x02\x2F\x1F\x0B\xA7\xF9\x3E\x5E\x84\x84\x85\x00\x62\x87\x50\x86\x5F\x63\x08\x10\x02\x72\x05\x6D\x83\xEA\x68\xA1\x72\xFF\x02\x2F\x0E\xC3\x64\xA2\x7E\x84\x34\x83\xCE\x6F\x9E\x80\x49\x1B\x00\x18\x14\xAC\x07\x66\x01\x82\x84\x00\x00\x25\x02\x5E\x02\x09\x17\xA6\x4C\x00\x1E\x85\x8D\x85\x2F\x06\xBC\x07\x12\x09\x27\x98\x32\x32\x0B\x19\x01\xAD\x84\x56\x84\x96\x84\x8B\x2D\x00\x08\x15\x86\x18\x67\x01\xA1\x84\x59\x85\xDF\x29\x56\x8F\x20\x8F\xDD\x76\x0A\xAC\x0D\xE8\x01\x5C\x85\x6A\x86\x8B\x1F\x00\x1F\x15\x9F\x1C\x69\x01\xC2\x85\x3F\x7C\x11\x10\x02\x06\x2C\x85\xA1\x09\x0B\x84\x7D\x39\x1F\x66\x85\x6A\x77\x59\x8A\xE8\x7B\x0F\x52\x0B\x96\x0B\xD4\x84\x48\x7C\x11\x13\x02\x07\x2D\x8C\x19\x2D\x03\x59\x85\x40\x80\xB4\x00\x05\x05\x5B\x83\x2C\x0E\x07\x20\x0B\xB7\x84\x5C\x29\x0A\x00\xB9\x80\x70\x0F\x0E\x07\x17\xBD\x08\xF1\x2D\x16\x01\x75\x85\xE8\x00\x1E\x07\x2E\x83\x12\xBF\xB0\x17\x00\xF2\x84\xEB\x05\x3C\x07\x5C\x89\x24\x98\x1B", + "\x18\x00\x79\x85\xB4\x06\x79\x03\xB9\x87\x49\x85\x5E\x59\x00\x00\x0C\xC4\x08\xF3\x01\x73\x84\xAF\x7C\x8B\x2A\x01\x07\x18\x9A\x04\x74\x01\xE7\x84\x2E\x86\xDA\x66\x61\x80\x11\x15\x07\x27\x0B\xE4\x84\x1A\x62\x69\x85\x07\x06\x4F\x80\x30\x16\x07\x21\x0A\x98\x01\x09\x84\x2E\x2B\x07\x04\x62\x83\xE5\x1F\x18\xBD\x0A\xA5\x3B\x24\x87\x83\x00\x3E\x06\x64\x84\x21\x84\x42\x21\x00\x29\x86\x4E\x66\x96\x86\x86\x84\x08\x12\x02\x10\x19\x82\x04\x7A\x01\x32\x87\x0F\x84\x11\x13\x04\x06\x33\x83\x9D\x79\x0C\xA5\x84\xDB\x0C\x12\x01\xCF\x83\x6A\x4F\x33\x8A\x11\x8B\x7E\x43\x86\xFD\x01\xA2\x87\x11\x83\xA2\x03\x34\x9E\x07\x0A\x0D\x81\x7B\x83\x33\xA1\x87\x3F\x02\x69\x8F\x2E\x9C\x93\x43\x0D\x80\x00\x9D\x82\xAC\x84\x94\x71\x4C\x09\x02\x03\x1A\x81\x00\x59\x86\x20\x87\x09\x7C\x92\x12\x05\x03\x34\x9B\x05\xBE\x7C\x61\x86\x2F\x0D\x6D\x0F\x0A\x03\x68\x83\x00\x00\x1B\x95\x09\x94\x09\x2C\x01\xA1\x84\x01\x06\x6D\x8A\x10\x12\x18\xB1\x5B\x2D\x00\x43\x87\x02\x00\xDD\x84\x39\x1C\x28\x32\x16\xAF\x00\x1C\x86\x71\x11\xAC\x84\xAC\x82\x21\x0C\x09\x0D\x15\x83", + "\x0E\xF2\x73\x6F\x70\xC0\x84\x0B\x0F\x00\x0B\x14\x87\x1C\xBF\x77\x57\x69\x33\x00\x3F\x87\x07\x71\xF6\x05\x0E\x80\xD4\x0E\x0E\x82\x02\x40\x71\x68\x1A\xE4\x84\x3D\x0C\x00\x15\x1C\x90\x04\x17\x87\x01\x02\x24\x73\xB6\x09\x07\x0B\x39\x83\x84\x25\x03\x9F\x14\xA0\x87\x25\x0B\x35\x6C\x07\x05\x3A\x86\x30\x13\x00\x27\x87\x9F\x86\x6B\x74\x3D\x2D\x75\x8A\x0B\x70\x1D\x8A\x04\x29\x87\x8B\x81\x81\x02\x10\x04\x76\x86\xFC\x16\x1D\xBB\x0A\x8E\x38\xD7\x69\x22\x00\xEF\x86\x44\x1F\x01\x1E\x1C\xB7\x0E\x95\x85\xD7\x68\x24\x03\xF0\x87\xBA\x66\x3C\x9F\x1D\xB7\x2D\x57\x69\x4B\x01\xE5\x85\xDB\x3D\x79\x83\x10\x09\x1D\xBD\xE1\x15\x16\xD2\x86\x96\x07\x34\x83\xFC\x61\x3B\x9A\xA3\x57\xD3\x51\x00\xD9\x87\x61\x07\x0A\x04\x7A\x8F\x22\x12\x17\x0A\xE2\x5B\x0D\x54\x01\xF0\x84\xE0\x06\x05\x04\x3E\x8A\x37\x08\xF7\x03\x43\xEA\x87\xD0\x05\x0C\x05\x7D\x80\x00\x09\x1D\x98\xE2\x67\x26\xF1\x87\xB3\x6E\xEF\x85\x7A\x81\xCD\x74\x24\x1D\x01\x79\x87\xB4\x06\x1C\x00\xFD\x81\x75\x86\x8A\x77\x0C\x20\x01\x00\x88\x44\x09\x1D\x03\xFE\x85\x7C\x89\x0C\x9F\xE6\x08\x10", + "\x9A\x02\x3F\x01\x05\x8A\xFB\x82\x21\x04\x8B\x72\xA2\x0F\x10\xC3\x18\x12\x89\xFA\x86\x36\x84\x92\x09\x06\x17\x20\xAB\x34\x19\x88\xA9\x86\x60\x73\x63\x24\x0D\x0E\x41\x95\xDD\x20\x10\xF2\x05\xC6\x71\x6D\x0F\x1B\x05\x84\x86\x12\x27\x21\x8A\x04\x4C\x71\x48\x14\x39\x00\x0B\x8A\x20\x03\x05\x03\x20\x81\xD6\x57\x69\x75\x01\xA1\x86\x15\x02\x70\x82\x2F\x12\xC6\x54\x12\x76\x00\x33\x88\x9E\x28\xFD\x82\x13\x02\x2F\x05\x1C\xAD\xEA\x44\x88\x66\x82\x24\x15\x1E\x02\x71\x86\x60\x1A\x02\x0B\x05\xC8\x88\x38\x70\x8D\x55\x10\x88\x11\x13\x44\x9F\xC1\x57\xD3\x7E\x00\x53\x89\x2F\x01\x15\x8F\x08\x77\x4D\x61\x04\x13\x11\xE2\x00\x19\x88\x28\x88\x14\x74\xAF\x03\x45\x86\x03\x21\x11\xB2\x87\xA3\x43\x29\x8A\x3F\x82\x6C\x85\x3F\x48\x23\x87\x48\x53\x88\x6E\x01\x33\x88\xF0\x86\x10\x43\x45\x92\x03\x1B\x11\xED\x70\xD7\x68\x48\x03\x14\x8D\x0E\x07\x47\x95\xC3\x54\x83\x53\x88\x78\x01\x3E\x88\x1F\x77\x9A\x66\x09\x13\x22\xBB\x01\x02\x89\x83\x71\x6B\x69\x26\x03\x8A\x8E\x07\x08\x24\x89\xE2\x57\x69\x9C\x01\x29\x89\x20\x06\x91\x8D\xDC\x64\x42\x1F\x02\x53", + "\x88\x84\x00\x47\x8B\xFD\x80\xB7\x43\x45\x87\x04\x32\x11\x87\x02\xD6\x79\x6D\x0D\x29\x03\x8A\x8B\x08\x0E\x24\x85\x10\xF9\x02\xA8\x01\x29\x8A\x23\x07\x93\x80\xF9\x6F\x8C\x2B\x02\x53\x88\x92\x00\x56\x8A\x40\x05\x82\x84\x84\x0E\x05\x13\x11\x96\x01\xB2\x89\x39\x34\x47\x3B\x8A\x8A\x09\x19\x25\xB9\xE2\x61\x5C\x53\x88\x4F\x02\x2F\x89\x85\x8F\x2C\x73\x22\xA0\x04\xEC\x88\x00\x00\x31\x8B\xDC\x07\x9A\x6A\x0B\x13\x22\xA6\x02\x0E\x89\xD2\x6B\x6B\x77\xD0\x81\x15\x09\x35\x8A\x26\x81\x04\x3E\x88\xDB\x0C\x5F\x03\x14\x8A\x15\x04\x3F\x9B\x04\x05\x11\xAD\x85\x46\x88\xEE\x1D\xAB\x85\x13\x02\x2F\x08\x1B\x92\x0A\x89\x75\x06\x0C\x72\x8B\xF1\x85\x55\x7E\x09\x12\x17\x23\x02\x24\x78\x52\x86\x96\x05\x3B\x8B\x6A\x17\x4D\x62\x06\x31\x13\xC3\x05\xF3\x89\xE7\x84\x25\x0B\x18\x07\x4F\x94\x34\x72\x0B\x21\x01\x8C\x72\x62\x00\x13\x8C\x7C\x5B\x2A\x9B\xF1\x6D\x02\x59\x86\x00\x8B\x75\x88\xA3\x84\xD4\x09\x35\x82\x05\x32\x0B\x1F\x01\xD7\x68\x63\x02\x9F\x86\x5E\x88\xE6\x6F\x1C\x8A\x04\x27\x01\x8C\x73\x65\x03\x40\x8F\xE3\x09\x39\x86\xA3\x4C\xE6\x4D\x01", + "\x1B\x8A\x13\x15\x29\x05\xA0\x87\x7C\x4F\x05\x19\x0D\xA3\x8A\x0A\x8B\x73\x8A\xB2\x73\x20\x00\x0B\x19\x1A\xA6\x02\x0F\x8A\x36\x6F\x89\x8A\xCF\x58\xA3\x8A\x10\x08\x29\x8B\x14\xA2\x69\x1E\x8A\xB6\x17\x8E\x7A\x26\x8E\xF3\x28\x05\x2F\x0A\xBB\x7C\x44\x82\x9F\x3D\x2A\x00\xA6\x84\x49\x14\x06\x32\x14\xA9\x85\xCE\x04\x79\x04\x2B\x05\x9B\x62\x2D\x9A\x06\x21\x14\x88\x19\x4B\x8A\x85\x03\x2A\x07\x9A\x6C\x0D\x1D\x27\xA1\x0E\x2D\x01\x77\x82\x2E\x29\x37\x07\xA9\x82\x33\x13\x05\x19\x0D\xD8\x8A\x1A\x1D\x6B\x6B\x37\x02\x5A\x80\x0E\x1C\x2A\xAC\x0C\x2F\x01\x59\x8B\x78\x2E\x38\x03\x68\x8A\x14\x9E\xF9\x28\x15\xE1\x8A\x92\x4D\x71\x02\x59\x8B\x58\x00\x0B\x12\x17\x32\x02\x0C\x73\xE5\x01\xB9\x88\xE0\x01\x16\x02\x2F\x0E\x05\x3C\xD4\x53\x88\x32\x07\xBB\x89\xDD\x2D\x55\x83\x0B\x12\x17\x35\x15\xAD\x75\xB4\x01\xB4\x8A\x81\x3A\x1D\x0A\x57\x94\x39\x59\x0D\x89\x8B\xE1\x4E\xA7\x6A\xB4\x85\x1D\x0D\x58\x9A\x39\x4A\x16\xF2\x42\xEF\x01\xA1\x86\x2D\x01\x6B\x86\x0B\x12\x17\x3C\x02\x53\x7C\x95\x8A\xDA\x07\x2D\x02\xA9\x8D\xE5\x72\x16\xB3\x03\x4F\x8A\xB7", + "\x01\xAC\x84\x2E\x02\x5E\x09\x0B\x0D\x15\xAB\x16\x8A\x02\xBB\x01\x56\x85\x6B\x89\x34\x67\x4D\x75\x07\x12\x0B\xF6\x01\x4F\x8A\xB4\x82\xCF\x3A\x17\x0C\x5A\x8D\x15\xBC\x16\xB0\x8B\xAD\x85\xD8\x89\x76\x81\xB7\x60\x58\x8C\x19\x1F\x16\xAF\x0E\xAD\x85\x5E\x02\xBC\x07\x7A\x8A\x5D\x76\x2A\x96\x0F\x4A\x8B\xDE\x86\x4A\x08\x3F\x06\xB9\x84\x3B\x0C\x2E\xBD\xE2\x0C\x73\xFD\x01\xD0\x88\x11\x08\x18\x07\x59\x85\x2F\x7F\x03\x5A\x8B\x1A\x03\x5C\x03\x52\x84\xBB\x80\x57\x9A\xAF\x5A\x02\x3E\x3E\x02\x01\xF3\x88\x98\x83\xF5\x29\x35\x81\x06\x32\x0B\x43\x01\xAD\x84\xF7\x89\x12\x8A\x98\x5A\x5E\x94\x76\x72\x0C\x3C\x01\x4B\x82\xF9\x8B\x41\x05\xB0\x89\xD9\x15\x2F\xA7\x71\x10\x02\x07\x00\xFF\x88\x14\x60\x00\x0E\x0B\x19\x1A\x82\x03\x6F\x8B\xAD\x85\x03\x8F\x7C\x88\xDC\x19\x00\x02\x30\x9A\xAE\x08\x19\xBF\x01\xA5\x82\x82\x8B\xBF\x87\x4D\x6B\x00\x0E\x18\xCD\x02\x0C\x00\x07\x8F\x55\x09\x6B\x80\x5F\x95\x96\x57\xD3\x0E\x00\x0E\x8D\xC9\x84\x1E\x7A\x5E\x04\x5E\x97\x29\x96\xDD\x34\x07\x84\x70\x8F\x50\x63\x71\x02\x0A\x61\x8C\x0F\x06\x03\x5D\x8B\x15\x55", + "\x09\x01\x8B\x8C\x85\x02\x0C\x0B\x0A\xAF\x18\xE5\x8B\x21\x2F\x0B\x8F\x22\x13\xC6\x86\x83\x39\x1A\x87\x03\x72\x05\xCA\x01\x56\x87\x8F\x8B\xC1\x8F\x18\x38\x00\x3C\x18\xAC\x0D\x9C\x83\x1D\x63\x90\x88\x71\x89\xFA\x47\x32\x9F\x1C\x47\x01\x4B\x83\x25\x8F\x40\x04\xBF\x82\xF4\x1A\x31\x93\xD7\x4E\x8C\x01\x03\x64\x02\x8F\x8E\xB3\x81\x84\x76\x32\xAA\x43\x58\x8C\x7F\x43\xAC\x84\x32\x00\xC8\x8D\x2A\x83\x33\x84\x19\x8C\x54\x60\x8D\x92\x63\x52\x86\xCC\x8C\x64\x84\x42\x24\x00\x69\x8C\x2C\x07\x66\x03\x9A\x8A\x5E\x04\x65\x84\x42\x26\x00\x5E\x8C\x01\x6C\x30\x8F\x33\x02\xCC\x8C\x65\x94\x24\x29\x00\x78\x8C\xE4\x12\x30\x8C\x34\x01\x6B\x89\x0C\x04\x33\xAD\xEA\x05\x8D\x67\x8D\x78\x2C\x0B\x00\xCE\x83\x2C\x11\x06\x0B\x05\x88\x8D\x2A\x25\x6B\x6A\x0B\x00\xD0\x81\x10\x0F\x01\x20\x19\xD3\x01\x59\x87\x20\x8E\x87\x8F\x0D\x71\x62\x9E\x79\x4B\x03\x72\x05\x37\x8C\x13\x8E\x51\x83\x20\x0C\x0C\x10\x31\xBF\xB0\x34\x00\x8C\x8C\xC0\x04\x35\x01\x6B\x85\x6A\x8A\x08\x12\x03\x57\x69\x36\x00\x4A\x8F\x92\x09\xD5\x81\x3A\x0E\x06\x26\x1A\xF8\x06\x39\x00\x59", + "\x8E\xCC\x05\x1A\x09\x35\x96\x35\xAE\x1A\x8C\x73\x3A\x00\x5A\x8E\xF5\x07\x19\x01\x32\x9E\xB9\x3A\x1A\xAC\x06\xDE\x82\x9F\x3C\xB1\x8B\x34\x8B\x6D\x1D\x01\x07\x1B\xC3\x05\xD7\x01\xAC\x87\xB2\x8F\x20\x06\x91\x60\x7B\x0F\x1B\x80\x07\xE4\x82\x65\x8D\x6C\x87\xF9\x07\x6D\x81\x1D\x19\x03\x52\x8D\xB7\x82\x33\x61\xB7\x8E\x7A\x0B\x1E\x9A\x36\x9E\xBB\x40\x49\xE3\x8C\xDA\x07\x36\x00\xDC\x87\x5B\x61\x13\x02\x01\x69\x8D\x44\x08\x6E\x00\xBB\x8D\x04\x88\x16\x03\x02\x30\x1B\x9A\x02\xDD\x01\x79\x8D\x47\x60\xDC\x14\x04\x17\x37\xB4\xB4\x7A\x8D\x02\x03\xAA\x86\x5C\x45\x08\x0E\x6F\x8A\x08\x1F\x03\x00\x8E\x01\x02\x8A\x8B\x65\x06\x08\x05\x70\x88\x6D\x48\x1C\xC8\x02\xE7\x11\x86\x8F\x40\x01\x1C\x0F\x70\x84\x18\x95\xA8\x48\x00\x12\x8E\x81\x02\x80\x86\xDC\x8A\xD3\x6E\xDC\x19\x1C\x81\x02\xE3\x01\x87\x8E\xDD\x86\xC0\x3A\x04\x1F\x38\x80\x00\x04\x84\x1C\x8F\x3B\x75\x98\x03\x09\x02\x6B\x8C\x02\x20\x19\xE5\x01\x59\x86\x68\x02\xBC\x05\x19\x07\x4D\x6E\x02\x26\x1C\xB2\x06\xD1\x00\x79\x06\xCC\x8D\x55\x7F\x6A\x8C\x2B\x2D\x0A\xD3\x01\xE6\x87\x6B\x6B", + "\x13\x07\xE6\x8C\x32\x07\x1F\x85\x76\x0C\x73\x50\x00\x61\x8C\xED\x06\x1A\x02\x2F\x18\x06\x2D\x0A\xCC\x8E\x89\x8C\x03\x3E\x14\x02\xE9\x84\x44\x0B\x10\xBB\xC0\x50\x8E\x75\x55\x6B\x68\x15\x02\xD6\x85\x05\x00\x33\xA8\x03\x59\x86\xD7\x01\xA6\x8D\xAB\x81\xEC\x81\x75\x92\x0B\x57\x01\x54\x8E\x1A\x03\x74\x03\x52\x84\xEC\x89\x75\x83\x8A\x72\x1A\xDA\x00\x60\x8D\x75\x01\xD6\x86\xE9\x8A\x10\x14\x06\x17\xD3\x5C\x00\x44\x8F\x61\x05\x36\x02\x5E\x08\x75\x8A\x29\x88\xE6\x2C\x0D\xDA\x00\x79\x07\x39\x05\x55\x81\x78\x81\x02\x84\x1E\xF8\x6B\x87\x8E\x85\x02\x3A\x05\x55\x8C\x0D\x12\x17\x1B\x03\x57\x69\x5D\x00\x07\x8D\xBF\x82\x80\x02\x2F\x0D\x3C\xAD\xEA\x5E\x01\xF2\x05\x6E\x01\xAB\x87\x1B\x02\x2F\x18\x3C\xAD\xEA\x60\x01\x8E\x8E\x6D\x72\xE4\x8E\xE7\x51\x0E\x12\x17\x1C\x1E\xAD\x75\xE2\x00\x79\x04\xE8\x8D\x55\x73\x0E\x01\x3D\x94\x12\x65\x00\xA3\x8E\xA4\x8B\xC9\x8A\x5E\x0D\x7A\x8D\xD5\x65\x03\x72\x05\xE4\x01\x56\x86\x39\x06\xF5\x8B\x6D\x09\x03\x31\x1E\xF5\x84\x07\x03\xC1\x8F\x71\x65\x55\x88\x0E\x12\x17\x29\x1E\xAD\x75\xE9\x00\x79\x07\xED", + "\x8D\x55\x7B\x78\x9D\x5D\x2D\x0A\xEB\x01\x83\x6D\xE7\x8E\xFC\x6A\xFA\x8A\x10\x04\x26\x88\xEC\x06\x6B\x32\x07\x76\x02\xBC\x04\x1D\x07\x4D\x6D\x03\x28\x1D\xCE\x3E\xF2\x04\xED\x8D\xAB\x73\x93\x87\x09\x77\xA6\x6F\x01\x5F\x8F\x2C\x08\x78\x03\xF6\x8F\x9A\x61\x07\x08\x3F\x86\x18\x34\x89\x98\x49\x56\x86\x3C\x01\xFA\x8B\x94\x66\x39\xAC\x03\x59\x86\xF3\x8E\x0A\x8B\x35\x6C\x0E\x06\x72\x8D\x07\x38\x1F\xA8\x88\x38\x88\x93\x8D\x88\x86\xE7\x34\x0F\x12\x17\x3A\x03\x0C\x73\x76\x00\xF7\x8F\x40\x05\x1E\x05\x6C\x86\xF0\x38\x01\x26\x8E\xEF\x01\xAC\x84\x03\x94\xD9\x84\x84\x19\x03\x26\x1C\xF0\x01\x12\x91\x61\x84\xB8\x1A\x0F\x06\x72\x91\x07\x19\x20\xCA\x85\x48\x15\x3D\x02\xC9\x8C\x45\x8E\xF3\x33\x40\x90\x0B\xC8\x14\x7C\x00\x93\x8F\x3C\x07\x03\x9F\x1B\x81\x13\x3D\x01\x26\x8E\x33\x85\x12\x93\x41\x78\xE3\x76\x72\x95\x07\x2C\x20\xAE\x80\x15\x55\x3F\x02\xC9\x89\x47\x82\x83\x9D\xAF\x79\x05\x00\x01\x26\x8F\x7B\x03\x0D\x91\xE0\x86\xEC\x06\x39\xBF\x08\xBD\x90\xE2\x83\x6D\x0E\x20\x06\xE4\x89\x0F\x03\x42\x81\x95\x00\x21\x26\x8F\x22\x84\x12\x97", + "\x2B\x78\xA4\x04\x04\x26\x1C\xFB\x01\x4E\x90\x00\x03\xC2\x81\xDE\x25\x08\x06\x39\x8B\x09\xD3\x90\x02\x03\x91\x8E\x5C\x46\x10\x06\x72\x9D\x07\x19\x21\x98\x86\x72\x43\x43\x02\xAC\x88\x11\x00\x66\x91\x12\xBE\x7C\x76\x01\xF2\x05\x7B\x01\xAB\x80\x0E\x9F\xCA\x1E\xF1\x59\x0D\xF4\x90\x07\x03\xE2\x8F\xF1\x4D\x7E\x8F\x86\x88\x3C\x87\x9F\x01\x00\xB7\x8A\x79\x05\xF3\x8A\xD4\x82\xE3\x32\x16\xB2\x21\xFF\x7F\xBA\x36\x07\x8F\x03\x7E\x4F\x84\x38\x27\x44\x87\x00\xDB\x0D\x95\x00\x45\x93\x05\x7C\x11\x90\x11\x0E\x44\x8F\x00\xDB\x0D\xA0\x00\x07\x8E\x5F\x43\x63\x8F\x12\x56\x44\x97\x00\xC4\x10\xAC\x00\x4D\x90\x7B\x03\x6D\x8D\x89\x90\xF7\x5A\xFF\x22\x91\x2C\x08\xD2\x85\x29\x96\xDE\x79\xD6\x08\x45\xB6\x9A\x7E\x84\xC9\x2C\x4F\x92\x4F\x1B\xDB\x00\x0D\x12\x44\xAC\x10\x55\x00\x94\x91\x29\x1F\x0E\x81\x4C\x0B\x0D\x0E\x45\xB4\xC5\x30\x91\x95\x90\x22\x82\xE5\x6E\x17\x9A\xC4\x00\x46\xBA\x22\xCA\x80\x6C\x7C\x62\x92\x89\x10\x8B\x8B\x8A\x8E\x4C\x5F\x32\x4A\x91\x88\x18\x46\x02\x31\x94\x62\x68\x05\x9B\x36\x0B\x00\x1B\x01\x31\x84\x4D\x03\x34\x93\x20", + "\x02\x8B\x98\x07\x61\x09\x17\x00\xD8\x90\x7A\x8F\x40\x01\x95\x8D\x8C\x8B\x43\x54\x12\x23\x00\xE1\x90\x66\x80\xED\x06\x16\x0E\x27\x85\xC3\x1D\x23\xEC\x80\x1A\x02\x18\x01\x3A\x97\x39\x85\x45\x7B\x46\x82\x04\x5D\x91\x74\x81\x1F\x58\x0F\x03\x1E\x91\x2E\x83\x08\x13\x03\x76\x91\x01\x03\x6E\x90\xA1\x6A\x2E\x48\x04\x1C\x47\xA8\x0B\xC3\x05\xE1\x01\x5C\x90\x35\x90\x7B\x6C\x45\x33\x02\x06\x24\xC4\x3F\xEE\x00\x85\x90\x37\x96\x8D\x80\xEE\x1E\x02\x06\x24\xAB\x4C\xFB\x00\x3F\x86\xE7\x35\x1B\x99\x3B\x82\x08\x2B\x01\x17\x92\x77\x64\x07\x8F\x46\x93\xD4\x6E\xD2\x06\x48\xBE\x85\x1B\x00\x0E\x8D\x58\x92\x28\x84\xAF\x06\x92\x8C\x0F\x3F\x19\xE5\x91\xD4\x33\xE2\x30\x48\x94\x40\x6E\x60\x8E\x47\xBB\xDA\x14\x74\x2D\x92\x16\x08\xC3\x88\x26\x9C\xDD\x12\xC2\x39\x24\x97\x27\x29\x93\x60\x91\x03\x8B\x20\x05\x0B\x13\x49\x86\x18\x62\x00\x22\x92\xA1\x91\x16\x7D\x42\x52\x0C\x06\x4A\xB2\xFA\x49\x92\xC7\x90\xCC\x7F\x46\x07\x19\x0E\x94\x9F\x38\x0B\x21\xE4\x58\xF7\x91\x0D\x88\xD8\x0D\x2A\x96\xA2\x12\x04\x10\x25\x8B\x92\xAC\x65\x78\x2D\x3A\x04\x2B\x98", + "\xC8\x02\x05\x35\x24\xCA\x92\x7C\x79\x78\x2E\x3D\x04\x2C\x95\x11\x67\x4B\x91\x25\xB9\x7F\x06\x3D\x01\x00\x27\x03\x82\x2F\x00\x13\x4B\xAB\x17\xA1\x4F\x41\x93\xB7\x90\x24\x7A\x04\x86\x97\x9C\x0A\x5D\x00\x7D\x92\x6B\x84\x0D\x2D\x5E\x90\x2C\x99\xBA\x50\x5E\x00\x26\x9A\x4C\x2B\x01\xC3\x93\x83\x8C\x1B\x03\x98\x93\x48\x97\xDC\x77\x86\x8A\x93\xF6\x19\x0E\x02\x31\x90\x30\x0A\x07\x0D\x26\xD9\x92\x21\x6E\x2F\x1B\x0E\x01\x32\x92\xD2\x14\x4C\xAE\x05\x17\x93\x01\x93\xFE\x6E\xE3\x32\x31\x94\x38\x36\x02\x1E\x26\x91\x03\x06\x93\x32\x30\x3E\x02\xF0\x8B\xE3\x75\x00\x06\x24\xCD\x02\xAB\x92\xC3\x8F\xF1\x4E\x02\x0F\x9A\x8E\x0B\x3E\x21\x84\x91\x32\x06\x70\x92\xCF\x39\x36\x97\x10\x03\x44\xBE\x1D\x95\x8A\x02\x02\x0C\x01\x6D\x94\xE2\x62\x63\x77\xA6\x58\x01\x0A\x93\x99\x85\x83\x03\x01\x93\x68\x6D\x2A\x9B\x07\x3D\x10\xD7\x69\x59\x00\xE4\x92\xCF\x58\x9B\x88\x1E\x92\xB1\x22\xE3\x44\x08\x5A\x01\xD3\x91\x15\x35\x01\x92\x17\x5C\x02\x12\x27\xE3\x0E\xC3\x93\x83\x02\x3F\x07\x64\x8C\x45\x3D\x02\x1F\x27\x89\x21\xE1\x93\x81\x03\x78\x95\x65\x88\xA4", + "\x1E\x02\x27\x27\xA7\x49\xE9\x93\x5C\x2B\xB6\x8B\xD5\x2F\x9E\x9F\x38\x1C\x00\x71\x93\x01\x03\xF5\x93\x09\x95\x76\x55\x9F\x8C\x8A\x38\x27\x80\x00\xFA\x93\x6A\x84\x92\x11\x0C\x0D\x9F\x8A\xF2\x3F\x27\x81\x94\xDA\x85\xC0\x1D\x81\x92\x66\x0F\x01\x07\x50\x8E\xF4\x5A\x2E\x0B\x94\xFD\x66\x83\x96\x07\x98\x16\x04\x03\x11\x28\xC3\x05\x21\x01\x09\x97\x41\x02\xE0\x85\x5E\x45\x03\x17\x28\x80\x07\x22\x00\x0D\x97\x40\x02\xE1\x89\x17\x06\x03\x1F\x28\xA1\x07\xE8\x90\x9F\x3C\x82\x97\x09\x93\x6B\x07\x51\x96\x0F\x24\x00\x22\x95\xF7\x80\x25\x08\x0D\x0E\xA2\x94\x1D\x25\x00\x31\x94\xF5\x82\x0E\x89\x8D\x94\x88\x06\x02\x18\x51\xBB\x07\x95\x2A\x3B\x94\x8D\x03\x09\x06\x47\x98\x86\x85\x2F\x6B\x01\x05\x94\x6C\x00\xED\x93\x6D\x1F\x3F\x9F\x0F\x1C\x4E\xA8\xA3\x41\x94\x10\x03\x14\x00\x93\x94\x3C\x91\x6F\x2F\x03\x10\x29\xA5\x07\x53\x94\xF6\x92\x17\x18\x0E\x07\xA5\x97\x9B\x19\x29\xB3\x86\xA9\x37\x2E\x96\x68\x07\x4B\x9A\x33\x91\x21\xA2\x29\xF3\x06\x64\x94\xA0\x84\x11\x13\x0E\x07\xA6\x9E\xBD\x69\x29\xC6\x86\x44\x10\x3A\x01\x9B\x96\x42\x5F\xA6\x8B", + "\x1A\xA8\x05\x75\x00\x73\x94\x79\x90\x7C\x6E\x3A\x80\x96\x73\x53\xB1\x00\x75\x94\x1C\x95\x0A\x57\x1D\x03\x4E\x92\x03\x15\x53\xA4\x28\xE8\x02\x78\x01\x39\x97\x0C\x05\x4E\x93\x79\x99\x0B\x39\x01\x73\x94\x34\x01\x3A\x96\xC5\x8F\x87\x5A\x07\x13\x53\xB5\x00\x75\x94\x5B\x90\x03\x3F\x1E\x03\x4E\x96\x03\x15\x53\xA2\x21\xE5\x4B\x7C\x01\x39\x97\x0D\x05\x4E\x95\xA4\x95\x50\x7D\x01\x05\x94\x7E\x00\x25\x96\xA1\x4F\x3F\x96\x81\x6F\x29\x57\xD3\x00\x01\x73\x95\xC4\x28\xA0\x36\x3A\x9B\xC4\x78\xA8\x72\x0C\x02\x00\x32\x2D\x00\x00\xAD\x91\xDE\x29\xAB\x61\x1D\x03\x00\x56\x93\xAD\x84\x02\x02\x8C\x2B\x45\x98\xA8\x58\x3E\xAC\x0C\x05\x00\x32\x2D\x77\x88\x0D\x1A\x55\x96\xA2\x19\x01\x3F\x27\xC8\x95\xF4\x88\xCD\x24\xB3\x90\x91\x1A\x03\x0F\x56\xB2\x58\x22\x87\xC8\x3F\x69\x96\xCC\x03\x07\x06\x90\x80\x18\x10\x2B\xD0\x44\xD7\x69\x43\x02\xB6\x92\xC1\x0D\xAD\x90\x08\x1F\x2B\xFB\x2A\xCC\x73\x71\x97\x88\x15\x5C\x90\x16\x12\xB1\x1D\x24\xBD\x83\xEA\x94\xC0\x05\x10\x04\x5D\x91\x17\x12\xB1\x1E\xEC\x37\x61\xF1\x95\xD0\x07\x10\x06\x5A\x9A\x29\x94\x24", + "\x0F\x02\x79\x95\xD6\x06\x22\x00\xBF\x92\x9F\x8B\x6D\x11\x04\x00\x2C\xB4\x07\x45\x01\x81\x95\x5B\x13\x3E\x77\xB0\x84\x22\x06\x01\x0A\x96\x02\x03\x14\x8C\x11\x15\x12\x0D\xB0\x9A\x08\x07\x01\x10\x96\x01\x02\xA3\x8E\x84\x25\x62\x90\x11\x05\x48\xBE\x7C\x67\x95\x02\x03\x4A\x88\x92\x11\x13\x0C\xB1\x94\x13\x18\x2C\x83\x23\xD7\x69\x4D\x01\xC9\x91\x55\x14\xAF\x83\x51\xB2\x58\x21\x89\x44\x11\x4E\x03\xCA\x93\x20\x0C\x04\x07\x59\xA7\x12\xE8\x02\x9F\x01\x99\x95\x01\x25\x65\x9C\x1B\x12\xB1\x37\x2C\xD6\x02\xA1\x00\x9D\x95\x60\x24\x67\x99\x70\x92\xB1\x30\x1F\xD0\x1A\x42\x96\xCC\x00\xD1\x95\x88\x02\x63\x22\x21\x9C\x51\x25\x01\x49\x96\x87\x93\x0E\x60\x64\x9A\x4B\x85\x97\x09\x2D\xD5\x00\x4B\x96\xAA\x94\x00\x06\xFA\x8E\xC5\x09\x05\x09\x2D\xD7\x00\x59\x96\x19\x2C\x0C\x89\x67\x59\xB4\x99\x02\x27\x2C\xD4\x93\xE9\x57\xA4\x96\x16\x07\x3F\x97\x00\x12\xB1\x06\x00\x3B\x95\x06\x3D\x57\x01\xD2\x92\x66\x08\x00\x0E\x5B\xB0\x2D\xF2\x42\xB1\x01\xB9\x94\xCB\x01\x01\x06\xB7\x9A\x72\x7A\x2D\xC3\x05\x0A\x01\xBE\x95\x16\x37\x6F\x90\x38\x0B\x00\x02", + "\x2E\xCF\x65\x84\x97\xD0\x04\x03\x07\x70\x98\xA4\x19\x05\x09\x2E\xE0\x69\x8C\x96\x2F\x1B\x2E\x07\x71\x94\x3B\x0E\x00\x11\x2E\xE0\x1D\xBD\x00\xCA\x94\x11\x0F\x01\x07\xB9\x8F\x8C\x3F\x02\x1A\x97\x1A\x02\x08\x01\xE7\x94\x8B\x21\x0C\x00\x5D\x90\x04\x11\x00\xA3\x97\x78\x2F\x30\x06\x74\x9A\x10\x12\x00\x29\x2E\x86\x3C\xC5\x00\xD6\x96\x4E\x7A\xC6\x25\x99\x7B\x36\x07\x03\x49\x96\x5B\x01\xFF\x93\x04\x01\x59\x97\x4D\x69\x06\x0A\x26\xA2\x8C\x88\x11\xA5\x97\xEE\x91\x5A\x98\x18\x7F\x5D\xAD\x79\x42\x97\xD7\x94\x9B\x6E\xF1\x93\x9A\x06\x90\x80\xD4\x03\x2F\xE0\x95\x7C\x5F\xE5\x96\x81\x0B\x0C\x0D\xBC\x82\x9B\x2E\x2B\xE3\x6E\xD2\x96\x56\x0E\x19\x05\x7A\x9B\xCA\x17\x5E\xA3\x07\xD9\x97\x0A\x4C\xEE\x97\xEC\x93\x8E\x8E\x92\x40\x5F\x9C\x35\x48\x97\xFD\x95\x6D\x0E\x37\x06\x7C\x98\xC8\x0E\x03\x28\x2F\x84\x96\x44\x11\x70\x00\xFB\x92\x66\x00\x07\x0F\x5F\x8B\x2C\xBA\x09\xF3\x97\x21\x3E\xFD\x91\x62\x9C\x53\x79\x5F\xAD\xBE\x7B\x97\x19\x97\xCF\x6E\xFF\x90\x70\x06\x07\x00\x60\x80\x00\x22\x96\x2F\x61\x01\x9B\x98\x7E\x80\x94\x7E\x81\xEC\x0A\x30", + "\xD6\x07\x7A\x00\xF1\x96\x53\x4F\x65\x93\x58\x6F\x60\xB4\x0E\x7D\x00\x06\x99\x9F\x94\x51\x06\x1E\x06\xC1\x84\x22\x3F\x01\x12\x98\x66\x72\x9F\x97\x70\x6D\x83\x9A\x11\x02\x04\x20\x30\xA7\x3E\x46\x96\xE8\x6C\x09\x98\x22\x05\x08\x07\x61\x9A\x21\xCD\x96\x0B\x6B\x15\x9A\xC2\x5E\x85\x9F\xBC\x80\xFD\x7A\x02\xB3\x19\xC0\x97\x45\x00\x0D\x9A\xC6\x2C\xB5\x80\x77\x05\x00\x38\x98\x7D\x0D\x1D\x9B\x0B\x8C\xFE\x60\xC4\x96\x04\x86\x30\xE8\x96\xFF\x6F\x22\x9A\x81\x0B\x12\x0B\xB4\x95\x00\x34\x2E\x9F\x8C\xB3\x18\x20\x45\x25\x07\x3F\x9E\xC4\x8D\x88\x57\xD3\x0F\x00\xB3\x19\x30\x84\x9A\x25\x89\x92\x63\x3D\x28\xB9\x3C\x59\x98\x3A\x64\x2E\x98\x17\x8C\xCD\x10\xC6\x8C\x21\x1A\x02\x2E\x98\x55\x98\xE8\x97\xB6\x0D\x02\x05\xC6\x89\x27\xA8\x31\xDE\x97\xDB\x0D\x0B\x01\x1B\x9C\xD5\x00\x0A\x0F\x63\x9B\xF0\x79\x02\x19\x01\x39\x9B\x63\x86\x8E\x95\x86\x77\xA6\x5B\x00\x7A\x98\x9E\x82\x31\x98\x1E\x8B\x05\x80\xC8\x88\x64\x28\x02\x02\x99\x7E\x89\x6D\x0F\x07\x05\x90\x92\x33\x0A\x05\x08\x32\x83\x89\xC9\x62\x46\x98\x1A\x4F\x91\x99\x48\x87\x47\x92\x32\xC3", + "\x05\xAE\x00\x4A\x9B\x23\x8C\x92\x05\x02\x17\x64\x80\x0E\x30\x01\x9A\x98\x04\x98\xB8\x1F\x04\x0E\xC9\x81\x1D\x32\x02\x1A\x99\x0D\x98\x70\x1D\x0A\x05\x94\x96\x3D\x14\x05\x3C\x31\x9F\x71\xE1\x7C\x56\x9A\x68\x8A\x93\x9A\xC1\x91\x09\x2D\x00\x32\x99\x44\x09\x5C\x03\x2B\x9D\x15\x7B\x6D\x0F\x01\x38\x32\x9A\x02\xBC\x01\x5D\x9B\x2C\x77\x9A\x61\x03\x1F\x65\x87\x63\x42\x99\xBF\x89\x6D\x0F\x0C\x06\x98\x9A\x10\x0D\x4A\x9C\x0F\xC3\x6A\x30\x98\x4A\x09\x0D\x04\x99\x97\x10\x05\x06\x08\x33\xBD\x98\x8F\x23\x1B\x00\x35\x9B\x20\x08\x0C\x08\x66\xA3\x2D\xA7\x47\xDB\x98\x81\x03\x32\x02\x93\x98\xC4\x87\x46\x61\x33\x81\x02\xCD\x01\xA5\x96\x05\x02\xC6\x24\x01\x17\x5B\xA5\x97\x3D\x00\x51\x98\x9F\x5F\x05\x02\xC6\x29\x01\x0E\x67\x95\xA8\x3E\x00\xF1\x98\xD9\x8F\x3C\x9A\xB9\x66\xCF\x9F\x61\x7F\x00\x79\x99\x45\x0B\x73\x98\x00\x05\x9E\x9A\x10\x18\x00\x3D\x33\xF8\x06\x42\x00\x80\x98\x4E\x8D\x96\x72\x63\x26\x68\x99\xE2\x0A\x9A\x27\x8C\x22\x0B\x06\x04\x9E\x97\xD0\x97\x0C\x04\x01\x02\x9A\x54\x92\x9F\x3F\x44\x9C\x9F\x94\x49\x06\x02\x05\x32\xC8\x00", + "\x85\x98\x68\x03\x7F\x95\x03\x02\x63\x3C\x00\x15\x34\xF9\x02\x4A\x00\x88\x9B\xA8\x8E\xB2\x64\xD1\x94\x24\x0B\x01\x2A\x9A\x88\x19\x68\x03\x48\x9A\xC6\x2A\x01\x07\x69\xB9\x0E\x30\x9A\x4D\x01\x42\x9A\x34\x07\x3F\x9E\x01\x05\x69\xB6\x34\xD6\x02\x4F\x00\x98\x9B\x0A\x4D\xA7\x9A\x10\x04\x68\x9B\x1B\x50\x00\x42\x9A\x96\x07\x34\x04\xA7\x94\xD3\x9F\x69\x84\x05\x51\x00\x30\x9A\x29\x01\x21\x9C\x1A\x0F\x9F\x9F\x00\x32\x58\x21\x00\x4E\x9B\x98\x00\x15\x01\xA9\x96\x58\x78\x6A\x85\x35\xD9\x9A\x1B\x03\x2A\x02\x40\x9D\x1A\x0B\xB4\x9E\x6A\x98\xD6\x60\x9A\xA1\x0D\x42\x99\x16\x05\x90\x97\x0D\x0B\x5A\xA2\x00\x32\x2C\x23\x00\xB4\x9A\xCF\x5A\x66\x0F\xD6\x9A\xA6\x32\x35\xB2\x8F\x32\x07\xB8\x9B\x57\x9C\x92\x0B\x05\x02\x68\x99\x03\x4B\x96\x7A\x9B\xB3\x9A\xFF\x85\x90\x9F\x05\x05\x64\x9B\x03\x4B\x96\x24\x00\xB8\x9B\x5D\x98\xF8\x8C\x6A\x09\x6C\xB6\x35\xAD\x75\x25\x00\x19\x2C\x08\x03\xB1\x93\x10\x01\x03\x1C\x35\xD6\x6B\x26\x00\x19\x2F\x0A\x04\xB2\x93\xD5\x02\x68\xA8\x00\x32\x2C\x27\x00\xCE\x9B\x4A\x9E\x44\x1F\xD9\x85\x3B\xA5\x97\x64\x00\x02", + "\x9B\x6E\x03\xD2\x95\xB4\x91\x45\x8D\x48\x0A\x31\xAC\x0D\xDF\x00\x17\x98\x6B\x9C\xED\x6C\x41\x8F\x6D\x9F\x1C\x62\x01\xB2\x9B\xE4\x96\x35\x36\xB6\x93\xE2\x26\x48\x9F\x28\x33\x9B\x7B\x6E\x48\x3C\x6F\x98\x91\x13\x96\x88\x26\x80\x37\xAC\x49\x94\x08\x39\x03\x70\x99\xFB\x8E\xDB\x90\x08\x07\x37\xED\x4B\x59\x73\xE5\x98\xCB\x01\x1E\x0D\xDC\x99\x4E\x36\x2B\xD7\x69\x78\x00\xE9\x9B\xB0\x05\x1E\x09\xDB\x89\x5F\xA9\xBF\x5A\x9B\x80\x06\x7C\x01\x77\x98\x7E\x91\xBB\x20\x6F\xA1\x0E\x7B\x01\xE3\x9B\xFB\x97\xB6\x09\x10\x06\xDE\x96\x1E\x3E\x03\x69\x9B\xFC\x96\xBE\x09\x7B\x9C\x92\x4C\xBE\x8F\x6E\x9A\x2C\xDE\x18\x87\x01\xF9\x98\x11\x0C\x00\x05\xDF\x92\xB1\x22\x32\x8F\x23\x8A\x00\xFD\x9A\xD6\x65\xBF\x94\x04\x37\xA6\x4D\x02\x02\x9C\x10\x02\x05\x02\x62\x97\xB7\x94\xC1\x89\x8A\x08\x38\xFE\x10\x04\x9D\xA5\x93\x0F\x5B\x12\x0F\xE0\x87\x08\x11\x00\x0B\x9C\xCE\x9A\x11\x98\x3A\x45\xC2\x94\xA0\x58\x70\x96\x37\xFA\x8F\x92\x0A\x0E\x9E\x40\x01\x03\x0E\xE1\x9C\x1C\x11\x33\xD2\x2D\x22\x9D\x80\x03\x5F\x96\xB8\x97\xE2\x96\x24\xA9\x38\x80\x00\x21\x01", + "\x12\x9F\x6D\x1C\x87\x97\x4D\x62\x05\x2F\x38\xA5\x00\x32\x9C\x60\x7B\x55\x9A\xB4\x90\x00\x05\x05\x17\x36\xA1\x07\x29\x01\x02\x97\x73\x9F\x9B\x9F\x18\x26\x05\x2F\x38\xAA\x00\x11\x9D\x81\x01\x39\x9E\x4C\x5F\xE2\x8D\x01\x2C\x2F\xA9\x00\xA0\x9A\x1E\x9D\xAF\x96\x7A\x00\xE5\x86\x6D\x95\xA8\x2C\x01\x02\x9A\x18\x03\xB4\x95\xCA\x9D\xDA\x99\x6A\x2F\x38\xB2\x00\x4F\x9D\x2E\x99\x4C\x87\xC5\x95\x03\x01\x73\xA3\x31\xDB\x0D\xB4\x01\x17\x9C\x0E\x01\xC7\x91\x10\x1C\x72\xA3\x11\xDB\x0D\xB7\x01\x17\x9C\x0F\x04\xCD\x90\x00\x0E\x73\xA3\xF0\x16\x7A\x2F\x9C\x20\x00\x9D\x9E\xCE\x98\xDC\x97\xD6\x6F\x38\xC4\x00\x7B\x9D\xEB\x98\x25\x08\x18\x0F\xE2\x88\x02\x26\x39\x83\x99\x6C\x19\x17\x9F\x12\x07\xD0\x99\xC8\x84\x42\x06\x03\x2F\x9C\x4E\x00\x46\x9C\x24\x9B\x93\x6F\xE2\x91\x02\x12\x3A\x95\x99\x88\x63\x17\x9C\x15\x07\xD2\x9B\xC9\x9B\x36\x0F\x03\x2F\x9C\x57\x00\x4E\x9F\x7F\x9C\x8B\x22\x0D\x0F\x71\x99\x27\xCF\x99\x21\x06\x19\x2D\x2A\x9F\x31\x25\x0D\x0F\x71\xA6\x27\xC8\x89\x7C\x9C\x00\x00\xCC\x90\x49\x18\x0D\x0F\x71\x84\x28\xA8\x9D\x03\x03\x58", + "\x9D\x2D\x9B\x23\x0B\x0D\x0F\x71\x96\x28\xB0\x9D\x1A\x9C\xF5\x97\x8B\x9C\x46\x90\xEC\x80\x71\xAB\x21\x2F\x9C\x49\x95\x62\x9E\x54\x92\x23\x04\x0E\x0F\x71\x9C\x29\xCA\x9D\x36\x98\x03\x3F\x39\x07\xC5\x92\xA7\x90\x76\x82\x04\x58\x99\x5C\x28\x75\x03\x8B\x99\x51\x96\xED\x81\x08\x26\x35\xD8\x24\x3F\x9C\x26\x25\x81\x91\xD6\x94\xE4\x9C\xA2\x2E\x03\x2F\x9C\xA7\x94\x5C\x9E\x40\x01\xD6\x9B\xE4\x9C\xA2\x31\x03\x2F\x9C\xB0\x94\x75\x9D\x40\x02\x05\x01\xE5\x8D\xD5\x74\x3B\xD6\x9C\x3F\x58\x7A\x02\x40\x9B\x10\x03\xAD\x97\x77\x9D\x39\xDE\x18\xF6\x01\x17\x9D\x21\x04\x7D\x9E\xEF\x94\x6D\x99\x9C\x2F\x9C\x88\x00\x82\x9E\x6E\x98\x76\x1F\xE2\x8B\x04\x34\x39\x85\x9E\xC1\x9A\x79\x1B\x8B\x9F\x5F\x98\x4C\x90\x78\xBD\x39\xC4\x10\x02\x00\x66\x28\xF0\x93\x12\x0F\xF0\x90\x63\xB6\x2E\x1A\x9E\xEC\x03\x4B\x01\xC7\x9C\x7C\x94\x84\x08\x00\x20\x3C\xCF\x6C\x0A\x9E\xEF\x98\xA7\x87\xE4\x96\x60\x1E\x04\x29\x3C\xE4\x9B\x5E\x18\x07\x00\xCB\x9C\x7C\x5F\xF2\x8A\x6F\xB9\x3C\x33\x9E\x1C\x8B\x9A\x9D\x7C\x9C\x03\x78\xF3\x86\x51\x27\x02\x3A\x9E\x01\x98\x4A\x0B", + "\x05\x05\xE7\x98\xC8\x0A\x05\x00\x3D\x87\x98\xD7\x68\x0D\x00\xD1\x9A\x66\x0D\x0A\x07\x7A\xAB\x3A\xDC\x28\x1D\x01\xA5\x9C\xCB\x00\x16\x03\xF2\x80\x25\x97\xD3\x20\x00\x52\x9F\x37\x7B\xD1\x9B\xD7\x9A\x11\x03\x01\x19\x3D\x80\x07\xB7\x01\xAA\x9D\x2B\x8C\x8B\x26\x02\x1F\x7A\xA1\x0E\x13\x97\x15\x9F\x14\x9A\x9F\x8E\xEC\x96\x3D\x1F\x5C\xA9\x3D\xD1\x81\x1B\x02\x16\x00\xDB\x9C\x76\x0B\xBA\x8F\x7B\x8B\x3B\xB6\x70\x73\x9E\x66\x56\xD8\x9F\xDA\x97\x4D\x72\x01\x39\x3D\x9A\x02\xCB\x01\xBD\x9E\xD9\x03\x1B\x8F\xF7\x9C\xA5\x07\x3D\xED\x9D\xF1\x2C\x1C\x01\xE1\x9E\xD5\x8C\xBE\x9B\x6C\x9F\x38\xB8\x93\x18\x6A\x16\x02\x8C\x2E\x05\x0C\xE3\x9B\x01\x0C\x53\x49\x93\xA2\x02\x19\x2C\x0C\x04\xC7\x9C\x03\x17\x7C\xBE\xBC\x14\x9F\x0A\x02\xC7\x9C\x21\x95\x07\x0C\x4C\x20\x18\x15\x03\x05\x94\x2F\x00\xB1\x94\x8F\x9F\x07\x0B\xF8\x86\x30\x1B\x3E\xA1\x9F\x52\x9C\x96\x06\x10\x05\xF4\x9F\xAF\x45\x50\xB1\x00\x2A\x9F\x9C\x25\xD6\x9D\x26\x20\x50\x37\x1F\x1C\x09\x24\xCD\x78\x06\xC0\x82\xB4\x02\x92\x0B\x23\x03\x55\x1B\x08\x12\x00\x78\x06\xC7\x9F\xCB\x01\xF2", + "\x99\x2F\x0B\xFC\x88\x0B\x0D\x3F\xD6\x02\xE8\x03\x8D\x01\x90\x2B\x23\x0A\xC3\x14\x7E\xB8\x0D\x55\x9F\x52\x09\xEB\x9E\xF6\x9F\x32\x08\xFD\x90\x08\x3C\x3E\x9A\x02\x00\x07\x8D\x01\x53\x03\x23\x07\xC8\x36\x0A\x25\x3F\xC4\x02\xE7\x9F\x98\x01\xFA\x9B\x23\x0B\x47\x1B\x08\x1F\x28\x78\x06\x31\x03\x2A\x17\x46\x05\xBD\x1B\x11\x1E\xF0\x75\x3F\xF8\x06\xC9\x2D\x8D\x02\xE7\x32\xFF\x98\x37\x1B\x7F\x9A\x04\x04\x27\x1B\x03\x32\x31\x00\xA0\x6F\x04\xFF\x86\xA9\x78\x3F\xFD\x9F\x78\x06\x00\xA0\x45\x6E\xB7\x5C\x00\xB7\x0C\x1D\x7B\x10\x02\xF0\x32\x78\x33\x3F\x03\xFC\x9A\x11\x14\x80\x90\x40\xF8\x06\x99\x7D\x82\x71\x93\x90\x03\xAC\x01\xB7\x0C\x38\xDF\x6D\x6F\xFF\x00\x40\x37\xFB\x9A\x04\xAE\x18\x10\x08\x23\x40\x90\x02\xE1\x9E\x40\x35\x0A\xA0\x05\xA5\x02\xBB\x81\x6D\x2A\xAE\xA0\x80\x35\xF1\x9D\x0C\xA5\x05\xAE\xA4\x72\x77\xBF\x09\xB4\xA0\xF7\x6E\x1C\xA2\x00\x72\x07\xAB\x80\x7C\x81\xAF\x40\xB6\xA0\xBC\x9F\x59\x96\x0F\xA6\xFD\x9D\x18\x09\x12\xBF\x03\x6F\x9F\x1A\x03\x0F\x17\xF8\x9C\xA2\x86\x2F\x9F\x07\x13\x3F\x9A\x02\x41\x2D\xF1\x9F\xA4\x91", + "\x61\x0D\x35\x1F\x07\x11\x3F\x9A\x02\xE8\x02\x29\xA3\x05\xA0\xC0\x8D\x18\x1C\x45\x27\x04\x7B\x08\x23\x00\xAD\x66\xEB\x0A\x0C\xA5\xED\x15\x45\x09\x41\x62\x08\x09\x9C\x32\xA3\x41\x01\x04\x0A\x06\xA3\x08\x2C\x41\xDC\xA0\xE3\x0B\x36\xA2\x40\x07\x0D\xA6\x74\x0B\x83\xB2\x41\xDE\x9D\x77\xA0\x00\x02\x08\x01\x0F\xAB\x07\xB0\x83\x87\x04\x7D\xA0\x75\xA1\x81\x00\x20\xA7\xB8\x03\x38\x1C\x83\xB9\x41\xE1\x9F\x7B\x08\xFA\x9D\x22\xA1\x0F\xAA\x08\xB7\xA7\x4C\x42\x8F\xA1\x7E\xA0\xAE\x42\x19\xA6\x2E\x43\x09\xA2\x80\xBB\x11\x7B\x9F\x7B\x08\x4B\xA0\x44\x02\x13\xA9\xD1\x35\x84\xB9\x41\x98\xA1\x10\x02\x50\xA0\x56\x92\xBB\x0D\x09\xB7\x84\xB9\x41\xEC\x9F\x38\x0D\x3C\xA0\x00\xA3\x8F\x0B\x0A\xA9\x85\x91\x42\x8E\x57\x93\xA1\x56\xA3\x4C\x78\x0D\xAE\xF3\x33\x84\xA0\x00\x79\xA0\xB7\xA1\x57\xA1\x40\x01\x17\xA1\x08\xA2\x08\x3C\x42\x84\xA1\x07\x03\x0F\x01\x1E\xA2\x18\xAA\x0B\xB5\xAD\x43\x43\xF9\xA0\xF9\x9F\x3D\x09\x32\xA0\xA1\x68\x0C\xAD\x86\x85\x43\xCB\xA1\x2F\x43\x49\xA3\xFB\x9B\x8F\x0C\xFB\x9B\x23\x2D\x3F\xFB\x08\xC5\x9F\x3D\x0B\xF4\x9B\x8F", + "\x06\xFF\x9C\x86\xB9\x41\xDD\xA1\x62\x27\x6F\xA1\x1E\xA3\xFD\x9B\x47\x04\x87\xA7\x2E\xE3\xA1\xE8\xA1\x62\xA2\x39\xA0\x4E\x39\x07\xAF\x7E\xA4\x42\x87\x02\xEE\xA0\xF3\x09\xEB\x95\x1D\xA4\x0F\xA5\x86\xB1\x43\x93\xA1\xF7\xA1\x3D\x09\x3E\xA0\x22\x0B\x0F\xAC\x87\xB6\x43\xE9\xA1\xBD\xA1\x80\x01\x3F\xA5\x05\x95\x0C\xA1\x7E\xB4\x42\xFB\x93\xF2\xA0\x84\xA3\x24\xA6\x23\x71\x10\xA0\x00\x0C\x44\xC0\xA1\x03\x03\x87\xA3\x41\xA2\xE5\x85\x0C\xAA\xF1\x53\x42\xD5\x8D\x10\xA2\xCB\x69\x1E\xA1\x39\x83\x11\xA9\x50\xAF\x43\xB5\x79\x79\xA0\x0D\x01\x1E\xA6\xC0\x73\x09\xBC\x88\x9F\x44\xD7\x0B\x23\xA3\x3C\xA1\x06\x02\x25\xA9\x07\xB8\x00\x2D\x44\xE2\xA1\xEA\xA1\x7A\xA1\x43\xA6\x20\xA7\x12\xA1\x08\x0F\x40\x8D\xA2\x12\xA3\x9A\xA0\x5D\x71\x0F\xA8\x11\xBD\x88\xB0\x29\xBE\xA2\x00\x00\x91\xA1\x31\xA4\x24\xAB\x47\x0B\x89\x85\x43\xAE\xA2\xC5\xA1\x60\x7F\x24\xA2\x29\xAB\x47\x0C\x8A\x90\x04\x55\x9F\x7B\x08\x12\x01\x1E\xA3\xF8\x9B\x47\x14\x8A\x90\x04\x43\x9F\x24\x19\x87\x01\x56\xA4\x21\x03\x55\x03\x7F\x9D\x45\x9A\x02\x53\x0B\xF0\x9D\x58\xA0\x2C\xA6", + "\xAE\x84\x8B\xA4\xF4\x6E\x05\x65\xA2\xB4\xA0\x32\x88\x00\x03\x55\x0F\x7F\xAD\x45\xE6\xA2\xEC\x6E\xB8\xA1\x0E\xA2\x2D\xA9\x17\x07\x74\x16\x39\x7F\x01\x4A\x0D\xF1\x9D\x5E\xA2\x23\x0B\x17\xB7\x8A\xB8\x0D\x2F\x27\xCE\x25\x7F\x01\x95\x14\xF7\x93\x18\xAD\xA6\x5B\x41\xD5\x1D\xE3\x9F\x2A\x15\xF8\x9A\x31\xA6\x18\xB6\x81\xB2\x50\x35\xA0\x3A\x4A\x16\xA1\x1A\xA4\xFB\x9D\x18\x1F\x94\x3F\x03\x3A\x18\xBC\x9E\xCC\xA1\xF6\x9D\x16\xAA\xC3\x03\x7F\xBA\x30\x61\x9F\x9F\xA3\xCD\xA3\x47\x02\x34\xA8\x1E\x84\x8D\xBB\x40\xCF\xA2\x87\xA2\x4F\x48\x68\xA6\x04\xA6\x1A\xA4\xB0\x4D\x06\x1D\x2D\xFF\x01\xF6\x1B\xF8\x9A\x36\xAA\x11\x0D\x6F\x21\x3F\xB6\xA3\xB5\xA3\xD4\xA0\x57\x47\x36\xA9\x00\xAD\x0C\x3B\x65\x7F\x01\x84\x27\xE8\x9D\x70\xA7\xFF\x9A\x1B\xAE\x5C\x63\x3F\x84\x27\xBC\x9E\xE4\xA0\x71\xA7\x2C\xA9\xE4\x33\x7E\x84\x4E\x61\x9F\xCF\xA3\xE5\xA3\x68\xA6\x15\xA3\x1D\xA9\xF2\x02\x47\xC5\xA3\xDE\x81\xE4\xA1\x5A\xA1\xC9\x30\x1D\xAC\x8D\x94\x47\xE8\x02\xCB\x5C\x75\x5F\x10\x0F\x1F\x09\x6C\x23\x7F\xA5\x47\x9A\x02\xE7\xA2\x66\xA3\x65\x05\x0C\x33\x14", + "\x0C\x8F\xBC\x04\x65\x30\xE3\x9E\xF8\xA3\x02\xA5\x16\xA2\x00\xA1\x5D\x8D\x06\x1E\x37\xBE\x9E\xCF\x37\xF8\x9A\x3F\xA6\x1F\xB5\x85\xBE\x3F\xE7\xA1\x77\x07\xF4\x9E\xEF\x99\xFD\x93\xFE\x84\x90\x9A\x04\x06\xA4\x00\xA4\xE6\x9D\x63\x01\x1E\xAE\xFB\x91\x87\xA3\x3F\x8E\xA4\x1A\x02\x08\xA4\x3F\xA0\x3B\xA0\x00\x12\x90\xB3\x43\x97\x03\x99\x95\x8C\x01\x86\xA6\x21\x0E\xE1\x63\x7F\x9D\x48\x86\xA0\xB5\xA0\xFB\x9E\x46\x04\x26\xA0\x91\x04\x91\xBE\x3E\xA4\xA4\x1B\x03\x9B\xA1\x14\x0A\x45\xAD\x4B\x1F\x07\x2C\x48\xC4\x02\x2F\xA4\xAC\x49\x03\xA1\x2F\x09\x13\xB0\x48\x35\x48\xBE\x9F\x35\xA5\x8D\x01\x8E\xA1\xA9\x68\x37\x1B\x91\x8B\x22\x3D\xA4\x78\x07\x4F\x97\x43\x02\x48\xAC\x10\x0A\x8A\x9A\x04\x41\x7D\xE3\x9E\xA4\xA0\x31\x0A\x49\xA1\x3E\x1F\x07\x0C\x49\xD6\x02\x4F\xA4\xA2\x01\x94\xA1\x26\x03\x25\xBB\x08\x15\x49\xEA\x6A\xFE\x85\x2C\xA7\x65\x07\x4A\xAA\x30\x1A\x92\xB9\x05\x5C\xA4\x45\x9B\xC6\x02\x51\xA3\x3C\xA3\x26\xBA\x3B\x6E\xD5\x78\x06\x65\xA5\xFF\x8B\x71\x05\x31\x02\x14\xA3\x8F\xAD\x49\xE6\xA4\xCA\x6A\x0A\xA7\x9B\xA2\x4D\xA1\x27\xB5", + "\x85\xB3\x49\xF4\x84\x98\x6A\x39\xA6\x9E\xA7\x32\x07\x27\xB1\x09\x3D\x49\x9B\x02\x7F\xA4\xBA\x6B\xB8\x13\x50\xAC\x27\xA4\x94\xB9\x05\x01\xA5\x7F\x6B\xC6\x01\xA0\x94\x21\x04\x12\xBA\x08\x0D\x4A\x89\xA5\x4F\x0C\x0A\xA6\x81\x7B\xFC\x93\x29\xAE\x94\x92\x4A\x97\xA5\xB5\xA1\x4A\xA5\x43\x55\x31\x06\x12\xB1\x42\x3F\x03\x1D\xA5\x05\x50\xBC\x04\xA8\xA2\x23\x0D\x13\xAC\x2F\x25\x4A\x9E\xA5\xA7\xA4\xDE\x9F\xA9\xA3\xFC\x97\x2A\xA1\x7F\xAD\x4A\xA4\xA5\x92\xA2\x2D\x97\x0D\xA0\x22\x0F\x2A\xB4\x95\xB8\x0D\x27\xA5\x1B\x03\x53\xA7\xFB\x9A\x57\xA0\x2B\xAE\x8C\xAB\x4A\xBD\xA5\x77\x92\x59\xA5\xAE\xA6\x3B\xA2\x2B\xAA\x95\x94\x48\xB5\xA5\xC2\xA4\x60\xA5\x69\xA0\x13\x1D\x18\x05\x55\x8C\x04\x16\xA2\x1A\x02\x62\xA0\x31\x0A\x5A\xAD\x24\xB4\x96\x96\x05\x56\xA5\x44\x02\x6C\xA5\x4C\x02\x5B\xAB\x11\x1C\x96\x91\x4B\xF8\x06\xDE\xA5\xE7\x68\xB8\xA2\xAC\x4D\x18\x1F\x85\xAD\x48\xE6\xA5\x78\xA4\xEB\x00\x85\xA0\x5D\xA3\x2B\xBD\xAD\x6B\x4B\xEF\xA5\xB5\xA0\x76\xA7\xF8\x9C\x5D\xA1\xFE\x94\x97\x9A\x04\x76\xA5\xFE\x6B\x58\xA6\x3A\x22\x5F\xAA\x2E\xAE\x81", + "\xB8\x4B\xEE\xA5\x97\x02\x76\xA7\x46\x02\x60\xA7\x2F\xB8\x1B\x34\x41\xD1\x08\x07\xA7\x16\xA5\xC2\xA5\x07\xA0\x11\x0B\x98\xBF\x40\xF6\xA0\x6B\xA2\x87\xA7\xFB\x9E\x61\xA1\xFD\x94\x98\x9A\x04\x16\xA6\x0D\xA6\x0A\xA6\xC3\xA3\xFC\x9B\x31\xB7\x98\x85\x43\xB0\x9C\x1F\xA6\x87\xA5\xFB\x9E\x61\xA3\xFD\x84\x99\x9E\x4C\xCC\xA3\x10\xA7\xC8\xA1\xC6\xA5\x0C\xAE\x30\xB2\x7F\xAD\x4C\xA7\xA6\x2A\xA7\x38\xA0\xCB\xA3\x32\xA2\x33\xB1\x99\xA9\x4C\xFE\x24\x30\xA6\xD2\x0D\xCE\xA7\xCB\x17\x33\xBC\x99\xAE\x41\xFE\xA2\x2B\xA6\xE1\x17\xCF\xA4\xFF\x10\x32\xA4\x9A\x8E\x4C\xE1\x9F\x0E\xA7\x8D\x02\xC3\xA0\x00\xAE\x30\xA5\x7E\x8E\x4C\xF9\x9F\x0E\xA6\xFA\x9F\x20\xA7\x9F\x03\x35\xAF\x29\x3F\x03\x55\xA6\x31\x02\xAC\xA7\x46\x02\x6B\xAA\x11\x1C\x9A\x90\x04\x5E\xA6\x85\xA1\xCB\x00\xD8\xA7\x20\x01\x06\xB7\x1B\x25\x4D\xE3\xA3\x67\xA6\xB4\x01\xDA\xA6\x2A\x0B\x36\xA4\x0A\x2D\x4D\xB1\x02\x6F\xA7\x8D\x01\xDC\xA5\xEB\x98\x37\x13\x9B\x90\x04\x52\xA2\x77\x06\xBC\xA7\x78\xA2\x6F\xA8\x16\x1C\x9B\x96\x05\x7E\xA6\x17\x68\xBC\x04\xE0\xA1\x26\x05\x02\x0D\x0C\x05", + "\x4E\xD5\xA0\x87\xA7\xBC\x01\xE2\xA0\x2D\x0B\x38\xA3\xE3\x78\x0D\x0D\xA7\x44\x02\xC8\xA4\xE1\xA0\x6F\x06\x02\x0D\x0C\x15\x4E\xD5\xA0\x97\xA7\x89\x08\xE5\xA3\x73\xA7\x19\x19\x9C\xA8\x05\x27\x00\x8D\x02\xD0\xA5\x15\xA2\x74\xA9\x17\x04\x9D\x9F\x4E\xF8\x06\xA6\xA6\xAB\x00\x0A\x05\x31\x0B\x3A\xB5\x82\xAD\x4E\xF9\x02\xAF\xA6\xB4\x01\xEC\xA2\x75\xA8\x37\x09\x01\x0D\x06\x36\xA7\x55\xA0\xDC\xA5\x5E\x02\x77\xA0\x27\xA6\x33\x0D\x06\x2A\x00\x88\x03\x7F\x00\xF0\xA7\x32\x03\x3C\xB9\x0B\x05\x4F\xE8\x02\xC7\xA6\xAB\x01\xF2\xA4\x28\x0B\x3C\xB1\x09\x0D\x4F\x9B\x02\xCF\xA6\x8D\x03\x0A\x05\x31\x03\x3D\xB5\x82\x95\x4F\xC1\xA5\x77\x26\x0A\xA7\xF5\xA5\x77\xA3\x10\x1B\x9E\x96\x05\x5E\xA7\x44\x02\x16\x01\x63\x02\x7C\xA5\x05\xA4\x9F\xB9\x05\x66\xA7\xDC\xA6\xE6\x00\xDE\x00\x7D\xA6\x15\x0C\x9F\xA9\x4B\xF3\x06\x8D\x03\x16\x01\xF0\xA2\x7E\xA7\x19\x14\x9F\xB9\x05\x76\xA7\x68\x02\xFC\xA6\x55\x02\x7F\xA4\x14\x1C\x9F\xB6\x32\xF8\x06\x2E\x01\xC6\x01\x00\xAD\x0A\xA3\x40\xB9\x0B\x05\x50\xE8\x02\x07\xA8\xAB\x01\x02\xAC\x28\x0B\x40\xB1\x09\x0D\x50", + "\x9B\x02\x0F\xA8\x90\x09\x63\x07\x05\x01\x3C\xB4\xA0\x97\x06\x16\xA8\x79\x02\x0C\xA8\x5A\x02\x83\xA6\x15\x1C\xA0\x84\x05\x1E\xA8\x31\x02\x10\xAB\x46\x02\x84\xA2\x41\xB7\xA0\xB8\x0D\x24\xA8\x10\x02\x18\x01\x63\x02\x85\xA5\x05\xAC\xA1\xB9\x05\x2E\xA8\x68\x02\x18\xAA\x55\x02\x86\xA4\x14\x14\xA1\xB1\x04\x36\xA8\x1B\x02\x87\x70\x31\x0A\x87\xAD\x24\xBC\xA1\xB4\x49\x94\x02\x78\x06\x1F\xAB\xFB\xA3\x73\x5D\x18\x12\x01\x01\x4F\xC6\xA8\x97\x02\x24\xA9\x5E\x02\x89\xA8\x16\x0C\xA2\x96\x05\x4E\xA8\x6B\x78\xBC\x04\x14\xA9\x26\x03\x45\xBB\x08\x15\x51\x9A\x02\x33\x01\xC6\x01\x16\xAD\x0A\xAB\x45\xB9\x0B\x1D\x51\xE8\x02\x34\x01\xC6\x01\x18\xAD\x0A\xA3\x46\xB9\x0B\x25\x51\xE0\xA8\x78\x07\x33\xAA\x55\x02\x8D\xAB\x12\x69\xA3\xB8\x0D\x35\x00\x8D\x02\x38\xA9\x15\xA2\x8E\xA9\x17\x14\xA3\xA8\x05\x76\xA8\x56\x02\x3C\xAB\x80\x88\x86\x04\x21\xBA\xA3\x8F\x18\xFC\xA8\x2E\xA0\x3F\xA9\xF8\x9E\x8F\xA3\xFE\x84\xA4\x9A\x04\x36\x00\x8D\x02\x44\xA9\x15\xA2\x91\xA9\x17\x17\x01\x0D\x06\x0E\xA9\x55\xA0\x48\xA9\x23\xA8\x6F\x02\x49\xA8\x0B\x15\x52\xD6", + "\x02\x97\xA8\xA9\x05\x63\x00\x07\x01\x3C\xBC\xA4\x97\x06\x1E\xA9\x79\x02\x50\xA8\x5A\x02\x94\xA6\x15\x04\xA5\x9A\x52\x9F\xA9\xB8\x8D\xC6\x01\x0E\x01\x78\xAB\x4A\xB7\x0C\x2D\x52\xF9\x02\xAF\xA8\xB4\x01\x2C\xAE\x2A\x03\x4B\xA4\x0A\x35\x52\xB1\x02\xB7\xA9\xF1\x9D\x2E\xAA\x23\x0B\x4B\xB0\x08\x3D\x52\x91\x0E\x14\xA5\x5F\xAB\x41\x02\x98\xAA\x14\x0D\x0C\x3A\x00\x41\xA7\xC7\xA9\xCB\x01\x32\xA9\x2F\x0B\x4C\xA8\x0B\x0D\x53\xD6\x02\xCF\xA8\xA2\x03\x0E\x05\x31\x03\x4D\xB5\x82\x95\x53\xF9\x02\xD7\xA8\xB4\x01\x36\xAE\x2A\x0B\x4D\xB2\xA6\xB8\x0D\x3C\x00\x8D\x02\x70\xA9\x15\xA2\x9C\xA1\x17\xB2\x4F\x1E\x3F\x9A\x02\xE4\xA9\xB9\xA1\xD5\x07\x9C\xA6\x4E\xB5\x85\xA9\x53\xA7\xA3\xEB\xA8\x77\xA8\xBF\xA2\x20\x0F\x4E\xBB\xA3\xB5\x53\xFF\xA8\xF7\xA9\x8D\x03\x3D\xAC\xF7\x97\x4F\xA3\x7F\xB7\x53\xE1\x9F\xF9\xA8\x8D\x01\x0F\x05\x31\x03\x50\xB5\x82\x85\x54\x90\xA3\xF6\x10\x0A\xA7\x41\xAC\xDA\x54\x91\x18\x1B\x0B\x54\xD6\x02\x3E\x01\xC6\x01\x44\xAD\x0A\xA3\x51\xB9\x0B\x15\x54\xA8\x68\x78\x07\x8B\xA8\x44\xA9\xA3\xAC\x51\xB7\x0C\x3F\x00\x0D\x03", + "\x1F\xAB\x2A\xA1\x48\xA9\x2F\x03\x52\xA8\x0B\x25\x54\xD6\x02\x27\xAA\xA2\x01\x4A\xA9\x26\x0B\x52\xBB\x08\x2D\x54\x90\x88\x78\x07\xD8\x7C\x44\x12\xA6\xAE\xFB\x92\xA9\x95\x3F\xB2\xAA\xC3\x9E\x99\xA9\xF4\x9A\xA6\xAF\xFE\x92\xA9\x93\x3F\xB2\xAA\xED\x9E\x99\xA9\xF8\x9A\xA6\xA2\xFF\x92\xA9\x9B\x04\x32\xAA\xBC\x9E\x99\xA9\xF1\x9A\xA6\xA3\xFE\x89\xFD\x6C\x17\x4E\xAA\x9E\xA4\xA8\xAB\x46\x02\xAA\xAA\x11\x02\x02\x0D\x06\x56\xAA\x55\xA0\xAC\xA8\x42\xAA\x20\x0A\x55\xB5\x37\x8D\x06\x43\x00\xC1\xA6\xB0\xAB\x65\x02\xAC\xA9\x17\x04\x02\x0D\x06\x66\xAA\x55\xA0\xB4\xA9\x59\xA8\x6F\x0A\x56\xA8\x0B\x2D\x55\xD6\x02\x6F\xAA\xA2\x01\x11\x05\x31\x03\x57\xB5\x82\xB5\x55\xF9\x02\x77\xAA\xB4\x01\x5E\xAE\x2A\x0B\x57\xA4\x0A\x06\x01\x0D\x03\x7F\xAB\x2A\xA1\x60\xA9\x2F\x03\x58\xA8\x0B\x05\x56\xBF\xA8\x6E\x06\x0A\xA6\x46\x00", }; vl::glr::DecompressSerializedData(compressed, true, dataSolidRows, dataRows, dataBlock, dataRemain, outputStream); } @@ -42491,63 +42501,63 @@ WorkflowAstInsReceiver : public vl::glr::AstInsReceiverBase } } - void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) + void WorkflowAstInsReceiver::SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) { auto cppFieldName = WorkflowCppFieldName((WorkflowFields)field); switch((WorkflowFields)field) { case WorkflowFields::AutoPropertyDeclaration_configConst: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configConst, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configConst, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::AutoPropertyDeclaration_configObserve: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configObserve, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::configObserve, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::AutoPropertyDeclaration_functionKind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::functionKind, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfAutoPropertyDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::BinaryExpression_op: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfBinaryExpression::op, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfBinaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ClassDeclaration_constructorType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::constructorType, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ClassDeclaration_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::kind, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfClassDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ConstructorDeclaration_constructorType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfConstructorDeclaration::constructorType, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfConstructorDeclaration::constructorType, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::EnumDeclaration_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumDeclaration::kind, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumDeclaration::kind, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::EnumItem_kind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumItem::kind, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfEnumItem::kind, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ExpectedTypeCastExpression_strategy: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfExpectedTypeCastExpression::strategy, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfExpectedTypeCastExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ForEachStatement_direction: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfForEachStatement::direction, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfForEachStatement::direction, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::FunctionDeclaration_anonymity: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::anonymity, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::anonymity, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::FunctionDeclaration_functionKind: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::functionKind, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfFunctionDeclaration::functionKind, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::LiteralExpression_value: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfLiteralExpression::value, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfLiteralExpression::value, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::MapType_writability: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfMapType::writability, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfMapType::writability, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::Module_moduleType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfModule::moduleType, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfModule::moduleType, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::ObserveExpression_observeType: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfObserveExpression::observeType, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfObserveExpression::observeType, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::PredefinedType_name: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfPredefinedType::name, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfPredefinedType::name, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::RangeExpression_beginBoundary: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::beginBoundary, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::beginBoundary, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::RangeExpression_endBoundary: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::endBoundary, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfRangeExpression::endBoundary, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::SetTestingExpression_test: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfSetTestingExpression::test, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfSetTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::StateInvokeStatement_type: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateInvokeStatement::type, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateInvokeStatement::type, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::StateSwitchStatement_type: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateSwitchStatement::type, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfStateSwitchStatement::type, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::TypeCastingExpression_strategy: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeCastingExpression::strategy, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeCastingExpression::strategy, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::TypeTestingExpression_test: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeTestingExpression::test, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfTypeTestingExpression::test, object, field, enumItem, weakAssignment, cppFieldName); case WorkflowFields::UnaryExpression_op: - return vl::glr::AssemblerSetEnumField(&vl::workflow::WfUnaryExpression::op, object, field, enumItem, cppFieldName); + return vl::glr::AssemblerSetEnumField(&vl::workflow::WfUnaryExpression::op, object, field, enumItem, weakAssignment, cppFieldName); default: return vl::glr::AssemblyThrowFieldNotEnum(field, cppFieldName); } diff --git a/Import/VlppWorkflowCompiler.h b/Import/VlppWorkflowCompiler.h index 3e49f1d0..ac0df78e 100644 --- a/Import/VlppWorkflowCompiler.h +++ b/Import/VlppWorkflowCompiler.h @@ -4489,7 +4489,7 @@ namespace vl vl::Ptr CreateAstNode(vl::vint32_t type) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::Ptr value) override; void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, const vl::regex::RegexToken& token, vl::vint32_t tokenIndex) override; - void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem) override; + void SetField(vl::glr::ParsingAstBase* object, vl::vint32_t field, vl::vint32_t enumItem, bool weakAssignment) override; vl::Ptr ResolveAmbiguity(vl::vint32_t type, vl::collections::Array>& candidates) override; }; } @@ -4739,7 +4739,8 @@ namespace vl extern void WorkflowParserData(vl::stream::IStream& outputStream); class Parser - : public vl::glr::ParserBase , protected vl::glr::automaton::TraceManager::ITypeCallback + : public vl::glr::ParserBase + , protected vl::glr::automaton::IExecutor::ITypeCallback { protected: vl::vint32_t FindCommonBaseClass(vl::vint32_t class1, vl::vint32_t class2) const override; diff --git a/Tools/CppMerge.exe b/Tools/CppMerge.exe index cb07b1e3..c6c62303 100644 Binary files a/Tools/CppMerge.exe and b/Tools/CppMerge.exe differ diff --git a/Tools/GacGen32.exe b/Tools/GacGen32.exe index 51858c29..eeedc17b 100644 Binary files a/Tools/GacGen32.exe and b/Tools/GacGen32.exe differ diff --git a/Tools/GacGen64.exe b/Tools/GacGen64.exe index 68e83277..1512e48b 100644 Binary files a/Tools/GacGen64.exe and b/Tools/GacGen64.exe differ diff --git a/Tools/GlrParserGen.exe b/Tools/GlrParserGen.exe index abb6a824..a73e9151 100644 Binary files a/Tools/GlrParserGen.exe and b/Tools/GlrParserGen.exe differ diff --git a/Tools/ParserGen.exe b/Tools/ParserGen.exe index 88bd2b73..39b6734c 100644 Binary files a/Tools/ParserGen.exe and b/Tools/ParserGen.exe differ diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/DocumentComponents.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/DocumentComponents.xml index a2503c0a..06aafd09 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/DocumentComponents.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/DocumentComponents.xml @@ -7,7 +7,7 @@ ]]> - + <_>composeType:MinSize diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml index 7aafb6df..b4eeafbf 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Resource.xml @@ -10,7 +10,7 @@ - + diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp index d76161fd..df5dcf72 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.cpp @@ -18586,7 +18586,7 @@ Class (::demo::HyperlinkWindowConstructor) { ::vl::__vwsn::This(this->self)->SetSizeBox(false); } - (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->self)->GetContainerComposition()); + (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(80); return __vwsn_temp__; }()); } @@ -18742,7 +18742,7 @@ Class (::demo::HyperlinkWindowConstructor) , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) + , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } @@ -19487,7 +19487,7 @@ Class (::demo::MainWindowConstructor) void MainWindowConstructor::__vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_) { (this->self = __vwsn_this_); - (this->__vwsn_precompile_29 = ::vl::__vwsn::This(this->self)->GetContainerComposition()); + (this->__vwsn_precompile_29 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_29)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(640); __vwsn_temp__.y = static_cast<::vl::vint>(480); return __vwsn_temp__; }()); } @@ -19768,7 +19768,7 @@ Class (::demo::MainWindowConstructor) , __vwsn_precompile_26(static_cast<::demo::AnimationTabPage*>(nullptr)) , __vwsn_precompile_27(static_cast<::demo::LocalizedStringsTabPage*>(nullptr)) , __vwsn_precompile_28(static_cast<::demo::DatePickerTabPage*>(nullptr)) - , __vwsn_precompile_29(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) + , __vwsn_precompile_29(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } diff --git a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h index 7ab14d09..a00a6501 100644 --- a/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h +++ b/Tutorial/GacUI_ControlTemplate/BlackSkin/UI/FullControlTest/Source/DemoPartialClasses.h @@ -1857,7 +1857,7 @@ namespace demo ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10; ::vl::presentation::controls::GuiButton* __vwsn_precompile_11; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12; - ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_13; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13; void __vwsn_demo_HyperlinkWindow_Initialize(::demo::HyperlinkWindow* __vwsn_this_); public: HyperlinkWindowConstructor(); @@ -2138,7 +2138,7 @@ namespace demo ::demo::AnimationTabPage* __vwsn_precompile_26; ::demo::LocalizedStringsTabPage* __vwsn_precompile_27; ::demo::DatePickerTabPage* __vwsn_precompile_28; - ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_29; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_29; void __vwsn_demo_MainWindow_Initialize(::demo::MainWindow* __vwsn_this_); public: MainWindowConstructor(); diff --git a/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.cpp b/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.cpp index 2cf642c5..7a5e468a 100644 --- a/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.cpp +++ b/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.cpp @@ -3734,7 +3734,7 @@ Class (::demo::HyperlinkWindowConstructor) void HyperlinkWindowConstructor::__vwsn_demo_HyperlinkWindow_Initialize(::demo::HyperlinkWindow* __vwsn_this_) { (this->self = __vwsn_this_); - (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->self)->GetContainerComposition()); + (this->__vwsn_precompile_13 = ::vl::__vwsn::This(this->self)->GetBoundsComposition()); { ::vl::__vwsn::This(this->__vwsn_precompile_13)->SetPreferredMinSize([&](){ ::vl::presentation::Size __vwsn_temp__; __vwsn_temp__.x = static_cast<::vl::vint>(320); __vwsn_temp__.y = static_cast<::vl::vint>(80); return __vwsn_temp__; }()); } @@ -3902,7 +3902,7 @@ Class (::demo::HyperlinkWindowConstructor) , __vwsn_precompile_10(static_cast<::vl::presentation::compositions::GuiCellComposition*>(nullptr)) , __vwsn_precompile_11(static_cast<::vl::presentation::controls::GuiButton*>(nullptr)) , __vwsn_precompile_12(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) - , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiGraphicsComposition*>(nullptr)) + , __vwsn_precompile_13(static_cast<::vl::presentation::compositions::GuiBoundsComposition*>(nullptr)) { } diff --git a/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.h b/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.h index 6a91794c..2c17b798 100644 --- a/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.h +++ b/Tutorial/GacUI_Controls/DocumentEditor/UI/Source/EditorBasePartialClasses.h @@ -291,7 +291,7 @@ namespace demo ::vl::presentation::compositions::GuiCellComposition* __vwsn_precompile_10; ::vl::presentation::controls::GuiButton* __vwsn_precompile_11; ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_12; - ::vl::presentation::compositions::GuiGraphicsComposition* __vwsn_precompile_13; + ::vl::presentation::compositions::GuiBoundsComposition* __vwsn_precompile_13; void __vwsn_demo_HyperlinkWindow_Initialize(::demo::HyperlinkWindow* __vwsn_this_); public: HyperlinkWindowConstructor(); diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 index 96bb0104..98ff5a07 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x64 differ diff --git a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 index f151f0b7..4adf8221 100644 Binary files a/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 and b/Tutorial/GacUI_HelloWorlds/UIRes/Xml.bin.x86 differ