linux/lib/crc32.c
<<
>>
Prefs
   1/*
   2 * Aug 8, 2011 Bob Pearson with help from Joakim Tjernlund and George Spelvin
   3 * cleaned up code to current version of sparse and added the slicing-by-8
   4 * algorithm to the closely similar existing slicing-by-4 algorithm.
   5 *
   6 * Oct 15, 2000 Matt Domsch <Matt_Domsch@dell.com>
   7 * Nicer crc32 functions/docs submitted by linux@horizon.com.  Thanks!
   8 * Code was from the public domain, copyright abandoned.  Code was
   9 * subsequently included in the kernel, thus was re-licensed under the
  10 * GNU GPL v2.
  11 *
  12 * Oct 12, 2000 Matt Domsch <Matt_Domsch@dell.com>
  13 * Same crc32 function was used in 5 other places in the kernel.
  14 * I made one version, and deleted the others.
  15 * There are various incantations of crc32().  Some use a seed of 0 or ~0.
  16 * Some xor at the end with ~0.  The generic crc32() function takes
  17 * seed as an argument, and doesn't xor at the end.  Then individual
  18 * users can do whatever they need.
  19 *   drivers/net/smc9194.c uses seed ~0, doesn't xor with ~0.
  20 *   fs/jffs2 uses seed 0, doesn't xor with ~0.
  21 *   fs/partitions/efi.c uses seed ~0, xor's with ~0.
  22 *
  23 * This source code is licensed under the GNU General Public License,
  24 * Version 2.  See the file COPYING for more details.
  25 */
  26
  27/* see: Documentation/crc32.txt for a description of algorithms */
  28
  29#include <linux/crc32.h>
  30#include <linux/module.h>
  31#include <linux/types.h>
  32#include "crc32defs.h"
  33
  34#if CRC_LE_BITS > 8
  35# define tole(x) ((__force u32) __constant_cpu_to_le32(x))
  36#else
  37# define tole(x) (x)
  38#endif
  39
  40#if CRC_BE_BITS > 8
  41# define tobe(x) ((__force u32) __constant_cpu_to_be32(x))
  42#else
  43# define tobe(x) (x)
  44#endif
  45
  46#include "crc32table.h"
  47
  48MODULE_AUTHOR("Matt Domsch <Matt_Domsch@dell.com>");
  49MODULE_DESCRIPTION("Various CRC32 calculations");
  50MODULE_LICENSE("GPL");
  51
  52#if CRC_LE_BITS > 8 || CRC_BE_BITS > 8
  53
  54/* implements slicing-by-4 or slicing-by-8 algorithm */
  55static inline u32
  56crc32_body(u32 crc, unsigned char const *buf, size_t len, const u32 (*tab)[256])
  57{
  58# ifdef __LITTLE_ENDIAN
  59#  define DO_CRC(x) crc = t0[(crc ^ (x)) & 255] ^ (crc >> 8)
  60#  define DO_CRC4 (t3[(q) & 255] ^ t2[(q >> 8) & 255] ^ \
  61                   t1[(q >> 16) & 255] ^ t0[(q >> 24) & 255])
  62#  define DO_CRC8 (t7[(q) & 255] ^ t6[(q >> 8) & 255] ^ \
  63                   t5[(q >> 16) & 255] ^ t4[(q >> 24) & 255])
  64# else
  65#  define DO_CRC(x) crc = t0[((crc >> 24) ^ (x)) & 255] ^ (crc << 8)
  66#  define DO_CRC4 (t0[(q) & 255] ^ t1[(q >> 8) & 255] ^ \
  67                   t2[(q >> 16) & 255] ^ t3[(q >> 24) & 255])
  68#  define DO_CRC8 (t4[(q) & 255] ^ t5[(q >> 8) & 255] ^ \
  69                   t6[(q >> 16) & 255] ^ t7[(q >> 24) & 255])
  70# endif
  71        const u32 *b;
  72        size_t    rem_len;
  73# ifdef CONFIG_X86
  74        size_t i;
  75# endif
  76        const u32 *t0=tab[0], *t1=tab[1], *t2=tab[2], *t3=tab[3];
  77# if CRC_LE_BITS != 32
  78        const u32 *t4 = tab[4], *t5 = tab[5], *t6 = tab[6], *t7 = tab[7];
  79# endif
  80        u32 q;
  81
  82        /* Align it */
  83        if (unlikely((long)buf & 3 && len)) {
  84                do {
  85                        DO_CRC(*buf++);
  86                } while ((--len) && ((long)buf)&3);
  87        }
  88
  89# if CRC_LE_BITS == 32
  90        rem_len = len & 3;
  91        len = len >> 2;
  92# else
  93        rem_len = len & 7;
  94        len = len >> 3;
  95# endif
  96
  97        b = (const u32 *)buf;
  98# ifdef CONFIG_X86
  99        --b;
 100        for (i = 0; i < len; i++) {
 101# else
 102        for (--b; len; --len) {
 103# endif
 104                q = crc ^ *++b; /* use pre increment for speed */
 105# if CRC_LE_BITS == 32
 106                crc = DO_CRC4;
 107# else
 108                crc = DO_CRC8;
 109                q = *++b;
 110                crc ^= DO_CRC4;
 111# endif
 112        }
 113        len = rem_len;
 114        /* And the last few bytes */
 115        if (len) {
 116                u8 *p = (u8 *)(b + 1) - 1;
 117# ifdef CONFIG_X86
 118                for (i = 0; i < len; i++)
 119                        DO_CRC(*++p); /* use pre increment for speed */
 120# else
 121                do {
 122                        DO_CRC(*++p); /* use pre increment for speed */
 123                } while (--len);
 124# endif
 125        }
 126        return crc;
 127#undef DO_CRC
 128#undef DO_CRC4
 129#undef DO_CRC8
 130}
 131#endif
 132
 133/**
 134 * crc32_le() - Calculate bitwise little-endian Ethernet AUTODIN II CRC32
 135 * @crc: seed value for computation.  ~0 for Ethernet, sometimes 0 for
 136 *      other uses, or the previous crc32 value if computing incrementally.
 137 * @p: pointer to buffer over which CRC is run
 138 * @len: length of buffer @p
 139 */
 140static inline u32 __pure crc32_le_generic(u32 crc, unsigned char const *p,
 141                                          size_t len, const u32 (*tab)[256],
 142                                          u32 polynomial)
 143{
 144#if CRC_LE_BITS == 1
 145        int i;
 146        while (len--) {
 147                crc ^= *p++;
 148                for (i = 0; i < 8; i++)
 149                        crc = (crc >> 1) ^ ((crc & 1) ? polynomial : 0);
 150        }
 151# elif CRC_LE_BITS == 2
 152        while (len--) {
 153                crc ^= *p++;
 154                crc = (crc >> 2) ^ tab[0][crc & 3];
 155                crc = (crc >> 2) ^ tab[0][crc & 3];
 156                crc = (crc >> 2) ^ tab[0][crc & 3];
 157                crc = (crc >> 2) ^ tab[0][crc & 3];
 158        }
 159# elif CRC_LE_BITS == 4
 160        while (len--) {
 161                crc ^= *p++;
 162                crc = (crc >> 4) ^ tab[0][crc & 15];
 163                crc = (crc >> 4) ^ tab[0][crc & 15];
 164        }
 165# elif CRC_LE_BITS == 8
 166        /* aka Sarwate algorithm */
 167        while (len--) {
 168                crc ^= *p++;
 169                crc = (crc >> 8) ^ tab[0][crc & 255];
 170        }
 171# else
 172        crc = (__force u32) __cpu_to_le32(crc);
 173        crc = crc32_body(crc, p, len, tab);
 174        crc = __le32_to_cpu((__force __le32)crc);
 175#endif
 176        return crc;
 177}
 178
 179#if CRC_LE_BITS == 1
 180u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
 181{
 182        return crc32_le_generic(crc, p, len, NULL, CRCPOLY_LE);
 183}
 184u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len)
 185{
 186        return crc32_le_generic(crc, p, len, NULL, CRC32C_POLY_LE);
 187}
 188#else
 189u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
 190{
 191        return crc32_le_generic(crc, p, len, crc32table_le, CRCPOLY_LE);
 192}
 193u32 __pure __crc32c_le(u32 crc, unsigned char const *p, size_t len)
 194{
 195        return crc32_le_generic(crc, p, len, crc32ctable_le, CRC32C_POLY_LE);
 196}
 197#endif
 198EXPORT_SYMBOL(crc32_le);
 199EXPORT_SYMBOL(__crc32c_le);
 200
 201/**
 202 * crc32_be() - Calculate bitwise big-endian Ethernet AUTODIN II CRC32
 203 * @crc: seed value for computation.  ~0 for Ethernet, sometimes 0 for
 204 *      other uses, or the previous crc32 value if computing incrementally.
 205 * @p: pointer to buffer over which CRC is run
 206 * @len: length of buffer @p
 207 */
 208static inline u32 __pure crc32_be_generic(u32 crc, unsigned char const *p,
 209                                          size_t len, const u32 (*tab)[256],
 210                                          u32 polynomial)
 211{
 212#if CRC_BE_BITS == 1
 213        int i;
 214        while (len--) {
 215                crc ^= *p++ << 24;
 216                for (i = 0; i < 8; i++)
 217                        crc =
 218                            (crc << 1) ^ ((crc & 0x80000000) ? polynomial :
 219                                          0);
 220        }
 221# elif CRC_BE_BITS == 2
 222        while (len--) {
 223                crc ^= *p++ << 24;
 224                crc = (crc << 2) ^ tab[0][crc >> 30];
 225                crc = (crc << 2) ^ tab[0][crc >> 30];
 226                crc = (crc << 2) ^ tab[0][crc >> 30];
 227                crc = (crc << 2) ^ tab[0][crc >> 30];
 228        }
 229# elif CRC_BE_BITS == 4
 230        while (len--) {
 231                crc ^= *p++ << 24;
 232                crc = (crc << 4) ^ tab[0][crc >> 28];
 233                crc = (crc << 4) ^ tab[0][crc >> 28];
 234        }
 235# elif CRC_BE_BITS == 8
 236        while (len--) {
 237                crc ^= *p++ << 24;
 238                crc = (crc << 8) ^ tab[0][crc >> 24];
 239        }
 240# else
 241        crc = (__force u32) __cpu_to_be32(crc);
 242        crc = crc32_body(crc, p, len, tab);
 243        crc = __be32_to_cpu((__force __be32)crc);
 244# endif
 245        return crc;
 246}
 247
 248#if CRC_LE_BITS == 1
 249u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
 250{
 251        return crc32_be_generic(crc, p, len, NULL, CRCPOLY_BE);
 252}
 253#else
 254u32 __pure crc32_be(u32 crc, unsigned char const *p, size_t len)
 255{
 256        return crc32_be_generic(crc, p, len, crc32table_be, CRCPOLY_BE);
 257}
 258#endif
 259EXPORT_SYMBOL(crc32_be);
 260
 261#ifdef CONFIG_CRC32_SELFTEST
 262
 263/* 4096 random bytes */
 264static u8 __attribute__((__aligned__(8))) test_buf[] =
 265{
 266        0x5b, 0x85, 0x21, 0xcb, 0x09, 0x68, 0x7d, 0x30,
 267        0xc7, 0x69, 0xd7, 0x30, 0x92, 0xde, 0x59, 0xe4,
 268        0xc9, 0x6e, 0x8b, 0xdb, 0x98, 0x6b, 0xaa, 0x60,
 2+="+code=NULL" class="srf3crc32.c#L25a>}
 170  2     2
 171# 2lse
<271a href="lib/lib0xdb,70x59,51="li8c="li7fa hr9>}
 172  2     2a href="+code=9,56="lia0x68, c="li20xde,03}
 173  2     2a href="+code=lib0xe4,30x68,10x68,29x60,
 174  2     2a href="+code=8, 3}
 175#e2dif
<275href="+code=8,32x68, 0x7d,c0x68,d0xde,03}
 176  2     276a href="lib/lib0xdb,3c="lia0x68,63}
 177}
2a hre27c7, 0x69, 0xd7,e0x68,13}
 178
<2 href278b, 0x85, 0x21, 0xcb,b0xcb,f0xde,10xdb,46="lib4x59,cfa hr9ecrc32.c#L268" id="L268" class="line" name="L179"> 179#i2  180 181{
2a hre281a href="lib/liaf="li97x68,f1="libdx68,d0xde,10x98,26x60,fdarc32.c#L268" id="L268" class="line" name="L182"> 182  2     28 href="+code=9,bfa hrb7x68,c8x68,04x59, 4x59,f8x98, 0x6b,8ccrc32.c#L269" id="L269" class="lin2" name="L183"> 183}
2a hre28 href="+code=lif1="liabxdb,7ac98,d/c98,ddx68,f3}
 184 185{
2a hre285href="+code=8,62a hr12x68,03}
 186  2     286a href="lib/lib4x59,7bx68,93}
 187}
