all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    ubuntu-noble-large:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe10:9b6d
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: cd301629-b020-446b-a35a-cac87b4dbb8b
        host_id: 39b0ac6b1bd0318d0940af02f75334312eeed4057396383c275283da
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe10:9b6d
        label: ubuntu-noble-large
        node_properties: {}
        private_ipv4: 10.128.0.99
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.192.46
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe10:9b6d
        region: null
        slot: null
      upload_image: false
  vars:
    upload_image: false
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job ci-image-build explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/ci-image/.zuul.yaml@main#32>'
      - '<Job ci-image-build explicit: None implied: None source: osism/ci-image/.zuul.yaml@main#57>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 880ec825a75e4278a0269ef8b8936837
      build_refs:
      - branch: main
        change: '57'
        change_message: "chore(deps): update dependency moby/moby to v28\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [moby/moby](https://redirect.github.com/moby/moby) | major | `27.5.1` ->
          `28.2.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>moby/moby
          (moby/moby)</summary>\n\n### [`v28.2.0`](https://redirect.github.com/moby/moby/releases/tag/v28.2.0):
          28.2.0\n\n[Compare Source](https://redirect.github.com/moby/moby/compare/v28.1.1...v28.2.0)\n\n####
          28.2.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.2.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  [moby/moby, 28.2.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.2.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.2.0/docs/api/version-history.md).\n\n>
          \\[!NOTE]\n> RHEL packages are currently not available and will be released
          later.\n\n##### New\n\n-   Add `{{.Platform}}` as formatting option for
          `docker ps` to show the platform of the image the container is running.
          [docker/cli#6042](https://redirect.github.com/docker/cli/pull/6042)\n-   Add
          support for relative parent paths (`../`) on bind mount sources when using
          `docker run/create` with `-v/--volume` or `--mount type=bind` options. [docker/cli#4966](https://redirect.github.com/docker/cli/pull/4966)\n-
          \  CDI is now enabled by default. [moby/moby#49963](https://redirect.github.com/moby/moby/pull/49963)\n-
          \  Show discovered CDI devices in `docker info`. [docker/cli#6078](https://redirect.github.com/docker/cli/pull/6078)\n-
          \  `docker image rm`: add `--platform` option to remove a variant from multi-platform
          images. [docker/cli#6109](https://redirect.github.com/docker/cli/pull/6109)\n-
          \  containerd image store: Initial BuildKit support for building Windows
          container images on Windows (requires an opt-in with `DOCKER_BUILDKIT=1`).
          [moby/moby#49740](https://redirect.github.com/moby/moby/pull/49740)\n\n#####
          Bug fixes and enhancements\n\n-   Add a new log option for fluentd log driver
          (`fluentd-write-timeout`), which enables specifying write timeouts for fluentd
          connections. [moby/moby#49911](https://redirect.github.com/moby/moby/pull/49911)\n-
          \  Add support for `DOCKER_AUTH_CONFIG` for the experimental `--use-api-socket`
          option. [docker/cli#6019](https://redirect.github.com/docker/cli/pull/6019)\n-
          \  Fix `docker exec` waiting for 10 seconds if a non-existing user or group
          was specified. [moby/moby#49868](https://redirect.github.com/moby/moby/pull/49868)\n-
          \  Fix `docker swarm init` ignoring `cacert` option of `--external-ca`.
          [docker/cli#5995](https://redirect.github.com/docker/cli/pull/5995)\n-   Fix
          an issue where the CLI would not correctly save the configuration file (`~/.docker/config.json`)
          if it was a relative symbolic link. [docker/cli#5282](https://redirect.github.com/docker/cli/pull/5282)\n-
          \  Fix containers with `--restart always` policy using CDI devices failing
          to start on daemon restart. [moby/moby#49990](https://redirect.github.com/moby/moby/pull/49990)\n-
          \  Fix shell-completion to only complete some flags once, even though they
          can be set multiple times. [docker/cli#6030](https://redirect.github.com/docker/cli/pull/6030)\n-
          \  Fix the `plugin does not implement PluginAddr interface` error for Swarm
          CSI drivers. [moby/moby#49961](https://redirect.github.com/moby/moby/pull/49961)\n-
          \  Improve `docker login` error messages for invalid options. [docker/cli#6036](https://redirect.github.com/docker/cli/pull/6036)\n-
          \  Make sure the terminal state is restored if the CLI is forcefully terminated.
          [docker/cli#6058](https://redirect.github.com/docker/cli/pull/6058)\n-   Update
          the default seccomp profile to match the libseccomp v2.6.0. The new syscalls
          are: `listmount`, `statmount`, `lsm_get_self_attr`, `lsm_list_modules`,
          `lsm_set_self_attr`, `mseal`, `uretprobe`, `riscv_hwprobe`, `getxattrat`,
          `listxattrat`, `removexattrat`, and `setxattrat`. This prevents containers
          from receiving EPERM errors when using them. [moby/moby#50077](https://redirect.github.com/moby/moby/pull/50077)\n-
          \  `docker inspect`: add shell completion, improve flag-description for
          `--type` and improve validation. [docker/cli#6052](https://redirect.github.com/docker/cli/pull/6052)\n-
          \  containerd image store: Enable BuildKit garbage collector by default.
          [moby/moby#49899](https://redirect.github.com/moby/moby/pull/49899)\n-   containerd
          image store: Fix `docker build` not persisting overridden images as dangling.
          [moby/moby#49702](https://redirect.github.com/moby/moby/pull/49702)\n-   containerd
          image store: Fix `docker system df` reporting a negative reclaimable space
          amount. [moby/moby#49707](https://redirect.github.com/moby/moby/pull/49707)\n-
          \  containerd image store: Fix duplicate `PUT` requests when pushing a multi-platform
          image. [moby/moby#49949](https://redirect.github.com/moby/moby/pull/49949)\n\n#####
          Packaging updates\n\n-   Drop Ubuntu 20.04 \"Focal\" packages as it reached
          end of life. [docker/docker-ce-packaging#1200](https://redirect.github.com/docker/docker-ce-packaging/pull/1200)\n-
          \  Fix install location for RPM-based `docker-ce` man-pages. [docker/docker-ce-packaging#1203](https://redirect.github.com/docker/docker-ce-packaging/pull/1203)\n-
          \  Update BuildKit to [v0.22.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.22.0).
          [moby/moby#50046](https://redirect.github.com/moby/moby/pull/50046)\n-   Update
          Buildx to [v0.24.0](https://redirect.github.com/docker/buildx/releases/tag/v0.24.0).
          [docker/docker-ce-packaging#1205](https://redirect.github.com/docker/docker-ce-packaging/pull/1205)\n-
          \  Update Compose to [v2.36.2](https://redirect.github.com/docker/compose/releases/tag/v2.36.2).
          [docker/docker-ce-packaging#1208](https://redirect.github.com/docker/docker-ce-packaging/pull/1208)\n-
          \  Update Go runtime to [1.24.3](https://go.dev/doc/devel/release#go1.24.3).
          [docker/docker-ce-packaging#1192](https://redirect.github.com/docker/docker-ce-packaging/pull/1192),
          [docker/cli#6060](https://redirect.github.com/docker/cli/pull/6060), [moby/moby#49174](https://redirect.github.com/moby/moby/pull/49174)\n\n#####
          Networking\n\n-   Add bridge network option `\"com.docker.network.bridge.trusted_host_interfaces\"`,
          accepting a space-separated list of interface names. These interfaces have
          direct access to published ports on container IP addresses. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Add daemon option `\"allow-direct-routing\"` to disable filtering of
          packets from outside the host addressed directly to containers. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Do not display network options `com.docker.network.enable_ipv4` or `com.docker.network.enable_ipv6`
          in inspect output if they have been overridden by `EnableIPv4` or `EnableIPv6`
          in the network create request. [moby/moby#49866](https://redirect.github.com/moby/moby/pull/49866)\n-
          \  Fix an issue that could cause network deletion to fail after a daemon
          restart, with error \"has active endpoints\" listing empty endpoint names.
          [moby/moby#49901](https://redirect.github.com/moby/moby/pull/49901)\n-   Fix
          an issue where `docker network inspect --verbose` could sometimes crash
          the daemon. [moby/moby#49937](https://redirect.github.com/moby/moby/pull/49937)\n-
          \  Fix an issue where the load-balancer IP address for an overlay network
          would not be released in certain cases if the Swarm was lacking an ingress
          network. [moby/moby#49948](https://redirect.github.com/moby/moby/pull/49948)\n-
          \  Improve the reliability of NetworkDB in busy clusters and lossy networks.
          [moby/moby#49932](https://redirect.github.com/moby/moby/pull/49932)\n-   Improvements
          to the reliability and convergence speed of NetworkDB. [moby/moby#49939](https://redirect.github.com/moby/moby/pull/49939)\n\n#####
          API\n\n-   Update API version to `1.50`.\n-   `DELETE /images/{name}` now
          supports a `platforms` query parameter. It accepts an array of JSON-encoded
          OCI Platform objects, allowing for selecting a specific platforms to delete
          content for. [moby/moby#49982](https://redirect.github.com/moby/moby/pull/49982)\n-
          \  `GET /info` now includes a `DiscoveredDevices` field. This is an array
          of `DeviceInfo` objects, each providing details about a device discovered
          by a device driver. [moby/moby#49980](https://redirect.github.com/moby/moby/pull/49980)\n\n#####
          Go SDK\n\n-   `api/types/container`: add `ContainerState` and constants
          for container state. [moby/moby#49965](https://redirect.github.com/moby/moby/pull/49965)\n-
          \  `api/types/container`: change `Summary.State` to a `ContainerState`.
          [moby/moby#49991](https://redirect.github.com/moby/moby/pull/49991)\n-   `api/types/container`:
          define `HealthStatus` type for health-status constants. [moby/moby#49876](https://redirect.github.com/moby/moby/pull/49876)\n-
          \  `api/types`: deprecate `BuildResult`, `ImageBuildOptions`, `ImageBuildOutput`,
          `ImageBuildResponse`, `BuilderVersion`, `BuilderV1`, and `BuilderBuildKi`
          which were moved to `api/types/build`. [moby/moby#50025](https://redirect.github.com/moby/moby/pull/50025)\n\n#####
          Deprecations\n\n-   API: Deprecated: `GET /images/{name}/json` no longer
          returns the following fields: `Config`, `Hostname`, `Domainname`, `AttachStdin`,
          `AttachStdout`, `AttachStderr`, `Tty`, `OpenStdin`, `StdinOnce`, `Image`,
          `NetworkDisabled` (already omitted unless set), `MacAddress` (already omitted
          unless set), `StopTimeout` (already omitted unless set). These additional
          fields were included in the response due to an implementation detail but
          not part of the image's Configuration, were marked deprecated in API v1.46,
          and are now omitted. [moby/moby#48457](https://redirect.github.com/moby/moby/pull/48457)\n-
          \  Go-SDK: Deprecate builder/remotecontext.Rel(). This function was needed
          on older versions of Go, but can now be replaced by `filepath.Rel()`. [moby/moby#49843](https://redirect.github.com/moby/moby/pull/49843)\n-
          \  Go-SDK: api/types: deprecate `BuildCachePruneOptions` in favor of `api/types/builder.CachePruneOptions`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `BuildCachePruneReport` in favor of `api/types/builder.CachePruneReport`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `NodeListOptions`, `NodeRemoveOptions`, `ServiceCreateOptions`,
          `ServiceUpdateOptions`, `RegistryAuthFromSpec`, `RegistryAuthFromPreviousSpec`,
          `ServiceListOptions`, `ServiceInspectOptions`, and `SwarmUnlockKeyResponse`
          which were moved to `api/types/swarm`. [moby/moby#50027](https://redirect.github.com/moby/moby/pull/50027)\n-
          \  Go-SDK: api/types: deprecate `SecretCreateResponse`, `SecretListOptions`,
          `ConfigCreateResponse`, `ConfigListOptions` which were moved to api/types/swarm.
          [moby/moby#50024](https://redirect.github.com/moby/moby/pull/50024)\n-   Go-SDK:
          client: deprecate `IsErrNotFound`. [moby/moby#50012](https://redirect.github.com/moby/moby/pull/50012)\n-
          \  Go-SDK: container: deprecate `IsValidHealthString` in favor of `api/types/container.ValidateHealthStatus`.
          [moby/moby#49893](https://redirect.github.com/moby/moby/pull/49893)\n-   Go-SDK:
          container: deprecate `StateStatus`, `WaitCondition`, and the related  `WaitConditionNotRunning`,
          `WaitConditionNextExit`, and `WaitConditionRemoved` consts in favor of their
          equivalents in `api/types/container`. [moby/moby#49874](https://redirect.github.com/moby/moby/pull/49874)\n-
          \  Go-SDK: opts: deprecate `ListOpts.GetAll` in favor of `ListOpts.GetSlice`.
          [docker/cli#6032](https://redirect.github.com/docker/cli/pull/6032)\n-   Remove
          deprecated `IsAutomated` formatting placeholder from `docker search`. [docker/cli#6091](https://redirect.github.com/docker/cli/pull/6091)\n-
          \  Remove fallback for pulling images from non-OCI-compliant `docker.pkg.github.com`
          registry. [moby/moby#50094](https://redirect.github.com/moby/moby/pull/50094)\n-
          \  Remove support for pulling legacy v2, schema 1 images and remove `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`
          environment-variable. [moby/moby#50036](https://redirect.github.com/moby/moby/pull/50036),
          [moby/moby#42300](https://redirect.github.com/moby/moby/pull/42300)\n-   The
          `BridgeNfIptables` and `BridgeNfIp6tables` fields in the `GET /info` response
          were deprecated in API v1.48, and are now omitted in API v1.50. [moby/moby#49904](https://redirect.github.com/moby/moby/pull/49904)\n-
          \  errdefs: Deprecate `errdefs.FromStatusCode`. Use containerd's `errhttp.ToNative`
          instead. [moby/moby#50030](https://redirect.github.com/moby/moby/pull/50030)\n\n###
          [`v28.1.1`](https://redirect.github.com/moby/moby/releases/tag/v28.1.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.1.0...v28.1.1)\n\n####
          28.1.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.1)\n-
          \  [moby/moby, 28.1.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.1)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `dockerd-rootless-setuptool.sh` incorrectly
          reporting missing `iptables`. [moby/moby#49833](https://redirect.github.com/moby/moby/pull/49833)\n-
          \  containerd image store: Fix a potential daemon crash when using `docker
          load` with archives containing zero-size tar headers. [moby/moby#49837](https://redirect.github.com/moby/moby/pull/49837)\n\n#####
          Packaging updates\n\n-   Update Buildx to [v0.23.0](https://redirect.github.com/docker/buildx/releases/tag/v0.23.0).
          [docker/docker-ce-packaging#1185](https://redirect.github.com/docker/docker-ce-packaging/pull/1185)\n-
          \  Update Compose to [v2.35.1](https://redirect.github.com/docker/compose/releases/tag/v2.35.1).
          [docker/docker-ce-packaging#1188](https://redirect.github.com/docker/docker-ce-packaging/pull/1188)\n\n#####
          Networking\n\n-   Add a warning to a container's `/etc/resolv.conf` when
          no upstream DNS servers were found. [moby/moby#49827](https://redirect.github.com/moby/moby/pull/49827)\n\n###
          [`v28.1.0`](https://redirect.github.com/moby/moby/releases/tag/v28.1.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.4...v28.1.0)\n\n####
          28.1.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  [moby/moby, 28.1.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.1.0/docs/api/version-history.md).\n\n#####
          New\n\n-   Add `docker bake` sub-command as alias for `docker buildx bake`.
          [docker/cli#5947](https://redirect.github.com/docker/cli/pull/5947)\n-   Experimental:
          add a new `--use-api-socket` flag on `docker run` and `docker create` to
          enable access to Docker socket from inside a container and to share credentials
          from the host with the container. [docker/cli#5858](https://redirect.github.com/docker/cli/pull/5858)\n-
          \  `docker image inspect` now supports a `--platform` flag to inspect a
          specific platform of a multi-platform image. [docker/cli#5934](https://redirect.github.com/docker/cli/pull/5934)\n\n#####
          Bug fixes and enhancements\n\n-   Add CLI shell-completion for context names.
          [docker/cli#6016](https://redirect.github.com/docker/cli/pull/6016)\n-   Fix
          `docker images --tree` not including non-container images content size in
          the total image content size. [docker/cli#6000](https://redirect.github.com/docker/cli/pull/6000)\n-
          \  Fix `docker load` not preserving replaced images. [moby/moby#49650](https://redirect.github.com/moby/moby/pull/49650)\n-
          \  Fix `docker login` hints when logging in to a custom registry. [docker/cli#6015](https://redirect.github.com/docker/cli/pull/6015)\n-
          \  Fix `docker stats` not working properly on machines with high CPU core
          count. [moby/moby#49734](https://redirect.github.com/moby/moby/pull/49734)\n-
          \  Fix a regression causing `docker pull/push` to fail when interacting
          with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n-
          \  Fix an issue preventing rootless Docker setup on a host with no `ip_tables`
          kernel module. [moby/moby#49727](https://redirect.github.com/moby/moby/pull/49727)\n-
          \  Fix an issue that could lead to unwanted iptables rules being restored
          and never deleted following a firewalld reload. [moby/moby#49728](https://redirect.github.com/moby/moby/pull/49728)\n-
          \  Improve CLI completion of `docker service scale`. [docker/cli#5968](https://redirect.github.com/docker/cli/pull/5968)\n-
          \  `docker images --tree` now hides both untagged and dangling images by
          default. [docker/cli#5924](https://redirect.github.com/docker/cli/pull/5924)\n-
          \  `docker system info` will provide an exit code if a connection cannot
          be established to the Docker daemon. [docker/cli#5918](https://redirect.github.com/docker/cli/pull/5918)\n-
          \  containerd image store: Fix `image tag` event not being emitted when
          building with BuildKit. [moby/moby#49678](https://redirect.github.com/moby/moby/pull/49678)\n-
          \  containerd image store: Improve `docker push/pull` handling of remote
          registry errors. [moby/moby#49770](https://redirect.github.com/moby/moby/pull/49770)\n-
          \  containerd image store: Show pull progress for non-layer image blobs.
          [moby/moby#49746](https://redirect.github.com/moby/moby/pull/49746)\n\n#####
          Packaging updates\n\n-   Add Debian \"Trixie\" packages. [docker/docker-ce-packaging#1181](https://redirect.github.com/docker/docker-ce-packaging/pull/1181)\n-
          \  Add Fedora 42 packages. [docker/containerd-packaging#418](https://redirect.github.com/docker/containerd-packaging/pull/418),
          [docker/docker-ce-packaging#1169](https://redirect.github.com/docker/docker-ce-packaging/pull/1169)\n-
          \  Add Ubuntu 25.04 \"Plucky Puffin\" packages. [docker/containerd-packaging#419](https://redirect.github.com/docker/containerd-packaging/pull/419),
          [docker/docker-ce-packaging#1177](https://redirect.github.com/docker/docker-ce-packaging/pull/1177)\n-
          \  Update BuildKit to [v0.21.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.21.0).
          [moby/moby#49809](https://redirect.github.com/moby/moby/pull/49809)\n-   Update
          Compose to [v2.35.0](https://redirect.github.com/docker/compose/releases/tag/v2.35.0).
          [docker/docker-ce-packaging#1183](https://redirect.github.com/docker/docker-ce-packaging/pull/1183)\n-
          \  Update Go runtime to [1.23.8](https://go.dev/doc/devel/release#go1.23.8).
          [docker/cli#5986](https://redirect.github.com/docker/cli/pull/5986), [docker/docker-ce-packaging#1180](https://redirect.github.com/docker/docker-ce-packaging/pull/1180),
          [moby/moby#49737](https://redirect.github.com/moby/moby/pull/49737)\n\n#####
          Networking\n\n-   Fix a bug causing host port-mappings on Swarm containers
          to be duplicated on `docker ps` and `docker inspect`. [moby/moby#49724](https://redirect.github.com/moby/moby/pull/49724)\n-
          \  Fix an issue that caused container network attachment to fail with error
          \"Bridge port not forwarding\". [moby/moby#49705](https://redirect.github.com/moby/moby/pull/49705)\n-
          \  Fix an issue with removal of a `--link` from a container in the default
          bridge network. [moby/moby#49778](https://redirect.github.com/moby/moby/pull/49778)\n-
          \  Improve how network-endpoint relationships are tracked to reduce the
          chance of the \"has active endpoints\" error to be wrongfully returned.
          [moby/moby#49736](https://redirect.github.com/moby/moby/pull/49736)\n-   Improve
          the \"has active endpoints\" error message by including the name of endpoints
          still connected to the network being deleted. [moby/moby#49773](https://redirect.github.com/moby/moby/pull/49773)\n\n#####
          API\n\n-   Update API version to [v1.49](https://docs.docker.com/engine/api/v1.49/).
          [moby/moby#49718](https://redirect.github.com/moby/moby/pull/49718)\n-   `GET
          /image/{name}/json` now supports a `platform` parameter allowing to specify
          which platform variant of a multi-platform image to inspect. [moby/moby#49586](https://redirect.github.com/moby/moby/pull/49586)\n-
          \  `GET /info` now returns a `FirewallBackend` containing information about
          the daemon's firewalling configuration. [moby/moby#49761](https://redirect.github.com/moby/moby/pull/49761)\n\n#####
          Go SDK\n\n-   Update minimum required Go version to go1.23. [docker/cli#5868](https://redirect.github.com/docker/cli/pull/5868)\n-
          \  cli/command/context: remove temporary `ContextType` field from JSON output.
          [docker/cli#5981](https://redirect.github.com/docker/cli/pull/5981)\n-   client:
          Keep image references in canonical format where possible. [moby/moby#49609](https://redirect.github.com/moby/moby/pull/49609)\n\n#####
          Deprecations\n\n-   API: Deprecated `AllowNondistributableArtifactsCIDRs`
          and `AllowNondistributableArtifactsHostnames` fields in the `RegistryConfig`
          struct in the `GET /info` response are omitted in API v1.49. [moby/moby#49749](https://redirect.github.com/moby/moby/pull/49749)\n-
          \  API: Deprecated: The `ContainerdCommit.Expected`, `RuncCommit.Expected`,
          and `InitCommit.Expected` fields in the `GET /info` endpoint were deprecated
          in API v1.48, and are now omitted in API v1.49. [moby/moby#48556](https://redirect.github.com/moby/moby/pull/48556)\n-
          \  Go-SDK: cli/command/image: Deprecate `RunPull`: this function was only
          used internally and will be removed in the next release. [docker/cli#5975](https://redirect.github.com/docker/cli/pull/5975)\n-
          \  Go-SDK: cli/config/configfile: deprecate `ConfigFile.Experimental` field.
          Experimental CLI features are always enabled since version v20.10 and this
          field is no longer used. Use `ConfigFile.Features` instead for optional
          features. This field will be removed in a future release. [docker/cli#5977](https://redirect.github.com/docker/cli/pull/5977)\n-
          \  Go-SDK: deprecate `pkg/archive`, which was migrated to `github.com/moby/go-archive`.
          [moby/moby#49743](https://redirect.github.com/moby/moby/pull/49743)\n-   Go-SDK:
          deprecate `pkg/atomicwriter`, which was migrated to `github.com/moby/sys/atomicwriter`.
          [moby/moby#49748](https://redirect.github.com/moby/moby/pull/49748)\n-   Go-SDK:
          opts: remove deprecated `PortOpt`, `ConfigOpt`, `SecretOpt` aliases. [docker/cli#5953](https://redirect.github.com/docker/cli/pull/5953)\n-
          \  Go-SDK: registry: deprecate `APIEndpoint.Official` field. [moby/moby#49706](https://redirect.github.com/moby/moby/pull/49706)\n\n###
          [`v28.0.4`](https://redirect.github.com/moby/moby/releases/tag/v28.0.4)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.3...v28.0.4)\n\n####
          28.0.4\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.4 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.4)\n-
          \  [moby/moby, 28.0.4 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.4)\n\n#####
          Bug fixes and enhancements\n\n-   Fix a regression causing `docker pull/push`
          to fail when interacting with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n\n###
          [`v28.0.3`](https://redirect.github.com/moby/moby/releases/tag/v28.0.3)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.2...v28.0.3)\n\n####
          28.0.3\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.3 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.3)\n-
          \  [moby/moby, 28.0.3 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.3)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `docker run` truncating the `STDOUT`/`STDERR`
          prematurely when the container exits before the data is consumed. [docker/cli#5957](https://redirect.github.com/docker/cli/pull/5957)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.2](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.2).
          [moby/moby#49698](https://redirect.github.com/moby/moby/pull/49698)\n-   Update
          `runc` to [v1.2.6](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.6)
          (static packages only). [moby/moby#49682](https://redirect.github.com/moby/moby/pull/49682)\n-
          \  Update containerd to [v1.7.26](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.26).
          [docker/containerd-packaging#409](https://redirect.github.com/docker/containerd-packaging/pull/409)\n\n###
          [`v28.0.2`](https://redirect.github.com/moby/moby/releases/tag/v28.0.2)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.1...v28.0.2)\n\n####
          28.0.2\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.2 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.2)\n-
          \  [moby/moby, 28.0.2 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.2)\n\n#####
          Bug fixes and enhancements\n\n-   Fix CLI-specific attributes (`docker.cli.*`)
          being unintentionally passed to downstream OTel services. [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-
          \  Fix an issue where user-specified `OTEL_RESOURCE_ATTRIBUTES` were being
          overridden by CLI's internal telemetry attributes. The CLI now properly
          merges user-specified attributes with internal ones, allowing both to coexist.
          [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-   Fix
          daemon failing to start on Windows when a container created before v28.0.0
          was present. [moby/moby#49626](https://redirect.github.com/moby/moby/pull/49626)\n-
          \  Fix possible error on `docker buildx prune` with the `--min-free-space`.
          [moby/moby#49623](https://redirect.github.com/moby/moby/pull/49623)\n-   Fix
          spurious `io: read/write on closed pipe` error in the daemon log when closing
          container. [moby/moby#49590](https://redirect.github.com/moby/moby/pull/49590)\n-
          \  Fix the Docker daemon failing too early if the containerd socket isn't
          immediately available. [moby/moby#49603](https://redirect.github.com/moby/moby/pull/49603)\n-
          \  Mask Linux thermal interrupt info in a container's `/proc` and `/sys`
          by default. [moby/moby#49560](https://redirect.github.com/moby/moby/pull/49560)\n-
          \  Update `contrib/check-config.sh` to check for more kernel modules related
          to iptables. [moby/moby#49622](https://redirect.github.com/moby/moby/pull/49622)\n-
          \  containerd image store: Fix integer overflow in User ID handling passed
          via `--user`. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Fix spurious `reference for unknown type: application/vnd.in-toto+json`
          warning being logged to the daemon's log. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Improve performance of `docker ps` when running
          large number of containers. [moby/moby#49365](https://redirect.github.com/moby/moby/pull/49365)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.1](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.1).
          [moby/moby#49587](https://redirect.github.com/moby/moby/pull/49587)\n-   Update
          Buildx to [v0.22.0](https://redirect.github.com/docker/buildx/releases/tag/v0.22.0).
          [docker/docker-ce-packaging#1175](https://redirect.github.com/docker/docker-ce-packaging/pull/1175)\n-
          \  Update Compose to [v2.34.0](https://redirect.github.com/docker/compose/releases/tag/v2.34.0).
          [docker/docker-ce-packaging#1172](https://redirect.github.com/docker/docker-ce-packaging/pull/1172)\n-
          \  Update Go runtime to [1.23.7](https://go.dev/doc/devel/release#go1.23.7).
          [docker/cli#5890](https://redirect.github.com/docker/cli/pull/5890), [docker/docker-ce-packaging#1171](https://redirect.github.com/docker/docker-ce-packaging/pull/1171),
          [moby/moby#49580](https://redirect.github.com/moby/moby/pull/49580)\n-   Update
          RootlessKit to [v2.3.4](https://redirect.github.com/rootless-containers/rootlesskit/releases/tag/v2.3.4).
          [moby/moby#49614](https://redirect.github.com/moby/moby/pull/49614)\n-   Update
          containerd (static binaries only) to [v1.7.27](https://www.github.com/containerd/containerd/releases/tag/v1.7.27).
          [moby/moby#49656](https://redirect.github.com/moby/moby/pull/49656)\n\n#####
          Networking\n\n-   Add environment variable `DOCKER_INSECURE_NO_IPTABLES_RAW=1`
          to allow Docker to run on systems where the Linux kernel can't provide `CONFIG_IP_NF_RAW`
          support. When enabled, Docker will not create rules in the iptables `raw`
          table. Warning: This is not recommended for production environments as it
          reduces security by allowing other hosts on the local network to route to
          ports published to host addresses, even when they are published to `127.0.0.1.`
          This option bypasses some of the security hardening introduced in Docker
          Engine 28.0.0. [moby/moby#49621](https://redirect.github.com/moby/moby/pull/49621)\n-
          \  Allow container startup when an endpoint is attached to a macvlan network
          where the parent interface is down. [moby/moby#49630](https://redirect.github.com/moby/moby/pull/49630)\n-
          \  Do not skip DNAT for packets originating in a gateway_mode=routed network.
          [moby/moby#49577](https://redirect.github.com/moby/moby/pull/49577)\n-   Fix
          a bug causing `docker ps` to inconsistently report dual-stack port mappings.
          [moby/moby#49657](https://redirect.github.com/moby/moby/pull/49657)\n-   Fix
          a bug that could cause `docker-proxy` to stop forwarding UDP datagrams to
          containers. [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n-
          \  Fix a bug that was causing `docker-proxy` to close UDP connections to
          containers eagerly and resulting in the source address to change needlessly.
          [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n\n#####
          Go SDK\n\n-   Move various types and consts from `cli-plugins/manager` to
          a separate package. [docker/cli#5902](https://redirect.github.com/docker/cli/pull/5902)\n-
          \  Update minimum required Go version to go1.23. [moby/moby#49541](https://redirect.github.com/moby/moby/pull/49541)\n-
          \  `cli/command`: Move `PrettyPrint` utility to `cli/command/formatter`.
          [docker/cli#5916](https://redirect.github.com/docker/cli/pull/5916)\n-   runconfig/errors:
          split `ErrConflictHostNetwork` into `ErrConflictConnectToHostNetwork` and
          `ErrConflictDisconnectFromHostNetwork`. [moby/moby#49605](https://redirect.github.com/moby/moby/pull/49605)\n\n#####
          Deprecations\n\n-   Go-SDK: Deprecate `cli-plugins/manager.ResourceAttributesEnvvar`
          constant. It was used internally, but holds the `OTEL_RESOURCE_ATTRIBUTES`
          name, which is part of the OpenTelemetry specification. Users of this constant
          should define their own. It will be removed in the next release. [docker/cli#5881](https://redirect.github.com/docker/cli/pull/5881)\n-
          \  Go-SDK: Deprecate `opts.PortOpt`, `opts.ConfigOpt` and `opts.SecretOpt`.
          These types were moved to the `opts/swarmopts` package. [docker/cli#5907](https://redirect.github.com/docker/cli/pull/5907)\n-
          \  Go-SDK: Remove `service/logs` package. [docker/cli#5910](https://redirect.github.com/docker/cli/pull/5910)\n-
          \  Go-SDK: `cli/command/image`: Deprecate `PushTrustedReference` and move
          to `cli/trust`. [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-
          \  Go-SDK: `cli/command/image`: Deprecate and internalize `TrustedPush`.
          [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.NotaryClient`: use [`trust.GetNotaryRepository`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/trust#GetNotaryRepository)
          instead. This method is no longer used and will be removed in the next release.
          [docker/cli#5885](https://redirect.github.com/docker/cli/pull/5885)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.RegistryClient`. This method was only used
          internally and will be removed in the next release. Use [`client.NewRegistryClient`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/registry/client#NewRegistryClient)
          instead. [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889),
          [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889)\n-   Go-SDK:
          `registry`: Deprecate `RepositoryInfo.Official` field. [moby/moby#49567](https://redirect.github.com/moby/moby/pull/49567)\n-
          \  Go-SDK: `registry`: deprecate `HostCertsDir`: this function was only
          used internally and will be removed in the next release. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n-
          \  Go-SDK: `registry`: deprecate `SetCertsDir`: the cert-directory is now
          automatically selected when running with RootlessKit, and should no longer
          be set manually. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n\n###
          [`v28.0.1`](https://redirect.github.com/moby/moby/releases/tag/v28.0.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.0...v28.0.1)\n\n###
          28.0.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.1)\n-
          \  [moby/moby, 28.0.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.1)\n\n####
          Networking\n\n-   Remove dependency on kernel modules `ip_set`, `ip_set_hash_net`
          and `netfilter_xt_set`.\n    -   The dependency was introduced in release
          28.0.0 but proved too disruptive. The iptables rules using these modules
          have been replaced. [moby/moby#49530](https://redirect.github.com/moby/moby/pull/49530)\n-
          \  Allow daemon startup on a host with IPv6 disabled without requiring `--ip6tables=false`.
          [moby/moby#49525](https://redirect.github.com/moby/moby/pull/49525)\n-   Fix
          a bug that was causing containers with `--restart=always` and a published
          port already in use to restart in a tight loop. [moby/moby#49507](https://redirect.github.com/moby/moby/pull/49507)\n-
          \  Fix an issue with Swarm ingress, caused by incorrect ordering of iptables
          rules. [moby/moby#49538](https://redirect.github.com/moby/moby/pull/49538)\n-
          \  Fix creation of a swarm-scoped network from a `--config-only` network.
          [moby/moby#49521](https://redirect.github.com/moby/moby/pull/49521)\n-   Fix
          `docker network inspect` reporting an IPv6 gateway with CIDR suffix for
          a newly created network with no specific IPAM config, until a daemon restart.
          [moby/moby#49520](https://redirect.github.com/moby/moby/pull/49520)\n-   Improve
          the error reported when kernel modules `ip_set`, `ip_set_hash_net` and `netilter_xt_set`
          are not available. [moby/moby#49524](https://redirect.github.com/moby/moby/pull/49524)\n-
          \  Move most of Docker's iptables rules out of the filter-FORWARD chain,
          so that other applications are free to append rules that must follow Docker's
          rules. [moby/moby#49518](https://redirect.github.com/moby/moby/pull/49518)\n-
          \  Update `--help` output and man page lo state which options only apply
          to the default bridge network. [moby/moby#49522](https://redirect.github.com/moby/moby/pull/49522)\n\n####
          Bug fixes and enhancements\n\n-   Fix `docker context create` always returning
          an error when using the `\"skip-tls-verify\"` option. [docker/cli#5850](https://redirect.github.com/docker/cli/pull/5850)\n-
          \  Fix shell completion suggesting IDs instead of names for services and
          nodes. [docker/cli#5848](https://redirect.github.com/docker/cli/pull/5848)\n-
          \  Fix unintentionally printing exit status to standard error output when
          `docker exec/run` returns a non-zero status. [docker/cli#5854](https://redirect.github.com/docker/cli/pull/5854)\n-
          \  Fix regression `protocol \"tcp\" is not supported by the RootlessKit
          port driver \"slirp4netns\"`. [moby/moby#49514](https://redirect.github.com/moby/moby/pull/49514)\n-
          \  containerd image store: Fix `docker inspect` not being able to show multi-platform
          images with missing layers for all platforms. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `docker images --tree` reporting wrong content
          size. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n-
          \  Fix compilation on i386 [moby/moby#49526](https://redirect.github.com/moby/moby/pull/49526)\n\n####
          Packaging updates\n\n-   Update `github.com/go-jose/go-jose/v4` to v4.0.5
          to address. [GHSA-c6gw-w398-hv78](https://redirect.github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78)
          / [CVE-2025-27144](https://www.cve.org/CVERecord?id=CVE-2025-27144) [docker/cli#5867](https://redirect.github.com/docker/cli/pull/5867)\n-
          \  Update Buildx to [v0.21.1](https://redirect.github.com/docker/buildx/releases/tag/v0.21.1).
          [docker/docker-ce-packaging#1167](https://redirect.github.com/docker/docker-ce-packaging/pull/1167)\n-
          \  Update Compose to [v2.33.1](https://redirect.github.com/docker/compose/releases/tag/v2.33.1).
          [docker/docker-ce-packaging#1168](https://redirect.github.com/docker/docker-ce-packaging/pull/1168)\n\n####
          API\n\n-   containerd image store: Fix `GET /images/json?manifests=1` not
          filling `Manifests` for index-only images. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `GET /images/json and /images/<name>/json`
          `Size.Content` field including the size of content that's not available
          locally. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n\n###
          [`v28.0.0`](https://redirect.github.com/moby/moby/releases/tag/v28.0.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v27.5.1...v28.0.0)\n\n###
          28.0.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  [moby/moby, 28.0.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.0.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.0.0/docs/api/version-history.md).\n\n####
          New\n\n-   Add ability to mount an image inside a container via `--mount
          type=image`. [moby/moby#48798](https://redirect.github.com/moby/moby/pull/48798)\n
          \   -   You can also specify `--mount type=image,image-subpath=[subpath],...`
          option to mount a specific path from the image. [docker/cli#5755](https://redirect.github.com/docker/cli/pull/5755)\n-
          \  `docker images --tree` now shows metadata badges. [docker/cli#5744](https://redirect.github.com/docker/cli/pull/5744)\n-
          \  `docker load`, `docker save`, and `docker history` now support a `--platform`
          flag allowing you to choose a specific platform for single-platform operations
          on multi-platform images. [docker/cli#5331](https://redirect.github.com/docker/cli/pull/5331)\n-
          \  Add `OOMScoreAdj` to `docker service create` and `docker stack`. [docker/cli#5145](https://redirect.github.com/docker/cli/pull/5145)\n-
          \  `docker buildx prune` now supports `reserved-space`, `max-used-space`,
          `min-free-space` and `keep-bytes` filters. [moby/moby#48720](https://redirect.github.com/moby/moby/pull/48720)\n-
          \  Windows: Add support for running containerd as a child process of the
          daemon, instead of using a system-installed containerd. [moby/moby#47955](https://redirect.github.com/moby/moby/pull/47955)\n\n####
          Networking\n\n-   The `docker-proxy` binary has been updated, older versions
          will not work with the updated `dockerd`. [moby/moby#48132](https://redirect.github.com/moby/moby/pull/48132)\n
          \   -   Close a window in which the userland proxy (`docker-proxy`) could
          accept TCP connections, that would then fail after `iptables` NAT rules
          were set up.\n    -   The executable `rootlesskit-docker-proxy` is no longer
          used, it has been removed from the build and distribution.\n-   DNS nameservers
          read from the host's `/etc/resolv.conf` are now always accessed from the
          host's network namespace. [moby/moby#48290](https://redirect.github.com/moby/moby/pull/48290)\n
          \   -   When the host's `/etc/resolv.conf` contains no nameservers and there
          are no `--dns` overrides, Google's DNS servers are no longer used, apart
          from by the default bridge network and in build containers.\n-   Container
          interfaces in bridge and macvlan networks now use randomly generated MAC
          addresses. [moby/moby#48808](https://redirect.github.com/moby/moby/pull/48808)\n
          \   -   Gratuitous ARP / Neighbour Advertisement messages will be sent when
          the interfaces are started so that, when IP addresses are reused, they're
          associated with the newly generated MAC address.\n    -   IPv6 addresses
          in the default bridge network are now IPAM-assigned, rather than being derived
          from the MAC address.\n-   The deprecated OCI `prestart` hook is now only
          used by build containers. For other containers, network interfaces are added
          to the network namespace after task creation is complete, before the container
          task is started. [moby/moby#47406](https://redirect.github.com/moby/moby/pull/47406)\n-
          \  Add a new `gw-priority` option to `docker run`, `docker container create`,
          and `docker network connect`. This option will be used by the Engine to
          determine which network provides the default gateway for a container. On
          `docker run`, this option is only available through the extended `--network`
          syntax. [docker/cli#5664](https://redirect.github.com/docker/cli/pull/5664)\n-
          \  Add a new netlabel `com.docker.network.endpoint.ifname` to customize
          the interface name used when connecting a container to a network. It's supported
          by all built-in network drivers on Linux. [moby/moby#49155](https://redirect.github.com/moby/moby/pull/49155)\n
          \   -   When a container is created with multiple networks specified, there's
          no guarantee on the order networks will be connected to the container. So,
          if a custom interface name uses the same prefix as the auto-generated names,
          for example `eth`, the container might fail to start.\n    -   The recommended
          practice is to use a different prefix, for example `en0`, or a numerical
          suffix high enough to never collide, for example `eth100`.\n    -   This
          label can be specified on `docker network connect` via the `--driver-opt`
          flag, for example `docker network connect --driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`.\n    -   Or via the long-form `--network` flag on `docker run`,
          for example `docker run --network=name=bridge,driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`\n-   If a custom network driver reports capability `GwAllocChecker`
          then, before a network is created, it will get a `GwAllocCheckerRequest`
          with the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n\n####
          Port publishing in bridge networks\n\n-   `dockerd` now requires `ipset`
          support in the Linux kernel. [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n
          \   -   The `iptables` and `ip6tables` rules used to implement port publishing
          and network isolation have been extensively modified. This enables some
          of the following functional changes, and is a first step in refactoring
          to enable native `nftables` support in a future release. [moby/moby#48815](https://redirect.github.com/moby/moby/issues/48815)\n
          \   -   If it becomes necessary to downgrade to an earlier version of the
          daemon, some manual cleanup of the new rules will be necessary. The simplest
          and surest approach is to reboot the host, or use `iptables -F` and `ip6tables
          -F` to flush all existing `iptables` rules from the `filter` table before
          starting the older version of the daemon. When that is not possible, run
          the following commands as root:\n        -   `iptables -D FORWARD -m set
          --match-set docker-ext-bridges-v4 dst -m conntrack --ctstate RELATED,ESTABLISHED
          -j ACCEPT; ip6tables -D FORWARD -m set --match-set docker-ext-bridges-v6
          dst -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT`\n        -   `iptables
          -D FORWARD -m set --match-set docker-ext-bridges-v4 dst -j DOCKER; ip6tables
          -D FORWARD -m set --match-set docker-ext-bridges-v6 dst -j DOCKER`\n        -
          \  If you were previously running with the iptables filter-FORWARD policy
          set to `ACCEPT` and need to restore access to unpublished ports, also delete
          per-bridge-network rules from the `DOCKER` chains. For example, `iptables
          -D DOCKER ! -i docker0 -o docker0 -j DROP`.\n-   Fix a security issue that
          was allowing remote hosts to connect directly to a container on its published
          ports. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix a security issue that was allowing neighbor hosts to connect to ports
          mapped on a loopback address. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix an issue that prevented port publishing to link-local addresses.
          [moby/moby#48570](https://redirect.github.com/moby/moby/pull/48570)\n-   UDP
          ports published by a container are now reliably accessible by containers
          on other networks, via the host's public IP address. [moby/moby#48571](https://redirect.github.com/moby/moby/pull/48571)\n-
          \  Docker will now only set the `ip6tables` policy for the `FORWARD` chain
          in the `filter` table to `DROP` if it enables IP forwarding on the host
          itself (sysctls `net.ipv6.conf.all.forwarding` and `net.ipv6.conf.default.forwarding`).
          This is now aligned with existing IPv4 behaviour. [moby/moby#48594](https://redirect.github.com/moby/moby/pull/48594)\n
          \   -   If IPv6 forwarding is enabled on your host, but you were depending
          on Docker to set the ip6tables filter-FORWARD policy to `DROP`, you may
          need to update your host's configuration to make sure it is secure.\n-   Direct
          routed access to container ports that are not exposed using `p`/`-publish`
          is now blocked in the `DOCKER` iptables chain. [moby/moby#48724](https://redirect.github.com/moby/moby/pull/48724)\n
          \   -   If the default iptables filter-FORWARD policy was previously left
          at `ACCEPT` on your host, and direct routed access to a container's unpublished
          ports from a remote host is still required, options are:\n        -   Publish
          the ports you need.\n        -   Use the new `gateway_mode_ipv[46]=nat-unprotected`,
          described below.\n    -   Container ports published to host addresses will
          continue to be accessible via those host addresses, using NAT or the userland
          proxy.\n    -   Unpublished container ports continue to be directly accessible
          from the Docker host via the container's IP address.\n-   Networks created
          with `gateway_mode_ipv[46]=routed` are now accessible from other bridge
          networks running on the same Docker host, as well as from outside the host.
          [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n-   Bridge
          driver options `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `nat-unprotected`. [moby/moby#48597](https://redirect.github.com/moby/moby/pull/48597)\n
          \   -   `nat-unprotected` is similar to the default `nat` mode, but no per
          port/protocol rules are set up. This means any port on a container can be
          accessed by direct-routing from a remote host.\n-   Bridge driver options
          `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `isolated`, when the network is also `internal`. [moby/moby#49262](https://redirect.github.com/moby/moby/pull/49262)\n
          \   -   An address is normally assigned to the bridge device in an `internal`
          network. So, processes on the Docker host can access the network, and containers
          in the network can access host services listening on that bridge address
          (including services listening on \"any\" host address, `0.0.0.0` or `::`).\n
          \   -   An `internal` bridge network created with gateway mode `isolated`
          does not have an address on the Docker host.\n-   When a port mapping includes
          a host IP address or port number that cannot be used because NAT from the
          host is disabled using `--gateway_mode_ipv[46]`, container creation will
          no longer fail. The unused fields may be needed if the gateway endpoint
          changes when networks are connected or disconnected. A message about the
          unused fields will be logged. [moby/moby#48575](https://redirect.github.com/moby/moby/pull/48575)\n-
          \  Do not create iptables nat-POSTROUTING masquerade rules for a container's
          own published ports, when the userland proxy is enabled. [moby/moby#48854](https://redirect.github.com/moby/moby/pull/48854)\n\n####
          IPv6\n\n-   Add `docker network create` option `--ipv4`. To disable IPv4
          address assignment for a network, use `docker network create --ipv4=false
          [...]`. [docker/cli#5599](https://redirect.github.com/docker/cli/pull/5599)\n-
          \  Daemon option `--ipv6` (`\"ipv6\": true` in `daemon.json`) can now be
          used without `fixed-cidr-v6`. [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  IPAM now handles subnets bigger than \"/64\". [moby/moby#49223](https://redirect.github.com/moby/moby/pull/49223)\n-
          \  Duplicate address detection (DAD) is now disabled for addresses assigned
          to the bridges belonging to bridge networks. [moby/moby#48609](https://redirect.github.com/moby/moby/pull/48609)\n-
          \  Modifications to `host-gateway`, for compatibility with IPv6-only networks.
          [moby/moby#48807](https://redirect.github.com/moby/moby/pull/48807)\n    -
          \  When special value `host-gateway` is used in an `--add-host` option in
          place of an address, it's replaced by an address on the Docker host to make
          it possible to refer to the host by name. The address used belongs to the
          default bridge (normally `docker0`). Until now it's always been an IPv4
          address, because all containers on bridge networks had IPv4 addresses.\n
          \   -   Now, if IPv6 is enabled on the default bridge network, `/etc/hosts`
          entries will be created for IPv4 and IPv6 addresses. So, a container that's
          only connected to IPv6-only networks can access the host by name.\n    -
          \  The `--host-gateway-ip` option overrides the address used to replace
          `host-gateway`. Two of these options are now allowed on the command line,
          for one IPv4 gateway and one IPv6.\n    -   In the `daemon.json` file, to
          provide two addresses, use `\"host-gateway-ips\"`. For example, `\"host-gateway-ips\":
          [\"192.0.2.1\", \"2001:db8::1111\"]`.\n\n#### Bug fixes and enhancements\n\n-
          \  Add IPv6 loopback address as an insecure registry by default. [moby/moby#48540](https://redirect.github.com/moby/moby/pull/48540)\n-
          \  Add support for Cobra-generated completion scripts for `dockerd`. [moby/moby#49339](https://redirect.github.com/moby/moby/pull/49339)\n-
          \  Fix DNS queries failing when containers are launched via `systemd` auto-start
          on boot [moby/moby#48812](https://redirect.github.com/moby/moby/pull/48812)\n-
          \  Fix Docker Swarm mode ignoring `volume.subpath` [docker/cli#5833](https://redirect.github.com/docker/cli/pull/5833)\n-
          \  Fix `docker export` continuing the export after the operation is canceled.
          [moby/moby#49265](https://redirect.github.com/moby/moby/pull/49265)\n-   Fix
          `docker export` not releasing the container's writable layer after a failure.
          [moby/moby#48517](https://redirect.github.com/moby/moby/pull/48517)\n-   Fix
          `docker images --tree` unnecessary truncating long image names when multiple
          names are available [docker/cli#5757](https://redirect.github.com/docker/cli/pull/5757)\n-
          \  Fix a bug where a container with a name matching another container's
          ID is not restored on daemon startup. [moby/moby#48669](https://redirect.github.com/moby/moby/pull/48669)\n-
          \  Fix an issue preventing some IPv6 addresses shown by `docker ps` to be
          properly bracketed [docker/cli#5468](https://redirect.github.com/docker/cli/pull/5468)\n-
          \  Fix bug preventing image pulls from being cancelled during `docker run`.
          [docker/cli#5645](https://redirect.github.com/docker/cli/pull/5645)\n-   Fix
          error-handling when running the daemon as a Windows service to prevent unclean
          exits. [moby/moby#48518](https://redirect.github.com/moby/moby/pull/48518)\n-
          \  Fix issue causing output of `docker run` to be inconsistent when using
          `--attach stdout` or `--attach stderr` versus `stdin`.  `docker run --attach
          stdin` now exits if the container exits. [docker/cli#5662](https://redirect.github.com/docker/cli/pull/5662)\n-
          \  Fix rootless Docker setup with `subid` backed by NSS modules. [moby/moby#49036](https://redirect.github.com/moby/moby/pull/49036)\n-
          \  Generated completion scripts from the CLI now show descriptions next
          to each command/flag suggestion. [docker/cli#5756](https://redirect.github.com/docker/cli/pull/5756)\n-
          \  IPv6 addresses shown by `docker ps` in port bindings are now bracketed
          [docker/cli#5363](https://redirect.github.com/docker/cli/pull/5363)\n-   Implement
          the ports validation method for Compose [docker/cli#5524](https://redirect.github.com/docker/cli/pull/5524)\n-
          \  Improve error-output for invalid flags on the command line. [docker/cli#5233](https://redirect.github.com/docker/cli/pull/5233)\n-
          \  Improve errors when failing to start a container using anther container's
          network namespace. [moby/moby#49367](https://redirect.github.com/moby/moby/pull/49367)\n-
          \  Improve handling of invalid API errors that could result in an empty
          error message being shown. [moby/moby#49373](https://redirect.github.com/moby/moby/pull/49373)\n-
          \  Improve output and consistency for unknown (sub)commands and invalid
          arguments [docker/cli#5234](https://redirect.github.com/docker/cli/pull/5234)\n-
          \  Improve validation of `exec-opts` in daemon configuration. [moby/moby#48979](https://redirect.github.com/moby/moby/pull/48979)\n-
          \  Update the handling of the `--gpus=0` flag to be consistent with the
          NVIDIA Container Runtime. [moby/moby#48482](https://redirect.github.com/moby/moby/pull/48482)\n-
          \  `client.ContainerCreate` now normalizes `CapAdd` and `CapDrop` fields
          in `HostConfig` to their canonical form. [moby/moby#48551](https://redirect.github.com/moby/moby/pull/48551)\n-
          \  `docker image save` now produces stable timestamps. [moby/moby#48611](https://redirect.github.com/moby/moby/pull/48611)\n-
          \  `docker inspect` now lets you inspect Swarm configs [docker/cli#5573](https://redirect.github.com/docker/cli/pull/5573)\n-
          \  containerd image store: Add support for `Extracting` layer status in
          `docker pull`. [moby/moby#49064](https://redirect.github.com/moby/moby/pull/49064)\n-
          \  containerd image store: Fix `commit`, `import`, and `build` not preserving
          a replaced image as a dangling image. [moby/moby#48316](https://redirect.github.com/moby/moby/pull/48316)\n-
          \  containerd image store: Make `docker load --platform` return an error
          when the requested platform isn't loaded. [moby/moby#48718](https://redirect.github.com/moby/moby/pull/48718)\n-
          \  Fix validation of `--link` option. [docker/cli#5739](https://redirect.github.com/docker/cli/pull/5739)\n-
          \  Add validation of network-diagnostic-port daemon configuration option.
          [moby/moby#49305](https://redirect.github.com/moby/moby/pull/49305)\n-   Unless
          explicitly configured, an IP address is no longer reserved for a gateway
          in cases where it is not required. Namely, \u201Cinternal\u201D bridge networks
          with option `com.docker.network.bridge.inhibit_ipv4`, `ipvlan` or `macvlan`
          networks with no parent interface, and L3 IPvlan modes. [moby/moby#49261](https://redirect.github.com/moby/moby/pull/49261)\n-
          \  If a custom network driver reports capability `GwAllocChecker` then,
          before a network is created, it will get a `GwAllocCheckerRequest` with
          the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n-
          \  Fixed an issue that meant a container could not be attached to an L3
          IPvlan at the same time as other network types. [moby/moby#49130](https://redirect.github.com/moby/moby/pull/49130)\n-
          \  Remove the correct `/etc/hosts` entries when disconnecting a container
          from a network. [moby/moby#48857](https://redirect.github.com/moby/moby/pull/48857)\n-
          \  Fix duplicate network disconnect events. [moby/moby#48800](https://redirect.github.com/moby/moby/pull/48800)\n-
          \  Resolve issues related to changing `fixed-cidr` for `docker0`, and inferring
          configuration from a user-managed default bridge (`--bridge`). [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  Remove feature flag `windows-dns-proxy`, introduced in release 26.1.0
          to control forwarding to external DNS resolvers from Windows containers,
          to make `nslookup` work. It was enabled by default in release 27.0.0. [moby/moby#48738](https://redirect.github.com/moby/moby/pull/48738)\n-
          \  Remove an `iptables` mangle rule for checksumming SCTP. The rule can
          be re-enabled by setting `DOCKER_IPTABLES_SCTP_CHECKSUM=1` in the daemon's
          environment. This override will be removed in a future release. [moby/moby#48149](https://redirect.github.com/moby/moby/pull/48149)\n-
          \  Faster connection to bridge networks, in most cases. [moby/moby#49302](https://redirect.github.com/moby/moby/pull/49302)\n\n####
          Packaging updates\n\n-   Update Go runtime to [1.23.6](https://go.dev/doc/devel/release#go1.23.6).
          [docker/cli#5795](https://redirect.github.com/docker/cli/pull/5795), [moby/moby#49393](https://redirect.github.com/moby/moby/pull/49393),
          [docker/docker-ce-packaging#1161](https://redirect.github.com/docker/docker-ce-packaging/pull/1161)\n-
          \  Update `runc` to [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)
          (static binaries only). [moby/moby#49464](https://redirect.github.com/moby/moby/pull/49464)\n-
          \  Update containerd to [v1.7.25](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.25).
          [moby/moby#49252](https://redirect.github.com/moby/moby/pull/49252)\n-   Update
          BuildKit to [v0.20.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.0).
          [moby/moby#49495](https://redirect.github.com/moby/moby/pull/49495)\n-   Update
          Buildx to [v0.21.0](https://redirect.github.com/docker/buildx/releases/tag/v0.21.0).
          [docker/docker-ce-packaging#1166](https://redirect.github.com/docker/docker-ce-packaging/pull/1166)\n-
          \  Update Compose to [v2.32.4](https://redirect.github.com/docker/compose/releases/tag/v2.32.3).
          [docker/docker-ce-packaging#1143](https://redirect.github.com/docker/docker-ce-packaging/pull/1143)\n-
          \  The canonical source for the `dockerd(8)` man page has been moved back
          to the `moby/moby` repository itself. [moby/moby#48298](https://redirect.github.com/moby/moby/pull/48298)\n\n####
          Go SDK\n\n-   Improve validation of empty object IDs. The client now returns
          an \"Invalid Parameter\" error when trying to use an empty ID or name. This
          changes the error returned by some \"Inspect\" functions from a \"Not found\"
          error to an \"Invalid Parameter\". [moby/moby#49381](https://redirect.github.com/moby/moby/pull/49381)\n-
          \  `Client.ImageBuild()` now omits default values from the API request's
          query string. [moby/moby#48651](https://redirect.github.com/moby/moby/pull/48651)\n-
          \  `api/types/container`: Merge `Stats` and `StatsResponse` [moby/moby#49287](https://redirect.github.com/moby/moby/pull/49287)\n-
          \  `client.WithVersion`: Strip v-prefix when setting API version [moby/moby#49352](https://redirect.github.com/moby/moby/pull/4935\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/ci-image).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/ci-image/pull/57
        commit_id: f1c25f329a172181402a6ae2f329b4d0bec3d953
        patchset: f1c25f329a172181402a6ae2f329b4d0bec3d953
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ci-image
          name: osism/ci-image
          short_name: ci-image
        src_dir: src/github.com/osism/ci-image
        topic: null
      buildset: 34f9f523cb7a48179b8258df14ee519c
      buildset_refs:
      - branch: main
        change: '57'
        change_message: "chore(deps): update dependency moby/moby to v28\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [moby/moby](https://redirect.github.com/moby/moby) | major | `27.5.1` ->
          `28.2.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>moby/moby
          (moby/moby)</summary>\n\n### [`v28.2.0`](https://redirect.github.com/moby/moby/releases/tag/v28.2.0):
          28.2.0\n\n[Compare Source](https://redirect.github.com/moby/moby/compare/v28.1.1...v28.2.0)\n\n####
          28.2.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.2.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  [moby/moby, 28.2.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.2.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.2.0/docs/api/version-history.md).\n\n>
          \\[!NOTE]\n> RHEL packages are currently not available and will be released
          later.\n\n##### New\n\n-   Add `{{.Platform}}` as formatting option for
          `docker ps` to show the platform of the image the container is running.
          [docker/cli#6042](https://redirect.github.com/docker/cli/pull/6042)\n-   Add
          support for relative parent paths (`../`) on bind mount sources when using
          `docker run/create` with `-v/--volume` or `--mount type=bind` options. [docker/cli#4966](https://redirect.github.com/docker/cli/pull/4966)\n-
          \  CDI is now enabled by default. [moby/moby#49963](https://redirect.github.com/moby/moby/pull/49963)\n-
          \  Show discovered CDI devices in `docker info`. [docker/cli#6078](https://redirect.github.com/docker/cli/pull/6078)\n-
          \  `docker image rm`: add `--platform` option to remove a variant from multi-platform
          images. [docker/cli#6109](https://redirect.github.com/docker/cli/pull/6109)\n-
          \  containerd image store: Initial BuildKit support for building Windows
          container images on Windows (requires an opt-in with `DOCKER_BUILDKIT=1`).
          [moby/moby#49740](https://redirect.github.com/moby/moby/pull/49740)\n\n#####
          Bug fixes and enhancements\n\n-   Add a new log option for fluentd log driver
          (`fluentd-write-timeout`), which enables specifying write timeouts for fluentd
          connections. [moby/moby#49911](https://redirect.github.com/moby/moby/pull/49911)\n-
          \  Add support for `DOCKER_AUTH_CONFIG` for the experimental `--use-api-socket`
          option. [docker/cli#6019](https://redirect.github.com/docker/cli/pull/6019)\n-
          \  Fix `docker exec` waiting for 10 seconds if a non-existing user or group
          was specified. [moby/moby#49868](https://redirect.github.com/moby/moby/pull/49868)\n-
          \  Fix `docker swarm init` ignoring `cacert` option of `--external-ca`.
          [docker/cli#5995](https://redirect.github.com/docker/cli/pull/5995)\n-   Fix
          an issue where the CLI would not correctly save the configuration file (`~/.docker/config.json`)
          if it was a relative symbolic link. [docker/cli#5282](https://redirect.github.com/docker/cli/pull/5282)\n-
          \  Fix containers with `--restart always` policy using CDI devices failing
          to start on daemon restart. [moby/moby#49990](https://redirect.github.com/moby/moby/pull/49990)\n-
          \  Fix shell-completion to only complete some flags once, even though they
          can be set multiple times. [docker/cli#6030](https://redirect.github.com/docker/cli/pull/6030)\n-
          \  Fix the `plugin does not implement PluginAddr interface` error for Swarm
          CSI drivers. [moby/moby#49961](https://redirect.github.com/moby/moby/pull/49961)\n-
          \  Improve `docker login` error messages for invalid options. [docker/cli#6036](https://redirect.github.com/docker/cli/pull/6036)\n-
          \  Make sure the terminal state is restored if the CLI is forcefully terminated.
          [docker/cli#6058](https://redirect.github.com/docker/cli/pull/6058)\n-   Update
          the default seccomp profile to match the libseccomp v2.6.0. The new syscalls
          are: `listmount`, `statmount`, `lsm_get_self_attr`, `lsm_list_modules`,
          `lsm_set_self_attr`, `mseal`, `uretprobe`, `riscv_hwprobe`, `getxattrat`,
          `listxattrat`, `removexattrat`, and `setxattrat`. This prevents containers
          from receiving EPERM errors when using them. [moby/moby#50077](https://redirect.github.com/moby/moby/pull/50077)\n-
          \  `docker inspect`: add shell completion, improve flag-description for
          `--type` and improve validation. [docker/cli#6052](https://redirect.github.com/docker/cli/pull/6052)\n-
          \  containerd image store: Enable BuildKit garbage collector by default.
          [moby/moby#49899](https://redirect.github.com/moby/moby/pull/49899)\n-   containerd
          image store: Fix `docker build` not persisting overridden images as dangling.
          [moby/moby#49702](https://redirect.github.com/moby/moby/pull/49702)\n-   containerd
          image store: Fix `docker system df` reporting a negative reclaimable space
          amount. [moby/moby#49707](https://redirect.github.com/moby/moby/pull/49707)\n-
          \  containerd image store: Fix duplicate `PUT` requests when pushing a multi-platform
          image. [moby/moby#49949](https://redirect.github.com/moby/moby/pull/49949)\n\n#####
          Packaging updates\n\n-   Drop Ubuntu 20.04 \"Focal\" packages as it reached
          end of life. [docker/docker-ce-packaging#1200](https://redirect.github.com/docker/docker-ce-packaging/pull/1200)\n-
          \  Fix install location for RPM-based `docker-ce` man-pages. [docker/docker-ce-packaging#1203](https://redirect.github.com/docker/docker-ce-packaging/pull/1203)\n-
          \  Update BuildKit to [v0.22.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.22.0).
          [moby/moby#50046](https://redirect.github.com/moby/moby/pull/50046)\n-   Update
          Buildx to [v0.24.0](https://redirect.github.com/docker/buildx/releases/tag/v0.24.0).
          [docker/docker-ce-packaging#1205](https://redirect.github.com/docker/docker-ce-packaging/pull/1205)\n-
          \  Update Compose to [v2.36.2](https://redirect.github.com/docker/compose/releases/tag/v2.36.2).
          [docker/docker-ce-packaging#1208](https://redirect.github.com/docker/docker-ce-packaging/pull/1208)\n-
          \  Update Go runtime to [1.24.3](https://go.dev/doc/devel/release#go1.24.3).
          [docker/docker-ce-packaging#1192](https://redirect.github.com/docker/docker-ce-packaging/pull/1192),
          [docker/cli#6060](https://redirect.github.com/docker/cli/pull/6060), [moby/moby#49174](https://redirect.github.com/moby/moby/pull/49174)\n\n#####
          Networking\n\n-   Add bridge network option `\"com.docker.network.bridge.trusted_host_interfaces\"`,
          accepting a space-separated list of interface names. These interfaces have
          direct access to published ports on container IP addresses. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Add daemon option `\"allow-direct-routing\"` to disable filtering of
          packets from outside the host addressed directly to containers. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Do not display network options `com.docker.network.enable_ipv4` or `com.docker.network.enable_ipv6`
          in inspect output if they have been overridden by `EnableIPv4` or `EnableIPv6`
          in the network create request. [moby/moby#49866](https://redirect.github.com/moby/moby/pull/49866)\n-
          \  Fix an issue that could cause network deletion to fail after a daemon
          restart, with error \"has active endpoints\" listing empty endpoint names.
          [moby/moby#49901](https://redirect.github.com/moby/moby/pull/49901)\n-   Fix
          an issue where `docker network inspect --verbose` could sometimes crash
          the daemon. [moby/moby#49937](https://redirect.github.com/moby/moby/pull/49937)\n-
          \  Fix an issue where the load-balancer IP address for an overlay network
          would not be released in certain cases if the Swarm was lacking an ingress
          network. [moby/moby#49948](https://redirect.github.com/moby/moby/pull/49948)\n-
          \  Improve the reliability of NetworkDB in busy clusters and lossy networks.
          [moby/moby#49932](https://redirect.github.com/moby/moby/pull/49932)\n-   Improvements
          to the reliability and convergence speed of NetworkDB. [moby/moby#49939](https://redirect.github.com/moby/moby/pull/49939)\n\n#####
          API\n\n-   Update API version to `1.50`.\n-   `DELETE /images/{name}` now
          supports a `platforms` query parameter. It accepts an array of JSON-encoded
          OCI Platform objects, allowing for selecting a specific platforms to delete
          content for. [moby/moby#49982](https://redirect.github.com/moby/moby/pull/49982)\n-
          \  `GET /info` now includes a `DiscoveredDevices` field. This is an array
          of `DeviceInfo` objects, each providing details about a device discovered
          by a device driver. [moby/moby#49980](https://redirect.github.com/moby/moby/pull/49980)\n\n#####
          Go SDK\n\n-   `api/types/container`: add `ContainerState` and constants
          for container state. [moby/moby#49965](https://redirect.github.com/moby/moby/pull/49965)\n-
          \  `api/types/container`: change `Summary.State` to a `ContainerState`.
          [moby/moby#49991](https://redirect.github.com/moby/moby/pull/49991)\n-   `api/types/container`:
          define `HealthStatus` type for health-status constants. [moby/moby#49876](https://redirect.github.com/moby/moby/pull/49876)\n-
          \  `api/types`: deprecate `BuildResult`, `ImageBuildOptions`, `ImageBuildOutput`,
          `ImageBuildResponse`, `BuilderVersion`, `BuilderV1`, and `BuilderBuildKi`
          which were moved to `api/types/build`. [moby/moby#50025](https://redirect.github.com/moby/moby/pull/50025)\n\n#####
          Deprecations\n\n-   API: Deprecated: `GET /images/{name}/json` no longer
          returns the following fields: `Config`, `Hostname`, `Domainname`, `AttachStdin`,
          `AttachStdout`, `AttachStderr`, `Tty`, `OpenStdin`, `StdinOnce`, `Image`,
          `NetworkDisabled` (already omitted unless set), `MacAddress` (already omitted
          unless set), `StopTimeout` (already omitted unless set). These additional
          fields were included in the response due to an implementation detail but
          not part of the image's Configuration, were marked deprecated in API v1.46,
          and are now omitted. [moby/moby#48457](https://redirect.github.com/moby/moby/pull/48457)\n-
          \  Go-SDK: Deprecate builder/remotecontext.Rel(). This function was needed
          on older versions of Go, but can now be replaced by `filepath.Rel()`. [moby/moby#49843](https://redirect.github.com/moby/moby/pull/49843)\n-
          \  Go-SDK: api/types: deprecate `BuildCachePruneOptions` in favor of `api/types/builder.CachePruneOptions`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `BuildCachePruneReport` in favor of `api/types/builder.CachePruneReport`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `NodeListOptions`, `NodeRemoveOptions`, `ServiceCreateOptions`,
          `ServiceUpdateOptions`, `RegistryAuthFromSpec`, `RegistryAuthFromPreviousSpec`,
          `ServiceListOptions`, `ServiceInspectOptions`, and `SwarmUnlockKeyResponse`
          which were moved to `api/types/swarm`. [moby/moby#50027](https://redirect.github.com/moby/moby/pull/50027)\n-
          \  Go-SDK: api/types: deprecate `SecretCreateResponse`, `SecretListOptions`,
          `ConfigCreateResponse`, `ConfigListOptions` which were moved to api/types/swarm.
          [moby/moby#50024](https://redirect.github.com/moby/moby/pull/50024)\n-   Go-SDK:
          client: deprecate `IsErrNotFound`. [moby/moby#50012](https://redirect.github.com/moby/moby/pull/50012)\n-
          \  Go-SDK: container: deprecate `IsValidHealthString` in favor of `api/types/container.ValidateHealthStatus`.
          [moby/moby#49893](https://redirect.github.com/moby/moby/pull/49893)\n-   Go-SDK:
          container: deprecate `StateStatus`, `WaitCondition`, and the related  `WaitConditionNotRunning`,
          `WaitConditionNextExit`, and `WaitConditionRemoved` consts in favor of their
          equivalents in `api/types/container`. [moby/moby#49874](https://redirect.github.com/moby/moby/pull/49874)\n-
          \  Go-SDK: opts: deprecate `ListOpts.GetAll` in favor of `ListOpts.GetSlice`.
          [docker/cli#6032](https://redirect.github.com/docker/cli/pull/6032)\n-   Remove
          deprecated `IsAutomated` formatting placeholder from `docker search`. [docker/cli#6091](https://redirect.github.com/docker/cli/pull/6091)\n-
          \  Remove fallback for pulling images from non-OCI-compliant `docker.pkg.github.com`
          registry. [moby/moby#50094](https://redirect.github.com/moby/moby/pull/50094)\n-
          \  Remove support for pulling legacy v2, schema 1 images and remove `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`
          environment-variable. [moby/moby#50036](https://redirect.github.com/moby/moby/pull/50036),
          [moby/moby#42300](https://redirect.github.com/moby/moby/pull/42300)\n-   The
          `BridgeNfIptables` and `BridgeNfIp6tables` fields in the `GET /info` response
          were deprecated in API v1.48, and are now omitted in API v1.50. [moby/moby#49904](https://redirect.github.com/moby/moby/pull/49904)\n-
          \  errdefs: Deprecate `errdefs.FromStatusCode`. Use containerd's `errhttp.ToNative`
          instead. [moby/moby#50030](https://redirect.github.com/moby/moby/pull/50030)\n\n###
          [`v28.1.1`](https://redirect.github.com/moby/moby/releases/tag/v28.1.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.1.0...v28.1.1)\n\n####
          28.1.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.1)\n-
          \  [moby/moby, 28.1.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.1)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `dockerd-rootless-setuptool.sh` incorrectly
          reporting missing `iptables`. [moby/moby#49833](https://redirect.github.com/moby/moby/pull/49833)\n-
          \  containerd image store: Fix a potential daemon crash when using `docker
          load` with archives containing zero-size tar headers. [moby/moby#49837](https://redirect.github.com/moby/moby/pull/49837)\n\n#####
          Packaging updates\n\n-   Update Buildx to [v0.23.0](https://redirect.github.com/docker/buildx/releases/tag/v0.23.0).
          [docker/docker-ce-packaging#1185](https://redirect.github.com/docker/docker-ce-packaging/pull/1185)\n-
          \  Update Compose to [v2.35.1](https://redirect.github.com/docker/compose/releases/tag/v2.35.1).
          [docker/docker-ce-packaging#1188](https://redirect.github.com/docker/docker-ce-packaging/pull/1188)\n\n#####
          Networking\n\n-   Add a warning to a container's `/etc/resolv.conf` when
          no upstream DNS servers were found. [moby/moby#49827](https://redirect.github.com/moby/moby/pull/49827)\n\n###
          [`v28.1.0`](https://redirect.github.com/moby/moby/releases/tag/v28.1.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.4...v28.1.0)\n\n####
          28.1.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  [moby/moby, 28.1.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.1.0/docs/api/version-history.md).\n\n#####
          New\n\n-   Add `docker bake` sub-command as alias for `docker buildx bake`.
          [docker/cli#5947](https://redirect.github.com/docker/cli/pull/5947)\n-   Experimental:
          add a new `--use-api-socket` flag on `docker run` and `docker create` to
          enable access to Docker socket from inside a container and to share credentials
          from the host with the container. [docker/cli#5858](https://redirect.github.com/docker/cli/pull/5858)\n-
          \  `docker image inspect` now supports a `--platform` flag to inspect a
          specific platform of a multi-platform image. [docker/cli#5934](https://redirect.github.com/docker/cli/pull/5934)\n\n#####
          Bug fixes and enhancements\n\n-   Add CLI shell-completion for context names.
          [docker/cli#6016](https://redirect.github.com/docker/cli/pull/6016)\n-   Fix
          `docker images --tree` not including non-container images content size in
          the total image content size. [docker/cli#6000](https://redirect.github.com/docker/cli/pull/6000)\n-
          \  Fix `docker load` not preserving replaced images. [moby/moby#49650](https://redirect.github.com/moby/moby/pull/49650)\n-
          \  Fix `docker login` hints when logging in to a custom registry. [docker/cli#6015](https://redirect.github.com/docker/cli/pull/6015)\n-
          \  Fix `docker stats` not working properly on machines with high CPU core
          count. [moby/moby#49734](https://redirect.github.com/moby/moby/pull/49734)\n-
          \  Fix a regression causing `docker pull/push` to fail when interacting
          with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n-
          \  Fix an issue preventing rootless Docker setup on a host with no `ip_tables`
          kernel module. [moby/moby#49727](https://redirect.github.com/moby/moby/pull/49727)\n-
          \  Fix an issue that could lead to unwanted iptables rules being restored
          and never deleted following a firewalld reload. [moby/moby#49728](https://redirect.github.com/moby/moby/pull/49728)\n-
          \  Improve CLI completion of `docker service scale`. [docker/cli#5968](https://redirect.github.com/docker/cli/pull/5968)\n-
          \  `docker images --tree` now hides both untagged and dangling images by
          default. [docker/cli#5924](https://redirect.github.com/docker/cli/pull/5924)\n-
          \  `docker system info` will provide an exit code if a connection cannot
          be established to the Docker daemon. [docker/cli#5918](https://redirect.github.com/docker/cli/pull/5918)\n-
          \  containerd image store: Fix `image tag` event not being emitted when
          building with BuildKit. [moby/moby#49678](https://redirect.github.com/moby/moby/pull/49678)\n-
          \  containerd image store: Improve `docker push/pull` handling of remote
          registry errors. [moby/moby#49770](https://redirect.github.com/moby/moby/pull/49770)\n-
          \  containerd image store: Show pull progress for non-layer image blobs.
          [moby/moby#49746](https://redirect.github.com/moby/moby/pull/49746)\n\n#####
          Packaging updates\n\n-   Add Debian \"Trixie\" packages. [docker/docker-ce-packaging#1181](https://redirect.github.com/docker/docker-ce-packaging/pull/1181)\n-
          \  Add Fedora 42 packages. [docker/containerd-packaging#418](https://redirect.github.com/docker/containerd-packaging/pull/418),
          [docker/docker-ce-packaging#1169](https://redirect.github.com/docker/docker-ce-packaging/pull/1169)\n-
          \  Add Ubuntu 25.04 \"Plucky Puffin\" packages. [docker/containerd-packaging#419](https://redirect.github.com/docker/containerd-packaging/pull/419),
          [docker/docker-ce-packaging#1177](https://redirect.github.com/docker/docker-ce-packaging/pull/1177)\n-
          \  Update BuildKit to [v0.21.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.21.0).
          [moby/moby#49809](https://redirect.github.com/moby/moby/pull/49809)\n-   Update
          Compose to [v2.35.0](https://redirect.github.com/docker/compose/releases/tag/v2.35.0).
          [docker/docker-ce-packaging#1183](https://redirect.github.com/docker/docker-ce-packaging/pull/1183)\n-
          \  Update Go runtime to [1.23.8](https://go.dev/doc/devel/release#go1.23.8).
          [docker/cli#5986](https://redirect.github.com/docker/cli/pull/5986), [docker/docker-ce-packaging#1180](https://redirect.github.com/docker/docker-ce-packaging/pull/1180),
          [moby/moby#49737](https://redirect.github.com/moby/moby/pull/49737)\n\n#####
          Networking\n\n-   Fix a bug causing host port-mappings on Swarm containers
          to be duplicated on `docker ps` and `docker inspect`. [moby/moby#49724](https://redirect.github.com/moby/moby/pull/49724)\n-
          \  Fix an issue that caused container network attachment to fail with error
          \"Bridge port not forwarding\". [moby/moby#49705](https://redirect.github.com/moby/moby/pull/49705)\n-
          \  Fix an issue with removal of a `--link` from a container in the default
          bridge network. [moby/moby#49778](https://redirect.github.com/moby/moby/pull/49778)\n-
          \  Improve how network-endpoint relationships are tracked to reduce the
          chance of the \"has active endpoints\" error to be wrongfully returned.
          [moby/moby#49736](https://redirect.github.com/moby/moby/pull/49736)\n-   Improve
          the \"has active endpoints\" error message by including the name of endpoints
          still connected to the network being deleted. [moby/moby#49773](https://redirect.github.com/moby/moby/pull/49773)\n\n#####
          API\n\n-   Update API version to [v1.49](https://docs.docker.com/engine/api/v1.49/).
          [moby/moby#49718](https://redirect.github.com/moby/moby/pull/49718)\n-   `GET
          /image/{name}/json` now supports a `platform` parameter allowing to specify
          which platform variant of a multi-platform image to inspect. [moby/moby#49586](https://redirect.github.com/moby/moby/pull/49586)\n-
          \  `GET /info` now returns a `FirewallBackend` containing information about
          the daemon's firewalling configuration. [moby/moby#49761](https://redirect.github.com/moby/moby/pull/49761)\n\n#####
          Go SDK\n\n-   Update minimum required Go version to go1.23. [docker/cli#5868](https://redirect.github.com/docker/cli/pull/5868)\n-
          \  cli/command/context: remove temporary `ContextType` field from JSON output.
          [docker/cli#5981](https://redirect.github.com/docker/cli/pull/5981)\n-   client:
          Keep image references in canonical format where possible. [moby/moby#49609](https://redirect.github.com/moby/moby/pull/49609)\n\n#####
          Deprecations\n\n-   API: Deprecated `AllowNondistributableArtifactsCIDRs`
          and `AllowNondistributableArtifactsHostnames` fields in the `RegistryConfig`
          struct in the `GET /info` response are omitted in API v1.49. [moby/moby#49749](https://redirect.github.com/moby/moby/pull/49749)\n-
          \  API: Deprecated: The `ContainerdCommit.Expected`, `RuncCommit.Expected`,
          and `InitCommit.Expected` fields in the `GET /info` endpoint were deprecated
          in API v1.48, and are now omitted in API v1.49. [moby/moby#48556](https://redirect.github.com/moby/moby/pull/48556)\n-
          \  Go-SDK: cli/command/image: Deprecate `RunPull`: this function was only
          used internally and will be removed in the next release. [docker/cli#5975](https://redirect.github.com/docker/cli/pull/5975)\n-
          \  Go-SDK: cli/config/configfile: deprecate `ConfigFile.Experimental` field.
          Experimental CLI features are always enabled since version v20.10 and this
          field is no longer used. Use `ConfigFile.Features` instead for optional
          features. This field will be removed in a future release. [docker/cli#5977](https://redirect.github.com/docker/cli/pull/5977)\n-
          \  Go-SDK: deprecate `pkg/archive`, which was migrated to `github.com/moby/go-archive`.
          [moby/moby#49743](https://redirect.github.com/moby/moby/pull/49743)\n-   Go-SDK:
          deprecate `pkg/atomicwriter`, which was migrated to `github.com/moby/sys/atomicwriter`.
          [moby/moby#49748](https://redirect.github.com/moby/moby/pull/49748)\n-   Go-SDK:
          opts: remove deprecated `PortOpt`, `ConfigOpt`, `SecretOpt` aliases. [docker/cli#5953](https://redirect.github.com/docker/cli/pull/5953)\n-
          \  Go-SDK: registry: deprecate `APIEndpoint.Official` field. [moby/moby#49706](https://redirect.github.com/moby/moby/pull/49706)\n\n###
          [`v28.0.4`](https://redirect.github.com/moby/moby/releases/tag/v28.0.4)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.3...v28.0.4)\n\n####
          28.0.4\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.4 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.4)\n-
          \  [moby/moby, 28.0.4 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.4)\n\n#####
          Bug fixes and enhancements\n\n-   Fix a regression causing `docker pull/push`
          to fail when interacting with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n\n###
          [`v28.0.3`](https://redirect.github.com/moby/moby/releases/tag/v28.0.3)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.2...v28.0.3)\n\n####
          28.0.3\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.3 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.3)\n-
          \  [moby/moby, 28.0.3 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.3)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `docker run` truncating the `STDOUT`/`STDERR`
          prematurely when the container exits before the data is consumed. [docker/cli#5957](https://redirect.github.com/docker/cli/pull/5957)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.2](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.2).
          [moby/moby#49698](https://redirect.github.com/moby/moby/pull/49698)\n-   Update
          `runc` to [v1.2.6](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.6)
          (static packages only). [moby/moby#49682](https://redirect.github.com/moby/moby/pull/49682)\n-
          \  Update containerd to [v1.7.26](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.26).
          [docker/containerd-packaging#409](https://redirect.github.com/docker/containerd-packaging/pull/409)\n\n###
          [`v28.0.2`](https://redirect.github.com/moby/moby/releases/tag/v28.0.2)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.1...v28.0.2)\n\n####
          28.0.2\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.2 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.2)\n-
          \  [moby/moby, 28.0.2 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.2)\n\n#####
          Bug fixes and enhancements\n\n-   Fix CLI-specific attributes (`docker.cli.*`)
          being unintentionally passed to downstream OTel services. [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-
          \  Fix an issue where user-specified `OTEL_RESOURCE_ATTRIBUTES` were being
          overridden by CLI's internal telemetry attributes. The CLI now properly
          merges user-specified attributes with internal ones, allowing both to coexist.
          [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-   Fix
          daemon failing to start on Windows when a container created before v28.0.0
          was present. [moby/moby#49626](https://redirect.github.com/moby/moby/pull/49626)\n-
          \  Fix possible error on `docker buildx prune` with the `--min-free-space`.
          [moby/moby#49623](https://redirect.github.com/moby/moby/pull/49623)\n-   Fix
          spurious `io: read/write on closed pipe` error in the daemon log when closing
          container. [moby/moby#49590](https://redirect.github.com/moby/moby/pull/49590)\n-
          \  Fix the Docker daemon failing too early if the containerd socket isn't
          immediately available. [moby/moby#49603](https://redirect.github.com/moby/moby/pull/49603)\n-
          \  Mask Linux thermal interrupt info in a container's `/proc` and `/sys`
          by default. [moby/moby#49560](https://redirect.github.com/moby/moby/pull/49560)\n-
          \  Update `contrib/check-config.sh` to check for more kernel modules related
          to iptables. [moby/moby#49622](https://redirect.github.com/moby/moby/pull/49622)\n-
          \  containerd image store: Fix integer overflow in User ID handling passed
          via `--user`. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Fix spurious `reference for unknown type: application/vnd.in-toto+json`
          warning being logged to the daemon's log. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Improve performance of `docker ps` when running
          large number of containers. [moby/moby#49365](https://redirect.github.com/moby/moby/pull/49365)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.1](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.1).
          [moby/moby#49587](https://redirect.github.com/moby/moby/pull/49587)\n-   Update
          Buildx to [v0.22.0](https://redirect.github.com/docker/buildx/releases/tag/v0.22.0).
          [docker/docker-ce-packaging#1175](https://redirect.github.com/docker/docker-ce-packaging/pull/1175)\n-
          \  Update Compose to [v2.34.0](https://redirect.github.com/docker/compose/releases/tag/v2.34.0).
          [docker/docker-ce-packaging#1172](https://redirect.github.com/docker/docker-ce-packaging/pull/1172)\n-
          \  Update Go runtime to [1.23.7](https://go.dev/doc/devel/release#go1.23.7).
          [docker/cli#5890](https://redirect.github.com/docker/cli/pull/5890), [docker/docker-ce-packaging#1171](https://redirect.github.com/docker/docker-ce-packaging/pull/1171),
          [moby/moby#49580](https://redirect.github.com/moby/moby/pull/49580)\n-   Update
          RootlessKit to [v2.3.4](https://redirect.github.com/rootless-containers/rootlesskit/releases/tag/v2.3.4).
          [moby/moby#49614](https://redirect.github.com/moby/moby/pull/49614)\n-   Update
          containerd (static binaries only) to [v1.7.27](https://www.github.com/containerd/containerd/releases/tag/v1.7.27).
          [moby/moby#49656](https://redirect.github.com/moby/moby/pull/49656)\n\n#####
          Networking\n\n-   Add environment variable `DOCKER_INSECURE_NO_IPTABLES_RAW=1`
          to allow Docker to run on systems where the Linux kernel can't provide `CONFIG_IP_NF_RAW`
          support. When enabled, Docker will not create rules in the iptables `raw`
          table. Warning: This is not recommended for production environments as it
          reduces security by allowing other hosts on the local network to route to
          ports published to host addresses, even when they are published to `127.0.0.1.`
          This option bypasses some of the security hardening introduced in Docker
          Engine 28.0.0. [moby/moby#49621](https://redirect.github.com/moby/moby/pull/49621)\n-
          \  Allow container startup when an endpoint is attached to a macvlan network
          where the parent interface is down. [moby/moby#49630](https://redirect.github.com/moby/moby/pull/49630)\n-
          \  Do not skip DNAT for packets originating in a gateway_mode=routed network.
          [moby/moby#49577](https://redirect.github.com/moby/moby/pull/49577)\n-   Fix
          a bug causing `docker ps` to inconsistently report dual-stack port mappings.
          [moby/moby#49657](https://redirect.github.com/moby/moby/pull/49657)\n-   Fix
          a bug that could cause `docker-proxy` to stop forwarding UDP datagrams to
          containers. [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n-
          \  Fix a bug that was causing `docker-proxy` to close UDP connections to
          containers eagerly and resulting in the source address to change needlessly.
          [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n\n#####
          Go SDK\n\n-   Move various types and consts from `cli-plugins/manager` to
          a separate package. [docker/cli#5902](https://redirect.github.com/docker/cli/pull/5902)\n-
          \  Update minimum required Go version to go1.23. [moby/moby#49541](https://redirect.github.com/moby/moby/pull/49541)\n-
          \  `cli/command`: Move `PrettyPrint` utility to `cli/command/formatter`.
          [docker/cli#5916](https://redirect.github.com/docker/cli/pull/5916)\n-   runconfig/errors:
          split `ErrConflictHostNetwork` into `ErrConflictConnectToHostNetwork` and
          `ErrConflictDisconnectFromHostNetwork`. [moby/moby#49605](https://redirect.github.com/moby/moby/pull/49605)\n\n#####
          Deprecations\n\n-   Go-SDK: Deprecate `cli-plugins/manager.ResourceAttributesEnvvar`
          constant. It was used internally, but holds the `OTEL_RESOURCE_ATTRIBUTES`
          name, which is part of the OpenTelemetry specification. Users of this constant
          should define their own. It will be removed in the next release. [docker/cli#5881](https://redirect.github.com/docker/cli/pull/5881)\n-
          \  Go-SDK: Deprecate `opts.PortOpt`, `opts.ConfigOpt` and `opts.SecretOpt`.
          These types were moved to the `opts/swarmopts` package. [docker/cli#5907](https://redirect.github.com/docker/cli/pull/5907)\n-
          \  Go-SDK: Remove `service/logs` package. [docker/cli#5910](https://redirect.github.com/docker/cli/pull/5910)\n-
          \  Go-SDK: `cli/command/image`: Deprecate `PushTrustedReference` and move
          to `cli/trust`. [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-
          \  Go-SDK: `cli/command/image`: Deprecate and internalize `TrustedPush`.
          [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.NotaryClient`: use [`trust.GetNotaryRepository`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/trust#GetNotaryRepository)
          instead. This method is no longer used and will be removed in the next release.
          [docker/cli#5885](https://redirect.github.com/docker/cli/pull/5885)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.RegistryClient`. This method was only used
          internally and will be removed in the next release. Use [`client.NewRegistryClient`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/registry/client#NewRegistryClient)
          instead. [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889),
          [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889)\n-   Go-SDK:
          `registry`: Deprecate `RepositoryInfo.Official` field. [moby/moby#49567](https://redirect.github.com/moby/moby/pull/49567)\n-
          \  Go-SDK: `registry`: deprecate `HostCertsDir`: this function was only
          used internally and will be removed in the next release. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n-
          \  Go-SDK: `registry`: deprecate `SetCertsDir`: the cert-directory is now
          automatically selected when running with RootlessKit, and should no longer
          be set manually. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n\n###
          [`v28.0.1`](https://redirect.github.com/moby/moby/releases/tag/v28.0.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.0...v28.0.1)\n\n###
          28.0.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.1)\n-
          \  [moby/moby, 28.0.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.1)\n\n####
          Networking\n\n-   Remove dependency on kernel modules `ip_set`, `ip_set_hash_net`
          and `netfilter_xt_set`.\n    -   The dependency was introduced in release
          28.0.0 but proved too disruptive. The iptables rules using these modules
          have been replaced. [moby/moby#49530](https://redirect.github.com/moby/moby/pull/49530)\n-
          \  Allow daemon startup on a host with IPv6 disabled without requiring `--ip6tables=false`.
          [moby/moby#49525](https://redirect.github.com/moby/moby/pull/49525)\n-   Fix
          a bug that was causing containers with `--restart=always` and a published
          port already in use to restart in a tight loop. [moby/moby#49507](https://redirect.github.com/moby/moby/pull/49507)\n-
          \  Fix an issue with Swarm ingress, caused by incorrect ordering of iptables
          rules. [moby/moby#49538](https://redirect.github.com/moby/moby/pull/49538)\n-
          \  Fix creation of a swarm-scoped network from a `--config-only` network.
          [moby/moby#49521](https://redirect.github.com/moby/moby/pull/49521)\n-   Fix
          `docker network inspect` reporting an IPv6 gateway with CIDR suffix for
          a newly created network with no specific IPAM config, until a daemon restart.
          [moby/moby#49520](https://redirect.github.com/moby/moby/pull/49520)\n-   Improve
          the error reported when kernel modules `ip_set`, `ip_set_hash_net` and `netilter_xt_set`
          are not available. [moby/moby#49524](https://redirect.github.com/moby/moby/pull/49524)\n-
          \  Move most of Docker's iptables rules out of the filter-FORWARD chain,
          so that other applications are free to append rules that must follow Docker's
          rules. [moby/moby#49518](https://redirect.github.com/moby/moby/pull/49518)\n-
          \  Update `--help` output and man page lo state which options only apply
          to the default bridge network. [moby/moby#49522](https://redirect.github.com/moby/moby/pull/49522)\n\n####
          Bug fixes and enhancements\n\n-   Fix `docker context create` always returning
          an error when using the `\"skip-tls-verify\"` option. [docker/cli#5850](https://redirect.github.com/docker/cli/pull/5850)\n-
          \  Fix shell completion suggesting IDs instead of names for services and
          nodes. [docker/cli#5848](https://redirect.github.com/docker/cli/pull/5848)\n-
          \  Fix unintentionally printing exit status to standard error output when
          `docker exec/run` returns a non-zero status. [docker/cli#5854](https://redirect.github.com/docker/cli/pull/5854)\n-
          \  Fix regression `protocol \"tcp\" is not supported by the RootlessKit
          port driver \"slirp4netns\"`. [moby/moby#49514](https://redirect.github.com/moby/moby/pull/49514)\n-
          \  containerd image store: Fix `docker inspect` not being able to show multi-platform
          images with missing layers for all platforms. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `docker images --tree` reporting wrong content
          size. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n-
          \  Fix compilation on i386 [moby/moby#49526](https://redirect.github.com/moby/moby/pull/49526)\n\n####
          Packaging updates\n\n-   Update `github.com/go-jose/go-jose/v4` to v4.0.5
          to address. [GHSA-c6gw-w398-hv78](https://redirect.github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78)
          / [CVE-2025-27144](https://www.cve.org/CVERecord?id=CVE-2025-27144) [docker/cli#5867](https://redirect.github.com/docker/cli/pull/5867)\n-
          \  Update Buildx to [v0.21.1](https://redirect.github.com/docker/buildx/releases/tag/v0.21.1).
          [docker/docker-ce-packaging#1167](https://redirect.github.com/docker/docker-ce-packaging/pull/1167)\n-
          \  Update Compose to [v2.33.1](https://redirect.github.com/docker/compose/releases/tag/v2.33.1).
          [docker/docker-ce-packaging#1168](https://redirect.github.com/docker/docker-ce-packaging/pull/1168)\n\n####
          API\n\n-   containerd image store: Fix `GET /images/json?manifests=1` not
          filling `Manifests` for index-only images. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `GET /images/json and /images/<name>/json`
          `Size.Content` field including the size of content that's not available
          locally. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n\n###
          [`v28.0.0`](https://redirect.github.com/moby/moby/releases/tag/v28.0.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v27.5.1...v28.0.0)\n\n###
          28.0.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  [moby/moby, 28.0.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.0.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.0.0/docs/api/version-history.md).\n\n####
          New\n\n-   Add ability to mount an image inside a container via `--mount
          type=image`. [moby/moby#48798](https://redirect.github.com/moby/moby/pull/48798)\n
          \   -   You can also specify `--mount type=image,image-subpath=[subpath],...`
          option to mount a specific path from the image. [docker/cli#5755](https://redirect.github.com/docker/cli/pull/5755)\n-
          \  `docker images --tree` now shows metadata badges. [docker/cli#5744](https://redirect.github.com/docker/cli/pull/5744)\n-
          \  `docker load`, `docker save`, and `docker history` now support a `--platform`
          flag allowing you to choose a specific platform for single-platform operations
          on multi-platform images. [docker/cli#5331](https://redirect.github.com/docker/cli/pull/5331)\n-
          \  Add `OOMScoreAdj` to `docker service create` and `docker stack`. [docker/cli#5145](https://redirect.github.com/docker/cli/pull/5145)\n-
          \  `docker buildx prune` now supports `reserved-space`, `max-used-space`,
          `min-free-space` and `keep-bytes` filters. [moby/moby#48720](https://redirect.github.com/moby/moby/pull/48720)\n-
          \  Windows: Add support for running containerd as a child process of the
          daemon, instead of using a system-installed containerd. [moby/moby#47955](https://redirect.github.com/moby/moby/pull/47955)\n\n####
          Networking\n\n-   The `docker-proxy` binary has been updated, older versions
          will not work with the updated `dockerd`. [moby/moby#48132](https://redirect.github.com/moby/moby/pull/48132)\n
          \   -   Close a window in which the userland proxy (`docker-proxy`) could
          accept TCP connections, that would then fail after `iptables` NAT rules
          were set up.\n    -   The executable `rootlesskit-docker-proxy` is no longer
          used, it has been removed from the build and distribution.\n-   DNS nameservers
          read from the host's `/etc/resolv.conf` are now always accessed from the
          host's network namespace. [moby/moby#48290](https://redirect.github.com/moby/moby/pull/48290)\n
          \   -   When the host's `/etc/resolv.conf` contains no nameservers and there
          are no `--dns` overrides, Google's DNS servers are no longer used, apart
          from by the default bridge network and in build containers.\n-   Container
          interfaces in bridge and macvlan networks now use randomly generated MAC
          addresses. [moby/moby#48808](https://redirect.github.com/moby/moby/pull/48808)\n
          \   -   Gratuitous ARP / Neighbour Advertisement messages will be sent when
          the interfaces are started so that, when IP addresses are reused, they're
          associated with the newly generated MAC address.\n    -   IPv6 addresses
          in the default bridge network are now IPAM-assigned, rather than being derived
          from the MAC address.\n-   The deprecated OCI `prestart` hook is now only
          used by build containers. For other containers, network interfaces are added
          to the network namespace after task creation is complete, before the container
          task is started. [moby/moby#47406](https://redirect.github.com/moby/moby/pull/47406)\n-
          \  Add a new `gw-priority` option to `docker run`, `docker container create`,
          and `docker network connect`. This option will be used by the Engine to
          determine which network provides the default gateway for a container. On
          `docker run`, this option is only available through the extended `--network`
          syntax. [docker/cli#5664](https://redirect.github.com/docker/cli/pull/5664)\n-
          \  Add a new netlabel `com.docker.network.endpoint.ifname` to customize
          the interface name used when connecting a container to a network. It's supported
          by all built-in network drivers on Linux. [moby/moby#49155](https://redirect.github.com/moby/moby/pull/49155)\n
          \   -   When a container is created with multiple networks specified, there's
          no guarantee on the order networks will be connected to the container. So,
          if a custom interface name uses the same prefix as the auto-generated names,
          for example `eth`, the container might fail to start.\n    -   The recommended
          practice is to use a different prefix, for example `en0`, or a numerical
          suffix high enough to never collide, for example `eth100`.\n    -   This
          label can be specified on `docker network connect` via the `--driver-opt`
          flag, for example `docker network connect --driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`.\n    -   Or via the long-form `--network` flag on `docker run`,
          for example `docker run --network=name=bridge,driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`\n-   If a custom network driver reports capability `GwAllocChecker`
          then, before a network is created, it will get a `GwAllocCheckerRequest`
          with the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n\n####
          Port publishing in bridge networks\n\n-   `dockerd` now requires `ipset`
          support in the Linux kernel. [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n
          \   -   The `iptables` and `ip6tables` rules used to implement port publishing
          and network isolation have been extensively modified. This enables some
          of the following functional changes, and is a first step in refactoring
          to enable native `nftables` support in a future release. [moby/moby#48815](https://redirect.github.com/moby/moby/issues/48815)\n
          \   -   If it becomes necessary to downgrade to an earlier version of the
          daemon, some manual cleanup of the new rules will be necessary. The simplest
          and surest approach is to reboot the host, or use `iptables -F` and `ip6tables
          -F` to flush all existing `iptables` rules from the `filter` table before
          starting the older version of the daemon. When that is not possible, run
          the following commands as root:\n        -   `iptables -D FORWARD -m set
          --match-set docker-ext-bridges-v4 dst -m conntrack --ctstate RELATED,ESTABLISHED
          -j ACCEPT; ip6tables -D FORWARD -m set --match-set docker-ext-bridges-v6
          dst -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT`\n        -   `iptables
          -D FORWARD -m set --match-set docker-ext-bridges-v4 dst -j DOCKER; ip6tables
          -D FORWARD -m set --match-set docker-ext-bridges-v6 dst -j DOCKER`\n        -
          \  If you were previously running with the iptables filter-FORWARD policy
          set to `ACCEPT` and need to restore access to unpublished ports, also delete
          per-bridge-network rules from the `DOCKER` chains. For example, `iptables
          -D DOCKER ! -i docker0 -o docker0 -j DROP`.\n-   Fix a security issue that
          was allowing remote hosts to connect directly to a container on its published
          ports. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix a security issue that was allowing neighbor hosts to connect to ports
          mapped on a loopback address. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix an issue that prevented port publishing to link-local addresses.
          [moby/moby#48570](https://redirect.github.com/moby/moby/pull/48570)\n-   UDP
          ports published by a container are now reliably accessible by containers
          on other networks, via the host's public IP address. [moby/moby#48571](https://redirect.github.com/moby/moby/pull/48571)\n-
          \  Docker will now only set the `ip6tables` policy for the `FORWARD` chain
          in the `filter` table to `DROP` if it enables IP forwarding on the host
          itself (sysctls `net.ipv6.conf.all.forwarding` and `net.ipv6.conf.default.forwarding`).
          This is now aligned with existing IPv4 behaviour. [moby/moby#48594](https://redirect.github.com/moby/moby/pull/48594)\n
          \   -   If IPv6 forwarding is enabled on your host, but you were depending
          on Docker to set the ip6tables filter-FORWARD policy to `DROP`, you may
          need to update your host's configuration to make sure it is secure.\n-   Direct
          routed access to container ports that are not exposed using `p`/`-publish`
          is now blocked in the `DOCKER` iptables chain. [moby/moby#48724](https://redirect.github.com/moby/moby/pull/48724)\n
          \   -   If the default iptables filter-FORWARD policy was previously left
          at `ACCEPT` on your host, and direct routed access to a container's unpublished
          ports from a remote host is still required, options are:\n        -   Publish
          the ports you need.\n        -   Use the new `gateway_mode_ipv[46]=nat-unprotected`,
          described below.\n    -   Container ports published to host addresses will
          continue to be accessible via those host addresses, using NAT or the userland
          proxy.\n    -   Unpublished container ports continue to be directly accessible
          from the Docker host via the container's IP address.\n-   Networks created
          with `gateway_mode_ipv[46]=routed` are now accessible from other bridge
          networks running on the same Docker host, as well as from outside the host.
          [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n-   Bridge
          driver options `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `nat-unprotected`. [moby/moby#48597](https://redirect.github.com/moby/moby/pull/48597)\n
          \   -   `nat-unprotected` is similar to the default `nat` mode, but no per
          port/protocol rules are set up. This means any port on a container can be
          accessed by direct-routing from a remote host.\n-   Bridge driver options
          `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `isolated`, when the network is also `internal`. [moby/moby#49262](https://redirect.github.com/moby/moby/pull/49262)\n
          \   -   An address is normally assigned to the bridge device in an `internal`
          network. So, processes on the Docker host can access the network, and containers
          in the network can access host services listening on that bridge address
          (including services listening on \"any\" host address, `0.0.0.0` or `::`).\n
          \   -   An `internal` bridge network created with gateway mode `isolated`
          does not have an address on the Docker host.\n-   When a port mapping includes
          a host IP address or port number that cannot be used because NAT from the
          host is disabled using `--gateway_mode_ipv[46]`, container creation will
          no longer fail. The unused fields may be needed if the gateway endpoint
          changes when networks are connected or disconnected. A message about the
          unused fields will be logged. [moby/moby#48575](https://redirect.github.com/moby/moby/pull/48575)\n-
          \  Do not create iptables nat-POSTROUTING masquerade rules for a container's
          own published ports, when the userland proxy is enabled. [moby/moby#48854](https://redirect.github.com/moby/moby/pull/48854)\n\n####
          IPv6\n\n-   Add `docker network create` option `--ipv4`. To disable IPv4
          address assignment for a network, use `docker network create --ipv4=false
          [...]`. [docker/cli#5599](https://redirect.github.com/docker/cli/pull/5599)\n-
          \  Daemon option `--ipv6` (`\"ipv6\": true` in `daemon.json`) can now be
          used without `fixed-cidr-v6`. [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  IPAM now handles subnets bigger than \"/64\". [moby/moby#49223](https://redirect.github.com/moby/moby/pull/49223)\n-
          \  Duplicate address detection (DAD) is now disabled for addresses assigned
          to the bridges belonging to bridge networks. [moby/moby#48609](https://redirect.github.com/moby/moby/pull/48609)\n-
          \  Modifications to `host-gateway`, for compatibility with IPv6-only networks.
          [moby/moby#48807](https://redirect.github.com/moby/moby/pull/48807)\n    -
          \  When special value `host-gateway` is used in an `--add-host` option in
          place of an address, it's replaced by an address on the Docker host to make
          it possible to refer to the host by name. The address used belongs to the
          default bridge (normally `docker0`). Until now it's always been an IPv4
          address, because all containers on bridge networks had IPv4 addresses.\n
          \   -   Now, if IPv6 is enabled on the default bridge network, `/etc/hosts`
          entries will be created for IPv4 and IPv6 addresses. So, a container that's
          only connected to IPv6-only networks can access the host by name.\n    -
          \  The `--host-gateway-ip` option overrides the address used to replace
          `host-gateway`. Two of these options are now allowed on the command line,
          for one IPv4 gateway and one IPv6.\n    -   In the `daemon.json` file, to
          provide two addresses, use `\"host-gateway-ips\"`. For example, `\"host-gateway-ips\":
          [\"192.0.2.1\", \"2001:db8::1111\"]`.\n\n#### Bug fixes and enhancements\n\n-
          \  Add IPv6 loopback address as an insecure registry by default. [moby/moby#48540](https://redirect.github.com/moby/moby/pull/48540)\n-
          \  Add support for Cobra-generated completion scripts for `dockerd`. [moby/moby#49339](https://redirect.github.com/moby/moby/pull/49339)\n-
          \  Fix DNS queries failing when containers are launched via `systemd` auto-start
          on boot [moby/moby#48812](https://redirect.github.com/moby/moby/pull/48812)\n-
          \  Fix Docker Swarm mode ignoring `volume.subpath` [docker/cli#5833](https://redirect.github.com/docker/cli/pull/5833)\n-
          \  Fix `docker export` continuing the export after the operation is canceled.
          [moby/moby#49265](https://redirect.github.com/moby/moby/pull/49265)\n-   Fix
          `docker export` not releasing the container's writable layer after a failure.
          [moby/moby#48517](https://redirect.github.com/moby/moby/pull/48517)\n-   Fix
          `docker images --tree` unnecessary truncating long image names when multiple
          names are available [docker/cli#5757](https://redirect.github.com/docker/cli/pull/5757)\n-
          \  Fix a bug where a container with a name matching another container's
          ID is not restored on daemon startup. [moby/moby#48669](https://redirect.github.com/moby/moby/pull/48669)\n-
          \  Fix an issue preventing some IPv6 addresses shown by `docker ps` to be
          properly bracketed [docker/cli#5468](https://redirect.github.com/docker/cli/pull/5468)\n-
          \  Fix bug preventing image pulls from being cancelled during `docker run`.
          [docker/cli#5645](https://redirect.github.com/docker/cli/pull/5645)\n-   Fix
          error-handling when running the daemon as a Windows service to prevent unclean
          exits. [moby/moby#48518](https://redirect.github.com/moby/moby/pull/48518)\n-
          \  Fix issue causing output of `docker run` to be inconsistent when using
          `--attach stdout` or `--attach stderr` versus `stdin`.  `docker run --attach
          stdin` now exits if the container exits. [docker/cli#5662](https://redirect.github.com/docker/cli/pull/5662)\n-
          \  Fix rootless Docker setup with `subid` backed by NSS modules. [moby/moby#49036](https://redirect.github.com/moby/moby/pull/49036)\n-
          \  Generated completion scripts from the CLI now show descriptions next
          to each command/flag suggestion. [docker/cli#5756](https://redirect.github.com/docker/cli/pull/5756)\n-
          \  IPv6 addresses shown by `docker ps` in port bindings are now bracketed
          [docker/cli#5363](https://redirect.github.com/docker/cli/pull/5363)\n-   Implement
          the ports validation method for Compose [docker/cli#5524](https://redirect.github.com/docker/cli/pull/5524)\n-
          \  Improve error-output for invalid flags on the command line. [docker/cli#5233](https://redirect.github.com/docker/cli/pull/5233)\n-
          \  Improve errors when failing to start a container using anther container's
          network namespace. [moby/moby#49367](https://redirect.github.com/moby/moby/pull/49367)\n-
          \  Improve handling of invalid API errors that could result in an empty
          error message being shown. [moby/moby#49373](https://redirect.github.com/moby/moby/pull/49373)\n-
          \  Improve output and consistency for unknown (sub)commands and invalid
          arguments [docker/cli#5234](https://redirect.github.com/docker/cli/pull/5234)\n-
          \  Improve validation of `exec-opts` in daemon configuration. [moby/moby#48979](https://redirect.github.com/moby/moby/pull/48979)\n-
          \  Update the handling of the `--gpus=0` flag to be consistent with the
          NVIDIA Container Runtime. [moby/moby#48482](https://redirect.github.com/moby/moby/pull/48482)\n-
          \  `client.ContainerCreate` now normalizes `CapAdd` and `CapDrop` fields
          in `HostConfig` to their canonical form. [moby/moby#48551](https://redirect.github.com/moby/moby/pull/48551)\n-
          \  `docker image save` now produces stable timestamps. [moby/moby#48611](https://redirect.github.com/moby/moby/pull/48611)\n-
          \  `docker inspect` now lets you inspect Swarm configs [docker/cli#5573](https://redirect.github.com/docker/cli/pull/5573)\n-
          \  containerd image store: Add support for `Extracting` layer status in
          `docker pull`. [moby/moby#49064](https://redirect.github.com/moby/moby/pull/49064)\n-
          \  containerd image store: Fix `commit`, `import`, and `build` not preserving
          a replaced image as a dangling image. [moby/moby#48316](https://redirect.github.com/moby/moby/pull/48316)\n-
          \  containerd image store: Make `docker load --platform` return an error
          when the requested platform isn't loaded. [moby/moby#48718](https://redirect.github.com/moby/moby/pull/48718)\n-
          \  Fix validation of `--link` option. [docker/cli#5739](https://redirect.github.com/docker/cli/pull/5739)\n-
          \  Add validation of network-diagnostic-port daemon configuration option.
          [moby/moby#49305](https://redirect.github.com/moby/moby/pull/49305)\n-   Unless
          explicitly configured, an IP address is no longer reserved for a gateway
          in cases where it is not required. Namely, \u201Cinternal\u201D bridge networks
          with option `com.docker.network.bridge.inhibit_ipv4`, `ipvlan` or `macvlan`
          networks with no parent interface, and L3 IPvlan modes. [moby/moby#49261](https://redirect.github.com/moby/moby/pull/49261)\n-
          \  If a custom network driver reports capability `GwAllocChecker` then,
          before a network is created, it will get a `GwAllocCheckerRequest` with
          the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n-
          \  Fixed an issue that meant a container could not be attached to an L3
          IPvlan at the same time as other network types. [moby/moby#49130](https://redirect.github.com/moby/moby/pull/49130)\n-
          \  Remove the correct `/etc/hosts` entries when disconnecting a container
          from a network. [moby/moby#48857](https://redirect.github.com/moby/moby/pull/48857)\n-
          \  Fix duplicate network disconnect events. [moby/moby#48800](https://redirect.github.com/moby/moby/pull/48800)\n-
          \  Resolve issues related to changing `fixed-cidr` for `docker0`, and inferring
          configuration from a user-managed default bridge (`--bridge`). [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  Remove feature flag `windows-dns-proxy`, introduced in release 26.1.0
          to control forwarding to external DNS resolvers from Windows containers,
          to make `nslookup` work. It was enabled by default in release 27.0.0. [moby/moby#48738](https://redirect.github.com/moby/moby/pull/48738)\n-
          \  Remove an `iptables` mangle rule for checksumming SCTP. The rule can
          be re-enabled by setting `DOCKER_IPTABLES_SCTP_CHECKSUM=1` in the daemon's
          environment. This override will be removed in a future release. [moby/moby#48149](https://redirect.github.com/moby/moby/pull/48149)\n-
          \  Faster connection to bridge networks, in most cases. [moby/moby#49302](https://redirect.github.com/moby/moby/pull/49302)\n\n####
          Packaging updates\n\n-   Update Go runtime to [1.23.6](https://go.dev/doc/devel/release#go1.23.6).
          [docker/cli#5795](https://redirect.github.com/docker/cli/pull/5795), [moby/moby#49393](https://redirect.github.com/moby/moby/pull/49393),
          [docker/docker-ce-packaging#1161](https://redirect.github.com/docker/docker-ce-packaging/pull/1161)\n-
          \  Update `runc` to [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)
          (static binaries only). [moby/moby#49464](https://redirect.github.com/moby/moby/pull/49464)\n-
          \  Update containerd to [v1.7.25](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.25).
          [moby/moby#49252](https://redirect.github.com/moby/moby/pull/49252)\n-   Update
          BuildKit to [v0.20.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.0).
          [moby/moby#49495](https://redirect.github.com/moby/moby/pull/49495)\n-   Update
          Buildx to [v0.21.0](https://redirect.github.com/docker/buildx/releases/tag/v0.21.0).
          [docker/docker-ce-packaging#1166](https://redirect.github.com/docker/docker-ce-packaging/pull/1166)\n-
          \  Update Compose to [v2.32.4](https://redirect.github.com/docker/compose/releases/tag/v2.32.3).
          [docker/docker-ce-packaging#1143](https://redirect.github.com/docker/docker-ce-packaging/pull/1143)\n-
          \  The canonical source for the `dockerd(8)` man page has been moved back
          to the `moby/moby` repository itself. [moby/moby#48298](https://redirect.github.com/moby/moby/pull/48298)\n\n####
          Go SDK\n\n-   Improve validation of empty object IDs. The client now returns
          an \"Invalid Parameter\" error when trying to use an empty ID or name. This
          changes the error returned by some \"Inspect\" functions from a \"Not found\"
          error to an \"Invalid Parameter\". [moby/moby#49381](https://redirect.github.com/moby/moby/pull/49381)\n-
          \  `Client.ImageBuild()` now omits default values from the API request's
          query string. [moby/moby#48651](https://redirect.github.com/moby/moby/pull/48651)\n-
          \  `api/types/container`: Merge `Stats` and `StatsResponse` [moby/moby#49287](https://redirect.github.com/moby/moby/pull/49287)\n-
          \  `client.WithVersion`: Strip v-prefix when setting API version [moby/moby#49352](https://redirect.github.com/moby/moby/pull/4935\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/ci-image).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/ci-image/pull/57
        commit_id: f1c25f329a172181402a6ae2f329b4d0bec3d953
        patchset: f1c25f329a172181402a6ae2f329b4d0bec3d953
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ci-image
          name: osism/ci-image
          short_name: ci-image
        src_dir: src/github.com/osism/ci-image
        topic: null
      change: '57'
      change_message: "chore(deps): update dependency moby/moby to v28\n\nThis PR
        contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
        [moby/moby](https://redirect.github.com/moby/moby) | major | `27.5.1` -> `28.2.0`
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>moby/moby (moby/moby)</summary>\n\n###
        [`v28.2.0`](https://redirect.github.com/moby/moby/releases/tag/v28.2.0): 28.2.0\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.1.1...v28.2.0)\n\n####
        28.2.0\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.2.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
        \  [moby/moby, 28.2.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
        \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.2.0/docs/deprecated.md).\n-
        \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.2.0/docs/api/version-history.md).\n\n>
        \\[!NOTE]\n> RHEL packages are currently not available and will be released
        later.\n\n##### New\n\n-   Add `{{.Platform}}` as formatting option for `docker
        ps` to show the platform of the image the container is running. [docker/cli#6042](https://redirect.github.com/docker/cli/pull/6042)\n-
        \  Add support for relative parent paths (`../`) on bind mount sources when
        using `docker run/create` with `-v/--volume` or `--mount type=bind` options.
        [docker/cli#4966](https://redirect.github.com/docker/cli/pull/4966)\n-   CDI
        is now enabled by default. [moby/moby#49963](https://redirect.github.com/moby/moby/pull/49963)\n-
        \  Show discovered CDI devices in `docker info`. [docker/cli#6078](https://redirect.github.com/docker/cli/pull/6078)\n-
        \  `docker image rm`: add `--platform` option to remove a variant from multi-platform
        images. [docker/cli#6109](https://redirect.github.com/docker/cli/pull/6109)\n-
        \  containerd image store: Initial BuildKit support for building Windows container
        images on Windows (requires an opt-in with `DOCKER_BUILDKIT=1`). [moby/moby#49740](https://redirect.github.com/moby/moby/pull/49740)\n\n#####
        Bug fixes and enhancements\n\n-   Add a new log option for fluentd log driver
        (`fluentd-write-timeout`), which enables specifying write timeouts for fluentd
        connections. [moby/moby#49911](https://redirect.github.com/moby/moby/pull/49911)\n-
        \  Add support for `DOCKER_AUTH_CONFIG` for the experimental `--use-api-socket`
        option. [docker/cli#6019](https://redirect.github.com/docker/cli/pull/6019)\n-
        \  Fix `docker exec` waiting for 10 seconds if a non-existing user or group
        was specified. [moby/moby#49868](https://redirect.github.com/moby/moby/pull/49868)\n-
        \  Fix `docker swarm init` ignoring `cacert` option of `--external-ca`. [docker/cli#5995](https://redirect.github.com/docker/cli/pull/5995)\n-
        \  Fix an issue where the CLI would not correctly save the configuration file
        (`~/.docker/config.json`) if it was a relative symbolic link. [docker/cli#5282](https://redirect.github.com/docker/cli/pull/5282)\n-
        \  Fix containers with `--restart always` policy using CDI devices failing
        to start on daemon restart. [moby/moby#49990](https://redirect.github.com/moby/moby/pull/49990)\n-
        \  Fix shell-completion to only complete some flags once, even though they
        can be set multiple times. [docker/cli#6030](https://redirect.github.com/docker/cli/pull/6030)\n-
        \  Fix the `plugin does not implement PluginAddr interface` error for Swarm
        CSI drivers. [moby/moby#49961](https://redirect.github.com/moby/moby/pull/49961)\n-
        \  Improve `docker login` error messages for invalid options. [docker/cli#6036](https://redirect.github.com/docker/cli/pull/6036)\n-
        \  Make sure the terminal state is restored if the CLI is forcefully terminated.
        [docker/cli#6058](https://redirect.github.com/docker/cli/pull/6058)\n-   Update
        the default seccomp profile to match the libseccomp v2.6.0. The new syscalls
        are: `listmount`, `statmount`, `lsm_get_self_attr`, `lsm_list_modules`, `lsm_set_self_attr`,
        `mseal`, `uretprobe`, `riscv_hwprobe`, `getxattrat`, `listxattrat`, `removexattrat`,
        and `setxattrat`. This prevents containers from receiving EPERM errors when
        using them. [moby/moby#50077](https://redirect.github.com/moby/moby/pull/50077)\n-
        \  `docker inspect`: add shell completion, improve flag-description for `--type`
        and improve validation. [docker/cli#6052](https://redirect.github.com/docker/cli/pull/6052)\n-
        \  containerd image store: Enable BuildKit garbage collector by default. [moby/moby#49899](https://redirect.github.com/moby/moby/pull/49899)\n-
        \  containerd image store: Fix `docker build` not persisting overridden images
        as dangling. [moby/moby#49702](https://redirect.github.com/moby/moby/pull/49702)\n-
        \  containerd image store: Fix `docker system df` reporting a negative reclaimable
        space amount. [moby/moby#49707](https://redirect.github.com/moby/moby/pull/49707)\n-
        \  containerd image store: Fix duplicate `PUT` requests when pushing a multi-platform
        image. [moby/moby#49949](https://redirect.github.com/moby/moby/pull/49949)\n\n#####
        Packaging updates\n\n-   Drop Ubuntu 20.04 \"Focal\" packages as it reached
        end of life. [docker/docker-ce-packaging#1200](https://redirect.github.com/docker/docker-ce-packaging/pull/1200)\n-
        \  Fix install location for RPM-based `docker-ce` man-pages. [docker/docker-ce-packaging#1203](https://redirect.github.com/docker/docker-ce-packaging/pull/1203)\n-
        \  Update BuildKit to [v0.22.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.22.0).
        [moby/moby#50046](https://redirect.github.com/moby/moby/pull/50046)\n-   Update
        Buildx to [v0.24.0](https://redirect.github.com/docker/buildx/releases/tag/v0.24.0).
        [docker/docker-ce-packaging#1205](https://redirect.github.com/docker/docker-ce-packaging/pull/1205)\n-
        \  Update Compose to [v2.36.2](https://redirect.github.com/docker/compose/releases/tag/v2.36.2).
        [docker/docker-ce-packaging#1208](https://redirect.github.com/docker/docker-ce-packaging/pull/1208)\n-
        \  Update Go runtime to [1.24.3](https://go.dev/doc/devel/release#go1.24.3).
        [docker/docker-ce-packaging#1192](https://redirect.github.com/docker/docker-ce-packaging/pull/1192),
        [docker/cli#6060](https://redirect.github.com/docker/cli/pull/6060), [moby/moby#49174](https://redirect.github.com/moby/moby/pull/49174)\n\n#####
        Networking\n\n-   Add bridge network option `\"com.docker.network.bridge.trusted_host_interfaces\"`,
        accepting a space-separated list of interface names. These interfaces have
        direct access to published ports on container IP addresses. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
        \  Add daemon option `\"allow-direct-routing\"` to disable filtering of packets
        from outside the host addressed directly to containers. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
        \  Do not display network options `com.docker.network.enable_ipv4` or `com.docker.network.enable_ipv6`
        in inspect output if they have been overridden by `EnableIPv4` or `EnableIPv6`
        in the network create request. [moby/moby#49866](https://redirect.github.com/moby/moby/pull/49866)\n-
        \  Fix an issue that could cause network deletion to fail after a daemon restart,
        with error \"has active endpoints\" listing empty endpoint names. [moby/moby#49901](https://redirect.github.com/moby/moby/pull/49901)\n-
        \  Fix an issue where `docker network inspect --verbose` could sometimes crash
        the daemon. [moby/moby#49937](https://redirect.github.com/moby/moby/pull/49937)\n-
        \  Fix an issue where the load-balancer IP address for an overlay network
        would not be released in certain cases if the Swarm was lacking an ingress
        network. [moby/moby#49948](https://redirect.github.com/moby/moby/pull/49948)\n-
        \  Improve the reliability of NetworkDB in busy clusters and lossy networks.
        [moby/moby#49932](https://redirect.github.com/moby/moby/pull/49932)\n-   Improvements
        to the reliability and convergence speed of NetworkDB. [moby/moby#49939](https://redirect.github.com/moby/moby/pull/49939)\n\n#####
        API\n\n-   Update API version to `1.50`.\n-   `DELETE /images/{name}` now
        supports a `platforms` query parameter. It accepts an array of JSON-encoded
        OCI Platform objects, allowing for selecting a specific platforms to delete
        content for. [moby/moby#49982](https://redirect.github.com/moby/moby/pull/49982)\n-
        \  `GET /info` now includes a `DiscoveredDevices` field. This is an array
        of `DeviceInfo` objects, each providing details about a device discovered
        by a device driver. [moby/moby#49980](https://redirect.github.com/moby/moby/pull/49980)\n\n#####
        Go SDK\n\n-   `api/types/container`: add `ContainerState` and constants for
        container state. [moby/moby#49965](https://redirect.github.com/moby/moby/pull/49965)\n-
        \  `api/types/container`: change `Summary.State` to a `ContainerState`. [moby/moby#49991](https://redirect.github.com/moby/moby/pull/49991)\n-
        \  `api/types/container`: define `HealthStatus` type for health-status constants.
        [moby/moby#49876](https://redirect.github.com/moby/moby/pull/49876)\n-   `api/types`:
        deprecate `BuildResult`, `ImageBuildOptions`, `ImageBuildOutput`, `ImageBuildResponse`,
        `BuilderVersion`, `BuilderV1`, and `BuilderBuildKi` which were moved to `api/types/build`.
        [moby/moby#50025](https://redirect.github.com/moby/moby/pull/50025)\n\n#####
        Deprecations\n\n-   API: Deprecated: `GET /images/{name}/json` no longer returns
        the following fields: `Config`, `Hostname`, `Domainname`, `AttachStdin`, `AttachStdout`,
        `AttachStderr`, `Tty`, `OpenStdin`, `StdinOnce`, `Image`, `NetworkDisabled`
        (already omitted unless set), `MacAddress` (already omitted unless set), `StopTimeout`
        (already omitted unless set). These additional fields were included in the
        response due to an implementation detail but not part of the image's Configuration,
        were marked deprecated in API v1.46, and are now omitted. [moby/moby#48457](https://redirect.github.com/moby/moby/pull/48457)\n-
        \  Go-SDK: Deprecate builder/remotecontext.Rel(). This function was needed
        on older versions of Go, but can now be replaced by `filepath.Rel()`. [moby/moby#49843](https://redirect.github.com/moby/moby/pull/49843)\n-
        \  Go-SDK: api/types: deprecate `BuildCachePruneOptions` in favor of `api/types/builder.CachePruneOptions`.
        [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
        api/types: deprecate `BuildCachePruneReport` in favor of `api/types/builder.CachePruneReport`.
        [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
        api/types: deprecate `NodeListOptions`, `NodeRemoveOptions`, `ServiceCreateOptions`,
        `ServiceUpdateOptions`, `RegistryAuthFromSpec`, `RegistryAuthFromPreviousSpec`,
        `ServiceListOptions`, `ServiceInspectOptions`, and `SwarmUnlockKeyResponse`
        which were moved to `api/types/swarm`. [moby/moby#50027](https://redirect.github.com/moby/moby/pull/50027)\n-
        \  Go-SDK: api/types: deprecate `SecretCreateResponse`, `SecretListOptions`,
        `ConfigCreateResponse`, `ConfigListOptions` which were moved to api/types/swarm.
        [moby/moby#50024](https://redirect.github.com/moby/moby/pull/50024)\n-   Go-SDK:
        client: deprecate `IsErrNotFound`. [moby/moby#50012](https://redirect.github.com/moby/moby/pull/50012)\n-
        \  Go-SDK: container: deprecate `IsValidHealthString` in favor of `api/types/container.ValidateHealthStatus`.
        [moby/moby#49893](https://redirect.github.com/moby/moby/pull/49893)\n-   Go-SDK:
        container: deprecate `StateStatus`, `WaitCondition`, and the related  `WaitConditionNotRunning`,
        `WaitConditionNextExit`, and `WaitConditionRemoved` consts in favor of their
        equivalents in `api/types/container`. [moby/moby#49874](https://redirect.github.com/moby/moby/pull/49874)\n-
        \  Go-SDK: opts: deprecate `ListOpts.GetAll` in favor of `ListOpts.GetSlice`.
        [docker/cli#6032](https://redirect.github.com/docker/cli/pull/6032)\n-   Remove
        deprecated `IsAutomated` formatting placeholder from `docker search`. [docker/cli#6091](https://redirect.github.com/docker/cli/pull/6091)\n-
        \  Remove fallback for pulling images from non-OCI-compliant `docker.pkg.github.com`
        registry. [moby/moby#50094](https://redirect.github.com/moby/moby/pull/50094)\n-
        \  Remove support for pulling legacy v2, schema 1 images and remove `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`
        environment-variable. [moby/moby#50036](https://redirect.github.com/moby/moby/pull/50036),
        [moby/moby#42300](https://redirect.github.com/moby/moby/pull/42300)\n-   The
        `BridgeNfIptables` and `BridgeNfIp6tables` fields in the `GET /info` response
        were deprecated in API v1.48, and are now omitted in API v1.50. [moby/moby#49904](https://redirect.github.com/moby/moby/pull/49904)\n-
        \  errdefs: Deprecate `errdefs.FromStatusCode`. Use containerd's `errhttp.ToNative`
        instead. [moby/moby#50030](https://redirect.github.com/moby/moby/pull/50030)\n\n###
        [`v28.1.1`](https://redirect.github.com/moby/moby/releases/tag/v28.1.1)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.1.0...v28.1.1)\n\n####
        28.1.1\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.1)\n-
        \  [moby/moby, 28.1.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.1)\n\n#####
        Bug fixes and enhancements\n\n-   Fix `dockerd-rootless-setuptool.sh` incorrectly
        reporting missing `iptables`. [moby/moby#49833](https://redirect.github.com/moby/moby/pull/49833)\n-
        \  containerd image store: Fix a potential daemon crash when using `docker
        load` with archives containing zero-size tar headers. [moby/moby#49837](https://redirect.github.com/moby/moby/pull/49837)\n\n#####
        Packaging updates\n\n-   Update Buildx to [v0.23.0](https://redirect.github.com/docker/buildx/releases/tag/v0.23.0).
        [docker/docker-ce-packaging#1185](https://redirect.github.com/docker/docker-ce-packaging/pull/1185)\n-
        \  Update Compose to [v2.35.1](https://redirect.github.com/docker/compose/releases/tag/v2.35.1).
        [docker/docker-ce-packaging#1188](https://redirect.github.com/docker/docker-ce-packaging/pull/1188)\n\n#####
        Networking\n\n-   Add a warning to a container's `/etc/resolv.conf` when no
        upstream DNS servers were found. [moby/moby#49827](https://redirect.github.com/moby/moby/pull/49827)\n\n###
        [`v28.1.0`](https://redirect.github.com/moby/moby/releases/tag/v28.1.0)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.0.4...v28.1.0)\n\n####
        28.1.0\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
        \  [moby/moby, 28.1.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
        \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.1.0/docs/api/version-history.md).\n\n#####
        New\n\n-   Add `docker bake` sub-command as alias for `docker buildx bake`.
        [docker/cli#5947](https://redirect.github.com/docker/cli/pull/5947)\n-   Experimental:
        add a new `--use-api-socket` flag on `docker run` and `docker create` to enable
        access to Docker socket from inside a container and to share credentials from
        the host with the container. [docker/cli#5858](https://redirect.github.com/docker/cli/pull/5858)\n-
        \  `docker image inspect` now supports a `--platform` flag to inspect a specific
        platform of a multi-platform image. [docker/cli#5934](https://redirect.github.com/docker/cli/pull/5934)\n\n#####
        Bug fixes and enhancements\n\n-   Add CLI shell-completion for context names.
        [docker/cli#6016](https://redirect.github.com/docker/cli/pull/6016)\n-   Fix
        `docker images --tree` not including non-container images content size in
        the total image content size. [docker/cli#6000](https://redirect.github.com/docker/cli/pull/6000)\n-
        \  Fix `docker load` not preserving replaced images. [moby/moby#49650](https://redirect.github.com/moby/moby/pull/49650)\n-
        \  Fix `docker login` hints when logging in to a custom registry. [docker/cli#6015](https://redirect.github.com/docker/cli/pull/6015)\n-
        \  Fix `docker stats` not working properly on machines with high CPU core
        count. [moby/moby#49734](https://redirect.github.com/moby/moby/pull/49734)\n-
        \  Fix a regression causing `docker pull/push` to fail when interacting with
        a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n-
        \  Fix an issue preventing rootless Docker setup on a host with no `ip_tables`
        kernel module. [moby/moby#49727](https://redirect.github.com/moby/moby/pull/49727)\n-
        \  Fix an issue that could lead to unwanted iptables rules being restored
        and never deleted following a firewalld reload. [moby/moby#49728](https://redirect.github.com/moby/moby/pull/49728)\n-
        \  Improve CLI completion of `docker service scale`. [docker/cli#5968](https://redirect.github.com/docker/cli/pull/5968)\n-
        \  `docker images --tree` now hides both untagged and dangling images by default.
        [docker/cli#5924](https://redirect.github.com/docker/cli/pull/5924)\n-   `docker
        system info` will provide an exit code if a connection cannot be established
        to the Docker daemon. [docker/cli#5918](https://redirect.github.com/docker/cli/pull/5918)\n-
        \  containerd image store: Fix `image tag` event not being emitted when building
        with BuildKit. [moby/moby#49678](https://redirect.github.com/moby/moby/pull/49678)\n-
        \  containerd image store: Improve `docker push/pull` handling of remote registry
        errors. [moby/moby#49770](https://redirect.github.com/moby/moby/pull/49770)\n-
        \  containerd image store: Show pull progress for non-layer image blobs. [moby/moby#49746](https://redirect.github.com/moby/moby/pull/49746)\n\n#####
        Packaging updates\n\n-   Add Debian \"Trixie\" packages. [docker/docker-ce-packaging#1181](https://redirect.github.com/docker/docker-ce-packaging/pull/1181)\n-
        \  Add Fedora 42 packages. [docker/containerd-packaging#418](https://redirect.github.com/docker/containerd-packaging/pull/418),
        [docker/docker-ce-packaging#1169](https://redirect.github.com/docker/docker-ce-packaging/pull/1169)\n-
        \  Add Ubuntu 25.04 \"Plucky Puffin\" packages. [docker/containerd-packaging#419](https://redirect.github.com/docker/containerd-packaging/pull/419),
        [docker/docker-ce-packaging#1177](https://redirect.github.com/docker/docker-ce-packaging/pull/1177)\n-
        \  Update BuildKit to [v0.21.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.21.0).
        [moby/moby#49809](https://redirect.github.com/moby/moby/pull/49809)\n-   Update
        Compose to [v2.35.0](https://redirect.github.com/docker/compose/releases/tag/v2.35.0).
        [docker/docker-ce-packaging#1183](https://redirect.github.com/docker/docker-ce-packaging/pull/1183)\n-
        \  Update Go runtime to [1.23.8](https://go.dev/doc/devel/release#go1.23.8).
        [docker/cli#5986](https://redirect.github.com/docker/cli/pull/5986), [docker/docker-ce-packaging#1180](https://redirect.github.com/docker/docker-ce-packaging/pull/1180),
        [moby/moby#49737](https://redirect.github.com/moby/moby/pull/49737)\n\n#####
        Networking\n\n-   Fix a bug causing host port-mappings on Swarm containers
        to be duplicated on `docker ps` and `docker inspect`. [moby/moby#49724](https://redirect.github.com/moby/moby/pull/49724)\n-
        \  Fix an issue that caused container network attachment to fail with error
        \"Bridge port not forwarding\". [moby/moby#49705](https://redirect.github.com/moby/moby/pull/49705)\n-
        \  Fix an issue with removal of a `--link` from a container in the default
        bridge network. [moby/moby#49778](https://redirect.github.com/moby/moby/pull/49778)\n-
        \  Improve how network-endpoint relationships are tracked to reduce the chance
        of the \"has active endpoints\" error to be wrongfully returned. [moby/moby#49736](https://redirect.github.com/moby/moby/pull/49736)\n-
        \  Improve the \"has active endpoints\" error message by including the name
        of endpoints still connected to the network being deleted. [moby/moby#49773](https://redirect.github.com/moby/moby/pull/49773)\n\n#####
        API\n\n-   Update API version to [v1.49](https://docs.docker.com/engine/api/v1.49/).
        [moby/moby#49718](https://redirect.github.com/moby/moby/pull/49718)\n-   `GET
        /image/{name}/json` now supports a `platform` parameter allowing to specify
        which platform variant of a multi-platform image to inspect. [moby/moby#49586](https://redirect.github.com/moby/moby/pull/49586)\n-
        \  `GET /info` now returns a `FirewallBackend` containing information about
        the daemon's firewalling configuration. [moby/moby#49761](https://redirect.github.com/moby/moby/pull/49761)\n\n#####
        Go SDK\n\n-   Update minimum required Go version to go1.23. [docker/cli#5868](https://redirect.github.com/docker/cli/pull/5868)\n-
        \  cli/command/context: remove temporary `ContextType` field from JSON output.
        [docker/cli#5981](https://redirect.github.com/docker/cli/pull/5981)\n-   client:
        Keep image references in canonical format where possible. [moby/moby#49609](https://redirect.github.com/moby/moby/pull/49609)\n\n#####
        Deprecations\n\n-   API: Deprecated `AllowNondistributableArtifactsCIDRs`
        and `AllowNondistributableArtifactsHostnames` fields in the `RegistryConfig`
        struct in the `GET /info` response are omitted in API v1.49. [moby/moby#49749](https://redirect.github.com/moby/moby/pull/49749)\n-
        \  API: Deprecated: The `ContainerdCommit.Expected`, `RuncCommit.Expected`,
        and `InitCommit.Expected` fields in the `GET /info` endpoint were deprecated
        in API v1.48, and are now omitted in API v1.49. [moby/moby#48556](https://redirect.github.com/moby/moby/pull/48556)\n-
        \  Go-SDK: cli/command/image: Deprecate `RunPull`: this function was only
        used internally and will be removed in the next release. [docker/cli#5975](https://redirect.github.com/docker/cli/pull/5975)\n-
        \  Go-SDK: cli/config/configfile: deprecate `ConfigFile.Experimental` field.
        Experimental CLI features are always enabled since version v20.10 and this
        field is no longer used. Use `ConfigFile.Features` instead for optional features.
        This field will be removed in a future release. [docker/cli#5977](https://redirect.github.com/docker/cli/pull/5977)\n-
        \  Go-SDK: deprecate `pkg/archive`, which was migrated to `github.com/moby/go-archive`.
        [moby/moby#49743](https://redirect.github.com/moby/moby/pull/49743)\n-   Go-SDK:
        deprecate `pkg/atomicwriter`, which was migrated to `github.com/moby/sys/atomicwriter`.
        [moby/moby#49748](https://redirect.github.com/moby/moby/pull/49748)\n-   Go-SDK:
        opts: remove deprecated `PortOpt`, `ConfigOpt`, `SecretOpt` aliases. [docker/cli#5953](https://redirect.github.com/docker/cli/pull/5953)\n-
        \  Go-SDK: registry: deprecate `APIEndpoint.Official` field. [moby/moby#49706](https://redirect.github.com/moby/moby/pull/49706)\n\n###
        [`v28.0.4`](https://redirect.github.com/moby/moby/releases/tag/v28.0.4)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.0.3...v28.0.4)\n\n####
        28.0.4\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.4 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.4)\n-
        \  [moby/moby, 28.0.4 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.4)\n\n#####
        Bug fixes and enhancements\n\n-   Fix a regression causing `docker pull/push`
        to fail when interacting with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n\n###
        [`v28.0.3`](https://redirect.github.com/moby/moby/releases/tag/v28.0.3)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.0.2...v28.0.3)\n\n####
        28.0.3\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.3 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.3)\n-
        \  [moby/moby, 28.0.3 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.3)\n\n#####
        Bug fixes and enhancements\n\n-   Fix `docker run` truncating the `STDOUT`/`STDERR`
        prematurely when the container exits before the data is consumed. [docker/cli#5957](https://redirect.github.com/docker/cli/pull/5957)\n\n#####
        Packaging updates\n\n-   Update BuildKit to [v0.20.2](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.2).
        [moby/moby#49698](https://redirect.github.com/moby/moby/pull/49698)\n-   Update
        `runc` to [v1.2.6](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.6)
        (static packages only). [moby/moby#49682](https://redirect.github.com/moby/moby/pull/49682)\n-
        \  Update containerd to [v1.7.26](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.26).
        [docker/containerd-packaging#409](https://redirect.github.com/docker/containerd-packaging/pull/409)\n\n###
        [`v28.0.2`](https://redirect.github.com/moby/moby/releases/tag/v28.0.2)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.0.1...v28.0.2)\n\n####
        28.0.2\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.2 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.2)\n-
        \  [moby/moby, 28.0.2 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.2)\n\n#####
        Bug fixes and enhancements\n\n-   Fix CLI-specific attributes (`docker.cli.*`)
        being unintentionally passed to downstream OTel services. [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-
        \  Fix an issue where user-specified `OTEL_RESOURCE_ATTRIBUTES` were being
        overridden by CLI's internal telemetry attributes. The CLI now properly merges
        user-specified attributes with internal ones, allowing both to coexist. [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-
        \  Fix daemon failing to start on Windows when a container created before
        v28.0.0 was present. [moby/moby#49626](https://redirect.github.com/moby/moby/pull/49626)\n-
        \  Fix possible error on `docker buildx prune` with the `--min-free-space`.
        [moby/moby#49623](https://redirect.github.com/moby/moby/pull/49623)\n-   Fix
        spurious `io: read/write on closed pipe` error in the daemon log when closing
        container. [moby/moby#49590](https://redirect.github.com/moby/moby/pull/49590)\n-
        \  Fix the Docker daemon failing too early if the containerd socket isn't
        immediately available. [moby/moby#49603](https://redirect.github.com/moby/moby/pull/49603)\n-
        \  Mask Linux thermal interrupt info in a container's `/proc` and `/sys` by
        default. [moby/moby#49560](https://redirect.github.com/moby/moby/pull/49560)\n-
        \  Update `contrib/check-config.sh` to check for more kernel modules related
        to iptables. [moby/moby#49622](https://redirect.github.com/moby/moby/pull/49622)\n-
        \  containerd image store: Fix integer overflow in User ID handling passed
        via `--user`. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
        \  containerd image store: Fix spurious `reference for unknown type: application/vnd.in-toto+json`
        warning being logged to the daemon's log. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
        \  containerd image store: Improve performance of `docker ps` when running
        large number of containers. [moby/moby#49365](https://redirect.github.com/moby/moby/pull/49365)\n\n#####
        Packaging updates\n\n-   Update BuildKit to [v0.20.1](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.1).
        [moby/moby#49587](https://redirect.github.com/moby/moby/pull/49587)\n-   Update
        Buildx to [v0.22.0](https://redirect.github.com/docker/buildx/releases/tag/v0.22.0).
        [docker/docker-ce-packaging#1175](https://redirect.github.com/docker/docker-ce-packaging/pull/1175)\n-
        \  Update Compose to [v2.34.0](https://redirect.github.com/docker/compose/releases/tag/v2.34.0).
        [docker/docker-ce-packaging#1172](https://redirect.github.com/docker/docker-ce-packaging/pull/1172)\n-
        \  Update Go runtime to [1.23.7](https://go.dev/doc/devel/release#go1.23.7).
        [docker/cli#5890](https://redirect.github.com/docker/cli/pull/5890), [docker/docker-ce-packaging#1171](https://redirect.github.com/docker/docker-ce-packaging/pull/1171),
        [moby/moby#49580](https://redirect.github.com/moby/moby/pull/49580)\n-   Update
        RootlessKit to [v2.3.4](https://redirect.github.com/rootless-containers/rootlesskit/releases/tag/v2.3.4).
        [moby/moby#49614](https://redirect.github.com/moby/moby/pull/49614)\n-   Update
        containerd (static binaries only) to [v1.7.27](https://www.github.com/containerd/containerd/releases/tag/v1.7.27).
        [moby/moby#49656](https://redirect.github.com/moby/moby/pull/49656)\n\n#####
        Networking\n\n-   Add environment variable `DOCKER_INSECURE_NO_IPTABLES_RAW=1`
        to allow Docker to run on systems where the Linux kernel can't provide `CONFIG_IP_NF_RAW`
        support. When enabled, Docker will not create rules in the iptables `raw`
        table. Warning: This is not recommended for production environments as it
        reduces security by allowing other hosts on the local network to route to
        ports published to host addresses, even when they are published to `127.0.0.1.`
        This option bypasses some of the security hardening introduced in Docker Engine
        28.0.0. [moby/moby#49621](https://redirect.github.com/moby/moby/pull/49621)\n-
        \  Allow container startup when an endpoint is attached to a macvlan network
        where the parent interface is down. [moby/moby#49630](https://redirect.github.com/moby/moby/pull/49630)\n-
        \  Do not skip DNAT for packets originating in a gateway_mode=routed network.
        [moby/moby#49577](https://redirect.github.com/moby/moby/pull/49577)\n-   Fix
        a bug causing `docker ps` to inconsistently report dual-stack port mappings.
        [moby/moby#49657](https://redirect.github.com/moby/moby/pull/49657)\n-   Fix
        a bug that could cause `docker-proxy` to stop forwarding UDP datagrams to
        containers. [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n-
        \  Fix a bug that was causing `docker-proxy` to close UDP connections to containers
        eagerly and resulting in the source address to change needlessly. [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n\n#####
        Go SDK\n\n-   Move various types and consts from `cli-plugins/manager` to
        a separate package. [docker/cli#5902](https://redirect.github.com/docker/cli/pull/5902)\n-
        \  Update minimum required Go version to go1.23. [moby/moby#49541](https://redirect.github.com/moby/moby/pull/49541)\n-
        \  `cli/command`: Move `PrettyPrint` utility to `cli/command/formatter`. [docker/cli#5916](https://redirect.github.com/docker/cli/pull/5916)\n-
        \  runconfig/errors: split `ErrConflictHostNetwork` into `ErrConflictConnectToHostNetwork`
        and `ErrConflictDisconnectFromHostNetwork`. [moby/moby#49605](https://redirect.github.com/moby/moby/pull/49605)\n\n#####
        Deprecations\n\n-   Go-SDK: Deprecate `cli-plugins/manager.ResourceAttributesEnvvar`
        constant. It was used internally, but holds the `OTEL_RESOURCE_ATTRIBUTES`
        name, which is part of the OpenTelemetry specification. Users of this constant
        should define their own. It will be removed in the next release. [docker/cli#5881](https://redirect.github.com/docker/cli/pull/5881)\n-
        \  Go-SDK: Deprecate `opts.PortOpt`, `opts.ConfigOpt` and `opts.SecretOpt`.
        These types were moved to the `opts/swarmopts` package. [docker/cli#5907](https://redirect.github.com/docker/cli/pull/5907)\n-
        \  Go-SDK: Remove `service/logs` package. [docker/cli#5910](https://redirect.github.com/docker/cli/pull/5910)\n-
        \  Go-SDK: `cli/command/image`: Deprecate `PushTrustedReference` and move
        to `cli/trust`. [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-
        \  Go-SDK: `cli/command/image`: Deprecate and internalize `TrustedPush`. [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-
        \  Go-SDK: `cli/command`: deprecate `Cli.NotaryClient`: use [`trust.GetNotaryRepository`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/trust#GetNotaryRepository)
        instead. This method is no longer used and will be removed in the next release.
        [docker/cli#5885](https://redirect.github.com/docker/cli/pull/5885)\n-   Go-SDK:
        `cli/command`: deprecate `Cli.RegistryClient`. This method was only used internally
        and will be removed in the next release. Use [`client.NewRegistryClient`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/registry/client#NewRegistryClient)
        instead. [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889),
        [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889)\n-   Go-SDK:
        `registry`: Deprecate `RepositoryInfo.Official` field. [moby/moby#49567](https://redirect.github.com/moby/moby/pull/49567)\n-
        \  Go-SDK: `registry`: deprecate `HostCertsDir`: this function was only used
        internally and will be removed in the next release. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n-
        \  Go-SDK: `registry`: deprecate `SetCertsDir`: the cert-directory is now
        automatically selected when running with RootlessKit, and should no longer
        be set manually. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n\n###
        [`v28.0.1`](https://redirect.github.com/moby/moby/releases/tag/v28.0.1)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v28.0.0...v28.0.1)\n\n###
        28.0.1\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.1)\n-
        \  [moby/moby, 28.0.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.1)\n\n####
        Networking\n\n-   Remove dependency on kernel modules `ip_set`, `ip_set_hash_net`
        and `netfilter_xt_set`.\n    -   The dependency was introduced in release
        28.0.0 but proved too disruptive. The iptables rules using these modules have
        been replaced. [moby/moby#49530](https://redirect.github.com/moby/moby/pull/49530)\n-
        \  Allow daemon startup on a host with IPv6 disabled without requiring `--ip6tables=false`.
        [moby/moby#49525](https://redirect.github.com/moby/moby/pull/49525)\n-   Fix
        a bug that was causing containers with `--restart=always` and a published
        port already in use to restart in a tight loop. [moby/moby#49507](https://redirect.github.com/moby/moby/pull/49507)\n-
        \  Fix an issue with Swarm ingress, caused by incorrect ordering of iptables
        rules. [moby/moby#49538](https://redirect.github.com/moby/moby/pull/49538)\n-
        \  Fix creation of a swarm-scoped network from a `--config-only` network.
        [moby/moby#49521](https://redirect.github.com/moby/moby/pull/49521)\n-   Fix
        `docker network inspect` reporting an IPv6 gateway with CIDR suffix for a
        newly created network with no specific IPAM config, until a daemon restart.
        [moby/moby#49520](https://redirect.github.com/moby/moby/pull/49520)\n-   Improve
        the error reported when kernel modules `ip_set`, `ip_set_hash_net` and `netilter_xt_set`
        are not available. [moby/moby#49524](https://redirect.github.com/moby/moby/pull/49524)\n-
        \  Move most of Docker's iptables rules out of the filter-FORWARD chain, so
        that other applications are free to append rules that must follow Docker's
        rules. [moby/moby#49518](https://redirect.github.com/moby/moby/pull/49518)\n-
        \  Update `--help` output and man page lo state which options only apply to
        the default bridge network. [moby/moby#49522](https://redirect.github.com/moby/moby/pull/49522)\n\n####
        Bug fixes and enhancements\n\n-   Fix `docker context create` always returning
        an error when using the `\"skip-tls-verify\"` option. [docker/cli#5850](https://redirect.github.com/docker/cli/pull/5850)\n-
        \  Fix shell completion suggesting IDs instead of names for services and nodes.
        [docker/cli#5848](https://redirect.github.com/docker/cli/pull/5848)\n-   Fix
        unintentionally printing exit status to standard error output when `docker
        exec/run` returns a non-zero status. [docker/cli#5854](https://redirect.github.com/docker/cli/pull/5854)\n-
        \  Fix regression `protocol \"tcp\" is not supported by the RootlessKit port
        driver \"slirp4netns\"`. [moby/moby#49514](https://redirect.github.com/moby/moby/pull/49514)\n-
        \  containerd image store: Fix `docker inspect` not being able to show multi-platform
        images with missing layers for all platforms. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
        \  containerd image store: Fix `docker images --tree` reporting wrong content
        size. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n-
        \  Fix compilation on i386 [moby/moby#49526](https://redirect.github.com/moby/moby/pull/49526)\n\n####
        Packaging updates\n\n-   Update `github.com/go-jose/go-jose/v4` to v4.0.5
        to address. [GHSA-c6gw-w398-hv78](https://redirect.github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78)
        / [CVE-2025-27144](https://www.cve.org/CVERecord?id=CVE-2025-27144) [docker/cli#5867](https://redirect.github.com/docker/cli/pull/5867)\n-
        \  Update Buildx to [v0.21.1](https://redirect.github.com/docker/buildx/releases/tag/v0.21.1).
        [docker/docker-ce-packaging#1167](https://redirect.github.com/docker/docker-ce-packaging/pull/1167)\n-
        \  Update Compose to [v2.33.1](https://redirect.github.com/docker/compose/releases/tag/v2.33.1).
        [docker/docker-ce-packaging#1168](https://redirect.github.com/docker/docker-ce-packaging/pull/1168)\n\n####
        API\n\n-   containerd image store: Fix `GET /images/json?manifests=1` not
        filling `Manifests` for index-only images. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
        \  containerd image store: Fix `GET /images/json and /images/<name>/json`
        `Size.Content` field including the size of content that's not available locally.
        [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n\n###
        [`v28.0.0`](https://redirect.github.com/moby/moby/releases/tag/v28.0.0)\n\n[Compare
        Source](https://redirect.github.com/moby/moby/compare/v27.5.1...v28.0.0)\n\n###
        28.0.0\n\nFor a full list of pull requests and changes in this release, refer
        to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
        \  [moby/moby, 28.0.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
        \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.0.0/docs/deprecated.md).\n-
        \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.0.0/docs/api/version-history.md).\n\n####
        New\n\n-   Add ability to mount an image inside a container via `--mount type=image`.
        [moby/moby#48798](https://redirect.github.com/moby/moby/pull/48798)\n    -
        \  You can also specify `--mount type=image,image-subpath=[subpath],...` option
        to mount a specific path from the image. [docker/cli#5755](https://redirect.github.com/docker/cli/pull/5755)\n-
        \  `docker images --tree` now shows metadata badges. [docker/cli#5744](https://redirect.github.com/docker/cli/pull/5744)\n-
        \  `docker load`, `docker save`, and `docker history` now support a `--platform`
        flag allowing you to choose a specific platform for single-platform operations
        on multi-platform images. [docker/cli#5331](https://redirect.github.com/docker/cli/pull/5331)\n-
        \  Add `OOMScoreAdj` to `docker service create` and `docker stack`. [docker/cli#5145](https://redirect.github.com/docker/cli/pull/5145)\n-
        \  `docker buildx prune` now supports `reserved-space`, `max-used-space`,
        `min-free-space` and `keep-bytes` filters. [moby/moby#48720](https://redirect.github.com/moby/moby/pull/48720)\n-
        \  Windows: Add support for running containerd as a child process of the daemon,
        instead of using a system-installed containerd. [moby/moby#47955](https://redirect.github.com/moby/moby/pull/47955)\n\n####
        Networking\n\n-   The `docker-proxy` binary has been updated, older versions
        will not work with the updated `dockerd`. [moby/moby#48132](https://redirect.github.com/moby/moby/pull/48132)\n
        \   -   Close a window in which the userland proxy (`docker-proxy`) could
        accept TCP connections, that would then fail after `iptables` NAT rules were
        set up.\n    -   The executable `rootlesskit-docker-proxy` is no longer used,
        it has been removed from the build and distribution.\n-   DNS nameservers
        read from the host's `/etc/resolv.conf` are now always accessed from the host's
        network namespace. [moby/moby#48290](https://redirect.github.com/moby/moby/pull/48290)\n
        \   -   When the host's `/etc/resolv.conf` contains no nameservers and there
        are no `--dns` overrides, Google's DNS servers are no longer used, apart from
        by the default bridge network and in build containers.\n-   Container interfaces
        in bridge and macvlan networks now use randomly generated MAC addresses. [moby/moby#48808](https://redirect.github.com/moby/moby/pull/48808)\n
        \   -   Gratuitous ARP / Neighbour Advertisement messages will be sent when
        the interfaces are started so that, when IP addresses are reused, they're
        associated with the newly generated MAC address.\n    -   IPv6 addresses in
        the default bridge network are now IPAM-assigned, rather than being derived
        from the MAC address.\n-   The deprecated OCI `prestart` hook is now only
        used by build containers. For other containers, network interfaces are added
        to the network namespace after task creation is complete, before the container
        task is started. [moby/moby#47406](https://redirect.github.com/moby/moby/pull/47406)\n-
        \  Add a new `gw-priority` option to `docker run`, `docker container create`,
        and `docker network connect`. This option will be used by the Engine to determine
        which network provides the default gateway for a container. On `docker run`,
        this option is only available through the extended `--network` syntax. [docker/cli#5664](https://redirect.github.com/docker/cli/pull/5664)\n-
        \  Add a new netlabel `com.docker.network.endpoint.ifname` to customize the
        interface name used when connecting a container to a network. It's supported
        by all built-in network drivers on Linux. [moby/moby#49155](https://redirect.github.com/moby/moby/pull/49155)\n
        \   -   When a container is created with multiple networks specified, there's
        no guarantee on the order networks will be connected to the container. So,
        if a custom interface name uses the same prefix as the auto-generated names,
        for example `eth`, the container might fail to start.\n    -   The recommended
        practice is to use a different prefix, for example `en0`, or a numerical suffix
        high enough to never collide, for example `eth100`.\n    -   This label can
        be specified on `docker network connect` via the `--driver-opt` flag, for
        example `docker network connect --driver-opt=com.docker.network.endpoint.ifname=foobar
        \u2026`.\n    -   Or via the long-form `--network` flag on `docker run`, for
        example `docker run --network=name=bridge,driver-opt=com.docker.network.endpoint.ifname=foobar
        \u2026`\n-   If a custom network driver reports capability `GwAllocChecker`
        then, before a network is created, it will get a `GwAllocCheckerRequest` with
        the network's options. The custom driver may then reply that no gateway IP
        address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n\n####
        Port publishing in bridge networks\n\n-   `dockerd` now requires `ipset` support
        in the Linux kernel. [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n
        \   -   The `iptables` and `ip6tables` rules used to implement port publishing
        and network isolation have been extensively modified. This enables some of
        the following functional changes, and is a first step in refactoring to enable
        native `nftables` support in a future release. [moby/moby#48815](https://redirect.github.com/moby/moby/issues/48815)\n
        \   -   If it becomes necessary to downgrade to an earlier version of the
        daemon, some manual cleanup of the new rules will be necessary. The simplest
        and surest approach is to reboot the host, or use `iptables -F` and `ip6tables
        -F` to flush all existing `iptables` rules from the `filter` table before
        starting the older version of the daemon. When that is not possible, run the
        following commands as root:\n        -   `iptables -D FORWARD -m set --match-set
        docker-ext-bridges-v4 dst -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT;
        ip6tables -D FORWARD -m set --match-set docker-ext-bridges-v6 dst -m conntrack
        --ctstate RELATED,ESTABLISHED -j ACCEPT`\n        -   `iptables -D FORWARD
        -m set --match-set docker-ext-bridges-v4 dst -j DOCKER; ip6tables -D FORWARD
        -m set --match-set docker-ext-bridges-v6 dst -j DOCKER`\n        -   If you
        were previously running with the iptables filter-FORWARD policy set to `ACCEPT`
        and need to restore access to unpublished ports, also delete per-bridge-network
        rules from the `DOCKER` chains. For example, `iptables -D DOCKER ! -i docker0
        -o docker0 -j DROP`.\n-   Fix a security issue that was allowing remote hosts
        to connect directly to a container on its published ports. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
        \  Fix a security issue that was allowing neighbor hosts to connect to ports
        mapped on a loopback address. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
        \  Fix an issue that prevented port publishing to link-local addresses. [moby/moby#48570](https://redirect.github.com/moby/moby/pull/48570)\n-
        \  UDP ports published by a container are now reliably accessible by containers
        on other networks, via the host's public IP address. [moby/moby#48571](https://redirect.github.com/moby/moby/pull/48571)\n-
        \  Docker will now only set the `ip6tables` policy for the `FORWARD` chain
        in the `filter` table to `DROP` if it enables IP forwarding on the host itself
        (sysctls `net.ipv6.conf.all.forwarding` and `net.ipv6.conf.default.forwarding`).
        This is now aligned with existing IPv4 behaviour. [moby/moby#48594](https://redirect.github.com/moby/moby/pull/48594)\n
        \   -   If IPv6 forwarding is enabled on your host, but you were depending
        on Docker to set the ip6tables filter-FORWARD policy to `DROP`, you may need
        to update your host's configuration to make sure it is secure.\n-   Direct
        routed access to container ports that are not exposed using `p`/`-publish`
        is now blocked in the `DOCKER` iptables chain. [moby/moby#48724](https://redirect.github.com/moby/moby/pull/48724)\n
        \   -   If the default iptables filter-FORWARD policy was previously left
        at `ACCEPT` on your host, and direct routed access to a container's unpublished
        ports from a remote host is still required, options are:\n        -   Publish
        the ports you need.\n        -   Use the new `gateway_mode_ipv[46]=nat-unprotected`,
        described below.\n    -   Container ports published to host addresses will
        continue to be accessible via those host addresses, using NAT or the userland
        proxy.\n    -   Unpublished container ports continue to be directly accessible
        from the Docker host via the container's IP address.\n-   Networks created
        with `gateway_mode_ipv[46]=routed` are now accessible from other bridge networks
        running on the same Docker host, as well as from outside the host. [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n-
        \  Bridge driver options `com.docker.network.bridge.gateway_mode_ipv4` and
        `com.docker.network.bridge.gateway_mode_ipv6` now accept mode `nat-unprotected`.
        [moby/moby#48597](https://redirect.github.com/moby/moby/pull/48597)\n    -
        \  `nat-unprotected` is similar to the default `nat` mode, but no per port/protocol
        rules are set up. This means any port on a container can be accessed by direct-routing
        from a remote host.\n-   Bridge driver options `com.docker.network.bridge.gateway_mode_ipv4`
        and `com.docker.network.bridge.gateway_mode_ipv6` now accept mode `isolated`,
        when the network is also `internal`. [moby/moby#49262](https://redirect.github.com/moby/moby/pull/49262)\n
        \   -   An address is normally assigned to the bridge device in an `internal`
        network. So, processes on the Docker host can access the network, and containers
        in the network can access host services listening on that bridge address (including
        services listening on \"any\" host address, `0.0.0.0` or `::`).\n    -   An
        `internal` bridge network created with gateway mode `isolated` does not have
        an address on the Docker host.\n-   When a port mapping includes a host IP
        address or port number that cannot be used because NAT from the host is disabled
        using `--gateway_mode_ipv[46]`, container creation will no longer fail. The
        unused fields may be needed if the gateway endpoint changes when networks
        are connected or disconnected. A message about the unused fields will be logged.
        [moby/moby#48575](https://redirect.github.com/moby/moby/pull/48575)\n-   Do
        not create iptables nat-POSTROUTING masquerade rules for a container's own
        published ports, when the userland proxy is enabled. [moby/moby#48854](https://redirect.github.com/moby/moby/pull/48854)\n\n####
        IPv6\n\n-   Add `docker network create` option `--ipv4`. To disable IPv4 address
        assignment for a network, use `docker network create --ipv4=false [...]`.
        [docker/cli#5599](https://redirect.github.com/docker/cli/pull/5599)\n-   Daemon
        option `--ipv6` (`\"ipv6\": true` in `daemon.json`) can now be used without
        `fixed-cidr-v6`. [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
        \  IPAM now handles subnets bigger than \"/64\". [moby/moby#49223](https://redirect.github.com/moby/moby/pull/49223)\n-
        \  Duplicate address detection (DAD) is now disabled for addresses assigned
        to the bridges belonging to bridge networks. [moby/moby#48609](https://redirect.github.com/moby/moby/pull/48609)\n-
        \  Modifications to `host-gateway`, for compatibility with IPv6-only networks.
        [moby/moby#48807](https://redirect.github.com/moby/moby/pull/48807)\n    -
        \  When special value `host-gateway` is used in an `--add-host` option in
        place of an address, it's replaced by an address on the Docker host to make
        it possible to refer to the host by name. The address used belongs to the
        default bridge (normally `docker0`). Until now it's always been an IPv4 address,
        because all containers on bridge networks had IPv4 addresses.\n    -   Now,
        if IPv6 is enabled on the default bridge network, `/etc/hosts` entries will
        be created for IPv4 and IPv6 addresses. So, a container that's only connected
        to IPv6-only networks can access the host by name.\n    -   The `--host-gateway-ip`
        option overrides the address used to replace `host-gateway`. Two of these
        options are now allowed on the command line, for one IPv4 gateway and one
        IPv6.\n    -   In the `daemon.json` file, to provide two addresses, use `\"host-gateway-ips\"`.
        For example, `\"host-gateway-ips\": [\"192.0.2.1\", \"2001:db8::1111\"]`.\n\n####
        Bug fixes and enhancements\n\n-   Add IPv6 loopback address as an insecure
        registry by default. [moby/moby#48540](https://redirect.github.com/moby/moby/pull/48540)\n-
        \  Add support for Cobra-generated completion scripts for `dockerd`. [moby/moby#49339](https://redirect.github.com/moby/moby/pull/49339)\n-
        \  Fix DNS queries failing when containers are launched via `systemd` auto-start
        on boot [moby/moby#48812](https://redirect.github.com/moby/moby/pull/48812)\n-
        \  Fix Docker Swarm mode ignoring `volume.subpath` [docker/cli#5833](https://redirect.github.com/docker/cli/pull/5833)\n-
        \  Fix `docker export` continuing the export after the operation is canceled.
        [moby/moby#49265](https://redirect.github.com/moby/moby/pull/49265)\n-   Fix
        `docker export` not releasing the container's writable layer after a failure.
        [moby/moby#48517](https://redirect.github.com/moby/moby/pull/48517)\n-   Fix
        `docker images --tree` unnecessary truncating long image names when multiple
        names are available [docker/cli#5757](https://redirect.github.com/docker/cli/pull/5757)\n-
        \  Fix a bug where a container with a name matching another container's ID
        is not restored on daemon startup. [moby/moby#48669](https://redirect.github.com/moby/moby/pull/48669)\n-
        \  Fix an issue preventing some IPv6 addresses shown by `docker ps` to be
        properly bracketed [docker/cli#5468](https://redirect.github.com/docker/cli/pull/5468)\n-
        \  Fix bug preventing image pulls from being cancelled during `docker run`.
        [docker/cli#5645](https://redirect.github.com/docker/cli/pull/5645)\n-   Fix
        error-handling when running the daemon as a Windows service to prevent unclean
        exits. [moby/moby#48518](https://redirect.github.com/moby/moby/pull/48518)\n-
        \  Fix issue causing output of `docker run` to be inconsistent when using
        `--attach stdout` or `--attach stderr` versus `stdin`.  `docker run --attach
        stdin` now exits if the container exits. [docker/cli#5662](https://redirect.github.com/docker/cli/pull/5662)\n-
        \  Fix rootless Docker setup with `subid` backed by NSS modules. [moby/moby#49036](https://redirect.github.com/moby/moby/pull/49036)\n-
        \  Generated completion scripts from the CLI now show descriptions next to
        each command/flag suggestion. [docker/cli#5756](https://redirect.github.com/docker/cli/pull/5756)\n-
        \  IPv6 addresses shown by `docker ps` in port bindings are now bracketed
        [docker/cli#5363](https://redirect.github.com/docker/cli/pull/5363)\n-   Implement
        the ports validation method for Compose [docker/cli#5524](https://redirect.github.com/docker/cli/pull/5524)\n-
        \  Improve error-output for invalid flags on the command line. [docker/cli#5233](https://redirect.github.com/docker/cli/pull/5233)\n-
        \  Improve errors when failing to start a container using anther container's
        network namespace. [moby/moby#49367](https://redirect.github.com/moby/moby/pull/49367)\n-
        \  Improve handling of invalid API errors that could result in an empty error
        message being shown. [moby/moby#49373](https://redirect.github.com/moby/moby/pull/49373)\n-
        \  Improve output and consistency for unknown (sub)commands and invalid arguments
        [docker/cli#5234](https://redirect.github.com/docker/cli/pull/5234)\n-   Improve
        validation of `exec-opts` in daemon configuration. [moby/moby#48979](https://redirect.github.com/moby/moby/pull/48979)\n-
        \  Update the handling of the `--gpus=0` flag to be consistent with the NVIDIA
        Container Runtime. [moby/moby#48482](https://redirect.github.com/moby/moby/pull/48482)\n-
        \  `client.ContainerCreate` now normalizes `CapAdd` and `CapDrop` fields in
        `HostConfig` to their canonical form. [moby/moby#48551](https://redirect.github.com/moby/moby/pull/48551)\n-
        \  `docker image save` now produces stable timestamps. [moby/moby#48611](https://redirect.github.com/moby/moby/pull/48611)\n-
        \  `docker inspect` now lets you inspect Swarm configs [docker/cli#5573](https://redirect.github.com/docker/cli/pull/5573)\n-
        \  containerd image store: Add support for `Extracting` layer status in `docker
        pull`. [moby/moby#49064](https://redirect.github.com/moby/moby/pull/49064)\n-
        \  containerd image store: Fix `commit`, `import`, and `build` not preserving
        a replaced image as a dangling image. [moby/moby#48316](https://redirect.github.com/moby/moby/pull/48316)\n-
        \  containerd image store: Make `docker load --platform` return an error when
        the requested platform isn't loaded. [moby/moby#48718](https://redirect.github.com/moby/moby/pull/48718)\n-
        \  Fix validation of `--link` option. [docker/cli#5739](https://redirect.github.com/docker/cli/pull/5739)\n-
        \  Add validation of network-diagnostic-port daemon configuration option.
        [moby/moby#49305](https://redirect.github.com/moby/moby/pull/49305)\n-   Unless
        explicitly configured, an IP address is no longer reserved for a gateway in
        cases where it is not required. Namely, \u201Cinternal\u201D bridge networks
        with option `com.docker.network.bridge.inhibit_ipv4`, `ipvlan` or `macvlan`
        networks with no parent interface, and L3 IPvlan modes. [moby/moby#49261](https://redirect.github.com/moby/moby/pull/49261)\n-
        \  If a custom network driver reports capability `GwAllocChecker` then, before
        a network is created, it will get a `GwAllocCheckerRequest` with the network's
        options. The custom driver may then reply that no gateway IP address should
        be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n-
        \  Fixed an issue that meant a container could not be attached to an L3 IPvlan
        at the same time as other network types. [moby/moby#49130](https://redirect.github.com/moby/moby/pull/49130)\n-
        \  Remove the correct `/etc/hosts` entries when disconnecting a container
        from a network. [moby/moby#48857](https://redirect.github.com/moby/moby/pull/48857)\n-
        \  Fix duplicate network disconnect events. [moby/moby#48800](https://redirect.github.com/moby/moby/pull/48800)\n-
        \  Resolve issues related to changing `fixed-cidr` for `docker0`, and inferring
        configuration from a user-managed default bridge (`--bridge`). [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
        \  Remove feature flag `windows-dns-proxy`, introduced in release 26.1.0 to
        control forwarding to external DNS resolvers from Windows containers, to make
        `nslookup` work. It was enabled by default in release 27.0.0. [moby/moby#48738](https://redirect.github.com/moby/moby/pull/48738)\n-
        \  Remove an `iptables` mangle rule for checksumming SCTP. The rule can be
        re-enabled by setting `DOCKER_IPTABLES_SCTP_CHECKSUM=1` in the daemon's environment.
        This override will be removed in a future release. [moby/moby#48149](https://redirect.github.com/moby/moby/pull/48149)\n-
        \  Faster connection to bridge networks, in most cases. [moby/moby#49302](https://redirect.github.com/moby/moby/pull/49302)\n\n####
        Packaging updates\n\n-   Update Go runtime to [1.23.6](https://go.dev/doc/devel/release#go1.23.6).
        [docker/cli#5795](https://redirect.github.com/docker/cli/pull/5795), [moby/moby#49393](https://redirect.github.com/moby/moby/pull/49393),
        [docker/docker-ce-packaging#1161](https://redirect.github.com/docker/docker-ce-packaging/pull/1161)\n-
        \  Update `runc` to [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)
        (static binaries only). [moby/moby#49464](https://redirect.github.com/moby/moby/pull/49464)\n-
        \  Update containerd to [v1.7.25](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.25).
        [moby/moby#49252](https://redirect.github.com/moby/moby/pull/49252)\n-   Update
        BuildKit to [v0.20.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.0).
        [moby/moby#49495](https://redirect.github.com/moby/moby/pull/49495)\n-   Update
        Buildx to [v0.21.0](https://redirect.github.com/docker/buildx/releases/tag/v0.21.0).
        [docker/docker-ce-packaging#1166](https://redirect.github.com/docker/docker-ce-packaging/pull/1166)\n-
        \  Update Compose to [v2.32.4](https://redirect.github.com/docker/compose/releases/tag/v2.32.3).
        [docker/docker-ce-packaging#1143](https://redirect.github.com/docker/docker-ce-packaging/pull/1143)\n-
        \  The canonical source for the `dockerd(8)` man page has been moved back
        to the `moby/moby` repository itself. [moby/moby#48298](https://redirect.github.com/moby/moby/pull/48298)\n\n####
        Go SDK\n\n-   Improve validation of empty object IDs. The client now returns
        an \"Invalid Parameter\" error when trying to use an empty ID or name. This
        changes the error returned by some \"Inspect\" functions from a \"Not found\"
        error to an \"Invalid Parameter\". [moby/moby#49381](https://redirect.github.com/moby/moby/pull/49381)\n-
        \  `Client.ImageBuild()` now omits default values from the API request's query
        string. [moby/moby#48651](https://redirect.github.com/moby/moby/pull/48651)\n-
        \  `api/types/container`: Merge `Stats` and `StatsResponse` [moby/moby#49287](https://redirect.github.com/moby/moby/pull/49287)\n-
        \  `client.WithVersion`: Strip v-prefix when setting API version [moby/moby#49352](https://redirect.github.com/moby/moby/pull/4935\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time (no
        schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
        **Automerge**: Disabled by config. Please merge this manually once you are
        satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
        tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR and
        you won't be reminded about this update again.\n\n---\n\n - [ ] <!-- rebase-check
        -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis PR was
        generated by [Mend Renovate](https://mend.io/renovate/). View the [repository
        job log](https://developer.mend.io/github/osism/ci-image).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
      change_url: https://github.com/osism/ci-image/pull/57
      child_jobs: []
      commit_id: f1c25f329a172181402a6ae2f329b4d0bec3d953
      event_id: a08d12d0-3bfd-11f0-8f1f-ccff601eba1b
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/880ec825a75e4278a0269ef8b8936837/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/880ec825a75e4278a0269ef8b8936837/work/logs
        result_data_file: /var/lib/zuul/builds/880ec825a75e4278a0269ef8b8936837/work/results.json
        src_root: /var/lib/zuul/builds/880ec825a75e4278a0269ef8b8936837/work/src
        work_root: /var/lib/zuul/builds/880ec825a75e4278a0269ef8b8936837/work
      include_vars: []
      items:
      - branch: main
        change: '57'
        change_message: "chore(deps): update dependency moby/moby to v28\n\nThis PR
          contains the following updates:\n\n| Package | Update | Change |\n|---|---|---|\n|
          [moby/moby](https://redirect.github.com/moby/moby) | major | `27.5.1` ->
          `28.2.0` |\n\n---\n\n### Release Notes\n\n<details>\n<summary>moby/moby
          (moby/moby)</summary>\n\n### [`v28.2.0`](https://redirect.github.com/moby/moby/releases/tag/v28.2.0):
          28.2.0\n\n[Compare Source](https://redirect.github.com/moby/moby/compare/v28.1.1...v28.2.0)\n\n####
          28.2.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.2.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  [moby/moby, 28.2.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.2.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.2.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.2.0/docs/api/version-history.md).\n\n>
          \\[!NOTE]\n> RHEL packages are currently not available and will be released
          later.\n\n##### New\n\n-   Add `{{.Platform}}` as formatting option for
          `docker ps` to show the platform of the image the container is running.
          [docker/cli#6042](https://redirect.github.com/docker/cli/pull/6042)\n-   Add
          support for relative parent paths (`../`) on bind mount sources when using
          `docker run/create` with `-v/--volume` or `--mount type=bind` options. [docker/cli#4966](https://redirect.github.com/docker/cli/pull/4966)\n-
          \  CDI is now enabled by default. [moby/moby#49963](https://redirect.github.com/moby/moby/pull/49963)\n-
          \  Show discovered CDI devices in `docker info`. [docker/cli#6078](https://redirect.github.com/docker/cli/pull/6078)\n-
          \  `docker image rm`: add `--platform` option to remove a variant from multi-platform
          images. [docker/cli#6109](https://redirect.github.com/docker/cli/pull/6109)\n-
          \  containerd image store: Initial BuildKit support for building Windows
          container images on Windows (requires an opt-in with `DOCKER_BUILDKIT=1`).
          [moby/moby#49740](https://redirect.github.com/moby/moby/pull/49740)\n\n#####
          Bug fixes and enhancements\n\n-   Add a new log option for fluentd log driver
          (`fluentd-write-timeout`), which enables specifying write timeouts for fluentd
          connections. [moby/moby#49911](https://redirect.github.com/moby/moby/pull/49911)\n-
          \  Add support for `DOCKER_AUTH_CONFIG` for the experimental `--use-api-socket`
          option. [docker/cli#6019](https://redirect.github.com/docker/cli/pull/6019)\n-
          \  Fix `docker exec` waiting for 10 seconds if a non-existing user or group
          was specified. [moby/moby#49868](https://redirect.github.com/moby/moby/pull/49868)\n-
          \  Fix `docker swarm init` ignoring `cacert` option of `--external-ca`.
          [docker/cli#5995](https://redirect.github.com/docker/cli/pull/5995)\n-   Fix
          an issue where the CLI would not correctly save the configuration file (`~/.docker/config.json`)
          if it was a relative symbolic link. [docker/cli#5282](https://redirect.github.com/docker/cli/pull/5282)\n-
          \  Fix containers with `--restart always` policy using CDI devices failing
          to start on daemon restart. [moby/moby#49990](https://redirect.github.com/moby/moby/pull/49990)\n-
          \  Fix shell-completion to only complete some flags once, even though they
          can be set multiple times. [docker/cli#6030](https://redirect.github.com/docker/cli/pull/6030)\n-
          \  Fix the `plugin does not implement PluginAddr interface` error for Swarm
          CSI drivers. [moby/moby#49961](https://redirect.github.com/moby/moby/pull/49961)\n-
          \  Improve `docker login` error messages for invalid options. [docker/cli#6036](https://redirect.github.com/docker/cli/pull/6036)\n-
          \  Make sure the terminal state is restored if the CLI is forcefully terminated.
          [docker/cli#6058](https://redirect.github.com/docker/cli/pull/6058)\n-   Update
          the default seccomp profile to match the libseccomp v2.6.0. The new syscalls
          are: `listmount`, `statmount`, `lsm_get_self_attr`, `lsm_list_modules`,
          `lsm_set_self_attr`, `mseal`, `uretprobe`, `riscv_hwprobe`, `getxattrat`,
          `listxattrat`, `removexattrat`, and `setxattrat`. This prevents containers
          from receiving EPERM errors when using them. [moby/moby#50077](https://redirect.github.com/moby/moby/pull/50077)\n-
          \  `docker inspect`: add shell completion, improve flag-description for
          `--type` and improve validation. [docker/cli#6052](https://redirect.github.com/docker/cli/pull/6052)\n-
          \  containerd image store: Enable BuildKit garbage collector by default.
          [moby/moby#49899](https://redirect.github.com/moby/moby/pull/49899)\n-   containerd
          image store: Fix `docker build` not persisting overridden images as dangling.
          [moby/moby#49702](https://redirect.github.com/moby/moby/pull/49702)\n-   containerd
          image store: Fix `docker system df` reporting a negative reclaimable space
          amount. [moby/moby#49707](https://redirect.github.com/moby/moby/pull/49707)\n-
          \  containerd image store: Fix duplicate `PUT` requests when pushing a multi-platform
          image. [moby/moby#49949](https://redirect.github.com/moby/moby/pull/49949)\n\n#####
          Packaging updates\n\n-   Drop Ubuntu 20.04 \"Focal\" packages as it reached
          end of life. [docker/docker-ce-packaging#1200](https://redirect.github.com/docker/docker-ce-packaging/pull/1200)\n-
          \  Fix install location for RPM-based `docker-ce` man-pages. [docker/docker-ce-packaging#1203](https://redirect.github.com/docker/docker-ce-packaging/pull/1203)\n-
          \  Update BuildKit to [v0.22.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.22.0).
          [moby/moby#50046](https://redirect.github.com/moby/moby/pull/50046)\n-   Update
          Buildx to [v0.24.0](https://redirect.github.com/docker/buildx/releases/tag/v0.24.0).
          [docker/docker-ce-packaging#1205](https://redirect.github.com/docker/docker-ce-packaging/pull/1205)\n-
          \  Update Compose to [v2.36.2](https://redirect.github.com/docker/compose/releases/tag/v2.36.2).
          [docker/docker-ce-packaging#1208](https://redirect.github.com/docker/docker-ce-packaging/pull/1208)\n-
          \  Update Go runtime to [1.24.3](https://go.dev/doc/devel/release#go1.24.3).
          [docker/docker-ce-packaging#1192](https://redirect.github.com/docker/docker-ce-packaging/pull/1192),
          [docker/cli#6060](https://redirect.github.com/docker/cli/pull/6060), [moby/moby#49174](https://redirect.github.com/moby/moby/pull/49174)\n\n#####
          Networking\n\n-   Add bridge network option `\"com.docker.network.bridge.trusted_host_interfaces\"`,
          accepting a space-separated list of interface names. These interfaces have
          direct access to published ports on container IP addresses. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Add daemon option `\"allow-direct-routing\"` to disable filtering of
          packets from outside the host addressed directly to containers. [moby/moby#49832](https://redirect.github.com/moby/moby/pull/49832)\n-
          \  Do not display network options `com.docker.network.enable_ipv4` or `com.docker.network.enable_ipv6`
          in inspect output if they have been overridden by `EnableIPv4` or `EnableIPv6`
          in the network create request. [moby/moby#49866](https://redirect.github.com/moby/moby/pull/49866)\n-
          \  Fix an issue that could cause network deletion to fail after a daemon
          restart, with error \"has active endpoints\" listing empty endpoint names.
          [moby/moby#49901](https://redirect.github.com/moby/moby/pull/49901)\n-   Fix
          an issue where `docker network inspect --verbose` could sometimes crash
          the daemon. [moby/moby#49937](https://redirect.github.com/moby/moby/pull/49937)\n-
          \  Fix an issue where the load-balancer IP address for an overlay network
          would not be released in certain cases if the Swarm was lacking an ingress
          network. [moby/moby#49948](https://redirect.github.com/moby/moby/pull/49948)\n-
          \  Improve the reliability of NetworkDB in busy clusters and lossy networks.
          [moby/moby#49932](https://redirect.github.com/moby/moby/pull/49932)\n-   Improvements
          to the reliability and convergence speed of NetworkDB. [moby/moby#49939](https://redirect.github.com/moby/moby/pull/49939)\n\n#####
          API\n\n-   Update API version to `1.50`.\n-   `DELETE /images/{name}` now
          supports a `platforms` query parameter. It accepts an array of JSON-encoded
          OCI Platform objects, allowing for selecting a specific platforms to delete
          content for. [moby/moby#49982](https://redirect.github.com/moby/moby/pull/49982)\n-
          \  `GET /info` now includes a `DiscoveredDevices` field. This is an array
          of `DeviceInfo` objects, each providing details about a device discovered
          by a device driver. [moby/moby#49980](https://redirect.github.com/moby/moby/pull/49980)\n\n#####
          Go SDK\n\n-   `api/types/container`: add `ContainerState` and constants
          for container state. [moby/moby#49965](https://redirect.github.com/moby/moby/pull/49965)\n-
          \  `api/types/container`: change `Summary.State` to a `ContainerState`.
          [moby/moby#49991](https://redirect.github.com/moby/moby/pull/49991)\n-   `api/types/container`:
          define `HealthStatus` type for health-status constants. [moby/moby#49876](https://redirect.github.com/moby/moby/pull/49876)\n-
          \  `api/types`: deprecate `BuildResult`, `ImageBuildOptions`, `ImageBuildOutput`,
          `ImageBuildResponse`, `BuilderVersion`, `BuilderV1`, and `BuilderBuildKi`
          which were moved to `api/types/build`. [moby/moby#50025](https://redirect.github.com/moby/moby/pull/50025)\n\n#####
          Deprecations\n\n-   API: Deprecated: `GET /images/{name}/json` no longer
          returns the following fields: `Config`, `Hostname`, `Domainname`, `AttachStdin`,
          `AttachStdout`, `AttachStderr`, `Tty`, `OpenStdin`, `StdinOnce`, `Image`,
          `NetworkDisabled` (already omitted unless set), `MacAddress` (already omitted
          unless set), `StopTimeout` (already omitted unless set). These additional
          fields were included in the response due to an implementation detail but
          not part of the image's Configuration, were marked deprecated in API v1.46,
          and are now omitted. [moby/moby#48457](https://redirect.github.com/moby/moby/pull/48457)\n-
          \  Go-SDK: Deprecate builder/remotecontext.Rel(). This function was needed
          on older versions of Go, but can now be replaced by `filepath.Rel()`. [moby/moby#49843](https://redirect.github.com/moby/moby/pull/49843)\n-
          \  Go-SDK: api/types: deprecate `BuildCachePruneOptions` in favor of `api/types/builder.CachePruneOptions`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `BuildCachePruneReport` in favor of `api/types/builder.CachePruneReport`.
          [moby/moby#50015](https://redirect.github.com/moby/moby/pull/50015)\n-   Go-SDK:
          api/types: deprecate `NodeListOptions`, `NodeRemoveOptions`, `ServiceCreateOptions`,
          `ServiceUpdateOptions`, `RegistryAuthFromSpec`, `RegistryAuthFromPreviousSpec`,
          `ServiceListOptions`, `ServiceInspectOptions`, and `SwarmUnlockKeyResponse`
          which were moved to `api/types/swarm`. [moby/moby#50027](https://redirect.github.com/moby/moby/pull/50027)\n-
          \  Go-SDK: api/types: deprecate `SecretCreateResponse`, `SecretListOptions`,
          `ConfigCreateResponse`, `ConfigListOptions` which were moved to api/types/swarm.
          [moby/moby#50024](https://redirect.github.com/moby/moby/pull/50024)\n-   Go-SDK:
          client: deprecate `IsErrNotFound`. [moby/moby#50012](https://redirect.github.com/moby/moby/pull/50012)\n-
          \  Go-SDK: container: deprecate `IsValidHealthString` in favor of `api/types/container.ValidateHealthStatus`.
          [moby/moby#49893](https://redirect.github.com/moby/moby/pull/49893)\n-   Go-SDK:
          container: deprecate `StateStatus`, `WaitCondition`, and the related  `WaitConditionNotRunning`,
          `WaitConditionNextExit`, and `WaitConditionRemoved` consts in favor of their
          equivalents in `api/types/container`. [moby/moby#49874](https://redirect.github.com/moby/moby/pull/49874)\n-
          \  Go-SDK: opts: deprecate `ListOpts.GetAll` in favor of `ListOpts.GetSlice`.
          [docker/cli#6032](https://redirect.github.com/docker/cli/pull/6032)\n-   Remove
          deprecated `IsAutomated` formatting placeholder from `docker search`. [docker/cli#6091](https://redirect.github.com/docker/cli/pull/6091)\n-
          \  Remove fallback for pulling images from non-OCI-compliant `docker.pkg.github.com`
          registry. [moby/moby#50094](https://redirect.github.com/moby/moby/pull/50094)\n-
          \  Remove support for pulling legacy v2, schema 1 images and remove `DOCKER_ENABLE_DEPRECATED_PULL_SCHEMA_1_IMAGE`
          environment-variable. [moby/moby#50036](https://redirect.github.com/moby/moby/pull/50036),
          [moby/moby#42300](https://redirect.github.com/moby/moby/pull/42300)\n-   The
          `BridgeNfIptables` and `BridgeNfIp6tables` fields in the `GET /info` response
          were deprecated in API v1.48, and are now omitted in API v1.50. [moby/moby#49904](https://redirect.github.com/moby/moby/pull/49904)\n-
          \  errdefs: Deprecate `errdefs.FromStatusCode`. Use containerd's `errhttp.ToNative`
          instead. [moby/moby#50030](https://redirect.github.com/moby/moby/pull/50030)\n\n###
          [`v28.1.1`](https://redirect.github.com/moby/moby/releases/tag/v28.1.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.1.0...v28.1.1)\n\n####
          28.1.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.1)\n-
          \  [moby/moby, 28.1.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.1)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `dockerd-rootless-setuptool.sh` incorrectly
          reporting missing `iptables`. [moby/moby#49833](https://redirect.github.com/moby/moby/pull/49833)\n-
          \  containerd image store: Fix a potential daemon crash when using `docker
          load` with archives containing zero-size tar headers. [moby/moby#49837](https://redirect.github.com/moby/moby/pull/49837)\n\n#####
          Packaging updates\n\n-   Update Buildx to [v0.23.0](https://redirect.github.com/docker/buildx/releases/tag/v0.23.0).
          [docker/docker-ce-packaging#1185](https://redirect.github.com/docker/docker-ce-packaging/pull/1185)\n-
          \  Update Compose to [v2.35.1](https://redirect.github.com/docker/compose/releases/tag/v2.35.1).
          [docker/docker-ce-packaging#1188](https://redirect.github.com/docker/docker-ce-packaging/pull/1188)\n\n#####
          Networking\n\n-   Add a warning to a container's `/etc/resolv.conf` when
          no upstream DNS servers were found. [moby/moby#49827](https://redirect.github.com/moby/moby/pull/49827)\n\n###
          [`v28.1.0`](https://redirect.github.com/moby/moby/releases/tag/v28.1.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.4...v28.1.0)\n\n####
          28.1.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.1.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  [moby/moby, 28.1.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.1.0)\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.1.0/docs/api/version-history.md).\n\n#####
          New\n\n-   Add `docker bake` sub-command as alias for `docker buildx bake`.
          [docker/cli#5947](https://redirect.github.com/docker/cli/pull/5947)\n-   Experimental:
          add a new `--use-api-socket` flag on `docker run` and `docker create` to
          enable access to Docker socket from inside a container and to share credentials
          from the host with the container. [docker/cli#5858](https://redirect.github.com/docker/cli/pull/5858)\n-
          \  `docker image inspect` now supports a `--platform` flag to inspect a
          specific platform of a multi-platform image. [docker/cli#5934](https://redirect.github.com/docker/cli/pull/5934)\n\n#####
          Bug fixes and enhancements\n\n-   Add CLI shell-completion for context names.
          [docker/cli#6016](https://redirect.github.com/docker/cli/pull/6016)\n-   Fix
          `docker images --tree` not including non-container images content size in
          the total image content size. [docker/cli#6000](https://redirect.github.com/docker/cli/pull/6000)\n-
          \  Fix `docker load` not preserving replaced images. [moby/moby#49650](https://redirect.github.com/moby/moby/pull/49650)\n-
          \  Fix `docker login` hints when logging in to a custom registry. [docker/cli#6015](https://redirect.github.com/docker/cli/pull/6015)\n-
          \  Fix `docker stats` not working properly on machines with high CPU core
          count. [moby/moby#49734](https://redirect.github.com/moby/moby/pull/49734)\n-
          \  Fix a regression causing `docker pull/push` to fail when interacting
          with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n-
          \  Fix an issue preventing rootless Docker setup on a host with no `ip_tables`
          kernel module. [moby/moby#49727](https://redirect.github.com/moby/moby/pull/49727)\n-
          \  Fix an issue that could lead to unwanted iptables rules being restored
          and never deleted following a firewalld reload. [moby/moby#49728](https://redirect.github.com/moby/moby/pull/49728)\n-
          \  Improve CLI completion of `docker service scale`. [docker/cli#5968](https://redirect.github.com/docker/cli/pull/5968)\n-
          \  `docker images --tree` now hides both untagged and dangling images by
          default. [docker/cli#5924](https://redirect.github.com/docker/cli/pull/5924)\n-
          \  `docker system info` will provide an exit code if a connection cannot
          be established to the Docker daemon. [docker/cli#5918](https://redirect.github.com/docker/cli/pull/5918)\n-
          \  containerd image store: Fix `image tag` event not being emitted when
          building with BuildKit. [moby/moby#49678](https://redirect.github.com/moby/moby/pull/49678)\n-
          \  containerd image store: Improve `docker push/pull` handling of remote
          registry errors. [moby/moby#49770](https://redirect.github.com/moby/moby/pull/49770)\n-
          \  containerd image store: Show pull progress for non-layer image blobs.
          [moby/moby#49746](https://redirect.github.com/moby/moby/pull/49746)\n\n#####
          Packaging updates\n\n-   Add Debian \"Trixie\" packages. [docker/docker-ce-packaging#1181](https://redirect.github.com/docker/docker-ce-packaging/pull/1181)\n-
          \  Add Fedora 42 packages. [docker/containerd-packaging#418](https://redirect.github.com/docker/containerd-packaging/pull/418),
          [docker/docker-ce-packaging#1169](https://redirect.github.com/docker/docker-ce-packaging/pull/1169)\n-
          \  Add Ubuntu 25.04 \"Plucky Puffin\" packages. [docker/containerd-packaging#419](https://redirect.github.com/docker/containerd-packaging/pull/419),
          [docker/docker-ce-packaging#1177](https://redirect.github.com/docker/docker-ce-packaging/pull/1177)\n-
          \  Update BuildKit to [v0.21.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.21.0).
          [moby/moby#49809](https://redirect.github.com/moby/moby/pull/49809)\n-   Update
          Compose to [v2.35.0](https://redirect.github.com/docker/compose/releases/tag/v2.35.0).
          [docker/docker-ce-packaging#1183](https://redirect.github.com/docker/docker-ce-packaging/pull/1183)\n-
          \  Update Go runtime to [1.23.8](https://go.dev/doc/devel/release#go1.23.8).
          [docker/cli#5986](https://redirect.github.com/docker/cli/pull/5986), [docker/docker-ce-packaging#1180](https://redirect.github.com/docker/docker-ce-packaging/pull/1180),
          [moby/moby#49737](https://redirect.github.com/moby/moby/pull/49737)\n\n#####
          Networking\n\n-   Fix a bug causing host port-mappings on Swarm containers
          to be duplicated on `docker ps` and `docker inspect`. [moby/moby#49724](https://redirect.github.com/moby/moby/pull/49724)\n-
          \  Fix an issue that caused container network attachment to fail with error
          \"Bridge port not forwarding\". [moby/moby#49705](https://redirect.github.com/moby/moby/pull/49705)\n-
          \  Fix an issue with removal of a `--link` from a container in the default
          bridge network. [moby/moby#49778](https://redirect.github.com/moby/moby/pull/49778)\n-
          \  Improve how network-endpoint relationships are tracked to reduce the
          chance of the \"has active endpoints\" error to be wrongfully returned.
          [moby/moby#49736](https://redirect.github.com/moby/moby/pull/49736)\n-   Improve
          the \"has active endpoints\" error message by including the name of endpoints
          still connected to the network being deleted. [moby/moby#49773](https://redirect.github.com/moby/moby/pull/49773)\n\n#####
          API\n\n-   Update API version to [v1.49](https://docs.docker.com/engine/api/v1.49/).
          [moby/moby#49718](https://redirect.github.com/moby/moby/pull/49718)\n-   `GET
          /image/{name}/json` now supports a `platform` parameter allowing to specify
          which platform variant of a multi-platform image to inspect. [moby/moby#49586](https://redirect.github.com/moby/moby/pull/49586)\n-
          \  `GET /info` now returns a `FirewallBackend` containing information about
          the daemon's firewalling configuration. [moby/moby#49761](https://redirect.github.com/moby/moby/pull/49761)\n\n#####
          Go SDK\n\n-   Update minimum required Go version to go1.23. [docker/cli#5868](https://redirect.github.com/docker/cli/pull/5868)\n-
          \  cli/command/context: remove temporary `ContextType` field from JSON output.
          [docker/cli#5981](https://redirect.github.com/docker/cli/pull/5981)\n-   client:
          Keep image references in canonical format where possible. [moby/moby#49609](https://redirect.github.com/moby/moby/pull/49609)\n\n#####
          Deprecations\n\n-   API: Deprecated `AllowNondistributableArtifactsCIDRs`
          and `AllowNondistributableArtifactsHostnames` fields in the `RegistryConfig`
          struct in the `GET /info` response are omitted in API v1.49. [moby/moby#49749](https://redirect.github.com/moby/moby/pull/49749)\n-
          \  API: Deprecated: The `ContainerdCommit.Expected`, `RuncCommit.Expected`,
          and `InitCommit.Expected` fields in the `GET /info` endpoint were deprecated
          in API v1.48, and are now omitted in API v1.49. [moby/moby#48556](https://redirect.github.com/moby/moby/pull/48556)\n-
          \  Go-SDK: cli/command/image: Deprecate `RunPull`: this function was only
          used internally and will be removed in the next release. [docker/cli#5975](https://redirect.github.com/docker/cli/pull/5975)\n-
          \  Go-SDK: cli/config/configfile: deprecate `ConfigFile.Experimental` field.
          Experimental CLI features are always enabled since version v20.10 and this
          field is no longer used. Use `ConfigFile.Features` instead for optional
          features. This field will be removed in a future release. [docker/cli#5977](https://redirect.github.com/docker/cli/pull/5977)\n-
          \  Go-SDK: deprecate `pkg/archive`, which was migrated to `github.com/moby/go-archive`.
          [moby/moby#49743](https://redirect.github.com/moby/moby/pull/49743)\n-   Go-SDK:
          deprecate `pkg/atomicwriter`, which was migrated to `github.com/moby/sys/atomicwriter`.
          [moby/moby#49748](https://redirect.github.com/moby/moby/pull/49748)\n-   Go-SDK:
          opts: remove deprecated `PortOpt`, `ConfigOpt`, `SecretOpt` aliases. [docker/cli#5953](https://redirect.github.com/docker/cli/pull/5953)\n-
          \  Go-SDK: registry: deprecate `APIEndpoint.Official` field. [moby/moby#49706](https://redirect.github.com/moby/moby/pull/49706)\n\n###
          [`v28.0.4`](https://redirect.github.com/moby/moby/releases/tag/v28.0.4)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.3...v28.0.4)\n\n####
          28.0.4\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.4 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.4)\n-
          \  [moby/moby, 28.0.4 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.4)\n\n#####
          Bug fixes and enhancements\n\n-   Fix a regression causing `docker pull/push`
          to fail when interacting with a private repository. [docker/cli#5964](https://redirect.github.com/docker/cli/pull/5964)\n\n###
          [`v28.0.3`](https://redirect.github.com/moby/moby/releases/tag/v28.0.3)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.2...v28.0.3)\n\n####
          28.0.3\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.3 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.3)\n-
          \  [moby/moby, 28.0.3 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.3)\n\n#####
          Bug fixes and enhancements\n\n-   Fix `docker run` truncating the `STDOUT`/`STDERR`
          prematurely when the container exits before the data is consumed. [docker/cli#5957](https://redirect.github.com/docker/cli/pull/5957)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.2](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.2).
          [moby/moby#49698](https://redirect.github.com/moby/moby/pull/49698)\n-   Update
          `runc` to [v1.2.6](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.6)
          (static packages only). [moby/moby#49682](https://redirect.github.com/moby/moby/pull/49682)\n-
          \  Update containerd to [v1.7.26](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.26).
          [docker/containerd-packaging#409](https://redirect.github.com/docker/containerd-packaging/pull/409)\n\n###
          [`v28.0.2`](https://redirect.github.com/moby/moby/releases/tag/v28.0.2)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.1...v28.0.2)\n\n####
          28.0.2\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.2 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.2)\n-
          \  [moby/moby, 28.0.2 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.2)\n\n#####
          Bug fixes and enhancements\n\n-   Fix CLI-specific attributes (`docker.cli.*`)
          being unintentionally passed to downstream OTel services. [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-
          \  Fix an issue where user-specified `OTEL_RESOURCE_ATTRIBUTES` were being
          overridden by CLI's internal telemetry attributes. The CLI now properly
          merges user-specified attributes with internal ones, allowing both to coexist.
          [docker/cli#5842](https://redirect.github.com/docker/cli/pull/5842)\n-   Fix
          daemon failing to start on Windows when a container created before v28.0.0
          was present. [moby/moby#49626](https://redirect.github.com/moby/moby/pull/49626)\n-
          \  Fix possible error on `docker buildx prune` with the `--min-free-space`.
          [moby/moby#49623](https://redirect.github.com/moby/moby/pull/49623)\n-   Fix
          spurious `io: read/write on closed pipe` error in the daemon log when closing
          container. [moby/moby#49590](https://redirect.github.com/moby/moby/pull/49590)\n-
          \  Fix the Docker daemon failing too early if the containerd socket isn't
          immediately available. [moby/moby#49603](https://redirect.github.com/moby/moby/pull/49603)\n-
          \  Mask Linux thermal interrupt info in a container's `/proc` and `/sys`
          by default. [moby/moby#49560](https://redirect.github.com/moby/moby/pull/49560)\n-
          \  Update `contrib/check-config.sh` to check for more kernel modules related
          to iptables. [moby/moby#49622](https://redirect.github.com/moby/moby/pull/49622)\n-
          \  containerd image store: Fix integer overflow in User ID handling passed
          via `--user`. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Fix spurious `reference for unknown type: application/vnd.in-toto+json`
          warning being logged to the daemon's log. [moby/moby#49652](https://redirect.github.com/moby/moby/pull/49652)\n-
          \  containerd image store: Improve performance of `docker ps` when running
          large number of containers. [moby/moby#49365](https://redirect.github.com/moby/moby/pull/49365)\n\n#####
          Packaging updates\n\n-   Update BuildKit to [v0.20.1](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.1).
          [moby/moby#49587](https://redirect.github.com/moby/moby/pull/49587)\n-   Update
          Buildx to [v0.22.0](https://redirect.github.com/docker/buildx/releases/tag/v0.22.0).
          [docker/docker-ce-packaging#1175](https://redirect.github.com/docker/docker-ce-packaging/pull/1175)\n-
          \  Update Compose to [v2.34.0](https://redirect.github.com/docker/compose/releases/tag/v2.34.0).
          [docker/docker-ce-packaging#1172](https://redirect.github.com/docker/docker-ce-packaging/pull/1172)\n-
          \  Update Go runtime to [1.23.7](https://go.dev/doc/devel/release#go1.23.7).
          [docker/cli#5890](https://redirect.github.com/docker/cli/pull/5890), [docker/docker-ce-packaging#1171](https://redirect.github.com/docker/docker-ce-packaging/pull/1171),
          [moby/moby#49580](https://redirect.github.com/moby/moby/pull/49580)\n-   Update
          RootlessKit to [v2.3.4](https://redirect.github.com/rootless-containers/rootlesskit/releases/tag/v2.3.4).
          [moby/moby#49614](https://redirect.github.com/moby/moby/pull/49614)\n-   Update
          containerd (static binaries only) to [v1.7.27](https://www.github.com/containerd/containerd/releases/tag/v1.7.27).
          [moby/moby#49656](https://redirect.github.com/moby/moby/pull/49656)\n\n#####
          Networking\n\n-   Add environment variable `DOCKER_INSECURE_NO_IPTABLES_RAW=1`
          to allow Docker to run on systems where the Linux kernel can't provide `CONFIG_IP_NF_RAW`
          support. When enabled, Docker will not create rules in the iptables `raw`
          table. Warning: This is not recommended for production environments as it
          reduces security by allowing other hosts on the local network to route to
          ports published to host addresses, even when they are published to `127.0.0.1.`
          This option bypasses some of the security hardening introduced in Docker
          Engine 28.0.0. [moby/moby#49621](https://redirect.github.com/moby/moby/pull/49621)\n-
          \  Allow container startup when an endpoint is attached to a macvlan network
          where the parent interface is down. [moby/moby#49630](https://redirect.github.com/moby/moby/pull/49630)\n-
          \  Do not skip DNAT for packets originating in a gateway_mode=routed network.
          [moby/moby#49577](https://redirect.github.com/moby/moby/pull/49577)\n-   Fix
          a bug causing `docker ps` to inconsistently report dual-stack port mappings.
          [moby/moby#49657](https://redirect.github.com/moby/moby/pull/49657)\n-   Fix
          a bug that could cause `docker-proxy` to stop forwarding UDP datagrams to
          containers. [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n-
          \  Fix a bug that was causing `docker-proxy` to close UDP connections to
          containers eagerly and resulting in the source address to change needlessly.
          [moby/moby#49649](https://redirect.github.com/moby/moby/pull/49649)\n\n#####
          Go SDK\n\n-   Move various types and consts from `cli-plugins/manager` to
          a separate package. [docker/cli#5902](https://redirect.github.com/docker/cli/pull/5902)\n-
          \  Update minimum required Go version to go1.23. [moby/moby#49541](https://redirect.github.com/moby/moby/pull/49541)\n-
          \  `cli/command`: Move `PrettyPrint` utility to `cli/command/formatter`.
          [docker/cli#5916](https://redirect.github.com/docker/cli/pull/5916)\n-   runconfig/errors:
          split `ErrConflictHostNetwork` into `ErrConflictConnectToHostNetwork` and
          `ErrConflictDisconnectFromHostNetwork`. [moby/moby#49605](https://redirect.github.com/moby/moby/pull/49605)\n\n#####
          Deprecations\n\n-   Go-SDK: Deprecate `cli-plugins/manager.ResourceAttributesEnvvar`
          constant. It was used internally, but holds the `OTEL_RESOURCE_ATTRIBUTES`
          name, which is part of the OpenTelemetry specification. Users of this constant
          should define their own. It will be removed in the next release. [docker/cli#5881](https://redirect.github.com/docker/cli/pull/5881)\n-
          \  Go-SDK: Deprecate `opts.PortOpt`, `opts.ConfigOpt` and `opts.SecretOpt`.
          These types were moved to the `opts/swarmopts` package. [docker/cli#5907](https://redirect.github.com/docker/cli/pull/5907)\n-
          \  Go-SDK: Remove `service/logs` package. [docker/cli#5910](https://redirect.github.com/docker/cli/pull/5910)\n-
          \  Go-SDK: `cli/command/image`: Deprecate `PushTrustedReference` and move
          to `cli/trust`. [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-
          \  Go-SDK: `cli/command/image`: Deprecate and internalize `TrustedPush`.
          [docker/cli#5894](https://redirect.github.com/docker/cli/pull/5894)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.NotaryClient`: use [`trust.GetNotaryRepository`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/trust#GetNotaryRepository)
          instead. This method is no longer used and will be removed in the next release.
          [docker/cli#5885](https://redirect.github.com/docker/cli/pull/5885)\n-   Go-SDK:
          `cli/command`: deprecate `Cli.RegistryClient`. This method was only used
          internally and will be removed in the next release. Use [`client.NewRegistryClient`](https://pkg.go.dev/github.com/docker/cli@v28.0.1+incompatible/cli/registry/client#NewRegistryClient)
          instead. [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889),
          [docker/cli#5889](https://redirect.github.com/docker/cli/pull/5889)\n-   Go-SDK:
          `registry`: Deprecate `RepositoryInfo.Official` field. [moby/moby#49567](https://redirect.github.com/moby/moby/pull/49567)\n-
          \  Go-SDK: `registry`: deprecate `HostCertsDir`: this function was only
          used internally and will be removed in the next release. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n-
          \  Go-SDK: `registry`: deprecate `SetCertsDir`: the cert-directory is now
          automatically selected when running with RootlessKit, and should no longer
          be set manually. [moby/moby#49612](https://redirect.github.com/moby/moby/pull/49612)\n\n###
          [`v28.0.1`](https://redirect.github.com/moby/moby/releases/tag/v28.0.1)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v28.0.0...v28.0.1)\n\n###
          28.0.1\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.1 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.1)\n-
          \  [moby/moby, 28.0.1 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.1)\n\n####
          Networking\n\n-   Remove dependency on kernel modules `ip_set`, `ip_set_hash_net`
          and `netfilter_xt_set`.\n    -   The dependency was introduced in release
          28.0.0 but proved too disruptive. The iptables rules using these modules
          have been replaced. [moby/moby#49530](https://redirect.github.com/moby/moby/pull/49530)\n-
          \  Allow daemon startup on a host with IPv6 disabled without requiring `--ip6tables=false`.
          [moby/moby#49525](https://redirect.github.com/moby/moby/pull/49525)\n-   Fix
          a bug that was causing containers with `--restart=always` and a published
          port already in use to restart in a tight loop. [moby/moby#49507](https://redirect.github.com/moby/moby/pull/49507)\n-
          \  Fix an issue with Swarm ingress, caused by incorrect ordering of iptables
          rules. [moby/moby#49538](https://redirect.github.com/moby/moby/pull/49538)\n-
          \  Fix creation of a swarm-scoped network from a `--config-only` network.
          [moby/moby#49521](https://redirect.github.com/moby/moby/pull/49521)\n-   Fix
          `docker network inspect` reporting an IPv6 gateway with CIDR suffix for
          a newly created network with no specific IPAM config, until a daemon restart.
          [moby/moby#49520](https://redirect.github.com/moby/moby/pull/49520)\n-   Improve
          the error reported when kernel modules `ip_set`, `ip_set_hash_net` and `netilter_xt_set`
          are not available. [moby/moby#49524](https://redirect.github.com/moby/moby/pull/49524)\n-
          \  Move most of Docker's iptables rules out of the filter-FORWARD chain,
          so that other applications are free to append rules that must follow Docker's
          rules. [moby/moby#49518](https://redirect.github.com/moby/moby/pull/49518)\n-
          \  Update `--help` output and man page lo state which options only apply
          to the default bridge network. [moby/moby#49522](https://redirect.github.com/moby/moby/pull/49522)\n\n####
          Bug fixes and enhancements\n\n-   Fix `docker context create` always returning
          an error when using the `\"skip-tls-verify\"` option. [docker/cli#5850](https://redirect.github.com/docker/cli/pull/5850)\n-
          \  Fix shell completion suggesting IDs instead of names for services and
          nodes. [docker/cli#5848](https://redirect.github.com/docker/cli/pull/5848)\n-
          \  Fix unintentionally printing exit status to standard error output when
          `docker exec/run` returns a non-zero status. [docker/cli#5854](https://redirect.github.com/docker/cli/pull/5854)\n-
          \  Fix regression `protocol \"tcp\" is not supported by the RootlessKit
          port driver \"slirp4netns\"`. [moby/moby#49514](https://redirect.github.com/moby/moby/pull/49514)\n-
          \  containerd image store: Fix `docker inspect` not being able to show multi-platform
          images with missing layers for all platforms. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `docker images --tree` reporting wrong content
          size. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n-
          \  Fix compilation on i386 [moby/moby#49526](https://redirect.github.com/moby/moby/pull/49526)\n\n####
          Packaging updates\n\n-   Update `github.com/go-jose/go-jose/v4` to v4.0.5
          to address. [GHSA-c6gw-w398-hv78](https://redirect.github.com/go-jose/go-jose/security/advisories/GHSA-c6gw-w398-hv78)
          / [CVE-2025-27144](https://www.cve.org/CVERecord?id=CVE-2025-27144) [docker/cli#5867](https://redirect.github.com/docker/cli/pull/5867)\n-
          \  Update Buildx to [v0.21.1](https://redirect.github.com/docker/buildx/releases/tag/v0.21.1).
          [docker/docker-ce-packaging#1167](https://redirect.github.com/docker/docker-ce-packaging/pull/1167)\n-
          \  Update Compose to [v2.33.1](https://redirect.github.com/docker/compose/releases/tag/v2.33.1).
          [docker/docker-ce-packaging#1168](https://redirect.github.com/docker/docker-ce-packaging/pull/1168)\n\n####
          API\n\n-   containerd image store: Fix `GET /images/json?manifests=1` not
          filling `Manifests` for index-only images. [moby/moby#49533](https://redirect.github.com/moby/moby/pull/49533)\n-
          \  containerd image store: Fix `GET /images/json and /images/<name>/json`
          `Size.Content` field including the size of content that's not available
          locally. [moby/moby#49535](https://redirect.github.com/moby/moby/pull/49535)\n\n###
          [`v28.0.0`](https://redirect.github.com/moby/moby/releases/tag/v28.0.0)\n\n[Compare
          Source](https://redirect.github.com/moby/moby/compare/v27.5.1...v28.0.0)\n\n###
          28.0.0\n\nFor a full list of pull requests and changes in this release,
          refer to the relevant GitHub milestones:\n\n-   [docker/cli, 28.0.0 milestone](https://redirect.github.com/docker/cli/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  [moby/moby, 28.0.0 milestone](https://redirect.github.com/moby/moby/issues?q=is%3Aclosed+milestone%3A28.0.0)\n-
          \  Deprecated and removed features, see [Deprecated Features](https://redirect.github.com/docker/cli/blob/v28.0.0/docs/deprecated.md).\n-
          \  Changes to the Engine API, see [API version history](https://redirect.github.com/moby/moby/blob/v28.0.0/docs/api/version-history.md).\n\n####
          New\n\n-   Add ability to mount an image inside a container via `--mount
          type=image`. [moby/moby#48798](https://redirect.github.com/moby/moby/pull/48798)\n
          \   -   You can also specify `--mount type=image,image-subpath=[subpath],...`
          option to mount a specific path from the image. [docker/cli#5755](https://redirect.github.com/docker/cli/pull/5755)\n-
          \  `docker images --tree` now shows metadata badges. [docker/cli#5744](https://redirect.github.com/docker/cli/pull/5744)\n-
          \  `docker load`, `docker save`, and `docker history` now support a `--platform`
          flag allowing you to choose a specific platform for single-platform operations
          on multi-platform images. [docker/cli#5331](https://redirect.github.com/docker/cli/pull/5331)\n-
          \  Add `OOMScoreAdj` to `docker service create` and `docker stack`. [docker/cli#5145](https://redirect.github.com/docker/cli/pull/5145)\n-
          \  `docker buildx prune` now supports `reserved-space`, `max-used-space`,
          `min-free-space` and `keep-bytes` filters. [moby/moby#48720](https://redirect.github.com/moby/moby/pull/48720)\n-
          \  Windows: Add support for running containerd as a child process of the
          daemon, instead of using a system-installed containerd. [moby/moby#47955](https://redirect.github.com/moby/moby/pull/47955)\n\n####
          Networking\n\n-   The `docker-proxy` binary has been updated, older versions
          will not work with the updated `dockerd`. [moby/moby#48132](https://redirect.github.com/moby/moby/pull/48132)\n
          \   -   Close a window in which the userland proxy (`docker-proxy`) could
          accept TCP connections, that would then fail after `iptables` NAT rules
          were set up.\n    -   The executable `rootlesskit-docker-proxy` is no longer
          used, it has been removed from the build and distribution.\n-   DNS nameservers
          read from the host's `/etc/resolv.conf` are now always accessed from the
          host's network namespace. [moby/moby#48290](https://redirect.github.com/moby/moby/pull/48290)\n
          \   -   When the host's `/etc/resolv.conf` contains no nameservers and there
          are no `--dns` overrides, Google's DNS servers are no longer used, apart
          from by the default bridge network and in build containers.\n-   Container
          interfaces in bridge and macvlan networks now use randomly generated MAC
          addresses. [moby/moby#48808](https://redirect.github.com/moby/moby/pull/48808)\n
          \   -   Gratuitous ARP / Neighbour Advertisement messages will be sent when
          the interfaces are started so that, when IP addresses are reused, they're
          associated with the newly generated MAC address.\n    -   IPv6 addresses
          in the default bridge network are now IPAM-assigned, rather than being derived
          from the MAC address.\n-   The deprecated OCI `prestart` hook is now only
          used by build containers. For other containers, network interfaces are added
          to the network namespace after task creation is complete, before the container
          task is started. [moby/moby#47406](https://redirect.github.com/moby/moby/pull/47406)\n-
          \  Add a new `gw-priority` option to `docker run`, `docker container create`,
          and `docker network connect`. This option will be used by the Engine to
          determine which network provides the default gateway for a container. On
          `docker run`, this option is only available through the extended `--network`
          syntax. [docker/cli#5664](https://redirect.github.com/docker/cli/pull/5664)\n-
          \  Add a new netlabel `com.docker.network.endpoint.ifname` to customize
          the interface name used when connecting a container to a network. It's supported
          by all built-in network drivers on Linux. [moby/moby#49155](https://redirect.github.com/moby/moby/pull/49155)\n
          \   -   When a container is created with multiple networks specified, there's
          no guarantee on the order networks will be connected to the container. So,
          if a custom interface name uses the same prefix as the auto-generated names,
          for example `eth`, the container might fail to start.\n    -   The recommended
          practice is to use a different prefix, for example `en0`, or a numerical
          suffix high enough to never collide, for example `eth100`.\n    -   This
          label can be specified on `docker network connect` via the `--driver-opt`
          flag, for example `docker network connect --driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`.\n    -   Or via the long-form `--network` flag on `docker run`,
          for example `docker run --network=name=bridge,driver-opt=com.docker.network.endpoint.ifname=foobar
          \u2026`\n-   If a custom network driver reports capability `GwAllocChecker`
          then, before a network is created, it will get a `GwAllocCheckerRequest`
          with the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n\n####
          Port publishing in bridge networks\n\n-   `dockerd` now requires `ipset`
          support in the Linux kernel. [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n
          \   -   The `iptables` and `ip6tables` rules used to implement port publishing
          and network isolation have been extensively modified. This enables some
          of the following functional changes, and is a first step in refactoring
          to enable native `nftables` support in a future release. [moby/moby#48815](https://redirect.github.com/moby/moby/issues/48815)\n
          \   -   If it becomes necessary to downgrade to an earlier version of the
          daemon, some manual cleanup of the new rules will be necessary. The simplest
          and surest approach is to reboot the host, or use `iptables -F` and `ip6tables
          -F` to flush all existing `iptables` rules from the `filter` table before
          starting the older version of the daemon. When that is not possible, run
          the following commands as root:\n        -   `iptables -D FORWARD -m set
          --match-set docker-ext-bridges-v4 dst -m conntrack --ctstate RELATED,ESTABLISHED
          -j ACCEPT; ip6tables -D FORWARD -m set --match-set docker-ext-bridges-v6
          dst -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT`\n        -   `iptables
          -D FORWARD -m set --match-set docker-ext-bridges-v4 dst -j DOCKER; ip6tables
          -D FORWARD -m set --match-set docker-ext-bridges-v6 dst -j DOCKER`\n        -
          \  If you were previously running with the iptables filter-FORWARD policy
          set to `ACCEPT` and need to restore access to unpublished ports, also delete
          per-bridge-network rules from the `DOCKER` chains. For example, `iptables
          -D DOCKER ! -i docker0 -o docker0 -j DROP`.\n-   Fix a security issue that
          was allowing remote hosts to connect directly to a container on its published
          ports. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix a security issue that was allowing neighbor hosts to connect to ports
          mapped on a loopback address. [moby/moby#49325](https://redirect.github.com/moby/moby/pull/49325)\n-
          \  Fix an issue that prevented port publishing to link-local addresses.
          [moby/moby#48570](https://redirect.github.com/moby/moby/pull/48570)\n-   UDP
          ports published by a container are now reliably accessible by containers
          on other networks, via the host's public IP address. [moby/moby#48571](https://redirect.github.com/moby/moby/pull/48571)\n-
          \  Docker will now only set the `ip6tables` policy for the `FORWARD` chain
          in the `filter` table to `DROP` if it enables IP forwarding on the host
          itself (sysctls `net.ipv6.conf.all.forwarding` and `net.ipv6.conf.default.forwarding`).
          This is now aligned with existing IPv4 behaviour. [moby/moby#48594](https://redirect.github.com/moby/moby/pull/48594)\n
          \   -   If IPv6 forwarding is enabled on your host, but you were depending
          on Docker to set the ip6tables filter-FORWARD policy to `DROP`, you may
          need to update your host's configuration to make sure it is secure.\n-   Direct
          routed access to container ports that are not exposed using `p`/`-publish`
          is now blocked in the `DOCKER` iptables chain. [moby/moby#48724](https://redirect.github.com/moby/moby/pull/48724)\n
          \   -   If the default iptables filter-FORWARD policy was previously left
          at `ACCEPT` on your host, and direct routed access to a container's unpublished
          ports from a remote host is still required, options are:\n        -   Publish
          the ports you need.\n        -   Use the new `gateway_mode_ipv[46]=nat-unprotected`,
          described below.\n    -   Container ports published to host addresses will
          continue to be accessible via those host addresses, using NAT or the userland
          proxy.\n    -   Unpublished container ports continue to be directly accessible
          from the Docker host via the container's IP address.\n-   Networks created
          with `gateway_mode_ipv[46]=routed` are now accessible from other bridge
          networks running on the same Docker host, as well as from outside the host.
          [moby/moby#48596](https://redirect.github.com/moby/moby/pull/48596)\n-   Bridge
          driver options `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `nat-unprotected`. [moby/moby#48597](https://redirect.github.com/moby/moby/pull/48597)\n
          \   -   `nat-unprotected` is similar to the default `nat` mode, but no per
          port/protocol rules are set up. This means any port on a container can be
          accessed by direct-routing from a remote host.\n-   Bridge driver options
          `com.docker.network.bridge.gateway_mode_ipv4` and `com.docker.network.bridge.gateway_mode_ipv6`
          now accept mode `isolated`, when the network is also `internal`. [moby/moby#49262](https://redirect.github.com/moby/moby/pull/49262)\n
          \   -   An address is normally assigned to the bridge device in an `internal`
          network. So, processes on the Docker host can access the network, and containers
          in the network can access host services listening on that bridge address
          (including services listening on \"any\" host address, `0.0.0.0` or `::`).\n
          \   -   An `internal` bridge network created with gateway mode `isolated`
          does not have an address on the Docker host.\n-   When a port mapping includes
          a host IP address or port number that cannot be used because NAT from the
          host is disabled using `--gateway_mode_ipv[46]`, container creation will
          no longer fail. The unused fields may be needed if the gateway endpoint
          changes when networks are connected or disconnected. A message about the
          unused fields will be logged. [moby/moby#48575](https://redirect.github.com/moby/moby/pull/48575)\n-
          \  Do not create iptables nat-POSTROUTING masquerade rules for a container's
          own published ports, when the userland proxy is enabled. [moby/moby#48854](https://redirect.github.com/moby/moby/pull/48854)\n\n####
          IPv6\n\n-   Add `docker network create` option `--ipv4`. To disable IPv4
          address assignment for a network, use `docker network create --ipv4=false
          [...]`. [docker/cli#5599](https://redirect.github.com/docker/cli/pull/5599)\n-
          \  Daemon option `--ipv6` (`\"ipv6\": true` in `daemon.json`) can now be
          used without `fixed-cidr-v6`. [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  IPAM now handles subnets bigger than \"/64\". [moby/moby#49223](https://redirect.github.com/moby/moby/pull/49223)\n-
          \  Duplicate address detection (DAD) is now disabled for addresses assigned
          to the bridges belonging to bridge networks. [moby/moby#48609](https://redirect.github.com/moby/moby/pull/48609)\n-
          \  Modifications to `host-gateway`, for compatibility with IPv6-only networks.
          [moby/moby#48807](https://redirect.github.com/moby/moby/pull/48807)\n    -
          \  When special value `host-gateway` is used in an `--add-host` option in
          place of an address, it's replaced by an address on the Docker host to make
          it possible to refer to the host by name. The address used belongs to the
          default bridge (normally `docker0`). Until now it's always been an IPv4
          address, because all containers on bridge networks had IPv4 addresses.\n
          \   -   Now, if IPv6 is enabled on the default bridge network, `/etc/hosts`
          entries will be created for IPv4 and IPv6 addresses. So, a container that's
          only connected to IPv6-only networks can access the host by name.\n    -
          \  The `--host-gateway-ip` option overrides the address used to replace
          `host-gateway`. Two of these options are now allowed on the command line,
          for one IPv4 gateway and one IPv6.\n    -   In the `daemon.json` file, to
          provide two addresses, use `\"host-gateway-ips\"`. For example, `\"host-gateway-ips\":
          [\"192.0.2.1\", \"2001:db8::1111\"]`.\n\n#### Bug fixes and enhancements\n\n-
          \  Add IPv6 loopback address as an insecure registry by default. [moby/moby#48540](https://redirect.github.com/moby/moby/pull/48540)\n-
          \  Add support for Cobra-generated completion scripts for `dockerd`. [moby/moby#49339](https://redirect.github.com/moby/moby/pull/49339)\n-
          \  Fix DNS queries failing when containers are launched via `systemd` auto-start
          on boot [moby/moby#48812](https://redirect.github.com/moby/moby/pull/48812)\n-
          \  Fix Docker Swarm mode ignoring `volume.subpath` [docker/cli#5833](https://redirect.github.com/docker/cli/pull/5833)\n-
          \  Fix `docker export` continuing the export after the operation is canceled.
          [moby/moby#49265](https://redirect.github.com/moby/moby/pull/49265)\n-   Fix
          `docker export` not releasing the container's writable layer after a failure.
          [moby/moby#48517](https://redirect.github.com/moby/moby/pull/48517)\n-   Fix
          `docker images --tree` unnecessary truncating long image names when multiple
          names are available [docker/cli#5757](https://redirect.github.com/docker/cli/pull/5757)\n-
          \  Fix a bug where a container with a name matching another container's
          ID is not restored on daemon startup. [moby/moby#48669](https://redirect.github.com/moby/moby/pull/48669)\n-
          \  Fix an issue preventing some IPv6 addresses shown by `docker ps` to be
          properly bracketed [docker/cli#5468](https://redirect.github.com/docker/cli/pull/5468)\n-
          \  Fix bug preventing image pulls from being cancelled during `docker run`.
          [docker/cli#5645](https://redirect.github.com/docker/cli/pull/5645)\n-   Fix
          error-handling when running the daemon as a Windows service to prevent unclean
          exits. [moby/moby#48518](https://redirect.github.com/moby/moby/pull/48518)\n-
          \  Fix issue causing output of `docker run` to be inconsistent when using
          `--attach stdout` or `--attach stderr` versus `stdin`.  `docker run --attach
          stdin` now exits if the container exits. [docker/cli#5662](https://redirect.github.com/docker/cli/pull/5662)\n-
          \  Fix rootless Docker setup with `subid` backed by NSS modules. [moby/moby#49036](https://redirect.github.com/moby/moby/pull/49036)\n-
          \  Generated completion scripts from the CLI now show descriptions next
          to each command/flag suggestion. [docker/cli#5756](https://redirect.github.com/docker/cli/pull/5756)\n-
          \  IPv6 addresses shown by `docker ps` in port bindings are now bracketed
          [docker/cli#5363](https://redirect.github.com/docker/cli/pull/5363)\n-   Implement
          the ports validation method for Compose [docker/cli#5524](https://redirect.github.com/docker/cli/pull/5524)\n-
          \  Improve error-output for invalid flags on the command line. [docker/cli#5233](https://redirect.github.com/docker/cli/pull/5233)\n-
          \  Improve errors when failing to start a container using anther container's
          network namespace. [moby/moby#49367](https://redirect.github.com/moby/moby/pull/49367)\n-
          \  Improve handling of invalid API errors that could result in an empty
          error message being shown. [moby/moby#49373](https://redirect.github.com/moby/moby/pull/49373)\n-
          \  Improve output and consistency for unknown (sub)commands and invalid
          arguments [docker/cli#5234](https://redirect.github.com/docker/cli/pull/5234)\n-
          \  Improve validation of `exec-opts` in daemon configuration. [moby/moby#48979](https://redirect.github.com/moby/moby/pull/48979)\n-
          \  Update the handling of the `--gpus=0` flag to be consistent with the
          NVIDIA Container Runtime. [moby/moby#48482](https://redirect.github.com/moby/moby/pull/48482)\n-
          \  `client.ContainerCreate` now normalizes `CapAdd` and `CapDrop` fields
          in `HostConfig` to their canonical form. [moby/moby#48551](https://redirect.github.com/moby/moby/pull/48551)\n-
          \  `docker image save` now produces stable timestamps. [moby/moby#48611](https://redirect.github.com/moby/moby/pull/48611)\n-
          \  `docker inspect` now lets you inspect Swarm configs [docker/cli#5573](https://redirect.github.com/docker/cli/pull/5573)\n-
          \  containerd image store: Add support for `Extracting` layer status in
          `docker pull`. [moby/moby#49064](https://redirect.github.com/moby/moby/pull/49064)\n-
          \  containerd image store: Fix `commit`, `import`, and `build` not preserving
          a replaced image as a dangling image. [moby/moby#48316](https://redirect.github.com/moby/moby/pull/48316)\n-
          \  containerd image store: Make `docker load --platform` return an error
          when the requested platform isn't loaded. [moby/moby#48718](https://redirect.github.com/moby/moby/pull/48718)\n-
          \  Fix validation of `--link` option. [docker/cli#5739](https://redirect.github.com/docker/cli/pull/5739)\n-
          \  Add validation of network-diagnostic-port daemon configuration option.
          [moby/moby#49305](https://redirect.github.com/moby/moby/pull/49305)\n-   Unless
          explicitly configured, an IP address is no longer reserved for a gateway
          in cases where it is not required. Namely, \u201Cinternal\u201D bridge networks
          with option `com.docker.network.bridge.inhibit_ipv4`, `ipvlan` or `macvlan`
          networks with no parent interface, and L3 IPvlan modes. [moby/moby#49261](https://redirect.github.com/moby/moby/pull/49261)\n-
          \  If a custom network driver reports capability `GwAllocChecker` then,
          before a network is created, it will get a `GwAllocCheckerRequest` with
          the network's options. The custom driver may then reply that no gateway
          IP address should be allocated. [moby/moby#49372](https://redirect.github.com/moby/moby/pull/49372)\n-
          \  Fixed an issue that meant a container could not be attached to an L3
          IPvlan at the same time as other network types. [moby/moby#49130](https://redirect.github.com/moby/moby/pull/49130)\n-
          \  Remove the correct `/etc/hosts` entries when disconnecting a container
          from a network. [moby/moby#48857](https://redirect.github.com/moby/moby/pull/48857)\n-
          \  Fix duplicate network disconnect events. [moby/moby#48800](https://redirect.github.com/moby/moby/pull/48800)\n-
          \  Resolve issues related to changing `fixed-cidr` for `docker0`, and inferring
          configuration from a user-managed default bridge (`--bridge`). [moby/moby#48319](https://redirect.github.com/moby/moby/pull/48319)\n-
          \  Remove feature flag `windows-dns-proxy`, introduced in release 26.1.0
          to control forwarding to external DNS resolvers from Windows containers,
          to make `nslookup` work. It was enabled by default in release 27.0.0. [moby/moby#48738](https://redirect.github.com/moby/moby/pull/48738)\n-
          \  Remove an `iptables` mangle rule for checksumming SCTP. The rule can
          be re-enabled by setting `DOCKER_IPTABLES_SCTP_CHECKSUM=1` in the daemon's
          environment. This override will be removed in a future release. [moby/moby#48149](https://redirect.github.com/moby/moby/pull/48149)\n-
          \  Faster connection to bridge networks, in most cases. [moby/moby#49302](https://redirect.github.com/moby/moby/pull/49302)\n\n####
          Packaging updates\n\n-   Update Go runtime to [1.23.6](https://go.dev/doc/devel/release#go1.23.6).
          [docker/cli#5795](https://redirect.github.com/docker/cli/pull/5795), [moby/moby#49393](https://redirect.github.com/moby/moby/pull/49393),
          [docker/docker-ce-packaging#1161](https://redirect.github.com/docker/docker-ce-packaging/pull/1161)\n-
          \  Update `runc` to [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)
          (static binaries only). [moby/moby#49464](https://redirect.github.com/moby/moby/pull/49464)\n-
          \  Update containerd to [v1.7.25](https://redirect.github.com/containerd/containerd/releases/tag/v1.7.25).
          [moby/moby#49252](https://redirect.github.com/moby/moby/pull/49252)\n-   Update
          BuildKit to [v0.20.0](https://redirect.github.com/moby/buildkit/releases/tag/v0.20.0).
          [moby/moby#49495](https://redirect.github.com/moby/moby/pull/49495)\n-   Update
          Buildx to [v0.21.0](https://redirect.github.com/docker/buildx/releases/tag/v0.21.0).
          [docker/docker-ce-packaging#1166](https://redirect.github.com/docker/docker-ce-packaging/pull/1166)\n-
          \  Update Compose to [v2.32.4](https://redirect.github.com/docker/compose/releases/tag/v2.32.3).
          [docker/docker-ce-packaging#1143](https://redirect.github.com/docker/docker-ce-packaging/pull/1143)\n-
          \  The canonical source for the `dockerd(8)` man page has been moved back
          to the `moby/moby` repository itself. [moby/moby#48298](https://redirect.github.com/moby/moby/pull/48298)\n\n####
          Go SDK\n\n-   Improve validation of empty object IDs. The client now returns
          an \"Invalid Parameter\" error when trying to use an empty ID or name. This
          changes the error returned by some \"Inspect\" functions from a \"Not found\"
          error to an \"Invalid Parameter\". [moby/moby#49381](https://redirect.github.com/moby/moby/pull/49381)\n-
          \  `Client.ImageBuild()` now omits default values from the API request's
          query string. [moby/moby#48651](https://redirect.github.com/moby/moby/pull/48651)\n-
          \  `api/types/container`: Merge `Stats` and `StatsResponse` [moby/moby#49287](https://redirect.github.com/moby/moby/pull/49287)\n-
          \  `client.WithVersion`: Strip v-prefix when setting API version [moby/moby#49352](https://redirect.github.com/moby/moby/pull/4935\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: Branch creation - At any time
          (no schedule defined), Automerge - At any time (no schedule defined).\n\n\U0001F6A6
          **Automerge**: Disabled by config. Please merge this manually once you are
          satisfied.\n\n\u267B **Rebasing**: Whenever PR becomes conflicted, or you
          tick the rebase/retry checkbox.\n\n\U0001F515 **Ignore**: Close this PR
          and you won't be reminded about this update again.\n\n---\n\n - [ ] <!--
          rebase-check -->If you want to rebase/retry this PR, check this box\n\n---\n\nThis
          PR was generated by [Mend Renovate](https://mend.io/renovate/). View the
          [repository job log](https://developer.mend.io/github/osism/ci-image).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4xNzMuMSIsInVwZGF0ZWRJblZlciI6IjQwLjMzLjYiLCJ0YXJnZXRCcmFuY2giOiJtYWluIiwibGFiZWxzIjpbInJlbm92YXRlIl19-->\n"
        change_url: https://github.com/osism/ci-image/pull/57
        commit_id: f1c25f329a172181402a6ae2f329b4d0bec3d953
        patchset: f1c25f329a172181402a6ae2f329b4d0bec3d953
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ci-image
          name: osism/ci-image
          short_name: ci-image
          src_dir: src/github.com/osism/ci-image
        topic: null
      job: ci-image-build
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IG1vYnkvbW9ieSB0byB2MjgKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgVXBkYXRlIHwgQ2hhbmdlIHwKfC0tLXwtLS18LS0tfAp8IFttb2J5L21vYnldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkpIHwgbWFqb3IgfCBgMjcuNS4xYCAtPiBgMjguMi4wYCB8CgotLS0KCiMjIyBSZWxlYXNlIE5vdGVzCgo8ZGV0YWlscz4KPHN1bW1hcnk+bW9ieS9tb2J5IChtb2J5L21vYnkpPC9zdW1tYXJ5PgoKIyMjIFtgdjI4LjIuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcmVsZWFzZXMvdGFnL3YyOC4yLjApOiAyOC4yLjAKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9jb21wYXJlL3YyOC4xLjEuLi52MjguMi4wKQoKIyMjIyAyOC4yLjAKCkZvciBhIGZ1bGwgbGlzdCBvZiBwdWxsIHJlcXVlc3RzIGFuZCBjaGFuZ2VzIGluIHRoaXMgcmVsZWFzZSwgcmVmZXIgdG8gdGhlIHJlbGV2YW50IEdpdEh1YiBtaWxlc3RvbmVzOgoKLSAgIFtkb2NrZXIvY2xpLCAyOC4yLjAgbWlsZXN0b25lXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9pc3N1ZXM/cT1pcyUzQWNsb3NlZCttaWxlc3RvbmUlM0EyOC4yLjApCi0gICBbbW9ieS9tb2J5LCAyOC4yLjAgbWlsZXN0b25lXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2lzc3Vlcz9xPWlzJTNBY2xvc2VkK21pbGVzdG9uZSUzQTI4LjIuMCkKLSAgIERlcHJlY2F0ZWQgYW5kIHJlbW92ZWQgZmVhdHVyZXMsIHNlZSBbRGVwcmVjYXRlZCBGZWF0dXJlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvYmxvYi92MjguMi4wL2RvY3MvZGVwcmVjYXRlZC5tZCkuCi0gICBDaGFuZ2VzIHRvIHRoZSBFbmdpbmUgQVBJLCBzZWUgW0FQSSB2ZXJzaW9uIGhpc3RvcnldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvYmxvYi92MjguMi4wL2RvY3MvYXBpL3ZlcnNpb24taGlzdG9yeS5tZCkuCgo+IFxbIU5PVEVdCj4gUkhFTCBwYWNrYWdlcyBhcmUgY3VycmVudGx5IG5vdCBhdmFpbGFibGUgYW5kIHdpbGwgYmUgcmVsZWFzZWQgbGF0ZXIuCgojIyMjIyBOZXcKCi0gICBBZGQgYHt7LlBsYXRmb3JtfX1gIGFzIGZvcm1hdHRpbmcgb3B0aW9uIGZvciBgZG9ja2VyIHBzYCB0byBzaG93IHRoZSBwbGF0Zm9ybSBvZiB0aGUgaW1hZ2UgdGhlIGNvbnRhaW5lciBpcyBydW5uaW5nLiBbZG9ja2VyL2NsaSM2MDQyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYwNDIpCi0gICBBZGQgc3VwcG9ydCBmb3IgcmVsYXRpdmUgcGFyZW50IHBhdGhzIChgLi4vYCkgb24gYmluZCBtb3VudCBzb3VyY2VzIHdoZW4gdXNpbmcgYGRvY2tlciBydW4vY3JlYXRlYCB3aXRoIGAtdi8tLXZvbHVtZWAgb3IgYC0tbW91bnQgdHlwZT1iaW5kYCBvcHRpb25zLiBbZG9ja2VyL2NsaSM0OTY2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzQ5NjYpCi0gICBDREkgaXMgbm93IGVuYWJsZWQgYnkgZGVmYXVsdC4gW21vYnkvbW9ieSM0OTk2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTYzKQotICAgU2hvdyBkaXNjb3ZlcmVkIENESSBkZXZpY2VzIGluIGBkb2NrZXIgaW5mb2AuIFtkb2NrZXIvY2xpIzYwNzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNjA3OCkKLSAgIGBkb2NrZXIgaW1hZ2Ugcm1gOiBhZGQgYC0tcGxhdGZvcm1gIG9wdGlvbiB0byByZW1vdmUgYSB2YXJpYW50IGZyb20gbXVsdGktcGxhdGZvcm0gaW1hZ2VzLiBbZG9ja2VyL2NsaSM2MTA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYxMDkpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBJbml0aWFsIEJ1aWxkS2l0IHN1cHBvcnQgZm9yIGJ1aWxkaW5nIFdpbmRvd3MgY29udGFpbmVyIGltYWdlcyBvbiBXaW5kb3dzIChyZXF1aXJlcyBhbiBvcHQtaW4gd2l0aCBgRE9DS0VSX0JVSUxES0lUPTFgKS4gW21vYnkvbW9ieSM0OTc0MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzQwKQoKIyMjIyMgQnVnIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCi0gICBBZGQgYSBuZXcgbG9nIG9wdGlvbiBmb3IgZmx1ZW50ZCBsb2cgZHJpdmVyIChgZmx1ZW50ZC13cml0ZS10aW1lb3V0YCksIHdoaWNoIGVuYWJsZXMgc3BlY2lmeWluZyB3cml0ZSB0aW1lb3V0cyBmb3IgZmx1ZW50ZCBjb25uZWN0aW9ucy4gW21vYnkvbW9ieSM0OTkxMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTExKQotICAgQWRkIHN1cHBvcnQgZm9yIGBET0NLRVJfQVVUSF9DT05GSUdgIGZvciB0aGUgZXhwZXJpbWVudGFsIGAtLXVzZS1hcGktc29ja2V0YCBvcHRpb24uIFtkb2NrZXIvY2xpIzYwMTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNjAxOSkKLSAgIEZpeCBgZG9ja2VyIGV4ZWNgIHdhaXRpbmcgZm9yIDEwIHNlY29uZHMgaWYgYSBub24tZXhpc3RpbmcgdXNlciBvciBncm91cCB3YXMgc3BlY2lmaWVkLiBbbW9ieS9tb2J5IzQ5ODY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk4NjgpCi0gICBGaXggYGRvY2tlciBzd2FybSBpbml0YCBpZ25vcmluZyBgY2FjZXJ0YCBvcHRpb24gb2YgYC0tZXh0ZXJuYWwtY2FgLiBbZG9ja2VyL2NsaSM1OTk1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5OTUpCi0gICBGaXggYW4gaXNzdWUgd2hlcmUgdGhlIENMSSB3b3VsZCBub3QgY29ycmVjdGx5IHNhdmUgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSAoYH4vLmRvY2tlci9jb25maWcuanNvbmApIGlmIGl0IHdhcyBhIHJlbGF0aXZlIHN5bWJvbGljIGxpbmsuIFtkb2NrZXIvY2xpIzUyODJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTI4MikKLSAgIEZpeCBjb250YWluZXJzIHdpdGggYC0tcmVzdGFydCBhbHdheXNgIHBvbGljeSB1c2luZyBDREkgZGV2aWNlcyBmYWlsaW5nIHRvIHN0YXJ0IG9uIGRhZW1vbiByZXN0YXJ0LiBbbW9ieS9tb2J5IzQ5OTkwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk5OTApCi0gICBGaXggc2hlbGwtY29tcGxldGlvbiB0byBvbmx5IGNvbXBsZXRlIHNvbWUgZmxhZ3Mgb25jZSwgZXZlbiB0aG91Z2ggdGhleSBjYW4gYmUgc2V0IG11bHRpcGxlIHRpbWVzLiBbZG9ja2VyL2NsaSM2MDMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYwMzApCi0gICBGaXggdGhlIGBwbHVnaW4gZG9lcyBub3QgaW1wbGVtZW50IFBsdWdpbkFkZHIgaW50ZXJmYWNlYCBlcnJvciBmb3IgU3dhcm0gQ1NJIGRyaXZlcnMuIFttb2J5L21vYnkjNDk5NjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTk2MSkKLSAgIEltcHJvdmUgYGRvY2tlciBsb2dpbmAgZXJyb3IgbWVzc2FnZXMgZm9yIGludmFsaWQgb3B0aW9ucy4gW2RvY2tlci9jbGkjNjAzNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC82MDM2KQotICAgTWFrZSBzdXJlIHRoZSB0ZXJtaW5hbCBzdGF0ZSBpcyByZXN0b3JlZCBpZiB0aGUgQ0xJIGlzIGZvcmNlZnVsbHkgdGVybWluYXRlZC4gW2RvY2tlci9jbGkjNjA1OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC82MDU4KQotICAgVXBkYXRlIHRoZSBkZWZhdWx0IHNlY2NvbXAgcHJvZmlsZSB0byBtYXRjaCB0aGUgbGlic2VjY29tcCB2Mi42LjAuIFRoZSBuZXcgc3lzY2FsbHMgYXJlOiBgbGlzdG1vdW50YCwgYHN0YXRtb3VudGAsIGBsc21fZ2V0X3NlbGZfYXR0cmAsIGBsc21fbGlzdF9tb2R1bGVzYCwgYGxzbV9zZXRfc2VsZl9hdHRyYCwgYG1zZWFsYCwgYHVyZXRwcm9iZWAsIGByaXNjdl9od3Byb2JlYCwgYGdldHhhdHRyYXRgLCBgbGlzdHhhdHRyYXRgLCBgcmVtb3ZleGF0dHJhdGAsIGFuZCBgc2V0eGF0dHJhdGAuIFRoaXMgcHJldmVudHMgY29udGFpbmVycyBmcm9tIHJlY2VpdmluZyBFUEVSTSBlcnJvcnMgd2hlbiB1c2luZyB0aGVtLiBbbW9ieS9tb2J5IzUwMDc3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNTAwNzcpCi0gICBgZG9ja2VyIGluc3BlY3RgOiBhZGQgc2hlbGwgY29tcGxldGlvbiwgaW1wcm92ZSBmbGFnLWRlc2NyaXB0aW9uIGZvciBgLS10eXBlYCBhbmQgaW1wcm92ZSB2YWxpZGF0aW9uLiBbZG9ja2VyL2NsaSM2MDUyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYwNTIpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBFbmFibGUgQnVpbGRLaXQgZ2FyYmFnZSBjb2xsZWN0b3IgYnkgZGVmYXVsdC4gW21vYnkvbW9ieSM0OTg5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5ODk5KQotICAgY29udGFpbmVyZCBpbWFnZSBzdG9yZTogRml4IGBkb2NrZXIgYnVpbGRgIG5vdCBwZXJzaXN0aW5nIG92ZXJyaWRkZW4gaW1hZ2VzIGFzIGRhbmdsaW5nLiBbbW9ieS9tb2J5IzQ5NzAyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3MDIpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggYGRvY2tlciBzeXN0ZW0gZGZgIHJlcG9ydGluZyBhIG5lZ2F0aXZlIHJlY2xhaW1hYmxlIHNwYWNlIGFtb3VudC4gW21vYnkvbW9ieSM0OTcwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzA3KQotICAgY29udGFpbmVyZCBpbWFnZSBzdG9yZTogRml4IGR1cGxpY2F0ZSBgUFVUYCByZXF1ZXN0cyB3aGVuIHB1c2hpbmcgYSBtdWx0aS1wbGF0Zm9ybSBpbWFnZS4gW21vYnkvbW9ieSM0OTk0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTQ5KQoKIyMjIyMgUGFja2FnaW5nIHVwZGF0ZXMKCi0gICBEcm9wIFVidW50dSAyMC4wNCAiRm9jYWwiIHBhY2thZ2VzIGFzIGl0IHJlYWNoZWQgZW5kIG9mIGxpZmUuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMjAwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMjAwKQotICAgRml4IGluc3RhbGwgbG9jYXRpb24gZm9yIFJQTS1iYXNlZCBgZG9ja2VyLWNlYCBtYW4tcGFnZXMuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMjAzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMjAzKQotICAgVXBkYXRlIEJ1aWxkS2l0IHRvIFt2MC4yMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9idWlsZGtpdC9yZWxlYXNlcy90YWcvdjAuMjIuMCkuIFttb2J5L21vYnkjNTAwNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC81MDA0NikKLSAgIFVwZGF0ZSBCdWlsZHggdG8gW3YwLjI0LjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvYnVpbGR4L3JlbGVhc2VzL3RhZy92MC4yNC4wKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzEyMDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzEyMDUpCi0gICBVcGRhdGUgQ29tcG9zZSB0byBbdjIuMzYuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jb21wb3NlL3JlbGVhc2VzL3RhZy92Mi4zNi4yKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzEyMDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzEyMDgpCi0gICBVcGRhdGUgR28gcnVudGltZSB0byBbMS4yNC4zXShodHRwczovL2dvLmRldi9kb2MvZGV2ZWwvcmVsZWFzZSNnbzEuMjQuMykuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTkyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTkyKSwgW2RvY2tlci9jbGkjNjA2MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC82MDYwKSwgW21vYnkvbW9ieSM0OTE3NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MTc0KQoKIyMjIyMgTmV0d29ya2luZwoKLSAgIEFkZCBicmlkZ2UgbmV0d29yayBvcHRpb24gYCJjb20uZG9ja2VyLm5ldHdvcmsuYnJpZGdlLnRydXN0ZWRfaG9zdF9pbnRlcmZhY2VzImAsIGFjY2VwdGluZyBhIHNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGludGVyZmFjZSBuYW1lcy4gVGhlc2UgaW50ZXJmYWNlcyBoYXZlIGRpcmVjdCBhY2Nlc3MgdG8gcHVibGlzaGVkIHBvcnRzIG9uIGNvbnRhaW5lciBJUCBhZGRyZXNzZXMuIFttb2J5L21vYnkjNDk4MzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTgzMikKLSAgIEFkZCBkYWVtb24gb3B0aW9uIGAiYWxsb3ctZGlyZWN0LXJvdXRpbmciYCB0byBkaXNhYmxlIGZpbHRlcmluZyBvZiBwYWNrZXRzIGZyb20gb3V0c2lkZSB0aGUgaG9zdCBhZGRyZXNzZWQgZGlyZWN0bHkgdG8gY29udGFpbmVycy4gW21vYnkvbW9ieSM0OTgzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5ODMyKQotICAgRG8gbm90IGRpc3BsYXkgbmV0d29yayBvcHRpb25zIGBjb20uZG9ja2VyLm5ldHdvcmsuZW5hYmxlX2lwdjRgIG9yIGBjb20uZG9ja2VyLm5ldHdvcmsuZW5hYmxlX2lwdjZgIGluIGluc3BlY3Qgb3V0cHV0IGlmIHRoZXkgaGF2ZSBiZWVuIG92ZXJyaWRkZW4gYnkgYEVuYWJsZUlQdjRgIG9yIGBFbmFibGVJUHY2YCBpbiB0aGUgbmV0d29yayBjcmVhdGUgcmVxdWVzdC4gW21vYnkvbW9ieSM0OTg2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5ODY2KQotICAgRml4IGFuIGlzc3VlIHRoYXQgY291bGQgY2F1c2UgbmV0d29yayBkZWxldGlvbiB0byBmYWlsIGFmdGVyIGEgZGFlbW9uIHJlc3RhcnQsIHdpdGggZXJyb3IgImhhcyBhY3RpdmUgZW5kcG9pbnRzIiBsaXN0aW5nIGVtcHR5IGVuZHBvaW50IG5hbWVzLiBbbW9ieS9tb2J5IzQ5OTAxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk5MDEpCi0gICBGaXggYW4gaXNzdWUgd2hlcmUgYGRvY2tlciBuZXR3b3JrIGluc3BlY3QgLS12ZXJib3NlYCBjb3VsZCBzb21ldGltZXMgY3Jhc2ggdGhlIGRhZW1vbi4gW21vYnkvbW9ieSM0OTkzN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTM3KQotICAgRml4IGFuIGlzc3VlIHdoZXJlIHRoZSBsb2FkLWJhbGFuY2VyIElQIGFkZHJlc3MgZm9yIGFuIG92ZXJsYXkgbmV0d29yayB3b3VsZCBub3QgYmUgcmVsZWFzZWQgaW4gY2VydGFpbiBjYXNlcyBpZiB0aGUgU3dhcm0gd2FzIGxhY2tpbmcgYW4gaW5ncmVzcyBuZXR3b3JrLiBbbW9ieS9tb2J5IzQ5OTQ4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk5NDgpCi0gICBJbXByb3ZlIHRoZSByZWxpYWJpbGl0eSBvZiBOZXR3b3JrREIgaW4gYnVzeSBjbHVzdGVycyBhbmQgbG9zc3kgbmV0d29ya3MuIFttb2J5L21vYnkjNDk5MzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTkzMikKLSAgIEltcHJvdmVtZW50cyB0byB0aGUgcmVsaWFiaWxpdHkgYW5kIGNvbnZlcmdlbmNlIHNwZWVkIG9mIE5ldHdvcmtEQi4gW21vYnkvbW9ieSM0OTkzOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTM5KQoKIyMjIyMgQVBJCgotICAgVXBkYXRlIEFQSSB2ZXJzaW9uIHRvIGAxLjUwYC4KLSAgIGBERUxFVEUgL2ltYWdlcy97bmFtZX1gIG5vdyBzdXBwb3J0cyBhIGBwbGF0Zm9ybXNgIHF1ZXJ5IHBhcmFtZXRlci4gSXQgYWNjZXB0cyBhbiBhcnJheSBvZiBKU09OLWVuY29kZWQgT0NJIFBsYXRmb3JtIG9iamVjdHMsIGFsbG93aW5nIGZvciBzZWxlY3RpbmcgYSBzcGVjaWZpYyBwbGF0Zm9ybXMgdG8gZGVsZXRlIGNvbnRlbnQgZm9yLiBbbW9ieS9tb2J5IzQ5OTgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk5ODIpCi0gICBgR0VUIC9pbmZvYCBub3cgaW5jbHVkZXMgYSBgRGlzY292ZXJlZERldmljZXNgIGZpZWxkLiBUaGlzIGlzIGFuIGFycmF5IG9mIGBEZXZpY2VJbmZvYCBvYmplY3RzLCBlYWNoIHByb3ZpZGluZyBkZXRhaWxzIGFib3V0IGEgZGV2aWNlIGRpc2NvdmVyZWQgYnkgYSBkZXZpY2UgZHJpdmVyLiBbbW9ieS9tb2J5IzQ5OTgwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk5ODApCgojIyMjIyBHbyBTREsKCi0gICBgYXBpL3R5cGVzL2NvbnRhaW5lcmA6IGFkZCBgQ29udGFpbmVyU3RhdGVgIGFuZCBjb25zdGFudHMgZm9yIGNvbnRhaW5lciBzdGF0ZS4gW21vYnkvbW9ieSM0OTk2NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTY1KQotICAgYGFwaS90eXBlcy9jb250YWluZXJgOiBjaGFuZ2UgYFN1bW1hcnkuU3RhdGVgIHRvIGEgYENvbnRhaW5lclN0YXRlYC4gW21vYnkvbW9ieSM0OTk5MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5OTkxKQotICAgYGFwaS90eXBlcy9jb250YWluZXJgOiBkZWZpbmUgYEhlYWx0aFN0YXR1c2AgdHlwZSBmb3IgaGVhbHRoLXN0YXR1cyBjb25zdGFudHMuIFttb2J5L21vYnkjNDk4NzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTg3NikKLSAgIGBhcGkvdHlwZXNgOiBkZXByZWNhdGUgYEJ1aWxkUmVzdWx0YCwgYEltYWdlQnVpbGRPcHRpb25zYCwgYEltYWdlQnVpbGRPdXRwdXRgLCBgSW1hZ2VCdWlsZFJlc3BvbnNlYCwgYEJ1aWxkZXJWZXJzaW9uYCwgYEJ1aWxkZXJWMWAsIGFuZCBgQnVpbGRlckJ1aWxkS2lgIHdoaWNoIHdlcmUgbW92ZWQgdG8gYGFwaS90eXBlcy9idWlsZGAuIFttb2J5L21vYnkjNTAwMjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC81MDAyNSkKCiMjIyMjIERlcHJlY2F0aW9ucwoKLSAgIEFQSTogRGVwcmVjYXRlZDogYEdFVCAvaW1hZ2VzL3tuYW1lfS9qc29uYCBubyBsb25nZXIgcmV0dXJucyB0aGUgZm9sbG93aW5nIGZpZWxkczogYENvbmZpZ2AsIGBIb3N0bmFtZWAsIGBEb21haW5uYW1lYCwgYEF0dGFjaFN0ZGluYCwgYEF0dGFjaFN0ZG91dGAsIGBBdHRhY2hTdGRlcnJgLCBgVHR5YCwgYE9wZW5TdGRpbmAsIGBTdGRpbk9uY2VgLCBgSW1hZ2VgLCBgTmV0d29ya0Rpc2FibGVkYCAoYWxyZWFkeSBvbWl0dGVkIHVubGVzcyBzZXQpLCBgTWFjQWRkcmVzc2AgKGFscmVhZHkgb21pdHRlZCB1bmxlc3Mgc2V0KSwgYFN0b3BUaW1lb3V0YCAoYWxyZWFkeSBvbWl0dGVkIHVubGVzcyBzZXQpLiBUaGVzZSBhZGRpdGlvbmFsIGZpZWxkcyB3ZXJlIGluY2x1ZGVkIGluIHRoZSByZXNwb25zZSBkdWUgdG8gYW4gaW1wbGVtZW50YXRpb24gZGV0YWlsIGJ1dCBub3QgcGFydCBvZiB0aGUgaW1hZ2UncyBDb25maWd1cmF0aW9uLCB3ZXJlIG1hcmtlZCBkZXByZWNhdGVkIGluIEFQSSB2MS40NiwgYW5kIGFyZSBub3cgb21pdHRlZC4gW21vYnkvbW9ieSM0ODQ1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NDU3KQotICAgR28tU0RLOiBEZXByZWNhdGUgYnVpbGRlci9yZW1vdGVjb250ZXh0LlJlbCgpLiBUaGlzIGZ1bmN0aW9uIHdhcyBuZWVkZWQgb24gb2xkZXIgdmVyc2lvbnMgb2YgR28sIGJ1dCBjYW4gbm93IGJlIHJlcGxhY2VkIGJ5IGBmaWxlcGF0aC5SZWwoKWAuIFttb2J5L21vYnkjNDk4NDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTg0MykKLSAgIEdvLVNESzogYXBpL3R5cGVzOiBkZXByZWNhdGUgYEJ1aWxkQ2FjaGVQcnVuZU9wdGlvbnNgIGluIGZhdm9yIG9mIGBhcGkvdHlwZXMvYnVpbGRlci5DYWNoZVBydW5lT3B0aW9uc2AuIFttb2J5L21vYnkjNTAwMTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC81MDAxNSkKLSAgIEdvLVNESzogYXBpL3R5cGVzOiBkZXByZWNhdGUgYEJ1aWxkQ2FjaGVQcnVuZVJlcG9ydGAgaW4gZmF2b3Igb2YgYGFwaS90eXBlcy9idWlsZGVyLkNhY2hlUHJ1bmVSZXBvcnRgLiBbbW9ieS9tb2J5IzUwMDE1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNTAwMTUpCi0gICBHby1TREs6IGFwaS90eXBlczogZGVwcmVjYXRlIGBOb2RlTGlzdE9wdGlvbnNgLCBgTm9kZVJlbW92ZU9wdGlvbnNgLCBgU2VydmljZUNyZWF0ZU9wdGlvbnNgLCBgU2VydmljZVVwZGF0ZU9wdGlvbnNgLCBgUmVnaXN0cnlBdXRoRnJvbVNwZWNgLCBgUmVnaXN0cnlBdXRoRnJvbVByZXZpb3VzU3BlY2AsIGBTZXJ2aWNlTGlzdE9wdGlvbnNgLCBgU2VydmljZUluc3BlY3RPcHRpb25zYCwgYW5kIGBTd2FybVVubG9ja0tleVJlc3BvbnNlYCB3aGljaCB3ZXJlIG1vdmVkIHRvIGBhcGkvdHlwZXMvc3dhcm1gLiBbbW9ieS9tb2J5IzUwMDI3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNTAwMjcpCi0gICBHby1TREs6IGFwaS90eXBlczogZGVwcmVjYXRlIGBTZWNyZXRDcmVhdGVSZXNwb25zZWAsIGBTZWNyZXRMaXN0T3B0aW9uc2AsIGBDb25maWdDcmVhdGVSZXNwb25zZWAsIGBDb25maWdMaXN0T3B0aW9uc2Agd2hpY2ggd2VyZSBtb3ZlZCB0byBhcGkvdHlwZXMvc3dhcm0uIFttb2J5L21vYnkjNTAwMjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC81MDAyNCkKLSAgIEdvLVNESzogY2xpZW50OiBkZXByZWNhdGUgYElzRXJyTm90Rm91bmRgLiBbbW9ieS9tb2J5IzUwMDEyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNTAwMTIpCi0gICBHby1TREs6IGNvbnRhaW5lcjogZGVwcmVjYXRlIGBJc1ZhbGlkSGVhbHRoU3RyaW5nYCBpbiBmYXZvciBvZiBgYXBpL3R5cGVzL2NvbnRhaW5lci5WYWxpZGF0ZUhlYWx0aFN0YXR1c2AuIFttb2J5L21vYnkjNDk4OTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTg5MykKLSAgIEdvLVNESzogY29udGFpbmVyOiBkZXByZWNhdGUgYFN0YXRlU3RhdHVzYCwgYFdhaXRDb25kaXRpb25gLCBhbmQgdGhlIHJlbGF0ZWQgIGBXYWl0Q29uZGl0aW9uTm90UnVubmluZ2AsIGBXYWl0Q29uZGl0aW9uTmV4dEV4aXRgLCBhbmQgYFdhaXRDb25kaXRpb25SZW1vdmVkYCBjb25zdHMgaW4gZmF2b3Igb2YgdGhlaXIgZXF1aXZhbGVudHMgaW4gYGFwaS90eXBlcy9jb250YWluZXJgLiBbbW9ieS9tb2J5IzQ5ODc0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk4NzQpCi0gICBHby1TREs6IG9wdHM6IGRlcHJlY2F0ZSBgTGlzdE9wdHMuR2V0QWxsYCBpbiBmYXZvciBvZiBgTGlzdE9wdHMuR2V0U2xpY2VgLiBbZG9ja2VyL2NsaSM2MDMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYwMzIpCi0gICBSZW1vdmUgZGVwcmVjYXRlZCBgSXNBdXRvbWF0ZWRgIGZvcm1hdHRpbmcgcGxhY2Vob2xkZXIgZnJvbSBgZG9ja2VyIHNlYXJjaGAuIFtkb2NrZXIvY2xpIzYwOTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNjA5MSkKLSAgIFJlbW92ZSBmYWxsYmFjayBmb3IgcHVsbGluZyBpbWFnZXMgZnJvbSBub24tT0NJLWNvbXBsaWFudCBgZG9ja2VyLnBrZy5naXRodWIuY29tYCByZWdpc3RyeS4gW21vYnkvbW9ieSM1MDA5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzUwMDk0KQotICAgUmVtb3ZlIHN1cHBvcnQgZm9yIHB1bGxpbmcgbGVnYWN5IHYyLCBzY2hlbWEgMSBpbWFnZXMgYW5kIHJlbW92ZSBgRE9DS0VSX0VOQUJMRV9ERVBSRUNBVEVEX1BVTExfU0NIRU1BXzFfSU1BR0VgIGVudmlyb25tZW50LXZhcmlhYmxlLiBbbW9ieS9tb2J5IzUwMDM2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNTAwMzYpLCBbbW9ieS9tb2J5IzQyMzAwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDIzMDApCi0gICBUaGUgYEJyaWRnZU5mSXB0YWJsZXNgIGFuZCBgQnJpZGdlTmZJcDZ0YWJsZXNgIGZpZWxkcyBpbiB0aGUgYEdFVCAvaW5mb2AgcmVzcG9uc2Ugd2VyZSBkZXByZWNhdGVkIGluIEFQSSB2MS40OCwgYW5kIGFyZSBub3cgb21pdHRlZCBpbiBBUEkgdjEuNTAuIFttb2J5L21vYnkjNDk5MDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTkwNCkKLSAgIGVycmRlZnM6IERlcHJlY2F0ZSBgZXJyZGVmcy5Gcm9tU3RhdHVzQ29kZWAuIFVzZSBjb250YWluZXJkJ3MgYGVycmh0dHAuVG9OYXRpdmVgIGluc3RlYWQuIFttb2J5L21vYnkjNTAwMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC81MDAzMCkKCiMjIyBbYHYyOC4xLjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3JlbGVhc2VzL3RhZy92MjguMS4xKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2NvbXBhcmUvdjI4LjEuMC4uLnYyOC4xLjEpCgojIyMjIDI4LjEuMQoKRm9yIGEgZnVsbCBsaXN0IG9mIHB1bGwgcmVxdWVzdHMgYW5kIGNoYW5nZXMgaW4gdGhpcyByZWxlYXNlLCByZWZlciB0byB0aGUgcmVsZXZhbnQgR2l0SHViIG1pbGVzdG9uZXM6CgotICAgW2RvY2tlci9jbGksIDI4LjEuMSBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL2lzc3Vlcz9xPWlzJTNBY2xvc2VkK21pbGVzdG9uZSUzQTI4LjEuMSkKLSAgIFttb2J5L21vYnksIDI4LjEuMSBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMS4xKQoKIyMjIyMgQnVnIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCi0gICBGaXggYGRvY2tlcmQtcm9vdGxlc3Mtc2V0dXB0b29sLnNoYCBpbmNvcnJlY3RseSByZXBvcnRpbmcgbWlzc2luZyBgaXB0YWJsZXNgLiBbbW9ieS9tb2J5IzQ5ODMzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk4MzMpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggYSBwb3RlbnRpYWwgZGFlbW9uIGNyYXNoIHdoZW4gdXNpbmcgYGRvY2tlciBsb2FkYCB3aXRoIGFyY2hpdmVzIGNvbnRhaW5pbmcgemVyby1zaXplIHRhciBoZWFkZXJzLiBbbW9ieS9tb2J5IzQ5ODM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk4MzcpCgojIyMjIyBQYWNrYWdpbmcgdXBkYXRlcwoKLSAgIFVwZGF0ZSBCdWlsZHggdG8gW3YwLjIzLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvYnVpbGR4L3JlbGVhc2VzL3RhZy92MC4yMy4wKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExODVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExODUpCi0gICBVcGRhdGUgQ29tcG9zZSB0byBbdjIuMzUuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jb21wb3NlL3JlbGVhc2VzL3RhZy92Mi4zNS4xKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExODhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExODgpCgojIyMjIyBOZXR3b3JraW5nCgotICAgQWRkIGEgd2FybmluZyB0byBhIGNvbnRhaW5lcidzIGAvZXRjL3Jlc29sdi5jb25mYCB3aGVuIG5vIHVwc3RyZWFtIEROUyBzZXJ2ZXJzIHdlcmUgZm91bmQuIFttb2J5L21vYnkjNDk4MjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTgyNykKCiMjIyBbYHYyOC4xLjBgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3JlbGVhc2VzL3RhZy92MjguMS4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2NvbXBhcmUvdjI4LjAuNC4uLnYyOC4xLjApCgojIyMjIDI4LjEuMAoKRm9yIGEgZnVsbCBsaXN0IG9mIHB1bGwgcmVxdWVzdHMgYW5kIGNoYW5nZXMgaW4gdGhpcyByZWxlYXNlLCByZWZlciB0byB0aGUgcmVsZXZhbnQgR2l0SHViIG1pbGVzdG9uZXM6CgotICAgW2RvY2tlci9jbGksIDI4LjEuMCBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL2lzc3Vlcz9xPWlzJTNBY2xvc2VkK21pbGVzdG9uZSUzQTI4LjEuMCkKLSAgIFttb2J5L21vYnksIDI4LjEuMCBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMS4wKQotICAgQ2hhbmdlcyB0byB0aGUgRW5naW5lIEFQSSwgc2VlIFtBUEkgdmVyc2lvbiBoaXN0b3J5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2Jsb2IvdjI4LjEuMC9kb2NzL2FwaS92ZXJzaW9uLWhpc3RvcnkubWQpLgoKIyMjIyMgTmV3CgotICAgQWRkIGBkb2NrZXIgYmFrZWAgc3ViLWNvbW1hbmQgYXMgYWxpYXMgZm9yIGBkb2NrZXIgYnVpbGR4IGJha2VgLiBbZG9ja2VyL2NsaSM1OTQ3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5NDcpCi0gICBFeHBlcmltZW50YWw6IGFkZCBhIG5ldyBgLS11c2UtYXBpLXNvY2tldGAgZmxhZyBvbiBgZG9ja2VyIHJ1bmAgYW5kIGBkb2NrZXIgY3JlYXRlYCB0byBlbmFibGUgYWNjZXNzIHRvIERvY2tlciBzb2NrZXQgZnJvbSBpbnNpZGUgYSBjb250YWluZXIgYW5kIHRvIHNoYXJlIGNyZWRlbnRpYWxzIGZyb20gdGhlIGhvc3Qgd2l0aCB0aGUgY29udGFpbmVyLiBbZG9ja2VyL2NsaSM1ODU4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU4NTgpCi0gICBgZG9ja2VyIGltYWdlIGluc3BlY3RgIG5vdyBzdXBwb3J0cyBhIGAtLXBsYXRmb3JtYCBmbGFnIHRvIGluc3BlY3QgYSBzcGVjaWZpYyBwbGF0Zm9ybSBvZiBhIG11bHRpLXBsYXRmb3JtIGltYWdlLiBbZG9ja2VyL2NsaSM1OTM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5MzQpCgojIyMjIyBCdWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoKLSAgIEFkZCBDTEkgc2hlbGwtY29tcGxldGlvbiBmb3IgY29udGV4dCBuYW1lcy4gW2RvY2tlci9jbGkjNjAxNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC82MDE2KQotICAgRml4IGBkb2NrZXIgaW1hZ2VzIC0tdHJlZWAgbm90IGluY2x1ZGluZyBub24tY29udGFpbmVyIGltYWdlcyBjb250ZW50IHNpemUgaW4gdGhlIHRvdGFsIGltYWdlIGNvbnRlbnQgc2l6ZS4gW2RvY2tlci9jbGkjNjAwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC82MDAwKQotICAgRml4IGBkb2NrZXIgbG9hZGAgbm90IHByZXNlcnZpbmcgcmVwbGFjZWQgaW1hZ2VzLiBbbW9ieS9tb2J5IzQ5NjUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2NTApCi0gICBGaXggYGRvY2tlciBsb2dpbmAgaGludHMgd2hlbiBsb2dnaW5nIGluIHRvIGEgY3VzdG9tIHJlZ2lzdHJ5LiBbZG9ja2VyL2NsaSM2MDE1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzYwMTUpCi0gICBGaXggYGRvY2tlciBzdGF0c2Agbm90IHdvcmtpbmcgcHJvcGVybHkgb24gbWFjaGluZXMgd2l0aCBoaWdoIENQVSBjb3JlIGNvdW50LiBbbW9ieS9tb2J5IzQ5NzM0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3MzQpCi0gICBGaXggYSByZWdyZXNzaW9uIGNhdXNpbmcgYGRvY2tlciBwdWxsL3B1c2hgIHRvIGZhaWwgd2hlbiBpbnRlcmFjdGluZyB3aXRoIGEgcHJpdmF0ZSByZXBvc2l0b3J5LiBbZG9ja2VyL2NsaSM1OTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5NjQpCi0gICBGaXggYW4gaXNzdWUgcHJldmVudGluZyByb290bGVzcyBEb2NrZXIgc2V0dXAgb24gYSBob3N0IHdpdGggbm8gYGlwX3RhYmxlc2Aga2VybmVsIG1vZHVsZS4gW21vYnkvbW9ieSM0OTcyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzI3KQotICAgRml4IGFuIGlzc3VlIHRoYXQgY291bGQgbGVhZCB0byB1bndhbnRlZCBpcHRhYmxlcyBydWxlcyBiZWluZyByZXN0b3JlZCBhbmQgbmV2ZXIgZGVsZXRlZCBmb2xsb3dpbmcgYSBmaXJld2FsbGQgcmVsb2FkLiBbbW9ieS9tb2J5IzQ5NzI4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3MjgpCi0gICBJbXByb3ZlIENMSSBjb21wbGV0aW9uIG9mIGBkb2NrZXIgc2VydmljZSBzY2FsZWAuIFtkb2NrZXIvY2xpIzU5NjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTk2OCkKLSAgIGBkb2NrZXIgaW1hZ2VzIC0tdHJlZWAgbm93IGhpZGVzIGJvdGggdW50YWdnZWQgYW5kIGRhbmdsaW5nIGltYWdlcyBieSBkZWZhdWx0LiBbZG9ja2VyL2NsaSM1OTI0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5MjQpCi0gICBgZG9ja2VyIHN5c3RlbSBpbmZvYCB3aWxsIHByb3ZpZGUgYW4gZXhpdCBjb2RlIGlmIGEgY29ubmVjdGlvbiBjYW5ub3QgYmUgZXN0YWJsaXNoZWQgdG8gdGhlIERvY2tlciBkYWVtb24uIFtkb2NrZXIvY2xpIzU5MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTkxOCkKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEZpeCBgaW1hZ2UgdGFnYCBldmVudCBub3QgYmVpbmcgZW1pdHRlZCB3aGVuIGJ1aWxkaW5nIHdpdGggQnVpbGRLaXQuIFttb2J5L21vYnkjNDk2NzhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTY3OCkKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEltcHJvdmUgYGRvY2tlciBwdXNoL3B1bGxgIGhhbmRsaW5nIG9mIHJlbW90ZSByZWdpc3RyeSBlcnJvcnMuIFttb2J5L21vYnkjNDk3NzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTc3MCkKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IFNob3cgcHVsbCBwcm9ncmVzcyBmb3Igbm9uLWxheWVyIGltYWdlIGJsb2JzLiBbbW9ieS9tb2J5IzQ5NzQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3NDYpCgojIyMjIyBQYWNrYWdpbmcgdXBkYXRlcwoKLSAgIEFkZCBEZWJpYW4gIlRyaXhpZSIgcGFja2FnZXMuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTgxKQotICAgQWRkIEZlZG9yYSA0MiBwYWNrYWdlcy4gW2RvY2tlci9jb250YWluZXJkLXBhY2thZ2luZyM0MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY29udGFpbmVyZC1wYWNrYWdpbmcvcHVsbC80MTgpLCBbZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcjMTE2OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nL3B1bGwvMTE2OSkKLSAgIEFkZCBVYnVudHUgMjUuMDQgIlBsdWNreSBQdWZmaW4iIHBhY2thZ2VzLiBbZG9ja2VyL2NvbnRhaW5lcmQtcGFja2FnaW5nIzQxOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jb250YWluZXJkLXBhY2thZ2luZy9wdWxsLzQxOSksIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTc3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTc3KQotICAgVXBkYXRlIEJ1aWxkS2l0IHRvIFt2MC4yMS4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9idWlsZGtpdC9yZWxlYXNlcy90YWcvdjAuMjEuMCkuIFttb2J5L21vYnkjNDk4MDldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTgwOSkKLSAgIFVwZGF0ZSBDb21wb3NlIHRvIFt2Mi4zNS4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NvbXBvc2UvcmVsZWFzZXMvdGFnL3YyLjM1LjApLiBbZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcjMTE4M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nL3B1bGwvMTE4MykKLSAgIFVwZGF0ZSBHbyBydW50aW1lIHRvIFsxLjIzLjhdKGh0dHBzOi8vZ28uZGV2L2RvYy9kZXZlbC9yZWxlYXNlI2dvMS4yMy44KS4gW2RvY2tlci9jbGkjNTk4Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81OTg2KSwgW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExODApLCBbbW9ieS9tb2J5IzQ5NzM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3MzcpCgojIyMjIyBOZXR3b3JraW5nCgotICAgRml4IGEgYnVnIGNhdXNpbmcgaG9zdCBwb3J0LW1hcHBpbmdzIG9uIFN3YXJtIGNvbnRhaW5lcnMgdG8gYmUgZHVwbGljYXRlZCBvbiBgZG9ja2VyIHBzYCBhbmQgYGRvY2tlciBpbnNwZWN0YC4gW21vYnkvbW9ieSM0OTcyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzI0KQotICAgRml4IGFuIGlzc3VlIHRoYXQgY2F1c2VkIGNvbnRhaW5lciBuZXR3b3JrIGF0dGFjaG1lbnQgdG8gZmFpbCB3aXRoIGVycm9yICJCcmlkZ2UgcG9ydCBub3QgZm9yd2FyZGluZyIuIFttb2J5L21vYnkjNDk3MDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTcwNSkKLSAgIEZpeCBhbiBpc3N1ZSB3aXRoIHJlbW92YWwgb2YgYSBgLS1saW5rYCBmcm9tIGEgY29udGFpbmVyIGluIHRoZSBkZWZhdWx0IGJyaWRnZSBuZXR3b3JrLiBbbW9ieS9tb2J5IzQ5Nzc4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3NzgpCi0gICBJbXByb3ZlIGhvdyBuZXR3b3JrLWVuZHBvaW50IHJlbGF0aW9uc2hpcHMgYXJlIHRyYWNrZWQgdG8gcmVkdWNlIHRoZSBjaGFuY2Ugb2YgdGhlICJoYXMgYWN0aXZlIGVuZHBvaW50cyIgZXJyb3IgdG8gYmUgd3JvbmdmdWxseSByZXR1cm5lZC4gW21vYnkvbW9ieSM0OTczNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzM2KQotICAgSW1wcm92ZSB0aGUgImhhcyBhY3RpdmUgZW5kcG9pbnRzIiBlcnJvciBtZXNzYWdlIGJ5IGluY2x1ZGluZyB0aGUgbmFtZSBvZiBlbmRwb2ludHMgc3RpbGwgY29ubmVjdGVkIHRvIHRoZSBuZXR3b3JrIGJlaW5nIGRlbGV0ZWQuIFttb2J5L21vYnkjNDk3NzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTc3MykKCiMjIyMjIEFQSQoKLSAgIFVwZGF0ZSBBUEkgdmVyc2lvbiB0byBbdjEuNDldKGh0dHBzOi8vZG9jcy5kb2NrZXIuY29tL2VuZ2luZS9hcGkvdjEuNDkvKS4gW21vYnkvbW9ieSM0OTcxOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzE4KQotICAgYEdFVCAvaW1hZ2Uve25hbWV9L2pzb25gIG5vdyBzdXBwb3J0cyBhIGBwbGF0Zm9ybWAgcGFyYW1ldGVyIGFsbG93aW5nIHRvIHNwZWNpZnkgd2hpY2ggcGxhdGZvcm0gdmFyaWFudCBvZiBhIG11bHRpLXBsYXRmb3JtIGltYWdlIHRvIGluc3BlY3QuIFttb2J5L21vYnkjNDk1ODZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTU4NikKLSAgIGBHRVQgL2luZm9gIG5vdyByZXR1cm5zIGEgYEZpcmV3YWxsQmFja2VuZGAgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGFlbW9uJ3MgZmlyZXdhbGxpbmcgY29uZmlndXJhdGlvbi4gW21vYnkvbW9ieSM0OTc2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NzYxKQoKIyMjIyMgR28gU0RLCgotICAgVXBkYXRlIG1pbmltdW0gcmVxdWlyZWQgR28gdmVyc2lvbiB0byBnbzEuMjMuIFtkb2NrZXIvY2xpIzU4NjhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTg2OCkKLSAgIGNsaS9jb21tYW5kL2NvbnRleHQ6IHJlbW92ZSB0ZW1wb3JhcnkgYENvbnRleHRUeXBlYCBmaWVsZCBmcm9tIEpTT04gb3V0cHV0LiBbZG9ja2VyL2NsaSM1OTgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5ODEpCi0gICBjbGllbnQ6IEtlZXAgaW1hZ2UgcmVmZXJlbmNlcyBpbiBjYW5vbmljYWwgZm9ybWF0IHdoZXJlIHBvc3NpYmxlLiBbbW9ieS9tb2J5IzQ5NjA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2MDkpCgojIyMjIyBEZXByZWNhdGlvbnMKCi0gICBBUEk6IERlcHJlY2F0ZWQgYEFsbG93Tm9uZGlzdHJpYnV0YWJsZUFydGlmYWN0c0NJRFJzYCBhbmQgYEFsbG93Tm9uZGlzdHJpYnV0YWJsZUFydGlmYWN0c0hvc3RuYW1lc2AgZmllbGRzIGluIHRoZSBgUmVnaXN0cnlDb25maWdgIHN0cnVjdCBpbiB0aGUgYEdFVCAvaW5mb2AgcmVzcG9uc2UgYXJlIG9taXR0ZWQgaW4gQVBJIHYxLjQ5LiBbbW9ieS9tb2J5IzQ5NzQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3NDkpCi0gICBBUEk6IERlcHJlY2F0ZWQ6IFRoZSBgQ29udGFpbmVyZENvbW1pdC5FeHBlY3RlZGAsIGBSdW5jQ29tbWl0LkV4cGVjdGVkYCwgYW5kIGBJbml0Q29tbWl0LkV4cGVjdGVkYCBmaWVsZHMgaW4gdGhlIGBHRVQgL2luZm9gIGVuZHBvaW50IHdlcmUgZGVwcmVjYXRlZCBpbiBBUEkgdjEuNDgsIGFuZCBhcmUgbm93IG9taXR0ZWQgaW4gQVBJIHYxLjQ5LiBbbW9ieS9tb2J5IzQ4NTU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg1NTYpCi0gICBHby1TREs6IGNsaS9jb21tYW5kL2ltYWdlOiBEZXByZWNhdGUgYFJ1blB1bGxgOiB0aGlzIGZ1bmN0aW9uIHdhcyBvbmx5IHVzZWQgaW50ZXJuYWxseSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IHJlbGVhc2UuIFtkb2NrZXIvY2xpIzU5NzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTk3NSkKLSAgIEdvLVNESzogY2xpL2NvbmZpZy9jb25maWdmaWxlOiBkZXByZWNhdGUgYENvbmZpZ0ZpbGUuRXhwZXJpbWVudGFsYCBmaWVsZC4gRXhwZXJpbWVudGFsIENMSSBmZWF0dXJlcyBhcmUgYWx3YXlzIGVuYWJsZWQgc2luY2UgdmVyc2lvbiB2MjAuMTAgYW5kIHRoaXMgZmllbGQgaXMgbm8gbG9uZ2VyIHVzZWQuIFVzZSBgQ29uZmlnRmlsZS5GZWF0dXJlc2AgaW5zdGVhZCBmb3Igb3B0aW9uYWwgZmVhdHVyZXMuIFRoaXMgZmllbGQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIFtkb2NrZXIvY2xpIzU5NzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTk3NykKLSAgIEdvLVNESzogZGVwcmVjYXRlIGBwa2cvYXJjaGl2ZWAsIHdoaWNoIHdhcyBtaWdyYXRlZCB0byBgZ2l0aHViLmNvbS9tb2J5L2dvLWFyY2hpdmVgLiBbbW9ieS9tb2J5IzQ5NzQzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3NDMpCi0gICBHby1TREs6IGRlcHJlY2F0ZSBgcGtnL2F0b21pY3dyaXRlcmAsIHdoaWNoIHdhcyBtaWdyYXRlZCB0byBgZ2l0aHViLmNvbS9tb2J5L3N5cy9hdG9taWN3cml0ZXJgLiBbbW9ieS9tb2J5IzQ5NzQ4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3NDgpCi0gICBHby1TREs6IG9wdHM6IHJlbW92ZSBkZXByZWNhdGVkIGBQb3J0T3B0YCwgYENvbmZpZ09wdGAsIGBTZWNyZXRPcHRgIGFsaWFzZXMuIFtkb2NrZXIvY2xpIzU5NTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTk1MykKLSAgIEdvLVNESzogcmVnaXN0cnk6IGRlcHJlY2F0ZSBgQVBJRW5kcG9pbnQuT2ZmaWNpYWxgIGZpZWxkLiBbbW9ieS9tb2J5IzQ5NzA2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk3MDYpCgojIyMgW2B2MjguMC40YF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9yZWxlYXNlcy90YWcvdjI4LjAuNCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9jb21wYXJlL3YyOC4wLjMuLi52MjguMC40KQoKIyMjIyAyOC4wLjQKCkZvciBhIGZ1bGwgbGlzdCBvZiBwdWxsIHJlcXVlc3RzIGFuZCBjaGFuZ2VzIGluIHRoaXMgcmVsZWFzZSwgcmVmZXIgdG8gdGhlIHJlbGV2YW50IEdpdEh1YiBtaWxlc3RvbmVzOgoKLSAgIFtkb2NrZXIvY2xpLCAyOC4wLjQgbWlsZXN0b25lXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9pc3N1ZXM/cT1pcyUzQWNsb3NlZCttaWxlc3RvbmUlM0EyOC4wLjQpCi0gICBbbW9ieS9tb2J5LCAyOC4wLjQgbWlsZXN0b25lXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2lzc3Vlcz9xPWlzJTNBY2xvc2VkK21pbGVzdG9uZSUzQTI4LjAuNCkKCiMjIyMjIEJ1ZyBmaXhlcyBhbmQgZW5oYW5jZW1lbnRzCgotICAgRml4IGEgcmVncmVzc2lvbiBjYXVzaW5nIGBkb2NrZXIgcHVsbC9wdXNoYCB0byBmYWlsIHdoZW4gaW50ZXJhY3Rpbmcgd2l0aCBhIHByaXZhdGUgcmVwb3NpdG9yeS4gW2RvY2tlci9jbGkjNTk2NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81OTY0KQoKIyMjIFtgdjI4LjAuM2BdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcmVsZWFzZXMvdGFnL3YyOC4wLjMpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvY29tcGFyZS92MjguMC4yLi4udjI4LjAuMykKCiMjIyMgMjguMC4zCgpGb3IgYSBmdWxsIGxpc3Qgb2YgcHVsbCByZXF1ZXN0cyBhbmQgY2hhbmdlcyBpbiB0aGlzIHJlbGVhc2UsIHJlZmVyIHRvIHRoZSByZWxldmFudCBHaXRIdWIgbWlsZXN0b25lczoKCi0gICBbZG9ja2VyL2NsaSwgMjguMC4zIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMC4zKQotICAgW21vYnkvbW9ieSwgMjguMC4zIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9pc3N1ZXM/cT1pcyUzQWNsb3NlZCttaWxlc3RvbmUlM0EyOC4wLjMpCgojIyMjIyBCdWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoKLSAgIEZpeCBgZG9ja2VyIHJ1bmAgdHJ1bmNhdGluZyB0aGUgYFNURE9VVGAvYFNUREVSUmAgcHJlbWF0dXJlbHkgd2hlbiB0aGUgY29udGFpbmVyIGV4aXRzIGJlZm9yZSB0aGUgZGF0YSBpcyBjb25zdW1lZC4gW2RvY2tlci9jbGkjNTk1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81OTU3KQoKIyMjIyMgUGFja2FnaW5nIHVwZGF0ZXMKCi0gICBVcGRhdGUgQnVpbGRLaXQgdG8gW3YwLjIwLjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L2J1aWxka2l0L3JlbGVhc2VzL3RhZy92MC4yMC4yKS4gW21vYnkvbW9ieSM0OTY5OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5Njk4KQotICAgVXBkYXRlIGBydW5jYCB0byBbdjEuMi42XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi42KSAoc3RhdGljIHBhY2thZ2VzIG9ubHkpLiBbbW9ieS9tb2J5IzQ5NjgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2ODIpCi0gICBVcGRhdGUgY29udGFpbmVyZCB0byBbdjEuNy4yNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NvbnRhaW5lcmQvY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yNikuIFtkb2NrZXIvY29udGFpbmVyZC1wYWNrYWdpbmcjNDA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NvbnRhaW5lcmQtcGFja2FnaW5nL3B1bGwvNDA5KQoKIyMjIFtgdjI4LjAuMmBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcmVsZWFzZXMvdGFnL3YyOC4wLjIpCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvY29tcGFyZS92MjguMC4xLi4udjI4LjAuMikKCiMjIyMgMjguMC4yCgpGb3IgYSBmdWxsIGxpc3Qgb2YgcHVsbCByZXF1ZXN0cyBhbmQgY2hhbmdlcyBpbiB0aGlzIHJlbGVhc2UsIHJlZmVyIHRvIHRoZSByZWxldmFudCBHaXRIdWIgbWlsZXN0b25lczoKCi0gICBbZG9ja2VyL2NsaSwgMjguMC4yIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMC4yKQotICAgW21vYnkvbW9ieSwgMjguMC4yIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9pc3N1ZXM/cT1pcyUzQWNsb3NlZCttaWxlc3RvbmUlM0EyOC4wLjIpCgojIyMjIyBCdWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoKLSAgIEZpeCBDTEktc3BlY2lmaWMgYXR0cmlidXRlcyAoYGRvY2tlci5jbGkuKmApIGJlaW5nIHVuaW50ZW50aW9uYWxseSBwYXNzZWQgdG8gZG93bnN0cmVhbSBPVGVsIHNlcnZpY2VzLiBbZG9ja2VyL2NsaSM1ODQyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU4NDIpCi0gICBGaXggYW4gaXNzdWUgd2hlcmUgdXNlci1zcGVjaWZpZWQgYE9URUxfUkVTT1VSQ0VfQVRUUklCVVRFU2Agd2VyZSBiZWluZyBvdmVycmlkZGVuIGJ5IENMSSdzIGludGVybmFsIHRlbGVtZXRyeSBhdHRyaWJ1dGVzLiBUaGUgQ0xJIG5vdyBwcm9wZXJseSBtZXJnZXMgdXNlci1zcGVjaWZpZWQgYXR0cmlidXRlcyB3aXRoIGludGVybmFsIG9uZXMsIGFsbG93aW5nIGJvdGggdG8gY29leGlzdC4gW2RvY2tlci9jbGkjNTg0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODQyKQotICAgRml4IGRhZW1vbiBmYWlsaW5nIHRvIHN0YXJ0IG9uIFdpbmRvd3Mgd2hlbiBhIGNvbnRhaW5lciBjcmVhdGVkIGJlZm9yZSB2MjguMC4wIHdhcyBwcmVzZW50LiBbbW9ieS9tb2J5IzQ5NjI2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2MjYpCi0gICBGaXggcG9zc2libGUgZXJyb3Igb24gYGRvY2tlciBidWlsZHggcHJ1bmVgIHdpdGggdGhlIGAtLW1pbi1mcmVlLXNwYWNlYC4gW21vYnkvbW9ieSM0OTYyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjIzKQotICAgRml4IHNwdXJpb3VzIGBpbzogcmVhZC93cml0ZSBvbiBjbG9zZWQgcGlwZWAgZXJyb3IgaW4gdGhlIGRhZW1vbiBsb2cgd2hlbiBjbG9zaW5nIGNvbnRhaW5lci4gW21vYnkvbW9ieSM0OTU5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTkwKQotICAgRml4IHRoZSBEb2NrZXIgZGFlbW9uIGZhaWxpbmcgdG9vIGVhcmx5IGlmIHRoZSBjb250YWluZXJkIHNvY2tldCBpc24ndCBpbW1lZGlhdGVseSBhdmFpbGFibGUuIFttb2J5L21vYnkjNDk2MDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTYwMykKLSAgIE1hc2sgTGludXggdGhlcm1hbCBpbnRlcnJ1cHQgaW5mbyBpbiBhIGNvbnRhaW5lcidzIGAvcHJvY2AgYW5kIGAvc3lzYCBieSBkZWZhdWx0LiBbbW9ieS9tb2J5IzQ5NTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1NjApCi0gICBVcGRhdGUgYGNvbnRyaWIvY2hlY2stY29uZmlnLnNoYCB0byBjaGVjayBmb3IgbW9yZSBrZXJuZWwgbW9kdWxlcyByZWxhdGVkIHRvIGlwdGFibGVzLiBbbW9ieS9tb2J5IzQ5NjIyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2MjIpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggaW50ZWdlciBvdmVyZmxvdyBpbiBVc2VyIElEIGhhbmRsaW5nIHBhc3NlZCB2aWEgYC0tdXNlcmAuIFttb2J5L21vYnkjNDk2NTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTY1MikKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEZpeCBzcHVyaW91cyBgcmVmZXJlbmNlIGZvciB1bmtub3duIHR5cGU6IGFwcGxpY2F0aW9uL3ZuZC5pbi10b3RvK2pzb25gIHdhcm5pbmcgYmVpbmcgbG9nZ2VkIHRvIHRoZSBkYWVtb24ncyBsb2cuIFttb2J5L21vYnkjNDk2NTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTY1MikKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEltcHJvdmUgcGVyZm9ybWFuY2Ugb2YgYGRvY2tlciBwc2Agd2hlbiBydW5uaW5nIGxhcmdlIG51bWJlciBvZiBjb250YWluZXJzLiBbbW9ieS9tb2J5IzQ5MzY1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkzNjUpCgojIyMjIyBQYWNrYWdpbmcgdXBkYXRlcwoKLSAgIFVwZGF0ZSBCdWlsZEtpdCB0byBbdjAuMjAuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvYnVpbGRraXQvcmVsZWFzZXMvdGFnL3YwLjIwLjEpLiBbbW9ieS9tb2J5IzQ5NTg3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1ODcpCi0gICBVcGRhdGUgQnVpbGR4IHRvIFt2MC4yMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2J1aWxkeC9yZWxlYXNlcy90YWcvdjAuMjIuMCkuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTc1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTc1KQotICAgVXBkYXRlIENvbXBvc2UgdG8gW3YyLjM0LjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY29tcG9zZS9yZWxlYXNlcy90YWcvdjIuMzQuMCkuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTcyKQotICAgVXBkYXRlIEdvIHJ1bnRpbWUgdG8gWzEuMjMuN10oaHR0cHM6Ly9nby5kZXYvZG9jL2RldmVsL3JlbGVhc2UjZ28xLjIzLjcpLiBbZG9ja2VyL2NsaSM1ODkwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU4OTApLCBbZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcjMTE3MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nL3B1bGwvMTE3MSksIFttb2J5L21vYnkjNDk1ODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTU4MCkKLSAgIFVwZGF0ZSBSb290bGVzc0tpdCB0byBbdjIuMy40XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcm9vdGxlc3MtY29udGFpbmVycy9yb290bGVzc2tpdC9yZWxlYXNlcy90YWcvdjIuMy40KS4gW21vYnkvbW9ieSM0OTYxNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjE0KQotICAgVXBkYXRlIGNvbnRhaW5lcmQgKHN0YXRpYyBiaW5hcmllcyBvbmx5KSB0byBbdjEuNy4yN10oaHR0cHM6Ly93d3cuZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YxLjcuMjcpLiBbbW9ieS9tb2J5IzQ5NjU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk2NTYpCgojIyMjIyBOZXR3b3JraW5nCgotICAgQWRkIGVudmlyb25tZW50IHZhcmlhYmxlIGBET0NLRVJfSU5TRUNVUkVfTk9fSVBUQUJMRVNfUkFXPTFgIHRvIGFsbG93IERvY2tlciB0byBydW4gb24gc3lzdGVtcyB3aGVyZSB0aGUgTGludXgga2VybmVsIGNhbid0IHByb3ZpZGUgYENPTkZJR19JUF9ORl9SQVdgIHN1cHBvcnQuIFdoZW4gZW5hYmxlZCwgRG9ja2VyIHdpbGwgbm90IGNyZWF0ZSBydWxlcyBpbiB0aGUgaXB0YWJsZXMgYHJhd2AgdGFibGUuIFdhcm5pbmc6IFRoaXMgaXMgbm90IHJlY29tbWVuZGVkIGZvciBwcm9kdWN0aW9uIGVudmlyb25tZW50cyBhcyBpdCByZWR1Y2VzIHNlY3VyaXR5IGJ5IGFsbG93aW5nIG90aGVyIGhvc3RzIG9uIHRoZSBsb2NhbCBuZXR3b3JrIHRvIHJvdXRlIHRvIHBvcnRzIHB1Ymxpc2hlZCB0byBob3N0IGFkZHJlc3NlcywgZXZlbiB3aGVuIHRoZXkgYXJlIHB1Ymxpc2hlZCB0byBgMTI3LjAuMC4xLmAgVGhpcyBvcHRpb24gYnlwYXNzZXMgc29tZSBvZiB0aGUgc2VjdXJpdHkgaGFyZGVuaW5nIGludHJvZHVjZWQgaW4gRG9ja2VyIEVuZ2luZSAyOC4wLjAuIFttb2J5L21vYnkjNDk2MjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTYyMSkKLSAgIEFsbG93IGNvbnRhaW5lciBzdGFydHVwIHdoZW4gYW4gZW5kcG9pbnQgaXMgYXR0YWNoZWQgdG8gYSBtYWN2bGFuIG5ldHdvcmsgd2hlcmUgdGhlIHBhcmVudCBpbnRlcmZhY2UgaXMgZG93bi4gW21vYnkvbW9ieSM0OTYzMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjMwKQotICAgRG8gbm90IHNraXAgRE5BVCBmb3IgcGFja2V0cyBvcmlnaW5hdGluZyBpbiBhIGdhdGV3YXlfbW9kZT1yb3V0ZWQgbmV0d29yay4gW21vYnkvbW9ieSM0OTU3N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTc3KQotICAgRml4IGEgYnVnIGNhdXNpbmcgYGRvY2tlciBwc2AgdG8gaW5jb25zaXN0ZW50bHkgcmVwb3J0IGR1YWwtc3RhY2sgcG9ydCBtYXBwaW5ncy4gW21vYnkvbW9ieSM0OTY1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjU3KQotICAgRml4IGEgYnVnIHRoYXQgY291bGQgY2F1c2UgYGRvY2tlci1wcm94eWAgdG8gc3RvcCBmb3J3YXJkaW5nIFVEUCBkYXRhZ3JhbXMgdG8gY29udGFpbmVycy4gW21vYnkvbW9ieSM0OTY0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjQ5KQotICAgRml4IGEgYnVnIHRoYXQgd2FzIGNhdXNpbmcgYGRvY2tlci1wcm94eWAgdG8gY2xvc2UgVURQIGNvbm5lY3Rpb25zIHRvIGNvbnRhaW5lcnMgZWFnZXJseSBhbmQgcmVzdWx0aW5nIGluIHRoZSBzb3VyY2UgYWRkcmVzcyB0byBjaGFuZ2UgbmVlZGxlc3NseS4gW21vYnkvbW9ieSM0OTY0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjQ5KQoKIyMjIyMgR28gU0RLCgotICAgTW92ZSB2YXJpb3VzIHR5cGVzIGFuZCBjb25zdHMgZnJvbSBgY2xpLXBsdWdpbnMvbWFuYWdlcmAgdG8gYSBzZXBhcmF0ZSBwYWNrYWdlLiBbZG9ja2VyL2NsaSM1OTAyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU5MDIpCi0gICBVcGRhdGUgbWluaW11bSByZXF1aXJlZCBHbyB2ZXJzaW9uIHRvIGdvMS4yMy4gW21vYnkvbW9ieSM0OTU0MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTQxKQotICAgYGNsaS9jb21tYW5kYDogTW92ZSBgUHJldHR5UHJpbnRgIHV0aWxpdHkgdG8gYGNsaS9jb21tYW5kL2Zvcm1hdHRlcmAuIFtkb2NrZXIvY2xpIzU5MTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTkxNikKLSAgIHJ1bmNvbmZpZy9lcnJvcnM6IHNwbGl0IGBFcnJDb25mbGljdEhvc3ROZXR3b3JrYCBpbnRvIGBFcnJDb25mbGljdENvbm5lY3RUb0hvc3ROZXR3b3JrYCBhbmQgYEVyckNvbmZsaWN0RGlzY29ubmVjdEZyb21Ib3N0TmV0d29ya2AuIFttb2J5L21vYnkjNDk2MDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTYwNSkKCiMjIyMjIERlcHJlY2F0aW9ucwoKLSAgIEdvLVNESzogRGVwcmVjYXRlIGBjbGktcGx1Z2lucy9tYW5hZ2VyLlJlc291cmNlQXR0cmlidXRlc0VudnZhcmAgY29uc3RhbnQuIEl0IHdhcyB1c2VkIGludGVybmFsbHksIGJ1dCBob2xkcyB0aGUgYE9URUxfUkVTT1VSQ0VfQVRUUklCVVRFU2AgbmFtZSwgd2hpY2ggaXMgcGFydCBvZiB0aGUgT3BlblRlbGVtZXRyeSBzcGVjaWZpY2F0aW9uLiBVc2VycyBvZiB0aGlzIGNvbnN0YW50IHNob3VsZCBkZWZpbmUgdGhlaXIgb3duLiBJdCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4gW2RvY2tlci9jbGkjNTg4MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODgxKQotICAgR28tU0RLOiBEZXByZWNhdGUgYG9wdHMuUG9ydE9wdGAsIGBvcHRzLkNvbmZpZ09wdGAgYW5kIGBvcHRzLlNlY3JldE9wdGAuIFRoZXNlIHR5cGVzIHdlcmUgbW92ZWQgdG8gdGhlIGBvcHRzL3N3YXJtb3B0c2AgcGFja2FnZS4gW2RvY2tlci9jbGkjNTkwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81OTA3KQotICAgR28tU0RLOiBSZW1vdmUgYHNlcnZpY2UvbG9nc2AgcGFja2FnZS4gW2RvY2tlci9jbGkjNTkxMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81OTEwKQotICAgR28tU0RLOiBgY2xpL2NvbW1hbmQvaW1hZ2VgOiBEZXByZWNhdGUgYFB1c2hUcnVzdGVkUmVmZXJlbmNlYCBhbmQgbW92ZSB0byBgY2xpL3RydXN0YC4gW2RvY2tlci9jbGkjNTg5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODk0KQotICAgR28tU0RLOiBgY2xpL2NvbW1hbmQvaW1hZ2VgOiBEZXByZWNhdGUgYW5kIGludGVybmFsaXplIGBUcnVzdGVkUHVzaGAuIFtkb2NrZXIvY2xpIzU4OTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTg5NCkKLSAgIEdvLVNESzogYGNsaS9jb21tYW5kYDogZGVwcmVjYXRlIGBDbGkuTm90YXJ5Q2xpZW50YDogdXNlIFtgdHJ1c3QuR2V0Tm90YXJ5UmVwb3NpdG9yeWBdKGh0dHBzOi8vcGtnLmdvLmRldi9naXRodWIuY29tL2RvY2tlci9jbGlAdjI4LjAuMStpbmNvbXBhdGlibGUvY2xpL3RydXN0I0dldE5vdGFyeVJlcG9zaXRvcnkpIGluc3RlYWQuIFRoaXMgbWV0aG9kIGlzIG5vIGxvbmdlciB1c2VkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4gW2RvY2tlci9jbGkjNTg4NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODg1KQotICAgR28tU0RLOiBgY2xpL2NvbW1hbmRgOiBkZXByZWNhdGUgYENsaS5SZWdpc3RyeUNsaWVudGAuIFRoaXMgbWV0aG9kIHdhcyBvbmx5IHVzZWQgaW50ZXJuYWxseSBhbmQgd2lsbCBiZSByZW1vdmVkIGluIHRoZSBuZXh0IHJlbGVhc2UuIFVzZSBbYGNsaWVudC5OZXdSZWdpc3RyeUNsaWVudGBdKGh0dHBzOi8vcGtnLmdvLmRldi9naXRodWIuY29tL2RvY2tlci9jbGlAdjI4LjAuMStpbmNvbXBhdGlibGUvY2xpL3JlZ2lzdHJ5L2NsaWVudCNOZXdSZWdpc3RyeUNsaWVudCkgaW5zdGVhZC4gW2RvY2tlci9jbGkjNTg4OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODg5KSwgW2RvY2tlci9jbGkjNTg4OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODg5KQotICAgR28tU0RLOiBgcmVnaXN0cnlgOiBEZXByZWNhdGUgYFJlcG9zaXRvcnlJbmZvLk9mZmljaWFsYCBmaWVsZC4gW21vYnkvbW9ieSM0OTU2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTY3KQotICAgR28tU0RLOiBgcmVnaXN0cnlgOiBkZXByZWNhdGUgYEhvc3RDZXJ0c0RpcmA6IHRoaXMgZnVuY3Rpb24gd2FzIG9ubHkgdXNlZCBpbnRlcm5hbGx5IGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gdGhlIG5leHQgcmVsZWFzZS4gW21vYnkvbW9ieSM0OTYxMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NjEyKQotICAgR28tU0RLOiBgcmVnaXN0cnlgOiBkZXByZWNhdGUgYFNldENlcnRzRGlyYDogdGhlIGNlcnQtZGlyZWN0b3J5IGlzIG5vdyBhdXRvbWF0aWNhbGx5IHNlbGVjdGVkIHdoZW4gcnVubmluZyB3aXRoIFJvb3RsZXNzS2l0LCBhbmQgc2hvdWxkIG5vIGxvbmdlciBiZSBzZXQgbWFudWFsbHkuIFttb2J5L21vYnkjNDk2MTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTYxMikKCiMjIyBbYHYyOC4wLjFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3JlbGVhc2VzL3RhZy92MjguMC4xKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L2NvbXBhcmUvdjI4LjAuMC4uLnYyOC4wLjEpCgojIyMgMjguMC4xCgpGb3IgYSBmdWxsIGxpc3Qgb2YgcHVsbCByZXF1ZXN0cyBhbmQgY2hhbmdlcyBpbiB0aGlzIHJlbGVhc2UsIHJlZmVyIHRvIHRoZSByZWxldmFudCBHaXRIdWIgbWlsZXN0b25lczoKCi0gICBbZG9ja2VyL2NsaSwgMjguMC4xIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMC4xKQotICAgW21vYnkvbW9ieSwgMjguMC4xIG1pbGVzdG9uZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9pc3N1ZXM/cT1pcyUzQWNsb3NlZCttaWxlc3RvbmUlM0EyOC4wLjEpCgojIyMjIE5ldHdvcmtpbmcKCi0gICBSZW1vdmUgZGVwZW5kZW5jeSBvbiBrZXJuZWwgbW9kdWxlcyBgaXBfc2V0YCwgYGlwX3NldF9oYXNoX25ldGAgYW5kIGBuZXRmaWx0ZXJfeHRfc2V0YC4KICAgIC0gICBUaGUgZGVwZW5kZW5jeSB3YXMgaW50cm9kdWNlZCBpbiByZWxlYXNlIDI4LjAuMCBidXQgcHJvdmVkIHRvbyBkaXNydXB0aXZlLiBUaGUgaXB0YWJsZXMgcnVsZXMgdXNpbmcgdGhlc2UgbW9kdWxlcyBoYXZlIGJlZW4gcmVwbGFjZWQuIFttb2J5L21vYnkjNDk1MzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTUzMCkKLSAgIEFsbG93IGRhZW1vbiBzdGFydHVwIG9uIGEgaG9zdCB3aXRoIElQdjYgZGlzYWJsZWQgd2l0aG91dCByZXF1aXJpbmcgYC0taXA2dGFibGVzPWZhbHNlYC4gW21vYnkvbW9ieSM0OTUyNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTI1KQotICAgRml4IGEgYnVnIHRoYXQgd2FzIGNhdXNpbmcgY29udGFpbmVycyB3aXRoIGAtLXJlc3RhcnQ9YWx3YXlzYCBhbmQgYSBwdWJsaXNoZWQgcG9ydCBhbHJlYWR5IGluIHVzZSB0byByZXN0YXJ0IGluIGEgdGlnaHQgbG9vcC4gW21vYnkvbW9ieSM0OTUwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTA3KQotICAgRml4IGFuIGlzc3VlIHdpdGggU3dhcm0gaW5ncmVzcywgY2F1c2VkIGJ5IGluY29ycmVjdCBvcmRlcmluZyBvZiBpcHRhYmxlcyBydWxlcy4gW21vYnkvbW9ieSM0OTUzOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTM4KQotICAgRml4IGNyZWF0aW9uIG9mIGEgc3dhcm0tc2NvcGVkIG5ldHdvcmsgZnJvbSBhIGAtLWNvbmZpZy1vbmx5YCBuZXR3b3JrLiBbbW9ieS9tb2J5IzQ5NTIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MjEpCi0gICBGaXggYGRvY2tlciBuZXR3b3JrIGluc3BlY3RgIHJlcG9ydGluZyBhbiBJUHY2IGdhdGV3YXkgd2l0aCBDSURSIHN1ZmZpeCBmb3IgYSBuZXdseSBjcmVhdGVkIG5ldHdvcmsgd2l0aCBubyBzcGVjaWZpYyBJUEFNIGNvbmZpZywgdW50aWwgYSBkYWVtb24gcmVzdGFydC4gW21vYnkvbW9ieSM0OTUyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTIwKQotICAgSW1wcm92ZSB0aGUgZXJyb3IgcmVwb3J0ZWQgd2hlbiBrZXJuZWwgbW9kdWxlcyBgaXBfc2V0YCwgYGlwX3NldF9oYXNoX25ldGAgYW5kIGBuZXRpbHRlcl94dF9zZXRgIGFyZSBub3QgYXZhaWxhYmxlLiBbbW9ieS9tb2J5IzQ5NTI0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MjQpCi0gICBNb3ZlIG1vc3Qgb2YgRG9ja2VyJ3MgaXB0YWJsZXMgcnVsZXMgb3V0IG9mIHRoZSBmaWx0ZXItRk9SV0FSRCBjaGFpbiwgc28gdGhhdCBvdGhlciBhcHBsaWNhdGlvbnMgYXJlIGZyZWUgdG8gYXBwZW5kIHJ1bGVzIHRoYXQgbXVzdCBmb2xsb3cgRG9ja2VyJ3MgcnVsZXMuIFttb2J5L21vYnkjNDk1MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTUxOCkKLSAgIFVwZGF0ZSBgLS1oZWxwYCBvdXRwdXQgYW5kIG1hbiBwYWdlIGxvIHN0YXRlIHdoaWNoIG9wdGlvbnMgb25seSBhcHBseSB0byB0aGUgZGVmYXVsdCBicmlkZ2UgbmV0d29yay4gW21vYnkvbW9ieSM0OTUyMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTIyKQoKIyMjIyBCdWcgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoKLSAgIEZpeCBgZG9ja2VyIGNvbnRleHQgY3JlYXRlYCBhbHdheXMgcmV0dXJuaW5nIGFuIGVycm9yIHdoZW4gdXNpbmcgdGhlIGAic2tpcC10bHMtdmVyaWZ5ImAgb3B0aW9uLiBbZG9ja2VyL2NsaSM1ODUwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU4NTApCi0gICBGaXggc2hlbGwgY29tcGxldGlvbiBzdWdnZXN0aW5nIElEcyBpbnN0ZWFkIG9mIG5hbWVzIGZvciBzZXJ2aWNlcyBhbmQgbm9kZXMuIFtkb2NrZXIvY2xpIzU4NDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTg0OCkKLSAgIEZpeCB1bmludGVudGlvbmFsbHkgcHJpbnRpbmcgZXhpdCBzdGF0dXMgdG8gc3RhbmRhcmQgZXJyb3Igb3V0cHV0IHdoZW4gYGRvY2tlciBleGVjL3J1bmAgcmV0dXJucyBhIG5vbi16ZXJvIHN0YXR1cy4gW2RvY2tlci9jbGkjNTg1NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODU0KQotICAgRml4IHJlZ3Jlc3Npb24gYHByb3RvY29sICJ0Y3AiIGlzIG5vdCBzdXBwb3J0ZWQgYnkgdGhlIFJvb3RsZXNzS2l0IHBvcnQgZHJpdmVyICJzbGlycDRuZXRucyJgLiBbbW9ieS9tb2J5IzQ5NTE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MTQpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggYGRvY2tlciBpbnNwZWN0YCBub3QgYmVpbmcgYWJsZSB0byBzaG93IG11bHRpLXBsYXRmb3JtIGltYWdlcyB3aXRoIG1pc3NpbmcgbGF5ZXJzIGZvciBhbGwgcGxhdGZvcm1zLiBbbW9ieS9tb2J5IzQ5NTMzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MzMpCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggYGRvY2tlciBpbWFnZXMgLS10cmVlYCByZXBvcnRpbmcgd3JvbmcgY29udGVudCBzaXplLiBbbW9ieS9tb2J5IzQ5NTM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MzUpCi0gICBGaXggY29tcGlsYXRpb24gb24gaTM4NiBbbW9ieS9tb2J5IzQ5NTI2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MjYpCgojIyMjIFBhY2thZ2luZyB1cGRhdGVzCgotICAgVXBkYXRlIGBnaXRodWIuY29tL2dvLWpvc2UvZ28tam9zZS92NGAgdG8gdjQuMC41IHRvIGFkZHJlc3MuIFtHSFNBLWM2Z3ctdzM5OC1odjc4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZ28tam9zZS9nby1qb3NlL3NlY3VyaXR5L2Fkdmlzb3JpZXMvR0hTQS1jNmd3LXczOTgtaHY3OCkgLyBbQ1ZFLTIwMjUtMjcxNDRdKGh0dHBzOi8vd3d3LmN2ZS5vcmcvQ1ZFUmVjb3JkP2lkPUNWRS0yMDI1LTI3MTQ0KSBbZG9ja2VyL2NsaSM1ODY3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU4NjcpCi0gICBVcGRhdGUgQnVpbGR4IHRvIFt2MC4yMS4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2J1aWxkeC9yZWxlYXNlcy90YWcvdjAuMjEuMSkuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTY3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTY3KQotICAgVXBkYXRlIENvbXBvc2UgdG8gW3YyLjMzLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY29tcG9zZS9yZWxlYXNlcy90YWcvdjIuMzMuMSkuIFtkb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZyMxMTY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2RvY2tlci1jZS1wYWNrYWdpbmcvcHVsbC8xMTY4KQoKIyMjIyBBUEkKCi0gICBjb250YWluZXJkIGltYWdlIHN0b3JlOiBGaXggYEdFVCAvaW1hZ2VzL2pzb24/bWFuaWZlc3RzPTFgIG5vdCBmaWxsaW5nIGBNYW5pZmVzdHNgIGZvciBpbmRleC1vbmx5IGltYWdlcy4gW21vYnkvbW9ieSM0OTUzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5NTMzKQotICAgY29udGFpbmVyZCBpbWFnZSBzdG9yZTogRml4IGBHRVQgL2ltYWdlcy9qc29uIGFuZCAvaW1hZ2VzLzxuYW1lPi9qc29uYCBgU2l6ZS5Db250ZW50YCBmaWVsZCBpbmNsdWRpbmcgdGhlIHNpemUgb2YgY29udGVudCB0aGF0J3Mgbm90IGF2YWlsYWJsZSBsb2NhbGx5LiBbbW9ieS9tb2J5IzQ5NTM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDk1MzUpCgojIyMgW2B2MjguMC4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9yZWxlYXNlcy90YWcvdjI4LjAuMCkKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9jb21wYXJlL3YyNy41LjEuLi52MjguMC4wKQoKIyMjIDI4LjAuMAoKRm9yIGEgZnVsbCBsaXN0IG9mIHB1bGwgcmVxdWVzdHMgYW5kIGNoYW5nZXMgaW4gdGhpcyByZWxlYXNlLCByZWZlciB0byB0aGUgcmVsZXZhbnQgR2l0SHViIG1pbGVzdG9uZXM6CgotICAgW2RvY2tlci9jbGksIDI4LjAuMCBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL2lzc3Vlcz9xPWlzJTNBY2xvc2VkK21pbGVzdG9uZSUzQTI4LjAuMCkKLSAgIFttb2J5L21vYnksIDI4LjAuMCBtaWxlc3RvbmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvaXNzdWVzP3E9aXMlM0FjbG9zZWQrbWlsZXN0b25lJTNBMjguMC4wKQotICAgRGVwcmVjYXRlZCBhbmQgcmVtb3ZlZCBmZWF0dXJlcywgc2VlIFtEZXByZWNhdGVkIEZlYXR1cmVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9ibG9iL3YyOC4wLjAvZG9jcy9kZXByZWNhdGVkLm1kKS4KLSAgIENoYW5nZXMgdG8gdGhlIEVuZ2luZSBBUEksIHNlZSBbQVBJIHZlcnNpb24gaGlzdG9yeV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9ibG9iL3YyOC4wLjAvZG9jcy9hcGkvdmVyc2lvbi1oaXN0b3J5Lm1kKS4KCiMjIyMgTmV3CgotICAgQWRkIGFiaWxpdHkgdG8gbW91bnQgYW4gaW1hZ2UgaW5zaWRlIGEgY29udGFpbmVyIHZpYSBgLS1tb3VudCB0eXBlPWltYWdlYC4gW21vYnkvbW9ieSM0ODc5OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4Nzk4KQogICAgLSAgIFlvdSBjYW4gYWxzbyBzcGVjaWZ5IGAtLW1vdW50IHR5cGU9aW1hZ2UsaW1hZ2Utc3VicGF0aD1bc3VicGF0aF0sLi4uYCBvcHRpb24gdG8gbW91bnQgYSBzcGVjaWZpYyBwYXRoIGZyb20gdGhlIGltYWdlLiBbZG9ja2VyL2NsaSM1NzU1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU3NTUpCi0gICBgZG9ja2VyIGltYWdlcyAtLXRyZWVgIG5vdyBzaG93cyBtZXRhZGF0YSBiYWRnZXMuIFtkb2NrZXIvY2xpIzU3NDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTc0NCkKLSAgIGBkb2NrZXIgbG9hZGAsIGBkb2NrZXIgc2F2ZWAsIGFuZCBgZG9ja2VyIGhpc3RvcnlgIG5vdyBzdXBwb3J0IGEgYC0tcGxhdGZvcm1gIGZsYWcgYWxsb3dpbmcgeW91IHRvIGNob29zZSBhIHNwZWNpZmljIHBsYXRmb3JtIGZvciBzaW5nbGUtcGxhdGZvcm0gb3BlcmF0aW9ucyBvbiBtdWx0aS1wbGF0Zm9ybSBpbWFnZXMuIFtkb2NrZXIvY2xpIzUzMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTMzMSkKLSAgIEFkZCBgT09NU2NvcmVBZGpgIHRvIGBkb2NrZXIgc2VydmljZSBjcmVhdGVgIGFuZCBgZG9ja2VyIHN0YWNrYC4gW2RvY2tlci9jbGkjNTE0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81MTQ1KQotICAgYGRvY2tlciBidWlsZHggcHJ1bmVgIG5vdyBzdXBwb3J0cyBgcmVzZXJ2ZWQtc3BhY2VgLCBgbWF4LXVzZWQtc3BhY2VgLCBgbWluLWZyZWUtc3BhY2VgIGFuZCBga2VlcC1ieXRlc2AgZmlsdGVycy4gW21vYnkvbW9ieSM0ODcyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NzIwKQotICAgV2luZG93czogQWRkIHN1cHBvcnQgZm9yIHJ1bm5pbmcgY29udGFpbmVyZCBhcyBhIGNoaWxkIHByb2Nlc3Mgb2YgdGhlIGRhZW1vbiwgaW5zdGVhZCBvZiB1c2luZyBhIHN5c3RlbS1pbnN0YWxsZWQgY29udGFpbmVyZC4gW21vYnkvbW9ieSM0Nzk1NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ3OTU1KQoKIyMjIyBOZXR3b3JraW5nCgotICAgVGhlIGBkb2NrZXItcHJveHlgIGJpbmFyeSBoYXMgYmVlbiB1cGRhdGVkLCBvbGRlciB2ZXJzaW9ucyB3aWxsIG5vdCB3b3JrIHdpdGggdGhlIHVwZGF0ZWQgYGRvY2tlcmRgLiBbbW9ieS9tb2J5IzQ4MTMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDgxMzIpCiAgICAtICAgQ2xvc2UgYSB3aW5kb3cgaW4gd2hpY2ggdGhlIHVzZXJsYW5kIHByb3h5IChgZG9ja2VyLXByb3h5YCkgY291bGQgYWNjZXB0IFRDUCBjb25uZWN0aW9ucywgdGhhdCB3b3VsZCB0aGVuIGZhaWwgYWZ0ZXIgYGlwdGFibGVzYCBOQVQgcnVsZXMgd2VyZSBzZXQgdXAuCiAgICAtICAgVGhlIGV4ZWN1dGFibGUgYHJvb3RsZXNza2l0LWRvY2tlci1wcm94eWAgaXMgbm8gbG9uZ2VyIHVzZWQsIGl0IGhhcyBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgYnVpbGQgYW5kIGRpc3RyaWJ1dGlvbi4KLSAgIEROUyBuYW1lc2VydmVycyByZWFkIGZyb20gdGhlIGhvc3QncyBgL2V0Yy9yZXNvbHYuY29uZmAgYXJlIG5vdyBhbHdheXMgYWNjZXNzZWQgZnJvbSB0aGUgaG9zdCdzIG5ldHdvcmsgbmFtZXNwYWNlLiBbbW9ieS9tb2J5IzQ4MjkwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDgyOTApCiAgICAtICAgV2hlbiB0aGUgaG9zdCdzIGAvZXRjL3Jlc29sdi5jb25mYCBjb250YWlucyBubyBuYW1lc2VydmVycyBhbmQgdGhlcmUgYXJlIG5vIGAtLWRuc2Agb3ZlcnJpZGVzLCBHb29nbGUncyBETlMgc2VydmVycyBhcmUgbm8gbG9uZ2VyIHVzZWQsIGFwYXJ0IGZyb20gYnkgdGhlIGRlZmF1bHQgYnJpZGdlIG5ldHdvcmsgYW5kIGluIGJ1aWxkIGNvbnRhaW5lcnMuCi0gICBDb250YWluZXIgaW50ZXJmYWNlcyBpbiBicmlkZ2UgYW5kIG1hY3ZsYW4gbmV0d29ya3Mgbm93IHVzZSByYW5kb21seSBnZW5lcmF0ZWQgTUFDIGFkZHJlc3Nlcy4gW21vYnkvbW9ieSM0ODgwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4ODA4KQogICAgLSAgIEdyYXR1aXRvdXMgQVJQIC8gTmVpZ2hib3VyIEFkdmVydGlzZW1lbnQgbWVzc2FnZXMgd2lsbCBiZSBzZW50IHdoZW4gdGhlIGludGVyZmFjZXMgYXJlIHN0YXJ0ZWQgc28gdGhhdCwgd2hlbiBJUCBhZGRyZXNzZXMgYXJlIHJldXNlZCwgdGhleSdyZSBhc3NvY2lhdGVkIHdpdGggdGhlIG5ld2x5IGdlbmVyYXRlZCBNQUMgYWRkcmVzcy4KICAgIC0gICBJUHY2IGFkZHJlc3NlcyBpbiB0aGUgZGVmYXVsdCBicmlkZ2UgbmV0d29yayBhcmUgbm93IElQQU0tYXNzaWduZWQsIHJhdGhlciB0aGFuIGJlaW5nIGRlcml2ZWQgZnJvbSB0aGUgTUFDIGFkZHJlc3MuCi0gICBUaGUgZGVwcmVjYXRlZCBPQ0kgYHByZXN0YXJ0YCBob29rIGlzIG5vdyBvbmx5IHVzZWQgYnkgYnVpbGQgY29udGFpbmVycy4gRm9yIG90aGVyIGNvbnRhaW5lcnMsIG5ldHdvcmsgaW50ZXJmYWNlcyBhcmUgYWRkZWQgdG8gdGhlIG5ldHdvcmsgbmFtZXNwYWNlIGFmdGVyIHRhc2sgY3JlYXRpb24gaXMgY29tcGxldGUsIGJlZm9yZSB0aGUgY29udGFpbmVyIHRhc2sgaXMgc3RhcnRlZC4gW21vYnkvbW9ieSM0NzQwNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ3NDA2KQotICAgQWRkIGEgbmV3IGBndy1wcmlvcml0eWAgb3B0aW9uIHRvIGBkb2NrZXIgcnVuYCwgYGRvY2tlciBjb250YWluZXIgY3JlYXRlYCwgYW5kIGBkb2NrZXIgbmV0d29yayBjb25uZWN0YC4gVGhpcyBvcHRpb24gd2lsbCBiZSB1c2VkIGJ5IHRoZSBFbmdpbmUgdG8gZGV0ZXJtaW5lIHdoaWNoIG5ldHdvcmsgcHJvdmlkZXMgdGhlIGRlZmF1bHQgZ2F0ZXdheSBmb3IgYSBjb250YWluZXIuIE9uIGBkb2NrZXIgcnVuYCwgdGhpcyBvcHRpb24gaXMgb25seSBhdmFpbGFibGUgdGhyb3VnaCB0aGUgZXh0ZW5kZWQgYC0tbmV0d29ya2Agc3ludGF4LiBbZG9ja2VyL2NsaSM1NjY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU2NjQpCi0gICBBZGQgYSBuZXcgbmV0bGFiZWwgYGNvbS5kb2NrZXIubmV0d29yay5lbmRwb2ludC5pZm5hbWVgIHRvIGN1c3RvbWl6ZSB0aGUgaW50ZXJmYWNlIG5hbWUgdXNlZCB3aGVuIGNvbm5lY3RpbmcgYSBjb250YWluZXIgdG8gYSBuZXR3b3JrLiBJdCdzIHN1cHBvcnRlZCBieSBhbGwgYnVpbHQtaW4gbmV0d29yayBkcml2ZXJzIG9uIExpbnV4LiBbbW9ieS9tb2J5IzQ5MTU1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkxNTUpCiAgICAtICAgV2hlbiBhIGNvbnRhaW5lciBpcyBjcmVhdGVkIHdpdGggbXVsdGlwbGUgbmV0d29ya3Mgc3BlY2lmaWVkLCB0aGVyZSdzIG5vIGd1YXJhbnRlZSBvbiB0aGUgb3JkZXIgbmV0d29ya3Mgd2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGNvbnRhaW5lci4gU28sIGlmIGEgY3VzdG9tIGludGVyZmFjZSBuYW1lIHVzZXMgdGhlIHNhbWUgcHJlZml4IGFzIHRoZSBhdXRvLWdlbmVyYXRlZCBuYW1lcywgZm9yIGV4YW1wbGUgYGV0aGAsIHRoZSBjb250YWluZXIgbWlnaHQgZmFpbCB0byBzdGFydC4KICAgIC0gICBUaGUgcmVjb21tZW5kZWQgcHJhY3RpY2UgaXMgdG8gdXNlIGEgZGlmZmVyZW50IHByZWZpeCwgZm9yIGV4YW1wbGUgYGVuMGAsIG9yIGEgbnVtZXJpY2FsIHN1ZmZpeCBoaWdoIGVub3VnaCB0byBuZXZlciBjb2xsaWRlLCBmb3IgZXhhbXBsZSBgZXRoMTAwYC4KICAgIC0gICBUaGlzIGxhYmVsIGNhbiBiZSBzcGVjaWZpZWQgb24gYGRvY2tlciBuZXR3b3JrIGNvbm5lY3RgIHZpYSB0aGUgYC0tZHJpdmVyLW9wdGAgZmxhZywgZm9yIGV4YW1wbGUgYGRvY2tlciBuZXR3b3JrIGNvbm5lY3QgLS1kcml2ZXItb3B0PWNvbS5kb2NrZXIubmV0d29yay5lbmRwb2ludC5pZm5hbWU9Zm9vYmFyIOKApmAuCiAgICAtICAgT3IgdmlhIHRoZSBsb25nLWZvcm0gYC0tbmV0d29ya2AgZmxhZyBvbiBgZG9ja2VyIHJ1bmAsIGZvciBleGFtcGxlIGBkb2NrZXIgcnVuIC0tbmV0d29yaz1uYW1lPWJyaWRnZSxkcml2ZXItb3B0PWNvbS5kb2NrZXIubmV0d29yay5lbmRwb2ludC5pZm5hbWU9Zm9vYmFyIOKApmAKLSAgIElmIGEgY3VzdG9tIG5ldHdvcmsgZHJpdmVyIHJlcG9ydHMgY2FwYWJpbGl0eSBgR3dBbGxvY0NoZWNrZXJgIHRoZW4sIGJlZm9yZSBhIG5ldHdvcmsgaXMgY3JlYXRlZCwgaXQgd2lsbCBnZXQgYSBgR3dBbGxvY0NoZWNrZXJSZXF1ZXN0YCB3aXRoIHRoZSBuZXR3b3JrJ3Mgb3B0aW9ucy4gVGhlIGN1c3RvbSBkcml2ZXIgbWF5IHRoZW4gcmVwbHkgdGhhdCBubyBnYXRld2F5IElQIGFkZHJlc3Mgc2hvdWxkIGJlIGFsbG9jYXRlZC4gW21vYnkvbW9ieSM0OTM3Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzcyKQoKIyMjIyBQb3J0IHB1Ymxpc2hpbmcgaW4gYnJpZGdlIG5ldHdvcmtzCgotICAgYGRvY2tlcmRgIG5vdyByZXF1aXJlcyBgaXBzZXRgIHN1cHBvcnQgaW4gdGhlIExpbnV4IGtlcm5lbC4gW21vYnkvbW9ieSM0ODU5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTk2KQogICAgLSAgIFRoZSBgaXB0YWJsZXNgIGFuZCBgaXA2dGFibGVzYCBydWxlcyB1c2VkIHRvIGltcGxlbWVudCBwb3J0IHB1Ymxpc2hpbmcgYW5kIG5ldHdvcmsgaXNvbGF0aW9uIGhhdmUgYmVlbiBleHRlbnNpdmVseSBtb2RpZmllZC4gVGhpcyBlbmFibGVzIHNvbWUgb2YgdGhlIGZvbGxvd2luZyBmdW5jdGlvbmFsIGNoYW5nZXMsIGFuZCBpcyBhIGZpcnN0IHN0ZXAgaW4gcmVmYWN0b3JpbmcgdG8gZW5hYmxlIG5hdGl2ZSBgbmZ0YWJsZXNgIHN1cHBvcnQgaW4gYSBmdXR1cmUgcmVsZWFzZS4gW21vYnkvbW9ieSM0ODgxNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9pc3N1ZXMvNDg4MTUpCiAgICAtICAgSWYgaXQgYmVjb21lcyBuZWNlc3NhcnkgdG8gZG93bmdyYWRlIHRvIGFuIGVhcmxpZXIgdmVyc2lvbiBvZiB0aGUgZGFlbW9uLCBzb21lIG1hbnVhbCBjbGVhbnVwIG9mIHRoZSBuZXcgcnVsZXMgd2lsbCBiZSBuZWNlc3NhcnkuIFRoZSBzaW1wbGVzdCBhbmQgc3VyZXN0IGFwcHJvYWNoIGlzIHRvIHJlYm9vdCB0aGUgaG9zdCwgb3IgdXNlIGBpcHRhYmxlcyAtRmAgYW5kIGBpcDZ0YWJsZXMgLUZgIHRvIGZsdXNoIGFsbCBleGlzdGluZyBgaXB0YWJsZXNgIHJ1bGVzIGZyb20gdGhlIGBmaWx0ZXJgIHRhYmxlIGJlZm9yZSBzdGFydGluZyB0aGUgb2xkZXIgdmVyc2lvbiBvZiB0aGUgZGFlbW9uLiBXaGVuIHRoYXQgaXMgbm90IHBvc3NpYmxlLCBydW4gdGhlIGZvbGxvd2luZyBjb21tYW5kcyBhcyByb290OgogICAgICAgIC0gICBgaXB0YWJsZXMgLUQgRk9SV0FSRCAtbSBzZXQgLS1tYXRjaC1zZXQgZG9ja2VyLWV4dC1icmlkZ2VzLXY0IGRzdCAtbSBjb25udHJhY2sgLS1jdHN0YXRlIFJFTEFURUQsRVNUQUJMSVNIRUQgLWogQUNDRVBUOyBpcDZ0YWJsZXMgLUQgRk9SV0FSRCAtbSBzZXQgLS1tYXRjaC1zZXQgZG9ja2VyLWV4dC1icmlkZ2VzLXY2IGRzdCAtbSBjb25udHJhY2sgLS1jdHN0YXRlIFJFTEFURUQsRVNUQUJMSVNIRUQgLWogQUNDRVBUYAogICAgICAgIC0gICBgaXB0YWJsZXMgLUQgRk9SV0FSRCAtbSBzZXQgLS1tYXRjaC1zZXQgZG9ja2VyLWV4dC1icmlkZ2VzLXY0IGRzdCAtaiBET0NLRVI7IGlwNnRhYmxlcyAtRCBGT1JXQVJEIC1tIHNldCAtLW1hdGNoLXNldCBkb2NrZXItZXh0LWJyaWRnZXMtdjYgZHN0IC1qIERPQ0tFUmAKICAgICAgICAtICAgSWYgeW91IHdlcmUgcHJldmlvdXNseSBydW5uaW5nIHdpdGggdGhlIGlwdGFibGVzIGZpbHRlci1GT1JXQVJEIHBvbGljeSBzZXQgdG8gYEFDQ0VQVGAgYW5kIG5lZWQgdG8gcmVzdG9yZSBhY2Nlc3MgdG8gdW5wdWJsaXNoZWQgcG9ydHMsIGFsc28gZGVsZXRlIHBlci1icmlkZ2UtbmV0d29yayBydWxlcyBmcm9tIHRoZSBgRE9DS0VSYCBjaGFpbnMuIEZvciBleGFtcGxlLCBgaXB0YWJsZXMgLUQgRE9DS0VSICEgLWkgZG9ja2VyMCAtbyBkb2NrZXIwIC1qIERST1BgLgotICAgRml4IGEgc2VjdXJpdHkgaXNzdWUgdGhhdCB3YXMgYWxsb3dpbmcgcmVtb3RlIGhvc3RzIHRvIGNvbm5lY3QgZGlyZWN0bHkgdG8gYSBjb250YWluZXIgb24gaXRzIHB1Ymxpc2hlZCBwb3J0cy4gW21vYnkvbW9ieSM0OTMyNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzI1KQotICAgRml4IGEgc2VjdXJpdHkgaXNzdWUgdGhhdCB3YXMgYWxsb3dpbmcgbmVpZ2hib3IgaG9zdHMgdG8gY29ubmVjdCB0byBwb3J0cyBtYXBwZWQgb24gYSBsb29wYmFjayBhZGRyZXNzLiBbbW9ieS9tb2J5IzQ5MzI1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkzMjUpCi0gICBGaXggYW4gaXNzdWUgdGhhdCBwcmV2ZW50ZWQgcG9ydCBwdWJsaXNoaW5nIHRvIGxpbmstbG9jYWwgYWRkcmVzc2VzLiBbbW9ieS9tb2J5IzQ4NTcwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg1NzApCi0gICBVRFAgcG9ydHMgcHVibGlzaGVkIGJ5IGEgY29udGFpbmVyIGFyZSBub3cgcmVsaWFibHkgYWNjZXNzaWJsZSBieSBjb250YWluZXJzIG9uIG90aGVyIG5ldHdvcmtzLCB2aWEgdGhlIGhvc3QncyBwdWJsaWMgSVAgYWRkcmVzcy4gW21vYnkvbW9ieSM0ODU3MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTcxKQotICAgRG9ja2VyIHdpbGwgbm93IG9ubHkgc2V0IHRoZSBgaXA2dGFibGVzYCBwb2xpY3kgZm9yIHRoZSBgRk9SV0FSRGAgY2hhaW4gaW4gdGhlIGBmaWx0ZXJgIHRhYmxlIHRvIGBEUk9QYCBpZiBpdCBlbmFibGVzIElQIGZvcndhcmRpbmcgb24gdGhlIGhvc3QgaXRzZWxmIChzeXNjdGxzIGBuZXQuaXB2Ni5jb25mLmFsbC5mb3J3YXJkaW5nYCBhbmQgYG5ldC5pcHY2LmNvbmYuZGVmYXVsdC5mb3J3YXJkaW5nYCkuIFRoaXMgaXMgbm93IGFsaWduZWQgd2l0aCBleGlzdGluZyBJUHY0IGJlaGF2aW91ci4gW21vYnkvbW9ieSM0ODU5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTk0KQogICAgLSAgIElmIElQdjYgZm9yd2FyZGluZyBpcyBlbmFibGVkIG9uIHlvdXIgaG9zdCwgYnV0IHlvdSB3ZXJlIGRlcGVuZGluZyBvbiBEb2NrZXIgdG8gc2V0IHRoZSBpcDZ0YWJsZXMgZmlsdGVyLUZPUldBUkQgcG9saWN5IHRvIGBEUk9QYCwgeW91IG1heSBuZWVkIHRvIHVwZGF0ZSB5b3VyIGhvc3QncyBjb25maWd1cmF0aW9uIHRvIG1ha2Ugc3VyZSBpdCBpcyBzZWN1cmUuCi0gICBEaXJlY3Qgcm91dGVkIGFjY2VzcyB0byBjb250YWluZXIgcG9ydHMgdGhhdCBhcmUgbm90IGV4cG9zZWQgdXNpbmcgYHBgL2AtcHVibGlzaGAgaXMgbm93IGJsb2NrZWQgaW4gdGhlIGBET0NLRVJgIGlwdGFibGVzIGNoYWluLiBbbW9ieS9tb2J5IzQ4NzI0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg3MjQpCiAgICAtICAgSWYgdGhlIGRlZmF1bHQgaXB0YWJsZXMgZmlsdGVyLUZPUldBUkQgcG9saWN5IHdhcyBwcmV2aW91c2x5IGxlZnQgYXQgYEFDQ0VQVGAgb24geW91ciBob3N0LCBhbmQgZGlyZWN0IHJvdXRlZCBhY2Nlc3MgdG8gYSBjb250YWluZXIncyB1bnB1Ymxpc2hlZCBwb3J0cyBmcm9tIGEgcmVtb3RlIGhvc3QgaXMgc3RpbGwgcmVxdWlyZWQsIG9wdGlvbnMgYXJlOgogICAgICAgIC0gICBQdWJsaXNoIHRoZSBwb3J0cyB5b3UgbmVlZC4KICAgICAgICAtICAgVXNlIHRoZSBuZXcgYGdhdGV3YXlfbW9kZV9pcHZbNDZdPW5hdC11bnByb3RlY3RlZGAsIGRlc2NyaWJlZCBiZWxvdy4KICAgIC0gICBDb250YWluZXIgcG9ydHMgcHVibGlzaGVkIHRvIGhvc3QgYWRkcmVzc2VzIHdpbGwgY29udGludWUgdG8gYmUgYWNjZXNzaWJsZSB2aWEgdGhvc2UgaG9zdCBhZGRyZXNzZXMsIHVzaW5nIE5BVCBvciB0aGUgdXNlcmxhbmQgcHJveHkuCiAgICAtICAgVW5wdWJsaXNoZWQgY29udGFpbmVyIHBvcnRzIGNvbnRpbnVlIHRvIGJlIGRpcmVjdGx5IGFjY2Vzc2libGUgZnJvbSB0aGUgRG9ja2VyIGhvc3QgdmlhIHRoZSBjb250YWluZXIncyBJUCBhZGRyZXNzLgotICAgTmV0d29ya3MgY3JlYXRlZCB3aXRoIGBnYXRld2F5X21vZGVfaXB2WzQ2XT1yb3V0ZWRgIGFyZSBub3cgYWNjZXNzaWJsZSBmcm9tIG90aGVyIGJyaWRnZSBuZXR3b3JrcyBydW5uaW5nIG9uIHRoZSBzYW1lIERvY2tlciBob3N0LCBhcyB3ZWxsIGFzIGZyb20gb3V0c2lkZSB0aGUgaG9zdC4gW21vYnkvbW9ieSM0ODU5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTk2KQotICAgQnJpZGdlIGRyaXZlciBvcHRpb25zIGBjb20uZG9ja2VyLm5ldHdvcmsuYnJpZGdlLmdhdGV3YXlfbW9kZV9pcHY0YCBhbmQgYGNvbS5kb2NrZXIubmV0d29yay5icmlkZ2UuZ2F0ZXdheV9tb2RlX2lwdjZgIG5vdyBhY2NlcHQgbW9kZSBgbmF0LXVucHJvdGVjdGVkYC4gW21vYnkvbW9ieSM0ODU5N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTk3KQogICAgLSAgIGBuYXQtdW5wcm90ZWN0ZWRgIGlzIHNpbWlsYXIgdG8gdGhlIGRlZmF1bHQgYG5hdGAgbW9kZSwgYnV0IG5vIHBlciBwb3J0L3Byb3RvY29sIHJ1bGVzIGFyZSBzZXQgdXAuIFRoaXMgbWVhbnMgYW55IHBvcnQgb24gYSBjb250YWluZXIgY2FuIGJlIGFjY2Vzc2VkIGJ5IGRpcmVjdC1yb3V0aW5nIGZyb20gYSByZW1vdGUgaG9zdC4KLSAgIEJyaWRnZSBkcml2ZXIgb3B0aW9ucyBgY29tLmRvY2tlci5uZXR3b3JrLmJyaWRnZS5nYXRld2F5X21vZGVfaXB2NGAgYW5kIGBjb20uZG9ja2VyLm5ldHdvcmsuYnJpZGdlLmdhdGV3YXlfbW9kZV9pcHY2YCBub3cgYWNjZXB0IG1vZGUgYGlzb2xhdGVkYCwgd2hlbiB0aGUgbmV0d29yayBpcyBhbHNvIGBpbnRlcm5hbGAuIFttb2J5L21vYnkjNDkyNjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTI2MikKICAgIC0gICBBbiBhZGRyZXNzIGlzIG5vcm1hbGx5IGFzc2lnbmVkIHRvIHRoZSBicmlkZ2UgZGV2aWNlIGluIGFuIGBpbnRlcm5hbGAgbmV0d29yay4gU28sIHByb2Nlc3NlcyBvbiB0aGUgRG9ja2VyIGhvc3QgY2FuIGFjY2VzcyB0aGUgbmV0d29yaywgYW5kIGNvbnRhaW5lcnMgaW4gdGhlIG5ldHdvcmsgY2FuIGFjY2VzcyBob3N0IHNlcnZpY2VzIGxpc3RlbmluZyBvbiB0aGF0IGJyaWRnZSBhZGRyZXNzIChpbmNsdWRpbmcgc2VydmljZXMgbGlzdGVuaW5nIG9uICJhbnkiIGhvc3QgYWRkcmVzcywgYDAuMC4wLjBgIG9yIGA6OmApLgogICAgLSAgIEFuIGBpbnRlcm5hbGAgYnJpZGdlIG5ldHdvcmsgY3JlYXRlZCB3aXRoIGdhdGV3YXkgbW9kZSBgaXNvbGF0ZWRgIGRvZXMgbm90IGhhdmUgYW4gYWRkcmVzcyBvbiB0aGUgRG9ja2VyIGhvc3QuCi0gICBXaGVuIGEgcG9ydCBtYXBwaW5nIGluY2x1ZGVzIGEgaG9zdCBJUCBhZGRyZXNzIG9yIHBvcnQgbnVtYmVyIHRoYXQgY2Fubm90IGJlIHVzZWQgYmVjYXVzZSBOQVQgZnJvbSB0aGUgaG9zdCBpcyBkaXNhYmxlZCB1c2luZyBgLS1nYXRld2F5X21vZGVfaXB2WzQ2XWAsIGNvbnRhaW5lciBjcmVhdGlvbiB3aWxsIG5vIGxvbmdlciBmYWlsLiBUaGUgdW51c2VkIGZpZWxkcyBtYXkgYmUgbmVlZGVkIGlmIHRoZSBnYXRld2F5IGVuZHBvaW50IGNoYW5nZXMgd2hlbiBuZXR3b3JrcyBhcmUgY29ubmVjdGVkIG9yIGRpc2Nvbm5lY3RlZC4gQSBtZXNzYWdlIGFib3V0IHRoZSB1bnVzZWQgZmllbGRzIHdpbGwgYmUgbG9nZ2VkLiBbbW9ieS9tb2J5IzQ4NTc1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg1NzUpCi0gICBEbyBub3QgY3JlYXRlIGlwdGFibGVzIG5hdC1QT1NUUk9VVElORyBtYXNxdWVyYWRlIHJ1bGVzIGZvciBhIGNvbnRhaW5lcidzIG93biBwdWJsaXNoZWQgcG9ydHMsIHdoZW4gdGhlIHVzZXJsYW5kIHByb3h5IGlzIGVuYWJsZWQuIFttb2J5L21vYnkjNDg4NTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODg1NCkKCiMjIyMgSVB2NgoKLSAgIEFkZCBgZG9ja2VyIG5ldHdvcmsgY3JlYXRlYCBvcHRpb24gYC0taXB2NGAuIFRvIGRpc2FibGUgSVB2NCBhZGRyZXNzIGFzc2lnbm1lbnQgZm9yIGEgbmV0d29yaywgdXNlIGBkb2NrZXIgbmV0d29yayBjcmVhdGUgLS1pcHY0PWZhbHNlIFsuLi5dYC4gW2RvY2tlci9jbGkjNTU5OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NTk5KQotICAgRGFlbW9uIG9wdGlvbiBgLS1pcHY2YCAoYCJpcHY2IjogdHJ1ZWAgaW4gYGRhZW1vbi5qc29uYCkgY2FuIG5vdyBiZSB1c2VkIHdpdGhvdXQgYGZpeGVkLWNpZHItdjZgLiBbbW9ieS9tb2J5IzQ4MzE5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDgzMTkpCi0gICBJUEFNIG5vdyBoYW5kbGVzIHN1Ym5ldHMgYmlnZ2VyIHRoYW4gIi82NCIuIFttb2J5L21vYnkjNDkyMjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTIyMykKLSAgIER1cGxpY2F0ZSBhZGRyZXNzIGRldGVjdGlvbiAoREFEKSBpcyBub3cgZGlzYWJsZWQgZm9yIGFkZHJlc3NlcyBhc3NpZ25lZCB0byB0aGUgYnJpZGdlcyBiZWxvbmdpbmcgdG8gYnJpZGdlIG5ldHdvcmtzLiBbbW9ieS9tb2J5IzQ4NjA5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg2MDkpCi0gICBNb2RpZmljYXRpb25zIHRvIGBob3N0LWdhdGV3YXlgLCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIElQdjYtb25seSBuZXR3b3Jrcy4gW21vYnkvbW9ieSM0ODgwN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4ODA3KQogICAgLSAgIFdoZW4gc3BlY2lhbCB2YWx1ZSBgaG9zdC1nYXRld2F5YCBpcyB1c2VkIGluIGFuIGAtLWFkZC1ob3N0YCBvcHRpb24gaW4gcGxhY2Ugb2YgYW4gYWRkcmVzcywgaXQncyByZXBsYWNlZCBieSBhbiBhZGRyZXNzIG9uIHRoZSBEb2NrZXIgaG9zdCB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHJlZmVyIHRvIHRoZSBob3N0IGJ5IG5hbWUuIFRoZSBhZGRyZXNzIHVzZWQgYmVsb25ncyB0byB0aGUgZGVmYXVsdCBicmlkZ2UgKG5vcm1hbGx5IGBkb2NrZXIwYCkuIFVudGlsIG5vdyBpdCdzIGFsd2F5cyBiZWVuIGFuIElQdjQgYWRkcmVzcywgYmVjYXVzZSBhbGwgY29udGFpbmVycyBvbiBicmlkZ2UgbmV0d29ya3MgaGFkIElQdjQgYWRkcmVzc2VzLgogICAgLSAgIE5vdywgaWYgSVB2NiBpcyBlbmFibGVkIG9uIHRoZSBkZWZhdWx0IGJyaWRnZSBuZXR3b3JrLCBgL2V0Yy9ob3N0c2AgZW50cmllcyB3aWxsIGJlIGNyZWF0ZWQgZm9yIElQdjQgYW5kIElQdjYgYWRkcmVzc2VzLiBTbywgYSBjb250YWluZXIgdGhhdCdzIG9ubHkgY29ubmVjdGVkIHRvIElQdjYtb25seSBuZXR3b3JrcyBjYW4gYWNjZXNzIHRoZSBob3N0IGJ5IG5hbWUuCiAgICAtICAgVGhlIGAtLWhvc3QtZ2F0ZXdheS1pcGAgb3B0aW9uIG92ZXJyaWRlcyB0aGUgYWRkcmVzcyB1c2VkIHRvIHJlcGxhY2UgYGhvc3QtZ2F0ZXdheWAuIFR3byBvZiB0aGVzZSBvcHRpb25zIGFyZSBub3cgYWxsb3dlZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBmb3Igb25lIElQdjQgZ2F0ZXdheSBhbmQgb25lIElQdjYuCiAgICAtICAgSW4gdGhlIGBkYWVtb24uanNvbmAgZmlsZSwgdG8gcHJvdmlkZSB0d28gYWRkcmVzc2VzLCB1c2UgYCJob3N0LWdhdGV3YXktaXBzImAuIEZvciBleGFtcGxlLCBgImhvc3QtZ2F0ZXdheS1pcHMiOiBbIjE5Mi4wLjIuMSIsICIyMDAxOmRiODo6MTExMSJdYC4KCiMjIyMgQnVnIGZpeGVzIGFuZCBlbmhhbmNlbWVudHMKCi0gICBBZGQgSVB2NiBsb29wYmFjayBhZGRyZXNzIGFzIGFuIGluc2VjdXJlIHJlZ2lzdHJ5IGJ5IGRlZmF1bHQuIFttb2J5L21vYnkjNDg1NDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODU0MCkKLSAgIEFkZCBzdXBwb3J0IGZvciBDb2JyYS1nZW5lcmF0ZWQgY29tcGxldGlvbiBzY3JpcHRzIGZvciBgZG9ja2VyZGAuIFttb2J5L21vYnkjNDkzMzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTMzOSkKLSAgIEZpeCBETlMgcXVlcmllcyBmYWlsaW5nIHdoZW4gY29udGFpbmVycyBhcmUgbGF1bmNoZWQgdmlhIGBzeXN0ZW1kYCBhdXRvLXN0YXJ0IG9uIGJvb3QgW21vYnkvbW9ieSM0ODgxMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4ODEyKQotICAgRml4IERvY2tlciBTd2FybSBtb2RlIGlnbm9yaW5nIGB2b2x1bWUuc3VicGF0aGAgW2RvY2tlci9jbGkjNTgzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81ODMzKQotICAgRml4IGBkb2NrZXIgZXhwb3J0YCBjb250aW51aW5nIHRoZSBleHBvcnQgYWZ0ZXIgdGhlIG9wZXJhdGlvbiBpcyBjYW5jZWxlZC4gW21vYnkvbW9ieSM0OTI2NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MjY1KQotICAgRml4IGBkb2NrZXIgZXhwb3J0YCBub3QgcmVsZWFzaW5nIHRoZSBjb250YWluZXIncyB3cml0YWJsZSBsYXllciBhZnRlciBhIGZhaWx1cmUuIFttb2J5L21vYnkjNDg1MTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODUxNykKLSAgIEZpeCBgZG9ja2VyIGltYWdlcyAtLXRyZWVgIHVubmVjZXNzYXJ5IHRydW5jYXRpbmcgbG9uZyBpbWFnZSBuYW1lcyB3aGVuIG11bHRpcGxlIG5hbWVzIGFyZSBhdmFpbGFibGUgW2RvY2tlci9jbGkjNTc1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NzU3KQotICAgRml4IGEgYnVnIHdoZXJlIGEgY29udGFpbmVyIHdpdGggYSBuYW1lIG1hdGNoaW5nIGFub3RoZXIgY29udGFpbmVyJ3MgSUQgaXMgbm90IHJlc3RvcmVkIG9uIGRhZW1vbiBzdGFydHVwLiBbbW9ieS9tb2J5IzQ4NjY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg2NjkpCi0gICBGaXggYW4gaXNzdWUgcHJldmVudGluZyBzb21lIElQdjYgYWRkcmVzc2VzIHNob3duIGJ5IGBkb2NrZXIgcHNgIHRvIGJlIHByb3Blcmx5IGJyYWNrZXRlZCBbZG9ja2VyL2NsaSM1NDY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU0NjgpCi0gICBGaXggYnVnIHByZXZlbnRpbmcgaW1hZ2UgcHVsbHMgZnJvbSBiZWluZyBjYW5jZWxsZWQgZHVyaW5nIGBkb2NrZXIgcnVuYC4gW2RvY2tlci9jbGkjNTY0NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NjQ1KQotICAgRml4IGVycm9yLWhhbmRsaW5nIHdoZW4gcnVubmluZyB0aGUgZGFlbW9uIGFzIGEgV2luZG93cyBzZXJ2aWNlIHRvIHByZXZlbnQgdW5jbGVhbiBleGl0cy4gW21vYnkvbW9ieSM0ODUxOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NTE4KQotICAgRml4IGlzc3VlIGNhdXNpbmcgb3V0cHV0IG9mIGBkb2NrZXIgcnVuYCB0byBiZSBpbmNvbnNpc3RlbnQgd2hlbiB1c2luZyBgLS1hdHRhY2ggc3Rkb3V0YCBvciBgLS1hdHRhY2ggc3RkZXJyYCB2ZXJzdXMgYHN0ZGluYC4gIGBkb2NrZXIgcnVuIC0tYXR0YWNoIHN0ZGluYCBub3cgZXhpdHMgaWYgdGhlIGNvbnRhaW5lciBleGl0cy4gW2RvY2tlci9jbGkjNTY2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NjYyKQotICAgRml4IHJvb3RsZXNzIERvY2tlciBzZXR1cCB3aXRoIGBzdWJpZGAgYmFja2VkIGJ5IE5TUyBtb2R1bGVzLiBbbW9ieS9tb2J5IzQ5MDM2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkwMzYpCi0gICBHZW5lcmF0ZWQgY29tcGxldGlvbiBzY3JpcHRzIGZyb20gdGhlIENMSSBub3cgc2hvdyBkZXNjcmlwdGlvbnMgbmV4dCB0byBlYWNoIGNvbW1hbmQvZmxhZyBzdWdnZXN0aW9uLiBbZG9ja2VyL2NsaSM1NzU2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZG9ja2VyL2NsaS9wdWxsLzU3NTYpCi0gICBJUHY2IGFkZHJlc3NlcyBzaG93biBieSBgZG9ja2VyIHBzYCBpbiBwb3J0IGJpbmRpbmdzIGFyZSBub3cgYnJhY2tldGVkIFtkb2NrZXIvY2xpIzUzNjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTM2MykKLSAgIEltcGxlbWVudCB0aGUgcG9ydHMgdmFsaWRhdGlvbiBtZXRob2QgZm9yIENvbXBvc2UgW2RvY2tlci9jbGkjNTUyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NTI0KQotICAgSW1wcm92ZSBlcnJvci1vdXRwdXQgZm9yIGludmFsaWQgZmxhZ3Mgb24gdGhlIGNvbW1hbmQgbGluZS4gW2RvY2tlci9jbGkjNTIzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81MjMzKQotICAgSW1wcm92ZSBlcnJvcnMgd2hlbiBmYWlsaW5nIHRvIHN0YXJ0IGEgY29udGFpbmVyIHVzaW5nIGFudGhlciBjb250YWluZXIncyBuZXR3b3JrIG5hbWVzcGFjZS4gW21vYnkvbW9ieSM0OTM2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzY3KQotICAgSW1wcm92ZSBoYW5kbGluZyBvZiBpbnZhbGlkIEFQSSBlcnJvcnMgdGhhdCBjb3VsZCByZXN1bHQgaW4gYW4gZW1wdHkgZXJyb3IgbWVzc2FnZSBiZWluZyBzaG93bi4gW21vYnkvbW9ieSM0OTM3M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzczKQotICAgSW1wcm92ZSBvdXRwdXQgYW5kIGNvbnNpc3RlbmN5IGZvciB1bmtub3duIChzdWIpY29tbWFuZHMgYW5kIGludmFsaWQgYXJndW1lbnRzIFtkb2NrZXIvY2xpIzUyMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTIzNCkKLSAgIEltcHJvdmUgdmFsaWRhdGlvbiBvZiBgZXhlYy1vcHRzYCBpbiBkYWVtb24gY29uZmlndXJhdGlvbi4gW21vYnkvbW9ieSM0ODk3OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4OTc5KQotICAgVXBkYXRlIHRoZSBoYW5kbGluZyBvZiB0aGUgYC0tZ3B1cz0wYCBmbGFnIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgTlZJRElBIENvbnRhaW5lciBSdW50aW1lLiBbbW9ieS9tb2J5IzQ4NDgyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg0ODIpCi0gICBgY2xpZW50LkNvbnRhaW5lckNyZWF0ZWAgbm93IG5vcm1hbGl6ZXMgYENhcEFkZGAgYW5kIGBDYXBEcm9wYCBmaWVsZHMgaW4gYEhvc3RDb25maWdgIHRvIHRoZWlyIGNhbm9uaWNhbCBmb3JtLiBbbW9ieS9tb2J5IzQ4NTUxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg1NTEpCi0gICBgZG9ja2VyIGltYWdlIHNhdmVgIG5vdyBwcm9kdWNlcyBzdGFibGUgdGltZXN0YW1wcy4gW21vYnkvbW9ieSM0ODYxMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NjExKQotICAgYGRvY2tlciBpbnNwZWN0YCBub3cgbGV0cyB5b3UgaW5zcGVjdCBTd2FybSBjb25maWdzIFtkb2NrZXIvY2xpIzU1NzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvY2xpL3B1bGwvNTU3MykKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEFkZCBzdXBwb3J0IGZvciBgRXh0cmFjdGluZ2AgbGF5ZXIgc3RhdHVzIGluIGBkb2NrZXIgcHVsbGAuIFttb2J5L21vYnkjNDkwNjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTA2NCkKLSAgIGNvbnRhaW5lcmQgaW1hZ2Ugc3RvcmU6IEZpeCBgY29tbWl0YCwgYGltcG9ydGAsIGFuZCBgYnVpbGRgIG5vdCBwcmVzZXJ2aW5nIGEgcmVwbGFjZWQgaW1hZ2UgYXMgYSBkYW5nbGluZyBpbWFnZS4gW21vYnkvbW9ieSM0ODMxNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4MzE2KQotICAgY29udGFpbmVyZCBpbWFnZSBzdG9yZTogTWFrZSBgZG9ja2VyIGxvYWQgLS1wbGF0Zm9ybWAgcmV0dXJuIGFuIGVycm9yIHdoZW4gdGhlIHJlcXVlc3RlZCBwbGF0Zm9ybSBpc24ndCBsb2FkZWQuIFttb2J5L21vYnkjNDg3MThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODcxOCkKLSAgIEZpeCB2YWxpZGF0aW9uIG9mIGAtLWxpbmtgIG9wdGlvbi4gW2RvY2tlci9jbGkjNTczOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81NzM5KQotICAgQWRkIHZhbGlkYXRpb24gb2YgbmV0d29yay1kaWFnbm9zdGljLXBvcnQgZGFlbW9uIGNvbmZpZ3VyYXRpb24gb3B0aW9uLiBbbW9ieS9tb2J5IzQ5MzA1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkzMDUpCi0gICBVbmxlc3MgZXhwbGljaXRseSBjb25maWd1cmVkLCBhbiBJUCBhZGRyZXNzIGlzIG5vIGxvbmdlciByZXNlcnZlZCBmb3IgYSBnYXRld2F5IGluIGNhc2VzIHdoZXJlIGl0IGlzIG5vdCByZXF1aXJlZC4gTmFtZWx5LCDigJxpbnRlcm5hbOKAnSBicmlkZ2UgbmV0d29ya3Mgd2l0aCBvcHRpb24gYGNvbS5kb2NrZXIubmV0d29yay5icmlkZ2UuaW5oaWJpdF9pcHY0YCwgYGlwdmxhbmAgb3IgYG1hY3ZsYW5gIG5ldHdvcmtzIHdpdGggbm8gcGFyZW50IGludGVyZmFjZSwgYW5kIEwzIElQdmxhbiBtb2Rlcy4gW21vYnkvbW9ieSM0OTI2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MjYxKQotICAgSWYgYSBjdXN0b20gbmV0d29yayBkcml2ZXIgcmVwb3J0cyBjYXBhYmlsaXR5IGBHd0FsbG9jQ2hlY2tlcmAgdGhlbiwgYmVmb3JlIGEgbmV0d29yayBpcyBjcmVhdGVkLCBpdCB3aWxsIGdldCBhIGBHd0FsbG9jQ2hlY2tlclJlcXVlc3RgIHdpdGggdGhlIG5ldHdvcmsncyBvcHRpb25zLiBUaGUgY3VzdG9tIGRyaXZlciBtYXkgdGhlbiByZXBseSB0aGF0IG5vIGdhdGV3YXkgSVAgYWRkcmVzcyBzaG91bGQgYmUgYWxsb2NhdGVkLiBbbW9ieS9tb2J5IzQ5MzcyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkzNzIpCi0gICBGaXhlZCBhbiBpc3N1ZSB0aGF0IG1lYW50IGEgY29udGFpbmVyIGNvdWxkIG5vdCBiZSBhdHRhY2hlZCB0byBhbiBMMyBJUHZsYW4gYXQgdGhlIHNhbWUgdGltZSBhcyBvdGhlciBuZXR3b3JrIHR5cGVzLiBbbW9ieS9tb2J5IzQ5MTMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkxMzApCi0gICBSZW1vdmUgdGhlIGNvcnJlY3QgYC9ldGMvaG9zdHNgIGVudHJpZXMgd2hlbiBkaXNjb25uZWN0aW5nIGEgY29udGFpbmVyIGZyb20gYSBuZXR3b3JrLiBbbW9ieS9tb2J5IzQ4ODU3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDg4NTcpCi0gICBGaXggZHVwbGljYXRlIG5ldHdvcmsgZGlzY29ubmVjdCBldmVudHMuIFttb2J5L21vYnkjNDg4MDBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODgwMCkKLSAgIFJlc29sdmUgaXNzdWVzIHJlbGF0ZWQgdG8gY2hhbmdpbmcgYGZpeGVkLWNpZHJgIGZvciBgZG9ja2VyMGAsIGFuZCBpbmZlcnJpbmcgY29uZmlndXJhdGlvbiBmcm9tIGEgdXNlci1tYW5hZ2VkIGRlZmF1bHQgYnJpZGdlIChgLS1icmlkZ2VgKS4gW21vYnkvbW9ieSM0ODMxOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4MzE5KQotICAgUmVtb3ZlIGZlYXR1cmUgZmxhZyBgd2luZG93cy1kbnMtcHJveHlgLCBpbnRyb2R1Y2VkIGluIHJlbGVhc2UgMjYuMS4wIHRvIGNvbnRyb2wgZm9yd2FyZGluZyB0byBleHRlcm5hbCBETlMgcmVzb2x2ZXJzIGZyb20gV2luZG93cyBjb250YWluZXJzLCB0byBtYWtlIGBuc2xvb2t1cGAgd29yay4gSXQgd2FzIGVuYWJsZWQgYnkgZGVmYXVsdCBpbiByZWxlYXNlIDI3LjAuMC4gW21vYnkvbW9ieSM0ODczOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NzM4KQotICAgUmVtb3ZlIGFuIGBpcHRhYmxlc2AgbWFuZ2xlIHJ1bGUgZm9yIGNoZWNrc3VtbWluZyBTQ1RQLiBUaGUgcnVsZSBjYW4gYmUgcmUtZW5hYmxlZCBieSBzZXR0aW5nIGBET0NLRVJfSVBUQUJMRVNfU0NUUF9DSEVDS1NVTT0xYCBpbiB0aGUgZGFlbW9uJ3MgZW52aXJvbm1lbnQuIFRoaXMgb3ZlcnJpZGUgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuIFttb2J5L21vYnkjNDgxNDldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80ODE0OSkKLSAgIEZhc3RlciBjb25uZWN0aW9uIHRvIGJyaWRnZSBuZXR3b3JrcywgaW4gbW9zdCBjYXNlcy4gW21vYnkvbW9ieSM0OTMwMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzAyKQoKIyMjIyBQYWNrYWdpbmcgdXBkYXRlcwoKLSAgIFVwZGF0ZSBHbyBydW50aW1lIHRvIFsxLjIzLjZdKGh0dHBzOi8vZ28uZGV2L2RvYy9kZXZlbC9yZWxlYXNlI2dvMS4yMy42KS4gW2RvY2tlci9jbGkjNTc5NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jbGkvcHVsbC81Nzk1KSwgW21vYnkvbW9ieSM0OTM5M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzkzKSwgW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExNjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExNjEpCi0gICBVcGRhdGUgYHJ1bmNgIHRvIFt2MS4yLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjUpIChzdGF0aWMgYmluYXJpZXMgb25seSkuIFttb2J5L21vYnkjNDk0NjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTQ2NCkKLSAgIFVwZGF0ZSBjb250YWluZXJkIHRvIFt2MS43LjI1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29udGFpbmVyZC9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92MS43LjI1KS4gW21vYnkvbW9ieSM0OTI1Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MjUyKQotICAgVXBkYXRlIEJ1aWxkS2l0IHRvIFt2MC4yMC4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9idWlsZGtpdC9yZWxlYXNlcy90YWcvdjAuMjAuMCkuIFttb2J5L21vYnkjNDk0OTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9tb2J5L21vYnkvcHVsbC80OTQ5NSkKLSAgIFVwZGF0ZSBCdWlsZHggdG8gW3YwLjIxLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvYnVpbGR4L3JlbGVhc2VzL3RhZy92MC4yMS4wKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExNjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExNjYpCi0gICBVcGRhdGUgQ29tcG9zZSB0byBbdjIuMzIuNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2RvY2tlci9jb21wb3NlL3JlbGVhc2VzL3RhZy92Mi4zMi4zKS4gW2RvY2tlci9kb2NrZXItY2UtcGFja2FnaW5nIzExNDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kb2NrZXIvZG9ja2VyLWNlLXBhY2thZ2luZy9wdWxsLzExNDMpCi0gICBUaGUgY2Fub25pY2FsIHNvdXJjZSBmb3IgdGhlIGBkb2NrZXJkKDgpYCBtYW4gcGFnZSBoYXMgYmVlbiBtb3ZlZCBiYWNrIHRvIHRoZSBgbW9ieS9tb2J5YCByZXBvc2l0b3J5IGl0c2VsZi4gW21vYnkvbW9ieSM0ODI5OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4Mjk4KQoKIyMjIyBHbyBTREsKCi0gICBJbXByb3ZlIHZhbGlkYXRpb24gb2YgZW1wdHkgb2JqZWN0IElEcy4gVGhlIGNsaWVudCBub3cgcmV0dXJucyBhbiAiSW52YWxpZCBQYXJhbWV0ZXIiIGVycm9yIHdoZW4gdHJ5aW5nIHRvIHVzZSBhbiBlbXB0eSBJRCBvciBuYW1lLiBUaGlzIGNoYW5nZXMgdGhlIGVycm9yIHJldHVybmVkIGJ5IHNvbWUgIkluc3BlY3QiIGZ1bmN0aW9ucyBmcm9tIGEgIk5vdCBmb3VuZCIgZXJyb3IgdG8gYW4gIkludmFsaWQgUGFyYW1ldGVyIi4gW21vYnkvbW9ieSM0OTM4MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5MzgxKQotICAgYENsaWVudC5JbWFnZUJ1aWxkKClgIG5vdyBvbWl0cyBkZWZhdWx0IHZhbHVlcyBmcm9tIHRoZSBBUEkgcmVxdWVzdCdzIHF1ZXJ5IHN0cmluZy4gW21vYnkvbW9ieSM0ODY1MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ4NjUxKQotICAgYGFwaS90eXBlcy9jb250YWluZXJgOiBNZXJnZSBgU3RhdHNgIGFuZCBgU3RhdHNSZXNwb25zZWAgW21vYnkvbW9ieSM0OTI4N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21vYnkvbW9ieS9wdWxsLzQ5Mjg3KQotICAgYGNsaWVudC5XaXRoVmVyc2lvbmA6IFN0cmlwIHYtcHJlZml4IHdoZW4gc2V0dGluZyBBUEkgdmVyc2lvbiBbbW9ieS9tb2J5IzQ5MzUyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbW9ieS9tb2J5L3B1bGwvNDkzNQoKPC9kZXRhaWxzPgoKLS0tCgojIyMgQ29uZmlndXJhdGlvbgoK8J+ThSAqKlNjaGVkdWxlKio6IEJyYW5jaCBjcmVhdGlvbiAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKSwgQXV0b21lcmdlIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLgoK8J+apiAqKkF1dG9tZXJnZSoqOiBEaXNhYmxlZCBieSBjb25maWcuIFBsZWFzZSBtZXJnZSB0aGlzIG1hbnVhbGx5IG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQuCgrimbsgKipSZWJhc2luZyoqOiBXaGVuZXZlciBQUiBiZWNvbWVzIGNvbmZsaWN0ZWQsIG9yIHlvdSB0aWNrIHRoZSByZWJhc2UvcmV0cnkgY2hlY2tib3guCgrwn5SVICoqSWdub3JlKio6IENsb3NlIHRoaXMgUFIgYW5kIHlvdSB3b24ndCBiZSByZW1pbmRlZCBhYm91dCB0aGlzIHVwZGF0ZSBhZ2Fpbi4KCi0tLQoKIC0gWyBdIDwhLS0gcmViYXNlLWNoZWNrIC0tPklmIHlvdSB3YW50IHRvIHJlYmFzZS9yZXRyeSB0aGlzIFBSLCBjaGVjayB0aGlzIGJveAoKLS0tCgpUaGlzIFBSIHdhcyBnZW5lcmF0ZWQgYnkgW01lbmQgUmVub3ZhdGVdKGh0dHBzOi8vbWVuZC5pby9yZW5vdmF0ZS8pLiBWaWV3IHRoZSBbcmVwb3NpdG9yeSBqb2IgbG9nXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2dpdGh1Yi9vc2lzbS9jaS1pbWFnZSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSXpPUzR4TnpNdU1TSXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXdMak16TGpZaUxDSjBZWEpuWlhSQ2NtRnVZMmdpT2lKdFlXbHVJaXdpYkdGaVpXeHpJanBiSW5KbGJtOTJZWFJsSWwxOS0tPgo=
      patchset: f1c25f329a172181402a6ae2f329b4d0bec3d953
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/ci-image:
            canonical_name: github.com/osism/ci-image
            checkout: main
            commit: 841c5251c1e469d014edf9c10a0d7ea4c5e1b6e3
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: caa0df55ed55158f32903d317317ac95db4da6ce
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/ci-image/playbooks/build.yml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_1/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_1/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_2/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/ci-image
        name: osism/ci-image
        short_name: ci-image
        src_dir: src/github.com/osism/ci-image
      projects:
        github.com/osism/ci-image:
          canonical_hostname: github.com
          canonical_name: github.com/osism/ci-image
          checkout: main
          checkout_description: zuul branch
          commit: 841c5251c1e469d014edf9c10a0d7ea4c5e1b6e3
          name: osism/ci-image
          required: false
          short_name: ci-image
          src_dir: src/github.com/osism/ci-image
      ref: refs/pull/57/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
