)]}'
{
  "commit": "7c18eb9dc5be9d9ad82805fa29f8a36baf845ca5",
  "tree": "cb7a87d8ad106e4bb62c25f533d8336371cbe245",
  "parents": [
    "602df41025eadb33e872d0314c340d526c740183"
  ],
  "author": {
    "name": "Mike Reed",
    "email": "reed@google.com",
    "time": "Mon Apr 08 15:46:00 2019 +0000"
  },
  "committer": {
    "name": "Skia Commit-Bot",
    "email": "skia-commit-bot@chromium.org",
    "time": "Mon Apr 08 15:46:14 2019 +0000"
  },
  "message": "Reland \"Revert \"Move localmatrix routines to shaderbase, no need to be public.\"\"\n\nThis reverts commit 12b4902e509547f7b1712944cc3bfb92c0c3f300.\n\nReason for revert: hmmm, where is my guard?\n\nOriginal change\u0027s description:\n\u003e Revert \"Revert \"Move localmatrix routines to shaderbase, no need to be public.\"\"\n\u003e \n\u003e Need to guard this for google3\n\u003e \n\u003e This reverts commit f88a0e1c9138d54aa302dddc080d21cfd5325650.\n\u003e \n\u003e Change-Id: Ia169610898c6276ae5af8a869ecc9672f6f4f285\n\u003e Reviewed-on: https://skia-review.googlesource.com/c/skia/+/206264\n\u003e Reviewed-by: Mike Reed \u003creed@google.com\u003e\n\u003e Commit-Queue: Mike Reed \u003creed@google.com\u003e\n\u003e Auto-Submit: Mike Reed \u003creed@google.com\u003e\n\nTBR\u003dreed@google.com\n\nChange-Id: Ibfb21fa248efbafe4ce3909ec3a1af5cffb221de\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nReviewed-on: https://skia-review.googlesource.com/c/skia/+/206398\nReviewed-by: Mike Reed \u003creed@google.com\u003e\nCommit-Queue: Mike Reed \u003creed@google.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "17d0ac9a3283e40b4cda2434a3bc2c7b52754a78",
      "old_mode": 33188,
      "old_path": "include/core/SkShader.h",
      "new_id": "1fe910c5d036150c989c4859d482b8201f366f9c",
      "new_mode": 33188,
      "new_path": "include/core/SkShader.h"
    },
    {
      "type": "modify",
      "old_id": "f75c03daba737ffe5dd8dc6a3803f7f7dbacbf21",
      "old_mode": 33188,
      "old_path": "src/core/SkNormalMapSource.cpp",
      "new_id": "ed5598ea0dd315f60761d40d313182985e853adf",
      "new_mode": 33188,
      "new_path": "src/core/SkNormalMapSource.cpp"
    },
    {
      "type": "modify",
      "old_id": "263d95dc7dcea7f6d967f9d0a8c3243e6abc47da",
      "old_mode": 33188,
      "old_path": "src/pdf/SkPDFShader.cpp",
      "new_id": "407ac732ac937a5a57eda9721328d9ea4c0bccde",
      "new_mode": 33188,
      "new_path": "src/pdf/SkPDFShader.cpp"
    },
    {
      "type": "modify",
      "old_id": "c3a2f8f51beea1604a16206631bd634dc5550919",
      "old_mode": 33188,
      "old_path": "src/pdf/SkPDFUtils.h",
      "new_id": "0624c9a98970598f1bfa7c35ddc99c1b3db66da5",
      "new_mode": 33188,
      "new_path": "src/pdf/SkPDFUtils.h"
    },
    {
      "type": "modify",
      "old_id": "eb203039336aa56a7f58aee9770026ba1366a140",
      "old_mode": 33188,
      "old_path": "src/shaders/SkShader.cpp",
      "new_id": "d565027029f2cd792094ca81654338138ac281d0",
      "new_mode": 33188,
      "new_path": "src/shaders/SkShader.cpp"
    },
    {
      "type": "modify",
      "old_id": "64c730e640f2c6d70abb788b7220b309d2184b56",
      "old_mode": 33188,
      "old_path": "src/shaders/SkShaderBase.h",
      "new_id": "fc3a8d962efa483be3a55214947db4a8afa69aeb",
      "new_mode": 33188,
      "new_path": "src/shaders/SkShaderBase.h"
    },
    {
      "type": "modify",
      "old_id": "af4a78d3662d5d9e3ea0cb399c8a6b589bf9eaff",
      "old_mode": 33188,
      "old_path": "src/svg/SkSVGDevice.cpp",
      "new_id": "b1570f227f820b6ef253a4c904a25b602198d1aa",
      "new_mode": 33188,
      "new_path": "src/svg/SkSVGDevice.cpp"
    },
    {
      "type": "modify",
      "old_id": "f3c6f4e7cfa8d126c3d84be8186e8b5c94a010c1",
      "old_mode": 33188,
      "old_path": "src/xps/SkXPSDevice.cpp",
      "new_id": "dc7082da3217e170aac305413523da8195073394",
      "new_mode": 33188,
      "new_path": "src/xps/SkXPSDevice.cpp"
    }
  ]
}