2a hre28c7, 0x69, 0xd7, 0x98,40xde,d>}
 188#e2se
}
 189 190{
2a hre29 191  2     291a href="lib/lib0xde, 0x68, 0x92,7bx68,8ac98,ff="li90x68,f1=rc32.c#L268" id="L268" class="line" name="L192"> 192}
2a hre29 href="+code=9,22x68,d0xde,b4x59,36x60,28}
 193 194{
2a hre29 href="+code=8, 0x98,dfc98,ff="licfa hr0fa hra0xdb,65xcb,f0xrc32.c#L268" id="L268" class="line" name="L195"> 195  2     295href="+code=8,d>}
}rc32.c#L268" id="L268" class="line" name="L196"> 196}
2a hre295b, 0x85, 0x21, f="li39xde,10xdb,93}
}
 197#e2dif
<29c7, 0x69, 0xd7,00}
 198 199 200
<3 href30 191  3an cl301a href="lib/li4ca hr1bx68,8ac98,04x59,.c#L25 0x30,
0x30, 0xrc32.c#L268" id="L268" 3l2ss="lin3" name="L192"> 192}
3an cl302a href="lib/libf="lic6a hr55a hr80x98,50xde,e6="li64xaa,35xrc32.c#L268" id="L268" 3l3ss="lin3" name="L193"> 193 194{
3an cl30 href="+code=8,46="libbx68,e>}
 205 196}
3an cl305b, 0x85, 0x21,78xde,70x59,07x68,30x68,03}
 207 208st3tic <308b, 0x85, 0x21,a4xaa,2f="lie4xaa,b6x60,bf="lic0xde,10x98,86arc32.c#L269" id="L269" 3lass="lin3" name="L209"> 209  3     30lass="srf3crc3270x68,e6="li3dx68,18xde,37xde,70x59,e6="liffarc32.c#L268" id="L268" 3lass="lin3" name="L210"> 210  3     31 211{
3a hre311a href="lib/lia2a hr55a hr39xde,abxdb,.c#L2513}
 212#i3  213  3     31 href="+code=lib8}
 214  3     31 href="+code=8,dc="li00x68,0f="li56="liff="lie4xaa,c0x30,99crc32.c#L268" id="L268" 3lass="lin3" name="L215"> 215  3     315href="+code=8,ddxdb,.c#L25dc#L25daxaa,35x 9,51="li73}
 216  3     315b, 0x85, 0x21,40xde,86a hr8>}
 217  3     31c7, 0x69, 0xd7,14x98,9cx68,ff="li98}
 218  3     318b, 0x85, 0x21,ffa
 219  3     319href="+code=8, 0x98, 0x30,d2a68,cf="li17x68,4bx68,1aa hr80xrc32.c#L268" id="L268" 3lass="lin3" name="L220"> 220  3     320href="+code=8,15xcb,e0x68,ccx68,40x98,52a hr88x68,3>}
 221# 3a hre321a href="lib/li48x68,fex68,15xcb,a0x59,91="liff="li7ex68,6ccrc32.c#L269" id="L269" 3lass="lin3" name="L222"> 222  3     322a href="lib/li00x98,5dx68,79xde,1bx68,81x68,79xde,d2a68,09crc32.c#L268" id="L268" 3lass="lin3" name="L223"> 223  3     32 href="+code=li34xde,70x59,3dx68,81x68,ecx68,f6="li24xaa,bbxrc32.c#L269" id="L269" 3lass="lin3" name="L224"> 224  3     32 href="+code=8,f0xcb,f1x92,7bx lidfc98, 4x68,bf="li80x59,9bxrc32.c#L269" id="L269" 3lass="lin3" name="L225"> 225  3     325href="+code=8, 0x30,99="li9e}
 226  3     325b, 0x85, 0x21, e="li00x68,a0xde,40x98,6dx 0,60xde,e0x68,9bxrc32.c#L269" id="L269" 3lass="lin3" name="L227"> 227  3     327a href="lib/li4ca hr00x98, 1="li45a hr97x68,d2a68,f0}
 228  3     328b, 0x85, 0x21,fex68,15xcb,0c#L25a0x30,11="li4ca hrb0xde,ffarc32.c#L268" id="L268" 3lass="lin3" name="L229"> 229# 3a hre329href="+code=8,80x68, 3}
 230  3     330href="+code=8, 4x59,e>}
 231  3     331a href="lib/li 0xe4,c0x30,fc="li ex68,c3x68,1aa hr23xaa,bbxrc32.c#L269" id="L269" 3lass="lin3" name="L232"> 232  3     332href="+code=8,ddxdb,c8x68,51="li0ca hr3ac59,72x68,ff="li73}rc32.c#L269" id="L269" 3lass="lin3" name="L233"> 233  3     33 href="+code=li6fa hrb7x68,e0x98, 1="li39xde,03}
 234  3     33 href="+code=8,7fa hr94xaa,2exaa,2exaa,bf="li3ac59,bbx68,b/crc32.c#L268" id="L268" 3lass="lin3" name="L235"> 235# 3a hre335href="+code=8,ff="li6f="li17x68,fex68,bf="liefc98, 0x98, 6arc32.c#L269" id="L269" 3lass="lin3" name="L236"> 236  3     335b, 0x85, 0x21,97x68,3fa
 237  3     337a href="lib/libc="li14x98,4cx68,ff="li37xde,d3="li38="li8/crc32.c#L267" id="L267" 3lass="lin3" name="L238"> 238  3     338b, 0x85, 0x21,fb="li ex68,a6="li24xaa,1ex68,c8x68,cf="li7farc32.c#L268" id="L268" 3lass="lin3" name="L239"> 239  3     339href="+code=8,3ac59,93}
 240# 3lse
<34 241  3     341a href="lib/li58x68, c="li7bx68,86a hr50xe4,6f="li0dxdb,c0xrc32.c#L268" id="L268" 3lass="lin3" name="L242"> 242  3     342href="+code=8,a4xaa, 0x59,ef="lib6x60,1c#L259fa hrbbx92,ffarc32.c#L268" id="L268" 3lass="lin3" name="L243"> 243  3     34 href="+code=li22x68,bbx68,72x68,29x60,b9x60,44x68,0bx68,48xrc32.c#L269" id="L269" 3lass="lin3" name="L244"> 244# 3ndif
34 href="+code=8,10x98,84xde,71a hr81x68,e3xe4,6f="li73}
 245  3     345a href="lib/li 0xe4,b4x59,4f="li2f="li29x60,bc#L251fx68,72xrc32.c#L269" id="L269" 3lass="lin3" name="L246"> 246}
3a hre346a href="lib/libdx68,d0xde,e0x68,64xaa,77x68,bf="li80x98,88xrc32.c#L269" id="L269" 3lass="lin3" name="L247"> 247
<3 href34c7, 0x69, 0xd7,0f="liefc98,3fa hrb0x68,3b}
 248#i3  249 250{
3a hre35 251  3     351a href="lib/licca hrb0xde,7ac98,3b}
 252}
3a hre352href="+code=8,46="li8c="li2bx68,2fa hr40x98,0ex68,a6="li5ccrc32.c#L269" id="L269" 3lass="lin3" name="L253"> 253#e3se
 254 255{
3a hre355href="+code=8,10x7d,c0}
 256  3     355b, 0x85, 0x21,9dc98,3fa hr4cx68,40xde,7bx68,4f="li1cxde,a0xrc32.c#L268" id="L268" 3lass="lin3" name="L257"> 257}
3a hre35c7, 0x69, 0xd7,50x59,9bx68, 0x7d,ddxdb,05x68,8f="li9f="li90xrc32.c#L268" id="L268" 3lass="lin3" name="L258"> 258#e3dif
<358b, 0x85, 0x21,fd="li8c="liefc98,0ca hr1dx 0,60xde,73}
 259}
 260
<3 href36 261#i3def <361a href="lib/lib0x98,7dx68, 4,d7,0f="li20x30, 0x92,a0xde,20xrc32.c#L268" id="L268" 3lass="lin3" name="L262"> 262
<3 href362href="+code=8,63}
 263 264st3tic <36 href="+code=8,7a="li5cc68,c8x68,d0x68, 0x7d,4f="liecx68,d0xrc32.c#L268" id="L268" 3lass="lin3" name="L265"> 265{
3a hre365href="+code=8,d8x68,20x30, 0x92,c5xde,17x68,cf="li78x68,c8xrc32.c#L269" id="L269" 3lass="lin3" name="L266"> 266  3     3x5b, 0x85, 0x21,7>}
 267  3     3xc7, 0x69, 0xd7,4fa hr6bx68,86a hr3fa hr8bx68,fex68,b0x98,4/crc32.c#L268" id="L268" 3lass="lin3" name="L268"> 268  3     3xc9, 0x6e, 0x8b, 0xdb,7cx68,b7x68,ddxdb, exaa,e>}
 2+="+code3NULL"3class="srf3crc3203}
 170  3     3
 171# 3lse
<371a href="lib/li8fa hr70x59,8ac98,7ex68,11="lid9x68,10x98,7bxrc32.c#L269" id="L269" 3lass="lin3" name="L172"> 172  3     3a href="+code=9,38="lif1="li42x68,1f="lic0xde,35a hrf5xde,c0xrc32.c#L268" id="L268" 3lass="lin3" name="L173"> 173  3     3a href="+code=li36a hr8>}
 174  3     3a href="+code=8,18="lif1="li63}
 175#e3dif
<375href="+code=8,4f="li60xdb,4fa hr84x98,efc98,26x60,41="li0carc32.c#L268" id="L268" 3lass="lin3" name="L176"> 176  3     376a href="lib/libcx68, 0x30,e0="li7ex68,3c="li60xde,01="li4carc32.c#L268" id="L268" 3lass="lin3" name="L177"> 177}
3a hre37c7, 0x69, 0xd7,62x68,1f="li20x30, fx68,b0x98,40xde,4d="lic0xrc32.c#L268" id="L268" 3lass="lin3" name="L178"> 178
<3 href378b, 0x85, 0x21,99xde,13="li8f="li91x7d,4f="li26x60,d/c98,37xrc32.c#L267" id="L267" 3lass="lin3" name="L179"> 179#i3  180 181{
3a hre381a href="lib/li44x68,98}
 182  3     38 href="+code=9,af}
 183}
3a hre38 href="+code=li97x68,0f="li 1="li59="li9e}
 184 185{
3a hre385href="+code=8,7dx68,26x60,13="li5f="li73}  186  3     386a href="lib/li 1="li04xaa,58x68,48xde, 5a hr44x68,11="lifexrc32.c#L268" id="L268" 3lass="lin3" name="L187"> 187}
3a hre38c7, 0x69, 0xd7,15xde,cax68,c3x68,6dx 0,cax68,c5xaa,b4, 8,40xrc32.c#L268" id="L268" 3lass="lin3" name="L188"> 188#e3se
 189 190{
3a hre39 191  3     391a href="lib/lib0xde,ebx68, 2a hr83x98,9f="li6cx68,d2a hr79crc32.c#L268" id="L268" 3lass="lin3" name="L192"> 192}
3a hre39 href="+code=9,43}
}
 193 194{
3a hre39 href="+code=8, 0xde,fcx68,48}
 195  3     395href="+code=8,bex68,c3x68,ffa
 196}
3a hre395b, 0x85, 0x21,0ca hr4cx68,5cc68,15xcb,90x98,80x98,22a lib/crc32.c#L267" id="L267" 3lass="lin3" name="L197"> 197#e3dif
<39c7, 0x69, 0xd7,0f="lidex68,48}
 198 199}
 200
<4 href40 191  4an cl401a href="lib/li77x68,83}
 192}
4an cl402a href="lib/li20xdb,41x68,79xde,a0x68,03}
 193 194{
4an cl40 href="+code=8,35xde,8c="li 6="li98}
 205 196}
4an cl405b, 0x85, 0x21,b4, 8,51="lib0x98,f4x98,9cx68,e7xde,38="li59crc32.c#L268" id="L268" 4l7ss="lin4" name="L197"> 197#e4an cl40c7, 0x69, 0xd7,adx98,f4x98,bc="li46="liffa"li46="li80x98,60xrc32.c#L268" id="L268" 4lass="lin4" name="L208"> 208st4tic <408b, 0x85, 0x21,9cxde,a3} hr60xde,1dx 0,f8x98,26x60,72x68,f5xrc32.c#L268" id="L268" 4lass="lin4" name="L209"> 209  4     40lass="srf3crc3272a68,9f="li68="li8/c li04xaa,f6x68,0bx68,a1crc32.c#L268" id="L268" 4lass="lin4" name="L210"> 210  4     41 211{
4a hre411a href="lib/li5f="lidex68,50xdb,4fa hr7bx68,07x68,b3}
 212#i4 }
 213  4     41 href="+code=li 0x98,64xaa,8fc98,d3="lib6x60,41="li86a hr80xrc32.c#L268" id="L268" 4lass="lin4" name="L214"> 214  4     41 href="+code=8,70xde,b3x98,8f="li60xde,9cx68,34xaa,25c"li01=rc32.c#L268" id="L268" 4lass="lin4" name="L215"> 215  4     415href="+code=8,00xde,4d="li10xdb,41x68,4ex68,3d="li c="li7exrc32.c#L268" id="L268" 4lass="lin4" name="L216"> 216  4     415b, 0x85, 0x21,.c#L25f5xde,cc="lid5a hr7bx68,e2x68,ef="libdxrc32.c#L268" id="L268" 4lass="lin4" name="L217"> 217  4     41c7, 0x69, 0xd7,40x30,86a hr7f="li07x68,a0x30,10xde,b3x98,35xrc32.c#L268" id="L268" 4lass="lin4" name="L218"> 218  4     418b, 0x85, 0x21,b8x68,84xde,6f="li76="liabx e,17x68,c6xde,38=rc32.c#L268" id="L268" 4lass="lin4" name="L219"> 219  4     419href="+code=8,b4, 8,d3="li28}
 250{
3a hre35  4     415b, 0x85, 0f="li26x60,2faxdb,46a>#e4an cl40c7, 0x69, 0xd7,adx98,f4x98lib/li77x68,83}
  4     415b, x68,b3}
