)]}'
{
  "log": [
    {
      "commit": "d2962c8a151115111f375145ddda2bd7ddb4043d",
      "tree": "d10850b2f08efe4305a09a527dd45c0f2d887689",
      "parents": [
        "a5e0d695fa9ac8624681fb9effc51bbe6f75853e"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 24 13:07:18 2019 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 24 13:07:18 2019 -0800"
      },
      "message": "Remove dead code.\n\nIf this was strlcpy16 it wouldn\u0027t be such a bad idea, but strncpy16 is\njust an accident waiting to happen...\n\nTest: N/A\nChange-Id: Id296fdeadfb9f1f70ddc8fb6d31b3b6b5178a12c\n"
    },
    {
      "commit": "502f4864d6c92fce4cb0e4f7f2b12d7124da902b",
      "tree": "b34cb377a8a6543fb0baf68e566b120209b3aaf9",
      "parents": [
        "c2501fda600ea2067099c1de042e3db7acde74ee"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Thu Sep 13 11:08:41 2018 -0700"
      },
      "committer": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Sep 17 16:50:11 2018 +0000"
      },
      "message": "Suppress implicit-fallthrough warnings.\n\nAdd FALLTHROUGH_INTENDED for clang compiler.\n\nBug: 112564944\nTest: build with global -Wimplicit-fallthrough.\nChange-Id: I40f8bbf94e207c9dd90921e9b762ba51abab5777\n"
    },
    {
      "commit": "7b6751d2f8b9556af20eaa7a36431986fdeff597",
      "tree": "71645a92293b9f13ac723b5e7bc76792ee2b498d",
      "parents": [
        "5f42ee186dd78435d78d7ee757de9c2f25c5783f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 09:59:29 2018 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 17 09:59:29 2018 -0700"
      },
      "message": "libutils: remove unused strzcmp16_h_n.\n\nBug: N/A\nTest: builds\nChange-Id: I864bfb3597da76cd0a4fecce67e39d5d81538764\n"
    },
    {
      "commit": "e1731a4f2e05f1abb4a45602067708851eaf1e14",
      "tree": "339c0ce3d3de7d6f5e0fb9bdada9b6210d1d470f",
      "parents": [
        "895acebe946e34d2626716c5c4d7d7f2cc28c39d"
      ],
      "author": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Jul 16 18:11:34 2018 -0700"
      },
      "committer": {
        "name": "Yi Kong",
        "email": "yikong@google.com",
        "time": "Mon Jul 16 18:11:34 2018 -0700"
      },
      "message": "[libutils]  Modernize codebase by replacing NULL with nullptr\n\nFixes -Wzero-as-null-pointer-constant warning.\n\nTest: m\nBug: 68236239\nChange-Id: I5e89ec8c42151875439d2656475a8739ab9cb7dc\n"
    },
    {
      "commit": "23e27db576d06761363365494327baf062468a66",
      "tree": "cc76a40025c2189fc70dd6edd4a0eba251fd7b44",
      "parents": [
        "ea41bcf7a3a9095feb39cc6bd37d865c2eec3c36",
        "a63ccea6abc7ea02e2d98e41c80793ca97237bd3"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 12:12:57 2017 -0800"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Tue Nov 14 13:19:45 2017 -0800"
      },
      "message": "Merge commit \u0027a63ccea6abc7ea02e2d98e41c80793ca97237bd3\u0027 from\noc-mr1-dev-plus-aosp into stage-aosp-master\n\nChange-Id: Ia33311cd1fd26dfaea59a69317b306fb91203c40\nMerged-In: I03d06b10807e8a313c9654c2e1db36bfb59e3f99\n"
    },
    {
      "commit": "bf3fff1a9ed39d005f36db43c9893697e0a006a3",
      "tree": "37ce2048faef4e49fc5b97a0abf15f5f460342ce",
      "parents": [
        "1c65e77e6d73b9eee13d913e0b7886c72282e67f"
      ],
      "author": {
        "name": "Branislav Rankov",
        "email": "branislav.rankov@arm.com",
        "time": "Thu Oct 12 15:08:42 2017 +0200"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Oct 24 10:36:00 2017 -0700"
      },
      "message": "libutils: Fix bug in strstr16.\n\nIn the original code when target is an empty string\nstrlen16() would start reading the memory until a\n\"terminating null\" (that is, zero) character is found.\nThis may happen because \"*target++\", at line 300,\nwould increment the pointer beyond the actual string.\n\nSigned-off-by: Branislav Rankov \u003cbranislav.rankov@arm.com\u003e\nSigned-off-by: Tamas Petz \u003ctamas.petz@arm.com\u003e\nTest: libutils_tests --gtest_filter\u003dUnicodeTest.strstr16*\nChange-Id: I213ffe061057c7fa8f34b68881e106a709557dcd\n"
    },
    {
      "commit": "47efc676c849e3abf32001d66e2d6eb887e83c48",
      "tree": "ed39557debb04047f94a4e475dbbb06a639bdf57",
      "parents": [
        "3a66fd2174aa4ec3b98efe807075c7413c39ce0d"
      ],
      "author": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Mon Aug 14 15:51:29 2017 +0100"
      },
      "committer": {
        "name": "Adam Vartanian",
        "email": "flooey@google.com",
        "time": "Thu Sep 07 10:36:19 2017 +0100"
      },
      "message": "Fix integer overflow in utf{16,32}_to_utf8_length\n\nWithout an explicit check, the return value can wrap around and return\na value that is far too small to hold the data from the resulting\nconversion.\n\nNo CTS test is provided because it would need to allocate at least\nSSIZE_MAX / 2 bytes of UTF-16 data, which is unreasonable on 64-bit\ndevices.\n\nBug: 37723026\nTest: run cts -p android.security\nChange-Id: I56ba5e31657633b7f33685dd8839d4b3b998e586\n"
    },
    {
      "commit": "22dbf3947fedf988e714a4703ddf85fc41413f90",
      "tree": "ad823e9592de58265e4740a4d1ae251bfa260348",
      "parents": [
        "6048d9db5f11045412504b533ea9a92a7df6354c"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 28 15:06:51 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Mar 03 14:47:47 2017 -0800"
      },
      "message": "clean-up libutils includes\n\nmoved Foo.h as first include of Foo.cpp, and\nremoved redundant includes.\n\nMade NativeHandle non virtual.\n\n\nTest: run \u0026 compile\nBug: n/a\n\nChange-Id: I37fa746cd42c9ba23aba181f84cb6c619386406a"
    },
    {
      "commit": "30f991f251940be3ed11566fb71139852286f68a",
      "tree": "5cef5c112aa400da1ad1572d26fcc3b6b3099b6e",
      "parents": [
        "cdd7ec12be3dfb6a7fa2f597d2220445c96725cf"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jan 10 13:19:54 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 09:31:15 2017 -0800"
      },
      "message": "liblog: use log/log.h when utilizing ALOG macros\n\nTest: compile\nBug: 30465923\nChange-Id: Id6d76510819ebd88c3f5003d00d73a0dbe85e943\n"
    },
    {
      "commit": "cfd5b080af8de527d768f0ff7902c26af8d49307",
      "tree": "32295b3aeb6ba8a116592576939348d09814b0be",
      "parents": [
        "1edd61ce5d2f34ff34d015643b5915b3b1c186e8"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Oct 17 14:28:00 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Oct 20 08:11:39 2016 -0700"
      },
      "message": "system/core: preparation to pull back interfaces from android/log.h\n\nPoint to log/log.h where necessary, define LOG_TAG where necessary.\nAccept that private/android_logger.h is suitable replacement for\nlog/logger.h and android/log.h.\n\nCorrect liblog/README\n\nEffectively a cleanup and controlled select revert of\n\u0027system/core: drop or replace log/logger.h\u0027 and\n\u0027system/core: Replace log/log.h with android/log.h\u0027.\n\nTest: compile\nBug: 30465923\nChange-Id: Ic2ad157bad6f5efe2c6af293a73bb753300b17a2\n"
    },
    {
      "commit": "ff2dcd9af994a23ed483939a416b48bdc10eefd5",
      "tree": "6e5a0dfe4e39c407eea7e39840eef5d56b720de4",
      "parents": [
        "66ce3e08c5632a20ea66bde6dd76397041edf034"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 15:54:45 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Sep 30 12:47:05 2016 -0700"
      },
      "message": "system/core Replace log/log.h with android/log.h\n\nShould use android/log.h instead of log/log.h as a good example\nto all others.  Adjust header order to comply with Android Coding\nstandards.\n\nTest: Compile\nBug: 26552300\nBug: 31289077\nChange-Id: I33a8fb4e754d2dc4754d335660c450e0a67190fc\n"
    },
    {
      "commit": "1cfa56d46c7c31300c25dafd722ff60a5294c3b3",
      "tree": "37864264edcd1e95c36b76f3f8f78c3d60cbf587",
      "parents": [
        "9de6776321b80d387e6108683547bc043f868925"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Tue Jun 28 18:02:29 2016 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Aug 25 20:07:51 2016 +0000"
      },
      "message": "libutils/Unicode.cpp: Correct length computation and add checks for utf16-\u003eutf8\n\nInconsistent behaviour between utf16_to_utf8 and utf16_to_utf8_length\nis causing a heap overflow.\n\nCorrecting the length computation and adding bound checks to the\nconversion functions.\n\nTest: ran libutils_tests\nBug: 29250543\nChange-Id: I6115e3357141ed245c63c6eb25fc0fd0a9a7a2bb\n(cherry picked from commit c4966a363e46d2e1074d1a365e232af0dcedd6a1)\n"
    },
    {
      "commit": "9de6776321b80d387e6108683547bc043f868925",
      "tree": "7a35f99e63fe7a332202194d845964458d1fd7fb",
      "parents": [
        "e461b37965ff609ea36c1fbb6e4e8df1fb7b7d7f"
      ],
      "author": {
        "name": "Sergio Giro",
        "email": "sgiro@google.com",
        "time": "Wed Jul 20 20:01:33 2016 +0100"
      },
      "committer": {
        "name": "Martijn Coenen",
        "email": "maco@google.com",
        "time": "Thu Aug 25 19:57:06 2016 +0000"
      },
      "message": "Unicode: specify destination length in utf8_to_utf16 methods\n\nString16(const char *utf8) now returns the empty string in case\na string ends halfway throw a utf8 character.\n\nBug: 29267949\nClean cherry-pick from 1dcc0c82394ec9cd6887c7ca39f9b5024db01ac9\n\nChange-Id: I5223caa7d42f4582a982609a898a02043265c6d3\n"
    },
    {
      "commit": "0fd60eb9b4026bcbc3a075e6aa9264346bcc25d1",
      "tree": "65adab33efa2b91c69e38ee659e898efa6a2d359",
      "parents": [
        "8b452b876b90dcfff1dab9012b65b5e67c4531a4"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 16 21:23:07 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 16 21:23:07 2016 +0100"
      },
      "message": "Fix strstr16.\n\nstrcmp needs a limit, otherwise it will compare the null terminator\nwith the next character in the haystack, which results in the compare\nfailing for all searches except where the needle is found at the very\nend.\n\nBug: 28663748\nChange-Id: I1939dc4037c2f2a75d617943b063d2d38a8c5e3a\n"
    },
    {
      "commit": "5bacef33c91e9625dfd09ecf638c2de7faecd34e",
      "tree": "545ac749f183ec37edc89eb5e2066427cc0457fa",
      "parents": [
        "ea41a18c933d20264b89fc89febf387231dc0c24"
      ],
      "author": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 09 14:43:31 2016 +0100"
      },
      "committer": {
        "name": "Michael Wright",
        "email": "michaelwr@google.com",
        "time": "Mon May 09 19:45:07 2016 +0100"
      },
      "message": "Add String16#contains and strstr16 methods.\n\nThese are needed for aapt to find javadoc comments that contain\n\"@removed\" in order to skip them when printing styleable docs.\n\nBug: 28663748\nChange-Id: I8866d2167c41e11d6c2586da369560d5815fd13e\n"
    },
    {
      "commit": "adbf442a515c51cb2acb34e20c1d2ea0e843c660",
      "tree": "11511aa802e506ae1bfe663e46493d0f04951b40",
      "parents": [
        "a6597598a0b82759960df09fd173192ca8c82f0c"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 29 17:45:24 2015 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jul 29 17:45:24 2015 -0700"
      },
      "message": "Use _WIN32 rather than HAVE_WINSOCK.\n\nChange-Id: I9855b6fe72e2f2f3a8360c0993a67cb988024ee4\n"
    },
    {
      "commit": "a53c815323f828a71f739e31ca248c7b9cfc4771",
      "tree": "30166743cc06d4d86bc8569549cc5c6988382711",
      "parents": [
        "7f187c5f95d6bf0514e71e0e074768bd5395d45f"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 09:42:07 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 24 09:43:10 2014 -0800"
      },
      "message": "Libutils: Comment out unused constants\n\nFor build-system CFLAGS clean-up, \"remove\" unused variables.\n\nChange-Id: Ic96f066981cd96ca16af81ee3fdbc972507e8c81\n"
    },
    {
      "commit": "97ac0e1bb42ddd17c75691ecbe1df8a6520d4c81",
      "tree": "e899f951a44088d5351cdbc8e2fb2249b038ef9d",
      "parents": [
        "6fe92d1a3fb17545d82d020a3c995f32e6b71f9d"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 23:01:59 2014 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Nov 21 23:10:45 2014 -0800"
      },
      "message": "Kill HAVE_BIG_ENDIAN, HAVE_ENDIAN_H, and HAVE_LITTLE_ENDIAN.\n\nChange-Id: I9e25ac9d27e95b04fb8bf7a66c619af0139d8b8f\n"
    },
    {
      "commit": "3b1380385004e535c6214b8199181a055f1e21d0",
      "tree": "9eccb0d4e550ab3ab5679a2115fbcb557751f7f5",
      "parents": [
        "9e55879f43b685d07c3c499c21cfee9a2fcd8f33",
        "72299bf0d240072174f847d13f1c9498b3ef9fa6"
      ],
      "author": {
        "name": "Cylen Yao",
        "email": "cylen.yao@mediatek.com",
        "time": "Wed Jun 11 12:41:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 12:41:36 2014 +0000"
      },
      "message": "am 72299bf0: [Bug]NE when playing mp3 with incorrect UTF16 char\n\n* commit \u002772299bf0d240072174f847d13f1c9498b3ef9fa6\u0027:\n  [Bug]NE when playing mp3 with incorrect UTF16 char\n"
    },
    {
      "commit": "72299bf0d240072174f847d13f1c9498b3ef9fa6",
      "tree": "f8dfb16fb9a8602cee9da7a7c5771d25e335a533",
      "parents": [
        "c24b98c7d8d9380f885bb6ea4055a34082353879"
      ],
      "author": {
        "name": "Cylen Yao",
        "email": "cylen.yao@mediatek.com",
        "time": "Wed Jun 04 19:11:27 2014 +0800"
      },
      "committer": {
        "name": "Raph Levien",
        "email": "raph@google.com",
        "time": "Tue Jun 10 19:14:59 2014 +0000"
      },
      "message": "[Bug]NE when playing mp3 with incorrect UTF16 char\n\nBug: 15274351\nBug: 15539240\n\nMany MP3 files have incorrect utf16 chars, but the\nUtf16_to_utf8_length() routine checks for errors in\nstandard utf16 char.  utf16_to_utf8() was not checking\nfor errors in standard utf16 char.\n\nChange-Id: Iafd922ff92cabe6bba8971215fcfd1fd471c894b\n(cherry picked from commit 605b139cdf56364c6c9b37e59dd12efc61c24631)"
    },
    {
      "commit": "5bed8036644f552210a7cfcbed2d6d20cf2981b0",
      "tree": "37f784e181086e99b17e00d46b6da30529751539",
      "parents": [
        "bf0f25905b12581f05b65b1ebe95211c727ae483"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Apr 30 11:10:46 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 02 15:57:50 2014 -0700"
      },
      "message": "libutils: turn on -Werror\n\n- Deal with some -Wunused issues\n- Override PRI macros (windows)\n- Revert use of PRI macros on off64_t (linux)\n- Deal with a gnu++11 complaince issue\n\nChange-Id: Ie66751293bd84477a5a6dfd8a57e700a16e36964\n"
    },
    {
      "commit": "d98e07fdf9c338589f263c47ce5c844ed43efad5",
      "tree": "d4ff9849df225df1e4c46386fdabe30407ba5513",
      "parents": [
        "be06210c508d5878dcc7d185e5613f4c7e38dfe8"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Aug 02 14:40:08 2013 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Aug 02 14:40:08 2013 -0700"
      },
      "message": "move libs/utils to libutils\n\nChange-Id: I6cf4268599460791414882f91eeb88a992fbd29d\n"
    },
    {
      "commit": "0f10d0abf3e6f6b5631c091256f8b4e7a20a33d0",
      "tree": "73f787e480f5c56f78652b3455ad6f40664e8d7b",
      "parents": [
        "d43eae5e399a1e6464def8227083988c0a090dee"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 31 16:04:39 2013 -0700"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Wed Jul 31 16:04:39 2013 -0700"
      },
      "message": "Add a new utf8-to-utf16 conversion function.\n\nChange-Id: I957c22fb219596ca4239db7a169473d3894b09eb\n"
    },
    {
      "commit": "aa983c91caf848b9659599336a4156c28a125fa9",
      "tree": "0c7a851cafa35df4426b7ad754a8397e31675f26",
      "parents": [
        "6c31a2fb6080049e444b4aac71b037eccd0d3ddc"
      ],
      "author": {
        "name": "Jeff Brown",
        "email": "jeffbrown@google.com",
        "time": "Fri Oct 07 13:28:18 2011 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:58 2013 -0700"
      },
      "message": "Fix regression in CursorWindow.copyStingToBuffer.\nBug: 5332296\n\nChange-Id: Iff9eed786f0a8293b6156f883a66a322ddad5e99\n"
    },
    {
      "commit": "ba0165bef09729a33ab8e0ca329342be05e0d859",
      "tree": "2f961146c3c8c625a01902207485fed0d7a2cdcd",
      "parents": [
        "3a91fca00c6b3db62b4dc0da95ba30671caf3283"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Tue Nov 09 14:37:23 2010 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:55 2013 -0700"
      },
      "message": "Split UTF functions from String8/16\n\nSplit out all the UTF-8/16/32 handling code from String8/16 to its own\nfile to allow better reuse of code.\n\nChange-Id: If9ce63920edc75472c38da4adce0d13cda9ad2f7\n"
    },
    {
      "commit": "e81635474cbf376c94282f34084fe9cffc4334c2",
      "tree": "e858d95d9cbc6f6b0e25586fbca0bb9a289c1f7d",
      "parents": [
        "861e14ff9f8180e1bb0e6d1a16756689a0197c82"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 14:09:24 2010 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:52 2013 -0700"
      },
      "message": "Totally remove Unicode.cpp and rely on ICU\n\nUnicode.cpp used a packed data table for character data that essentially\nduplicated ICU\u0027s functionality.\n\nChange-Id: Ia68fe4ac94e89dc68d9a3f45f33f6e648a5500b7\n"
    },
    {
      "commit": "861e14ff9f8180e1bb0e6d1a16756689a0197c82",
      "tree": "21f4a214f1ab9cb4d2947fddbeeb4015ab111e52",
      "parents": [
        "4ef8aea3b501e8122559080d4ff2e1b0f1f9dbcb"
      ],
      "author": {
        "name": "Kenny Root",
        "email": "kroot@google.com",
        "time": "Fri Feb 12 13:01:16 2010 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:52 2013 -0700"
      },
      "message": "Excise code from Unicode.cpp that was dead\n\nRemove some utility functions for discovering character data\nthat ICU probably took over a while ago.\n\nChange-Id: I97abe4de2f51eb2bf48679941258bc501184c3dc\n"
    },
    {
      "commit": "7c88914df4623b8f11bd5341369af60397734537",
      "tree": "a85d8fee564ed29d82b929dee2ffa30ad1aacda2",
      "parents": [
        "9f2dc70fd18bcf30a4ae3143c5bd502dc07df4cd"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Jun 04 13:53:57 2009 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:50 2013 -0700"
      },
      "message": "rename a few files to camel-case, add copyright notices\n"
    },
    {
      "commit": "cbb1011c95e0c25c29e40e203a6a31bccd029da3",
      "tree": "4697a3a86867bf33c2d9dd4e4a2743d3eb947523",
      "parents": [
        "cf59fa8dc7ddca5a172860223b06afed5d4ec0e0"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 19:31:44 2009 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:49 2013 -0700"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "cf59fa8dc7ddca5a172860223b06afed5d4ec0e0",
      "tree": "e780750523e4f032abf902a0e6ff8b9d52c54e54",
      "parents": [
        "7aa707a5d654b7af67b133955c454c8e23a12abc"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Mar 03 18:28:45 2009 -0800"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:49 2013 -0700"
      },
      "message": "auto import from //depot/cupcake/@135843\n"
    },
    {
      "commit": "d245d1d09731d6a19e8a25559d3907f54441ac3d",
      "tree": "b79df48666f286bd33efb4ffdbf4b3fa28f5dd91",
      "parents": [
        "13f4c9fb279f1b34a3b47a6eac80b8a09d2d3a79"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Tue Oct 21 07:00:00 2008 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Jul 30 13:56:46 2013 -0700"
      },
      "message": "Initial Contribution\n"
    }
  ]
}
