19ba72a88823397ec65d43c494b5af3517baffdeeVitaly Buka// Copyright 2012 The Chromium OS Authors. All rights reserved.
26ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// Use of this source code is governed by a BSD-style license that can be
36ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// found in the LICENSE file.
46ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
59e5b683cfa9f79071b03f18c6e3c4b83f4645865Vitaly Buka#include "third_party/chromium/crypto/p224.h"
69e5b683cfa9f79071b03f18c6e3c4b83f4645865Vitaly Buka
7674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko#include <stddef.h>
8674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko#include <stdint.h>
96ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka#include <stdio.h>
109ba72a88823397ec65d43c494b5af3517baffdeeVitaly Buka#include <string.h>
116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
12674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko#include "base/macros.h"
139ba72a88823397ec65d43c494b5af3517baffdeeVitaly Buka#include <gtest/gtest.h>
146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Bukanamespace crypto {
166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Bukausing p224::Point;
186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// kBasePointExternal is the P224 base point in external representation.
20674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenkostatic const uint8_t kBasePointExternal[56] = {
21674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    0xb7, 0x0e, 0x0c, 0xbd, 0x6b, 0xb4, 0xbf, 0x7f, 0x32, 0x13, 0x90, 0xb9,
22674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    0x4a, 0x03, 0xc1, 0xd3, 0x56, 0xc2, 0x11, 0x22, 0x34, 0x32, 0x80, 0xd6,
23674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    0x11, 0x5c, 0x1d, 0x21, 0xbd, 0x37, 0x63, 0x88, 0xb5, 0xf7, 0x23, 0xfb,
24674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    0x4c, 0x22, 0xdf, 0xe6, 0xcd, 0x43, 0x75, 0xa0, 0x5a, 0x07, 0x47, 0x64,
25674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    0x44, 0xd5, 0x81, 0x99, 0x85, 0x00, 0x7e, 0x34,
266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka};
276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// TestVector represents a test of scalar multiplication of the base point.
296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// |scalar| is a big-endian scalar and |affine| is the external representation
306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// of g*scalar.
316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Bukastruct TestVector {
32674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  uint8_t scalar[28];
33674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  uint8_t affine[28 * 2];
346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka};
356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Bukastatic const int kNumNISTTestVectors = 52;
376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka// kNISTTestVectors are the NIST test vectors for P224.
396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Bukastatic const TestVector kNISTTestVectors[kNumNISTTestVectors] = {
406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x01},
456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xb7, 0x0e, 0x0c, 0xbd, 0x6b, 0xb4, 0xbf, 0x7f,
466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x32, 0x13, 0x90, 0xb9, 0x4a, 0x03, 0xc1, 0xd3,
476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x56, 0xc2, 0x11, 0x22, 0x34, 0x32, 0x80, 0xd6,
486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x11, 0x5c, 0x1d, 0x21, 0xbd, 0x37, 0x63, 0x88,
496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb5, 0xf7, 0x23, 0xfb, 0x4c, 0x22, 0xdf, 0xe6,
506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcd, 0x43, 0x75, 0xa0, 0x5a, 0x07, 0x47, 0x64,
516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x44, 0xd5, 0x81, 0x99, 0x85, 0x00, 0x7e, 0x34
526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x02, },
596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x70, 0x6a, 0x46, 0xdc, 0x76, 0xdc, 0xb7, 0x67,
616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x98, 0xe6, 0x0e, 0x6d, 0x89, 0x47, 0x47, 0x88,
626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd1, 0x6d, 0xc1, 0x80, 0x32, 0xd2, 0x68, 0xfd,
636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1a, 0x70, 0x4f, 0xa6, 0x1c, 0x2b, 0x76, 0xa7,
646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbc, 0x25, 0xe7, 0x70, 0x2a, 0x70, 0x4f, 0xa9,
656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x86, 0x89, 0x28, 0x49, 0xfc, 0xa6, 0x29, 0x48,
666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x7a, 0xcf, 0x37, 0x09, 0xd2, 0xe4, 0xe8, 0xbb,
676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x03, },
746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xdf, 0x1b, 0x1d, 0x66, 0xa5, 0x51, 0xd0, 0xd3,
756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1e, 0xff, 0x82, 0x25, 0x58, 0xb9, 0xd2, 0xcc,
766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x75, 0xc2, 0x18, 0x02, 0x79, 0xfe, 0x0d, 0x08,
776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfd, 0x89, 0x6d, 0x04, 0xa3, 0xf7, 0xf0, 0x3c,
786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xad, 0xd0, 0xbe, 0x44, 0x4c, 0x0a, 0xa5, 0x68,
796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x30, 0x13, 0x0d, 0xdf, 0x77, 0xd3, 0x17, 0x34,
806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4e, 0x1a, 0xf3, 0x59, 0x19, 0x81, 0xa9, 0x25,
816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x04, },
886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xae, 0x99, 0xfe, 0xeb, 0xb5, 0xd2, 0x69, 0x45,
896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb5, 0x48, 0x92, 0x09, 0x2a, 0x8a, 0xee, 0x02,
906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x91, 0x29, 0x30, 0xfa, 0x41, 0xcd, 0x11, 0x4e,
916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x40, 0x44, 0x73, 0x01, 0x04, 0x82, 0x58, 0x0a,
926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0e, 0xc5, 0xbc, 0x47, 0xe8, 0x8b, 0xc8, 0xc3,
936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x78, 0x63, 0x2c, 0xd1, 0x96, 0xcb, 0x3f, 0xa0,
946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x58, 0xa7, 0x11, 0x4e, 0xb0, 0x30, 0x54, 0xc9,
956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x05, },
1026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x31, 0xc4, 0x9a, 0xe7, 0x5b, 0xce, 0x78, 0x07,
1036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcd, 0xff, 0x22, 0x05, 0x5d, 0x94, 0xee, 0x90,
1046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x21, 0xfe, 0xdb, 0xb5, 0xab, 0x51, 0xc5, 0x75,
1056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x26, 0xf0, 0x11, 0xaa, 0x27, 0xe8, 0xbf, 0xf1,
1066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x74, 0x56, 0x35, 0xec, 0x5b, 0xa0, 0xc9, 0xf1,
1076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc2, 0xed, 0xe1, 0x54, 0x14, 0xc6, 0x50, 0x7d,
1086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x29, 0xff, 0xe3, 0x7e, 0x79, 0x0a, 0x07, 0x9b,
1096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x06, },
1166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x1f, 0x24, 0x83, 0xf8, 0x25, 0x72, 0x25, 0x1f,
1176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xca, 0x97, 0x5f, 0xea, 0x40, 0xdb, 0x82, 0x1d,
1186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf8, 0xad, 0x82, 0xa3, 0xc0, 0x02, 0xee, 0x6c,
1196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x57, 0x11, 0x24, 0x08, 0x89, 0xfa, 0xf0, 0xcc,
1206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb7, 0x50, 0xd9, 0x9b, 0x55, 0x3c, 0x57, 0x4f,
1216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xad, 0x7e, 0xcf, 0xb0, 0x43, 0x85, 0x86, 0xeb,
1226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x39, 0x52, 0xaf, 0x5b, 0x4b, 0x15, 0x3c, 0x7e,
1236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x07, },
1306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xdb, 0x2f, 0x6b, 0xe6, 0x30, 0xe2, 0x46, 0xa5,
1316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcf, 0x7d, 0x99, 0xb8, 0x51, 0x94, 0xb1, 0x23,
1326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd4, 0x87, 0xe2, 0xd4, 0x66, 0xb9, 0x4b, 0x24,
1336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa0, 0x3c, 0x3e, 0x28, 0x0f, 0x3a, 0x30, 0x08,
1346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x54, 0x97, 0xf2, 0xf6, 0x11, 0xee, 0x25, 0x17,
1356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb1, 0x63, 0xef, 0x8c, 0x53, 0xb7, 0x15, 0xd1,
1366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8b, 0xb4, 0xe4, 0x80, 0x8d, 0x02, 0xb9, 0x63,
1376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x08, },
1446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x85, 0x8e, 0x6f, 0x9c, 0xc6, 0xc1, 0x2c, 0x31,
1456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf5, 0xdf, 0x12, 0x4a, 0xa7, 0x77, 0x67, 0xb0,
1466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x8b, 0xc0, 0x21, 0xbd, 0x68, 0x3d, 0x2b,
1476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x55, 0x57, 0x15, 0x50, 0x04, 0x6d, 0xcd, 0x3e,
1486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa5, 0xc4, 0x38, 0x98, 0xc5, 0xc5, 0xfc, 0x4f,
1496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xda, 0xc7, 0xdb, 0x39, 0xc2, 0xf0, 0x2e, 0xbe,
1506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe4, 0xe3, 0x54, 0x1d, 0x1e, 0x78, 0x04, 0x7a,
1516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x09, },
1586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x2f, 0xdc, 0xcc, 0xfe, 0xe7, 0x20, 0xa7, 0x7e,
1596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf6, 0xcb, 0x3b, 0xfb, 0xb4, 0x47, 0xf9, 0x38,
1606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x31, 0x17, 0xe3, 0xda, 0xa4, 0xa0, 0x7e, 0x36,
1616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xed, 0x15, 0xf7, 0x8d, 0x37, 0x17, 0x32, 0xe4,
1626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf4, 0x1b, 0xf4, 0xf7, 0x88, 0x30, 0x35, 0xe6,
1636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa7, 0x9f, 0xce, 0xdc, 0x0e, 0x19, 0x6e, 0xb0,
1646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x7b, 0x48, 0x17, 0x16, 0x97, 0x51, 0x74, 0x63,
1656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0a, },
1726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xae, 0xa9, 0xe1, 0x7a, 0x30, 0x65, 0x17, 0xeb,
1736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x89, 0x15, 0x2a, 0xa7, 0x09, 0x6d, 0x2c, 0x38,
1746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1e, 0xc8, 0x13, 0xc5, 0x1a, 0xa8, 0x80, 0xe7,
1756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbe, 0xe2, 0xc0, 0xfd, 0x39, 0xbb, 0x30, 0xea,
1766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb3, 0x37, 0xe0, 0xa5, 0x21, 0xb6, 0xcb, 0xa1,
1776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xab, 0xe4, 0xb2, 0xb3, 0xa3, 0xe5, 0x24, 0xc1,
1786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4a, 0x3f, 0xe3, 0xeb, 0x11, 0x6b, 0x65, 0x5f,
1796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0b, },
1866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xef, 0x53, 0xb6, 0x29, 0x4a, 0xca, 0x43, 0x1f,
1876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0f, 0x3c, 0x22, 0xdc, 0x82, 0xeb, 0x90, 0x50,
1886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x32, 0x4f, 0x1d, 0x88, 0xd3, 0x77, 0xe7, 0x16,
1896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x44, 0x8e, 0x50, 0x7c, 0x20, 0xb5, 0x10, 0x00,
1906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x40, 0x92, 0xe9, 0x66, 0x36, 0xcf, 0xb7, 0xe3,
1916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x2e, 0xfd, 0xed, 0x82, 0x65, 0xc2, 0x66, 0xdf,
1926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb7, 0x54, 0xfa, 0x6d, 0x64, 0x91, 0xa6, 0xda,
1936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
1946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
1956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
1966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0c, },
2006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x6e, 0x31, 0xee, 0x1d, 0xc1, 0x37, 0xf8, 0x1b,
2016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x05, 0x67, 0x52, 0xe4, 0xde, 0xab, 0x14, 0x43,
2026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa4, 0x81, 0x03, 0x3e, 0x9b, 0x4c, 0x93, 0xa3,
2036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x04, 0x4f, 0x4f, 0x7a, 0x20, 0x7d, 0xdd, 0xf0,
2046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x38, 0x5b, 0xfd, 0xea, 0xb6, 0xe9, 0xac, 0xda,
2056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8d, 0xa0, 0x6b, 0x3b, 0xbe, 0xf2, 0x24, 0xa9,
2066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3a, 0xb1, 0xe9, 0xe0, 0x36, 0x10, 0x9d, 0x13,
2076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0d, },
2146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x34, 0xe8, 0xe1, 0x7a, 0x43, 0x0e, 0x43, 0x28,
2156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x97, 0x93, 0xc3, 0x83, 0xfa, 0xc9, 0x77, 0x42,
2166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x47, 0xb4, 0x0e, 0x9e, 0xbd, 0x33, 0x66, 0x98,
2176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1f, 0xcf, 0xae, 0xca, 0x25, 0x28, 0x19, 0xf7,
2186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1c, 0x7f, 0xb7, 0xfb, 0xcb, 0x15, 0x9b, 0xe3,
2196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x37, 0xd3, 0x7d, 0x33, 0x36, 0xd7, 0xfe, 0xb9,
2206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x63, 0x72, 0x4f, 0xdf, 0xb0, 0xec, 0xb7, 0x67,
2216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0e, },
2286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xa5, 0x36, 0x40, 0xc8, 0x3d, 0xc2, 0x08, 0x60,
2296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3d, 0xed, 0x83, 0xe4, 0xec, 0xf7, 0x58, 0xf2,
2306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4c, 0x35, 0x7d, 0x7c, 0xf4, 0x80, 0x88, 0xb2,
2316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xce, 0x01, 0xe9, 0xfa, 0xd5, 0x81, 0x4c, 0xd7,
2326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x24, 0x19, 0x9c, 0x4a, 0x5b, 0x97, 0x4a, 0x43,
2336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x68, 0x5f, 0xbf, 0x5b, 0x8b, 0xac, 0x69, 0x45,
2346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x9c, 0x94, 0x69, 0xbc, 0x8f, 0x23, 0xcc, 0xaf,
2356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x0f, },
2426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xba, 0xa4, 0xd8, 0x63, 0x55, 0x11, 0xa7, 0xd2,
2436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x88, 0xae, 0xbe, 0xed, 0xd1, 0x2c, 0xe5, 0x29,
2446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0x10, 0x2c, 0x91, 0xf9, 0x7f, 0x86, 0x7e,
2456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x21, 0x91, 0x6b, 0xf9, 0x97, 0x9a, 0x5f, 0x47,
2466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x59, 0xf8, 0x0f, 0x4f, 0xb4, 0xec, 0x2e, 0x34,
2476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf5, 0x56, 0x6d, 0x59, 0x56, 0x80, 0xa1, 0x17,
2486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x35, 0xe7, 0xb6, 0x10, 0x46, 0x12, 0x79, 0x89,
2496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x10, },
2566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x0b, 0x6e, 0xc4, 0xfe, 0x17, 0x77, 0x38, 0x24,
2576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x04, 0xef, 0x67, 0x99, 0x97, 0xba, 0x8d, 0x1c,
2586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc5, 0xcd, 0x8e, 0x85, 0x34, 0x92, 0x59, 0xf5,
2596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x90, 0xc4, 0xc6, 0x6d, 0x33, 0x99, 0xd4, 0x64,
2606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x34, 0x59, 0x06, 0xb1, 0x1b, 0x00, 0xe3, 0x63,
2616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xef, 0x42, 0x92, 0x21, 0xf2, 0xec, 0x72, 0x0d,
2626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x2f, 0x66, 0x5d, 0x7d, 0xea, 0xd5, 0xb4, 0x82,
2636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x11, },
2706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xb8, 0x35, 0x7c, 0x3a, 0x6c, 0xee, 0xf2, 0x88,
2716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x31, 0x0e, 0x17, 0xb8, 0xbf, 0xef, 0xf9, 0x20,
2726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x08, 0x46, 0xca, 0x8c, 0x19, 0x42, 0x49, 0x7c,
2736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x48, 0x44, 0x03, 0xbc, 0xff, 0x14, 0x9e, 0xfa,
2746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x66, 0x06, 0xa6, 0xbd, 0x20, 0xef, 0x7d, 0x1b,
2756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x06, 0xbd, 0x92, 0xf6, 0x90, 0x46, 0x39, 0xdc,
2766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe5, 0x17, 0x4d, 0xb6, 0xcc, 0x55, 0x4a, 0x26,
2776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x12, },
2846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xc9, 0xff, 0x61, 0xb0, 0x40, 0x87, 0x4c, 0x05,
2856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x68, 0x47, 0x92, 0x16, 0x82, 0x4a, 0x15, 0xea,
2866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb1, 0xa8, 0x38, 0xa7, 0x97, 0xd1, 0x89, 0x74,
2876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x62, 0x26, 0xe4, 0xcc, 0xea, 0x98, 0xd6, 0x0e,
2886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5f, 0xfc, 0x9b, 0x8f, 0xcf, 0x99, 0x9f, 0xab,
2896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1d, 0xf7, 0xe7, 0xef, 0x70, 0x84, 0xf2, 0x0d,
2906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdb, 0x61, 0xbb, 0x04, 0x5a, 0x6c, 0xe0, 0x02,
2916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
2926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
2936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
2946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x13, },
2986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xa1, 0xe8, 0x1c, 0x04, 0xf3, 0x0c, 0xe2, 0x01,
2996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc7, 0xc9, 0xac, 0xe7, 0x85, 0xed, 0x44, 0xcc,
3006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x33, 0xb4, 0x55, 0xa0, 0x22, 0xf2, 0xac, 0xdb,
3016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc6, 0xca, 0xe8, 0x3c, 0xdc, 0xf1, 0xf6, 0xc3,
3026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdb, 0x09, 0xc7, 0x0a, 0xcc, 0x25, 0x39, 0x1d,
3036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x49, 0x2f, 0xe2, 0x5b, 0x4a, 0x18, 0x0b, 0xab,
3046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd6, 0xce, 0xa3, 0x56, 0xc0, 0x47, 0x19, 0xcd,
3056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x14, },
3126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xfc, 0xc7, 0xf2, 0xb4, 0x5d, 0xf1, 0xcd, 0x5a,
3136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3c, 0x0c, 0x07, 0x31, 0xca, 0x47, 0xa8, 0xaf,
3146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x75, 0xcf, 0xb0, 0x34, 0x7e, 0x83, 0x54, 0xee,
3156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfe, 0x78, 0x24, 0x55, 0x0d, 0x5d, 0x71, 0x10,
3166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x27, 0x4c, 0xba, 0x7c, 0xde, 0xe9, 0x0e, 0x1a,
3176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8b, 0x0d, 0x39, 0x4c, 0x37, 0x6a, 0x55, 0x73,
3186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdb, 0x6b, 0xe0, 0xbf, 0x27, 0x47, 0xf5, 0x30,
3196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x01, 0x8e, 0xbb, 0xb9,
3256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5e, 0xed, 0x0e, 0x13, },
3266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x61, 0xf0, 0x77, 0xc6, 0xf6, 0x2e, 0xd8, 0x02,
3276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xda, 0xd7, 0xc2, 0xf3, 0x8f, 0x5c, 0x67, 0xf2,
3286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcc, 0x45, 0x36, 0x01, 0xe6, 0x1b, 0xd0, 0x76,
3296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbb, 0x46, 0x17, 0x9e, 0x22, 0x72, 0xf9, 0xe9,
3306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf5, 0x93, 0x3e, 0x70, 0x38, 0x8e, 0xe6, 0x52,
3316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x51, 0x34, 0x43, 0xb5, 0xe2, 0x89, 0xdd, 0x13,
3326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5d, 0xcc, 0x0d, 0x02, 0x99, 0xb2, 0x25, 0xe4,
3336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x00, 0x00, 0x15, 0x9d, 0x89,
3386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3d, 0x4c, 0xdd, 0x74, 0x72, 0x46, 0xcd, 0xca,
3396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x43, 0x59, 0x0e, 0x13, },
3406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x02, 0x98, 0x95, 0xf0, 0xaf, 0x49, 0x6b, 0xfc,
3416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x62, 0xb6, 0xef, 0x8d, 0x8a, 0x65, 0xc8, 0x8c,
3426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x61, 0x39, 0x49, 0xb0, 0x36, 0x68, 0xaa, 0xb4,
3436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf0, 0x42, 0x9e, 0x35, 0x3e, 0xa6, 0xe5, 0x3f,
3446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x9a, 0x84, 0x1f, 0x20, 0x19, 0xec, 0x24, 0xbd,
3456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe1, 0xa7, 0x56, 0x77, 0xaa, 0x9b, 0x59, 0x02,
3466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe6, 0x10, 0x81, 0xc0, 0x10, 0x64, 0xde, 0x93,
3476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x41, 0xff, 0xc1, 0xff, 0xff, 0xfe, 0x01, 0xff,
3516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfc, 0x00, 0x03, 0xff, 0xfe, 0x00, 0x07, 0xc0,
3526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x01, 0xff, 0xf0, 0x00, 0x03, 0xff, 0xf0, 0x7f,
3536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfe, 0x00, 0x07, 0xc0, },
3546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xab, 0x68, 0x99, 0x30, 0xbc, 0xae, 0x4a, 0x4a,
3556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa5, 0xf5, 0xcb, 0x08, 0x5e, 0x82, 0x3e, 0x8a,
3566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe3, 0x0f, 0xd3, 0x65, 0xeb, 0x1d, 0xa4, 0xab,
3576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa9, 0xcf, 0x03, 0x79, 0x33, 0x45, 0xa1, 0x21,
3586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbb, 0xd2, 0x33, 0x54, 0x8a, 0xf0, 0xd2, 0x10,
3596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x65, 0x4e, 0xb4, 0x0b, 0xab, 0x78, 0x8a, 0x03,
3606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x66, 0x64, 0x19, 0xbe, 0x6f, 0xbd, 0x34, 0xe7,
3616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x7f, 0xff, 0xff, 0xc0, 0x3f, 0xff, 0xc0, 0x03,
3656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xfc, 0x00, 0x7f, 0xff, 0x00, 0x00,
3666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x07, 0x00, 0x00, 0x10, 0x00, 0x00,
3676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x0e, 0x00, 0xff, },
3686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xbd, 0xb6, 0xa8, 0x81, 0x7c, 0x1f, 0x89, 0xda,
3696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1c, 0x2f, 0x3d, 0xd8, 0xe9, 0x7f, 0xeb, 0x44,
3706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x94, 0xf2, 0xed, 0x30, 0x2a, 0x4c, 0xe2, 0xbc,
3716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x7f, 0x5f, 0x40, 0x25, 0x4c, 0x70, 0x20, 0xd5,
3726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x7c, 0x00, 0x41, 0x18, 0x89, 0x46, 0x2d, 0x77,
3736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa5, 0x43, 0x8b, 0xb4, 0xe9, 0x7d, 0x17, 0x77,
3746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0xbf, 0x72, 0x43, 0xa0, 0x7f, 0x16, 0x80,
3756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x7f, 0xff, 0xff, 0x04, 0x00, 0x00, 0x00, 0x00,
3796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xf0, 0x1f, 0xff, 0xf8, 0xff, 0xff,
3806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc0, 0x0f, 0xff, 0xff, 0xff, 0xff, 0xc0, 0x00,
3816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x0f, 0xff, 0xff, },
3826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xd5, 0x8b, 0x61, 0xaa, 0x41, 0xc3, 0x2d, 0xd5,
3836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xeb, 0xa4, 0x62, 0x64, 0x7d, 0xba, 0x75, 0xc5,
3846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd6, 0x7c, 0x83, 0x60, 0x6c, 0x0a, 0xf2, 0xbd,
3856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x92, 0x84, 0x46, 0xa9, 0xd2, 0x4b, 0xa6, 0xa8,
3866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x37, 0xbe, 0x04, 0x60, 0xdd, 0x10, 0x7a, 0xe7,
3876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x77, 0x25, 0x69, 0x6d, 0x21, 0x14, 0x46, 0xc5,
3886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x60, 0x9b, 0x45, 0x95, 0x97, 0x6b, 0x16, 0xbd,
3896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
3906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
3916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
3926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x7f, 0xff, 0xff, 0xc0, 0x00, 0xff, 0xfe, 0x3f,
3936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xfc, 0x10, 0x00, 0x00, 0x20, 0x00, 0x3f,
3946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0x00, 0x00, 0x00, 0xfc, 0x00, 0x00,
3956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3f, 0xff, 0xff, 0xff, },
3966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xdc, 0x9f, 0xa7, 0x79, 0x78, 0xa0, 0x05, 0x51,
3976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x09, 0x80, 0xe9, 0x29, 0xa1, 0x48, 0x5f, 0x63,
3986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x71, 0x6d, 0xf6, 0x95, 0xd7, 0xa0, 0xc1, 0x8b,
3996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb5, 0x18, 0xdf, 0x03, 0xed, 0xe2, 0xb0, 0x16,
4006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf2, 0xdd, 0xff, 0xc2, 0xa8, 0xc0, 0x15, 0xb1,
4016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x34, 0x92, 0x82, 0x75, 0xce, 0x09, 0xe5, 0x66,
4026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1b, 0x7a, 0xb1, 0x4c, 0xe0, 0xd1, 0xd4, 0x03,
4036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x70, 0x01, 0xf0, 0x00, 0x1c, 0x00, 0x01, 0xc0,
4076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x1f, 0xff, 0xff, 0xfc, 0x00, 0x00,
4086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1f, 0xff, 0xff, 0xf8, 0x00, 0x0f, 0xc0, 0x00,
4096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x01, 0xfc, 0x00, },
4106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x49, 0x9d, 0x8b, 0x28, 0x29, 0xcf, 0xb8, 0x79,
4116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc9, 0x01, 0xf7, 0xd8, 0x5d, 0x35, 0x70, 0x45,
4126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xed, 0xab, 0x55, 0x02, 0x88, 0x24, 0xd0, 0xf0,
4136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5b, 0xa2, 0x79, 0xba, 0xbf, 0x92, 0x95, 0x37,
4146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb0, 0x6e, 0x40, 0x15, 0x91, 0x96, 0x39, 0xd9,
4156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4f, 0x57, 0x83, 0x8f, 0xa3, 0x3f, 0xc3, 0xd9,
4166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x52, 0x59, 0x8d, 0xcd, 0xbb, 0x44, 0xd6, 0x38,
4176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x00, 0x1f, 0xfc, 0x00, 0x00,
4216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0xff, 0xf0, 0x30, 0x00, 0x1f, 0x00, 0x00,
4226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xf0, 0x00, 0x00, 0x38, 0x00, 0x00,
4236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0x00, 0x02, },
4246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x82, 0x46, 0xc9, 0x99, 0x13, 0x71, 0x86, 0x63,
4256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x2c, 0x5f, 0x9e, 0xdd, 0xf3, 0xb1, 0xb0, 0xe1,
4266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x76, 0x4c, 0x5e, 0x8b, 0xd0, 0xe0, 0xd8, 0xa5,
4276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x54, 0xb9, 0xcb, 0x77, 0xe8, 0x0e, 0xd8, 0x66,
4286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0b, 0xc1, 0xcb, 0x17, 0xac, 0x7d, 0x84, 0x5b,
4296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe4, 0x0a, 0x7a, 0x02, 0x2d, 0x33, 0x06, 0xf1,
4306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x16, 0xae, 0x9f, 0x81, 0xfe, 0xa6, 0x59, 0x47,
4316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x7f, 0xff, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00,
4356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x07, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x00, 0x00, 0xff, 0xfe, 0x08, 0x00, 0x00, 0x1f,
4376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf0, 0x00, 0x1f, 0xff, },
4386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x66, 0x70, 0xc2, 0x0a, 0xfc, 0xce, 0xae, 0xa6,
4396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x72, 0xc9, 0x7f, 0x75, 0xe2, 0xe9, 0xdd, 0x5c,
4406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x84, 0x60, 0xe5, 0x4b, 0xb3, 0x85, 0x38, 0xeb,
4416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb4, 0xbd, 0x30, 0xeb, 0xf2, 0x80, 0xd8, 0x00,
4426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8d, 0x07, 0xa4, 0xca, 0xf5, 0x42, 0x71, 0xf9,
4436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x93, 0x52, 0x7d, 0x46, 0xff, 0x3f, 0xf4, 0x6f,
4446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd1, 0x19, 0x0a, 0x3f, 0x1f, 0xaa, 0x4f, 0x74,
4456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x7f, 0xff, 0xff, 0xff, 0xff, 0xff,
4496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xc0, 0x00, 0x07, 0xff, 0xff, 0xe0, 0xff,
4506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xf8, 0x00, 0xff,
4516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, },
4526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x0e, 0xca, 0x93, 0x42, 0x47, 0x42, 0x5c,
4536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfd, 0x94, 0x9b, 0x79, 0x5c, 0xb5, 0xce, 0x1e,
4546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0x40, 0x15, 0x50, 0x38, 0x6e, 0x28, 0xd1,
4556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa4, 0xc5, 0xa8, 0xeb, 0xd4, 0xc0, 0x10, 0x40,
4566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdb, 0xa1, 0x96, 0x28, 0x93, 0x1b, 0xc8, 0x85,
4576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x53, 0x70, 0x31, 0x7c, 0x72, 0x2c, 0xbd, 0x9c,
4586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa6, 0x15, 0x69, 0x85, 0xf1, 0xc2, 0xe9, 0xce,
4596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x7f, 0xff, 0xfc, 0x03, 0xff, 0x80, 0x7f, 0xff,
4636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0x00, 0x1f, 0xff, 0xff, 0x80, 0x0f, 0xff,
4646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x80, 0x00, 0x01, 0xff, 0xff, 0x00, 0x01, 0xff,
4656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xfe, 0x00, 0x1f, },
4666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xef, 0x35, 0x3b, 0xf5, 0xc7, 0x3c, 0xd5, 0x51,
4676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb9, 0x6d, 0x59, 0x6f, 0xbc, 0x9a, 0x67, 0xf1,
4686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x6d, 0x61, 0xdd, 0x9f, 0xe5, 0x6a, 0xf1, 0x9d,
4696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe1, 0xfb, 0xa9, 0xcd, 0x21, 0x77, 0x1b, 0x9c,
4706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdc, 0xe3, 0xe8, 0x43, 0x0c, 0x09, 0xb3, 0x83,
4716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8b, 0xe7, 0x0b, 0x48, 0xc2, 0x1e, 0x15, 0xbc,
4726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x09, 0xee, 0x1f, 0x2d, 0x79, 0x45, 0xb9, 0x1f,
4736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x00, 0x00, 0x00, 0x07, 0xff, 0xc0, 0x7f, 0xff,
4776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0x01, 0xff, 0xfe, 0x03, 0xff, 0xfe,
4786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x40, 0x00, 0x38, 0x00, 0x07, 0xe0, 0x00, 0x3f,
4796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfe, 0x00, 0x00, 0x00, },
4806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x40, 0x36, 0x05, 0x2a, 0x30, 0x91, 0xeb, 0x48,
4816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x10, 0x46, 0xad, 0x32, 0x89, 0xc9, 0x5d, 0x3a,
4826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc9, 0x05, 0xca, 0x00, 0x23, 0xde, 0x2c, 0x03,
4836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xec, 0xd4, 0x51, 0xcf, 0xd7, 0x68, 0x16, 0x5a,
4846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x38, 0xa2, 0xb9, 0x6f, 0x81, 0x25, 0x86, 0xa9,
4856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd5, 0x9d, 0x41, 0x36, 0x03, 0x5d, 0x9c, 0x85,
4866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3a, 0x5b, 0xf2, 0xe1, 0xc8, 0x6a, 0x49, 0x93,
4876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
4886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
4896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
4906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
4916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
4926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
4936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x29, },
4946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xfc, 0xc7, 0xf2, 0xb4, 0x5d, 0xf1, 0xcd, 0x5a,
4956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3c, 0x0c, 0x07, 0x31, 0xca, 0x47, 0xa8, 0xaf,
4966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x75, 0xcf, 0xb0, 0x34, 0x7e, 0x83, 0x54, 0xee,
4976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfe, 0x78, 0x24, 0x55, 0xf2, 0xa2, 0x8e, 0xef,
4986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd8, 0xb3, 0x45, 0x83, 0x21, 0x16, 0xf1, 0xe5,
4996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x74, 0xf2, 0xc6, 0xb2, 0xc8, 0x95, 0xaa, 0x8c,
5006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x24, 0x94, 0x1f, 0x40, 0xd8, 0xb8, 0x0a, 0xd1,
5016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2a, },
5086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xa1, 0xe8, 0x1c, 0x04, 0xf3, 0x0c, 0xe2, 0x01,
5096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc7, 0xc9, 0xac, 0xe7, 0x85, 0xed, 0x44, 0xcc,
5106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x33, 0xb4, 0x55, 0xa0, 0x22, 0xf2, 0xac, 0xdb,
5116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc6, 0xca, 0xe8, 0x3c, 0x23, 0x0e, 0x09, 0x3c,
5126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x24, 0xf6, 0x38, 0xf5, 0x33, 0xda, 0xc6, 0xe2,
5136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb6, 0xd0, 0x1d, 0xa3, 0xb5, 0xe7, 0xf4, 0x54,
5146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x29, 0x31, 0x5c, 0xa9, 0x3f, 0xb8, 0xe6, 0x34,
5156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2b, },
5226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xc9, 0xff, 0x61, 0xb0, 0x40, 0x87, 0x4c, 0x05,
5236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x68, 0x47, 0x92, 0x16, 0x82, 0x4a, 0x15, 0xea,
5246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb1, 0xa8, 0x38, 0xa7, 0x97, 0xd1, 0x89, 0x74,
5256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x62, 0x26, 0xe4, 0xcc, 0x15, 0x67, 0x29, 0xf1,
5266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa0, 0x03, 0x64, 0x70, 0x30, 0x66, 0x60, 0x54,
5276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe2, 0x08, 0x18, 0x0f, 0x8f, 0x7b, 0x0d, 0xf2,
5286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x24, 0x9e, 0x44, 0xfb, 0xa5, 0x93, 0x1f, 0xff,
5296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2c, },
5366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xb8, 0x35, 0x7c, 0x3a, 0x6c, 0xee, 0xf2, 0x88,
5376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x31, 0x0e, 0x17, 0xb8, 0xbf, 0xef, 0xf9, 0x20,
5386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x08, 0x46, 0xca, 0x8c, 0x19, 0x42, 0x49, 0x7c,
5396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x48, 0x44, 0x03, 0xbc, 0x00, 0xeb, 0x61, 0x05,
5406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x99, 0xf9, 0x59, 0x42, 0xdf, 0x10, 0x82, 0xe4,
5416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf9, 0x42, 0x6d, 0x08, 0x6f, 0xb9, 0xc6, 0x23,
5426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1a, 0xe8, 0xb2, 0x49, 0x33, 0xaa, 0xb5, 0xdb,
5436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2d, },
5506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x0b, 0x6e, 0xc4, 0xfe, 0x17, 0x77, 0x38, 0x24,
5516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x04, 0xef, 0x67, 0x99, 0x97, 0xba, 0x8d, 0x1c,
5526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc5, 0xcd, 0x8e, 0x85, 0x34, 0x92, 0x59, 0xf5,
5536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x90, 0xc4, 0xc6, 0x6d, 0xcc, 0x66, 0x2b, 0x9b,
5546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcb, 0xa6, 0xf9, 0x4e, 0xe4, 0xff, 0x1c, 0x9c,
5556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x10, 0xbd, 0x6d, 0xdd, 0x0d, 0x13, 0x8d, 0xf2,
5566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd0, 0x99, 0xa2, 0x82, 0x15, 0x2a, 0x4b, 0x7f,
5576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2e, },
5646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xba, 0xa4, 0xd8, 0x63, 0x55, 0x11, 0xa7, 0xd2,
5656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x88, 0xae, 0xbe, 0xed, 0xd1, 0x2c, 0xe5, 0x29,
5666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0x10, 0x2c, 0x91, 0xf9, 0x7f, 0x86, 0x7e,
5676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x21, 0x91, 0x6b, 0xf9, 0x68, 0x65, 0xa0, 0xb8,
5686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa6, 0x07, 0xf0, 0xb0, 0x4b, 0x13, 0xd1, 0xcb,
5696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0a, 0xa9, 0x92, 0xa5, 0xa9, 0x7f, 0x5e, 0xe8,
5706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xca, 0x18, 0x49, 0xef, 0xb9, 0xed, 0x86, 0x78,
5716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x2f, },
5786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xa5, 0x36, 0x40, 0xc8, 0x3d, 0xc2, 0x08, 0x60,
5796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3d, 0xed, 0x83, 0xe4, 0xec, 0xf7, 0x58, 0xf2,
5806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4c, 0x35, 0x7d, 0x7c, 0xf4, 0x80, 0x88, 0xb2,
5816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xce, 0x01, 0xe9, 0xfa, 0x2a, 0x7e, 0xb3, 0x28,
5826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xdb, 0xe6, 0x63, 0xb5, 0xa4, 0x68, 0xb5, 0xbc,
5836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x97, 0xa0, 0x40, 0xa3, 0x74, 0x53, 0x96, 0xba,
5846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x63, 0x6b, 0x96, 0x43, 0x70, 0xdc, 0x33, 0x52,
5856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
5866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
5876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
5886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
5896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
5906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
5916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x30, },
5926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x34, 0xe8, 0xe1, 0x7a, 0x43, 0x0e, 0x43, 0x28,
5936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x97, 0x93, 0xc3, 0x83, 0xfa, 0xc9, 0x77, 0x42,
5946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x47, 0xb4, 0x0e, 0x9e, 0xbd, 0x33, 0x66, 0x98,
5956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1f, 0xcf, 0xae, 0xca, 0xda, 0xd7, 0xe6, 0x08,
5966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe3, 0x80, 0x48, 0x04, 0x34, 0xea, 0x64, 0x1c,
5976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc8, 0x2c, 0x82, 0xcb, 0xc9, 0x28, 0x01, 0x46,
5986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x9c, 0x8d, 0xb0, 0x20, 0x4f, 0x13, 0x48, 0x9a,
5996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x31, },
6066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x6e, 0x31, 0xee, 0x1d, 0xc1, 0x37, 0xf8, 0x1b,
6076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x05, 0x67, 0x52, 0xe4, 0xde, 0xab, 0x14, 0x43,
6086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa4, 0x81, 0x03, 0x3e, 0x9b, 0x4c, 0x93, 0xa3,
6096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x04, 0x4f, 0x4f, 0x7a, 0xdf, 0x82, 0x22, 0x0f,
6106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc7, 0xa4, 0x02, 0x15, 0x49, 0x16, 0x53, 0x25,
6116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x72, 0x5f, 0x94, 0xc3, 0x41, 0x0d, 0xdb, 0x56,
6126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc5, 0x4e, 0x16, 0x1f, 0xc9, 0xef, 0x62, 0xee,
6136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x32, },
6206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xef, 0x53, 0xb6, 0x29, 0x4a, 0xca, 0x43, 0x1f,
6216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0f, 0x3c, 0x22, 0xdc, 0x82, 0xeb, 0x90, 0x50,
6226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x32, 0x4f, 0x1d, 0x88, 0xd3, 0x77, 0xe7, 0x16,
6236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x44, 0x8e, 0x50, 0x7c, 0xdf, 0x4a, 0xef, 0xff,
6246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbf, 0x6d, 0x16, 0x99, 0xc9, 0x30, 0x48, 0x1c,
6256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd1, 0x02, 0x12, 0x7c, 0x9a, 0x3d, 0x99, 0x20,
6266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x48, 0xab, 0x05, 0x92, 0x9b, 0x6e, 0x59, 0x27,
6276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x33, },
6346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xae, 0xa9, 0xe1, 0x7a, 0x30, 0x65, 0x17, 0xeb,
6356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x89, 0x15, 0x2a, 0xa7, 0x09, 0x6d, 0x2c, 0x38,
6366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1e, 0xc8, 0x13, 0xc5, 0x1a, 0xa8, 0x80, 0xe7,
6376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbe, 0xe2, 0xc0, 0xfd, 0xc6, 0x44, 0xcf, 0x15,
6386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4c, 0xc8, 0x1f, 0x5a, 0xde, 0x49, 0x34, 0x5e,
6396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x54, 0x1b, 0x4d, 0x4b, 0x5c, 0x1a, 0xdb, 0x3e,
6406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb5, 0xc0, 0x1c, 0x14, 0xee, 0x94, 0x9a, 0xa2,
6416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x34, },
6486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x2f, 0xdc, 0xcc, 0xfe, 0xe7, 0x20, 0xa7, 0x7e,
6496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf6, 0xcb, 0x3b, 0xfb, 0xb4, 0x47, 0xf9, 0x38,
6506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x31, 0x17, 0xe3, 0xda, 0xa4, 0xa0, 0x7e, 0x36,
6516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xed, 0x15, 0xf7, 0x8d, 0xc8, 0xe8, 0xcd, 0x1b,
6526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x0b, 0xe4, 0x0b, 0x08, 0x77, 0xcf, 0xca, 0x19,
6536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x58, 0x60, 0x31, 0x22, 0xf1, 0xe6, 0x91, 0x4f,
6546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x84, 0xb7, 0xe8, 0xe9, 0x68, 0xae, 0x8b, 0x9e,
6556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x35, },
6626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x85, 0x8e, 0x6f, 0x9c, 0xc6, 0xc1, 0x2c, 0x31,
6636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf5, 0xdf, 0x12, 0x4a, 0xa7, 0x77, 0x67, 0xb0,
6646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x8b, 0xc0, 0x21, 0xbd, 0x68, 0x3d, 0x2b,
6656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x55, 0x57, 0x15, 0x50, 0xfb, 0x92, 0x32, 0xc1,
6666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5a, 0x3b, 0xc7, 0x67, 0x3a, 0x3a, 0x03, 0xb0,
6676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x25, 0x38, 0x24, 0xc5, 0x3d, 0x0f, 0xd1, 0x41,
6686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1b, 0x1c, 0xab, 0xe2, 0xe1, 0x87, 0xfb, 0x87,
6696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6716ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6746ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6756ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x36, },
6766ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xdb, 0x2f, 0x6b, 0xe6, 0x30, 0xe2, 0x46, 0xa5,
6776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcf, 0x7d, 0x99, 0xb8, 0x51, 0x94, 0xb1, 0x23,
6786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd4, 0x87, 0xe2, 0xd4, 0x66, 0xb9, 0x4b, 0x24,
6796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa0, 0x3c, 0x3e, 0x28, 0xf0, 0xc5, 0xcf, 0xf7,
6806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xab, 0x68, 0x0d, 0x09, 0xee, 0x11, 0xda, 0xe8,
6816ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4e, 0x9c, 0x10, 0x72, 0xac, 0x48, 0xea, 0x2e,
6826ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x74, 0x4b, 0x1b, 0x7f, 0x72, 0xfd, 0x46, 0x9e,
6836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6856ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
6866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
6876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
6886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
6896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x37, },
6906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x1f, 0x24, 0x83, 0xf8, 0x25, 0x72, 0x25, 0x1f,
6916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xca, 0x97, 0x5f, 0xea, 0x40, 0xdb, 0x82, 0x1d,
6926ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf8, 0xad, 0x82, 0xa3, 0xc0, 0x02, 0xee, 0x6c,
6936ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x57, 0x11, 0x24, 0x08, 0x76, 0x05, 0x0f, 0x33,
6946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x48, 0xaf, 0x26, 0x64, 0xaa, 0xc3, 0xa8, 0xb0,
6956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x52, 0x81, 0x30, 0x4e, 0xbc, 0x7a, 0x79, 0x14,
6966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xc6, 0xad, 0x50, 0xa4, 0xb4, 0xea, 0xc3, 0x83,
6976ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
6986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
6996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
7006ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7016ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
7026ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
7036ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x38, },
7046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x31, 0xc4, 0x9a, 0xe7, 0x5b, 0xce, 0x78, 0x07,
7056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcd, 0xff, 0x22, 0x05, 0x5d, 0x94, 0xee, 0x90,
7066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x21, 0xfe, 0xdb, 0xb5, 0xab, 0x51, 0xc5, 0x75,
7076ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x26, 0xf0, 0x11, 0xaa, 0xd8, 0x17, 0x40, 0x0e,
7086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x8b, 0xa9, 0xca, 0x13, 0xa4, 0x5f, 0x36, 0x0e,
7096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x3d, 0x12, 0x1e, 0xaa, 0xeb, 0x39, 0xaf, 0x82,
7106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd6, 0x00, 0x1c, 0x81, 0x86, 0xf5, 0xf8, 0x66,
7116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
7126ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
7136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
7146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
7166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
7176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x39, },
7186ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xae, 0x99, 0xfe, 0xeb, 0xb5, 0xd2, 0x69, 0x45,
7196ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb5, 0x48, 0x92, 0x09, 0x2a, 0x8a, 0xee, 0x02,
7206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x91, 0x29, 0x30, 0xfa, 0x41, 0xcd, 0x11, 0x4e,
7216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x40, 0x44, 0x73, 0x01, 0xfb, 0x7d, 0xa7, 0xf5,
7226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xf1, 0x3a, 0x43, 0xb8, 0x17, 0x74, 0x37, 0x3c,
7236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x87, 0x9c, 0xd3, 0x2d, 0x69, 0x34, 0xc0, 0x5f,
7246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xa7, 0x58, 0xee, 0xb1, 0x4f, 0xcf, 0xab, 0x38,
7256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
7266ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
7276ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
7286ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7296ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
7306ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
7316ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x3a, },
7326ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xdf, 0x1b, 0x1d, 0x66, 0xa5, 0x51, 0xd0, 0xd3,
7336ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1e, 0xff, 0x82, 0x25, 0x58, 0xb9, 0xd2, 0xcc,
7346ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x75, 0xc2, 0x18, 0x02, 0x79, 0xfe, 0x0d, 0x08,
7356ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xfd, 0x89, 0x6d, 0x04, 0x5c, 0x08, 0x0f, 0xc3,
7366ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x52, 0x2f, 0x41, 0xbb, 0xb3, 0xf5, 0x5a, 0x97,
7376ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xcf, 0xec, 0xf2, 0x1f, 0x88, 0x2c, 0xe8, 0xcb,
7386ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xb1, 0xe5, 0x0c, 0xa6, 0xe6, 0x7e, 0x56, 0xdc,
7396ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
7406ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
7416ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
7426ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7436ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
7446ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
7456ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x3b, },
7466ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0x70, 0x6a, 0x46, 0xdc, 0x76, 0xdc, 0xb7, 0x67,
7476ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x98, 0xe6, 0x0e, 0x6d, 0x89, 0x47, 0x47, 0x88,
7486ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xd1, 0x6d, 0xc1, 0x80, 0x32, 0xd2, 0x68, 0xfd,
7496ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x1a, 0x70, 0x4f, 0xa6, 0xe3, 0xd4, 0x89, 0x58,
7506ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x43, 0xda, 0x18, 0x8f, 0xd5, 0x8f, 0xb0, 0x56,
7516ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x79, 0x76, 0xd7, 0xb5, 0x03, 0x59, 0xd6, 0xb7,
7526ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x85, 0x30, 0xc8, 0xf6, 0x2d, 0x1b, 0x17, 0x46,
7536ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
7546ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
7556ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  {
7566ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
7576ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x16, 0xa2,
7586ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xe0, 0xb8, 0xf0, 0x3e, 0x13, 0xdd, 0x29, 0x45,
7596ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x5c, 0x5c, 0x2a, 0x3c, },
7606ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    {0xb7, 0x0e, 0x0c, 0xbd, 0x6b, 0xb4, 0xbf, 0x7f,
7616ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x32, 0x13, 0x90, 0xb9, 0x4a, 0x03, 0xc1, 0xd3,
7626ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x56, 0xc2, 0x11, 0x22, 0x34, 0x32, 0x80, 0xd6,
7636ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x11, 0x5c, 0x1d, 0x21, 0x42, 0xc8, 0x9c, 0x77,
7646ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x4a, 0x08, 0xdc, 0x04, 0xb3, 0xdd, 0x20, 0x19,
7656ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0x32, 0xbc, 0x8a, 0x5e, 0xa5, 0xf8, 0xb8, 0x9b,
7666ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka     0xbb, 0x2a, 0x7e, 0x66, 0x7a, 0xff, 0x81, 0xcd,
7676ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    },
7686ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  },
7696ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka};
7706ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7716ca6a23857eae3fe55297bbb74213e73de861638Vitaly BukaTEST(P224, ExternalToInternalAndBack) {
7726ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  Point point;
7736ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
774674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  EXPECT_TRUE(point.SetFromString(base::StringPiece(
775674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko      reinterpret_cast<const char *>(kBasePointExternal),
776674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko      sizeof(kBasePointExternal))));
7776ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7786ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  const std::string external = point.ToString();
7796ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7806ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  ASSERT_EQ(external.size(), 56u);
781674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  EXPECT_TRUE(memcmp(external.data(), kBasePointExternal,
782674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko                     sizeof(kBasePointExternal)) == 0);
7836ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka}
7846ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7856ca6a23857eae3fe55297bbb74213e73de861638Vitaly BukaTEST(P224, ScalarBaseMult) {
7866ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  Point point;
7876ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7886ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  for (size_t i = 0; i < arraysize(kNISTTestVectors); i++) {
7896ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    p224::ScalarBaseMult(kNISTTestVectors[i].scalar, &point);
7906ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    const std::string external = point.ToString();
7916ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka    ASSERT_EQ(external.size(), 56u);
792674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko    EXPECT_TRUE(memcmp(external.data(), kNISTTestVectors[i].affine,
793674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko                       external.size()) == 0);
7946ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  }
7956ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka}
7966ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
7976ca6a23857eae3fe55297bbb74213e73de861638Vitaly BukaTEST(P224, Addition) {
7986ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  Point a, b, minus_b, sum, a_again;
7996ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
800674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  ASSERT_TRUE(a.SetFromString(base::StringPiece(
801674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko      reinterpret_cast<const char *>(kNISTTestVectors[10].affine), 56)));
802674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  ASSERT_TRUE(b.SetFromString(base::StringPiece(
803674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko      reinterpret_cast<const char *>(kNISTTestVectors[11].affine), 56)));
8046ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
8056ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  p224::Negate(b, &minus_b);
8066ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  p224::Add(a, b, &sum);
807674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  EXPECT_TRUE(memcmp(&sum, &a, sizeof(sum)) != 0);
8086ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  p224::Add(minus_b, sum, &a_again);
8096ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  EXPECT_TRUE(a_again.ToString() == a.ToString());
8106ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka}
8116ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
8126ca6a23857eae3fe55297bbb74213e73de861638Vitaly BukaTEST(P224, Infinity) {
8136ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  char zeros[56];
8146ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  memset(zeros, 0, sizeof(zeros));
8156ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
8166ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  // Test that x^0 = ∞.
8176ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  Point a;
818674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  p224::ScalarBaseMult(reinterpret_cast<const uint8_t*>(zeros), &a);
819674f0eb973b8ebf08f9abcb45b2271dc510aa2cfAlex Vakulenko  EXPECT_TRUE(memcmp(zeros, a.ToString().data(), sizeof(zeros)) == 0);
8206ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
8216ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  // We shouldn't allow ∞ to be imported.
8226ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka  EXPECT_FALSE(a.SetFromString(std::string(zeros, sizeof(zeros))));
8236ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka}
8246ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka
8256ca6a23857eae3fe55297bbb74213e73de861638Vitaly Buka}  // namespace crypto
826