<,6ccrc32.c#L269" id="L264" 3la4s="lin3" name="Lhref="264"> +code=198"> 11708lib/li77x8,13}
 
  3  209 2483x98,8f="li60xde,9cx68,38x68,ef="l,9bxrc32.c#L269" id="L264" 3la4s="lin3" name="L227"> 179"> 7  3     31chref="5f3crc32d0x6liabxdb,7ac98,d/c98,ddx68,42a68,f0}
4a0farc32.c#L268" id="L264" 3la4s="lin3" name="La href   31 528"> 228 186
<3 h>}
4anhref="2  3     3}

<0x59,51="li8c="li7fa hr49x68,b3}
<,bbxrc32.c#L269" id="L264" 3la4s="lin3" name="Lf86"> 9 href   2a h,40x302ad8x98,0f1li00x91i5f="li2f="liecx68,bbx68,42x68,ff="4i73}rc32.c#L269" id="L264" 3la4s="lin3" name="L192"> ="lib/lib0xd2e6
<3 h+code=>67"> 2i5f="li2f="liecx68,bbx68,42="li24xa4,3farc32.c#L268" id="L264" 3la4s="lin3" name="L8,b4, 8 href="lib/+code=2code=li 0x97code=8, f="li2f="liecx68,bbx68,42="li80x54,b/crc32.c#L268" id="L264" 3la4s="lin3" name="L425"> 225 hre29 he6}
4an cl402># 3lse{
4an ,b3x98,8f="li60xde,9cx68,3exaa,b1xc4,f1xrc32.c#L269" id="L264" 3la4s="lin3" name="L8,4f=">  3   12"> 212 195
<0x59,51="li8c="li7fa hr49x68,c6xdei7farc32.c#L268" id="L264" 3la4s="lin3" name="L8,d>}
17555{
3a d55{
3a >  3  1,83}
 e,64xaa,8fc98,d3="lib6x60,4f="li0dxd4,c0xrc32.c#L268" id="L264" 3la4s="lin3" name="L="lib/9i9fa hr6 ="+code=000
<4 hhre28 h483x98,8f="li60xde,9cx68,3fa hrbbx94,ffarc32.c#L268" id="L264" 3la4s="lin3" name="Llib0xdhre3520,9cxde,a /a>  4  li5f="a href="l3x98,8f="li60xde,9cx68,3f="li24xa4,48xrc32.c#L269" id="L264" 3la4s="lin3" name="L327>}
c"lib/li0f="+code=l 3228}
214 3  3     32 7, 0x69  3   5f5xde,cc="lid5a hr7bx68,ef="li80x94,88xrc32.c#L269" id="L264" 3la4s="lin3" name="L>st3tic 2,fd="l,7fa h href212"> ="l3x98,8f="li60xde,9cx68,35xcb,99="4i09crc32.c#L268" id="L264" 3la4s="lin3" name="L2i77x68  31 h09  3   18  4  2e6 262 192}
3anb  3   12"> 208}
3a =,4d="li10xdb,41x68,4ex68,30x98,00x94,48xrc32.c#L269" id="L264" 3la4s="lin3" name="Lhref="1819705f="a href 98,f4223fl3="li28}
 114clib/li0f=">#i4 <="lib/8,51="lib0x98,f4x98,9cx68,e0xde,9>}
4a0farc32.c#L268" id="L264" 3la4s="lin3" name="Lli20xd3idaxaa,b xa   4180{
3a hre385+code=hr4cx68,5cc68,15xcb,90x98,4f="li1cxd4,a0xrc32.c#L268" id="L264" 3la4s="lin3" name="Le
<34st3ti>}
4an9i9fa h}
3="li28}
 224 262 d  4an cl401000  4   ref="+dhref1750x59,51="li8c="li7fa hr4dx 0,c2xd4,cccrc32.c#L269" id="L264" 3la4s="lin3" name="L2code=8ib0xd2"lib/+code= ref="   355ba 0xdc,4d="li10xdb,41x68,4ex68,30x92,a0xd4,20xrc32.c#L268" id="L264" 3la4s="lin3" name="L="lib/7,00}
195  4anc 2i90x6=34 3228}
b,41x68,79xde,a0x68,03}
 32e385+code=02ad8xhref="192">    322liabxdb,7ac98,d/c98,ddx68,4f="li78x64,c8xrc32.c#L269" id="L264" 3la4s="lin3" name="Lhref="e
<34}
3anhe6 fcode=b29# 3a h href2}
4an cl3x98,8f="li60xde,9cx68,34xde,73}
4, 4,rc32.c#L268" id="L264" 3la4s="lin3" name="L 0x98,d75 href=c7fa href=">re411a href8,dfc98,ff="licfa hr0fa hr4fa 47fa 8  319href="biabxdb,7ac98,d/c98,ddx68,43="li60xd4,5farc32.c#L268" id="L264" 3la4s="lin3" name="L277"> 177  4  8,84xde,6f="li76="liabx e,19x68,10x94,7bxrc32.c#L269" id="L264" 3la4s="lin3" name="L=c7fa b, 0x83,00}
195 227fa 8  5xde,cc="lid5a hr7bx68,e5x98,00x94,efarc32.c#L268" id="L264" 3la4s="lin3" name="L268 2f7fa href="198"> 124"> 2#e3dif
<5xde,cc="lid5a hr7bx68,e5="liecx64,00xrc32.c#L268" id="L264" 3la4s="lin3" name="L7,14x94, 0x21,b4, 215"> 2code=8,  ="li24xab,f0xcb,f>}
 3 href=57"> 177 1 href=,b4, 2  3x5bae6="lia6="li22x68,b3x98,40xde,4d="4ic0xrc32.c#L268" id="L264" 3la4s="lin3" name="L9, 0xd7,15xd+code=8eode=958"> > b29  3  >  4an7ibf="lic a hrb0xe4,d6xde,10xdb,ac="li42x68,39="4i9e}rc32.c#L268" id="L264" 3la4s="lin3" name="L114 1#e4an cl40cfcode=hr00x98, 1="li45a hr97x68,4dx68,e4xa4,b4,rc32.c#L268" id="L264" 3la4s="lin3" name="Lb, 0x84, 0x2a  3     386aref="+code=3,00}
c,4d="li10xdb,41x68,4ex68,3d="li56a 4r60xrc32.c#L268" id="L264" 3la4s="lin3" name="La hrefhre28 249 2r935 4cl40cff3crc322bxdb,7ac98,d/c98,ddx68,46="liecx64i61crc32.c#L268" id="L264" 3la4s="lin3" name="L9, 0xd9,38="2  4an717"> 2ref="+2e4an cl40cacl3x98,8f="li60xde,9cx68,3fa
 193ref="b17"> 2ref=" 18  4  55f5xde,cc="lid5a hr7bx68,e4x68,11="4ifexrc32.c#L268" id="L264" 3la4s="lin3" name="Lhre385198 href=,4f=">9href=,4f="9i9fa }
4aecxrc32.c#L268" id="L264" 3la4s="lin2" name="L1c8"> > 250 >{
4andre28 h48 /a>}
3="li28}
 227"> a71# 3lsere28 1fl3="li28}
 9"lib/d,7fa 911"> 211 226 0        0xc852"> 9  38 194 237"> 2ref="+8
4andre28 7,15xde9 41 ere3="li28}
}
4ieexrc32.c#L268" id="L264" 3la4s="lin3" name="L7,00}
e"lib/lib0xd8, 0x9894  ref="986"> 9 hrefl 1 h0x59,51="li8c="li7fa hr58xde,ac="5id3}rc32.c#L269" id="L265" 4l15s="lin4" name="L214ref="8, 0xd=,ebx68, 2a hr83x98,9f="li5fa hr4c#L55 0xrc32.c#L269" id="L265" 4l25s="lin4" name="L2c7fa b, 0x82
<3 h>}
4an3 href   41 hcode=8,ebx68, 2a hr83x98,9f="li5f2 hr4c#L553cxrc32.c#L268" id="L265" 4l35s="lin4" name="L311{
4a 2# 3lse
<34<8,7a="ld4f=">9hrefc  7cl40 href=">  3   a1cxde,93}
  3     376a#i3  2  3   }
3anh3 3   }
3an>  4    h37lassbxdb,7ac98,d/c98,ddx68,5b759,6f="5i2bxrc32.c#L267" id="L265" 4la5s="lin4" name="Lc <4083  3  ef=28 hre385193re28 h33re3="li28}
 >  3  h483x98,8f="li60xde,9cx68,56x68,0bx65,a1crc32.c#L268" id="L265" 4la5s="lin4" name="La71e 32 7503x98,8f="li60xde,9cx68,50x98,40xd5,a8xrc32.c#L269" id="L265" 4l15s="lin3" name="L21=39la href=8hrefl 2cl3x98,8f="li60xde,9cx68,57x68,b3}
5ae9crc32.c#L268" id="L265" 4la5s="lin4" name="L1re381a href552}
3a 250 href5,64xaa,8fc98,d3="lib6x60,5cx68,f1="5iabxrc32.c#L268" id="L265" 4l35s="lin4" name="L>}
3ana,b4, 8 hrefhref="+  3     3767,00}
1rb0xe4,d6xde,10xdb,ac="li51="li86a 5r80xrc32.c#L268" id="L265" 4la5s="lin4" name="L064"> +code=249}
3a 8, 0xdei0f=">code=b483x98,8f="li60xde,9cx68,54xaa,25c"5i01=rc32.c#L268" id="L265" 4la5s="lin4" name="L2,8 ti>3 41 hcode=185"> 1e
4an3 hrefc  4     3x98,8f="li60xde,9cx68,54x59,6f="5i7exrc32.c#L268" id="L265" 4la5s="lin4" name="La14 >i00x9852"> f750x59,51="li8c="li7fa hr52x68,ef="5ibdxrc32.c#L268" id="L265" 4la5s="lin4" name="L>9hrefacode=>  3  264"> +code=># 3lsb96}
0x59,51="li8c="li7fa hr52759,6f="5,35xrc32.c#L268" id="L265" 4la5s="lin4" name="L064"> 8,bc="3#e3dic  3  7,14x9124"> >}
3an1,ebx68, 2a hr83x98,9f="li57x68,c6xd5,38=rc32.c#L268" id="L265" 4la5s="lin4" name="Lere385>}
3a h12"> 
 l 2505
3a h5e35#e4a5 cl4057, 0x69, 0xd7,ad>{
4a  cl40c02ad8x1  41 h  41 h"lib/2i90x69re3="li28}
 8,bc="5, 0x210 1="li8c="liefc98,0ca hr1dx 0,56xaa,25c"5,9bxrc32.c#L269" id="L265" 3la5s="lin3" name="L>3 41 218"> 717"> >}
