Skip to content

Refactor v2 session events as schemas #38505

Refactor v2 session events as schemas

Refactor v2 session events as schemas #38505

Triggered via pull request May 1, 2026 22:48
Status Failure
Total duration 8m 44s
Artifacts 4

test.yml

on: pull_request
Matrix: e2e
Matrix: unit
Fit to window
Zoom out
Zoom in

Annotations

20 errors and 4 warnings
error: expect(received).toBe(expected): packages/opencode/unknown#L1
Expected: true Received: false at toBe (unknown:1:1) at /home/runner/_work/opencode/opencode/packages/opencode/test/session/prompt.test.ts:980:36 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:397:21) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at doneUnsafe (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/Deferred.js:443:20) at ~effect/Effect/evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:612:37) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at processTicksAndRejections (unknown:7:39)
error: expect(received).toHaveLength(expected): packages/opencode/unknown#L1
Expected length: 3 Received length: 5 at toHaveLength (unknown:1:1) at /home/runner/_work/opencode/opencode/packages/opencode/test/session/prompt.test.ts:405:24 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at /home/runner/_work/opencode/opencode/node_modules/.bun/@effect[email protected]+2b77f6bfdae23d8d/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js:308:9 at processTicksAndRejections (unknown:7:39)
error: expect(received).toMatchObject(expected): packages/opencode/unknown#L1
- [ - { - "type": "assistant", + { + "cursor": { + "next": "eyJpZCI6ImV2dF9kZTViYmUyNjMwMDFTQlg0T3IydXR2ak44MSIsInRpbWUiOjEsIm9yZGVyIjoiZGVzYyIsImRpcmVjdGlvbiI6Im5leHQifQ", + "previous": "eyJpZCI6ImV2dF9kZTViYmUyNjMwMDFTQlg0T3IydXR2ak44MSIsInRpbWUiOjEsIm9yZGVyIjoiZGVzYyIsImRpcmVjdGlvbiI6InByZXZpb3VzIn0", }, - ] + "items": [ + { + "agent": "build", + "content": [], + "id": "evt_de5bbe263001SBX4Or2utvjN81", + "model": { + "id": "model", + "providerID": "provider", + }, + "time": { + "created": 1, + }, + "type": "assistant", + }, + ], + } - Expected - 4 + Received + 20 at toMatchObject (unknown:1:1) at /home/runner/_work/opencode/opencode/packages/opencode/test/server/httpapi-session.test.ts:243:112 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at processTicksAndRejections (unknown:7:39)
error: expect(received).toEqual(expected): packages/opencode/test/server/httpapi-bridge.test.ts#L224
- [] + [ + { + "effect": [ + "query:directory:false", + "query:workspace:false", + ], + "hono": [ + "query:cursor:false", + "query:directory:false", + "query:limit:false", + "query:order:false", + "query:path:false", + "query:roots:false", + "query:search:false", + "query:start:false", + "query:workspace:false", + ], + "route": "GET /api/session", + }, + { + "effect": [ + "path:sessionID:true", + "query:directory:false", + "query:workspace:false", + ], + "hono": [ + "path:sessionID:true", + "query:cursor:false", + "query:directory:false", + "query:limit:false", + "query:order:false", + "query:workspace:false", + ], + "route": "GET /api/session/{sessionID}/message", + }, + ] - Expected - 1 + Received + 36 at <anonymous> (/home/runner/_work/opencode/opencode/packages/opencode/test/server/httpapi-bridge.test.ts:224:7)
error: expect(received).toEqual(expected): packages/opencode/test/server/httpapi-bridge.test.ts#L213
- [] + [ + "POST /api/session/{sessionID}/compact", + "POST /api/session/{sessionID}/prompt", + "POST /api/session/{sessionID}/wait", + ] - Expected - 1 + Received + 5 at <anonymous> (/home/runner/_work/opencode/opencode/packages/opencode/test/server/httpapi-bridge.test.ts:213:73)
instance: No context found for instance: packages/opencode/src/util/local-context.ts#L15
at use (/home/runner/_work/opencode/opencode/packages/opencode/src/util/local-context.ts:15:19) at /home/runner/_work/opencode/opencode/packages/opencode/src/effect/instance-state.ts:42:26 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2582:8 at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2679:1 at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2706:10 at /home/runner/_work/opencode/opencode/packages/opencode/src/session/prompt.ts:1223:21 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at processTicksAndRejections (unknown:7:39)
instance: No context found for instance: packages/opencode/src/util/local-context.ts#L15
at use (/home/runner/_work/opencode/opencode/packages/opencode/src/util/local-context.ts:15:19) at /home/runner/_work/opencode/opencode/packages/opencode/src/effect/instance-state.ts:42:26 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2582:8 at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2679:1 at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:2706:10 at /home/runner/_work/opencode/opencode/packages/opencode/src/session/prompt.ts:1223:21 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at /home/runner/_work/opencode/opencode/node_modules/.bun/@effect[email protected]+2b77f6bfdae23d8d/node_modules/@effect/platform-node-shared/dist/NodeFileSystem.js:308:9 at processTicksAndRejections (native:7:39)
error: expect(received).toBe(expected): packages/opencode/test/server/httpapi-event.test.ts#L55
- "data: {"id":"evt_de5bbbfcb001YMFSWmAqWaezTK","type":"server.connected","properties":{}} + "data: {"id":"evt_de5bbbfcd0010DWjXAi5GzyAb4","type":"server.connected","properties":{}} " - Expected - 1 + Received + 1 at <anonymous> (/home/runner/_work/opencode/opencode/packages/opencode/test/server/httpapi-event.test.ts:55:42)
error: expect(received).toContain(expected): packages/opencode/test/server/httpapi-event.test.ts#L46
Expected to contain: "data: {\"type\":\"server.connected\",\"properties\":{}}\n\n" Received: "data: {\"id\":\"evt_de5bbbf7a0014y1yHZzU444i3l\",\"type\":\"server.connected\",\"properties\":{}}\n\n" at <anonymous> (/home/runner/_work/opencode/opencode/packages/opencode/test/server/httpapi-event.test.ts:46:44)
error: expect(received).toEqual(expected): packages/opencode/unknown#L1
{ + "id": "evt_de5bb1cac001NxdjRGjbuPkzhQ", "properties": { "id": "evt_1", "name": "test", }, "type": "item.created", } - Expected - 0 + Received + 1 at toEqual (unknown:1:1) at /home/runner/_work/opencode/opencode/packages/opencode/test/sync/index.test.ts:127:31 at ~effect/Effect/successCont (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:913:22) at runLoop (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:420:66) at evaluate (/home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:380:14) at /home/runner/_work/opencode/opencode/node_modules/.bun/[email protected]/node_modules/effect/dist/internal/effect.js:732:11 at processTicksAndRejections (unknown:7:39)
error: expect(received).toEqual(expected): packages\opencode\unknown#L1
{ + "id": "evt_de5c17b1e002fphuGPn17uDs5q", "properties": { "id": "evt_1", "name": "test", }, "type": "item.created", } - Expected - 0 + Received + 1 at toEqual (unknown:1:1) at C:\runner\_work\opencode\opencode\packages\opencode\test\sync\index.test.ts:127:31 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at processTicksAndRejections (native:7:39)
error: expect(received).toBe(expected): packages\opencode\unknown#L1
Expected: true Received: false at toBe (unknown:1:1) at C:\runner\_work\opencode\opencode\packages\opencode\test\session\prompt.test.ts:980:36 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:397:21) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at doneUnsafe (C:\runner\_work\opencode\opencode\node_modules\effect\dist\Deferred.js:443:20) at ~effect/Effect/evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:612:37) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at processTicksAndRejections (native:7:39)
error: expect(received).toHaveLength(expected): packages\opencode\unknown#L1
Expected length: 3 Received length: 5 at toHaveLength (unknown:1:1) at C:\runner\_work\opencode\opencode\packages\opencode\test\session\prompt.test.ts:405:24 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at C:\runner\_work\opencode\opencode\node_modules\@effect\platform-node-shared\dist\NodeFileSystem.js:308:9 at processTicksAndRejections (native:7:39)
error: expect(received).toMatchObject(expected): packages\opencode\unknown#L1
- [ - { - "type": "assistant", + { + "cursor": { + "next": "eyJpZCI6ImV2dF9kZTViZjhlNDkwMDFOcjdFU3lEQnFmN1NEMCIsInRpbWUiOjEsIm9yZGVyIjoiZGVzYyIsImRpcmVjdGlvbiI6Im5leHQifQ", + "previous": "eyJpZCI6ImV2dF9kZTViZjhlNDkwMDFOcjdFU3lEQnFmN1NEMCIsInRpbWUiOjEsIm9yZGVyIjoiZGVzYyIsImRpcmVjdGlvbiI6InByZXZpb3VzIn0", }, - ] + "items": [ + { + "agent": "build", + "content": [], + "id": "evt_de5bf8e49001Nr7ESyDBqf7SD0", + "model": { + "id": "model", + "providerID": "provider", + }, + "time": { + "created": 1, + }, + "type": "assistant", + }, + ], + } - Expected - 4 + Received + 20 at toMatchObject (unknown:1:1) at C:\runner\_work\opencode\opencode\packages\opencode\test\server\httpapi-session.test.ts:243:112 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at processTicksAndRejections (native:7:39)
instance: No context found for instance: packages\opencode\src\util\local-context.ts#L15
at use (C:\runner\_work\opencode\opencode\packages\opencode\src\util\local-context.ts:15:19) at C:\runner\_work\opencode\opencode\packages\opencode\src\effect\instance-state.ts:42:26 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2582:8 at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2679:1 at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2706:10 at C:\runner\_work\opencode\opencode\packages\opencode\src\session\prompt.ts:1223:21 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at processTicksAndRejections (native:7:39)
instance: No context found for instance: packages\opencode\src\util\local-context.ts#L15
at use (C:\runner\_work\opencode\opencode\packages\opencode\src\util\local-context.ts:15:19) at C:\runner\_work\opencode\opencode\packages\opencode\src\effect\instance-state.ts:42:26 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2582:8 at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2679:1 at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:2706:10 at C:\runner\_work\opencode\opencode\packages\opencode\src\session\prompt.ts:1223:21 at ~effect/Effect/successCont (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:913:22) at runLoop (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:420:66) at evaluate (C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:380:14) at C:\runner\_work\opencode\opencode\node_modules\effect\dist\internal\effect.js:732:11 at C:\runner\_work\opencode\opencode\node_modules\@effect\platform-node-shared\dist\NodeFileSystem.js:308:9 at processTicksAndRejections (native:7:39)
error: expect(received).toBe(expected): packages\opencode\test\server\httpapi-event.test.ts#L55
- "data: {"id":"evt_de5bf51a6001rF2mTxRnz53EBA","type":"server.connected","properties":{}} + "data: {"id":"evt_de5bf51a9001G44SelQJQ1pulJ","type":"server.connected","properties":{}} " - Expected - 1 + Received + 1 at <anonymous> (C:\runner\_work\opencode\opencode\packages\opencode\test\server\httpapi-event.test.ts:55:42)
error: expect(received).toContain(expected): packages\opencode\test\server\httpapi-event.test.ts#L46
Expected to contain: "data: {\"type\":\"server.connected\",\"properties\":{}}\n\n" Received: "data: {\"id\":\"evt_de5bf50f1001u6OgaMPhhCfJFY\",\"type\":\"server.connected\",\"properties\":{}}\n\n" at <anonymous> (C:\runner\_work\opencode\opencode\packages\opencode\test\server\httpapi-event.test.ts:46:44)
error: expect(received).toEqual(expected): packages\opencode\test\server\httpapi-bridge.test.ts#L224
- [] + [ + { + "effect": [ + "query:directory:false", + "query:workspace:false", + ], + "hono": [ + "query:cursor:false", + "query:directory:false", + "query:limit:false", + "query:order:false", + "query:path:false", + "query:roots:false", + "query:search:false", + "query:start:false", + "query:workspace:false", + ], + "route": "GET /api/session", + }, + { + "effect": [ + "path:sessionID:true", + "query:directory:false", + "query:workspace:false", + ], + "hono": [ + "path:sessionID:true", + "query:cursor:false", + "query:directory:false", + "query:limit:false", + "query:order:false", + "query:workspace:false", + ], + "route": "GET /api/session/{sessionID}/message", + }, + ] - Expected - 1 + Received + 36 at <anonymous> (C:\runner\_work\opencode\opencode\packages\opencode\test\server\httpapi-bridge.test.ts:224:7)
error: expect(received).toEqual(expected): packages\opencode\test\server\httpapi-bridge.test.ts#L213
- [] + [ + "POST /api/session/{sessionID}/compact", + "POST /api/session/{sessionID}/prompt", + "POST /api/session/{sessionID}/wait", + ] - Expected - 1 + Received + 5 at <anonymous> (C:\runner\_work\opencode\opencode\packages\opencode\test\server\httpapi-bridge.test.ts:213:73)
e2e (linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
unit (linux)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
e2e (windows)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
unit (windows)
Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/cache@v4, actions/checkout@v4, actions/setup-node@v4, actions/upload-artifact@v4. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/

Artifacts

Produced during runtime
Name Size Digest
playwright-linux-1
200 KB
sha256:d2c668ed4acf234ab4227d23347a56cce50022c34f643453154230b1af41fa4e
playwright-windows-1
201 KB
sha256:6dc2958bc22e7fab6d61d746aa7754abd2b5a362359ea0f27b9b23ef9f1ed27a
unit-linux-1
86.7 KB
sha256:4d5f85324bf23bd17a9ac081a4a6c80150111583acfb9fd8db88a77e1f714d10
unit-windows-1
78.5 KB
sha256:89e84cf478d83d7c4eb79b108dca957a0daa308cb1484b91c76a48105c124103