all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fef8:f80b
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: a8ab0a82-cdb7-43c4-81ea-bd453df3ab2c
        host_id: d2c528664e1bd332192bb574345deb0c6c7158061222e4a6c036b5ef
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fef8:f80b
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.7.92
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.184
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fef8:f80b
        region: null
        slot: null
  vars:
    zuul:
      _inheritance_path:
      - '<Job base explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-config/zuul.d/jobs.yaml@main#2>'
      - '<Job flake8 explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#32>'
      - '<Job flake8 explicit: None implied: None source: osism/python-osism/.zuul.yaml@main#138>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 73475755d317492d9c222f7185b0dc3a
      build_refs:
      - branch: main
        change: '2375'
        change_message: "Update dependency fastapi to v0.137.0\n\nThis PR contains
          the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [fastapi](https://redirect.github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/))
          | `==0.136.3` \u2192 `==0.137.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/fastapi/0.137.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/fastapi/0.136.3/0.137.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fastapi/fastapi (fastapi)</summary>\n\n###
          [`v0.137.0`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.137.0)\n\n[Compare
          Source](https://redirect.github.com/fastapi/fastapi/compare/0.136.3...0.137.0)\n\n#####
          Breaking Changes\n\n- \u267B\uFE0F Refactor internals to preserve `APIRouter`
          and `APIRoute` instances. PR [#&#8203;15745](https://redirect.github.com/fastapi/fastapi/pull/15745)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\nUnblocks
          \u2728 SO MANY THINGS \u2728\n\nBefore this, `router.include_router(other_router)`
          would take each path operation from `other_router` and \"clone\" it, or
          recreate it from scratch.\n\nThis would mean that in the end there was only
          one top level router, part of the app.\n\nThe way it is structured here
          is that there are a few additional classes to handle intermediate metadata
          for router and route inclusion. That way the information of \"router X includes
          Y and Y includes Z\" is stored somewhere, without affecting (recreating
          / clonning) the final route.\n\n##### Non Objectives\n\nDependencies for
          404: previously I intended to support dependencies that would be executed
          even for 404, but that would conflict with the fact that a router could
          *not* find a match, but the next router *did* find a match. Executing dependencies
          in the router that did not find a match would not make sense, they could
          consume the request, body, etc. This original idea was discarded.\n\n#####
          Specific Breaking Changes\n\nNow `router.routes` is no longer a plain list
          of `APIRoute` objects, it can contain these intermediate objects that can
          contain additional routers, forming a tree.\n\nAny logic that depended on
          iterating on the `router.routes` directly would be affected, that logic
          cannot expect to be able to extract data from a plain list of routes, as
          it's no longer a plain list but a tree.\n\nAdditionally, any logic that
          iterated on `router.routes` to modify them would now also see these new
          objects, and would not see all the routes in the app.\n\n`router.routes`
          should be considered an internal implementation detail, only passed around
          to the FastAPI functions that need it.\n\n##### Features\n\n- Adding routes
          (path operations) after a router is included now works, they are reflected
          as they are not copied.\n- Including `subrouter` in `mainrouter` can be
          done before adding routes (path operations) to `subrouter`, because now
          the the entire object is stored instead of copying the routes.\n- As routes
          are not copied, in some cases that might save some memory.\n\n##### Alpha
          Features\n\nThis is not documented yet, so it's not officially supported
          yet and could change in the future.\n\nBut, as `APIRoute` and `APIRouter`
          instances are now preserved, they could be customized.\n\n`APIRouter` has
          two new methods, `.matches()` and `.handle()`, counterpart to the existing
          ones in `APIRoute`. With this a router could customize how it matches and
          handles requests. For example, it could match only requests that include
          some specific header, for example for handling versions in headers.\n\nStill,
          for now, consider this very experimental and potentially changing and breaking
          in the future.\n\n##### Future Features Enabled\n\n- Custom `APIRoute` subclasses
          (undocumented, but alraedy works as desccribed above)\n- Custom `APIRouter`
          subclasses (undocumented, but already works as described above)\n- Dependencies
          per router\n- Exception handlers per router\n- Middleware per router\n-
          Other features planned\n\n##### Docs\n\n- \U0001F4DD Update release notes.
          PR [#&#8203;15747](https://redirect.github.com/fastapi/fastapi/pull/15747)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F4DD
          Update FastAPI Cloud deployment instructions. PR [#&#8203;15724](https://redirect.github.com/fastapi/fastapi/pull/15724)
          by [@&#8203;alejsdev](https://redirect.github.com/alejsdev).\n- \u270F\uFE0F
          Use `Annotated` in inline example in `docs/en/docs/tutorial/body-multiple-params.md`.
          PR [#&#8203;15591](https://redirect.github.com/fastapi/fastapi/pull/15591)
          by [@&#8203;TheArchons](https://redirect.github.com/TheArchons).\n- \U0001F4DD
          Remove \"NGINX Unit\" from the list of ASGI-servers in docs. PR [#&#8203;15475](https://redirect.github.com/fastapi/fastapi/pull/15475)
          by [@&#8203;angryfoxx](https://redirect.github.com/angryfoxx).\n- \U0001F4DD
          Update `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;14781](https://redirect.github.com/fastapi/fastapi/pull/14781)
          by [@&#8203;zadevhub](https://redirect.github.com/zadevhub).\n\n##### Translations\n\n-
          \U0001F310 Update translations for zh-hant (update-outdated). PR [#&#8203;15671](https://redirect.github.com/fastapi/fastapi/pull/15671)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for es (update-outdated). PR [#&#8203;15670](https://redirect.github.com/fastapi/fastapi/pull/15670)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for fr (update-outdated). PR [#&#8203;15669](https://redirect.github.com/fastapi/fastapi/pull/15669)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ja (update-outdated). PR [#&#8203;15668](https://redirect.github.com/fastapi/fastapi/pull/15668)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for pt (update-outdated). PR [#&#8203;15667](https://redirect.github.com/fastapi/fastapi/pull/15667)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for tr (update-outdated). PR [#&#8203;15666](https://redirect.github.com/fastapi/fastapi/pull/15666)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for zh (update-outdated). PR [#&#8203;15665](https://redirect.github.com/fastapi/fastapi/pull/15665)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ko (update-outdated). PR [#&#8203;15664](https://redirect.github.com/fastapi/fastapi/pull/15664)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for de (update-outdated). PR [#&#8203;15673](https://redirect.github.com/fastapi/fastapi/pull/15673)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for uk (update-outdated). PR [#&#8203;15672](https://redirect.github.com/fastapi/fastapi/pull/15672)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ru (update-outdated). PR [#&#8203;15674](https://redirect.github.com/fastapi/fastapi/pull/15674)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\n##### Internal\n\n-
          \U0001F527 Update sponsors: remove TalorData. PR [#&#8203;15744](https://redirect.github.com/fastapi/fastapi/pull/15744)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove ExoFlare. PR [#&#8203;15736](https://redirect.github.com/fastapi/fastapi/pull/15736)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove InterviewPal. PR [#&#8203;15735](https://redirect.github.com/fastapi/fastapi/pull/15735)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Liblab. PR [#&#8203;15731](https://redirect.github.com/fastapi/fastapi/pull/15731)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Scalar. PR [#&#8203;15730](https://redirect.github.com/fastapi/fastapi/pull/15730)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 6 updates. PR [#&#8203;15721](https://redirect.github.com/fastapi/fastapi/pull/15721)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.29 to 0.0.30. PR [#&#8203;15723](https://redirect.github.com/fastapi/fastapi/pull/15723)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 3 updates. PR [#&#8203;15720](https://redirect.github.com/fastapi/fastapi/pull/15720)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.1.0 to 1.2.1. PR [#&#8203;15722](https://redirect.github.com/fastapi/fastapi/pull/15722)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump <https://github.com/crate-ci/typos> from v1.46.0 to v1.47.1
          in the pre-commit group. PR [#&#8203;15719](https://redirect.github.com/fastapi/fastapi/pull/15719)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F527 Update sponsors, add Rapidproxy. PR [#&#8203;15689](https://redirect.github.com/fastapi/fastapi/pull/15689)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: Remove TestMu. PR [#&#8203;15688](https://redirect.github.com/fastapi/fastapi/pull/15688)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 11 updates. PR [#&#8203;15683](https://redirect.github.com/fastapi/fastapi/pull/15683)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump aiohttp from 3.13.4 to 3.14.0. PR [#&#8203;15681](https://redirect.github.com/fastapi/fastapi/pull/15681)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 2 updates. PR [#&#8203;15682](https://redirect.github.com/fastapi/fastapi/pull/15682)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.0.0 to 1.1.0. PR [#&#8203;15684](https://redirect.github.com/fastapi/fastapi/pull/15684)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F465 Update FastAPI People - Experts. PR [#&#8203;15677](https://redirect.github.com/fastapi/fastapi/pull/15677)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI GitHub topic repositories. PR [#&#8203;15675](https://redirect.github.com/fastapi/fastapi/pull/15675)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI People - Contributors and Translators. PR [#&#8203;15662](https://redirect.github.com/fastapi/fastapi/pull/15662)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F477
          Automate release preparation. PR [#&#8203;15661](https://redirect.github.com/fastapi/fastapi/pull/15661)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F525
          Remove slim package stub, deprecated for a while. PR [#&#8203;15649](https://redirect.github.com/fastapi/fastapi/pull/15649)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          authlib from 1.6.11 to 1.7.2. PR [#&#8203;15512](https://redirect.github.com/fastapi/fastapi/pull/15512)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump pymdown-extensions from 10.21.2 to 10.21.3. PR [#&#8203;15569](https://redirect.github.com/fastapi/fastapi/pull/15569)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump CodSpeedHQ/action from 4.14.0 to 4.15.1. PR [#&#8203;15513](https://redirect.github.com/fastapi/fastapi/pull/15513)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.26 to 0.0.29. PR [#&#8203;15595](https://redirect.github.com/fastapi/fastapi/pull/15595)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F512\uFE0F Improve GitHub actions security. PR [#&#8203;15607](https://redirect.github.com/fastapi/fastapi/pull/15607)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u26B0\uFE0F
          Remove ruff and coverage ignores for non-existing files. PR [#&#8203;15610](https://redirect.github.com/fastapi/fastapi/pull/15610)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Use custom `changing_dir` instead of `CLIRunner.isolated_filesystem` to
          set working dir. PR [#&#8203;15616](https://redirect.github.com/fastapi/fastapi/pull/15616)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Add `httpx2` test dependency to avoid deprecation warning. PR [#&#8203;15603](https://redirect.github.com/fastapi/fastapi/pull/15603)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2B06
          Bump the python-packages group with 15 updates. PR [#&#8203;15594](https://redirect.github.com/fastapi/fastapi/pull/15594)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F477 Configure Dependabot to group updates and update weekly. PR [#&#8203;15560](https://redirect.github.com/fastapi/fastapi/pull/15560)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/python-osism/pull/2375
        commit_id: 58f86b191f6131df051c39189056a6e7fe47e776
        patchset: 58f86b191f6131df051c39189056a6e7fe47e776
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      buildset: fe0e9cf6509a472bafed8a0b0c003455
      buildset_refs:
      - branch: main
        change: '2375'
        change_message: "Update dependency fastapi to v0.137.0\n\nThis PR contains
          the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [fastapi](https://redirect.github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/))
          | `==0.136.3` \u2192 `==0.137.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/fastapi/0.137.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/fastapi/0.136.3/0.137.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fastapi/fastapi (fastapi)</summary>\n\n###
          [`v0.137.0`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.137.0)\n\n[Compare
          Source](https://redirect.github.com/fastapi/fastapi/compare/0.136.3...0.137.0)\n\n#####
          Breaking Changes\n\n- \u267B\uFE0F Refactor internals to preserve `APIRouter`
          and `APIRoute` instances. PR [#&#8203;15745](https://redirect.github.com/fastapi/fastapi/pull/15745)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\nUnblocks
          \u2728 SO MANY THINGS \u2728\n\nBefore this, `router.include_router(other_router)`
          would take each path operation from `other_router` and \"clone\" it, or
          recreate it from scratch.\n\nThis would mean that in the end there was only
          one top level router, part of the app.\n\nThe way it is structured here
          is that there are a few additional classes to handle intermediate metadata
          for router and route inclusion. That way the information of \"router X includes
          Y and Y includes Z\" is stored somewhere, without affecting (recreating
          / clonning) the final route.\n\n##### Non Objectives\n\nDependencies for
          404: previously I intended to support dependencies that would be executed
          even for 404, but that would conflict with the fact that a router could
          *not* find a match, but the next router *did* find a match. Executing dependencies
          in the router that did not find a match would not make sense, they could
          consume the request, body, etc. This original idea was discarded.\n\n#####
          Specific Breaking Changes\n\nNow `router.routes` is no longer a plain list
          of `APIRoute` objects, it can contain these intermediate objects that can
          contain additional routers, forming a tree.\n\nAny logic that depended on
          iterating on the `router.routes` directly would be affected, that logic
          cannot expect to be able to extract data from a plain list of routes, as
          it's no longer a plain list but a tree.\n\nAdditionally, any logic that
          iterated on `router.routes` to modify them would now also see these new
          objects, and would not see all the routes in the app.\n\n`router.routes`
          should be considered an internal implementation detail, only passed around
          to the FastAPI functions that need it.\n\n##### Features\n\n- Adding routes
          (path operations) after a router is included now works, they are reflected
          as they are not copied.\n- Including `subrouter` in `mainrouter` can be
          done before adding routes (path operations) to `subrouter`, because now
          the the entire object is stored instead of copying the routes.\n- As routes
          are not copied, in some cases that might save some memory.\n\n##### Alpha
          Features\n\nThis is not documented yet, so it's not officially supported
          yet and could change in the future.\n\nBut, as `APIRoute` and `APIRouter`
          instances are now preserved, they could be customized.\n\n`APIRouter` has
          two new methods, `.matches()` and `.handle()`, counterpart to the existing
          ones in `APIRoute`. With this a router could customize how it matches and
          handles requests. For example, it could match only requests that include
          some specific header, for example for handling versions in headers.\n\nStill,
          for now, consider this very experimental and potentially changing and breaking
          in the future.\n\n##### Future Features Enabled\n\n- Custom `APIRoute` subclasses
          (undocumented, but alraedy works as desccribed above)\n- Custom `APIRouter`
          subclasses (undocumented, but already works as described above)\n- Dependencies
          per router\n- Exception handlers per router\n- Middleware per router\n-
          Other features planned\n\n##### Docs\n\n- \U0001F4DD Update release notes.
          PR [#&#8203;15747](https://redirect.github.com/fastapi/fastapi/pull/15747)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F4DD
          Update FastAPI Cloud deployment instructions. PR [#&#8203;15724](https://redirect.github.com/fastapi/fastapi/pull/15724)
          by [@&#8203;alejsdev](https://redirect.github.com/alejsdev).\n- \u270F\uFE0F
          Use `Annotated` in inline example in `docs/en/docs/tutorial/body-multiple-params.md`.
          PR [#&#8203;15591](https://redirect.github.com/fastapi/fastapi/pull/15591)
          by [@&#8203;TheArchons](https://redirect.github.com/TheArchons).\n- \U0001F4DD
          Remove \"NGINX Unit\" from the list of ASGI-servers in docs. PR [#&#8203;15475](https://redirect.github.com/fastapi/fastapi/pull/15475)
          by [@&#8203;angryfoxx](https://redirect.github.com/angryfoxx).\n- \U0001F4DD
          Update `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;14781](https://redirect.github.com/fastapi/fastapi/pull/14781)
          by [@&#8203;zadevhub](https://redirect.github.com/zadevhub).\n\n##### Translations\n\n-
          \U0001F310 Update translations for zh-hant (update-outdated). PR [#&#8203;15671](https://redirect.github.com/fastapi/fastapi/pull/15671)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for es (update-outdated). PR [#&#8203;15670](https://redirect.github.com/fastapi/fastapi/pull/15670)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for fr (update-outdated). PR [#&#8203;15669](https://redirect.github.com/fastapi/fastapi/pull/15669)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ja (update-outdated). PR [#&#8203;15668](https://redirect.github.com/fastapi/fastapi/pull/15668)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for pt (update-outdated). PR [#&#8203;15667](https://redirect.github.com/fastapi/fastapi/pull/15667)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for tr (update-outdated). PR [#&#8203;15666](https://redirect.github.com/fastapi/fastapi/pull/15666)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for zh (update-outdated). PR [#&#8203;15665](https://redirect.github.com/fastapi/fastapi/pull/15665)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ko (update-outdated). PR [#&#8203;15664](https://redirect.github.com/fastapi/fastapi/pull/15664)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for de (update-outdated). PR [#&#8203;15673](https://redirect.github.com/fastapi/fastapi/pull/15673)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for uk (update-outdated). PR [#&#8203;15672](https://redirect.github.com/fastapi/fastapi/pull/15672)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ru (update-outdated). PR [#&#8203;15674](https://redirect.github.com/fastapi/fastapi/pull/15674)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\n##### Internal\n\n-
          \U0001F527 Update sponsors: remove TalorData. PR [#&#8203;15744](https://redirect.github.com/fastapi/fastapi/pull/15744)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove ExoFlare. PR [#&#8203;15736](https://redirect.github.com/fastapi/fastapi/pull/15736)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove InterviewPal. PR [#&#8203;15735](https://redirect.github.com/fastapi/fastapi/pull/15735)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Liblab. PR [#&#8203;15731](https://redirect.github.com/fastapi/fastapi/pull/15731)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Scalar. PR [#&#8203;15730](https://redirect.github.com/fastapi/fastapi/pull/15730)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 6 updates. PR [#&#8203;15721](https://redirect.github.com/fastapi/fastapi/pull/15721)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.29 to 0.0.30. PR [#&#8203;15723](https://redirect.github.com/fastapi/fastapi/pull/15723)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 3 updates. PR [#&#8203;15720](https://redirect.github.com/fastapi/fastapi/pull/15720)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.1.0 to 1.2.1. PR [#&#8203;15722](https://redirect.github.com/fastapi/fastapi/pull/15722)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump <https://github.com/crate-ci/typos> from v1.46.0 to v1.47.1
          in the pre-commit group. PR [#&#8203;15719](https://redirect.github.com/fastapi/fastapi/pull/15719)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F527 Update sponsors, add Rapidproxy. PR [#&#8203;15689](https://redirect.github.com/fastapi/fastapi/pull/15689)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: Remove TestMu. PR [#&#8203;15688](https://redirect.github.com/fastapi/fastapi/pull/15688)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 11 updates. PR [#&#8203;15683](https://redirect.github.com/fastapi/fastapi/pull/15683)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump aiohttp from 3.13.4 to 3.14.0. PR [#&#8203;15681](https://redirect.github.com/fastapi/fastapi/pull/15681)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 2 updates. PR [#&#8203;15682](https://redirect.github.com/fastapi/fastapi/pull/15682)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.0.0 to 1.1.0. PR [#&#8203;15684](https://redirect.github.com/fastapi/fastapi/pull/15684)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F465 Update FastAPI People - Experts. PR [#&#8203;15677](https://redirect.github.com/fastapi/fastapi/pull/15677)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI GitHub topic repositories. PR [#&#8203;15675](https://redirect.github.com/fastapi/fastapi/pull/15675)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI People - Contributors and Translators. PR [#&#8203;15662](https://redirect.github.com/fastapi/fastapi/pull/15662)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F477
          Automate release preparation. PR [#&#8203;15661](https://redirect.github.com/fastapi/fastapi/pull/15661)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F525
          Remove slim package stub, deprecated for a while. PR [#&#8203;15649](https://redirect.github.com/fastapi/fastapi/pull/15649)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          authlib from 1.6.11 to 1.7.2. PR [#&#8203;15512](https://redirect.github.com/fastapi/fastapi/pull/15512)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump pymdown-extensions from 10.21.2 to 10.21.3. PR [#&#8203;15569](https://redirect.github.com/fastapi/fastapi/pull/15569)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump CodSpeedHQ/action from 4.14.0 to 4.15.1. PR [#&#8203;15513](https://redirect.github.com/fastapi/fastapi/pull/15513)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.26 to 0.0.29. PR [#&#8203;15595](https://redirect.github.com/fastapi/fastapi/pull/15595)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F512\uFE0F Improve GitHub actions security. PR [#&#8203;15607](https://redirect.github.com/fastapi/fastapi/pull/15607)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u26B0\uFE0F
          Remove ruff and coverage ignores for non-existing files. PR [#&#8203;15610](https://redirect.github.com/fastapi/fastapi/pull/15610)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Use custom `changing_dir` instead of `CLIRunner.isolated_filesystem` to
          set working dir. PR [#&#8203;15616](https://redirect.github.com/fastapi/fastapi/pull/15616)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Add `httpx2` test dependency to avoid deprecation warning. PR [#&#8203;15603](https://redirect.github.com/fastapi/fastapi/pull/15603)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2B06
          Bump the python-packages group with 15 updates. PR [#&#8203;15594](https://redirect.github.com/fastapi/fastapi/pull/15594)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F477 Configure Dependabot to group updates and update weekly. PR [#&#8203;15560](https://redirect.github.com/fastapi/fastapi/pull/15560)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/python-osism/pull/2375
        commit_id: 58f86b191f6131df051c39189056a6e7fe47e776
        patchset: 58f86b191f6131df051c39189056a6e7fe47e776
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
        src_dir: src/github.com/osism/python-osism
        topic: null
      change: '2375'
      change_message: "Update dependency fastapi to v0.137.0\n\nThis PR contains the
        following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
        | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
        [fastapi](https://redirect.github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/))
        | `==0.136.3` \u2192 `==0.137.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/fastapi/0.137.0?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/fastapi/0.136.3/0.137.0?slim=true)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fastapi/fastapi (fastapi)</summary>\n\n###
        [`v0.137.0`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.137.0)\n\n[Compare
        Source](https://redirect.github.com/fastapi/fastapi/compare/0.136.3...0.137.0)\n\n#####
        Breaking Changes\n\n- \u267B\uFE0F Refactor internals to preserve `APIRouter`
        and `APIRoute` instances. PR [#&#8203;15745](https://redirect.github.com/fastapi/fastapi/pull/15745)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\nUnblocks \u2728
        SO MANY THINGS \u2728\n\nBefore this, `router.include_router(other_router)`
        would take each path operation from `other_router` and \"clone\" it, or recreate
        it from scratch.\n\nThis would mean that in the end there was only one top
        level router, part of the app.\n\nThe way it is structured here is that there
        are a few additional classes to handle intermediate metadata for router and
        route inclusion. That way the information of \"router X includes Y and Y includes
        Z\" is stored somewhere, without affecting (recreating / clonning) the final
        route.\n\n##### Non Objectives\n\nDependencies for 404: previously I intended
        to support dependencies that would be executed even for 404, but that would
        conflict with the fact that a router could *not* find a match, but the next
        router *did* find a match. Executing dependencies in the router that did not
        find a match would not make sense, they could consume the request, body, etc.
        This original idea was discarded.\n\n##### Specific Breaking Changes\n\nNow
        `router.routes` is no longer a plain list of `APIRoute` objects, it can contain
        these intermediate objects that can contain additional routers, forming a
        tree.\n\nAny logic that depended on iterating on the `router.routes` directly
        would be affected, that logic cannot expect to be able to extract data from
        a plain list of routes, as it's no longer a plain list but a tree.\n\nAdditionally,
        any logic that iterated on `router.routes` to modify them would now also see
        these new objects, and would not see all the routes in the app.\n\n`router.routes`
        should be considered an internal implementation detail, only passed around
        to the FastAPI functions that need it.\n\n##### Features\n\n- Adding routes
        (path operations) after a router is included now works, they are reflected
        as they are not copied.\n- Including `subrouter` in `mainrouter` can be done
        before adding routes (path operations) to `subrouter`, because now the the
        entire object is stored instead of copying the routes.\n- As routes are not
        copied, in some cases that might save some memory.\n\n##### Alpha Features\n\nThis
        is not documented yet, so it's not officially supported yet and could change
        in the future.\n\nBut, as `APIRoute` and `APIRouter` instances are now preserved,
        they could be customized.\n\n`APIRouter` has two new methods, `.matches()`
        and `.handle()`, counterpart to the existing ones in `APIRoute`. With this
        a router could customize how it matches and handles requests. For example,
        it could match only requests that include some specific header, for example
        for handling versions in headers.\n\nStill, for now, consider this very experimental
        and potentially changing and breaking in the future.\n\n##### Future Features
        Enabled\n\n- Custom `APIRoute` subclasses (undocumented, but alraedy works
        as desccribed above)\n- Custom `APIRouter` subclasses (undocumented, but already
        works as described above)\n- Dependencies per router\n- Exception handlers
        per router\n- Middleware per router\n- Other features planned\n\n##### Docs\n\n-
        \U0001F4DD Update release notes. PR [#&#8203;15747](https://redirect.github.com/fastapi/fastapi/pull/15747)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F4DD
        Update FastAPI Cloud deployment instructions. PR [#&#8203;15724](https://redirect.github.com/fastapi/fastapi/pull/15724)
        by [@&#8203;alejsdev](https://redirect.github.com/alejsdev).\n- \u270F\uFE0F
        Use `Annotated` in inline example in `docs/en/docs/tutorial/body-multiple-params.md`.
        PR [#&#8203;15591](https://redirect.github.com/fastapi/fastapi/pull/15591)
        by [@&#8203;TheArchons](https://redirect.github.com/TheArchons).\n- \U0001F4DD
        Remove \"NGINX Unit\" from the list of ASGI-servers in docs. PR [#&#8203;15475](https://redirect.github.com/fastapi/fastapi/pull/15475)
        by [@&#8203;angryfoxx](https://redirect.github.com/angryfoxx).\n- \U0001F4DD
        Update `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;14781](https://redirect.github.com/fastapi/fastapi/pull/14781)
        by [@&#8203;zadevhub](https://redirect.github.com/zadevhub).\n\n##### Translations\n\n-
        \U0001F310 Update translations for zh-hant (update-outdated). PR [#&#8203;15671](https://redirect.github.com/fastapi/fastapi/pull/15671)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for es (update-outdated). PR [#&#8203;15670](https://redirect.github.com/fastapi/fastapi/pull/15670)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for fr (update-outdated). PR [#&#8203;15669](https://redirect.github.com/fastapi/fastapi/pull/15669)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for ja (update-outdated). PR [#&#8203;15668](https://redirect.github.com/fastapi/fastapi/pull/15668)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for pt (update-outdated). PR [#&#8203;15667](https://redirect.github.com/fastapi/fastapi/pull/15667)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for tr (update-outdated). PR [#&#8203;15666](https://redirect.github.com/fastapi/fastapi/pull/15666)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for zh (update-outdated). PR [#&#8203;15665](https://redirect.github.com/fastapi/fastapi/pull/15665)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for ko (update-outdated). PR [#&#8203;15664](https://redirect.github.com/fastapi/fastapi/pull/15664)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for de (update-outdated). PR [#&#8203;15673](https://redirect.github.com/fastapi/fastapi/pull/15673)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for uk (update-outdated). PR [#&#8203;15672](https://redirect.github.com/fastapi/fastapi/pull/15672)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
        Update translations for ru (update-outdated). PR [#&#8203;15674](https://redirect.github.com/fastapi/fastapi/pull/15674)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\n##### Internal\n\n-
        \U0001F527 Update sponsors: remove TalorData. PR [#&#8203;15744](https://redirect.github.com/fastapi/fastapi/pull/15744)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
        Update sponsors: remove ExoFlare. PR [#&#8203;15736](https://redirect.github.com/fastapi/fastapi/pull/15736)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
        Update sponsors: remove InterviewPal. PR [#&#8203;15735](https://redirect.github.com/fastapi/fastapi/pull/15735)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
        Update sponsors: remove Liblab. PR [#&#8203;15731](https://redirect.github.com/fastapi/fastapi/pull/15731)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
        Update sponsors: remove Scalar. PR [#&#8203;15730](https://redirect.github.com/fastapi/fastapi/pull/15730)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
        the python-packages group across 1 directory with 6 updates. PR [#&#8203;15721](https://redirect.github.com/fastapi/fastapi/pull/15721)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump python-multipart from 0.0.29 to 0.0.30. PR [#&#8203;15723](https://redirect.github.com/fastapi/fastapi/pull/15723)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump the github-actions group with 3 updates. PR [#&#8203;15720](https://redirect.github.com/fastapi/fastapi/pull/15720)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump starlette from 1.1.0 to 1.2.1. PR [#&#8203;15722](https://redirect.github.com/fastapi/fastapi/pull/15722)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump <https://github.com/crate-ci/typos> from v1.46.0 to v1.47.1 in
        the pre-commit group. PR [#&#8203;15719](https://redirect.github.com/fastapi/fastapi/pull/15719)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \U0001F527 Update sponsors, add Rapidproxy. PR [#&#8203;15689](https://redirect.github.com/fastapi/fastapi/pull/15689)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
        Update sponsors: Remove TestMu. PR [#&#8203;15688](https://redirect.github.com/fastapi/fastapi/pull/15688)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
        the python-packages group across 1 directory with 11 updates. PR [#&#8203;15683](https://redirect.github.com/fastapi/fastapi/pull/15683)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump aiohttp from 3.13.4 to 3.14.0. PR [#&#8203;15681](https://redirect.github.com/fastapi/fastapi/pull/15681)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump the github-actions group with 2 updates. PR [#&#8203;15682](https://redirect.github.com/fastapi/fastapi/pull/15682)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump starlette from 1.0.0 to 1.1.0. PR [#&#8203;15684](https://redirect.github.com/fastapi/fastapi/pull/15684)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \U0001F465 Update FastAPI People - Experts. PR [#&#8203;15677](https://redirect.github.com/fastapi/fastapi/pull/15677)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
        Update FastAPI GitHub topic repositories. PR [#&#8203;15675](https://redirect.github.com/fastapi/fastapi/pull/15675)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
        Update FastAPI People - Contributors and Translators. PR [#&#8203;15662](https://redirect.github.com/fastapi/fastapi/pull/15662)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F477
        Automate release preparation. PR [#&#8203;15661](https://redirect.github.com/fastapi/fastapi/pull/15661)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F525
        Remove slim package stub, deprecated for a while. PR [#&#8203;15649](https://redirect.github.com/fastapi/fastapi/pull/15649)
        by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
        authlib from 1.6.11 to 1.7.2. PR [#&#8203;15512](https://redirect.github.com/fastapi/fastapi/pull/15512)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump pymdown-extensions from 10.21.2 to 10.21.3. PR [#&#8203;15569](https://redirect.github.com/fastapi/fastapi/pull/15569)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump CodSpeedHQ/action from 4.14.0 to 4.15.1. PR [#&#8203;15513](https://redirect.github.com/fastapi/fastapi/pull/15513)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \u2B06 Bump python-multipart from 0.0.26 to 0.0.29. PR [#&#8203;15595](https://redirect.github.com/fastapi/fastapi/pull/15595)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \U0001F512\uFE0F Improve GitHub actions security. PR [#&#8203;15607](https://redirect.github.com/fastapi/fastapi/pull/15607)
        by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u26B0\uFE0F
        Remove ruff and coverage ignores for non-existing files. PR [#&#8203;15610](https://redirect.github.com/fastapi/fastapi/pull/15610)
        by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
        Use custom `changing_dir` instead of `CLIRunner.isolated_filesystem` to set
        working dir. PR [#&#8203;15616](https://redirect.github.com/fastapi/fastapi/pull/15616)
        by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
        Add `httpx2` test dependency to avoid deprecation warning. PR [#&#8203;15603](https://redirect.github.com/fastapi/fastapi/pull/15603)
        by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2B06
        Bump the python-packages group with 15 updates. PR [#&#8203;15594](https://redirect.github.com/fastapi/fastapi/pull/15594)
        by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
        \U0001F477 Configure Dependabot to group updates and update weekly. PR [#&#8203;15560](https://redirect.github.com/fastapi/fastapi/pull/15560)
        by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n\n</details>\n\n---\n\n###
        Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
        At any time (no schedule defined)\n- Automerge\n  - 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/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
      change_url: https://github.com/osism/python-osism/pull/2375
      child_jobs: []
      commit_id: 58f86b191f6131df051c39189056a6e7fe47e776
      event_id: 04da4530-6828-11f1-99d3-08c706a7a6ae
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/73475755d317492d9c222f7185b0dc3a/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/73475755d317492d9c222f7185b0dc3a/work/logs
        result_data_file: /var/lib/zuul/builds/73475755d317492d9c222f7185b0dc3a/work/results.json
        src_root: /var/lib/zuul/builds/73475755d317492d9c222f7185b0dc3a/work/src
        work_root: /var/lib/zuul/builds/73475755d317492d9c222f7185b0dc3a/work
      include_vars: []
      items:
      - branch: main
        change: '2375'
        change_message: "Update dependency fastapi to v0.137.0\n\nThis PR contains
          the following updates:\n\n| Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/)
          | [Confidence](https://docs.renovatebot.com/merge-confidence/) |\n|---|---|---|---|\n|
          [fastapi](https://redirect.github.com/fastapi/fastapi) ([changelog](https://fastapi.tiangolo.com/release-notes/))
          | `==0.136.3` \u2192 `==0.137.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/fastapi/0.137.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/fastapi/0.136.3/0.137.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>fastapi/fastapi (fastapi)</summary>\n\n###
          [`v0.137.0`](https://redirect.github.com/fastapi/fastapi/releases/tag/0.137.0)\n\n[Compare
          Source](https://redirect.github.com/fastapi/fastapi/compare/0.136.3...0.137.0)\n\n#####
          Breaking Changes\n\n- \u267B\uFE0F Refactor internals to preserve `APIRouter`
          and `APIRoute` instances. PR [#&#8203;15745](https://redirect.github.com/fastapi/fastapi/pull/15745)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\nUnblocks
          \u2728 SO MANY THINGS \u2728\n\nBefore this, `router.include_router(other_router)`
          would take each path operation from `other_router` and \"clone\" it, or
          recreate it from scratch.\n\nThis would mean that in the end there was only
          one top level router, part of the app.\n\nThe way it is structured here
          is that there are a few additional classes to handle intermediate metadata
          for router and route inclusion. That way the information of \"router X includes
          Y and Y includes Z\" is stored somewhere, without affecting (recreating
          / clonning) the final route.\n\n##### Non Objectives\n\nDependencies for
          404: previously I intended to support dependencies that would be executed
          even for 404, but that would conflict with the fact that a router could
          *not* find a match, but the next router *did* find a match. Executing dependencies
          in the router that did not find a match would not make sense, they could
          consume the request, body, etc. This original idea was discarded.\n\n#####
          Specific Breaking Changes\n\nNow `router.routes` is no longer a plain list
          of `APIRoute` objects, it can contain these intermediate objects that can
          contain additional routers, forming a tree.\n\nAny logic that depended on
          iterating on the `router.routes` directly would be affected, that logic
          cannot expect to be able to extract data from a plain list of routes, as
          it's no longer a plain list but a tree.\n\nAdditionally, any logic that
          iterated on `router.routes` to modify them would now also see these new
          objects, and would not see all the routes in the app.\n\n`router.routes`
          should be considered an internal implementation detail, only passed around
          to the FastAPI functions that need it.\n\n##### Features\n\n- Adding routes
          (path operations) after a router is included now works, they are reflected
          as they are not copied.\n- Including `subrouter` in `mainrouter` can be
          done before adding routes (path operations) to `subrouter`, because now
          the the entire object is stored instead of copying the routes.\n- As routes
          are not copied, in some cases that might save some memory.\n\n##### Alpha
          Features\n\nThis is not documented yet, so it's not officially supported
          yet and could change in the future.\n\nBut, as `APIRoute` and `APIRouter`
          instances are now preserved, they could be customized.\n\n`APIRouter` has
          two new methods, `.matches()` and `.handle()`, counterpart to the existing
          ones in `APIRoute`. With this a router could customize how it matches and
          handles requests. For example, it could match only requests that include
          some specific header, for example for handling versions in headers.\n\nStill,
          for now, consider this very experimental and potentially changing and breaking
          in the future.\n\n##### Future Features Enabled\n\n- Custom `APIRoute` subclasses
          (undocumented, but alraedy works as desccribed above)\n- Custom `APIRouter`
          subclasses (undocumented, but already works as described above)\n- Dependencies
          per router\n- Exception handlers per router\n- Middleware per router\n-
          Other features planned\n\n##### Docs\n\n- \U0001F4DD Update release notes.
          PR [#&#8203;15747](https://redirect.github.com/fastapi/fastapi/pull/15747)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F4DD
          Update FastAPI Cloud deployment instructions. PR [#&#8203;15724](https://redirect.github.com/fastapi/fastapi/pull/15724)
          by [@&#8203;alejsdev](https://redirect.github.com/alejsdev).\n- \u270F\uFE0F
          Use `Annotated` in inline example in `docs/en/docs/tutorial/body-multiple-params.md`.
          PR [#&#8203;15591](https://redirect.github.com/fastapi/fastapi/pull/15591)
          by [@&#8203;TheArchons](https://redirect.github.com/TheArchons).\n- \U0001F4DD
          Remove \"NGINX Unit\" from the list of ASGI-servers in docs. PR [#&#8203;15475](https://redirect.github.com/fastapi/fastapi/pull/15475)
          by [@&#8203;angryfoxx](https://redirect.github.com/angryfoxx).\n- \U0001F4DD
          Update `docs/en/docs/tutorial/security/oauth2-jwt.md`. PR [#&#8203;14781](https://redirect.github.com/fastapi/fastapi/pull/14781)
          by [@&#8203;zadevhub](https://redirect.github.com/zadevhub).\n\n##### Translations\n\n-
          \U0001F310 Update translations for zh-hant (update-outdated). PR [#&#8203;15671](https://redirect.github.com/fastapi/fastapi/pull/15671)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for es (update-outdated). PR [#&#8203;15670](https://redirect.github.com/fastapi/fastapi/pull/15670)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for fr (update-outdated). PR [#&#8203;15669](https://redirect.github.com/fastapi/fastapi/pull/15669)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ja (update-outdated). PR [#&#8203;15668](https://redirect.github.com/fastapi/fastapi/pull/15668)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for pt (update-outdated). PR [#&#8203;15667](https://redirect.github.com/fastapi/fastapi/pull/15667)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for tr (update-outdated). PR [#&#8203;15666](https://redirect.github.com/fastapi/fastapi/pull/15666)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for zh (update-outdated). PR [#&#8203;15665](https://redirect.github.com/fastapi/fastapi/pull/15665)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ko (update-outdated). PR [#&#8203;15664](https://redirect.github.com/fastapi/fastapi/pull/15664)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for de (update-outdated). PR [#&#8203;15673](https://redirect.github.com/fastapi/fastapi/pull/15673)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for uk (update-outdated). PR [#&#8203;15672](https://redirect.github.com/fastapi/fastapi/pull/15672)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F310
          Update translations for ru (update-outdated). PR [#&#8203;15674](https://redirect.github.com/fastapi/fastapi/pull/15674)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n\n##### Internal\n\n-
          \U0001F527 Update sponsors: remove TalorData. PR [#&#8203;15744](https://redirect.github.com/fastapi/fastapi/pull/15744)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove ExoFlare. PR [#&#8203;15736](https://redirect.github.com/fastapi/fastapi/pull/15736)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove InterviewPal. PR [#&#8203;15735](https://redirect.github.com/fastapi/fastapi/pull/15735)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Liblab. PR [#&#8203;15731](https://redirect.github.com/fastapi/fastapi/pull/15731)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: remove Scalar. PR [#&#8203;15730](https://redirect.github.com/fastapi/fastapi/pull/15730)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 6 updates. PR [#&#8203;15721](https://redirect.github.com/fastapi/fastapi/pull/15721)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.29 to 0.0.30. PR [#&#8203;15723](https://redirect.github.com/fastapi/fastapi/pull/15723)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 3 updates. PR [#&#8203;15720](https://redirect.github.com/fastapi/fastapi/pull/15720)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.1.0 to 1.2.1. PR [#&#8203;15722](https://redirect.github.com/fastapi/fastapi/pull/15722)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump <https://github.com/crate-ci/typos> from v1.46.0 to v1.47.1
          in the pre-commit group. PR [#&#8203;15719](https://redirect.github.com/fastapi/fastapi/pull/15719)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F527 Update sponsors, add Rapidproxy. PR [#&#8203;15689](https://redirect.github.com/fastapi/fastapi/pull/15689)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F527
          Update sponsors: Remove TestMu. PR [#&#8203;15688](https://redirect.github.com/fastapi/fastapi/pull/15688)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          the python-packages group across 1 directory with 11 updates. PR [#&#8203;15683](https://redirect.github.com/fastapi/fastapi/pull/15683)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump aiohttp from 3.13.4 to 3.14.0. PR [#&#8203;15681](https://redirect.github.com/fastapi/fastapi/pull/15681)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump the github-actions group with 2 updates. PR [#&#8203;15682](https://redirect.github.com/fastapi/fastapi/pull/15682)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump starlette from 1.0.0 to 1.1.0. PR [#&#8203;15684](https://redirect.github.com/fastapi/fastapi/pull/15684)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F465 Update FastAPI People - Experts. PR [#&#8203;15677](https://redirect.github.com/fastapi/fastapi/pull/15677)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI GitHub topic repositories. PR [#&#8203;15675](https://redirect.github.com/fastapi/fastapi/pull/15675)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F465
          Update FastAPI People - Contributors and Translators. PR [#&#8203;15662](https://redirect.github.com/fastapi/fastapi/pull/15662)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F477
          Automate release preparation. PR [#&#8203;15661](https://redirect.github.com/fastapi/fastapi/pull/15661)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \U0001F525
          Remove slim package stub, deprecated for a while. PR [#&#8203;15649](https://redirect.github.com/fastapi/fastapi/pull/15649)
          by [@&#8203;tiangolo](https://redirect.github.com/tiangolo).\n- \u2B06 Bump
          authlib from 1.6.11 to 1.7.2. PR [#&#8203;15512](https://redirect.github.com/fastapi/fastapi/pull/15512)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump pymdown-extensions from 10.21.2 to 10.21.3. PR [#&#8203;15569](https://redirect.github.com/fastapi/fastapi/pull/15569)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump CodSpeedHQ/action from 4.14.0 to 4.15.1. PR [#&#8203;15513](https://redirect.github.com/fastapi/fastapi/pull/15513)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \u2B06 Bump python-multipart from 0.0.26 to 0.0.29. PR [#&#8203;15595](https://redirect.github.com/fastapi/fastapi/pull/15595)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F512\uFE0F Improve GitHub actions security. PR [#&#8203;15607](https://redirect.github.com/fastapi/fastapi/pull/15607)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u26B0\uFE0F
          Remove ruff and coverage ignores for non-existing files. PR [#&#8203;15610](https://redirect.github.com/fastapi/fastapi/pull/15610)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Use custom `changing_dir` instead of `CLIRunner.isolated_filesystem` to
          set working dir. PR [#&#8203;15616](https://redirect.github.com/fastapi/fastapi/pull/15616)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2705
          Add `httpx2` test dependency to avoid deprecation warning. PR [#&#8203;15603](https://redirect.github.com/fastapi/fastapi/pull/15603)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n- \u2B06
          Bump the python-packages group with 15 updates. PR [#&#8203;15594](https://redirect.github.com/fastapi/fastapi/pull/15594)
          by [@&#8203;dependabot\\[bot\\]](https://redirect.github.com/apps/dependabot).\n-
          \U0001F477 Configure Dependabot to group updates and update weekly. PR [#&#8203;15560](https://redirect.github.com/fastapi/fastapi/pull/15560)
          by [@&#8203;YuriiMotov](https://redirect.github.com/YuriiMotov).\n\n</details>\n\n---\n\n###
          Configuration\n\n\U0001F4C5 **Schedule**: (UTC)\n\n- Branch creation\n  -
          At any time (no schedule defined)\n- Automerge\n  - 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/python-osism).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTkuMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOS4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->\n"
        change_url: https://github.com/osism/python-osism/pull/2375
        commit_id: 58f86b191f6131df051c39189056a6e7fe47e776
        patchset: 58f86b191f6131df051c39189056a6e7fe47e776
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          name: osism/python-osism
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
        topic: null
      job: flake8
      jobtags: []
      max_attempts: 3
      message: VXBkYXRlIGRlcGVuZGVuY3kgZmFzdGFwaSB0byB2MC4xMzcuMAoKVGhpcyBQUiBjb250YWlucyB0aGUgZm9sbG93aW5nIHVwZGF0ZXM6Cgp8IFBhY2thZ2UgfCBDaGFuZ2UgfCBbQWdlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8IFtDb25maWRlbmNlXShodHRwczovL2RvY3MucmVub3ZhdGVib3QuY29tL21lcmdlLWNvbmZpZGVuY2UvKSB8CnwtLS18LS0tfC0tLXwtLS18CnwgW2Zhc3RhcGldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkpIChbY2hhbmdlbG9nXShodHRwczovL2Zhc3RhcGkudGlhbmdvbG8uY29tL3JlbGVhc2Utbm90ZXMvKSkgfCBgPT0wLjEzNi4zYCDihpIgYD09MC4xMzcuMGAgfCAhW2FnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2FnZS9weXBpL2Zhc3RhcGkvMC4xMzcuMD9zbGltPXRydWUpIHwgIVtjb25maWRlbmNlXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2FwaS9tYy9iYWRnZXMvY29uZmlkZW5jZS9weXBpL2Zhc3RhcGkvMC4xMzYuMy8wLjEzNy4wP3NsaW09dHJ1ZSkgfAoKLS0tCgojIyMgUmVsZWFzZSBOb3RlcwoKPGRldGFpbHM+CjxzdW1tYXJ5PmZhc3RhcGkvZmFzdGFwaSAoZmFzdGFwaSk8L3N1bW1hcnk+CgojIyMgW2B2MC4xMzcuMGBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcmVsZWFzZXMvdGFnLzAuMTM3LjApCgpbQ29tcGFyZSBTb3VyY2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvY29tcGFyZS8wLjEzNi4zLi4uMC4xMzcuMCkKCiMjIyMjIEJyZWFraW5nIENoYW5nZXMKCi0g4pm777iPIFJlZmFjdG9yIGludGVybmFscyB0byBwcmVzZXJ2ZSBgQVBJUm91dGVyYCBhbmQgYEFQSVJvdXRlYCBpbnN0YW5jZXMuIFBSIFsjJiM4MjAzOzE1NzQ1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU3NDUpIGJ5IFtAJiM4MjAzO3RpYW5nb2xvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGlhbmdvbG8pLgoKVW5ibG9ja3Mg4pyoIFNPIE1BTlkgVEhJTkdTIOKcqAoKQmVmb3JlIHRoaXMsIGByb3V0ZXIuaW5jbHVkZV9yb3V0ZXIob3RoZXJfcm91dGVyKWAgd291bGQgdGFrZSBlYWNoIHBhdGggb3BlcmF0aW9uIGZyb20gYG90aGVyX3JvdXRlcmAgYW5kICJjbG9uZSIgaXQsIG9yIHJlY3JlYXRlIGl0IGZyb20gc2NyYXRjaC4KClRoaXMgd291bGQgbWVhbiB0aGF0IGluIHRoZSBlbmQgdGhlcmUgd2FzIG9ubHkgb25lIHRvcCBsZXZlbCByb3V0ZXIsIHBhcnQgb2YgdGhlIGFwcC4KClRoZSB3YXkgaXQgaXMgc3RydWN0dXJlZCBoZXJlIGlzIHRoYXQgdGhlcmUgYXJlIGEgZmV3IGFkZGl0aW9uYWwgY2xhc3NlcyB0byBoYW5kbGUgaW50ZXJtZWRpYXRlIG1ldGFkYXRhIGZvciByb3V0ZXIgYW5kIHJvdXRlIGluY2x1c2lvbi4gVGhhdCB3YXkgdGhlIGluZm9ybWF0aW9uIG9mICJyb3V0ZXIgWCBpbmNsdWRlcyBZIGFuZCBZIGluY2x1ZGVzIFoiIGlzIHN0b3JlZCBzb21ld2hlcmUsIHdpdGhvdXQgYWZmZWN0aW5nIChyZWNyZWF0aW5nIC8gY2xvbm5pbmcpIHRoZSBmaW5hbCByb3V0ZS4KCiMjIyMjIE5vbiBPYmplY3RpdmVzCgpEZXBlbmRlbmNpZXMgZm9yIDQwNDogcHJldmlvdXNseSBJIGludGVuZGVkIHRvIHN1cHBvcnQgZGVwZW5kZW5jaWVzIHRoYXQgd291bGQgYmUgZXhlY3V0ZWQgZXZlbiBmb3IgNDA0LCBidXQgdGhhdCB3b3VsZCBjb25mbGljdCB3aXRoIHRoZSBmYWN0IHRoYXQgYSByb3V0ZXIgY291bGQgKm5vdCogZmluZCBhIG1hdGNoLCBidXQgdGhlIG5leHQgcm91dGVyICpkaWQqIGZpbmQgYSBtYXRjaC4gRXhlY3V0aW5nIGRlcGVuZGVuY2llcyBpbiB0aGUgcm91dGVyIHRoYXQgZGlkIG5vdCBmaW5kIGEgbWF0Y2ggd291bGQgbm90IG1ha2Ugc2Vuc2UsIHRoZXkgY291bGQgY29uc3VtZSB0aGUgcmVxdWVzdCwgYm9keSwgZXRjLiBUaGlzIG9yaWdpbmFsIGlkZWEgd2FzIGRpc2NhcmRlZC4KCiMjIyMjIFNwZWNpZmljIEJyZWFraW5nIENoYW5nZXMKCk5vdyBgcm91dGVyLnJvdXRlc2AgaXMgbm8gbG9uZ2VyIGEgcGxhaW4gbGlzdCBvZiBgQVBJUm91dGVgIG9iamVjdHMsIGl0IGNhbiBjb250YWluIHRoZXNlIGludGVybWVkaWF0ZSBvYmplY3RzIHRoYXQgY2FuIGNvbnRhaW4gYWRkaXRpb25hbCByb3V0ZXJzLCBmb3JtaW5nIGEgdHJlZS4KCkFueSBsb2dpYyB0aGF0IGRlcGVuZGVkIG9uIGl0ZXJhdGluZyBvbiB0aGUgYHJvdXRlci5yb3V0ZXNgIGRpcmVjdGx5IHdvdWxkIGJlIGFmZmVjdGVkLCB0aGF0IGxvZ2ljIGNhbm5vdCBleHBlY3QgdG8gYmUgYWJsZSB0byBleHRyYWN0IGRhdGEgZnJvbSBhIHBsYWluIGxpc3Qgb2Ygcm91dGVzLCBhcyBpdCdzIG5vIGxvbmdlciBhIHBsYWluIGxpc3QgYnV0IGEgdHJlZS4KCkFkZGl0aW9uYWxseSwgYW55IGxvZ2ljIHRoYXQgaXRlcmF0ZWQgb24gYHJvdXRlci5yb3V0ZXNgIHRvIG1vZGlmeSB0aGVtIHdvdWxkIG5vdyBhbHNvIHNlZSB0aGVzZSBuZXcgb2JqZWN0cywgYW5kIHdvdWxkIG5vdCBzZWUgYWxsIHRoZSByb3V0ZXMgaW4gdGhlIGFwcC4KCmByb3V0ZXIucm91dGVzYCBzaG91bGQgYmUgY29uc2lkZXJlZCBhbiBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbiBkZXRhaWwsIG9ubHkgcGFzc2VkIGFyb3VuZCB0byB0aGUgRmFzdEFQSSBmdW5jdGlvbnMgdGhhdCBuZWVkIGl0LgoKIyMjIyMgRmVhdHVyZXMKCi0gQWRkaW5nIHJvdXRlcyAocGF0aCBvcGVyYXRpb25zKSBhZnRlciBhIHJvdXRlciBpcyBpbmNsdWRlZCBub3cgd29ya3MsIHRoZXkgYXJlIHJlZmxlY3RlZCBhcyB0aGV5IGFyZSBub3QgY29waWVkLgotIEluY2x1ZGluZyBgc3Vicm91dGVyYCBpbiBgbWFpbnJvdXRlcmAgY2FuIGJlIGRvbmUgYmVmb3JlIGFkZGluZyByb3V0ZXMgKHBhdGggb3BlcmF0aW9ucykgdG8gYHN1YnJvdXRlcmAsIGJlY2F1c2Ugbm93IHRoZSB0aGUgZW50aXJlIG9iamVjdCBpcyBzdG9yZWQgaW5zdGVhZCBvZiBjb3B5aW5nIHRoZSByb3V0ZXMuCi0gQXMgcm91dGVzIGFyZSBub3QgY29waWVkLCBpbiBzb21lIGNhc2VzIHRoYXQgbWlnaHQgc2F2ZSBzb21lIG1lbW9yeS4KCiMjIyMjIEFscGhhIEZlYXR1cmVzCgpUaGlzIGlzIG5vdCBkb2N1bWVudGVkIHlldCwgc28gaXQncyBub3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgeWV0IGFuZCBjb3VsZCBjaGFuZ2UgaW4gdGhlIGZ1dHVyZS4KCkJ1dCwgYXMgYEFQSVJvdXRlYCBhbmQgYEFQSVJvdXRlcmAgaW5zdGFuY2VzIGFyZSBub3cgcHJlc2VydmVkLCB0aGV5IGNvdWxkIGJlIGN1c3RvbWl6ZWQuCgpgQVBJUm91dGVyYCBoYXMgdHdvIG5ldyBtZXRob2RzLCBgLm1hdGNoZXMoKWAgYW5kIGAuaGFuZGxlKClgLCBjb3VudGVycGFydCB0byB0aGUgZXhpc3Rpbmcgb25lcyBpbiBgQVBJUm91dGVgLiBXaXRoIHRoaXMgYSByb3V0ZXIgY291bGQgY3VzdG9taXplIGhvdyBpdCBtYXRjaGVzIGFuZCBoYW5kbGVzIHJlcXVlc3RzLiBGb3IgZXhhbXBsZSwgaXQgY291bGQgbWF0Y2ggb25seSByZXF1ZXN0cyB0aGF0IGluY2x1ZGUgc29tZSBzcGVjaWZpYyBoZWFkZXIsIGZvciBleGFtcGxlIGZvciBoYW5kbGluZyB2ZXJzaW9ucyBpbiBoZWFkZXJzLgoKU3RpbGwsIGZvciBub3csIGNvbnNpZGVyIHRoaXMgdmVyeSBleHBlcmltZW50YWwgYW5kIHBvdGVudGlhbGx5IGNoYW5naW5nIGFuZCBicmVha2luZyBpbiB0aGUgZnV0dXJlLgoKIyMjIyMgRnV0dXJlIEZlYXR1cmVzIEVuYWJsZWQKCi0gQ3VzdG9tIGBBUElSb3V0ZWAgc3ViY2xhc3NlcyAodW5kb2N1bWVudGVkLCBidXQgYWxyYWVkeSB3b3JrcyBhcyBkZXNjY3JpYmVkIGFib3ZlKQotIEN1c3RvbSBgQVBJUm91dGVyYCBzdWJjbGFzc2VzICh1bmRvY3VtZW50ZWQsIGJ1dCBhbHJlYWR5IHdvcmtzIGFzIGRlc2NyaWJlZCBhYm92ZSkKLSBEZXBlbmRlbmNpZXMgcGVyIHJvdXRlcgotIEV4Y2VwdGlvbiBoYW5kbGVycyBwZXIgcm91dGVyCi0gTWlkZGxld2FyZSBwZXIgcm91dGVyCi0gT3RoZXIgZmVhdHVyZXMgcGxhbm5lZAoKIyMjIyMgRG9jcwoKLSDwn5OdIFVwZGF0ZSByZWxlYXNlIG5vdGVzLiBQUiBbIyYjODIwMzsxNTc0N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzQ3KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn5OdIFVwZGF0ZSBGYXN0QVBJIENsb3VkIGRlcGxveW1lbnQgaW5zdHJ1Y3Rpb25zLiBQUiBbIyYjODIwMzsxNTcyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzI0KSBieSBbQCYjODIwMzthbGVqc2Rldl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FsZWpzZGV2KS4KLSDinI/vuI8gVXNlIGBBbm5vdGF0ZWRgIGluIGlubGluZSBleGFtcGxlIGluIGBkb2NzL2VuL2RvY3MvdHV0b3JpYWwvYm9keS1tdWx0aXBsZS1wYXJhbXMubWRgLiBQUiBbIyYjODIwMzsxNTU5MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NTkxKSBieSBbQCYjODIwMztUaGVBcmNob25zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vVGhlQXJjaG9ucykuCi0g8J+TnSBSZW1vdmUgIk5HSU5YIFVuaXQiIGZyb20gdGhlIGxpc3Qgb2YgQVNHSS1zZXJ2ZXJzIGluIGRvY3MuIFBSIFsjJiM4MjAzOzE1NDc1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU0NzUpIGJ5IFtAJiM4MjAzO2FuZ3J5Zm94eF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FuZ3J5Zm94eCkuCi0g8J+TnSBVcGRhdGUgYGRvY3MvZW4vZG9jcy90dXRvcmlhbC9zZWN1cml0eS9vYXV0aDItand0Lm1kYC4gUFIgWyMmIzgyMDM7MTQ3ODFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNDc4MSkgYnkgW0AmIzgyMDM7emFkZXZodWJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS96YWRldmh1YikuCgojIyMjIyBUcmFuc2xhdGlvbnMKCi0g8J+MkCBVcGRhdGUgdHJhbnNsYXRpb25zIGZvciB6aC1oYW50ICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY3MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjcxKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIGVzICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY3MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjcwKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIGZyICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY5KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIGphICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY4KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIHB0ICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY3KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIHRyICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY2KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIHpoICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY1KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIGtvICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY2NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjY0KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIGRlICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY3M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjczKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIHVrICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY3Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjcyKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn4yQIFVwZGF0ZSB0cmFuc2xhdGlvbnMgZm9yIHJ1ICh1cGRhdGUtb3V0ZGF0ZWQpLiBQUiBbIyYjODIwMzsxNTY3NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1Njc0KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KCiMjIyMjIEludGVybmFsCgotIPCflKcgVXBkYXRlIHNwb25zb3JzOiByZW1vdmUgVGFsb3JEYXRhLiBQUiBbIyYjODIwMzsxNTc0NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzQ0KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn5SnIFVwZGF0ZSBzcG9uc29yczogcmVtb3ZlIEV4b0ZsYXJlLiBQUiBbIyYjODIwMzsxNTczNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzM2KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn5SnIFVwZGF0ZSBzcG9uc29yczogcmVtb3ZlIEludGVydmlld1BhbC4gUFIgWyMmIzgyMDM7MTU3MzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTczNSkgYnkgW0AmIzgyMDM7dGlhbmdvbG9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90aWFuZ29sbykuCi0g8J+UpyBVcGRhdGUgc3BvbnNvcnM6IHJlbW92ZSBMaWJsYWIuIFBSIFsjJiM4MjAzOzE1NzMxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU3MzEpIGJ5IFtAJiM4MjAzO3RpYW5nb2xvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGlhbmdvbG8pLgotIPCflKcgVXBkYXRlIHNwb25zb3JzOiByZW1vdmUgU2NhbGFyLiBQUiBbIyYjODIwMzsxNTczMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzMwKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDirIYgQnVtcCB0aGUgcHl0aG9uLXBhY2thZ2VzIGdyb3VwIGFjcm9zcyAxIGRpcmVjdG9yeSB3aXRoIDYgdXBkYXRlcy4gUFIgWyMmIzgyMDM7MTU3MjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTcyMSkgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdFxbYm90XF1dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hcHBzL2RlcGVuZGFib3QpLgotIOKshiBCdW1wIHB5dGhvbi1tdWx0aXBhcnQgZnJvbSAwLjAuMjkgdG8gMC4wLjMwLiBQUiBbIyYjODIwMzsxNTcyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzIzKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgdGhlIGdpdGh1Yi1hY3Rpb25zIGdyb3VwIHdpdGggMyB1cGRhdGVzLiBQUiBbIyYjODIwMzsxNTcyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NzIwKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgc3RhcmxldHRlIGZyb20gMS4xLjAgdG8gMS4yLjEuIFBSIFsjJiM4MjAzOzE1NzIyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU3MjIpIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RcW2JvdFxdXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90KS4KLSDirIYgQnVtcCA8aHR0cHM6Ly9naXRodWIuY29tL2NyYXRlLWNpL3R5cG9zPiBmcm9tIHYxLjQ2LjAgdG8gdjEuNDcuMSBpbiB0aGUgcHJlLWNvbW1pdCBncm91cC4gUFIgWyMmIzgyMDM7MTU3MTldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTcxOSkgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdFxbYm90XF1dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hcHBzL2RlcGVuZGFib3QpLgotIPCflKcgVXBkYXRlIHNwb25zb3JzLCBhZGQgUmFwaWRwcm94eS4gUFIgWyMmIzgyMDM7MTU2ODldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTY4OSkgYnkgW0AmIzgyMDM7dGlhbmdvbG9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90aWFuZ29sbykuCi0g8J+UpyBVcGRhdGUgc3BvbnNvcnM6IFJlbW92ZSBUZXN0TXUuIFBSIFsjJiM4MjAzOzE1Njg4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2ODgpIGJ5IFtAJiM4MjAzO3RpYW5nb2xvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGlhbmdvbG8pLgotIOKshiBCdW1wIHRoZSBweXRob24tcGFja2FnZXMgZ3JvdXAgYWNyb3NzIDEgZGlyZWN0b3J5IHdpdGggMTEgdXBkYXRlcy4gUFIgWyMmIzgyMDM7MTU2ODNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTY4MykgYnkgW0AmIzgyMDM7ZGVwZW5kYWJvdFxbYm90XF1dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9hcHBzL2RlcGVuZGFib3QpLgotIOKshiBCdW1wIGFpb2h0dHAgZnJvbSAzLjEzLjQgdG8gMy4xNC4wLiBQUiBbIyYjODIwMzsxNTY4MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjgxKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgdGhlIGdpdGh1Yi1hY3Rpb25zIGdyb3VwIHdpdGggMiB1cGRhdGVzLiBQUiBbIyYjODIwMzsxNTY4Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjgyKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgc3RhcmxldHRlIGZyb20gMS4wLjAgdG8gMS4xLjAuIFBSIFsjJiM4MjAzOzE1Njg0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2ODQpIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RcW2JvdFxdXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90KS4KLSDwn5GlIFVwZGF0ZSBGYXN0QVBJIFBlb3BsZSAtIEV4cGVydHMuIFBSIFsjJiM4MjAzOzE1Njc3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2NzcpIGJ5IFtAJiM4MjAzO3RpYW5nb2xvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGlhbmdvbG8pLgotIPCfkaUgVXBkYXRlIEZhc3RBUEkgR2l0SHViIHRvcGljIHJlcG9zaXRvcmllcy4gUFIgWyMmIzgyMDM7MTU2NzVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTY3NSkgYnkgW0AmIzgyMDM7dGlhbmdvbG9dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90aWFuZ29sbykuCi0g8J+RpSBVcGRhdGUgRmFzdEFQSSBQZW9wbGUgLSBDb250cmlidXRvcnMgYW5kIFRyYW5zbGF0b3JzLiBQUiBbIyYjODIwMzsxNTY2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjYyKSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDwn5G3IEF1dG9tYXRlIHJlbGVhc2UgcHJlcGFyYXRpb24uIFBSIFsjJiM4MjAzOzE1NjYxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2NjEpIGJ5IFtAJiM4MjAzO3RpYW5nb2xvXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vdGlhbmdvbG8pLgotIPCflKUgUmVtb3ZlIHNsaW0gcGFja2FnZSBzdHViLCBkZXByZWNhdGVkIGZvciBhIHdoaWxlLiBQUiBbIyYjODIwMzsxNTY0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjQ5KSBieSBbQCYjODIwMzt0aWFuZ29sb10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3RpYW5nb2xvKS4KLSDirIYgQnVtcCBhdXRobGliIGZyb20gMS42LjExIHRvIDEuNy4yLiBQUiBbIyYjODIwMzsxNTUxMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NTEyKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgcHltZG93bi1leHRlbnNpb25zIGZyb20gMTAuMjEuMiB0byAxMC4yMS4zLiBQUiBbIyYjODIwMzsxNTU2OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NTY5KSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgQ29kU3BlZWRIUS9hY3Rpb24gZnJvbSA0LjE0LjAgdG8gNC4xNS4xLiBQUiBbIyYjODIwMzsxNTUxM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NTEzKSBieSBbQCYjODIwMztkZXBlbmRhYm90XFtib3RcXV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2FwcHMvZGVwZW5kYWJvdCkuCi0g4qyGIEJ1bXAgcHl0aG9uLW11bHRpcGFydCBmcm9tIDAuMC4yNiB0byAwLjAuMjkuIFBSIFsjJiM4MjAzOzE1NTk1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU1OTUpIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RcW2JvdFxdXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90KS4KLSDwn5SS77iPIEltcHJvdmUgR2l0SHViIGFjdGlvbnMgc2VjdXJpdHkuIFBSIFsjJiM4MjAzOzE1NjA3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2MDcpIGJ5IFtAJiM4MjAzO1l1cmlpTW90b3ZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ZdXJpaU1vdG92KS4KLSDimrDvuI8gUmVtb3ZlIHJ1ZmYgYW5kIGNvdmVyYWdlIGlnbm9yZXMgZm9yIG5vbi1leGlzdGluZyBmaWxlcy4gUFIgWyMmIzgyMDM7MTU2MTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9mYXN0YXBpL2Zhc3RhcGkvcHVsbC8xNTYxMCkgYnkgW0AmIzgyMDM7WXVyaWlNb3Rvdl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1l1cmlpTW90b3YpLgotIOKchSBVc2UgY3VzdG9tIGBjaGFuZ2luZ19kaXJgIGluc3RlYWQgb2YgYENMSVJ1bm5lci5pc29sYXRlZF9maWxlc3lzdGVtYCB0byBzZXQgd29ya2luZyBkaXIuIFBSIFsjJiM4MjAzOzE1NjE2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU2MTYpIGJ5IFtAJiM4MjAzO1l1cmlpTW90b3ZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ZdXJpaU1vdG92KS4KLSDinIUgQWRkIGBodHRweDJgIHRlc3QgZGVwZW5kZW5jeSB0byBhdm9pZCBkZXByZWNhdGlvbiB3YXJuaW5nLiBQUiBbIyYjODIwMzsxNTYwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2Zhc3RhcGkvZmFzdGFwaS9wdWxsLzE1NjAzKSBieSBbQCYjODIwMztZdXJpaU1vdG92XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vWXVyaWlNb3RvdikuCi0g4qyGIEJ1bXAgdGhlIHB5dGhvbi1wYWNrYWdlcyBncm91cCB3aXRoIDE1IHVwZGF0ZXMuIFBSIFsjJiM4MjAzOzE1NTk0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU1OTQpIGJ5IFtAJiM4MjAzO2RlcGVuZGFib3RcW2JvdFxdXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYXBwcy9kZXBlbmRhYm90KS4KLSDwn5G3IENvbmZpZ3VyZSBEZXBlbmRhYm90IHRvIGdyb3VwIHVwZGF0ZXMgYW5kIHVwZGF0ZSB3ZWVrbHkuIFBSIFsjJiM4MjAzOzE1NTYwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZmFzdGFwaS9mYXN0YXBpL3B1bGwvMTU1NjApIGJ5IFtAJiM4MjAzO1l1cmlpTW90b3ZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ZdXJpaU1vdG92KS4KCjwvZGV0YWlscz4KCi0tLQoKIyMjIENvbmZpZ3VyYXRpb24KCvCfk4UgKipTY2hlZHVsZSoqOiAoVVRDKQoKLSBCcmFuY2ggY3JlYXRpb24KICAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKQotIEF1dG9tZXJnZQogIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpCgrwn5qmICoqQXV0b21lcmdlKio6IERpc2FibGVkIGJ5IGNvbmZpZy4gUGxlYXNlIG1lcmdlIHRoaXMgbWFudWFsbHkgb25jZSB5b3UgYXJlIHNhdGlzZmllZC4KCuKZuyAqKlJlYmFzaW5nKio6IFdoZW5ldmVyIFBSIGJlY29tZXMgY29uZmxpY3RlZCwgb3IgeW91IHRpY2sgdGhlIHJlYmFzZS9yZXRyeSBjaGVja2JveC4KCvCflJUgKipJZ25vcmUqKjogQ2xvc2UgdGhpcyBQUiBhbmQgeW91IHdvbid0IGJlIHJlbWluZGVkIGFib3V0IHRoaXMgdXBkYXRlIGFnYWluLgoKLS0tCgogLSBbIF0gPCEtLSByZWJhc2UtY2hlY2sgLS0+SWYgeW91IHdhbnQgdG8gcmViYXNlL3JldHJ5IHRoaXMgUFIsIGNoZWNrIHRoaXMgYm94CgotLS0KClRoaXMgUFIgd2FzIGdlbmVyYXRlZCBieSBbTWVuZCBSZW5vdmF0ZV0oaHR0cHM6Ly9tZW5kLmlvL3Jlbm92YXRlLykuIFZpZXcgdGhlIFtyZXBvc2l0b3J5IGpvYiBsb2ddKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vZ2l0aHViL29zaXNtL3B5dGhvbi1vc2lzbSkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNeTR5TVRrdU1DSXNJblZ3WkdGMFpXUkpibFpsY2lJNklqUXpMakl4T1M0d0lpd2lkR0Z5WjJWMFFuSmhibU5vSWpvaWJXRnBiaUlzSW14aFltVnNjeUk2V3lKeVpXNXZkbUYwWlNKZGZRPT0tLT4K
      patchset: 58f86b191f6131df051c39189056a6e7fe47e776
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 688445d15ac2c497396b682f69c57ccd484f5f25
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
          trusted/project_2/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: 0c74c57cedff2b36bb37ca68a5338d1c49991496
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 688445d15ac2c497396b682f69c57ccd484f5f25
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 038dd8b856c62af4433c8477c5cb3d0480847059
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/flake8/run.yaml
          roles:
          - checkout: main
            checkout_description: zuul branch
            link_name: ansible/playbook_0/role_0/zuul-config
            link_target: untrusted/project_1/github.com/osism/zuul-config
            role_path: ansible/playbook_0/role_0/zuul-config/roles
          - checkout: master
            checkout_description: project default branch
            link_name: ansible/playbook_0/role_1/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_1/openinfra-zuul-jobs/roles
          - checkout: main
            checkout_description: playbook branch
            link_name: ansible/playbook_0/role_2/zuul-jobs
            link_target: untrusted/project_0/github.com/osism/zuul-jobs
            role_path: ansible/playbook_0/role_2/zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/python-osism
        name: osism/python-osism
        short_name: python-osism
        src_dir: src/github.com/osism/python-osism
      projects:
        github.com/osism/python-osism:
          canonical_hostname: github.com
          canonical_name: github.com/osism/python-osism
          checkout: main
          checkout_description: zuul branch
          commit: 1f91747ad4d6e64c7e9787f8803b65ff1b0a4969
          name: osism/python-osism
          required: false
          short_name: python-osism
          src_dir: src/github.com/osism/python-osism
      ref: refs/pull/2375/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
