{ "builder": { "id": "" }, "buildType": "https://mobyproject.org/buildkit@v1", "materials": [ { "uri": "pkg:docker/docker/dockerfile@1.6", "digest": { "sha256": "ac85f380a63b13dfcefa89046420e1781752bab202122f8f50032edf31be0021" } }, { "uri": "pkg:docker/python@3.11-slim?platform=linux%2Famd64", "digest": { "sha256": "a5b427ace4900267d93db34138e512325c6fa6af84ad5e4ed5f3b36258cc4142" } }, { "uri": "pkg:docker/ghcr.io/astral-sh/uv@latest?platform=linux%2Famd64", "digest": { "sha256": "841c8e6fe30a8b07b4478d12d0c608cba6de66102d29d65d1cc423af86051563" } } ], "invocation": { "configSource": {}, "parameters": { "frontend": "gateway.v0", "args": { "build-arg:PLAYWRIGHT_DOWNLOAD_HOST": "", "build-arg:SKIP_CHROMIUM": "1", "cmdline": "docker/dockerfile:1.6", "label:com.docker.compose.project": "docker", "label:com.docker.compose.service": "api", "label:com.docker.compose.version": "2.20.2", "source": "docker/dockerfile:1.6" }, "locals": [ { "name": "context" }, { "name": "dockerfile" } ] }, "environment": { "platform": "linux/amd64" } }, "buildConfig": { "llbDefinition": [ { "id": "step0", "op": { "Op": { "source": { "identifier": "docker-image://docker.io/library/python:3.11-slim@sha256:a5b427ace4900267d93db34138e512325c6fa6af84ad5e4ed5f3b36258cc4142" } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} } }, { "id": "step1", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "sed -i \"s|deb.debian.org|mirrors.aliyun.com|g; s|security.debian.org|mirrors.aliyun.com|g\" /etc/apt/sources.list.d/debian.sources \u0026\u0026 apt-get update \u0026\u0026 apt-get install -y --no-install-recommends ca-certificates curl git libxml2 libxslt1.1 unzip fonts-noto-cjk libnss3 libatk1.0-0 libatk-bridge2.0-0 libcups2 libdrm2 libxkbcommon0 libxcomposite1 libxdamage1 libxrandr2 libgbm1 libpango-1.0-0 libcairo2 libasound2 libatspi2.0-0 libxfixes3 libxshmfence1 \u0026\u0026 rm -rf /var/lib/apt/lists/*" ], "env": [ "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.11.15", "PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625", "PYTHONDONTWRITEBYTECODE=1", "PYTHONUNBUFFERED=1", "UV_LINK_MODE=copy", "UV_PROJECT_ENVIRONMENT=/opt/venv", "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "cwd": "/", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step0:0" ] }, { "id": "step2", "op": { "Op": { "source": { "identifier": "docker-image://ghcr.io/astral-sh/uv:latest@sha256:841c8e6fe30a8b07b4478d12d0c608cba6de66102d29d65d1cc423af86051563" } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} } }, { "id": "step3", "op": { "Op": { "file": { "actions": [ { "input": 0, "secondaryInput": 1, "output": -1, "Action": { "copy": { "src": "/uv", "dest": "/usr/local/bin/", "mode": -1, "followSymlink": true, "dirCopyContents": true, "createDestPath": true, "allowWildcard": true, "allowEmptyWildcard": true, "timestamp": -1 } } }, { "input": 2, "secondaryInput": 1, "output": 0, "Action": { "copy": { "src": "/uvx", "dest": "/usr/local/bin/", "mode": -1, "followSymlink": true, "dirCopyContents": true, "createDestPath": true, "allowWildcard": true, "allowEmptyWildcard": true, "timestamp": -1 } } } ] } }, "constraints": {} }, "inputs": [ "step1:0", "step2:0" ] }, { "id": "step4", "op": { "Op": { "file": { "actions": [ { "input": 0, "secondaryInput": -1, "output": 0, "Action": { "mkdir": { "path": "/app", "mode": 493, "makeParents": true, "timestamp": -1 } } } ] } }, "constraints": {} }, "inputs": [ "step3:0" ] }, { "id": "step5", "op": { "Op": { "source": { "identifier": "local://context", "attrs": { "local.excludepatterns": "[\".git\",\".venv\",\".pytest_cache\",\".planning\",\".claude\",\"data\",\"tmp\",\"__pycache__\",\"*.pyc\",\".DS_Store\",\"design*.pen\",\"*.docx\",\"*.zip\"]", "local.sharedkeyhint": "context" } } }, "constraints": {} } }, { "id": "step6", "op": { "Op": { "file": { "actions": [ { "input": 0, "secondaryInput": 1, "output": -1, "Action": { "copy": { "src": "/pyproject.toml", "dest": "/app/", "mode": -1, "followSymlink": true, "dirCopyContents": true, "createDestPath": true, "allowWildcard": true, "allowEmptyWildcard": true, "timestamp": -1 } } }, { "input": 2, "secondaryInput": 1, "output": 0, "Action": { "copy": { "src": "/uv.lock", "dest": "/app/", "mode": -1, "followSymlink": true, "dirCopyContents": true, "createDestPath": true, "allowWildcard": true, "allowEmptyWildcard": true, "timestamp": -1 } } } ] } }, "constraints": {} }, "inputs": [ "step4:0", "step5:0" ] }, { "id": "step7", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "uv sync --frozen --no-install-project" ], "env": [ "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.11.15", "PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625", "PYTHONDONTWRITEBYTECODE=1", "PYTHONUNBUFFERED=1", "UV_LINK_MODE=copy", "UV_PROJECT_ENVIRONMENT=/opt/venv", "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" ], "cwd": "/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step6:0" ] }, { "id": "step8", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "if [ \"$SKIP_CHROMIUM\" = \"1\" ]; then echo \"\u003e\u003e\u003e SKIP_CHROMIUM=1 — chromium install skipped (playwright strategy disabled)\"; else export PLAYWRIGHT_DOWNLOAD_HOST=\"$PLAYWRIGHT_DOWNLOAD_HOST\" \u0026\u0026 (timeout 900 uv run patchright install chromium --with-deps || timeout 900 uv run patchright install chromium || echo \"\u003e\u003e\u003e chromium install FAILED — continuing without it; playwright-strategy sites will error at runtime\"); fi" ], "env": [ "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.11.15", "PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625", "PYTHONDONTWRITEBYTECODE=1", "PYTHONUNBUFFERED=1", "UV_LINK_MODE=copy", "UV_PROJECT_ENVIRONMENT=/opt/venv", "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "SKIP_CHROMIUM=1", "PLAYWRIGHT_DOWNLOAD_HOST=" ], "cwd": "/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step7:0" ] }, { "id": "step9", "op": { "Op": { "file": { "actions": [ { "input": 0, "secondaryInput": 1, "output": 0, "Action": { "copy": { "src": "/", "dest": "/app/", "mode": -1, "followSymlink": true, "dirCopyContents": true, "createDestPath": true, "allowWildcard": true, "allowEmptyWildcard": true, "timestamp": -1 } } } ] } }, "constraints": {} }, "inputs": [ "step8:0", "step5:0" ] }, { "id": "step10", "op": { "Op": { "exec": { "meta": { "args": [ "/bin/sh", "-c", "uv sync --frozen" ], "env": [ "LANG=C.UTF-8", "GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D", "PYTHON_VERSION=3.11.15", "PYTHON_SHA256=272179ddd9a2e41a0fc8e42e33dfbdca0b3711aa5abf372d3f2d51543d09b625", "PYTHONDONTWRITEBYTECODE=1", "PYTHONUNBUFFERED=1", "UV_LINK_MODE=copy", "UV_PROJECT_ENVIRONMENT=/opt/venv", "PATH=/opt/venv/bin:/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", "SKIP_CHROMIUM=1", "PLAYWRIGHT_DOWNLOAD_HOST=" ], "cwd": "/app", "removeMountStubsRecursive": true }, "mounts": [ { "input": 0, "dest": "/", "output": 0 } ] } }, "platform": { "Architecture": "amd64", "OS": "linux" }, "constraints": {} }, "inputs": [ "step9:0" ] }, { "id": "step11", "op": { "Op": null }, "inputs": [ "step10:0" ] } ], "digestMapping": { "sha256:2e14319433fe4ea9337a812205193608c8bf1ff12395a8b5e40d7e494a69f3ba": "step7", "sha256:355413f6167a2507443e2ffb1973dd5184320221de5f0257c29398d149f23dd5": "step8", "sha256:3c6e1b38fade3ab63f9705661769084c958b4dca9920d44e34d13f4af4ddcdf0": "step1", "sha256:3cb9b2a402fb9868a58772dad53c1668d62877ae1b41d572324ba18a9c44410a": "step9", "sha256:4ee72bf753d10da0b6373934f4db3d2f67e756720443f9410a9312aa8e870462": "step3", "sha256:96fe5273e3cf0b8ea20c3e59553b3f6edbea689859d236012cbcd035cfef814f": "step2", "sha256:bcd0656f9b34dc5d8f87ead2bbdfaa3b9ba16f9c3ab698aba8b70feab7baf7f5": "step0", "sha256:cfbc002599b9ef283bd782105ebf6f800df8444a48cce51039d6907db3fa5657": "step6", "sha256:d3b13bff858ce77540a4203bde355915e4b9486f2540cfd586e1007cac0d6ff5": "step5", "sha256:da0f77125fad3c8284b2e969e7ed5e6d058330d7302d3b611cc2142e9820cb9f": "step11", "sha256:ea2172198ad021023f7f93a99da0fa9e624629605bb393fa1589d9dd53b5d93e": "step10", "sha256:eef93049d0dad91398b83ca502c41eed1675232b1163760a711bfb77f33a9c3e": "step4" } }, "metadata": { "buildInvocationID": "mu49jd0r2b31shorpkb6on7z0", "buildStartedOn": "2026-05-12T12:58:49.453355485+08:00", "buildFinishedOn": "2026-05-12T12:59:29.106261652+08:00", "completeness": { "parameters": true, "environment": true, "materials": false }, "reproducible": false, "https://mobyproject.org/buildkit@v1#metadata": { "source": { "locations": { "step0": { "locations": [ { "ranges": [ { "start": { "line": 2 }, "end": { "line": 2 } } ] } ] }, "step1": { "locations": [ { "ranges": [ { "start": { "line": 11 }, "end": { "line": 11 } }, { "start": { "line": 12 }, "end": { "line": 12 } }, { "start": { "line": 13 }, "end": { "line": 13 } }, { "start": { "line": 14 }, "end": { "line": 14 } }, { "start": { "line": 15 }, "end": { "line": 15 } }, { "start": { "line": 16 }, "end": { "line": 16 } }, { "start": { "line": 17 }, "end": { "line": 17 } }, { "start": { "line": 18 }, "end": { "line": 18 } }, { "start": { "line": 19 }, "end": { "line": 19 } }, { "start": { "line": 20 }, "end": { "line": 20 } }, { "start": { "line": 21 }, "end": { "line": 21 } }, { "start": { "line": 22 }, "end": { "line": 22 } }, { "start": { "line": 23 }, "end": { "line": 23 } } ] } ] }, "step10": { "locations": [ { "ranges": [ { "start": { "line": 53 }, "end": { "line": 53 } } ] } ] }, "step2": { "locations": [ { "ranges": [ { "start": { "line": 26 }, "end": { "line": 26 } } ] } ] }, "step3": { "locations": [ { "ranges": [ { "start": { "line": 26 }, "end": { "line": 26 } } ] } ] }, "step4": { "locations": [ { "ranges": [ { "start": { "line": 28 }, "end": { "line": 28 } } ] } ] }, "step5": {}, "step6": { "locations": [ { "ranges": [ { "start": { "line": 31 }, "end": { "line": 31 } } ] } ] }, "step7": { "locations": [ { "ranges": [ { "start": { "line": 32 }, "end": { "line": 32 } } ] } ] }, "step8": { "locations": [ { "ranges": [ { "start": { "line": 42 }, "end": { "line": 42 } }, { "start": { "line": 43 }, "end": { "line": 43 } }, { "start": { "line": 44 }, "end": { "line": 44 } }, { "start": { "line": 45 }, "end": { "line": 45 } }, { "start": { "line": 46 }, "end": { "line": 46 } }, { "start": { "line": 47 }, "end": { "line": 47 } }, { "start": { "line": 48 }, "end": { "line": 48 } }, { "start": { "line": 49 }, "end": { "line": 49 } } ] } ] }, "step9": { "locations": [ { "ranges": [ { "start": { "line": 52 }, "end": { "line": 52 } } ] } ] } }, "infos": [ { "filename": "Dockerfile", "data": "IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MS42CkZST00gcHl0aG9uOjMuMTEtc2xpbSBBUyBiYXNlCgpFTlYgUFlUSE9ORE9OVFdSSVRFQllURUNPREU9MSBcCiAgICBQWVRIT05VTkJVRkZFUkVEPTEgXAogICAgVVZfTElOS19NT0RFPWNvcHkgXAogICAgVVZfUFJPSkVDVF9FTlZJUk9OTUVOVD0vb3B0L3ZlbnYgXAogICAgUEFUSD0vb3B0L3ZlbnYvYmluOiRQQVRICgojIFN5c3RlbSBkZXBzIGZvciBwYXRjaHJpZ2h0L2Nocm9taXVtICsgcGFyc2luZyBsaWJzIChseG1sKQpSVU4gc2VkIC1pICJzfGRlYi5kZWJpYW4ub3JnfG1pcnJvcnMuYWxpeXVuLmNvbXxnOyBzfHNlY3VyaXR5LmRlYmlhbi5vcmd8bWlycm9ycy5hbGl5dW4uY29tfGciIC9ldGMvYXB0L3NvdXJjZXMubGlzdC5kL2RlYmlhbi5zb3VyY2VzICYmIGFwdC1nZXQgdXBkYXRlICYmIGFwdC1nZXQgaW5zdGFsbCAteSAtLW5vLWluc3RhbGwtcmVjb21tZW5kcyBcCiAgICAgIGNhLWNlcnRpZmljYXRlcyBjdXJsIGdpdCBsaWJ4bWwyIGxpYnhzbHQxLjEgdW56aXAgXAogICAgICBmb250cy1ub3RvLWNqayBcCiAgICAgICMgQ2hyb21pdW0gcnVudGltZSBsaWJzIChuZWVkZWQgZXZlbiBmb3IgaGVhZGxlc3MpLiBsaWJ4Zml4ZXMzICsKICAgICAgIyBsaWJ4c2htZmVuY2UxIGFyZSByZXF1aXJlZCBieSBjaHJvbWUtaGVhZGxlc3Mtc2hlbGwtMTIwOCDigJQgcGF0Y2hyaWdodAogICAgICAjIGluc3RhbGwgLS13aXRoLWRlcHMgd291bGQgaGF2ZSBicm91Z2h0IHRoZW0gaW4sIGJ1dCB3ZSBydW4gd2l0aAogICAgICAjIFNLSVBfQ0hST01JVU09MSAoYmluYXJ5IGxpdmVzIG9uIHRoZSBob3N0IGJpbmQgbW91bnQpLCBzbyBhZGQKICAgICAgIyB0aGVtIGV4cGxpY2l0bHkgaGVyZS4gV2l0aG91dCB0aGVzZSB0aGUgbGF1bmNoIGZhaWxzIHdpdGgKICAgICAgIyAnbGliWGZpeGVzLnNvLjM6IGNhbm5vdCBvcGVuIHNoYXJlZCBvYmplY3QgZmlsZScuCiAgICAgIGxpYm5zczMgbGliYXRrMS4wLTAgbGliYXRrLWJyaWRnZTIuMC0wIGxpYmN1cHMyIGxpYmRybTIgbGlieGtiY29tbW9uMCBcCiAgICAgIGxpYnhjb21wb3NpdGUxIGxpYnhkYW1hZ2UxIGxpYnhyYW5kcjIgbGliZ2JtMSBsaWJwYW5nby0xLjAtMCBsaWJjYWlybzIgXAogICAgICBsaWJhc291bmQyIGxpYmF0c3BpMi4wLTAgbGlieGZpeGVzMyBsaWJ4c2htZmVuY2UxIFwKICAgICYmIHJtIC1yZiAvdmFyL2xpYi9hcHQvbGlzdHMvKgoKIyBJbnN0YWxsIHV2IChmYXN0IHJlc29sdmVyKQpDT1BZIC0tZnJvbT1naGNyLmlvL2FzdHJhbC1zaC91djpsYXRlc3QgL3V2IC91dnggL3Vzci9sb2NhbC9iaW4vCgpXT1JLRElSIC9hcHAKCiMgRGVwZW5kZW5jeSBsYXllciDigJQgY2FjaGUtZnJpZW5kbHkKQ09QWSBweXByb2plY3QudG9tbCB1di5sb2NrIC4vClJVTiB1diBzeW5jIC0tZnJvemVuIC0tbm8taW5zdGFsbC1wcm9qZWN0CgojIEluc3RhbGwgQ2hyb21pdW0gYnJvd3NlciB2aWEgcGF0Y2hyaWdodC4KIyBHYXRlZCBvbiBTS0lQX0NIUk9NSVVNIGJ1aWxkIGFyZyBzbyBkZXBsb3ltZW50cyBiZWhpbmQgZmlyZXdhbGxzIHRoYXQKIyBjYW4ndCByZWFjaCB0aGUgR29vZ2xlIENocm9taXVtIENETiBjYW4gc2tpcCBpdC4gUExBWVdSSUdIVF9ET1dOTE9BRF9IT1NUCiMgbGV0cyB1cyB1c2UgYSBDaGluZXNlIG1pcnJvciAobnBtbWlycm9yIC8gYWxpeXVuKSB3aGVuIGJlaGluZCBHRlcg4oCUCiMgZGVmYXVsdCBwb2ludHMgYXQgdGhlIG5wbW1pcnJvci1tYWludGFpbmVkIHBsYXl3cmlnaHQgbWlycm9yIHNvIHRoZQojIGJ1aWxkIHdvcmtzIGluIENOIGluZnJhIG91dCBvZiB0aGUgYm94LgpBUkcgU0tJUF9DSFJPTUlVTT0wCkFSRyBQTEFZV1JJR0hUX0RPV05MT0FEX0hPU1Q9aHR0cHM6Ly9jZG4ubnBtbWlycm9yLmNvbS9iaW5hcmllcy9wbGF5d3JpZ2h0ClJVTiBpZiBbICIkU0tJUF9DSFJPTUlVTSIgPSAiMSIgXTsgdGhlbiBcCiAgICAgIGVjaG8gIj4+PiBTS0lQX0NIUk9NSVVNPTEg4oCUIGNocm9taXVtIGluc3RhbGwgc2tpcHBlZCAocGxheXdyaWdodCBzdHJhdGVneSBkaXNhYmxlZCkiOyBcCiAgICBlbHNlIFwKICAgICAgZXhwb3J0IFBMQVlXUklHSFRfRE9XTkxPQURfSE9TVD0iJFBMQVlXUklHSFRfRE9XTkxPQURfSE9TVCIgJiYgXAogICAgICAodGltZW91dCA5MDAgdXYgcnVuIHBhdGNocmlnaHQgaW5zdGFsbCBjaHJvbWl1bSAtLXdpdGgtZGVwcyBcCiAgICAgICAgfHwgdGltZW91dCA5MDAgdXYgcnVuIHBhdGNocmlnaHQgaW5zdGFsbCBjaHJvbWl1bSBcCiAgICAgICAgfHwgZWNobyAiPj4+IGNocm9taXVtIGluc3RhbGwgRkFJTEVEIOKAlCBjb250aW51aW5nIHdpdGhvdXQgaXQ7IHBsYXl3cmlnaHQtc3RyYXRlZ3kgc2l0ZXMgd2lsbCBlcnJvciBhdCBydW50aW1lIik7IFwKICAgIGZpCgojIEFwcCBjb2RlCkNPUFkgLiAuClJVTiB1diBzeW5jIC0tZnJvemVuCgojIERlZmF1bHQ6IHJ1biBzY2hlZHVsZXIuIE92ZXJyaWRlIGluIGRvY2tlci1jb21wb3NlIGZvciBzZXJ2ZS9hbGVtYmljLgpDTUQgWyJweXRob24iLCAiLW0iLCAiZ292Y3Jhd2xlciIsICJzY2hlZHVsZSJdCg==", "llbDefinition": [ { "id": "step0", "op": { "Op": { "source": { "identifier": "local://dockerfile", "attrs": { "local.differ": "none", "local.followpaths": "[\"Dockerfile\",\"Dockerfile.dockerignore\",\"dockerfile\"]", "local.sharedkeyhint": "dockerfile" } } }, "constraints": {} } }, { "id": "step1", "op": { "Op": null }, "inputs": [ "step0:0" ] } ], "digestMapping": { "sha256:0bc23385cfafeeeb871f8b58117c8e202f0bfb4e3f07dcae09ca5e20728f837f": "step0", "sha256:2492c07b09f45e1c1d3b1e6d179b1e4c7f45f95f454ab2a38fe6f235f687d3fd": "step1" } } ] }, "layers": { "step0:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 } ] ], "step10:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:ba316e3acb09206bb4f6b8c1c2548a764aeb30bdf84f5c8bd49895b3b98a743b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:0733206e325ed7fff1ce96471067f8c25637c101f130a20e96ecb6fa182e10ea", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2432edcf057eb7108c76c0f96544d75768fe4fb303a19a856db08f4fea7f423a", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:f3ccd2c7dfb48bfd3bdfae29cd618e01ea7cddd0408726dd0123c56142ced513", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:3e96b69c985335398cefcc7a303f5fa4e0aa92d8a96da7d77a394072cdca7a64", "size": -1 } ] ], "step1:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 } ] ], "step2:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:119a9c0dde7dbb8a2047a057d48563a2dbc3a8934f70a3b585a31219370479fb", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:0d3be4044b9fe0d8267858c6c7f2c809e28ba4b6b748dfd2a394374454e1a991", "size": -1 } ] ], "step3:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 } ] ], "step4:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 } ] ], "step5:0": [ [] ], "step6:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:ba316e3acb09206bb4f6b8c1c2548a764aeb30bdf84f5c8bd49895b3b98a743b", "size": -1 } ] ], "step7:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:ba316e3acb09206bb4f6b8c1c2548a764aeb30bdf84f5c8bd49895b3b98a743b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:0733206e325ed7fff1ce96471067f8c25637c101f130a20e96ecb6fa182e10ea", "size": -1 } ] ], "step8:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:ba316e3acb09206bb4f6b8c1c2548a764aeb30bdf84f5c8bd49895b3b98a743b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:0733206e325ed7fff1ce96471067f8c25637c101f130a20e96ecb6fa182e10ea", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2432edcf057eb7108c76c0f96544d75768fe4fb303a19a856db08f4fea7f423a", "size": -1 } ] ], "step9:0": [ [ { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:79dd1f4c855cd061f687a994426634cf5f84c8ecdbc66c7a7d118e828dd93c99", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2e53cb234c597e3f6a8f896df5efafd6ceca83645632661f2e32cd7144b43738", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:799edc77eb3d21542943122b97c5ba1e80c2a1eb3d222e23196717126398ef61", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:94e760ec30748f73d19bcb5d4da140b8dde956299eac18e3372d89236f56c995", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:1d0ad590f4d64ce862f14bb71029c0295d0a9ddbcdf727744244a4a43e91b90b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:bd0aa74796e921bfffa46e81212c724a32cf2372040af05382e1cfb71e177d03", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:d2ae920bb2e053ee11f37584c395cda5ce7f9fded6dd57ac1d906823f3657066", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:ba316e3acb09206bb4f6b8c1c2548a764aeb30bdf84f5c8bd49895b3b98a743b", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:0733206e325ed7fff1ce96471067f8c25637c101f130a20e96ecb6fa182e10ea", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:2432edcf057eb7108c76c0f96544d75768fe4fb303a19a856db08f4fea7f423a", "size": -1 }, { "mediaType": "application/vnd.docker.image.rootfs.diff.tar", "digest": "sha256:f3ccd2c7dfb48bfd3bdfae29cd618e01ea7cddd0408726dd0123c56142ced513", "size": -1 } ] ] } } } }