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