mirror of
https://github.com/mvschwarz/openrig.git
synced 2026-10-02 08:35:15 +08:00
* feat(slack): structured questions with clickable options on human decisions (#193) - `rig queue create --human-questions-file`: 1-4 questions, 2-4 options each (one may be recommended), validated at create; stored by migration 091. - Slack renders each question as a button row with a complete text fallback; a typed thread reply still answers ("Other"). - A block_actions click records that answer on the item; once every question is answered the answers are final, one reply row lands on the seat and the decision resolves like a typed reply. Failed hand-backs are dead-lettered and retried; each click is confirmed in the thread. - App manifest turns on interactivity (Socket Mode, no request URL); setup doc and messaging-the-human skill updated. * fix(slack): own-key answer lookup; require a human destination for questions(#193) * fix(slack): redact secrets in answer acknowledgements (#193)
155 lines
16 KiB
JSON
155 lines
16 KiB
JSON
{
|
|
"version": 1,
|
|
"edges": {
|
|
"canonical": {
|
|
"core/agent-starters/SKILL.md": "66cbaa251b05cde6a09f51b08c70ea78c6c4f75ae5db0f95baa15b8255714a1d",
|
|
"core/agent-startup-and-context-ingestion/SKILL.md": "ed9a3fba75d9c53d44d3fb2a9b4703a1bdb5d13e78e4e34f18c2887c23c9d248",
|
|
"core/cross-host-rig-commands/SKILL.md": "844a578d0f51cf8f02f8bfd7ffb3bbd6a37d511f721266c0d758c49157c1447a",
|
|
"core/human-in-the-loop/SKILL.md": "14cf0c4a0dc89179121465d4b8d81d40406427351adcdc34f875097d1e6e9ab2",
|
|
"core/messaging-the-human/SKILL.md": "581372434f27b1994d516e144be1324c7c5981cacf64fef6f09d1a57017faa08",
|
|
"core/openrig-architect/SKILL.md": "0c3f1b7ff5bf185c9da963905229e951ffe1fb6d45a3cc9247cb747fc1d9a59d",
|
|
"core/openrig-cmux/SKILL.md": "73a86eac45d68b16a38fc0a4438713c634d86061073dac96a4d9e656ea5d34dc",
|
|
"core/openrig-herdr/SKILL.md": "37508a02f50bb69ee97c22c37ccf70aa8e37dc0784061eb2a5ad813571eebd1a",
|
|
"core/openrig-skills/SKILL.md": "e5f47e24a4c3cb1afceb1a3a93647313e9c30830aff58faabb5fa57838d1206c",
|
|
"core/openrig-software-factory/SKILL.md": "33930e72341661eaaa9d3c5ac945297926f430d643b6f279fcb7f693ac30b7f7",
|
|
"core/openrig-software-factory/references/worked-example.md": "ff5485a0e84de43188cf791cc96258abe038d035d439997f21865e33a1916bc5",
|
|
"core/openrig-upgrade/SKILL.md": "c3555c66abe0426e2990aec024849f644cf43320a65b8f1211e96d3b234f6e83",
|
|
"core/openrig-upgrade/scripts/backup-sqlite.mjs": "52fe3015a0399986b586b6603e0664f61136d2210611b1638110a7b6b06e38b4",
|
|
"core/openrig-upgrade/scripts/inspect-upgrade.mjs": "0f9239f3f8ad75885e985433576ffba9cf155dd8616801dd73d60bf3e9990a2a",
|
|
"core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs": "3d7bdb43ce0618cf1d939e08c3f91531d866ac5b6fec5c4c3e4308d61e2bfc9f",
|
|
"core/openrig-upgrade/scripts/refresh-managed-plugin.mjs": "cd117e3e891d6ad632f88a0ad10f5fc8a68ea724ce2715c89f45b6000307cf81",
|
|
"core/rig-bundles-and-shareable-artifacts/SKILL.md": "e9d5103f419b971373e374474e6ef464e05f242f3fa25e63acfc0b2106651748",
|
|
"core/rig-lifecycle/SKILL.md": "8346e01d532795b24c3dba63413ca662c7b44cc5eed39ee2e85568580f40adca",
|
|
"core/session-source-fork/SKILL.md": "b2e650d3c89c8fb9d4ccc142c4fdbc969b5286b8141cc070565abac268decba9",
|
|
"core/specification-system/SKILL.md": "5226d6e8b1362df89ba3d5afd82e4b4add355870132ca4b140d7f9f4324ffdc1",
|
|
"core/topology-mutation-and-seat-management/SKILL.md": "32dccee6817b53ef6f800fa1cff6b388d7aa82642a358f1ffed48ef71c234682",
|
|
"core/watchdog/SKILL.md": "24b2e756e3e9d067fa93a4b5fa5f48a5cce511e8b1a5b360b1c39bc09bc95d82",
|
|
"pm/backlog-capture/SKILL.md": "345c2b47fc85e48c15c0d42bbb48fb27dd3b0ceec36bf59dc6ed20daaea47a84",
|
|
"pm/context-builder/SKILL.md": "0134c9b0a9f196565109f7f51b6ec78d5c3e4b5982a0d7105a93b29952625b3c",
|
|
"pm/exec-summary/SKILL.md": "ada0f42337920e7acdd94e24cad4f5c269b057e750f4a7fc627ea9efbc02fcb6",
|
|
"pm/office-hours/SKILL.md": "c09b92957e709e43b28186883aca9e73218b412a69355051b76700efac88b4cf",
|
|
"pm/plan-review/SKILL.md": "42f1b746d9ceae32587fc754fcc96462af44ba7f0078407f505d7a30b88a1469",
|
|
"pm/requirements-writer/SKILL.md": "04cfb8853553f1538fd202e9804e14e6b259f3a4c12b5f255c30169cf66ed0af",
|
|
"pm/ui-mockup/SKILL.md": "a597fad7dcdebf43e74e01a607e12eabf848c831c96be3da2f1aeeb12f82ef08",
|
|
"pods/development-team/SKILL.md": "3d712a94a1725b543371ffc502d3f5641e3b77d9d566aa0f99a2977682241f9b",
|
|
"pods/orchestration-team/SKILL.md": "d13e08782a64b92b4db3f51d083f11fd6753f06e68052dbf2da174ab5618fa90",
|
|
"pods/oversight-team/SKILL.md": "a48de41350453a09b231e01a89cc1dd3d4a64e082df090a7b0e04034227d2bb4",
|
|
"pods/review-team/SKILL.md": "e669a893d5bd1d01fdd5e357a0f0f56425fc2fb845705bddc629016e04c8a6da",
|
|
"process/agent-browser/LOCAL-INSIGHTS.md": "3e37c298514506099c8212e32c58e78cd77781637a368a5db1acf1982d93a0f4",
|
|
"process/agent-browser/OPENRIG.md": "d15123689824c934b51ba572bc7c4d995651e2f606e0e53697263f4ecde108c9",
|
|
"process/agent-browser/SKILL.md": "f2709bae71a8c60f6a4b80a6873560cdea9632000ed4b28d082dfae58801199b",
|
|
"process/context-engineering/SKILL.md": "ef052238060410f8f49d94baaede14e569f3c943a7dba79ed98d4fc0a117af64",
|
|
"process/dogfood/SKILL.md": "8addc5d22813193649e8286b354ae2282975d75f1dda6d5d4b33d6ace47f438b",
|
|
"process/dogfood/references/issue-taxonomy.md": "dee7e925f7fe001903de6cc14f9656bcda90d069bbf65a2273f22202efebba09",
|
|
"process/dogfood/templates/dogfood-report-template.md": "55eef9286e32e595dcfca30db76352e9f1d149a78b60b54644eb701072364f35",
|
|
"process/frontend-design/LICENSE.txt": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594",
|
|
"process/frontend-design/SKILL.md": "3897488693335f3b350292abe067e9f4a39a64af5ac6b1feb82074a36930273d",
|
|
"process/systematic-debugging/SKILL.md": "b2adbca870df5232f018a43f6715c7a97c3ddd9429aefa11f9248a859280c2c5",
|
|
"process/systematic-debugging/condition-based-waiting-example.ts": "40ae5ebe497fdf310200e43fe986552546d0a22837c0d39e855db1cfd33eb88e",
|
|
"process/systematic-debugging/condition-based-waiting.md": "e89fec8400d6cd50f43407cec9fab50976ba4d55d0ec2eb51c0bd68036b54c26",
|
|
"process/systematic-debugging/defense-in-depth.md": "1e175fb86fc357e58c6aebf5441e481e1b7868b4380c0456b63a17eefbd18ba7",
|
|
"process/systematic-debugging/find-polluter.sh": "a9b088099dde5a07e303de5ecf07604f2b9b608770125b481c8db52b85227c51",
|
|
"process/systematic-debugging/root-cause-tracing.md": "a81bee9448794d261b4aca8487c595d11ff4bd4e10a5f96bca1117dd32527050",
|
|
"process/test-driven-development/SKILL.md": "51f65d2bc71dd6fc84640bf113acf287f4e003ef325ed91cb112fce59149a298",
|
|
"process/test-driven-development/testing-anti-patterns.md": "bde453bc258f06543987477c837939afaa774ea2acbd9f308d702fc452bc4283",
|
|
"process/verification-before-completion/SKILL.md": "0b8cea0bb82a8ab0f015afaf84c87796e2c94eee3a83d4fa3d4461d0917950bd"
|
|
},
|
|
"plugin": {
|
|
"agent-operated-software/SKILL.md": "9159d26e7884bc5205f8b06adaa65625c7d9c6bef41dc2f307d91da4cc1b424b",
|
|
"agent-operated-workflows/SKILL.md": "24e54cbfa979999f523516112670618b2926ae5d42c7aa0846c94db214857ea5",
|
|
"applying-a-permission-policy/SKILL.md": "e8dbd8eec75847bfd382fb06de408c63807171d584237d1b1d7e1104c7ed4acc",
|
|
"claude-compaction-restore/SKILL.md": "6c6a8b008bf838e003a584011616b3698e83d150ac6e850b4f53ec28828300ef",
|
|
"claude-compaction-restore/scripts/precompact-hook.mjs": "8eb4cccdaec654fca9eacba3676b0418d2bac383649ce31544434c73af8b8772",
|
|
"claude-compaction-restore/scripts/restore-from-jsonl.mjs": "5584cff4ab36cd843e14c81bd201e4a2f8e498e995abacc4f81ec6c1fc556b10",
|
|
"claude-compaction-restore/templates/compact-instruction.md": "682c778464517b831902ddc2678c055545899b4751a1d32391ce965d5eb7061d",
|
|
"claude-compaction-restore/templates/post-compact-restore-instruction.md": "10a5a7e5e052f3aa000a4209f386dc4eb90a3c2bba449ca685f124714f59e47a",
|
|
"delegating-work/SKILL.md": "54c061d1b28435266952d431765b40f4170581279decfffd3b10839848cd65e4",
|
|
"forming-an-openrig-mental-model/SKILL.md": "cff1ca1640fec65b180539a2c6c3c9044d73aa02f9d13d0d24763446ac974da0",
|
|
"loading-addressable-markdown/SKILL.md": "104dc6a02ae6e2d0eff519387c6839cb09803945b9ee35ec3498af8feaaa8d1e",
|
|
"loading-addressable-markdown/scripts/resolve-markdown.mjs": "ef113af7bb297058a8c23a82a4c171232ae8c2d6b1705a89a80140000ad3bca0",
|
|
"messaging-the-human/SKILL.md": "581372434f27b1994d516e144be1324c7c5981cacf64fef6f09d1a57017faa08",
|
|
"mission-slice-sop/SKILL.md": "3c3783d2f2d05cead97c94d10a9af00b397b810a8fdb7d599930fc1ea226305d",
|
|
"openrig-operating-model/SKILL.md": "53ec4d9c7764f5bc23616885d193b79ddb1be139fd010f4b89f143d39dfdcaa6",
|
|
"openrig-operating-model/scripts/compose.py": "332a13580393fd1421f0b498eae51f01243de31ba168a86db52a6251fc4cc384",
|
|
"openrig-operating-model/scripts/scaffold.sh": "873fc78d8581e463079db24cfbdef3228b845c1a4c32e0d631234eacb3094be7",
|
|
"openrig-operating-model/scripts/trace-due.sh": "c56a8b044e624f40972654bc810df623e70303cc5daa4aa06e3ee86b262b7792",
|
|
"openrig-operating-model/scripts/trace-stamp.sh": "6fd3a0999dd36ea58252181f5129489a460a60631291f0ff84c4f374b65113c7",
|
|
"openrig-operating-model/scripts/trunk-diff.sh": "c0362a5a02aed2caf28b7c026989c88a6fef0bc35fa2e6ae8ba9dba2c2f9cc64",
|
|
"openrig-operating-model/templates/LEARNED.md": "37d67f788ffe6c4bd282e5ed0859e07e613b8940e8fa84726c84fbaef8f87fd6",
|
|
"openrig-operating-model/templates/NOTES.md": "ca73848520871474428f87d28bb2346feeb3bd59763b299399d9dacf4d64bcf5",
|
|
"openrig-operating-model/templates/PLAYBOOK.md": "ff6f9dc8caab06dc7b9ae21977310ddefa23e925453bd54629ce0a669403bfb0",
|
|
"openrig-operating-model/templates/SOP.md": "1eaf0daf4f9bbf0715e6a5aaf0f29f030af5fe8b8a10232488ee97c507afa6dc",
|
|
"openrig-operating-model/templates/SPEC.md": "f126536daa59cea3f1cfb0898d83c7cdf99f6392f6f155ea64fe55187dd0f5f1",
|
|
"openrig-skills/SKILL.md": "e5f47e24a4c3cb1afceb1a3a93647313e9c30830aff58faabb5fa57838d1206c",
|
|
"openrig-user/SKILL.md": "ed43062826294ad6879c125197b7d5752396372ac80b25a2f36e89afd617ae33",
|
|
"orienting-to-an-inherited-seat/CHANGELOG.md": "4d0970e75e5c15b00a48d6a7150376d646257777264fd1b9a191165a8d5a6e84",
|
|
"orienting-to-an-inherited-seat/SKILL.md": "4d2bb1f0dd522b0b956bf2191ce2121c36590936e217121f781525f77f8229a9",
|
|
"queue-handoff/SKILL.md": "118942b0b67d5b0a0c522e12b2e1579ee7610dee278944e653f112853c269a99",
|
|
"refocusing/SKILL.md": "506fe68da3f127f51aeffdaec1b8859080563395585343e4a211b61328f1fab5",
|
|
"refocusing/references/refocus.md": "6e71513e82bd815e1506b0be4f9a972eecd3053a8deb06340c10b1d1792489bc",
|
|
"refocusing/scripts/trace-to-root.py": "248044535e51c5e9cc8b067813955a9ccfa58bc68bd1122d07adc359a890d309",
|
|
"retiring-and-inheriting-a-seat/CHANGELOG.md": "1756a0a6dadc015e2744b4c39a3e7cd08813d9d421e788e953ac5ad75b064197",
|
|
"retiring-and-inheriting-a-seat/SKILL.md": "ebe58e4db60ed963fd721a1685c4c2afe1e45d93beddd211518dfb5f0b48bdcc",
|
|
"seat-continuity-and-handover/SKILL.md": "afa4b29aa17ec1569c1a1070eeef8fbac2b0bb2c944c1c5a4f473ce543339d27",
|
|
"seat-continuity-and-handover/references/apprentice-evidence-toolkit.md": "a50bd7a3107762dbb6accd5d2fb7e058b408b85b09067ac79a7a8af6212234fd",
|
|
"seat-continuity-and-handover/references/apprentice-successor-seat-cutover.md": "0c865b76c9b0908373d3cf17439ef31b08e20a769c1cef1bea2403d963887840",
|
|
"seat-continuity-and-handover/references/orchestrator-role.md": "2ddf05125e0bf22e2dc64cb328fcc4bd94fa62eb2fcfd21d75f21c488c72ecaa",
|
|
"session-compaction-and-restore/SKILL.md": "cdf4e40625e88bce982fbf0a7988fd1aff34896e26fa3beae2c683323eef2446",
|
|
"software-for-agents/SKILL.md": "c36c6d3ae7484f477f1bd24e8ff72846f6dfbff685aef1e780f6011072a51ac7"
|
|
},
|
|
"spec": {
|
|
"core/agent-starters/SKILL.md": "66cbaa251b05cde6a09f51b08c70ea78c6c4f75ae5db0f95baa15b8255714a1d",
|
|
"core/agent-startup-and-context-ingestion/SKILL.md": "ed9a3fba75d9c53d44d3fb2a9b4703a1bdb5d13e78e4e34f18c2887c23c9d248",
|
|
"core/cross-host-rig-commands/SKILL.md": "844a578d0f51cf8f02f8bfd7ffb3bbd6a37d511f721266c0d758c49157c1447a",
|
|
"core/human-in-the-loop/SKILL.md": "14cf0c4a0dc89179121465d4b8d81d40406427351adcdc34f875097d1e6e9ab2",
|
|
"core/messaging-the-human/SKILL.md": "581372434f27b1994d516e144be1324c7c5981cacf64fef6f09d1a57017faa08",
|
|
"core/openrig-architect/SKILL.md": "0c3f1b7ff5bf185c9da963905229e951ffe1fb6d45a3cc9247cb747fc1d9a59d",
|
|
"core/openrig-cmux/SKILL.md": "73a86eac45d68b16a38fc0a4438713c634d86061073dac96a4d9e656ea5d34dc",
|
|
"core/openrig-herdr/SKILL.md": "37508a02f50bb69ee97c22c37ccf70aa8e37dc0784061eb2a5ad813571eebd1a",
|
|
"core/openrig-skills/SKILL.md": "e5f47e24a4c3cb1afceb1a3a93647313e9c30830aff58faabb5fa57838d1206c",
|
|
"core/openrig-software-factory/SKILL.md": "33930e72341661eaaa9d3c5ac945297926f430d643b6f279fcb7f693ac30b7f7",
|
|
"core/openrig-software-factory/references/worked-example.md": "ff5485a0e84de43188cf791cc96258abe038d035d439997f21865e33a1916bc5",
|
|
"core/openrig-upgrade/SKILL.md": "c3555c66abe0426e2990aec024849f644cf43320a65b8f1211e96d3b234f6e83",
|
|
"core/openrig-upgrade/scripts/backup-sqlite.mjs": "52fe3015a0399986b586b6603e0664f61136d2210611b1638110a7b6b06e38b4",
|
|
"core/openrig-upgrade/scripts/inspect-upgrade.mjs": "0f9239f3f8ad75885e985433576ffba9cf155dd8616801dd73d60bf3e9990a2a",
|
|
"core/openrig-upgrade/scripts/migrate-telemetry-state-0.5.9.mjs": "3d7bdb43ce0618cf1d939e08c3f91531d866ac5b6fec5c4c3e4308d61e2bfc9f",
|
|
"core/openrig-upgrade/scripts/refresh-managed-plugin.mjs": "cd117e3e891d6ad632f88a0ad10f5fc8a68ea724ce2715c89f45b6000307cf81",
|
|
"core/rig-bundles-and-shareable-artifacts/SKILL.md": "e9d5103f419b971373e374474e6ef464e05f242f3fa25e63acfc0b2106651748",
|
|
"core/rig-lifecycle/SKILL.md": "8346e01d532795b24c3dba63413ca662c7b44cc5eed39ee2e85568580f40adca",
|
|
"core/session-source-fork/SKILL.md": "b2e650d3c89c8fb9d4ccc142c4fdbc969b5286b8141cc070565abac268decba9",
|
|
"core/specification-system/SKILL.md": "5226d6e8b1362df89ba3d5afd82e4b4add355870132ca4b140d7f9f4324ffdc1",
|
|
"core/topology-mutation-and-seat-management/SKILL.md": "32dccee6817b53ef6f800fa1cff6b388d7aa82642a358f1ffed48ef71c234682",
|
|
"core/watchdog/SKILL.md": "24b2e756e3e9d067fa93a4b5fa5f48a5cce511e8b1a5b360b1c39bc09bc95d82",
|
|
"pm/backlog-capture/SKILL.md": "345c2b47fc85e48c15c0d42bbb48fb27dd3b0ceec36bf59dc6ed20daaea47a84",
|
|
"pm/context-builder/SKILL.md": "0134c9b0a9f196565109f7f51b6ec78d5c3e4b5982a0d7105a93b29952625b3c",
|
|
"pm/exec-summary/SKILL.md": "ada0f42337920e7acdd94e24cad4f5c269b057e750f4a7fc627ea9efbc02fcb6",
|
|
"pm/office-hours/SKILL.md": "c09b92957e709e43b28186883aca9e73218b412a69355051b76700efac88b4cf",
|
|
"pm/plan-review/SKILL.md": "42f1b746d9ceae32587fc754fcc96462af44ba7f0078407f505d7a30b88a1469",
|
|
"pm/requirements-writer/SKILL.md": "04cfb8853553f1538fd202e9804e14e6b259f3a4c12b5f255c30169cf66ed0af",
|
|
"pm/ui-mockup/SKILL.md": "a597fad7dcdebf43e74e01a607e12eabf848c831c96be3da2f1aeeb12f82ef08",
|
|
"pods/development-team/SKILL.md": "3d712a94a1725b543371ffc502d3f5641e3b77d9d566aa0f99a2977682241f9b",
|
|
"pods/orchestration-team/SKILL.md": "d13e08782a64b92b4db3f51d083f11fd6753f06e68052dbf2da174ab5618fa90",
|
|
"pods/oversight-team/SKILL.md": "a48de41350453a09b231e01a89cc1dd3d4a64e082df090a7b0e04034227d2bb4",
|
|
"pods/review-team/SKILL.md": "e669a893d5bd1d01fdd5e357a0f0f56425fc2fb845705bddc629016e04c8a6da",
|
|
"process/agent-browser/LOCAL-INSIGHTS.md": "3e37c298514506099c8212e32c58e78cd77781637a368a5db1acf1982d93a0f4",
|
|
"process/agent-browser/OPENRIG.md": "d15123689824c934b51ba572bc7c4d995651e2f606e0e53697263f4ecde108c9",
|
|
"process/agent-browser/SKILL.md": "f2709bae71a8c60f6a4b80a6873560cdea9632000ed4b28d082dfae58801199b",
|
|
"process/context-engineering/SKILL.md": "ef052238060410f8f49d94baaede14e569f3c943a7dba79ed98d4fc0a117af64",
|
|
"process/dogfood/SKILL.md": "8addc5d22813193649e8286b354ae2282975d75f1dda6d5d4b33d6ace47f438b",
|
|
"process/dogfood/references/issue-taxonomy.md": "dee7e925f7fe001903de6cc14f9656bcda90d069bbf65a2273f22202efebba09",
|
|
"process/dogfood/templates/dogfood-report-template.md": "55eef9286e32e595dcfca30db76352e9f1d149a78b60b54644eb701072364f35",
|
|
"process/frontend-design/LICENSE.txt": "0d542e0c8804e39aa7f37eb00da5a762149dc682d7829451287e11b938e94594",
|
|
"process/frontend-design/SKILL.md": "3897488693335f3b350292abe067e9f4a39a64af5ac6b1feb82074a36930273d",
|
|
"process/systematic-debugging/SKILL.md": "b2adbca870df5232f018a43f6715c7a97c3ddd9429aefa11f9248a859280c2c5",
|
|
"process/systematic-debugging/condition-based-waiting-example.ts": "40ae5ebe497fdf310200e43fe986552546d0a22837c0d39e855db1cfd33eb88e",
|
|
"process/systematic-debugging/condition-based-waiting.md": "e89fec8400d6cd50f43407cec9fab50976ba4d55d0ec2eb51c0bd68036b54c26",
|
|
"process/systematic-debugging/defense-in-depth.md": "1e175fb86fc357e58c6aebf5441e481e1b7868b4380c0456b63a17eefbd18ba7",
|
|
"process/systematic-debugging/find-polluter.sh": "a9b088099dde5a07e303de5ecf07604f2b9b608770125b481c8db52b85227c51",
|
|
"process/systematic-debugging/root-cause-tracing.md": "a81bee9448794d261b4aca8487c595d11ff4bd4e10a5f96bca1117dd32527050",
|
|
"process/test-driven-development/SKILL.md": "51f65d2bc71dd6fc84640bf113acf287f4e003ef325ed91cb112fce59149a298",
|
|
"process/test-driven-development/testing-anti-patterns.md": "bde453bc258f06543987477c837939afaa774ea2acbd9f308d702fc452bc4283",
|
|
"process/verification-before-completion/SKILL.md": "0b8cea0bb82a8ab0f015afaf84c87796e2c94eee3a83d4fa3d4461d0917950bd"
|
|
}
|
|
}
|
|
}
|