{
  "_type": "https://in-toto.io/Statement/v0.1",
  "predicateType": "https://slsa.dev/provenance/v0.2",
  "subject": [
    {
      "name": "docker-compose-windows-aarch64.exe",
      "digest": {
        "sha256": "6f0a78a707bf631d3c64bfd21c838dbd82443fae99cf0b285aa140aff62945f9"
      }
    }
  ],
  "predicate": {
    "builder": {
      "id": "https://github.com/docker/compose/actions/runs/15605751557/attempts/1"
    },
    "buildType": "https://mobyproject.org/buildkit@v1",
    "materials": [
      {
        "uri": "pkg:docker/crazymax/osxcross@11.3-alpine?platform=windows%2Farm64",
        "digest": {
          "sha256": "a5bd09128beabccdbe54715125ead9bb0aba7f73b58317343030d34fafd59ea3"
        }
      },
      {
        "uri": "pkg:docker/docker/buildkit-syft-scanner@stable-1",
        "digest": {
          "sha256": "434b49272c090c4788e38c8d8d6008c3741c4a8d4638e62dff5cdc6409d7927a"
        }
      },
      {
        "uri": "pkg:docker/docker/dockerfile@1",
        "digest": {
          "sha256": "9857836c9ee4268391bb5b09f9f157f3c91bb15821bb77969642813b0d00518d"
        }
      },
      {
        "uri": "pkg:docker/alpine@latest?platform=linux%2Famd64",
        "digest": {
          "sha256": "8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be023728e11715"
        }
      },
      {
        "uri": "pkg:docker/golang@1.23.8-alpine?platform=linux%2Famd64",
        "digest": {
          "sha256": "b7486658b87d34ecf95125e5b97e8dfe86c21f712aa36fc0c702e5dc41dc63e1"
        }
      },
      {
        "uri": "pkg:docker/tonistiigi/xx@1.6.1?platform=linux%2Famd64",
        "digest": {
          "sha256": "923441d7c25f1e2eb5789f82d987693c47b8ed987c4ab3b075d6ed2b5d6779a3"
        }
      }
    ],
    "invocation": {
      "configSource": {
        "entryPoint": "Dockerfile"
      },
      "parameters": {
        "frontend": "gateway.v0",
        "args": {
          "build-arg:BUILDKIT_CONTEXT_KEEP_GIT_DIR": "1",
          "build-arg:BUILD_TAGS": "e2e",
          "cmdline": "docker/dockerfile:1",
          "source": "docker/dockerfile:1",
          "target": "release"
        },
        "locals": [
          {
            "name": "context"
          },
          {
            "name": "dockerfile"
          }
        ]
      },
      "environment": {
        "platform": "linux/amd64"
      }
    },
    "buildConfig": {
      "llbDefinition": [
        {
          "id": "step0",
          "op": {
            "Op": {
              "source": {
                "identifier": "docker-image://docker.io/library/alpine:latest@sha256:8a1f59ffb675680d47db6337b49d22281a139e9d709335b492be023728e11715"
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          }
        },
        {
          "id": "step1",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": 0,
                    "secondaryInput": -1,
                    "output": 0,
                    "Action": {
                      "mkdir": {
                        "path": "/work",
                        "mode": 493,
                        "makeParents": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step0:0"
          ]
        },
        {
          "id": "step2",
          "op": {
            "Op": {
              "source": {
                "identifier": "docker-image://docker.io/library/golang:1.23.8-alpine@sha256:b7486658b87d34ecf95125e5b97e8dfe86c21f712aa36fc0c702e5dc41dc63e1"
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          }
        },
        {
          "id": "step3",
          "op": {
            "Op": {
              "source": {
                "identifier": "docker-image://docker.io/tonistiigi/xx:1.6.1@sha256:923441d7c25f1e2eb5789f82d987693c47b8ed987c4ab3b075d6ed2b5d6779a3"
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          }
        },
        {
          "id": "step4",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": 0,
                    "secondaryInput": 1,
                    "output": 0,
                    "Action": {
                      "copy": {
                        "src": "/",
                        "dest": "/",
                        "mode": -1,
                        "followSymlink": true,
                        "dirCopyContents": true,
                        "createDestPath": true,
                        "allowWildcard": true,
                        "allowEmptyWildcard": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step2:0",
            "step3:0"
          ]
        },
        {
          "id": "step5",
          "op": {
            "Op": {
              "exec": {
                "meta": {
                  "args": [
                    "/bin/sh",
                    "-c",
                    "apk add --no-cache       clang       docker       file       findutils       git       make       protoc       protobuf-dev"
                  ],
                  "env": [
                    "PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "GOLANG_VERSION=1.23.8",
                    "GOTOOLCHAIN=local",
                    "GOPATH=/go"
                  ],
                  "cwd": "/go",
                  "removeMountStubsRecursive": true
                },
                "mounts": [
                  {
                    "dest": "/"
                  }
                ]
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          },
          "inputs": [
            "step4:0"
          ]
        },
        {
          "id": "step6",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": 0,
                    "secondaryInput": -1,
                    "output": 0,
                    "Action": {
                      "mkdir": {
                        "path": "/src",
                        "mode": 493,
                        "makeParents": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step5:0"
          ]
        },
        {
          "id": "step7",
          "op": {
            "Op": {
              "source": {
                "identifier": "local://context",
                "attrs": {
                  "local.excludepatterns": "[\"bin\"]",
                  "local.sharedkeyhint": "context"
                }
              }
            },
            "constraints": {}
          }
        },
        {
          "id": "step8",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": 0,
                    "secondaryInput": 1,
                    "output": 0,
                    "Action": {
                      "copy": {
                        "src": "/go.*",
                        "dest": "/src/",
                        "mode": -1,
                        "followSymlink": true,
                        "dirCopyContents": true,
                        "createDestPath": true,
                        "allowWildcard": true,
                        "allowEmptyWildcard": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step6:0",
            "step7:0"
          ]
        },
        {
          "id": "step9",
          "op": {
            "Op": {
              "exec": {
                "meta": {
                  "args": [
                    "/bin/sh",
                    "-c",
                    "go mod download"
                  ],
                  "env": [
                    "PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "GOLANG_VERSION=1.23.8",
                    "GOTOOLCHAIN=local",
                    "GOPATH=/go",
                    "CGO_ENABLED=0"
                  ],
                  "cwd": "/src",
                  "removeMountStubsRecursive": true
                },
                "mounts": [
                  {
                    "dest": "/"
                  },
                  {
                    "input": -1,
                    "dest": "/go/pkg/mod",
                    "output": -1,
                    "mountType": 3,
                    "cacheOpt": {
                      "ID": "//go/pkg/mod"
                    }
                  },
                  {
                    "input": -1,
                    "dest": "/root/.cache/go-build",
                    "output": -1,
                    "mountType": 3,
                    "cacheOpt": {
                      "ID": "//root/.cache/go-build"
                    }
                  }
                ]
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          },
          "inputs": [
            "step8:0"
          ]
        },
        {
          "id": "step10",
          "op": {
            "Op": {
              "source": {
                "identifier": "docker-image://docker.io/crazymax/osxcross:11.3-alpine@sha256:a5bd09128beabccdbe54715125ead9bb0aba7f73b58317343030d34fafd59ea3"
              }
            },
            "platform": {
              "Architecture": "arm64",
              "OS": "windows"
            },
            "constraints": {}
          }
        },
        {
          "id": "step11",
          "op": {
            "Op": {
              "exec": {
                "meta": {
                  "args": [
                    "/bin/sh",
                    "-c",
                    "xx-go --wrap \u0026\u0026     if [ \"$(xx-info os)\" == \"darwin\" ]; then export CGO_ENABLED=1; fi \u0026\u0026     make build GO_BUILDTAGS=\"$BUILD_TAGS\" DESTDIR=/out \u0026\u0026     xx-verify --static /out/docker-compose"
                  ],
                  "env": [
                    "PATH=/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "GOLANG_VERSION=1.23.8",
                    "GOTOOLCHAIN=local",
                    "GOPATH=/go",
                    "CGO_ENABLED=0",
                    "BUILD_TAGS=e2e",
                    "TARGETPLATFORM=windows/arm64"
                  ],
                  "cwd": "/src",
                  "removeMountStubsRecursive": true
                },
                "mounts": [
                  {
                    "dest": "/"
                  },
                  {
                    "input": -1,
                    "dest": "/go/pkg/mod",
                    "output": -1,
                    "mountType": 3,
                    "cacheOpt": {
                      "ID": "//go/pkg/mod"
                    }
                  },
                  {
                    "input": -1,
                    "dest": "/root/.cache",
                    "output": -1,
                    "mountType": 3,
                    "cacheOpt": {
                      "ID": "//root/.cache"
                    }
                  },
                  {
                    "input": 1,
                    "dest": "/src",
                    "output": -1,
                    "readonly": true
                  },
                  {
                    "input": 2,
                    "selector": "/osxsdk",
                    "dest": "/xx-sdk",
                    "output": -1,
                    "readonly": true
                  }
                ]
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          },
          "inputs": [
            "step9:0",
            "step7:0",
            "step10:0"
          ]
        },
        {
          "id": "step12",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": -1,
                    "secondaryInput": 0,
                    "output": 0,
                    "Action": {
                      "copy": {
                        "src": "/out/docker-compose",
                        "dest": "/docker-compose.exe",
                        "mode": -1,
                        "followSymlink": true,
                        "dirCopyContents": true,
                        "createDestPath": true,
                        "allowWildcard": true,
                        "allowEmptyWildcard": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step11:0"
          ]
        },
        {
          "id": "step13",
          "op": {
            "Op": {
              "exec": {
                "meta": {
                  "args": [
                    "/bin/sh",
                    "-c",
                    "mkdir -p /out \u0026\u0026     TARGETARCH=$([ \"$TARGETARCH\" = \"amd64\" ] \u0026\u0026 echo \"x86_64\" || echo \"$TARGETARCH\");     TARGETARCH=$([ \"$TARGETARCH\" = \"arm64\" ] \u0026\u0026 echo \"aarch64\" || echo \"$TARGETARCH\");     cp docker-compose* \"/out/docker-compose-${TARGETOS}-${TARGETARCH}${TARGETVARIANT}$(ls docker-compose* | sed -e 's/^docker-compose//')\""
                  ],
                  "env": [
                    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                    "TARGETOS=windows",
                    "TARGETARCH=arm64",
                    "TARGETVARIANT="
                  ],
                  "cwd": "/work",
                  "removeMountStubsRecursive": true
                },
                "mounts": [
                  {
                    "dest": "/"
                  },
                  {
                    "input": 1,
                    "dest": "/work",
                    "output": -1,
                    "readonly": true
                  }
                ]
              }
            },
            "platform": {
              "Architecture": "amd64",
              "OS": "linux"
            },
            "constraints": {}
          },
          "inputs": [
            "step1:0",
            "step12:0"
          ]
        },
        {
          "id": "step14",
          "op": {
            "Op": {
              "file": {
                "actions": [
                  {
                    "input": -1,
                    "secondaryInput": 0,
                    "output": 0,
                    "Action": {
                      "copy": {
                        "src": "/out",
                        "dest": "/",
                        "mode": -1,
                        "followSymlink": true,
                        "dirCopyContents": true,
                        "createDestPath": true,
                        "allowWildcard": true,
                        "allowEmptyWildcard": true,
                        "timestamp": -1
                      }
                    }
                  }
                ]
              }
            },
            "constraints": {}
          },
          "inputs": [
            "step13:0"
          ]
        },
        {
          "id": "step15",
          "op": {
            "Op": {}
          },
          "inputs": [
            "step14:0"
          ]
        }
      ],
      "digestMapping": {
        "sha256:261b591121dbdb6624bc0d8b79dc3d07fe21a2845d5982537e73dcc7a3a2a438": "step11",
        "sha256:2986ac7eb67ba9d9e4b4de1ecdce2579a7b4c6ee53a8d0c1d90e9f27d504a94a": "step6",
        "sha256:4e83817820069e786ef2ede737fa5e74f56c000d4153c6c78cc1c14088b28b27": "step10",
        "sha256:4f723a138a4d64aaf058a07137c9412d4c03e2fc6da629a4e5c8d31eff178493": "step5",
        "sha256:53a5ba509cb44e81f8b52a546641bc7c5bc98b60fd07cd598f3ed468d8e8aa59": "step9",
        "sha256:68abe98a5a037ed15743c378947d018e69cf21a96b2dbeb3db1d04c232d2e147": "step0",
        "sha256:79de6430cfb0ee47f2e3751a946f862b9c8bb3954f5df733aaff13b1abe5cf1e": "step7",
        "sha256:886b6ab5bc0be3ce651c9f002dae2102ed171a5b98bd5ebbbf892ac9d90d0326": "step2",
        "sha256:9999fd7e3b2ec9bfb955564bcf0d0b1a3bad48719469f7091d04e3df01a40bf4": "step8",
        "sha256:af0dd9078be3758d12e37bf50e57e4f03acdff360110f2a601428b540e6300ae": "step4",
        "sha256:cd417e3041f424e12b1f036b488e2c5b163896cfb299b476468f47829ee67f8a": "step12",
        "sha256:d59748fae787d44d05c2dbab1f29ed5ed6275692789cc15db88084b7844db715": "step13",
        "sha256:d6dc435d34f038384aeb51948a95c4d7175b41e0413edae3e192f8b5398d8037": "step15",
        "sha256:db18588197c9556d9fbe266d7143da409cdbcc525b1856bee5a9d715280a0b3a": "step14",
        "sha256:f88fc0bf6c422295a1b44ad1c8b87c95d9b71e2bfeb643e25d0236c8f75e87e3": "step3",
        "sha256:fb29dc2762bf2f711952040ae0f4435fd79dc5957aba3b6fa3453d00ac0458a5": "step1"
      }
    },
    "metadata": {
      "buildInvocationID": "rtelh9n9f1fyvh3tf4ueovhdz",
      "buildStartedOn": "2025-06-12T08:38:38.634911169Z",
      "buildFinishedOn": "2025-06-12T08:40:25.056848378Z",
      "completeness": {
        "parameters": true,
        "environment": true,
        "materials": false
      },
      "reproducible": false,
      "https://mobyproject.org/buildkit@v1#metadata": {
        "vcs": {
          "localdir:context": ".",
          "localdir:dockerfile": ".",
          "revision": "343117233b901110b464786a4daccc264babb56b",
          "source": "https://github.com/docker/compose"
        },
        "source": {
          "locations": {
            "step0": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 184
                      },
                      "end": {
                        "line": 184
                      }
                    }
                  ]
                }
              ]
            },
            "step1": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 185
                      },
                      "end": {
                        "line": 185
                      }
                    }
                  ]
                }
              ]
            },
            "step10": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 31
                      },
                      "end": {
                        "line": 31
                      }
                    }
                  ]
                }
              ]
            },
            "step11": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 81
                      },
                      "end": {
                        "line": 81
                      }
                    },
                    {
                      "start": {
                        "line": 82
                      },
                      "end": {
                        "line": 82
                      }
                    },
                    {
                      "start": {
                        "line": 83
                      },
                      "end": {
                        "line": 83
                      }
                    },
                    {
                      "start": {
                        "line": 84
                      },
                      "end": {
                        "line": 84
                      }
                    },
                    {
                      "start": {
                        "line": 85
                      },
                      "end": {
                        "line": 85
                      }
                    },
                    {
                      "start": {
                        "line": 86
                      },
                      "end": {
                        "line": 86
                      }
                    },
                    {
                      "start": {
                        "line": 87
                      },
                      "end": {
                        "line": 87
                      }
                    },
                    {
                      "start": {
                        "line": 88
                      },
                      "end": {
                        "line": 88
                      }
                    }
                  ]
                }
              ]
            },
            "step12": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 179
                      },
                      "end": {
                        "line": 179
                      }
                    }
                  ]
                }
              ]
            },
            "step13": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 189
                      },
                      "end": {
                        "line": 189
                      }
                    },
                    {
                      "start": {
                        "line": 190
                      },
                      "end": {
                        "line": 190
                      }
                    },
                    {
                      "start": {
                        "line": 191
                      },
                      "end": {
                        "line": 191
                      }
                    },
                    {
                      "start": {
                        "line": 192
                      },
                      "end": {
                        "line": 192
                      }
                    },
                    {
                      "start": {
                        "line": 193
                      },
                      "end": {
                        "line": 193
                      }
                    },
                    {
                      "start": {
                        "line": 194
                      },
                      "end": {
                        "line": 194
                      }
                    }
                  ]
                }
              ]
            },
            "step14": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 197
                      },
                      "end": {
                        "line": 197
                      }
                    }
                  ]
                }
              ]
            },
            "step2": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 36
                      },
                      "end": {
                        "line": 36
                      }
                    }
                  ]
                }
              ]
            },
            "step3": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 28
                      },
                      "end": {
                        "line": 28
                      }
                    }
                  ]
                }
              ]
            },
            "step4": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 37
                      },
                      "end": {
                        "line": 37
                      }
                    }
                  ]
                }
              ]
            },
            "step5": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 38
                      },
                      "end": {
                        "line": 38
                      }
                    },
                    {
                      "start": {
                        "line": 39
                      },
                      "end": {
                        "line": 39
                      }
                    },
                    {
                      "start": {
                        "line": 40
                      },
                      "end": {
                        "line": 40
                      }
                    },
                    {
                      "start": {
                        "line": 41
                      },
                      "end": {
                        "line": 41
                      }
                    },
                    {
                      "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
                      }
                    }
                  ]
                }
              ]
            },
            "step6": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 47
                      },
                      "end": {
                        "line": 47
                      }
                    }
                  ]
                }
              ]
            },
            "step7": {},
            "step8": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 51
                      },
                      "end": {
                        "line": 51
                      }
                    }
                  ]
                }
              ]
            },
            "step9": {
              "locations": [
                {
                  "ranges": [
                    {
                      "start": {
                        "line": 52
                      },
                      "end": {
                        "line": 52
                      }
                    },
                    {
                      "start": {
                        "line": 53
                      },
                      "end": {
                        "line": 53
                      }
                    },
                    {
                      "start": {
                        "line": 54
                      },
                      "end": {
                        "line": 54
                      }
                    }
                  ]
                }
              ]
            }
          },
          "infos": [
            {
              "filename": "Dockerfile",
              "language": "Dockerfile",
              "data": "IyBzeW50YXg9ZG9ja2VyL2RvY2tlcmZpbGU6MQoKCiMgICBDb3B5cmlnaHQgMjAyMCBEb2NrZXIgQ29tcG9zZSBDTEkgYXV0aG9ycwoKIyAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSAiTGljZW5zZSIpOwojICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLgojICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0CgojICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMAoKIyAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmUKIyAgIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuICJBUyBJUyIgQkFTSVMsCiMgICBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC4KIyAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmQKIyAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLgoKQVJHIEdPX1ZFUlNJT049MS4yMy44CkFSRyBYWF9WRVJTSU9OPTEuNi4xCkFSRyBHT0xBTkdDSV9MSU5UX1ZFUlNJT049djIuMC4yCkFSRyBBRERMSUNFTlNFX1ZFUlNJT049djEuMC4wCgpBUkcgQlVJTERfVEFHUz0iZTJlIgpBUkcgRE9DU19GT1JNQVRTPSJtZCx5YW1sIgpBUkcgTElDRU5TRV9GSUxFUz0iLipcKERvY2tlcmZpbGVcfE1ha2VmaWxlXHxcLmdvXHxcLmhjbFx8XC5zaFwpIgoKIyB4eCBpcyBhIGhlbHBlciBmb3IgY3Jvc3MtY29tcGlsYXRpb24KRlJPTSAtLXBsYXRmb3JtPSR7QlVJTERQTEFURk9STX0gdG9uaXN0aWlnaS94eDoke1hYX1ZFUlNJT059IEFTIHh4CgojIG9zeGNyb3NzIGNvbnRhaW5zIHRoZSBNYWNPU1ggY3Jvc3MgdG9vbGNoYWluIGZvciB4eApGUk9NIGNyYXp5bWF4L29zeGNyb3NzOjExLjMtYWxwaW5lIEFTIG9zeGNyb3NzCgpGUk9NIGdvbGFuZ2NpL2dvbGFuZ2NpLWxpbnQ6JHtHT0xBTkdDSV9MSU5UX1ZFUlNJT059LWFscGluZSBBUyBnb2xhbmdjaS1saW50CkZST00gZ2hjci5pby9nb29nbGUvYWRkbGljZW5zZToke0FERExJQ0VOU0VfVkVSU0lPTn0gQVMgYWRkbGljZW5zZQoKRlJPTSAtLXBsYXRmb3JtPSR7QlVJTERQTEFURk9STX0gZ29sYW5nOiR7R09fVkVSU0lPTn0tYWxwaW5lIEFTIGJhc2UKQ09QWSAtLWZyb209eHggLyAvClJVTiBhcGsgYWRkIC0tbm8tY2FjaGUgXAogICAgICBjbGFuZyBcCiAgICAgIGRvY2tlciBcCiAgICAgIGZpbGUgXAogICAgICBmaW5kdXRpbHMgXAogICAgICBnaXQgXAogICAgICBtYWtlIFwKICAgICAgcHJvdG9jIFwKICAgICAgcHJvdG9idWYtZGV2CldPUktESVIgL3NyYwpFTlYgQ0dPX0VOQUJMRUQ9MAoKRlJPTSBiYXNlIEFTIGJ1aWxkLWJhc2UKQ09QWSBnby4qIC4KUlVOIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L2dvL3BrZy9tb2QgXAogICAgLS1tb3VudD10eXBlPWNhY2hlLHRhcmdldD0vcm9vdC8uY2FjaGUvZ28tYnVpbGQgXAogICAgZ28gbW9kIGRvd25sb2FkCgpGUk9NIGJ1aWxkLWJhc2UgQVMgdmVuZG9yZWQKUlVOIC0tbW91bnQ9dHlwZT1iaW5kLHRhcmdldD0uLHJ3IFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L2dvL3BrZy9tb2QgXAogICAgZ28gbW9kIHRpZHkgJiYgbWtkaXIgL291dCAmJiBjcCBnby5tb2QgZ28uc3VtIC9vdXQKCkZST00gc2NyYXRjaCBBUyB2ZW5kb3ItdXBkYXRlCkNPUFkgLS1mcm9tPXZlbmRvcmVkIC9vdXQgLwoKRlJPTSB2ZW5kb3JlZCBBUyB2ZW5kb3ItdmFsaWRhdGUKUlVOIC0tbW91bnQ9dHlwZT1iaW5kLHRhcmdldD0uLHJ3IDw8RU9UCiAgc2V0IC1lCiAgZ2l0IGFkZCAtQQogIGNwIC1yZiAvb3V0LyogLgogIGRpZmY9JChnaXQgc3RhdHVzIC0tcG9yY2VsYWluIC0tIGdvLm1vZCBnby5zdW0pCiAgaWYgWyAtbiAiJGRpZmYiIF07IHRoZW4KICAgIGVjaG8gPiYyICdFUlJPUjogVmVuZG9yIHJlc3VsdCBkaWZmZXJzLiBQbGVhc2UgdmVuZG9yIHlvdXIgcGFja2FnZSB3aXRoICJtYWtlIGdvLW1vZC10aWR5IicKICAgIGVjaG8gIiRkaWZmIgogICAgZXhpdCAxCiAgZmkKRU9UCgpGUk9NIGJ1aWxkLWJhc2UgQVMgYnVpbGQKQVJHIEJVSUxEX1RBR1MKQVJHIEJVSUxEX0ZMQUdTCkFSRyBUQVJHRVRQTEFURk9STQpSVU4gLS1tb3VudD10eXBlPWJpbmQsdGFyZ2V0PS4gXAogICAgLS1tb3VudD10eXBlPWNhY2hlLHRhcmdldD0vcm9vdC8uY2FjaGUgXAogICAgLS1tb3VudD10eXBlPWNhY2hlLHRhcmdldD0vZ28vcGtnL21vZCBcCiAgICAtLW1vdW50PXR5cGU9YmluZCxmcm9tPW9zeGNyb3NzLHNyYz0vb3N4c2RrLHRhcmdldD0veHgtc2RrIFwKICAgIHh4LWdvIC0td3JhcCAmJiBcCiAgICBpZiBbICIkKHh4LWluZm8gb3MpIiA9PSAiZGFyd2luIiBdOyB0aGVuIGV4cG9ydCBDR09fRU5BQkxFRD0xOyBmaSAmJiBcCiAgICBtYWtlIGJ1aWxkIEdPX0JVSUxEVEFHUz0iJEJVSUxEX1RBR1MiIERFU1RESVI9L291dCAmJiBcCiAgICB4eC12ZXJpZnkgLS1zdGF0aWMgL291dC9kb2NrZXItY29tcG9zZQoKRlJPTSBidWlsZC1iYXNlIEFTIGxpbnQKQVJHIEJVSUxEX1RBR1MKRU5WIEdPTEFOR0NJX0xJTlRfQ0FDSEU9L2NhY2hlL2dvbGFuZ2NpLWxpbnQKUlVOIC0tbW91bnQ9dHlwZT1iaW5kLHRhcmdldD0uIFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L3Jvb3QvLmNhY2hlIFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L2dvL3BrZy9tb2QgXAogICAgLS1tb3VudD10eXBlPWNhY2hlLHRhcmdldD0vY2FjaGUvZ29sYW5nY2ktbGludCBcCiAgICAtLW1vdW50PWZyb209Z29sYW5nY2ktbGludCxzb3VyY2U9L3Vzci9iaW4vZ29sYW5nY2ktbGludCx0YXJnZXQ9L3Vzci9iaW4vZ29sYW5nY2ktbGludCBcCiAgICBnb2xhbmdjaS1saW50IGNhY2hlIHN0YXR1cyAmJiBcCiAgICBnb2xhbmdjaS1saW50IHJ1biAtLWJ1aWxkLXRhZ3MgIiRCVUlMRF9UQUdTIiAuLy4uLgoKRlJPTSBidWlsZC1iYXNlIEFTIHRlc3QKQVJHIENHT19FTkFCTEVEPTAKQVJHIEJVSUxEX1RBR1MKUlVOIC0tbW91bnQ9dHlwZT1iaW5kLHRhcmdldD0uIFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L3Jvb3QvLmNhY2hlIFwKICAgIC0tbW91bnQ9dHlwZT1jYWNoZSx0YXJnZXQ9L2dvL3BrZy9tb2QgXAogICAgcm0gLXJmIC90bXAvY292ZXJhZ2UgJiYgXAogICAgbWtkaXIgLXAgL3RtcC9jb3ZlcmFnZSAmJiBcCiAgICBybSAtcmYgL3RtcC9yZXBvcnQgJiYgXAogICAgbWtkaXIgLXAgL3RtcC9yZXBvcnQgJiYgXAogICAgZ28gcnVuIGdvdGVzdC50b29scy9nb3Rlc3RzdW1AbGF0ZXN0IC0tZm9ybWF0IHRlc3RuYW1lIC0tanVuaXRmaWxlICIvdG1wL3JlcG9ydC9yZXBvcnQueG1sIiAtLSAtdGFncyAiJEJVSUxEX1RBR1MiIC12IC1jb3ZlciAtY292ZXJtb2RlPWF0b21pYyAkKGdvIGxpc3QgICQoVEFHUykgLi8uLi4gfCBncmVwIC12RSAnZTJlJykgLWFyZ3MgLXRlc3QuZ29jb3ZlcmRpcj0iL3RtcC9jb3ZlcmFnZSIgJiYgXAogICAgZ28gdG9vbCBjb3ZkYXRhIHBlcmNlbnQgLWk9L3RtcC9jb3ZlcmFnZQoKRlJPTSBzY3JhdGNoIEFTIHRlc3QtY292ZXJhZ2UKQ09QWSAtLWZyb209dGVzdCAtLWxpbmsgL3RtcC9jb3ZlcmFnZSAvCkNPUFkgLS1mcm9tPXRlc3QgLS1saW5rIC90bXAvcmVwb3J0IC8KCkZST00gYmFzZSBBUyBsaWNlbnNlLXNldApBUkcgTElDRU5TRV9GSUxFUwpSVU4gLS1tb3VudD10eXBlPWJpbmQsdGFyZ2V0PS4scncgXAogICAgLS1tb3VudD1mcm9tPWFkZGxpY2Vuc2Usc291cmNlPS9hcHAvYWRkbGljZW5zZSx0YXJnZXQ9L3Vzci9iaW4vYWRkbGljZW5zZSBcCiAgICBmaW5kIC4gLXJlZ2V4ICIke0xJQ0VOU0VfRklMRVN9IiB8IHhhcmdzIGFkZGxpY2Vuc2UgLWMgJ0RvY2tlciBDb21wb3NlIENMSScgLWwgYXBhY2hlICYmIFwKICAgIG1rZGlyIC9vdXQgJiYgXAogICAgZmluZCAuIC1yZWdleCAiJHtMSUNFTlNFX0ZJTEVTfSIgfCBjcGlvIC1wZG0gL291dAoKRlJPTSBzY3JhdGNoIEFTIGxpY2Vuc2UtdXBkYXRlCkNPUFkgLS1mcm9tPXNldCAvb3V0IC8KCkZST00gYmFzZSBBUyBsaWNlbnNlLXZhbGlkYXRlCkFSRyBMSUNFTlNFX0ZJTEVTClJVTiAtLW1vdW50PXR5cGU9YmluZCx0YXJnZXQ9LiBcCiAgICAtLW1vdW50PWZyb209YWRkbGljZW5zZSxzb3VyY2U9L2FwcC9hZGRsaWNlbnNlLHRhcmdldD0vdXNyL2Jpbi9hZGRsaWNlbnNlIFwKICAgIGZpbmQgLiAtcmVnZXggIiR7TElDRU5TRV9GSUxFU30iIHwgeGFyZ3MgYWRkbGljZW5zZSAtY2hlY2sgLWMgJ0RvY2tlciBDb21wb3NlIENMSScgLWwgYXBhY2hlIC1pZ25vcmUgdmFsaWRhdGUgLWlnbm9yZSB0ZXN0ZGF0YSAtaWdub3JlIHJlc29sdmVwYXRoIC12CgpGUk9NIGJhc2UgQVMgZG9jc2dlbgpXT1JLRElSIC9zcmMKUlVOIC0tbW91bnQ9dGFyZ2V0PS4gXAogICAgLS1tb3VudD10YXJnZXQ9L3Jvb3QvLmNhY2hlLHR5cGU9Y2FjaGUgXAogICAgLS1tb3VudD10eXBlPWNhY2hlLHRhcmdldD0vZ28vcGtnL21vZCBcCiAgICBnbyBidWlsZCAtbyAvb3V0L2RvY3NnZW4gLi9kb2NzL3lhbWwvbWFpbi9nZW5lcmF0ZS5nbwoKRlJPTSAtLXBsYXRmb3JtPSR7QlVJTERQTEFURk9STX0gYWxwaW5lIEFTIGRvY3MtYnVpbGQKUlVOIGFwayBhZGQgLS1uby1jYWNoZSByc3luYyBnaXQKV09SS0RJUiAvc3JjCkNPUFkgLS1mcm9tPWRvY3NnZW4gL291dC9kb2NzZ2VuIC91c3IvYmluCkFSRyBET0NTX0ZPUk1BVFMKUlVOIC0tbW91bnQ9dGFyZ2V0PS9jb250ZXh0IFwKICAgIC0tbW91bnQ9dGFyZ2V0PS4sdHlwZT10bXBmcyA8PEVPVAogIHNldCAtZQogIHJzeW5jIC1hIC9jb250ZXh0Ly4gLgogIGRvY3NnZW4gLS1mb3JtYXRzICIkRE9DU19GT1JNQVRTIiAtLXNvdXJjZSAiZG9jcy9yZWZlcmVuY2UiCiAgbWtkaXIgL291dAogIGNwIC1yIGRvY3MvcmVmZXJlbmNlIC9vdXQKRU9UCgpGUk9NIHNjcmF0Y2ggQVMgZG9jcy11cGRhdGUKQ09QWSAtLWZyb209ZG9jcy1idWlsZCAvb3V0IC9vdXQKCkZST00gZG9jcy1idWlsZCBBUyBkb2NzLXZhbGlkYXRlClJVTiAtLW1vdW50PXRhcmdldD0vY29udGV4dCBcCiAgICAtLW1vdW50PXRhcmdldD0uLHR5cGU9dG1wZnMgPDxFT1QKICBzZXQgLWUKICByc3luYyAtYSAvY29udGV4dC8uIC4KICBnaXQgYWRkIC1BCiAgcm0gLXJmIGRvY3MvcmVmZXJlbmNlLyoKICBjcCAtcmYgL291dC8qIC4vZG9jcy8KICBpZiBbIC1uICIkKGdpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS0gZG9jcy9yZWZlcmVuY2UpIiBdOyB0aGVuCiAgICBlY2hvID4mMiAnRVJST1I6IERvY3MgcmVzdWx0IGRpZmZlcnMuIFBsZWFzZSB1cGRhdGUgd2l0aCAibWFrZSBkb2NzIicKICAgIGdpdCBzdGF0dXMgLS1wb3JjZWxhaW4gLS0gZG9jcy9yZWZlcmVuY2UKICAgIGV4aXQgMQogIGZpCkVPVAoKRlJPTSBzY3JhdGNoIEFTIGJpbmFyeS11bml4CkNPUFkgLS1saW5rIC0tZnJvbT1idWlsZCAvb3V0L2RvY2tlci1jb21wb3NlIC8KRlJPTSBiaW5hcnktdW5peCBBUyBiaW5hcnktZGFyd2luCkZST00gYmluYXJ5LXVuaXggQVMgYmluYXJ5LWxpbnV4CkZST00gc2NyYXRjaCBBUyBiaW5hcnktd2luZG93cwpDT1BZIC0tbGluayAtLWZyb209YnVpbGQgL291dC9kb2NrZXItY29tcG9zZSAvZG9ja2VyLWNvbXBvc2UuZXhlCkZST00gYmluYXJ5LSRUQVJHRVRPUyBBUyBiaW5hcnkKIyBlbmFibGUgc2Nhbm5pbmcgZm9yIHRoaXMgc3RhZ2UKQVJHIEJVSUxES0lUX1NCT01fU0NBTl9TVEFHRT10cnVlCgpGUk9NIC0tcGxhdGZvcm09JEJVSUxEUExBVEZPUk0gYWxwaW5lIEFTIHJlbGVhc2VyCldPUktESVIgL3dvcmsKQVJHIFRBUkdFVE9TCkFSRyBUQVJHRVRBUkNICkFSRyBUQVJHRVRWQVJJQU5UClJVTiAtLW1vdW50PWZyb209YmluYXJ5IFwKICAgIG1rZGlyIC1wIC9vdXQgJiYgXAogICAgIyBUT0RPOiBzaG91bGQganVzdCB1c2Ugc3RhbmRhcmQgYXJjaAogICAgVEFSR0VUQVJDSD0kKFsgIiRUQVJHRVRBUkNIIiA9ICJhbWQ2NCIgXSAmJiBlY2hvICJ4ODZfNjQiIHx8IGVjaG8gIiRUQVJHRVRBUkNIIik7IFwKICAgIFRBUkdFVEFSQ0g9JChbICIkVEFSR0VUQVJDSCIgPSAiYXJtNjQiIF0gJiYgZWNobyAiYWFyY2g2NCIgfHwgZWNobyAiJFRBUkdFVEFSQ0giKTsgXAogICAgY3AgZG9ja2VyLWNvbXBvc2UqICIvb3V0L2RvY2tlci1jb21wb3NlLSR7VEFSR0VUT1N9LSR7VEFSR0VUQVJDSH0ke1RBUkdFVFZBUklBTlR9JChscyBkb2NrZXItY29tcG9zZSogfCBzZWQgLWUgJ3MvXmRvY2tlci1jb21wb3NlLy8nKSIKCkZST00gc2NyYXRjaCBBUyByZWxlYXNlCkNPUFkgLS1mcm9tPXJlbGVhc2VyIC9vdXQvIC8K",
              "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": {}
                  },
                  "inputs": [
                    "step0:0"
                  ]
                }
              ],
              "digestMapping": {
                "sha256:3a8122303b2e8835e523c367531f2481839c64e0b7ed3f45549ac674a8e2e587": "step1",
                "sha256:ecba2732f0fac42feb61b2a84395a070ffa058be134bf1364c89fb7be1aa4b53": "step0"
              }
            }
          ]
        },
        "layers": {
          "step10:0": [
            [
              {
                "mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",
                "digest": "sha256:0928efacd97d6448ace1043bd18e02671e88b00ad84b9f420ae81b593dadb462",
                "size": 170
              }
            ]
          ],
          "step1:0": [
            [
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:fe07684b16b82247c3539ed86a65ff37a76138ec25d380bd80c869a1a4c73236",
                "size": 3796846
              },
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:9e460fffdf7a13f4a6acd55e4c969c0b6bb9893863547b107b5a4420b3cd5850",
                "size": 94
              }
            ]
          ],
          "step2:0": [
            [
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:f18232174bc91741fdf3da96d85011092101a032a93a388b79e99e69c2d5c870",
                "size": 3642247
              },
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:7a6ff827c8892e8204aa182819ee79f83a82a20872414e9165e425084cd97020",
                "size": 294893
              },
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:70eabb1d9476e2a74ca18f982fa2cd1a722047e0ac01f746221f76c65893fe80",
                "size": 74057106
              },
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:849d4d456ba942c2e931336145571e5763d6ad35ced95ecfd3c27f3c5c1b059e",
                "size": 126
              },
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1",
                "size": 32
              }
            ]
          ],
          "step3:0": [
            [
              {
                "mediaType": "application/vnd.oci.image.layer.v1.tar+gzip",
                "digest": "sha256:6390c9e16af5a0bcbc5949cfa9e220778ff9a6728ea5d6afc1692616c6d9564b",
                "size": 17019
              }
            ]
          ]
        }
      }
    }
  }
}