You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TestSSTRecord.java 83KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508
  1. /* ====================================================================
  2. Licensed to the Apache Software Foundation (ASF) under one or more
  3. contributor license agreements. See the NOTICE file distributed with
  4. this work for additional information regarding copyright ownership.
  5. The ASF licenses this file to You under the Apache License, Version 2.0
  6. (the "License"); you may not use this file except in compliance with
  7. the License. You may obtain a copy of the License at
  8. http://www.apache.org/licenses/LICENSE-2.0
  9. Unless required by applicable law or agreed to in writing, software
  10. distributed under the License is distributed on an "AS IS" BASIS,
  11. WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. See the License for the specific language governing permissions and
  13. limitations under the License.
  14. ==================================================================== */
  15. package org.apache.poi.hssf.record;
  16. import static org.junit.Assert.assertArrayEquals;
  17. import java.io.BufferedReader;
  18. import java.io.ByteArrayInputStream;
  19. import java.io.ByteArrayOutputStream;
  20. import java.io.IOException;
  21. import java.io.InputStream;
  22. import java.io.InputStreamReader;
  23. import java.util.Arrays;
  24. import java.util.Iterator;
  25. import junit.framework.AssertionFailedError;
  26. import junit.framework.TestCase;
  27. import org.apache.poi.hssf.HSSFTestDataSamples;
  28. import org.apache.poi.hssf.record.common.UnicodeString;
  29. import org.apache.poi.hssf.usermodel.HSSFSheet;
  30. import org.apache.poi.hssf.usermodel.HSSFWorkbook;
  31. import org.apache.poi.util.HexRead;
  32. import org.apache.poi.util.LittleEndian;
  33. /**
  34. * @author Marc Johnson (mjohnson at apache dot org)
  35. * @author Glen Stampoultzis (glens at apache.org)
  36. */
  37. public final class TestSSTRecord extends TestCase {
  38. /**
  39. * decodes hexdump files and concatenates the results
  40. * @param hexDumpFileNames names of sample files in the hssf test data directory
  41. * @throws IOException
  42. */
  43. private static byte[] concatHexDumps(String... hexDumpFileNames) throws IOException {
  44. int nFiles = hexDumpFileNames.length;
  45. ByteArrayOutputStream baos = new ByteArrayOutputStream(nFiles * 8228);
  46. for (int i = 0; i < nFiles; i++) {
  47. String sampleFileName = hexDumpFileNames[i];
  48. InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleFileName);
  49. BufferedReader br = new BufferedReader(new InputStreamReader(is));
  50. while (true) {
  51. String line = br.readLine();
  52. if (line == null) {
  53. break;
  54. }
  55. baos.write(HexRead.readFromString(line));
  56. }
  57. is.close();
  58. }
  59. return baos.toByteArray();
  60. }
  61. /**
  62. * @param rawData serialization of one {@link SSTRecord} and zero or more {@link ContinueRecord}s
  63. */
  64. private static SSTRecord createSSTFromRawData(byte[] rawData) {
  65. RecordInputStream in = new RecordInputStream(new ByteArrayInputStream(rawData));
  66. in.nextRecord();
  67. SSTRecord result = new SSTRecord(in);
  68. assertEquals(0, in.remaining());
  69. assertTrue(!in.hasNextRecord());
  70. return result;
  71. }
  72. /**
  73. * SST is often split over several {@link ContinueRecord}s
  74. * @throws IOException
  75. */
  76. public void testContinuedRecord() throws IOException {
  77. byte[] origData;
  78. SSTRecord record;
  79. byte[] ser_output;
  80. origData = concatHexDumps("BigSSTRecord", "BigSSTRecordCR");
  81. record = createSSTFromRawData(origData);
  82. assertEquals( 1464, record.getNumStrings() );
  83. assertEquals( 688, record.getNumUniqueStrings() );
  84. assertEquals( 688, record.countStrings() );
  85. ser_output = record.serialize();
  86. assertArrayEquals(origData, ser_output);
  87. // testing based on new bug report
  88. origData = concatHexDumps("BigSSTRecord2", "BigSSTRecord2CR1", "BigSSTRecord2CR2", "BigSSTRecord2CR3",
  89. "BigSSTRecord2CR4", "BigSSTRecord2CR5", "BigSSTRecord2CR6", "BigSSTRecord2CR7");
  90. record = createSSTFromRawData(origData);
  91. assertEquals( 158642, record.getNumStrings() );
  92. assertEquals( 5249, record.getNumUniqueStrings() );
  93. assertEquals( 5249, record.countStrings() );
  94. ser_output = record.serialize();
  95. if (false) { // set true to observe make sure areSameSSTs() is working
  96. ser_output[11000] = 'X';
  97. }
  98. SSTRecord rec2 = createSSTFromRawData(ser_output);
  99. if (!areSameSSTs(record, rec2)) {
  100. throw new AssertionFailedError("large SST re-serialized incorrectly");
  101. }
  102. if (false) {
  103. // TODO - trivial differences in ContinueRecord break locations
  104. // Sample data should be checked against what most recent Excel version produces.
  105. // maybe tweaks are required in ContinuableRecordOutput
  106. assertArrayEquals(origData, ser_output);
  107. }
  108. }
  109. private boolean areSameSSTs(SSTRecord a, SSTRecord b) {
  110. if (a.getNumStrings() != b.getNumStrings()) {
  111. return false;
  112. }
  113. int nElems = a.getNumUniqueStrings();
  114. if (nElems != b.getNumUniqueStrings()) {
  115. return false;
  116. }
  117. for(int i=0; i<nElems; i++) {
  118. if (!a.getString(i).equals(b.getString(i))) {
  119. return false;
  120. }
  121. }
  122. return true;
  123. }
  124. /**
  125. * Test capability of handling mondo big strings
  126. *
  127. * @exception IOException
  128. */
  129. public void testHugeStrings() {
  130. SSTRecord record = new SSTRecord();
  131. byte[][] bstrings =
  132. {
  133. new byte[9000], new byte[7433], new byte[9002],
  134. new byte[16998]
  135. };
  136. UnicodeString[] strings = new UnicodeString[bstrings.length];
  137. int total_length = 0;
  138. for ( int k = 0; k < bstrings.length; k++ )
  139. {
  140. Arrays.fill( bstrings[k], (byte) ( 'a' + k ) );
  141. strings[k] = new UnicodeString( new String(bstrings[k]) );
  142. record.addString( strings[k] );
  143. total_length += 3 + bstrings[k].length;
  144. }
  145. // add overhead of SST record
  146. total_length += 8;
  147. // add overhead of broken strings
  148. total_length += 4;
  149. // add overhead of six records
  150. total_length += ( 6 * 4 );
  151. byte[] content = new byte[record.getRecordSize()];
  152. record.serialize( 0, content );
  153. assertEquals( total_length, content.length );
  154. //Deserialize the record.
  155. RecordInputStream recStream = new RecordInputStream(new ByteArrayInputStream(content));
  156. recStream.nextRecord();
  157. record = new SSTRecord(recStream);
  158. assertEquals( strings.length, record.getNumStrings() );
  159. assertEquals( strings.length, record.getNumUniqueStrings() );
  160. assertEquals( strings.length, record.countStrings() );
  161. for ( int k = 0; k < strings.length; k++ )
  162. {
  163. assertEquals( strings[k], record.getString( k ) );
  164. }
  165. record = new SSTRecord();
  166. bstrings[1] = new byte[bstrings[1].length - 1];
  167. for ( int k = 0; k < bstrings.length; k++ )
  168. {
  169. if ( ( bstrings[k].length % 2 ) == 1 )
  170. {
  171. Arrays.fill( bstrings[k], (byte) ( 'a' + k ) );
  172. strings[k] = new UnicodeString( new String(bstrings[k]) );
  173. }
  174. else
  175. {
  176. char[] data = new char[bstrings[k].length / 2];
  177. Arrays.fill( data, (char) ( '\u2122' + k ) );
  178. strings[k] = new UnicodeString(new String( data ));
  179. }
  180. record.addString( strings[k] );
  181. }
  182. content = new byte[record.getRecordSize()];
  183. record.serialize( 0, content );
  184. total_length--;
  185. assertEquals( total_length, content.length );
  186. recStream = new RecordInputStream(new ByteArrayInputStream(content));
  187. recStream.nextRecord();
  188. record = new SSTRecord(recStream);
  189. assertEquals( strings.length, record.getNumStrings() );
  190. assertEquals( strings.length, record.getNumUniqueStrings() );
  191. assertEquals( strings.length, record.countStrings() );
  192. for ( int k = 0; k < strings.length; k++ )
  193. {
  194. assertEquals( strings[k], record.getString( k ) );
  195. }
  196. }
  197. /**
  198. * test SSTRecord boundary conditions
  199. */
  200. public void testSSTRecordBug() {
  201. // create an SSTRecord and write a certain pattern of strings
  202. // to it ... then serialize it and verify the content
  203. SSTRecord record = new SSTRecord();
  204. // the record will start with two integers, then this string
  205. // ... that will eat up 16 of the 8224 bytes that the record
  206. // can hold
  207. record.addString( new UnicodeString("Hello") );
  208. // now we have an additional 8208 bytes, which is an exact
  209. // multiple of 16 bytes
  210. long testvalue = 1000000000000L;
  211. for ( int k = 0; k < 2000; k++ )
  212. {
  213. record.addString( new UnicodeString(String.valueOf( testvalue++ )) );
  214. }
  215. byte[] content = new byte[record.getRecordSize()];
  216. record.serialize( 0, content );
  217. assertEquals(8224, LittleEndian.getShort(content, 2));
  218. assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 8228));
  219. assertEquals(8224, LittleEndian.getShort(content, 8228+2));
  220. assertEquals( (byte) 13, content[4 + 8228] );
  221. assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 2*8228));
  222. assertEquals(8224, LittleEndian.getShort(content, 8228*2+2));
  223. assertEquals( (byte) 13, content[4 + 8228 * 2] );
  224. assertEquals(ContinueRecord.sid, LittleEndian.getShort(content, 3*8228));
  225. assertEquals( (byte) 13, content[4 + 8228 * 3] );
  226. }
  227. /**
  228. * test simple addString
  229. */
  230. public void testSimpleAddString() {
  231. SSTRecord record = new SSTRecord();
  232. UnicodeString s1 = new UnicodeString("Hello world");
  233. // \u2122 is the encoding of the trademark symbol ...
  234. UnicodeString s2 = new UnicodeString("Hello world\u2122");
  235. assertEquals( 0, record.addString( s1 ) );
  236. assertEquals( s1, record.getString( 0 ) );
  237. assertEquals( 1, record.countStrings() );
  238. assertEquals( 1, record.getNumStrings() );
  239. assertEquals( 1, record.getNumUniqueStrings() );
  240. assertEquals( 0, record.addString( s1 ) );
  241. assertEquals( s1, record.getString( 0 ) );
  242. assertEquals( 1, record.countStrings() );
  243. assertEquals( 2, record.getNumStrings() );
  244. assertEquals( 1, record.getNumUniqueStrings() );
  245. assertEquals( 1, record.addString( s2 ) );
  246. assertEquals( s2, record.getString( 1 ) );
  247. assertEquals( 2, record.countStrings() );
  248. assertEquals( 3, record.getNumStrings() );
  249. assertEquals( 2, record.getNumUniqueStrings() );
  250. Iterator<UnicodeString> iter = record.getStrings();
  251. while ( iter.hasNext() ) {
  252. UnicodeString ucs = iter.next();
  253. if ( ucs.equals( s1 ) )
  254. {
  255. assertEquals( (byte) 0, ucs.getOptionFlags() );
  256. }
  257. else if ( ucs.equals( s2 ) )
  258. {
  259. assertEquals( (byte) 1, ucs.getOptionFlags() );
  260. }
  261. else
  262. {
  263. fail( "cannot match string: " + ucs.getString() );
  264. }
  265. }
  266. }
  267. /**
  268. * test simple constructor
  269. */
  270. public void testSimpleConstructor() {
  271. SSTRecord record = new SSTRecord();
  272. assertEquals( 0, record.getNumStrings() );
  273. assertEquals( 0, record.getNumUniqueStrings() );
  274. assertEquals( 0, record.countStrings() );
  275. byte[] output = record.serialize();
  276. byte[] expected =
  277. {
  278. (byte) record.getSid(), (byte) ( record.getSid() >> 8 ),
  279. (byte) 8, (byte) 0, (byte) 0, (byte) 0, (byte) 0,
  280. (byte) 0, (byte) 0, (byte) 0, (byte) 0, (byte) 0
  281. };
  282. assertEquals( expected.length, output.length );
  283. for ( int k = 0; k < expected.length; k++ )
  284. {
  285. assertEquals( String.valueOf( k ), expected[k], output[k] );
  286. }
  287. }
  288. /**
  289. * Tests that workbooks with rich text that duplicates a non rich text cell can be read and written.
  290. */
  291. public void testReadWriteDuplicatedRichText1() {
  292. HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("duprich1.xls");
  293. HSSFSheet sheet = wb.getSheetAt( 1 );
  294. assertEquals( "01/05 (Wed)", sheet.getRow( 0 ).getCell(8 ).getStringCellValue() );
  295. assertEquals( "01/05 (Wed)", sheet.getRow( 1 ).getCell(8 ).getStringCellValue() );
  296. HSSFTestDataSamples.writeOutAndReadBack(wb);
  297. // test the second file.
  298. wb = HSSFTestDataSamples.openSampleWorkbook("duprich2.xls");
  299. sheet = wb.getSheetAt( 0 );
  300. int row = 0;
  301. assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  302. assertEquals( "rich", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  303. assertEquals( "text", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  304. assertEquals( "strings", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  305. assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  306. assertEquals( "Testing", sheet.getRow( row++ ).getCell(0 ).getStringCellValue() );
  307. HSSFTestDataSamples.writeOutAndReadBack(wb);
  308. }
  309. /**
  310. * hex dump from UnicodeStringFailCase1.xls atatched to Bugzilla 50779
  311. */
  312. private static final String data_50779_1 =
  313. //Offset=0x00000612(1554) recno=71 sid=0x00FC size=0x2020(8224)
  314. " FC 00 20 20 51 00 00 00 51 00 00 00 32 00" +
  315. "05 10 00 00 00 42 30 44 30 46 30 48 30 4A 30 4B" +
  316. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  317. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  318. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  319. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  320. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  321. "30 30 00 30 00 30 00 31 00 01 00 0C 00 05 00 35" +
  322. "00 00 00 00 00 00 00 4B 30 32 00 01 42 30 44 30" +
  323. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  324. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  325. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  326. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  327. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  328. "8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 32 00" +
  329. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  330. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  331. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  332. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  333. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  334. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  335. "00 30 00 30 00 33 00 32 00 01 42 30 44 30 46 30" +
  336. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  337. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  338. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  339. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  340. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  341. "8F 30 92 30 93 30 30 00 30 00 30 00 34 00 32 00" +
  342. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  343. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  344. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  345. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  346. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  347. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  348. "00 30 00 35 00 32 00 01 42 30 44 30 46 30 48 30" +
  349. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  350. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  351. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  352. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  353. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  354. "92 30 93 30 30 00 30 00 30 00 36 00 32 00 01 42" +
  355. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  356. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  357. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  358. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  359. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  360. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 30" +
  361. "00 37 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  362. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  363. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  364. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  365. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  366. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  367. "93 30 30 00 30 00 30 00 38 00 32 00 01 42 30 44" +
  368. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  369. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  370. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  371. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  372. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  373. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 39" +
  374. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  375. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  376. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  377. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  378. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  379. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  380. "30 00 30 00 31 00 30 00 32 00 01 42 30 44 30 46" +
  381. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  382. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  383. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  384. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  385. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  386. "30 8F 30 92 30 93 30 30 00 30 00 31 00 31 00 32" +
  387. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  388. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  389. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  390. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  391. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  392. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  393. "30 00 31 00 32 00 32 00 01 42 30 44 30 46 30 48" +
  394. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  395. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  396. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  397. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  398. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  399. "30 92 30 93 30 30 00 30 00 31 00 33 00 32 00 01" +
  400. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  401. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  402. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  403. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  404. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  405. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  406. "31 00 34 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  407. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  408. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  409. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  410. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  411. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  412. "30 93 30 30 00 30 00 31 00 35 00 32 00 01 42 30" +
  413. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  414. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  415. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  416. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  417. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  418. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31 00" +
  419. "36 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  420. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  421. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  422. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  423. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  424. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  425. "30 30 00 30 00 31 00 37 00 32 00 01 42 30 44 30" +
  426. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  427. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  428. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  429. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  430. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  431. "8D 30 8F 30 92 30 93 30 30 00 30 00 31 00 38 00" +
  432. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  433. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  434. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  435. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  436. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  437. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  438. "00 30 00 31 00 39 00 32 00 01 42 30 44 30 46 30" +
  439. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  440. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  441. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  442. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  443. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  444. "8F 30 92 30 93 30 30 00 30 00 32 00 30 00 32 00" +
  445. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  446. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  447. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  448. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  449. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  450. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  451. "00 32 00 31 00 32 00 01 42 30 44 30 46 30 48 30" +
  452. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  453. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  454. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  455. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  456. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  457. "92 30 93 30 30 00 30 00 32 00 32 00 32 00 01 42" +
  458. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  459. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  460. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  461. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  462. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  463. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 32" +
  464. "00 33 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  465. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  466. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  467. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  468. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  469. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  470. "93 30 30 00 30 00 32 00 34 00 32 00 01 42 30 44" +
  471. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  472. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  473. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  474. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  475. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  476. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00 35" +
  477. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  478. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  479. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  480. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  481. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  482. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  483. "30 00 30 00 32 00 36 00 32 00 01 42 30 44 30 46" +
  484. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  485. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  486. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  487. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  488. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  489. "30 8F 30 92 30 93 30 30 00 30 00 32 00 37 00 32" +
  490. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  491. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  492. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  493. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  494. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  495. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  496. "30 00 32 00 38 00 32 00 01 42 30 44 30 46 30 48" +
  497. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  498. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  499. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  500. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  501. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  502. "30 92 30 93 30 30 00 30 00 32 00 39 00 32 00 01" +
  503. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  504. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  505. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  506. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  507. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  508. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  509. "33 00 30 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  510. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  511. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  512. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  513. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  514. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  515. "30 93 30 30 00 30 00 33 00 31 00 32 00 01 42 30" +
  516. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  517. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  518. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  519. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  520. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  521. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33 00" +
  522. "32 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  523. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  524. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  525. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  526. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  527. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  528. "30 30 00 30 00 33 00 33 00 32 00 01 42 30 44 30" +
  529. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  530. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  531. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  532. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  533. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  534. "8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 34 00" +
  535. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  536. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  537. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  538. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  539. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  540. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  541. "00 30 00 33 00 35 00 32 00 01 42 30 44 30 46 30" +
  542. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  543. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  544. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  545. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  546. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  547. "8F 30 92 30 93 30 30 00 30 00 33 00 36 00 32 00" +
  548. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  549. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  550. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  551. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  552. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  553. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  554. "00 33 00 37 00 32 00 01 42 30 44 30 46 30 48 30" +
  555. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  556. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  557. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  558. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  559. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  560. "92 30 93 30 30 00 30 00 33 00 38 00 32 00 01 42" +
  561. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  562. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  563. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  564. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  565. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  566. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33" +
  567. "00 39 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  568. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  569. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  570. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  571. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  572. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  573. "93 30 30 00 30 00 34 00 30 00 32 00 01 42 30 44" +
  574. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  575. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  576. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  577. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  578. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  579. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00 31" +
  580. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  581. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  582. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  583. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  584. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  585. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  586. "30 00 30 00 34 00 32 00 32 00 01 42 30 44 30 46" +
  587. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  588. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  589. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  590. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  591. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  592. "30 8F 30 92 30 93 30 30 00 30 00 34 00 33 00 32" +
  593. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  594. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  595. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  596. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  597. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  598. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  599. "30 00 34 00 34 00 32 00 01 42 30 44 30 46 30 48" +
  600. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  601. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  602. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  603. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  604. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  605. "30 92 30 93 30 30 00 30 00 34 00 35 00 32 00 01" +
  606. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  607. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  608. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  609. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  610. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  611. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  612. "34 00 36 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  613. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  614. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  615. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  616. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  617. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  618. "30 93 30 30 00 30 00 34 00 37 00 32 00 01 42 30" +
  619. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  620. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  621. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  622. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  623. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  624. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00" +
  625. "38 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  626. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  627. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  628. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  629. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  630. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  631. "30 30 00 30 00 34 00 39 00 32 00 01 42 30 44 30" +
  632. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  633. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  634. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  635. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  636. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  637. "8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 30 00" +
  638. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  639. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  640. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  641. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  642. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  643. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  644. "00 30 00 35 00 31 00 32 00 01 42 30 44 30 46 30" +
  645. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  646. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  647. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  648. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  649. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  650. "8F 30 92 30 93 30 30 00 30 00 35 00 32 00 32 00" +
  651. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  652. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  653. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  654. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  655. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  656. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  657. "00 35 00 33 00 32 00 01 42 30 44 30 46 30 48 30" +
  658. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  659. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  660. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  661. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  662. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  663. "92 30 93 30 30 00 30 00 35 00 34 00 32 00 01 42" +
  664. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  665. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  666. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  667. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  668. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  669. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 35" +
  670. "00 35 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  671. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  672. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  673. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  674. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  675. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  676. "93 30 30 00 30 00 35 00 36 00 32 00 01 42 30 44" +
  677. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  678. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  679. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  680. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  681. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  682. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 37" +
  683. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  684. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  685. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  686. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  687. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  688. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  689. "30 00 30 00 35 00 38 00 32 00 01 42 30 44 30 46" +
  690. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  691. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  692. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  693. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  694. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  695. "30 8F 30 92 30 93 30 30 00 30 00 35 00 39 00 32" +
  696. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  697. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  698. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  699. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  700. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  701. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  702. "30 00 36 00 30 00 32 00 01 42 30 44 30 46 30 48" +
  703. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  704. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  705. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  706. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  707. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  708. "30 92 30 93 30 30 00 30 00 36 00 31 00 32 00 01" +
  709. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  710. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  711. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  712. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  713. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  714. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  715. "36 00 32 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  716. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  717. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  718. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  719. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  720. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  721. "30 93 30 30 00 30 00 36 00 33 00 32 00 01 42 30" +
  722. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  723. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  724. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  725. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  726. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  727. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00" +
  728. "34 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  729. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  730. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  731. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  732. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  733. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  734. "30 30 00 30 00 36 00 35 00 32 00 01 42 30 44 30" +
  735. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  736. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  737. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  738. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  739. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  740. "8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 36 00" +
  741. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  742. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  743. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  744. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  745. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  746. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  747. "00 30 00 36 00 37 00 32 00 01 42 30 44 30 46 30" +
  748. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  749. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  750. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  751. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  752. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  753. "8F 30 92 30 93 30 30 00 30 00 36 00 38 00 32 00" +
  754. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  755. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  756. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  757. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  758. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  759. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  760. "00 36 00 39 00 32 00 01 42 30 44 30 46 30 48 30" +
  761. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  762. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  763. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  764. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  765. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  766. "92 30 93 30 30 00 30 00 37 00 30 00 32 00 01 42" +
  767. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  768. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  769. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  770. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  771. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  772. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 37" +
  773. "00 31 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  774. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  775. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  776. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  777. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  778. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  779. "93 30 30 00 30 00 37 00 32 00 32 00 01 42 30 44" +
  780. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  781. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  782. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  783. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  784. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  785. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 33" +
  786. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  787. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  788. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  789. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  790. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  791. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  792. "30 00 30 00 37 00 34 00 32 00 01 42 30 44 30 46" +
  793. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  794. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  795. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  796. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  797. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  798. "30 8F 30 92 30 93 30 30 00 30 00 37 00 35 00 32" +
  799. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  800. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  801. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  802. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  803. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  804. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  805. "30 00 37 00 36 00 32 00 01 42 30 44 30 46 30 48" +
  806. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  807. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  808. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  809. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  810. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  811. "30 92 30 93 30 30 00 30 00 37 00 37 00 32 00 01" +
  812. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  813. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  814. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  815. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  816. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  817. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  818. "37 00 38 00 1F 00 05 B8 00 00 00 17 53 77 6D 53" +
  819. "90 52 97 EE 68 0C 77 A9 5C 4B 62 0C 77 8F 79 F6" +
  820. "5C 0C 77 03 68 28 67 0C 77 FC 57 89 73 0C 77 71" +
  821. "67 AC 4E FD 90 43 53 49 84 0C 77 5E 79 48 59 DD" +
  822. "5D 0C 77 77 95 CE 91 0C 77 01 00 B4 00 05 00 35" +
  823. "00 0A 00 37 00 37 00 DB 30 C3 30 AB 30 A4 30 C9" +
  824. "30 A6 30 A2 30 AA 30 E2 30 EA 30 B1 30 F3 30 A4" +
  825. "30 EF 30 C6 30 B1 30 F3 30 D5 30 AF 30 B7 30 DE" +
  826. "30 B1 30 F3 30 C8 30 C1 30 AE 30 B1 30 F3 30 B5" +
  827. "30 A4 30 BF 30 DE 30 B1 30 F3 30 C8 30 A6 30 AD" +
  828. "30 E7 30 A6 30 C8 " +
  829. // Offset=0x00002636(9782) recno=72 sid=0x003C size=0x0151(337)
  830. " 3C 00 51 01 30 C1 30 D0 30 B1" +
  831. "30 F3 30 AB 30 CA 30 AC 30 EF 30 B1 30 F3 30 CA" +
  832. "30 AC 30 CE 30 B1 30 F3 30 00 00 00 00 03 00 06" +
  833. "00 03 00 03 00 0C 00 06 00 03 00 11 00 09 00 03" +
  834. "00 17 00 0C 00 03 00 1C 00 0F 00 03 00 22 00 12" +
  835. "00 03 00 28 00 15 00 03 00 2C 00 18 00 04 00 32" +
  836. "00 1C 00 03 00 32 00 05 10 00 00 00 42 30 44 30" +
  837. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  838. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  839. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  840. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  841. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  842. "8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 39 00" +
  843. "01 00 0C 00 05 00 35 00 00 00 00 00 00 00 00 00" +
  844. "32 00 05 10 00 00 00 42 30 44 30 46 30 48 30 4A" +
  845. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  846. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  847. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  848. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  849. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  850. "30 93 30 30 00 30 00 38 00 30 00 01 00 0C 00 05" +
  851. "00 35 00 00 00 00 00 00 00 4B 30 ";
  852. /**
  853. * hex dump from UnicodeStringFailCase2.xls atatched to Bugzilla 50779
  854. */
  855. private static final String data_50779_2 =
  856. //"Offset=0x00000612(1554) recno=71 sid=0x00FC size=0x2020(8224)\n" +
  857. " FC 00 20 20 51 00 00 00 51 00 00 00 32 00" +
  858. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  859. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  860. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  861. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  862. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  863. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  864. "00 30 00 31 00 32 00 01 42 30 44 30 46 30 48 30" +
  865. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  866. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  867. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  868. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  869. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  870. "92 30 93 30 30 00 30 00 30 00 32 00 32 00 01 42" +
  871. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  872. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  873. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  874. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  875. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  876. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 30" +
  877. "00 33 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  878. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  879. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  880. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  881. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  882. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  883. "93 30 30 00 30 00 30 00 34 00 32 00 01 42 30 44" +
  884. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  885. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  886. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  887. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  888. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  889. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 30 00 35" +
  890. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  891. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  892. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  893. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  894. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  895. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  896. "30 00 30 00 30 00 36 00 32 00 01 42 30 44 30 46" +
  897. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  898. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  899. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  900. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  901. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  902. "30 8F 30 92 30 93 30 30 00 30 00 30 00 37 00 32" +
  903. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  904. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  905. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  906. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  907. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  908. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  909. "30 00 30 00 38 00 32 00 01 42 30 44 30 46 30 48" +
  910. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  911. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  912. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  913. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  914. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  915. "30 92 30 93 30 30 00 30 00 30 00 39 00 32 00 01" +
  916. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  917. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  918. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  919. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  920. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  921. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  922. "31 00 30 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  923. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  924. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  925. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  926. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  927. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  928. "30 93 30 30 00 30 00 31 00 31 00 32 00 01 42 30" +
  929. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  930. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  931. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  932. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  933. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  934. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31 00" +
  935. "32 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  936. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  937. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  938. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  939. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  940. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  941. "30 30 00 30 00 31 00 33 00 32 00 01 42 30 44 30" +
  942. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  943. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  944. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  945. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  946. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  947. "8D 30 8F 30 92 30 93 30 30 00 30 00 31 00 34 00" +
  948. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  949. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  950. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  951. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  952. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  953. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  954. "00 30 00 31 00 35 00 32 00 01 42 30 44 30 46 30" +
  955. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  956. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  957. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  958. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  959. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  960. "8F 30 92 30 93 30 30 00 30 00 31 00 36 00 32 00" +
  961. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  962. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  963. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  964. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  965. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  966. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  967. "00 31 00 37 00 32 00 01 42 30 44 30 46 30 48 30" +
  968. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  969. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  970. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  971. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  972. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  973. "92 30 93 30 30 00 30 00 31 00 38 00 32 00 01 42" +
  974. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  975. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  976. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  977. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  978. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  979. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 31" +
  980. "00 39 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  981. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  982. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  983. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  984. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  985. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  986. "93 30 30 00 30 00 32 00 30 00 32 00 01 42 30 44" +
  987. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  988. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  989. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  990. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  991. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  992. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00 31" +
  993. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  994. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  995. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  996. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  997. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  998. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  999. "30 00 30 00 32 00 32 00 32 00 01 42 30 44 30 46" +
  1000. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  1001. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  1002. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  1003. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  1004. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  1005. "30 8F 30 92 30 93 30 30 00 30 00 32 00 33 00 32" +
  1006. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  1007. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  1008. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  1009. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  1010. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  1011. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  1012. "30 00 32 00 34 00 32 00 01 42 30 44 30 46 30 48" +
  1013. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  1014. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  1015. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  1016. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  1017. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  1018. "30 92 30 93 30 30 00 30 00 32 00 35 00 32 00 01" +
  1019. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  1020. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  1021. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  1022. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  1023. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  1024. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  1025. "32 00 36 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  1026. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  1027. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  1028. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  1029. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  1030. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  1031. "30 93 30 30 00 30 00 32 00 37 00 32 00 01 42 30" +
  1032. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  1033. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  1034. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  1035. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  1036. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  1037. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 32 00" +
  1038. "38 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  1039. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  1040. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  1041. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  1042. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  1043. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  1044. "30 30 00 30 00 32 00 39 00 32 00 01 42 30 44 30" +
  1045. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  1046. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  1047. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  1048. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  1049. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  1050. "8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 30 00" +
  1051. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  1052. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  1053. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  1054. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  1055. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  1056. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  1057. "00 30 00 33 00 31 00 32 00 01 42 30 44 30 46 30" +
  1058. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  1059. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  1060. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  1061. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  1062. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  1063. "8F 30 92 30 93 30 30 00 30 00 33 00 32 00 32 00" +
  1064. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  1065. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  1066. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  1067. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  1068. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  1069. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  1070. "00 33 00 33 00 32 00 01 42 30 44 30 46 30 48 30" +
  1071. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  1072. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  1073. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  1074. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  1075. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  1076. "92 30 93 30 30 00 30 00 33 00 34 00 32 00 01 42" +
  1077. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  1078. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  1079. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  1080. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  1081. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  1082. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 33" +
  1083. "00 35 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  1084. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  1085. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  1086. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  1087. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  1088. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  1089. "93 30 30 00 30 00 33 00 36 00 32 00 01 42 30 44" +
  1090. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  1091. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  1092. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  1093. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  1094. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  1095. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 33 00 37" +
  1096. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  1097. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  1098. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  1099. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  1100. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  1101. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  1102. "30 00 30 00 33 00 38 00 32 00 01 42 30 44 30 46" +
  1103. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  1104. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  1105. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  1106. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  1107. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  1108. "30 8F 30 92 30 93 30 30 00 30 00 33 00 39 00 32" +
  1109. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  1110. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  1111. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  1112. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  1113. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  1114. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  1115. "30 00 34 00 30 00 32 00 01 42 30 44 30 46 30 48" +
  1116. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  1117. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  1118. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  1119. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  1120. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  1121. "30 92 30 93 30 30 00 30 00 34 00 31 00 32 00 01" +
  1122. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  1123. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  1124. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  1125. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  1126. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  1127. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  1128. "34 00 32 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  1129. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  1130. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  1131. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  1132. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  1133. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  1134. "30 93 30 30 00 30 00 34 00 33 00 32 00 01 42 30" +
  1135. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  1136. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  1137. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  1138. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  1139. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  1140. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 34 00" +
  1141. "34 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  1142. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  1143. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  1144. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  1145. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  1146. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  1147. "30 30 00 30 00 34 00 35 00 32 00 01 42 30 44 30" +
  1148. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  1149. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  1150. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  1151. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  1152. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  1153. "8D 30 8F 30 92 30 93 30 30 00 30 00 34 00 36 00" +
  1154. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  1155. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  1156. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  1157. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  1158. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  1159. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  1160. "00 30 00 34 00 37 00 32 00 01 42 30 44 30 46 30" +
  1161. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  1162. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  1163. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  1164. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  1165. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  1166. "8F 30 92 30 93 30 30 00 30 00 34 00 38 00 32 00" +
  1167. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  1168. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  1169. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  1170. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  1171. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  1172. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  1173. "00 34 00 39 00 32 00 01 42 30 44 30 46 30 48 30" +
  1174. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  1175. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  1176. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  1177. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  1178. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  1179. "92 30 93 30 30 00 30 00 35 00 30 00 32 00 01 42" +
  1180. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  1181. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  1182. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  1183. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  1184. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  1185. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 35" +
  1186. "00 31 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  1187. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  1188. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  1189. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  1190. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  1191. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  1192. "93 30 30 00 30 00 35 00 32 00 32 00 01 42 30 44" +
  1193. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  1194. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  1195. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  1196. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  1197. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  1198. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 35 00 33" +
  1199. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  1200. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  1201. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  1202. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  1203. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  1204. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  1205. "30 00 30 00 35 00 34 00 32 00 01 42 30 44 30 46" +
  1206. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  1207. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  1208. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  1209. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  1210. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  1211. "30 8F 30 92 30 93 30 30 00 30 00 35 00 35 00 32" +
  1212. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  1213. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  1214. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  1215. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  1216. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  1217. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  1218. "30 00 35 00 36 00 32 00 01 42 30 44 30 46 30 48" +
  1219. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  1220. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  1221. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  1222. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  1223. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  1224. "30 92 30 93 30 30 00 30 00 35 00 37 00 32 00 01" +
  1225. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  1226. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  1227. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  1228. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  1229. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  1230. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  1231. "35 00 38 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  1232. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  1233. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  1234. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  1235. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  1236. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  1237. "30 93 30 30 00 30 00 35 00 39 00 32 00 01 42 30" +
  1238. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  1239. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  1240. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  1241. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  1242. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  1243. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00" +
  1244. "30 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  1245. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  1246. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  1247. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  1248. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  1249. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  1250. "30 30 00 30 00 36 00 31 00 32 00 01 42 30 44 30" +
  1251. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  1252. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  1253. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  1254. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  1255. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  1256. "8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 32 00" +
  1257. "32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  1258. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  1259. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  1260. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  1261. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  1262. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  1263. "00 30 00 36 00 33 00 32 00 01 42 30 44 30 46 30" +
  1264. "48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30" +
  1265. "57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30" +
  1266. "68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30" +
  1267. "75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30" +
  1268. "84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30" +
  1269. "8F 30 92 30 93 30 30 00 30 00 36 00 34 00 32 00" +
  1270. "01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F" +
  1271. "30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F" +
  1272. "30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D" +
  1273. "30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F" +
  1274. "30 80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A" +
  1275. "30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30" +
  1276. "00 36 00 35 00 32 00 01 42 30 44 30 46 30 48 30" +
  1277. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  1278. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  1279. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  1280. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  1281. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  1282. "92 30 93 30 30 00 30 00 36 00 36 00 32 00 01 42" +
  1283. "30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51" +
  1284. "30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61" +
  1285. "30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E" +
  1286. "30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80" +
  1287. "30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B" +
  1288. "30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 36" +
  1289. "00 37 00 32 00 01 42 30 44 30 46 30 48 30 4A 30" +
  1290. "4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30" +
  1291. "5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30" +
  1292. "6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30" +
  1293. "7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30" +
  1294. "88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30" +
  1295. "93 30 30 00 30 00 36 00 38 00 32 00 01 42 30 44" +
  1296. "30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53" +
  1297. "30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64" +
  1298. "30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F" +
  1299. "30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81" +
  1300. "30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C" +
  1301. "30 8D 30 8F 30 92 30 93 30 30 00 30 00 36 00 39" +
  1302. "00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B 30" +
  1303. "4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30" +
  1304. "5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30" +
  1305. "6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30" +
  1306. "7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30" +
  1307. "89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30" +
  1308. "30 00 30 00 37 00 30 00 32 00 01 42 30 44 30 46" +
  1309. "30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55" +
  1310. "30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66" +
  1311. "30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72" +
  1312. "30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82" +
  1313. "30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D" +
  1314. "30 8F 30 92 30 93 30 30 00 30 00 37 00 31 00 32" +
  1315. "00 01 42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30" +
  1316. "4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D 30" +
  1317. "5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30" +
  1318. "6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30" +
  1319. "7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89 30" +
  1320. "8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00" +
  1321. "30 00 37 00 32 00 32 00 01 42 30 44 30 46 30 48" +
  1322. "30 4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57" +
  1323. "30 59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68" +
  1324. "30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75" +
  1325. "30 78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84" +
  1326. "30 86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F" +
  1327. "30 92 30 93 30 30 00 30 00 37 00 33 00 32 00 01" +
  1328. "42 30 44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30" +
  1329. "51 30 53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30" +
  1330. "61 30 64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30" +
  1331. "6E 30 6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30" +
  1332. "80 30 81 30 82 30 84 30 86 30 88 30 89 30 8A 30" +
  1333. "8B 30 8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00" +
  1334. "37 00 34 00 32 00 01 42 30 44 30 46 30 48 30 4A" +
  1335. "30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30 59" +
  1336. "30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A" +
  1337. "30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78" +
  1338. "30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30 86" +
  1339. "30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92" +
  1340. "30 93 30 30 00 30 00 37 00 35 00 32 00 01 42 30" +
  1341. "44 30 46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30" +
  1342. "53 30 55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30" +
  1343. "64 30 66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30" +
  1344. "6F 30 72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30" +
  1345. "81 30 82 30 84 30 86 30 88 30 89 30 8A 30 8B 30" +
  1346. "8C 30 8D 30 8F 30 92 30 93 30 30 00 30 00 37 00" +
  1347. "36 00 32 00 01 42 30 44 30 46 30 48 30 4A 30 4B" +
  1348. "30 4D 30 4F 30 51 30 53 30 55 30 57 30 59 30 5B" +
  1349. "30 5D 30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B" +
  1350. "30 6C 30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B" +
  1351. "30 7E 30 7F 30 80 30 81 30 82 30 84 30 86 30 88" +
  1352. "30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93" +
  1353. "30 30 00 30 00 37 00 37 00 32 00 01 42 30 44 30" +
  1354. "46 30 48 30 4A 30 4B 30 4D 30 4F 30 51 30 53 30" +
  1355. "55 30 57 30 59 30 5B 30 5D 30 5F 30 61 30 64 30" +
  1356. "66 30 68 30 6A 30 6B 30 6C 30 6D 30 6E 30 6F 30" +
  1357. "72 30 75 30 78 30 7B 30 7E 30 7F 30 80 30 81 30" +
  1358. "82 30 84 30 86 30 88 30 89 30 8A 30 8B 30 8C 30" +
  1359. "8D 30 8F 30 92 30 93 30 30 00 30 00 37 00 38 00" +
  1360. "18 00 05 96 00 00 00 17 53 77 6D 53 90 52 97 EE" +
  1361. "68 0C 77 A9 5C 4B 62 0C 77 8F 79 F6 5C 0C 77 03" +
  1362. "68 28 67 0C 77 FC 57 89 73 0C 77 71 67 AC 4E FD" +
  1363. "90 43 53 49 84 0C 77 01 00 92 00 05 00 35 00 08" +
  1364. "00 2C 00 2C 00 DB 30 C3 30 AB 30 A4 30 C9 30 A6" +
  1365. "30 A2 30 AA 30 E2 30 EA 30 B1 30 F3 30 A4 30 EF" +
  1366. "30 C6 30 B1 30 F3 30 D5 30 AF 30 B7 30 DE 30 B1" +
  1367. "30 F3 30 C8 30 C1 30 AE 30 B1 30 F3 30 B5 30 A4" +
  1368. "30 BF 30 DE 30 B1 30 F3 30 C8 30 A6 30 AD 30 E7" +
  1369. "30 A6 30 C8 30 C1 30 D0 30 B1 30 F3 30 00 00 00" +
  1370. "00 03 00 06 00 03 00 03 00 0C 00 06 00 03 00 11" +
  1371. "00 09 00 03 00 17 " +
  1372. //Offset=0x00002636(9782) recno=72 sid=0x003C size=0x010D(269)
  1373. " 3C 00 0D 01 00 0C 00 03 00 1C" +
  1374. "00 0F 00 03 00 22 00 12 00 03 00 28 00 15 00 03" +
  1375. "00 32 00 05 10 00 00 00 42 30 44 30 46 30 48 30" +
  1376. "4A 30 4B 30 4D 30 4F 30 51 30 53 30 55 30 57 30" +
  1377. "59 30 5B 30 5D 30 5F 30 61 30 64 30 66 30 68 30" +
  1378. "6A 30 6B 30 6C 30 6D 30 6E 30 6F 30 72 30 75 30" +
  1379. "78 30 7B 30 7E 30 7F 30 80 30 81 30 82 30 84 30" +
  1380. "86 30 88 30 89 30 8A 30 8B 30 8C 30 8D 30 8F 30" +
  1381. "92 30 93 30 30 00 30 00 37 00 39 00 01 00 0C 00" +
  1382. "05 00 35 00 00 00 00 00 00 00 00 00 32 00 05 10" +
  1383. "00 00 00 42 30 44 30 46 30 48 30 4A 30 4B 30 4D" +
  1384. "30 4F 30 51 30 53 30 55 30 57 30 59 30 5B 30 5D" +
  1385. "30 5F 30 61 30 64 30 66 30 68 30 6A 30 6B 30 6C" +
  1386. "30 6D 30 6E 30 6F 30 72 30 75 30 78 30 7B 30 7E" +
  1387. "30 7F 30 80 30 81 30 82 30 84 30 86 30 88 30 89" +
  1388. "30 8A 30 8B 30 8C 30 8D 30 8F 30 92 30 93 30 30" +
  1389. "00 30 00 38 00 30 00 01 00 0C 00 05 00 35 00 00" +
  1390. "00 00 00 00 00 4B 30 ";
  1391. /**
  1392. * deep comparison of two SST records
  1393. */
  1394. public static void assertEquals(SSTRecord expected, SSTRecord actual){
  1395. assertEquals("number of strings", expected.getNumStrings(), actual.getNumStrings());
  1396. assertEquals("number of unique strings", expected.getNumUniqueStrings(), actual.getNumUniqueStrings());
  1397. assertEquals("count of strings", expected.countStrings(), actual.countStrings());
  1398. for ( int k = 0; k < expected.countStrings(); k++ ) {
  1399. org.apache.poi.hssf.record.common.UnicodeString us1 = expected.getString(k);
  1400. org.apache.poi.hssf.record.common.UnicodeString us2 = actual.getString(k);
  1401. assertTrue("String at idx=" + k, us1.equals(us2));
  1402. }
  1403. }
  1404. public void test50779_1(){
  1405. byte[] bytes = HexRead.readFromString(data_50779_1);
  1406. RecordInputStream in = TestcaseRecordInputStream.create(bytes);
  1407. assertEquals(SSTRecord.sid, in.getSid());
  1408. SSTRecord src = new SSTRecord(in);
  1409. assertEquals(81, src.getNumStrings());
  1410. byte[] serialized = src.serialize();
  1411. in = TestcaseRecordInputStream.create(serialized);
  1412. assertEquals(SSTRecord.sid, in.getSid());
  1413. SSTRecord dst = new SSTRecord(in);
  1414. assertEquals(81, dst.getNumStrings());
  1415. assertEquals(src, dst);
  1416. }
  1417. public void test50779_2() {
  1418. byte[] bytes = HexRead.readFromString(data_50779_2);
  1419. RecordInputStream in = TestcaseRecordInputStream.create(bytes);
  1420. assertEquals(SSTRecord.sid, in.getSid());
  1421. SSTRecord src = new SSTRecord(in);
  1422. assertEquals(81, src.getNumStrings());
  1423. byte[] serialized = src.serialize();
  1424. in = TestcaseRecordInputStream.create(serialized);
  1425. assertEquals(SSTRecord.sid, in.getSid());
  1426. SSTRecord dst = new SSTRecord(in);
  1427. assertEquals(81, dst.getNumStrings());
  1428. assertEquals(src, dst);
  1429. }
  1430. public void test57456() {
  1431. byte[] bytes = HexRead.readFromString("FC, 00, 08, 00, 00, 00, 00, 00, E1, 06, 00, 00");
  1432. RecordInputStream in = TestcaseRecordInputStream.create(bytes);
  1433. assertEquals(SSTRecord.sid, in.getSid());
  1434. SSTRecord src = new SSTRecord(in);
  1435. assertEquals(0, src.getNumStrings());
  1436. assertEquals(0, src.getNumUniqueStrings());
  1437. }
  1438. }