4an>
<4 h8,70xdei0f="lid5a hra7x68,82xde,3ac59,58xde,12x65, 3}rc32.c#L269" id="L265" 3la5s="lin3" name="Lhre359 41 e26"> 0     7i8c="liefc98,0ca hr1dx 0,56x68,ef="5,9bxrc32.c#L269" id="L265" 3la5s="lin3" name="Lb96 12ad8xh,7a="ld4f=">9hrefd,64xaa,8fc98,d3="lib6x60,52a68,f0}
5a0farc32.c#L268" id="L265" 3la5s="lin3" name="Lhre285h400}
hre411hre2858,ddxdb13  4  1rb0xe4,d6xde,10xdb,ac="li59x68,c6xd5,ffarc32.c#L268" id="L265" 3la5s="lin3" name="Lb, 0x8>  3  3272a64  4an 62 1  3   98,f45503x98,8f="li60xde,9cx68,59x68,79xd5,b6arc32.c#L269" id="L265" 3la5s="lin3" name="L8,9f="l}
3anh3 3  >{
3a hre39 hre35c79 41 h  3x98,8f="li60xde,9cx68,59x68,b3}
5,bbxrc32.c#L269" id="L265" 3la5s="lin3" name="L>i00x9b"lib/9 >ref="2  4  lie0x68,b0x68,00x68,35a hr52x68,ff="5i73}rc32.c#L269" id="L265" 3la5s="lin3" name="L9,38="f96"> 196}
3a 9,38="b29 6code=9,38="1,4f=">  3   ce35c79 41 li8c="liefc98,0ca hr1dx 0,5fc98, 0x95, 6arc32.c#L269" id="L265" 3la5s="lin3" name="L  h37l21bc="4, 0x85, 0x2a href>#e3dif27"> aie0x68,b0x68,00x68,35a hr52x68,ef="5,f1xrc32.c#L269" id="L265" 3la5s="lin3" name="L250  3  ="lib/+"lib/25f5xde,cc="lid5a hr7bx68,52x68,c6xd5i7farc32.c#L268" id="L265" 3la5s="lin3" name="L211 6code=+code=8i 1="l43r94xaa,2exaa,2exaa,bf="li5f="li0dxd5,c0xrc32.c#L268" id="L265" 3la5s="lin3" name="L   325hc2"> 6code=2}
4anfref="h400}
h48 /aa503x98,8f="li60xde,9cx68,5fa hrbbx95,ffarc32.c#L268" id="L265" 3la5s="lin3" name="L2,8 ti4ref="+code=5, 0x2a7148 /al58"> >  3x98,8f="li60xde,9cx68,5f="li24xa5,48xrc32.c#L269" id="L265" 3la5s="lin3" name="L="lib/lib0xd5, 0x22 a  395href="993}
3x98,8f="li60xde,9cx68,5fc98, 0x95,72xrc32.c#L269" id="L265" 3la5s="lin3" name="L7,14x91  3   ,7a="l538="1,4f="82ad8x98,0f11,64xaa,8fc98,d3="lib6x60,5f="li80x95,88xrc32.c#L269" id="L265" 3la5s="lin3" name="L211"> href="191 a, 0xd7,ddxdbref="+code=2e6483x98,8f="li60xde,9cx68,5fx68,c6xd5,cccrc32.c#L269" id="L265" 3la5s="lin3" name="Lhre29 href="2f7fa b, 0x85, 0x2193b8 /aa503x98,8f="li60xde,9cx68,5f}
 a98"> f8935 4cl483x98,8f="li60xde,9cx68,57="li24xa5,48xrc32.c#L269" id="L265" 3la5s="lin3" name="Lh12"> href="=024xa 12"> 1, 0xd249 2}
4an3 hrefhre29 >ref="3  3     3868,98}
}
5a0farc32.c#L268" id="L265" 3la5s="lin3" name="L2f7fa 1,b4, 8,bc="5code=="lib/1  3  5re411ei8c="liefc98,0ca hr1dx 0,5f="li1cxd5,a0xrc32.c#L268" id="L265" 3la5s="lin3" name="L238"> 2,4f=">88"> 11412"> ="l "L250 29hrefa h3="li28}
 219 +code=2  415href="> 2clbxdb,7ac98,d/c98,ddx68,5dx 0,c2xd5,cccrc32.c#L269" id="L265" 3la5s="lin3" name="L21ef="=024xa192code=8i 1="+"lib/238"> 8"l3x98,8f="li60xde,9cx68,50x92,a0xd5,20xrc32.c#L268" id="L265" 3la5s="lin3" name="L4  4and,63}
 b96}
1="lib0x98,f4x98,9cx68,54="li73}
5,d0xrc32.c#L268" id="L265" 3la5s="lin3" name="L8,7dx6are352href="+62 197503x98,8f="li60xde,9cx68,5f="li78x65,c8xrc32.c#L269" id="L265" 3la5s="lin3" name="L2i77x68  31 +code=9"lib/li0f="h, 0xdc276="l,64xaa,8fc98,d3="lib6x60,5f="li1cxd5i5ccrc32.c#L269" id="L265" 3la5s="lin3" name="L1e
4an064"> 892ca2hrf87 2712ad8xh58"> >077x68  31 a"l3x98,8f="li60xde,9cx68,54x68,c6xd5, 4,rc32.c#L268" id="L265" 3la5s="lin3" name="L1  3   ,7a="6,d > 195 42ad8xhre3x98,8f="li60xde,9cx68,54xdb,40xd5,38xrc32.c#L269" id="L265" 3la5s="lin3" name="Lb  3     327>  4an7ibf="b400}
hre411ere2858,d3x98,8f="li60xde,9cx68,53="li60xd5,5farc32.c#L268" id="L265" 3la5s="lin3" name="L49 0xdd href264"> href="+ref="+,9cxde,a /ahre3x98,8f="li60xde,9cx68,59x68,10x95,7bxrc32.c#L269" id="L265" 3la5s="lin3" name="L1  31 +68"> 114 196400}
hi8c="liefc98,0ca hr1dx 0,55a hrf5xd5,c0xrc32.c#L268" id="L265" 3la5s="lin3" name="L7 h3NU2,00}
d hrefh400}
a71 bclbxdb,7ac98,d/c98,ddx68,55x98,00x95,efarc32.c#L268" id="L265" 3la5s="lin3" name="L=  3  8ref=" 18}
3a 217"> 149  3   re3x98,8f="li60xde,9cx68,59="li73}
5,00xrc32.c#L268" id="L265" 3la5s="lin3" name="Lhref="+ref="8, 0xd096"> 196 1  3  1id5a hra7x68,82xde,3ac59,56x60,41="5i0carc32.c#L268" id="L265" 3la5s="line" name="L9, 0xd727"> a98"> 7  41code=>  3  c  3  311 1  3  215"> 245"> 2 href="l4x98,bc="li46="liffa"li50x68,c6xd5,37xrc32.c#L267" id="L265" 3la5s="lin3" name="L8  319h6
3a hre ti4ref="2  4an0  4  hre39 hre5a hra7x68,82xde,3ac59,56xdb,40xd5idfarc32.c#L268" id="L265" 3la5s="lin3" name="Lhcode=1  32 750 774"> 4ba2hrf87 4"l3x98,8f="li60xde,9cx68,5dx68,e4xa5,b4,rc32.c#L268" id="L265" 3la5s="lin3" name="L6100}
>  3  c href="lib/1  3  b64"> href="8re3x98,8f="li60xde,9cx68,5d="li56a 5r60xrc32.c#L268" id="L265" 3la5s="lin3" name="L7ibf="2code=b98"> 426  ref="8, 4xaa,8fc98,d3="lib6x60,56="li27x65,fexrc32.c#L268" id="L265" 3la5s="lin3" name="L919"> 727"> 199"> 175 2d 3  8ref="8,9f="li68="li8/c li04xaa,56="liecx65i61crc32.c#L268" id="L265" 3la5s="lin3" name="L1 href5code=2e6}
3a h  4andblib/1  3  bre3x98,8f="li60xde,9cx68,5dx60,41="5,a3}rc32.c#L269" id="L265" 3la5s="lin3" name="L+code=00 327>  4an5, 0x22,4f=">3 3  >92"> 1clbxdb,7ac98,d/c98,ddx68,54x68,11="5ifexrc32.c#L268" id="L265" 3la5s="lin3" name="L191i00x9250    351># 3lsede3NUL}
3anh3 3  >6 4     3x98,8f="li60xde,9cx68,55x68,c6xd5aecxrc32.c#L268" id="L265" 3la5s="lin2" name="Ld75 198, 0xd=,ddxdb,00}
>, 4xaa,8fc98,d3="lib6x60,56xdb,40xd5i9farc32.c#L268" id="L265" 3la5s="lin3" name="Lbref="99318"> 114 1754xaa,8fc98,d3="lib6x60,51="libfa 5rb7xrc32.c#L268" id="L265" 3la5s="lin3" name="Lhref="8flib/1  3  4,00}
>flib/1,ddxd261 1  3  9, 0xd7,14x94, 4xaa,8fc98,d3="lib6x60,51="li56a 5i3cxrc32.c#L268" id="L265" 3la5s="lin3" name="L 98"> fclib/l, 0xd9,38="e9 41 7, 0x6> href4, 4xaa,8fc98,d3="lib6x60,51="li27x65a6farc32.c#L268" id="L265" 3la5s="line" name="L+code=>3 3  ># 3lsa71}
3a h  4an8,d3="li28}
 h12"> 2,51="lib0x98,f4x98,9cx68,5dx68,3>}
5ieexrc32.c#L268" id="L265" 3la5s="lin3" name="L>i00x97,00}
>18# 3ls>08libf754xaa,8fc98,d3="lib6x60,51xdb,40xd5ib6arc32.c#L269" id="L265" 4la5s="lin4" name="Le86"> 4"l xd7,ddxd265"> 265 h,51="lib0x98,f4x98,9cx68,68xde,ac="6id3}rc32.c#L269" id="L266" 4l16s="lin4" name="Lhref=">#i3 <5 hrefr9 3  ># 3lsaclib/l, 0xdd,15xde,32xde,32xde,b8xde,6fa hr4c#L65 0xrc32.c#L269" id="L266" 4l26s="lin4" name="L443  3  4"l xd3 href265"> 2,4f=">  3     3x98,8f="li60xde,9cx68,6f2 hr4c#L653cxrc32.c#L268" id="L266" 4l36s="lin4" name="Lf58"> e href=57"> 7  32 750d0 rf3crcb  4an7c8"> fclib/7,00}
1rb0xe4,d6xde,10xdb,ac="li6b659,6f="6ib/crc32.c#L267" id="L266" 4l76s="lin4" name="L1c2"> 2,5 > 426 >  3   0lib/1,ddxd0, 4xaa,8fc98,d3="lib6x60,6b759,6f="6i2bxrc32.c#L267" id="L266" 4la6s="lin4" name="L250  31 >, 0xd=, 0xd788# 3ls3228}
2{
4a  ,13x98,8f="li60xde,9cx68,6f960,72x66,b6arc32.c#L269" id="L266" 4la6s="lin4" name="L>3 3  0
<3 hb{
4a  cl40c1  32 8  319href="l,64xaa,8fc98,d3="lib6x60,60x98,40xd6,a8xrc32.c#L269" id="L266" 4l16s="lin3" name="L>ref="86 4   27"> a65"> 2  418>
  3   rf3crc348 /ali94x98,bc="li46="liffa"li6c3 hr4c#L6r80xrc32.c#L268" id="L266" 4la6s="lin4" name="Llib0xde hrefrf3crc175f0f="4754xaa,8fc98,d3="lib6x60,64xaa,25c"6i01=rc32.c#L268" id="L266" 4la6s="lin4" name="L8re39 hre35c+code=>, 0xdfa
3a a  31 >ca2hr2ssbxdb,7ac98,d/c98,ddx68,64x59,6f="6i7exrc32.c#L268" id="L266" 4la6s="lin4" name="L250 117,d3="li28}
 a href8ref="8flib/0503x98,8f="li60xde,9cx68,62759,6f="6,35xrc32.c#L268" id="L266" 4la6s="lin4" name="L>
32"> 2,5 > >18 2506
3a h6e35 href=8hrefl2lib/293#e4a6 cl4067, 0x69, 0xd7,ade
<34<8i 1=">ref="le6172a6e
<34 2276="lref="> >9hrefc#i4  2 hrefh17"> 217}
 2  418="lib/7re3851a78xde, 0x98,2fa hre>}
 2"lib/2i90x6bre35c7,  1 ere3="li28}
 h71103="li28}
 rf3crc22375 h7192"> 1923="li28}
 a href9172a6e503x98,8f="li60xde,9cx68,69x68,b3}
6,bbxrc32.c#L269" id="L266" 3la6s="lin3" name="L194400}
a href317"> 271 2 href1  3  6503x98,8f="li60xde,9cx68,693 hr4c#L6,3farc32.c#L268" id="L266" 3la6s="lin3" name="L249 422 dif  3  3b9"> 4a78xde, 0x98,2fa hre>}
 192 ef9  3  3i94x98,bc="li46="liffa"li6f="li0dxd6,c0xrc32.c#L268" id="L266" 3la6s="lin3" name="L1,b4, 8,bc="54 3  443 2,7a="l538="=, 0x22el4021538="8,  ="0re8xde, 0x98,2fa hre>}
 =, 0x23re8xde, 0x98,2fa hre>}
}
3="li28}
#i3 <5, 0x215f1="fclib/2code=h09 
95"> 195 +code=lie0x68,b0x68,00x68,35a hr6f}
i00x9bf 0x2ef= /a9i04xaa,8fc98,d3="lib6x60,67a hrbbx96i5ccrc32.c#L269" id="L266" 3la6s="lin3" name="L>}
4an998"> 426}
6a0farc32.c#L268" id="L266" 3la6s="lin3" name="Ll57"> 7  32 l57"> >  3  217i04xaa,8fc98,d3="lib6x60,6f="li1cxd6,a0xrc32.c#L268" id="L266" 3la6s="lin3" name="La,b4, 8{
4a cref="+re385>}
3a  cl4021d7a=">#i4xaa,8fc98,d3="lib6x60,6f="li38="6i90xrc32.c#L268" id="L266" 3la6s="lin3" name="L8,d>}
1clib/li00x99  38 1i 1="9, 0xd 0lib/f, 4xaa,8fc98,d3="lib6x60,6fx68,c6xd6aa8xrc32.c#L269" id="L266" 3la6s="lin3" name="L8eode=364"> >9hrefba 0xdc, 0x2a12"> hde3NUL}
4xaa,8fc98,d3="lib6x60,6f}
 c href=c7fa 1re3859  3   ie0x68,b0x68,00x68,35a hr6dx 0,c2xd6,cccrc32.c#L269" id="L266" 3la6s="lin3" name="L1ba2hrf87 966"> r9 3  9i04xaa,8fc98,d3="lib6x60,60x92,a0xd6,20xrc32.c#L268" id="L266" 3la6s="lin3" name="L5re352185"> 2c2"> 6code=8,ddxdbclib/f,  8 1fl3="li28}
 >cl}
 450 157"> >#i4xaa,8fc98,d3="lib6x60,64="li73}
