all:
  children:
    zuul_unreachable:
      hosts: {}
  hosts:
    debian-bookworm:
      ansible_connection: ssh
      ansible_host: 2a13:1a81:8000:3124:f816:3eff:fe0a:24f
      ansible_port: 22
      ansible_python_interpreter: auto
      ansible_user: zuul
      nodepool:
        az: nova
        cloud: regiocloud-a-ci
        external_id: a5066576-ee83-4aff-8c51-82073d4b17ba
        host_id: 82101243836454d7401d5893feae9e2c5df7cc291646d8a99b33b53b
        interface_ip: 2a13:1a81:8000:3124:f816:3eff:fe0a:24f
        label: debian-bookworm
        node_properties: {}
        private_ipv4: 10.128.0.106
        private_ipv6: null
        provider: regiocloud-a
        public_ipv4: 81.163.193.157
        public_ipv6: 2a13:1a81:8000:3124:f816:3eff:fe0a:24f
        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 ansible-lint explicit: None implied: {MatchAny:{ImpliedBranchMatcher:main}}
        source: osism/zuul-jobs/.zuul.yaml@main#7>'
      - '<Job ansible-lint explicit: None implied: None source: osism/cloud-in-a-box/.zuul.yaml@main#15>'
      ansible_version: '9'
      attempts: 1
      branch: main
      build: 4c79dfb2c3cd4ddca1a379e5b39afd03
      build_refs:
      - branch: main
        change: '425'
        change_message: "chore(deps): update dependency packaging to v26\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|
          [packaging](https://redirect.github.com/pypa/packaging) | `==25.0` \u2192
          `==26.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/25.0/26.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pypa/packaging (packaging)</summary>\n\n###
          [`v26.0`](https://redirect.github.com/pypa/packaging/releases/tag/26.0)\n\n[Compare
          Source](https://redirect.github.com/pypa/packaging/compare/25.0...26.0)\n\nRead
          about the performance improvements here: <https://iscinumpy.dev/post/packaging-faster>.\n\n####
          What's Changed\n\nFeatures:\n\n- PEP 751: support pylock by [@&#8203;sbidoul](https://redirect.github.com/sbidoul)
          in [#&#8203;900](https://redirect.github.com/pypa/packaging/pull/900)\n-
          PEP 794: import name metadata by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;948](https://redirect.github.com/pypa/packaging/pull/948)\n-
          Support writing metadata by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;846](https://redirect.github.com/pypa/packaging/pull/846)\n-
          Support `__replace__` for `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1003](https://redirect.github.com/pypa/packaging/pull/1003)\n-
          Support positional pattern matching for `Version` and `Specifier` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1004](https://redirect.github.com/pypa/packaging/pull/1004)\n\nBehavior
          adaptations:\n\n- PEP 440 handling of prereleases for `Specifier.contains`,
          `SpecifierSet.contains`, and `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;897](https://redirect.github.com/pypa/packaging/pull/897)\n-
          Handle PEP 440 edge case in `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;942](https://redirect.github.com/pypa/packaging/pull/942)\n-
          Adjust arbitrary equality intersection preservation in `SpecifierSet` by
          [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;951](https://redirect.github.com/pypa/packaging/pull/951)\n-
          Return `False` instead of raising for `.contains` with invalid version by
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          Support arbitrary equality on arbitrary strings for `Specifier` and `SpecifierSet`'s
          `filter` and `contains` method. by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;954](https://redirect.github.com/pypa/packaging/pull/954)\n-
          Only try to parse as `Version` on certain marker keys, return `False` on
          unequal ordered comparsions by [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis)
          in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\nFixes:\n\n-
          Update `_hash` when unpickling `Tag()` by [@&#8203;dholth](https://redirect.github.com/dholth)
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          Correct comment and simplify implicit prerelease handling in `Specifier.prereleases`
          by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;896](https://redirect.github.com/pypa/packaging/pull/896)\n-
          Use explicit `_GLibCVersion` `NamedTuple` in `_manylinux` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          Detect invalid license expressions containing `()` by [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend)
          in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          Correct regex for metadata `'name'` format by [@&#8203;di](https://redirect.github.com/di)
          in [#&#8203;925](https://redirect.github.com/pypa/packaging/pull/925)\n-
          Improve the message around expecting a semicolon by [@&#8203;pradyunsg](https://redirect.github.com/pradyunsg)
          in [#&#8203;833](https://redirect.github.com/pypa/packaging/pull/833)\n-
          Support nested parens in license expressions by [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe)
          in [#&#8203;931](https://redirect.github.com/pypa/packaging/pull/931)\n-
          Add space before at symbol in `Requirements` string by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;953](https://redirect.github.com/pypa/packaging/pull/953)\n-
          A root logger use found by ruff LOG, use `packaging` logger instead by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;965](https://redirect.github.com/pypa/packaging/pull/965)\n-
          Better support for subclassing `Marker` and `Requirement` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1022](https://redirect.github.com/pypa/packaging/pull/1022)\n-
          Normalize all extras, not just if it comes first by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1024](https://redirect.github.com/pypa/packaging/pull/1024)\n-
          Don't produce a broken repr if `Marker` fails to construct by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1033](https://redirect.github.com/pypa/packaging/pull/1033)\n\nPerformance:\n\n-
          Avoid recompiling regexes in the tokenizer for a 3x speedup by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;1019](https://redirect.github.com/pypa/packaging/pull/1019)\n-
          Improve performance in `_manylinux.py` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;869](https://redirect.github.com/pypa/packaging/pull/869)\n-
          Minor cleanups to `Version` by [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism)
          in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          Skip redundant creation of `Version`s in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;986](https://redirect.github.com/pypa/packaging/pull/986)\n-
          Cache `Specifier`'s Version by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;985](https://redirect.github.com/pypa/packaging/pull/985)\n-
          Make `Version` a little faster by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;987](https://redirect.github.com/pypa/packaging/pull/987)\n-
          Minor `Version` regex cleanup by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;990](https://redirect.github.com/pypa/packaging/pull/990)\n-
          Faster regex on Python 3.11.5+ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;988](https://redirect.github.com/pypa/packaging/pull/988) and
          [#&#8203;1055](https://redirect.github.com/pypa/packaging/pull/1055)\n-
          Lazily calculate `_key` in `Version` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;989](https://redirect.github.com/pypa/packaging/pull/989) and
          regression for `packaging_legacy` fixed by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1048](https://redirect.github.com/pypa/packaging/pull/1048)\n-
          Faster `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;993](https://redirect.github.com/pypa/packaging/pull/993)\n-
          Use `fullmatch` in a couple more places by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;992](https://redirect.github.com/pypa/packaging/pull/992)\n-
          Use `fullmatch` for markers too by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1029](https://redirect.github.com/pypa/packaging/pull/1029)\n-
          Use `map` instead of generator by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;996](https://redirect.github.com/pypa/packaging/pull/996)\n-
          Deprecate `._version` (`_Version`, a `NamedTuple`) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;995](https://redirect.github.com/pypa/packaging/pull/995) and
          [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n-
          Avoid duplicate `Version` creation in `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;994](https://redirect.github.com/pypa/packaging/pull/994)\n-
          Add `__slots__` to `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1001](https://redirect.github.com/pypa/packaging/pull/1001)\n-
          Add `__slots__` to `Specifier`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1002](https://redirect.github.com/pypa/packaging/pull/1002)\n-
          Add `__slots__` to `Node`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1032](https://redirect.github.com/pypa/packaging/pull/1032)\n-
          Use `version.__replace__` in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;999](https://redirect.github.com/pypa/packaging/pull/999)\n-
          Use `_get_spec_version` in more places in `Specifier` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1005](https://redirect.github.com/pypa/packaging/pull/1005)\n-
          Pull `set` construction out of function by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1012](https://redirect.github.com/pypa/packaging/pull/1012)\n-
          Letter normalization dict for prereleases and the like by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1014](https://redirect.github.com/pypa/packaging/pull/1014)\n-
          Avoid normalizing extras again when comparing by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1028](https://redirect.github.com/pypa/packaging/pull/1028)\n-
          Speed up `Version.__str__` by about 10% by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;997](https://redirect.github.com/pypa/packaging/pull/997)\n-
          Increase the performance of `canonicalize_name` by avoiding a regex by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1030](https://redirect.github.com/pypa/packaging/pull/1030),
          [#&#8203;1047](https://redirect.github.com/pypa/packaging/pull/1047), and
          [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n-
          Faster zero stripping by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1058](https://redirect.github.com/pypa/packaging/pull/1058)\n\nType
          annotations:\n\n- Fix a type annotation by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;907](https://redirect.github.com/pypa/packaging/pull/907)\n-
          Fix tags return type in `parse_wheel_filename` docs by [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan)
          in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          Add type hint for `_version` in `.version.Version` by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;927](https://redirect.github.com/pypa/packaging/pull/927)\n-
          Changed static type annotations in prereleases setter method in `specifier.py`
          by [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01)
          in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          Statically type the tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;982](https://redirect.github.com/pypa/packaging/pull/982)\n\nInternal:\n\n-
          Test and declare support Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;901](https://redirect.github.com/pypa/packaging/pull/901)\n-
          Modernize and speed up tests on Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;903](https://redirect.github.com/pypa/packaging/pull/903)\n-
          Change our license metadata to use an SPDX license expression by [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          No need for `license-files` by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;924](https://redirect.github.com/pypa/packaging/pull/924)\n-
          Update mypy by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;891](https://redirect.github.com/pypa/packaging/pull/891)\n-
          Some config updates by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;902](https://redirect.github.com/pypa/packaging/pull/902)\n-
          Add spell check and rst check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;904](https://redirect.github.com/pypa/packaging/pull/904)\n-
          Clean up ruff ignores by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;905](https://redirect.github.com/pypa/packaging/pull/905)\n-
          Update example for env marker `python_version` by [@&#8203;trim21](https://redirect.github.com/trim21)
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          Move codespell configuration into pyproject.toml by [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic)
          in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          Check warning a little more precisely by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;837](https://redirect.github.com/pypa/packaging/pull/837)\n-
          Speed up mypy a little by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;836](https://redirect.github.com/pypa/packaging/pull/836)\n-
          Apply ruff/flake8-pyi rules (PYI) by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;835](https://redirect.github.com/pypa/packaging/pull/835)\n-
          Better local runs for codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;911](https://redirect.github.com/pypa/packaging/pull/911)\n-
          Remove outdated/confusing Gist link by [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846)
          in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          Fix docs and docs ci after [#&#8203;897](https://redirect.github.com/pypa/packaging/issues/897)
          landed by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;926](https://redirect.github.com/pypa/packaging/pull/926)\n-
          Run twine-check on push in CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          `ruff` was renamed `ruff-check` in pre-commit by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;933](https://redirect.github.com/pypa/packaging/pull/933)\n-
          Fix incorrectly implicitly concatenated string in specifiers test by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;946](https://redirect.github.com/pypa/packaging/pull/946)\n-
          Simplify conditional by [@&#8203;ofek](https://redirect.github.com/ofek)
          in [#&#8203;949](https://redirect.github.com/pypa/packaging/pull/949)\n-
          Modernize nox, use dependency-groups for tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;952](https://redirect.github.com/pypa/packaging/pull/952)\n-
          Add more checks that don't affect anything by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;957](https://redirect.github.com/pypa/packaging/pull/957)\n-
          Enable Ruff ISC rule by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;959](https://redirect.github.com/pypa/packaging/pull/959)\n-
          Ruff code FLY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;963](https://redirect.github.com/pypa/packaging/pull/963)\n-
          pytest `log_level` is better than `log_cli_level` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;956](https://redirect.github.com/pypa/packaging/pull/956)\n-
          Ruff code TRY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;961](https://redirect.github.com/pypa/packaging/pull/961)\n-
          Add the ruff PL checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;964](https://redirect.github.com/pypa/packaging/pull/964)\n-
          Enable Ruff ARG rules by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;958](https://redirect.github.com/pypa/packaging/pull/958)\n-
          Ruff PT code (pytest) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;960](https://redirect.github.com/pypa/packaging/pull/960)\n-
          Add ruff DTZ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;968](https://redirect.github.com/pypa/packaging/pull/968)\n-
          Add ruff BLE by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;967](https://redirect.github.com/pypa/packaging/pull/967)\n-
          Add the ruff SIM checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;966](https://redirect.github.com/pypa/packaging/pull/966)\n-
          Adding ruff PERF by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;969](https://redirect.github.com/pypa/packaging/pull/969)\n-
          Move some config into coverage config by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;971](https://redirect.github.com/pypa/packaging/pull/971)\n-
          Check ruff C4 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;962](https://redirect.github.com/pypa/packaging/pull/962)\n-
          Adding ruff T20 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;972](https://redirect.github.com/pypa/packaging/pull/972)\n-
          Add a tests pass job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;977](https://redirect.github.com/pypa/packaging/pull/977)\n-
          Add ruff TC by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;980](https://redirect.github.com/pypa/packaging/pull/980)\n-
          Adding part of ruff RET by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;979](https://redirect.github.com/pypa/packaging/pull/979)\n-
          Reorder mypy check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;983](https://redirect.github.com/pypa/packaging/pull/983)\n-
          Enable ruff ALL by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;984](https://redirect.github.com/pypa/packaging/pull/984)\n-
          Link back to repo/source in furo by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;991](https://redirect.github.com/pypa/packaging/pull/991)\n-
          Add case insensitivity tests for arbitrary equality by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;975](https://redirect.github.com/pypa/packaging/pull/975)\n-
          Synchronize documentation and code for markers by [@&#8203;zahlman](https://redirect.github.com/zahlman)
          in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          Use `partition` in `_parse_project_urls` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1013](https://redirect.github.com/pypa/packaging/pull/1013)\n-
          auto-skip the dependabot PRs in the release changelog generation by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1016](https://redirect.github.com/pypa/packaging/pull/1016)\n-
          Update unreleased section in changelog by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1017](https://redirect.github.com/pypa/packaging/pull/1017)\n-
          Fix PR role to match extlinks by [@&#8203;hugovk](https://redirect.github.com/hugovk)
          in [#&#8203;1020](https://redirect.github.com/pypa/packaging/pull/1020)\n-
          Mention new parts in README by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1023](https://redirect.github.com/pypa/packaging/pull/1023)\n-
          Replace a couple of asserts with else by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1027](https://redirect.github.com/pypa/packaging/pull/1027)\n-
          Simplify and/or check a little more by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1031](https://redirect.github.com/pypa/packaging/pull/1031)\n-
          Use slim runner for all check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1021](https://redirect.github.com/pypa/packaging/pull/1021)\n-
          Use typos instead of codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1015](https://redirect.github.com/pypa/packaging/pull/1015)\n-
          Update changelog with recent additions by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1034](https://redirect.github.com/pypa/packaging/pull/1034)\n-
          Publish to PyPI via GitHub CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;893](https://redirect.github.com/pypa/packaging/pull/893)\n-
          Use prek for faster pre-commit lint step by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1037](https://redirect.github.com/pypa/packaging/pull/1037)\n-
          Add help text to noxfile by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1038](https://redirect.github.com/pypa/packaging/pull/1038)\n-
          Update licenses to 3.27 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1036](https://redirect.github.com/pypa/packaging/pull/1036)\n-
          Use relative import in `packaging.licenses` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1039](https://redirect.github.com/pypa/packaging/pull/1039)\n-
          Add zizmor and tighten up CI by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1035](https://redirect.github.com/pypa/packaging/pull/1035)\n-
          Fix release script by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1040](https://redirect.github.com/pypa/packaging/pull/1040)\n-
          Fix using a dev version (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1041](https://redirect.github.com/pypa/packaging/pull/1041)\n-
          Fix type hint of function used with `contextlib.contextmanager` by [@&#8203;SpecLad](https://redirect.github.com/SpecLad)
          in [#&#8203;1046](https://redirect.github.com/pypa/packaging/pull/1046)\n-
          Always run tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1044](https://redirect.github.com/pypa/packaging/pull/1044)\n-
          Fix a changelog number by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1042](https://redirect.github.com/pypa/packaging/pull/1042)\n-
          Fix the publish job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1043](https://redirect.github.com/pypa/packaging/pull/1043)\n-
          Get the correct tag on publish by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1045](https://redirect.github.com/pypa/packaging/pull/1045)\n-
          Test on first public release of CPython 3.11 and newer by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1056](https://redirect.github.com/pypa/packaging/pull/1056)\n-
          Fix publication job (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1051](https://redirect.github.com/pypa/packaging/pull/1051)\n-
          Use `actionlint` to check CI workflows by [@&#8203;miketheman](https://redirect.github.com/miketheman)
          in [#&#8203;1052](https://redirect.github.com/pypa/packaging/pull/1052)\n-
          Fix formatting of distribution types in metadata.rst by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;1053](https://redirect.github.com/pypa/packaging/pull/1053)\n\n####
          New Contributors\n\n- [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          made their first contribution in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          [@&#8203;dholth](https://redirect.github.com/dholth) made their first contribution
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          [@&#8203;trim21](https://redirect.github.com/trim21) made their first contribution
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) made their
          first contribution in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          [@&#8203;cthoyt](https://redirect.github.com/cthoyt) made their first contribution
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend) made their first
          contribution in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846) made
          their first contribution in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism) made
          their first contribution in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          [@&#8203;EpicWink](https://redirect.github.com/EpicWink) made their first
          contribution in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) made their
          first contribution in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01) made
          their first contribution in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan) made their first
          contribution in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          [@&#8203;zahlman](https://redirect.github.com/zahlman) made their first
          contribution in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis) made their first
          contribution in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\n####
          Since last RC\n\nFixes:\n\n- Restore `._version` as a compat shim by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n\nPerformance:\n\n-
          Dual replace by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n\nDocumentaiton:\n\n-
          Prepare for 26.0 final by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1063](https://redirect.github.com/pypa/packaging/pull/1063)\n\n**Full
          Changelog**: <https://github.com/pypa/packaging/compare/26.0rc3...26.0>\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/cloud-in-a-box).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NS4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/cloud-in-a-box/pull/425
        commit_id: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        patchset: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cloud-in-a-box
          name: osism/cloud-in-a-box
          short_name: cloud-in-a-box
        src_dir: src/github.com/osism/cloud-in-a-box
        topic: null
      buildset: b8f300251d774d6780c6a2af5fa867b5
      buildset_refs:
      - branch: main
        change: '425'
        change_message: "chore(deps): update dependency packaging to v26\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|
          [packaging](https://redirect.github.com/pypa/packaging) | `==25.0` \u2192
          `==26.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/25.0/26.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pypa/packaging (packaging)</summary>\n\n###
          [`v26.0`](https://redirect.github.com/pypa/packaging/releases/tag/26.0)\n\n[Compare
          Source](https://redirect.github.com/pypa/packaging/compare/25.0...26.0)\n\nRead
          about the performance improvements here: <https://iscinumpy.dev/post/packaging-faster>.\n\n####
          What's Changed\n\nFeatures:\n\n- PEP 751: support pylock by [@&#8203;sbidoul](https://redirect.github.com/sbidoul)
          in [#&#8203;900](https://redirect.github.com/pypa/packaging/pull/900)\n-
          PEP 794: import name metadata by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;948](https://redirect.github.com/pypa/packaging/pull/948)\n-
          Support writing metadata by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;846](https://redirect.github.com/pypa/packaging/pull/846)\n-
          Support `__replace__` for `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1003](https://redirect.github.com/pypa/packaging/pull/1003)\n-
          Support positional pattern matching for `Version` and `Specifier` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1004](https://redirect.github.com/pypa/packaging/pull/1004)\n\nBehavior
          adaptations:\n\n- PEP 440 handling of prereleases for `Specifier.contains`,
          `SpecifierSet.contains`, and `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;897](https://redirect.github.com/pypa/packaging/pull/897)\n-
          Handle PEP 440 edge case in `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;942](https://redirect.github.com/pypa/packaging/pull/942)\n-
          Adjust arbitrary equality intersection preservation in `SpecifierSet` by
          [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;951](https://redirect.github.com/pypa/packaging/pull/951)\n-
          Return `False` instead of raising for `.contains` with invalid version by
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          Support arbitrary equality on arbitrary strings for `Specifier` and `SpecifierSet`'s
          `filter` and `contains` method. by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;954](https://redirect.github.com/pypa/packaging/pull/954)\n-
          Only try to parse as `Version` on certain marker keys, return `False` on
          unequal ordered comparsions by [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis)
          in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\nFixes:\n\n-
          Update `_hash` when unpickling `Tag()` by [@&#8203;dholth](https://redirect.github.com/dholth)
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          Correct comment and simplify implicit prerelease handling in `Specifier.prereleases`
          by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;896](https://redirect.github.com/pypa/packaging/pull/896)\n-
          Use explicit `_GLibCVersion` `NamedTuple` in `_manylinux` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          Detect invalid license expressions containing `()` by [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend)
          in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          Correct regex for metadata `'name'` format by [@&#8203;di](https://redirect.github.com/di)
          in [#&#8203;925](https://redirect.github.com/pypa/packaging/pull/925)\n-
          Improve the message around expecting a semicolon by [@&#8203;pradyunsg](https://redirect.github.com/pradyunsg)
          in [#&#8203;833](https://redirect.github.com/pypa/packaging/pull/833)\n-
          Support nested parens in license expressions by [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe)
          in [#&#8203;931](https://redirect.github.com/pypa/packaging/pull/931)\n-
          Add space before at symbol in `Requirements` string by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;953](https://redirect.github.com/pypa/packaging/pull/953)\n-
          A root logger use found by ruff LOG, use `packaging` logger instead by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;965](https://redirect.github.com/pypa/packaging/pull/965)\n-
          Better support for subclassing `Marker` and `Requirement` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1022](https://redirect.github.com/pypa/packaging/pull/1022)\n-
          Normalize all extras, not just if it comes first by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1024](https://redirect.github.com/pypa/packaging/pull/1024)\n-
          Don't produce a broken repr if `Marker` fails to construct by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1033](https://redirect.github.com/pypa/packaging/pull/1033)\n\nPerformance:\n\n-
          Avoid recompiling regexes in the tokenizer for a 3x speedup by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;1019](https://redirect.github.com/pypa/packaging/pull/1019)\n-
          Improve performance in `_manylinux.py` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;869](https://redirect.github.com/pypa/packaging/pull/869)\n-
          Minor cleanups to `Version` by [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism)
          in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          Skip redundant creation of `Version`s in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;986](https://redirect.github.com/pypa/packaging/pull/986)\n-
          Cache `Specifier`'s Version by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;985](https://redirect.github.com/pypa/packaging/pull/985)\n-
          Make `Version` a little faster by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;987](https://redirect.github.com/pypa/packaging/pull/987)\n-
          Minor `Version` regex cleanup by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;990](https://redirect.github.com/pypa/packaging/pull/990)\n-
          Faster regex on Python 3.11.5+ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;988](https://redirect.github.com/pypa/packaging/pull/988) and
          [#&#8203;1055](https://redirect.github.com/pypa/packaging/pull/1055)\n-
          Lazily calculate `_key` in `Version` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;989](https://redirect.github.com/pypa/packaging/pull/989) and
          regression for `packaging_legacy` fixed by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1048](https://redirect.github.com/pypa/packaging/pull/1048)\n-
          Faster `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;993](https://redirect.github.com/pypa/packaging/pull/993)\n-
          Use `fullmatch` in a couple more places by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;992](https://redirect.github.com/pypa/packaging/pull/992)\n-
          Use `fullmatch` for markers too by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1029](https://redirect.github.com/pypa/packaging/pull/1029)\n-
          Use `map` instead of generator by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;996](https://redirect.github.com/pypa/packaging/pull/996)\n-
          Deprecate `._version` (`_Version`, a `NamedTuple`) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;995](https://redirect.github.com/pypa/packaging/pull/995) and
          [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n-
          Avoid duplicate `Version` creation in `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;994](https://redirect.github.com/pypa/packaging/pull/994)\n-
          Add `__slots__` to `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1001](https://redirect.github.com/pypa/packaging/pull/1001)\n-
          Add `__slots__` to `Specifier`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1002](https://redirect.github.com/pypa/packaging/pull/1002)\n-
          Add `__slots__` to `Node`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1032](https://redirect.github.com/pypa/packaging/pull/1032)\n-
          Use `version.__replace__` in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;999](https://redirect.github.com/pypa/packaging/pull/999)\n-
          Use `_get_spec_version` in more places in `Specifier` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1005](https://redirect.github.com/pypa/packaging/pull/1005)\n-
          Pull `set` construction out of function by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1012](https://redirect.github.com/pypa/packaging/pull/1012)\n-
          Letter normalization dict for prereleases and the like by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1014](https://redirect.github.com/pypa/packaging/pull/1014)\n-
          Avoid normalizing extras again when comparing by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1028](https://redirect.github.com/pypa/packaging/pull/1028)\n-
          Speed up `Version.__str__` by about 10% by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;997](https://redirect.github.com/pypa/packaging/pull/997)\n-
          Increase the performance of `canonicalize_name` by avoiding a regex by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1030](https://redirect.github.com/pypa/packaging/pull/1030),
          [#&#8203;1047](https://redirect.github.com/pypa/packaging/pull/1047), and
          [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n-
          Faster zero stripping by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1058](https://redirect.github.com/pypa/packaging/pull/1058)\n\nType
          annotations:\n\n- Fix a type annotation by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;907](https://redirect.github.com/pypa/packaging/pull/907)\n-
          Fix tags return type in `parse_wheel_filename` docs by [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan)
          in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          Add type hint for `_version` in `.version.Version` by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;927](https://redirect.github.com/pypa/packaging/pull/927)\n-
          Changed static type annotations in prereleases setter method in `specifier.py`
          by [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01)
          in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          Statically type the tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;982](https://redirect.github.com/pypa/packaging/pull/982)\n\nInternal:\n\n-
          Test and declare support Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;901](https://redirect.github.com/pypa/packaging/pull/901)\n-
          Modernize and speed up tests on Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;903](https://redirect.github.com/pypa/packaging/pull/903)\n-
          Change our license metadata to use an SPDX license expression by [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          No need for `license-files` by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;924](https://redirect.github.com/pypa/packaging/pull/924)\n-
          Update mypy by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;891](https://redirect.github.com/pypa/packaging/pull/891)\n-
          Some config updates by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;902](https://redirect.github.com/pypa/packaging/pull/902)\n-
          Add spell check and rst check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;904](https://redirect.github.com/pypa/packaging/pull/904)\n-
          Clean up ruff ignores by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;905](https://redirect.github.com/pypa/packaging/pull/905)\n-
          Update example for env marker `python_version` by [@&#8203;trim21](https://redirect.github.com/trim21)
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          Move codespell configuration into pyproject.toml by [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic)
          in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          Check warning a little more precisely by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;837](https://redirect.github.com/pypa/packaging/pull/837)\n-
          Speed up mypy a little by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;836](https://redirect.github.com/pypa/packaging/pull/836)\n-
          Apply ruff/flake8-pyi rules (PYI) by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;835](https://redirect.github.com/pypa/packaging/pull/835)\n-
          Better local runs for codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;911](https://redirect.github.com/pypa/packaging/pull/911)\n-
          Remove outdated/confusing Gist link by [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846)
          in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          Fix docs and docs ci after [#&#8203;897](https://redirect.github.com/pypa/packaging/issues/897)
          landed by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;926](https://redirect.github.com/pypa/packaging/pull/926)\n-
          Run twine-check on push in CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          `ruff` was renamed `ruff-check` in pre-commit by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;933](https://redirect.github.com/pypa/packaging/pull/933)\n-
          Fix incorrectly implicitly concatenated string in specifiers test by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;946](https://redirect.github.com/pypa/packaging/pull/946)\n-
          Simplify conditional by [@&#8203;ofek](https://redirect.github.com/ofek)
          in [#&#8203;949](https://redirect.github.com/pypa/packaging/pull/949)\n-
          Modernize nox, use dependency-groups for tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;952](https://redirect.github.com/pypa/packaging/pull/952)\n-
          Add more checks that don't affect anything by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;957](https://redirect.github.com/pypa/packaging/pull/957)\n-
          Enable Ruff ISC rule by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;959](https://redirect.github.com/pypa/packaging/pull/959)\n-
          Ruff code FLY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;963](https://redirect.github.com/pypa/packaging/pull/963)\n-
          pytest `log_level` is better than `log_cli_level` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;956](https://redirect.github.com/pypa/packaging/pull/956)\n-
          Ruff code TRY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;961](https://redirect.github.com/pypa/packaging/pull/961)\n-
          Add the ruff PL checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;964](https://redirect.github.com/pypa/packaging/pull/964)\n-
          Enable Ruff ARG rules by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;958](https://redirect.github.com/pypa/packaging/pull/958)\n-
          Ruff PT code (pytest) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;960](https://redirect.github.com/pypa/packaging/pull/960)\n-
          Add ruff DTZ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;968](https://redirect.github.com/pypa/packaging/pull/968)\n-
          Add ruff BLE by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;967](https://redirect.github.com/pypa/packaging/pull/967)\n-
          Add the ruff SIM checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;966](https://redirect.github.com/pypa/packaging/pull/966)\n-
          Adding ruff PERF by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;969](https://redirect.github.com/pypa/packaging/pull/969)\n-
          Move some config into coverage config by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;971](https://redirect.github.com/pypa/packaging/pull/971)\n-
          Check ruff C4 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;962](https://redirect.github.com/pypa/packaging/pull/962)\n-
          Adding ruff T20 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;972](https://redirect.github.com/pypa/packaging/pull/972)\n-
          Add a tests pass job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;977](https://redirect.github.com/pypa/packaging/pull/977)\n-
          Add ruff TC by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;980](https://redirect.github.com/pypa/packaging/pull/980)\n-
          Adding part of ruff RET by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;979](https://redirect.github.com/pypa/packaging/pull/979)\n-
          Reorder mypy check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;983](https://redirect.github.com/pypa/packaging/pull/983)\n-
          Enable ruff ALL by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;984](https://redirect.github.com/pypa/packaging/pull/984)\n-
          Link back to repo/source in furo by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;991](https://redirect.github.com/pypa/packaging/pull/991)\n-
          Add case insensitivity tests for arbitrary equality by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;975](https://redirect.github.com/pypa/packaging/pull/975)\n-
          Synchronize documentation and code for markers by [@&#8203;zahlman](https://redirect.github.com/zahlman)
          in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          Use `partition` in `_parse_project_urls` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1013](https://redirect.github.com/pypa/packaging/pull/1013)\n-
          auto-skip the dependabot PRs in the release changelog generation by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1016](https://redirect.github.com/pypa/packaging/pull/1016)\n-
          Update unreleased section in changelog by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1017](https://redirect.github.com/pypa/packaging/pull/1017)\n-
          Fix PR role to match extlinks by [@&#8203;hugovk](https://redirect.github.com/hugovk)
          in [#&#8203;1020](https://redirect.github.com/pypa/packaging/pull/1020)\n-
          Mention new parts in README by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1023](https://redirect.github.com/pypa/packaging/pull/1023)\n-
          Replace a couple of asserts with else by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1027](https://redirect.github.com/pypa/packaging/pull/1027)\n-
          Simplify and/or check a little more by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1031](https://redirect.github.com/pypa/packaging/pull/1031)\n-
          Use slim runner for all check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1021](https://redirect.github.com/pypa/packaging/pull/1021)\n-
          Use typos instead of codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1015](https://redirect.github.com/pypa/packaging/pull/1015)\n-
          Update changelog with recent additions by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1034](https://redirect.github.com/pypa/packaging/pull/1034)\n-
          Publish to PyPI via GitHub CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;893](https://redirect.github.com/pypa/packaging/pull/893)\n-
          Use prek for faster pre-commit lint step by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1037](https://redirect.github.com/pypa/packaging/pull/1037)\n-
          Add help text to noxfile by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1038](https://redirect.github.com/pypa/packaging/pull/1038)\n-
          Update licenses to 3.27 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1036](https://redirect.github.com/pypa/packaging/pull/1036)\n-
          Use relative import in `packaging.licenses` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1039](https://redirect.github.com/pypa/packaging/pull/1039)\n-
          Add zizmor and tighten up CI by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1035](https://redirect.github.com/pypa/packaging/pull/1035)\n-
          Fix release script by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1040](https://redirect.github.com/pypa/packaging/pull/1040)\n-
          Fix using a dev version (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1041](https://redirect.github.com/pypa/packaging/pull/1041)\n-
          Fix type hint of function used with `contextlib.contextmanager` by [@&#8203;SpecLad](https://redirect.github.com/SpecLad)
          in [#&#8203;1046](https://redirect.github.com/pypa/packaging/pull/1046)\n-
          Always run tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1044](https://redirect.github.com/pypa/packaging/pull/1044)\n-
          Fix a changelog number by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1042](https://redirect.github.com/pypa/packaging/pull/1042)\n-
          Fix the publish job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1043](https://redirect.github.com/pypa/packaging/pull/1043)\n-
          Get the correct tag on publish by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1045](https://redirect.github.com/pypa/packaging/pull/1045)\n-
          Test on first public release of CPython 3.11 and newer by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1056](https://redirect.github.com/pypa/packaging/pull/1056)\n-
          Fix publication job (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1051](https://redirect.github.com/pypa/packaging/pull/1051)\n-
          Use `actionlint` to check CI workflows by [@&#8203;miketheman](https://redirect.github.com/miketheman)
          in [#&#8203;1052](https://redirect.github.com/pypa/packaging/pull/1052)\n-
          Fix formatting of distribution types in metadata.rst by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;1053](https://redirect.github.com/pypa/packaging/pull/1053)\n\n####
          New Contributors\n\n- [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          made their first contribution in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          [@&#8203;dholth](https://redirect.github.com/dholth) made their first contribution
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          [@&#8203;trim21](https://redirect.github.com/trim21) made their first contribution
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) made their
          first contribution in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          [@&#8203;cthoyt](https://redirect.github.com/cthoyt) made their first contribution
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend) made their first
          contribution in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846) made
          their first contribution in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism) made
          their first contribution in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          [@&#8203;EpicWink](https://redirect.github.com/EpicWink) made their first
          contribution in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) made their
          first contribution in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01) made
          their first contribution in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan) made their first
          contribution in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          [@&#8203;zahlman](https://redirect.github.com/zahlman) made their first
          contribution in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis) made their first
          contribution in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\n####
          Since last RC\n\nFixes:\n\n- Restore `._version` as a compat shim by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n\nPerformance:\n\n-
          Dual replace by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n\nDocumentaiton:\n\n-
          Prepare for 26.0 final by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1063](https://redirect.github.com/pypa/packaging/pull/1063)\n\n**Full
          Changelog**: <https://github.com/pypa/packaging/compare/26.0rc3...26.0>\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/cloud-in-a-box).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NS4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/cloud-in-a-box/pull/425
        commit_id: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        patchset: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cloud-in-a-box
          name: osism/cloud-in-a-box
          short_name: cloud-in-a-box
        src_dir: src/github.com/osism/cloud-in-a-box
        topic: null
      change: '425'
      change_message: "chore(deps): update dependency packaging to v26\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|
        [packaging](https://redirect.github.com/pypa/packaging) | `==25.0` \u2192
        `==26.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.0?slim=true)
        | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/25.0/26.0?slim=true)
        |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pypa/packaging (packaging)</summary>\n\n###
        [`v26.0`](https://redirect.github.com/pypa/packaging/releases/tag/26.0)\n\n[Compare
        Source](https://redirect.github.com/pypa/packaging/compare/25.0...26.0)\n\nRead
        about the performance improvements here: <https://iscinumpy.dev/post/packaging-faster>.\n\n####
        What's Changed\n\nFeatures:\n\n- PEP 751: support pylock by [@&#8203;sbidoul](https://redirect.github.com/sbidoul)
        in [#&#8203;900](https://redirect.github.com/pypa/packaging/pull/900)\n- PEP
        794: import name metadata by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
        in [#&#8203;948](https://redirect.github.com/pypa/packaging/pull/948)\n- Support
        writing metadata by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;846](https://redirect.github.com/pypa/packaging/pull/846)\n- Support
        `__replace__` for `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1003](https://redirect.github.com/pypa/packaging/pull/1003)\n-
        Support positional pattern matching for `Version` and `Specifier` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1004](https://redirect.github.com/pypa/packaging/pull/1004)\n\nBehavior
        adaptations:\n\n- PEP 440 handling of prereleases for `Specifier.contains`,
        `SpecifierSet.contains`, and `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;897](https://redirect.github.com/pypa/packaging/pull/897)\n- Handle
        PEP 440 edge case in `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;942](https://redirect.github.com/pypa/packaging/pull/942)\n- Adjust
        arbitrary equality intersection preservation in `SpecifierSet` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;951](https://redirect.github.com/pypa/packaging/pull/951)\n- Return
        `False` instead of raising for `.contains` with invalid version by [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe)
        in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n- Support
        arbitrary equality on arbitrary strings for `Specifier` and `SpecifierSet`'s
        `filter` and `contains` method. by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;954](https://redirect.github.com/pypa/packaging/pull/954)\n- Only
        try to parse as `Version` on certain marker keys, return `False` on unequal
        ordered comparsions by [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis)
        in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\nFixes:\n\n-
        Update `_hash` when unpickling `Tag()` by [@&#8203;dholth](https://redirect.github.com/dholth)
        in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n- Correct
        comment and simplify implicit prerelease handling in `Specifier.prereleases`
        by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;896](https://redirect.github.com/pypa/packaging/pull/896)\n-
        Use explicit `_GLibCVersion` `NamedTuple` in `_manylinux` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
        in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n- Detect
        invalid license expressions containing `()` by [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend)
        in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n- Correct
        regex for metadata `'name'` format by [@&#8203;di](https://redirect.github.com/di)
        in [#&#8203;925](https://redirect.github.com/pypa/packaging/pull/925)\n- Improve
        the message around expecting a semicolon by [@&#8203;pradyunsg](https://redirect.github.com/pradyunsg)
        in [#&#8203;833](https://redirect.github.com/pypa/packaging/pull/833)\n- Support
        nested parens in license expressions by [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe)
        in [#&#8203;931](https://redirect.github.com/pypa/packaging/pull/931)\n- Add
        space before at symbol in `Requirements` string by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;953](https://redirect.github.com/pypa/packaging/pull/953)\n- A
        root logger use found by ruff LOG, use `packaging` logger instead by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;965](https://redirect.github.com/pypa/packaging/pull/965)\n- Better
        support for subclassing `Marker` and `Requirement` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1022](https://redirect.github.com/pypa/packaging/pull/1022)\n-
        Normalize all extras, not just if it comes first by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1024](https://redirect.github.com/pypa/packaging/pull/1024)\n-
        Don't produce a broken repr if `Marker` fails to construct by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1033](https://redirect.github.com/pypa/packaging/pull/1033)\n\nPerformance:\n\n-
        Avoid recompiling regexes in the tokenizer for a 3x speedup by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
        in [#&#8203;1019](https://redirect.github.com/pypa/packaging/pull/1019)\n-
        Improve performance in `_manylinux.py` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
        in [#&#8203;869](https://redirect.github.com/pypa/packaging/pull/869)\n- Minor
        cleanups to `Version` by [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism)
        in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n- Skip
        redundant creation of `Version`s in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;986](https://redirect.github.com/pypa/packaging/pull/986)\n- Cache
        `Specifier`'s Version by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;985](https://redirect.github.com/pypa/packaging/pull/985)\n- Make
        `Version` a little faster by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;987](https://redirect.github.com/pypa/packaging/pull/987)\n- Minor
        `Version` regex cleanup by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;990](https://redirect.github.com/pypa/packaging/pull/990)\n- Faster
        regex on Python 3.11.5+ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;988](https://redirect.github.com/pypa/packaging/pull/988) and
        [#&#8203;1055](https://redirect.github.com/pypa/packaging/pull/1055)\n- Lazily
        calculate `_key` in `Version` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;989](https://redirect.github.com/pypa/packaging/pull/989) and
        regression for `packaging_legacy` fixed by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1048](https://redirect.github.com/pypa/packaging/pull/1048)\n-
        Faster `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;993](https://redirect.github.com/pypa/packaging/pull/993)\n- Use
        `fullmatch` in a couple more places by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;992](https://redirect.github.com/pypa/packaging/pull/992)\n- Use
        `fullmatch` for markers too by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1029](https://redirect.github.com/pypa/packaging/pull/1029)\n-
        Use `map` instead of generator by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;996](https://redirect.github.com/pypa/packaging/pull/996)\n- Deprecate
        `._version` (`_Version`, a `NamedTuple`) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;995](https://redirect.github.com/pypa/packaging/pull/995) and
        [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n- Avoid
        duplicate `Version` creation in `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;994](https://redirect.github.com/pypa/packaging/pull/994)\n- Add
        `__slots__` to `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1001](https://redirect.github.com/pypa/packaging/pull/1001)\n-
        Add `__slots__` to `Specifier`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1002](https://redirect.github.com/pypa/packaging/pull/1002)\n-
        Add `__slots__` to `Node`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1032](https://redirect.github.com/pypa/packaging/pull/1032)\n-
        Use `version.__replace__` in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;999](https://redirect.github.com/pypa/packaging/pull/999)\n- Use
        `_get_spec_version` in more places in `Specifier` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;1005](https://redirect.github.com/pypa/packaging/pull/1005)\n-
        Pull `set` construction out of function by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1012](https://redirect.github.com/pypa/packaging/pull/1012)\n-
        Letter normalization dict for prereleases and the like by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1014](https://redirect.github.com/pypa/packaging/pull/1014)\n-
        Avoid normalizing extras again when comparing by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1028](https://redirect.github.com/pypa/packaging/pull/1028)\n-
        Speed up `Version.__str__` by about 10% by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;997](https://redirect.github.com/pypa/packaging/pull/997)\n- Increase
        the performance of `canonicalize_name` by avoiding a regex by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1030](https://redirect.github.com/pypa/packaging/pull/1030), [#&#8203;1047](https://redirect.github.com/pypa/packaging/pull/1047),
        and [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n-
        Faster zero stripping by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1058](https://redirect.github.com/pypa/packaging/pull/1058)\n\nType
        annotations:\n\n- Fix a type annotation by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
        in [#&#8203;907](https://redirect.github.com/pypa/packaging/pull/907)\n- Fix
        tags return type in `parse_wheel_filename` docs by [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan)
        in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n- Add
        type hint for `_version` in `.version.Version` by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
        in [#&#8203;927](https://redirect.github.com/pypa/packaging/pull/927)\n- Changed
        static type annotations in prereleases setter method in `specifier.py` by
        [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01) in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
        Statically type the tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;982](https://redirect.github.com/pypa/packaging/pull/982)\n\nInternal:\n\n-
        Test and declare support Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;901](https://redirect.github.com/pypa/packaging/pull/901)\n- Modernize
        and speed up tests on Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;903](https://redirect.github.com/pypa/packaging/pull/903)\n- Change
        our license metadata to use an SPDX license expression by [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
        in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n- No
        need for `license-files` by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
        in [#&#8203;924](https://redirect.github.com/pypa/packaging/pull/924)\n- Update
        mypy by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja) in
        [#&#8203;891](https://redirect.github.com/pypa/packaging/pull/891)\n- Some
        config updates by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;902](https://redirect.github.com/pypa/packaging/pull/902)\n- Add
        spell check and rst check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;904](https://redirect.github.com/pypa/packaging/pull/904)\n- Clean
        up ruff ignores by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;905](https://redirect.github.com/pypa/packaging/pull/905)\n- Update
        example for env marker `python_version` by [@&#8203;trim21](https://redirect.github.com/trim21)
        in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n- Move
        codespell configuration into pyproject.toml by [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic)
        in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n- Check
        warning a little more precisely by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;837](https://redirect.github.com/pypa/packaging/pull/837)\n- Speed
        up mypy a little by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;836](https://redirect.github.com/pypa/packaging/pull/836)\n- Apply
        ruff/flake8-pyi rules (PYI) by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
        in [#&#8203;835](https://redirect.github.com/pypa/packaging/pull/835)\n- Better
        local runs for codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;911](https://redirect.github.com/pypa/packaging/pull/911)\n- Remove
        outdated/confusing Gist link by [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846)
        in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n- Fix
        docs and docs ci after [#&#8203;897](https://redirect.github.com/pypa/packaging/issues/897)
        landed by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;926](https://redirect.github.com/pypa/packaging/pull/926)\n- Run
        twine-check on push in CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
        in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n- `ruff`
        was renamed `ruff-check` in pre-commit by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;933](https://redirect.github.com/pypa/packaging/pull/933)\n- Fix
        incorrectly implicitly concatenated string in specifiers test by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;946](https://redirect.github.com/pypa/packaging/pull/946)\n- Simplify
        conditional by [@&#8203;ofek](https://redirect.github.com/ofek) in [#&#8203;949](https://redirect.github.com/pypa/packaging/pull/949)\n-
        Modernize nox, use dependency-groups for tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;952](https://redirect.github.com/pypa/packaging/pull/952)\n- Add
        more checks that don't affect anything by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;957](https://redirect.github.com/pypa/packaging/pull/957)\n- Enable
        Ruff ISC rule by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;959](https://redirect.github.com/pypa/packaging/pull/959)\n- Ruff
        code FLY by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;963](https://redirect.github.com/pypa/packaging/pull/963)\n-
        pytest `log_level` is better than `log_cli_level` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;956](https://redirect.github.com/pypa/packaging/pull/956)\n- Ruff
        code TRY by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;961](https://redirect.github.com/pypa/packaging/pull/961)\n-
        Add the ruff PL checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;964](https://redirect.github.com/pypa/packaging/pull/964)\n- Enable
        Ruff ARG rules by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;958](https://redirect.github.com/pypa/packaging/pull/958)\n- Ruff
        PT code (pytest) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;960](https://redirect.github.com/pypa/packaging/pull/960)\n- Add
        ruff DTZ by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;968](https://redirect.github.com/pypa/packaging/pull/968)\n-
        Add ruff BLE by [@&#8203;henryiii](https://redirect.github.com/henryiii) in
        [#&#8203;967](https://redirect.github.com/pypa/packaging/pull/967)\n- Add
        the ruff SIM checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;966](https://redirect.github.com/pypa/packaging/pull/966)\n- Adding
        ruff PERF by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;969](https://redirect.github.com/pypa/packaging/pull/969)\n-
        Move some config into coverage config by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;971](https://redirect.github.com/pypa/packaging/pull/971)\n- Check
        ruff C4 by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;962](https://redirect.github.com/pypa/packaging/pull/962)\n-
        Adding ruff T20 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;972](https://redirect.github.com/pypa/packaging/pull/972)\n- Add
        a tests pass job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;977](https://redirect.github.com/pypa/packaging/pull/977)\n- Add
        ruff TC by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;980](https://redirect.github.com/pypa/packaging/pull/980)\n-
        Adding part of ruff RET by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;979](https://redirect.github.com/pypa/packaging/pull/979)\n- Reorder
        mypy check by [@&#8203;henryiii](https://redirect.github.com/henryiii) in
        [#&#8203;983](https://redirect.github.com/pypa/packaging/pull/983)\n- Enable
        ruff ALL by [@&#8203;henryiii](https://redirect.github.com/henryiii) in [#&#8203;984](https://redirect.github.com/pypa/packaging/pull/984)\n-
        Link back to repo/source in furo by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;991](https://redirect.github.com/pypa/packaging/pull/991)\n- Add
        case insensitivity tests for arbitrary equality by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;975](https://redirect.github.com/pypa/packaging/pull/975)\n- Synchronize
        documentation and code for markers by [@&#8203;zahlman](https://redirect.github.com/zahlman)
        in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
        Use `partition` in `_parse_project_urls` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1013](https://redirect.github.com/pypa/packaging/pull/1013)\n-
        auto-skip the dependabot PRs in the release changelog generation by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1016](https://redirect.github.com/pypa/packaging/pull/1016)\n-
        Update unreleased section in changelog by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1017](https://redirect.github.com/pypa/packaging/pull/1017)\n-
        Fix PR role to match extlinks by [@&#8203;hugovk](https://redirect.github.com/hugovk)
        in [#&#8203;1020](https://redirect.github.com/pypa/packaging/pull/1020)\n-
        Mention new parts in README by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1023](https://redirect.github.com/pypa/packaging/pull/1023)\n-
        Replace a couple of asserts with else by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1027](https://redirect.github.com/pypa/packaging/pull/1027)\n-
        Simplify and/or check a little more by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1031](https://redirect.github.com/pypa/packaging/pull/1031)\n-
        Use slim runner for all check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1021](https://redirect.github.com/pypa/packaging/pull/1021)\n-
        Use typos instead of codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1015](https://redirect.github.com/pypa/packaging/pull/1015)\n-
        Update changelog with recent additions by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1034](https://redirect.github.com/pypa/packaging/pull/1034)\n-
        Publish to PyPI via GitHub CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
        in [#&#8203;893](https://redirect.github.com/pypa/packaging/pull/893)\n- Use
        prek for faster pre-commit lint step by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1037](https://redirect.github.com/pypa/packaging/pull/1037)\n-
        Add help text to noxfile by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1038](https://redirect.github.com/pypa/packaging/pull/1038)\n-
        Update licenses to 3.27 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1036](https://redirect.github.com/pypa/packaging/pull/1036)\n-
        Use relative import in `packaging.licenses` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
        in [#&#8203;1039](https://redirect.github.com/pypa/packaging/pull/1039)\n-
        Add zizmor and tighten up CI by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1035](https://redirect.github.com/pypa/packaging/pull/1035)\n-
        Fix release script by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1040](https://redirect.github.com/pypa/packaging/pull/1040)\n-
        Fix using a dev version (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1041](https://redirect.github.com/pypa/packaging/pull/1041)\n-
        Fix type hint of function used with `contextlib.contextmanager` by [@&#8203;SpecLad](https://redirect.github.com/SpecLad)
        in [#&#8203;1046](https://redirect.github.com/pypa/packaging/pull/1046)\n-
        Always run tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1044](https://redirect.github.com/pypa/packaging/pull/1044)\n-
        Fix a changelog number by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1042](https://redirect.github.com/pypa/packaging/pull/1042)\n-
        Fix the publish job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1043](https://redirect.github.com/pypa/packaging/pull/1043)\n-
        Get the correct tag on publish by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1045](https://redirect.github.com/pypa/packaging/pull/1045)\n-
        Test on first public release of CPython 3.11 and newer by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1056](https://redirect.github.com/pypa/packaging/pull/1056)\n-
        Fix publication job (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1051](https://redirect.github.com/pypa/packaging/pull/1051)\n-
        Use `actionlint` to check CI workflows by [@&#8203;miketheman](https://redirect.github.com/miketheman)
        in [#&#8203;1052](https://redirect.github.com/pypa/packaging/pull/1052)\n-
        Fix formatting of distribution types in metadata.rst by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
        in [#&#8203;1053](https://redirect.github.com/pypa/packaging/pull/1053)\n\n####
        New Contributors\n\n- [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
        made their first contribution in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
        [@&#8203;dholth](https://redirect.github.com/dholth) made their first contribution
        in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n- [@&#8203;trim21](https://redirect.github.com/trim21)
        made their first contribution in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
        [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) made their first
        contribution in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
        [@&#8203;cthoyt](https://redirect.github.com/cthoyt) made their first contribution
        in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n- [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend)
        made their first contribution in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
        [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846) made their
        first contribution in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
        [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism) made their
        first contribution in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
        [@&#8203;EpicWink](https://redirect.github.com/EpicWink) made their first
        contribution in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
        [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) made their first
        contribution in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
        [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01) made
        their first contribution in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
        [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan) made their first
        contribution in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
        [@&#8203;zahlman](https://redirect.github.com/zahlman) made their first contribution
        in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
        [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis) made their first
        contribution in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\n####
        Since last RC\n\nFixes:\n\n- Restore `._version` as a compat shim by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n\nPerformance:\n\n-
        Dual replace by [@&#8203;henryiii](https://redirect.github.com/henryiii) in
        [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n\nDocumentaiton:\n\n-
        Prepare for 26.0 final by [@&#8203;henryiii](https://redirect.github.com/henryiii)
        in [#&#8203;1063](https://redirect.github.com/pypa/packaging/pull/1063)\n\n**Full
        Changelog**: <https://github.com/pypa/packaging/compare/26.0rc3...26.0>\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/cloud-in-a-box).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NS4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
      change_url: https://github.com/osism/cloud-in-a-box/pull/425
      child_jobs: []
      commit_id: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
      event_id: 5e747560-2cfb-11f1-9bd4-9773b68873cb
      executor:
        hostname: 521e9411259a
        inventory_file: /var/lib/zuul/builds/4c79dfb2c3cd4ddca1a379e5b39afd03/ansible/inventory.yaml
        log_root: /var/lib/zuul/builds/4c79dfb2c3cd4ddca1a379e5b39afd03/work/logs
        result_data_file: /var/lib/zuul/builds/4c79dfb2c3cd4ddca1a379e5b39afd03/work/results.json
        src_root: /var/lib/zuul/builds/4c79dfb2c3cd4ddca1a379e5b39afd03/work/src
        work_root: /var/lib/zuul/builds/4c79dfb2c3cd4ddca1a379e5b39afd03/work
      include_vars: []
      items:
      - branch: main
        change: '425'
        change_message: "chore(deps): update dependency packaging to v26\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|
          [packaging](https://redirect.github.com/pypa/packaging) | `==25.0` \u2192
          `==26.0` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.0?slim=true)
          | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/25.0/26.0?slim=true)
          |\n\n---\n\n### Release Notes\n\n<details>\n<summary>pypa/packaging (packaging)</summary>\n\n###
          [`v26.0`](https://redirect.github.com/pypa/packaging/releases/tag/26.0)\n\n[Compare
          Source](https://redirect.github.com/pypa/packaging/compare/25.0...26.0)\n\nRead
          about the performance improvements here: <https://iscinumpy.dev/post/packaging-faster>.\n\n####
          What's Changed\n\nFeatures:\n\n- PEP 751: support pylock by [@&#8203;sbidoul](https://redirect.github.com/sbidoul)
          in [#&#8203;900](https://redirect.github.com/pypa/packaging/pull/900)\n-
          PEP 794: import name metadata by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;948](https://redirect.github.com/pypa/packaging/pull/948)\n-
          Support writing metadata by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;846](https://redirect.github.com/pypa/packaging/pull/846)\n-
          Support `__replace__` for `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1003](https://redirect.github.com/pypa/packaging/pull/1003)\n-
          Support positional pattern matching for `Version` and `Specifier` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1004](https://redirect.github.com/pypa/packaging/pull/1004)\n\nBehavior
          adaptations:\n\n- PEP 440 handling of prereleases for `Specifier.contains`,
          `SpecifierSet.contains`, and `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;897](https://redirect.github.com/pypa/packaging/pull/897)\n-
          Handle PEP 440 edge case in `SpecifierSet.filter` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;942](https://redirect.github.com/pypa/packaging/pull/942)\n-
          Adjust arbitrary equality intersection preservation in `SpecifierSet` by
          [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;951](https://redirect.github.com/pypa/packaging/pull/951)\n-
          Return `False` instead of raising for `.contains` with invalid version by
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          Support arbitrary equality on arbitrary strings for `Specifier` and `SpecifierSet`'s
          `filter` and `contains` method. by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;954](https://redirect.github.com/pypa/packaging/pull/954)\n-
          Only try to parse as `Version` on certain marker keys, return `False` on
          unequal ordered comparsions by [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis)
          in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\nFixes:\n\n-
          Update `_hash` when unpickling `Tag()` by [@&#8203;dholth](https://redirect.github.com/dholth)
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          Correct comment and simplify implicit prerelease handling in `Specifier.prereleases`
          by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw) in [#&#8203;896](https://redirect.github.com/pypa/packaging/pull/896)\n-
          Use explicit `_GLibCVersion` `NamedTuple` in `_manylinux` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          Detect invalid license expressions containing `()` by [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend)
          in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          Correct regex for metadata `'name'` format by [@&#8203;di](https://redirect.github.com/di)
          in [#&#8203;925](https://redirect.github.com/pypa/packaging/pull/925)\n-
          Improve the message around expecting a semicolon by [@&#8203;pradyunsg](https://redirect.github.com/pradyunsg)
          in [#&#8203;833](https://redirect.github.com/pypa/packaging/pull/833)\n-
          Support nested parens in license expressions by [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe)
          in [#&#8203;931](https://redirect.github.com/pypa/packaging/pull/931)\n-
          Add space before at symbol in `Requirements` string by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;953](https://redirect.github.com/pypa/packaging/pull/953)\n-
          A root logger use found by ruff LOG, use `packaging` logger instead by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;965](https://redirect.github.com/pypa/packaging/pull/965)\n-
          Better support for subclassing `Marker` and `Requirement` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1022](https://redirect.github.com/pypa/packaging/pull/1022)\n-
          Normalize all extras, not just if it comes first by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1024](https://redirect.github.com/pypa/packaging/pull/1024)\n-
          Don't produce a broken repr if `Marker` fails to construct by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1033](https://redirect.github.com/pypa/packaging/pull/1033)\n\nPerformance:\n\n-
          Avoid recompiling regexes in the tokenizer for a 3x speedup by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;1019](https://redirect.github.com/pypa/packaging/pull/1019)\n-
          Improve performance in `_manylinux.py` by [@&#8203;cthoyt](https://redirect.github.com/cthoyt)
          in [#&#8203;869](https://redirect.github.com/pypa/packaging/pull/869)\n-
          Minor cleanups to `Version` by [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism)
          in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          Skip redundant creation of `Version`s in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;986](https://redirect.github.com/pypa/packaging/pull/986)\n-
          Cache `Specifier`'s Version by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;985](https://redirect.github.com/pypa/packaging/pull/985)\n-
          Make `Version` a little faster by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;987](https://redirect.github.com/pypa/packaging/pull/987)\n-
          Minor `Version` regex cleanup by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;990](https://redirect.github.com/pypa/packaging/pull/990)\n-
          Faster regex on Python 3.11.5+ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;988](https://redirect.github.com/pypa/packaging/pull/988) and
          [#&#8203;1055](https://redirect.github.com/pypa/packaging/pull/1055)\n-
          Lazily calculate `_key` in `Version` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;989](https://redirect.github.com/pypa/packaging/pull/989) and
          regression for `packaging_legacy` fixed by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1048](https://redirect.github.com/pypa/packaging/pull/1048)\n-
          Faster `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;993](https://redirect.github.com/pypa/packaging/pull/993)\n-
          Use `fullmatch` in a couple more places by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;992](https://redirect.github.com/pypa/packaging/pull/992)\n-
          Use `fullmatch` for markers too by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1029](https://redirect.github.com/pypa/packaging/pull/1029)\n-
          Use `map` instead of generator by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;996](https://redirect.github.com/pypa/packaging/pull/996)\n-
          Deprecate `._version` (`_Version`, a `NamedTuple`) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;995](https://redirect.github.com/pypa/packaging/pull/995) and
          [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n-
          Avoid duplicate `Version` creation in `canonicalize_version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;994](https://redirect.github.com/pypa/packaging/pull/994)\n-
          Add `__slots__` to `Version` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1001](https://redirect.github.com/pypa/packaging/pull/1001)\n-
          Add `__slots__` to `Specifier`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1002](https://redirect.github.com/pypa/packaging/pull/1002)\n-
          Add `__slots__` to `Node`s by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1032](https://redirect.github.com/pypa/packaging/pull/1032)\n-
          Use `version.__replace__` in specifier comparison by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;999](https://redirect.github.com/pypa/packaging/pull/999)\n-
          Use `_get_spec_version` in more places in `Specifier` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1005](https://redirect.github.com/pypa/packaging/pull/1005)\n-
          Pull `set` construction out of function by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1012](https://redirect.github.com/pypa/packaging/pull/1012)\n-
          Letter normalization dict for prereleases and the like by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1014](https://redirect.github.com/pypa/packaging/pull/1014)\n-
          Avoid normalizing extras again when comparing by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1028](https://redirect.github.com/pypa/packaging/pull/1028)\n-
          Speed up `Version.__str__` by about 10% by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;997](https://redirect.github.com/pypa/packaging/pull/997)\n-
          Increase the performance of `canonicalize_name` by avoiding a regex by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1030](https://redirect.github.com/pypa/packaging/pull/1030),
          [#&#8203;1047](https://redirect.github.com/pypa/packaging/pull/1047), and
          [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n-
          Faster zero stripping by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1058](https://redirect.github.com/pypa/packaging/pull/1058)\n\nType
          annotations:\n\n- Fix a type annotation by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;907](https://redirect.github.com/pypa/packaging/pull/907)\n-
          Fix tags return type in `parse_wheel_filename` docs by [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan)
          in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          Add type hint for `_version` in `.version.Version` by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;927](https://redirect.github.com/pypa/packaging/pull/927)\n-
          Changed static type annotations in prereleases setter method in `specifier.py`
          by [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01)
          in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          Statically type the tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;982](https://redirect.github.com/pypa/packaging/pull/982)\n\nInternal:\n\n-
          Test and declare support Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;901](https://redirect.github.com/pypa/packaging/pull/901)\n-
          Modernize and speed up tests on Python 3.14 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;903](https://redirect.github.com/pypa/packaging/pull/903)\n-
          Change our license metadata to use an SPDX license expression by [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          No need for `license-files` by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;924](https://redirect.github.com/pypa/packaging/pull/924)\n-
          Update mypy by [@&#8203;hauntsaninja](https://redirect.github.com/hauntsaninja)
          in [#&#8203;891](https://redirect.github.com/pypa/packaging/pull/891)\n-
          Some config updates by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;902](https://redirect.github.com/pypa/packaging/pull/902)\n-
          Add spell check and rst check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;904](https://redirect.github.com/pypa/packaging/pull/904)\n-
          Clean up ruff ignores by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;905](https://redirect.github.com/pypa/packaging/pull/905)\n-
          Update example for env marker `python_version` by [@&#8203;trim21](https://redirect.github.com/trim21)
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          Move codespell configuration into pyproject.toml by [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic)
          in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          Check warning a little more precisely by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;837](https://redirect.github.com/pypa/packaging/pull/837)\n-
          Speed up mypy a little by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;836](https://redirect.github.com/pypa/packaging/pull/836)\n-
          Apply ruff/flake8-pyi rules (PYI) by [@&#8203;DimitriPapadopoulos](https://redirect.github.com/DimitriPapadopoulos)
          in [#&#8203;835](https://redirect.github.com/pypa/packaging/pull/835)\n-
          Better local runs for codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;911](https://redirect.github.com/pypa/packaging/pull/911)\n-
          Remove outdated/confusing Gist link by [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846)
          in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          Fix docs and docs ci after [#&#8203;897](https://redirect.github.com/pypa/packaging/issues/897)
          landed by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;926](https://redirect.github.com/pypa/packaging/pull/926)\n-
          Run twine-check on push in CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          `ruff` was renamed `ruff-check` in pre-commit by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;933](https://redirect.github.com/pypa/packaging/pull/933)\n-
          Fix incorrectly implicitly concatenated string in specifiers test by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;946](https://redirect.github.com/pypa/packaging/pull/946)\n-
          Simplify conditional by [@&#8203;ofek](https://redirect.github.com/ofek)
          in [#&#8203;949](https://redirect.github.com/pypa/packaging/pull/949)\n-
          Modernize nox, use dependency-groups for tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;952](https://redirect.github.com/pypa/packaging/pull/952)\n-
          Add more checks that don't affect anything by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;957](https://redirect.github.com/pypa/packaging/pull/957)\n-
          Enable Ruff ISC rule by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;959](https://redirect.github.com/pypa/packaging/pull/959)\n-
          Ruff code FLY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;963](https://redirect.github.com/pypa/packaging/pull/963)\n-
          pytest `log_level` is better than `log_cli_level` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;956](https://redirect.github.com/pypa/packaging/pull/956)\n-
          Ruff code TRY by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;961](https://redirect.github.com/pypa/packaging/pull/961)\n-
          Add the ruff PL checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;964](https://redirect.github.com/pypa/packaging/pull/964)\n-
          Enable Ruff ARG rules by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;958](https://redirect.github.com/pypa/packaging/pull/958)\n-
          Ruff PT code (pytest) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;960](https://redirect.github.com/pypa/packaging/pull/960)\n-
          Add ruff DTZ by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;968](https://redirect.github.com/pypa/packaging/pull/968)\n-
          Add ruff BLE by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;967](https://redirect.github.com/pypa/packaging/pull/967)\n-
          Add the ruff SIM checks by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;966](https://redirect.github.com/pypa/packaging/pull/966)\n-
          Adding ruff PERF by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;969](https://redirect.github.com/pypa/packaging/pull/969)\n-
          Move some config into coverage config by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;971](https://redirect.github.com/pypa/packaging/pull/971)\n-
          Check ruff C4 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;962](https://redirect.github.com/pypa/packaging/pull/962)\n-
          Adding ruff T20 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;972](https://redirect.github.com/pypa/packaging/pull/972)\n-
          Add a tests pass job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;977](https://redirect.github.com/pypa/packaging/pull/977)\n-
          Add ruff TC by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;980](https://redirect.github.com/pypa/packaging/pull/980)\n-
          Adding part of ruff RET by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;979](https://redirect.github.com/pypa/packaging/pull/979)\n-
          Reorder mypy check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;983](https://redirect.github.com/pypa/packaging/pull/983)\n-
          Enable ruff ALL by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;984](https://redirect.github.com/pypa/packaging/pull/984)\n-
          Link back to repo/source in furo by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;991](https://redirect.github.com/pypa/packaging/pull/991)\n-
          Add case insensitivity tests for arbitrary equality by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;975](https://redirect.github.com/pypa/packaging/pull/975)\n-
          Synchronize documentation and code for markers by [@&#8203;zahlman](https://redirect.github.com/zahlman)
          in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          Use `partition` in `_parse_project_urls` by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1013](https://redirect.github.com/pypa/packaging/pull/1013)\n-
          auto-skip the dependabot PRs in the release changelog generation by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1016](https://redirect.github.com/pypa/packaging/pull/1016)\n-
          Update unreleased section in changelog by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1017](https://redirect.github.com/pypa/packaging/pull/1017)\n-
          Fix PR role to match extlinks by [@&#8203;hugovk](https://redirect.github.com/hugovk)
          in [#&#8203;1020](https://redirect.github.com/pypa/packaging/pull/1020)\n-
          Mention new parts in README by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1023](https://redirect.github.com/pypa/packaging/pull/1023)\n-
          Replace a couple of asserts with else by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1027](https://redirect.github.com/pypa/packaging/pull/1027)\n-
          Simplify and/or check a little more by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1031](https://redirect.github.com/pypa/packaging/pull/1031)\n-
          Use slim runner for all check by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1021](https://redirect.github.com/pypa/packaging/pull/1021)\n-
          Use typos instead of codespell by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1015](https://redirect.github.com/pypa/packaging/pull/1015)\n-
          Update changelog with recent additions by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1034](https://redirect.github.com/pypa/packaging/pull/1034)\n-
          Publish to PyPI via GitHub CI by [@&#8203;EpicWink](https://redirect.github.com/EpicWink)
          in [#&#8203;893](https://redirect.github.com/pypa/packaging/pull/893)\n-
          Use prek for faster pre-commit lint step by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1037](https://redirect.github.com/pypa/packaging/pull/1037)\n-
          Add help text to noxfile by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1038](https://redirect.github.com/pypa/packaging/pull/1038)\n-
          Update licenses to 3.27 by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1036](https://redirect.github.com/pypa/packaging/pull/1036)\n-
          Use relative import in `packaging.licenses` by [@&#8203;notatallshaw](https://redirect.github.com/notatallshaw)
          in [#&#8203;1039](https://redirect.github.com/pypa/packaging/pull/1039)\n-
          Add zizmor and tighten up CI by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1035](https://redirect.github.com/pypa/packaging/pull/1035)\n-
          Fix release script by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1040](https://redirect.github.com/pypa/packaging/pull/1040)\n-
          Fix using a dev version (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1041](https://redirect.github.com/pypa/packaging/pull/1041)\n-
          Fix type hint of function used with `contextlib.contextmanager` by [@&#8203;SpecLad](https://redirect.github.com/SpecLad)
          in [#&#8203;1046](https://redirect.github.com/pypa/packaging/pull/1046)\n-
          Always run tests by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1044](https://redirect.github.com/pypa/packaging/pull/1044)\n-
          Fix a changelog number by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1042](https://redirect.github.com/pypa/packaging/pull/1042)\n-
          Fix the publish job by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1043](https://redirect.github.com/pypa/packaging/pull/1043)\n-
          Get the correct tag on publish by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1045](https://redirect.github.com/pypa/packaging/pull/1045)\n-
          Test on first public release of CPython 3.11 and newer by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1056](https://redirect.github.com/pypa/packaging/pull/1056)\n-
          Fix publication job (again) by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1051](https://redirect.github.com/pypa/packaging/pull/1051)\n-
          Use `actionlint` to check CI workflows by [@&#8203;miketheman](https://redirect.github.com/miketheman)
          in [#&#8203;1052](https://redirect.github.com/pypa/packaging/pull/1052)\n-
          Fix formatting of distribution types in metadata.rst by [@&#8203;brettcannon](https://redirect.github.com/brettcannon)
          in [#&#8203;1053](https://redirect.github.com/pypa/packaging/pull/1053)\n\n####
          New Contributors\n\n- [@&#8203;cdce8p](https://redirect.github.com/cdce8p)
          made their first contribution in [#&#8203;881](https://redirect.github.com/pypa/packaging/pull/881)\n-
          [@&#8203;dholth](https://redirect.github.com/dholth) made their first contribution
          in [#&#8203;860](https://redirect.github.com/pypa/packaging/pull/860)\n-
          [@&#8203;trim21](https://redirect.github.com/trim21) made their first contribution
          in [#&#8203;908](https://redirect.github.com/pypa/packaging/pull/908)\n-
          [@&#8203;yarikoptic](https://redirect.github.com/yarikoptic) made their
          first contribution in [#&#8203;910](https://redirect.github.com/pypa/packaging/pull/910)\n-
          [@&#8203;cthoyt](https://redirect.github.com/cthoyt) made their first contribution
          in [#&#8203;868](https://redirect.github.com/pypa/packaging/pull/868)\n-
          [@&#8203;bwoodsend](https://redirect.github.com/bwoodsend) made their first
          contribution in [#&#8203;879](https://redirect.github.com/pypa/packaging/pull/879)\n-
          [@&#8203;stefan6419846](https://redirect.github.com/stefan6419846) made
          their first contribution in [#&#8203;921](https://redirect.github.com/pypa/packaging/pull/921)\n-
          [@&#8203;bearomorphism](https://redirect.github.com/bearomorphism) made
          their first contribution in [#&#8203;913](https://redirect.github.com/pypa/packaging/pull/913)\n-
          [@&#8203;EpicWink](https://redirect.github.com/EpicWink) made their first
          contribution in [#&#8203;922](https://redirect.github.com/pypa/packaging/pull/922)\n-
          [@&#8203;Liam-DeVoe](https://redirect.github.com/Liam-DeVoe) made their
          first contribution in [#&#8203;932](https://redirect.github.com/pypa/packaging/pull/932)\n-
          [@&#8203;subhajitsaha01](https://redirect.github.com/subhajitsaha01) made
          their first contribution in [#&#8203;930](https://redirect.github.com/pypa/packaging/pull/930)\n-
          [@&#8203;ncoghlan](https://redirect.github.com/ncoghlan) made their first
          contribution in [#&#8203;973](https://redirect.github.com/pypa/packaging/pull/973)\n-
          [@&#8203;zahlman](https://redirect.github.com/zahlman) made their first
          contribution in [#&#8203;1008](https://redirect.github.com/pypa/packaging/pull/1008)\n-
          [@&#8203;JP-Ellis](https://redirect.github.com/JP-Ellis) made their first
          contribution in [#&#8203;939](https://redirect.github.com/pypa/packaging/pull/939)\n\n####
          Since last RC\n\nFixes:\n\n- Restore `._version` as a compat shim by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1062](https://redirect.github.com/pypa/packaging/pull/1062)\n\nPerformance:\n\n-
          Dual replace by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1064](https://redirect.github.com/pypa/packaging/pull/1064)\n\nDocumentaiton:\n\n-
          Prepare for 26.0 final by [@&#8203;henryiii](https://redirect.github.com/henryiii)
          in [#&#8203;1063](https://redirect.github.com/pypa/packaging/pull/1063)\n\n**Full
          Changelog**: <https://github.com/pypa/packaging/compare/26.0rc3...26.0>\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/cloud-in-a-box).\n<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0Mi44NS4xIiwidXBkYXRlZEluVmVyIjoiNDIuOTUuMiIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsicmVub3ZhdGUiXX0=-->\n"
        change_url: https://github.com/osism/cloud-in-a-box/pull/425
        commit_id: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        patchset: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
        project:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cloud-in-a-box
          name: osism/cloud-in-a-box
          short_name: cloud-in-a-box
          src_dir: src/github.com/osism/cloud-in-a-box
        topic: null
      job: ansible-lint
      jobtags: []
      max_attempts: 3
      message: Y2hvcmUoZGVwcyk6IHVwZGF0ZSBkZXBlbmRlbmN5IHBhY2thZ2luZyB0byB2MjYKClRoaXMgUFIgY29udGFpbnMgdGhlIGZvbGxvd2luZyB1cGRhdGVzOgoKfCBQYWNrYWdlIHwgQ2hhbmdlIHwgW0FnZV0oaHR0cHM6Ly9kb2NzLnJlbm92YXRlYm90LmNvbS9tZXJnZS1jb25maWRlbmNlLykgfCBbQ29uZmlkZW5jZV0oaHR0cHM6Ly9kb2NzLnJlbm92YXRlYm90LmNvbS9tZXJnZS1jb25maWRlbmNlLykgfAp8LS0tfC0tLXwtLS18LS0tfAp8IFtwYWNrYWdpbmddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZykgfCBgPT0yNS4wYCDihpIgYD09MjYuMGAgfCAhW2FnZV0oaHR0cHM6Ly9kZXZlbG9wZXIubWVuZC5pby9hcGkvbWMvYmFkZ2VzL2FnZS9weXBpL3BhY2thZ2luZy8yNi4wP3NsaW09dHJ1ZSkgfCAhW2NvbmZpZGVuY2VdKGh0dHBzOi8vZGV2ZWxvcGVyLm1lbmQuaW8vYXBpL21jL2JhZGdlcy9jb25maWRlbmNlL3B5cGkvcGFja2FnaW5nLzI1LjAvMjYuMD9zbGltPXRydWUpIHwKCi0tLQoKIyMjIFJlbGVhc2UgTm90ZXMKCjxkZXRhaWxzPgo8c3VtbWFyeT5weXBhL3BhY2thZ2luZyAocGFja2FnaW5nKTwvc3VtbWFyeT4KCiMjIyBbYHYyNi4wYF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3JlbGVhc2VzL3RhZy8yNi4wKQoKW0NvbXBhcmUgU291cmNlXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvY29tcGFyZS8yNS4wLi4uMjYuMCkKClJlYWQgYWJvdXQgdGhlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBoZXJlOiA8aHR0cHM6Ly9pc2NpbnVtcHkuZGV2L3Bvc3QvcGFja2FnaW5nLWZhc3Rlcj4uCgojIyMjIFdoYXQncyBDaGFuZ2VkCgpGZWF0dXJlczoKCi0gUEVQIDc1MTogc3VwcG9ydCBweWxvY2sgYnkgW0AmIzgyMDM7c2JpZG91bF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3NiaWRvdWwpIGluIFsjJiM4MjAzOzkwMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTAwKQotIFBFUCA3OTQ6IGltcG9ydCBuYW1lIG1ldGFkYXRhIGJ5IFtAJiM4MjAzO2JyZXR0Y2Fubm9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYnJldHRjYW5ub24pIGluIFsjJiM4MjAzOzk0OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTQ4KQotIFN1cHBvcnQgd3JpdGluZyBtZXRhZGF0YSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs4NDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzg0NikKLSBTdXBwb3J0IGBfX3JlcGxhY2VfX2AgZm9yIGBWZXJzaW9uYCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDAzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDAzKQotIFN1cHBvcnQgcG9zaXRpb25hbCBwYXR0ZXJuIG1hdGNoaW5nIGZvciBgVmVyc2lvbmAgYW5kIGBTcGVjaWZpZXJgIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMDQpCgpCZWhhdmlvciBhZGFwdGF0aW9uczoKCi0gUEVQIDQ0MCBoYW5kbGluZyBvZiBwcmVyZWxlYXNlcyBmb3IgYFNwZWNpZmllci5jb250YWluc2AsIGBTcGVjaWZpZXJTZXQuY29udGFpbnNgLCBhbmQgYFNwZWNpZmllclNldC5maWx0ZXJgIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7ODk3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84OTcpCi0gSGFuZGxlIFBFUCA0NDAgZWRnZSBjYXNlIGluIGBTcGVjaWZpZXJTZXQuZmlsdGVyYCBieSBbQCYjODIwMztub3RhdGFsbHNoYXddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ub3RhdGFsbHNoYXcpIGluIFsjJiM4MjAzOzk0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTQyKQotIEFkanVzdCBhcmJpdHJhcnkgZXF1YWxpdHkgaW50ZXJzZWN0aW9uIHByZXNlcnZhdGlvbiBpbiBgU3BlY2lmaWVyU2V0YCBieSBbQCYjODIwMztub3RhdGFsbHNoYXddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ub3RhdGFsbHNoYXcpIGluIFsjJiM4MjAzOzk1MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTUxKQotIFJldHVybiBgRmFsc2VgIGluc3RlYWQgb2YgcmFpc2luZyBmb3IgYC5jb250YWluc2Agd2l0aCBpbnZhbGlkIHZlcnNpb24gYnkgW0AmIzgyMDM7TGlhbS1EZVZvZV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0xpYW0tRGVWb2UpIGluIFsjJiM4MjAzOzkzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTMyKQotIFN1cHBvcnQgYXJiaXRyYXJ5IGVxdWFsaXR5IG9uIGFyYml0cmFyeSBzdHJpbmdzIGZvciBgU3BlY2lmaWVyYCBhbmQgYFNwZWNpZmllclNldGAncyBgZmlsdGVyYCBhbmQgYGNvbnRhaW5zYCBtZXRob2QuIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTU0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NTQpCi0gT25seSB0cnkgdG8gcGFyc2UgYXMgYFZlcnNpb25gIG9uIGNlcnRhaW4gbWFya2VyIGtleXMsIHJldHVybiBgRmFsc2VgIG9uIHVuZXF1YWwgb3JkZXJlZCBjb21wYXJzaW9ucyBieSBbQCYjODIwMztKUC1FbGxpc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0pQLUVsbGlzKSBpbiBbIyYjODIwMzs5MzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkzOSkKCkZpeGVzOgoKLSBVcGRhdGUgYF9oYXNoYCB3aGVuIHVucGlja2xpbmcgYFRhZygpYCBieSBbQCYjODIwMztkaG9sdGhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9kaG9sdGgpIGluIFsjJiM4MjAzOzg2MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODYwKQotIENvcnJlY3QgY29tbWVudCBhbmQgc2ltcGxpZnkgaW1wbGljaXQgcHJlcmVsZWFzZSBoYW5kbGluZyBpbiBgU3BlY2lmaWVyLnByZXJlbGVhc2VzYCBieSBbQCYjODIwMztub3RhdGFsbHNoYXddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ub3RhdGFsbHNoYXcpIGluIFsjJiM4MjAzOzg5Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODk2KQotIFVzZSBleHBsaWNpdCBgX0dMaWJDVmVyc2lvbmAgYE5hbWVkVHVwbGVgIGluIGBfbWFueWxpbnV4YCBieSBbQCYjODIwMztjdGhveXRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jdGhveXQpIGluIFsjJiM4MjAzOzg2OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODY4KQotIERldGVjdCBpbnZhbGlkIGxpY2Vuc2UgZXhwcmVzc2lvbnMgY29udGFpbmluZyBgKClgIGJ5IFtAJiM4MjAzO2J3b29kc2VuZF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2J3b29kc2VuZCkgaW4gWyMmIzgyMDM7ODc5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84NzkpCi0gQ29ycmVjdCByZWdleCBmb3IgbWV0YWRhdGEgYCduYW1lJ2AgZm9ybWF0IGJ5IFtAJiM4MjAzO2RpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGkpIGluIFsjJiM4MjAzOzkyNV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTI1KQotIEltcHJvdmUgdGhlIG1lc3NhZ2UgYXJvdW5kIGV4cGVjdGluZyBhIHNlbWljb2xvbiBieSBbQCYjODIwMztwcmFkeXVuc2ddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9wcmFkeXVuc2cpIGluIFsjJiM4MjAzOzgzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODMzKQotIFN1cHBvcnQgbmVzdGVkIHBhcmVucyBpbiBsaWNlbnNlIGV4cHJlc3Npb25zIGJ5IFtAJiM4MjAzO0xpYW0tRGVWb2VdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9MaWFtLURlVm9lKSBpbiBbIyYjODIwMzs5MzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkzMSkKLSBBZGQgc3BhY2UgYmVmb3JlIGF0IHN5bWJvbCBpbiBgUmVxdWlyZW1lbnRzYCBzdHJpbmcgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTUzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NTMpCi0gQSByb290IGxvZ2dlciB1c2UgZm91bmQgYnkgcnVmZiBMT0csIHVzZSBgcGFja2FnaW5nYCBsb2dnZXIgaW5zdGVhZCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NjVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk2NSkKLSBCZXR0ZXIgc3VwcG9ydCBmb3Igc3ViY2xhc3NpbmcgYE1hcmtlcmAgYW5kIGBSZXF1aXJlbWVudGAgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAyMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAyMikKLSBOb3JtYWxpemUgYWxsIGV4dHJhcywgbm90IGp1c3QgaWYgaXQgY29tZXMgZmlyc3QgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAyNCkKLSBEb24ndCBwcm9kdWNlIGEgYnJva2VuIHJlcHIgaWYgYE1hcmtlcmAgZmFpbHMgdG8gY29uc3RydWN0IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMzNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMzMpCgpQZXJmb3JtYW5jZToKCi0gQXZvaWQgcmVjb21waWxpbmcgcmVnZXhlcyBpbiB0aGUgdG9rZW5pemVyIGZvciBhIDN4IHNwZWVkdXAgYnkgW0AmIzgyMDM7aGF1bnRzYW5pbmphXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGF1bnRzYW5pbmphKSBpbiBbIyYjODIwMzsxMDE5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDE5KQotIEltcHJvdmUgcGVyZm9ybWFuY2UgaW4gYF9tYW55bGludXgucHlgIGJ5IFtAJiM4MjAzO2N0aG95dF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2N0aG95dCkgaW4gWyMmIzgyMDM7ODY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84NjkpCi0gTWlub3IgY2xlYW51cHMgdG8gYFZlcnNpb25gIGJ5IFtAJiM4MjAzO2JlYXJvbW9ycGhpc21dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9iZWFyb21vcnBoaXNtKSBpbiBbIyYjODIwMzs5MTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkxMykKLSBTa2lwIHJlZHVuZGFudCBjcmVhdGlvbiBvZiBgVmVyc2lvbmBzIGluIHNwZWNpZmllciBjb21wYXJpc29uIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTg2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85ODYpCi0gQ2FjaGUgYFNwZWNpZmllcmAncyBWZXJzaW9uIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTg1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85ODUpCi0gTWFrZSBgVmVyc2lvbmAgYSBsaXR0bGUgZmFzdGVyIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk4N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTg3KQotIE1pbm9yIGBWZXJzaW9uYCByZWdleCBjbGVhbnVwIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk5MF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTkwKQotIEZhc3RlciByZWdleCBvbiBQeXRob24gMy4xMS41KyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5ODhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk4OCkgYW5kIFsjJiM4MjAzOzEwNTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNTUpCi0gTGF6aWx5IGNhbGN1bGF0ZSBgX2tleWAgaW4gYFZlcnNpb25gIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTg5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85ODkpIGFuZCByZWdyZXNzaW9uIGZvciBgcGFja2FnaW5nX2xlZ2FjeWAgZml4ZWQgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA0OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA0OCkKLSBGYXN0ZXIgYGNhbm9uaWNhbGl6ZV92ZXJzaW9uYCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5OTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk5MykKLSBVc2UgYGZ1bGxtYXRjaGAgaW4gYSBjb3VwbGUgbW9yZSBwbGFjZXMgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTkyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85OTIpCi0gVXNlIGBmdWxsbWF0Y2hgIGZvciBtYXJrZXJzIHRvbyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDI5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDI5KQotIFVzZSBgbWFwYCBpbnN0ZWFkIG9mIGdlbmVyYXRvciBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5OTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk5NikKLSBEZXByZWNhdGUgYC5fdmVyc2lvbmAgKGBfVmVyc2lvbmAsIGEgYE5hbWVkVHVwbGVgKSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5OTVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk5NSkgYW5kIFsjJiM4MjAzOzEwNjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNjIpCi0gQXZvaWQgZHVwbGljYXRlIGBWZXJzaW9uYCBjcmVhdGlvbiBpbiBgY2Fub25pY2FsaXplX3ZlcnNpb25gIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk5NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTk0KQotIEFkZCBgX19zbG90c19fYCB0byBgVmVyc2lvbmAgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAwMSkKLSBBZGQgYF9fc2xvdHNfX2AgdG8gYFNwZWNpZmllcmBzIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMDIpCi0gQWRkIGBfX3Nsb3RzX19gIHRvIGBOb2RlYHMgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAzMl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAzMikKLSBVc2UgYHZlcnNpb24uX19yZXBsYWNlX19gIGluIHNwZWNpZmllciBjb21wYXJpc29uIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTk5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85OTkpCi0gVXNlIGBfZ2V0X3NwZWNfdmVyc2lvbmAgaW4gbW9yZSBwbGFjZXMgaW4gYFNwZWNpZmllcmAgYnkgW0AmIzgyMDM7bm90YXRhbGxzaGF3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbm90YXRhbGxzaGF3KSBpbiBbIyYjODIwMzsxMDA1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDA1KQotIFB1bGwgYHNldGAgY29uc3RydWN0aW9uIG91dCBvZiBmdW5jdGlvbiBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDEyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDEyKQotIExldHRlciBub3JtYWxpemF0aW9uIGRpY3QgZm9yIHByZXJlbGVhc2VzIGFuZCB0aGUgbGlrZSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDE0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDE0KQotIEF2b2lkIG5vcm1hbGl6aW5nIGV4dHJhcyBhZ2FpbiB3aGVuIGNvbXBhcmluZyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDI4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDI4KQotIFNwZWVkIHVwIGBWZXJzaW9uLl9fc3RyX19gIGJ5IGFib3V0IDEwJSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5OTddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk5NykKLSBJbmNyZWFzZSB0aGUgcGVyZm9ybWFuY2Ugb2YgYGNhbm9uaWNhbGl6ZV9uYW1lYCBieSBhdm9pZGluZyBhIHJlZ2V4IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMzApLCBbIyYjODIwMzsxMDQ3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDQ3KSwgYW5kIFsjJiM4MjAzOzEwNjRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNjQpCi0gRmFzdGVyIHplcm8gc3RyaXBwaW5nIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwNThdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNTgpCgpUeXBlIGFubm90YXRpb25zOgoKLSBGaXggYSB0eXBlIGFubm90YXRpb24gYnkgW0AmIzgyMDM7YnJldHRjYW5ub25dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9icmV0dGNhbm5vbikgaW4gWyMmIzgyMDM7OTA3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MDcpCi0gRml4IHRhZ3MgcmV0dXJuIHR5cGUgaW4gYHBhcnNlX3doZWVsX2ZpbGVuYW1lYCBkb2NzIGJ5IFtAJiM4MjAzO25jb2dobGFuXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vbmNvZ2hsYW4pIGluIFsjJiM4MjAzOzk3M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTczKQotIEFkZCB0eXBlIGhpbnQgZm9yIGBfdmVyc2lvbmAgaW4gYC52ZXJzaW9uLlZlcnNpb25gIGJ5IFtAJiM4MjAzO2JyZXR0Y2Fubm9uXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vYnJldHRjYW5ub24pIGluIFsjJiM4MjAzOzkyN10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTI3KQotIENoYW5nZWQgc3RhdGljIHR5cGUgYW5ub3RhdGlvbnMgaW4gcHJlcmVsZWFzZXMgc2V0dGVyIG1ldGhvZCBpbiBgc3BlY2lmaWVyLnB5YCBieSBbQCYjODIwMztzdWJoYWppdHNhaGEwMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N1Ymhhaml0c2FoYTAxKSBpbiBbIyYjODIwMzs5MzBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkzMCkKLSBTdGF0aWNhbGx5IHR5cGUgdGhlIHRlc3RzIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk4Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTgyKQoKSW50ZXJuYWw6CgotIFRlc3QgYW5kIGRlY2xhcmUgc3VwcG9ydCBQeXRob24gMy4xNCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5MDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkwMSkKLSBNb2Rlcm5pemUgYW5kIHNwZWVkIHVwIHRlc3RzIG9uIFB5dGhvbiAzLjE0IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzkwM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTAzKQotIENoYW5nZSBvdXIgbGljZW5zZSBtZXRhZGF0YSB0byB1c2UgYW4gU1BEWCBsaWNlbnNlIGV4cHJlc3Npb24gYnkgW0AmIzgyMDM7Y2RjZThwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vY2RjZThwKSBpbiBbIyYjODIwMzs4ODFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzg4MSkKLSBObyBuZWVkIGZvciBgbGljZW5zZS1maWxlc2AgYnkgW0AmIzgyMDM7RGltaXRyaVBhcGFkb3BvdWxvc10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0RpbWl0cmlQYXBhZG9wb3Vsb3MpIGluIFsjJiM4MjAzOzkyNF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTI0KQotIFVwZGF0ZSBteXB5IGJ5IFtAJiM4MjAzO2hhdW50c2FuaW5qYV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hhdW50c2FuaW5qYSkgaW4gWyMmIzgyMDM7ODkxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84OTEpCi0gU29tZSBjb25maWcgdXBkYXRlcyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5MDJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkwMikKLSBBZGQgc3BlbGwgY2hlY2sgYW5kIHJzdCBjaGVjayBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5MDRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkwNCkKLSBDbGVhbiB1cCBydWZmIGlnbm9yZXMgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTA1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MDUpCi0gVXBkYXRlIGV4YW1wbGUgZm9yIGVudiBtYXJrZXIgYHB5dGhvbl92ZXJzaW9uYCBieSBbQCYjODIwMzt0cmltMjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmltMjEpIGluIFsjJiM4MjAzOzkwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTA4KQotIE1vdmUgY29kZXNwZWxsIGNvbmZpZ3VyYXRpb24gaW50byBweXByb2plY3QudG9tbCBieSBbQCYjODIwMzt5YXJpa29wdGljXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20veWFyaWtvcHRpYykgaW4gWyMmIzgyMDM7OTEwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MTApCi0gQ2hlY2sgd2FybmluZyBhIGxpdHRsZSBtb3JlIHByZWNpc2VseSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs4MzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzgzNykKLSBTcGVlZCB1cCBteXB5IGEgbGl0dGxlIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzgzNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODM2KQotIEFwcGx5IHJ1ZmYvZmxha2U4LXB5aSBydWxlcyAoUFlJKSBieSBbQCYjODIwMztEaW1pdHJpUGFwYWRvcG91bG9zXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vRGltaXRyaVBhcGFkb3BvdWxvcykgaW4gWyMmIzgyMDM7ODM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84MzUpCi0gQmV0dGVyIGxvY2FsIHJ1bnMgZm9yIGNvZGVzcGVsbCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5MTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkxMSkKLSBSZW1vdmUgb3V0ZGF0ZWQvY29uZnVzaW5nIEdpc3QgbGluayBieSBbQCYjODIwMztzdGVmYW42NDE5ODQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vc3RlZmFuNjQxOTg0NikgaW4gWyMmIzgyMDM7OTIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MjEpCi0gRml4IGRvY3MgYW5kIGRvY3MgY2kgYWZ0ZXIgWyMmIzgyMDM7ODk3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvaXNzdWVzLzg5NykgbGFuZGVkIGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTI2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MjYpCi0gUnVuIHR3aW5lLWNoZWNrIG9uIHB1c2ggaW4gQ0kgYnkgW0AmIzgyMDM7RXBpY1dpbmtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9FcGljV2luaykgaW4gWyMmIzgyMDM7OTIyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MjIpCi0gYHJ1ZmZgIHdhcyByZW5hbWVkIGBydWZmLWNoZWNrYCBpbiBwcmUtY29tbWl0IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzkzM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTMzKQotIEZpeCBpbmNvcnJlY3RseSBpbXBsaWNpdGx5IGNvbmNhdGVuYXRlZCBzdHJpbmcgaW4gc3BlY2lmaWVycyB0ZXN0IGJ5IFtAJiM4MjAzO25vdGF0YWxsc2hhd10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL25vdGF0YWxsc2hhdykgaW4gWyMmIzgyMDM7OTQ2XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NDYpCi0gU2ltcGxpZnkgY29uZGl0aW9uYWwgYnkgW0AmIzgyMDM7b2Zla10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL29mZWspIGluIFsjJiM4MjAzOzk0OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTQ5KQotIE1vZGVybml6ZSBub3gsIHVzZSBkZXBlbmRlbmN5LWdyb3VwcyBmb3IgdGVzdHMgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTUyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NTIpCi0gQWRkIG1vcmUgY2hlY2tzIHRoYXQgZG9uJ3QgYWZmZWN0IGFueXRoaW5nIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk1N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTU3KQotIEVuYWJsZSBSdWZmIElTQyBydWxlIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk1OV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTU5KQotIFJ1ZmYgY29kZSBGTFkgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTYzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NjMpCi0gcHl0ZXN0IGBsb2dfbGV2ZWxgIGlzIGJldHRlciB0aGFuIGBsb2dfY2xpX2xldmVsYCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk1NikKLSBSdWZmIGNvZGUgVFJZIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk2MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTYxKQotIEFkZCB0aGUgcnVmZiBQTCBjaGVja3MgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTY0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NjQpCi0gRW5hYmxlIFJ1ZmYgQVJHIHJ1bGVzIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk1OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTU4KQotIFJ1ZmYgUFQgY29kZSAocHl0ZXN0KSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk2MCkKLSBBZGQgcnVmZiBEVFogYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTY4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NjgpCi0gQWRkIHJ1ZmYgQkxFIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk2N10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTY3KQotIEFkZCB0aGUgcnVmZiBTSU0gY2hlY2tzIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk2Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTY2KQotIEFkZGluZyBydWZmIFBFUkYgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTY5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NjkpCi0gTW92ZSBzb21lIGNvbmZpZyBpbnRvIGNvdmVyYWdlIGNvbmZpZyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NzFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk3MSkKLSBDaGVjayBydWZmIEM0IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTYyKQotIEFkZGluZyBydWZmIFQyMCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NzJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk3MikKLSBBZGQgYSB0ZXN0cyBwYXNzIGpvYiBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NzddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk3NykKLSBBZGQgcnVmZiBUQyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5ODBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk4MCkKLSBBZGRpbmcgcGFydCBvZiBydWZmIFJFVCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzs5NzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzk3OSkKLSBSZW9yZGVyIG15cHkgY2hlY2sgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7OTgzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85ODMpCi0gRW5hYmxlIHJ1ZmYgQUxMIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk4NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTg0KQotIExpbmsgYmFjayB0byByZXBvL3NvdXJjZSBpbiBmdXJvIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzk5MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTkxKQotIEFkZCBjYXNlIGluc2Vuc2l0aXZpdHkgdGVzdHMgZm9yIGFyYml0cmFyeSBlcXVhbGl0eSBieSBbQCYjODIwMztub3RhdGFsbHNoYXddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ub3RhdGFsbHNoYXcpIGluIFsjJiM4MjAzOzk3NV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTc1KQotIFN5bmNocm9uaXplIGRvY3VtZW50YXRpb24gYW5kIGNvZGUgZm9yIG1hcmtlcnMgYnkgW0AmIzgyMDM7emFobG1hbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3phaGxtYW4pIGluIFsjJiM4MjAzOzEwMDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMDgpCi0gVXNlIGBwYXJ0aXRpb25gIGluIGBfcGFyc2VfcHJvamVjdF91cmxzYCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDEzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDEzKQotIGF1dG8tc2tpcCB0aGUgZGVwZW5kYWJvdCBQUnMgaW4gdGhlIHJlbGVhc2UgY2hhbmdlbG9nIGdlbmVyYXRpb24gYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAxNl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAxNikKLSBVcGRhdGUgdW5yZWxlYXNlZCBzZWN0aW9uIGluIGNoYW5nZWxvZyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDE3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDE3KQotIEZpeCBQUiByb2xlIHRvIG1hdGNoIGV4dGxpbmtzIGJ5IFtAJiM4MjAzO2h1Z292a10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2h1Z292aykgaW4gWyMmIzgyMDM7MTAyMF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAyMCkKLSBNZW50aW9uIG5ldyBwYXJ0cyBpbiBSRUFETUUgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAyM10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAyMykKLSBSZXBsYWNlIGEgY291cGxlIG9mIGFzc2VydHMgd2l0aCBlbHNlIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMjddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMjcpCi0gU2ltcGxpZnkgYW5kL29yIGNoZWNrIGEgbGl0dGxlIG1vcmUgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTAzMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTAzMSkKLSBVc2Ugc2xpbSBydW5uZXIgZm9yIGFsbCBjaGVjayBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDIxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDIxKQotIFVzZSB0eXBvcyBpbnN0ZWFkIG9mIGNvZGVzcGVsbCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDE1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDE1KQotIFVwZGF0ZSBjaGFuZ2Vsb2cgd2l0aCByZWNlbnQgYWRkaXRpb25zIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMzRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMzQpCi0gUHVibGlzaCB0byBQeVBJIHZpYSBHaXRIdWIgQ0kgYnkgW0AmIzgyMDM7RXBpY1dpbmtdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9FcGljV2luaykgaW4gWyMmIzgyMDM7ODkzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84OTMpCi0gVXNlIHByZWsgZm9yIGZhc3RlciBwcmUtY29tbWl0IGxpbnQgc3RlcCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDM3XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDM3KQotIEFkZCBoZWxwIHRleHQgdG8gbm94ZmlsZSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDM4XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDM4KQotIFVwZGF0ZSBsaWNlbnNlcyB0byAzLjI3IGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwMzZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMzYpCi0gVXNlIHJlbGF0aXZlIGltcG9ydCBpbiBgcGFja2FnaW5nLmxpY2Vuc2VzYCBieSBbQCYjODIwMztub3RhdGFsbHNoYXddKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9ub3RhdGFsbHNoYXcpIGluIFsjJiM4MjAzOzEwMzldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMzkpCi0gQWRkIHppem1vciBhbmQgdGlnaHRlbiB1cCBDSSBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDM1XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDM1KQotIEZpeCByZWxlYXNlIHNjcmlwdCBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDQwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDQwKQotIEZpeCB1c2luZyBhIGRldiB2ZXJzaW9uIChhZ2FpbikgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA0MV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA0MSkKLSBGaXggdHlwZSBoaW50IG9mIGZ1bmN0aW9uIHVzZWQgd2l0aCBgY29udGV4dGxpYi5jb250ZXh0bWFuYWdlcmAgYnkgW0AmIzgyMDM7U3BlY0xhZF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL1NwZWNMYWQpIGluIFsjJiM4MjAzOzEwNDZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNDYpCi0gQWx3YXlzIHJ1biB0ZXN0cyBieSBbQCYjODIwMztoZW5yeWlpaV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2hlbnJ5aWlpKSBpbiBbIyYjODIwMzsxMDQ0XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDQ0KQotIEZpeCBhIGNoYW5nZWxvZyBudW1iZXIgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA0Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA0MikKLSBGaXggdGhlIHB1Ymxpc2ggam9iIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwNDNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNDMpCi0gR2V0IHRoZSBjb3JyZWN0IHRhZyBvbiBwdWJsaXNoIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwNDVdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNDUpCi0gVGVzdCBvbiBmaXJzdCBwdWJsaWMgcmVsZWFzZSBvZiBDUHl0aG9uIDMuMTEgYW5kIG5ld2VyIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwNTZdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNTYpCi0gRml4IHB1YmxpY2F0aW9uIGpvYiAoYWdhaW4pIGJ5IFtAJiM4MjAzO2hlbnJ5aWlpXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vaGVucnlpaWkpIGluIFsjJiM4MjAzOzEwNTFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNTEpCi0gVXNlIGBhY3Rpb25saW50YCB0byBjaGVjayBDSSB3b3JrZmxvd3MgYnkgW0AmIzgyMDM7bWlrZXRoZW1hbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL21pa2V0aGVtYW4pIGluIFsjJiM4MjAzOzEwNTJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwNTIpCi0gRml4IGZvcm1hdHRpbmcgb2YgZGlzdHJpYnV0aW9uIHR5cGVzIGluIG1ldGFkYXRhLnJzdCBieSBbQCYjODIwMzticmV0dGNhbm5vbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2JyZXR0Y2Fubm9uKSBpbiBbIyYjODIwMzsxMDUzXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC8xMDUzKQoKIyMjIyBOZXcgQ29udHJpYnV0b3JzCgotIFtAJiM4MjAzO2NkY2U4cF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2NkY2U4cCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7ODgxXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84ODEpCi0gW0AmIzgyMDM7ZGhvbHRoXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vZGhvbHRoKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs4NjBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzg2MCkKLSBbQCYjODIwMzt0cmltMjFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS90cmltMjEpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzkwOF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTA4KQotIFtAJiM4MjAzO3lhcmlrb3B0aWNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS95YXJpa29wdGljKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs5MTBdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkxMCkKLSBbQCYjODIwMztjdGhveXRdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9jdGhveXQpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzg2OF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvODY4KQotIFtAJiM4MjAzO2J3b29kc2VuZF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL2J3b29kc2VuZCkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7ODc5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC84NzkpCi0gW0AmIzgyMDM7c3RlZmFuNjQxOTg0Nl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3N0ZWZhbjY0MTk4NDYpIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzkyMV0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvOTIxKQotIFtAJiM4MjAzO2JlYXJvbW9ycGhpc21dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9iZWFyb21vcnBoaXNtKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs5MTNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkxMykKLSBbQCYjODIwMztFcGljV2lua10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL0VwaWNXaW5rKSBtYWRlIHRoZWlyIGZpcnN0IGNvbnRyaWJ1dGlvbiBpbiBbIyYjODIwMzs5MjJdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzkyMikKLSBbQCYjODIwMztMaWFtLURlVm9lXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vTGlhbS1EZVZvZSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7OTMyXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MzIpCi0gW0AmIzgyMDM7c3ViaGFqaXRzYWhhMDFdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9zdWJoYWppdHNhaGEwMSkgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7OTMwXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MzApCi0gW0AmIzgyMDM7bmNvZ2hsYW5dKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9uY29naGxhbikgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7OTczXShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85NzMpCi0gW0AmIzgyMDM7emFobG1hbl0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3phaGxtYW4pIG1hZGUgdGhlaXIgZmlyc3QgY29udHJpYnV0aW9uIGluIFsjJiM4MjAzOzEwMDhdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9wdWxsLzEwMDgpCi0gW0AmIzgyMDM7SlAtRWxsaXNdKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9KUC1FbGxpcykgbWFkZSB0aGVpciBmaXJzdCBjb250cmlidXRpb24gaW4gWyMmIzgyMDM7OTM5XShodHRwczovL3JlZGlyZWN0LmdpdGh1Yi5jb20vcHlwYS9wYWNrYWdpbmcvcHVsbC85MzkpCgojIyMjIFNpbmNlIGxhc3QgUkMKCkZpeGVzOgoKLSBSZXN0b3JlIGAuX3ZlcnNpb25gIGFzIGEgY29tcGF0IHNoaW0gYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA2Ml0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA2MikKClBlcmZvcm1hbmNlOgoKLSBEdWFsIHJlcGxhY2UgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA2NF0oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA2NCkKCkRvY3VtZW50YWl0b246CgotIFByZXBhcmUgZm9yIDI2LjAgZmluYWwgYnkgW0AmIzgyMDM7aGVucnlpaWldKGh0dHBzOi8vcmVkaXJlY3QuZ2l0aHViLmNvbS9oZW5yeWlpaSkgaW4gWyMmIzgyMDM7MTA2M10oaHR0cHM6Ly9yZWRpcmVjdC5naXRodWIuY29tL3B5cGEvcGFja2FnaW5nL3B1bGwvMTA2MykKCioqRnVsbCBDaGFuZ2Vsb2cqKjogPGh0dHBzOi8vZ2l0aHViLmNvbS9weXBhL3BhY2thZ2luZy9jb21wYXJlLzI2LjByYzMuLi4yNi4wPgoKPC9kZXRhaWxzPgoKLS0tCgojIyMgQ29uZmlndXJhdGlvbgoK8J+ThSAqKlNjaGVkdWxlKio6IEJyYW5jaCBjcmVhdGlvbiAtIEF0IGFueSB0aW1lIChubyBzY2hlZHVsZSBkZWZpbmVkKSwgQXV0b21lcmdlIC0gQXQgYW55IHRpbWUgKG5vIHNjaGVkdWxlIGRlZmluZWQpLgoK8J+apiAqKkF1dG9tZXJnZSoqOiBEaXNhYmxlZCBieSBjb25maWcuIFBsZWFzZSBtZXJnZSB0aGlzIG1hbnVhbGx5IG9uY2UgeW91IGFyZSBzYXRpc2ZpZWQuCgrimbsgKipSZWJhc2luZyoqOiBXaGVuZXZlciBQUiBiZWNvbWVzIGNvbmZsaWN0ZWQsIG9yIHlvdSB0aWNrIHRoZSByZWJhc2UvcmV0cnkgY2hlY2tib3guCgrwn5SVICoqSWdub3JlKio6IENsb3NlIHRoaXMgUFIgYW5kIHlvdSB3b24ndCBiZSByZW1pbmRlZCBhYm91dCB0aGlzIHVwZGF0ZSBhZ2Fpbi4KCi0tLQoKIC0gWyBdIDwhLS0gcmViYXNlLWNoZWNrIC0tPklmIHlvdSB3YW50IHRvIHJlYmFzZS9yZXRyeSB0aGlzIFBSLCBjaGVjayB0aGlzIGJveAoKLS0tCgpUaGlzIFBSIHdhcyBnZW5lcmF0ZWQgYnkgW01lbmQgUmVub3ZhdGVdKGh0dHBzOi8vbWVuZC5pby9yZW5vdmF0ZS8pLiBWaWV3IHRoZSBbcmVwb3NpdG9yeSBqb2IgbG9nXShodHRwczovL2RldmVsb3Blci5tZW5kLmlvL2dpdGh1Yi9vc2lzbS9jbG91ZC1pbi1hLWJveCkuCjwhLS1yZW5vdmF0ZS1kZWJ1ZzpleUpqY21WaGRHVmtTVzVXWlhJaU9pSTBNaTQ0TlM0eElpd2lkWEJrWVhSbFpFbHVWbVZ5SWpvaU5ESXVPVFV1TWlJc0luUmhjbWRsZEVKeVlXNWphQ0k2SW0xaGFXNGlMQ0pzWVdKbGJITWlPbHNpY21WdWIzWmhkR1VpWFgwPS0tPgo=
      patchset: 37a4cc6a8ed52faeb1ae05c671fa4a5ddefa9697
      pipeline: check
      playbook_context:
        playbook_projects:
          trusted/project_0/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          trusted/project_1/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
          untrusted/project_0/github.com/osism/zuul-jobs:
            canonical_name: github.com/osism/zuul-jobs
            checkout: main
            commit: a01eed06dffe368c1d01819193bfadccb137414d
          untrusted/project_1/github.com/osism/zuul-config:
            canonical_name: github.com/osism/zuul-config
            checkout: main
            commit: 4f450aa36c28b035ce97359a888edbd7599eaf31
          untrusted/project_2/github.com/osism/openinfra-zuul-jobs:
            canonical_name: github.com/osism/openinfra-zuul-jobs
            checkout: master
            commit: 397240f42127868e42e86e6aeb120c2cb092d117
        playbooks:
        - path: untrusted/project_0/github.com/osism/zuul-jobs/playbooks/ansible-lint/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/openinfra-zuul-jobs
            link_target: untrusted/project_2/github.com/osism/openinfra-zuul-jobs
            role_path: ansible/playbook_0/role_2/openinfra-zuul-jobs/roles
      post_review: false
      post_timeout: null
      pre_timeout: null
      project:
        canonical_hostname: github.com
        canonical_name: github.com/osism/cloud-in-a-box
        name: osism/cloud-in-a-box
        short_name: cloud-in-a-box
        src_dir: src/github.com/osism/cloud-in-a-box
      projects:
        github.com/osism/cloud-in-a-box:
          canonical_hostname: github.com
          canonical_name: github.com/osism/cloud-in-a-box
          checkout: main
          checkout_description: zuul branch
          commit: fcb999eab867e5d8a868cc6ebbad8b04c14894c4
          name: osism/cloud-in-a-box
          required: false
          short_name: cloud-in-a-box
          src_dir: src/github.com/osism/cloud-in-a-box
      ref: refs/pull/425/head
      resources: {}
      tenant: osism
      timeout: 1800
      topic: null
      voting: true
