)]}'
{
  "commit": "2bc6f35469434d932c25a1aa74dda892717a5190",
  "tree": "e8a1e2aa9c081785e91d131719839a9400d9809c",
  "parents": [
    "a7eb3988f0645239185fadb4e25d8279478c2dbb"
  ],
  "author": {
    "name": "Graham Sanderson",
    "email": "graham.sanderson@raspberrypi.com",
    "time": "Thu Aug 07 12:57:09 2025 -0700"
  },
  "committer": {
    "name": "graham sanderson",
    "email": "graham.sanderson@raspberrypi.com",
    "time": "Thu Aug 07 12:58:12 2025 -0700"
  },
  "message": "Support for RP2350 A2/A3/A4 along with code improvements (#267)\n\n* Support for RP2350 A2/A4/A4 along with code improvements, replacing the ocean of one-off IFs with a more OO abstraction\n\nCo-authored-by: William Vinnicombe \u003cwilliam.vinnicombe@raspberrypi.com\u003e\nCo-authored-by: will-v-pi \u003c108662275+will-v-pi@users.noreply.github.com\u003e\nCo-authored-by: Andrew Scheller \u003candrew.scheller@raspberrypi.com\u003e\nCo-authored-by: graham sanderson \u003cgraham@spiff.local\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5944db8ed762c718cd379a1fd6665e5819c6c4a9",
      "old_mode": 33188,
      "old_path": "BUILD.bazel",
      "new_id": "31b2df7db98ad9d22c9315090143c84347f1cfd8",
      "new_mode": 33188,
      "new_path": "BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "691605b885d6639f121de45f6fdd735a9d20ff97",
      "old_mode": 33188,
      "old_path": "CMakeLists.txt",
      "new_id": "2c22992715cd3b08cadf81b7c913e3c10dd814f5",
      "new_mode": 33188,
      "new_path": "CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "6a73de817eb48b1c98746e51d170ea8701a1b19b",
      "old_mode": 33188,
      "old_path": "README.md",
      "new_id": "572586cce3ffa17edd386af017df4824d4e243f2",
      "new_mode": 33188,
      "new_path": "README.md"
    },
    {
      "type": "modify",
      "old_id": "46ed0494bd66e6e69ab9bdede0a2527d078500ec",
      "old_mode": 33188,
      "old_path": "elf/BUILD.bazel",
      "new_id": "0fd1aef06917d65cba048db74943c783081d0db0",
      "new_mode": 33188,
      "new_path": "elf/BUILD.bazel"
    },
    {
      "type": "modify",
      "old_id": "f7833764204fcd43cf4a97ed8e37c63f93f1512a",
      "old_mode": 33188,
      "old_path": "elf/CMakeLists.txt",
      "new_id": "d21819001214369f8d0941b97ddaa86b7f6cf646",
      "new_mode": 33188,
      "new_path": "elf/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "7ced994a49acc7f757e971158d18d76391d14ed0",
      "old_mode": 33188,
      "old_path": "elf2uf2/CMakeLists.txt",
      "new_id": "066c1d54f8e8f1e210dd97aa561ff8ad82ee6337",
      "new_mode": 33188,
      "new_path": "elf2uf2/CMakeLists.txt"
    },
    {
      "type": "modify",
      "old_id": "dae7da1b3f760c56f678d93f5e1b01d2917da42f",
      "old_mode": 33188,
      "old_path": "elf2uf2/elf2uf2.cpp",
      "new_id": "24d41f3e684ea62a792f12470465ab426cfcff45",
      "new_mode": 33188,
      "new_path": "elf2uf2/elf2uf2.cpp"
    },
    {
      "type": "modify",
      "old_id": "02ae6cdefac8599d34b9cc3f3026900880a6a114",
      "old_mode": 33188,
      "old_path": "elf2uf2/elf2uf2.h",
      "new_id": "8239a0b1cd57303c0e3f109729c0e113378ebf50",
      "new_mode": 33188,
      "new_path": "elf2uf2/elf2uf2.h"
    },
    {
      "type": "modify",
      "old_id": "3f971b7b8269d6b482efbef4ce94ecd734aa0c6e",
      "old_mode": 33188,
      "old_path": "errors/errors.cpp",
      "new_id": "c89f6002d236618289a04693efeee7a1e13b1578",
      "new_mode": 33188,
      "new_path": "errors/errors.cpp"
    },
    {
      "type": "modify",
      "old_id": "597df64657a954b4c0b35d6d5371cd056d9b3a87",
      "old_mode": 33188,
      "old_path": "errors/errors.h",
      "new_id": "869f9a69f0450d04fb38ff4ec9624c2d33eb7e53",
      "new_mode": 33188,
      "new_path": "errors/errors.h"
    },
    {
      "type": "modify",
      "old_id": "0aef1b975a2835dae673be8abe4bd7bf75d992a8",
      "old_mode": 33188,
      "old_path": "main.cpp",
      "new_id": "917c4158c94434f49b9506dbf04e44fa5e1e00af",
      "new_mode": 33188,
      "new_path": "main.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "7b86451b31b169f1b7cc09d81cc9af94a465a503",
      "new_mode": 33188,
      "new_path": "model/BUILD.bazel"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "cd9e775a76fe6168be0f6d95a327bd8fc032b79d",
      "new_mode": 33188,
      "new_path": "model/CMakeLists.txt"
    },
    {
      "type": "rename",
      "old_id": "d8926f069c5eb9d2036d3563bf9533551879bdef",
      "old_mode": 33188,
      "old_path": "elf/addresses.h",
      "new_id": "a87ee09ba3d8773fcf9c56fdac2a5aa21f820a42",
      "new_mode": 33188,
      "new_path": "model/addresses.h",
      "score": 62
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "e9925f36ecd6cc7c1d9af5825c51ff6364b685f9",
      "new_mode": 33188,
      "new_path": "model/model.cpp"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "f942ec87bf16fbabadd949aee03f73a45728291d",
      "new_mode": 33188,
      "new_path": "model/model.h"
    },
    {
      "type": "rename",
      "old_id": "6c5e725106edc5336caf848e59fbdbb90907013d",
      "old_mode": 33188,
      "old_path": "bootrom.end.bin",
      "new_id": "6c5e725106edc5336caf848e59fbdbb90907013d",
      "new_mode": 33188,
      "new_path": "model/rp2350_a2_rom_end.bin",
      "score": 100
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "ef28ff76c0db1ad8fa4a65ab1751fefb22db7444",
      "new_mode": 33188,
      "new_path": "model/rp2350_a3_rom_end.bin"
    },
    {
      "type": "add",
      "old_id": "0000000000000000000000000000000000000000",
      "old_mode": 0,
      "old_path": "/dev/null",
      "new_id": "8d26f6701ec393f2250f473901d123d2bfa1c4e2",
      "new_mode": 33188,
      "new_path": "model/rp2350_a4_rom_end.bin"
    },
    {
      "type": "modify",
      "old_id": "265608c70f5cef02f550e5165d2ab02bce59d045",
      "old_mode": 33188,
      "old_path": "picoboot_connection/picoboot_connection.c",
      "new_id": "9ee797e8fa25637ad172f067e99b40ecef5976e3",
      "new_mode": 33188,
      "new_path": "picoboot_connection/picoboot_connection.c"
    },
    {
      "type": "modify",
      "old_id": "8c2ca22ab0a860b659198388040852d03b25cedf",
      "old_mode": 33188,
      "old_path": "picoboot_connection/picoboot_connection.h",
      "new_id": "2009b778eefb16b0ba5d7fa40ea908b3b2e190d2",
      "new_mode": 33188,
      "new_path": "picoboot_connection/picoboot_connection.h"
    },
    {
      "type": "modify",
      "old_id": "479dc46552638b3e02b01fc5741c456376768bdb",
      "old_mode": 33188,
      "old_path": "picoboot_connection/picoboot_connection_cxx.h",
      "new_id": "6b2feab5ac7638bc44fae2d7e64fa16870a24e9a",
      "new_mode": 33188,
      "new_path": "picoboot_connection/picoboot_connection_cxx.h"
    },
    {
      "type": "modify",
      "old_id": "75a111facb5c5ae37970c317658d187cb8ac7f82",
      "old_mode": 33188,
      "old_path": "xip_ram_perms/xip_ram_perms.elf",
      "new_id": "952f00585f7bd522d3b3a696a6b09e0d3edf8f3a",
      "new_mode": 33188,
      "new_path": "xip_ram_perms/xip_ram_perms.elf"
    }
  ]
}
