os/kernelhwsrv/kerneltest/e32test/buffer/t_memcpy.cpp
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of the License "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 // e32test\buffer\t_memcpy.cpp
    15 // 
    16 //
    17 
    18 #include <e32test.h>
    19 #include <e32svr.h>
    20 #include "u32std.h"
    21 
    22 RTest test(_L("T_MEMCPY"));
    23 
    24 static const TUint32 RandomData[2048]=
    25 	{
    26 	0x15b138c1, 0x19548df5, 0xc4751abd, 0xb3915667,
    27 	0xccaed7f9, 0x0b28fb4e, 0x0a209d05, 0x0cc01e4e,
    28 	0x8784e75f, 0x0db78374, 0xfeec8e54, 0xb7930c53,
    29 	0x6b0cb099, 0x7e8fcfa4, 0x43bda3e9, 0xfbe04e4a,
    30 	0xf91488b4, 0x3401071a, 0x0a71232a, 0x170a30e5,
    31 	0xa88b42fa, 0x606a077b, 0x9042bab9, 0xe38ac364,
    32 	0x5df3246d, 0x1cbf43fd, 0x7a607658, 0xba55b089,
    33 	0x06224826, 0xa7934e6a, 0x672f0147, 0xc383fc9b,
    34 	0xde0843ad, 0x6b3ef765, 0x5ae92e1c, 0x3f9554f7,
    35 	0x4a85ded3, 0xf8afd0e3, 0x0159d864, 0x1d2aade0,
    36 	0xa44b5cb4, 0xe7eee024, 0x9df539cd, 0x1d664d30,
    37 	0xea60283e, 0x77b3f364, 0x04efb9fc, 0xf9e81360,
    38 	0xfdc2066c, 0x5e87c6de, 0x532e065d, 0xc9f2dfb1,
    39 	0xc9027348, 0xc3b5b59f, 0x3a832967, 0xafd7ee4e,
    40 	0xa90f1db7, 0xa55cf48e, 0x1de69b99, 0x674adbb8,
    41 	0x1e1eec3d, 0xe1cca802, 0x3a6677a7, 0x7a494c77,
    42 	0x29e3d4a5, 0xa9bbb0c9, 0x6fd14e99, 0xa3013d7c,
    43 	0xc257529b, 0x1402180d, 0xab81d6be, 0xc8ab07d5,
    44 	0xd428dea8, 0x67fee92b, 0xdd6dc943, 0x3222d783,
    45 	0xb4695087, 0x4f3cdcb0, 0x6a5568fd, 0x63a56244,
    46 	0xe7f6ff5d, 0x1c0eae6e, 0x64e1b179, 0x29674a2a,
    47 	0xe0110b14, 0x60b9c381, 0xac64fb06, 0x9982141b,
    48 	0x6d80bcd5, 0xbd0d05ba, 0x0edd2230, 0xd54d9c4c,
    49 	0xb3620510, 0x79e00516, 0x3ca16141, 0x0844a024,
    50 	0xce201cf0, 0x66df0815, 0xc3eed834, 0x0c742cdd,
    51 	0x44f7c221, 0xde59fcf5, 0x70e3a974, 0x82e69c94,
    52 	0x28ba0cc1, 0xb4911d29, 0xcb9a122d, 0x44efdd58,
    53 	0x5fa26b56, 0x0964553d, 0x41e1fe80, 0xbf18f4b1,
    54 	0xd0c76754, 0x9e16fa4b, 0x20afcf2f, 0x6ca5115d,
    55 	0xe74756da, 0x86ce0301, 0xa3571bb5, 0xa010d7db,
    56 	0xdd75d63a, 0xb3d94020, 0xcdeeacce, 0x8c3bbea4,
    57 	0xfdf7908d, 0x07f31839, 0xb27a173b, 0x784ebc19,
    58 	0x57e6cb72, 0xc74449cd, 0x273ef695, 0x7cf62c85,
    59 	0xdcb34b89, 0xdae1386a, 0xfef633da, 0x1c46b829,
    60 	0x65a1ca4e, 0xae740fc0, 0x17c6069c, 0x6b8ac5f6,
    61 	0x999a0b62, 0xec7b2b76, 0xc48af9f3, 0xcdda4024,
    62 	0x42ef643c, 0xd7347f6d, 0x2c6ced70, 0x58e17336,
    63 	0x3b43da2f, 0x20031f17, 0xa1f0f594, 0xdfa13730,
    64 	0x7ca39c52, 0x0794ee50, 0x4d2f73fa, 0xd1a814e7,
    65 	0xe99a74ea, 0x53839f4d, 0x10351ea5, 0xd9f0d2cd,
    66 	0xe1d4b77b, 0xbb9de004, 0x03ceb03e, 0xeae4b6b1,
    67 	0x3e1948b9, 0x0b8734e4, 0xf68dd51a, 0xa61740ec,
    68 	0x27056206, 0x45a2d559, 0x0f84fa54, 0xc86731ac,
    69 	0x172959a4, 0x9e0ee532, 0xa154588c, 0x1522ed14,
    70 	0x244034ce, 0x116cfb71, 0xc70161c8, 0xf59c3fbd,
    71 	0xb935c44d, 0x80de3a2b, 0x23cdaf29, 0x4b144325,
    72 	0xe1b87f89, 0x7724a8b6, 0xf1193b4a, 0xeb383316,
    73 	0xf6ad76e1, 0xac38a1b3, 0x5c076519, 0xd8522f09,
    74 	0xced98b69, 0x7fda5249, 0x1ac9b888, 0x16ec5d2a,
    75 	0xcea4827f, 0x2f75b3c8, 0xcc86552c, 0x0311eaa7,
    76 	0x1f2284a1, 0xa7db582d, 0x666f7a70, 0x4490b971,
    77 	0x29df4e25, 0x600df112, 0x6f17de78, 0x4a6c6b9a,
    78 	0xe38f9bf5, 0x8878957d, 0x4d6b9e68, 0x1f534ec1,
    79 	0x3b45b4d4, 0xc6ef9604, 0x9a1782a3, 0x3521f203,
    80 	0x85b0c15a, 0xcecdcc41, 0xbba2fd9a, 0xf208d1ed,
    81 	0xf41ab7b7, 0x51762ecc, 0xca57dbc3, 0x1897dc68,
    82 	0xf18d612c, 0xaed47a7b, 0x10cd8c31, 0x50a5d312,
    83 	0xf563c6df, 0x46dc1702, 0x621e2da0, 0xd3d51bed,
    84 	0x38545e73, 0xd9cd12a5, 0x3dccda8e, 0x534e8873,
    85 	0xc120782b, 0xe7128264, 0xdbaf0c88, 0x9d1f0f95,
    86 	0xbe76dc2d, 0xb2f9b539, 0x422f4ebe, 0x55fc4200,
    87 	0xeede2fed, 0x9591ceaf, 0xd6221a35, 0xcab251b1,
    88 	0xc04234dc, 0xc36cd658, 0xacd3e1e1, 0x6877e677,
    89 	0xca5c8f9e, 0x2dd7a512, 0x6cbaf442, 0x991953b0,
    90 	0xd9b7a443, 0x169fe348, 0x757b76f3, 0x8dd283a4,
    91 	0xeed30f3f, 0x479a73e6, 0x04f359bc, 0x37e26fa0,
    92 	0x3d0b3400, 0xadc590dc, 0x0fef0890, 0xf77e8b3f,
    93 	0x930cbcaf, 0x024cae73, 0x4bc16385, 0xb3d8eaff,
    94 	0x5743800b, 0x93a1793f, 0xde43417b, 0xdb361d0e,
    95 	0x8c4be643, 0xf841cca5, 0xe0eab85c, 0x5bf09991,
    96 	0x24615e8e, 0x87d8473a, 0xc79f8fe4, 0x9b318e41,
    97 	0x557cd277, 0x67991f42, 0x2238ad82, 0x9bc47f7d,
    98 	0x0a15ef1f, 0xdbfb0a30, 0x5d5e80cd, 0xc6a39c0c,
    99 	0xda9103af, 0x7d727600, 0x99d9329d, 0xdfc544b2,
   100 	0xbba989e3, 0xc54af8a5, 0x4d2f2880, 0x541f9101,
   101 	0xd31fd5b1, 0x14d4fb95, 0xc5d32197, 0xd0f0edc4,
   102 	0xe6a43888, 0x30da9f49, 0xb199d4bd, 0x45873e06,
   103 	0xd123f211, 0x57b0ec73, 0xa51f4c68, 0x26492450,
   104 	0x81619a3e, 0x5913288e, 0x1e0175a7, 0x185acb56,
   105 	0x209807a2, 0x90362ad2, 0x2ab637c2, 0x76273c83,
   106 	0x48dbaacc, 0x1ec1148a, 0x1e282ba7, 0x8dae6d09,
   107 	0x2007a484, 0xea4b9ce6, 0xcceba2bd, 0xdc5e0c9b,
   108 	0x0ee6b6a3, 0xec196590, 0x6055b4cd, 0x6b660cd0,
   109 	0xd57e0b3f, 0x8a0cfd3f, 0x0ad58e32, 0xdd89eac1,
   110 	0xf068ea66, 0x7692125a, 0x1a6ca88b, 0xc7bee83e,
   111 	0x0d5c94ca, 0xcfe2e69b, 0x4998c7d4, 0x28b12161,
   112 	0x064e80d4, 0x6b2a06d8, 0x95f88a33, 0xc25f793c,
   113 	0x16bc7df5, 0xcc816232, 0xf0639e1f, 0x41d03b12,
   114 	0xa35937bc, 0xc2d757f3, 0x14149ab8, 0xc3a1c166,
   115 	0x7dc6876f, 0x5695b6de, 0xf027346d, 0x0b554a83,
   116 	0xd1029851, 0xc1045038, 0xa581a244, 0x48e495ac,
   117 	0x6d288c04, 0xbe540de7, 0x1ff4770c, 0xc88af70e,
   118 	0xcb359734, 0x3ce98854, 0x86f18c45, 0x5bbc9399,
   119 	0x64e7df82, 0xcf8bc339, 0xdbf67c23, 0x8a3906b2,
   120 	0x5577a60e, 0x50db360a, 0x9b0d32b5, 0x9eadc0b0,
   121 	0x135de16d, 0xd7b82dcd, 0x6900c076, 0xb8870bb3,
   122 	0x2cf8b716, 0x1d0d3a5b, 0xdd2320ff, 0xdc9e6db6,
   123 	0x08945652, 0x412f0f3b, 0xd0643a9b, 0xab9ba7f4,
   124 	0x6fb29501, 0x1e895b68, 0x1af22c1b, 0x2fb8a4f6,
   125 	0x1d9333a2, 0x3df3ba0e, 0x25593f52, 0x8159b7bc,
   126 	0xdbd71663, 0x1c8dbaf9, 0x55e94822, 0x3e7687f6,
   127 	0x7744248f, 0x79eae5d9, 0x12a8e3c6, 0x07681195,
   128 	0x82ad50e0, 0x1458a935, 0x80bf0c91, 0x30969541,
   129 	0xf11f55b1, 0x0dd4ba05, 0xcd4a01d6, 0x46b86480,
   130 	0xa5143811, 0x110b0d18, 0x38540509, 0x5c7a9743,
   131 	0x07497bd5, 0x1419ecab, 0x14c64719, 0xee12bd6d,
   132 	0xdcdf837b, 0x165870d8, 0x0c21b8ae, 0x1d9a3d8e,
   133 	0xad15f416, 0x09cb9a97, 0xbd4cb69f, 0x15cfaa13,
   134 	0x7046e20d, 0xd603ac66, 0xd1c7bb2f, 0x13512ca2,
   135 	0x9b62bfe7, 0x664f2997, 0x41bee0d0, 0x4ed27485,
   136 	0x00216a40, 0x96b4bc4b, 0x009eee2c, 0x6eadb1fc,
   137 	0xec49163a, 0xe7472569, 0x01f502ab, 0xd0d03c58,
   138 	0xebad9096, 0xacdfa286, 0xac47bb87, 0x2d9baf1a,
   139 	0x2c3c754e, 0xd14ad7b3, 0xc5de5784, 0x07976bbb,
   140 	0x7570028a, 0xba90aaec, 0x57e69008, 0x42f3cc2b,
   141 	0x1dbb57ce, 0x3ba1485d, 0x095574bb, 0xd3e10763,
   142 	0xf986bc29, 0x9701c764, 0xd7f6aecd, 0x01178777,
   143 	0xf8fcbc34, 0x37bd1d61, 0xca089210, 0x6c254fca,
   144 	0x62ee01cb, 0xd16bbdf3, 0x536aebcf, 0x07098597,
   145 	0x1bddb376, 0x56d9bcd6, 0xb0a1b561, 0x4306ce80,
   146 	0xcd6b6b96, 0xd00cd8cb, 0xa58ad63d, 0x7fa6bce4,
   147 	0xd41d1333, 0xbb3db22a, 0x06bc797e, 0xc4c9d0f3,
   148 	0xff6bd78f, 0x42cd1feb, 0x709838fc, 0x3bc3dfc2,
   149 	0x201dcde0, 0xccd0ea3d, 0x68cba392, 0x0e5cf12c,
   150 	0xc83cb415, 0xaf5f00ff, 0x27a07205, 0x94f0604d,
   151 	0xcc7cece1, 0x28f064ff, 0x9237cb5c, 0xb5ae2ef4,
   152 	0xb8385cf9, 0xd9d3b3e1, 0xd7d7c48d, 0x97a33b3c,
   153 	0xf8625218, 0x5910ac9d, 0x2641842a, 0x8b626aa3,
   154 	0x631b0360, 0x01bb81ab, 0xb8c77b59, 0xabd62711,
   155 	0xb79a08f1, 0x7b4213cc, 0x9c9dc02f, 0x924c1933,
   156 	0x08b53c12, 0xd79bb370, 0xd0fad4b7, 0xc5361608,
   157 	0x83fb833b, 0xf9ce7e01, 0x1b072eb0, 0xff6898ae,
   158 	0xf63ea334, 0x912c1888, 0x891e84d5, 0xacc218a6,
   159 	0xf7eb632d, 0xcdc76d4a, 0x90371fa6, 0x39e1ec4d,
   160 	0x02342605, 0xc37a4f35, 0x454e73ce, 0x459bddbe,
   161 	0x9f16072e, 0x2ff9e168, 0x89ea782a, 0xe3779222,
   162 	0x0899e998, 0x9ad57d61, 0x1abcaf1b, 0x47afe3f7,
   163 	0x5de88425, 0x26b61079, 0xf25c9719, 0x305fd889,
   164 	0x65a77a1e, 0xc5725158, 0x47acacd6, 0xe91b38fa,
   165 	0xc702300d, 0x4081cc0e, 0xbc800dcf, 0x5e9cf30e,
   166 	0x607e9f80, 0xd9c7425c, 0x18c660a2, 0x6a6916f7,
   167 	0xa45bf13e, 0x6d3e1e4c, 0xd77bc251, 0xd798fc51,
   168 	0x64096868, 0x2482367c, 0x3126d82c, 0x7511ab47,
   169 	0x203ca7a0, 0x5a645676, 0x68554dbe, 0x60f140d0,
   170 	0x2475a22f, 0x48182596, 0x265570ae, 0x44205c15,
   171 	0x27d17c77, 0x842fc679, 0x3e7070db, 0x983581ee,
   172 	0x940429b7, 0x08996452, 0x12099309, 0x90345087,
   173 	0x8d125092, 0xe3800671, 0x71a71422, 0xc991a688,
   174 	0x7ea054ae, 0x3a1ac9f6, 0xb1920fe2, 0x78372072,
   175 	0x4e1cb4d8, 0xec43d4a8, 0x4b6b6ee2, 0x935b9e44,
   176 	0xf0498026, 0xe026ae11, 0x1af246a7, 0xa91359c2,
   177 	0xe11582f0, 0x28a5c3f2, 0x486dc57f, 0xf8611d39,
   178 	0xede31042, 0xc7f5a45e, 0x39bf31b4, 0xefc4d626,
   179 	0x3a8008bb, 0x1dcbb581, 0x35bdc99b, 0x464750a9,
   180 	0xd6293536, 0x7847fd1f, 0x43f20ab0, 0x81520d4d,
   181 	0x607dd0a1, 0x6d34fe83, 0xf97240d6, 0xd8b44de0,
   182 	0x28842478, 0x5605975c, 0x72770c89, 0x49f312db,
   183 	0x95d43030, 0x89e91086, 0xd5fce51c, 0xa4afb8c4,
   184 	0xa9db96ff, 0xed8235a7, 0xd59b678a, 0x5cb5160e,
   185 	0x7f3a6cf4, 0x99527fef, 0x6b57c942, 0xc93fc832,
   186 	0x981ccd98, 0x80d7eec1, 0x3e87e488, 0xe10b7c54,
   187 	0xc740f25e, 0x6c859fe7, 0x6fbcb908, 0x7c4edb40,
   188 	0xd3936099, 0x5fc025b0, 0xadbb1803, 0xe75db274,
   189 	0x28899bb2, 0x8dffe506, 0xb8af9909, 0xa5c756d8,
   190 	0xa78e2114, 0xb1d65b97, 0x3d525e1e, 0xbb48c4bb,
   191 	0xd1efdf43, 0x1503def1, 0xb76ef40e, 0x34f79948,
   192 	0x63ef4a9a, 0xc55e0918, 0x823e8caf, 0xa9d5bcca,
   193 	0x8f267697, 0x20fa4944, 0x34e967ec, 0x8c0a7b36,
   194 	0xe1b65380, 0x15e3289e, 0x387877c8, 0x9b40b250,
   195 	0x46855d40, 0x7696a9c9, 0x51d7c1f9, 0xd4f47db3,
   196 	0xada10403, 0xc690be68, 0xe8aed1be, 0x994c814b,
   197 	0x84b2f8ee, 0xedd792aa, 0x0fc169a9, 0x117a25c3,
   198 	0x2ae1204f, 0x87746850, 0x853f3c7b, 0xb1582528,
   199 	0x5afe973b, 0xc40cf7dd, 0x2d7ba939, 0x2c2e465e,
   200 	0x7272c408, 0x1579e353, 0x9489c8e1, 0x56caf11c,
   201 	0x0474b8c9, 0x49b6c8ff, 0xc85498fa, 0xada5e6a7,
   202 	0x08b883d8, 0x0c61c12a, 0x1a224137, 0x2902520b,
   203 	0xb1a1921f, 0xc1f13510, 0xf3a995b2, 0xe08fe4d1,
   204 	0x8e0aea88, 0x69adf3de, 0xebeb1751, 0xc48097e0,
   205 	0xeb3e4543, 0x91cb1bbd, 0x795e5a4b, 0x590b98b5,
   206 	0x150e9d0a, 0x6357e8b0, 0x4f20f0aa, 0x289adadc,
   207 	0xb9e0a6f0, 0x569f5611, 0xde2eb6ea, 0x0479fb32,
   208 	0x9d8fd441, 0xb383f118, 0xe6d076e1, 0x74062c30,
   209 	0xd8c01b94, 0x6dd94b17, 0xa25ddfae, 0x0cd40f1a,
   210 	0x469ba3e4, 0x99739865, 0x753f9b61, 0x4329d982,
   211 	0x3c0ccf01, 0xd2f67aaf, 0x8ed1c5ba, 0xdb334f6e,
   212 	0x596f4221, 0xd895bc99, 0xb7834534, 0xef92ec63,
   213 	0x590f43a1, 0x58bdb45b, 0x771b6d5c, 0x0d58767b,
   214 	0x81cb8321, 0x78d7d61d, 0xc10a371e, 0x43f4ffb0,
   215 	0x6e017938, 0x20933e95, 0x23a0cd70, 0x9d076f68,
   216 	0x38753433, 0x4f79aeee, 0x3d5234a2, 0x3de3398f,
   217 	0x2d696e11, 0x0055a70d, 0xda5a0e23, 0x4dcf33cd,
   218 	0x55db4cbb, 0x1e2617bf, 0xee68f539, 0x7867ed1a,
   219 	0xc2e25aa3, 0x44db191c, 0x13fc4db1, 0xcd253a0a,
   220 	0xb5323656, 0x79fc7cb4, 0xfb3571e9, 0x2a842a5c,
   221 	0xd7e7d850, 0x1676ed4f, 0x65ef80f9, 0x4af854d3,
   222 	0x2031186a, 0x819e242c, 0xa28dd83e, 0x8cc504d3,
   223 	0x162fb30b, 0x70276e87, 0xcefbcbac, 0x5bc7206a,
   224 	0x5fe535cb, 0x7cae2d2f, 0x5c85e35f, 0xf0770ea8,
   225 	0x88d10fd9, 0x549512a5, 0xfb60d6e4, 0xf0de247f,
   226 	0x9a28eb9d, 0x43ada1f4, 0x7bc99746, 0xa490a1ea,
   227 	0x5856f570, 0x437c7e8f, 0xe656c122, 0x9f394962,
   228 	0xdb0a8901, 0xc51558d1, 0xb707b718, 0xa0f25183,
   229 	0x75611f97, 0xab49f57f, 0x4af30e10, 0x95988e51,
   230 	0xc2295b0a, 0x74a40acf, 0x7afef2c8, 0x5253fc41,
   231 	0x16edef4e, 0x558212ff, 0x0beef9c1, 0x6a6b6a46,
   232 	0x0391d51a, 0x1c994b44, 0x9af8ec0d, 0xc3bcaa3d,
   233 	0x2b7d87a9, 0x4dc45708, 0xe392a5bd, 0x5b928767,
   234 	0x85bf3be8, 0x31611ee2, 0x095eafe4, 0xee511917,
   235 	0x66b9fae0, 0x2cf2ffbf, 0x39828c47, 0xb4053d63,
   236 	0x89d4a62c, 0x8e889bfe, 0xcefba110, 0xdd6cdd5e,
   237 	0xa3638499, 0x69f854d3, 0x31b11972, 0x894fa42d,
   238 	0xbee509f8, 0x8fed0c02, 0x9736af72, 0x216c75af,
   239 	0xd7ecc7a9, 0x278cf1ac, 0x5cdcbd1b, 0xe5bfe0d6,
   240 	0x0cd290a6, 0x2f632aa5, 0x251bc703, 0x2efdd16e,
   241 	0x4a680c11, 0xa5f51c57, 0x833ff618, 0x3efe78e3,
   242 	0xf8f103fe, 0xec476f3b, 0x00d00790, 0x80110bc9,
   243 	0x50b410ef, 0xe954f6e2, 0xbbc450cd, 0x18eef9e8,
   244 	0x63e9faca, 0xae585780, 0xd25426e5, 0x2b4441c6,
   245 	0xd1be4df8, 0x8c00ae3c, 0x4ce393d0, 0x1f4cc81c,
   246 	0xc327a83c, 0x1b1015af, 0x0cd2fa1a, 0xa9c8d791,
   247 	0xd99d7651, 0x3baba892, 0x275cf63c, 0xdccdb6d2,
   248 	0xb50bf039, 0xe5866644, 0x94a77a68, 0x3df53eeb,
   249 	0x4d142ba4, 0xe4305b91, 0x77a13ab2, 0xa87bb7de,
   250 	0xef40351b, 0x74f1adc2, 0xa0a4fceb, 0x1f9ccf8c,
   251 	0x4336a3f5, 0x4ba40540, 0xe5860cf8, 0x120c875c,
   252 	0xc1738fb9, 0x58425258, 0x8904a1bc, 0x0e999037,
   253 	0x9e4fb1ff, 0x34382bbc, 0x18a7d454, 0x7116ad3b,
   254 	0x5258e3b8, 0x2717f3ad, 0x6cb12f1d, 0xa4a94dc4,
   255 	0x4688e28a, 0xad6cdb93, 0x9b0f5479, 0x38c039b0,
   256 	0x9ffb1527, 0xfeaff579, 0x00006abc, 0x86abfd34,
   257 	0xfc86b152, 0x155679fc, 0x6d34fa2d, 0x7938aa85,
   258 	0x36340621, 0xdb781ea7, 0x6c567996, 0xd1b251d0,
   259 	0x4dc42c34, 0x64215058, 0x27152a5d, 0x412f413c,
   260 	0x548465d6, 0x6c1f542a, 0xc34d0621, 0xb1c4980c,
   261 	0x91628510, 0x60e04486, 0x34384100, 0x9e0c2960,
   262 	0x8d901c69, 0x470e9a44, 0x4a230980, 0x15898598,
   263 	0x929d4be5, 0x9df0fc2d, 0xc13aa205, 0x4abd05a9,
   264 	0x75041584, 0xfbda457f, 0xd9badf24, 0x412f2b80,
   265 	0xd22f98e2, 0x9099e578, 0xd61b7fdd, 0xdcf06221,
   266 	0xe85a2f95, 0x56d442a7, 0xef405fa7, 0xf25a50f6,
   267 	0x5c224db9, 0x0acab670, 0x2e0259d8, 0x329cafc5,
   268 	0xd3b20ad9, 0xc97499fb, 0xad25f62f, 0x89f00388,
   269 	0xc4c08d88, 0x6ab8c06f, 0xb95a9ba2, 0x75176a80,
   270 	0x4c23b182, 0x1d09f911, 0x9115e599, 0x96d36ba1,
   271 	0xfdd3aa0d, 0xc4490942, 0x72b0a38a, 0x3360f2f3,
   272 	0x169f4810, 0x7fcea3f4, 0xd5d81ca7, 0xeb2670e1,
   273 	0x929d2159, 0x1b5b0119, 0x3dbc1357, 0x5feb7c55,
   274 	0x1830efa9, 0x82e2effa, 0xef8ed905, 0x9a573527,
   275 	0xbe79e174, 0x412bb4a8, 0x9bdf53e9, 0xb8d13279,
   276 	0xcf4f05c8, 0x17fb039b, 0xbbc43a71, 0x9e4504dc,
   277 	0x9f6f4b98, 0xbb0e2e7c, 0xbf60dcc8, 0x527ceb43,
   278 	0xe78a4bd9, 0x5778b09b, 0x20b5ea46, 0xcefe99cc,
   279 	0x8ee38408, 0x7f3145f7, 0x2bc7d047, 0xe8e796ad,
   280 	0x8d191387, 0x57b4fcb8, 0xe411f01d, 0x6d092ede,
   281 	0x24697529, 0x856622c2, 0xa09f3b68, 0xa3f9178b,
   282 	0xc08437cd, 0xa33ec1d5, 0x3d823332, 0xbdf23246,
   283 	0x7ddd7efe, 0xe90151ef, 0x619e5eee, 0x5521ca25,
   284 	0x3632b671, 0xb07e403f, 0x3c3cd3dc, 0x5323acdc,
   285 	0x135c175b, 0xc8dbb720, 0x5f1fde61, 0xd269f216,
   286 	0x76159e6a, 0x62ec691b, 0xf7e78bf3, 0x834cfdcd,
   287 	0x0e7aae01, 0x2ddd45dd, 0x42b376c5, 0x9635e201,
   288 	0x953ae853, 0x64184268, 0x362aa256, 0xb1303a38,
   289 	0x5b3b98af, 0x94173516, 0xb95af11e, 0xf3bc97b4,
   290 	0xb0a500d0, 0x085f80ed, 0xfc211fb4, 0xefebc124,
   291 	0xcbe7ac2c, 0x1f3117e5, 0x1ee6da1c, 0xe2d2a323,
   292 	0x5b5b6424, 0x1beff3ac, 0xf2cd36fa, 0xaa0931dd,
   293 	0xc619448f, 0x77445533, 0xfef11576, 0xee2fe459,
   294 	0x89526ab9, 0xe202ab7c, 0xdbb69805, 0x045b1c47,
   295 	0x33e9fd1d, 0x06252eec, 0xd1fc5a69, 0xad58b7e1,
   296 	0x5dd24e2d, 0x8a0bffb6, 0x7afe9874, 0xd4f80175,
   297 	0xea6b5e1c, 0x40d46b03, 0x66da03ec, 0x1353c0c3,
   298 	0x35a5d33b, 0xc7e155e3, 0xf6ae959b, 0x120efbed,
   299 	0x66b9ab9d, 0x29e50750, 0xc4878fe0, 0x1abdc65b,
   300 	0xd13b5e3e, 0x5d7e4ac8, 0xca13a9c5, 0x5f95811b,
   301 	0xf7db7ff0, 0x4c12bb39, 0x0dbacd47, 0x2a091403,
   302 	0x0444ba45, 0xc98601ba, 0x84d8a890, 0xc8e558c6,
   303 	0x31fecf7c, 0xf408a8fe, 0xf08bbb77, 0xc3f2a184,
   304 	0xcbe11c7c, 0x7437497d, 0x4e8c7056, 0x60435e2f,
   305 	0x05c35f4b, 0xb71514d4, 0x8ac7c2c6, 0x394f82f7,
   306 	0xe488bf33, 0x79b76802, 0xca5b98a4, 0xdca78198,
   307 	0x164a41a8, 0xaf3faa27, 0xad3dafc0, 0x0c62d726,
   308 	0x2b430927, 0x2533f6c0, 0xadf5f1bf, 0x09e10841,
   309 	0x94749d67, 0x83ec368d, 0x029ecb6f, 0x6df99368,
   310 	0x2fca4b48, 0xb351ae91, 0x4341c37c, 0xbd972a67,
   311 	0x2c6de7f5, 0x4849a77e, 0x3e53305a, 0x2c2c3aef,
   312 	0xd5b8e02c, 0x64deb65b, 0xd90ae6bd, 0x42eea770,
   313 	0x4b005708, 0x20f0a98b, 0x1ae0e56b, 0x8326ca87,
   314 	0xad3b1f90, 0x676489be, 0x7b29a36d, 0xa7a20bcc,
   315 	0xf36dcad0, 0xa51bef39, 0xec7e695b, 0x10aa85a7,
   316 	0x200f30d3, 0x630aae59, 0x1b60c69a, 0x81d9cb50,
   317 	0xdc59e86d, 0xf0aa2b3c, 0x5ae6d030, 0x40706c1f,
   318 	0x26f9c460, 0x0f3ae2c3, 0xa9b14bfa, 0xc06709fb,
   319 	0x10ac35f7, 0x4b096e4b, 0x33600413, 0x99f13b96,
   320 	0xdf41f03f, 0x70a30f15, 0x88a0df00, 0xc9a0631a,
   321 	0x62e197a3, 0x280af951, 0x3b906f11, 0x9b392e3b,
   322 	0x5f7f22ea, 0x5d9134ac, 0x3d82598e, 0x3b59cf72,
   323 	0x815bcfac, 0xfc572813, 0x0caaa4c3, 0x2c1960a0,
   324 	0x0006b050, 0x6b065e98, 0x506aaa4a, 0x8291fd0c,
   325 	0x5e983b6f, 0xacfae778, 0x780af43c, 0x9346b32a,
   326 	0x2291fbbc, 0x0ef33d31, 0x34aa8dd2, 0x328865c1,
   327 	0x9f182b11, 0x4d3d015b, 0x768b37c5, 0x0839cb61,
   328 	0x18aaf43a, 0x2316d82c, 0x7c09abd6, 0xa4b9bfa0,
   329 	0xc9a6d34a, 0x09e7c93b, 0x7860531b, 0xb901921d,
   330 	0xc5a11554, 0xf385c592, 0x259bc090, 0xaec4eaa4,
   331 	0x19c834ce, 0x8fa8f29d, 0xc8fda5c1, 0x3e22c102,
   332 	0xb3014bb1, 0x4d3bb10b, 0x1d8d695d, 0x5853612b,
   333 	0x9a3b0936, 0x7d8ee343, 0xd0f34cae, 0xdcb34b9c,
   334 	0x5ae06060, 0x2b763287, 0x76936e2a, 0x8dab1fcf,
   335 	0xf7297095, 0x6c9dee83, 0x68a6c1cb, 0xd84fdd61,
   336 	0x11f1ffaf, 0x970206a7, 0xebeb7ded, 0x422b6ad4,
   337 	0x17b8f411, 0x849d6241, 0x146aa066, 0x20333230,
   338 	0x233a9b2b, 0xb82ff617, 0x2376893c, 0xf9288b0c,
   339 	0xf4248ac4, 0x32be0649, 0xf93b9cb7, 0x4556ba0e,
   340 	0xc90bb197, 0xdf9ca532, 0x259d70c0, 0xc5c2b43c,
   341 	0x49a29e84, 0x0d390f91, 0x96659eae, 0x92d8267a,
   342 	0xcb0bbf8d, 0xde7d0221, 0x3f1c92e1, 0x56a05c1a,
   343 	0xae9184e4, 0x4f068682, 0x4feb67bf, 0x918e4ac7,
   344 	0x2c6b57a5, 0x234ff9e6, 0x6e399a10, 0xaebdc7e3,
   345 	0x8b20db43, 0xc8245123, 0xa1001281, 0xd1a8145a,
   346 	0x6991acb4, 0x2e0394ba, 0x2e4a68b9, 0xb1aeaf46,
   347 	0x32233481, 0x2a5988e5, 0x0da294a8, 0xaf9bc0ad,
   348 	0xebc73eea, 0x860d3715, 0x9077c28d, 0xb4133a07,
   349 	0xe9a9e399, 0x6aed6762, 0x63009581, 0x38d8594d,
   350 	0x19f8fd39, 0x032feeae, 0x7f7d10a0, 0xeeb486bb,
   351 	0x3f31f0ae, 0x8092105e, 0x614cee3b, 0xfe45c8f9,
   352 	0xa3ad7e46, 0x0632df40, 0x2eed6d4e, 0xc1a25abd,
   353 	0x457af909, 0x0d2dec56, 0x585393ae, 0x15132886,
   354 	0x3801f7c3, 0x037ccbd6, 0x4d03013b, 0x169231f4,
   355 	0xa856527f, 0x310cda2f, 0x55249845, 0xe3161213,
   356 	0x90aa3003, 0x6b552eb4, 0xe741d92e, 0x6e320a74,
   357 	0x17be4441, 0xef9b3cd9, 0x44000a2c, 0xa2a2cf3c,
   358 	0x7da2a044, 0x14d5116f, 0x5b7c7d00, 0x6a6e3826,
   359 	0xd6b57178, 0x3c4d3b78, 0xcd911165, 0x77dedfcf,
   360 	0x56139a86, 0x92a1a469, 0x53164705, 0xcdfb7f5d,
   361 	0x51086abe, 0x2e2fd7bd, 0xea6c3578, 0x366199da,
   362 	0x02ad6cc7, 0xd79acb1a, 0x477cc1fa, 0xefa1ce07,
   363 	0x6b3091b0, 0xbc834310, 0x6a70a72f, 0x3f4aa063,
   364 	0x35a3636b, 0xace70b7b, 0xa6c43fd1, 0x909f06e1,
   365 	0x382190f2, 0x851fe028, 0xbc8d7bdc, 0x89fb7571,
   366 	0xf3aaa582, 0x538d77f9, 0xfeb92417, 0x6d1de4da,
   367 	0x68c354e1, 0x012fba62, 0x7b31fa82, 0x2230df62,
   368 	0x1cee4e7f, 0xea90d996, 0xf8d10346, 0x6c5ce766,
   369 	0xf8581c36, 0xfdef61c5, 0x88ebe86c, 0x7af33399,
   370 	0x0e400928, 0x87b28cef, 0x6b17b0c6, 0xce87b48b,
   371 	0x1c0b6b85, 0x38bde649, 0x423a6707, 0x076d43f5,
   372 	0x5789f482, 0x348cd909, 0xd7d6f1f9, 0x84f4e0b3,
   373 	0x8c71489e, 0xd2b14964, 0x7dcee36e, 0xd0d19cba,
   374 	0x71a36947, 0x0e45c447, 0xdb669f95, 0x844a178e,
   375 	0x635dedf2, 0xef71d80e, 0x6a380aa4, 0xb5b64e09,
   376 	0x3e3bb4e7, 0x2453a836, 0xa8aabe91, 0xffbc40b3,
   377 	0x3bd513e4, 0xccd4c53f, 0x2a39903c, 0x0c1f08df,
   378 	0xf6827b07, 0xdcf1404c, 0xfa7c6f81, 0xbbc62c7c,
   379 	0xbf24ddcc, 0x124eafc2, 0xe3db79dc, 0xc6707089,
   380 	0x6430ae07, 0xb8f82c8c, 0x5eb4d3ad, 0x6260bff0,
   381 	0xbacf5454, 0xa822e0a8, 0x7a1bf7f5, 0x8272a3dd,
   382 	0xeb048f5e, 0xbd77ac78, 0x247c547b, 0xd779974a,
   383 	0x72c86c89, 0xbfacadbe, 0x150db78f, 0xd1fe26d8,
   384 	0x0a9293c5, 0x2c751b25, 0xc788d1ea, 0x6edace18,
   385 	0x9b8ceeb4, 0x832d3f68, 0x92601692, 0x48592fcc,
   386 	0xb6d05c8b, 0x5ea09baf, 0xa6eab7b9, 0x780ecc5c,
   387 	0x50c2a322, 0x025371b4, 0x3632fbb9, 0x34a2ee96,
   388 	0xb4b81c00, 0xdb9c03b9, 0xadf59b03, 0x8f4af575,
   389 	0x68f22c35, 0x96ba4f71, 0x6faa3142, 0x14c139ed,
   390 	0x19fe4d69, 0x6829b036, 0x2f17baea, 0x6c257bb7,
   391 	0x61a9cbc1, 0x2c68f726, 0x19461a07, 0x6d037bd3,
   392 	0x813c85fa, 0x08c1e271, 0x1a47e09c, 0xf32a3f7c,
   393 	0xda62d218, 0x4010ed0d, 0x2ed8a46b, 0x1d2ae3e7,
   394 	0x20ab03f9, 0x206a13fa, 0x310aaaed, 0xb22b8e54,
   395 	0x61f08135, 0x38eb1314, 0x2d44cb5e, 0x5a17800e,
   396 	0x550b2557, 0x98d0eb26, 0xc2da19be, 0xc0f6e0d0,
   397 	0x0e76708f, 0x6033ce44, 0x8cfdafed, 0x9c800e3e,
   398 	0xcea3ebf5, 0x59eea064, 0x46f1145d, 0x323d590d,
   399 	0x4c8e784e, 0x41c3d83b, 0x1d625dcb, 0xab6d9453,
   400 	0x0cf3fae6, 0xb9d796ee, 0x2585292f, 0x40506092,
   401 	0xa6211a2b, 0x42b2393e, 0x82caf4b3, 0xee2e44bb,
   402 	0x135c9368, 0x4098cdbd, 0xac97bc17, 0xad8aa4d3,
   403 	0x7c8865a1, 0x381e2151, 0x7e1a0749, 0x1f799253,
   404 	0x1699f840, 0x14c8fd6c, 0x85b2b6ed, 0x69b78ded,
   405 	0xcc051a36, 0xb7a1e661, 0x45b6e76b, 0xccadcf7f,
   406 	0x3aa11415, 0x8c11d2cb, 0xdb2454d7, 0xa8df50e6,
   407 	0x2161ca65, 0x0c16b5f3, 0xed54642c, 0xb0e8f918,
   408 	0xd7e5f1f2, 0x34eddbb7, 0xc7cd91a7, 0x3afcbb7c,
   409 	0x56c998d2, 0xb2e9e747, 0xc7008fd3, 0xeb7d795e,
   410 	0x222b5e8d, 0xa4fd7509, 0x052e2ad6, 0x603a7368,
   411 	0x972bb0c6, 0xf099b76a, 0xe33a7586, 0xd6c557af,
   412 	0x3e185836, 0x1a8f4db3, 0xf99c9940, 0x355a4ff5,
   413 	0xbe527c1f, 0xf8e8c181, 0x706c77c6, 0x7f4a5c17,
   414 	0x9a6457ad, 0x8848f352, 0x4b115d18, 0x30592d89,
   415 	0x8af40e6b, 0x859cbf6c, 0x09389f25, 0x8d6e1744,
   416 	0x27c349de, 0x277c4698, 0xd7d7ae31, 0x1108c608,
   417 	0x04e4e34a, 0x4c46d561, 0x4b757e07, 0xf25ac026,
   418 	0x552f0541, 0xdac39f0c, 0xd49102cf, 0x7a6476c1,
   419 	0xfa5e24c5, 0x1f634394, 0xbb88ea72, 0xd363580f,
   420 	0x5c3159c4, 0xbb84e75a, 0x13b7d296, 0x74f28e04,
   421 	0x1299062b, 0x992e3a87, 0x2f3f6fb0, 0x6164b1ce,
   422 	0x7baebf5d, 0xd62282cc, 0xc33d8d55, 0xb94b9d3e,
   423 	0x657628c8, 0x50379167, 0x510dbda3, 0x735ce9e4,
   424 	0x77303381, 0x38a00a4a, 0x9cf4acea, 0x04b4f63e,
   425 	0x4d399fcc, 0xbf600410, 0x5ff107f7, 0x3f87f003,
   426 	0xe0c3c60d, 0xcc013fc6, 0xf5fcf0bc, 0xb5f5b301,
   427 	0x01cac99c, 0x2c7ca609, 0xdc5ecec1, 0x02c3774c,
   428 	0xb61570c7, 0x0c06c8a3, 0xea895af9, 0x60eb3b72,
   429 	0x03c2bd85, 0x2a390c61, 0x05da966d, 0x2b8b998e,
   430 	0x2c5d2e02, 0xc4cebb4d, 0x89d3853b, 0xfcba7d56,
   431 	0x59885b33, 0xa977170e, 0xa5cb61db, 0xe4f80ea2,
   432 	0x72962078, 0x5b4c9588, 0xe4fec48b, 0x9e37dba6,
   433 	0xb2a186f9, 0x413f576f, 0x55e95ee9, 0x3f1a3c85,
   434 	0x3c454d86, 0xcafaca6c, 0xc9dba9ab, 0xde776932,
   435 	0x99a89d03, 0xc50472d1, 0xa5af2332, 0x20e4b397,
   436 	0x5b4b2c7f, 0x1f6267c9, 0xa9cda978, 0x0e71545b,
   437 	0x127d1b0a, 0x588e280d, 0xcec7c8ea, 0x9bed4dcb,
   438 	0x992a1f77, 0x6d62796d, 0x9127e5a4, 0xb6c9b9be,
   439 	0xc0ff30d0, 0x9372915f, 0x60acbea5, 0x7bbc08e9,
   440 	0x7d5093a1, 0xb79252a9, 0xfee3b6ba, 0xc41a771c,
   441 	0xc57cf7d9, 0xadc3e130, 0xe8f2fe17, 0x5b980ab2,
   442 	0x2d67278f, 0x64cb658b, 0x043d0286, 0x5236e460,
   443 	0x475d7645, 0xf4cae46e, 0x54239775, 0x13669a8c,
   444 	0xe01b8347, 0xc839bd20, 0x7fced96c, 0xd271a191,
   445 	0x7321c7fa, 0xa5ef49a3, 0xa66d9eb7, 0x0addbff6,
   446 	0x5e91ba12, 0x34e9fe47, 0x8590877a, 0xcabfef16,
   447 	0x9bae9e31, 0xa434555b, 0x974f93d9, 0x329a5ac5,
   448 	0x3ce17eac, 0x899a77cf, 0xe3b1c5dc, 0xed852c36,
   449 	0x2401f45b, 0x0d454af9, 0xd20d385c, 0x3a835f86,
   450 	0x28b9cd48, 0x88886e2c, 0xc2a6fb3c, 0x0ee0bd70,
   451 	0x0ca75e72, 0x73b48802, 0x715a6314, 0x9e9c7863,
   452 	0x88c804bd, 0x442fd61c, 0x5f762ef9, 0x4d5483a9,
   453 	0xee90df3d, 0xfabbb035, 0x465e8c7f, 0x4be8b281,
   454 	0x2edc4bad, 0x53d4f0eb, 0xe6e4c61b, 0xbf13d8fc,
   455 	0xe206225e, 0x1326f01d, 0x6692ae67, 0x99af2ea9,
   456 	0x3e3d04b7, 0x4f55f6ae, 0xf8c014db, 0x7d2dbdbf,
   457 	0x654d288b, 0x602e2247, 0x52336400, 0x9f59bbf5,
   458 	0xd41380bb, 0xd2027d7d, 0xced6e253, 0x894e49bd,
   459 	0x203cf6dd, 0x5f73ae99, 0x95504e19, 0xce49bbe8,
   460 	0x7c9a5a3d, 0x9beef4a0, 0x22bd787b, 0xc6d90050,
   461 	0x7369871e, 0xa1c52993, 0x027ba4ee, 0x3b7331c0,
   462 	0x2ea59a0a, 0x4ef269ea, 0x01e794eb, 0x79bd7dee,
   463 	0x6b005847, 0x30045f23, 0xddf0124e, 0xefdce7da,
   464 	0xb993d874, 0x614eaa2e, 0xda05b8b7, 0x3689af33,
   465 	0x01b7e782, 0xfea3dc2b, 0x42935a3c, 0x94ea6450,
   466 	0xec303ceb, 0x75d6a928, 0xd079d993, 0xf5a5d393,
   467 	0xa7ebd3b7, 0x6ece9f37, 0x5e943a72, 0xeced33f7,
   468 	0xa549e3af, 0x4c9e051e, 0x461ee6ee, 0xcd619fa1,
   469 	0x7f4ad824, 0x12272d30, 0x7bc09124, 0x34f20bdd,
   470 	0x3ac4d642, 0xd0064621, 0x0c6133d6, 0x950df0bb,
   471 	0x958d4105, 0x1ed6f16f, 0xe07d86b0, 0x2855c1dd,
   472 	0x4837346d, 0xd75d4743, 0x3fda905c, 0x36e88b40,
   473 	0x93c04c9c, 0x4d29e29c, 0xb8bd3ac5, 0x8ff2c59d,
   474 	0xeba0bc74, 0xfe1711db, 0x0e16380c, 0xe48bd24e,
   475 	0xcf6105d1, 0x77ed9596, 0x62aface1, 0xcb99cac9,
   476 	0x796072f2, 0xbb9f12c0, 0xace383ae, 0x6e4b2733,
   477 	0x8556abcc, 0xa8179f67, 0x2dfdbd6c, 0x4d281a64,
   478 	0xa7324741, 0x77ed34de, 0x68bb7ce4, 0x8393f64b,
   479 	0x7ead4ccf, 0x6b9a50de, 0x10c0c963, 0x04f654fe,
   480 	0xe734c40c, 0x3fdaa1fb, 0xb5f2eba2, 0xf4435a95,
   481 	0x4f88f9b2, 0x285f5e5c, 0xe1ca6132, 0xd6f61df6,
   482 	0x0aa46e51, 0x43b72313, 0xd3eaacb7, 0x433e2268,
   483 	0x43b9950f, 0xb88c310f, 0x1f56e972, 0xe13c5aaa,
   484 	0xb5348606, 0x12fa222c, 0xab5fdba3, 0xa815d750,
   485 	0x897fe33f, 0xba8c0a37, 0x1de574c5, 0xd9bee7f9,
   486 	0x02a0e3d6, 0x8f6d191d, 0x962755ec, 0xbe4d6112,
   487 	0x8937981a, 0x3d1a6fdc, 0xb870fc69, 0x53feeb0b,
   488 	0x474fc1f1, 0x5fb8f503, 0x208c4889, 0x54ceb108,
   489 	0x4177dc93, 0x5d72db9e, 0x830085ff, 0x49dfb662,
   490 	0x5f89fec9, 0xb0286466, 0x5e5257d6, 0x0a544b4e,
   491 	0x419ec1be, 0xccd48c12, 0x2eab64e3, 0xa11b8860,
   492 	0x680bc2b0, 0x882ee9da, 0xaa8ade45, 0xf8a130a8,
   493 	0xef5a16a1, 0xd6c7163c, 0x9a0042be, 0x492bc5cd,
   494 	0x98c93b6a, 0x5fd23848, 0x0c6d9ce2, 0xdff8e38e,
   495 	0xe1c49fdb, 0x391ffc7c, 0x6348380a, 0xb224b727,
   496 	0x12602ab5, 0x8b9b4de3, 0x711391e0, 0x8197c0e9,
   497 	0x3cc573b8, 0xc9593549, 0xf7f805db, 0x7ba1b557,
   498 	0xa685a0c3, 0x894ee8f5, 0x2a2826d8, 0x1779921b,
   499 	0x929d7024, 0x1e4cf9f6, 0xc0b910f0, 0xf153876d,
   500 	0x40df17bb, 0x51143ecc, 0xeb66d1d0, 0x18ae6962,
   501 	0xeac11a1d, 0x64c15b42, 0xa7d487dc, 0x1b978257,
   502 	0x75eeb675, 0x51900e23, 0xa82a3d93, 0x77cc29b5,
   503 	0x797d434d, 0x688a772e, 0x1337daa4, 0x7431aa11,
   504 	0x20b9c703, 0x0c2cd343, 0x4b225d13, 0x8040168d,
   505 	0xc148d752, 0x6dd14d74, 0x223fe499, 0xef566cb9,
   506 	0x9160af4a, 0xc244fb81, 0x2e9a6f29, 0x31bfa48f,
   507 	0x6297246e, 0xc30d7e07, 0xb666c465, 0xb7753945,
   508 	0x882ec420, 0x28556095, 0x4223e468, 0x9f577bc1,
   509 	0x3817ae61, 0xe6edc95e, 0x2fe30651, 0x27949151,
   510 	0xdadf5505, 0x183ffb01, 0x73afeaba, 0x477c512a,
   511 	0xe6ac86ff, 0xbb39b8cc, 0x46101807, 0x22887e2b,
   512 	0x16a68e7f, 0xe3b4b904, 0xba4a1726, 0xfc576456,
   513 	0x086ed2ad, 0xe91db7c7, 0x2ff2a91c, 0xbd689f58,
   514 	0xd741c2d8, 0x778d6614, 0xeda7fdd0, 0x090efe78,
   515 	0xeb60f18a, 0x7aa8df6f, 0xb0a294bd, 0xf11a954f,
   516 	0x51d9bfba, 0x33177cec, 0x6e457892, 0x60ab9a43,
   517 	0x89f1f5be, 0xdba31765, 0x5ca7de78, 0xd3b46207,
   518 	0x2ffa43fc, 0x33c2e2c2, 0x37cd521d, 0xcec775e2,
   519 	0x903d93f2, 0x9121e0eb, 0x569e451c, 0x4f1ee67f,
   520 	0xc9e88fa1, 0x6c0e5110, 0x53162db9, 0x4b508269,
   521 	0xad8edbec, 0x3b79ae41, 0x8758cf55, 0x4f59335f,
   522 	0x34996ae6, 0x0ce2d5bd, 0x2b2ab86c, 0x3e139fd7,
   523 	0x26f4bd84, 0xd8a21348, 0x4d658d72, 0x7e65e15f,
   524 	0x612706bd, 0xc0f85f51, 0x658939f0, 0x215b9eed,
   525 	0xa94315e2, 0xe5ffa4ae, 0x88b53adc, 0x17f75c11,
   526 	0x7e3ab9eb, 0x1483edbd, 0xb49a2d97, 0x78946142,
   527 	0xfa5e1f04, 0x9cdf464f, 0xba0b5887, 0x688ddacb,
   528 	0x69ea5bfb, 0x114a9ce9, 0x216bdc62, 0x2d73cce6,
   529 	0x2a7784d4, 0x6d7684bd, 0x5ef097b1, 0xa60351b8,
   530 	0xe61a26bd, 0xd166ce48, 0x8457ef61, 0x3cdde47d,
   531 	0x4029263c, 0x32775039, 0x6c383edf, 0x35f1ec30,
   532 	0x843bfe5b, 0xfdf840f2, 0x7af307d6, 0x0d04e33b,
   533 	0x48b1c516, 0xb809890b, 0xc49478cc, 0xa5c6f63a,
   534 	0x3d80d8c5, 0x134c3d56, 0x4a737a0c, 0x12997c2f,
   535 	0x9e8e47ff, 0x2b38d14c, 0x1888a92e, 0x86d6bcfa,
   536 	0x28a4fcf7, 0x5b9d0bc2, 0x7d72a236, 0x149a3052,
   537 	0xa94832bd, 0xd78fc426, 0x1785836b, 0x53f4748a
   538 	};
   539 
   540 TUint8* MemCopy(TAny* aTrg, const TAny* aSrc, TInt aLength)
   541     {
   542 	return Mem::Copy(aTrg, aSrc, aLength);
   543     }
   544 
   545 void DoOverlapTest(TUint8* aBigBuf, TUint8* aBigBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aTestLen)
   546 	{	
   547 	test.Printf(_L("."));
   548 	
   549 	TInt32 i;
   550 
   551 	TUint32* x = (TUint32*)aBigBuf;
   552 	TUint32* xdash = (TUint32*)aBigBuf2;
   553 	const TUint32* s = (TUint32*)RandomData;
   554 
   555 	for (i=0; i<aBufLen; i+=4)		// fill with noise (this fills the whole big buffer)
   556 		*xdash++ = *x++ = *s++;
   557 
   558 	TUint8* p = aBigBuf + aSrcOffset;
   559 	TUint8* pdash = aBigBuf2 + aSrcOffset;
   560 
   561 	TUint8* q = aBigBuf + aDestOffset;  // p..p+aTestLen and q..q+aTestLen overlap
   562 	TUint8* qdash = aBigBuf2 + aDestOffset;
   563 
   564 	//
   565 	// Naive memcpy implementation:  do not imitate!
   566 	//
   567 
   568 	TUint8* r;
   569 	TUint8* t;
   570 	if (q > p)
   571 		{
   572 		r = q + aTestLen;  // point to end of buffer;
   573 		t = p + aTestLen;
   574 
   575 		while(r!=q)
   576 			*--r=*--t;
   577 		}
   578 	else
   579 		{
   580 		r = q;
   581 		t = p;
   582 
   583 		while(r!=(q+aTestLen))
   584 			*r++=*t++;
   585 		}
   586 
   587 	TUint8* result = MemCopy(qdash, pdash, aTestLen);
   588 	test(result == qdash + aTestLen);
   589 
   590 	for (i=0; i<aBufLen; i++)
   591 		{
   592 		if (aBigBuf[i]!=aBigBuf2[i])
   593 			{
   594 			test.Printf(_L("\nError! %4d != %4d at %4d!\n"), aBigBuf[i], aBigBuf2[i], i);
   595 			test(0);
   596 			}
   597 		}
   598 	}
   599 
   600 void DoTest(TUint8* aBuf1, TUint8* aBuf2, TInt aBufLen, TInt aSrcOffset, TInt aDestOffset, TInt aLen, TBool aSrc2)
   601 	{
   602 	test.Printf(_L("."));
   603 	TInt i;
   604 	TUint32* p=(TUint32*)aBuf1;
   605 	const TUint32* s=RandomData;
   606 	for (i=0; i<aBufLen; i+=4)
   607 		*p++=*s++;
   608 	p=(TUint32*)aBuf2;
   609 	for (i=0; i<aBufLen; i+=4)
   610 		*p++=*s++;
   611 	TUint8* pS;
   612 	TUint8* pD;
   613 	TUint8* pSB;
   614 	const TUint8* pSB0;
   615 	TUint8* pDB;
   616 	const TUint8* pDB0;
   617 	if (aSrc2)
   618 		{
   619 		pSB=aBuf2;
   620 		pSB0=((const TUint8*)RandomData)+aBufLen;
   621 		pDB=aBuf1;
   622 		pDB0=((const TUint8*)RandomData);
   623 		pS=aBuf2+aSrcOffset;
   624 		pD=aBuf1+aDestOffset;
   625 		}
   626 	else
   627 		{
   628 		pSB=aBuf1;
   629 		pDB0=((const TUint8*)RandomData)+aBufLen;
   630 		pDB=aBuf2;
   631 		pSB0=((const TUint8*)RandomData);
   632 		pS=aBuf1+aSrcOffset;
   633 		pD=aBuf2+aDestOffset;
   634 		}
   635 	TUint8* retptr = MemCopy(pD,pS,aLen);
   636 	TInt err=0;
   637 	if (retptr != pD + aLen)
   638 		goto error;
   639 	err++;
   640 	for (i=0; i<aBufLen; i++)
   641 		{
   642 		if (pSB[i]!=pSB0[i])
   643 			goto error;
   644 		}
   645 	err++;
   646 	for (i=0; i<aDestOffset; i++)
   647 		{
   648 		if (pDB[i]!=pDB0[i])
   649 			goto error;
   650 		}
   651 	err++;
   652 	for (i=0; i<aLen; i++)
   653 		{
   654 		if (pDB[i+aDestOffset]!=pSB0[i+aSrcOffset])
   655 			goto error;
   656 		}
   657 	err++;
   658 	for (i=aDestOffset+aLen; i<aBufLen; i++)
   659 		{
   660 		if (pDB[i]!=pDB0[i])
   661 			goto error;
   662 		}
   663 	return;
   664 
   665 error:
   666 	test.Printf(_L("\n\nERROR %d: aBufLen=%d, aSrcOffset=%d, aDestOffset=%d, aLen=%d, aSrc2=%d\n\n"),
   667 				err, aBufLen, aSrcOffset, aDestOffset, aLen, aSrc2);
   668 	test(0);
   669 	}
   670 
   671 GLDEF_C TInt E32Main()
   672 	{
   673 	test.Title();
   674 	test.Start(_L("Create chunk"));
   675 	RChunk c;
   676 	TInt r=c.CreateDisconnectedLocal(0,0x1000,0x100000);
   677 	test(r==KErrNone);
   678 	r=c.Commit(0x10000,0x1000);
   679 	test(r==KErrNone);
   680 	TUint8* pBuf1=c.Base();
   681 	TUint8* pBuf2=pBuf1+0x10000;
   682 
   683 	TInt s;
   684 	TInt d;
   685 	TInt l;
   686 
   687 	for (l=1; l<300; l+=3)
   688 		{
   689 		for (s=0; s<=4096-l; s+=227)
   690 			{
   691 			test.Printf(_L("\ns=%4d l=%4d: "),s,l);
   692 			for (d=0; d<=4096-l; d+=229)
   693 				{
   694 				DoTest(pBuf1,pBuf2,4096,s,d,l,0);
   695 				DoTest(pBuf1,pBuf2,4096,s,d,l,1);
   696 				}
   697 			}
   698 		}
   699 
   700 	for (l=1; l<300; l+=3)
   701 		{
   702 		for (s=4096-l; s>=0; s-=227)
   703 			{
   704 			test.Printf(_L("\ns=%4d l=%4d: "),s,l);
   705 			for (d=4096-l; d>=0; d-=229)
   706 				{
   707 				DoTest(pBuf1,pBuf2,4096,s,d,l,0);
   708 				DoTest(pBuf1,pBuf2,4096,s,d,l,1);
   709 				}
   710 			}
   711 		}
   712 	
   713 	for (l=1; l<400; l+=((l<=64)?1:3) )
   714 		{
   715 		test.Printf(_L("\nOverlap test: l=%4d: "),l);
   716 		for (s=32; s<=4096-32-l; s+=101)	// want s to take all values 0...31 modulo 32
   717 			{
   718 			for (d=s-32; d<=s+32; ++d)
   719 				{
   720 				DoOverlapTest(pBuf1,pBuf2,4096,s,d,l);
   721 				}
   722 			}
   723 		}
   724 	
   725 	c.Close();
   726 	test.End();
   727 	return 0;
   728 	}