SPDXVersion: SPDX-2.1
DataLicense: CC0-1.0
SPDXID: SPDXRef-DOCUMENT
DocumentName: project
DocumentNamespace: http://spdx.org/spdxdocs/spdx-v2.1-65cec0c2-4010-4095-89fa-623bf78d4892
Creator: Person: Anonymous ()
Creator: Organization: Anonymous ()
Creator: Tool: reuse-6.1.0
Created: 2026-06-14T07:15:53Z
CreatorComment: This document was created automatically using available reuse information consistent with REUSE.
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-59354a52ae85e2dcee742ce48e66d65f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-96422a888f2017a104c87d34f7e7dc68
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-36ef3661b44d9e2a65bee9fd7ea24801
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e71d87ce7e99a493845729d040d35434
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-217570be7dc7d571e930ff5ce063a1b3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-06248944d7861e5d8db0e47ea1b98c65
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8f661251fe2bd7874bd9cf0f1c300e71
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-553efc0086a1ebf724ec247b796693cc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3b4a765830de6b9647dddc01b2fcd20c
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8473d74b9eb67ceea928ededc814f82c
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-329e9b65dc08d97ac5cb2ff0e10f17de
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c5ea955a9f7c744e8a229bd7c99da6d9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-46a8a79bf1af2b9c5b819b9b8728b1a3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8c2757c8b4663760dcd18c1adcedb0d5
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9a2dd88e750f8acf51dcff0788e41462
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a4489d18314d54c647d602fc9f83faf6
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9f4f556002807603ad2ef232ed6608ea
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d5f2665f410d688e67b8a8ecee7fc242
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d88845d686097ed4bddda132be5bbfd9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d788642142b0e37a97e7d408de63a7d2
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7d526fc65c849aba86778984eab2ea91
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b51abfe39d937ceb57579506ce3db6a9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-00afb727eb330e948c6532907053aaaa
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-388214e181b1068c0887fbf35ec93d9e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8f770d03e180bd59276f078522f26b5e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5600d7eaef6e2085f8c12ba323c22890
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-faf638ebc7d3d112aa374da20dfb7372
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f763cbd4c39ab189be71bb4bb96cf1cf
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-237bcb2afa3d93451c6fa80d13d45366
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bb049e06ddd4f8c80a2c500ee039da39
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-67d55732fb7fa2457f7bf29217a12400
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3516d8a88e7ba4310f62c42f5b5f8ff6
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8b1a2c349f450bbffdaf3e1f37848d38
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-328fcb2e36a748cc2ae8e91dcef73e90
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e371f1527d12caf9cbc11f23acf96fdc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3c0505754f7cb492d3b4d2db20b4d7bc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d252462d1ea9f8da6cb2ab7703130b47
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-db305b320393da112c983eaf68d4eda2
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9de20e45c379c9436242715b29276e39
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-19836d7beb21dddd8c219517a4c2de3b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f1980905833ad348ff493342a6f70819
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-38e21ee5740bb5c1db4a4ef2b0f94535
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1f72da531f9638c099cbcad6620a35fd
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9cbea24c8bc9a9b1812bdf4239cd1401
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-47b62ceec15824ae73182bf44cee3090
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-efbbc38dc1624049a33d0340a4498a00
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0d0ea64ab183e2102a501080f6d470a1
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-78c5143a3722ee41688889b352a535b3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0bdbf47afecc52f15e4452e66f19e10e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-97baa08d455a909395fe3b5702d794ea
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-daa0eb997699fb141c6b79d8a8b2777e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-41906978b34d402049d64f6a6597eae0
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7ca591fe22e71ce0b4819215c0ef599d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-2654c5854ba4f2c9cdb9cb2b970bfe97
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a2190a423a2d529057e50d648efc43f4
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1bacb37323dc8e657d36813651aef767
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c1f615174810711b395ffe646531bbe9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9f5e32648c9028b6b089dc294cd6b07d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a391031de6a63474e9d5180cb91c672f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c26359eb9543832d2470c9f60565e744
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7f357e8ae77bf5e3bdbc7740866719cc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e129c257a6102b3d3f473c2f9f205fed
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1434ab4cba14635d9d3c76fdf87eb9f2
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-57cdb8008227d64897610d1deebbd514
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-adeec109ffc17482bff3aa74cb5c2833
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ebb693295541df26cb25d1f233082b3d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-605d219a9eb0d3fd1b0e0cfd9d9cfa77
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-619b3ff1e6ec54ed7b08bb0bd0cc4ca3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6dac704065737e03b7b00ab1b7206358
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-aa6206aca2228ef6f25ff088f87a4618
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c54239536c0fd1ba36e304e1986ed325
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-61983e5be533ff08ebe8fe20cd48f045
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ccf4cc8227b56d3122c6519ad3980d17
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-dd6a68463c1475d864ccf2963b9ba53f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-13beb6edacae8a617296017687a9ae85
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-33e11ad951cc66ab1819557becd57679
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-4ed59309a65a8a0d55fba7e2b12f70e1
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a19afc4cccdbca5ab8d64c8e6b71b7f5
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-2dc259613bc8c82655927c1e6157b467
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5357dc6fdcbc87319c88e18b4df79e4e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5d598d3e6929d81a9e062f0b34f4d1cd
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c0dfc05fd09c41cd44dd6484207ad8f0
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d93c29e56340e4f7774e7e487ea9c006
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-043a8ff63383eda4c526d8adcc7eaf96
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-64e4873d6fa654544c70951a3f6ba13b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bb07c7a3386f6e1931ec9d778e2913df
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f304a895cfc2b6d9a0be5ef8ab2f56d5
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-48c0b4b469b7bee109a67ada8bf539f7
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8dbe7f6dc3d61a6a1cb12efb18688feb
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5ed846e7b0f22531e1af70997291dd30
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-52193873b37f3864bbe631350f28f54a
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a1a16edf221d231366d1fe92122d9616
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-64af5507bbdeafd08d93616ca6e40e62
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a461b3be683ef2e5a1434ad9660268ef
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-16f2e385d51eddb6ab218a52f81e00ae
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e0a0fd8c1451738041404550b20f7006
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c52aac566b61dd030b49ed3dfb5e9e5c
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-2940ae1b4f815d0f9c2221095a0f84a3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-cf46be70d4f1e25a314dff5fe7865797
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7741b6a0c8faa9e38f3a634c1b383d96
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7377e937d775e50b514b7c46c903169d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-07626c35fcb86af9bc487f4f19b6d752
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9f5c7f6d0c46d9e8fe1d7e6a3e6497db
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-082f32c6acd566200efa4afd3ac4fca1
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0a63da52166894ccda10d75bb7047cf8
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-e927a81988ba13cc3bbe3262faa70ffa
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-587e9b64c25cefe2b697677dec6e117f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-686fbc6914cdaffb88322028eaba76bd
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-aaf0607cf9887f81b3d3b6922af7f4ee
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-678b65719d127376d5bc7d3edaad8911
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-265100e2be2ee29d3b82a74572dbe6d9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b66705e6ada09b6c6e448dbc742f0f06
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-dc8529de95563fdc585adb820dc64f25
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-229321d6c7eb3acb79a3a6b927851e12
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a2abee2fe2554fab469009aef0bcee05
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8694fd0ca0ecdf5d5e49116f72614c3e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9f61750722154332feb59b08c48c4bed
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8dfa5ba20ac8de06b183b5d24168bc27
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7ab5b32e41e4a4566dea038a948e3fe8
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0acb613dc64ec0c24ad5bbe9933a520b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f7b0941f1d93630726b75a345ff588bd
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-58b55b0ce8c0ef1f77de03dd243ce618
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ab67e0fe0d803d894b4268b225619fd6
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5b25b87e1589030d17a2015298063d1c
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-25b5ee2d6d37776ebc41603e451fe8e4
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-811cc5083845ba563f24d23b806499e6
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f08233cc71f60518a4264dcb634b231a
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fd1c84a193fdb8898b815621fd1f614f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-02ffc4484f8f9e3895106afb60805663
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-5da8026a14e55d62ff14f242dbd5dddb
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-058e4cba265d51eec1e2855153fecd79
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d8e8b5ab32e300c243fbb30660a95751
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6f3ca9af9bda2f839a8607b2e37c8204
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0ad1fda92df1647a684855c86dffd1bb
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c9a9f7279fdff9f8f2ea3086f41ea89e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6cc28e56bb904e6e080aa186d1f038be
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-328f6b2b3523853bfc214a23c2ee8386
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-48e965edaf20f9003b22576b74417d33
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6c4b60d2c44148a3b116da5f3a4d6350
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-dca42b291e2b998408111b6b304af573
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-448599e7cfb0fb1a8c09f30a1c98a4af
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-c94e21f846be37e6aa70a4e977817603
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-1adb3d4c11c9f2f9a4c8738f20b9ab4a
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d1572627086f5077369c0bbd17636e47
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-38628971eb5c7fb5137ec2569c895ea0
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fb0198763205fca140091346a3a0bcd7
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-206306c8e6eec3c7a7a9f552d8178636
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-31d904c879a4e05d87259f10820f124b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d0ab8f04af448906d1a3449057c4e1e7
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-235c018fbb15dd09c30e6d7fbada3c06
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-64fad5000f8ef410dbd39f7bc463672d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-710db183e1c042efc194d3bc4a1da550
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-15c64c1629d979985e392a71312e5326
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a4af37c3e76c676598a47d4e3c40adfc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-73237a755c5ec15dff2241c4fdbaddd3
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-59187914e966d124dda4fe5e79d94df0
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9481c799dae56df1d4ce10a938d7aa98
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-bdf1e72fab18c1218956b71e040d7a6e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-55d62d76a5056a2c34b82678a6528ef0
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a35b368c913381f49c70e65890812490
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fdf733820c7ff7c6a7546c3715aef539
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ac0488bc7637afbc874cfafee014a149
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-079bc82091e154c4caba02ca28ff046b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-901d616603e849bd74282ab567571882
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-337b30f8d2df7e9f48a921ec33d380c7
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-8c2bdc17ace22508245dcea85574626f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9fc41d0233b128593f69117ebe267d8f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7bec185f616b9425121935605221f892
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-604cf9de0ac57dc5bc13f74053c85da2
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-36a1f544bb7034c088e4fc64cb2de546
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-52980218776a8807f51354375cdc869e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-80028e45acf8ae6668b486fb67f3ef8a
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-4702ddf0784198639a8d441fbb37fc96
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6fcea2ea71483f8c841f3c786733b64a
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-03085edec523a38ff1b1330bca27e4aa
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d0b3382860eb1665ced452e8a68ee384
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-30e4d66d3eb74027246990353e914157
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-022fc5fb36b0e3e22475b38a04193ba8
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-173a935c6109b1c9091de37d5dce2470
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f841914fdc721d156f0d7c421875fca4
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-ec10a3a3a72eded5f5ca33bf8ee2a39b
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a0c54adfbecbbf585f703018b90771b8
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-25dd8a76d3767d1590007e6167b7e6a4
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a9892a50cd8d298649f790e0209d81e9
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-0198896e8a0466fe540701f0570c5cfc
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-7500233dbec4022651c4dac394a03cb2
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-6ed2103dbb34c7d0e2f6eca3ab117c94
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-3791251b2cceb2e0efc3975589bc2364
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-b62f7592898f5e47ee0c3c4a78af3419
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-64ce10b9068a383224c2458090b9fd32
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-17bfefd6552307331cf1195bc84f5b40
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fac15d4291d724f43a9c31b8c52ab19e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-a5fa8f5e67e2e874bea10c68b71d8d1d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-708e1f6a334154fd07cb24d9fa87f84d
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-17ab11e1e84bf70cab84c876902c344f
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-938b448f4b46da2bf406e8db98de743e
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-f1904a3671b7dd685d65e540e2d65fde
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-d536376977af1acb1bad33a1e0435313
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-9c0a273d0c4197ac97e73bb641dfaff1
Relationship: SPDXRef-DOCUMENT DESCRIBES SPDXRef-fc1989d1af73c6974450fe1781777b06
FileName: ./.env.example
SPDXID: SPDXRef-59354a52ae85e2dcee742ce48e66d65f
FileChecksum: SHA1: bb1229aa876ae32f1b525ee9c2b98fbce9ea4fd8
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.env.test
SPDXID: SPDXRef-96422a888f2017a104c87d34f7e7dc68
FileChecksum: SHA1: 81daa475675e37044a10f8c9cb0c922f7931cf1a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/CODEOWNERS
SPDXID: SPDXRef-36ef3661b44d9e2a65bee9fd7ea24801
FileChecksum: SHA1: 55d76682013ed8bd6bea849aa01083320b310776
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/ISSUE_TEMPLATE/bug_report.yml
SPDXID: SPDXRef-e71d87ce7e99a493845729d040d35434
FileChecksum: SHA1: fac498e24629265e0d81f1212a03ff73ed343041
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/ISSUE_TEMPLATE/config.yml
SPDXID: SPDXRef-217570be7dc7d571e930ff5ce063a1b3
FileChecksum: SHA1: 0d1aa329946edbdf614a4fea96657a51688be3a9
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/ISSUE_TEMPLATE/feature_request.yml
SPDXID: SPDXRef-06248944d7861e5d8db0e47ea1b98c65
FileChecksum: SHA1: 83195b62a8e474a3fb84a678d04576dc0770107e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/PULL_REQUEST_TEMPLATE/common_pull_request.md
SPDXID: SPDXRef-8f661251fe2bd7874bd9cf0f1c300e71
FileChecksum: SHA1: 51e3717576fe7c6210d4969aea96b70426689d9d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/SECURITY.md
SPDXID: SPDXRef-553efc0086a1ebf724ec247b796693cc
FileChecksum: SHA1: 3ad18351655e399a2dfaf1c2cd7dde0897c28e57
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/labeler.yml
SPDXID: SPDXRef-3b4a765830de6b9647dddc01b2fcd20c
FileChecksum: SHA1: edcbdda6cbfb5fa1383bc6d37154c67602ae1ec5
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/release.yml
SPDXID: SPDXRef-8473d74b9eb67ceea928ededc814f82c
FileChecksum: SHA1: 379c315f2973c518114291f677b8bb354e498350
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/renovate.json
SPDXID: SPDXRef-329e9b65dc08d97ac5cb2ff0e10f17de
FileChecksum: SHA1: 6178003c89b16eda06f867811217e923243cfece
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/workflows/ci.yml
SPDXID: SPDXRef-c5ea955a9f7c744e8a229bd7c99da6d9
FileChecksum: SHA1: 854b25efc1e86fb16a4926b68ff94d657b034914
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/workflows/deploy.yml
SPDXID: SPDXRef-46a8a79bf1af2b9c5b819b9b8728b1a3
FileChecksum: SHA1: d78d7a6404ad2843620a0e7cd98dac99b49d8b39
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/workflows/labeler.yml
SPDXID: SPDXRef-8c2757c8b4663760dcd18c1adcedb0d5
FileChecksum: SHA1: 937a28c23e3b68ec879b5b484276e3c50cce3b13
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/workflows/labels.yml
SPDXID: SPDXRef-9a2dd88e750f8acf51dcff0788e41462
FileChecksum: SHA1: cd3461ee960ddb505f46cda70a6d5c9feeb977b8
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.github/workflows/release.yml
SPDXID: SPDXRef-a4489d18314d54c647d602fc9f83faf6
FileChecksum: SHA1: af7bd93c4ee1d01beaf3a58113aa11e2a06d99e7
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.gitignore
SPDXID: SPDXRef-9f4f556002807603ad2ef232ed6608ea
FileChecksum: SHA1: 8235bfbf7909e11a49bb92335b6b76f9111e6635
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.husky/commit-msg
SPDXID: SPDXRef-d5f2665f410d688e67b8a8ecee7fc242
FileChecksum: SHA1: 6d712d843eaaebde0bb2f62378d2163deac29d56
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.husky/pre-commit
SPDXID: SPDXRef-d88845d686097ed4bddda132be5bbfd9
FileChecksum: SHA1: fd1d4bacf202546a3b3045c2fe809b2285eabc09
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.husky/pre-push
SPDXID: SPDXRef-d788642142b0e37a97e7d408de63a7d2
FileChecksum: SHA1: 7771ba666a35a7fd92be1fd8afb1c3985a91fa5c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.prettierignore
SPDXID: SPDXRef-7d526fc65c849aba86778984eab2ea91
FileChecksum: SHA1: b1e61a561954c9f801bec8f36835cc784ff53a83
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.prettierrc
SPDXID: SPDXRef-b51abfe39d937ceb57579506ce3db6a9
FileChecksum: SHA1: 1f6768b4cea34927669b8caa7fb9ba4cc50ca701
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./.trivyignore
SPDXID: SPDXRef-00afb727eb330e948c6532907053aaaa
FileChecksum: SHA1: 74cb038523eef4f45b1b3304e779316329fd77a5
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./Dockerfile
SPDXID: SPDXRef-388214e181b1068c0887fbf35ec93d9e
FileChecksum: SHA1: 2d2e5c65094c59cf777b151826cfef1bbbf60c5d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./Makefile
SPDXID: SPDXRef-8f770d03e180bd59276f078522f26b5e
FileChecksum: SHA1: 6394b2c9877eba0b2be256a94069fbab4296e63e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./README.md
SPDXID: SPDXRef-5600d7eaef6e2085f8c12ba323c22890
FileChecksum: SHA1: 897a73bf47c635279e3a9a6659a29d05f303e00b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2025-2026 Andrey Kotlyar
FileName: ./codecov.yml
SPDXID: SPDXRef-faf638ebc7d3d112aa374da20dfb7372
FileChecksum: SHA1: a7945291a837ce32455c847a7296d8e5b77aa581
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./components.json
SPDXID: SPDXRef-f763cbd4c39ab189be71bb4bb96cf1cf
FileChecksum: SHA1: 8daa2efa6469effdfe315634e3063bf51bc226ee
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/chords.test.ts
SPDXID: SPDXRef-237bcb2afa3d93451c6fa80d13d45366
FileChecksum: SHA1: 335b3ace0eb46475a3cfccc0cee97f55f16faf40
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/constants.ts
SPDXID: SPDXRef-bb049e06ddd4f8c80a2c500ee039da39
FileChecksum: SHA1: a512d7d1315ce1ee2f629c816941ebdbad9676f3
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/courses.test.ts
SPDXID: SPDXRef-67d55732fb7fa2457f7bf29217a12400
FileChecksum: SHA1: 72b517a72fd1d04bd1f43fb0ea02936634b4f354
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/fixtures.ts
SPDXID: SPDXRef-3516d8a88e7ba4310f62c42f5b5f8ff6
FileChecksum: SHA1: 95b6c543d072812054842942de7596d8bd9071cf
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/home.test.ts
SPDXID: SPDXRef-8b1a2c349f450bbffdaf3e1f37848d38
FileChecksum: SHA1: e09c12b1352fd2c5a0b59a9aec190b3845d82f1d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/navigation.test.ts
SPDXID: SPDXRef-328fcb2e36a748cc2ae8e91dcef73e90
FileChecksum: SHA1: 226ae1eb2c14f9b46526bb544b41318ddc16e20f
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./e2e/not-found.test.ts
SPDXID: SPDXRef-e371f1527d12caf9cbc11f23acf96fdc
FileChecksum: SHA1: b151c50a000aa3ad6011c6bc9d16d613e5058f94
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./eslint.config.mjs
SPDXID: SPDXRef-3c0505754f7cb492d3b4d2db20b4d7bc
FileChecksum: SHA1: aadb7c71089d707e37db1dddfca03187591053b1
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./next.config.ts
SPDXID: SPDXRef-d252462d1ea9f8da6cb2ab7703130b47
FileChecksum: SHA1: f30dcf6d789fa53c256099863ba3b970a592fedb
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./package-lock.json
SPDXID: SPDXRef-db305b320393da112c983eaf68d4eda2
FileChecksum: SHA1: bc238932ff15fac5ba3fce20c5867fe508b9a964
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./package.json
SPDXID: SPDXRef-9de20e45c379c9436242715b29276e39
FileChecksum: SHA1: 80b4b641fe942dafa423b4f0cf547ff0a72b1b3f
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./playwright.config.ts
SPDXID: SPDXRef-19836d7beb21dddd8c219517a4c2de3b
FileChecksum: SHA1: 206e09e7092fb5d40294b3fd52c7196c87b979d5
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./postcss.config.mjs
SPDXID: SPDXRef-f1980905833ad348ff493342a6f70819
FileChecksum: SHA1: 8805ab44ad4be68d9612709c2dadc5f4af4641a2
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/file.svg
SPDXID: SPDXRef-38e21ee5740bb5c1db4a4ef2b0f94535
FileChecksum: SHA1: fb380eeffe87d50b597383664c02982964d0d28c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/fonts/Debby.ttf
SPDXID: SPDXRef-1f72da531f9638c099cbcad6620a35fd
FileChecksum: SHA1: 4165f8e2dd57478471a66ec98af46d181828df0d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/fonts/SpriteGraffiti.ttf
SPDXID: SPDXRef-9cbea24c8bc9a9b1812bdf4239cd1401
FileChecksum: SHA1: 2588f69803d1e2d4f134595bf0d1eec92a1192e9
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/globe.svg
SPDXID: SPDXRef-47b62ceec15824ae73182bf44cee3090
FileChecksum: SHA1: 2eba23b01a46733bb8423e6d38ebf5f7e95abec5
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/images/bg-dark.jpg
SPDXID: SPDXRef-efbbc38dc1624049a33d0340a4498a00
FileChecksum: SHA1: 4d0ab4d851391016c352ed4b03c5cc6f368d0c22
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/images/bg-light.jpg
SPDXID: SPDXRef-0d0ea64ab183e2102a501080f6d470a1
FileChecksum: SHA1: 02c5d95aa54749cb425ac9bc1cd9a03c17313461
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/images/logo.png
SPDXID: SPDXRef-78c5143a3722ee41688889b352a535b3
FileChecksum: SHA1: 673fd892878d8122062905f3253fc8db00f2f493
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/next.svg
SPDXID: SPDXRef-0bdbf47afecc52f15e4452e66f19e10e
FileChecksum: SHA1: 3f3e95622612b989c5bd6a03299a308c6f3c7e6b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/vercel.svg
SPDXID: SPDXRef-97baa08d455a909395fe3b5702d794ea
FileChecksum: SHA1: cebb8852d58c8886be3e9051a26957f42bb82f1a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./public/window.svg
SPDXID: SPDXRef-daa0eb997699fb141c6b79d8a8b2777e
FileChecksum: SHA1: 54c48e0daa6caa317fe1b4c419007fd93e948db9
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./schemas/openapi.yaml
SPDXID: SPDXRef-41906978b34d402049d64f6a6597eae0
FileChecksum: SHA1: 44e278bd0ef5be920bb2372b72094c642082be1d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/api/health/route.ts
SPDXID: SPDXRef-7ca591fe22e71ce0b4819215c0ef599d
FileChecksum: SHA1: f6f517bf5cc039653b84c52cc2fc03e63676e622
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/chords/loading.tsx
SPDXID: SPDXRef-2654c5854ba4f2c9cdb9cb2b970bfe97
FileChecksum: SHA1: 7e336b045386435259e8d989c6a396b952b67176
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/chords/page.tsx
SPDXID: SPDXRef-a2190a423a2d529057e50d648efc43f4
FileChecksum: SHA1: bf1bd1e7004d8e7e74adebcf539ac664bc2d800f
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/courses/[uuid]/loading.tsx
SPDXID: SPDXRef-1bacb37323dc8e657d36813651aef767
FileChecksum: SHA1: f215849e0d0d92408e921869b0680f6c329004ef
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/courses/[uuid]/page.tsx
SPDXID: SPDXRef-c1f615174810711b395ffe646531bbe9
FileChecksum: SHA1: ef9242e54d5168836f845eab5683af03d32ac72a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/courses/loading.tsx
SPDXID: SPDXRef-9f5e32648c9028b6b089dc294cd6b07d
FileChecksum: SHA1: bf003a86b1c72378b13bebfc00772a57ea170fa6
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/courses/page.tsx
SPDXID: SPDXRef-a391031de6a63474e9d5180cb91c672f
FileChecksum: SHA1: 077c310e198f29ebf9b26de662ed73420b6188d4
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/error.tsx
SPDXID: SPDXRef-c26359eb9543832d2470c9f60565e744
FileChecksum: SHA1: cad296a3e482ac2ffe4033ce2d94443e55994a7a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/favicon.ico
SPDXID: SPDXRef-7f357e8ae77bf5e3bdbc7740866719cc
FileChecksum: SHA1: 75a3a324d8677d61abde2b739dbf918a2a8c99c2
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/globals.css
SPDXID: SPDXRef-e129c257a6102b3d3f473c2f9f205fed
FileChecksum: SHA1: 33b4cef0155984a115fe7cb01a3f7b8d71a26b4a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/layout.tsx
SPDXID: SPDXRef-1434ab4cba14635d9d3c76fdf87eb9f2
FileChecksum: SHA1: 33815e5aa4c1abe79fd376dd313df46f765aca36
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/lessons/[uuid]/loading.tsx
SPDXID: SPDXRef-57cdb8008227d64897610d1deebbd514
FileChecksum: SHA1: fc4becf6aa29be5d7fa06a4aaa3eb6cff09caab0
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/lessons/[uuid]/page.tsx
SPDXID: SPDXRef-adeec109ffc17482bff3aa74cb5c2833
FileChecksum: SHA1: e91b91239cab10dbccf1ceca35b04007b13dcec0
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/not-found.tsx
SPDXID: SPDXRef-ebb693295541df26cb25d1f233082b3d
FileChecksum: SHA1: fcb4e07d0671397989b40eae0f8f5d11e7716799
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/page.tsx
SPDXID: SPDXRef-605d219a9eb0d3fd1b0e0cfd9d9cfa77
FileChecksum: SHA1: 0b704c4541ef6cb5728d8ad93234af179aeacafc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/privacy-policy/page.test.tsx
SPDXID: SPDXRef-619b3ff1e6ec54ed7b08bb0bd0cc4ca3
FileChecksum: SHA1: 379e15d0081ce5c06d339437b83e24f46b9bc44e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/privacy-policy/page.tsx
SPDXID: SPDXRef-6dac704065737e03b7b00ab1b7206358
FileChecksum: SHA1: e58cf378c0aacb0c9686628e2d4a64f347953a4e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/robots.ts
SPDXID: SPDXRef-aa6206aca2228ef6f25ff088f87a4618
FileChecksum: SHA1: ec1fbfbcebf3e8c1409bd1e84e89ea4990a3e941
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/app/sitemap.ts
SPDXID: SPDXRef-c54239536c0fd1ba36e304e1986ed325
FileChecksum: SHA1: dfd216febf4be7436a65f7b01af9612c96b722c3
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/breadcrumb.test.tsx
SPDXID: SPDXRef-61983e5be533ff08ebe8fe20cd48f045
FileChecksum: SHA1: dda954a2a7076453ebce086b07bc54c6639c84d3
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/breadcrumb.tsx
SPDXID: SPDXRef-ccf4cc8227b56d3122c6519ad3980d17
FileChecksum: SHA1: e17947244f40049948a6c8feba11c5a6b131ed4b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/controls/control-group.tsx
SPDXID: SPDXRef-dd6a68463c1475d864ccf2963b9ba53f
FileChecksum: SHA1: c0105ffd63da5a8e63ca894c80983d2f5229721d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/controls/size-control.test.tsx
SPDXID: SPDXRef-13beb6edacae8a617296017687a9ae85
FileChecksum: SHA1: 24f8b5e2bc1a87a3fa272cb574ae84d3d965d5cd
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/controls/size-control.tsx
SPDXID: SPDXRef-33e11ad951cc66ab1819557becd57679
FileChecksum: SHA1: e3ec40919e0966d5c2e4bb2c386521c96dc61989
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/controls/toggle-visibility.test.tsx
SPDXID: SPDXRef-4ed59309a65a8a0d55fba7e2b12f70e1
FileChecksum: SHA1: 082f497e55b4cb8893825d41df303a1240bc6857
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/controls/toggle-visibility.tsx
SPDXID: SPDXRef-a19afc4cccdbca5ab8d64c8e6b71b7f5
FileChecksum: SHA1: ae6f9ac2275f5d2f84a38012b6e54a24c4281e4e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/footer.test.tsx
SPDXID: SPDXRef-2dc259613bc8c82655927c1e6157b467
FileChecksum: SHA1: cfeff3e7903675b599e0dd4a540146151c7e05bd
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
© ${START_YEAR} Гитара с нуля`, "i")),
© ${START_YEAR}–${randomYear} Гитара с нуля`, "i"),
FileName: ./src/components/footer.tsx
SPDXID: SPDXRef-5357dc6fdcbc87319c88e18b4df79e4e
FileChecksum: SHA1: 686cba97ade3db2174b1731056fa735d2f7b6e9d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
© {displayYear} Гитара с нуля
FileName: ./src/components/header.tsx
SPDXID: SPDXRef-5d598d3e6929d81a9e062f0b34f4d1cd
FileChecksum: SHA1: 3df9d7743b73223d22c50672b62d84fd364bd994
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/hero-section.tsx
SPDXID: SPDXRef-c0dfc05fd09c41cd44dd6484207ad8f0
FileChecksum: SHA1: 32372ee01feff97b6fec225a607e3e3c44e393d8
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/logo.tsx
SPDXID: SPDXRef-d93c29e56340e4f7774e7e487ea9c006
FileChecksum: SHA1: e47b81e1150ecd5631f0fcb769a45c29714b3d95
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/course-menu-item.tsx
SPDXID: SPDXRef-043a8ff63383eda4c526d8adcc7eaf96
FileChecksum: SHA1: a85f04dd404acbddbd79bd6abc90f9c6cd81eaa7
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/index.ts
SPDXID: SPDXRef-64e4873d6fa654544c70951a3f6ba13b
FileChecksum: SHA1: b0c78a540c267a2107752e5952830e47dc048a36
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/main-menu-inline.test.tsx
SPDXID: SPDXRef-bb07c7a3386f6e1931ec9d778e2913df
FileChecksum: SHA1: 63a832c8f4cbbcf507db027255d7676840e3ff91
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/main-menu-inline.tsx
SPDXID: SPDXRef-f304a895cfc2b6d9a0be5ef8ab2f56d5
FileChecksum: SHA1: 57110f987161950f0193b653b943d29e2ba04e11
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/main-menu-nested.test.tsx
SPDXID: SPDXRef-48c0b4b469b7bee109a67ada8bf539f7
FileChecksum: SHA1: 53ad0afba20dcbd7df04fb91a233d751ae46c8c4
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/main-menu-nested.tsx
SPDXID: SPDXRef-8dbe7f6dc3d61a6a1cb12efb18688feb
FileChecksum: SHA1: 4fbe85196cc621809602f4ef5c38b6d59855adcc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/main-menu-server.tsx
SPDXID: SPDXRef-5ed846e7b0f22531e1af70997291dd30
FileChecksum: SHA1: b20288b3d27922a946e1bf12b31e1974e7ced417
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/main-menu/types.ts
SPDXID: SPDXRef-52193873b37f3864bbe631350f28f54a
FileChecksum: SHA1: 4bd34960fed08fb89b9931b42dcf5b0bf0909434
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/markdown.tsx
SPDXID: SPDXRef-a1a16edf221d231366d1fe92122d9616
FileChecksum: SHA1: 84f3b9d1ae9d7a7540f4c750f063fe2ae4bf4257
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/section-header.test.tsx
SPDXID: SPDXRef-64af5507bbdeafd08d93616ca6e40e62
FileChecksum: SHA1: 4fb52984c04f73ca051f9a7fa807698937aa9182
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/section-header.tsx
SPDXID: SPDXRef-a461b3be683ef2e5a1434ad9660268ef
FileChecksum: SHA1: dffdc992952947e33e911ff5bfd564c0c86e2a34
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/song-preferences-hydrator.tsx
SPDXID: SPDXRef-16f2e385d51eddb6ab218a52f81e00ae
FileChecksum: SHA1: 350b776f82f7eb5e72e51e2c762ccf39e46a346e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/theme-switcher.test.tsx
SPDXID: SPDXRef-e0a0fd8c1451738041404550b20f7006
FileChecksum: SHA1: e6d736a10b3afafbe358a447b2bc29cb178b07c9
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/theme-switcher.tsx
SPDXID: SPDXRef-c52aac566b61dd030b49ed3dfb5e9e5c
FileChecksum: SHA1: 36c4993281c5e73ff16a8bc72b5f6cfba8489ae4
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/badge.tsx
SPDXID: SPDXRef-2940ae1b4f815d0f9c2221095a0f84a3
FileChecksum: SHA1: 5ec659560fa77259119cae1b0671bc7e4ec6dfae
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/breadcrumb.tsx
SPDXID: SPDXRef-cf46be70d4f1e25a314dff5fe7865797
FileChecksum: SHA1: 86e3beafa3a36ddbe638f3aca16f7609bc588019
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/button-group.tsx
SPDXID: SPDXRef-7741b6a0c8faa9e38f3a634c1b383d96
FileChecksum: SHA1: 0d69f74d29e8518ad287d141e2a911563a2b952b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/button.tsx
SPDXID: SPDXRef-7377e937d775e50b514b7c46c903169d
FileChecksum: SHA1: 385548c437ada649ddd2f08a33d1c3cce566f84d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/card.tsx
SPDXID: SPDXRef-07626c35fcb86af9bc487f4f19b6d752
FileChecksum: SHA1: 82d07c6c106fed5bdcc0574b5f5144665273c976
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/dialog.tsx
SPDXID: SPDXRef-9f5c7f6d0c46d9e8fe1d7e6a3e6497db
FileChecksum: SHA1: 2c16f0a7b984639365cc826281410c928af378f2
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/navigation-menu.tsx
SPDXID: SPDXRef-082f32c6acd566200efa4afd3ac4fca1
FileChecksum: SHA1: b02aeac9386127abe005fca72dc76d2fa9c21df5
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/separator.tsx
SPDXID: SPDXRef-0a63da52166894ccda10d75bb7047cf8
FileChecksum: SHA1: e06cb0c9f7cb9cfee1406fb39f2efb42a2508313
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/skeleton.tsx
SPDXID: SPDXRef-e927a81988ba13cc3bbe3262faa70ffa
FileChecksum: SHA1: 9de1309fe34676bcf33d80929a2cf7a5e134c4ea
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/components/ui/tabs.tsx
SPDXID: SPDXRef-587e9b64c25cefe2b697677dec6e117f
FileChecksum: SHA1: 82fa78f2e546314e089db75bc04ebb6dcda35802
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/api.test.ts
SPDXID: SPDXRef-686fbc6914cdaffb88322028eaba76bd
FileChecksum: SHA1: 7e8605af57953a1c7272b8359ade3d79300ec8b2
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/api.ts
SPDXID: SPDXRef-aaf0607cf9887f81b3d3b6922af7f4ee
FileChecksum: SHA1: 210a5dc93edbc0f71796625a1ccef86563117ccf
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/components/announcement-card.test.tsx
SPDXID: SPDXRef-678b65719d127376d5bc7d3edaad8911
FileChecksum: SHA1: 58b6abd0d449029ddf34dfb2e5ed0433e5b76584
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/components/announcement-card.tsx
SPDXID: SPDXRef-265100e2be2ee29d3b82a74572dbe6d9
FileChecksum: SHA1: 454b84f6046b7ae9ec72aeb90849811b249e447e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/components/announcements-section.test.tsx
SPDXID: SPDXRef-b66705e6ada09b6c6e448dbc742f0f06
FileChecksum: SHA1: 8b3909e50276f45461aac6eeb85c603592f79408
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/components/announcements-section.tsx
SPDXID: SPDXRef-dc8529de95563fdc585adb820dc64f25
FileChecksum: SHA1: 1b902473dcd36b497d151ea09834266167595d80
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/announcements/index.ts
SPDXID: SPDXRef-229321d6c7eb3acb79a3a6b927851e12
FileChecksum: SHA1: 9d6cf850d66334390f38a1859c6602306123de6b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/api.test.ts
SPDXID: SPDXRef-a2abee2fe2554fab469009aef0bcee05
FileChecksum: SHA1: 965594bd679bf038ffce8a678944ac807778a814
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/api.ts
SPDXID: SPDXRef-8694fd0ca0ecdf5d5e49116f72614c3e
FileChecksum: SHA1: ced42adbfc730bbe1fa7ae8419fc1e96b9a5204e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chord-item.test.tsx
SPDXID: SPDXRef-9f61750722154332feb59b08c48c4bed
FileChecksum: SHA1: 1c671f17cee348bb4abec1849f19f54c6277535e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chord-item.tsx
SPDXID: SPDXRef-8dfa5ba20ac8de06b183b5d24168bc27
FileChecksum: SHA1: 4a53731fd20171f5415df26f2248f443a7b87e42
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chords-list.test.tsx
SPDXID: SPDXRef-7ab5b32e41e4a4566dea038a948e3fe8
FileChecksum: SHA1: 0afee753bcdb68b97e27b1dab8991a9aef16ebe0
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chords-list.tsx
SPDXID: SPDXRef-0acb613dc64ec0c24ad5bbe9933a520b
FileChecksum: SHA1: f5b448e54b32e7c53fd4c109f08c454dfcff835d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chords-section.test.tsx
SPDXID: SPDXRef-f7b0941f1d93630726b75a345ff588bd
FileChecksum: SHA1: 970c025f7cfd40b40bc9ed9c4b5714300a9c25b9
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chords-section.tsx
SPDXID: SPDXRef-58b55b0ce8c0ef1f77de03dd243ce618
FileChecksum: SHA1: 3e44f26697f7646c76b9365b5746eba78c06f82c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/chords-skeleton.tsx
SPDXID: SPDXRef-ab67e0fe0d803d894b4268b225619fd6
FileChecksum: SHA1: 9358c43641e99802ea92d0813a3baa3488b601cc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/toggle-orientation.test.tsx
SPDXID: SPDXRef-5b25b87e1589030d17a2015298063d1c
FileChecksum: SHA1: 66179577afff6c685c342046a8166ad9cc10a268
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/components/toggle-orientation.tsx
SPDXID: SPDXRef-25b5ee2d6d37776ebc41603e451fe8e4
FileChecksum: SHA1: 25680ba550c85bdaba9cf53dcc61ee5ca37fed64
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/chords/index.ts
SPDXID: SPDXRef-811cc5083845ba563f24d23b806499e6
FileChecksum: SHA1: ff911f0045b3e048bd45c7e712482773550ec688
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/api.test.ts
SPDXID: SPDXRef-f08233cc71f60518a4264dcb634b231a
FileChecksum: SHA1: 8fd72db63be8c86bca9b7008a8b57cca84f7303d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/api.ts
SPDXID: SPDXRef-fd1c84a193fdb8898b815621fd1f614f
FileChecksum: SHA1: b3ef24f641a9979ea79e1ac4b6abfa566d875356
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-card-skeleton.tsx
SPDXID: SPDXRef-02ffc4484f8f9e3895106afb60805663
FileChecksum: SHA1: 4cb8a1b00191cf90b7a84bed98bfcbe2d6c08e33
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-card.test.tsx
SPDXID: SPDXRef-5da8026a14e55d62ff14f242dbd5dddb
FileChecksum: SHA1: 90b8bc8b7b45e7473c50d5ffa935e446417bdd76
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-card.tsx
SPDXID: SPDXRef-058e4cba265d51eec1e2855153fecd79
FileChecksum: SHA1: ee3e1f241e2abe85ab13158b2e2d3be2615d3d82
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-header-skeleton.tsx
SPDXID: SPDXRef-d8e8b5ab32e300c243fbb30660a95751
FileChecksum: SHA1: a029b1f4aa02a1855241a56169f24b2281dbf50c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-header.test.tsx
SPDXID: SPDXRef-6f3ca9af9bda2f839a8607b2e37c8204
FileChecksum: SHA1: 507da1b0abb5f7d963c26c1a49fccd9b5543d404
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/course-header.tsx
SPDXID: SPDXRef-0ad1fda92df1647a684855c86dffd1bb
FileChecksum: SHA1: 9acbc00c5591d91e0b6601def224c09842eb5e6b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/courses-list-skeleton.tsx
SPDXID: SPDXRef-c9a9f7279fdff9f8f2ea3086f41ea89e
FileChecksum: SHA1: 98a12d11018948b0570accd12c4729c42c54b855
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/courses-list.test.tsx
SPDXID: SPDXRef-6cc28e56bb904e6e080aa186d1f038be
FileChecksum: SHA1: 5b46ad3545b5caded16b7ecf7e2225f56171ad2c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/courses-list.tsx
SPDXID: SPDXRef-328f6b2b3523853bfc214a23c2ee8386
FileChecksum: SHA1: 29356bfdb1197f9bb0b335e3094b8ddb683494b7
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/lesson-card-skeleton.tsx
SPDXID: SPDXRef-48e965edaf20f9003b22576b74417d33
FileChecksum: SHA1: 4fbda7c608d99183f0b23fb3a057d650771aca11
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/lesson-card.test.tsx
SPDXID: SPDXRef-6c4b60d2c44148a3b116da5f3a4d6350
FileChecksum: SHA1: 3d5c06d0c53d8acd63b105d85860a231d81d2834
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/lesson-card.tsx
SPDXID: SPDXRef-dca42b291e2b998408111b6b304af573
FileChecksum: SHA1: 2d71fb65b8a6d0e45bccc1f872b6151dc905c88f
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/lesson-list.test.tsx
SPDXID: SPDXRef-448599e7cfb0fb1a8c09f30a1c98a4af
FileChecksum: SHA1: 2d2507ae56d8effc5d83819762c78bc4b0faaadc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/components/lesson-list.tsx
SPDXID: SPDXRef-c94e21f846be37e6aa70a4e977817603
FileChecksum: SHA1: f952c1a6dd007fbd67860823434edddcffb82e53
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/courses/index.ts
SPDXID: SPDXRef-1adb3d4c11c9f2f9a4c8738f20b9ab4a
FileChecksum: SHA1: 04ab8057faad55f0ab130ede6b5e59526559192a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/api.test.ts
SPDXID: SPDXRef-d1572627086f5077369c0bbd17636e47
FileChecksum: SHA1: 391bef0946f4be70c2db3d26f7723dffdcabb822
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/api.ts
SPDXID: SPDXRef-38628971eb5c7fb5137ec2569c895ea0
FileChecksum: SHA1: fa2802f2310709327b8756f8145fbc446da43356
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-breadcrumbs.test.tsx
SPDXID: SPDXRef-fb0198763205fca140091346a3a0bcd7
FileChecksum: SHA1: 421420bc3ff541b3117389c9b1fadb243f9e1ccc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-breadcrumbs.tsx
SPDXID: SPDXRef-206306c8e6eec3c7a7a9f552d8178636
FileChecksum: SHA1: fcc28ea50b40512f1216222e8cf77495d3d245ac
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-header-skeleton.tsx
SPDXID: SPDXRef-31d904c879a4e05d87259f10820f124b
FileChecksum: SHA1: 2130f61750e02de21891d396a8c2bfbcd45eb474
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-header.test.tsx
SPDXID: SPDXRef-d0ab8f04af448906d1a3449057c4e1e7
FileChecksum: SHA1: 4774dd3c3748d8b0e78af5e384efc28a7ee907a1
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-header.tsx
SPDXID: SPDXRef-235c018fbb15dd09c30e6d7fbada3c06
FileChecksum: SHA1: fae6982bad6b015513b2f2fee9a42b8caba398fb
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-video-section.tsx
SPDXID: SPDXRef-64fad5000f8ef410dbd39f7bc463672d
FileChecksum: SHA1: 0a1591396c1bbac7030c906826717340c886ec4e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-video-skeleton.tsx
SPDXID: SPDXRef-710db183e1c042efc194d3bc4a1da550
FileChecksum: SHA1: 0729f9982466913574ead007a58d11eeadd18fa0
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-video.test.tsx
SPDXID: SPDXRef-15c64c1629d979985e392a71312e5326
FileChecksum: SHA1: 60f342be41196da7ff9c17aba7c19646281b36d8
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/lesson-video.tsx
SPDXID: SPDXRef-a4af37c3e76c676598a47d4e3c40adfc
FileChecksum: SHA1: ef0755c034f43e4ec521a9037ff0f704f17d554c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/scheme-image.test.tsx
SPDXID: SPDXRef-73237a755c5ec15dff2241c4fdbaddd3
FileChecksum: SHA1: d802ff3eaac189c116f2dbdaf5e3dd3c1fab2a51
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/scheme-image.tsx
SPDXID: SPDXRef-59187914e966d124dda4fe5e79d94df0
FileChecksum: SHA1: eff5063780879f050e4ef946c732f9696c1368ce
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/schemes-section.test.tsx
SPDXID: SPDXRef-9481c799dae56df1d4ce10a938d7aa98
FileChecksum: SHA1: 4131e8a32296ea0198ab342febcb5a8087619728
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/schemes-section.tsx
SPDXID: SPDXRef-bdf1e72fab18c1218956b71e040d7a6e
FileChecksum: SHA1: f085423dc0f5650fac109a11c106e5bd995b7e11
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/song-card.test.tsx
SPDXID: SPDXRef-55d62d76a5056a2c34b82678a6528ef0
FileChecksum: SHA1: 863d19e5c00ee7e43a148cdfb2a3d90e93bfd113
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/song-card.tsx
SPDXID: SPDXRef-a35b368c913381f49c70e65890812490
FileChecksum: SHA1: 788b97e3b738d828aeaf39380f8b23af96533c19
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/songs-section-skeleton.tsx
SPDXID: SPDXRef-fdf733820c7ff7c6a7546c3715aef539
FileChecksum: SHA1: 87a0f32b58cc050a9468fd98dddbd6f1007555fd
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/songs-section.test.tsx
SPDXID: SPDXRef-ac0488bc7637afbc874cfafee014a149
FileChecksum: SHA1: ce79152875c0debf843ad58b26e780b7334f4873
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/songs-section.tsx
SPDXID: SPDXRef-079bc82091e154c4caba02ca28ff046b
FileChecksum: SHA1: cae2a7696c8bd1d57bdfec87b81a357ac87fa09e
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/text-section.test.tsx
SPDXID: SPDXRef-901d616603e849bd74282ab567571882
FileChecksum: SHA1: e74c1b8dcf85c87b82fdfb6e4559a51b402dd18c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/text-section.tsx
SPDXID: SPDXRef-337b30f8d2df7e9f48a921ec33d380c7
FileChecksum: SHA1: 5de48018c3daf8dd375ee0c610a7c246e8be6242
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/toggle-pin.test.tsx
SPDXID: SPDXRef-8c2bdc17ace22508245dcea85574626f
FileChecksum: SHA1: 7725f7428f0b698e364511c80427bde461aea642
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/components/toggle-pin.tsx
SPDXID: SPDXRef-9fc41d0233b128593f69117ebe267d8f
FileChecksum: SHA1: 1e0b88f12a49a8f68180d8ca4a620d2ab52f9be0
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/lessons/index.ts
SPDXID: SPDXRef-7bec185f616b9425121935605221f892
FileChecksum: SHA1: 8a317ccae92225ab4ebd0bab7b13c0bf22397ebe
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/open-source/components/open-source-section.tsx
SPDXID: SPDXRef-604cf9de0ac57dc5bc13f74053c85da2
FileChecksum: SHA1: bbb9247c5911090857b937ba47566bb8ef2345c6
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/open-source/index.ts
SPDXID: SPDXRef-36a1f544bb7034c088e4fc64cb2de546
FileChecksum: SHA1: d5ceabe577e20fa8f4dd66a1ee5087bbd56311ed
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/components/review-card.test.tsx
SPDXID: SPDXRef-52980218776a8807f51354375cdc869e
FileChecksum: SHA1: 6e7b230faff866b4eb190439b561dcd7be4439a4
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/components/review-card.tsx
SPDXID: SPDXRef-80028e45acf8ae6668b486fb67f3ef8a
FileChecksum: SHA1: 270a0a5a82d039156d8e0850cf47ca467b52c7cf
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/components/reviews-section.test.tsx
SPDXID: SPDXRef-4702ddf0784198639a8d441fbb37fc96
FileChecksum: SHA1: 20be82242ea9dc7b6563a50dc1efc91884c580a6
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/components/reviews-section.tsx
SPDXID: SPDXRef-6fcea2ea71483f8c841f3c786733b64a
FileChecksum: SHA1: dd48eb7457a12d350957cb5a6d472ed0005ed50b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/constants.ts
SPDXID: SPDXRef-03085edec523a38ff1b1330bca27e4aa
FileChecksum: SHA1: ff9ce40fa3b0fa01ecf751235d3d1cc06f80ef89
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/index.ts
SPDXID: SPDXRef-d0b3382860eb1665ced452e8a68ee384
FileChecksum: SHA1: 224995f267238ed84960a2d57c3a12eff25d8513
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/features/reviews/types.ts
SPDXID: SPDXRef-30e4d66d3eb74027246990353e914157
FileChecksum: SHA1: c88b358ae8dabbf0a719d1760a8b03293cff5105
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/instrumentation-client.ts
SPDXID: SPDXRef-022fc5fb36b0e3e22475b38a04193ba8
FileChecksum: SHA1: e6739dd86fa39a48359165a01e5c9bfecba5ab28
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/analytics/pageview-tracker.tsx
SPDXID: SPDXRef-173a935c6109b1c9091de37d5dce2470
FileChecksum: SHA1: efd0b2fe7cb0a5b069cd01ee9aa815300e1b2783
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/analytics/use-analytics.ts
SPDXID: SPDXRef-f841914fdc721d156f0d7c421875fca4
FileChecksum: SHA1: 83de41638ce99fb347e35c47d828bf157070e23c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/client.test.ts
SPDXID: SPDXRef-ec10a3a3a72eded5f5ca33bf8ee2a39b
FileChecksum: SHA1: 7062edb4b610bbf893d6292da10c85269867cf12
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/client.ts
SPDXID: SPDXRef-a0c54adfbecbbf585f703018b90771b8
FileChecksum: SHA1: 6847e8afe46295f458589f61f07229b4db4042fe
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/errors.ts
SPDXID: SPDXRef-25dd8a76d3767d1590007e6167b7e6a4
FileChecksum: SHA1: f9826e0fe4f8b1df4dd07acf1c6584c5981c65e1
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/index.ts
SPDXID: SPDXRef-a9892a50cd8d298649f790e0209d81e9
FileChecksum: SHA1: dcd260a73e69e531b4379c4f94700823ad72a548
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/middleware/errors.test.ts
SPDXID: SPDXRef-0198896e8a0466fe540701f0570c5cfc
FileChecksum: SHA1: 5e05f9b89b607a5b92ed1e7c72d3b674b4f5e6cf
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/middleware/errors.ts
SPDXID: SPDXRef-7500233dbec4022651c4dac394a03cb2
FileChecksum: SHA1: b2705b0040417b96fe5f34f4582b2a9cf1d9388a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/unwrap.test.ts
SPDXID: SPDXRef-6ed2103dbb34c7d0e2f6eca3ab117c94
FileChecksum: SHA1: d2b2b6769f7f6b5c5653373ca821fcb9f0cc8049
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/api/unwrap.ts
SPDXID: SPDXRef-3791251b2cceb2e0efc3975589bc2364
FileChecksum: SHA1: e329f5934a4b5a7d10d9f2a66496c03e3ed57fa3
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/constants.ts
SPDXID: SPDXRef-b62f7592898f5e47ee0c3c4a78af3419
FileChecksum: SHA1: d11156c0c6893ad5acea59b3d0ffc93a8395356d
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/song-preferences-store.test.ts
SPDXID: SPDXRef-64ce10b9068a383224c2458090b9fd32
FileChecksum: SHA1: f61ddfdf26d954c5d75a2dd2664aae69785774fc
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/song-preferences-store.ts
SPDXID: SPDXRef-17bfefd6552307331cf1195bc84f5b40
FileChecksum: SHA1: 582f9439e727afa384ffb2065030e8eb9eff22ff
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/utils.test.ts
SPDXID: SPDXRef-fac15d4291d724f43a9c31b8c52ab19e
FileChecksum: SHA1: 161a7cc29cb04706fa2ee516720a35e15fa70a1a
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/lib/utils.ts
SPDXID: SPDXRef-a5fa8f5e67e2e874bea10c68b71d8d1d
FileChecksum: SHA1: 764a8661622eb99acfc92f1ad1862eb6c251fa44
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/test/helpers/server.ts
SPDXID: SPDXRef-708e1f6a334154fd07cb24d9fa87f84d
FileChecksum: SHA1: ffcf460779989ce34574182d78c73bcc29a70820
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/test/setup.ts
SPDXID: SPDXRef-17ab11e1e84bf70cab84c876902c344f
FileChecksum: SHA1: 5012ea5f918113c5feb3559e104d170438d257a1
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/test/smoke.test.ts
SPDXID: SPDXRef-938b448f4b46da2bf406e8db98de743e
FileChecksum: SHA1: afb1183b63f7db1fe68c062979c440d66f6c180c
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/types/api.d.ts
SPDXID: SPDXRef-f1904a3671b7dd685d65e540e2d65fde
FileChecksum: SHA1: 79eb8c585154b5eeaba7c95df4b6bced33300ec1
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./src/types/ui.ts
SPDXID: SPDXRef-d536376977af1acb1bad33a1e0435313
FileChecksum: SHA1: a0fa6897e3ad581e8e0ed3a4444ab1360bab9da6
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./tsconfig.json
SPDXID: SPDXRef-9c0a273d0c4197ac97e73bb641dfaff1
FileChecksum: SHA1: c2a381ce4b5e5cf7d36a992da86886173bd2176f
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar
FileName: ./vitest.config.ts
SPDXID: SPDXRef-fc1989d1af73c6974450fe1781777b06
FileChecksum: SHA1: 4d1bd57d8133674a5561fe0e303421a532c7021b
LicenseConcluded: NOASSERTION
LicenseInfoInFile: AGPL-3.0-or-later
FileCopyrightText: SPDX-FileCopyrightText: 2026 Andrey Kotlyar