all:
  hosts:
    ubuntu-noble:
      ansible_connection: ssh
      ansible_host: 81.163.193.85
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: a101dc22-38d7-41a4-b310-9b5a0eb7686c
        host_id: 0d3d02185f810c959252bd1d303ec55040bf5bb0b401cceef814c3a7
        interface_ip: 81.163.193.85
        label: ubuntu-noble
        private_ipv4: 10.128.7.66
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.85
        public_ipv6: ''
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base branches: None source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job flake8 branches: None source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 branches: None source: osism/release/.zuul.yaml@main#2>'
      ansible_version: '8'
      attempts: 1
      branch: main
      build: f743b972e6bc48f3959c32daee77d8f8
      buildset: 14c3d71133214c758893be32d7e7586a
      change: '1884'
      change_message: "chore(deps): update dependency k3s-io/k3s to v1.32.4+k3s1\n\
        \nThis PR contains the following updates:\n\n| Package | Update | Change |\n\
        |---|---|---|\n| [k3s-io/k3s](https://redirect.github.com/k3s-io/k3s) | minor\
        \ | `v1.30.10+k3s1` -> `v1.32.4+k3s1` |\n\n---\n\n### Release Notes\n\n<details>\n\
        <summary>k3s-io/k3s (k3s-io/k3s)</summary>\n\n### [`v1.32.4+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.4%2Bk3s1):\
        \ v1.32.4+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.3+k3s1...v1.32.4+k3s1)\n\
        \n<!-- v1.32.4+k3s1 -->\n\nThis release updates Kubernetes to v1.32.4, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1323).\n\
        \n##### Changes since v1.32.3+k3s1:\n\n-   Migrate to UrfaveCLI v2 [(#&#8203;12031)](https://redirect.github.com/k3s-io/k3s/pull/12031)\n\
        -   Improve readiness polling on node startup [(#&#8203;12038)](https://redirect.github.com/k3s-io/k3s/pull/12038)\n\
        -   Fix issue caused by default authorization-mode apiserver arg [(#&#8203;12042)](https://redirect.github.com/k3s-io/k3s/pull/12042)\n\
        -   Fix flakey etcd startup tests [(#&#8203;12050)](https://redirect.github.com/k3s-io/k3s/pull/12050)\n\
        -   Cleanup anonymous and named volumes for docker tests [(#&#8203;12079)](https://redirect.github.com/k3s-io/k3s/pull/12079)\n\
        -   Add support for secretbox encryption provider with the `k3s secrets-encrypt`\
        \ command [(#&#8203;12067)](https://redirect.github.com/k3s-io/k3s/pull/12067)\n\
        \    -   Users can now configure secrets encryption to use `secretbox` provider\
        \ by setting the `secrets-encryption-provider` flag.\n-   Add error in certificate\
        \ check [(#&#8203;12098)](https://redirect.github.com/k3s-io/k3s/pull/12098)\n\
        -   Backports for 2025-04 [(#&#8203;12104)](https://redirect.github.com/k3s-io/k3s/pull/12104)\n\
        -   Bump kine for nats-server/v2 CVE-2025-30215 [(#&#8203;12141)](https://redirect.github.com/k3s-io/k3s/pull/12141)\n\
        -   Drone Test Split and Reduction [(#&#8203;12151)](https://redirect.github.com/k3s-io/k3s/pull/12151)\n\
        -   More backports for 2025-04 [(#&#8203;12167)](https://redirect.github.com/k3s-io/k3s/pull/12167)\n\
        -   Fix handler panic when bootstrapper returns empty peer list [(#&#8203;12178)](https://redirect.github.com/k3s-io/k3s/pull/12178)\n\
        -   Bump traefik to v3.3.6 [(#&#8203;12189)](https://redirect.github.com/k3s-io/k3s/pull/12189)\n\
        -   Update to v1.32.4-k3s1 and Go 1.23.6 [(#&#8203;12209)](https://redirect.github.com/k3s-io/k3s/pull/12209)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.4](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1324)\
        \ |\n| Kine | [v0.13.14](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.14)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.21-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.21-k3s1)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.26.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.26.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v3.3.6](https://redirect.github.com/traefik/traefik/releases/tag/v3.3.6)\
        \ |\n| CoreDNS | [v1.12.1](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.1)\
        \ |\n| Helm-controller | [v0.16.10](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.10)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.32.3+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.3%2Bk3s1):\
        \ v1.32.3+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.2+k3s1...v1.32.3+k3s1)\n\
        \n<!-- v1.32.3+k3s1 -->\n\nThis release updates Kubernetes to v1.32.3, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1322).\n\
        \n##### Changes since v1.32.2+k3s1:\n\n-   Revert \"Add ability to pass configuration\
        \ options to flannel backend\" [(#&#8203;11867)](https://redirect.github.com/k3s-io/k3s/pull/11867)\n\
        -   Backport Docker + E2E testing PRs for 2025 March [(#&#8203;11888)](https://redirect.github.com/k3s-io/k3s/pull/11888)\n\
        -   Backports for 2025-03 [(#&#8203;11919)](https://redirect.github.com/k3s-io/k3s/pull/11919)\n\
        -   Bump klipper-lb image to v0.4.13 [(#&#8203;11930)](https://redirect.github.com/k3s-io/k3s/pull/11930)\n\
        -   Fix syncing empty list of apiserver addresses during initial startup [(#&#8203;11953)](https://redirect.github.com/k3s-io/k3s/pull/11953)\n\
        -   Update to v1.32.3-k3s1 [(#&#8203;11960)](https://redirect.github.com/k3s-io/k3s/pull/11960)\n\
        -   Update Kubernetes to v1.32.3-k3s2 [(#&#8203;11968)](https://redirect.github.com/k3s-io/k3s/pull/11968)\n\
        -   Fix skew test for release candidates [(#&#8203;11991)](https://redirect.github.com/k3s-io/k3s/pull/11991)\n\
        -   Bump to containerd v2.0.4 [(#&#8203;12003)](https://redirect.github.com/k3s-io/k3s/pull/12003)\n\
        -   Fix upgrade test container version [(#&#8203;12000)](https://redirect.github.com/k3s-io/k3s/pull/12000)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.3](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1323)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.19-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.19-k3s1)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v3.3.2](https://redirect.github.com/traefik/traefik/releases/tag/v3.3.2)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.32.2+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.2%2Bk3s1):\
        \ v1.32.2+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.1+k3s1...v1.32.2+k3s1)\n\
        \n<!-- v1.32.2+k3s1 -->\n\nThis release updates Kubernetes to v1.32.2, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1321).\n\
        \n##### Changes since v1.32.1+k3s1:\n\n-   Correct the k3s token command help\
        \ [(#&#8203;11686)](https://redirect.github.com/k3s-io/k3s/pull/11686)\n-\
        \   Jan 2025 Testing Overhaul, E2E to Docker Migration, [(#&#8203;11723)](https://redirect.github.com/k3s-io/k3s/pull/11723)\n\
        -   Backports for 2025-02 [(#&#8203;11730)](https://redirect.github.com/k3s-io/k3s/pull/11730)\n\
        \    -   Align the CLI-reported default `--etcd-snapshot-dir` value with the\
        \ actual one (`server`, `etcd-snapshot` commands).\n    -   Disable s3 transport\
        \ transparent compression/decompression\n    -   Etcd snapshot backup/restore\
        \ now supports loading s3 credentials from an AWS SDK shared credentials file.\n\
        \    -   Bump klipper-helm to v0.9.4\n    -   Bump klipper-lb to v0.4.10\n\
        \    -   Bump spegel to v0.0.30\n    -   Bump local-path-provisioner to v0.0.31\n\
        \    -   Bump kine to v0.13.8\n    -   Bump etcd to v3.5.18\n    -   Bump\
        \ traefik to 3.3.2\n    -   Containerd has been bumped to version 2.0.\n \
        \   -   The containerd config templates for linux and windows have been consolidated\
        \ and are no longer os-specific.\n    -   Containerd 2.0 uses a new config\
        \ file schema. If you are using a custom containerd config template, you should\
        \ migrate your template to `config-v3.toml.tmpl` to switch to the new version.\
        \ See the [upstream documentation](https://redirect.github.com/containerd/containerd/blob/release/2.0/docs/cri/config.md)\
        \ for more information.\n-   Update to v1.32.2-k3s1 and Go 1.23.6 [(#&#8203;11788)](https://redirect.github.com/k3s-io/k3s/pull/11788)\n\
        -   Render CNI dir config whenever vars are set [(#&#8203;11819)](https://redirect.github.com/k3s-io/k3s/pull/11819)\n\
        -   Bump containerd for go-cni deadlock fix [(#&#8203;11833)](https://redirect.github.com/k3s-io/k3s/pull/11833)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.2](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1322)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.18-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.18-k3s1)\
        \ |\n| Containerd | [v2.0.2-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.2-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v3.3.2](https://redirect.github.com/traefik/traefik/releases/tag/v3.3.2)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.32.1+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.1%2Bk3s1):\
        \ v1.32.1+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.32.0+k3s1...v1.32.1+k3s1)\n\
        \n<!-- v1.32.1+k3s1 -->\n\nThis release updates Kubernetes to v1.32.1, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1320).\n\
        \n##### Changes since v1.32.0+k3s1:\n\n-   Backports for 2025-01 [(#&#8203;11565)](https://redirect.github.com/k3s-io/k3s/pull/11565)\n\
        -   Add auto import images for containerd image store [(#&#8203;11563)](https://redirect.github.com/k3s-io/k3s/pull/11563)\n\
        -   2025 January Backports [(#&#8203;11583)](https://redirect.github.com/k3s-io/k3s/pull/11583)\n\
        -   Fix local password validation when bind-address is set [(#&#8203;11610)](https://redirect.github.com/k3s-io/k3s/pull/11610)\n\
        -   Update to v1.32.1-k3s1 and Go 1.23.4 [(#&#8203;11620)](https://redirect.github.com/k3s-io/k3s/pull/11620)\n\
        -   Remove local restriction for deferred node password validation [(#&#8203;11648)](https://redirect.github.com/k3s-io/k3s/pull/11648)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.1](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1321)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.18](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.18)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n##### What's Changed\n\n-   \\[release-1.32] Remove local restriction for\
        \ deferred node password validation by [@&#8203;brandond](https://redirect.github.com/brandond)\
        \ in [https://github.com/k3s-io/k3s/pull/11648](https://redirect.github.com/k3s-io/k3s/pull/11648)\n\
        \n**Full Changelog**: https://github.com/k3s-io/k3s/compare/v1.32.1-rc1+k3s1...v1.32.1+k3s1\n\
        \n### [`v1.32.0+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.32.0%2Bk3s1):\
        \ v1.32.0+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.8+k3s1...v1.32.0+k3s1)\n\
        \n<!-- v1.32.0+k3s1 -->\n\nThis release is K3S's first in the v1.32 line.\
        \ This release updates Kubernetes to v1.32.0.\n\nKubernetes 1.32 moves the\
        \ `AuthorizeNodeWithSelectors` feature gate to Beta and on by default. See\
        \ [KEP-4601](https://redirect.github.com/kubernetes/enhancements/blob/master/keps/sig-auth/4601-authorize-with-selectors/README.md)\
        \ for more information.\n\nThis feature-gate breaks some of the RBAC that\
        \ previous releases of K3s relied upon. The January releases of K3s v1.29,\
        \ v1.30, and v1.31 will contain backported fixes. Until then, you must set\
        \ `--kube-apiserver-arg=feature-gates=AuthorizeNodeWithSelectors=false` on\
        \ server nodes, if you want to mix K3s v1.32 nodes with nodes of other versions\
        \ (within the limits of what is supported by the [Kubernetes Version Skew\
        \ Policy](https://kubernetes.io/releases/version-skew-policy/)).\n\nFor more\
        \ details on what's new, see the [Kubernetes release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#changelog-since-v1310).\n\
        \n##### Changes since v1.31.4+k3s1:\n\n-   Fix rotateca validation failures\
        \ when not touching default self-signed CAs [(#&#8203;10710)](https://redirect.github.com/k3s-io/k3s/pull/10710)\n\
        -   Bump runc to v1.1.13 [(#&#8203;10737)](https://redirect.github.com/k3s-io/k3s/pull/10737)\n\
        -   Update stable channel to v1.30.4+k3s1 [(#&#8203;10739)](https://redirect.github.com/k3s-io/k3s/pull/10739)\n\
        -   Fix deploy latest commit on E2E tests [(#&#8203;10725)](https://redirect.github.com/k3s-io/k3s/pull/10725)\n\
        -   Remove secrets encryption controller [(#&#8203;10612)](https://redirect.github.com/k3s-io/k3s/pull/10612)\n\
        -   Update kubernetes to v1.31.0-k3s3 [(#&#8203;10764)](https://redirect.github.com/k3s-io/k3s/pull/10764)\n\
        -   Bump traefik to v2.11.8 [(#&#8203;10779)](https://redirect.github.com/k3s-io/k3s/pull/10779)\n\
        -   Update coredns to 1.11.3 and metrics-server to 0.7.2 [(#&#8203;10760)](https://redirect.github.com/k3s-io/k3s/pull/10760)\n\
        -   Add trivy scanning to PR reports [(#&#8203;10758)](https://redirect.github.com/k3s-io/k3s/pull/10758)\n\
        -   Cover edge case when on new minor release for E2E upgrade test [(#&#8203;10781)](https://redirect.github.com/k3s-io/k3s/pull/10781)\n\
        -   Bump aquasecurity/trivy-action from 0.20.0 to 0.24.0 [(#&#8203;10795)](https://redirect.github.com/k3s-io/k3s/pull/10795)\n\
        -   Update CNI plugins version [(#&#8203;10798)](https://redirect.github.com/k3s-io/k3s/pull/10798)\n\
        -   Bump Sonobuoy version [(#&#8203;10792)](https://redirect.github.com/k3s-io/k3s/pull/10792)\n\
        -   Fix /trivy action running against target branch instead of PR branch [(#&#8203;10824)](https://redirect.github.com/k3s-io/k3s/pull/10824)\n\
        -   Launch private registry with init [(#&#8203;10822)](https://redirect.github.com/k3s-io/k3s/pull/10822)\n\
        -   Add channel for v1.31 [(#&#8203;10826)](https://redirect.github.com/k3s-io/k3s/pull/10826)\n\
        -   Bump containerd to v1.7.21, runc to v1.1.14 [(#&#8203;10805)](https://redirect.github.com/k3s-io/k3s/pull/10805)\n\
        -   Bump helm-controller for skip-verify/plain-http and updated tolerations\
        \ [(#&#8203;10832)](https://redirect.github.com/k3s-io/k3s/pull/10832)\n-\
        \   Tag PR image build as latest before scanning [(#&#8203;10825)](https://redirect.github.com/k3s-io/k3s/pull/10825)\n\
        -   Only clean up containerd hosts dirs managed by k3s [(#&#8203;10823)](https://redirect.github.com/k3s-io/k3s/pull/10823)\n\
        -   Remove otelgrpc pinned dependency [(#&#8203;10799)](https://redirect.github.com/k3s-io/k3s/pull/10799)\n\
        -   Add node-internal-dns/node-external-dns address pass-through support [(#&#8203;10852)](https://redirect.github.com/k3s-io/k3s/pull/10852)\n\
        -   Give good report if no CVEs found in trivy [(#&#8203;10853)](https://redirect.github.com/k3s-io/k3s/pull/10853)\n\
        -   Fix hosts.toml header var [(#&#8203;10870)](https://redirect.github.com/k3s-io/k3s/pull/10870)\n\
        -   Bump Trivy version [(#&#8203;10863)](https://redirect.github.com/k3s-io/k3s/pull/10863)\n\
        -   Add int test for flannel-ipv6masq [(#&#8203;10440)](https://redirect.github.com/k3s-io/k3s/pull/10440)\n\
        -   Bump Trivy version [(#&#8203;10899)](https://redirect.github.com/k3s-io/k3s/pull/10899)\n\
        -   Update Kubernetes to v1.31.1-k3s3 [(#&#8203;10911)](https://redirect.github.com/k3s-io/k3s/pull/10911)\n\
        -   Add MariaDB to CI [(#&#8203;10724)](https://redirect.github.com/k3s-io/k3s/pull/10724)\n\
        -   Update stable channel tov1.30.5+k3s1 [(#&#8203;10921)](https://redirect.github.com/k3s-io/k3s/pull/10921)\n\
        -   Use static CNI bin dir [(#&#8203;10868)](https://redirect.github.com/k3s-io/k3s/pull/10868)\n\
        \    -   K3s now uses a stable directory for CNI binaries, which simplifies\
        \ the installation of additional CNI plugins.\n-   Breakup trivy scan and\
        \ check comment author [(#&#8203;10935)](https://redirect.github.com/k3s-io/k3s/pull/10935)\n\
        -   Fix getMembershipForUserInOrg call [(#&#8203;10937)](https://redirect.github.com/k3s-io/k3s/pull/10937)\n\
        -   Check k3s-io organization membership not team membership for trivy scans\
        \ [(#&#8203;10940)](https://redirect.github.com/k3s-io/k3s/pull/10940)\n-\
        \   Bump kine to v0.13.0 [(#&#8203;10932)](https://redirect.github.com/k3s-io/k3s/pull/10932)\n\
        \    -   Kine has been bumped to v0.13.0. This release includes changes that\
        \ should enhance performance when using postgres as an external DB. The updated\
        \ schema will be automatically used for new databases; to migrate to the new\
        \ schema on existing databases, K3s can be started with the `KINE_SCHEMA_MIGRATION=2`\
        \ environment variable set.\n-   Fix trivy report download [(#&#8203;10943)](https://redirect.github.com/k3s-io/k3s/pull/10943)\n\
        -   Trivy workflow: Specify GH_REPO env to use gh cli [(#&#8203;10949)](https://redirect.github.com/k3s-io/k3s/pull/10949)\n\
        -   Bump Trivy version [(#&#8203;10924)](https://redirect.github.com/k3s-io/k3s/pull/10924)\n\
        -   Bump traefik to chart 27.0.2 [(#&#8203;10939)](https://redirect.github.com/k3s-io/k3s/pull/10939)\n\
        -   Pass Rancher's VEX report to Trivy to remove known false-positives CVEs\
        \ [(#&#8203;10956)](https://redirect.github.com/k3s-io/k3s/pull/10956)\n-\
        \   Fix trivy vex line [(#&#8203;10970)](https://redirect.github.com/k3s-io/k3s/pull/10970)\n\
        -   Add user path to runtimes search [(#&#8203;10953)](https://redirect.github.com/k3s-io/k3s/pull/10953)\n\
        \    -   Runtimes detection will now use $PATH\n-   Bump to new wharfie version\
        \ [(#&#8203;10971)](https://redirect.github.com/k3s-io/k3s/pull/10971)\n-\
        \   Update README.md [(#&#8203;10523)](https://redirect.github.com/k3s-io/k3s/pull/10523)\n\
        -   Remove trailing whitespace [(#&#8203;9362)](https://redirect.github.com/k3s-io/k3s/pull/9362)\n\
        -   Bump kine to v0.13.2 [(#&#8203;10978)](https://redirect.github.com/k3s-io/k3s/pull/10978)\n\
        -   Allow configuration of Rootlesskit's CopyUpDirs through an environment\
        \ variable [(#&#8203;10386)](https://redirect.github.com/k3s-io/k3s/pull/10386)\n\
        \    -   Add new environment variable \"K3S_ROOTLESS_COPYUPDIRS\" to add folders\
        \ to the Rootlesskit configuration.\n-   Fix race condition when multiple\
        \ nodes reconcile S3 snapshots [(#&#8203;10979)](https://redirect.github.com/k3s-io/k3s/pull/10979)\n\
        -   Bump Trivy version [(#&#8203;10996)](https://redirect.github.com/k3s-io/k3s/pull/10996)\n\
        -   Add ca-cert rotation integration test, and fix ca-cert rotation [(#&#8203;11013)](https://redirect.github.com/k3s-io/k3s/pull/11013)\n\
        -   Add e2e test which verifies traffic policies and firewall in services\
        \ [(#&#8203;10972)](https://redirect.github.com/k3s-io/k3s/pull/10972)\n-\
        \   Update tcpproxy for import path change [(#&#8203;11029)](https://redirect.github.com/k3s-io/k3s/pull/11029)\n\
        -   Bump Local Path Provisioner version [(#&#8203;10862)](https://redirect.github.com/k3s-io/k3s/pull/10862)\n\
        -   Bump local-path-provisioner to v0.0.30 [(#&#8203;11049)](https://redirect.github.com/k3s-io/k3s/pull/11049)\n\
        -   Bump helm-controller and klipper-helm [(#&#8203;11060)](https://redirect.github.com/k3s-io/k3s/pull/11060)\n\
        -   Bump containerd to v1.7.22 [(#&#8203;11067)](https://redirect.github.com/k3s-io/k3s/pull/11067)\n\
        -   Simplify svclb daemonset [(#&#8203;10954)](https://redirect.github.com/k3s-io/k3s/pull/10954)\n\
        \    -   Stop using klipper-lb as the image for svclb. Replace it with a simple\
        \ busybox which just sleeps\n-   Add the nvidia runtime cdi [(#&#8203;11065)](https://redirect.github.com/k3s-io/k3s/pull/11065)\n\
        \    -   Add nvidia cdi runtime to the list of supported and discoverable\
        \ runtimes\n-   Bump Trivy version [(#&#8203;11103)](https://redirect.github.com/k3s-io/k3s/pull/11103)\n\
        -   Rollback GHA to Ubuntu 22.04 [(#&#8203;11111)](https://redirect.github.com/k3s-io/k3s/pull/11111)\n\
        -   Revert \"Make svclb as simple as possible\" [(#&#8203;11109)](https://redirect.github.com/k3s-io/k3s/pull/11109)\n\
        -   Fix Github Actions for Ubuntu-24.04 [(#&#8203;11112)](https://redirect.github.com/k3s-io/k3s/pull/11112)\n\
        -   Bump aquasecurity/trivy-action from 0.24.0 to 0.27.0 [(#&#8203;11105)](https://redirect.github.com/k3s-io/k3s/pull/11105)\n\
        -   Check the last 10 commits for upgrade E2E test [(#&#8203;11086)](https://redirect.github.com/k3s-io/k3s/pull/11086)\n\
        -   Bump aquasecurity/trivy-action from 0.27.0 to 0.28.0 [(#&#8203;11138)](https://redirect.github.com/k3s-io/k3s/pull/11138)\n\
        -   Fixes \"file exists\" error from CNI bins when upgrading k3s [(#&#8203;11123)](https://redirect.github.com/k3s-io/k3s/pull/11123)\n\
        -   Reduce the number of GH api request for E2E nightly [(#&#8203;11148)](https://redirect.github.com/k3s-io/k3s/pull/11148)\n\
        -   Update Kubernetes to v1.31.2-k3s1 and Go 1.22.8 [(#&#8203;11163)](https://redirect.github.com/k3s-io/k3s/pull/11163)\n\
        -   Update stable channel to v1.30.6+k3s1 [(#&#8203;11186)](https://redirect.github.com/k3s-io/k3s/pull/11186)\n\
        -   Fix timeout when defragmenting etcd on startup [(#&#8203;11164)](https://redirect.github.com/k3s-io/k3s/pull/11164)\n\
        -   Capture all fedora atomic variants in install script [(#&#8203;11170)](https://redirect.github.com/k3s-io/k3s/pull/11170)\n\
        \    -   Allow easier installation of k3s on all variants of fedora atomic\
        \ that use rpm-ostree\n-   Typo fixes in contributing.md [(#&#8203;11201)](https://redirect.github.com/k3s-io/k3s/pull/11201)\n\
        -   Bump Trivy version [(#&#8203;11206)](https://redirect.github.com/k3s-io/k3s/pull/11206)\n\
        -   Pin vagrant to older version to avoid known issue 13527 [(#&#8203;11226)](https://redirect.github.com/k3s-io/k3s/pull/11226)\n\
        -   Set kine EmulatedETCDVersion from embedded etcd version [(#&#8203;11221)](https://redirect.github.com/k3s-io/k3s/pull/11221)\n\
        -   Add nonroot-devices flag to agent CLI [(#&#8203;11200)](https://redirect.github.com/k3s-io/k3s/pull/11200)\n\
        \    -   `Device_ownership_from_security_context` can now be enabled in the\
        \ containerd CRI config by setting the `--nonroot-devices` flag or config\
        \ key.\n-   Bump runc to v1.2 [(#&#8203;10896)](https://redirect.github.com/k3s-io/k3s/pull/10896)\n\
        -   Update flannel and base cni plugins version [(#&#8203;11188)](https://redirect.github.com/k3s-io/k3s/pull/11188)\n\
        -   Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.1 [(#&#8203;11236)](https://redirect.github.com/k3s-io/k3s/pull/11236)\n\
        -   Fix MustFindString returning override flags on external CLI commands [(#&#8203;11237)](https://redirect.github.com/k3s-io/k3s/pull/11237)\n\
        -   Bump containerd to v1.7.23-k3s1 to fix registry rewrite token scopes [(#&#8203;11238)](https://redirect.github.com/k3s-io/k3s/pull/11238)\n\
        -   Fix the \"Standalone\"-mode of oidc-login in the wrapped kubectl library\
        \ [(#&#8203;11266)](https://redirect.github.com/k3s-io/k3s/pull/11266)\n \
        \   -   Fixes 'no Auth Provider found for name \"oidc\"' when using oidc-login\
        \ in standalone mode.\n-   Bump K3s-root version to v0.14.1 [(#&#8203;11282)](https://redirect.github.com/k3s-io/k3s/pull/11282)\n\
        -   Bump kine [(#&#8203;11277)](https://redirect.github.com/k3s-io/k3s/pull/11277)\n\
        -   Bump kine for mysql connection close fix [(#&#8203;11305)](https://redirect.github.com/k3s-io/k3s/pull/11305)\n\
        -   Fix handling of wrapped subcommands when run with a path [(#&#8203;11306)](https://redirect.github.com/k3s-io/k3s/pull/11306)\n\
        -   Fix updatecli config for klipper and helm-controller [(#&#8203;11290)](https://redirect.github.com/k3s-io/k3s/pull/11290)\n\
        -   Fix issue with loadbalancer failover to default server [(#&#8203;11319)](https://redirect.github.com/k3s-io/k3s/pull/11319)\n\
        -   Update `localstorage_int_test.go` reference [(#&#8203;11339)](https://redirect.github.com/k3s-io/k3s/pull/11339)\n\
        \    -   Update `localstorage_int_test.go` reference in `tests/integration/README.md`\n\
        -   Add  to the output command to be consistent with the product command [(#&#8203;11345)](https://redirect.github.com/k3s-io/k3s/pull/11345)\n\
        -   Allow install script to print error on failed binary download [(#&#8203;11335)](https://redirect.github.com/k3s-io/k3s/pull/11335)\n\
        -   Remove the go toolchain line [(#&#8203;11358)](https://redirect.github.com/k3s-io/k3s/pull/11358)\n\
        -   Add ubuntu 24.04 apt command for e2e test [(#&#8203;11361)](https://redirect.github.com/k3s-io/k3s/pull/11361)\n\
        -   Bump Trivy version [(#&#8203;11360)](https://redirect.github.com/k3s-io/k3s/pull/11360)\n\
        -   Bump aquasecurity/trivy-action from 0.28.0 to 0.29.0 [(#&#8203;11364)](https://redirect.github.com/k3s-io/k3s/pull/11364)\n\
        -   Convert legacy docker tests from bash to golang [(#&#8203;11357)](https://redirect.github.com/k3s-io/k3s/pull/11357)\n\
        -   Update Kubernetes to v1.31.3-k3s1 [(#&#8203;11373)](https://redirect.github.com/k3s-io/k3s/pull/11373)\n\
        -   Fix Branch Name logic for Dependabot and UpdateCLI pushes to k3s-io [(#&#8203;11376)](https://redirect.github.com/k3s-io/k3s/pull/11376)\n\
        -   Fix INSTALL_K3S_PR support [(#&#8203;11383)](https://redirect.github.com/k3s-io/k3s/pull/11383)\n\
        -   Fix etcd backup/restore test and add guardrail for etcd-snapshot [(#&#8203;11314)](https://redirect.github.com/k3s-io/k3s/pull/11314)\n\
        -   Bump containerd to -k3s2 to fix rewrites [(#&#8203;11401)](https://redirect.github.com/k3s-io/k3s/pull/11401)\n\
        -   Fix opensuse-leap install test [(#&#8203;11379)](https://redirect.github.com/k3s-io/k3s/pull/11379)\n\
        -   Fix secrets-encrypt reencrypt timeout error [(#&#8203;11385)](https://redirect.github.com/k3s-io/k3s/pull/11385)\n\
        -   Rework loadbalancer server selection logic [(#&#8203;11329)](https://redirect.github.com/k3s-io/k3s/pull/11329)\n\
        -   Remove experimental from embedded-registry flag [(#&#8203;11443)](https://redirect.github.com/k3s-io/k3s/pull/11443)\n\
        -   Update stable channel to v1.31.3+k3s1 [(#&#8203;11436)](https://redirect.github.com/k3s-io/k3s/pull/11436)\n\
        -   Fix agent tunnel address with dedicated supervisor port [(#&#8203;11427)](https://redirect.github.com/k3s-io/k3s/pull/11427)\n\
        -   Update coredns to 1.12.0 [(#&#8203;11387)](https://redirect.github.com/k3s-io/k3s/pull/11387)\n\
        -   Bump Trivy version [(#&#8203;11430)](https://redirect.github.com/k3s-io/k3s/pull/11430)\n\
        -   Update to v1.31.4-k3s1 and Go 1.22.9 [(#&#8203;11463)](https://redirect.github.com/k3s-io/k3s/pull/11463)\n\
        -   Bump alpine from 3.20 to 3.21 in /conformance [(#&#8203;11433)](https://redirect.github.com/k3s-io/k3s/pull/11433)\n\
        -   Fix docker check warnings [(#&#8203;11474)](https://redirect.github.com/k3s-io/k3s/pull/11474)\n\
        -   Update stable channel to v1.31.4+k3s1 [(#&#8203;11483)](https://redirect.github.com/k3s-io/k3s/pull/11483)\n\
        -   V1.32.0+k3s1 [(#&#8203;11478)](https://redirect.github.com/k3s-io/k3s/pull/11478)\n\
        -   Switch to using kubelet config file for all supported flags [(#&#8203;10433)](https://redirect.github.com/k3s-io/k3s/pull/10433)\n\
        -   Load kernel modules for nft in agent setup [(#&#8203;11527)](https://redirect.github.com/k3s-io/k3s/pull/11527)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.32.0](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.32.md#v1320)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.8+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.8%2Bk3s1):\
        \ v1.31.8+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.7+k3s1...v1.31.8+k3s1)\n\
        \n<!-- v1.31.8+k3s1 -->\n\nThis release updates Kubernetes to v1.31.8, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1317).\n\
        \n##### Changes since v1.31.7+k3s1:\n\n-   Migrate to UrfaveCLI v2 [(#&#8203;12030)](https://redirect.github.com/k3s-io/k3s/pull/12030)\n\
        -   Improve readiness polling on node startup [(#&#8203;12037)](https://redirect.github.com/k3s-io/k3s/pull/12037)\n\
        -   Fix issue caused by default authorization-mode apiserver arg [(#&#8203;12044)](https://redirect.github.com/k3s-io/k3s/pull/12044)\n\
        -   Cleanup anonymous and named volumes for docker tests ([#&#8203;12069](https://redirect.github.com/k3s-io/k3s/issues/12069))\
        \ [(#&#8203;12076)](https://redirect.github.com/k3s-io/k3s/pull/12076)\n-\
        \   Add support for secretbox encryption provider with the `k3s secrets-encrypt`\
        \ command [(#&#8203;12066)](https://redirect.github.com/k3s-io/k3s/pull/12066)\n\
        \    -   Users can now configure secrets encryption to use `secretbox` provider\
        \ by setting the `secrets-encryption-provider` flag.\n-   Add error in certificate\
        \ check [(#&#8203;12097)](https://redirect.github.com/k3s-io/k3s/pull/12097)\n\
        -   Backports for 2025-04 [(#&#8203;12105)](https://redirect.github.com/k3s-io/k3s/pull/12105)\n\
        -   Bump kine for nats-server/v2 CVE-2025-30215 [(#&#8203;12142)](https://redirect.github.com/k3s-io/k3s/pull/12142)\n\
        -   Drone Test Split and Reduction [(#&#8203;12150)](https://redirect.github.com/k3s-io/k3s/pull/12150)\n\
        -   More backports for 2025-04 [(#&#8203;12168)](https://redirect.github.com/k3s-io/k3s/pull/12168)\n\
        -   Fix handler panic when bootstrapper returns empty peer list [(#&#8203;12179)](https://redirect.github.com/k3s-io/k3s/pull/12179)\n\
        -   Bump traefik to v2.11.24 [(#&#8203;12190)](https://redirect.github.com/k3s-io/k3s/pull/12190)\n\
        -   Update to v1.31.8-k3s1 and Go 1.23.6 [(#&#8203;12207)](https://redirect.github.com/k3s-io/k3s/pull/12207)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.8](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1318)\
        \ |\n| Kine | [v0.13.14](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.14)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.21-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.21-k3s1)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.26.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.26.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.24](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.24)\
        \ |\n| CoreDNS | [v1.12.1](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.1)\
        \ |\n| Helm-controller | [v0.16.10](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.10)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.7+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.7%2Bk3s1):\
        \ v1.31.7+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.6+k3s1...v1.31.7+k3s1)\n\
        \n<!-- v1.31.7+k3s1 -->\n\nThis release updates Kubernetes to v1.31.7, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1316).\n\
        \n#### Changes since v1.31.6+k3s1:\n\n-   Revert \"Add ability to pass configuration\
        \ options to flannel backend\" [(#&#8203;11868)](https://redirect.github.com/k3s-io/k3s/pull/11868)\n\
        -   Backport Docker + E2E testing PRs for 2025 March [(#&#8203;11887)](https://redirect.github.com/k3s-io/k3s/pull/11887)\n\
        -   Backports for 2025-03 [(#&#8203;11920)](https://redirect.github.com/k3s-io/k3s/pull/11920)\n\
        -   Bump klipper-lb to v0.4.13 [(#&#8203;11927)](https://redirect.github.com/k3s-io/k3s/pull/11927)\n\
        -   Fix syncing empty list of apiserver addresses during initial startup [(#&#8203;11954)](https://redirect.github.com/k3s-io/k3s/pull/11954)\n\
        -   Update to v1.31.7-k3s1 [(#&#8203;11958)](https://redirect.github.com/k3s-io/k3s/pull/11958)\n\
        -   Fix skew test for release candidates [(#&#8203;11990)](https://redirect.github.com/k3s-io/k3s/pull/11990)\n\
        -   Bump to containerd v2.0.4 [(#&#8203;12004)](https://redirect.github.com/k3s-io/k3s/pull/12004)\n\
        -   Fix upgrade test container version [(#&#8203;11999)](https://redirect.github.com/k3s-io/k3s/pull/11999)\n\
        \n#### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.7](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1317)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.19-k3s1.30](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.19-k3s1.30)\
        \ |\n| Containerd | [v2.0.4-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.4-k3s2)\
        \ |\n| Runc | [v1.2.5](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.5)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.20](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.20)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n#### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.6+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.6%2Bk3s1):\
        \ v1.31.6+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.5+k3s1...v1.31.6+k3s1)\n\
        \n<!-- v1.31.6+k3s1 -->\n\nThis release updates Kubernetes to v1.31.6, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1315).\n\
        \n##### Changes since v1.31.5+k3s1:\n\n-   Correct the k3s token command help\
        \ [(#&#8203;11685)](https://redirect.github.com/k3s-io/k3s/pull/11685)\n-\
        \   Jan 2025 Testing Overhaul, E2E to Docker Migration, [(#&#8203;11724)](https://redirect.github.com/k3s-io/k3s/pull/11724)\n\
        -   Backports for 2025-02 [(#&#8203;11732)](https://redirect.github.com/k3s-io/k3s/pull/11732)\n\
        \    -   Align the CLI-reported default `--etcd-snapshot-dir` value with the\
        \ actual one (`server`, `etcd-snapshot` commands).\n    -   Disable s3 transport\
        \ transparent compression/decompression\n    -   Etcd snapshot backup/restore\
        \ now supports loading s3 credentials from an AWS SDK shared credentials file.\n\
        \    -   Bump klipper-helm to v0.9.4\n    -   Bump klipper-lb to v0.4.10\n\
        \    -   Bump spegel to v0.0.30\n    -   Bump local-path-provisioner to v0.0.31\n\
        \    -   Bump kine to v0.13.8\n    -   Bump etcd to v3.5.18\n    -   Bump\
        \ traefik to 2.11.20\n    -   Containerd has been bumped to version 2.0.\n\
        \    -   The containerd config templates for linux and windows have been consolidated\
        \ and are no longer os-specific.\n    -   Containerd 2.0 uses a new config\
        \ file schema. If you are using a custom containerd config template, you should\
        \ migrate your template to `config-v3.toml.tmpl` to switch to the new version.\
        \ See the [upstream documentation](https://redirect.github.com/containerd/containerd/blob/release/2.0/docs/cri/config.md)\
        \ for more information.\n-   Bump traefik to v2.11.20 [(#&#8203;11763)](https://redirect.github.com/k3s-io/k3s/pull/11763)\n\
        -   Update to v1.31.6-k3s1 and Go 1.22.12 [(#&#8203;11787)](https://redirect.github.com/k3s-io/k3s/pull/11787)\n\
        -   Render CNI dir config whenever vars are set [(#&#8203;11820)](https://redirect.github.com/k3s-io/k3s/pull/11820)\n\
        -   Bump containerd for go-cni deadlock fix [(#&#8203;11834)](https://redirect.github.com/k3s-io/k3s/pull/11834)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.6](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1316)\
        \ |\n| Kine | [v0.13.9](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.9)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.18-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.18-k3s1)\
        \ |\n| Containerd | [v2.0.2-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v2.0.2-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s2](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s2)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.20](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.20)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.6](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.6)\
        \ |\n| Local-path-provisioner | [v0.0.31](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.31)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.5+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.5%2Bk3s1):\
        \ v1.31.5+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.4+k3s1...v1.31.5+k3s1)\n\
        \n<!-- v1.31.5+k3s1 -->\n\nThis release updates Kubernetes to v1.31.5, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1314).\n\
        \n##### Changes since v1.31.4+k3s1:\n\n-   Add guardrail for etcd-snapshot\
        \ [(#&#8203;11393)](https://redirect.github.com/k3s-io/k3s/pull/11393)\n-\
        \   Backports for 2025-01 [(#&#8203;11566)](https://redirect.github.com/k3s-io/k3s/pull/11566)\n\
        -   Add auto import images for containerd image store [(#&#8203;11562)](https://redirect.github.com/k3s-io/k3s/pull/11562)\n\
        -   2025 January Backports [(#&#8203;11588)](https://redirect.github.com/k3s-io/k3s/pull/11588)\n\
        -   Load kernel modules for nft in agent setup [(#&#8203;11596)](https://redirect.github.com/k3s-io/k3s/pull/11596)\n\
        -   Fix local password validation when bind-address is set [(#&#8203;11611)](https://redirect.github.com/k3s-io/k3s/pull/11611)\n\
        -   Update to v1.31.5-k3s1 and Go 1.22.10 [(#&#8203;11621)](https://redirect.github.com/k3s-io/k3s/pull/11621)\n\
        -   Remove local restriction for deferred node password validation [(#&#8203;11649)](https://redirect.github.com/k3s-io/k3s/pull/11649)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.5](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1315)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.4-k3s1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.4-k3s1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.18](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.18)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n##### What's Changed\n\n-   \\[release-1.31] Remove local restriction for\
        \ deferred node password validation by [@&#8203;brandond](https://redirect.github.com/brandond)\
        \ in [https://github.com/k3s-io/k3s/pull/11649](https://redirect.github.com/k3s-io/k3s/pull/11649)\n\
        \n**Full Changelog**: https://github.com/k3s-io/k3s/compare/v1.31.5-rc1+k3s1...v1.31.5+k3s1\n\
        \n### [`v1.31.4+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.4%2Bk3s1):\
        \ v1.31.4+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.3+k3s1...v1.31.4+k3s1)\n\
        \n<!-- v1.31.4+k3s1 -->\n\nThis release updates Kubernetes to v1.31.4, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1313).\n\
        \n##### Changes since v1.31.3+k3s1:\n\n-   Fix secrets-encrypt reencrypt timeout\
        \ error [(#&#8203;11442)](https://redirect.github.com/k3s-io/k3s/pull/11442)\n\
        -   Remove experimental from embedded-registry flag [(#&#8203;11444)](https://redirect.github.com/k3s-io/k3s/pull/11444)\n\
        -   Rework loadbalancer server selection logic [(#&#8203;11457)](https://redirect.github.com/k3s-io/k3s/pull/11457)\n\
        \    -   The embedded client loadbalancer that handles connectivity to control-plane\
        \ elements has been extensively reworked for improved performance, reliability,\
        \ and observability.\n-   Update coredns to 1.12.0 [(#&#8203;11454)](https://redirect.github.com/k3s-io/k3s/pull/11454)\n\
        -   Add node-internal-dns/node-external-dns address pass-through support \u2026\
        \ [(#&#8203;11464)](https://redirect.github.com/k3s-io/k3s/pull/11464)\n-\
        \   Update to v1.31.4-k3s1 and Go 1.22.9 [(#&#8203;11462)](https://redirect.github.com/k3s-io/k3s/pull/11462)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.4](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1314)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.12.0](https://redirect.github.com/coredns/coredns/releases/tag/v1.12.0)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.3+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.3%2Bk3s1):\
        \ v1.31.3+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.2+k3s1...v1.31.3+k3s1)\n\
        \n<!-- v1.31.3+k3s1 -->\n\nThis release updates Kubernetes to v1.31.3, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1312).\n\
        \n##### Changes since v1.31.2+k3s1:\n\n-   Backport E2E GHA fixes [(#&#8203;11230)](https://redirect.github.com/k3s-io/k3s/pull/11230)\n\
        -   Backports for 2024-11 [(#&#8203;11261)](https://redirect.github.com/k3s-io/k3s/pull/11261)\n\
        -   Update flannel and base cni plugins version [(#&#8203;11247)](https://redirect.github.com/k3s-io/k3s/pull/11247)\n\
        -   Bump to latest k3s-root version in scripts/version.sh [(#&#8203;11302)](https://redirect.github.com/k3s-io/k3s/pull/11302)\n\
        -   More backports for 2024-11 [(#&#8203;11307)](https://redirect.github.com/k3s-io/k3s/pull/11307)\n\
        -   Fix issue with loadbalancer failover to default server [(#&#8203;11324)](https://redirect.github.com/k3s-io/k3s/pull/11324)\n\
        -   Update Kubernetes to v1.31.3-k3s1 [(#&#8203;11372)](https://redirect.github.com/k3s-io/k3s/pull/11372)\n\
        -   Bump containerd to -k3s2 to fix rewrites [(#&#8203;11403)](https://redirect.github.com/k3s-io/k3s/pull/11403)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.3](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1313)\
        \ |\n| Kine | [v0.13.5](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.5)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.16-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.16-k3s1)\
        \ |\n| Containerd | [v1.7.23-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.23-k3s2)\
        \ |\n| Runc | [v1.2.1](https://redirect.github.com/opencontainers/runc/releases/tag/v1.2.1)\
        \ |\n| Flannel | [v0.25.7](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.7)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.11.3](https://redirect.github.com/coredns/coredns/releases/tag/v1.11.3)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.2+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.2%2Bk3s1):\
        \ v1.31.2+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.1+k3s1...v1.31.2+k3s1)\n\
        \n<!-- v1.31.2+k3s1 -->\n\nThis release updates Kubernetes to v1.31.2, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1311).\n\
        \n##### Changes since v1.31.1+k3s1:\n\n-   Add int test for flannel-ipv6masq\
        \ [(#&#8203;10904)](https://redirect.github.com/k3s-io/k3s/pull/10904)\n-\
        \   Bump Wharfie to v0.6.7 [(#&#8203;10974)](https://redirect.github.com/k3s-io/k3s/pull/10974)\n\
        -   Add user path to runtimes search [(#&#8203;11002)](https://redirect.github.com/k3s-io/k3s/pull/11002)\n\
        -   Add e2e test for advanced fields in services [(#&#8203;11023)](https://redirect.github.com/k3s-io/k3s/pull/11023)\n\
        -   Launch private registry with init [(#&#8203;11048)](https://redirect.github.com/k3s-io/k3s/pull/11048)\n\
        -   Backports for 2024-10 [(#&#8203;11054)](https://redirect.github.com/k3s-io/k3s/pull/11054)\n\
        -   Allow additional Rootless CopyUpDirs through K3S_ROOTLESS_COPYUPDIRS [(#&#8203;11041)](https://redirect.github.com/k3s-io/k3s/pull/11041)\n\
        -   Bump containerd to v1.7.22 [(#&#8203;11072)](https://redirect.github.com/k3s-io/k3s/pull/11072)\n\
        -   Simplify svclb ds [(#&#8203;11079)](https://redirect.github.com/k3s-io/k3s/pull/11079)\n\
        -   Add the nvidia runtime cdi [(#&#8203;11093)](https://redirect.github.com/k3s-io/k3s/pull/11093)\n\
        -   Revert \"Make svclb as simple as possible\" [(#&#8203;11118)](https://redirect.github.com/k3s-io/k3s/pull/11118)\n\
        -   Fixes \"file exists\" error from CNI bins when upgrading k3s [(#&#8203;11125)](https://redirect.github.com/k3s-io/k3s/pull/11125)\n\
        -   Update Kubernetes to v1.31.2 [(#&#8203;11155)](https://redirect.github.com/k3s-io/k3s/pull/11155)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.2](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1312)\
        \ |\n| Kine | [v0.13.2](https://redirect.github.com/k3s-io/kine/releases/tag/v0.13.2)\
        \ |\n| SQLite | [3.46.1](https://sqlite.org/releaselog/3\\_46\\_1.html) |\n\
        | Etcd | [v3.5.13-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1)\
        \ |\n| Containerd | [v1.7.22-k3s1](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.22-k3s1)\
        \ |\n| Runc | [v1.1.14](https://redirect.github.com/opencontainers/runc/releases/tag/v1.1.14)\
        \ |\n| Flannel | [v0.25.6](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.6)\
        \ |\n| Metrics-server | [v0.7.2](https://redirect.github.com/kubernetes-sigs/metrics-server/releases/tag/v0.7.2)\
        \ |\n| Traefik | [v2.11.10](https://redirect.github.com/traefik/traefik/releases/tag/v2.11.10)\
        \ |\n| CoreDNS | [v1.11.3](https://redirect.github.com/coredns/coredns/releases/tag/v1.11.3)\
        \ |\n| Helm-controller | [v0.16.5](https://redirect.github.com/k3s-io/helm-controller/releases/tag/v0.16.5)\
        \ |\n| Local-path-provisioner | [v0.0.30](https://redirect.github.com/rancher/local-path-provisioner/releases/tag/v0.0.30)\
        \ |\n\n##### Helpful Links\n\nAs always, we welcome and appreciate feedback\
        \ from our community of users. Please feel free to:\n\n-   [Open issues here](https://redirect.github.com/rancher/k3s/issues/new/choose)\n\
        -   [Join our Slack channel](https://slack.rancher.io/)\n-   [Check out our\
        \ documentation](https://rancher.com/docs/k3s/latest/en/) for guidance on\
        \ how to get started or to dive deep into K3s.\n-   [Read how you can contribute\
        \ here](https://redirect.github.com/rancher/k3s/blob/master/CONTRIBUTING.md)\n\
        \n### [`v1.31.1+k3s1`](https://redirect.github.com/k3s-io/k3s/releases/tag/v1.31.1%2Bk3s1):\
        \ v1.31.1+k3s1\n\n[Compare Source](https://redirect.github.com/k3s-io/k3s/compare/v1.31.0+k3s1...v1.31.1+k3s1)\n\
        \n<!-- v1.31.1+k3s1 -->\n\nThis release updates Kubernetes to v1.31.1, and\
        \ fixes a number of issues.\n\nFor more details on what's new, see the [Kubernetes\
        \ release notes](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#changelog-since-v1310).\n\
        \n##### Changes since v1.31.0+k3s1:\n\n-   Testing And Secrets-Encryption\
        \ Backports for 2024-09 [(#&#8203;10802)](https://redirect.github.com/k3s-io/k3s/pull/10802)\n\
        \    -   Remove secrets encryption controller\n    -   Cover edge case when\
        \ on new minor release for E2E upgrade test\n-   Update CNI plugins version\
        \ [(#&#8203;10817)](https://redirect.github.com/k3s-io/k3s/pull/10817)\n-\
        \   Backports for 2024-09 [(#&#8203;10842)](https://redirect.github.com/k3s-io/k3s/pull/10842)\n\
        -   Fix hosts.toml header var [(#&#8203;10871)](https://redirect.github.com/k3s-io/k3s/pull/10871)\n\
        -   Update Kubernetes to v1.31.1 [(#&#8203;10895)](https://redirect.github.com/k3s-io/k3s/pull/10895)\n\
        -   Update Kubernetes to v1.31.1-k3s3 [(#&#8203;10910)](https://redirect.github.com/k3s-io/k3s/pull/10910)\n\
        \n##### Embedded Component Versions\n\n| Component | Version |\n|---|---|\n\
        | Kubernetes | [v1.31.1](https://redirect.github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.31.md#v1311)\
        \ |\n| Kine | [v0.12.0](https://redirect.github.com/k3s-io/kine/releases/tag/v0.12.0)\
        \ |\n| SQLite | [3.44.0](https://sqlite.org/releaselog/3\\_44\\_0.html) |\n\
        | Etcd | [v3.5.13-k3s1](https://redirect.github.com/k3s-io/etcd/releases/tag/v3.5.13-k3s1)\
        \ |\n| Containerd | [v1.7.21-k3s2](https://redirect.github.com/k3s-io/containerd/releases/tag/v1.7.21-k3s2)\
        \ |\n| Runc | [v1.1.14](https://redirect.github.com/opencontainers/runc/releases/tag/v1.1.14)\
        \ |\n| Flannel | [v0.25.6](https://redirect.github.com/flannel-io/flannel/releases/tag/v0.25.6)\
        \ |\n| Metrics-server | [v0.7.2](https://red\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/release).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMjcuMyIsInVwZGF0ZWRJblZlciI6IjM5LjI2NC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/release/pull/1884
      child_jobs: []
      commit_id: cc6c6bb540cd0b7766caeff8e658a96aa14b311d
      event_id: 58563cf0-27a1-11f0-9be2-f1d806d7e346
      executor:
        hostname: 7d211f194f6a
        inventory_file: /var/lib/zuul/builds/f743b972e6bc48f3959c32daee77d8f8/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/f743b972e6bc48f3959c32daee77d8f8/work/logs
        result_data_file: /var/lib/zuul/builds/f743b972e6bc48f3959c32daee77d8f8/work/results.json
        src_root: /var/lib/zuul/builds/f743b972e6bc48f3959c32daee77d8f8/work/src
        work_root: /var/lib/zuul/builds/f743b972e6bc48f3959c32daee77d8f8/work
      items:
      - branch: main
        change: '1884'
        change_url: https://github.com/osism/release/pull/1884
        patchset: cc6c6bb540cd0b7766caeff8e658a96aa14b311d
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          name: osism/release
          short_name: release
          src_dir: src/github.com/osism/release
      job: flake8
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IGszcy1pby9rM3MgdG8gdjEuMzIuNCtrM3MxCgpUaGlzIFBSIGNvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdXBkYXRlczoKCnwgUGFja2FnZSB8IFVwZGF0ZSB8IENoYW5nZSB8CnwtLS18LS0tfC0tLXwKfCBbazNzLWlvL2szc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MpIHwgbWlub3IgfCBgdjEuMzAuMTArazNzMWAgLT4gYHYxLjMyLjQrazNzMWAgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5Pmszcy1pby9rM3MgKGszcy1pby9rM3MpPC9zdW1tYXJ5PgoKIyMjIFtgdjEuMzIuNCtrM3MxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcmVsZWFzZXMvdGFnL3YxLjMyLjQlMkJrM3MxKTogdjEuMzIuNCtrM3MxCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzIuMytrM3MxLi4udjEuMzIuNCtrM3MxKQoKPCEtLSB2MS4zMi40K2szczEgLS0+CgpUaGlzIHJlbGVhc2UgdXBkYXRlcyBLdWJlcm5ldGVzIHRvIHYxLjMyLjQsIGFuZCBmaXhlcyBhIG51bWJlciBvZiBpc3N1ZXMuCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHdoYXQncyBuZXcsIHNlZSB0aGUgW0t1YmVybmV0ZXMgcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjY2hhbmdlbG9nLXNpbmNlLXYxMzIzKS4KCiMjIyMjIENoYW5nZXMgc2luY2UgdjEuMzIuMytrM3MxOgoKLSAgIE1pZ3JhdGUgdG8gVXJmYXZlQ0xJIHYyIFsoIyYjODIwMzsxMjAzMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwMzEpCi0gICBJbXByb3ZlIHJlYWRpbmVzcyBwb2xsaW5nIG9uIG5vZGUgc3RhcnR1cCBbKCMmIzgyMDM7MTIwMzgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDM4KQotICAgRml4IGlzc3VlIGNhdXNlZCBieSBkZWZhdWx0IGF1dGhvcml6YXRpb24tbW9kZSBhcGlzZXJ2ZXIgYXJnIFsoIyYjODIwMzsxMjA0MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwNDIpCi0gICBGaXggZmxha2V5IGV0Y2Qgc3RhcnR1cCB0ZXN0cyBbKCMmIzgyMDM7MTIwNTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDUwKQotICAgQ2xlYW51cCBhbm9ueW1vdXMgYW5kIG5hbWVkIHZvbHVtZXMgZm9yIGRvY2tlciB0ZXN0cyBbKCMmIzgyMDM7MTIwNzkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDc5KQotICAgQWRkIHN1cHBvcnQgZm9yIHNlY3JldGJveCBlbmNyeXB0aW9uIHByb3ZpZGVyIHdpdGggdGhlIGBrM3Mgc2VjcmV0cy1lbmNyeXB0YCBjb21tYW5kIFsoIyYjODIwMzsxMjA2NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwNjcpCiAgICAtICAgVXNlcnMgY2FuIG5vdyBjb25maWd1cmUgc2VjcmV0cyBlbmNyeXB0aW9uIHRvIHVzZSBgc2VjcmV0Ym94YCBwcm92aWRlciBieSBzZXR0aW5nIHRoZSBgc2VjcmV0cy1lbmNyeXB0aW9uLXByb3ZpZGVyYCBmbGFnLgotICAgQWRkIGVycm9yIGluIGNlcnRpZmljYXRlIGNoZWNrIFsoIyYjODIwMzsxMjA5OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwOTgpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjUtMDQgWygjJiM4MjAzOzEyMTA0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjEwNCkKLSAgIEJ1bXAga2luZSBmb3IgbmF0cy1zZXJ2ZXIvdjIgQ1ZFLTIwMjUtMzAyMTUgWygjJiM4MjAzOzEyMTQxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjE0MSkKLSAgIERyb25lIFRlc3QgU3BsaXQgYW5kIFJlZHVjdGlvbiBbKCMmIzgyMDM7MTIxNTEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMTUxKQotICAgTW9yZSBiYWNrcG9ydHMgZm9yIDIwMjUtMDQgWygjJiM4MjAzOzEyMTY3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjE2NykKLSAgIEZpeCBoYW5kbGVyIHBhbmljIHdoZW4gYm9vdHN0cmFwcGVyIHJldHVybnMgZW1wdHkgcGVlciBsaXN0IFsoIyYjODIwMzsxMjE3OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxNzgpCi0gICBCdW1wIHRyYWVmaWsgdG8gdjMuMy42IFsoIyYjODIwMzsxMjE4OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxODkpCi0gICBVcGRhdGUgdG8gdjEuMzIuNC1rM3MxIGFuZCBHbyAxLjIzLjYgWygjJiM4MjAzOzEyMjA5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjIwOSkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMi40XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCN2MTMyNCkgfAp8IEtpbmUgfCBbdjAuMTMuMTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuMTQpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjIxLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4yMS1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2Mi4wLjQtazNzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92Mi4wLjQtazNzMikgfAp8IFJ1bmMgfCBbdjEuMi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi41KSB8CnwgRmxhbm5lbCB8IFt2MC4yNi43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmxhbm5lbC1pby9mbGFubmVsL3JlbGVhc2VzL3RhZy92MC4yNi43KSB8CnwgTWV0cmljcy1zZXJ2ZXIgfCBbdjAuNy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL21ldHJpY3Mtc2VydmVyL3JlbGVhc2VzL3RhZy92MC43LjIpIHwKfCBUcmFlZmlrIHwgW3YzLjMuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjMuMy42KSB8CnwgQ29yZUROUyB8IFt2MS4xMi4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4xKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjEwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2hlbG0tY29udHJvbGxlci9yZWxlYXNlcy90YWcvdjAuMTYuMTApIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzEpIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMyLjMrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMi4zJTJCazNzMSk6IHYxLjMyLjMrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMyLjIrazNzMS4uLnYxLjMyLjMrazNzMSkKCjwhLS0gdjEuMzIuMytrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMi4zLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMyLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMyMikuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMyLjIrazNzMToKCi0gICBSZXZlcnQgIkFkZCBhYmlsaXR5IHRvIHBhc3MgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIGZsYW5uZWwgYmFja2VuZCIgWygjJiM4MjAzOzExODY3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTg2NykKLSAgIEJhY2twb3J0IERvY2tlciArIEUyRSB0ZXN0aW5nIFBScyBmb3IgMjAyNSBNYXJjaCBbKCMmIzgyMDM7MTE4ODgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExODg4KQotICAgQmFja3BvcnRzIGZvciAyMDI1LTAzIFsoIyYjODIwMzsxMTkxOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5MTkpCi0gICBCdW1wIGtsaXBwZXItbGIgaW1hZ2UgdG8gdjAuNC4xMyBbKCMmIzgyMDM7MTE5MzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTMwKQotICAgRml4IHN5bmNpbmcgZW1wdHkgbGlzdCBvZiBhcGlzZXJ2ZXIgYWRkcmVzc2VzIGR1cmluZyBpbml0aWFsIHN0YXJ0dXAgWygjJiM4MjAzOzExOTUzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk1MykKLSAgIFVwZGF0ZSB0byB2MS4zMi4zLWszczEgWygjJiM4MjAzOzExOTYwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk2MCkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMyLjMtazNzMiBbKCMmIzgyMDM7MTE5NjgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTY4KQotICAgRml4IHNrZXcgdGVzdCBmb3IgcmVsZWFzZSBjYW5kaWRhdGVzIFsoIyYjODIwMzsxMTk5MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5OTEpCi0gICBCdW1wIHRvIGNvbnRhaW5lcmQgdjIuMC40IFsoIyYjODIwMzsxMjAwMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwMDMpCi0gICBGaXggdXBncmFkZSB0ZXN0IGNvbnRhaW5lciB2ZXJzaW9uIFsoIyYjODIwMzsxMjAwMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwMDApCgojIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzIuM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjdjEzMjMpIHwKfCBLaW5lIHwgW3YwLjEzLjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuOSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTktazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE5LWszczEpIHwKfCBDb250YWluZXJkIHwgW3YyLjAuNC1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YyLjAuNC1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjUpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjMuMy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92My4zLjIpIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjYpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzEpIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMyLjIrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMi4yJTJCazNzMSk6IHYxLjMyLjIrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMyLjErazNzMS4uLnYxLjMyLjIrazNzMSkKCjwhLS0gdjEuMzIuMitrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMi4yLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMyLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMyMSkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMyLjErazNzMToKCi0gICBDb3JyZWN0IHRoZSBrM3MgdG9rZW4gY29tbWFuZCBoZWxwIFsoIyYjODIwMzsxMTY4NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2ODYpCi0gICBKYW4gMjAyNSBUZXN0aW5nIE92ZXJoYXVsLCBFMkUgdG8gRG9ja2VyIE1pZ3JhdGlvbiwgWygjJiM4MjAzOzExNzIzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTcyMykKLSAgIEJhY2twb3J0cyBmb3IgMjAyNS0wMiBbKCMmIzgyMDM7MTE3MzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNzMwKQogICAgLSAgIEFsaWduIHRoZSBDTEktcmVwb3J0ZWQgZGVmYXVsdCBgLS1ldGNkLXNuYXBzaG90LWRpcmAgdmFsdWUgd2l0aCB0aGUgYWN0dWFsIG9uZSAoYHNlcnZlcmAsIGBldGNkLXNuYXBzaG90YCBjb21tYW5kcykuCiAgICAtICAgRGlzYWJsZSBzMyB0cmFuc3BvcnQgdHJhbnNwYXJlbnQgY29tcHJlc3Npb24vZGVjb21wcmVzc2lvbgogICAgLSAgIEV0Y2Qgc25hcHNob3QgYmFja3VwL3Jlc3RvcmUgbm93IHN1cHBvcnRzIGxvYWRpbmcgczMgY3JlZGVudGlhbHMgZnJvbSBhbiBBV1MgU0RLIHNoYXJlZCBjcmVkZW50aWFscyBmaWxlLgogICAgLSAgIEJ1bXAga2xpcHBlci1oZWxtIHRvIHYwLjkuNAogICAgLSAgIEJ1bXAga2xpcHBlci1sYiB0byB2MC40LjEwCiAgICAtICAgQnVtcCBzcGVnZWwgdG8gdjAuMC4zMAogICAgLSAgIEJ1bXAgbG9jYWwtcGF0aC1wcm92aXNpb25lciB0byB2MC4wLjMxCiAgICAtICAgQnVtcCBraW5lIHRvIHYwLjEzLjgKICAgIC0gICBCdW1wIGV0Y2QgdG8gdjMuNS4xOAogICAgLSAgIEJ1bXAgdHJhZWZpayB0byAzLjMuMgogICAgLSAgIENvbnRhaW5lcmQgaGFzIGJlZW4gYnVtcGVkIHRvIHZlcnNpb24gMi4wLgogICAgLSAgIFRoZSBjb250YWluZXJkIGNvbmZpZyB0ZW1wbGF0ZXMgZm9yIGxpbnV4IGFuZCB3aW5kb3dzIGhhdmUgYmVlbiBjb25zb2xpZGF0ZWQgYW5kIGFyZSBubyBsb25nZXIgb3Mtc3BlY2lmaWMuCiAgICAtICAgQ29udGFpbmVyZCAyLjAgdXNlcyBhIG5ldyBjb25maWcgZmlsZSBzY2hlbWEuIElmIHlvdSBhcmUgdXNpbmcgYSBjdXN0b20gY29udGFpbmVyZCBjb25maWcgdGVtcGxhdGUsIHlvdSBzaG91bGQgbWlncmF0ZSB5b3VyIHRlbXBsYXRlIHRvIGBjb25maWctdjMudG9tbC50bXBsYCB0byBzd2l0Y2ggdG8gdGhlIG5ldyB2ZXJzaW9uLiBTZWUgdGhlIFt1cHN0cmVhbSBkb2N1bWVudGF0aW9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29udGFpbmVyZC9jb250YWluZXJkL2Jsb2IvcmVsZWFzZS8yLjAvZG9jcy9jcmkvY29uZmlnLm1kKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KLSAgIFVwZGF0ZSB0byB2MS4zMi4yLWszczEgYW5kIEdvIDEuMjMuNiBbKCMmIzgyMDM7MTE3ODgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNzg4KQotICAgUmVuZGVyIENOSSBkaXIgY29uZmlnIHdoZW5ldmVyIHZhcnMgYXJlIHNldCBbKCMmIzgyMDM7MTE4MTkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExODE5KQotICAgQnVtcCBjb250YWluZXJkIGZvciBnby1jbmkgZGVhZGxvY2sgZml4IFsoIyYjODIwMzsxMTgzMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4MzMpCgojIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzIuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjdjEzMjIpIHwKfCBLaW5lIHwgW3YwLjEzLjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuOSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTgtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE4LWszczEpIHwKfCBDb250YWluZXJkIHwgW3YyLjAuMi1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YyLjAuMi1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjQtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuNC1rM3MxKSB8CnwgRmxhbm5lbCB8IFt2MC4yNS43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmxhbm5lbC1pby9mbGFubmVsL3JlbGVhc2VzL3RhZy92MC4yNS43KSB8CnwgTWV0cmljcy1zZXJ2ZXIgfCBbdjAuNy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL21ldHJpY3Mtc2VydmVyL3JlbGVhc2VzL3RhZy92MC43LjIpIHwKfCBUcmFlZmlrIHwgW3YzLjMuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjMuMy4yKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi42KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMxKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMi4xK2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzIuMSUyQmszczEpOiB2MS4zMi4xK2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMi4wK2szczEuLi52MS4zMi4xK2szczEpCgo8IS0tIHYxLjMyLjErazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzIuMSwgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMjApLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMi4wK2szczE6CgotICAgQmFja3BvcnRzIGZvciAyMDI1LTAxIFsoIyYjODIwMzsxMTU2NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjUpCi0gICBBZGQgYXV0byBpbXBvcnQgaW1hZ2VzIGZvciBjb250YWluZXJkIGltYWdlIHN0b3JlIFsoIyYjODIwMzsxMTU2MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjMpCi0gICAyMDI1IEphbnVhcnkgQmFja3BvcnRzIFsoIyYjODIwMzsxMTU4MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1ODMpCi0gICBGaXggbG9jYWwgcGFzc3dvcmQgdmFsaWRhdGlvbiB3aGVuIGJpbmQtYWRkcmVzcyBpcyBzZXQgWygjJiM4MjAzOzExNjEwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTYxMCkKLSAgIFVwZGF0ZSB0byB2MS4zMi4xLWszczEgYW5kIEdvIDEuMjMuNCBbKCMmIzgyMDM7MTE2MjApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjIwKQotICAgUmVtb3ZlIGxvY2FsIHJlc3RyaWN0aW9uIGZvciBkZWZlcnJlZCBub2RlIHBhc3N3b3JkIHZhbGlkYXRpb24gWygjJiM4MjAzOzExNjQ4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTY0OCkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMi4xXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMi5tZCN2MTMyMSkgfAp8IEtpbmUgfCBbdjAuMTMuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy41KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xNi1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTYtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjEuNy4yMy1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YxLjcuMjMtazNzMikgfAp8IFJ1bmMgfCBbdjEuMi40LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjQtazNzMSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTgpIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgXFtyZWxlYXNlLTEuMzJdIFJlbW92ZSBsb2NhbCByZXN0cmljdGlvbiBmb3IgZGVmZXJyZWQgbm9kZSBwYXNzd29yZCB2YWxpZGF0aW9uIGJ5IFtAJiM4MjAzO2JyYW5kb25kXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYnJhbmRvbmQpIGluIFtodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ4KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMyLjEtcmMxK2szczEuLi52MS4zMi4xK2szczEKCiMjIyBbYHYxLjMyLjArazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMi4wJTJCazNzMSk6IHYxLjMyLjArazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjgrazNzMS4uLnYxLjMyLjArazNzMSkKCjwhLS0gdjEuMzIuMCtrM3MxIC0tPgoKVGhpcyByZWxlYXNlIGlzIEszUydzIGZpcnN0IGluIHRoZSB2MS4zMiBsaW5lLiBUaGlzIHJlbGVhc2UgdXBkYXRlcyBLdWJlcm5ldGVzIHRvIHYxLjMyLjAuCgpLdWJlcm5ldGVzIDEuMzIgbW92ZXMgdGhlIGBBdXRob3JpemVOb2RlV2l0aFNlbGVjdG9yc2AgZmVhdHVyZSBnYXRlIHRvIEJldGEgYW5kIG9uIGJ5IGRlZmF1bHQuIFNlZSBbS0VQLTQ2MDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2VuaGFuY2VtZW50cy9ibG9iL21hc3Rlci9rZXBzL3NpZy1hdXRoLzQ2MDEtYXV0aG9yaXplLXdpdGgtc2VsZWN0b3JzL1JFQURNRS5tZCkgZm9yIG1vcmUgaW5mb3JtYXRpb24uCgpUaGlzIGZlYXR1cmUtZ2F0ZSBicmVha3Mgc29tZSBvZiB0aGUgUkJBQyB0aGF0IHByZXZpb3VzIHJlbGVhc2VzIG9mIEszcyByZWxpZWQgdXBvbi4gVGhlIEphbnVhcnkgcmVsZWFzZXMgb2YgSzNzIHYxLjI5LCB2MS4zMCwgYW5kIHYxLjMxIHdpbGwgY29udGFpbiBiYWNrcG9ydGVkIGZpeGVzLiBVbnRpbCB0aGVuLCB5b3UgbXVzdCBzZXQgYC0ta3ViZS1hcGlzZXJ2ZXItYXJnPWZlYXR1cmUtZ2F0ZXM9QXV0aG9yaXplTm9kZVdpdGhTZWxlY3RvcnM9ZmFsc2VgIG9uIHNlcnZlciBub2RlcywgaWYgeW91IHdhbnQgdG8gbWl4IEszcyB2MS4zMiBub2RlcyB3aXRoIG5vZGVzIG9mIG90aGVyIHZlcnNpb25zICh3aXRoaW4gdGhlIGxpbWl0cyBvZiB3aGF0IGlzIHN1cHBvcnRlZCBieSB0aGUgW0t1YmVybmV0ZXMgVmVyc2lvbiBTa2V3IFBvbGljeV0oaHR0cHM6Ly9rdWJlcm5ldGVzLmlvL3JlbGVhc2VzL3ZlcnNpb24tc2tldy1wb2xpY3kvKSkuCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHdoYXQncyBuZXcsIHNlZSB0aGUgW0t1YmVybmV0ZXMgcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzIubWQjY2hhbmdlbG9nLXNpbmNlLXYxMzEwKS4KCiMjIyMjIENoYW5nZXMgc2luY2UgdjEuMzEuNCtrM3MxOgoKLSAgIEZpeCByb3RhdGVjYSB2YWxpZGF0aW9uIGZhaWx1cmVzIHdoZW4gbm90IHRvdWNoaW5nIGRlZmF1bHQgc2VsZi1zaWduZWQgQ0FzIFsoIyYjODIwMzsxMDcxMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MTApCi0gICBCdW1wIHJ1bmMgdG8gdjEuMS4xMyBbKCMmIzgyMDM7MTA3MzcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzM3KQotICAgVXBkYXRlIHN0YWJsZSBjaGFubmVsIHRvIHYxLjMwLjQrazNzMSBbKCMmIzgyMDM7MTA3MzkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzM5KQotICAgRml4IGRlcGxveSBsYXRlc3QgY29tbWl0IG9uIEUyRSB0ZXN0cyBbKCMmIzgyMDM7MTA3MjUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzI1KQotICAgUmVtb3ZlIHNlY3JldHMgZW5jcnlwdGlvbiBjb250cm9sbGVyIFsoIyYjODIwMzsxMDYxMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA2MTIpCi0gICBVcGRhdGUga3ViZXJuZXRlcyB0byB2MS4zMS4wLWszczMgWygjJiM4MjAzOzEwNzY0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc2NCkKLSAgIEJ1bXAgdHJhZWZpayB0byB2Mi4xMS44IFsoIyYjODIwMzsxMDc3OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3NzkpCi0gICBVcGRhdGUgY29yZWRucyB0byAxLjExLjMgYW5kIG1ldHJpY3Mtc2VydmVyIHRvIDAuNy4yIFsoIyYjODIwMzsxMDc2MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3NjApCi0gICBBZGQgdHJpdnkgc2Nhbm5pbmcgdG8gUFIgcmVwb3J0cyBbKCMmIzgyMDM7MTA3NTgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNzU4KQotICAgQ292ZXIgZWRnZSBjYXNlIHdoZW4gb24gbmV3IG1pbm9yIHJlbGVhc2UgZm9yIEUyRSB1cGdyYWRlIHRlc3QgWygjJiM4MjAzOzEwNzgxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc4MSkKLSAgIEJ1bXAgYXF1YXNlY3VyaXR5L3RyaXZ5LWFjdGlvbiBmcm9tIDAuMjAuMCB0byAwLjI0LjAgWygjJiM4MjAzOzEwNzk1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc5NSkKLSAgIFVwZGF0ZSBDTkkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMDc5OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3OTgpCi0gICBCdW1wIFNvbm9idW95IHZlcnNpb24gWygjJiM4MjAzOzEwNzkyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDc5MikKLSAgIEZpeCAvdHJpdnkgYWN0aW9uIHJ1bm5pbmcgYWdhaW5zdCB0YXJnZXQgYnJhbmNoIGluc3RlYWQgb2YgUFIgYnJhbmNoIFsoIyYjODIwMzsxMDgyNCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MjQpCi0gICBMYXVuY2ggcHJpdmF0ZSByZWdpc3RyeSB3aXRoIGluaXQgWygjJiM4MjAzOzEwODIyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDgyMikKLSAgIEFkZCBjaGFubmVsIGZvciB2MS4zMSBbKCMmIzgyMDM7MTA4MjYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODI2KQotICAgQnVtcCBjb250YWluZXJkIHRvIHYxLjcuMjEsIHJ1bmMgdG8gdjEuMS4xNCBbKCMmIzgyMDM7MTA4MDUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODA1KQotICAgQnVtcCBoZWxtLWNvbnRyb2xsZXIgZm9yIHNraXAtdmVyaWZ5L3BsYWluLWh0dHAgYW5kIHVwZGF0ZWQgdG9sZXJhdGlvbnMgWygjJiM4MjAzOzEwODMyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDgzMikKLSAgIFRhZyBQUiBpbWFnZSBidWlsZCBhcyBsYXRlc3QgYmVmb3JlIHNjYW5uaW5nIFsoIyYjODIwMzsxMDgyNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MjUpCi0gICBPbmx5IGNsZWFuIHVwIGNvbnRhaW5lcmQgaG9zdHMgZGlycyBtYW5hZ2VkIGJ5IGszcyBbKCMmIzgyMDM7MTA4MjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODIzKQotICAgUmVtb3ZlIG90ZWxncnBjIHBpbm5lZCBkZXBlbmRlbmN5IFsoIyYjODIwMzsxMDc5OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3OTkpCi0gICBBZGQgbm9kZS1pbnRlcm5hbC1kbnMvbm9kZS1leHRlcm5hbC1kbnMgYWRkcmVzcyBwYXNzLXRocm91Z2ggc3VwcG9ydCBbKCMmIzgyMDM7MTA4NTIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODUyKQotICAgR2l2ZSBnb29kIHJlcG9ydCBpZiBubyBDVkVzIGZvdW5kIGluIHRyaXZ5IFsoIyYjODIwMzsxMDg1MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4NTMpCi0gICBGaXggaG9zdHMudG9tbCBoZWFkZXIgdmFyIFsoIyYjODIwMzsxMDg3MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4NzApCi0gICBCdW1wIFRyaXZ5IHZlcnNpb24gWygjJiM4MjAzOzEwODYzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg2MykKLSAgIEFkZCBpbnQgdGVzdCBmb3IgZmxhbm5lbC1pcHY2bWFzcSBbKCMmIzgyMDM7MTA0NDApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNDQwKQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMDg5OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4OTkpCi0gICBVcGRhdGUgS3ViZXJuZXRlcyB0byB2MS4zMS4xLWszczMgWygjJiM4MjAzOzEwOTExKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkxMSkKLSAgIEFkZCBNYXJpYURCIHRvIENJIFsoIyYjODIwMzsxMDcyNCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA3MjQpCi0gICBVcGRhdGUgc3RhYmxlIGNoYW5uZWwgdG92MS4zMC41K2szczEgWygjJiM4MjAzOzEwOTIxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkyMSkKLSAgIFVzZSBzdGF0aWMgQ05JIGJpbiBkaXIgWygjJiM4MjAzOzEwODY4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg2OCkKICAgIC0gICBLM3Mgbm93IHVzZXMgYSBzdGFibGUgZGlyZWN0b3J5IGZvciBDTkkgYmluYXJpZXMsIHdoaWNoIHNpbXBsaWZpZXMgdGhlIGluc3RhbGxhdGlvbiBvZiBhZGRpdGlvbmFsIENOSSBwbHVnaW5zLgotICAgQnJlYWt1cCB0cml2eSBzY2FuIGFuZCBjaGVjayBjb21tZW50IGF1dGhvciBbKCMmIzgyMDM7MTA5MzUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTM1KQotICAgRml4IGdldE1lbWJlcnNoaXBGb3JVc2VySW5PcmcgY2FsbCBbKCMmIzgyMDM7MTA5MzcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTM3KQotICAgQ2hlY2sgazNzLWlvIG9yZ2FuaXphdGlvbiBtZW1iZXJzaGlwIG5vdCB0ZWFtIG1lbWJlcnNoaXAgZm9yIHRyaXZ5IHNjYW5zIFsoIyYjODIwMzsxMDk0MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NDApCi0gICBCdW1wIGtpbmUgdG8gdjAuMTMuMCBbKCMmIzgyMDM7MTA5MzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTMyKQogICAgLSAgIEtpbmUgaGFzIGJlZW4gYnVtcGVkIHRvIHYwLjEzLjAuIFRoaXMgcmVsZWFzZSBpbmNsdWRlcyBjaGFuZ2VzIHRoYXQgc2hvdWxkIGVuaGFuY2UgcGVyZm9ybWFuY2Ugd2hlbiB1c2luZyBwb3N0Z3JlcyBhcyBhbiBleHRlcm5hbCBEQi4gVGhlIHVwZGF0ZWQgc2NoZW1hIHdpbGwgYmUgYXV0b21hdGljYWxseSB1c2VkIGZvciBuZXcgZGF0YWJhc2VzOyB0byBtaWdyYXRlIHRvIHRoZSBuZXcgc2NoZW1hIG9uIGV4aXN0aW5nIGRhdGFiYXNlcywgSzNzIGNhbiBiZSBzdGFydGVkIHdpdGggdGhlIGBLSU5FX1NDSEVNQV9NSUdSQVRJT049MmAgZW52aXJvbm1lbnQgdmFyaWFibGUgc2V0LgotICAgRml4IHRyaXZ5IHJlcG9ydCBkb3dubG9hZCBbKCMmIzgyMDM7MTA5NDMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTQzKQotICAgVHJpdnkgd29ya2Zsb3c6IFNwZWNpZnkgR0hfUkVQTyBlbnYgdG8gdXNlIGdoIGNsaSBbKCMmIzgyMDM7MTA5NDkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTQ5KQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMDkyNCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5MjQpCi0gICBCdW1wIHRyYWVmaWsgdG8gY2hhcnQgMjcuMC4yIFsoIyYjODIwMzsxMDkzOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5MzkpCi0gICBQYXNzIFJhbmNoZXIncyBWRVggcmVwb3J0IHRvIFRyaXZ5IHRvIHJlbW92ZSBrbm93biBmYWxzZS1wb3NpdGl2ZXMgQ1ZFcyBbKCMmIzgyMDM7MTA5NTYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTU2KQotICAgRml4IHRyaXZ5IHZleCBsaW5lIFsoIyYjODIwMzsxMDk3MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA5NzApCi0gICBBZGQgdXNlciBwYXRoIHRvIHJ1bnRpbWVzIHNlYXJjaCBbKCMmIzgyMDM7MTA5NTMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTUzKQogICAgLSAgIFJ1bnRpbWVzIGRldGVjdGlvbiB3aWxsIG5vdyB1c2UgJFBBVEgKLSAgIEJ1bXAgdG8gbmV3IHdoYXJmaWUgdmVyc2lvbiBbKCMmIzgyMDM7MTA5NzEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTcxKQotICAgVXBkYXRlIFJFQURNRS5tZCBbKCMmIzgyMDM7MTA1MjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwNTIzKQotICAgUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgWygjJiM4MjAzOzkzNjIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzkzNjIpCi0gICBCdW1wIGtpbmUgdG8gdjAuMTMuMiBbKCMmIzgyMDM7MTA5NzgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTc4KQotICAgQWxsb3cgY29uZmlndXJhdGlvbiBvZiBSb290bGVzc2tpdCdzIENvcHlVcERpcnMgdGhyb3VnaCBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSBbKCMmIzgyMDM7MTAzODYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwMzg2KQogICAgLSAgIEFkZCBuZXcgZW52aXJvbm1lbnQgdmFyaWFibGUgIkszU19ST09UTEVTU19DT1BZVVBESVJTIiB0byBhZGQgZm9sZGVycyB0byB0aGUgUm9vdGxlc3NraXQgY29uZmlndXJhdGlvbi4KLSAgIEZpeCByYWNlIGNvbmRpdGlvbiB3aGVuIG11bHRpcGxlIG5vZGVzIHJlY29uY2lsZSBTMyBzbmFwc2hvdHMgWygjJiM4MjAzOzEwOTc5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk3OSkKLSAgIEJ1bXAgVHJpdnkgdmVyc2lvbiBbKCMmIzgyMDM7MTA5OTYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTk2KQotICAgQWRkIGNhLWNlcnQgcm90YXRpb24gaW50ZWdyYXRpb24gdGVzdCwgYW5kIGZpeCBjYS1jZXJ0IHJvdGF0aW9uIFsoIyYjODIwMzsxMTAxMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwMTMpCi0gICBBZGQgZTJlIHRlc3Qgd2hpY2ggdmVyaWZpZXMgdHJhZmZpYyBwb2xpY2llcyBhbmQgZmlyZXdhbGwgaW4gc2VydmljZXMgWygjJiM4MjAzOzEwOTcyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk3MikKLSAgIFVwZGF0ZSB0Y3Bwcm94eSBmb3IgaW1wb3J0IHBhdGggY2hhbmdlIFsoIyYjODIwMzsxMTAyOSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwMjkpCi0gICBCdW1wIExvY2FsIFBhdGggUHJvdmlzaW9uZXIgdmVyc2lvbiBbKCMmIzgyMDM7MTA4NjIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwODYyKQotICAgQnVtcCBsb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHRvIHYwLjAuMzAgWygjJiM4MjAzOzExMDQ5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA0OSkKLSAgIEJ1bXAgaGVsbS1jb250cm9sbGVyIGFuZCBrbGlwcGVyLWhlbG0gWygjJiM4MjAzOzExMDYwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA2MCkKLSAgIEJ1bXAgY29udGFpbmVyZCB0byB2MS43LjIyIFsoIyYjODIwMzsxMTA2NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNjcpCi0gICBTaW1wbGlmeSBzdmNsYiBkYWVtb25zZXQgWygjJiM4MjAzOzEwOTU0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk1NCkKICAgIC0gICBTdG9wIHVzaW5nIGtsaXBwZXItbGIgYXMgdGhlIGltYWdlIGZvciBzdmNsYi4gUmVwbGFjZSBpdCB3aXRoIGEgc2ltcGxlIGJ1c3lib3ggd2hpY2gganVzdCBzbGVlcHMKLSAgIEFkZCB0aGUgbnZpZGlhIHJ1bnRpbWUgY2RpIFsoIyYjODIwMzsxMTA2NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNjUpCiAgICAtICAgQWRkIG52aWRpYSBjZGkgcnVudGltZSB0byB0aGUgbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGRpc2NvdmVyYWJsZSBydW50aW1lcwotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMTEwMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTExMDMpCi0gICBSb2xsYmFjayBHSEEgdG8gVWJ1bnR1IDIyLjA0IFsoIyYjODIwMzsxMTExMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTExMTEpCi0gICBSZXZlcnQgIk1ha2Ugc3ZjbGIgYXMgc2ltcGxlIGFzIHBvc3NpYmxlIiBbKCMmIzgyMDM7MTExMDkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTA5KQotICAgRml4IEdpdGh1YiBBY3Rpb25zIGZvciBVYnVudHUtMjQuMDQgWygjJiM4MjAzOzExMTEyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTExMikKLSAgIEJ1bXAgYXF1YXNlY3VyaXR5L3RyaXZ5LWFjdGlvbiBmcm9tIDAuMjQuMCB0byAwLjI3LjAgWygjJiM4MjAzOzExMTA1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTEwNSkKLSAgIENoZWNrIHRoZSBsYXN0IDEwIGNvbW1pdHMgZm9yIHVwZ3JhZGUgRTJFIHRlc3QgWygjJiM4MjAzOzExMDg2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA4NikKLSAgIEJ1bXAgYXF1YXNlY3VyaXR5L3RyaXZ5LWFjdGlvbiBmcm9tIDAuMjcuMCB0byAwLjI4LjAgWygjJiM4MjAzOzExMTM4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTEzOCkKLSAgIEZpeGVzICJmaWxlIGV4aXN0cyIgZXJyb3IgZnJvbSBDTkkgYmlucyB3aGVuIHVwZ3JhZGluZyBrM3MgWygjJiM4MjAzOzExMTIzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTEyMykKLSAgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIEdIIGFwaSByZXF1ZXN0IGZvciBFMkUgbmlnaHRseSBbKCMmIzgyMDM7MTExNDgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTQ4KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMi1rM3MxIGFuZCBHbyAxLjIyLjggWygjJiM4MjAzOzExMTYzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTE2MykKLSAgIFVwZGF0ZSBzdGFibGUgY2hhbm5lbCB0byB2MS4zMC42K2szczEgWygjJiM4MjAzOzExMTg2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTE4NikKLSAgIEZpeCB0aW1lb3V0IHdoZW4gZGVmcmFnbWVudGluZyBldGNkIG9uIHN0YXJ0dXAgWygjJiM4MjAzOzExMTY0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTE2NCkKLSAgIENhcHR1cmUgYWxsIGZlZG9yYSBhdG9taWMgdmFyaWFudHMgaW4gaW5zdGFsbCBzY3JpcHQgWygjJiM4MjAzOzExMTcwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTE3MCkKICAgIC0gICBBbGxvdyBlYXNpZXIgaW5zdGFsbGF0aW9uIG9mIGszcyBvbiBhbGwgdmFyaWFudHMgb2YgZmVkb3JhIGF0b21pYyB0aGF0IHVzZSBycG0tb3N0cmVlCi0gICBUeXBvIGZpeGVzIGluIGNvbnRyaWJ1dGluZy5tZCBbKCMmIzgyMDM7MTEyMDEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjAxKQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMTIwNildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMDYpCi0gICBQaW4gdmFncmFudCB0byBvbGRlciB2ZXJzaW9uIHRvIGF2b2lkIGtub3duIGlzc3VlIDEzNTI3IFsoIyYjODIwMzsxMTIyNildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMjYpCi0gICBTZXQga2luZSBFbXVsYXRlZEVUQ0RWZXJzaW9uIGZyb20gZW1iZWRkZWQgZXRjZCB2ZXJzaW9uIFsoIyYjODIwMzsxMTIyMSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMjEpCi0gICBBZGQgbm9ucm9vdC1kZXZpY2VzIGZsYWcgdG8gYWdlbnQgQ0xJIFsoIyYjODIwMzsxMTIwMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMDApCiAgICAtICAgYERldmljZV9vd25lcnNoaXBfZnJvbV9zZWN1cml0eV9jb250ZXh0YCBjYW4gbm93IGJlIGVuYWJsZWQgaW4gdGhlIGNvbnRhaW5lcmQgQ1JJIGNvbmZpZyBieSBzZXR0aW5nIHRoZSBgLS1ub25yb290LWRldmljZXNgIGZsYWcgb3IgY29uZmlnIGtleS4KLSAgIEJ1bXAgcnVuYyB0byB2MS4yIFsoIyYjODIwMzsxMDg5NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4OTYpCi0gICBVcGRhdGUgZmxhbm5lbCBhbmQgYmFzZSBjbmkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMTE4OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTExODgpCi0gICBCdW1wIGdpdGh1Yi5jb20vZ29sYW5nLWp3dC9qd3QvdjQgZnJvbSA0LjUuMCB0byA0LjUuMSBbKCMmIzgyMDM7MTEyMzYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjM2KQotICAgRml4IE11c3RGaW5kU3RyaW5nIHJldHVybmluZyBvdmVycmlkZSBmbGFncyBvbiBleHRlcm5hbCBDTEkgY29tbWFuZHMgWygjJiM4MjAzOzExMjM3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTIzNykKLSAgIEJ1bXAgY29udGFpbmVyZCB0byB2MS43LjIzLWszczEgdG8gZml4IHJlZ2lzdHJ5IHJld3JpdGUgdG9rZW4gc2NvcGVzIFsoIyYjODIwMzsxMTIzOCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyMzgpCi0gICBGaXggdGhlICJTdGFuZGFsb25lIi1tb2RlIG9mIG9pZGMtbG9naW4gaW4gdGhlIHdyYXBwZWQga3ViZWN0bCBsaWJyYXJ5IFsoIyYjODIwMzsxMTI2NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNjYpCiAgICAtICAgRml4ZXMgJ25vIEF1dGggUHJvdmlkZXIgZm91bmQgZm9yIG5hbWUgIm9pZGMiJyB3aGVuIHVzaW5nIG9pZGMtbG9naW4gaW4gc3RhbmRhbG9uZSBtb2RlLgotICAgQnVtcCBLM3Mtcm9vdCB2ZXJzaW9uIHRvIHYwLjE0LjEgWygjJiM4MjAzOzExMjgyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTI4MikKLSAgIEJ1bXAga2luZSBbKCMmIzgyMDM7MTEyNzcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjc3KQotICAgQnVtcCBraW5lIGZvciBteXNxbCBjb25uZWN0aW9uIGNsb3NlIGZpeCBbKCMmIzgyMDM7MTEzMDUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzA1KQotICAgRml4IGhhbmRsaW5nIG9mIHdyYXBwZWQgc3ViY29tbWFuZHMgd2hlbiBydW4gd2l0aCBhIHBhdGggWygjJiM4MjAzOzExMzA2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTMwNikKLSAgIEZpeCB1cGRhdGVjbGkgY29uZmlnIGZvciBrbGlwcGVyIGFuZCBoZWxtLWNvbnRyb2xsZXIgWygjJiM4MjAzOzExMjkwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTI5MCkKLSAgIEZpeCBpc3N1ZSB3aXRoIGxvYWRiYWxhbmNlciBmYWlsb3ZlciB0byBkZWZhdWx0IHNlcnZlciBbKCMmIzgyMDM7MTEzMTkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzE5KQotICAgVXBkYXRlIGBsb2NhbHN0b3JhZ2VfaW50X3Rlc3QuZ29gIHJlZmVyZW5jZSBbKCMmIzgyMDM7MTEzMzkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzM5KQogICAgLSAgIFVwZGF0ZSBgbG9jYWxzdG9yYWdlX2ludF90ZXN0LmdvYCByZWZlcmVuY2UgaW4gYHRlc3RzL2ludGVncmF0aW9uL1JFQURNRS5tZGAKLSAgIEFkZCAgdG8gdGhlIG91dHB1dCBjb21tYW5kIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcHJvZHVjdCBjb21tYW5kIFsoIyYjODIwMzsxMTM0NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNDUpCi0gICBBbGxvdyBpbnN0YWxsIHNjcmlwdCB0byBwcmludCBlcnJvciBvbiBmYWlsZWQgYmluYXJ5IGRvd25sb2FkIFsoIyYjODIwMzsxMTMzNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzMzUpCi0gICBSZW1vdmUgdGhlIGdvIHRvb2xjaGFpbiBsaW5lIFsoIyYjODIwMzsxMTM1OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNTgpCi0gICBBZGQgdWJ1bnR1IDI0LjA0IGFwdCBjb21tYW5kIGZvciBlMmUgdGVzdCBbKCMmIzgyMDM7MTEzNjEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzYxKQotICAgQnVtcCBUcml2eSB2ZXJzaW9uIFsoIyYjODIwMzsxMTM2MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNjApCi0gICBCdW1wIGFxdWFzZWN1cml0eS90cml2eS1hY3Rpb24gZnJvbSAwLjI4LjAgdG8gMC4yOS4wIFsoIyYjODIwMzsxMTM2NCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNjQpCi0gICBDb252ZXJ0IGxlZ2FjeSBkb2NrZXIgdGVzdHMgZnJvbSBiYXNoIHRvIGdvbGFuZyBbKCMmIzgyMDM7MTEzNTcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzU3KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMy1rM3MxIFsoIyYjODIwMzsxMTM3MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNzMpCi0gICBGaXggQnJhbmNoIE5hbWUgbG9naWMgZm9yIERlcGVuZGFib3QgYW5kIFVwZGF0ZUNMSSBwdXNoZXMgdG8gazNzLWlvIFsoIyYjODIwMzsxMTM3NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNzYpCi0gICBGaXggSU5TVEFMTF9LM1NfUFIgc3VwcG9ydCBbKCMmIzgyMDM7MTEzODMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzgzKQotICAgRml4IGV0Y2QgYmFja3VwL3Jlc3RvcmUgdGVzdCBhbmQgYWRkIGd1YXJkcmFpbCBmb3IgZXRjZC1zbmFwc2hvdCBbKCMmIzgyMDM7MTEzMTQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzE0KQotICAgQnVtcCBjb250YWluZXJkIHRvIC1rM3MyIHRvIGZpeCByZXdyaXRlcyBbKCMmIzgyMDM7MTE0MDEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDAxKQotICAgRml4IG9wZW5zdXNlLWxlYXAgaW5zdGFsbCB0ZXN0IFsoIyYjODIwMzsxMTM3OSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNzkpCi0gICBGaXggc2VjcmV0cy1lbmNyeXB0IHJlZW5jcnlwdCB0aW1lb3V0IGVycm9yIFsoIyYjODIwMzsxMTM4NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzODUpCi0gICBSZXdvcmsgbG9hZGJhbGFuY2VyIHNlcnZlciBzZWxlY3Rpb24gbG9naWMgWygjJiM4MjAzOzExMzI5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTMyOSkKLSAgIFJlbW92ZSBleHBlcmltZW50YWwgZnJvbSBlbWJlZGRlZC1yZWdpc3RyeSBmbGFnIFsoIyYjODIwMzsxMTQ0MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NDMpCi0gICBVcGRhdGUgc3RhYmxlIGNoYW5uZWwgdG8gdjEuMzEuMytrM3MxIFsoIyYjODIwMzsxMTQzNildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MzYpCi0gICBGaXggYWdlbnQgdHVubmVsIGFkZHJlc3Mgd2l0aCBkZWRpY2F0ZWQgc3VwZXJ2aXNvciBwb3J0IFsoIyYjODIwMzsxMTQyNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MjcpCi0gICBVcGRhdGUgY29yZWRucyB0byAxLjEyLjAgWygjJiM4MjAzOzExMzg3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTM4NykKLSAgIEJ1bXAgVHJpdnkgdmVyc2lvbiBbKCMmIzgyMDM7MTE0MzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDMwKQotICAgVXBkYXRlIHRvIHYxLjMxLjQtazNzMSBhbmQgR28gMS4yMi45IFsoIyYjODIwMzsxMTQ2MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NjMpCi0gICBCdW1wIGFscGluZSBmcm9tIDMuMjAgdG8gMy4yMSBpbiAvY29uZm9ybWFuY2UgWygjJiM4MjAzOzExNDMzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQzMykKLSAgIEZpeCBkb2NrZXIgY2hlY2sgd2FybmluZ3MgWygjJiM4MjAzOzExNDc0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ3NCkKLSAgIFVwZGF0ZSBzdGFibGUgY2hhbm5lbCB0byB2MS4zMS40K2szczEgWygjJiM4MjAzOzExNDgzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ4MykKLSAgIFYxLjMyLjArazNzMSBbKCMmIzgyMDM7MTE0NzgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDc4KQotICAgU3dpdGNoIHRvIHVzaW5nIGt1YmVsZXQgY29uZmlnIGZpbGUgZm9yIGFsbCBzdXBwb3J0ZWQgZmxhZ3MgWygjJiM4MjAzOzEwNDMzKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDQzMykKLSAgIExvYWQga2VybmVsIG1vZHVsZXMgZm9yIG5mdCBpbiBhZ2VudCBzZXR1cCBbKCMmIzgyMDM7MTE1MjcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNTI3KQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMyLm1kI3YxMzIwKSB8CnwgS2luZSB8IFt2MC4xMy41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjUpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjE2LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xNi1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIzLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMy1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjEtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuMS1rM3MxKSB8CnwgRmxhbm5lbCB8IFt2MC4yNS43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmxhbm5lbC1pby9mbGFubmVsL3JlbGVhc2VzL3RhZy92MC4yNS43KSB8CnwgTWV0cmljcy1zZXJ2ZXIgfCBbdjAuNy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL21ldHJpY3Mtc2VydmVyL3JlbGVhc2VzL3RhZy92MC43LjIpIHwKfCBUcmFlZmlrIHwgW3YyLjExLjEwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92Mi4xMS4xMCkgfAp8IENvcmVETlMgfCBbdjEuMTIuMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NvcmVkbnMvY29yZWRucy9yZWxlYXNlcy90YWcvdjEuMTIuMCkgfAp8IEhlbG0tY29udHJvbGxlciB8IFt2MC4xNi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2hlbG0tY29udHJvbGxlci9yZWxlYXNlcy90YWcvdjAuMTYuNSkgfAp8IExvY2FsLXBhdGgtcHJvdmlzaW9uZXIgfCBbdjAuMC4zMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvbG9jYWwtcGF0aC1wcm92aXNpb25lci9yZWxlYXNlcy90YWcvdjAuMC4zMCkgfAoKIyMjIyMgSGVscGZ1bCBMaW5rcwoKQXMgYWx3YXlzLCB3ZSB3ZWxjb21lIGFuZCBhcHByZWNpYXRlIGZlZWRiYWNrIGZyb20gb3VyIGNvbW11bml0eSBvZiB1c2Vycy4gUGxlYXNlIGZlZWwgZnJlZSB0bzoKCi0gICBbT3BlbiBpc3N1ZXMgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2lzc3Vlcy9uZXcvY2hvb3NlKQotICAgW0pvaW4gb3VyIFNsYWNrIGNoYW5uZWxdKGh0dHBzOi8vc2xhY2sucmFuY2hlci5pby8pCi0gICBbQ2hlY2sgb3V0IG91ciBkb2N1bWVudGF0aW9uXShodHRwczovL3JhbmNoZXIuY29tL2RvY3MvazNzL2xhdGVzdC9lbi8pIGZvciBndWlkYW5jZSBvbiBob3cgdG8gZ2V0IHN0YXJ0ZWQgb3IgdG8gZGl2ZSBkZWVwIGludG8gSzNzLgotICAgW1JlYWQgaG93IHlvdSBjYW4gY29udHJpYnV0ZSBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvYmxvYi9tYXN0ZXIvQ09OVFJJQlVUSU5HLm1kKQoKIyMjIFtgdjEuMzEuOCtrM3MxYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcmVsZWFzZXMvdGFnL3YxLjMxLjglMkJrM3MxKTogdjEuMzEuOCtrM3MxCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL2NvbXBhcmUvdjEuMzEuNytrM3MxLi4udjEuMzEuOCtrM3MxKQoKPCEtLSB2MS4zMS44K2szczEgLS0+CgpUaGlzIHJlbGVhc2UgdXBkYXRlcyBLdWJlcm5ldGVzIHRvIHYxLjMxLjgsIGFuZCBmaXhlcyBhIG51bWJlciBvZiBpc3N1ZXMuCgpGb3IgbW9yZSBkZXRhaWxzIG9uIHdoYXQncyBuZXcsIHNlZSB0aGUgW0t1YmVybmV0ZXMgcmVsZWFzZSBub3Rlc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzEubWQjY2hhbmdlbG9nLXNpbmNlLXYxMzE3KS4KCiMjIyMjIENoYW5nZXMgc2luY2UgdjEuMzEuNytrM3MxOgoKLSAgIE1pZ3JhdGUgdG8gVXJmYXZlQ0xJIHYyIFsoIyYjODIwMzsxMjAzMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwMzApCi0gICBJbXByb3ZlIHJlYWRpbmVzcyBwb2xsaW5nIG9uIG5vZGUgc3RhcnR1cCBbKCMmIzgyMDM7MTIwMzcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDM3KQotICAgRml4IGlzc3VlIGNhdXNlZCBieSBkZWZhdWx0IGF1dGhvcml6YXRpb24tbW9kZSBhcGlzZXJ2ZXIgYXJnIFsoIyYjODIwMzsxMjA0NCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIwNDQpCi0gICBDbGVhbnVwIGFub255bW91cyBhbmQgbmFtZWQgdm9sdW1lcyBmb3IgZG9ja2VyIHRlc3RzIChbIyYjODIwMzsxMjA2OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvaXNzdWVzLzEyMDY5KSkgWygjJiM4MjAzOzEyMDc2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjA3NikKLSAgIEFkZCBzdXBwb3J0IGZvciBzZWNyZXRib3ggZW5jcnlwdGlvbiBwcm92aWRlciB3aXRoIHRoZSBgazNzIHNlY3JldHMtZW5jcnlwdGAgY29tbWFuZCBbKCMmIzgyMDM7MTIwNjYpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDY2KQogICAgLSAgIFVzZXJzIGNhbiBub3cgY29uZmlndXJlIHNlY3JldHMgZW5jcnlwdGlvbiB0byB1c2UgYHNlY3JldGJveGAgcHJvdmlkZXIgYnkgc2V0dGluZyB0aGUgYHNlY3JldHMtZW5jcnlwdGlvbi1wcm92aWRlcmAgZmxhZy4KLSAgIEFkZCBlcnJvciBpbiBjZXJ0aWZpY2F0ZSBjaGVjayBbKCMmIzgyMDM7MTIwOTcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDk3KQotICAgQmFja3BvcnRzIGZvciAyMDI1LTA0IFsoIyYjODIwMzsxMjEwNSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxMDUpCi0gICBCdW1wIGtpbmUgZm9yIG5hdHMtc2VydmVyL3YyIENWRS0yMDI1LTMwMjE1IFsoIyYjODIwMzsxMjE0MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxNDIpCi0gICBEcm9uZSBUZXN0IFNwbGl0IGFuZCBSZWR1Y3Rpb24gWygjJiM4MjAzOzEyMTUwKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjE1MCkKLSAgIE1vcmUgYmFja3BvcnRzIGZvciAyMDI1LTA0IFsoIyYjODIwMzsxMjE2OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxNjgpCi0gICBGaXggaGFuZGxlciBwYW5pYyB3aGVuIGJvb3RzdHJhcHBlciByZXR1cm5zIGVtcHR5IHBlZXIgbGlzdCBbKCMmIzgyMDM7MTIxNzkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMTc5KQotICAgQnVtcCB0cmFlZmlrIHRvIHYyLjExLjI0IFsoIyYjODIwMzsxMjE5MCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTIxOTApCi0gICBVcGRhdGUgdG8gdjEuMzEuOC1rM3MxIGFuZCBHbyAxLjIzLjYgWygjJiM4MjAzOzEyMjA3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMjIwNykKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS44XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxOCkgfAp8IEtpbmUgfCBbdjAuMTMuMTRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuMTQpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjIxLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4yMS1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2Mi4wLjQtazNzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92Mi4wLjQtazNzMikgfAp8IFJ1bmMgfCBbdjEuMi41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi41KSB8CnwgRmxhbm5lbCB8IFt2MC4yNi43XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmxhbm5lbC1pby9mbGFubmVsL3JlbGVhc2VzL3RhZy92MC4yNi43KSB8CnwgTWV0cmljcy1zZXJ2ZXIgfCBbdjAuNy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy1zaWdzL21ldHJpY3Mtc2VydmVyL3JlbGVhc2VzL3RhZy92MC43LjIpIHwKfCBUcmFlZmlrIHwgW3YyLjExLjI0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdHJhZWZpay90cmFlZmlrL3JlbGVhc2VzL3RhZy92Mi4xMS4yNCkgfAp8IENvcmVETlMgfCBbdjEuMTIuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NvcmVkbnMvY29yZWRucy9yZWxlYXNlcy90YWcvdjEuMTIuMSkgfAp8IEhlbG0tY29udHJvbGxlciB8IFt2MC4xNi4xMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjEwKSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMxKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS43K2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuNyUyQmszczEpOiB2MS4zMS43K2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS42K2szczEuLi52MS4zMS43K2szczEpCgo8IS0tIHYxLjMxLjcrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuNywgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTYpLgoKIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjYrazNzMToKCi0gICBSZXZlcnQgIkFkZCBhYmlsaXR5IHRvIHBhc3MgY29uZmlndXJhdGlvbiBvcHRpb25zIHRvIGZsYW5uZWwgYmFja2VuZCIgWygjJiM4MjAzOzExODY4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTg2OCkKLSAgIEJhY2twb3J0IERvY2tlciArIEUyRSB0ZXN0aW5nIFBScyBmb3IgMjAyNSBNYXJjaCBbKCMmIzgyMDM7MTE4ODcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExODg3KQotICAgQmFja3BvcnRzIGZvciAyMDI1LTAzIFsoIyYjODIwMzsxMTkyMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE5MjApCi0gICBCdW1wIGtsaXBwZXItbGIgdG8gdjAuNC4xMyBbKCMmIzgyMDM7MTE5MjcpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTI3KQotICAgRml4IHN5bmNpbmcgZW1wdHkgbGlzdCBvZiBhcGlzZXJ2ZXIgYWRkcmVzc2VzIGR1cmluZyBpbml0aWFsIHN0YXJ0dXAgWygjJiM4MjAzOzExOTU0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk1NCkKLSAgIFVwZGF0ZSB0byB2MS4zMS43LWszczEgWygjJiM4MjAzOzExOTU4KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTk1OCkKLSAgIEZpeCBza2V3IHRlc3QgZm9yIHJlbGVhc2UgY2FuZGlkYXRlcyBbKCMmIzgyMDM7MTE5OTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTkwKQotICAgQnVtcCB0byBjb250YWluZXJkIHYyLjAuNCBbKCMmIzgyMDM7MTIwMDQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEyMDA0KQotICAgRml4IHVwZ3JhZGUgdGVzdCBjb250YWluZXIgdmVyc2lvbiBbKCMmIzgyMDM7MTE5OTkpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExOTk5KQoKIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzEuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzEubWQjdjEzMTcpIHwKfCBLaW5lIHwgW3YwLjEzLjldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuOSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTktazNzMS4zMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE5LWszczEuMzApIHwKfCBDb250YWluZXJkIHwgW3YyLjAuNC1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YyLjAuNC1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjUpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjIwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi42KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMxKSB8CgojIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjYrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS42JTJCazNzMSk6IHYxLjMxLjYrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjUrazNzMS4uLnYxLjMxLjYrazNzMSkKCjwhLS0gdjEuMzEuNitrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS42LCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxNSkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjUrazNzMToKCi0gICBDb3JyZWN0IHRoZSBrM3MgdG9rZW4gY29tbWFuZCBoZWxwIFsoIyYjODIwMzsxMTY4NSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE2ODUpCi0gICBKYW4gMjAyNSBUZXN0aW5nIE92ZXJoYXVsLCBFMkUgdG8gRG9ja2VyIE1pZ3JhdGlvbiwgWygjJiM4MjAzOzExNzI0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTcyNCkKLSAgIEJhY2twb3J0cyBmb3IgMjAyNS0wMiBbKCMmIzgyMDM7MTE3MzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNzMyKQogICAgLSAgIEFsaWduIHRoZSBDTEktcmVwb3J0ZWQgZGVmYXVsdCBgLS1ldGNkLXNuYXBzaG90LWRpcmAgdmFsdWUgd2l0aCB0aGUgYWN0dWFsIG9uZSAoYHNlcnZlcmAsIGBldGNkLXNuYXBzaG90YCBjb21tYW5kcykuCiAgICAtICAgRGlzYWJsZSBzMyB0cmFuc3BvcnQgdHJhbnNwYXJlbnQgY29tcHJlc3Npb24vZGVjb21wcmVzc2lvbgogICAgLSAgIEV0Y2Qgc25hcHNob3QgYmFja3VwL3Jlc3RvcmUgbm93IHN1cHBvcnRzIGxvYWRpbmcgczMgY3JlZGVudGlhbHMgZnJvbSBhbiBBV1MgU0RLIHNoYXJlZCBjcmVkZW50aWFscyBmaWxlLgogICAgLSAgIEJ1bXAga2xpcHBlci1oZWxtIHRvIHYwLjkuNAogICAgLSAgIEJ1bXAga2xpcHBlci1sYiB0byB2MC40LjEwCiAgICAtICAgQnVtcCBzcGVnZWwgdG8gdjAuMC4zMAogICAgLSAgIEJ1bXAgbG9jYWwtcGF0aC1wcm92aXNpb25lciB0byB2MC4wLjMxCiAgICAtICAgQnVtcCBraW5lIHRvIHYwLjEzLjgKICAgIC0gICBCdW1wIGV0Y2QgdG8gdjMuNS4xOAogICAgLSAgIEJ1bXAgdHJhZWZpayB0byAyLjExLjIwCiAgICAtICAgQ29udGFpbmVyZCBoYXMgYmVlbiBidW1wZWQgdG8gdmVyc2lvbiAyLjAuCiAgICAtICAgVGhlIGNvbnRhaW5lcmQgY29uZmlnIHRlbXBsYXRlcyBmb3IgbGludXggYW5kIHdpbmRvd3MgaGF2ZSBiZWVuIGNvbnNvbGlkYXRlZCBhbmQgYXJlIG5vIGxvbmdlciBvcy1zcGVjaWZpYy4KICAgIC0gICBDb250YWluZXJkIDIuMCB1c2VzIGEgbmV3IGNvbmZpZyBmaWxlIHNjaGVtYS4gSWYgeW91IGFyZSB1c2luZyBhIGN1c3RvbSBjb250YWluZXJkIGNvbmZpZyB0ZW1wbGF0ZSwgeW91IHNob3VsZCBtaWdyYXRlIHlvdXIgdGVtcGxhdGUgdG8gYGNvbmZpZy12My50b21sLnRtcGxgIHRvIHN3aXRjaCB0byB0aGUgbmV3IHZlcnNpb24uIFNlZSB0aGUgW3Vwc3RyZWFtIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb250YWluZXJkL2NvbnRhaW5lcmQvYmxvYi9yZWxlYXNlLzIuMC9kb2NzL2NyaS9jb25maWcubWQpIGZvciBtb3JlIGluZm9ybWF0aW9uLgotICAgQnVtcCB0cmFlZmlrIHRvIHYyLjExLjIwIFsoIyYjODIwMzsxMTc2MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3NjMpCi0gICBVcGRhdGUgdG8gdjEuMzEuNi1rM3MxIGFuZCBHbyAxLjIyLjEyIFsoIyYjODIwMzsxMTc4NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE3ODcpCi0gICBSZW5kZXIgQ05JIGRpciBjb25maWcgd2hlbmV2ZXIgdmFycyBhcmUgc2V0IFsoIyYjODIwMzsxMTgyMCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE4MjApCi0gICBCdW1wIGNvbnRhaW5lcmQgZm9yIGdvLWNuaSBkZWFkbG9jayBmaXggWygjJiM4MjAzOzExODM0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTgzNCkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS42XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxNikgfAp8IEtpbmUgfCBbdjAuMTMuOV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy45KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xOC1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTgtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjIuMC4yLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjIuMC4yLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuNC1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMi40LWszczIpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjIwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi42KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMxKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS41K2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuNSUyQmszczEpOiB2MS4zMS41K2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS40K2szczEuLi52MS4zMS41K2szczEpCgo8IS0tIHYxLjMxLjUrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuNSwgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTQpLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS40K2szczE6CgotICAgQWRkIGd1YXJkcmFpbCBmb3IgZXRjZC1zbmFwc2hvdCBbKCMmIzgyMDM7MTEzOTMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzkzKQotICAgQmFja3BvcnRzIGZvciAyMDI1LTAxIFsoIyYjODIwMzsxMTU2NildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjYpCi0gICBBZGQgYXV0byBpbXBvcnQgaW1hZ2VzIGZvciBjb250YWluZXJkIGltYWdlIHN0b3JlIFsoIyYjODIwMzsxMTU2MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1NjIpCi0gICAyMDI1IEphbnVhcnkgQmFja3BvcnRzIFsoIyYjODIwMzsxMTU4OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE1ODgpCi0gICBMb2FkIGtlcm5lbCBtb2R1bGVzIGZvciBuZnQgaW4gYWdlbnQgc2V0dXAgWygjJiM4MjAzOzExNTk2KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTU5NikKLSAgIEZpeCBsb2NhbCBwYXNzd29yZCB2YWxpZGF0aW9uIHdoZW4gYmluZC1hZGRyZXNzIGlzIHNldCBbKCMmIzgyMDM7MTE2MTEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjExKQotICAgVXBkYXRlIHRvIHYxLjMxLjUtazNzMSBhbmQgR28gMS4yMi4xMCBbKCMmIzgyMDM7MTE2MjEpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjIxKQotICAgUmVtb3ZlIGxvY2FsIHJlc3RyaWN0aW9uIGZvciBkZWZlcnJlZCBub2RlIHBhc3N3b3JkIHZhbGlkYXRpb24gWygjJiM4MjAzOzExNjQ5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTY0OSkKCiMjIyMjIEVtYmVkZGVkIENvbXBvbmVudCBWZXJzaW9ucwoKfCBDb21wb25lbnQgfCBWZXJzaW9uIHwKfC0tLXwtLS18CnwgS3ViZXJuZXRlcyB8IFt2MS4zMS41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCN2MTMxNSkgfAp8IEtpbmUgfCBbdjAuMTMuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9raW5lL3JlbGVhc2VzL3RhZy92MC4xMy41KSB8CnwgU1FMaXRlIHwgWzMuNDYuMV0oaHR0cHM6Ly9zcWxpdGUub3JnL3JlbGVhc2Vsb2cvM1xfNDZcXzEuaHRtbCkgfAp8IEV0Y2QgfCBbdjMuNS4xNi1rM3MxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2V0Y2QvcmVsZWFzZXMvdGFnL3YzLjUuMTYtazNzMSkgfAp8IENvbnRhaW5lcmQgfCBbdjEuNy4yMy1rM3MyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2NvbnRhaW5lcmQvcmVsZWFzZXMvdGFnL3YxLjcuMjMtazNzMikgfAp8IFJ1bmMgfCBbdjEuMi40LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjQtazNzMSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTgpIHwKfCBDb3JlRE5TIHwgW3YxLjEyLjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjEyLjApIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyMjIFdoYXQncyBDaGFuZ2VkCgotICAgXFtyZWxlYXNlLTEuMzFdIFJlbW92ZSBsb2NhbCByZXN0cmljdGlvbiBmb3IgZGVmZXJyZWQgbm9kZSBwYXNzd29yZCB2YWxpZGF0aW9uIGJ5IFtAJiM4MjAzO2JyYW5kb25kXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYnJhbmRvbmQpIGluIFtodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNjQ5KQoKKipGdWxsIENoYW5nZWxvZyoqOiBodHRwczovL2dpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjUtcmMxK2szczEuLi52MS4zMS41K2szczEKCiMjIyBbYHYxLjMxLjQrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS40JTJCazNzMSk6IHYxLjMxLjQrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjMrazNzMS4uLnYxLjMxLjQrazNzMSkKCjwhLS0gdjEuMzEuNCtrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS40LCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMykuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjMrazNzMToKCi0gICBGaXggc2VjcmV0cy1lbmNyeXB0IHJlZW5jcnlwdCB0aW1lb3V0IGVycm9yIFsoIyYjODIwMzsxMTQ0MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NDIpCi0gICBSZW1vdmUgZXhwZXJpbWVudGFsIGZyb20gZW1iZWRkZWQtcmVnaXN0cnkgZmxhZyBbKCMmIzgyMDM7MTE0NDQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDQ0KQotICAgUmV3b3JrIGxvYWRiYWxhbmNlciBzZXJ2ZXIgc2VsZWN0aW9uIGxvZ2ljIFsoIyYjODIwMzsxMTQ1NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NTcpCiAgICAtICAgVGhlIGVtYmVkZGVkIGNsaWVudCBsb2FkYmFsYW5jZXIgdGhhdCBoYW5kbGVzIGNvbm5lY3Rpdml0eSB0byBjb250cm9sLXBsYW5lIGVsZW1lbnRzIGhhcyBiZWVuIGV4dGVuc2l2ZWx5IHJld29ya2VkIGZvciBpbXByb3ZlZCBwZXJmb3JtYW5jZSwgcmVsaWFiaWxpdHksIGFuZCBvYnNlcnZhYmlsaXR5LgotICAgVXBkYXRlIGNvcmVkbnMgdG8gMS4xMi4wIFsoIyYjODIwMzsxMTQ1NCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0NTQpCi0gICBBZGQgbm9kZS1pbnRlcm5hbC1kbnMvbm9kZS1leHRlcm5hbC1kbnMgYWRkcmVzcyBwYXNzLXRocm91Z2ggc3VwcG9ydCDigKYgWygjJiM4MjAzOzExNDY0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTQ2NCkKLSAgIFVwZGF0ZSB0byB2MS4zMS40LWszczEgYW5kIEdvIDEuMjIuOSBbKCMmIzgyMDM7MTE0NjIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExNDYyKQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzE0KSB8CnwgS2luZSB8IFt2MC4xMy41XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjUpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjE2LWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xNi1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIzLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMy1rM3MyKSB8CnwgUnVuYyB8IFt2MS4yLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9vcGVuY29udGFpbmVycy9ydW5jL3JlbGVhc2VzL3RhZy92MS4yLjEpIHwKfCBGbGFubmVsIHwgW3YwLjI1LjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mbGFubmVsLWlvL2ZsYW5uZWwvcmVsZWFzZXMvdGFnL3YwLjI1LjcpIHwKfCBNZXRyaWNzLXNlcnZlciB8IFt2MC43LjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzLXNpZ3MvbWV0cmljcy1zZXJ2ZXIvcmVsZWFzZXMvdGFnL3YwLjcuMikgfAp8IFRyYWVmaWsgfCBbdjIuMTEuMTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmFlZmlrL3RyYWVmaWsvcmVsZWFzZXMvdGFnL3YyLjExLjEwKSB8CnwgQ29yZUROUyB8IFt2MS4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY29yZWRucy9jb3JlZG5zL3JlbGVhc2VzL3RhZy92MS4xMi4wKSB8CnwgSGVsbS1jb250cm9sbGVyIHwgW3YwLjE2LjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vaGVsbS1jb250cm9sbGVyL3JlbGVhc2VzL3RhZy92MC4xNi41KSB8CnwgTG9jYWwtcGF0aC1wcm92aXNpb25lciB8IFt2MC4wLjMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9sb2NhbC1wYXRoLXByb3Zpc2lvbmVyL3JlbGVhc2VzL3RhZy92MC4wLjMwKSB8CgojIyMjIyBIZWxwZnVsIExpbmtzCgpBcyBhbHdheXMsIHdlIHdlbGNvbWUgYW5kIGFwcHJlY2lhdGUgZmVlZGJhY2sgZnJvbSBvdXIgY29tbXVuaXR5IG9mIHVzZXJzLiBQbGVhc2UgZmVlbCBmcmVlIHRvOgoKLSAgIFtPcGVuIGlzc3VlcyBoZXJlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcmFuY2hlci9rM3MvaXNzdWVzL25ldy9jaG9vc2UpCi0gICBbSm9pbiBvdXIgU2xhY2sgY2hhbm5lbF0oaHR0cHM6Ly9zbGFjay5yYW5jaGVyLmlvLykKLSAgIFtDaGVjayBvdXQgb3VyIGRvY3VtZW50YXRpb25dKGh0dHBzOi8vcmFuY2hlci5jb20vZG9jcy9rM3MvbGF0ZXN0L2VuLykgZm9yIGd1aWRhbmNlIG9uIGhvdyB0byBnZXQgc3RhcnRlZCBvciB0byBkaXZlIGRlZXAgaW50byBLM3MuCi0gICBbUmVhZCBob3cgeW91IGNhbiBjb250cmlidXRlIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9ibG9iL21hc3Rlci9DT05UUklCVVRJTkcubWQpCgojIyMgW2B2MS4zMS4zK2szczFgXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9yZWxlYXNlcy90YWcvdjEuMzEuMyUyQmszczEpOiB2MS4zMS4zK2szczEKCltDb21wYXJlIFNvdXJjZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvY29tcGFyZS92MS4zMS4yK2szczEuLi52MS4zMS4zK2szczEpCgo8IS0tIHYxLjMxLjMrazNzMSAtLT4KClRoaXMgcmVsZWFzZSB1cGRhdGVzIEt1YmVybmV0ZXMgdG8gdjEuMzEuMywgYW5kIGZpeGVzIGEgbnVtYmVyIG9mIGlzc3Vlcy4KCkZvciBtb3JlIGRldGFpbHMgb24gd2hhdCdzIG5ldywgc2VlIHRoZSBbS3ViZXJuZXRlcyByZWxlYXNlIG5vdGVzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20va3ViZXJuZXRlcy9rdWJlcm5ldGVzL2Jsb2IvbWFzdGVyL0NIQU5HRUxPRy9DSEFOR0VMT0ctMS4zMS5tZCNjaGFuZ2Vsb2ctc2luY2UtdjEzMTIpLgoKIyMjIyMgQ2hhbmdlcyBzaW5jZSB2MS4zMS4yK2szczE6CgotICAgQmFja3BvcnQgRTJFIEdIQSBmaXhlcyBbKCMmIzgyMDM7MTEyMzApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMjMwKQotICAgQmFja3BvcnRzIGZvciAyMDI0LTExIFsoIyYjODIwMzsxMTI2MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNjEpCi0gICBVcGRhdGUgZmxhbm5lbCBhbmQgYmFzZSBjbmkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMTI0NyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEyNDcpCi0gICBCdW1wIHRvIGxhdGVzdCBrM3Mtcm9vdCB2ZXJzaW9uIGluIHNjcmlwdHMvdmVyc2lvbi5zaCBbKCMmIzgyMDM7MTEzMDIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzAyKQotICAgTW9yZSBiYWNrcG9ydHMgZm9yIDIwMjQtMTEgWygjJiM4MjAzOzExMzA3KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTMwNykKLSAgIEZpeCBpc3N1ZSB3aXRoIGxvYWRiYWxhbmNlciBmYWlsb3ZlciB0byBkZWZhdWx0IHNlcnZlciBbKCMmIzgyMDM7MTEzMjQpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMzI0KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMy1rM3MxIFsoIyYjODIwMzsxMTM3MildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEzNzIpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gLWszczIgdG8gZml4IHJld3JpdGVzIFsoIyYjODIwMzsxMTQwMyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTE0MDMpCgojIyMjIyBFbWJlZGRlZCBDb21wb25lbnQgVmVyc2lvbnMKCnwgQ29tcG9uZW50IHwgVmVyc2lvbiB8CnwtLS18LS0tfAp8IEt1YmVybmV0ZXMgfCBbdjEuMzEuM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMva3ViZXJuZXRlcy9ibG9iL21hc3Rlci9DSEFOR0VMT0cvQ0hBTkdFTE9HLTEuMzEubWQjdjEzMTMpIHwKfCBLaW5lIHwgW3YwLjEzLjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8va2luZS9yZWxlYXNlcy90YWcvdjAuMTMuNSkgfAp8IFNRTGl0ZSB8IFszLjQ2LjFdKGh0dHBzOi8vc3FsaXRlLm9yZy9yZWxlYXNlbG9nLzNcXzQ2XF8xLmh0bWwpIHwKfCBFdGNkIHwgW3YzLjUuMTYtazNzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9ldGNkL3JlbGVhc2VzL3RhZy92My41LjE2LWszczEpIHwKfCBDb250YWluZXJkIHwgW3YxLjcuMjMtazNzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9jb250YWluZXJkL3JlbGVhc2VzL3RhZy92MS43LjIzLWszczIpIHwKfCBSdW5jIHwgW3YxLjIuMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29wZW5jb250YWluZXJzL3J1bmMvcmVsZWFzZXMvdGFnL3YxLjIuMSkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNykgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTApIHwKfCBDb3JlRE5TIHwgW3YxLjExLjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjExLjMpIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjIrazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS4yJTJCazNzMSk6IHYxLjMxLjIrazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjErazNzMS4uLnYxLjMxLjIrazNzMSkKCjwhLS0gdjEuMzEuMitrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS4yLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMSkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjErazNzMToKCi0gICBBZGQgaW50IHRlc3QgZm9yIGZsYW5uZWwtaXB2Nm1hc3EgWygjJiM4MjAzOzEwOTA0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDkwNCkKLSAgIEJ1bXAgV2hhcmZpZSB0byB2MC42LjcgWygjJiM4MjAzOzEwOTc0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDk3NCkKLSAgIEFkZCB1c2VyIHBhdGggdG8gcnVudGltZXMgc2VhcmNoIFsoIyYjODIwMzsxMTAwMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwMDIpCi0gICBBZGQgZTJlIHRlc3QgZm9yIGFkdmFuY2VkIGZpZWxkcyBpbiBzZXJ2aWNlcyBbKCMmIzgyMDM7MTEwMjMpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDIzKQotICAgTGF1bmNoIHByaXZhdGUgcmVnaXN0cnkgd2l0aCBpbml0IFsoIyYjODIwMzsxMTA0OCldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNDgpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjQtMTAgWygjJiM4MjAzOzExMDU0KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA1NCkKLSAgIEFsbG93IGFkZGl0aW9uYWwgUm9vdGxlc3MgQ29weVVwRGlycyB0aHJvdWdoIEszU19ST09UTEVTU19DT1BZVVBESVJTIFsoIyYjODIwMzsxMTA0MSldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwNDEpCi0gICBCdW1wIGNvbnRhaW5lcmQgdG8gdjEuNy4yMiBbKCMmIzgyMDM7MTEwNzIpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMDcyKQotICAgU2ltcGxpZnkgc3ZjbGIgZHMgWygjJiM4MjAzOzExMDc5KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMTA3OSkKLSAgIEFkZCB0aGUgbnZpZGlhIHJ1bnRpbWUgY2RpIFsoIyYjODIwMzsxMTA5MyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTEwOTMpCi0gICBSZXZlcnQgIk1ha2Ugc3ZjbGIgYXMgc2ltcGxlIGFzIHBvc3NpYmxlIiBbKCMmIzgyMDM7MTExMTgpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTE4KQotICAgRml4ZXMgImZpbGUgZXhpc3RzIiBlcnJvciBmcm9tIENOSSBiaW5zIHdoZW4gdXBncmFkaW5nIGszcyBbKCMmIzgyMDM7MTExMjUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTI1KQotICAgVXBkYXRlIEt1YmVybmV0ZXMgdG8gdjEuMzEuMiBbKCMmIzgyMDM7MTExNTUpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzExMTU1KQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzEyKSB8CnwgS2luZSB8IFt2MC4xMy4yXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEzLjIpIHwKfCBTUUxpdGUgfCBbMy40Ni4xXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NlxfMS5odG1sKSB8CnwgRXRjZCB8IFt2My41LjEzLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xMy1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIyLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMi1rM3MxKSB8CnwgUnVuYyB8IFt2MS4xLjE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMS4xNCkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNikgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2t1YmVybmV0ZXMtc2lncy9tZXRyaWNzLXNlcnZlci9yZWxlYXNlcy90YWcvdjAuNy4yKSB8CnwgVHJhZWZpayB8IFt2Mi4xMS4xMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RyYWVmaWsvdHJhZWZpay9yZWxlYXNlcy90YWcvdjIuMTEuMTApIHwKfCBDb3JlRE5TIHwgW3YxLjExLjNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jb3JlZG5zL2NvcmVkbnMvcmVsZWFzZXMvdGFnL3YxLjExLjMpIHwKfCBIZWxtLWNvbnRyb2xsZXIgfCBbdjAuMTYuNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9oZWxtLWNvbnRyb2xsZXIvcmVsZWFzZXMvdGFnL3YwLjE2LjUpIHwKfCBMb2NhbC1wYXRoLXByb3Zpc2lvbmVyIHwgW3YwLjAuMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2xvY2FsLXBhdGgtcHJvdmlzaW9uZXIvcmVsZWFzZXMvdGFnL3YwLjAuMzApIHwKCiMjIyMjIEhlbHBmdWwgTGlua3MKCkFzIGFsd2F5cywgd2Ugd2VsY29tZSBhbmQgYXBwcmVjaWF0ZSBmZWVkYmFjayBmcm9tIG91ciBjb21tdW5pdHkgb2YgdXNlcnMuIFBsZWFzZSBmZWVsIGZyZWUgdG86CgotICAgW09wZW4gaXNzdWVzIGhlcmVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9yYW5jaGVyL2szcy9pc3N1ZXMvbmV3L2Nob29zZSkKLSAgIFtKb2luIG91ciBTbGFjayBjaGFubmVsXShodHRwczovL3NsYWNrLnJhbmNoZXIuaW8vKQotICAgW0NoZWNrIG91dCBvdXIgZG9jdW1lbnRhdGlvbl0oaHR0cHM6Ly9yYW5jaGVyLmNvbS9kb2NzL2szcy9sYXRlc3QvZW4vKSBmb3IgZ3VpZGFuY2Ugb24gaG93IHRvIGdldCBzdGFydGVkIG9yIHRvIGRpdmUgZGVlcCBpbnRvIEszcy4KLSAgIFtSZWFkIGhvdyB5b3UgY2FuIGNvbnRyaWJ1dGUgaGVyZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3JhbmNoZXIvazNzL2Jsb2IvbWFzdGVyL0NPTlRSSUJVVElORy5tZCkKCiMjIyBbYHYxLjMxLjErazNzMWBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3JlbGVhc2VzL3RhZy92MS4zMS4xJTJCazNzMSk6IHYxLjMxLjErazNzMQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9jb21wYXJlL3YxLjMxLjArazNzMS4uLnYxLjMxLjErazNzMSkKCjwhLS0gdjEuMzEuMStrM3MxIC0tPgoKVGhpcyByZWxlYXNlIHVwZGF0ZXMgS3ViZXJuZXRlcyB0byB2MS4zMS4xLCBhbmQgZml4ZXMgYSBudW1iZXIgb2YgaXNzdWVzLgoKRm9yIG1vcmUgZGV0YWlscyBvbiB3aGF0J3MgbmV3LCBzZWUgdGhlIFtLdWJlcm5ldGVzIHJlbGVhc2Ugbm90ZXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI2NoYW5nZWxvZy1zaW5jZS12MTMxMCkuCgojIyMjIyBDaGFuZ2VzIHNpbmNlIHYxLjMxLjArazNzMToKCi0gICBUZXN0aW5nIEFuZCBTZWNyZXRzLUVuY3J5cHRpb24gQmFja3BvcnRzIGZvciAyMDI0LTA5IFsoIyYjODIwMzsxMDgwMildKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MDIpCiAgICAtICAgUmVtb3ZlIHNlY3JldHMgZW5jcnlwdGlvbiBjb250cm9sbGVyCiAgICAtICAgQ292ZXIgZWRnZSBjYXNlIHdoZW4gb24gbmV3IG1pbm9yIHJlbGVhc2UgZm9yIEUyRSB1cGdyYWRlIHRlc3QKLSAgIFVwZGF0ZSBDTkkgcGx1Z2lucyB2ZXJzaW9uIFsoIyYjODIwMzsxMDgxNyldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vazNzL3B1bGwvMTA4MTcpCi0gICBCYWNrcG9ydHMgZm9yIDIwMjQtMDkgWygjJiM4MjAzOzEwODQyKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg0MikKLSAgIEZpeCBob3N0cy50b21sIGhlYWRlciB2YXIgWygjJiM4MjAzOzEwODcxKV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg3MSkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMxLjEgWygjJiM4MjAzOzEwODk1KV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2szcy1pby9rM3MvcHVsbC8xMDg5NSkKLSAgIFVwZGF0ZSBLdWJlcm5ldGVzIHRvIHYxLjMxLjEtazNzMyBbKCMmIzgyMDM7MTA5MTApXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2szcy9wdWxsLzEwOTEwKQoKIyMjIyMgRW1iZWRkZWQgQ29tcG9uZW50IFZlcnNpb25zCgp8IENvbXBvbmVudCB8IFZlcnNpb24gfAp8LS0tfC0tLXwKfCBLdWJlcm5ldGVzIHwgW3YxLjMxLjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2t1YmVybmV0ZXMvYmxvYi9tYXN0ZXIvQ0hBTkdFTE9HL0NIQU5HRUxPRy0xLjMxLm1kI3YxMzExKSB8CnwgS2luZSB8IFt2MC4xMi4wXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vazNzLWlvL2tpbmUvcmVsZWFzZXMvdGFnL3YwLjEyLjApIHwKfCBTUUxpdGUgfCBbMy40NC4wXShodHRwczovL3NxbGl0ZS5vcmcvcmVsZWFzZWxvZy8zXF80NFxfMC5odG1sKSB8CnwgRXRjZCB8IFt2My41LjEzLWszczFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vZXRjZC9yZWxlYXNlcy90YWcvdjMuNS4xMy1rM3MxKSB8CnwgQ29udGFpbmVyZCB8IFt2MS43LjIxLWszczJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9rM3MtaW8vY29udGFpbmVyZC9yZWxlYXNlcy90YWcvdjEuNy4yMS1rM3MyKSB8CnwgUnVuYyB8IFt2MS4xLjE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vb3BlbmNvbnRhaW5lcnMvcnVuYy9yZWxlYXNlcy90YWcvdjEuMS4xNCkgfAp8IEZsYW5uZWwgfCBbdjAuMjUuNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2ZsYW5uZWwtaW8vZmxhbm5lbC9yZWxlYXNlcy90YWcvdjAuMjUuNikgfAp8IE1ldHJpY3Mtc2VydmVyIHwgW3YwLjcuMl0oaHR0cHM6Ly9yZWQKCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiBCcmFuY2ggY3JlYXRpb24gLSBBdCBhbnkgdGltZSAobm8gc2NoZWR1bGUgZGVmaW5lZCksIEF1dG9tZXJnZSAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKS4KCvCfmqYgKipBdXRvbWVyZ2UqKjogRGlzYWJsZWQgYnkgY29uZmlnLiBQbGVhc2UgbWVyZ2UgdGhpcyBtYW51YWxseSBvbmNlIHlvdSBhcmUgc2F0aXNmaWVkLgoK4pm7ICoqUmViYXNpbmcqKjogV2hlbmV2ZXIgUFIgYmVjb21lcyBjb25mbGljdGVkLCBvciB5b3UgdGljayB0aGUgcmViYXNlL3JldHJ5IGNoZWNrYm94LgoK8J+UlSAqKklnbm9yZSoqOiBDbG9zZSB0aGlzIFBSIGFuZCB5b3Ugd29uJ3QgYmUgcmVtaW5kZWQgYWJvdXQgdGhpcyB1cGRhdGUgYWdhaW4uCgotLS0KCiAtIFsgXSA8IS0tIHJlYmFzZS1jaGVjayAtLT5JZiB5b3Ugd2FudCB0byByZWJhc2UvcmV0cnkgdGhpcyBQUiwgY2hlY2sgdGhpcyBib3gKCi0tLQoKVGhpcyBQUiB3YXMgZ2VuZXJhdGVkIGJ5IFtNZW5kIFJlbm92YXRlXShodHRwczovL21lbmQuaW8vcmVub3ZhdGUvKS4gVmlldyB0aGUgW3JlcG9zaXRvcnkgam9iIGxvZ10oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9naXRodWIvb3Npc20vcmVsZWFzZSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSXpPUzR5TWpjdU15SXNJblZ3WkdGMFpXUkpibFpsY2lJNklqTTVMakkyTkM0d0lpd2lkR0Z5WjJWMFFuSmhibU5vSWpvaWJXRnBiaUlzSW14aFltVnNjeUk2V3lKeVpXNXZkbUYwWlNKZGZRPT0tLT4K
      patchset: cc6c6bb540cd0b7766caeff8e658a96aa14b311d
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: fa94074a33c2a4b1ff3eaadb063e1f29046bf671
          trusted/project_1/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 34ae850a7303da5bb21907d41439ae6afbc1fe3e
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: f7abfe5b7dfd12b80bc14a21a9dbf0711aea1f3b
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: fa94074a33c2a4b1ff3eaadb063e1f29046bf671
          untrusted/project_2/opendev.org/zuul/zuul-jobs:
            canonical_name: opendev.org/zuul/zuul-jobs
            checkout: master
            commit: 34ae850a7303da5bb21907d41439ae6afbc1fe3e
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/run.yaml
          roles:
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_0/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_0/zuul-jobs/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/zuul-jobs
            link_target: untrusted/project_2/opendev.org/zuul/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/release
        name: osism/release
        short_name: release
        src_dir: src/github.com/osism/release
      projects:
        github.com/osism/release:
          canonical_hostname: github.com
          canonical_name: github.com/osism/release
          checkout: main
          checkout_description: zuul branch
          commit: cc47082510efae6952b0d70036489bf7adffc3a4
          name: osism/release
          required: false
          short_name: release
          src_dir: src/github.com/osism/release
      ref: refs/pull/1884/head
      resources: {}
      tenant: osism
      timeout: 1800
      voting: true