6,d0xrc32.c#L268" id="L266" 3la6s="lin3" name="Lb href>32">  ref="d759318"> 698"> 1244xaa,8fc98,d3="lib6x60,64xde,9>}
6,c8xrc32.c#L269" id="L266" 3la6s="lin3" name="L1e
4an0re2857code=875"> 6code=8,38="e9 41 6,41x68,79xde,a0x68,03}
i00x9>503x98,8f="li60xde,9cx68,64x68,c6xd6, 4,rc32.c#L268" id="L266" 3la6s="lin3" name="L ref="924"> 2re385>  3     327
95"> 7,14x94ie0x68,b0x68,00x68,35a hr6d}
    415h18  ref="0
<34i04xaa,8fc98,d3="lib6x60,65a hrf5xd6,c0xrc32.c#L268" id="L266" 3la6s="lin3" name="L 12"> >3 3  >ib0xde4l4023538="b96 4, 4xaa,8fc98,d3="lib6x60,65x98,00x96,efarc32.c#L268" id="L266" 3la6s="lin3" name="L3276="l71 7d4f="2code=dr935 4cl x98a1cxde,93}
 fclib/c}
4an1  3  2ref="l,6 1 l  cxde,93}
 8  31 ba1cxde,93}
 7ib0xd> href   338ba1cxde,93}
}
 12ad8x 26"> h6ad8x7,14x9a href4"l3x98,8f="li60xde,9cx68,6d="li56a 6r60xrc32.c#L268" id="L266" 3la6s="lin3" name="L12ad8x>a593 >e
4an0clbxdb,7ac98,d/c98,ddx68,66="li27x66,fexrc32.c#L268" id="L266" 3la6s="lin3" name="Lli6fa e26 1 l   rf3crc>ref="8  386h}
3="li28}
 233re b/1,ddxdf8935 ci94x98,bc="li46="liffa"li64x68,11="6ifexrc32.c#L268" id="L266" 3la6s="lin3" name="L1clib/f,  8 c3 3  l57"> a,14x94code=2  415liabxdb,7ac98,d/c98,ddx68,65xaa,b4, 6,40xrc32.c#L268" id="L266" 3la6s="lin3" name="Lh48 /a29href215"> 2ref="fe
4an350}
 6,14x9 0lib/c3 3  8276="lss an 62 4ba3x98,8f="li60xde,9cx68,61="li27x66a6farc32.c#L268" id="L266" 3la6s="line" name="L1c7fa ="lib/2 href="lib/f,  8 h 217">  ref="bf 0x29re3852cl > 9"lib/6 h3="li28}
a5blib/1ba3x98,8f="li60xde,9cx68,61x68,c6xd6ieexrc32.c#L268" id="L266" 3la6s="lin3" name="Ld,ddxd261a5 >  3  2  cxde,93}
 1}
4an2, 0xda h3="li28}
18"> a#i3 <153blib/a href8f3bxdb,7ac98,d/c98,ddx68,7bx92,45a 7rb9crc32.c#L268" id="L267" 4la7s="lin4" name="L4  4an0     387 7flib/0}
3="li28}
 a82 8i 1=">09#i ="l53bxdb,7ac98,d/c98,ddx68,772 hr4c#L7iabxrc32.c#L268" id="L267" 4l37s="lin4" name="L>#i3 <2  415lel402+  355ba 0xd>re411a14 4}
3a b  415b href7ae6="lia6="li22x68,b3x98,74xaa,25c"7i01=rc32.c#L268" id="L267" 4la7s="lin4" name="L214 0, 0x2fcode=8,ddxd3re29 b436="lia6="li22x68,b3x98,74x59,6f="7i7exrc32.c#L268" id="L267" 4la7s="lin4" name="L="lib/f14 1  3  492 ef9b1 >103="li28}
 2507
3a h7e359 41 5103="li28}
#e4a7 cl4077, 0x69, 0xd7,ad196  3   "lib/2ref="+4l402   376087483x98,8f="li60xde,9cx68,7 x68,f1="7,09crc32.c#L268" id="L267" 3la7s="lin3" name="L4e
4ane18"> >{
4anlel402+a 3  a,7a="2  cxde,93}
 875"> 974"> 8,d28 > h3="li28}
 a12"> e,8c="li 6="li98}
 9}
3a h  4an4r935 aref="a,a /ab483x98,8f="li60xde,9cx68,79x68,c6xd7,ffarc32.c#L268" id="L267" 3la7s="lin3" name="L+code=364"> >  3  1c5"> 974"> >ca2hrf href=8h3x98,8f="li60xde,9cx68,79960,72x67,40xrc32.c#L268" id="L267" 3la7s="lin3" name="L+  355f27"> 7,5 > 7flib/3,00}
219 2,4f=">88"5 0xrc32.c#L269"38,00x68,355in3" b0xrc32.c#L269"38,00x68,355in3" b0xrc32.c#3" namn3" name="L   3388fc98n3" name="Llss an+code=8,b4, 2"lib/}
 974hfi3 <3x9832.c#L26  32 l84 422 dif  37 3b9"7 4a78xde, 0x98,2cxrc32f3 hr40xde,99c#L267" id=bc#L267" id="L266" 3la6s="lin3" name="7   386hfi7 <97148 /ad  32 b hr7fl61<7aere8xde, 0x98,20x68,0axrc32.c#L26cxd6idfarc323="lib6" id="L266" 3la6s="lin3" name="742ad8xhref="2  3   cl40215387"b96<7=hr94xaa,2exaa,2e" b0xr759,6fc#L269" id=dx98,65a 7rb5a 7rb"L266" 4la6s="lin4" name="7># 3lsare785+code=2cl4023blib/1  37 443<7a>i04xaa,8fc98,d.c#L263}
400}
42ad7x>  37  re3="li28}
 192 7f9  37 3i94x98,bc="li4dx68,7cx68,68xde,a3}
}
3="li28}
#i7 <5, 0x215f1="fclib/2cod7=h09<7aa hd="li10xdb,48" id=exrc32.6"7id0xd6ib6a 7rb9c#L267xrc32.c#67" 3la7s="lin3" name="L22ad8xh 
957> 195  3  dcode=h09i00x9bf 072ef= 7a9i04xaa,8fc98,df}
 7  72 l57"> >  3  217i04xaa,8fc98,d9x68,ccx68,595rc32ccrc323x98,52L2 32.c id=9xr66" 4la6s="lin4" name="7l2ad8xh#i4xaa,8fc98,d3xde,9cx68,6 0x85, 5rc32c="7ibdc#L269" id=bc#66" 3la6s="lin3" name="7>12"> 
957b/li00x99  38 1i 1="9, 07d 0li7/f, 4xaa,8fc98,d7c#L269" id=cx68,7c="7id6c#L268" id="L2 555L266" 3la6s="lin3" name="78eode=3647> >9hrefba 0xdc, 0x2a12"7 hde37UL}
4xaa,8fc98,dcx68,7126x60,2faxd.c#L26r759,6dx98,7bx68,7cL267> 974hfi3 <3x9832.c#L2>ref="1re785264"> c href=c7fa 1re3759  37  ie0x68,b0x68,03}rc32.a hr7bx98,00x68,c6xd7,3b759,63960,72x667> 974hfi3 <3x9832.c#L21ba2hrf877/a726 966"7 r9 37 8"l3x98,8f="li608, 6code=8,ddxdbcli7/f,  7 1fl3="li28}
 450#i4xaa,8fc98,d6xd5aa8xrc322x67,42x68,ef}
9318"7 698"7 1244xaa,8fc98,d08, 7  7857code=875"> 6code=8,387"e9 47 6,41x68,79xde,ad" id=.c#L2698rc32 x68,bf="6ib.c#L26.c#L262L266" 4la6s="lin4" name="752ad8xh 
957="2code=450i0079>503x98,8f="li6dxrc323}
5,d0x68,7b" id="" id=0xrc32.c#L26"L266" 3la6s="lin3" name="7 ref="9247> 2re385>  3     327
95"7 7,14794ie0x68,b0x68,02L2 32cx68,f13de,9cx68,6.c#L268ed5aa8xrc32"L266" 3la6s="lin3" name="78ref="c h7efb98">    415h18  ref7"0
<37i04xaa,8fc98,d2x67,45="li80x68,03d59,6dx98,77c#L26.c#L26"L265" 3la5s="lin3" name="7 12"> >3 7  >ib0xde4l4023538="b96<7a317"7 4, 4xaa,8fc98,ddc#L26." id="="6i9e}rc328" id="x60,7b5#L26.c#65" 3la5s="lin3" name="7 87 7d4f="2code=dr937 4cl 798a1cxde,93}
 
9574<1  3  926 1 l  18"7 8  37 ba1cxde,93}
 974hfi3 <3x9832.c#L27ref="c h7 <95h348 12"> 7ib0xd> hr7f   378ba1cx67> 974hfi3 <3x9832.c#L2href="2el702+4l4021i77x68  31    47554 37 are8x/* 100 test cases */ 974hfi3 <3x9832.c#L2hf3crcb2 7> 12ad8x 26"> h6ad8x7,1479a hr7f4"l3xstatic struct 7> 974hfi+code=x98_test12ad8x 26s74h">x98_testa1cxd{67> 974hfi3 <3x9832.c#L2h12"> >3 7/a>93e
47n0clbxdb,7ac987> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x9812ad8x 26s74h">x98b/}
;db,7ac987span4l4021i7comment">/* random starting x98 */ 974hfi3 <3x9832.c#L2h87 rf3crc>ref7"8  376h}
3="li28}
<7> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=start" name="Ls74h">startb/}
;db,7ac7span4l4021i7comment">/* random 6 bit offset in buf */ 974hfi3 <3x9832.c#L2h href>3278 l  4an>}
3a e50 h3="li28}
<7> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=length" name="Ls74h">lengthb/}
;db,7a7span4l4021i7comment">/* random 11 bit length of test */ 974hfi3 <3x9832.c#L2h  3  a987x2217"> 233re b/1,dd7df8937 ci94x98,bc="l7> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x98_le12ad8x 26s74h">x98_leb/}
;db,7a7span4l4021i7comment">/* expected x9832_le result */ 974hfi3 <3x9832.c#L2href="a,a78 c3 3  l57"> a,14x94cod7=2  475liabxdb,7ac987> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x98_be12ad8x 26s74h">x98_beb/}
;db,7a7span4l4021i7comment">/* expected x9832_be result */ 974hfi3 <3x9832.c#L2h12"> 
957ef215"> 2ref="fe
47n350<7a4, 4xaa,8fc987> 974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x98328_le12ad8x 26s74h">x98328_leb/}
;db7span4l4021i7comment">/* expected x9832c_le result */ 974hfi3 <3x9832.c#L2h26 974hfi+code=test12ad8x 26s74h">testa1cx[] =67> 974hfi3 <3x9832.c#L2href="c h7="1  3  443 974hfi3 <3x9832.c#L2a12"> 6,17x9 0lib/c3 3  8276="lss 7n 62<7aacl3x98,8f="l{,3c74bf1." id=00000098rc320000056="liffaf6d46xrc32.8b6e4cxr67" 3la7s="lin3" name="Lhre29 b437/a>9 41 h, 0x29, 0xd>"l 7L2{
47 2# 3x98,8f="le,a.6e93d6c}r67" 3la7s="lin3" name="Lh12"> >3 7xdrf3crcaref="=024xa9  37 974"7 4ba3x98,8f="l{,7b5c6728" id="000009a id="000018" id=c6d3dfba id=28aaf3"L267" 3la7s="lin3" name="L1c7fa ="l7b/2 href="lib/f,  8 hbli7/1ba3x98,8f="le,dc798af9a}r67" 3la7s="lin3" name="Lh26a5  380acl3x98,8f="l{,347c589.c#L26"000000a id="000000xrc32.e58eccx68,f13afc7"L266" 3la6s="lin3" name="8a  3   0l8b/+62 1}
48n2, 0802# 3x98,8f="le,ad00d08c7}r67" 3la7s="lin3" name="822 3   0l8bdrf3crcaref="=024xa9  38< 0li804ba3x98,8f="l{,7292561e8#L26"000000c#L26"000040xde,4a2ba8aaf#L26"b7/1aeL267" 3la7s="lin3" name="8bi 1="0508/a>18"> a#i3 <153bli8/a hr800}
3="li28}
<7538ba966bc}r67" 3la7s="lin3" name="84  4an0  8  3873 380 cl3x98,8f="l{50346xe707 id="000004" id="000006="lif2583198" id="5c484"L265" 3la5s="lin3" name="89  4an8,d88 192 8i 1=">09#i 812# 3x98,8f="le,ae6071c6f}r67" 3la7s="lin3" name="812 3   0l815lel402+  355ba 0xd>re481a14<814ba3x98,8f="l{,71d825a3}
 4}
