1fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com/* 2fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com * Copyright 2013 Google Inc. 3fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com * 4fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com * Use of this source code is governed by a BSD-style license that can be 5fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com * found in the LICENSE file. 6fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com */ 7fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 8fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com#include "SkBitmap.h" 9b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi#include "SkDecodingImageGenerator.h" 10fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com#include "SkForceLinking.h" 118f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org#include "SkImageDecoder.h" 12b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi#include "SkPixelRef.h" 13fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com#include "SkStream.h" 14b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi#include "SkTemplates.h" 158f6884aab8aecd7657cf3f9cdbc682f0deca29c5tfarina@chromium.org#include "Test.h" 16fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 17fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com__SK_FORCE_IMAGE_DECODER_LINKING; 18fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 19fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com#define JPEG_TEST_WRITE_TO_FILE_FOR_DEBUGGING 0 // do not do this for 20fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // normal unit testing. 21ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.orgstatic unsigned char goodJpegImage[] = { 22ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFF, 0xD8, 0xFF, 0xE0, 0x00, 0x10, 0x4A, 0x46, 23ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x49, 0x46, 0x00, 0x01, 0x01, 0x01, 0x00, 0x8F, 24ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x8F, 0x00, 0x00, 0xFF, 0xDB, 0x00, 0x43, 25ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x05, 0x03, 0x04, 0x04, 0x04, 0x03, 0x05, 26ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x06, 0x07, 27ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0C, 0x08, 0x07, 0x07, 0x07, 0x07, 0x0F, 0x0B, 28ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0B, 0x09, 0x0C, 0x11, 0x0F, 0x12, 0x12, 0x11, 29ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0F, 0x11, 0x11, 0x13, 0x16, 0x1C, 0x17, 0x13, 30ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x14, 0x1A, 0x15, 0x11, 0x11, 0x18, 0x21, 0x18, 31ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1A, 0x1D, 0x1D, 0x1F, 0x1F, 0x1F, 0x13, 0x17, 32ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x22, 0x24, 0x22, 0x1E, 0x24, 0x1C, 0x1E, 0x1F, 33ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0xFF, 0xDB, 0x00, 0x43, 0x01, 0x05, 0x05, 34ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x05, 0x07, 0x06, 0x07, 0x0E, 0x08, 0x08, 0x0E, 35ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x14, 0x11, 0x14, 0x1E, 0x1E, 0x1E, 0x1E, 36ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 37ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 38ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 39ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 40ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 41ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0x1E, 0xFF, 0xC0, 42ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x11, 0x08, 0x00, 0x80, 0x00, 0x80, 0x03, 43ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x01, 0x22, 0x00, 0x02, 0x11, 0x01, 0x03, 0x11, 44ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x01, 0xFF, 0xC4, 0x00, 0x18, 0x00, 0x01, 0x01, 45ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 46ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 47ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x08, 0x06, 0x05, 0xFF, 0xC4, 0x00, 0x4C, 0x10, 48ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x01, 0x07, 0x08, 0x05, 0x08, 0x05, 49ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0A, 0x03, 0x09, 0x01, 0x00, 0x00, 0x00, 0x00, 50ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x01, 0x02, 0x03, 0x04, 0x06, 0x07, 0x11, 51ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x05, 0x08, 0x12, 0x13, 0x14, 0x15, 0x38, 0xB4, 52ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x16, 0x17, 0x21, 0x31, 0x84, 0x18, 0x22, 0x23, 53ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x24, 0x58, 0xA5, 0xA6, 0xD2, 0x32, 0x51, 0x56, 54ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x61, 0xD3, 0x28, 0x33, 0x41, 0x48, 0x67, 0x85, 55ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x86, 0xC3, 0xE4, 0xF0, 0x25, 0x49, 0x55, 0x09, 56ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x34, 0x35, 0x36, 0x53, 0x68, 0x72, 0x81, 0xA7, 57ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE2, 0xFF, 0xC4, 0x00, 0x14, 0x01, 0x01, 0x00, 58ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 59ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 60ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0x00, 0x14, 0x11, 0x01, 0x00, 0x00, 0x00, 61ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 62ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xDA, 0x00, 63ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0C, 0x03, 0x01, 0x00, 0x02, 0x11, 0x03, 0x11, 64ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x3F, 0x00, 0xD9, 0x62, 0x10, 0x80, 0x40, 65ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x65, 0xED, 0x62, 0x75, 0xC8, 0x7D, 0xFF, 0x00, 66ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x92, 0x30, 0x33, 0x01, 0x97, 0xB5, 0x89, 0xD7, 67ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x21, 0xF7, 0xFE, 0x48, 0xC0, 0x0C, 0xC2, 0x10, 68ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x80, 0x40, 0x66, 0x64, 0xB8, 0x62, 0x64, 0x78, 69ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDC, 0xEA, 0x70, 0xCC, 0x06, 0x66, 0x4B, 0x86, 70ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x26, 0x47, 0x8D, 0xCE, 0xA7, 0x00, 0xCC, 0x21, 71ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x08, 0x04, 0x31, 0x9F, 0xF2, 0xC5, 0xFD, 0xFF, 72ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x5A, 0x1B, 0x30, 0x63, 0x3F, 0xE5, 0x8B, 73ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFB, 0xFE, 0xB4, 0x03, 0x66, 0x01, 0x99, 0x92, 74ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE1, 0x89, 0x91, 0xE3, 0x73, 0xA9, 0xC3, 0x30, 75ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x19, 0x99, 0x2E, 0x18, 0x99, 0x1E, 0x37, 0x3A, 76ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9C, 0x03, 0x30, 0x84, 0x33, 0x33, 0x92, 0x55, 77ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x7E, 0xCF, 0x29, 0xD8, 0x49, 0x0D, 0xAE, 0xBD, 78ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAE, 0xAB, 0xC6, 0xBB, 0xAA, 0x68, 0x92, 0x92, 79ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x6A, 0xBA, 0xB4, 0xE9, 0x11, 0x7A, 0x7C, 0xD8, 80ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC6, 0x84, 0x77, 0x12, 0x11, 0x87, 0xBC, 0x07, 81ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x67, 0xAC, 0x47, 0xED, 0xD9, 0xD3, 0xC6, 0xAA, 82ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5E, 0x51, 0x6B, 0x11, 0xFB, 0x76, 0x74, 0xF1, 83ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAA, 0x97, 0x94, 0x33, 0x08, 0x00, 0xCE, 0xB1, 84ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1F, 0xB7, 0x67, 0x4F, 0x1A, 0xA9, 0x79, 0x41, 85ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9B, 0xC4, 0x6C, 0xDE, 0xC2, 0xCB, 0xF6, 0x75, 86ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x92, 0x84, 0xA0, 0xE5, 0xEC, 0x12, 0xB2, 0x9D, 87ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEF, 0x76, 0xC9, 0xBA, 0x50, 0xAA, 0x92, 0xF1, 88ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA6, 0xAA, 0x69, 0x12, 0xF4, 0xA4, 0x36, 0x8A, 89ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2A, 0xB3, 0x60, 0x77, 0x3A, 0x34, 0xA3, 0x02, 90ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x6D, 0x1A, 0xC8, 0x0C, 0xBD, 0xAC, 0x4E, 0xB9, 91ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0F, 0xBF, 0xF2, 0x46, 0x00, 0xB5, 0x88, 0xFD, 92ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBB, 0x3A, 0x78, 0xD5, 0x4B, 0xCA, 0x2D, 0x62, 93ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3F, 0x6E, 0xCE, 0x9E, 0x35, 0x52, 0xF2, 0x86, 94ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x61, 0x00, 0x19, 0xD6, 0x23, 0xF6, 0xEC, 0xE9, 95ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE3, 0x55, 0x2F, 0x28, 0x33, 0x9A, 0xE3, 0x66, 96ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF6, 0x24, 0x97, 0x12, 0xCE, 0xC9, 0xEC, 0xCB, 97ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0xD2, 0x49, 0x25, 0x15, 0xAA, 0xCF, 0x29, 98ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x69, 0x42, 0xAA, 0xA5, 0x7C, 0x56, 0x92, 0x94, 99ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEE, 0x88, 0xF3, 0x4A, 0x71, 0xB4, 0x4E, 0x29, 100ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC6, 0xED, 0xDF, 0x46, 0x3B, 0x8A, 0x35, 0x90, 101ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x19, 0x99, 0x2E, 0x18, 0x99, 0x1E, 0x37, 0x3A, 102ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9C, 0x01, 0x9B, 0xE4, 0x79, 0x73, 0x93, 0x59, 103ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x69, 0xD9, 0x36, 0x65, 0x99, 0x62, 0x34, 0x1E, 104ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x56, 0x95, 0xAD, 0x96, 0x75, 0x7B, 0xD6, 0x4F, 105ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x94, 0x6F, 0x1A, 0xA3, 0x0C, 0x3C, 0xEE, 0x71, 106ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE6, 0x51, 0x45, 0x56, 0x6D, 0x22, 0xED, 0x29, 107ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x29, 0x53, 0xFA, 0x4A, 0x41, 0xE2, 0xFC, 0xBB, 108ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3F, 0x77, 0x28, 0x66, 0x7B, 0x58, 0x9D, 0x72, 109ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1F, 0x7F, 0xE4, 0x8C, 0x0C, 0xC0, 0x31, 0x9F, 110ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCB, 0xB3, 0xF7, 0x72, 0x8F, 0x19, 0xB6, 0x76, 111ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8F, 0x61, 0x8B, 0x99, 0xDA, 0xDA, 0x16, 0x99, 112ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB7, 0xB0, 0x49, 0x2A, 0x74, 0x2D, 0x0C, 0x9D, 113ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD4, 0xAA, 0x92, 0x85, 0x39, 0x40, 0xD2, 0x9B, 114ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD7, 0x0C, 0x3C, 0xA7, 0x16, 0x27, 0x1C, 0x6A, 115ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5D, 0x91, 0xDF, 0x43, 0x70, 0xDC, 0xA2, 0x01, 116ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8C, 0xF5, 0xC1, 0xFE, 0xF1, 0x3F, 0xF3, 0x4F, 117ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFE, 0x07, 0xB5, 0x35, 0xC6, 0x31, 0xEC, 0x4A, 118ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCE, 0x25, 0x9D, 0x94, 0x19, 0x97, 0xD1, 0xA3, 119ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x72, 0x4A, 0x5B, 0x55, 0x9E, 0x4D, 0xD1, 0x75, 120ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x55, 0xBA, 0x88, 0x2D, 0x25, 0x21, 0xDD, 0x29, 121ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE7, 0x10, 0xE3, 0xA9, 0x1C, 0x43, 0x8E, 0xDB, 122ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBA, 0x94, 0x37, 0x10, 0x6B, 0x21, 0x00, 0x19, 123ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD5, 0xDB, 0xF6, 0xED, 0x17, 0xE0, 0xA5, 0x2F, 124ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x30, 0x33, 0x9A, 0xE3, 0x18, 0xF6, 0x25, 0x67, 125ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x12, 0xCE, 0xCA, 0x0C, 0xCB, 0xE8, 0xD1, 0xB9, 126ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x25, 0x2D, 0xAA, 0xCF, 0x26, 0xE8, 0xBA, 0xAA, 127ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDD, 0x44, 0x16, 0x92, 0x90, 0xEE, 0x94, 0xF3, 128ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x88, 0x71, 0xD4, 0x8E, 0x21, 0xC7, 0x6D, 0xDD, 129ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4A, 0x1B, 0x88, 0x35, 0x90, 0x19, 0x99, 0x2E, 130ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x18, 0x99, 0x1E, 0x37, 0x3A, 0x9C, 0x03, 0x30, 131ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x80, 0x04, 0xDB, 0x99, 0x69, 0x09, 0x8B, 0x7E, 132ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCF, 0x8D, 0x99, 0x66, 0x54, 0x6C, 0x12, 0x4A, 133ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9D, 0xC7, 0x67, 0x57, 0xAD, 0x3D, 0x25, 0x0A, 134ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x6A, 0xA9, 0x4F, 0x3B, 0x9C, 0x79, 0x4A, 0x71, 135ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x62, 0x71, 0xC7, 0x17, 0x69, 0x4B, 0xBF, 0xD4, 136ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1F, 0xC0, 0x43, 0x8C, 0x79, 0xAE, 0xB5, 0x84, 137ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x79, 0x57, 0x7E, 0x9A, 0xC8, 0x57, 0xAD, 0xDD, 138ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5B, 0x64, 0xEB, 0x69, 0xD0, 0xD5, 0xD6, 0x50, 139ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA7, 0xF3, 0x47, 0x9B, 0x18, 0xD0, 0x33, 0x7C, 140ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x61, 0x0D, 0x9F, 0x48, 0xEC, 0xC0, 0x03, 0x12, 141ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFB, 0x5E, 0xC3, 0x68, 0xCC, 0x2A, 0x34, 0xCC, 142ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCB, 0x83, 0xB7, 0xC9, 0x2B, 0x94, 0xEC, 0xEB, 143ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1A, 0x5E, 0xAA, 0x8E, 0x9D, 0x03, 0xCE, 0x30, 144ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEE, 0x69, 0xE8, 0xC8, 0x71, 0x20, 0x71, 0xA7, 145ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x13, 0x69, 0x09, 0xBB, 0xD4, 0x03, 0xD9, 0xE4, 146ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB8, 0xE2, 0x7D, 0x86, 0xEF, 0x65, 0xDF, 0x8C, 147ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2E, 0x4B, 0x8E, 0x27, 0xD8, 0x6E, 0xF6, 0x5D, 148ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF8, 0xC2, 0xD6, 0x23, 0xF6, 0xEC, 0xE9, 0xE3, 149ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x55, 0x2F, 0x28, 0xB5, 0x88, 0xFD, 0xBB, 0x3A, 150ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x78, 0xD5, 0x4B, 0xCA, 0x02, 0xE4, 0xB8, 0xE2, 151ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x7D, 0x86, 0xEF, 0x65, 0xDF, 0x8C, 0x0C, 0xE6, 152ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB8, 0xE1, 0x1D, 0x3B, 0x68, 0xE2, 0x59, 0xD6, 153ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x99, 0xA6, 0x65, 0x2D, 0xF2, 0xB2, 0xE5, 0xAA, 154ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD0, 0xB1, 0x78, 0x2D, 0x23, 0xA7, 0x41, 0x69, 155ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x29, 0x86, 0xF3, 0x4C, 0x48, 0x43, 0x49, 0x03, 156ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4D, 0x34, 0x9B, 0x08, 0x4D, 0xDE, 0xB0, 0x99, 157ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAC, 0x47, 0xED, 0xD9, 0xD3, 0xC6, 0xAA, 0x5E, 158ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x50, 0x67, 0x35, 0xC6, 0xCD, 0xEC, 0x49, 0x2E, 159ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x25, 0x9D, 0x93, 0xD9, 0x97, 0x2F, 0xA4, 0x92, 160ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4A, 0x2B, 0x55, 0x9E, 0x52, 0xD2, 0x85, 0x55, 161ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4A, 0xF8, 0xAD, 0x25, 0x29, 0xDD, 0x11, 0xE6, 162ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x94, 0xE3, 0x68, 0x9C, 0x53, 0x8D, 0xDB, 0xBE, 163ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8C, 0x77, 0x14, 0x04, 0xF1, 0x1C, 0x23, 0xA7, 164ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x92, 0x5F, 0xB3, 0xAC, 0x66, 0x64, 0xF6, 0x52, 165ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA6, 0x49, 0x97, 0xAF, 0x7B, 0xC9, 0x5E, 0xF0, 166ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5A, 0x3A, 0xBE, 0xA1, 0x54, 0xD3, 0xD1, 0x73, 167ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8A, 0x90, 0xA7, 0x1B, 0x44, 0xE2, 0x94, 0xBC, 168ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD2, 0x92, 0x3F, 0x4C, 0x48, 0x13, 0x39, 0x2E, 169ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x38, 0x9F, 0x61, 0xBB, 0xD9, 0x77, 0xE3, 0x01, 170ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0xF4, 0xF7, 0x1B, 0xB6, 0x51, 0xE7, 0xBB, 171ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x76, 0xD5, 0xB5, 0x74, 0xB7, 0x15, 0xCD, 0x7A, 172ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x59, 0x15, 0x34, 0x89, 0x02, 0xCD, 0xBA, 0xB9, 173ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x02, 0x34, 0x47, 0xF3, 0xD1, 0x18, 0x5A, 0xBA, 174ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x14, 0x8C, 0x2E, 0xD2, 0x16, 0x95, 0x28, 0x12, 175ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x10, 0x29, 0x46, 0xCC, 0x00, 0x33, 0xC9, 0x71, 176ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0xFB, 0x0D, 0xDE, 0xCB, 0xBF, 0x18, 0x5C, 177ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0x1C, 0x4F, 0xB0, 0xDD, 0xEC, 0xBB, 0xF1, 178ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x83, 0x30, 0x80, 0x0C, 0xF2, 0x5C, 0x71, 0x3E, 179ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC3, 0x77, 0xB2, 0xEF, 0xC6, 0x17, 0x25, 0xC7, 180ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x13, 0xEC, 0x37, 0x7B, 0x2E, 0xFC, 0x60, 0xCC, 181ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x20, 0x03, 0x3C, 0x97, 0x1C, 0x4F, 0xB0, 0xDD, 182ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEC, 0xBB, 0xF1, 0x81, 0x9C, 0xD7, 0x1C, 0x23, 183ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA7, 0x6D, 0x1C, 0x4B, 0x3A, 0xD3, 0x34, 0xCC, 184ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA5, 0xBE, 0x56, 0x5C, 0xB5, 0x5A, 0x16, 0x2F, 185ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x05, 0xA4, 0x74, 0xE8, 0x2D, 0x25, 0x30, 0xDE, 186ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x69, 0x89, 0x08, 0x69, 0x20, 0x69, 0xA6, 0x93, 187ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x61, 0x09, 0xBB, 0xD6, 0x35, 0x90, 0x19, 0x99, 188ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2E, 0x18, 0x99, 0x1E, 0x37, 0x3A, 0x9C, 0x07, 189ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8D, 0x36, 0xE6, 0xA6, 0x42, 0x6D, 0x1F, 0xB3, 190ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE3, 0x69, 0x99, 0x95, 0xEB, 0x7C, 0x92, 0xB9, 191ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x71, 0xD9, 0xD6, 0x2A, 0x8F, 0x47, 0x4E, 0x82, 192ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAA, 0x53, 0x0E, 0xE6, 0x9E, 0x42, 0x1C, 0x48, 193ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1C, 0x69, 0xC4, 0xDA, 0x42, 0x6E, 0xF5, 0x07, 194ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF1, 0x08, 0x00, 0xCB, 0x40, 0xF7, 0x1B, 0xBD, 195ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x67, 0xB4, 0xEC, 0x53, 0x14, 0xE9, 0x74, 0xAB, 196ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x47, 0x2C, 0x96, 0xB5, 0xBD, 0x22, 0x40, 0xA5, 197ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFD, 0xE1, 0x01, 0x12, 0x99, 0xCC, 0x4A, 0x67, 198ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFC, 0xC9, 0xB0, 0xA5, 0xF4, 0x62, 0x58, 0x44, 199ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x84, 0x06, 0x73, 0x5C, 0x6C, 0xDE, 0xC4, 0x92, 200ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE2, 0x59, 0xD9, 0x3D, 0x99, 0x72, 0xFA, 0x49, 201ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x24, 0xA2, 0xB5, 0x59, 0xE5, 0x2D, 0x28, 0x55, 202ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x54, 0xAF, 0x8A, 0xD2, 0x52, 0x9D, 0xD1, 0x1E, 203ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x69, 0x4E, 0x36, 0x89, 0xC5, 0x38, 0xDD, 0xBB, 204ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE8, 0xC7, 0x71, 0x42, 0x63, 0xA5, 0xC4, 0xEB, 205ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEF, 0xFB, 0x83, 0x24, 0x78, 0xA6, 0x4B, 0x86, 206ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x26, 0x47, 0x8D, 0xCE, 0xA7, 0x01, 0x6B, 0x11, 207ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFB, 0x76, 0x74, 0xF1, 0xAA, 0x97, 0x94, 0x5A, 208ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0x7E, 0xDD, 0x9D, 0x3C, 0x6A, 0xA5, 0xE5, 209ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0C, 0xC2, 0x00, 0x33, 0xAC, 0x47, 0xED, 0xD9, 210ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD3, 0xC6, 0xAA, 0x5E, 0x50, 0x67, 0x35, 0xC6, 211ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCD, 0xEC, 0x49, 0x2E, 0x25, 0x9D, 0x93, 0xD9, 212ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0x2F, 0xA4, 0x92, 0x4A, 0x2B, 0x55, 0x9E, 213ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x52, 0xD2, 0x85, 0x55, 0x4A, 0xF8, 0xAD, 0x25, 214ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x29, 0xDD, 0x11, 0xE6, 0x94, 0xE3, 0x68, 0x9C, 215ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x53, 0x8D, 0xDB, 0xBE, 0x8C, 0x77, 0x14, 0x6B, 216ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x20, 0x33, 0x32, 0x5C, 0x31, 0x32, 0x3C, 0x6E, 217ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x75, 0x38, 0x0C, 0xCD, 0x3E, 0x76, 0x89, 0xBB, 218ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0xF4, 0x3B, 0x4D, 0x5D, 0xD6, 0x86, 0xD4, 219ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5B, 0xAC, 0x9F, 0xC6, 0x90, 0x2F, 0xDA, 0xA9, 220ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x59, 0xE9, 0xFC, 0xD1, 0x09, 0x42, 0x8C, 0x0C, 221ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDF, 0xBE, 0x9E, 0xCD, 0xC5, 0x1A, 0x67, 0x58, 222ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8F, 0xDB, 0xB3, 0xA7, 0x8D, 0x54, 0xBC, 0xA3, 223ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8C, 0xFE, 0xD0, 0x76, 0x16, 0xFF, 0x00, 0x76, 224ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0A, 0xAD, 0xAD, 0xE9, 0x66, 0xD1, 0x5A, 0x7D, 225ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x52, 0xCF, 0x4E, 0xD5, 0x6A, 0x4E, 0xAC, 0x8B, 226ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD3, 0xA4, 0x4A, 0x14, 0x61, 0x1D, 0xC7, 0x47, 227ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x76, 0xCD, 0xE2, 0x7D, 0xAA, 0xAF, 0xD9, 0xDA, 228ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBB, 0x09, 0x5D, 0xB5, 0xD7, 0xB5, 0xEB, 0x77, 229ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x54, 0xF5, 0x4D, 0x12, 0x52, 0x43, 0x59, 0x58, 230ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9D, 0x1A, 0x2F, 0x4F, 0x9D, 0x08, 0x53, 0x8E, 231ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE2, 0xC6, 0x10, 0xF7, 0x80, 0xEC, 0xF5, 0x88, 232ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFD, 0xBB, 0x3A, 0x78, 0xD5, 0x4B, 0xCA, 0x2D, 233ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x62, 0x3F, 0x6E, 0xCE, 0x9E, 0x35, 0x52, 0xF2, 234ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8C, 0x67, 0xCA, 0x8D, 0xFB, 0x7B, 0x73, 0xDD, 235ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2A, 0x5F, 0x04, 0x5C, 0xA8, 0xDF, 0xB7, 0xB7, 236ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3D, 0xD2, 0xA5, 0xF0, 0x40, 0x6C, 0xCD, 0x62, 237ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3F, 0x6E, 0xCE, 0x9E, 0x35, 0x52, 0xF2, 0x8B, 238ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x58, 0x8F, 0xDB, 0xB3, 0xA7, 0x8D, 0x54, 0xBC, 239ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA3, 0x33, 0x3B, 0x27, 0xA5, 0x3B, 0x17, 0x95, 240ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x78, 0x68, 0x54, 0xBB, 0x7A, 0xDD, 0xD5, 0x56, 241ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBE, 0xA9, 0x25, 0xA1, 0xAB, 0xAC, 0xA7, 0x43, 242ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE7, 0x4C, 0x36, 0x31, 0xA0, 0x7E, 0xE8, 0xC2, 243ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1B, 0x7E, 0x81, 0xD9, 0xFC, 0xBB, 0x3F, 0x77, 244ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x28, 0x06, 0x6D, 0x62, 0x3F, 0x6E, 0xCE, 0x9E, 245ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x35, 0x52, 0xF2, 0x83, 0x39, 0xAE, 0x36, 0x6F, 246ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x62, 0x49, 0x71, 0x2C, 0xEC, 0x9E, 0xCC, 0xB9, 247ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x7D, 0x24, 0x92, 0x51, 0x5A, 0xAC, 0xF2, 0x96, 248ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x94, 0x2A, 0xAA, 0x57, 0xC5, 0x69, 0x29, 0x4E, 249ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE8, 0x8F, 0x34, 0xA7, 0x1B, 0x44, 0xE2, 0x9C, 250ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x6E, 0xDD, 0xF4, 0x63, 0xB8, 0xA3, 0xC5, 0xF9, 251ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x76, 0x7E, 0xEE, 0x51, 0xC6, 0x39, 0x2E, 0x56, 252ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3A, 0xB0, 0x92, 0x35, 0x69, 0xFE, 0x53, 0xE9, 253ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAC, 0x1F, 0xE1, 0x7F, 0xEB, 0xA4, 0xAC, 0xF9, 254ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFE, 0x93, 0xE7, 0x2B, 0x3D, 0x2F, 0xFA, 0xD9, 255ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x1B, 0xFC, 0x42, 0x10, 0x0C, 0x9A, 0xD4, 256ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBE, 0x39, 0x09, 0xCF, 0xBF, 0x67, 0xD5, 0x28, 257ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4A, 0x08, 0x6D, 0xF2, 0xB2, 0xE5, 0xC3, 0x76, 258ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC9, 0xB4, 0x8F, 0x47, 0x6B, 0xA0, 0xAA, 0x42, 259ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x25, 0xE9, 0x48, 0x8C, 0xF3, 0x4C, 0xA0, 0x6A, 260ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x42, 0x1D, 0xCE, 0x84, 0x61, 0x02, 0x6D, 0xDC, 261ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x64, 0xE4, 0xA7, 0x5B, 0xAB, 0x57, 0x61, 0x24, 262ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x31, 0x5A, 0x05, 0x7A, 0xDD, 0xD5, 0xDD, 0x6E, 263ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF7, 0xA9, 0xAC, 0xAC, 0x4E, 0x91, 0x2F, 0xA1, 264ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x52, 0x74, 0x21, 0x4E, 0x1B, 0xCB, 0x18, 0x47, 265ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDC, 0x34, 0xCC, 0xF6, 0xB0, 0xC4, 0xD7, 0x70, 266ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x59, 0xD4, 0x02, 0x99, 0x2E, 0x18, 0x99, 0x1E, 267ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x37, 0x3A, 0x9C, 0x00, 0xCF, 0x2E, 0x7F, 0xB2, 268ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEE, 0xFF, 0x00, 0xFD, 0x38, 0xB9, 0x73, 0xFD, 269ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x97, 0x77, 0xFF, 0x00, 0xE9, 0xC6, 0xCC, 0x10, 270ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0C, 0x67, 0xCB, 0x9F, 0xEC, 0xBB, 0xBF, 0xFF, 271ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x4E, 0x38, 0xC7, 0x25, 0x3A, 0xDD, 0x5A, 272ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBB, 0x09, 0x21, 0x8A, 0xD0, 0x2B, 0xD6, 0xEE, 273ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAE, 0xEB, 0x77, 0xBD, 0x4D, 0x65, 0x62, 0x74, 274ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x89, 0x7D, 0x0A, 0x93, 0xA1, 0x0A, 0x70, 0xDE, 275ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x58, 0xC2, 0x3E, 0xE1, 0xBF, 0xC0, 0xCC, 0xC9, 276ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x70, 0xC4, 0xC8, 0xF1, 0xB9, 0xD4, 0xE0, 0x33, 277ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x33, 0xED, 0x9D, 0x6E, 0xB2, 0x9D, 0x84, 0xAE, 278ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC5, 0x68, 0x15, 0xD5, 0x78, 0xD4, 0xF5, 0xBB, 279ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDE, 0xBA, 0xAE, 0xAD, 0x3A, 0x34, 0xBE, 0x85, 280ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x49, 0xB1, 0x8D, 0x08, 0x6F, 0x24, 0x23, 0x1F, 281ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x70, 0x9F, 0x6C, 0xEB, 0x75, 0x94, 0xEC, 0x25, 282ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x76, 0x2B, 0x40, 0xAE, 0xAB, 0xC6, 0xA7, 0xAD, 283ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDE, 0xF5, 0xD5, 0x75, 0x69, 0xD1, 0xA5, 0xF4, 284ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2A, 0x4D, 0x8C, 0x68, 0x43, 0x79, 0x21, 0x18, 285ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFB, 0x86, 0x99, 0x9E, 0xD6, 0x18, 0x9A, 0xEE, 286ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0B, 0x3A, 0x80, 0x53, 0xDA, 0xC3, 0x13, 0x5D, 287ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC1, 0x67, 0x50, 0x00, 0xCC, 0xCE, 0x4A, 0x75, 288ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBA, 0xB5, 0x76, 0x12, 0x43, 0x15, 0xA0, 0x57, 289ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAD, 0xDD, 0x5D, 0xD6, 0xEF, 0x7A, 0x9A, 0xCA, 290ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0xE9, 0x12, 0xFA, 0x15, 0x27, 0x42, 0x14, 291ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE1, 0xBC, 0xB1, 0x84, 0x7D, 0xC3, 0xB3, 0xE5, 292ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCF, 0xF6, 0x5D, 0xDF, 0xFF, 0x00, 0xA7, 0x0C, 293ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD3, 0x25, 0xC3, 0x13, 0x23, 0xC6, 0xE7, 0x53, 294ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x86, 0x60, 0x18, 0x01, 0x92, 0x9D, 0x6D, 0xC0, 295ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF3, 0xDB, 0x76, 0xD7, 0x40, 0xAD, 0x3A, 0x55, 296ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x60, 0xEA, 0x97, 0xBD, 0x0B, 0x2D, 0x95, 0x01, 297ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x51, 0x7A, 0x75, 0x25, 0xA7, 0x4A, 0x31, 0xDC, 298ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x6C, 0x37, 0x6D, 0xDE, 0x3B, 0x3E, 0x5C, 0xFF, 299ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x65, 0xDD, 0xFF, 0x00, 0xFA, 0x70, 0xCC, 300ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE9, 0x71, 0x3A, 0xFB, 0xFE, 0xE0, 0xC9, 0x1E, 301ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x19, 0x80, 0x63, 0x3E, 0x5C, 0xFF, 0x00, 0x65, 302ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDD, 0xFF, 0x00, 0xFA, 0x71, 0xC6, 0x39, 0x29, 303ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD6, 0xEA, 0xD5, 0xD8, 0x49, 0x0C, 0x56, 0x81, 304ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5E, 0xB7, 0x75, 0x77, 0x5B, 0xBD, 0xEA, 0x6B, 305ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2B, 0x13, 0xA4, 0x4B, 0xE8, 0x54, 0x9D, 0x08, 306ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x53, 0x86, 0xF2, 0xC6, 0x11, 0xF7, 0x0D, 0xFE, 307ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x06, 0x66, 0x4B, 0x86, 0x26, 0x47, 0x8D, 0xCE, 308ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA7, 0x00, 0xCC, 0x21, 0x08, 0x00, 0xCC, 0xF6, 309ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB0, 0xC4, 0xD7, 0x70, 0x59, 0xD4, 0x02, 0x99, 310ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x2E, 0x18, 0x99, 0x1E, 0x37, 0x3A, 0x9C, 0x53, 311ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDA, 0xC3, 0x13, 0x5D, 0xC1, 0x67, 0x50, 0x0A, 312ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x64, 0xB8, 0x62, 0x64, 0x78, 0xDC, 0xEA, 0x70, 313ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0C, 0xC2, 0x10, 0x80, 0x40, 0x66, 0x64, 0xB8, 314ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x62, 0x64, 0x78, 0xDC, 0xEA, 0x70, 0xCC, 0x06, 315ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x66, 0x4B, 0x86, 0x26, 0x47, 0x8D, 0xCE, 0xA7, 316ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x01, 0x4F, 0x6B, 0x0C, 0x4D, 0x77, 0x05, 0x9D, 317ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x40, 0x29, 0xED, 0x61, 0x89, 0xAE, 0xE0, 0xB3, 318ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA8, 0x05, 0x3D, 0xAC, 0x31, 0x35, 0xDC, 0x16, 319ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x75, 0x00, 0xA7, 0xB5, 0x86, 0x26, 0xBB, 0x82, 320ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCE, 0xA0, 0x01, 0x4C, 0x97, 0x0C, 0x4C, 0x8F, 321ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1B, 0x9D, 0x4E, 0x19, 0x86, 0x4D, 0x9A, 0xE3, 322ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xFB, 0x74, 0xEC, 0x5B, 0x89, 0x67, 0x59, 0x96, 323ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x99, 0xAB, 0xB0, 0x4A, 0xCA, 0x76, 0xAB, 0x42, 324ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBD, 0xDE, 0xB4, 0x92, 0x85, 0x35, 0xA4, 0xA7, 325ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9B, 0xCE, 0x31, 0x19, 0x4D, 0x2C, 0x4D, 0x38, 326ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD2, 0xEC, 0x29, 0x77, 0xFA, 0xC2, 0x67, 0x2A, 327ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x37, 0x13, 0xED, 0xCF, 0x74, 0xAE, 0xFC, 0x10, 328ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x03, 0x33, 0x80, 0xFA, 0xCE, 0xFE, 0x13, 0xFC, 329ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB0, 0xCD, 0x32, 0x5C, 0x31, 0x32, 0x3C, 0x6E, 330ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x75, 0x38, 0x00, 0x79, 0x2D, 0x4C, 0x84, 0xDA, 331ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x33, 0x13, 0x91, 0x69, 0x99, 0x95, 0xEB, 0x7C, 332ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x92, 0xB9, 0xA2, 0xF6, 0x75, 0x8A, 0xA3, 0xD1, 333ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD3, 0xA0, 0x79, 0xA6, 0x1D, 0xCD, 0x3C, 0x84, 334ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x38, 0x90, 0x38, 0xD3, 0x89, 0xB4, 0x84, 0xDD, 335ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEA, 0x0F, 0xF3, 0x25, 0xC3, 0x13, 0x23, 0xC6, 336ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE7, 0x53, 0x80, 0x66, 0x03, 0x33, 0x25, 0xC3, 337ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x13, 0x23, 0xC6, 0xE7, 0x53, 0x86, 0x60, 0x33, 338ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x32, 0x5C, 0x31, 0x32, 0x3C, 0x6E, 0x75, 0x38, 339ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x06, 0x61, 0x08, 0x40, 0x06, 0x67, 0xB5, 0x86, 340ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x26, 0xBB, 0x82, 0xCE, 0xA0, 0x14, 0xC9, 0x70, 341ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0xC8, 0xF1, 0xB9, 0xD4, 0xE2, 0x9E, 0xD6, 342ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x18, 0x9A, 0xEE, 0x0B, 0x3A, 0x80, 0x53, 0x25, 343ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC3, 0x13, 0x23, 0xC6, 0xE7, 0x53, 0x80, 0x66, 344ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x10, 0x84, 0x02, 0x03, 0x33, 0x25, 0xC3, 0x13, 345ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x23, 0xC6, 0xE7, 0x53, 0x86, 0x60, 0x33, 0x32, 346ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5C, 0x31, 0x32, 0x3C, 0x6E, 0x75, 0x38, 0x0A, 347ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x7B, 0x58, 0x62, 0x6B, 0xB8, 0x2C, 0xEA, 0x01, 348ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x4F, 0x6B, 0x0C, 0x4D, 0x77, 0x05, 0x9D, 0x40, 349ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x29, 0xED, 0x61, 0x89, 0xAE, 0xE0, 0xB3, 0xA8, 350ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x05, 0x3D, 0xAC, 0x31, 0x35, 0xDC, 0x16, 0x75, 351ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x00, 0x06, 0x61, 0x08, 0x40, 0x31, 0x9C, 0xEB, 352ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x65, 0x86, 0xEE, 0x5F, 0xD7, 0x2C, 0x93, 0xA6, 353ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x36, 0x66, 0x4D, 0x95, 0xB8, 0xFF, 0x00, 0x82, 354ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDD, 0x88, 0x0F, 0xB5, 0x5A, 0xAA, 0x4E, 0xF9, 355ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF8, 0x11, 0x21, 0x94, 0x52, 0x12, 0x9E, 0xF3, 356ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA3, 0xBB, 0x61, 0x07, 0xB5, 0x35, 0xC6, 0x31, 357ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xEC, 0x4A, 0xCE, 0x25, 0x9D, 0x94, 0x19, 0x97, 358ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD1, 0xA3, 0x72, 0x4A, 0x5B, 0x55, 0x9E, 0x4D, 359ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD1, 0x75, 0x55, 0xBA, 0x88, 0x2D, 0x25, 0x21, 360ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xDD, 0x29, 0xE7, 0x10, 0xE3, 0xA9, 0x1C, 0x43, 361ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8E, 0xDB, 0xBA, 0x94, 0x37, 0x10, 0x78, 0xB3, 362ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x80, 0xFA, 0xCE, 0xFE, 0x13, 0xFC, 0xB0, 0xCD, 363ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x32, 0x5C, 0x31, 0x32, 0x3C, 0x6E, 0x75, 0x38, 364ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x0B, 0x57, 0x6F, 0xDB, 0xB4, 0x5F, 0x82, 0x94, 365ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xBC, 0xC0, 0xCE, 0x6B, 0x8C, 0x63, 0xD8, 0x95, 366ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9C, 0x4B, 0x3B, 0x28, 0x33, 0x2F, 0xA3, 0x46, 367ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE4, 0x94, 0xB6, 0xAB, 0x3C, 0x9B, 0xA2, 0xEA, 368ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAB, 0x75, 0x10, 0x5A, 0x4A, 0x43, 0xBA, 0x53, 369ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCE, 0x21, 0xC7, 0x52, 0x38, 0x87, 0x1D, 0xB7, 370ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x75, 0x28, 0x6E, 0x20, 0xD6, 0x40, 0x66, 0x64, 371ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB8, 0x62, 0x64, 0x78, 0xDC, 0xEA, 0x70, 0x16, 372ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB1, 0x1F, 0xB7, 0x67, 0x4F, 0x1A, 0xA9, 0x79, 373ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x45, 0xAC, 0x47, 0xED, 0xD9, 0xD3, 0xC6, 0xAA, 374ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x5E, 0x50, 0xCC, 0x20, 0x19, 0x36, 0x74, 0x6D, 375ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9B, 0xD8, 0x95, 0x9C, 0x4B, 0x45, 0x27, 0xB4, 376ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCE, 0x5F, 0x46, 0xE4, 0x94, 0xB6, 0x5B, 0x44, 377ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA5, 0xA5, 0x0A, 0xAB, 0x75, 0x10, 0x5A, 0x44, 378ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x53, 0x7A, 0x23, 0x0D, 0x21, 0xC7, 0x52, 0x38, 379ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x86, 0x9B, 0xB3, 0x75, 0x28, 0xEE, 0x20, 0xA6, 380ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB8, 0xD9, 0xBD, 0x89, 0x25, 0xC4, 0xB3, 0xB2, 381ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x7B, 0x32, 0xE5, 0xF4, 0x92, 0x49, 0x45, 0x6A, 382ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB3, 0xCA, 0x5A, 0x50, 0xAA, 0xA9, 0x5F, 0x15, 383ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA4, 0xA5, 0x3B, 0xA2, 0x3C, 0xD2, 0x9C, 0x6D, 384ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x13, 0x8A, 0x71, 0xBB, 0x77, 0xD1, 0x8E, 0xE2, 385ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x84, 0xC9, 0xED, 0x61, 0x89, 0xAE, 0xE0, 0xB3, 386ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xA8, 0x05, 0x32, 0x5C, 0x31, 0x32, 0x3C, 0x6E, 387ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x75, 0x38, 0x0B, 0x58, 0x8F, 0xDB, 0xB3, 0xA7, 388ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x8D, 0x54, 0xBC, 0xA2, 0xD6, 0x23, 0xF6, 0xEC, 389ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE9, 0xE3, 0x55, 0x2F, 0x28, 0x66, 0x10, 0x01, 390ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9D, 0x62, 0x3F, 0x6E, 0xCE, 0x9E, 0x35, 0x52, 391ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xF2, 0x8F, 0x6A, 0x6B, 0x8C, 0xB4, 0xBA, 0xC5, 392ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB8, 0x96, 0x75, 0x99, 0x69, 0x94, 0x6C, 0x12, 393ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xB2, 0x9D, 0xAA, 0xD0, 0xAF, 0x5A, 0x62, 0x4A, 394ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x14, 0xD6, 0x92, 0x9E, 0x6F, 0x38, 0xC2, 0x94, 395ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD2, 0xC4, 0xD3, 0x8D, 0x2E, 0xC2, 0x97, 0x7F, 396ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xAC, 0x26, 0x08, 0x00, 0xCC, 0xF6, 0xB0, 0xC4, 397ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xD7, 0x70, 0x59, 0xD4, 0x02, 0x9E, 0xD6, 0x18, 398ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x9A, 0xEE, 0x0B, 0x3A, 0x80, 0x53, 0xDA, 0xC3, 399ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x13, 0x5D, 0xC1, 0x67, 0x50, 0x0A, 0x7B, 0x58, 400ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x62, 0x6B, 0xB8, 0x2C, 0xEA, 0x00, 0x0C, 0xC2, 401ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x10, 0x80, 0x63, 0x39, 0xC0, 0x7D, 0x67, 0x7F, 402ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x09, 0xFE, 0x58, 0x66, 0x99, 0x2E, 0x18, 0x99, 403ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1E, 0x37, 0x3A, 0x9C, 0x0C, 0xCE, 0x03, 0xEB, 404ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x3B, 0xF8, 0x4F, 0xF2, 0xC3, 0x34, 0xC9, 0x70, 405ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xC4, 0xC8, 0xF1, 0xB9, 0xD4, 0xE0, 0x19, 0x80, 406ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xCC, 0xC9, 0x70, 0xC4, 0xC8, 0xF1, 0xB9, 0xD4, 407ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0xE1, 0x98, 0x0C, 0xCC, 0x97, 0x0C, 0x4C, 0x8F, 408ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.org0x1B, 0x9D, 0x4E, 0x03, 0xFF, 0xD9}; 409ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.orgstatic const int goodJpegImageWidth = 128; 410ddf94cf108ae430877f009bd67b9070341426947commit-bot@chromium.orgstatic const int goodJpegImageHeight = 128; 411fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 412fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com// https://code.google.com/p/android/issues/detail?id=42382 413fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com// https://code.google.com/p/android/issues/detail?id=9064 414fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com// https://code.google.com/p/skia/issues/detail?id=1649 415fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 416fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com/** 417fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com This test will test the ability of the SkImageDecoder to deal with 418fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com Jpeg files which have been mangled somehow. We want to display as 419fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com much of the jpeg as possible. 420fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com*/ 421e4fafb146e85cdfcf9d5418597b6818aa0754adatfarina@chromium.orgDEF_TEST(Jpeg, reporter) { 422fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com size_t len = sizeof(goodJpegImage) / 2; 423fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // I am explicitly not putting the entire image into the 424fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // DecodeMemory. This simulates a network error. 425fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 426fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com SkBitmap bm8888; 427fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com bool imageDecodeSuccess = SkImageDecoder::DecodeMemory( 428fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com static_cast<void *>(goodJpegImage), len, &bm8888); 429fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, imageDecodeSuccess); 430fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.width() == goodJpegImageWidth); 431fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.height() == goodJpegImageHeight); 432fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, !(bm8888.empty())); 433fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 434fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // Pick a few pixels and verify that their colors match the colors 435fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // we expect (given the original image). 436fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.getColor(7, 9) == 0xffffffff); 437fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.getColor(28, 3) == 0xff000000); 438fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.getColor(27, 34) == 0xffffffff); 439fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.getColor(71, 18) == 0xff000000); 440fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 441936b73424f7393994be832376287da988a52b993caryclark#ifdef SK_BUILD_FOR_IOS // the iOS jpeg decoder fills to gray 442936b73424f7393994be832376287da988a52b993caryclark REPORTER_ASSERT(reporter, bm8888.getColor(127, 127) == 0xff808080 443936b73424f7393994be832376287da988a52b993caryclark || bm8888.getColor(127, 127) == SK_ColorWHITE); 444936b73424f7393994be832376287da988a52b993caryclark#else 445fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // This is the fill color 446fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com REPORTER_ASSERT(reporter, bm8888.getColor(127, 127) == SK_ColorWHITE); 447936b73424f7393994be832376287da988a52b993caryclark#endif 448fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com 449fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com #if JPEG_TEST_WRITE_TO_FILE_FOR_DEBUGGING 450fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com // Check to see that the resulting bitmap is nice 451fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com bool writeSuccess = (!(bm8888.empty())) && SkImageEncoder::EncodeFile( 452fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com "HalfOfAJpeg.png", bm8888, SkImageEncoder::kPNG_Type, 100); 453fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com SkASSERT(writeSuccess); 454fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com #endif 455fed3037217e51ecd2fcd794a4d35fc7f689dd23dhalcanary@google.com} 456b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 457b227e37eae36ccf630c4baef00b1354d42b40fd1sugoiDEF_TEST(Jpeg_YUV, reporter) { 458b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi size_t len = sizeof(goodJpegImage); 459b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkMemoryStream* stream = SkNEW_ARGS(SkMemoryStream, (goodJpegImage, len)); 460b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 461b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkBitmap bitmap; 462b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkDecodingImageGenerator::Options opts; 463b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi bool pixelsInstalled = SkInstallDiscardablePixelRef( 464b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkDecodingImageGenerator::Create(stream, opts), &bitmap); 465b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, pixelsInstalled); 466b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 467b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi if (!pixelsInstalled) { 468b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi return; 469b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi } 470b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 471b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkPixelRef* pixelRef = bitmap.pixelRef(); 472b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkISize yuvSizes[3]; 473b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi bool sizesComputed = (NULL != pixelRef) && pixelRef->getYUV8Planes(yuvSizes, NULL, NULL, NULL); 474b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, sizesComputed); 475b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 476b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi if (!sizesComputed) { 477b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi return; 478b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi } 479b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 480b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi // Allocate the memory for YUV 481b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi size_t totalSize(0); 482b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi size_t sizes[3], rowBytes[3]; 483b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi const int32_t expected_sizes[] = {128, 64, 64}; 484b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi for (int i = 0; i < 3; ++i) { 485b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi rowBytes[i] = yuvSizes[i].fWidth; 486b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi totalSize += sizes[i] = rowBytes[i] * yuvSizes[i].fHeight; 487b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, rowBytes[i] == (size_t)expected_sizes[i]); 488b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, yuvSizes[i].fWidth == expected_sizes[i]); 489b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, yuvSizes[i].fHeight == expected_sizes[i]); 490b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi } 491b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi SkAutoMalloc storage(totalSize); 492b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi void* planes[3]; 493b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi planes[0] = storage.get(); 494b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi planes[1] = (uint8_t*)planes[0] + sizes[0]; 495b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi planes[2] = (uint8_t*)planes[1] + sizes[1]; 496b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi 497b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi // Get the YUV planes 498b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi REPORTER_ASSERT(reporter, pixelRef->getYUV8Planes(yuvSizes, planes, rowBytes, NULL)); 499b227e37eae36ccf630c4baef00b1354d42b40fd1sugoi} 500