{"@context":"https://spdx.org/rdf/3.0.1/spdx-context.jsonld","@graph":[{"type":"CreationInfo","@id":"_:CreationInfo0","created":"2011-04-05T23:00:00Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"CreationInfo","@id":"_:CreationInfo1","created":"2024-04-05T17:48:24Z","createdBy":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded"],"createdUsing":["http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0"],"specVersion":"3.0.1"},{"type":"Organization","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/agent/OpenEmbedded","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"OpenEmbedded"},{"type":"Tool","spdxId":"http://spdx.org/spdxdocs/bitbake-addba517-4804-5ae3-87c2-0c3a1a5812ba/bitbake/tool/oe-spdx-creator_1_0","creationInfo":"_:CreationInfo0","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias"}],"name":"oe-spdx-creator 1.0"},{"type":"SpdxDocument","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/document/package-mtdev-src","profileConformance":["build","core","security","simpleLicensing","software"],"rootElement":["http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/doc/mtdev/package-mtdev-src/mtdev/UNIHASH/document/package-mtdev-src","https://rdf.openembedded.org/spdx/3.0/link-name":"ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7"}],"name":"package-mtdev-src"},{"type":"software_Package","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src","software_homePage":"http://bitmath.org/code/mtdev/","software_packageUrl":"pkg:yocto/core/mtdev@1.1.7","software_packageVersion":"1.1.7","software_primaryPurpose":"install","creationInfo":"_:CreationInfo1","description":"mtdev is a library which transforms all variants of kernel multitouch events to the slotted type B protocol. The events put into mtdev may be from any MT device, specifically type A without contact tracking, type A with contact tracking, or type B with contact tracking  This package contains sources for debugging purposes.","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src"}],"externalIdentifier":[{"type":"ExternalIdentifier","externalIdentifierType":"packageUrl","identifier":"pkg:yocto/core/mtdev@1.1.7"},{"type":"ExternalIdentifier","externalIdentifierType":"cpe23","identifier":"cpe:2.3:*:*:mtdev:1.1.7:*:*:*:*:*:*:*"}],"name":"mtdev-src","summary":"Multitouch Protocol Translation Library - Source files"},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/1","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/1"}],"name":"usr/src/debug/mtdev/1.1.7/include/mtdev-plumbing.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"15098607d4da060aad959204a031f4c912ba426dbf386f5b655be0722201c384"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/10","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/10"}],"name":"usr/src/debug/mtdev/1.1.7/src/match.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"2d98117cd86a3dc3d8881a4411eae8e091bc5fc23d2cc635568a43706508fdbf"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/11","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/11"}],"name":"usr/src/debug/mtdev/1.1.7/src/match_four.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"98c0781011f02dd473eb6dc69d8512928b4f0720139b0d58cd59df5abccdd1ed"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/12","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/12"}],"name":"usr/src/debug/mtdev/1.1.7/src/state.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"3739ecac50796a43e235a1bdc5095d4ea8689a12deef7ba947081858b9cf10fd"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/13","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/13"}],"name":"usr/src/debug/mtdev/1.1.7/test/mtdev-test.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"89c8c3d10e5ae73055d991970efe34745bdb618027c668b46eb50ef07ec8725e"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/2","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/2"}],"name":"usr/src/debug/mtdev/1.1.7/include/mtdev.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"cbbf384eba52f3b09cf49cd61b8371872a180e2bd0963cf7a53e8204d2810bd7"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/3","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/3"}],"name":"usr/src/debug/mtdev/1.1.7/src/caps.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"bead9a7a2e39e86804afd7129c71ced1835fda67c891a19ec4ee75ec04632cd7"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/4","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/4"}],"name":"usr/src/debug/mtdev/1.1.7/src/common.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"b19da05381db8cf58a9ed6b36fb6fddec2ec64554cc21bd0e68c8477acd988a5"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/5","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/5"}],"name":"usr/src/debug/mtdev/1.1.7/src/core.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"b0424feea2d6dd299fb1ddb65482c93df3ebc953fe317af8df9395aabcbe2ba6"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/6","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/6"}],"name":"usr/src/debug/mtdev/1.1.7/src/evbuf.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"5538cbdf73327a948a9a7b3b5bf8454a3fc35217bf3abe55a05b53bc2b52a461"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/7","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/7"}],"name":"usr/src/debug/mtdev/1.1.7/src/iobuf.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"57e00a935a03e9cf3490f6fa2bcaad1fbc2aa198d9ae9f2065b330501fc0fda3"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/8","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/8"}],"name":"usr/src/debug/mtdev/1.1.7/src/iobuf.h","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"7f659bcdb252065d526e37ac3786c9c5b6b4a0105b7e36936ea0c8b2edaa607d"}]},{"type":"software_File","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/9","creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/package/mtdev-src/file/9"}],"name":"usr/src/debug/mtdev/1.1.7/src/match.c","verifiedUsing":[{"type":"Hash","algorithm":"sha256","hashValue":"2aee0828cedc399cc4b7ce999473640099c930b0285fa07f2c51b79d97e156f7"}]},{"type":"LifecycleScopedRelationship","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/relationship/730cc500cafcedc216b1a092d83f81fc","scope":"build","from":"http://spdxdocs.org/openembedded-alias/by-doc-hash/d47022f5ca2ed78202757afdc39962324b6787fc8ac20db4b2f32f11263c299a/mtdev/UNIHASH/build/recipe","relationshipType":"hasOutput","to":["http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/relationship/730cc500cafcedc216b1a092d83f81fc"}]},{"type":"LifecycleScopedRelationship","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/relationship/af836dd5c95567168b82934bd677ca1c","scope":"build","from":"http://spdxdocs.org/openembedded-alias/by-doc-hash/83cbfb167164f83f42d56b433be6fa42ccbba067f2b004f9a6a53d389700e036/mtdev/UNIHASH/recipe/mtdev","relationshipType":"generates","to":["http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/relationship/af836dd5c95567168b82934bd677ca1c"}]},{"type":"Relationship","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/relationship/d65d957ea264dcf11acc868ea01af072","from":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src","relationshipType":"hasDeclaredLicense","to":["http://spdxdocs.org/openembedded-alias/by-doc-hash/d47022f5ca2ed78202757afdc39962324b6787fc8ac20db4b2f32f11263c299a/mtdev/UNIHASH/license/3_28_0/MIT"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/relationship/d65d957ea264dcf11acc868ea01af072"}]},{"type":"Relationship","spdxId":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/relationship/ebfde9f542d549f60d4b5bec6dff682f","from":"http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src","relationshipType":"contains","to":["http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/1","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/10","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/11","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/12","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/13","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/2","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/3","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/4","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/5","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/6","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/7","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/8","http://spdx.org/spdxdocs/mtdev-41677035-d822-5047-99bc-82dd12b0032f/c5ed792b849ad156eb5726c699d79183f974a3b7acf60b829b7639d88dd4970a/package/mtdev-src/file/9"],"creationInfo":"_:CreationInfo1","extension":[{"type":"https://rdf.openembedded.org/spdx/3.0/id-alias","https://rdf.openembedded.org/spdx/3.0/alias":"http://spdxdocs.org/openembedded-alias/by-doc-hash/ea610501e010888a4c37b899b796ab87e82c8461fe8986b83d3839c0fa2499f7/mtdev/UNIHASH/relationship/ebfde9f542d549f60d4b5bec6dff682f"}]}]}