3a b  485b hr810}
3="li28}
<753179ec30a}r67" 3la7s="lin3" name="8214 0, 0x2fcode=8,dd8d3re2816 h3="li28}
<{265033e3bc id="000000crc32"00000.c#L26a3ea41.c#L26ac6d31fL266" 4l16s="lin3" name="86,00}
1,d8/ae     3flib/226      38676ef81ffl3="li28}
<6ib09035eb8}r67" 3la7s="lin3" name="854 3  a,78="l h3NU2,00}
 cl4010"li8/h  381 cl3x98,8f="l{5094f1fL5" id="000000}
 1  3  492 ef9b1<8a998"811ba3x98,8f="le,d6a7"L4fa}r67" 3la7s="lin3" name="828 4an8,d8}
ere285893bli81ba1cxde,93}
<{32c9acxefa hre"0000009 id="0000413de,95fb6185a hr78707058xr67" 3la7s="lin3" name="8 cl40c1c78a 10 419bf=28 cref="fe
48n>9 4813i94x98,bc="l5, db535802}r67" 3la7s="lin3" name="8196  8   "lib/2ref="+4l402   386087<82acl3x98,8f="l{,388a034}"7a010000001c id="00005.c#L26c1b1609" id=46f95c67r67" 3la7s="lin3" name="8162 >{
4anlel402+a 38 a,7a824ba3x98,8f="l{,7f0f72239 id="000004c#L26"00002/c98,dd6fa58fc#L268"c2c1dL267" 3la7s="lin3" name="8f,5 > >188/a0   875"> 974"8 8,d2820}
3="li28}
<753192a3f1b}r67" 3la7s="lin3" name="8414i00x927e285893<8a   3826 h3="li28}
<{26cc20a5exde,40000003crc32"000067}
 974"> >ca28rf hr82ba1cxde,93}
<{3278edc885
 974hfi3 <3x9832.c#L868" id="L867" 3la758"> 2,4f=">88"580xrc3832# 3x98,8f="le,ac3cd4d18}r67" 3la7s="lin3" name="8  3388fc98n3" name="Llss an+code=88b4, 2834ba3x98,8f="l{,7703d0e0"7a010000003c id="00006cx68,788735e/crc32.ed57c5L266" 3la6s="lin3" name="8 ,5 > >188="2cl4021538="1re3851b008da  3830}
3="li28}
<753bca3}0e7}r67" 3la7s="lin3" name="86  32 l848x68  31 774"> 422 dif  38 3b9"836 h3="li28}
<{26776bf505
 192 8f9  384acl3x98,8f="l{,33ba4cc5crc32"000004}
i00x9bf 082ef= 852# 3x98,8f="le,a783a4213}r67" 3la7s="lin3" name="8>}
4an9988> 426 7  82 l57"> >  3  217}
3a  cl4821d7a85 cl3x98,8f="l{50c4c1023" id="000004" id="000060xrc32.516a3ec#L26.9321f9L266" 4la6s="lin4" name="8>12"> 
958b/li00x99  38 1i 1="9, 08d 0li851ba3x98,8f="le,d17a02ae2}r67" 3la7s="lin3" name="8lcode=3648> >9hrefba 0xdc, 0x2a12"8 hde385ba1cxde,93}
<{323287a80a id="000004" id="00004fa"li64b257e0xrc32754ebd#e4a7 cl4077, 0x69, 0xd7,a8>ref="1re885264"> c href=c7fa 1re3859  3853i94x98,bc="l5, 886d935a}r67" 3la7s="lin3" name="81ba2hrf878/a726 966"8 r9 386acl3x98,8f="l{,3a4db423" id="0000043 id="000045c#L26.c3a66dc id=873e9f1e4a7 cl4077, 0x69, 0xd7,a85re3521858> 2c2"> 6code=8,ddxdbcli8/f,  862# 3x98,8f="le,aeaaeaeb2}r67" 3la7s="lin3" name="8lib0xd>648> >cl 4509318"8 698"866 h3="li28}
<{266048bd#b#L26"000000" id="00000.c#L26897e355" id="c9961"L266" 3la6s="lin3" name="8l57"> 7  8857code=875"> 6code=8,388"e9 486ffl3="li28}
<6ibd74662b2}r67" 3la7s="lin3" name="852ad8xh 
958="2code=450i00861ba3x98,8f="le,dd26752ba}r67" 3la7s="lin3" name="81code=3648> 2re385>  3     327
95"8 7,1486ba1cxde,93}
<{32ea5ec3ba hre"000004a id="00004,2faxd869965dc id=6c1f830L266" 4l16s="lin3" name="88ref="c h8efb98">    415h18  ref8"0
<387acl3x98,8f="l{,32dfb005dde,40000001" id="000034x68,39=3b110x96,8805e854e4a7 cl4077, 0x69, 0xd7,a8rf3crcb2 88 1i 1="1}
4an2  4182  48n04e3872# 3x98,8f="le,a.54342fe}r67" 3la7s="lin3" name="8 12"> >3 8  >ib0xde4l4023538="b96<8a317"874ba3x98,8f="l{,75a21"=d" id="000004c#L26"000055a 6rb467f708" id=cb22ccdL266" 3la6s="lin3" name="8 87 7d4f="2code=dr938 4cl 876 h3="li28}
<{26f0ab9cca id="000003c#L26"0000515
 974hfi3 <3x9832.c#L89  3  a988> fclib/c}
4an1  3  2ref8"l,6 87ffl3="li28}
<6ib2e1106be}r67" 3la7s="lin3" name="8 2ad8xh 
9584<1  3  926 1 l  18"8 8  3871ba3x98,8f="le,d66120546}r67" 3la7s="lin3" name="8 code=3648b/25fref192 7ib0xd> hr8f   3873i94x98,bc="l5, f256a5cc}r67" 3la7s="lin3" name="8href="2el802+4l4021i77x68  31    48554 388acl3x98,8f="l{,3d824d1bb#L26"000003a id="000070x68,c62886f3c#L268"3ebe"L266" 3la6s="lin3" name="8hf3crcb2 8> 12ad8x 26"> h6ad8x7,1489a hr882# 3x98,8f="le,a4af1dd69}r67" 3la7s="lin3" name="8h12"> >3 8/a>93e
4884ba3x98,8f="l{,70470180c#L26"000003a hre"00001 x59,69d#b80.6"7id0de0819L267" 4l37s="lin4" name="8h87 rf3crc>ref8"8  3880}
3="li28}
<75356f0a04a}r67" 3la7s="lin3" name="8h href>3288 l  4an>}
3a e50 974hfi3 <3x9832.c#L8h  3  a988x2217"> 233re b/1,dd8df89388ffl3="li28}
<6ib74f6b6b2}r67" 3la7s="lin3" name="8href="a,a88 c3 3  l57"> a,14x94cod8=2  488 cl3x98,8f="l{506406cfecrc32"000004xde,4000006.c#L268920b8e}
7,6e4e2ac8" 67" 3la7s="lin3" name="8h12"> 
958ef215"> 2ref="fe
48n350<881ba3x98,8f="le,dc85351fd}r67" 3la7s="lin3" name="8h26 6,18x9 0lib/c3 3  8276="lss 8n 62<8aacl3x98,8f="l{,358b2a"7c#L26"0000039 id="000020x96,efa10xe0xde,9cdcb364L266" 3la6s="lin3" name="8hre29 b438/a>9 41 h, 0x29, 0xd>"l 8L2{
48 2# 3x98,8f="le,a1c892570}r67" 3la7s="lin3" name="8a12"> >3 8xdrf3crcaref="=024xa9  38 974"8 4ba3x98,8f="l{,7bdb8537c#L26"000000" id="000025a 6rb95268b5x98,74x81dc"L266" 3la6s="lin3" name="81c7fa ="l8b/2 href="lib/f,  8 h 974hfi3 <3x9832.c#L81  3   bli8/1ba3x98,8f="le,d2cL714d9}r67" 3la7s="lin3" name="8h26a5  390acl3x98,8f="l{,31d581ce8#L26"000001" id="000058crc32f0f5da5x68,61=e39eexr66" 4la6s="lin4" name="9a  3   0l9b/+62 1}
49n2, 0902# 3x98,8f="le,afd7c57de}r67" 3la7s="lin3" name="922 3   0l9bdrf3crcaref="=024xa9  39< 0li904ba3x98,8f="l{,72456719crc32"0000045
18"> a#i3 <153bli9/a hr900}
3="li28}
<753d5fedd59}r67" 3la7s="lin3" name="94  4an0  9  3873 390 cl3x98,8f="l{50cba828exde,400000039 id="00002"" id=e3f223exrc328f00871L266" 4l16s="lin3" name="99  4an8,d98 192 8i 1=">09#i 912# 3x98,8f="le,a05ed8d0c}r67" 3la7s="lin3" name="912 3   0l915lel402+  355ba 0xd>re491a14<914ba3x98,8f="l{,7eaa844ec#L26"00000fa hre"00004.c#L2672a4c96xd7,32064e"LL266" 3la6s="lin3" name="96i 1="0509e=261 4}
3a b  495b hr910}
3="li28}
<7530b09ad#b}r67" 3la7s="lin3" name="91  4an0  91 b92"> 0, 0x2fcode=8,dd9d3re2916 h3="li28}
<{26bbb5202"7a010000003crc32"00002 0x85,04af990xde,aaf042d3L267" 4l37s="lin4" name="96,00}
1,d9/ae     3flib/226      39676ef91ffl3="li28}
<6ibf8d511fb}r67" 3la7s="lin3" name="91600}
1,d9="l h3NU2,00}
 cl4010"li9/h  391 cl3x98,8f="l{50b66384dc id="00000." id=0000070xde,ad762912a hr7782bd80e4a7 cl4077, 0x69, 0xd7,a92, 0xd8279="357"> 1  3  492 ef9b1<9a998"911ba3x98,8f="le,d5ad832cc}r67" 3la7s="lin3" name="928 4an8,d9}
ere285893bli91ba1cxde,93}
<{32616c01b" id="0000022 id="00002"c#L268"1dab0xde,a783ce7dL266" 3la6s="lin3" name="9 cl40c1c79a 10 419bf=28 cref="fe
49n>9 4913i94x98,bc="l5, 1214d196}r67" 3la7s="lin3" name="9196  9   "lib/2ref="+4l402   396087<92acl3x98,8f="l{,3ce2bdaadde,40000001" id="000066arc32.32535"c#L263f0292"L266" 3la6s="lin3" name="9162 >{
4anlel402+a 39 a,7a924ba3x98,8f="l{,700fe84d7de,4000000.5
 875"> 974"9 8,d2920}
3="li28}
<753de8f14de}r67" 3la7s="lin3" name="9414i00x927e285893<9a   3926 h3="li28}
<{26bebdcb4c id="000000" id="000055dde,4beaa87axd6ib6a8c9ebL266" 3la6s="lin3" name="9>3 41 hss9an+b 415b href8  3   cl492f87<92ffl3="li28}
<6ib3563b7b9}r67" 3la7s="lin3" name="9261 974"> >ca29rf hr92ba1cxde,93}
<{323b96cadc#L26"000003" id="000034xrc32.d2372axde,9c26cd90L266" 4l16s="lin3" name="9+  355f279> 7,5 > 7flib/3,00}
219<9al,9c923i94x98,bc="l5, 54c79d60}r67" 3la7s="lin3" name="91c7fa f1l9b/f272a6 ref="463 2,4f=">88"590xrc3932# 3x98,8f="le,a4c53eex6}r67" 3la7s="lin3" name="9  3388fc99n3" name="Llss an+code=89b4, 2934ba3x98,8f="l{,71aad453" id="0000045
 422 dif  39 3b9"936 h3="li28}
<{26a4fec9a" id="000000c#L26"00006d" id="Lbe508x68,7a410760L267" 4l37s="lin4" name="963 41 hss9 <97148 /ad  32 b hr9fl61<93ffl3="li28}
<6ibaa9d6c73}r67" 3la7s="lin3" name="9661ref="2  3   cl40215389"b96<93 cl3x98,8f="l{501bbe71ec#L26"000001}
 192 9f9  394acl3x98,8f="l{,323fddc9" id="000000xde,4000006dxrc32.a385145
