sharjeelyunus/github-issues-dataset huggingface dataset:
Repository: pytorch
Issue: Compiling GPT2 with tensorrt backend and dynamic shapes results in guard failures.
Labels: triaged,oncall: pt2,module: dynamic shapes

### 🐛 Describe the bug

I'm trying to compile GPT2 model with dynamic shapes and encountered this guard failure at the end. Any suggestions on what's the exact issue and how to resolve it ? 

### Error logs

Please find the error log here : [full_gpt2.log](https://github.com/pytorch/pytorch/files/15224297/full_gpt2.log)


### Minified repro

```py
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
import torch_tensorrt

torch_device = "cuda" if torch.cuda.is_available() else "cpu"
tokenizer = AutoTokenizer.from_pretrained("gpt2")

# add the EOS token as PAD token to avoid warnings
model = AutoModelForCausalLM.from_pretrained("gpt2", pad_token_id=tokenizer.eos_token_id).to(torch_device)
model_inputs = tokenizer('I enjoy walking with my cute dog', return_tensors='pt').to(torch_device)
inputs = model_inputs['input_ids']
pyt_outputs = model(inputs)

torch._dynamo.mark_dynamic(model_inputs['input_ids'], 1, min=2, max=1024)
model.forward = torch.compile(model.forward, backend="tensorrt",
                      dynamic=None,
                      options={"truncate_long_and_double": True,
                               "debug": True,
                               "enabled_precisions": {torch.float},
                               "min_block_size": 1,
                               "torch_executed_ops": {"torch.ops.aten.slice.Tensor"}
                               }
                            )

trt_outputs = model(input_ids=inputs)
```

### Versions

Versions of relevant libraries:
[pip3] flake8==6.1.0
[pip3] flake8-bugbear==23.3.23
[pip3] flake8-comprehensions==3.12.0
[pip3] flake8-executable==2.1.3
[pip3] flake8-logging-format==0.9.0
[pip3] flake8-pyi==23.3.1
[pip3] flake8-simplify==0.19.3
[pip3] mypy==1.3.0
[pip3] mypy-extensions==1.0.0
[pip3] numpy==1.26.0
[pip3] onnx==1.15.0
[pip3] onnx-graphsurgeon==0.3.25
[pip3] onnxruntime==1.16.3
[pip3] onnxscript==0.1.0.dev20240205
[pip3] onnxsim==0.4.35
[pip3] optree==0.10.0
[pip3] pytorch-triton==3.0.0+45fff310c8
[pip3] pytorch-triton-rocm==2.2.0
[pip3] torch==2.3.0+cu121
[pip3] torch_tensorrt==2.3.0.dev0+6f945fa4c
[pip3] torchprofile==0.0.4
[pip3] torchsurgeon==0.1.2
[pip3] torchvision==0.18.0+cu121
[pip3] triton==2.3.0

cc @ezyang @msaroufim @bdhirsh @anijain2305 @chauhang
Repository: TypeScript
Issue: Check for missing property on union type causes failure in subsequent property checks
Labels: Help Wanted,Possible Improvement

### 🔎 Search Terms

"missing property", "property check", "type union", "control flow analysis"

### 🕗 Version & Regression Information

- This is the behavior in every version I tried*, and I reviewed the FAQ for entries about property checks

*There was a minor change between 4.8 and 4.9 that changed the types but did not change the behavior: inference improved from `never` to `incorrectUnionElement & Record<"key", unknown>`.

### ⏯ Playground Link

https://www.typescriptlang.org/play/?ts=5.4.5#code/FASwdgLgpgTgZgQwMZQARIPYFsAOBGVAb2FVNRigQBMMwAbAT1QQC5UwBXLAI1gG4SZCtVqNU3Npx79gAX2ChIsRCnTYcAJiKDSwmvSat2XXjAHzgEBjjSZcqALw7UAHzW48zt3c0K4HMCQIEFpUGgB9AGdsKAgAC3AAcwAKAEptMjUwSIh3HEciWWZIvIFnEDhUZIAiBGrUcDz04kzMnwA6BHaIDABlCBgktIFWsgB6MdQAPQB+ZwtMiqrq7nrGn2bnNvV27m6+gaHUkdHUCem5zIWyJZqkNbAmjNOOpH3+wbAU463xydn5gpFpUanUGo8Ns9Rh0uj0PkcTqNzgCrkCbiCVg8ni0Xjs9nDDl9hr9SMjLmR5LIgA

### 💻 Code

```ts
interface comp1 {
    readonly a: number;
    readonly b: number;
}

interface comp2 {
    readonly a: number;
}

type comp =
    | comp1
    | comp2

function do_something() {
    const comp = {} as comp;

    if ("a" in comp) {
        comp.a.toString();
        // ^? comp
    }

    if ("b" in comp) {
        comp.b.toString();
        // ^? comp1
    }

    if ("c" in comp) {
        comp.c.toString();
        // ^? comp & Record<"c", unknown>
    }

    if ("a" in comp) {
        comp.a.toString();
        // ^? comp2
    }

    if ("b" in comp) {
        comp.b.toString();
        // ^? comp2 & Record<"b", unknown>
    }
}
```


### 🙁 Actual behavior

Every property check after the (`"c" in comp`) one fails to narrow correctly if the key is one that is only defined for some of the element types of the type union. Attempting to access the property after one of these checks results in `unknown`. As well, the narrowed variable in subsequent conditionals is an arbitrary(?) union element.

### 🙂 Expected behavior

The conditionals that come after the (`"c" in comp`) conditional should have the same behavior as the ones before it, as they are the exact same code.

### Additional information about the issue

This was initially noticed in a more complicated context with assertions, that I can include [here as a secondary example](https://www.typescriptlang.org/play/?ts=5.4.5#code/FASwdgLgpgTgZgQwMZQAQEEBCqDexUGoxQIAmA9mADYCeqCAXKmAK4C2ARrANz6HFlKtVByatOPYAF9goSLEQoMuPgQEVqdRs3ZcYvGcAg0ADmnQB9LKgC8q1AB8Mme0-Sy50eMjQBhFYREJBrCSGK6koakUEhUCMSocCxgSBAglPQAzpmwEJm+ADwAKgB8ABQAHkxFAJRMCNm5magVqCDNRagAZKi+vMBJKWkZFBaZ5GxQEAAW4ADmZTUBhEiUmRCoAG4IVCxoNrhSWRhWmP2B27tQvIEA9LeoAHoA-LKBDTkweb5ll3s13FQ91QqzYk0g81Q5BYGxm7VQVHAaDgIAqUGaMzQ7UyezehD+13swJeeIIIDgqDKACIOFS2mAtjt-stAgQCQA6DjsiDkADKEBg80WN1ZBGJr0ChguTMJdweJPs5MpNLp4EZVyWeFFbJlnO5fIFQoB9jlTwlhBkUiAA). This one is even more strange, as it is a check for a property that is only defined on some of the elements of the union and it blocks its own duplicate check later.
Repository: rust
Issue: `unexpected_cfgs` lint doesn't recognize some standard `cfg`s
Labels: A-lints,T-compiler,C-discussion,L-unexpected_cfgs

As part of https://github.com/google/zerocopy/pull/1204, I discovered that the `unexpected_cfgs` lint fires on some standard `cfg`s that are common in the ecosystem. The two I discovered so far are:
- `doc_cfg`
- `kani` (used by the [Kani verifier](https://github.com/model-checking/kani))

I've had to [manually emit directives](https://github.com/google/zerocopy/pull/1204/files#diff-d0d98998092552a1d3259338c2c71e118a5b8343dd4703c0c7f552ada7f9cb42R75-R76) for these. It's not that onerous, but I could imagine it getting onerous especially for projects that don't already have a `build.rs` script.

It would be good if the lint could be taught about some of the standard `cfg`s in the ecosystem to cut down on the noise.
Repository: terminal
Issue: Launching in Russian layout causes Ctrl+C and other signal chars to not work
Labels: Area-Input,Issue-Bug,Product-Terminal

### Windows Terminal version

1.19.11213.0

### Windows build number

10.0.19045.0

### Other Software

PSVersion                      7.4.2
PSEdition                      Core
GitCommitId                    7.4.2
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

### Steps to reproduce

- Change your keyboard layout to Russian
- Open Windows Terminal
- Try Ctrl+C

### Expected Behavior

Sends interrupt

### Actual Behavior

Types C
Repository: pytorch
Issue: Wrapper subclass serialization should preserve all _make_wrapper_subclass() args
Labels: module: serialization,triaged,tensor subclass

Related: #125583 pointed out that `dtype` was not being preserved for wrapper subclasses through multiprocessing serialization (or serialization in general).

When implementing the `dtype` fix, I realized that there are other args not being passed to `_make_wrapper_subclass()` when rebuilding subclass instances after serialization:

https://github.com/pytorch/pytorch/blob/38278104537351c7b4683df8607057888360e759/torch/_utils.py#L352-L363

Signature:

```python
_make_wrapper_subclass(
    PyObject* cls,
    SymIntArrayRef size,
    SymIntArrayRef? strides=None,
    SymInt? storage_offset=None,
    MemoryFormat? memory_format=None,  # not preserved
    ScalarType dtype=None,
    Layout layout=torch.strided,
    Device device=None,
    bool pin_memory=False,  # not preserved
    bool requires_grad=False,
    c10::string_view? dispatch_sizes_strides_policy=None,  # not preserved
    bool dispatch_device=False,  # not preserved
    bool dispatch_layout=False,  # not preserved
    DispatchKeySet _extra_dispatch_keys=None  # not preserved
)
```
Of those not passed, `pin_memory()` status can be queried by `is_pinned()`, but the others are not directly queryable to my knowledge. For full correctness, all these args should be preserved through serialization. @albanD has pointed out that this requires tricky changes to the serialization format.

cc @mruberry @mikaylagawarecki @msaroufim @ezyang @albanD
Repository: go
Issue: math/big: alternative format for Go syntax representation `%#v` of Int and Float
Labels: NeedsInvestigation

### Go version

go1.21.6 windows/amd64

### Output of `go env` in your module/workspace:

```shell
insignificant
```


### What did you do?

Run the snippet <https://go.dev/play/p/bxXUjdjkcxQ>. 

### What did you see happen?

Printing a `big.Int` and a `big.Float` value with the `%v` and `%#v` formats yields the same "default value". 

Printing a `big.Rat` value `%v` and `%#v` formats yields a "default value" and  a "Go-syntax representation of the value" as mandated by the `fmt` package.

### What did you expect to see?

Printing a `big.Int` and a `big.Float` value with the `%#v` format should yield a "Go-syntax representation of the value" as mandated by the `fmt` package.
Repository: rust
Issue: android: stdlib stack overflow handlers are not installed
Labels: O-android,C-bug,T-libs

When updating the CI to newer NDK/APIs, I enabled `aarch64-linux-android` testing, and found that `tests/ui/abi/stack-probes.rs` was failing. Luckily, the stack probes themselves are working (the expected SIGSEGV is being triggered), but as the signal handler is not installed, the test fails and the user wouldn't receive a helpful error + backtrace in the real world.

The registration is currently in an odd state where the implementation [is enabled for Linux but not Android](https://github.com/rust-lang/rust/blob/31110152e2b3ce3c009be4a0a13edaff7c008b61/library/std/src/sys/pal/unix/stack_overflow.rs#L31), and yet [contains Android-specific cfgs inside](https://github.com/rust-lang/rust/blob/31110152e2b3ce3c009be4a0a13edaff7c008b61/library/std/src/sys/pal/unix/stack_overflow.rs#L233).

Enabling it (by adding `"android"` to both the `mod` cfg blocks) works on `aarch64`, but on `arm`, it fails because `getauxval` is missing from `libc`.

The route to fixing this:
1. Add the `getauxval` declaration to [libc android 32-bit](https://github.com/rust-lang/libc/blob/2cef0c999bf95160032b94faba1dfadc08308e44/src/unix/linux_like/android/b32/mod.rs) (it's already in 64-bit). The [original argument](https://github.com/rust-lang/libc/issues/1987) for not including it is that it was added in Android API 18. Since we're bumping to 21+ as the minimum API, that should not be an issue. 
2. Add `android` to the registration block
3. Remove the `ignore-android` I'm about to add from `tests/ui/abi/stack-probes.rs` and `tests/ui/abi/stack-probes-lto.rs` and check that they still work.

cc @chriswailes Perhaps you'd like to take this one?
Repository: PowerToys
Issue: powertoy not recognizing other language pack after formating whole window
Labels: Issue-Bug,Needs-Triage

### Microsoft PowerToys version

v0.801

### Installation method

GitHub, PowerToys auto-update

### Running as admin

No

### Area(s) with issue?

TextExtractor

### Steps to reproduce

my powertoy is not recognizing downloaded language pack
![Screenshot 2024-05-07 013217](https://github.com/microsoft/PowerToys/assets/169096142/e69c934a-9967-49a9-b96c-c7b7cfe23303)
 after formating whole window

### ✔️ Expected Behavior

presses the windows+shift+T keys
selects the language slide 
all downloaded language will show

### ❌ Actual Behavior

presses the windows+shift+T keys
selects the language slide 
only showing the English usa

### Other Software

_No response_
Repository: pytorch
Issue: [BE] Autoclose issues that haven't been updated in X months
Labels: triaged,module: devx

In order to avoid a giant list of issues that no one has touched in over a year and no one cares about anymore, let's have a bot auto-ping issues after X months warning of an impending closure, and then actually close the issue after another month of inactivity

cc @kit1980 @huydhn @clee2000
Repository: go
Issue: proposal: go/doc: ITU-T URL support
Labels: Proposal

### Proposal Details

When authoring documentation meant for display via **x/pkgsite**,  support should be added to recognize and support ITU-T recommendation URLs in the same manner `RFC XXXX` is currently supported.

For instance:

Where the raw text `RFC 1234` would automatically link to `https://www.rfc-editor.org/rfc/rfc1234.html` upon page generation, **x/pkgsite** should link **E.123**, **X.411**, **X.501** and other "alpha series" (A-Z) documents to the appropriate `https://www.itu.int/...` resource.

It is true that placing a link (verbatim) in doc text is possible, but is undesirable for obvious reasons.

I do recall Go maintainers claiming godocs/pkgsite is not meant to be a "rich markdown system".  While I agree, I would argue that ITU-T Recommendations are just as relevant/critical as RFCs, therefore they should qualify for the same consideration.

Thank you
Repository: svelte
Issue: Error de CORS en Rutas api de Sveltekit
Labels: awaiting submitter

### Describe the bug

Tengo una app con rutas Api de Sveltekit y quiero usarlas desde otra App de Sveltekit
quisiera poder usarlas pero no me funcionan

:5001/login:1  Access to fetch at 'http://localhost:5000/api/conexion/' from origin 'http://localhost:5001' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.

tan simple como responder un TRUE desde la otra app....que deberia hacer?? help"!  he intentado con  hooks.server.js


export async function handle({ event, resolve }) {
  if (event && event.request && event.request.url && event.request.url.pathname && event.request.url.pathname.startsWith('/api')) {
    
    const customResponse = new Response('custom response', {
      'Access-Control-Allow-Origin': '*' 
 
        
    });
    return customResponse;
  }
 
  const response = await resolve(event);
  return response;
}

Necesito ayuda... 


### Reproduction

 
export async function handle({ event, resolve }) {
  if (event && event.request && event.request.url && event.request.url.pathname && event.request.url.pathname.startsWith('/api')) {
    
    const customResponse = new Response('custom response', {
      'Access-Control-Allow-Origin': '*' 
 
        
    });
    return customResponse;
  }
 
  const response = await resolve(event);
  return response;
}

Necesito ayuda... 


### Logs

_No response_

### System Info

```shell
Sveltekit
```


### Severity

annoyance
Repository: rust
Issue: Documentation: sorting impls for structs: first crate's own impls, then std impls
Labels: T-rustdoc,C-feature-request

### Problem

When we generate the documentation for a crate, **all** the crate implementations are sorted alphabetically. The crate's own traits and the std traits are all mixed together.

![trait-order](https://github.com/rust-lang/cargo/assets/1283868/9bcf521c-3f40-4ca9-8762-42b0a9046d17)


### Proposed Solution

List first the crate's own traits, alphabetically. Then followed by std traits, alphabetically.

### Notes

_No response_
Repository: godot
Issue: MeshInstance3D popup menu shows options that apply only to 1 node when multiple nodes are selected
Labels: bug,topic:editor,usability,topic:3d

### Tested versions

4.3 7cdad333114e6765351ed0facb48db228ef29b7b

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 31.0.15.4633) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

The Mesh menu when MeshInstance3D is selected:
![image](https://github.com/godotengine/godot/assets/2223172/ca3650d1-5981-4755-b7b3-410a01ce8811)
It appears both when single instance is selected and when multiple instances are selected. However only the first option works with multiple instances, others will handle only the first selected node.

We should either make all options work with multiple nodes or disable/hide non-functional ones. After #91620 it's easy to discern when multiple nodes are being edited.

### Steps to reproduce

1. Create multiple MeshInstance3D nodes
2. Select then
3. On the top bar select Mesh -> Create Navigation Mesh
4. Only one mesh is created

### Minimal reproduction project (MRP)

N/A
Repository: ollama
Issue: lightblue/suzume-llama-3-8B-multilingual
Labels: model request

Dear ollama team,

please add support for llama3 based models like: https://huggingface.co/lightblue/suzume-llama-3-8B-multilingual

thanks in advance and best regards

Daniel Plominski
Repository: stable-diffusion-webui
Issue: [Bug]: Stable diffusion (v1.9.0 - 1.9.3), img2img-images "denoising strength" BUG
Labels: bug-report

### Checklist

- [ ] The issue exists after disabling all extensions
- [ ] The issue exists on a clean installation of webui
- [ ] The issue is caused by an extension, but I believe it is caused by a bug in the webui
- [X] The issue exists in the current version of the webui
- [X] The issue has not been reported before recently
- [ ] The issue has been reported before but has not been fixed yet

### What happened?

In the situation I encountered, when using Stable Diffusion Webui (v1.9.3) and Forge (v1.9.0), BUG situations will occur.

When I use img2img-images, the denoising strength is adjusted to 0.65 or other values. The denoising strength parameters of the images generated by img2img-images all show 0.4. Then I import the image parameters, and the denoising strength is automatically set to 0.4, which is not what I set. Certain parameters, this is a BUG.

It was normal to use V1.8.0 version before, but it will be invalid after V1.9.0 - 1.9.3.

![1](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/129858126/37fcd2cc-80e7-48ff-b22e-aa36c139588d)
![2](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/129858126/d64129d4-f0bb-4376-a522-e3697c5a9222)
![3](https://github.com/AUTOMATIC1111/stable-diffusion-webui/assets/129858126/c6976eaa-55e9-4a3e-ac24-82a79ad17741)


### Steps to reproduce the problem

1. Put the image into img2img-images, set the denoising strength to 0.65, click Generate, the parameter value of the generated image shows "0.4"
2. Place the image in the img2img-images prompt, click the arrow button below, and the parameters are automatically set, but the denoising strength displays "0.4" instead of the "0.65" I set.

### What should have happened?

Stable Diffusion V1.8.0 Under normal circumstances, the value I set for img2img-images denoising strength will be the same as the value of the generated image. After V1.9.0-1.9.3, it becomes invalid BUG.



### What browsers do you use to access the UI ?

Google Chrome

### Sysinfo

Forge : [sysinfo-2024-05-06-22-29.json](https://github.com/AUTOMATIC1111/stable-diffusion-webui/files/15227248/sysinfo-2024-05-06-22-29.json)

Stable Diffusion Webui : [sysinfo-2024-05-06-22-47.json](https://github.com/AUTOMATIC1111/stable-diffusion-webui/files/15227339/sysinfo-2024-05-06-22-47.json)


### Console logs

```Shell
There is no CMD error message.
```


### Additional information

System : Windows 11 
CPU : I5-9400F
GPU : RTX3060
RAM : 32GB
Stable Diffusion : V1.9.3  • python: 3.10.6  •  torch: 2.2.0+cu121  •  xformers: 0.0.24
Repository: vscode
Issue: {UI/UX} Show tab bar only if more than one tab
Labels: feature-request,workbench-tabs

<!-- ⚠️⚠️ Do Not Delete This! feature_request_template ⚠️⚠️ -->
<!-- Please read our Rules of Conduct: https://opensource.microsoft.com/codeofconduct/ -->
<!-- Please search existing issues to avoid creating duplicates. -->

<!-- Describe the feature you'd like. -->

I would find it useful to be able to suppress the tab bar if only one file is open in a given workspace, in order to reduce clutter and to save vertical screen space.

To support this, the workbench.editor.showTabs setting could be generalised to have values ('always', 'withMoreThanOneTab' or 'never', perhaps) or another setting could be added alongside it.

This is a setting I've seen in some other editors; for example the SciTE editor (a thin wrapper around Scintilla) supports this with its 'tabbar.hide.one' setting.

Thanks a lot
Repository: go
Issue: cmd/go: TestScript/mod_cache_dir failures
Labels: NeedsInvestigation

```
#!watchflakes
default <- pkg == "cmd/go" && test == "TestScript/mod_cache_dir"
```

Issue created automatically to collect these failures.

Example ([log](https://ci.chromium.org/b/8748655259331494977)):

    === RUN   TestScript/mod_cache_dir
    === PAUSE TestScript/mod_cache_dir
    === CONT  TestScript/mod_cache_dir
        script_test.go:135: 2024-05-06T21:19:18Z
        script_test.go:137: $WORK=/home/swarming/.swarming/w/ir/x/t/cmd-go-test-2924675230/tmpdir641595034/mod_cache_dir3421494188
        script_test.go:159: 
            PATH=/home/swarming/.swarming/w/ir/x/t/cmd-go-test-2924675230/tmpdir641595034/testbin:/home/swarming/.swarming/w/ir/x/w/goroot/bin:/home/swarming/.swarming/w/ir/x/w/goroot/bin:/home/swarming/.swarming/w/ir/x/w/goroot/bin:/home/swarming/.swarming/w/ir/cache/tools/bin:/home/swarming/.swarming/w/ir/bbagent_utility_packages:/home/swarming/.swarming/w/ir/bbagent_utility_packages/bin:/home/swarming/.swarming/w/ir/cipd_bin_packages:/home/swarming/.swarming/w/ir/cipd_bin_packages/bin:/home/swarming/.swarming/w/ir/cache/cipd_client:/home/swarming/.swarming/w/ir/cache/cipd_client/bin:/home/swarming/.swarming/cipd_cache/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
            HOME=/no-home
            CCACHE_DISABLE=1
            GOARCH=ppc64le
    ...
            matched: go: go: GOMODCACHE entry is relative; must be absolute path: "\"~/test\"".
            > env GOMODCACHE="./test"
            > ! go install example.com/tools/cmd/hello@latest
            [stderr]
            go: go: GOMODCACHE entry is relative; must be absolute path: "\"./test\"".
            [exit status 1]
            > stderr 'must be absolute path'
            matched: go: go: GOMODCACHE entry is relative; must be absolute path: "\"./test\"".
        script_test.go:401: go was invoked but no counters were incremented
    --- FAIL: TestScript/mod_cache_dir (0.13s)


— [watchflakes](https://go.dev/wiki/Watchflakes)
Repository: pytorch
Issue: DISABLED test_train_parity_2d_transformer_checkpoint_resume (__main__.TestFullyShard2DTraining)
Labels: module: rocm,triaged,skipped

Platforms: rocm

This test was disabled because it is failing on main branch ([recent examples](https://torch-ci.com/failure?failureCaptures=%5B%22distributed%2F_composable%2Ffsdp%2Ftest_fully_shard_training.py%3A%3ATestFullyShard2DTraining%3A%3Atest_train_parity_2d_transformer_checkpoint_resume%22%5D)).

cc @jeffdaily @sunway513 @jithunnair-amd @pruthvistony @ROCmSupport @dllehr-amd @jataylo @hongxiayang

Likely to come from this change https://github.com/pytorch/pytorch/commit/dba689bbfdc65cf12711ec4b4f2f7eed0fae3a59 cc @awgu