i00x9bf 092ef= 952# 3x98,8f="le,a863b7029}r67" 3la7s="lin3" name="9  3388fc99> 426 7  92 l57"> >  3  217}
3a  cl4921d7a95 cl3x98,8f="l{50c25dd6c" id="000002a hre"00006.crc32dceb8e1x68,1192b0d"L266" 3la6s="lin3" name="9>12"> 
959b/li00x99  38 1i 1="9, 09d 0li951ba3x98,8f="le,de85605cd}r67" 3la7s="lin3" name="9lcode=3649> >9hrefba 0xdc, 0x2a12"9 hde395ba1cxde,93}
<{32e9b113.c#L26"000004xde,4000006cx68,617a5d56L2L266c"a3208r67" 3la7s="lin3" name="9l  355f27985264"> c href=c7fa 1re3959  3953i94x98,bc="l5, 31da5f06}r67" 3la7s="lin3" name="91ba2hrf879/a726 966"9 r9 396acl3x98,8f="l{,395cd285" id="000000"7a010000004xrc327b3a4368#L26"202c07xr66" 4la6s="lin4" name="95re3521859> 2c2"> 6code=8,ddxdbcli9/f,  962# 3x98,8f="le,aa1f2e1L4}r67" 3la7s="lin3" name="9lib0xd>649> >cl 4509318"9 698"966 h3="li28}
<{2610"L79db#L26"000000" id="000039crc32ca09b88" id=77d62192r67" 3la7s="lin3" name="9157"> 7  9857code=875"> 6code=8,389"e9 496ffl3="li28}
<6ibbf940b6c}r67" 3la7s="lin3" name="952ad8xh 
959="2code=450i00961ba3x98,8f="le,d2c01afec}r67" 3la7s="lin3" name="95code=3649> 2re385>  3     327
95"9 7,1496ba1cxde,93}
<{328f618739 id="000000c#L26"00001df id=b4b0bcbxrc327710bd4L266" 3la6s="lin3" name="98ref="c h9efb98">    415h18  ref9"0
<397acl3x98,8f="l{,31c"aa90dde,40000001crc32"000059c#L2670559245 id=da7894aL266" 4la6s="lin4" name="9rf3crcb2 98 1i 1="1}
4an2  4182  49n04e3972# 3x98,8f="le,a.8940b2d}r67" 3la7s="lin3" name="9 ib0xd>649  >ib0xde4l4023538="b96<9a317"974ba3x98,8f="l{,7aabe5b9xde,40000003" id=00000715
 7d4f="2code=dr939 4cl 976 h3="li28}
<{26f15dd098rc320000000" id="00006db#L266e104a"L2L268d5667f2r67" 3la7s="lin3" name="9r57"> 7  9> fclib/c}
4an1  3  2ref9"l,6 97ffl3="li28}
<6ib7c2f6bbb}r67" 3la7s="lin3" name="9 2ad8xh 
9594<1  3  926 1 l  18"9 8  3971ba3x98,8f="le,dabbf388b}r67" 3la7s="lin3" name="9 code=3649b/25fref192 7ib0xd> hr9f   3973i94x98,bc="l5, 1dca1f4e}r67" 3la7s="lin3" name="9href="2el902+4l4021i77x68  31    49554 398acl3x98,8f="l{,3b80.17bc#L26"000003c#L26"00003bxrc3222 5bb3}
7,69a7ec89L266" 3la6s="lin3" name="9hf3crcb2 9> 12ad8x 26"> h6ad8x7,1499a hr982# 3x98,8f="le,a5c170e20}r67" 3la7s="lin3" name="9hib0xd>649/a>93e
4984ba3x98,8f="l{,7daf0592" id="0000043 id="00007bc#L263cab3f"" id=9b1fdd9xrc32.c#3" namn3" name="L9h87 rf3crc>ref9"8  3980}
3="li28}
<753c0e9d672}r67" 3la7s="lin3" name="9h href>3298 l  4an>}
3a e50 233re b/1,dd9df89398ffl3="li28}
<6ibc18bdc86}r67" 3la7s="lin3" name="9href="a,a98 c3 3  l57"> a,14x94cod9=2  498 cl3x98,8f="l{5082ebf63" id="0000009 id="0000703#L2669d560a968,79efa849xrc32.c#3" namn3" name="L9h12"> 
959ef215"> 2ref="fe
49n350<981ba3x98,8f="le,da874fcdd}r67" 3la7s="lin3" name="9h26 6,19x9 0lib/c3 3  8276="lss 9n 62<9aacl3x};67> 974hfi3 <3x9832.c#L9hre29 b439/a>9 41 h, 0x29, 0xd>"l 9L2{
49 2# 3x67> 974hfi3 <3x9832.c#L9hib0xd>649xdrf3crcaref="=024xa9  39 974"9 4ba3x#include <7> 974hfiinclude/f="ux/time.h" name="Lfr4h">l="ux/time.hba3x>67> 974hfi3 <3x9832.c#L9h87 974hfi+code=__init12ad8x 26s74h">__initi94x97> 974hfi+code=x98328_test12ad8x 26s74h">x98328_testi94x(void)67> 974hfi3 <3x9832.c#L9h  3  a989hrode=8,2 href8i 1="050<9ali6f9 ffl3={67> 974hfi3 <3x9832.c#L9href="a,a9anhre29  ref="4}
4an2  498>a5<9a cl3x98,8f="lint 7> 974hfi+code=i12ad8x 26s74h">icl3x;67> 974hfi3 <3x9832.c#L9h12"> 
959/a0, 0x21ref="=93bli9/1ba3x98,8f="lint 7> 974hfi+code=errors12ad8x 26s74h">errorsba3x9= 0;67> 974hfi3 <3x9832.c#L9h26a5 974hfi+code=bytes12ad8x 26s74h">bytesba3x9= 0;67> 974hfi3 <3x9832.c#L9href="c h9="+62timespe8i94x97> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=stop" name="Ls74h">stopcl3x;67> 974hfi3 <3x9832.c#L1027 3    974hfi+code=u>  ref="d75s74h">u66 h3="7> 974hfi+code=nse812ad8x 26s74h">nse8cl3x;67/pre>7> 974hfi3 <3x9832.c#L1021 3   9 41 h, 0x29, 0xd>"l 102a>>1022# 3x98,8f="lunsigned long"7> 974hfi+code=flags12ad8x 26s74h">flagscl3x;67> 974hfi3 <3x9832.c#L1022 3   1022}
3=67> 974hfi3 <3x9832.c#L1023 3   /* keep static to prevent cache warming xode from 974hfi3 <3x9832.c#L1024 3   98,bc="l5* getting eliminated by the compiler */ 974hfi3 <3x9832.c#L1025 3    974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x9812ad8x 26s74h">x98b/}
;67> 974hfi3 <3x9832.c#L1026 3   1027}
3="li28}
<7span4l4021i7comment">/* pre-warm the cache */ 974hfi3 <3x9832.c#L1028 3   a5102ba1cxde,93}
 974hfi+code=i12ad8x 26s74h">icl3x9= 0; 7> 974hfi+code=i12ad8x 26s74h">icl3x < 100; 7> 974hfi+code=i12ad8x 26s74h">icl3x++)d{67> 974hfi3 <3x9832.c#L1009 3   1023i94x98,bc="l58,bc="l7> 974hfi+code=bytes12ad8x 26s74h">bytesba3x9+= 2*7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
;67> 974hfi3 <3x9832.c#L1017 3   1019}
3=67> 974hfi3 <3x9832.c#L1011 3   1011i94x98,bc="l58,bc="l7> 974hfi+code=x9812ad8x 26s74h">x98b/}
 ^= 7> 974hfi+code=__x98328_le12ad8x 26s74h">__x98328_lei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1012 3   re41015l>1012i94x98,bc="l58,bc="lc="l7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
);67> 974hfi3 <3x9832.c#L1013 3    4}
3a b  410e=2>101h}
3="li28}
<}67> 974hfi3 <3x9832.c#L1014 3    0, 0x2fcode=8,dd101 b>1014}
3=67> 974hfi3 <3x9832.c#L1015 3   1015}
3="li28}
<7span4l4021i7comment">/* reduce OS noise */ 974hfi3 <3x9832.c#L1016 3   local_irq_savei94x(7> 974hfi+code=flags12ad8x 26s74h">flagscl3x);67> 974hfi3 <3x9832.c#L1017 3    1  3  492 ef9b1<10="3>1014, 4xaa,8fc987> 974hfi+code=local_irq_disable12ad8x 26s74h">local_irq_disablei94x();67> 974hfi3 <3x9832.c#L1018 3   1018}
3=67> 974hfi3 <3x9832.c#L1019 3   getnstimeofdayi94x(&7> 974hfi+code=start" name="Ls74h">startb/}
);67> 974hfi3 <3x9832.c#L1027 3   icl3x9= 0; 7> 974hfi+code=i12ad8x 26s74h">icl3x < 100; 7> 974hfi+code=i12ad8x 26s74h">icl3x++)d{67> 974hfi3 <3x9832.c#L1021 3   10 1i94x98,bc="l58,bc="lif (7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x98328_le12ad8x 26s74h">x98328_leb/}
 != 7> 974hfi+code=__x98328_le12ad8x 26s74h">__x98328_lei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1022 3    >{
4anlel402+a 310ane>10 2i94x98,bc="l58,bc="lc="l7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
))67> 974hfi3 <3x9832.c#L10 3 3    875"> 974"10/a0>10 3i94x98,bc="l58,bc="lc="lc="l7> 974hfi+code=errors12ad8x 26s74h">errorsba3x++;67> 974hfi3 <3x9832.c#L1024 3   i00x927e285893<10/ae>10 6 h3="li28}
<}67> 974hfi3 <3x9832.c#L1025 3   10 ci94x98,bc="l7> 974hfi+code=getnstimeofday12ad8x 26s74h">getnstimeofdayi94x(&7> 974hfi+code=stop" name="Ls74h">stopcl3x);67> 974hfi3 <3x9832.c#L1026 3   10 6}
3=67> 974hfi3 <3x9832.c#L1027 3    9}
3a h  4an4r935 aref10> 9>10 4, 4xaa,8fc987> 974hfi+code=local_irq_restore12ad8x 26s74h">local_irq_restorei94x(7> 974hfi+code=flags12ad8x 26s74h">flagscl3x);67> 974hfi3 <3x9832.c#L1028 3    >  3  1c5"> 974"> >ca210> >>10 8, 4xaa,8fc987> 974hfi+code=local_irq_enable12ad8x 26s74h">local_irq_enablei94x();67> 974hfi3 <3x9832.c#L1029 3    7,5 > 7flib/3,00}
219<10> 7>10 ba1cx67> 974hfi3 <3x9832.c#L1037 3   nse8cl3x = 7> 974hfi+code=stop" name="Ls74h">stopcl3x.7> 974hfi+code=tv_nse812ad8x 26s74h">tv_nse8cl3x -97> 974hfi+code=start" name="Ls74h">startb/}
.7> 974hfi+code=tv_nse812ad8x 26s74h">tv_nse8cl3x +67> 974hfi3 <3x9832.c#L1031 3    2,4f=">88"51067">10b1i94x98,bc="l58,bc="l1000000000 * (7> 974hfi+code=stop" name="Ls74h">stopcl3x.7> 974hfi+code=tv_se812ad8x 26s74h">tv_se8cl3x -97> 974hfi+code=start" name="Ls74h">startb/}
.7> 974hfi+code=tv_se812ad8x 26s74h">tv_se8cl3x);67> 974hfi3 <3x9832.c#L1032 3   10b2}
3=67> 974hfi3 <3x9832.c#L1033 3   10bh}
3="li28}
<7> 974hfi+code=pr_info12ad8x 26s74h">pr_infoi94x(7span4l4021i7string">"x98328: CRC_LE_BITS = %d\n" 974hfi+code=CRC_LE_BITS12ad8x 26s74h">CRC_LE_BITScl3x);67> 974hfi3 <3x9832.c#L1034 3    422 dif  310x68>10b4}
3=67> 974hfi3 <3x9832.c#L1035 3   48 /ad  32 b hr10 <9>10bci94x98,bc="lif (7> 974hfi+code=errors12ad8x 26s74h">errorsba3x)67> 974hfi3 <3x9832.c#L1036 3   ref="2  3   cl402153810hr>>10b6i94x98,bc="l58,bc="l7> 974hfi+code=pr_warn12ad8x 26s74h">pr_warni94x(7span4l4021i7string">"x98328: %d self tests failed\n" 974hfi+code=errors12ad8x 26s74h">errorsba3x);67> 974hfi3 <3x9832.c#L1037 3   10b4, 4xaa,8fc98else {67> 974hfi3 <3x9832.c#L1038 3   400}
42ad10/a6>10b8i94x98,bc="l58,bc="l7> 974hfi+code=pr_info12ad8x 26s74h">pr_infoi94x(7span4l4021i7string">"x98328: self tests p021ed, proce21ed %d bytes in %lld nse8\n" 974hfi3 <3x9832.c#L1039 3    974hfi+code=bytes12ad8x 26s74h">bytesba3x,97> 974hfi+code=nse812ad8x 26s74h">nse8cl3x);67> 974hfi3 <3x9832.c#L1047 3    192 10/a >10/a h3="li28}
<}67> 974hfi3 <3x9832.c#L1041 3   10/2i94x98,bc="lreturn 0;67> 974hfi3 <3x9832.c#L10/3 3   10/h}
3=}67> 974hfi3 <3x9832.c#L1044 3   400}
a71>10/4}
3=67> 974hfi3 <3x9832.c#L1045 3   __initi94x97> 974hfi+code=x9832_test12ad8x 26s74h">x9832_testi94x(void)67> 974hfi3 <3x9832.c#L10/6 3   10/6fl3={67> 974hfi3 <3x9832.c#L10/7 3    195 1>10/1ba3x98,8f="lint 7> 974hfi+code=i12ad8x 26s74h">icl3x;67> 974hfi3 <3x9832.c#L10/8 3     3  dcode=h09>10/ba1cxde,93}
 974hfi+code=errors12ad8x 26s74h">errorsba3x9= 0;67> 974hfi3 <3x9832.c#L10/9 3   bode=2cl4028  31 l  310e=>>10/9a1cxde,93}
 974hfi+code=bytes12ad8x 26s74h">bytesba3x9= 0;67> 974hfi3 <3x9832.c#L1057 3   e
4an050108xi94x98,bc="lstruct 7> 974hfi+code=timespe812ad8x 26s74h">timespe8i94x97> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=stop" name="Ls74h">stopcl3x;67> 974hfi3 <3x9832.c#L1051 3   i00x9bf 010="1>1081i94x98,bc="l7> 974hfi+code=u>  ref="d75s74h">u66 h3="7> 974hfi+code=nse812ad8x 26s74h">nse8cl3x;67> 974hfi3 <3x9832.c#L1052 3    426 4>1082i94x98,bc="lunsigned long"7> 974hfi+code=flags12ad8x 26s74h">flagscl3x;67> 974hfi3 <3x9832.c#L1053 3   1080}
3=67> 974hfi3 <3x9832.c#L1084 3   1086 h3="li28}
<7span4l4021i7comment">/* keep static to prevent cache warming xode from 974hfi3 <3x9832.c#L1055 3    >  3  2171085 h3=7span4l4021i7comment">98,bc="l5* getting eliminated by the compiler */ 974hfi3 <3x9832.c#L1056 3    974hfi+code=un3" name="Ls74h">ulib/}
<7> 974hfi+code=x9812ad8x 26s74h">x98b/}
;67> 974hfi3 <3x9832.c#L1057 3    >>1088 h3="li28}
<7span4l4021i7comment">/* pre-warm the cache */ 974hfi3 <3x9832.c#L1059 3    c href=c7fa 1re310852>1089a1cxde,93}
 974hfi+code=i12ad8x 26s74h">icl3x9= 0; 7> 974hfi+code=i12ad8x 26s74h">icl3x < 100; 7> 974hfi+code=i12ad8x 26s74h">icl3x++)d{67> 974hfi3 <3x9832.c#L1067 3    966"10/a7>10/ai94x98,bc="l58,bc="l7> 974hfi+code=bytes12ad8x 26s74h">bytesba3x9+= 2*7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
;67> 974hfi3 <3x9832.c#L1061 3    2c2"> 6code=8,ddxdbcli10> 2>10/2# 3x67> 974hfi3 <3x9832.c#L1062 3    >clx98b/}
 ^= 7> 974hfi+code=x9832_le12ad8x 26s74h">x9832_lei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1063 3    45010/3i94x98,bc="l58,bc="lc="l7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
);67> 974hfi3 <3x9832.c#L1064 3     ref="d759318"10>  >10/4}
3=67> 974hfi3 <3x9832.c#L1065 3    6code=8,3810857>10/5i94x98,bc="l58,bc="l7> 974hfi+code=x9812ad8x 26s74h">x98b/}
 ^= 7> 974hfi+code=x9832_be12ad8x 26s74h">x9832_bei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1066 3    974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
);67> 974hfi3 <3x9832.c#L1067 3    974hfi3 <3x9832.c#L1068 3    2re385>  3     327
95"10> 2>10/8}
3=67> 974hfi3 <3x9832.c#L1069 3       415h1810/9, 4xaa,8fc987span4l4021i7comment">/* reduce OS noise */ 974hfi3 <3x9832.c#L1077 3     3  2el402 27">  ref1058>>1058, 4xaa,8fc987> 974hfi+code=local_irq_save12ad8x 26s74h">local_irq_savei94x(7> 974hfi+code=flags12ad8x 26s74h">flagscl3x);67> 974hfi3 <3x9832.c#L1071 3    974hfi+code=local_irq_disable12ad8x 26s74h">local_irq_disablei94x();67> 974hfi3 <3x9832.c#L1072 3   ib0xde4l4023538="b96<10  >>1052}
3=67> 974hfi3 <3x9832.c#L1073 3   105h}
3="li28}
<7> 974hfi+code=getnstimeofday12ad8x 26s74h">getnstimeofdayi94x(&7> 974hfi+code=start" name="Ls74h">startb/}
);67> 974hfi3 <3x9832.c#L1074 3    7d4f="2code=dr9310efb>1056 h3="li28}
 974hfi+code=i12ad8x 26s74h">icl3x9= 0; 7> 974hfi+code=i12ad8x 26s74h">icl3x < 100; 7> 974hfi+code=i12ad8x 26s74h">icl3x++)d{67> 974hfi3 <3x9832.c#L1075 3    fclib/c}
4an1  3  2ref10> f>1055i94x98,bc="l58,bc="lif (7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x98_le12ad8x 26s74h">x98_leb/}
 != 7> 974hfi+code=x9832_le12ad8x 26s74h">x9832_lei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1076 3   1056i94x98,bc="l58,bc="lc="l7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
))67> 974hfi3 <3x9832.c#L1077 3   18"104<1>1057i94x98,bc="l58,bc="lc="lc="l7> 974hfi+code=errors12ad8x 26s74h">errorsba3x++;67> 974hfi3 <3x9832.c#L1078 3   1058}
3=67> 974hfi3 <3x9832.c#L1079 3    7ib0xd> hr10 <9>1053i94x98,bc="l58,bc="lif (7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x98_be12ad8x 26s74h">x98_bei94x != 7> 974hfi+code=x9832_be12ad8x 26s74h">x9832_bei94x(7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=x9812ad8x 26s74h">x98b/}
,97> 974hfi+code=test_buf12ad8x 26s74h">test_bufba3x9+67> 974hfi3 <3x9832.c#L1087 3   1002i94x98,bc="l58,bc="lc="l7> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=start" name="Ls74h">startb/}
,97> 974hfi+code=test12ad8x 26s74h">testa1cx[7> 974hfi+code=i12ad8x 26s74h">icl3x].7> 974hfi+code=length" name="Ls74h">lengthb/}
))67> 974hfi3 <3x9832.c#L1081 3    12ad8x 26"> h6ad8x7,1410> 1>1001i94x98,bc="l58,bc="lc="lc="l7> 974hfi+code=errors12ad8x 26s74h">errorsba3x++;67> 974hfi3 <3x9832.c#L1082 3   93>1002i94x98,bc="l}67> 974hfi3 <3x9832.c#L1083 3    rf3crc>ref101 l>100h}
3="li28}
<7> 974hfi+code=getnstimeofday12ad8x 26s74h">getnstimeofdayi94x(&7> 974hfi+code=stop" name="Ls74h">stopcl3x);67> 974hfi3 <3x9832.c#L1084 3   }
3a e501004}
3=67> 974hfi3 <3x9832.c#L1085 3    233re b/1,dd10x22>100ci94x98,bc="l7> 974hfi+code=local_irq_restore12ad8x 26s74h">local_irq_restorei94x(7> 974hfi+code=flags12ad8x 26s74h">flagscl3x);67> 974hfi3 <3x9832.c#L1086 3    a,14x94cod108 c>100liabxdb,7ac987> 974hfi+code=local_irq_enable12ad8x 26s74h">local_irq_enablei94x();67> 974hfi3 <3x9832.c#L1087 3    2ref="fe
410ef2>1007}
3=67> 974hfi3 <3x9832.c#L1088 3   1008, 4xaa,8fc987> 974hfi+code=nse812ad8x 26s74h">nse8cl3x = 7> 974hfi+code=stop" name="Ls74h">stopcl3x.7> 974hfi+code=tv_nse812ad8x 26s74h">tv_nse8cl3x -97> 974hfi+code=start" name="Ls74h">startb/}
.7> 974hfi+code=tv_nse812ad8x 26s74h">tv_nse8cl3x +67> 974hfi3 <3x9832.c#L1089 3   stopcl3x.7> 974hfi+code=tv_se812ad8x 26s74h">tv_se8cl3x -97> 974hfi+code=start" name="Ls74h">startb/}
.7> 974hfi+code=tv_se812ad8x 26s74h">tv_se8cl3x);67> 974hfi3 <3x9832.c#L1097 3   >10x1i94x98,bc="l7> 974hfi+code=pr_info12ad8x 26s74h">pr_infoi94x(7span4l4021i7string">"x9832: CRC_LE_BITS = %d, CRC_BE BITS = %d\n" 974hfi3 <3x9832.c#L1092 3   10x2i94x98,bc="l58,bc="lc7> 974hfi+code=CRC_LE_BITS12ad8x 26s74h">CRC_LE_BITScl3x,97> 974hfi+code=CRC_BE_BITS12ad8x 26s74h">CRC_BE_BITScl3x);67> 974hfi3 <3x9832.c#L1093 3     >10x6 h3="li28}
 974hfi+code=errors12ad8x 26s74h">errorsba3x)67> 974hfi3 <3x9832.c#L1095 3   pr_warni94x(7span4l4021i7string">"x9832: %d self tests failed\n" 974hfi+code=errors12ad8x 26s74h">errorsba3x);67> 974hfi3 <3x9832.c#L1096 3   10x7i94x98,bc="l58,bc="l7> 974hfi+code=pr_info12ad8x 26s74h">pr_infoi94x(7span4l4021i7string">"x9832: self tests p021ed, proce21ed %d bytes in %lld nse8\n" 974hfi3 <3x9832.c#L1098 3   a510x8i94x98,bc="l58,bc="l58,bc="l7> 974hfi+code=bytes12ad8x 26s74h">bytesba3x,97> 974hfi+code=nse812ad8x 26s74h">nse8cl3x);67> 974hfi3 <3x9832.c#L1099 3   10x3i94x98,bc="l}67> 974hfi3 <3x9832.c#L1127 3   >1122# 3x98,8f="lreturn 0;67> 974hfi3 <3x9832.c#L1122 3   1122}
3=}67> 974hfi3 <3x9832.c#L1123 3   1106 h3=static int 7> 974hfi+code=__init12ad8x 26s74h">__initi94x97> 974hfi+code=x9832test_init12ad8x 26s74h">x9832test_initi94x(void)67> 974hfi3 <3x9832.c#L1125 3   110liabxdb,7ac987> 974hfi+code=x9832_test12ad8x 26s74h">x9832_testi94x();67> 974hfi3 <3x9832.c#L1127 3   x98328_testi94x();67> 974hfi3 <3x9832.c#L1128 3   a5112ba1cxde,93}
 974hfi3 <3x9832.c#L1129 3   1123i94x}67> 974hfi3 <3x9832.c#L1117 3   1119}
3=67> 974hfi3 <3x9832.c#L1111 3   1111i94xstatic void 7> 974hfi+code=__exit12ad8x 26s74h">__exiti94x97> 974hfi+code=x9832_exit12ad8x 26s74h">x9832_exiti94x(void)67> 974hfi3 <3x9832.c#L1112 3   re41115l>1112i94x{67> 974hfi3 <3x9832.c#L1113 3    4}
3a b  411e=2>111h}
3=}67> 974hfi3 <3x9832.c#L1114 3    0, 0x2fcode=8,dd111 b>1114}
3=67> 974hfi3 <3x9832.c#L1115 3   1115}
3=7> 974hfi+code=module_init12ad8x 26s74h">module_initi94x(7> 974hfi+code=x9832test_init12ad8x 26s74h">x9832test_initi94x);67> 974hfi3 <3x9832.c#L1116 3   module_exiti94x(7> 974hfi+code=x9832_exit12ad8x 26s74h">x9832_exiti94x);67> 974hfi3 <3x9832.c#L1117 3    1  3  492 ef9b1<11="3>1114, 4x#endif 7span4l4021i7comment">/* CONFIG_CRC32_SELFTEST */ 974hfi3 <3x9832.c#L1118 3   1118}
3=7/pre>
The original LXR software by the 7> 974hfihttp://sourceforge.net/projects/lxr">LXR communityba3x,9this experimental version by 7> 974hfimailto:lxr@l="ux.no">lxr@l="ux.nob/} . lxr.l="ux.no kindly hosted by 7> 974hfihttp://www.redpill-l="pro.no">Redpill L="pro AScl3x,9provider of L="ux consulting and operations service2 since 1995.