diff --git a/Pipfile b/Pipfile index b105eaa..64afb22 100644 --- a/Pipfile +++ b/Pipfile @@ -7,9 +7,9 @@ verify_ssl = true pytest = "==7.0.1" pylint = "==2.13.9" pytest-cov = "==3.0.0" -cython = "==0.29.30" twine = "==3.7.1" setuptools = "==59.6.0" +cython = "==0.29.30" [packages] wheel = ">=0.37.1" diff --git a/Pipfile.lock b/Pipfile.lock index ba8ce38..37495ed 100644 --- a/Pipfile.lock +++ b/Pipfile.lock @@ -1,7 +1,7 @@ { "_meta": { "hash": { - "sha256": "e1d38c5b46ffcc31b5d6c76f271872f6f82f44a18b99b00fe54135fedf9b60dd" + "sha256": "14fabe58d787a63d8216f5de193376d1d2f7c63d3725dfdf7aa35c56c81eeb74" }, "pipfile-spec": 6, "requires": {}, @@ -16,554 +16,563 @@ "default": { "numpy": { "hashes": [ - "sha256:043e83bfc274649c82a6f09836943e4a4aebe5e33656271c7dbf9621dd58b8ec", - "sha256:160ccc1bed3a8371bf0d760971f09bfe80a3e18646620e9ded0ad159d9749baa", - "sha256:188031f833bbb623637e66006cf75e933e00e7231f67e2b45cf8189612bb5dc3", - "sha256:28f15209fb535dd4c504a7762d3bc440779b0e37d50ed810ced209e5cea60d96", - "sha256:29fb3dcd0468b7715f8ce2c0c2d9bbbaf5ae686334951343a41bd8d155c6ea27", - "sha256:2a6ee9620061b2a722749b391c0d80a0e2ae97290f1b32e28d5a362e21941ee4", - "sha256:300321e3985c968e3ae7fbda187237b225f3ffe6528395a5b7a5407f73cf093e", - "sha256:32437f0b275c1d09d9c3add782516413e98cd7c09e6baf4715cbce781fc29912", - "sha256:3c09418a14471c7ae69ba682e2428cae5b4420a766659605566c0fa6987f6b7e", - "sha256:49c6249260890e05b8111ebfc391ed58b3cb4b33e63197b2ec7f776e45330721", - "sha256:4cc9b512e9fb590797474f58b7f6d1f1b654b3a94f4fa8558b48ca8b3cfc97cf", - "sha256:508b0b513fa1266875524ba8a9ecc27b02ad771fe1704a16314dc1a816a68737", - "sha256:50cd26b0cf6664cb3b3dd161ba0a09c9c1343db064e7c69f9f8b551f5104d654", - "sha256:5c4193f70f8069550a1788bd0cd3268ab7d3a2b70583dfe3b2e7f421e9aace06", - "sha256:5dfe9d6a4c39b8b6edd7990091fea4f852888e41919d0e6722fe78dd421db0eb", - "sha256:63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e", - "sha256:75621882d2230ab77fb6a03d4cbccd2038511491076e7964ef87306623aa5272", - "sha256:75eb7cadc8da49302f5b659d40ba4f6d94d5045fbd9569c9d058e77b0514c9e4", - "sha256:88a5d6b268e9ad18f3533e184744acdaa2e913b13148160b1152300c949bbb5f", - "sha256:8a10968963640e75cc0193e1847616ab4c718e83b6938ae74dea44953950f6b7", - "sha256:90bec6a86b348b4559b6482e2b684db4a9a7eed1fa054b86115a48d58fbbf62a", - "sha256:98339aa9911853f131de11010f6dd94c8cec254d3d1f7261528c3b3e3219f139", - "sha256:a99a6b067e5190ac6d12005a4d85aa6227c5606fa93211f86b1dafb16233e57d", - "sha256:bffa2eee3b87376cc6b31eee36d05349571c236d1de1175b804b348dc0941e3f", - "sha256:c6c2d535a7beb1f8790aaa98fd089ceab2e3dd7ca48aca0af7dc60e6ef93ffe1", - "sha256:cc14e7519fab2a4ed87d31f99c31a3796e4e1fe63a86ebdd1c5a1ea78ebd5896", - "sha256:dd0482f3fc547f1b1b5d6a8b8e08f63fdc250c58ce688dedd8851e6e26cff0f3", - "sha256:dde972a1e11bb7b702ed0e447953e7617723760f420decb97305e66fb4afc54f", - "sha256:e54af82d68ef8255535a6cdb353f55d6b8cf418a83e2be3569243787a4f4866f", - "sha256:e606e6316911471c8d9b4618e082635cfe98876007556e89ce03d52ff5e8fcf0", - "sha256:f41b018f126aac18583956c54544db437f25c7ee4794bcb23eb38bef8e5e192a", - "sha256:f8f4625536926a155b80ad2bbff44f8cc59e9f2ad14cdda7acf4c135b4dc8ff2", - "sha256:fe52dbe47d9deb69b05084abd4b0df7abb39a3c51957c09f635520abd49b29dd" - ], - "markers": "python_version < '3.10' and platform_machine != 'aarch64' and platform_machine != 'arm64'", - "version": "==1.21.3" + "sha256:17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0", + "sha256:2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f", + "sha256:4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0", + "sha256:5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde", + "sha256:5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913", + "sha256:633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8", + "sha256:806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38", + "sha256:806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6", + "sha256:8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842", + "sha256:8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414", + "sha256:8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e", + "sha256:8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074", + "sha256:909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f", + "sha256:9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d", + "sha256:ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418", + "sha256:b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01", + "sha256:b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215", + "sha256:bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66", + "sha256:bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5", + "sha256:be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389", + "sha256:c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77", + "sha256:cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c", + "sha256:d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722", + "sha256:dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c", + "sha256:dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d", + "sha256:df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450", + "sha256:e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5", + "sha256:ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524" + ], + "markers": "platform_machine != 'aarch64' and platform_machine != 'arm64' and python_version < '3.10'", + "version": "==1.23.2" }, "pandas": { "hashes": [ - "sha256:003ba92db58b71a5f8add604a17a059f3068ef4e8c0c365b088468d0d64935fd", - "sha256:10e10a2527db79af6e830c3d5842a4d60383b162885270f8cffc15abca4ba4a9", - "sha256:22808afb8f96e2269dcc5b846decacb2f526dd0b47baebc63d913bf847317c8f", - "sha256:2d1dc09c0013d8faa7474574d61b575f9af6257ab95c93dcf33a14fd8d2c1bab", - "sha256:35c77609acd2e4d517da41bae0c11c70d31c87aae8dd1aabd2670906c6d2c143", - "sha256:372d72a3d8a5f2dbaf566a5fa5fa7f230842ac80f29a931fb4b071502cf86b9a", - "sha256:42493f8ae67918bf129869abea8204df899902287a7f5eaf596c8e54e0ac7ff4", - "sha256:4acc28364863127bca1029fb72228e6f473bb50c32e77155e80b410e2068eeac", - "sha256:5298a733e5bfbb761181fd4672c36d0c627320eb999c59c65156c6a90c7e1b4f", - "sha256:5ba0aac1397e1d7b654fccf263a4798a9e84ef749866060d19e577e927d66e1b", - "sha256:9707bdc1ea9639c886b4d3be6e2a45812c1ac0c2080f94c31b71c9fa35556f9b", - "sha256:a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc", - "sha256:a388960f979665b447f0847626e40f99af8cf191bce9dc571d716433130cb3a7", - "sha256:a51528192755f7429c5bcc9e80832c517340317c861318fea9cea081b57c9afd", - "sha256:b528e126c13816a4374e56b7b18bfe91f7a7f6576d1aadba5dee6a87a7f479ae", - "sha256:c1aa4de4919358c5ef119f6377bc5964b3a7023c23e845d9db7d9016fa0c5b1c", - "sha256:c2646458e1dce44df9f71a01dc65f7e8fa4307f29e5c0f2f92c97f47a5bf22f5", - "sha256:c2f44425594ae85e119459bb5abb0748d76ef01d9c08583a667e3339e134218e", - "sha256:d47750cf07dee6b55d8423471be70d627314277976ff2edd1381f02d52dbadf9", - "sha256:d99d2350adb7b6c3f7f8f0e5dfb7d34ff8dd4bc0a53e62c445b7e43e163fce63", - "sha256:dd324f8ee05925ee85de0ea3f0d66e1362e8c80799eb4eb04927d32335a3e44a", - "sha256:eaca36a80acaacb8183930e2e5ad7f71539a66805d6204ea88736570b2876a7b", - "sha256:f567e972dce3bbc3a8076e0b675273b4a9e8576ac629149cf8286ee13c259ae5", - "sha256:fe48e4925455c964db914b958f6e7032d285848b7538a5e1b19aeb26ffaea3ec" + "sha256:07238a58d7cbc8a004855ade7b75bbd22c0db4b0ffccc721556bab8a095515f6", + "sha256:0daf876dba6c622154b2e6741f29e87161f844e64f84801554f879d27ba63c0d", + "sha256:16ad23db55efcc93fa878f7837267973b61ea85d244fc5ff0ccbcfa5638706c5", + "sha256:1d9382f72a4f0e93909feece6fef5500e838ce1c355a581b3d8f259839f2ea76", + "sha256:24ea75f47bbd5574675dae21d51779a4948715416413b30614c1e8b480909f81", + "sha256:2893e923472a5e090c2d5e8db83e8f907364ec048572084c7d10ef93546be6d1", + "sha256:2ff7788468e75917574f080cd4681b27e1a7bf36461fe968b49a87b5a54d007c", + "sha256:41fc406e374590a3d492325b889a2686b31e7a7780bec83db2512988550dadbf", + "sha256:48350592665ea3cbcd07efc8c12ff12d89be09cd47231c7925e3b8afada9d50d", + "sha256:605d572126eb4ab2eadf5c59d5d69f0608df2bf7bcad5c5880a47a20a0699e3e", + "sha256:6dfbf16b1ea4f4d0ee11084d9c026340514d1d30270eaa82a9f1297b6c8ecbf0", + "sha256:6f803320c9da732cc79210d7e8cc5c8019aad512589c910c66529eb1b1818230", + "sha256:721a3dd2f06ef942f83a819c0f3f6a648b2830b191a72bbe9451bcd49c3bd42e", + "sha256:755679c49460bd0d2f837ab99f0a26948e68fa0718b7e42afbabd074d945bf84", + "sha256:78b00429161ccb0da252229bcda8010b445c4bf924e721265bec5a6e96a92e92", + "sha256:958a0588149190c22cdebbc0797e01972950c927a11a900fe6c2296f207b1d6f", + "sha256:a3924692160e3d847e18702bb048dc38e0e13411d2b503fecb1adf0fcf950ba4", + "sha256:d51674ed8e2551ef7773820ef5dab9322be0828629f2cbf8d1fc31a0c4fed640", + "sha256:d5ebc990bd34f4ac3c73a2724c2dcc9ee7bf1ce6cf08e87bb25c6ad33507e318", + "sha256:d6c0106415ff1a10c326c49bc5dd9ea8b9897a6ca0c8688eb9c30ddec49535ef", + "sha256:e48fbb64165cda451c06a0f9e4c7a16b534fcabd32546d531b3c240ce2844112" ], "index": "pypi", - "version": "==1.3.4" + "version": "==1.4.3" }, "python-dateutil": { "hashes": [ "sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86", "sha256:961d03dc3453ebbc59dbdea9e4e11c5651520a876d0f4db161e8674aae935da9" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==2.8.2" }, "pytz": { "hashes": [ - "sha256:3672058bc3453457b622aab7a1c3bfd5ab0bdae451512f6cf25f64ed37f5b87c", - "sha256:acad2d8b20a1af07d4e4c9d2e9285c5ed9104354062f275f3fcd88dcef4f1326" + "sha256:220f481bdafa09c3955dfbdddb7b57780e9a94f5127e35456a48589b9e0c0197", + "sha256:cea221417204f2d1a2aa03ddae3e867921971d0d76f14d87abb4414415bbdcf5" ], - "version": "==2021.3" + "version": "==2022.2.1" }, "scipy": { "hashes": [ - "sha256:2a0eeaab01258e0870c4022a6cd329aef3b7c6c2b606bd7cf7bb2ba9820ae561", - "sha256:3304bd5bc32e00954ac4b3f4cc382ca8824719bf348aacbec6347337d6b125fe", - "sha256:3f52470e0548cdb74fb8ddf06773ffdcca7c97550f903b1c51312ec19243a7f7", - "sha256:4729b41a4cdaf4cd011aeac816b532f990bdf97710cef59149d3e293115cf467", - "sha256:4ee952f39a4a4c7ba775a32b664b1f4b74818548b65f765987adc14bb78f5802", - "sha256:611f9cb459d0707dd8e4de0c96f86e93f61aac7475fcb225e9ec71fecdc5cebf", - "sha256:6b47d5fa7ea651054362561a28b1ccc8da9368a39514c1bbf6c0977a1c376764", - "sha256:71cfc96297617eab911e22216e8a8597703202e95636d9406df9af5c2ac99a2b", - "sha256:787749110a23502031fb1643c55a2236c99c6b989cca703ea2114d65e21728ef", - "sha256:90c07ba5f34f33299a428b0d4fa24c30d2ceba44d63f8385b2b05be460819fcb", - "sha256:a496b42dbcd04ea9924f5e92be63af3d8e0f43a274b769bfaca0a297327d54ee", - "sha256:bc61e3e5ff92d2f32bb263621d54a9cff5e3f7c420af3d1fa122ce2529de2bd9", - "sha256:c9951e3746b68974125e5e3445008a4163dd6d20ae0bbdae22b38cb8951dc11b", - "sha256:d1388fbac9dd591ea630da75c455f4cc637a7ca5ecb31a6b6cef430914749cde", - "sha256:d13f31457f2216e5705304d9f28e2826edf75487410a57aa99263fa4ffd792c2", - "sha256:d648aa85dd5074b1ed83008ae987c3fbb53d68af619fce1dee231f4d8bd40e2f", - "sha256:da9c6b336e540def0b7fd65603da8abeb306c5fc9a5f4238665cbbb5ff95cf58", - "sha256:e101bceeb9e65a90dadbc5ca31283403a2d4667b9c178db29109750568e8d112", - "sha256:efdd3825d54c58df2cc394366ca4b9166cf940a0ebddeb87b6c10053deb625ea" + "sha256:01c2015e132774feefe059d5354055fec6b751d7a7d70ad2cf5ce314e7426e2a", + "sha256:0424d1bbbfa51d5ddaa16d067fd593863c9f2fb7c6840c32f8a08a8832f8e7a4", + "sha256:10417935486b320d98536d732a58362e3d37e84add98c251e070c59a6bfe0863", + "sha256:12005d30894e4fe7b247f7233ba0801a341f887b62e2eb99034dd6f2a8a33ad6", + "sha256:16207622570af10f9e6a2cdc7da7a9660678852477adbcd056b6d1057a036fef", + "sha256:45f0d6c0d6e55582d3b8f5c58ad4ca4259a02affb190f89f06c8cc02e21bba81", + "sha256:5d1b9cf3771fd921f7213b4b886ab2606010343bb36259b544a816044576d69e", + "sha256:693b3fe2e7736ce0dbc72b4d933798eb6ca8ce51b8b934e3f547cc06f48b2afb", + "sha256:73b704c5eea9be811919cae4caacf3180dd9212d9aed08477c1d2ba14900a9de", + "sha256:79dd7876614fc2869bf5d311ef33962d2066ea888bc66c80fd4fa80f8772e5a9", + "sha256:7bad16b91918bf3288089a78a4157e04892ea6475fb7a1d9bcdf32c30c8a3dba", + "sha256:8d541db2d441ef87afb60c4a2addb00c3af281633602a4967e733ef4b7050504", + "sha256:8f2232c9d9119ec356240255a715a289b3a33be828c3e4abac11fd052ce15b1e", + "sha256:97a1f1e51ea30782d7baa8d0c52f72c3f9f05cb609cf1b990664231c5102bccd", + "sha256:adb6c438c6ef550e2bb83968e772b9690cb421f2c6073f9c2cb6af15ee538bc9", + "sha256:bb687d245b6963673c639f318eea7e875d1ba147a67925586abed3d6f39bb7d8", + "sha256:bd490f77f35800d5620f4d9af669e372d9a88db1f76ef219e1609cc4ecdd1a24", + "sha256:c0dfd7d2429452e7e94904c6a3af63cbaa3cf51b348bd9d35b42db7e9ad42791", + "sha256:d3a326673ac5afa9ef5613a61626b9ec15c8f7222b4ecd1ce0fd8fcba7b83c59", + "sha256:e2004d2a3c397b26ca78e67c9d320153a1a9b71ae713ad33f4a3a3ab3d79cc65", + "sha256:e2ac088ea4aa61115b96b47f5f3d94b3fa29554340b6629cd2bfe6b0521ee33b", + "sha256:f7c3c578ff556333f3890c2df6c056955d53537bb176698359088108af73a58f", + "sha256:fc58c3fcb8a724b703ffbc126afdca5a8353d4d5945d5c92db85617e165299e7" ], "index": "pypi", - "version": "==1.7.1" + "version": "==1.9.0" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" + }, + "wheel": { + "hashes": [ + "sha256:4bdcd7d840138086126cd09254dc6195fb4fc6f01c050a1d7236f2630db1d22a", + "sha256:e9a504e793efbca1b8e0e9cb979a249cf4a0a7b5b8c9e8b65a5e39d49529c1c4" + ], + "index": "pypi", + "version": "==0.37.1" } }, "develop": { "astroid": { "hashes": [ - "sha256:0755c998e7117078dcb7d0bda621391dd2a85da48052d948c7411ab187325346", - "sha256:1e83a69fd51b013ebf5912d26b9338d6643a55fec2f20c787792680610eed4a2" + "sha256:86b0a340a512c65abf4368b80252754cda17c02cdbbd3f587dddf98112233e7b", + "sha256:bb24615c77f4837c707669d16907331374ae8a964650a66999da3f5ca68dc946" ], - "markers": "python_version ~= '3.6'", - "version": "==2.8.4" - }, - "atomicwrites": { - "hashes": [ - "sha256:6d1784dea7c0c8d4a5172b6c620f40b6e4cbfdf96d783691f2e1302a7b88e197", - "sha256:ae70396ad1a434f9c7046fd2dd196fc04b12f9e91ffb859164193be8b6168a7a" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.4.0" + "version": "==2.11.7" }, "attrs": { "hashes": [ - "sha256:149e90d6d8ac20db7a955ad60cf0e6881a3f20d37096140088356da6c716b0b1", - "sha256:ef6aaac3ca6cd92904cdd0d83f629a15f18053ec84e6432106f7a4d04ae4f5fb" + "sha256:29adc2665447e5191d0e7c568fde78b21f9672d344281d0c6e1ab085429b22b6", + "sha256:86efa402f67bf2df34f51a335487cf46b1ec130d02b8d39fd248abfd30da551c" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==21.2.0" + "version": "==22.1.0" }, "bleach": { "hashes": [ - "sha256:0900d8b37eba61a802ee40ac0061f8c2b5dee29c1927dd1d233e075ebf5a71da", - "sha256:4d2651ab93271d1129ac9cbc679f524565cc8a1b791909c4a51eac4446a15994" + "sha256:085f7f33c15bd408dd9b17a4ad77c577db66d76203e5984b1bd59baeee948b2a", + "sha256:0d03255c47eb9bd2f26aa9bb7f2107732e7e8fe195ca2f64709fcf3b0a4a085c" ], - "markers": "python_version >= '3.6'", - "version": "==4.1.0" + "version": "==5.0.1" }, "certifi": { "hashes": [ - "sha256:78884e7c1d4b00ce3cea67b44566851c4343c120abd683433ce934a68ea58872", - "sha256:d62a0163eb4c2344ac042ab2bdf75399a71a2d8c7d47eac2e2ee91b9d6339569" + "sha256:84c85a9078b11105f04f3036a9482ae10e4621616db313fe045dd24743a0820d", + "sha256:fe86415d55e84719d75f8b69414f6438ac3547d2078ab91b67e779ef69378412" ], - "version": "==2021.10.8" + "version": "==2022.6.15" }, "cffi": { "hashes": [ - "sha256:00c878c90cb53ccfaae6b8bc18ad05d2036553e6d9d1d9dbcf323bbe83854ca3", - "sha256:0104fb5ae2391d46a4cb082abdd5c69ea4eab79d8d44eaaf79f1b1fd806ee4c2", - "sha256:06c48159c1abed75c2e721b1715c379fa3200c7784271b3c46df01383b593636", - "sha256:0808014eb713677ec1292301ea4c81ad277b6cdf2fdd90fd540af98c0b101d20", - "sha256:10dffb601ccfb65262a27233ac273d552ddc4d8ae1bf93b21c94b8511bffe728", - "sha256:14cd121ea63ecdae71efa69c15c5543a4b5fbcd0bbe2aad864baca0063cecf27", - "sha256:17771976e82e9f94976180f76468546834d22a7cc404b17c22df2a2c81db0c66", - "sha256:181dee03b1170ff1969489acf1c26533710231c58f95534e3edac87fff06c443", - "sha256:23cfe892bd5dd8941608f93348c0737e369e51c100d03718f108bf1add7bd6d0", - "sha256:263cc3d821c4ab2213cbe8cd8b355a7f72a8324577dc865ef98487c1aeee2bc7", - "sha256:2756c88cbb94231c7a147402476be2c4df2f6078099a6f4a480d239a8817ae39", - "sha256:27c219baf94952ae9d50ec19651a687b826792055353d07648a5695413e0c605", - "sha256:2a23af14f408d53d5e6cd4e3d9a24ff9e05906ad574822a10563efcef137979a", - "sha256:31fb708d9d7c3f49a60f04cf5b119aeefe5644daba1cd2a0fe389b674fd1de37", - "sha256:3415c89f9204ee60cd09b235810be700e993e343a408693e80ce7f6a40108029", - "sha256:3773c4d81e6e818df2efbc7dd77325ca0dcb688116050fb2b3011218eda36139", - "sha256:3b96a311ac60a3f6be21d2572e46ce67f09abcf4d09344c49274eb9e0bf345fc", - "sha256:3f7d084648d77af029acb79a0ff49a0ad7e9d09057a9bf46596dac9514dc07df", - "sha256:41d45de54cd277a7878919867c0f08b0cf817605e4eb94093e7516505d3c8d14", - "sha256:4238e6dab5d6a8ba812de994bbb0a79bddbdf80994e4ce802b6f6f3142fcc880", - "sha256:45db3a33139e9c8f7c09234b5784a5e33d31fd6907800b316decad50af323ff2", - "sha256:45e8636704eacc432a206ac7345a5d3d2c62d95a507ec70d62f23cd91770482a", - "sha256:4958391dbd6249d7ad855b9ca88fae690783a6be9e86df65865058ed81fc860e", - "sha256:4a306fa632e8f0928956a41fa8e1d6243c71e7eb59ffbd165fc0b41e316b2474", - "sha256:57e9ac9ccc3101fac9d6014fba037473e4358ef4e89f8e181f8951a2c0162024", - "sha256:59888172256cac5629e60e72e86598027aca6bf01fa2465bdb676d37636573e8", - "sha256:5e069f72d497312b24fcc02073d70cb989045d1c91cbd53979366077959933e0", - "sha256:64d4ec9f448dfe041705426000cc13e34e6e5bb13736e9fd62e34a0b0c41566e", - "sha256:6dc2737a3674b3e344847c8686cf29e500584ccad76204efea14f451d4cc669a", - "sha256:74fdfdbfdc48d3f47148976f49fab3251e550a8720bebc99bf1483f5bfb5db3e", - "sha256:75e4024375654472cc27e91cbe9eaa08567f7fbdf822638be2814ce059f58032", - "sha256:786902fb9ba7433aae840e0ed609f45c7bcd4e225ebb9c753aa39725bb3e6ad6", - "sha256:8b6c2ea03845c9f501ed1313e78de148cd3f6cad741a75d43a29b43da27f2e1e", - "sha256:91d77d2a782be4274da750752bb1650a97bfd8f291022b379bb8e01c66b4e96b", - "sha256:91ec59c33514b7c7559a6acda53bbfe1b283949c34fe7440bcf917f96ac0723e", - "sha256:920f0d66a896c2d99f0adbb391f990a84091179542c205fa53ce5787aff87954", - "sha256:a5263e363c27b653a90078143adb3d076c1a748ec9ecc78ea2fb916f9b861962", - "sha256:abb9a20a72ac4e0fdb50dae135ba5e77880518e742077ced47eb1499e29a443c", - "sha256:c2051981a968d7de9dd2d7b87bcb9c939c74a34626a6e2f8181455dd49ed69e4", - "sha256:c21c9e3896c23007803a875460fb786118f0cdd4434359577ea25eb556e34c55", - "sha256:c2502a1a03b6312837279c8c1bd3ebedf6c12c4228ddbad40912d671ccc8a962", - "sha256:d4d692a89c5cf08a8557fdeb329b82e7bf609aadfaed6c0d79f5a449a3c7c023", - "sha256:da5db4e883f1ce37f55c667e5c0de439df76ac4cb55964655906306918e7363c", - "sha256:e7022a66d9b55e93e1a845d8c9eba2a1bebd4966cd8bfc25d9cd07d515b33fa6", - "sha256:ef1f279350da2c586a69d32fc8733092fd32cc8ac95139a00377841f59a3f8d8", - "sha256:f54a64f8b0c8ff0b64d18aa76675262e1700f3995182267998c31ae974fbc382", - "sha256:f5c7150ad32ba43a07c4479f40241756145a1f03b43480e058cfd862bf5041c7", - "sha256:f6f824dc3bce0edab5f427efcfb1d63ee75b6fcb7282900ccaf925be84efb0fc", - "sha256:fd8a250edc26254fe5b33be00402e6d287f562b6a5b2152dec302fa15bb3e997", - "sha256:ffaa5c925128e29efbde7301d8ecaf35c8c60ffbcd6a1ffd3a552177c8e5e796" - ], - "version": "==1.15.0" + "sha256:00a9ed42e88df81ffae7a8ab6d9356b371399b91dbdf0c3cb1e84c03a13aceb5", + "sha256:03425bdae262c76aad70202debd780501fabeaca237cdfddc008987c0e0f59ef", + "sha256:04ed324bda3cda42b9b695d51bb7d54b680b9719cfab04227cdd1e04e5de3104", + "sha256:0e2642fe3142e4cc4af0799748233ad6da94c62a8bec3a6648bf8ee68b1c7426", + "sha256:173379135477dc8cac4bc58f45db08ab45d228b3363adb7af79436135d028405", + "sha256:198caafb44239b60e252492445da556afafc7d1e3ab7a1fb3f0584ef6d742375", + "sha256:1e74c6b51a9ed6589199c787bf5f9875612ca4a8a0785fb2d4a84429badaf22a", + "sha256:2012c72d854c2d03e45d06ae57f40d78e5770d252f195b93f581acf3ba44496e", + "sha256:21157295583fe8943475029ed5abdcf71eb3911894724e360acff1d61c1d54bc", + "sha256:2470043b93ff09bf8fb1d46d1cb756ce6132c54826661a32d4e4d132e1977adf", + "sha256:285d29981935eb726a4399badae8f0ffdff4f5050eaa6d0cfc3f64b857b77185", + "sha256:30d78fbc8ebf9c92c9b7823ee18eb92f2e6ef79b45ac84db507f52fbe3ec4497", + "sha256:320dab6e7cb2eacdf0e658569d2575c4dad258c0fcc794f46215e1e39f90f2c3", + "sha256:33ab79603146aace82c2427da5ca6e58f2b3f2fb5da893ceac0c42218a40be35", + "sha256:3548db281cd7d2561c9ad9984681c95f7b0e38881201e157833a2342c30d5e8c", + "sha256:3799aecf2e17cf585d977b780ce79ff0dc9b78d799fc694221ce814c2c19db83", + "sha256:39d39875251ca8f612b6f33e6b1195af86d1b3e60086068be9cc053aa4376e21", + "sha256:3b926aa83d1edb5aa5b427b4053dc420ec295a08e40911296b9eb1b6170f6cca", + "sha256:3bcde07039e586f91b45c88f8583ea7cf7a0770df3a1649627bf598332cb6984", + "sha256:3d08afd128ddaa624a48cf2b859afef385b720bb4b43df214f85616922e6a5ac", + "sha256:3eb6971dcff08619f8d91607cfc726518b6fa2a9eba42856be181c6d0d9515fd", + "sha256:40f4774f5a9d4f5e344f31a32b5096977b5d48560c5592e2f3d2c4374bd543ee", + "sha256:4289fc34b2f5316fbb762d75362931e351941fa95fa18789191b33fc4cf9504a", + "sha256:470c103ae716238bbe698d67ad020e1db9d9dba34fa5a899b5e21577e6d52ed2", + "sha256:4f2c9f67e9821cad2e5f480bc8d83b8742896f1242dba247911072d4fa94c192", + "sha256:50a74364d85fd319352182ef59c5c790484a336f6db772c1a9231f1c3ed0cbd7", + "sha256:54a2db7b78338edd780e7ef7f9f6c442500fb0d41a5a4ea24fff1c929d5af585", + "sha256:5635bd9cb9731e6d4a1132a498dd34f764034a8ce60cef4f5319c0541159392f", + "sha256:59c0b02d0a6c384d453fece7566d1c7e6b7bae4fc5874ef2ef46d56776d61c9e", + "sha256:5d598b938678ebf3c67377cdd45e09d431369c3b1a5b331058c338e201f12b27", + "sha256:5df2768244d19ab7f60546d0c7c63ce1581f7af8b5de3eb3004b9b6fc8a9f84b", + "sha256:5ef34d190326c3b1f822a5b7a45f6c4535e2f47ed06fec77d3d799c450b2651e", + "sha256:6975a3fac6bc83c4a65c9f9fcab9e47019a11d3d2cf7f3c0d03431bf145a941e", + "sha256:6c9a799e985904922a4d207a94eae35c78ebae90e128f0c4e521ce339396be9d", + "sha256:70df4e3b545a17496c9b3f41f5115e69a4f2e77e94e1d2a8e1070bc0c38c8a3c", + "sha256:7473e861101c9e72452f9bf8acb984947aa1661a7704553a9f6e4baa5ba64415", + "sha256:8102eaf27e1e448db915d08afa8b41d6c7ca7a04b7d73af6514df10a3e74bd82", + "sha256:87c450779d0914f2861b8526e035c5e6da0a3199d8f1add1a665e1cbc6fc6d02", + "sha256:8b7ee99e510d7b66cdb6c593f21c043c248537a32e0bedf02e01e9553a172314", + "sha256:91fc98adde3d7881af9b59ed0294046f3806221863722ba7d8d120c575314325", + "sha256:94411f22c3985acaec6f83c6df553f2dbe17b698cc7f8ae751ff2237d96b9e3c", + "sha256:98d85c6a2bef81588d9227dde12db8a7f47f639f4a17c9ae08e773aa9c697bf3", + "sha256:9ad5db27f9cabae298d151c85cf2bad1d359a1b9c686a275df03385758e2f914", + "sha256:a0b71b1b8fbf2b96e41c4d990244165e2c9be83d54962a9a1d118fd8657d2045", + "sha256:a0f100c8912c114ff53e1202d0078b425bee3649ae34d7b070e9697f93c5d52d", + "sha256:a591fe9e525846e4d154205572a029f653ada1a78b93697f3b5a8f1f2bc055b9", + "sha256:a5c84c68147988265e60416b57fc83425a78058853509c1b0629c180094904a5", + "sha256:a66d3508133af6e8548451b25058d5812812ec3798c886bf38ed24a98216fab2", + "sha256:a8c4917bd7ad33e8eb21e9a5bbba979b49d9a97acb3a803092cbc1133e20343c", + "sha256:b3bbeb01c2b273cca1e1e0c5df57f12dce9a4dd331b4fa1635b8bec26350bde3", + "sha256:cba9d6b9a7d64d4bd46167096fc9d2f835e25d7e4c121fb2ddfc6528fb0413b2", + "sha256:cc4d65aeeaa04136a12677d3dd0b1c0c94dc43abac5860ab33cceb42b801c1e8", + "sha256:ce4bcc037df4fc5e3d184794f27bdaab018943698f4ca31630bc7f84a7b69c6d", + "sha256:cec7d9412a9102bdc577382c3929b337320c4c4c4849f2c5cdd14d7368c5562d", + "sha256:d400bfb9a37b1351253cb402671cea7e89bdecc294e8016a707f6d1d8ac934f9", + "sha256:d61f4695e6c866a23a21acab0509af1cdfd2c013cf256bbf5b6b5e2695827162", + "sha256:db0fbb9c62743ce59a9ff687eb5f4afbe77e5e8403d6697f7446e5f609976f76", + "sha256:dd86c085fae2efd48ac91dd7ccffcfc0571387fe1193d33b6394db7ef31fe2a4", + "sha256:e00b098126fd45523dd056d2efba6c5a63b71ffe9f2bbe1a4fe1716e1d0c331e", + "sha256:e229a521186c75c8ad9490854fd8bbdd9a0c9aa3a524326b55be83b54d4e0ad9", + "sha256:e263d77ee3dd201c3a142934a086a4450861778baaeeb45db4591ef65550b0a6", + "sha256:ed9cb427ba5504c1dc15ede7d516b84757c3e3d7868ccc85121d9310d27eed0b", + "sha256:fa6693661a4c91757f4412306191b6dc88c1703f780c8234035eac011922bc01", + "sha256:fcd131dd944808b5bdb38e6f5b53013c5aa4f334c5cad0c72742f6eba4b73db0" + ], + "version": "==1.15.1" }, "charset-normalizer": { "hashes": [ - "sha256:e019de665e2bcf9c2b64e2e5aa025fa991da8720daa3c1138cadd2fd1856aed0", - "sha256:f7af805c321bfa1ce6714c51f254e0d5bb5e5834039bc17db7ebe3a4cec9492b" + "sha256:5189b6f22b01957427f35b6a08d9a0bc45b46d3788ef5a92e978433c7a35f8a5", + "sha256:575e708016ff3a5e3681541cb9d79312c416835686d054a23accb873b254f413" ], - "markers": "python_version >= '3'", - "version": "==2.0.7" + "version": "==2.1.0" }, "colorama": { "hashes": [ - "sha256:5941b2b48a20143d2267e95b1c2a7603ce057ee39fd88e7329b0c292aa16869b", - "sha256:9f47eda37229f68eee03b24b9748937c7dc3868f906e8ba69fbcbdd3bc5dc3e2" + "sha256:854bf444933e37f5824ae7bfc1e98d5bce2ebe4160d46b5edf346a89358e99da", + "sha256:e6c6b4334fc50988a639d9b98aa429a0b57da6e17b9a44f0451f930b6967b7a4" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.4.4" + "version": "==0.4.5" }, "coverage": { "hashes": [ - "sha256:0147f7833c41927d84f5af9219d9b32f875c0689e5e74ac8ca3cb61e73a698f9", - "sha256:04a92a6cf9afd99f9979c61348ec79725a9f9342fb45e63c889e33c04610d97b", - "sha256:10ab138b153e4cc408b43792cb7f518f9ee02f4ff55cd1ab67ad6fd7e9905c7e", - "sha256:2e5b9c17a56b8bf0c0a9477fcd30d357deb486e4e1b389ed154f608f18556c8a", - "sha256:326d944aad0189603733d646e8d4a7d952f7145684da973c463ec2eefe1387c2", - "sha256:359a32515e94e398a5c0fa057e5887a42e647a9502d8e41165cf5cb8d3d1ca67", - "sha256:35cd2230e1ed76df7d0081a997f0fe705be1f7d8696264eb508076e0d0b5a685", - "sha256:3b270c6b48d3ff5a35deb3648028ba2643ad8434b07836782b1139cf9c66313f", - "sha256:42a1fb5dee3355df90b635906bb99126faa7936d87dfc97eacc5293397618cb7", - "sha256:479228e1b798d3c246ac89b09897ee706c51b3e5f8f8d778067f38db73ccc717", - "sha256:4cd919057636f63ab299ccb86ea0e78b87812400c76abab245ca385f17d19fb5", - "sha256:4d8b453764b9b26b0dd2afb83086a7c3f9379134e340288d2a52f8a91592394b", - "sha256:51a441011a30d693e71dea198b2a6f53ba029afc39f8e2aeb5b77245c1b282ef", - "sha256:557594a50bfe3fb0b1b57460f6789affe8850ad19c1acf2d14a3e12b2757d489", - "sha256:572f917267f363101eec375c109c9c1118037c7cc98041440b5eabda3185ac7b", - "sha256:62512c0ec5d307f56d86504c58eace11c1bc2afcdf44e3ff20de8ca427ca1d0e", - "sha256:65ad3ff837c89a229d626b8004f0ee32110f9bfdb6a88b76a80df36ccc60d926", - "sha256:666c6b32b69e56221ad1551d377f718ed00e6167c7a1b9257f780b105a101271", - "sha256:6e994003e719458420e14ffb43c08f4c14990e20d9e077cb5cad7a3e419bbb54", - "sha256:72bf437d54186d104388cbae73c9f2b0f8a3e11b6e8d7deb593bd14625c96026", - "sha256:738e823a746841248b56f0f3bd6abf3b73af191d1fd65e4c723b9c456216f0ad", - "sha256:78287731e3601ea5ce9d6468c82d88a12ef8fe625d6b7bdec9b45d96c1ad6533", - "sha256:7833c872718dc913f18e51ee97ea0dece61d9930893a58b20b3daf09bb1af6b6", - "sha256:7e083d32965d2eb6638a77e65b622be32a094fdc0250f28ce6039b0732fbcaa8", - "sha256:8186b5a4730c896cbe1e4b645bdc524e62d874351ae50e1db7c3e9f5dc81dc26", - "sha256:8605add58e6a960729aa40c0fd9a20a55909dd9b586d3e8104cc7f45869e4c6b", - "sha256:977ce557d79577a3dd510844904d5d968bfef9489f512be65e2882e1c6eed7d8", - "sha256:994ce5a7b3d20981b81d83618aa4882f955bfa573efdbef033d5632b58597ba9", - "sha256:9ad5895938a894c368d49d8470fe9f519909e5ebc6b8f8ea5190bd0df6aa4271", - "sha256:9eb0a1923354e0fdd1c8a6f53f5db2e6180d670e2b587914bf2e79fa8acfd003", - "sha256:a00284dbfb53b42e35c7dd99fc0e26ef89b4a34efff68078ed29d03ccb28402a", - "sha256:a11a2c019324fc111485e79d55907e7289e53d0031275a6c8daed30690bc50c0", - "sha256:ab6a0fe4c96f8058d41948ddf134420d3ef8c42d5508b5a341a440cce7a37a1d", - "sha256:b1d0a1bce919de0dd8da5cff4e616b2d9e6ebf3bd1410ff645318c3dd615010a", - "sha256:b8e4f15b672c9156c1154249a9c5746e86ac9ae9edc3799ee3afebc323d9d9e0", - "sha256:bbca34dca5a2d60f81326d908d77313816fad23d11b6069031a3d6b8c97a54f9", - "sha256:bf656cd74ff7b4ed7006cdb2a6728150aaad69c7242b42a2a532f77b63ea233f", - "sha256:c95257aa2ccf75d3d91d772060538d5fea7f625e48157f8ca44594f94d41cb33", - "sha256:dc5023be1c2a8b0a0ab5e31389e62c28b2453eb31dd069f4b8d1a0f9814d951a", - "sha256:e14bceb1f3ae8a14374be2b2d7bc12a59226872285f91d66d301e5f41705d4d6", - "sha256:e3c4f5211394cd0bf6874ac5d29684a495f9c374919833dcfff0bd6d37f96201", - "sha256:e76f017b6d4140a038c5ff12be1581183d7874e41f1c0af58ecf07748d36a336", - "sha256:e7d5606b9240ed4def9cbdf35be4308047d11e858b9c88a6c26974758d6225ce", - "sha256:f0f80e323a17af63eac6a9db0c9188c10f1fd815c3ab299727150cc0eb92c7a4", - "sha256:fb2fa2f6506c03c48ca42e3fe5a692d7470d290c047ee6de7c0f3e5fa7639ac9", - "sha256:ffa8fee2b1b9e60b531c4c27cf528d6b5d5da46b1730db1f4d6eee56ff282e07" - ], - "markers": "python_version >= '3.6'", - "version": "==6.1.1" - }, - "coveralls": { - "hashes": [ - "sha256:baa26648430d5c2225ab12d7e2067f75597a4b967034bba7e3d5ab7501d207a1", - "sha256:ff9b7823b15070f26f654837bb02a201d006baaf2083e0514ffd3b34a3ffed81" - ], - "index": "pypi", - "version": "==1.7.0" + "sha256:01778769097dbd705a24e221f42be885c544bb91251747a8a3efdec6eb4788f2", + "sha256:08002f9251f51afdcc5e3adf5d5d66bb490ae893d9e21359b085f0e03390a820", + "sha256:1238b08f3576201ebf41f7c20bf59baa0d05da941b123c6656e42cdb668e9827", + "sha256:14a32ec68d721c3d714d9b105c7acf8e0f8a4f4734c811eda75ff3718570b5e3", + "sha256:15e38d853ee224e92ccc9a851457fb1e1f12d7a5df5ae44544ce7863691c7a0d", + "sha256:354df19fefd03b9a13132fa6643527ef7905712109d9c1c1903f2133d3a4e145", + "sha256:35ef1f8d8a7a275aa7410d2f2c60fa6443f4a64fae9be671ec0696a68525b875", + "sha256:4179502f210ebed3ccfe2f78bf8e2d59e50b297b598b100d6c6e3341053066a2", + "sha256:42c499c14efd858b98c4e03595bf914089b98400d30789511577aa44607a1b74", + "sha256:4b7101938584d67e6f45f0015b60e24a95bf8dea19836b1709a80342e01b472f", + "sha256:564cd0f5b5470094df06fab676c6d77547abfdcb09b6c29c8a97c41ad03b103c", + "sha256:5f444627b3664b80d078c05fe6a850dd711beeb90d26731f11d492dcbadb6973", + "sha256:6113e4df2fa73b80f77663445be6d567913fb3b82a86ceb64e44ae0e4b695de1", + "sha256:61b993f3998ee384935ee423c3d40894e93277f12482f6e777642a0141f55782", + "sha256:66e6df3ac4659a435677d8cd40e8eb1ac7219345d27c41145991ee9bf4b806a0", + "sha256:67f9346aeebea54e845d29b487eb38ec95f2ecf3558a3cffb26ee3f0dcc3e760", + "sha256:6913dddee2deff8ab2512639c5168c3e80b3ebb0f818fed22048ee46f735351a", + "sha256:6a864733b22d3081749450466ac80698fe39c91cb6849b2ef8752fd7482011f3", + "sha256:7026f5afe0d1a933685d8f2169d7c2d2e624f6255fb584ca99ccca8c0e966fd7", + "sha256:783bc7c4ee524039ca13b6d9b4186a67f8e63d91342c713e88c1865a38d0892a", + "sha256:7a98d6bf6d4ca5c07a600c7b4e0c5350cd483c85c736c522b786be90ea5bac4f", + "sha256:8d032bfc562a52318ae05047a6eb801ff31ccee172dc0d2504614e911d8fa83e", + "sha256:98c0b9e9b572893cdb0a00e66cf961a238f8d870d4e1dc8e679eb8bdc2eb1b86", + "sha256:9c7b9b498eb0c0d48b4c2abc0e10c2d78912203f972e0e63e3c9dc21f15abdaa", + "sha256:9cc4f107009bca5a81caef2fca843dbec4215c05e917a59dec0c8db5cff1d2aa", + "sha256:9d6e1f3185cbfd3d91ac77ea065d85d5215d3dfa45b191d14ddfcd952fa53796", + "sha256:a095aa0a996ea08b10580908e88fbaf81ecf798e923bbe64fb98d1807db3d68a", + "sha256:a3b2752de32c455f2521a51bd3ffb53c5b3ae92736afde67ce83477f5c1dd928", + "sha256:ab066f5ab67059d1f1000b5e1aa8bbd75b6ed1fc0014559aea41a9eb66fc2ce0", + "sha256:c1328d0c2f194ffda30a45f11058c02410e679456276bfa0bbe0b0ee87225fac", + "sha256:c35cca192ba700979d20ac43024a82b9b32a60da2f983bec6c0f5b84aead635c", + "sha256:cbbb0e4cd8ddcd5ef47641cfac97d8473ab6b132dd9a46bacb18872828031685", + "sha256:cdbb0d89923c80dbd435b9cf8bba0ff55585a3cdb28cbec65f376c041472c60d", + "sha256:cf2afe83a53f77aec067033199797832617890e15bed42f4a1a93ea24794ae3e", + "sha256:d5dd4b8e9cd0deb60e6fcc7b0647cbc1da6c33b9e786f9c79721fd303994832f", + "sha256:dfa0b97eb904255e2ab24166071b27408f1f69c8fbda58e9c0972804851e0558", + "sha256:e16c45b726acb780e1e6f88b286d3c10b3914ab03438f32117c4aa52d7f30d58", + "sha256:e1fabd473566fce2cf18ea41171d92814e4ef1495e04471786cbc943b89a3781", + "sha256:e3d3c4cc38b2882f9a15bafd30aec079582b819bec1b8afdbde8f7797008108a", + "sha256:e431e305a1f3126477abe9a184624a85308da8edf8486a863601d58419d26ffa", + "sha256:e7b4da9bafad21ea45a714d3ea6f3e1679099e420c8741c74905b92ee9bfa7cc", + "sha256:ee2b2fb6eb4ace35805f434e0f6409444e1466a47f620d1d5763a22600f0f892", + "sha256:ee6ae6bbcac0786807295e9687169fba80cb0617852b2fa118a99667e8e6815d", + "sha256:ef6f44409ab02e202b31a05dd6666797f9de2aa2b4b3534e9d450e42dea5e817", + "sha256:f67cf9f406cf0d2f08a3515ce2db5b82625a7257f88aad87904674def6ddaec1", + "sha256:f855b39e4f75abd0dfbcf74a82e84ae3fc260d523fcb3532786bcbbcb158322c", + "sha256:fc600f6ec19b273da1d85817eda339fb46ce9eef3e89f220055d8696e0a06908", + "sha256:fcbe3d9a53e013f8ab88734d7e517eb2cd06b7e689bedf22c0eb68db5e4a0a19", + "sha256:fde17bc42e0716c94bf19d92e4c9f5a00c5feb401f5bc01101fdf2a8b7cacf60", + "sha256:ff934ced84054b9018665ca3967fc48e1ac99e811f6cc99ea65978e1d384454b" + ], + "version": "==6.4.4" }, "cryptography": { "hashes": [ - "sha256:07bb7fbfb5de0980590ddfc7f13081520def06dc9ed214000ad4372fb4e3c7f6", - "sha256:18d90f4711bf63e2fb21e8c8e51ed8189438e6b35a6d996201ebd98a26abbbe6", - "sha256:1ed82abf16df40a60942a8c211251ae72858b25b7421ce2497c2eb7a1cee817c", - "sha256:22a38e96118a4ce3b97509443feace1d1011d0571fae81fc3ad35f25ba3ea999", - "sha256:2d69645f535f4b2c722cfb07a8eab916265545b3475fdb34e0be2f4ee8b0b15e", - "sha256:4a2d0e0acc20ede0f06ef7aa58546eee96d2592c00f450c9acb89c5879b61992", - "sha256:54b2605e5475944e2213258e0ab8696f4f357a31371e538ef21e8d61c843c28d", - "sha256:7075b304cd567694dc692ffc9747f3e9cb393cc4aa4fb7b9f3abd6f5c4e43588", - "sha256:7b7ceeff114c31f285528ba8b390d3e9cfa2da17b56f11d366769a807f17cbaa", - "sha256:7eba2cebca600a7806b893cb1d541a6e910afa87e97acf2021a22b32da1df52d", - "sha256:928185a6d1ccdb816e883f56ebe92e975a262d31cc536429041921f8cb5a62fd", - "sha256:9933f28f70d0517686bd7de36166dda42094eac49415459d9bdf5e7df3e0086d", - "sha256:a688ebcd08250eab5bb5bca318cc05a8c66de5e4171a65ca51db6bd753ff8953", - "sha256:abb5a361d2585bb95012a19ed9b2c8f412c5d723a9836418fab7aaa0243e67d2", - "sha256:c10c797ac89c746e488d2ee92bd4abd593615694ee17b2500578b63cad6b93a8", - "sha256:ced40344e811d6abba00295ced98c01aecf0c2de39481792d87af4fa58b7b4d6", - "sha256:d57e0cdc1b44b6cdf8af1d01807db06886f10177469312fbde8f44ccbb284bc9", - "sha256:d99915d6ab265c22873f1b4d6ea5ef462ef797b4140be4c9d8b179915e0985c6", - "sha256:eb80e8a1f91e4b7ef8b33041591e6d89b2b8e122d787e87eeb2b08da71bb16ad", - "sha256:ebeddd119f526bcf323a89f853afb12e225902a24d29b55fe18dd6fcb2838a76" - ], - "markers": "python_version >= '3.6'", - "version": "==35.0.0" + "sha256:190f82f3e87033821828f60787cfa42bff98404483577b591429ed99bed39d59", + "sha256:2be53f9f5505673eeda5f2736bea736c40f051a739bfae2f92d18aed1eb54596", + "sha256:30788e070800fec9bbcf9faa71ea6d8068f5136f60029759fd8c3efec3c9dcb3", + "sha256:3d41b965b3380f10e4611dbae366f6dc3cefc7c9ac4e8842a806b9672ae9add5", + "sha256:4c590ec31550a724ef893c50f9a97a0c14e9c851c85621c5650d699a7b88f7ab", + "sha256:549153378611c0cca1042f20fd9c5030d37a72f634c9326e225c9f666d472884", + "sha256:63f9c17c0e2474ccbebc9302ce2f07b55b3b3fcb211ded18a42d5764f5c10a82", + "sha256:6bc95ed67b6741b2607298f9ea4932ff157e570ef456ef7ff0ef4884a134cc4b", + "sha256:7099a8d55cd49b737ffc99c17de504f2257e3787e02abe6d1a6d136574873441", + "sha256:75976c217f10d48a8b5a8de3d70c454c249e4b91851f6838a4e48b8f41eb71aa", + "sha256:7bc997818309f56c0038a33b8da5c0bfbb3f1f067f315f9abd6fc07ad359398d", + "sha256:80f49023dd13ba35f7c34072fa17f604d2f19bf0989f292cedf7ab5770b87a0b", + "sha256:91ce48d35f4e3d3f1d83e29ef4a9267246e6a3be51864a5b7d2247d5086fa99a", + "sha256:a958c52505c8adf0d3822703078580d2c0456dd1d27fabfb6f76fe63d2971cd6", + "sha256:b62439d7cd1222f3da897e9a9fe53bbf5c104fff4d60893ad1355d4c14a24157", + "sha256:b7f8dd0d4c1f21759695c05a5ec8536c12f31611541f8904083f3dc582604280", + "sha256:d204833f3c8a33bbe11eda63a54b1aad7aa7456ed769a982f21ec599ba5fa282", + "sha256:e007f052ed10cc316df59bc90fbb7ff7950d7e2919c9757fd42a2b8ecf8a5f67", + "sha256:f2dcb0b3b63afb6df7fd94ec6fbddac81b5492513f7b0436210d390c14d46ee8", + "sha256:f721d1885ecae9078c3f6bbe8a88bc0786b6e749bf32ccec1ef2b18929a05046", + "sha256:f7a6de3e98771e183645181b3627e2563dcde3ce94a9e42a3f427d2255190327", + "sha256:f8c0a6e9e1dd3eb0414ba320f85da6b0dcbd543126e30fcc546e7372a7fbf3b9" + ], + "version": "==37.0.4" }, "cython": { "hashes": [ - "sha256:09ac3087ac7a3d489ebcb3fb8402e00c13d1a3a1c6bc73fd3b0d756a3e341e79", - "sha256:0a142c6b862e6ed6b02209d543062c038c110585b5e32d1ad7c9717af4f07e41", - "sha256:0d414458cb22f8a90d64260da6dace5d5fcebde43f31be52ca51f818c46db8cb", - "sha256:10cb3def9774fa99e4583617a5616874aed3255dc241fd1f4a3c2978c78e1c53", - "sha256:112efa54a58293a4fb0acf0dd8e5b3736e95b595eee24dd88615648e445abe41", - "sha256:166f9f29cd0058ce1a14a7b3a2458b849ed34b1ec5fd4108af3fdd2c24afcbb0", - "sha256:2d9e61ed1056a3b6a4b9156b62297ad18b357a7948e57a2f49b061217696567e", - "sha256:2f41ef7edd76dd23315925e003f0c58c8585f3ab24be6885c4b3f60e77c82746", - "sha256:37bcfa5df2a3009f49624695d917c3804fccbdfcdc5eda6378754a879711a4d5", - "sha256:416046a98255eff97ec02077d20ebeaae52682dfca1c35aadf31260442b92514", - "sha256:4cf4452f0e4d50e11701bca38f3857fe6fa16593e7fd6a4d5f7be66f611b7da2", - "sha256:55b0ee28c2c8118bfb3ad9b25cf7a6cbd724e442ea96956e32ccd908d5e3e043", - "sha256:5dd56d0be50073f0e54825a8bc3393852de0eed126339ecbca0ae149dba55cfc", - "sha256:5fa12ebafc2f688ea6d26ab6d1d2e634a9872509ba7135b902bb0d8b368fb04b", - "sha256:5fb977945a2111f6b64501fdf7ed0ec162cc502b84457fd648d6a558ea8de0d6", - "sha256:60c958bcab0ff315b4036a949bed1c65334e1f6a69e17e9966d742febb59043a", - "sha256:661dbdea519d9cfb288867252b75fef73ffa8e8bb674cec27acf70646afb369b", - "sha256:6a2cf2ccccc25413864928dfd730c29db6f63eaf98206c1e600003a445ca7f58", - "sha256:6ade74eece909fd3a437d9a5084829180751d7ade118e281e9824dd75eafaff2", - "sha256:73ac33a4379056a02031baa4def255717fadb9181b5ac2b244792d53eae1c925", - "sha256:76cbca0188d278e93d12ebdaf5990678e6e436485fdfad49dbe9b07717d41a3c", - "sha256:774cb8fd931ee1ba52c472bc1c19077cd6895c1b24014ae07bb27df59aed5ebe", - "sha256:821c2d416ad7d006b069657ee1034c0e0cb45bdbe9ab6ab631e8c495dfcfa4ac", - "sha256:84826ec1c11cda56261a252ddecac0c7d6b02e47e81b94f40b27b4c23c29c17c", - "sha256:854fe2193d3ad4c8b61932ff54d6dbe10c5fa8749eb8958d72cc0ab28243f833", - "sha256:88dc3c250dec280b0489a83950b15809762e27232f4799b1b8d0bad503f5ab84", - "sha256:8cb87777e82d1996aef6c146560a19270684271c9c669ba62ac6803b3cd2ff82", - "sha256:91339ee4b465924a3ea4b2a9cec7f7227bc4cadf673ce859d24c2b9ef60b1214", - "sha256:9164aeef1af6f837e4fc20402a31d256188ba4d535e262c6cb78caf57ad744f8", - "sha256:a102cfa795c6b3b81a29bdb9dbec545367cd7f353c03e6f30a056fdfefd92854", - "sha256:ad43e684ade673565f6f9d6638015112f6c7f11aa2a632167b79014f613f0f5f", - "sha256:afb521523cb46ddaa8d269b421f88ea2731fee05e65b952b96d4db760f5a2a1c", - "sha256:b28f92e617f540d3f21f8fd479a9c6491be920ffff672a4c61b7fc4d7f749f39", - "sha256:bc05de569f811be1fcfde6756c9048ae518f0c4b6d9f8f024752c5365d934cac", - "sha256:cdf04d07c3600860e8c2ebaad4e8f52ac3feb212453c1764a49ac08c827e8443", - "sha256:d8d1a087f35e39384303f5e6b75d465d6f29d746d7138eae9d3b6e8e6f769eae", - "sha256:eb2843f8cc01c645725e6fc690a84e99cdb266ce8ebe427cf3a680ff09f876aa", - "sha256:f2e9381497b12e8f622af620bde0d1d094035d79b899abb2ddd3a7891f535083", - "sha256:f96411f0120b5cae483923aaacd2872af8709be4b46522daedc32f051d778385" + "sha256:019d330ac580b2ca4a457c464ac0b8c35009d820ef5d09f328d6e31a10e1ce89", + "sha256:0b83a342a071c4f14e7410568e0c0bd95e2f20c0b32944e3a721649a1357fda4", + "sha256:0cd6c932e945af15ae4ddcf8fdc0532bda48784c92ed0a53cf4fae897067ccd1", + "sha256:1e078943bbde703ca08d43e719480eb8b187d9023cbd91798619f5b5e18d0d71", + "sha256:20778297c8bcba201ca122a2f792a9899d6e64c68a92363dd7eb24306d54d7ce", + "sha256:2235b62da8fe6fa8b99422c8e583f2fb95e143867d337b5c75e4b9a1a865f9e3", + "sha256:28db751e2d8365b39664d9cb62dc1668688b8fcc5b954e9ca9d20e0b8e03d8b0", + "sha256:3993aafd68a7311ef94e00e44a137f6a50a69af0575ebcc8a0a074ad4152a2b2", + "sha256:3d0239c7a22a0f3fb1deec75cab0078eba4dd17868aa992a54a178851e0c8684", + "sha256:5183356c756b56c2df12d96300d602e47ffb89943c5a0bded66faca5d3da7be0", + "sha256:58d2b734250c1093bc69c1c3a6f5736493b9f8b34eb765f0a28a4a09468c0b00", + "sha256:5a8a3709ad9343a1dc02b8ec9cf6bb284be248d2c64af85464d9c3525eec74a5", + "sha256:5c7cfd908efc77306ddd41ef07f5a7a352c9205ced5c1e00a0e5ece4391707c4", + "sha256:5f2dae7dd56860018d5fd5032a71f11fdc224020932b463d0511a1536f27df85", + "sha256:60d370c33d56077d30e5f425026e58c2559e93b4784106f61581cf54071f6270", + "sha256:6b389a94b42909ff56d3491fde7c44802053a103701a7d210dcdd449a5b4f7b4", + "sha256:71fd1d910aced510c001936667fc7f2901c49b2ca7a2ad67358979c94a7f42ac", + "sha256:786ee7b0cdb508b6de64c0f1f9c74f207186dfafad1ef938f25b7494cc481a80", + "sha256:7eff71c39b98078deaad1d1bdbf10864d234e2ab5d5257e980a6926a8523f697", + "sha256:80a7255ad84620f53235c0720cdee2bc7431d9e3db7b3742823a606c329eb539", + "sha256:88c5e2f92f16cd999ddfc43d572639679e8a057587088e627e98118e46a803e6", + "sha256:8e08f18d249b9b65e272a5a60f3360a8922c4c149036b98fc821fe1afad5bdae", + "sha256:9462e9cf284d9b1d2c5b53d62188e3c09cc5c7a0018ba349d99b73cf930238de", + "sha256:9826981308802c61a76f967875b31b7c683b7fc369eabaa6cbc22efeb12c90e8", + "sha256:9f1fe924c920b699af27aefebd722df4cfbb85206291623cd37d1a7ddfd57792", + "sha256:a30092c6e2d24255fbfe0525f9a750554f96a263ed986d12ac3c9f7d9a85a424", + "sha256:abcaf99f90cddc0f53600613eaafc81d27c4ac0671f0df8bce5466d4e86d54a1", + "sha256:acb72e0b42079862cf2f894964b41f261e941e75677e902c5f4304b3eb00af33", + "sha256:b17639b6a155abaa61a89f6f1323fb57b138d0529911ca03978d594945d062ba", + "sha256:c299c5b250ae9f81c38200441b6f1d023aeee9d8e7f61c04001c7437181ccb06", + "sha256:c79685dd4631a188e2385dc6a232896c7b67ea2e3e5f8b5555b4b743f475d6d7", + "sha256:d0859a958e0155b6ae4dee04170ccfac2c3d613a7e3bee8749614530b9e3b4a4", + "sha256:d0f34b44078e3e0b2f1be2b99044619b37127128e7d55c54bbd2438adcaf31d3", + "sha256:d166d9f853db436f5e10733a9bd615699ddb4238feadcbdf5ae50dc0b18b18f5", + "sha256:d52d5733dcb144deca8985f0a197c19cf71e6bd6bd9d8034f3f67b2dea68d12b", + "sha256:e29d3487f357108b711f2f29319811d92166643d29aec1b8e063aad46a346775", + "sha256:e36755e71fd20eceb410cc441b7f2586654c2edb013f4663842fdaf60b96c1ca", + "sha256:e5cb144728a335d7a7fd0a61dff6abb7a9aeff9acd46d50b886b7d9a95bb7311", + "sha256:e605635a92ae862cb46d84d1d6883324518f9aaff4a71cede6d61df20b6a410c", + "sha256:ffa8c09617833ff0824aa7926fa4fa9d2ec3929c67168e89105f276b7f36a63e" ], "index": "pypi", - "version": "==0.29.24" + "version": "==0.29.30" }, - "docopt": { + "dill": { "hashes": [ - "sha256:49b3a825280bd66b3aa83585ef59c4a8c82f2c8a522dbe754a8bc8d08c85c491" + "sha256:33501d03270bbe410c72639b350e941882a8b0fd55357580fbc873fba0c59302", + "sha256:d75e41f3eff1eee599d738e76ba8f4ad98ea229db8b085318aa2b3333a208c86" ], - "version": "==0.6.2" + "version": "==0.3.5.1" }, "docutils": { "hashes": [ - "sha256:a31688b2ea858517fa54293e5d5df06fbb875fb1f7e4c64529271b77781ca8fc", - "sha256:c1d5dab2b11d16397406a282e53953fe495a46d69ae329f55aa98a5c4e3c5fbb" + "sha256:33995a6753c30b7f577febfc2c50411fec6aac7f7ffeb7c4cfe5991072dcf9e6", + "sha256:5e1de4d849fee02c63b040a4a3fd567f4ab104defd8a5511fbbc24a8a017efbc" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==0.18" + "version": "==0.19" }, "idna": { "hashes": [ "sha256:84d9dd047ffa80596e0f246e2eab0b391788b0503584e8945f2368256d2735ff", "sha256:9d643ff0a55b762d5cdb124b8eaa99c66322e2157b69160bc32796e824360e6d" ], - "markers": "python_version >= '3'", "version": "==3.3" }, "importlib-metadata": { "hashes": [ - "sha256:b618b6d2d5ffa2f16add5697cf57a46c76a56229b0ed1c438322e4e95645bd15", - "sha256:f284b3e11256ad1e5d03ab86bb2ccd6f5339688ff17a4d797a0fe7df326f23b1" + "sha256:637245b8bab2b6502fcbc752cc4b7a6f6243bb02b31c5c26156ad103d3d45670", + "sha256:7401a975809ea1fdc658c3aa4f78cc2195a0e019c5cbc4c06122884e9ae80c23" ], - "markers": "python_version >= '3.6'", - "version": "==4.8.1" + "markers": "python_version < '3.10'", + "version": "==4.12.0" + }, + "iniconfig": { + "hashes": [ + "sha256:011e24c64b7f47f6ebd835bb12a743f2fbe9a26d4cecaa7f53bc4f35ee9da8b3", + "sha256:bc3af051d7d14b2ee5ef9969666def0cd1a000e121eaea580d4a313df4b37f32" + ], + "version": "==1.1.1" }, "isort": { "hashes": [ - "sha256:54da7e92468955c4fceacd0c86bd0ec997b0e1ee80d97f67c35a78b719dccab1", - "sha256:6e811fcb295968434526407adb8796944f1988c5b65e8139058f2014cbe100fd" + "sha256:6f62d78e2f89b4500b080fe3a81690850cd254227f27f75c3a0c491a1f351ba7", + "sha256:e8443a5e7a020e9d7f97f1d7d9cd17c88bcb3bc7e218bf9cf5095fe550be2951" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==4.3.21" + "version": "==5.10.1" }, "jeepney": { "hashes": [ - "sha256:1b5a0ea5c0e7b166b2f5895b91a08c14de8915afda4407fb5022a195224958ac", - "sha256:fa9e232dfa0c498bd0b8a3a73b8d8a31978304dcef0515adc859d4e096f96f4f" + "sha256:5efe48d255973902f6badc3ce55e2aa6c5c3b3bc642059ef3a91247bcfcc5806", + "sha256:c0a454ad016ca575060802ee4d590dd912e35c122fa04e70306de3d076cce755" ], - "markers": "sys_platform == 'linux'", - "version": "==0.7.1" + "version": "==0.8.0" }, "keyring": { "hashes": [ - "sha256:6334aee6073db2fb1f30892697b1730105b5e9a77ce7e61fca6b435225493efe", - "sha256:bd2145a237ed70c8ce72978b497619ddfcae640b6dcf494402d5143e37755c6e" + "sha256:0d9973f8891850f1ade5f26aafd06bb16865fbbae3fc56b0defb6a14a2624003", + "sha256:10d2a8639663fe2090705a00b8c47c687cacdf97598ea9c11456679fa974473a" ], - "markers": "python_version >= '3.6'", - "version": "==23.2.1" + "version": "==23.8.2" }, "lazy-object-proxy": { "hashes": [ - "sha256:17e0967ba374fc24141738c69736da90e94419338fd4c7c7bef01ee26b339653", - "sha256:1fee665d2638491f4d6e55bd483e15ef21f6c8c2095f235fef72601021e64f61", - "sha256:22ddd618cefe54305df49e4c069fa65715be4ad0e78e8d252a33debf00f6ede2", - "sha256:24a5045889cc2729033b3e604d496c2b6f588c754f7a62027ad4437a7ecc4837", - "sha256:410283732af311b51b837894fa2f24f2c0039aa7f220135192b38fcc42bd43d3", - "sha256:4732c765372bd78a2d6b2150a6e99d00a78ec963375f236979c0626b97ed8e43", - "sha256:489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726", - "sha256:4f60460e9f1eb632584c9685bccea152f4ac2130e299784dbaf9fae9f49891b3", - "sha256:5743a5ab42ae40caa8421b320ebf3a998f89c85cdc8376d6b2e00bd12bd1b587", - "sha256:85fb7608121fd5621cc4377a8961d0b32ccf84a7285b4f1d21988b2eae2868e8", - "sha256:9698110e36e2df951c7c36b6729e96429c9c32b3331989ef19976592c5f3c77a", - "sha256:9d397bf41caad3f489e10774667310d73cb9c4258e9aed94b9ec734b34b495fd", - "sha256:b579f8acbf2bdd9ea200b1d5dea36abd93cabf56cf626ab9c744a432e15c815f", - "sha256:b865b01a2e7f96db0c5d12cfea590f98d8c5ba64ad222300d93ce6ff9138bcad", - "sha256:bf34e368e8dd976423396555078def5cfc3039ebc6fc06d1ae2c5a65eebbcde4", - "sha256:c6938967f8528b3668622a9ed3b31d145fab161a32f5891ea7b84f6b790be05b", - "sha256:d1c2676e3d840852a2de7c7d5d76407c772927addff8d742b9808fe0afccebdf", - "sha256:d7124f52f3bd259f510651450e18e0fd081ed82f3c08541dffc7b94b883aa981", - "sha256:d900d949b707778696fdf01036f58c9876a0d8bfe116e8d220cfd4b15f14e741", - "sha256:ebfd274dcd5133e0afae738e6d9da4323c3eb021b3e13052d8cbd0e457b1256e", - "sha256:ed361bb83436f117f9917d282a456f9e5009ea12fd6de8742d1a4752c3017e93", - "sha256:f5144c75445ae3ca2057faac03fda5a902eff196702b0a24daf1d6ce0650514b" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==1.6.0" + "sha256:043651b6cb706eee4f91854da4a089816a6606c1428fd391573ef8cb642ae4f7", + "sha256:07fa44286cda977bd4803b656ffc1c9b7e3bc7dff7d34263446aec8f8c96f88a", + "sha256:12f3bb77efe1367b2515f8cb4790a11cffae889148ad33adad07b9b55e0ab22c", + "sha256:2052837718516a94940867e16b1bb10edb069ab475c3ad84fd1e1a6dd2c0fcfc", + "sha256:2130db8ed69a48a3440103d4a520b89d8a9405f1b06e2cc81640509e8bf6548f", + "sha256:39b0e26725c5023757fc1ab2a89ef9d7ab23b84f9251e28f9cc114d5b59c1b09", + "sha256:46ff647e76f106bb444b4533bb4153c7370cdf52efc62ccfc1a28bdb3cc95442", + "sha256:4dca6244e4121c74cc20542c2ca39e5c4a5027c81d112bfb893cf0790f96f57e", + "sha256:553b0f0d8dbf21890dd66edd771f9b1b5f51bd912fa5f26de4449bfc5af5e029", + "sha256:677ea950bef409b47e51e733283544ac3d660b709cfce7b187f5ace137960d61", + "sha256:6a24357267aa976abab660b1d47a34aaf07259a0c3859a34e536f1ee6e76b5bb", + "sha256:6a6e94c7b02641d1311228a102607ecd576f70734dc3d5e22610111aeacba8a0", + "sha256:6aff3fe5de0831867092e017cf67e2750c6a1c7d88d84d2481bd84a2e019ec35", + "sha256:6ecbb350991d6434e1388bee761ece3260e5228952b1f0c46ffc800eb313ff42", + "sha256:7096a5e0c1115ec82641afbdd70451a144558ea5cf564a896294e346eb611be1", + "sha256:70ed0c2b380eb6248abdef3cd425fc52f0abd92d2b07ce26359fcbc399f636ad", + "sha256:8561da8b3dd22d696244d6d0d5330618c993a215070f473b699e00cf1f3f6443", + "sha256:85b232e791f2229a4f55840ed54706110c80c0a210d076eee093f2b2e33e1bfd", + "sha256:898322f8d078f2654d275124a8dd19b079080ae977033b713f677afcfc88e2b9", + "sha256:8f3953eb575b45480db6568306893f0bd9d8dfeeebd46812aa09ca9579595148", + "sha256:91ba172fc5b03978764d1df5144b4ba4ab13290d7bab7a50f12d8117f8630c38", + "sha256:9d166602b525bf54ac994cf833c385bfcc341b364e3ee71e3bf5a1336e677b55", + "sha256:a57d51ed2997e97f3b8e3500c984db50a554bb5db56c50b5dab1b41339b37e36", + "sha256:b9e89b87c707dd769c4ea91f7a31538888aad05c116a59820f28d59b3ebfe25a", + "sha256:bb8c5fd1684d60a9902c60ebe276da1f2281a318ca16c1d0a96db28f62e9166b", + "sha256:c19814163728941bb871240d45c4c30d33b8a2e85972c44d4e63dd7107faba44", + "sha256:c4ce15276a1a14549d7e81c243b887293904ad2d94ad767f42df91e75fd7b5b6", + "sha256:c7a683c37a8a24f6428c28c561c80d5f4fd316ddcf0c7cab999b15ab3f5c5c69", + "sha256:d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4", + "sha256:d66906d5785da8e0be7360912e99c9188b70f52c422f9fc18223347235691a84", + "sha256:dd7ed7429dbb6c494aa9bc4e09d94b778a3579be699f9d67da7e6804c422d3de", + "sha256:df2631f9d67259dc9620d831384ed7732a198eb434eadf69aea95ad18c587a28", + "sha256:e368b7f7eac182a59ff1f81d5f3802161932a41dc1b1cc45c1f757dc876b5d2c", + "sha256:e40f2013d96d30217a51eeb1db28c9ac41e9d0ee915ef9d00da639c5b63f01a1", + "sha256:f769457a639403073968d118bc70110e7dce294688009f5c24ab78800ae56dc8", + "sha256:fccdf7c2c5821a8cbd0a9440a456f5050492f2270bd54e94360cac663398739b", + "sha256:fd45683c3caddf83abbb1249b653a266e7069a09f486daa8863fb0e7496a9fdb" + ], + "version": "==1.7.1" }, "mccabe": { "hashes": [ - "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42", - "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f" + "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", + "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e" ], - "version": "==0.6.1" + "version": "==0.7.0" }, - "more-itertools": { + "packaging": { "hashes": [ - "sha256:1debcabeb1df793814859d64a81ad7cb10504c24349368ccf214c664c474f41f", - "sha256:56ddac45541718ba332db05f464bebfb0768110111affd27f66e0051f276fa43" + "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", + "sha256:ef103e05f519cdc783ae24ea4e2e0f508a9c99b2d4969652eed6a2e1ea5bd522" ], - "markers": "python_version > '2.7'", - "version": "==8.10.0" + "version": "==21.3" }, - "packaging": { + "pkginfo": { "hashes": [ - "sha256:096d689d78ca690e4cd8a89568ba06d07ca097e3306a4381635073ca91479966", - "sha256:14317396d1e8cdb122989b916fa2c7e9ca8e2be9e8060a6eff75b6b7b4d8a7e0" + "sha256:848865108ec99d4901b2f7e84058b6e7660aae8ae10164e015a6dcf5b242a594", + "sha256:a84da4318dd86f870a9447a8c98340aa06216bfc6f2b7bdc4b8766984ae1867c" ], - "markers": "python_version >= '3.6'", - "version": "==21.2" + "version": "==1.8.3" }, - "pkginfo": { + "platformdirs": { "hashes": [ - "sha256:37ecd857b47e5f55949c41ed061eb51a0bee97a87c969219d144c0e023982779", - "sha256:e7432f81d08adec7297633191bbf0bd47faf13cd8724c3a13250e51d542635bd" + "sha256:027d8e83a2d7de06bbac4e5ef7e023c02b863d7ea5d079477e722bb41ab25788", + "sha256:58c8abb07dcb441e6ee4b11d8df0ac856038f944ab98b7be6b27b2a3c7feef19" ], - "version": "==1.7.1" + "version": "==2.5.2" }, "pluggy": { "hashes": [ "sha256:4224373bacce55f955a878bf9cfa763c1e360858e330072059e10bad68531159", "sha256:74134bbf457f031a36d68416e1509f34bd5ccc019f0bcc952c7b909d06b37bd3" ], - "markers": "python_version >= '3.6'", "version": "==1.0.0" }, "py": { "hashes": [ - "sha256:21b81bda15b66ef5e1a777a21c4dcd9c20ad3efd0b3f817e7a809035269e1bd3", - "sha256:3b80836aa6d1feeaa108e046da6423ab8f6ceda6468545ae8d02d9d58d18818a" + "sha256:51c75c4126074b472f746a24399ad32f6053d1b34b68d2fa41e558e6f4a98719", + "sha256:607c53218732647dff4acdfcd50cb62615cedf612e72d1724fb1a0cc6405b378" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==1.10.0" + "version": "==1.11.0" }, "pycparser": { "hashes": [ - "sha256:2d475327684562c3a96cc71adf7dc8c4f0565175cf86b6d7a404ff4c771f15f0", - "sha256:7582ad22678f0fcd81102833f60ef8d0e57288b6b5fb00323d101be910e35705" + "sha256:8ee45429555515e1f6b185e78100aea234072576aa43ab53aefcae078162fca9", + "sha256:e644fdec12f7872f86c58ff790da456218b10f863970249516d60a5eaca77206" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.20" + "version": "==2.21" }, "pygments": { "hashes": [ - "sha256:b8e67fe6af78f492b3c4b3e2970c0624cbf08beb1e493b2c99b9fa1b67a20380", - "sha256:f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6" + "sha256:56a8508ae95f98e2b9bdf93a6be5ae3f7d8af858b43e02c5a2ff083726be40c1", + "sha256:f643f331ab57ba3c9d89212ee4a2dabc6e94f117cf4eefde99a0574720d14c42" ], - "markers": "python_version >= '3.5'", - "version": "==2.10.0" + "version": "==2.13.0" }, "pylint": { "hashes": [ - "sha256:5d77031694a5fb97ea95e828c8d10fc770a1df6eb3906067aaed42201a8a6a09", - "sha256:723e3db49555abaf9bf79dc474c6b9e2935ad82230b10c1138a71ea41ac0fff1" + "sha256:095567c96e19e6f57b5b907e67d265ff535e588fe26b12b5ebe1fc5645b2c731", + "sha256:705c620d388035bdd9ff8b44c5bcdd235bfb49d276d488dd2c8ff1736aa42526" ], "index": "pypi", - "version": "==2.3.1" + "version": "==2.13.9" }, "pyparsing": { "hashes": [ - "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1", - "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b" + "sha256:2b020ecf7d21b687f219b71ecad3631f644a47f01403fa1d1036b0c6416d70fb", + "sha256:5026bae9a10eeaefb61dab2f09052b9f4307d44aee4eda64b309723d8d206bbc" ], - "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==2.4.7" + "version": "==3.0.9" }, "pytest": { "hashes": [ - "sha256:13c5e9fb5ec5179995e9357111ab089af350d788cbc944c628f3cde72285809b", - "sha256:f21d2f1fb8200830dcbb5d8ec466a9c9120e20d8b53c7585d180125cce1d297a" + "sha256:9ce3ff477af913ecf6321fe337b93a2c0dcf2a0a1439c43f5452112c1e4280db", + "sha256:e30905a0c131d3d94b89624a1cc5afec3e0ba2fbdb151867d8e0ebd49850f171" ], "index": "pypi", - "version": "==4.4.0" + "version": "==7.0.1" }, "pytest-cov": { "hashes": [ - "sha256:0ab664b25c6aa9716cbf203b17ddb301932383046082c081b9848a0edf5add33", - "sha256:230ef817450ab0699c6cc3c9c8f7a829c34674456f2ed8df1fe1d39780f7c87f" + "sha256:578d5d15ac4a25e5f961c938b85a05b09fdaae9deef3bb6de9a6e766622ca7a6", + "sha256:e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470" ], "index": "pypi", - "version": "==2.6.1" + "version": "==3.0.0" }, "readme-renderer": { "hashes": [ - "sha256:3286806450d9961d6e3b5f8a59f77e61503799aca5155c8d8d40359b4e1e1adc", - "sha256:8299700d7a910c304072a7601eafada6712a5b011a20139417e1b1e9f04645d8" + "sha256:2c37e472ca96755caba6cc58bcbf673a5574bc033385a2ac91d85dfef2799876", + "sha256:f71aeef9a588fcbed1f4cc001ba611370e94a0cd27c75b1140537618ec78f0a2" ], - "version": "==30.0" + "version": "==36.0" }, "requests": { "hashes": [ - "sha256:6c1246513ecd5ecd4528a0906f910e8f0f9c6b8ec72030dc9fd154dc1a6efd24", - "sha256:b8aa58f8cf793ffd8782d3d8cb19e66ef36f7aba4353eec859e74678b01b07a7" + "sha256:7c5599b102feddaa661c826c56ab4fee28bfd17f5abca1ebbe3e7f19d7c97983", + "sha256:8fefa2a1a1365bf5520aac41836fbee479da67864514bdb821f31ce07ce65349" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4, 3.5'", - "version": "==2.26.0" + "version": "==2.28.1" }, "requests-toolbelt": { "hashes": [ @@ -574,59 +583,63 @@ }, "rfc3986": { "hashes": [ - "sha256:270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835", - "sha256:a86d6e1f5b1dc238b218b012df0aa79409667bb209e58da56d0b94704e712a97" + "sha256:50b1502b60e289cb37883f3dfd34532b8873c7de9f49bb546641ce9cbd256ebd", + "sha256:97aacf9dbd4bfd829baad6e6309fa6573aaf1be3f6fa735c8ab05e46cecb261c" ], - "version": "==1.5.0" + "version": "==2.0.0" }, "secretstorage": { "hashes": [ - "sha256:422d82c36172d88d6a0ed5afdec956514b189ddbfb72fefab0c8a1cee4eaf71f", - "sha256:fd666c51a6bf200643495a04abb261f83229dcb6fd8472ec393df7ffc8b6f195" + "sha256:2403533ef369eca6d2ba81718576c5e0f564d5cca1b58f73a8b23e7d4eeebd77", + "sha256:f356e6628222568e3af06f2eba8df495efa13b3b63081dafd4f7d9a7b7bc9f99" ], "markers": "sys_platform == 'linux'", - "version": "==3.3.1" + "version": "==3.3.3" }, "six": { "hashes": [ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926", "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", "version": "==1.16.0" }, + "tomli": { + "hashes": [ + "sha256:939de3e7a6161af0c887ef91b7d41a53e7c5a1ca976325f429cb46ea9bc30ecc", + "sha256:de526c12914f0c550d15924c62d72abc48d6fe7364aa87328337a31007fe8a4f" + ], + "markers": "python_version < '3.11'", + "version": "==2.0.1" + }, "tqdm": { "hashes": [ - "sha256:8dd278a422499cd6b727e6ae4061c40b48fce8b76d1ccbf5d34fca9b7f925b0c", - "sha256:d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d" + "sha256:40be55d30e200777a307a7585aee69e4eabb46b4ec6a4b4a5f2d9f11e7d5408d", + "sha256:74a2cdefe14d11442cedf3ba4e21a3b84ff9a2dbdc6cfae2c34addb2a14a5ea6" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'", - "version": "==4.62.3" + "version": "==4.64.0" }, "twine": { "hashes": [ - "sha256:087328e9bb405e7ce18527a2dca4042a84c7918658f951110b38bc135acab218", - "sha256:4caec0f1ed78dc4c9b83ad537e453d03ce485725f2aea57f1bb3fdde78dae936" + "sha256:28460a3db6b4532bde6a5db6755cf2dce6c5020bada8a641bb2c5c7a9b1f35b8", + "sha256:8c120845fc05270f9ee3e9d7ebbed29ea840e41f48cd059e04733f7e1d401345" ], "index": "pypi", - "version": "==3.4.2" + "version": "==3.7.1" }, "typing-extensions": { "hashes": [ - "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e", - "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7", - "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34" + "sha256:25642c956049920a5aa49edcdd6ab1e06d7e5d467fc00e0506c44ac86fbfca02", + "sha256:e6d2677a32f47fc7eb2795db1dd15c1f34eff616bcaf2cfb5e997f854fa1c4a6" ], "markers": "python_version < '3.10'", - "version": "==3.10.0.2" + "version": "==4.3.0" }, "urllib3": { "hashes": [ - "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece", - "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844" + "sha256:c33ccba33c819596124764c23a97d25f32b28433ba0dedeb77d873a38722c9bc", + "sha256:ea6e8fb210b19d950fab93b60c9009226c63a28808bc8386e05301e25883ac0a" ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'", - "version": "==1.26.7" + "version": "==1.26.11" }, "webencodings": { "hashes": [ @@ -637,68 +650,79 @@ }, "wrapt": { "hashes": [ - "sha256:086218a72ec7d986a3eddb7707c8c4526d677c7b35e355875a0fe2918b059179", - "sha256:0877fe981fd76b183711d767500e6b3111378ed2043c145e21816ee589d91096", - "sha256:0a017a667d1f7411816e4bf214646d0ad5b1da2c1ea13dec6c162736ff25a374", - "sha256:0cb23d36ed03bf46b894cfec777eec754146d68429c30431c99ef28482b5c1df", - "sha256:1fea9cd438686e6682271d36f3481a9f3636195578bab9ca3382e2f5f01fc185", - "sha256:220a869982ea9023e163ba915077816ca439489de6d2c09089b219f4e11b6785", - "sha256:25b1b1d5df495d82be1c9d2fad408f7ce5ca8a38085e2da41bb63c914baadff7", - "sha256:2dded5496e8f1592ec27079b28b6ad2a1ef0b9296d270f77b8e4a3a796cf6909", - "sha256:2ebdde19cd3c8cdf8df3fc165bc7827334bc4e353465048b36f7deeae8ee0918", - "sha256:43e69ffe47e3609a6aec0fe723001c60c65305784d964f5007d5b4fb1bc6bf33", - "sha256:46f7f3af321a573fc0c3586612db4decb7eb37172af1bc6173d81f5b66c2e068", - "sha256:47f0a183743e7f71f29e4e21574ad3fa95676136f45b91afcf83f6a050914829", - "sha256:498e6217523111d07cd67e87a791f5e9ee769f9241fcf8a379696e25806965af", - "sha256:4b9c458732450ec42578b5642ac53e312092acf8c0bfce140ada5ca1ac556f79", - "sha256:51799ca950cfee9396a87f4a1240622ac38973b6df5ef7a41e7f0b98797099ce", - "sha256:5601f44a0f38fed36cc07db004f0eedeaadbdcec90e4e90509480e7e6060a5bc", - "sha256:5f223101f21cfd41deec8ce3889dc59f88a59b409db028c469c9b20cfeefbe36", - "sha256:610f5f83dd1e0ad40254c306f4764fcdc846641f120c3cf424ff57a19d5f7ade", - "sha256:6a03d9917aee887690aa3f1747ce634e610f6db6f6b332b35c2dd89412912bca", - "sha256:705e2af1f7be4707e49ced9153f8d72131090e52be9278b5dbb1498c749a1e32", - "sha256:766b32c762e07e26f50d8a3468e3b4228b3736c805018e4b0ec8cc01ecd88125", - "sha256:77416e6b17926d953b5c666a3cb718d5945df63ecf922af0ee576206d7033b5e", - "sha256:778fd096ee96890c10ce96187c76b3e99b2da44e08c9e24d5652f356873f6709", - "sha256:78dea98c81915bbf510eb6a3c9c24915e4660302937b9ae05a0947164248020f", - "sha256:7dd215e4e8514004c8d810a73e342c536547038fb130205ec4bba9f5de35d45b", - "sha256:7dde79d007cd6dfa65afe404766057c2409316135cb892be4b1c768e3f3a11cb", - "sha256:81bd7c90d28a4b2e1df135bfbd7c23aee3050078ca6441bead44c42483f9ebfb", - "sha256:85148f4225287b6a0665eef08a178c15097366d46b210574a658c1ff5b377489", - "sha256:865c0b50003616f05858b22174c40ffc27a38e67359fa1495605f96125f76640", - "sha256:87883690cae293541e08ba2da22cacaae0a092e0ed56bbba8d018cc486fbafbb", - "sha256:8aab36778fa9bba1a8f06a4919556f9f8c7b33102bd71b3ab307bb3fecb21851", - "sha256:8c73c1a2ec7c98d7eaded149f6d225a692caa1bd7b2401a14125446e9e90410d", - "sha256:936503cb0a6ed28dbfa87e8fcd0a56458822144e9d11a49ccee6d9a8adb2ac44", - "sha256:944b180f61f5e36c0634d3202ba8509b986b5fbaf57db3e94df11abee244ba13", - "sha256:96b81ae75591a795d8c90edc0bfaab44d3d41ffc1aae4d994c5aa21d9b8e19a2", - "sha256:981da26722bebb9247a0601e2922cedf8bb7a600e89c852d063313102de6f2cb", - "sha256:ae9de71eb60940e58207f8e71fe113c639da42adb02fb2bcbcaccc1ccecd092b", - "sha256:b73d4b78807bd299b38e4598b8e7bd34ed55d480160d2e7fdaabd9931afa65f9", - "sha256:d4a5f6146cfa5c7ba0134249665acd322a70d1ea61732723c7d3e8cc0fa80755", - "sha256:dd91006848eb55af2159375134d724032a2d1d13bcc6f81cd8d3ed9f2b8e846c", - "sha256:e05e60ff3b2b0342153be4d1b597bbcfd8330890056b9619f4ad6b8d5c96a81a", - "sha256:e6906d6f48437dfd80464f7d7af1740eadc572b9f7a4301e7dd3d65db285cacf", - "sha256:e92d0d4fa68ea0c02d39f1e2f9cb5bc4b4a71e8c442207433d8db47ee79d7aa3", - "sha256:e94b7d9deaa4cc7bac9198a58a7240aaf87fe56c6277ee25fa5b3aa1edebd229", - "sha256:ea3e746e29d4000cd98d572f3ee2a6050a4f784bb536f4ac1f035987fc1ed83e", - "sha256:ec7e20258ecc5174029a0f391e1b948bf2906cd64c198a9b8b281b811cbc04de", - "sha256:ec9465dd69d5657b5d2fa6133b3e1e989ae27d29471a672416fd729b429eb554", - "sha256:f122ccd12fdc69628786d0c947bdd9cb2733be8f800d88b5a37c57f1f1d73c10", - "sha256:f99c0489258086308aad4ae57da9e8ecf9e1f3f30fa35d5e170b4d4896554d80", - "sha256:f9c51d9af9abb899bd34ace878fbec8bf357b3194a10c4e8e0a25512826ef056", - "sha256:fd76c47f20984b43d93de9a82011bb6e5f8325df6c9ed4d8310029a55fa361ea" - ], - "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4'", - "version": "==1.13.3" + "sha256:00b6d4ea20a906c0ca56d84f93065b398ab74b927a7a3dbd470f6fc503f95dc3", + "sha256:01c205616a89d09827986bc4e859bcabd64f5a0662a7fe95e0d359424e0e071b", + "sha256:02b41b633c6261feff8ddd8d11c711df6842aba629fdd3da10249a53211a72c4", + "sha256:07f7a7d0f388028b2df1d916e94bbb40624c59b48ecc6cbc232546706fac74c2", + "sha256:11871514607b15cfeb87c547a49bca19fde402f32e2b1c24a632506c0a756656", + "sha256:1b376b3f4896e7930f1f772ac4b064ac12598d1c38d04907e696cc4d794b43d3", + "sha256:21ac0156c4b089b330b7666db40feee30a5d52634cc4560e1905d6529a3897ff", + "sha256:257fd78c513e0fb5cdbe058c27a0624c9884e735bbd131935fd49e9fe719d310", + "sha256:2b39d38039a1fdad98c87279b48bc5dce2c0ca0d73483b12cb72aa9609278e8a", + "sha256:2cf71233a0ed05ccdabe209c606fe0bac7379fdcf687f39b944420d2a09fdb57", + "sha256:2fe803deacd09a233e4762a1adcea5db5d31e6be577a43352936179d14d90069", + "sha256:3232822c7d98d23895ccc443bbdf57c7412c5a65996c30442ebe6ed3df335383", + "sha256:34aa51c45f28ba7f12accd624225e2b1e5a3a45206aa191f6f9aac931d9d56fe", + "sha256:36f582d0c6bc99d5f39cd3ac2a9062e57f3cf606ade29a0a0d6b323462f4dd87", + "sha256:380a85cf89e0e69b7cfbe2ea9f765f004ff419f34194018a6827ac0e3edfed4d", + "sha256:40e7bc81c9e2b2734ea4bc1aceb8a8f0ceaac7c5299bc5d69e37c44d9081d43b", + "sha256:43ca3bbbe97af00f49efb06e352eae40434ca9d915906f77def219b88e85d907", + "sha256:4fcc4649dc762cddacd193e6b55bc02edca674067f5f98166d7713b193932b7f", + "sha256:5a0f54ce2c092aaf439813735584b9537cad479575a09892b8352fea5e988dc0", + "sha256:5a9a0d155deafd9448baff28c08e150d9b24ff010e899311ddd63c45c2445e28", + "sha256:5b02d65b9ccf0ef6c34cba6cf5bf2aab1bb2f49c6090bafeecc9cd81ad4ea1c1", + "sha256:60db23fa423575eeb65ea430cee741acb7c26a1365d103f7b0f6ec412b893853", + "sha256:642c2e7a804fcf18c222e1060df25fc210b9c58db7c91416fb055897fc27e8cc", + "sha256:6a9a25751acb379b466ff6be78a315e2b439d4c94c1e99cb7266d40a537995d3", + "sha256:6b1a564e6cb69922c7fe3a678b9f9a3c54e72b469875aa8018f18b4d1dd1adf3", + "sha256:6d323e1554b3d22cfc03cd3243b5bb815a51f5249fdcbb86fda4bf62bab9e164", + "sha256:6e743de5e9c3d1b7185870f480587b75b1cb604832e380d64f9504a0535912d1", + "sha256:709fe01086a55cf79d20f741f39325018f4df051ef39fe921b1ebe780a66184c", + "sha256:7b7c050ae976e286906dd3f26009e117eb000fb2cf3533398c5ad9ccc86867b1", + "sha256:7d2872609603cb35ca513d7404a94d6d608fc13211563571117046c9d2bcc3d7", + "sha256:7ef58fb89674095bfc57c4069e95d7a31cfdc0939e2a579882ac7d55aadfd2a1", + "sha256:80bb5c256f1415f747011dc3604b59bc1f91c6e7150bd7db03b19170ee06b320", + "sha256:81b19725065dcb43df02b37e03278c011a09e49757287dca60c5aecdd5a0b8ed", + "sha256:833b58d5d0b7e5b9832869f039203389ac7cbf01765639c7309fd50ef619e0b1", + "sha256:88bd7b6bd70a5b6803c1abf6bca012f7ed963e58c68d76ee20b9d751c74a3248", + "sha256:8ad85f7f4e20964db4daadcab70b47ab05c7c1cf2a7c1e51087bfaa83831854c", + "sha256:8c0ce1e99116d5ab21355d8ebe53d9460366704ea38ae4d9f6933188f327b456", + "sha256:8d649d616e5c6a678b26d15ece345354f7c2286acd6db868e65fcc5ff7c24a77", + "sha256:903500616422a40a98a5a3c4ff4ed9d0066f3b4c951fa286018ecdf0750194ef", + "sha256:9736af4641846491aedb3c3f56b9bc5568d92b0692303b5a305301a95dfd38b1", + "sha256:988635d122aaf2bdcef9e795435662bcd65b02f4f4c1ae37fbee7401c440b3a7", + "sha256:9cca3c2cdadb362116235fdbd411735de4328c61425b0aa9f872fd76d02c4e86", + "sha256:9e0fd32e0148dd5dea6af5fee42beb949098564cc23211a88d799e434255a1f4", + "sha256:9f3e6f9e05148ff90002b884fbc2a86bd303ae847e472f44ecc06c2cd2fcdb2d", + "sha256:a85d2b46be66a71bedde836d9e41859879cc54a2a04fad1191eb50c2066f6e9d", + "sha256:a9a52172be0b5aae932bef82a79ec0a0ce87288c7d132946d645eba03f0ad8a8", + "sha256:aa31fdcc33fef9eb2552cbcbfee7773d5a6792c137b359e82879c101e98584c5", + "sha256:b014c23646a467558be7da3d6b9fa409b2c567d2110599b7cf9a0c5992b3b471", + "sha256:b21bb4c09ffabfa0e85e3a6b623e19b80e7acd709b9f91452b8297ace2a8ab00", + "sha256:b5901a312f4d14c59918c221323068fad0540e34324925c8475263841dbdfe68", + "sha256:b9b7a708dd92306328117d8c4b62e2194d00c365f18eff11a9b53c6f923b01e3", + "sha256:d1967f46ea8f2db647c786e78d8cc7e4313dbd1b0aca360592d8027b8508e24d", + "sha256:d52a25136894c63de15a35bc0bdc5adb4b0e173b9c0d07a2be9d3ca64a332735", + "sha256:d77c85fedff92cf788face9bfa3ebaa364448ebb1d765302e9af11bf449ca36d", + "sha256:d79d7d5dc8a32b7093e81e97dad755127ff77bcc899e845f41bf71747af0c569", + "sha256:dbcda74c67263139358f4d188ae5faae95c30929281bc6866d00573783c422b7", + "sha256:ddaea91abf8b0d13443f6dac52e89051a5063c7d014710dcb4d4abb2ff811a59", + "sha256:dee0ce50c6a2dd9056c20db781e9c1cfd33e77d2d569f5d1d9321c641bb903d5", + "sha256:dee60e1de1898bde3b238f18340eec6148986da0455d8ba7848d50470a7a32fb", + "sha256:e2f83e18fe2f4c9e7db597e988f72712c0c3676d337d8b101f6758107c42425b", + "sha256:e3fb1677c720409d5f671e39bac6c9e0e422584e5f518bfd50aa4cbbea02433f", + "sha256:ee2b1b1769f6707a8a445162ea16dddf74285c3964f605877a20e38545c3c462", + "sha256:ee6acae74a2b91865910eef5e7de37dc6895ad96fa23603d1d27ea69df545015", + "sha256:ef3f72c9666bba2bab70d2a8b79f2c6d2c1a42a7f7e2b0ec83bb2f9e383950af" + ], + "version": "==1.14.1" }, "zipp": { "hashes": [ - "sha256:71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832", - "sha256:9fe5ea21568a0a70e50f273397638d39b03353731e6cbbb3fd8502a33fec40bc" + "sha256:05b45f1ee8f807d0cc928485ca40a07cb491cf092ff587c0df9cb1fd154848d2", + "sha256:47c40d7fe183a6f21403a199b3e4192cca5774656965b0a4988ad2f8feb5f009" ], - "markers": "python_version >= '3.6'", - "version": "==3.6.0" + "version": "==3.8.1" } } } diff --git a/README.md b/README.md index 595e2bd..000d6ae 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ You can thus `join` the results directly to the input. ## Association Measures -The following association measures are currently implemented (v0.2.1): +The following association measures are currently implemented (v0.2.2): - asymptotic hypothesis tests: - **z-score** (`z_score`) @@ -148,7 +148,7 @@ The following association measures are currently implemented (v0.2.1): - **local mutual information** (`local_mutual_information`) - conservative estimates - **conservative log-ratio** (`conservative_log_ratio`) - - parameters: `disc`, `alpha`, `correct`, `one_sided` + - parameters: `disc`, `alpha`, `correct`, `one_sided`, `boundary` You can either calculate specific measures: diff --git a/association_measures/frequencies.py b/association_measures/frequencies.py index c753757..caaab8b 100644 --- a/association_measures/frequencies.py +++ b/association_measures/frequencies.py @@ -1,7 +1,6 @@ """ observed (O11, O12, O21, O22) and expected (E11, E12, E21, E22) frequencies -http://www.collocations.de/AM/index.html """ from pandas import DataFrame @@ -19,10 +18,10 @@ def observed_frequencies(df): Possible input formats: - frequency signature (cf. Evert 2008: Figure 8): - f = O11 # co-occurrence freq. of token and node - f1 = R1 # number of tokens in W(node) - f2 = C1 # marginal freq. of token - N = N # size of corpus without nodes + f = O11 # co-occurrence freq. of token and node / freq. in corpus 1 + f1 = R1 # number of tokens in W(node) / size of corpus 1 + f2 = C1 # marginal freq. of token / freq. in corpus 1 + 2 + N = N # size of corpus without nodes / size of corpus 1 + 2 - corpus frequencies ("keyword friendly"): f1 = O11 # number of occurrences in corpus 1 f2 = O21 # number of occurrences in corpus 2 @@ -57,7 +56,7 @@ def observed_frequencies(df): O22 = df['N2'] - O21 else: - raise ValueError('columns are not reasonably named: %s ' % str(df.columns)) + raise ValueError(f'columns are not reasonably named: {str(df.columns)}') return DataFrame( index=df.index, diff --git a/association_measures/measures.py b/association_measures/measures.py index cceee26..2055d96 100644 --- a/association_measures/measures.py +++ b/association_measures/measures.py @@ -1,14 +1,11 @@ """ -Association measures are mathematical formulae that interpret cooccurrence frequency data. +association measures -http://www.collocations.de/AM/index.html """ - import numpy as np -# from statistics import NormalDist # requires python version >= 3.8 -from scipy.stats import norm # requires scipy from pandas import concat +from scipy.stats import norm, beta from .binomial import choose from .frequencies import expected_frequencies, observed_frequencies @@ -32,25 +29,25 @@ def list_measures(): 'log_likelihood': log_likelihood, 'simple_ll': simple_ll, # point estimates of association strength - 'liddell': liddell, 'min_sensitivity': min_sensitivity, + 'liddell': liddell, 'dice': dice, 'log_ratio': log_ratio, # likelihood measures # 'hypergeometric_likelihood': hypergeometric_likelihood, - # 'binomial_likelihood': binomial_likelihood, + 'binomial_likelihood': binomial_likelihood, + # conservative estimates + 'conservative_log_ratio': conservative_log_ratio, # information theory 'mutual_information': mutual_information, 'local_mutual_information': local_mutual_information, - # conservative estimates - 'conservative_log_ratio': conservative_log_ratio } -def score(df, f1=None, N=None, N1=None, N2=None, - measures=None, freq=True, per_million=True, digits=6, - disc=.5, signed=True, alpha=.01, correct='Bonferroni', - one_sided=False): +def score(df, measures=None, f1=None, N=None, N1=None, N2=None, + freq=True, per_million=True, digits=6, disc=.001, + signed=True, alpha=.001, correct='Bonferroni', + boundary='normal', vocab=None, one_sided=False): """Wrapper for `calculate_measures` that also allows integer counts to be given as parameters. This is reasonable for the following notations: @@ -95,6 +92,7 @@ def score(df, f1=None, N=None, N1=None, N2=None, df = calculate_measures(df, measures, freq, per_million, digits, disc=disc, signed=signed, alpha=alpha, + boundary=boundary, vocab=vocab, correct=correct, one_sided=one_sided) return df @@ -120,7 +118,9 @@ def calculate_measures(df, measures=None, freq=False, :param float disc: discounting (or smoothing) parameter for O11 == 0 (and O21 == 0) :param bool signed: enforce negative values for rows with O11 < E11? :param float alpha: CLR: significance level + :param str boundary: exact CI boundary of [poisson] distribution or [normal] approximation? :param str correct: CLR: correction type repeated tests (None|"Bonferroni"|"Sidak") + :param int vocab: CLR: size of vocabulary (number of comparisons for correcting alpha) :param bool one_sided: CLR: calculate one- or two-sided confidence interval :return: association measures @@ -382,8 +382,34 @@ def binomial_likelihood(df, **kwargs): # CONSERVATIVE ESTIMATES # ########################## -def conservative_log_ratio(df, disc=.5, alpha=.01, - correct='Bonferroni', one_sided=False, **kwargs): +def get_poisson_ci_boundary(alpha, O11, N1, O21, N2): + """ + Get the lower (if O11 / N1 >= O21 / N2) or upper (else) bound of + the CI of a Poisson distribution + + :param float alpha: sig. level + :param int O11: + :param int N1: + :param int O21: + :param int N2: + """ + + if (O11 / N1) >= (O21 / N2): + lower = beta.ppf(alpha, O11, O21 + 1) + boundary = max(np.log2((N2 / N1) * lower / (1 - lower)), 0) + else: + upper = beta.ppf(1 - alpha, O11 + 1, O21) + boundary = min(np.log2((N2 / N1) * upper / (1 - upper)), 0) + + return boundary + + +BOUNDARY = np.vectorize(get_poisson_ci_boundary) + + +def conservative_log_ratio(df, disc=.5, alpha=.001, boundary='normal', + correct='Bonferroni', vocab=None, + one_sided=False, **kwargs): """ Calculate conservative log-ratio, i.e. the binary logarithm of the lower bound of the confidence interval of relative risk at the @@ -392,7 +418,9 @@ def conservative_log_ratio(df, disc=.5, alpha=.01, :param DataFrame df: pd.DataFrame with columns O11, O12, O21, O22 :param float disc: discounting (or smoothing) parameter for O11 == 0 and O21 == 0 :param float alpha: significance level + :param str boundary: exact CI boundary of [poisson] distribution or [normal] approximation? :param str correct: correction type for several tests (None | "Bonferroni" | "Sidak") + :param int vocab: size of vocabulary (number of comparisons for correcting alpha) :param bool one_sided: calculate one- or two-sided confidence interval :return: conservative log-ratio @@ -400,46 +428,51 @@ def conservative_log_ratio(df, disc=.5, alpha=.01, """ - # questionable discounting according to Hardie (2014) - O11_disc = df['O11'].where(df['O11'] != 0, disc) - O21_disc = df['O21'].where(df['O21'] != 0, disc) - - # compute natural logarithm of relative risk - # so we can use estimate for standard error of log(RR) - R1 = df['O11'] + df['O12'] - R2 = df['O21'] + df['O22'] - lrr = np.log((O11_disc / O21_disc) / (R1 / R2)) + # correction of alpha for two-sided tests + if not one_sided: + alpha /= 2 # Bonferroni or Sidak correction - if isinstance(correct, str): - vocab = (df['O11'] >= 1).sum() - if correct == 'Bonferroni': - alpha /= vocab - elif correct == "Sidak": # TODO: improve computation - alpha = 1 - (1 - alpha) ** (1 / vocab) + if correct is not None: + if isinstance(correct, str): + vocab = (df['O11'] >= 1).sum() if vocab is None else vocab + if correct == 'Bonferroni': + alpha /= vocab + elif correct == "Sidak": + alpha = 1 - (1 - alpha) ** (1 / vocab) + # more stable alternative: alpha = 1 - exp(log(1 - alpha) / vocab) + # doesn't make any difference in practice though, e.g. alpha = .00001, vocab = 10**10 + else: + raise ValueError('parameter "correct" should either be "Bonferroni" or "Sidak".') else: - raise ValueError('parameter "correct" should either be "Bonferroni" or "Sidak".') - elif correct is None: - pass - else: - raise ValueError('parameter "correct" should either be None or a string.') + raise ValueError('parameter "correct" should either be None or a string.') - # get respective quantile of normal distribution - if not one_sided: - alpha /= 2 - # z_factor = NormalDist().inv_cdf(1 - alpha) - z_factor = norm.ppf(1 - alpha) + # CONFIDENCE INTERVAL - # asymptotic standard deviation of log(RR) according to Wikipedia - lrr_sd = np.sqrt(1/O11_disc + 1/O21_disc - 1/R1 - 1/R2) + # Poisson approximation (Evert 2022) + if boundary == 'poisson': + tmp = df[['O11', 'O12', 'O21', 'O22']].copy() + tmp['N1'] = tmp['O11'] + tmp['O12'] + tmp['N2'] = tmp['O21'] + tmp['O22'] + clrr = BOUNDARY(alpha, tmp['O11'], tmp['N1'], tmp['O21'], tmp['N2']) - # calculate and apply appropriate boundary - ci_min = (lrr - lrr_sd * z_factor).clip(lower=0) - ci_max = (lrr + lrr_sd * z_factor).clip(upper=0) - clrr = ci_min.where(lrr >= 0, ci_max) - - # adjust to binary logarithm - clrr /= np.log(2) + # Normal approximation (Hardie 2014) + elif boundary == 'normal': + R1 = df['O11'] + df['O12'] + R2 = df['O21'] + df['O22'] + # - questionable discounting according to Hardie (2014) + O11_disc = df['O11'].where(df['O11'] != 0, disc) + O21_disc = df['O21'].where(df['O21'] != 0, disc) + # - compute natural logarithm of relative risk so we can use estimate for standard error of log(RR) + lrr = np.log((O11_disc / O21_disc) / (R1 / R2)) + # - asymptotic standard deviation of log(RR) according to Wikipedia + lrr_sd = np.sqrt(1/O11_disc + 1/O21_disc - 1/R1 - 1/R2) + # - calculate and apply appropriate boundary + z_factor = norm.ppf(1 - alpha) + ci_min = (lrr - lrr_sd * z_factor).clip(lower=0) + ci_max = (lrr + lrr_sd * z_factor).clip(upper=0) + clrr = ci_min.where(lrr >= 0, ci_max) + clrr /= np.log(2) # adjust to binary logarithm return clrr diff --git a/association_measures/version.py b/association_measures/version.py index 25c58fb..3f4b104 100644 --- a/association_measures/version.py +++ b/association_measures/version.py @@ -2,5 +2,5 @@ Association measures are mathematical formulae that interpret cooccurrence frequency data. """ -VERSION = (0, 2, 1) +VERSION = (0, 2, 2) __version__ = '.'.join(map(str, VERSION)) diff --git a/performance.py b/performance.py index 5e283e9..17f0aba 100755 --- a/performance.py +++ b/performance.py @@ -5,92 +5,99 @@ import timeit import sys -# Number of iterations + +# number of iterations iterations = 1000 if len(sys.argv) > 1: iterations = int(sys.argv[1]) + # code snippet to be executed only once setup = """ import pandas as pd import association_measures.frequencies as fq import association_measures.measures as am -df = pd.read_csv('tests/brown.csv') +df = pd.read_csv('tests/data/brown.csv') df = df.join(fq.observed_frequencies(df)) df = df.join(fq.expected_frequencies(df)) """ + # code snippet whose execution time is to be measured codes = [ { 'name': 'contingency_table', - 'code': ''' -fq.observed_frequencies(df) - ''' + 'code': 'fq.observed_frequencies(df)' }, { 'name': 'expected_frequencies', - 'code': ''' -fq.expected_frequencies(df) - ''' + 'code': 'fq.expected_frequencies(df)' }, + # asymptotic hypothesis tests { 'name': 'z_score', - 'code': ''' -df['am'] = am.z_score(df) - ''' + 'code': 'am.z_score(df)' }, { 'name': 't_score', - 'code': ''' -df['am'] = am.t_score(df) - ''' + 'code': 'am.t_score(df)' }, { - 'name': 'mutual_information', - 'code': ''' -df['am'] = am.mutual_information(df) - ''' + 'name': 'log_likelihood', + 'code': 'am.log_likelihood(df)' }, { - 'name': 'dice', - 'code': ''' -df['am'] = am.dice(df) - ''' + 'name': 'simple_ll', + 'code': 'am.simple_ll(df)' }, + # point estimates of association strength { - 'name': 'log_likelihood', - 'code': ''' -df['am'] = am.log_likelihood(df) - ''' + 'name': 'min_sensitivity', + 'code': 'am.min_sensitivity(df)' + }, + { + 'name': 'liddell', + 'code': 'am.liddell(df)' + }, + { + 'name': 'dice', + 'code': 'am.dice(df)' }, { 'name': 'log_ratio', - 'code': ''' -df['am'] = am.log_ratio(df) - ''' + 'code': 'am.log_ratio(df)' + }, + # likelihood measures + # ~2.5s for a ~25,000 rows on 8 threads + # { + # 'name': 'hypergeometric_likelihood', + # 'code': 'am.hypergeometric_likelihood(df)' + # }, + { + 'name': 'binomial_likelihood', + 'code': 'am.binomial_likelihood(df)' }, + # conservative estimates { 'name': 'conservative_log_ratio', - 'code': ''' -df['am'] = am.conservative_log_ratio(df) - ''' + 'code': 'am.conservative_log_ratio(df)' }, + # ~1.5s for a ~25,000 rows on 8 threads + # { + # 'name': 'conservative_log_ratio_poisson', + # 'code': 'am.conservative_log_ratio(df, boundary="poisson")' + # }, + # information theory { - 'name': 'binomial_likelihood', - 'code': ''' -df['am'] = am.binomial_likelihood(df) - ''' + 'name': 'mutual_information', + 'code': 'am.mutual_information(df)' + }, + { + 'name': 'local_mutual_information', + 'code': 'am.local_mutual_information(df)' }, - # too slow (one iteration > 3 sec) - # { - # 'name': 'hypergeometric_likelihood', - # 'code': ''' - # df['am'] = am.hypergeometric_likelihood(df) - # ''' - # }, ] for code in codes: diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b0471b7 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,3 @@ +[build-system] +requires = ["setuptools", "wheel"] +build-backend = "setuptools.build_meta:__legacy__" \ No newline at end of file diff --git a/pytest.ini b/pytest.ini new file mode 100644 index 0000000..0e89e09 --- /dev/null +++ b/pytest.ini @@ -0,0 +1,21 @@ +[pytest] +markers = + binomial + choose + invalid + zero + z_score + t_score + log_likelihood + simple_ll + min_sensitivity + liddell + dice + log_ratio + hypergeometric_likelihood + binomial_likelihood + conservative_log_ratio + mi + local_mi + score + gold \ No newline at end of file diff --git a/setup.py b/setup.py index 4851ea2..155edb9 100644 --- a/setup.py +++ b/setup.py @@ -12,11 +12,10 @@ NAME = 'association-measures' DESCRIPTION = 'Statistical association measures for Python pandas' URL = 'https://github.com/fau-klue/pandas-association-measures' -EMAIL = 'markus@martialblog.de' -AUTHOR = 'Markus Opolka' -REQUIRES_PYTHON = '>=3.6' -VERSION = None +EMAIL = 'philipp.heinrich@fau.de' +AUTHOR = 'Philipp Heinrich & Markus Opolka' +REQUIRES_PYTHON = '>=3.6' REQUIRED = [ 'wheel', 'pandas', @@ -37,12 +36,7 @@ extensions = [Extension('association_measures.binomial', ['association_measures/binomial.c'])] -LONG_DESCRIPTION = """ -Statistical association measures for Python pandas. - -Association measures are mathematical formulae that interpret cooccurrence frequency data. For each pair of words extracted from a corpus, they compute an association score, a single real value that indicates the amount of (statistical) association between the two words. -""" - +# read long description from README try: with io.open(os.path.join(here, 'README.md'), encoding='utf-8') as f: long_description = '\n' + f.read() @@ -50,13 +44,9 @@ long_description = DESCRIPTION # Load the package's version.py module as a dictionary. -about = {} -if not VERSION: - project_slug = NAME.lower().replace("-", "_").replace(" ", "_") - with open(os.path.join(here, project_slug, 'version.py')) as f: - exec(f.read(), about) -else: - about['__version__'] = VERSION +version = {} +with open(os.path.join(here, 'association_measures', 'version.py')) as f: + exec(f.read(), version) class UploadCommand(Command): @@ -90,7 +80,7 @@ def run(self): os.system('twine upload dist/*') self.status('Pushing git tags…') - os.system('git tag v{0}'.format(about['__version__'])) + os.system('git tag v{0}'.format(version['__version__'])) os.system('git push --tags') sys.exit() @@ -98,9 +88,9 @@ def run(self): setup( name=NAME, - version=about['__version__'], + version=version['__version__'], description=DESCRIPTION, - long_description=LONG_DESCRIPTION, + long_description=long_description, author=AUTHOR, author_email=EMAIL, python_requires=REQUIRES_PYTHON, diff --git a/tests/conftest.py b/tests/conftest.py index 78c5b2d..03c0fe1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -47,7 +47,7 @@ def random_dataframe(): def zero_dataframe(): """ Sample DataFrame with lots of zeros """ - df = pd.read_csv("tests/df-zeros.tsv", index_col=0, + df = pd.read_csv("tests/data/df-zeros.tsv", index_col=0, sep="\t", quoting=3, keep_default_na=False) return df @@ -84,7 +84,7 @@ def ucs_dataframe(): # 'am.z.score.corr' """ - df = pd.read_csv("tests/ucs-gold-100.ds", comment='#', index_col=0, + df = pd.read_csv("tests/data/ucs-gold-100.ds", comment='#', index_col=0, sep="\t", quoting=3, keep_default_na=False) return df @@ -100,7 +100,7 @@ def log_ratio_dataframe(): # 'clr' """ - df = pd.read_csv("tests/log-ratio-gold.tsv", index_col=0, sep="\t") + df = pd.read_csv("tests/data/log-ratio-gold.tsv", index_col=0, sep="\t") return df @@ -110,6 +110,6 @@ def brown_dataframe(): """ Sample DataFrame with real data counts from Brown Corpus. """ - df = pd.read_csv("tests/brown.csv", index_col=0) + df = pd.read_csv("tests/data/brown.csv", index_col=0) return df diff --git a/tests/brown.csv b/tests/data/brown.csv similarity index 100% rename from tests/brown.csv rename to tests/data/brown.csv diff --git a/tests/cqpweb-gold-clr.tsv b/tests/data/cqpweb-gold-clr.tsv similarity index 100% rename from tests/cqpweb-gold-clr.tsv rename to tests/data/cqpweb-gold-clr.tsv diff --git a/tests/cqpweb-gold-lr.tsv b/tests/data/cqpweb-gold-lr.tsv similarity index 100% rename from tests/cqpweb-gold-lr.tsv rename to tests/data/cqpweb-gold-lr.tsv diff --git a/tests/df-zeros.tsv b/tests/data/df-zeros.tsv similarity index 100% rename from tests/df-zeros.tsv rename to tests/data/df-zeros.tsv diff --git a/tests/log-ratio-create.R b/tests/data/log-ratio-create.R similarity index 61% rename from tests/log-ratio-create.R rename to tests/data/log-ratio-create.R index 5d02e82..7102ece 100644 --- a/tests/log-ratio-create.R +++ b/tests/data/log-ratio-create.R @@ -1,6 +1,6 @@ # preprocess cqpweb data # convert to dataframe with columns -# lemma, f, f1, f2, N, lr, clr, clr2 +# lemma, f, f1, f2, N, lr, clr, lrc, lrc.normal, lrc.positive # NB: keyword measures implemented below have different notation: # f1 ~ O11 = f @@ -68,7 +68,7 @@ LogRatio <- function (f1, f2, N1, N2, length.f1=NULL, conf.level=NULL, correct=T z.factor <- -qnorm(alpha / 2) # number of s.d. for asymptotic two-sided conf.int lrr <- log((f1 / N1) / (f2.disc / N2)) lrr.sd <- sqrt(1/f1 + 1/f2.disc - 1/N1 - 1/N2) # asymptotic s.d. of log(RR) according to Wikipedia - print(head(cbind(lrr / log(2), lrr.sd, z.factor))) + # print(head(cbind(lrr / log(2), lrr.sd, z.factor))) lrr <- ifelse(lrr >= 0, pmax(lrr - z.factor * lrr.sd, 0), # log(RR) >= 0 -> lower bound of conf.int (clamped to >= 0) pmin(lrr + z.factor * lrr.sd, 0)) # log(RR) < 0 -> upper bound of conf.int (clamped to <= 0) @@ -84,6 +84,81 @@ LogRatio <- function (f1, f2, N1, N2, length.f1=NULL, conf.level=NULL, correct=T # } lrr / log(2) # adjust to log2 units } +################################################################################ +# Evert 2022: Keyness @ DH +binom.confint <- function(k, n, conf.level=0.95, correct=FALSE, + alternative=c("two.sided", "less", "greater")) { + alternative <- match.arg(alternative) + stopifnot(all(k >= 0) && all(k <= n) && all(n >= 1)) + stopifnot(all(conf.level >= 0) && all(conf.level <= 1)) + + ## significance level for underlying hypothesis test (with optional Bonferroni correction) + alpha <- if (alternative == "two.sided") (1 - conf.level) / 2 else (1 - conf.level) + if (correct) alpha <- alpha / length(k) # Bonferroni correction + alpha <- rep_len(alpha, length(k)) # needs to be vector for safe.qbeta() + + ## Clopper-Pearson method: invert binomial test (using incomplete Beta function) + lower <- safe.qbeta(alpha, k, n - k + 1) + upper <- safe.qbeta(alpha, k + 1, n - k, lower.tail=FALSE) + switch(alternative, + two.sided = data.frame(lower = lower, upper = upper), + less = data.frame(lower = 0, upper = upper), + greater = data.frame(lower = lower, upper = 1)) +} + +## safely compute qbeta even for shape parameters alpha == 0 or beta == 0 +safe.qbeta <- function (p, shape1, shape2, lower.tail=TRUE) { + stopifnot(length(p) == length(shape1) && length(p) == length(shape2)) + is.0 <- shape1 <= 0 + is.1 <- shape2 <= 0 + ok <- !(is.0 | is.1) + x <- numeric(length(p)) + x[ok] <- qbeta(p[ok], shape1[ok], shape2[ok], lower.tail=lower.tail) # shape parameters are valid + x[is.0 & !is.1] <- 0 # density concentrated at x = 0 (for alpha == 0) + x[is.1 & !is.0] <- 1 # density concentrated at x = 1 (for beta == 0) + x[is.0 & is.1] <- NA # shouldn't happen in our case (alpha == beta == 0) + x +} + +LRC <- function (f1, f2, N1, N2, conf.level=.95, correct=TRUE) { + stopifnot(length(f1) == length(f2)) + stopifnot(all(f1 + f2 >= 1)) + + ## exact confidence interval from conditional Poisson test (two-sided) + tau <- binom.confint(f1, f1 + f2, conf.level=conf.level, correct=correct, alternative="two.sided") + ifelse(f1 / N1 >= f2 / N2, + pmax(log2( (N2 / N1) * tau$lower / (1 - tau$lower) ), 0), # p1 >= p2 -> use lower bound (clamped to >= 0) + pmin(log2( (N2 / N1) * tau$upper / (1 - tau$upper) ), 0)) # p1 < p2 -> use upper bound (clamped to <= 0) +} + +PositiveLRC <- function (f1, f2, N1, N2, conf.level=.95, correct=TRUE) { + stopifnot(length(f1) == length(f2)) + stopifnot(all(f1 + f2 >= 1)) + + ## exact confidence interval from conditional Poisson test (one-sided) + tau <- binom.confint(f1, f1 + f2, conf.level=conf.level, correct=correct, alternative="greater") + log2( (N2 / N1) * tau$lower / (1 - tau$lower) ) +} + +ApproxLRC <- function (f1, f2, N1, N2, conf.level=.95, correct=TRUE) { + stopifnot(length(f1) == length(f2)) + stopifnot(all(f1 >= 1)) + + alpha <- 1 - conf.level # desired significance level + if (correct) alpha <- alpha / length(f1) # Bonferroni correction + + ## approximate confidence interval based on asymptotic standard deviation of log(rr) + f2.disc <- pmax(f2, 0.5) # with Hardie's (2014) questionable discounting + lrr <- log((f1 / N1) / (f2.disc / N2)) + lrr.sd <- sqrt(1/f1 + 1/f2.disc - 1/N1 - 1/N2) # asymptotic s.d. of log(RR) according to Wikipedia + z.factor <- -qnorm(alpha / 2) # number of s.d. for asymptotic two-sided conf.int + lrr <- ifelse(lrr >= 0, + pmax(lrr - z.factor * lrr.sd, 0), # log(RR) >= 0 -> use lower bound (clamped to >= 0) + pmin(lrr + z.factor * lrr.sd, 0)) # log(RR) < 0 -> use upper bound (clamped to <= 0) + + lrr / log(2) # adjust to log2 units +} + ################################################################################ library(tidyverse) @@ -95,7 +170,7 @@ library(tidyverse) # f1 = R1 # f2 = C1 # N -# lr, lr2, clr, clr2 +# lr, lr2, clr clr <- read_tsv("cqpweb-gold-clr.tsv", skip=3) names(clr) <- c('rank', 'lemma', 'f2', 'E11', 'f', 'texts', 'clr') @@ -163,6 +238,14 @@ res$clr <- LogRatio( f1 = res$f, f2 = res$f2 - res$f, N1 = res$f1, N2 = res$N - res$f1, length.f1 = NULL, conf.level = .99 ) + +# "new" measures / implementations from DH +res <- res %>% mutate( + lrc = LRC(f1 = f, f2 = f2 - f, N1 = f1, N2 = N - f1), + lrc.positive = PositiveLRC(f1 = f, f2 = f2 - f, N1 = f1, N2 = N - f1), + lrc.normal = ApproxLRC(f1 = f, f2 = f2 - f, N1 = f1, N2 = N - f1), +) + res %>% select(-c("lr.cqpweb", "clr.cqpweb")) %>% write_tsv("log-ratio-gold.tsv") diff --git a/tests/data/log-ratio-gold.tsv b/tests/data/log-ratio-gold.tsv new file mode 100644 index 0000000..664545e --- /dev/null +++ b/tests/data/log-ratio-gold.tsv @@ -0,0 +1,600 @@ +lemma f f1 f2 N lr clr lrc lrc.positive lrc.normal +eingebracht 1189 168329 2157 19720567 7.156575955874566 6.888131619986817 6.910068549501856 6.9206299783908864 6.9112561373666805 +unionsgeführt 49 168329 88 19720567 7.189213818656465 5.856503097986011 5.941562136184079 5.994636950864576 5.971306385306486 +Befragung 150 168329 349 19720567 6.452100263355738 5.7806986388180706 5.821970068053486 5.849267895502715 5.8385349812543765 +Unterrichtung 198 168329 512 19720567 6.194642064591488 5.631221538846797 5.665705265013545 5.688700963467937 5.679756098895043 +Menschenrechtsbeauftragte 22 168329 33 19720567 7.859906193403504 5.566437053277636 5.7600897023524364 5.846604066211909 5.764002655902978 +Beauftragte 105 168329 264 19720567 6.261268755785273 5.480397187091911 5.521061539662923 5.553362462586248 5.547663565061763 +Gegenäußerung 22 168329 35 19720567 7.618898093899711 5.446229288176789 5.596316330905679 5.681154204866727 5.633388824966707 +Entwurf 1178 168329 4564 19720567 5.3366637593383235 5.127122404639904 5.141828566151466 5.150299071025225 5.1451728607335285 +-eingebrachten 15 168329 18 19720567 9.181834288290867 5.25375813796948 5.991330482867978 6.10798857532048 5.592133186588571 +Tourismuspolitischen 15 168329 24 19720567 7.596871787569712 4.978178871804348 5.124418460485449 5.229718965942537 5.203760125522678 +Fortsetzung 121 168329 475 19720567 5.311163880595102 4.65729859404674 4.683726251530832 4.711553797692531 4.71362430914471 +Rohstoffstrategie 27 168329 74 19720567 6.060204843889336 4.560465133895129 4.562261772617404 4.6300924503182825 4.689656747770474 +Menschenrechtsbericht 15 168329 30 19720567 6.859906193403504 4.592064343549131 4.604327366024089 4.705431956027296 4.787422342436727 +auffordern 249 168329 1196 19720567 4.932687510003201 4.490621216947366 4.513587650180367 4.532066271896168 4.5287019968715 +CSU-geführt 14 168329 28 19720567 6.859906193403506 4.512463344917716 4.514677178205336 4.62024261002609 4.7146783880048835 +afrikapolitischen 10 168329 18 19720567 7.181834288290867 4.235794337967034 4.236153388286578 4.369159989792686 4.489574146014556 +Behindertenbeauftragte 19 168329 57 19720567 5.859906193403504 4.114865723893552 4.064868628184806 4.148175864005812 4.265188205209094 +Drogenbeauftragte 10 168329 20 19720567 6.859906193403506 4.082357714502714 4.011790653048941 4.143278091071637 4.321623213852323 +Löning 12 168329 29 19720567 6.357405852874322 4.015723850944875 3.9159390729710513 4.030251560588259 4.217442639209327 +seitens 124 168329 779 19720567 4.458751407365567 3.8506798467384367 3.870614479615809 3.8969457599236415 3.9030607670712207 +Demografiestrategie 22 168329 81 19720567 5.436694762678961 3.8852458913898764 3.8349496218297507 3.909714024319981 4.01889187154979 +Sportbericht 7 168329 10 19720567 8.082298614739953 3.796411027509852 4.0603178799231285 4.234731689446559 4.165608916045259 +Schwarz-Gelb 302 168329 2562 19720567 3.956203875426034 3.5759810982561833 3.5951034470928094 3.6110849729155587 3.6087345113233935 +beabsichtigen 51 168329 306 19720567 4.537978098516143 3.585393872079323 3.5855534848585053 3.6291925716345426 3.6674520404037745 +Rentenversicherungsbericht 10 168329 27 19720567 6.094371447040528 3.619216538285602 3.4275595820543305 3.5560525211080733 3.832433041871259 +Fortschrittsbericht 33 168329 177 19720567 4.7343753113196465 3.5357963832171992 3.51055124734848 3.56743729230872 3.6390451970257867 +Menschenrechtspolitik 23 168329 113 19720567 4.8916150531308435 3.4405617416514462 3.377614878716524 3.449073870659511 3.5655593781612587 +Energiekonzept 44 168329 284 19720567 4.412447216432284 3.3940153462030054 3.3848507369337932 3.4322712545822944 3.481745807735903 +Haltung 137 168329 1202 19720567 3.9013005612508307 3.337776703300237 3.3558536267613928 3.3803250526682573 3.386320164662729 +Gleichstellungsbericht 18 168329 86 19720567 4.942368353595478 3.296128340669709 3.192174193385635 3.2759427236326553 3.4379398848188396 +vonseiten 99 168329 870 19720567 3.8986757635680807 3.235766920738954 3.2502320467840016 3.2795443362783216 3.2928716721078852 +gedenken 53 168329 397 19720567 4.161561893264606 3.2451905670382484 3.2432345021915636 3.2854426805029284 3.324129258702771 +Jahresgutachten 8 168329 22 19720567 6.052551271345901 3.2999147940689717 2.9996966312350524 3.150455553585141 3.5370343065695264 +Rechtsauffassung 22 168329 120 19720567 4.704627967925594 3.239430962654144 3.1646113911010354 3.237763567374792 3.365646975002761 +Gesetzentwurf 1187 168329 14608 19720567 3.3608058626067567 3.173346496222124 3.185515364090636 3.193183469146572 3.1894947504277646 +Antwort 447 168329 5086 19720567 3.484439083736987 3.177222786236435 3.1941767056977723 3.2069826120237197 3.2036872247109343 +Stellungnahme 123 168329 1166 19720567 3.775897256222979 3.18397520695903 3.200683573840786 3.2265710218536334 3.234964964930503 +Beitrittsantrag 6 168329 12 19720567 6.859906193403504 3.2740850397442065 2.967161966558806 3.157351762861816 3.5829773220665735 +Finanzplan 24 168329 144 19720567 4.537978098516143 3.1492662727277914 3.083682822514023 3.152622905469829 3.268893645921815 +Jahresbericht 33 168329 238 19720567 4.224820213256512 3.0599682204984946 3.026456863263389 3.082588965360296 3.160311705349543 +planen 132 168329 1444 19720567 3.546748308143875 2.9798217989855256 2.996430029015802 3.0211888156015316 3.028658373878355 +Breitbandstrategie 10 168329 39 19720567 5.323853293163295 3.0462568023731875 2.7800061631467683 2.9063394605498067 3.2424550922771953 +Fachkräftekonzept 7 168329 20 19720567 5.966821397320017 3.0551555180814147 2.661035309451801 2.8274715133582236 3.305974251157478 +Koordinator 13 168329 62 19720567 4.945636067429389 3.008028081122532 2.819477759920381 2.923731365743853 3.1749388464644106 +Afrika-Konzept 8 168329 27 19720567 5.61197867995992 2.9943627871470997 2.639219484971531 2.788792220211082 3.2198512632104204 +CDU-geführt 10 168329 41 19720567 5.227637977903992 2.9689595755281504 2.6957602738452318 2.821877762245202 3.1635282103944284 +Rahmenprogramm 19 168329 117 19720567 4.493123862731882 2.9363141212038113 2.8297137702065096 2.909774539801016 3.070421901150271 +SPD-geführt 19 168329 118 19720567 4.478477086767481 2.9229448358849135 2.8159736298923455 2.8960115163941063 3.0569425693499044 +Verordnung 124 168329 1443 19720567 3.4488736545388354 2.8656897144303297 2.881410612122338 2.9069895375788266 2.915926748168065 +Entsendung 24 168329 173 19720567 4.2257001736625 2.859700625731848 2.7880051799305545 2.856492331933131 2.9773715022006946 +rot-grün 220 168329 2938 19720567 3.2329361661607736 2.797847259260816 2.8159434647117836 2.83454034335141 2.835326988367864 +Gremienbericht 5 168329 7 19720567 8.181834288290867 2.9854612957273936 3.219920584278789 3.44363461463165 3.433090846864719 +damalig 113 168329 1364 19720567 3.391219081652873 2.7813205667545264 2.79578010780383 2.8226875292767413 2.833858865843905 +bewerten 103 168329 1257 19720567 3.373979211941241 2.735456707150444 2.7485195576193946 2.7768525547538143 2.790460753745949 +beabsichtigt 20 168329 141 19720567 4.262971051016273 2.7638638285580037 2.6620091459995705 2.7390963167975655 2.8930009582552074 +Patientenbeauftragten 6 168329 17 19720567 5.985437075487364 2.8333326471631755 2.3253480725220195 2.5130803060555285 3.1048634037905343 +Aktionsplan 81 168329 970 19720567 3.4037165874583604 2.6830257160514583 2.6913126076135585 2.723796250550149 2.7451079668325926 +Aufforderung 33 168329 300 19720567 3.8436043810744045 2.6976615156289077 2.659574977120034 2.7152798763542827 2.7963761173756416 +Auffassung 159 168329 2264 19720567 3.1331846307341022 2.6225922616123665 2.6395224628328213 2.6616823077496528 2.666576062107672 +Patientenbeauftragte 5 168329 12 19720567 6.374479366233263 2.7377920526212343 2.140451657690925 2.3589600691516557 3.051066082824345 +Reichtumsbericht 20 168329 156 19720567 4.094371447040528 2.6070380994262226 2.5018509679296628 2.578719976576992 2.735160995865134 +Weigerung 10 168329 51 19720567 4.824282283672784 2.6338196197580888 2.335852483428042 2.461178270521471 2.8225119673694747 +zeihen|ziehen 81 168329 1068 19720567 3.252849921831732 2.5351543336015014 2.5428845980110832 2.575283141039164 2.596978562630575 +messen|missen 10 168329 53 19720567 4.755569533588769 2.5751186607699483 2.2735546468377086 2.3987624356426185 2.762948565758232 +Protokollerklärung 8 168329 37 19720567 5.0019251982759325 2.5216385996911317 2.112304023061436 2.260604056975463 2.735297160846252 +Integrationsbeauftragte 5 168329 14 19720567 6.011909286848555 2.5476791587441734 1.8680165678417469 2.085741338844282 2.846097262967823 +inwieweit 47 168329 581 19720567 3.3537991133935887 2.408943491892225 2.3947040932494317 2.4392949858289996 2.49033589739266 +Position 137 168329 2275 19720567 2.895892138643541 2.3487349139060116 2.3641285447887723 2.3880959920599687 2.3958685094468466 +Verhandlungsstrategie 5 168329 15 19720567 5.859906193403506 2.4581009524051467 1.749181769280812 1.9666099022403476 2.751141608890719 +erwägen 13 168329 93 19720567 4.238417816657235 2.38119756959182 2.1662133268955417 2.2693108989879103 2.5411835187811462 +Anfrage 89 168329 1378 19720567 3.003603076008252 2.3230720112423424 2.332268821329922 2.3628543267281947 2.381694788223925 +Bericht 325 168329 6296 19720567 2.6604452479434277 2.307002649099674 2.3241030678208996 2.339032255450808 2.3374491455501127 +Demografiebericht 7 168329 32 19720567 5.023404925686385 2.36756433089855 1.8670533528394895 2.031478400680994 2.596345585638828 +Reichtumsberichts 7 168329 32 19720567 5.023404925686385 2.36756433089855 1.8670533528394895 2.031478400680994 2.596345585638828 +teilen 97 168329 1656 19720567 2.853413822892848 2.2036499684703017 2.2142372805450097 2.243303491404786 2.2596223751694864 +Bemühung 50 168329 722 19720567 3.1114449603994694 2.2011302592332305 2.189277336604593 2.232106992143936 2.279547216918889 +amtierend 13 168329 102 19720567 4.084612480578199 2.2405662582401993 2.021314273707874 2.124218861445448 2.3994173614929757 +beurteilen 40 168329 552 19720567 3.1818342882908675 2.1622821508146735 2.135889227420898 2.184913568438207 2.250109115182454 +fordern 577 168329 13484 19720567 2.376467611403348 2.1126266918162946 2.127643233227812 2.1386127839030236 2.1353546585298906 +streben 20 168329 210 19720567 3.6119786799599196 2.1519968215354335 2.039128374286335 2.115486614066505 2.277763587102582 +vorgelegt 53 168329 819 19720567 3.006626066041747 2.124606375850438 2.115457358873172 2.1567749756390695 2.2005859251590887 +23 57 168329 903 19720567 2.9682823544482972 2.1185054415870783 2.1127927708349374 2.15235343348424 2.191707511302878 +Gesundheitsforschung 16 168329 151 19720567 3.783090596352674 2.1410036797322847 1.978883606444264 2.0677229773997112 2.282457464991192 +Mitglied 153 168329 3092 19720567 2.5961843924448242 2.081384928342509 2.097175915603248 2.119630774760005 2.125731139319211 +Verhandlungsposition 10 168329 71 19720567 4.251096950727981 2.132217575881027 1.8087503586332507 1.9332221576096087 2.31474354636741 +Leitlinie 32 168329 428 19720567 3.2305495733238954 2.089212480909138 2.0426246909178465 2.098893298842938 2.1875303289745367 +Drucksache 546 168329 13303 19720567 2.3136618571750334 2.042658278498706 2.0578703885231038 2.069154846654755 2.066003255938374 +christlich-liberal 86 168329 1586 19720567 2.7354241627223597 2.046924015941349 2.0546457993486853 2.0857251187354153 2.1062332710896263 +Hightech-Strategie 23 168329 271 19720567 3.429271839073643 2.075577368488618 1.986135500295284 2.0556833990863623 2.1921882524864054 +Einschätzung 56 168329 925 19720567 2.904048748646709 2.047895206536629 2.041104870903739 2.0810491314975175 2.1216465762531254 +innerhalb 143 168329 2952 19720567 2.5639366210554964 2.031717682820164 2.046940952408041 2.0702423797762313 2.0775644541681806 +-Zusammenarbeit 5 168329 19 19720567 5.374479366233263 2.1387205549472017 1.353429421571391 1.5700329959553183 2.417457525206546 +Artikel 58 168329 982 19720567 2.8661381471150196 2.025541027270064 2.0202612561537814 2.0593706088863266 2.0979523249159437 +Nachhaltigkeitsstrategie 16 168329 161 19720567 3.6799971033885703 2.043921565198047 1.8799965642911944 1.9687351854042712 2.1848575141445634 +Ansicht 43 168329 671 19720567 2.991550199213976 2.0126284065067153 1.9906283989228208 2.0374427998721067 2.096955363654556 +Waldstrategie 13 168329 116 19720567 3.873845384361379 2.045842644798966 1.8214179717522294 1.9240861821527337 2.2033117192782514 +Schlussfolgerung 37 168329 561 19720567 3.035936557495005 1.9795494077022437 1.9458591073831826 1.9971843846159831 2.070549439140652 +gemäß 70 168329 1329 19720567 2.6911266426294547 1.928578157669906 1.930236654472108 1.9652075623395024 1.994266135906145 +Familienbericht 7 168329 41 19720567 4.57979827421077 2.0019992645376483 1.4701771001477881 1.6339475783423967 2.2240578071545016 +jetzig 74 168329 1439 19720567 2.65467432322524 1.9135176622239596 1.9169020291161067 1.9507522786740676 1.977362891186782 +Vertreter 90 168329 1842 19720567 2.576972230132006 1.9058552071745054 1.9142856192500002 1.944514116589141 1.963667033264935 +Jahreswirtschaftsbericht 14 168329 143 19720567 3.656033860037855 1.9084184384438625 1.7045656182262992 1.8018319732947645 2.058962733060187 +bekennen 79 168329 1631 19720567 2.56377409939348 1.8475929263973787 1.85270647683143 1.8852728672735568 1.9092866996234419 +antworten 58 168329 1114 19720567 2.6734930691726237 1.8360057355793395 1.830098821523426 1.86912518010985 1.9081491478701922 +Beteiligung 90 168329 1941 19720567 2.4976701098626055 1.8274310108404668 1.8357038860113373 1.8659068569679447 1.8851672102009287 +Belang 30 168329 462 19720567 3.0119092868485553 1.839349109363376 1.7840109784620406 1.842456902980709 1.9403565979867559 +untätig 11 168329 99 19720567 3.859906193403505 1.8737182017538223 1.5827321558288496 1.6984054470291472 2.044813779467133 +Verhandlungsführung 6 168329 33 19720567 4.689981191961193 1.8868318832541382 1.2278899548716613 1.413323232230323 2.1283027069658207 +Erkenntnis 87 168329 1908 19720567 2.472334482275395 1.7909069470785441 1.7983421939845765 1.8291273520183688 1.8496069484351256 +geschäftsführend 5 168329 23 19720567 5.011909286848555 1.8721906742090233 1.0437143552141666 1.259816357507315 2.1426544833475614 +Initiative 137 168329 3397 19720567 2.287282027245592 1.74582909102634 1.7602957367867555 1.7840867452813953 1.792471303806036 +Verkehrssicherheitsprogramm 6 168329 34 19720567 4.637513772067058 1.8434806888013728 1.1807327695152445 1.3661017145578638 2.0841662163250745 +-Gesetzentwurf 7 168329 46 19720567 4.38185889659886 1.8324292841733374 1.289361453365358 1.4528890041420839 2.0520440105795084 +Agrarbericht 5 168329 24 19720567 4.933906774847282 1.8122020368737968 0.975708228231368 1.1917140615793502 2.0811140823797882 +Untätigkeit 12 168329 124 19720567 3.637513772067057 1.7510422178281855 1.4914289111810217 1.5998647520845184 1.9135479533221074 +gegenüber 176 168329 4733 19720567 2.1654691568175624 1.6885937063795426 1.7047125795850193 1.7254035158974255 1.7296730407794147 +Haushaltsjahr 21 168329 299 19720567 3.1332825434587575 1.7277810918492973 1.619082841295515 1.6926615769594988 1.8488547685863541 +versäumen 20 168329 280 19720567 3.159466475262413 1.7183259379256905 1.6002152367516589 1.6762183890140896 1.8424696613991671 +abgestimmt 18 168329 241 19720567 3.2289312949255122 1.7071532265930867 1.5666544412403316 1.6482394719836653 1.8382432839529268 +Aktivität 39 168329 741 19720567 2.6899811919611927 1.6683048858495768 1.6374416445974078 1.6869649836407203 1.7563148318189812 +inwiefern 16 168329 207 19720567 3.282477365367756 1.666101177986643 1.4962890946801928 1.5846958759360696 1.8053401718506177 +weigern 19 168329 271 19720567 3.1305537833471746 1.6530189070848282 1.5237498337739666 1.6023683128655863 1.780297736837344 +unterstützen 234 168329 7125 19720567 1.9797732708878295 1.567199254481049 1.5839752475408215 1.6016570576151454 1.6027394903415975 +Kreativwirtschaft 14 168329 173 19720567 3.3543781601767537 1.622980265985836 1.4140709803967761 1.5110841848072762 1.7721275391561666 +Stand 46 168329 979 19720567 2.5177348786087594 1.579810731686608 1.5605417376905404 1.605277290132204 1.6606060413167014 +Kenntnis 92 168329 2443 19720567 2.1844093258074966 1.524507340531018 1.5327298504705955 1.5624691347333313 1.5813530730999992 +tatenlos 10 168329 104 19720567 3.62724543661323 1.5614175386785685 1.2193804189537125 1.3432036417202178 1.7393735122014145 +vertreten 69 168329 1737 19720567 2.2645270767370107 1.5016680876554487 1.5018301874410773 1.5369503226334877 1.5673828135522125 +Bestreben 9 168329 88 19720567 3.7260504466687143 1.541061830439839 1.1441782300468826 1.278245503257782 1.7292826288548884 +kohärent 10 168329 106 19720567 3.5968717875697114 1.533114177598854 1.1903581070475027 1.3141557453725619 1.7108918109461027 +wann 57 168329 1405 19720567 2.2961914263863883 1.456465084632074 1.4487179459867365 1.4880112335130429 1.5288013711102777 +erwarten 114 168329 3386 19720567 2.0168391746264978 1.4252854707055282 1.4371982571720108 1.4635016563774954 1.4762434984180728 +beauftragen 18 168329 285 19720567 2.9691352631582633 1.4567523562234435 1.313564650943309 1.3949804364772818 1.5870330891015167 +Kenntnisstand 8 168329 74 19720567 3.8155120740450514 1.4904060016994976 1.0219344309826217 1.1687114859936893 1.69069689478977 +erklärt 13 168329 171 19720567 3.2565651633674944 1.4645760704008606 1.2286388652579083 1.330770997195038 1.6189428324627047 +Versagen 38 168329 855 19720567 2.433641438701407 1.403050935637703 1.368984143428837 1.4191946549761405 1.4918287745174361 +die 39632 168329 1811869 19720567 1.3771442299443897 1.3495044156139742 1.3482115650536943 1.3494635542683022 1.3518853835891271 +Bundestag 286 168329 10267 19720567 1.7348088785778724 1.362637616314024 1.379297325308952 1.395130004161525 1.3946974502235205 +ignorieren 34 168329 740 19720567 2.4838446613826646 1.3934467856017037 1.3491170169852809 1.4029182923986325 1.4873765924872826 +bereit 93 168329 2794 19720567 1.9997870800025694 1.3449314253975628 1.3531262778441906 1.3826393922189828 1.4013424534646552 +Jahresabrüstungsbericht 5 168329 31 19720567 4.481394570149775 1.4485030974208681 0.5728690715126894 0.788390837757586 1.709764529294358 +bewaffnet 33 168329 734 19720567 2.4510296787513353 1.3448028265456404 1.2972459445045408 1.3520429601190294 1.4400961840504891 +Absicht 24 168329 476 19720567 2.6246897317094735 1.3237650923252187 1.2348867046393774 1.302053144729563 1.435830241078866 +Hochdruck 8 168329 81 19720567 3.670081634523488 1.3570591185018355 0.8840783673484781 1.0307329113223664 1.556309101537893 +prüfen 76 168329 2268 19720567 2.0098016238865637 1.285278890373776 1.288205360736226 1.321346161446854 1.3476912280668647 +Berufsbildungsbericht 8 168329 82 19720567 3.650452827774555 1.3389744524310936 0.8654184889756389 1.0120573358009328 1.5380914190344084 +Tourismuspolitik 5 168329 33 19720567 4.374479366233263 1.3591095184816238 0.4758307428847664 0.6912550264117102 1.6188615904352242 +Armutszeugnis 14 168329 215 19720567 3.0162094242821804 1.2995137657447495 1.0860448506471578 1.1828271576475853 1.4473945487774968 +ermächtigen 8 168329 83 19720567 3.6310875029076244 1.3211130824425625 0.8469970966018853 0.993620645706011 1.520100494326054 +Appell 26 168329 552 19720567 2.521426922252295 1.2737248100607728 1.1966479963040657 1.260391586827267 1.3812052271194915 +Altenbericht 7 168329 65 19720567 3.809280120333537 1.3242097570370308 0.7559034081170047 0.9188697915967516 1.5382804045557956 +Sicht 121 168329 4153 19720567 1.801489507178183 1.228656187176223 1.2411751189470048 1.2665719567723863 1.27800159064821 +vorliegend 108 168329 3706 19720567 1.8018142243154918 1.1954592610042367 1.2062845305099803 1.2333590299147772 1.247692309025489 +Kernanliegen 6 168329 50 19720567 3.9854370754873636 1.282541145195491 0.5821438715068329 0.7668569852163372 1.5153758731449543 +ergreifen 42 168329 1142 19720567 2.1489358077702434 1.1725699684545796 1.1457506743411279 1.1928869826864101 1.2566767489001232 +Brüssel 39 168329 1049 19720567 2.1651688346265967 1.1517264895493193 1.119012254990006 1.1683361602623976 1.2390271399606185 +derzeitig 32 168329 799 19720567 2.2768234259005715 1.156318159416506 1.1047486836450497 1.1605434229917237 1.2528414979453357 +sechst 12 168329 183 19720567 3.0270161792387635 1.1723086620358454 0.9023259830431122 1.0103108244478056 1.3320781579139698 +vorherig 15 168329 266 19720567 2.7952532350612516 1.1444585320498881 0.9504989149472153 1.0426129441165957 1.286662429458014 +von 2948 168329 153048 19720567 1.1898625511031617 1.075359223902171 1.0828768362155015 1.0875393469341181 1.0852228485942514 +Plan 36 168329 965 19720567 2.1702964084631646 1.1153932144725514 1.0755398126122644 1.1273569153359473 1.206265413965375 +Krisenmanagement 9 168329 114 19720567 3.315585677179694 1.1584428999526786 0.7515813221945862 0.8853324328304312 1.3442649828730393 +Maßnahme 186 168329 7623 19720567 1.538559947703658 1.0777471621359023 1.0936464423464245 1.1136214507624436 1.1174428153650358 +Auftrag 61 168329 1979 19720567 1.8852565259482608 1.077631257964687 1.072180439441587 1.109823496165776 1.1472022715759147 +setzen 221 168329 9452 19720567 1.4755375237402357 1.0530503846203658 1.069444322586239 1.0876161682277599 1.0894445635440433 +Angela 24 168329 557 19720567 2.3868769713654854 1.090946670729894 1.0007697755246037 1.0678334361773203 1.2025815937057744 +folgen 78 168329 2741 19720567 1.7664716990551395 1.0531652230931365 1.0565322106953714 1.0891265774589602 1.1146113621819134 +aktiv 68 168329 2309 19720567 1.817442101143451 1.053071720497801 1.0519209517449077 1.0872279066950437 1.1189166417305025 +nachdrücklich 15 168329 276 19720567 2.7388907924421395 1.0898805370810454 0.8953824480979263 0.9874671300860558 1.2319307173672744 +Hausaufgabe 18 168329 369 19720567 2.574503974541257 1.0735953641734972 0.9271370596024596 1.008345293587618 1.2028876702721074 +sich 1613 168329 86609 19720567 1.140329588888193 0.9849661643668899 0.9950475872042229 1.0014011527557758 0.9983495877818669 +Engagement 70 168329 2495 19720567 1.745420178386619 0.9925935055809862 0.9923951026588552 1.027095580377868 1.0574440207604112 +legen 90 168329 3425 19720567 1.6482882436612325 0.9850031827571729 0.9920317091438454 1.0220321664546215 1.0421403425633453 +Forschungsagenda 7 168329 78 19720567 3.5175139959564268 1.0570672362815958 0.47920614530850625 0.6419540817117273 1.2690167403311896 +zehnt 8 168329 101 19720567 3.320747382295474 1.0324219356462179 0.5502687205053245 0.6966710672235235 1.2295444466756673 +Ressort 24 168329 599 19720567 2.2774505482929235 0.983561473567385 0.8928547012442549 0.9598762966194169 1.0950205598511737 +dies 2878 168329 165678 19720567 1.0380158961028314 0.9222176806170624 0.9298201648036734 0.9345361428758729 0.9321928504700693 +auf 1988 168329 113048 19720567 1.0560284594866987 0.9163139720234769 0.9254694284967101 0.9311716972295291 0.9283493538946483 +daher 142 168329 6163 19720567 1.4538659108244136 0.9267693576866378 0.9408089170452845 0.9639834702093195 0.9721748729998674 +Politik 202 168329 9326 19720567 1.3626669448431625 0.9211216595678441 0.9372318122630072 0.9563042563911746 0.9591575584799213 +Verhandlung 71 168329 2642 19720567 1.6815394180745311 0.9344898244064698 0.934705153704401 0.96910769486827 0.9988426864449566 +Koalitionsfraktion 81 168329 3134 19720567 1.6237443220813497 0.9247171642442603 0.9290040558157358 0.9608698817079117 0.9849332444492833 +neunt 7 168329 82 19720567 3.4384424249652286 0.9838912019825589 0.40375084935079775 0.5664461725563616 1.1953328486387356 +Konsequenz 57 168329 2062 19720567 1.7234096862259642 0.8892854427476515 0.8804098042265001 0.9195535910341255 0.9611391494071427 +Strategie 44 168329 1471 19720567 1.840568192565039 0.8900386416538376 0.8659082431038527 0.9116472342467726 0.9719198147001251 +Anliegen 49 168329 1699 19720567 1.7863657283855352 0.8861472819312085 0.869056761545608 0.9119079841494909 0.9636945210706183 +Regierungskoalition 36 168329 1129 19720567 1.9357535091739126 0.8838075161158723 0.8432756956721588 0.895022658526013 0.9744249743636073 +Rüstungsexport 21 168329 524 19720567 2.277809026376738 0.8945645994289381 0.7798207398084955 0.8529671422060063 1.0137209961760463 +verfolgen 56 168329 2044 19720567 1.7101590738988228 0.8687241768481107 0.8589463867319097 0.8985000879947329 0.9412076428766495 +Auskunft 24 168329 643 19720567 2.1710730949103962 0.8790281141579519 0.787843053593661 0.8548266169498216 0.9903283452251094 +Export 28 168329 803 19720567 2.0692086152995093 0.8745442836312578 0.8059051853945335 0.8665360861832229 0.9774558835702416 +vorlegen 116 168329 5118 19720567 1.4295978463501071 0.8464819262282111 0.858091064945871 0.884038088058224 0.8967131005412826 +endlich 145 168329 6772 19720567 1.3456750793420085 0.8244990387141922 0.8386612341255277 0.8615544175675223 0.8693945451498587 +durch 499 168329 27948 19720567 1.0783362281145807 0.7981954178707091 0.8133297712154227 0.8250452311293117 0.8223275010225864 +schwarz-rot 10 168329 166 19720567 2.8964320694286187 0.8704636434516535 0.5146605446748669 0.6379875302497484 1.0449860148126593 +beschlossen 20 168329 506 19720567 2.257021784685086 0.840020361998456 0.7152521162800352 0.7907964532378272 0.9620846771863577 +scheinen 43 168329 1499 19720567 1.7783763079069066 0.8174618968420827 0.7915240273801847 0.8378906112263705 0.9002376496839012 +agieren 24 168329 677 19720567 2.0939295125782302 0.8031408075165688 0.7116301426555124 0.7785877810907543 0.9143328196155391 +derzeit 70 168329 2916 19720567 1.5144692638219892 0.7632070647295004 0.7627109624778697 0.7973678228138454 0.8279228119338431 +herantragen 6 168329 68 19720567 3.4906723837377864 0.835278050842031 0.11554962221748118 0.2999115906523522 1.0640208633821966 +entschließen 13 168329 269 19720567 2.560345911544597 0.7946271195521227 0.5503787771685614 0.6521150538627207 0.9467308872041862 +getragen 9 168329 145 19720567 2.942368353595478 0.8047239392394155 0.3909212020559901 0.5244488738780807 0.9888663807190389 +bzw. 111 168329 5248 19720567 1.3276117014066515 0.731960008220401 0.7428144745189514 0.7693998486356239 0.7832710477544615 +geführt 14 168329 306 19720567 2.477436556581092 0.7782500825072428 0.5593813550544124 0.6558869369598912 0.9246225772794221 +belohnen 10 168329 176 19720567 2.8067948569439425 0.7845060726242984 0.427440276463902 0.5507210610130902 0.9587114697523593 +Eckpunktepapier 7 168329 93 19720567 3.2409963607590115 0.7998829206474906 0.21455957883568655 0.37713452822317034 1.0101670005309393 +Aussage 55 168329 2202 19720567 1.5731594310693915 0.7251617581373772 0.7142486142852814 0.7541996614084482 0.7982105593383847 +Überlegung 26 168329 805 19720567 1.954866393482928 0.7167457806913077 0.6372430539530589 0.7007829520659448 0.8234008216113737 +Gesamtstrategie 7 168329 95 19720567 3.2078294968238117 0.7688049828525989 0.18267745807227376 0.34523363859681405 0.9789091170177775 +haben 3529 168329 246290 19720567 0.7557727651425217 0.6515680055456051 0.6583411851275847 0.6625841129549396 0.6605444839145549 +Ankündigung 24 168329 731 19720567 1.9793022893152625 0.6902625312425151 0.5982988756390871 0.6652204007852396 0.8013038843420774 +Sparpaket 8 168329 124 19720567 3.001925198275933 0.7316407588987797 0.24282435453057744 0.3890409338205605 0.9272091690199928 +bisher 111 168329 5543 19720567 1.2470542955088793 0.6517450241757317 0.6625414761060663 0.6891165255158571 0.7030265665700328 +Ansinnen 9 168329 155 19720567 2.8400066359658003 0.7069111743734341 0.29149450381342557 0.4249698027743612 0.8906617568224084 +Antrag 453 168329 28569 19720567 0.9041696938654483 0.6104088088308263 0.625829145683019 0.6381502468991525 0.6357141618718676 +offenbar 30 168329 1032 19720567 1.7981299958168153 0.6474339680637151 0.58678211075316 0.644739968736697 0.7465580200006646 +vorwerfen 24 168329 750 19720567 1.9410429561289104 0.6525571867514907 0.5604501178980827 0.6273601987533406 0.7635508177742547 +engagieren 34 168329 1237 19720567 1.714948107477768 0.6349507153997066 0.5881930444680834 0.6417519875958247 0.7279845966351826 +vorhat 5 168329 52 19720567 3.62724543661323 0.705684048381628 0 -0.003192888211019186 0.9573552072275794 +laut 39 168329 1507 19720567 1.6256721594225407 0.6181258552199137 0.5840912649957621 0.6332719603427028 0.7049186048061599 +Reaktion 20 168329 582 19720567 2.0474079680699413 0.6341990717491304 0.5083908604077767 0.5838627142463925 0.7559366885115656 +willens 6 168329 76 19720567 3.315585677179695 0.6736142521389615 0 0.13272157790819758 0.9012007792803114 +Verhalten 43 168329 1742 19720567 1.5557008109213826 0.5967601373119338 0.5703930710900144 0.6167103749712592 0.6793658670987336 +Versäumnis 11 168329 228 19720567 2.557786579596323 0.6383191491782415 0.3249542705675799 0.43973579875734653 0.8036672382261942 +Unfähigkeit 5 168329 53 19720567 3.5968717875697114 0.6782381889724615 0 -0.03190733107206227 0.9296571401416884 +Adresse 13 168329 302 19720567 2.3854202290439184 0.6245804429260597 0.3787966190755392 0.4804589265403698 0.7762639198844459 +richten 45 168329 1863 19720567 1.5236228055390724 0.5864940959342175 0.5633524848147143 0.6084030056998849 0.6672208844535655 +Fehlanzeige 13 168329 303 19720567 2.3804368215296625 0.6197277357618702 0.3739028138728747 0.47556313788347465 0.7713999538404344 +Konzept 60 168329 2725 19720567 1.3868769713654854 0.5762224389292843 0.5693051978714057 0.60721713890421 0.6460544015311148 +Vorschlag 141 168329 7835 19720567 1.0899394315056838 0.5623370135522331 0.5760911036994137 0.599314541317995 0.6077861054217841 +Unterstützung 91 168329 4624 19720567 1.221450387716216 0.5640462857134851 0.5709360054442452 0.6006825794292521 0.6206768438963665 +zuvor 29 168329 1029 19720567 1.7521029038689901 0.5822663925264785 0.5172297537130132 0.5764339061871565 0.6830392572199298 +Herbst 20 168329 599 19720567 2.0044147503016307 0.5919190576955006 0.465915458126648 0.5413736690466168 0.7135952371709801 +Name 43 168329 1782 19720567 1.522128730799016 0.5634603983484043 0.5370341480671105 0.5833446491338825 0.6460426679350105 +Rüstungsexportbericht 6 168329 78 19720567 3.2749436926823488 0.6358708521235178 0 0.0937868993036236 0.8632076873985555 +unverzüglich 13 168329 309 19720567 2.3508925459156473 0.5909493119067228 0.34488360859186495 0.44653230831545976 0.7425555574541481 +tun 296 168329 18825 19720567 0.8918621574794522 0.5283077667969767 0.5446247198118429 0.5600911006866782 0.5596253202035728 +ausdrücklich 79 168329 3947 19720567 1.2463148621037665 0.540600126488888 0.5437792325643951 0.576047538244861 0.6013922926375396 +dass 2316 168329 174459 19720567 0.644077740414136 0.5150473705533322 0.5235186999436617 0.5287800509631788 0.52616239378714 +Vertreterin 11 168329 236 19720567 2.505556620823765 0.5877363272506558 0.2738247886131117 0.3885840060593952 0.7529425274989339 +Absichtserklärung 6 168329 79 19720567 3.255044135244644 0.6173621566777848 0 0.07470683994923542 0.8445791793585281 +warum 127 168329 7102 19720567 1.0806133785717587 0.5246999373065101 0.5372992647469598 0.5619181986160195 0.5725878168988505 +Zusammenarbeit 77 168329 3866 19720567 1.239091309589698 0.5243017473584151 0.5266973976967875 0.5594466040695378 0.5858756434888758 +loben 17 168329 481 19720567 2.089388039526272 0.5557569478855044 0.3919319683329035 0.4761581956085848 0.6878680565653186 +Koalition 178 168329 10692 19720567 0.9756156047980269 0.5064126056075784 0.5218239933913802 0.5422274823097166 0.5468310144131973 +schweigen 15 168329 398 19720567 2.1855962070870665 0.5509231932211847 0.35211132004664825 0.44395946288619337 0.6917383249486916 +keinerlei 23 168329 764 19720567 1.8501384171546842 0.535223094860138 0.4355307611415477 0.504296559822708 0.6484934386835389 +diesbezüglich 23 168329 765 19720567 1.8481927728397147 0.5333041290091926 0.4336048031368455 0.5023700596247511 0.6465721746779205 +bezüglich 27 168329 972 19720567 1.7306231764585387 0.51847881773339 0.44373419145791326 0.5056929814513876 0.6228961942354776 +gesamt 69 168329 3448 19720567 1.2460500150178726 0.49090537476371066 0.4895924988494432 0.5244982896718627 0.5559555658959628 +veranlassen 10 168329 208 19720567 2.5524776682112575 0.5394958975861611 0.1792424730343346 0.3024061037170063 0.7128995635127702 +deutsch 361 168329 24543 19720567 0.7941152714743412 0.4651470251954336 0.48114794743949246 0.4950460610410633 0.49348523506431685 +ankündigen 33 168329 1307 19720567 1.589150750505658 0.4941676701203754 0.44396402710294286 0.49850139567575896 0.5884924588676957 +Wiedervereinigung 13 168329 326 19720567 2.270327064611979 0.5123958809897003 0.26569789353609735 0.36731603726174483 0.6638288031031214 +dankenswerterweise 8 168329 142 19720567 2.7938170029457328 0.5333919482663138 0.040947455614589186 0.18706196074410203 0.7281110444616304 +Umsetzung 74 168329 3841 19720567 1.1901592410850623 0.4612605159615145 0.4623402023732632 0.4958455735895151 0.5240498133461629 +Bundeskanzlerin 51 168329 2385 19720567 1.3437426896676523 0.464726476766545 0.44932308885828803 0.49107176641714567 0.5404472984601483 +Vorstellung 32 168329 1270 19720567 1.5861105941892402 0.47417632790621755 0.420572266796758 0.4761708958297624 0.5699613374162719 +Bundesrat 57 168329 2760 19720567 1.292450411033552 0.4613096119363199 0.4518345866609947 0.4908986187266125 0.5329063166694564 +eindringlich 8 168329 143 19720567 2.783090596352674 0.5231372710855953 0.030519426709204104 0.1766290382059095 0.71781573124008 +Grundsatz 38 168329 1619 19720567 1.4812120544887197 0.4617511884287381 0.4251714266261183 0.47511373411582647 0.5495702904311477 +sehen 231 168329 15295 19720567 0.8328379502053344 0.42135150763107726 0.43756769794074984 0.45525007144229823 0.45679805695542497 +Planung 23 168329 809 19720567 1.7650826472019114 0.4513011278185033 0.3513117084689669 0.42005445954867326 0.5644738028084858 +Bundesministerin 19 168329 614 19720567 1.8910878486517846 0.4437227357660341 0.30601172412548455 0.38406929961834535 0.5684026609253826 +behaupten 42 168329 1902 19720567 1.3911367101868717 0.4221365526787013 0.39370351634693707 0.4406571655600193 0.5056088334749652 +vernachlässigen 12 168329 297 19720567 2.2900505850725574 0.459830385753958 0.1819259951588417 0.28955930430313137 0.6174904781830222 +schätzen 21 168329 719 19720567 1.805140389972613 0.4296621792224312 0.31282211724090436 0.3858167677904308 0.5481495732102012 +Verdienst 14 168329 385 19720567 2.131985738840306 0.4410971481464986 0.21968091174964055 0.3160546842593493 0.5867548409177223 +-Antrag 6 168329 87 19720567 3.1050186912400366 0.47724851765814263 0 -0.06947363912689741 0.7036117107884033 +zusagen 15 168329 433 19720567 2.059437656931141 0.42734619862440587 0.22775997094797787 0.31956538117823685 0.5679389482100163 +Ziel 143 168329 9040 19720567 0.9006742931193316 0.3773578724485298 0.3911540731042049 0.4141780537459181 0.42243775698008684 +handeln 123 168329 7585 19720567 0.937074053925965 0.3726659119073045 0.38477823974426767 0.40982817976514374 0.42128554787870726 +bislang 36 168329 1581 19720567 1.4364400720540804 0.3894132201007918 0.34775523162903876 0.3993853377969541 0.4796069302981364 +Forderung 139 168329 8826 19720567 0.8942049439390516 0.3634247295210442 0.37693975062809837 0.4003298241960452 0.4091475653283516 +national 88 168329 5105 19720567 1.0267285892765055 0.3590382568913812 0.3649740936638506 0.39527286767212233 0.4165548986359228 +liegen 170 168329 11290 19720567 0.8284279619303371 0.3486886557798805 0.3637835486752277 0.38469808209697287 0.3900146904164209 +Sachverständigenrat 11 168329 268 19720567 2.313713262846924 0.4014665497500628 0.08570730979989584 0.20039092569635586 0.5661926267796301 +aktuell 91 168329 5376 19720567 1.0000130773321558 0.34353056065669685 0.3502565529631519 0.37997617304603615 0.4000817309998345 +dazu 276 168329 19977 19720567 0.7024494095584155 0.3262958496277016 0.3425962765534755 0.3586449161271058 0.35869872937314273 +Genehmigung 17 168329 544 19720567 1.90570988301663 0.37532238822305286 0.21056277254058875 0.29473156443364645 0.5071540847431054 +leider 102 168329 6230 19720567 0.9511309534500433 0.33125165353986796 0.3403672245226767 0.368210549458597 0.3846497243048434 +wie 752 168329 61165 19720567 0.5319236355594646 0.3045385620309035 0.31795850278913634 0.32737663567502756 0.32412612407554137 +: 1330 168329 112995 19720567 0.4682991874284894 0.29765892157526663 0.3085375651166891 0.3155351993182304 0.31235833320702294 +Zeitplan 10 168329 234 19720567 2.3744793662332633 0.36712235305274343 0.004946739312925457 0.1280393608897347 0.5400414872388912 +weiterhin 81 168329 4769 19720567 1.004999341865882 0.30913131831518553 0.3128399213473577 0.3446152026912362 0.36907526219269227 +vorig 7 168329 124 19720567 2.7968963958777047 0.38024808312949415 0 -0.052113769484113136 0.5884246711150696 +Vorbehalt 13 168329 365 19720567 2.1009142929072997 0.34687116595998796 0.09895258666315229 0.20051161625081085 0.4979691604100747 +ihr 845 168329 70668 19720567 0.4912990002764254 0.2768875766344681 0.28979684288524327 0.298656444332054 0.2953575535704803 +Beschluss 38 168329 1796 19720567 1.3281143517036866 0.30985903540848253 0.2730079754846946 0.32292116004627797 0.3975742881104566 +Wille 27 168329 1122 19720567 1.5180785410784379 0.30824295463603163 0.23292278751632606 0.29483163974522436 0.4124614472816136 +bestärken 6 168329 94 19720567 2.985437075487364 0.36488488994651164 0 -0.18479339467313757 0.5906263061659249 +bereits 159 168329 11070 19720567 0.7592934375110876 0.26339570423248154 0.27801911045876376 0.29971552557294207 0.3061136692583164 +drängen 19 168329 675 19720567 1.750281702229007 0.3050006964531363 0.16671031178378418 0.24472889369631712 0.429501091018462 +halten 137 168329 9321 19720567 0.7930313496883438 0.25867314306755396 0.271992777965122 0.2955637725858666 0.30470419675029037 +was 499 168329 40734 19720567 0.5266387864980462 0.2472961974829355 0.26232913407153613 0.2740167245605009 0.27135951971044303 +Verantwortlichkeit 8 168329 163 19720567 2.5837817881292673 0.33200044274619195 0 -0.01759231978061044 0.5259749465656302 +Anstrengung 26 168329 1082 19720567 1.5159517921861436 0.28308789742352597 0.20225880657322257 0.26568662395626325 0.3892901105086492 +begründen 29 168329 1282 19720567 1.4267164892092166 0.26021378032085735 0.19436389277302432 0.2534940927998749 0.36069946230085287 +Kritik 42 168329 2145 19720567 1.2139904814504858 0.24622764923496437 0.2175241806599572 0.264447093235536 0.32959334350132524 +voran 18 168329 638 19720567 1.7537067895715799 0.26876770921735416 0.11778202279605864 0.19869982850914508 0.3966843570323765 +Lob 12 168329 335 19720567 2.1094783394307366 0.28361352198814715 0.0043067627810250515 0.1118771941638585 0.44089843010365665 +Einfluss 25 168329 1046 19720567 1.5079952323004284 0.2507952402456441 0.16392075156466723 0.22897346142579156 0.3590938302311393 +Pflicht 34 168329 1619 19720567 1.3171019096270749 0.24068831324987697 0.19309705267194185 0.24657226074687916 0.33341347668098414 +keine 517 168329 43655 19720567 0.47725499355305667 0.20288971871631195 0.21779132209697644 0.22925983623395688 0.22652428170834504 +weder 43 168329 2237 19720567 1.1868231377024099 0.23055710729276774 0.20360919326940213 0.2498596552167347 0.3129324361178398 +Agenda 24 168329 993 19720567 1.52451583870958 0.241211105200953 0.14776452712760582 0.2145674569160185 0.35175842785368777 +fragen 112 168329 7577 19720567 0.8013345704392055 0.2102709049530032 0.22094381383692294 0.24733697903741134 0.2611867194362606 +Entscheidung 99 168329 6536 19720567 0.8370900599734039 0.20827500866468276 0.21673612702796505 0.2450442337511598 0.26244282909799993 +geplant 27 168329 1184 19720567 1.4386205464594837 0.22956539058288103 0.15405081622903066 0.21594277776129006 0.33371665483966884 +Gegensatz 24 168329 1001 19720567 1.512653942156276 0.22947621915698166 0.1359968428564853 0.20279714313666888 0.3400126007827033 +EU-Ebene 12 168329 344 19720567 2.0698292627777364 0.24485122367113712 0 0.07281679602264574 0.40205974231478503 +Zeugnis 7 168329 134 19720567 2.6785764286889435 0.26730532245133193 0 -0.16716219150073763 0.4750187033999689 +Markenzeichen 6 168329 100 19720567 2.890279842447024 0.2750716670662693 0 -0.27679230244875097 0.5003527358716958 +insbesondere 109 168329 7471 19720567 0.7822084837963701 0.18311917393015512 0.1933347483619197 0.2201341507236657 0.23472633901440942 +Berechnung 15 168329 497 19720567 1.8539074527820623 0.22557427158454352 0.024862025643300152 0.11660514760490873 0.36584327306780356 +Kurs 18 168329 660 19720567 1.7034017077235142 0.21918070047396343 0.06799211097072465 0.14889681462697738 0.34703549153967445 +gegenwärtig 22 168329 893 19720567 1.5528089034419377 0.21211218648359112 0.10338030638307928 0.1741047990542564 0.32760340901172835 +Meinung 57 168329 3344 19720567 1.0102404664879365 0.18062641721849748 0.17084509296901926 0.20986827447653889 0.2520916036135371 +an 945 168329 86920 19720567 0.35244712221042435 0.14986952939247736 0.16227059786492698 0.1706239634430638 0.16732010830075614 +hierzu 35 168329 1773 19720567 1.2259768435340712 0.1657373675367 0.1209447744466858 0.173446958621279 0.25706924871958825 +@card@ 848 168329 78643 19720567 0.34043683437558 0.1265346517720815 0.13941318123849158 0.14825181078948307 0.14496076131485766 +Anhaltspunkt 8 168329 178 19720567 2.4505152572658035 0.20361516929188767 0 -0.14781705836569986 0.3971691884644049 +hinsichtlich 35 168329 1795 19720567 1.2078294968238117 0.14772086650553 0.10289813649166095 0.15539723328601832 0.23904147628956313 +welche 153 168329 11649 19720567 0.6284496896388203 0.12322817181463348 0.13750674328995674 0.15966057182458757 0.16674931272815244 +Verbraucherpolitik 11 168329 311 19720567 2.0905191215449217 0.18390601706813053 0 -0.019110515071513175 0.34814679989316416 +Verantwortung 108 168329 7731 19720567 0.7186505347924625 0.11698165052043409 0.12700762854044334 0.15394141916217455 0.16881102708470577 +dafür 261 168329 21791 19720567 0.49375149091879333 0.10728336394577115 0.12352793000235573 0.14005671074549636 0.14057476824900136 +Aufgabe 103 168329 7401 19720567 0.7131212850022419 0.09702920606692408 0.10619703568946565 0.13386366696529242 0.15010103542708517 +Merkel 36 168329 1914 19720567 1.1548498471920428 0.10993929795094604 0.06779771280048615 0.1193774748138262 0.19995070413845797 +als 636 168329 59763 19720567 0.3212596899881733 0.07412846842901293 0.08822177829929573 0.09849812632488418 0.09541701679474011 +bemühen 25 168329 1146 19720567 1.3731918203728029 0.11733296270425989 0.030116559329276656 0.09514105411783622 0.22551602376521726 +fünft 12 168329 370 19720567 1.961052916860405 0.138388253924317 0 -0.034423469800773744 0.29539749212017935 +Bundesfinanzminister 17 168329 648 19720567 1.6458728396712954 0.11943199498256002 0 0.0376355471519249 0.25092371644357536 +jedoch 57 168329 3566 19720567 0.91595197516608 0.08678552302523701 0.07691445652263174 0.11592565714986049 0.1582121521992974 +eine 3297 168329 345582 19720567 0.16200582031615404 0.05438797039888408 0.06139804813757549 0.06578104464163806 0.06365846155141909 +daransetzen 6 168329 108 19720567 2.7724433521531657 0.16339607263667777 0 -0.39098456043236474 0.3881464252956167 +nun 166 168329 13302 19720567 0.5537072129726248 0.06885138783323375 0.08369957427742286 0.10487056871761011 0.11061817318218062 +unter 195 168329 16077 19720567 0.512131526936561 0.0648973608641735 0.08056233745640953 0.09993597333261119 0.10342331527482838 +nach 398 168329 36379 19720567 0.36158315122707835 0.04891215529343641 0.06460495423327013 0.07777714281022705 0.07584647616757965 +seit 135 168329 10521 19720567 0.594369280366541 0.05657379068815645 0.069653835542685 0.09340329423141568 0.10290094118195794 +argumentieren 14 168329 484 19720567 1.7907441688961094 0.1063442953530228 0 -0.020788436209351113 0.2514430325700951 +Information 45 168329 2660 19720567 0.9991640585988759 0.0654921274822369 0.041609719720027 0.0865728055493608 0.14592113980167076 +steuerpolitisch 6 168329 110 19720567 2.744428975983569 0.13677583810759594 0 -0.41817382275959714 0.36140609565449033 +angesichts 53 168329 3309 19720567 0.9189416637004572 0.059030591915025125 0.04532998120138652 0.08606789819796898 0.13310564534790803 +kritisieren 38 168329 2125 19720567 1.0806188216872556 0.06406345826237406 0.02683013958757006 0.07670223401414014 0.1516322724501409 +erklären 65 168329 4326 19720567 0.8252976702537402 0.049228109782125384 0.045220786061666386 0.08131319886314024 0.11608082984329167 +offiziell 14 168329 492 19720567 1.7663943074803603 0.0824022345964659 0 -0.044861722046623205 0.2274658427675115 +insoweit 12 168329 384 19720567 1.90570988301663 0.08415798699209485 0 -0.08902743686029352 0.24107136845214347 +parlamentarisch 52 168329 3268 19720567 0.9092942203656685 0.04119793927127455 0.026414252899777627 0.06761731198397763 0.11597808865746555 +ersuchen 5 168329 78 19720567 2.9920097294108503 0.12091226182062875 0 -0.6097294673777193 0.3682363227623962 +stets 15 168329 560 19720567 1.6766843693477351 0.051194401015615836 0 -0.05867273607079924 0.19121848049259435 +mit 1132 168329 117896 19720567 0.17132842240179322 0 0 0.005639924512841626 0.0023856042156646063 +konkret 81 168329 5900 19720567 0.6932006655368067 0 0.001981131879516192 0.03372342151612074 0.05832761198380059 +Gespräch 47 168329 2956 19720567 0.908187463980836 0 0 0.017845363672289026 0.07373273161709802 +begrüßen 45 168329 2802 19720567 0.9228757377229887 0 0 0.010594030968312617 0.0700047264348561 +Rüstungsexportpolitik 5 168329 81 19720567 2.933906774847282 0.06644417138501431 0 -0.6657569558311643 0.31345511535069687 +eingesetzt 9 168329 246 19720567 2.1410879459475582 0.03190622200635168 0 -0.2587624795368752 0.21359681075084694 +Bundesminister 28 168329 1475 19720567 1.1684119089293843 0 0 -0.02715526132130186 0.08553639973012775 +Abstimmungsverhalten 6 168329 118 19720567 2.6375137720670576 0.03494560853724962 0 -0.5220780610877065 0.25913783271214097 +Entlastung 25 168329 1264 19720567 1.228801911037628 0 0 -0.0483034860212281 0.08231912624458114 +erkennen 50 168329 3344 19720567 0.8181375434518746 0 0 -0.04173369237493821 0.009500211289004652 +verhandeln 23 168329 1143 19720567 1.2541851325155515 0 0 -0.0868352014126429 0.05867735523321354 +stehen 203 168329 18779 19720567 0.34408985372311457 0 0 -0.059232155588278816 0 +beimessen 6 168329 122 19720567 2.586887698997089 0 0 -0.5713517358179541 0.21059782097247123 +Angabe 15 168329 603 19720567 1.5671244441756593 0 0 -0.1671424789113333 0.08311427545952818 +namens 5 168329 85 19720567 2.8599061934035053 0 0 -0.7372273186012143 0.24350167976566817 +ob 156 168329 13984 19720567 0.39000352400335486 0 0 -0.07357647354295782 0 +verweigern 18 168329 803 19720567 1.413282351066828 0 0 -0.13864035765316104 0.060290001886391595 +tragen 71 168329 5360 19720567 0.6408740528668492 0 0 -0.06750429743649101 0 +schriftlich 27 168329 1471 19720567 1.1189386686798026 0 0 -0.10173786388680425 0.016541942257631764 +Finanz 15 168329 610 19720567 1.5500509308167179 0 0 -0.18405332028997878 0.06625794806094289 +neu 206 168329 19552 19720567 0.3066590370298019 0 0 -0.0935124781218289 0 +Änderung 65 168329 4840 19720567 0.660988988621486 0 0 -0.08250617396222928 0 +? 512 168329 54584 19720567 0.13731209444692083 0 0 -0.11164166418506782 0 +appellieren 15 168329 616 19720567 1.5355756083008383 0 0 -0.19839220286415551 0.05196478270813514 +Vorgabe 28 168329 1571 19720567 1.075738768890374 0 0 -0.11931593311682262 0 +Positionierung 6 168329 125 19720567 2.5500509308167176 0 0 -0.6072328766252129 0.17523466992612013 +Expertenkommission 7 168329 168 19720567 2.336344237346492 0 0 -0.5012681915833508 0.1449753072389694 +hier 406 168329 42775 19720567 0.15452065265761078 0 0 -0.12618326319371165 0 +Staatssekretär 50 168329 3494 19720567 0.7538929557813856 0 0 -0.10575739740794377 0 +dankbar 26 168329 1422 19720567 1.1132626853349448 0 0 -0.1343760369810498 0 +gegebenenfalls 17 168329 755 19720567 1.4198920285934482 0 0 -0.18632589298873023 0.027598650484289233 +mangelnd 14 168329 557 19720567 1.5824527276567477 0 0 -0.22685585690964039 0.04614769986006976 +Zielsetzung 11 168329 375 19720567 1.8115431718421058 0 0 -0.2941907860336431 0.07459743125371676 +, 8794 168329 1108396 19720567 -0.10633999470522687 -0.041606226041686144 -0.04588246448773868 -0.16492781197305847 -0.04718256704949233 +Thema 179 168329 16944 19720567 0.31055710798661484 0 0 -0.12037459213070517 0 +Handlungsbedarf 19 168329 899 19720567 1.326473993322431 0 0 -0.17542842092746974 0.01043409911009834 +Fragestunde 13 168329 502 19720567 1.6266552565923633 0 0 -0.2678557354384242 0.03172821610586773 +Vorgehen 30 168329 1777 19720567 0.9961328960952642 0 0 -0.1519886767266363 0 +Vorwurf 24 168329 1293 19720567 1.1353923402835555 0 0 -0.1719075800213215 0 +Europapolitik 7 168329 172 19720567 2.3009389012152934 0 0 -0.5359346425379097 0.11067704722758495 +befragen 7 168329 174 19720567 2.283556822987057 0 0 -0.5529603701798455 0.09382881939196543 +Haushaltsentwurf 13 168329 510 19720567 1.6032438699823108 0 0 -0.2910226500585763 0.008649307012467092 +ein 63 168329 4890 19720567 0.6002750054588191 0 0 -0.15591013530894632 0 +stattdessen 22 168329 1156 19720567 1.1721328870985734 0 0 -0.20382856197564383 0 +Kultur 32 168329 1982 19720567 0.9306477847665321 0 0 -0.17549485133510537 0 +für 1385 168329 168150 19720567 -0.05188055333473743 0 0 -0.20126574649544035 0 +klein 77 168329 6330 19720567 0.5163599321872723 0 0 -0.16107361008930027 0 +Landesregierung 18 168329 858 19720567 1.3155856771796945 0 0 -0.2355764844655313 0 +Projekt 58 168329 4433 19720567 0.6228198869240235 0 0 -0.1686335820822369 0 +EU-Kommission 20 168329 1015 19720567 1.223281572859856 0 0 -0.2327592177031969 0 +Berichtspflicht 5 168329 92 19720567 2.738890792442139 0 0 -0.8543638699005947 0.12868542396682292 +außerordentlich 13 168329 519 19720567 1.5773523368502869 0 0 -0.3166483193424356 0 +Finanzplanung 10 168329 335 19720567 1.8375383803750505 0 0 -0.4002539306548233 0.015323262842286692 +vorgeschlagen 13 168329 522 19720567 1.5688240654689016 0 0 -0.32509004232459443 0 +Ignoranz 6 168329 133 19720567 2.4561840073524954 0 0 -0.6987687323398771 0.08496086095231119 +bei 625 168329 73023 19720567 0.003956350099664772 0 0 -0.22059264181968924 0 +Ziel|Zielen 10 168329 339 19720567 1.8198905145556257 0 0 -0.4176675716287007 0 +Zusage 13 168329 526 19720567 1.5575308959375431 0 0 -0.3362693763388791 0 +Rahmen 74 168329 6174 19720567 0.49476603169484384 0 0 -0.1974355386619326 0 +aus 406 168329 46045 19720567 0.047262550079733484 0 0 -0.23335335065821777 0 +verpflichten 29 168329 1792 19720567 0.9340704292108954 0 0 -0.23634442976692085 0 +schreiben 44 168329 3187 19720567 0.7014112552420511 0 0 -0.22159208146888928 0 +hervor 7 168329 183 19720567 2.2078294968238117 0 0 -0.6271830409864115 0.020355108794312533 +deshalb 171 168329 17384 19720567 0.20654776663571633 0 0 -0.2347788076775775 0 +Erfolg 54 168329 4215 19720567 0.5920791225222146 0 0 -0.2311535700344524 0 +Bilanz 17 168329 825 19720567 1.2891575519020497 0 0 -0.31602685262331326 0 +machen 316 168329 35448 19720567 0.06318885316372212 0 0 -0.2564634425744177 0 +entsprechend 89 168329 8062 19720567 0.37473267060418675 0 0 -0.25122502349469666 0 +umfassend 35 168329 2394 19720567 0.7852295071090091 0 0 -0.26524153871551875 0 +gemeinsam 135 168329 13514 19720567 0.22903912369650994 0 0 -0.2713027272809171 0 +danken 41 168329 2999 19720567 0.687051860922521 0 0 -0.2732087584471875 0 +zeitnah 11 168329 419 19720567 1.6469124700693067 0 0 -0.4568461977111262 0 +Hüppe 7 168329 190 19720567 2.1515612771770662 0 0 -0.6823820140331704 0 +Vorstoß 6 168329 142 19720567 2.357405852874322 0 0 -0.7952474453068267 0 +Blockadehaltung 5 168329 99 19720567 2.6272454366132303 0 0 -0.9626977114534474 0.022327556789742166 +selbstverständlich 41 168329 3036 19720567 0.6691179103454407 0 0 -0.2910803750240143 0 +sowohl 40 168329 2950 19720567 0.675030850495221 0 0 -0.29862467806881876 0 +versuchen 50 168329 3981 19720567 0.5630817347541358 0 0 -0.29596728148876617 0 +reagieren 24 168329 1444 19720567 0.9731934797326169 0 0 -0.33319467632696487 0 +Äußerung 15 168329 708 19720567 1.3300852468748097 0 0 -0.4020843883330617 0 +erfolgreich 48 168329 3780 19720567 0.5791354232729025 0 0 -0.29970051388301006 0 +daran 84 168329 7762 19720567 0.3457087713353157 0 0 -0.30009476079563235 0 +ausschließen 23 168329 1361 19720567 0.997605748819057 0 0 -0.3418724518587646 0 +sollen 327 168329 38553 19720567 -0.00921360392576974 0 0 -0.32315888692833145 0 +betreiben 31 168329 2094 19720567 0.8035743979038956 0 0 -0.3222812192465978 0 +stellen 171 168329 18349 19720567 0.12785285026435494 0 0 -0.3133721392046354 0 +Regierungsfraktion 15 168329 714 19720567 1.317648143636587 0 0 -0.4144205535162071 0 +Spitzenverband 7 168329 194 19720567 2.1203666555734726 0 0 -0.7130011384073327 0 +Frage 237 168329 26928 19720567 0.0445837045180446 0 0 -0.32689606320436587 0 +zudem 30 168329 2012 19720567 0.8140555418255355 0 0 -0.3332223026122067 0 +seinerzeit 11 168329 432 19720567 1.6016613889744062 0 0 -0.5015920402655177 0 +werden 1592 168329 216594 19720567 -0.21745974066095863 -0.06196431209309092 -0.0763886525921038 -0.3565530568503991 -0.0753591066918142 +stützen 10 168329 370 19720567 1.6899811919611925 0 0 -0.5459365855570144 0 +in 2939 168329 414567 19720567 -0.2699657587956144 -0.1560017296444609 -0.16582240352496871 -0.37183594543400583 -0.16581889775147277 +Verpflichtung 25 168329 1567 19720567 0.9131753332631956 0 0 -0.36216218004184164 0 +zurückhaltend 6 168329 147 19720567 2.3053173417258677 0 0 -0.8461835360587652 0 +wiederholt 12 168329 508 19720567 1.4906723837377862 0 0 -0.49932654043629515 0 +vergangen 43 168329 3360 19720567 0.5905076513175807 0 0 -0.34409225830947243 0 +verbal 5 168329 103 19720567 2.567124444175659 0 0 -1.0211351448292292 0 +abwarten 13 168329 580 19720567 1.413140986602368 0 0 -0.47927859690165847 0 +auch 1110 168329 150508 19720567 -0.21255115460709081 -0.02605893466957486 -0.04400471294672568 -0.3797302573592263 -0.04212387627802003 +Ratifizierung 10 168329 375 19720567 1.670081634523488 0 0 -0.5655974453321155 0 +bitten 69 168329 6265 19720567 0.3713092213921057 0 0 -0.3475500787856483 0 +Hinblick 31 168329 2161 19720567 0.7574647886771797 0 0 -0.36819744306154123 0 +Hermesbürgschaft 5 168329 104 19720567 2.5524776682112575 0 0 -1.0353819244413156 0 +umgehend 7 168329 200 19720567 2.074804078193029 0 0 -0.757744666341138 0 +selbst 91 168329 8936 19720567 0.25705440602438057 0 0 -0.36120451235418305 0 +nachgeordnet 5 168329 105 19720567 2.5379780985161426 0 0 -1.0494893621256618 0 +missachten 6 168329 151 19720567 2.264959604109727 0 0 -0.8856757729956711 0 +nachkommen 14 168329 669 19720567 1.3119100190362964 0 0 -0.4949438206344902 0 +Richtung 38 168329 2929 19720567 0.6104808133700411 0 0 -0.3915341346282054 0 +wollen 399 168329 51100 19720567 -0.1295754523950806 0 0 -0.41259996188736336 0 +Druck-sache 5 168329 107 19720567 2.509408946319372 0 0 -1.0772969333530256 0 +lauten 26 168329 1747 19720567 0.8113145295043935 0 0 -0.4347794513251273 0 +letzt 142 168329 15825 19720567 0.07273937447087707 0 0 -0.41410382360836306 0 +Einvernehmen 9 168329 327 19720567 1.716948239561462 0 0 -0.6766303326226948 0 +nichts 118 168329 12699 19720567 0.12359026391577677 0 0 -0.41385974270947323 0 +zu 1843 168329 271146 19720567 -0.33112422676470127 -0.18675432339014042 -0.19993758774895773 -0.46019938955399237 -0.19919073531395295 +offensichtlich 34 168329 2575 19720567 0.6361883746004898 0 0 -0.4311685690159152 0 +ihrerseits 6 168329 157 19720567 2.2064639547995823 0 0 -0.942958009768511 0 +. 6161 168329 960796 19720567 -0.41573469193461454 -0.3378216952921501 -0.3436331500621559 -0.4857825273931369 -0.3445333304585905 +klar 114 168329 12367 19720567 0.1119488089754765 0 0 -0.43549931555111887 0 +entscheiden 56 168329 5088 19720567 0.37034490858182006 0 0 -0.4359087144893004 0 +EU 48 168329 4160 19720567 0.43924414493078295 0 0 -0.4391870275633378 0 +Entschließungsantrag 27 168329 1887 19720567 0.7537067895715799 0 0 -0.4651607370992231 0 +darin 39 168329 3167 19720567 0.5342836149584012 0 0 -0.4528910881139715 0 +zusammen 39 168329 3167 19720567 0.5342836149584012 0 0 -0.4528910881139715 0 +bestätigen 25 168329 1698 19720567 0.7955406531398771 0 0 -0.47922994073582337 0 +rechnen 22 168329 1415 19720567 0.8753582694395494 0 0 -0.49890965428526013 0 +Umgang 22 168329 1416 19720567 0.8743229661723791 0 0 -0.4999396327211684 0 +Finanzpolitik 10 168329 405 19720567 1.556125445226402 0 0 -0.6782473343127364 0 +räumen 8 168329 274 19720567 1.8046237579023154 0 0 -0.7822861269989515 0 +Linie 23 168329 1520 19720567 0.8356096434021014 0 0 -0.5030257688102001 0 +Bundesaußenminister 9 168329 340 19720567 1.6591437880385997 0 0 -0.733711567597214 0 +beantworten 37 168329 2992 19720567 0.5404171439675602 0 0 -0.476588969868734 0 +zurückweisen 8 168329 277 19720567 1.7884438308468809 0 0 -0.7982392095857508 0 +kündigen 9 168329 342 19720567 1.6504528277745552 0 0 -0.7422962323061166 0 +einsetzen 52 168329 4764 19720567 0.35822208771413633 0 0 -0.4817674089210986 0 +gemacht 6 168329 163 19720567 2.1502479452330343 0 0 -0.9980521691023047 0 +Marokko 7 168329 219 19720567 1.9393406608979098 0 0 -0.8909169682064035 0 +Richtlinie 25 168329 1749 19720567 0.7522183240891317 0 0 -0.5223547617768501 0 +unterstellen 15 168329 808 19720567 1.135619733308045 0 0 -0.5950658665627968 0 +über 333 168329 44780 19720567 -0.20051386509971958 0 0 -0.5113529170784893 0 +unternehmen 96 168329 10483 19720567 0.10237728305559236 0 0 -0.4980253969925383 0 +politisch 88 168329 9432 19720567 0.12951325316078482 0 0 -0.499826591246144 0 +hierauf 5 168329 116 19720567 2.3874184219407613 0 0 -1.1961947661380814 0 +Kompass 5 168329 116 19720567 2.3874184219407613 0 0 -1.1961947661380814 0 +mündlich 8 168329 286 19720567 1.7409651206799976 0 0 -0.8450664878153004 0 +nicht 1178 168329 181474 19720567 -0.397977847072504 -0.21706619782744915 -0.2343762653594573 -0.56008757251915 -0.23265041406115097 +Hubert 6 168329 168 19720567 2.1050186912400366 0 0 -1.0424092417146253 0 +bekannt 30 168329 2328 19720567 0.6006337063659104 0 0 -0.5457806020438819 0 +lediglich 20 168329 1293 19720567 0.8678175843895094 0 0 -0.5860835903869266 0 +Bundesregierung 217 168329 28239 19720567 -0.15281488188670536 0 0 -0.5416903989053325 0 +bisherig 25 168329 1799 19720567 0.7109720888771658 0 0 -0.5634183405470479 0 +positionieren 7 168329 226 19720567 1.8924740558599358 0 0 -0.9370386375979989 0 +Programm 45 168329 4082 19720567 0.3726914182526694 0 0 -0.5377797865513493 0 +maritim 14 168329 752 19720567 1.1397841094007128 0 0 -0.6657284602380491 0 +verantwortlich 21 168329 1407 19720567 0.8155120740450515 0 0 -0.5966904446613843 0 +und 2671 168329 437488 19720567 -0.4869783667805467 -0.36739681660119294 -0.37783874364223136 -0.5938553754520536 -0.3776978930842887 +liefern 23 168329 1614 19720567 0.7477500291294701 0 0 -0.5904660253546599 0 +hinaus 41 168329 3674 19720567 0.39051254760610393 0 0 -0.5688099618197615 0 +nehmen 117 168329 13986 19720567 -0.029305234970188054 0 0 -0.5689922003009903 0 +groß 186 168329 24249 19720567 -0.15546389350012976 0 0 -0.5772126937262886 0 +weisen 20 168329 1333 19720567 0.8231830873979805 0 0 -0.6304844521956144 0 +Abhilfe 5 168329 121 19720567 2.323853293163295 0 0 -1.2582460527956385 0 +darauf 116 168329 13909 19720567 -0.033761470524779985 0 0 -0.575928163791571 0 +Versprechen 26 168329 1962 19720567 0.6414826742700025 0 0 -0.6038733201319069 0 +vehement 6 168329 174 19720567 2.052551271345901 0 0 -1.093897753981839 0 +momentan 12 168329 599 19720567 1.247652001014609 0 0 -0.7401351121603356 0 +Außenminister 17 168329 1048 19720567 0.937540417285736 0 0 -0.6652825396188666 0 +gegeben 8 168329 299 19720567 1.6750308504952212 0 0 -0.91013030378854 0 +halbherzig 5 168329 122 19720567 2.3114695687074627 0 0 -1.2703423091233699 0 +UN-Sicherheitsrat 6 168329 175 19720567 2.0439892578424765 0 0 -1.1023032936772943 0 +Zustimmung 30 168329 2425 19720567 0.540986848388481 0 0 -0.6052079316816908 0 +Rat 22 168329 1553 19720567 0.7390792445410146 0 0 -0.6345193283832737 0 +Wirtschaftspolitik 11 168329 523 19720567 1.3193378120408021 0 0 -0.7810924893331325 0 +… 22 168329 1557 19720567 0.7353148717832604 0 0 -0.6382660868562937 0 +dabei 102 168329 12063 19720567 -0.013718855343486375 0 0 -0.5946601967031055 0 +zuversichtlich 8 168329 301 19720567 1.665149338981257 0 0 -0.9198846942648319 0 +Bekenntnis 10 168329 447 19720567 1.410344818790269 0 0 -0.82249827012975 0 +äußern 19 168329 1258 19720567 0.8328732347064889 0 0 -0.6659190402094779 0 +Rechtsverordnung 6 168329 177 19720567 2.0270161792387635 0 0 -1.1189688504808273 0 +müde 5 168329 124 19720567 2.2870165249829237 0 0 -1.2942347029279617 0 +Kampagne 10 168329 450 19720567 1.4004745747662075 0 0 -0.83227034462911 0 +Anlass 18 168329 1165 19720567 0.8661815188299923 0 0 -0.6820689223768693 0 +Bundes-regierung 9 168329 376 19720567 1.5101949420026044 0 0 -0.8809229556991659 0 +Ebene 38 168329 3430 19720567 0.3799132522838914 0 0 -0.6213711624861461 0 +arbeiten 60 168329 6286 19720567 0.16270692754284408 0 0 -0.6129818029618301 0 +Begründung 19 168329 1270 19720567 0.8189676326812708 0 0 -0.6797513728383913 0 +mitteilen 13 168329 701 19720567 1.134081156842499 0 0 -0.7560269989226913 0 +konzeptionell 5 168329 125 19720567 2.2749436926823488 0 0 -1.3060341186923148 0 +genehmigen 9 168329 378 19720567 1.5023541887854213 0 0 -0.8886770459876525 0 +blockieren 14 168329 794 19720567 1.0599308017114983 0 0 -0.7450112216415273 0 +gewaltsam 5 168329 127 19720567 2.251096950727981 0 0 -1.3293472860249107 0 +daraus 27 168329 2178 19720567 0.5440018861439126 0 0 -0.674014615815721 0 +erteilen 27 168329 2178 19720567 0.5440018861439126 0 0 -0.674014615815721 0 +Bestrebung 5 168329 128 19720567 2.2393197829516276 0 0 -1.3408640831034693 0 +namentlich 18 168329 1204 19720567 0.8179429002998138 0 0 -0.7300450674224563 0 +jetzt 219 168329 31170 19720567 -0.2830051489644249 0 0 -0.6698960546407352 0 +allerdings 54 168329 5670 19720567 0.15946647526241312 0 0 -0.6626776090212182 0 +„ 140 168329 18532 19720567 -0.17760154036970868 0 0 -0.6678267797593531 0 +beschließen 61 168329 6651 19720567 0.10458078107097739 0 0 -0.6639659850674389 0 +offenkundig 11 168329 550 19720567 1.2451963492882967 0 0 -0.8545785218503109 0 +aussenden 5 168329 129 19720567 2.227637977903992 0 0 -1.352289659091641 0 +Parlament 56 168329 5976 19720567 0.135879654944797 0 0 -0.6698416955268974 0 +aufgreifen 18 168329 1226 19720567 0.7914264555207383 0 0 -0.7564208933575188 0 +Empfehlung 16 168329 1022 19720567 0.88549160359797785 0 0 -0.7769066092594336 0 +zeigen 84 168329 10137 19720567 -0.04311485574336188 0 0 -0.688229458412255 0 +vor 278 168329 41941 19720567 -0.3676318397259646 0 -0.03580616384266812 -0.7090173028342804 -0.0263653411594967 +zentral 37 168329 3526 19720567 0.30076167683808025 0 0 -0.7155149012949191 0 +trotz 30 168329 2635 19720567 0.41972913184615296 0 0 -0.7260462045659496 0 +wenn 354 168329 55619 19720567 -0.42656672931870104 -0.09575577913876397 -0.13158326659345307 -0.7275278341429826 -0.12425272447973076 +wofür 9 168329 402 19720567 1.411445692587211 0 0 -0.978613882045595 0 +Versuch 15 168329 942 19720567 0.9103712603864929 0 0 -0.8188252304231461 0 +hingegen 13 168329 749 19720567 1.0367839554875842 0 0 -0.8526166642797911 0 +müssen 508 168329 84021 19720567 -0.5011222906815493 -0.22514063854310595 -0.25387444003749815 -0.7506958742751695 -0.24891444062499332 +Außenpolitik 15 168329 954 19720567 0.8918154413582491 0 0 -0.8372683294844893 0 +Staatsminister 11 168329 576 19720567 1.1772307547382523 0 0 -0.9219718041406721 0 +schlagen 20 168329 1490 19720567 0.6602338485671406 0 0 -0.792639067230686 0 +zurzeit 16 168329 1059 19720567 0.8333827508837393 0 0 -0.828715254646829 0 +damals 46 168329 4870 19720567 0.14745395756043314 0 0 -0.7513410698430103 0 +konzentrieren 14 168329 866 19720567 0.9325514952352708 0 0 -0.8715426569646023 0 +erneut 20 168329 1508 19720567 0.6426754771828358 0 0 -0.8101170067246756 0 +unzureichend 11 168329 586 19720567 1.1519196662090647 0 0 -0.9470764709497312 0 +Handlungsfähigkeit 6 168329 198 19720567 1.859906193403505 0 0 -1.2832326069892728 0 +sämtliche 10 168329 502 19720567 1.2393197829516274 0 0 -0.9919125223928226 0 +eigen 65 168329 7758 19720567 -0.027056586574875793 0 0 -0.7690102793581288 0 +versichern 10 168329 503 19720567 1.236390451912956 0 0 -0.9948158717116213 0 +getroffen 6 168329 199 19720567 1.8524116568565807 0 0 -1.2906068970933697 0 +verschieden 31 168329 2891 19720567 0.3323030721246283 0 0 -0.7918374596389812 0 +gegen 99 168329 13213 19720567 -0.18955736604091303 0 0 -0.7796668229093234 0 +Bürokratieabbau 7 168329 269 19720567 1.6338381139236589 0 0 -1.19196414045217 0 +zwischen 76 168329 9567 19720567 -0.10451067971205547 0 0 -0.785580592018044 0 +interessieren 17 168329 1211 19720567 0.7257819133890394 0 0 -0.875870574967333 0 +Gutachter 5 168329 141 19720567 2.094371447040528 0 0 -1.482771649812156 0 +voll 23 168329 1914 19720567 0.49853450151075657 0 0 -0.8386210346624413 0 +Priorität 13 168329 794 19720567 0.9511671734026179 0 0 -0.9376487101002097 0 +Energiepolitik 12 168329 700 19720567 1.0186039394225632 0 0 -0.9674096574503371 0 +kommentieren 6 168329 204 19720567 1.8155120740450517 0 0 -1.3269232812650187 0 +maßgeblich 12 168329 701 19720567 1.0165085214203697 0 0 -0.9694901012696782 0 +vielfältig 13 168329 804 19720567 0.9328120270718052 0 0 -0.9558829040991487 0 +Mandat 26 168329 2318 19720567 0.39795458278769225 0 0 -0.8464828600207706 0 +Vorhaben 18 168329 1352 19720567 0.6482882436612324 0 0 -0.8988427302735917 0 +zeichnen 10 168329 523 19720567 1.1790192726838133 0 0 -1.0516885561349711 0 +umfangreich 12 168329 713 19720567 0.9915980601140382 0 0 -0.9942241868897157 0 +sein 2166 168329 429001 19720567 -0.762595233842554 -0.6296720284440421 -0.6415905032796787 -0.8814016667574571 -0.6411223910052788 +Koalitionsvertrag 31 168329 3036 19720567 0.26095322819183264 0 0 -0.8629727971631845 0 +viert 10 168329 530 19720567 1.1594664752624129 0 0 -1.0710758840865044 0 diff --git a/tests/ucs-gold-100.ds b/tests/data/ucs-gold-100.ds similarity index 100% rename from tests/ucs-gold-100.ds rename to tests/data/ucs-gold-100.ds diff --git a/tests/log-ratio-gold.tsv b/tests/log-ratio-gold.tsv deleted file mode 100644 index 3e223d0..0000000 --- a/tests/log-ratio-gold.tsv +++ /dev/null @@ -1,600 +0,0 @@ -lemma f f1 f2 N lr clr -eingebracht 1189 168329 2157 19720567 7.156575955874566 6.888131619986817 -unionsgeführt 49 168329 88 19720567 7.189213818656465 5.856503097986011 -Befragung 150 168329 349 19720567 6.452100263355738 5.7806986388180706 -Unterrichtung 198 168329 512 19720567 6.194642064591488 5.631221538846797 -Menschenrechtsbeauftragte 22 168329 33 19720567 7.859906193403504 5.566437053277636 -Beauftragte 105 168329 264 19720567 6.261268755785273 5.480397187091911 -Gegenäußerung 22 168329 35 19720567 7.618898093899711 5.446229288176789 -Entwurf 1178 168329 4564 19720567 5.3366637593383235 5.127122404639904 --eingebrachten 15 168329 18 19720567 9.181834288290867 5.25375813796948 -Tourismuspolitischen 15 168329 24 19720567 7.596871787569712 4.978178871804348 -Fortsetzung 121 168329 475 19720567 5.311163880595102 4.65729859404674 -Rohstoffstrategie 27 168329 74 19720567 6.060204843889336 4.560465133895129 -Menschenrechtsbericht 15 168329 30 19720567 6.859906193403504 4.592064343549131 -auffordern 249 168329 1196 19720567 4.932687510003201 4.490621216947366 -CSU-geführt 14 168329 28 19720567 6.859906193403506 4.512463344917716 -afrikapolitischen 10 168329 18 19720567 7.181834288290867 4.235794337967034 -Behindertenbeauftragte 19 168329 57 19720567 5.859906193403504 4.114865723893552 -Drogenbeauftragte 10 168329 20 19720567 6.859906193403506 4.082357714502714 -Löning 12 168329 29 19720567 6.357405852874322 4.015723850944875 -seitens 124 168329 779 19720567 4.458751407365567 3.8506798467384367 -Demografiestrategie 22 168329 81 19720567 5.436694762678961 3.8852458913898764 -Sportbericht 7 168329 10 19720567 8.082298614739953 3.796411027509852 -Schwarz-Gelb 302 168329 2562 19720567 3.956203875426034 3.5759810982561833 -beabsichtigen 51 168329 306 19720567 4.537978098516143 3.585393872079323 -Rentenversicherungsbericht 10 168329 27 19720567 6.094371447040528 3.619216538285602 -Fortschrittsbericht 33 168329 177 19720567 4.7343753113196465 3.5357963832171992 -Menschenrechtspolitik 23 168329 113 19720567 4.8916150531308435 3.4405617416514462 -Energiekonzept 44 168329 284 19720567 4.412447216432284 3.3940153462030054 -Haltung 137 168329 1202 19720567 3.9013005612508307 3.337776703300237 -Gleichstellungsbericht 18 168329 86 19720567 4.942368353595478 3.296128340669709 -vonseiten 99 168329 870 19720567 3.8986757635680807 3.235766920738954 -gedenken 53 168329 397 19720567 4.161561893264606 3.2451905670382484 -Jahresgutachten 8 168329 22 19720567 6.052551271345901 3.2999147940689717 -Rechtsauffassung 22 168329 120 19720567 4.704627967925594 3.239430962654144 -Gesetzentwurf 1187 168329 14608 19720567 3.3608058626067567 3.173346496222124 -Antwort 447 168329 5086 19720567 3.484439083736987 3.177222786236435 -Stellungnahme 123 168329 1166 19720567 3.775897256222979 3.18397520695903 -Beitrittsantrag 6 168329 12 19720567 6.859906193403504 3.2740850397442065 -Finanzplan 24 168329 144 19720567 4.537978098516143 3.1492662727277914 -Jahresbericht 33 168329 238 19720567 4.224820213256512 3.0599682204984946 -planen 132 168329 1444 19720567 3.546748308143875 2.9798217989855256 -Breitbandstrategie 10 168329 39 19720567 5.323853293163295 3.0462568023731875 -Fachkräftekonzept 7 168329 20 19720567 5.966821397320017 3.0551555180814147 -Koordinator 13 168329 62 19720567 4.945636067429389 3.008028081122532 -Afrika-Konzept 8 168329 27 19720567 5.61197867995992 2.9943627871470997 -CDU-geführt 10 168329 41 19720567 5.227637977903992 2.9689595755281504 -Rahmenprogramm 19 168329 117 19720567 4.493123862731882 2.9363141212038113 -SPD-geführt 19 168329 118 19720567 4.478477086767481 2.9229448358849135 -Verordnung 124 168329 1443 19720567 3.4488736545388354 2.8656897144303297 -Entsendung 24 168329 173 19720567 4.2257001736625 2.859700625731848 -rot-grün 220 168329 2938 19720567 3.2329361661607736 2.797847259260816 -Gremienbericht 5 168329 7 19720567 8.181834288290867 2.9854612957273936 -damalig 113 168329 1364 19720567 3.391219081652873 2.7813205667545264 -bewerten 103 168329 1257 19720567 3.373979211941241 2.735456707150444 -beabsichtigt 20 168329 141 19720567 4.262971051016273 2.7638638285580037 -Patientenbeauftragten 6 168329 17 19720567 5.985437075487364 2.8333326471631755 -Aktionsplan 81 168329 970 19720567 3.4037165874583604 2.6830257160514583 -Aufforderung 33 168329 300 19720567 3.8436043810744045 2.6976615156289077 -Auffassung 159 168329 2264 19720567 3.1331846307341022 2.6225922616123665 -Patientenbeauftragte 5 168329 12 19720567 6.374479366233263 2.7377920526212343 -Reichtumsbericht 20 168329 156 19720567 4.094371447040528 2.6070380994262226 -Weigerung 10 168329 51 19720567 4.824282283672784 2.6338196197580888 -zeihen|ziehen 81 168329 1068 19720567 3.252849921831732 2.5351543336015014 -messen|missen 10 168329 53 19720567 4.755569533588769 2.5751186607699483 -Protokollerklärung 8 168329 37 19720567 5.0019251982759325 2.5216385996911317 -Integrationsbeauftragte 5 168329 14 19720567 6.011909286848555 2.5476791587441734 -inwieweit 47 168329 581 19720567 3.3537991133935887 2.408943491892225 -Position 137 168329 2275 19720567 2.895892138643541 2.3487349139060116 -Verhandlungsstrategie 5 168329 15 19720567 5.859906193403506 2.4581009524051467 -erwägen 13 168329 93 19720567 4.238417816657235 2.38119756959182 -Anfrage 89 168329 1378 19720567 3.003603076008252 2.3230720112423424 -Bericht 325 168329 6296 19720567 2.6604452479434277 2.307002649099674 -Demografiebericht 7 168329 32 19720567 5.023404925686385 2.36756433089855 -Reichtumsberichts 7 168329 32 19720567 5.023404925686385 2.36756433089855 -teilen 97 168329 1656 19720567 2.853413822892848 2.2036499684703017 -Bemühung 50 168329 722 19720567 3.1114449603994694 2.2011302592332305 -amtierend 13 168329 102 19720567 4.084612480578199 2.2405662582401993 -beurteilen 40 168329 552 19720567 3.1818342882908675 2.1622821508146735 -fordern 577 168329 13484 19720567 2.376467611403348 2.1126266918162946 -streben 20 168329 210 19720567 3.6119786799599196 2.1519968215354335 -vorgelegt 53 168329 819 19720567 3.006626066041747 2.124606375850438 -23 57 168329 903 19720567 2.9682823544482972 2.1185054415870783 -Gesundheitsforschung 16 168329 151 19720567 3.783090596352674 2.1410036797322847 -Mitglied 153 168329 3092 19720567 2.5961843924448242 2.081384928342509 -Verhandlungsposition 10 168329 71 19720567 4.251096950727981 2.132217575881027 -Leitlinie 32 168329 428 19720567 3.2305495733238954 2.089212480909138 -Drucksache 546 168329 13303 19720567 2.3136618571750334 2.042658278498706 -christlich-liberal 86 168329 1586 19720567 2.7354241627223597 2.046924015941349 -Hightech-Strategie 23 168329 271 19720567 3.429271839073643 2.075577368488618 -Einschätzung 56 168329 925 19720567 2.904048748646709 2.047895206536629 -innerhalb 143 168329 2952 19720567 2.5639366210554964 2.031717682820164 --Zusammenarbeit 5 168329 19 19720567 5.374479366233263 2.1387205549472017 -Artikel 58 168329 982 19720567 2.8661381471150196 2.025541027270064 -Nachhaltigkeitsstrategie 16 168329 161 19720567 3.6799971033885703 2.043921565198047 -Ansicht 43 168329 671 19720567 2.991550199213976 2.0126284065067153 -Waldstrategie 13 168329 116 19720567 3.873845384361379 2.045842644798966 -Schlussfolgerung 37 168329 561 19720567 3.035936557495005 1.9795494077022437 -gemäß 70 168329 1329 19720567 2.6911266426294547 1.928578157669906 -Familienbericht 7 168329 41 19720567 4.57979827421077 2.0019992645376483 -jetzig 74 168329 1439 19720567 2.65467432322524 1.9135176622239596 -Vertreter 90 168329 1842 19720567 2.576972230132006 1.9058552071745054 -Jahreswirtschaftsbericht 14 168329 143 19720567 3.656033860037855 1.9084184384438625 -bekennen 79 168329 1631 19720567 2.56377409939348 1.8475929263973787 -antworten 58 168329 1114 19720567 2.6734930691726237 1.8360057355793395 -Beteiligung 90 168329 1941 19720567 2.4976701098626055 1.8274310108404668 -Belang 30 168329 462 19720567 3.0119092868485553 1.839349109363376 -untätig 11 168329 99 19720567 3.859906193403505 1.8737182017538223 -Verhandlungsführung 6 168329 33 19720567 4.689981191961193 1.8868318832541382 -Erkenntnis 87 168329 1908 19720567 2.472334482275395 1.7909069470785441 -geschäftsführend 5 168329 23 19720567 5.011909286848555 1.8721906742090233 -Initiative 137 168329 3397 19720567 2.287282027245592 1.74582909102634 -Verkehrssicherheitsprogramm 6 168329 34 19720567 4.637513772067058 1.8434806888013728 --Gesetzentwurf 7 168329 46 19720567 4.38185889659886 1.8324292841733374 -Agrarbericht 5 168329 24 19720567 4.933906774847282 1.8122020368737968 -Untätigkeit 12 168329 124 19720567 3.637513772067057 1.7510422178281855 -gegenüber 176 168329 4733 19720567 2.1654691568175624 1.6885937063795426 -Haushaltsjahr 21 168329 299 19720567 3.1332825434587575 1.7277810918492973 -versäumen 20 168329 280 19720567 3.159466475262413 1.7183259379256905 -abgestimmt 18 168329 241 19720567 3.2289312949255122 1.7071532265930867 -Aktivität 39 168329 741 19720567 2.6899811919611927 1.6683048858495768 -inwiefern 16 168329 207 19720567 3.282477365367756 1.666101177986643 -weigern 19 168329 271 19720567 3.1305537833471746 1.6530189070848282 -unterstützen 234 168329 7125 19720567 1.9797732708878295 1.567199254481049 -Kreativwirtschaft 14 168329 173 19720567 3.3543781601767537 1.622980265985836 -Stand 46 168329 979 19720567 2.5177348786087594 1.579810731686608 -Kenntnis 92 168329 2443 19720567 2.1844093258074966 1.524507340531018 -tatenlos 10 168329 104 19720567 3.62724543661323 1.5614175386785685 -vertreten 69 168329 1737 19720567 2.2645270767370107 1.5016680876554487 -Bestreben 9 168329 88 19720567 3.7260504466687143 1.541061830439839 -kohärent 10 168329 106 19720567 3.5968717875697114 1.533114177598854 -wann 57 168329 1405 19720567 2.2961914263863883 1.456465084632074 -erwarten 114 168329 3386 19720567 2.0168391746264978 1.4252854707055282 -beauftragen 18 168329 285 19720567 2.9691352631582633 1.4567523562234435 -Kenntnisstand 8 168329 74 19720567 3.8155120740450514 1.4904060016994976 -erklärt 13 168329 171 19720567 3.2565651633674944 1.4645760704008606 -Versagen 38 168329 855 19720567 2.433641438701407 1.403050935637703 -die 39632 168329 1811869 19720567 1.3771442299443897 1.3495044156139742 -Bundestag 286 168329 10267 19720567 1.7348088785778724 1.362637616314024 -ignorieren 34 168329 740 19720567 2.4838446613826646 1.3934467856017037 -bereit 93 168329 2794 19720567 1.9997870800025694 1.3449314253975628 -Jahresabrüstungsbericht 5 168329 31 19720567 4.481394570149775 1.4485030974208681 -bewaffnet 33 168329 734 19720567 2.4510296787513353 1.3448028265456404 -Absicht 24 168329 476 19720567 2.6246897317094735 1.3237650923252187 -Hochdruck 8 168329 81 19720567 3.670081634523488 1.3570591185018355 -prüfen 76 168329 2268 19720567 2.0098016238865637 1.285278890373776 -Berufsbildungsbericht 8 168329 82 19720567 3.650452827774555 1.3389744524310936 -Tourismuspolitik 5 168329 33 19720567 4.374479366233263 1.3591095184816238 -Armutszeugnis 14 168329 215 19720567 3.0162094242821804 1.2995137657447495 -ermächtigen 8 168329 83 19720567 3.6310875029076244 1.3211130824425625 -Appell 26 168329 552 19720567 2.521426922252295 1.2737248100607728 -Altenbericht 7 168329 65 19720567 3.809280120333537 1.3242097570370308 -Sicht 121 168329 4153 19720567 1.801489507178183 1.228656187176223 -vorliegend 108 168329 3706 19720567 1.8018142243154918 1.1954592610042367 -Kernanliegen 6 168329 50 19720567 3.9854370754873636 1.282541145195491 -ergreifen 42 168329 1142 19720567 2.1489358077702434 1.1725699684545796 -Brüssel 39 168329 1049 19720567 2.1651688346265967 1.1517264895493193 -derzeitig 32 168329 799 19720567 2.2768234259005715 1.156318159416506 -sechst 12 168329 183 19720567 3.0270161792387635 1.1723086620358454 -vorherig 15 168329 266 19720567 2.7952532350612516 1.1444585320498881 -von 2948 168329 153048 19720567 1.1898625511031617 1.075359223902171 -Plan 36 168329 965 19720567 2.1702964084631646 1.1153932144725514 -Krisenmanagement 9 168329 114 19720567 3.315585677179694 1.1584428999526786 -Maßnahme 186 168329 7623 19720567 1.538559947703658 1.0777471621359023 -Auftrag 61 168329 1979 19720567 1.8852565259482608 1.077631257964687 -setzen 221 168329 9452 19720567 1.4755375237402357 1.0530503846203658 -Angela 24 168329 557 19720567 2.3868769713654854 1.090946670729894 -folgen 78 168329 2741 19720567 1.7664716990551395 1.0531652230931365 -aktiv 68 168329 2309 19720567 1.817442101143451 1.053071720497801 -nachdrücklich 15 168329 276 19720567 2.7388907924421395 1.0898805370810454 -Hausaufgabe 18 168329 369 19720567 2.574503974541257 1.0735953641734972 -sich 1613 168329 86609 19720567 1.140329588888193 0.9849661643668899 -Engagement 70 168329 2495 19720567 1.745420178386619 0.9925935055809862 -legen 90 168329 3425 19720567 1.6482882436612325 0.9850031827571729 -Forschungsagenda 7 168329 78 19720567 3.5175139959564268 1.0570672362815958 -zehnt 8 168329 101 19720567 3.320747382295474 1.0324219356462179 -Ressort 24 168329 599 19720567 2.2774505482929235 0.983561473567385 -dies 2878 168329 165678 19720567 1.0380158961028314 0.9222176806170624 -auf 1988 168329 113048 19720567 1.0560284594866987 0.9163139720234769 -daher 142 168329 6163 19720567 1.4538659108244136 0.9267693576866378 -Politik 202 168329 9326 19720567 1.3626669448431625 0.9211216595678441 -Verhandlung 71 168329 2642 19720567 1.6815394180745311 0.9344898244064698 -Koalitionsfraktion 81 168329 3134 19720567 1.6237443220813497 0.9247171642442603 -neunt 7 168329 82 19720567 3.4384424249652286 0.9838912019825589 -Konsequenz 57 168329 2062 19720567 1.7234096862259642 0.8892854427476515 -Strategie 44 168329 1471 19720567 1.840568192565039 0.8900386416538376 -Anliegen 49 168329 1699 19720567 1.7863657283855352 0.8861472819312085 -Regierungskoalition 36 168329 1129 19720567 1.9357535091739126 0.8838075161158723 -Rüstungsexport 21 168329 524 19720567 2.277809026376738 0.8945645994289381 -verfolgen 56 168329 2044 19720567 1.7101590738988228 0.8687241768481107 -Auskunft 24 168329 643 19720567 2.1710730949103962 0.8790281141579519 -Export 28 168329 803 19720567 2.0692086152995093 0.8745442836312578 -vorlegen 116 168329 5118 19720567 1.4295978463501071 0.8464819262282111 -endlich 145 168329 6772 19720567 1.3456750793420085 0.8244990387141922 -durch 499 168329 27948 19720567 1.0783362281145807 0.7981954178707091 -schwarz-rot 10 168329 166 19720567 2.8964320694286187 0.8704636434516535 -beschlossen 20 168329 506 19720567 2.257021784685086 0.840020361998456 -scheinen 43 168329 1499 19720567 1.7783763079069066 0.8174618968420827 -agieren 24 168329 677 19720567 2.0939295125782302 0.8031408075165688 -derzeit 70 168329 2916 19720567 1.5144692638219892 0.7632070647295004 -herantragen 6 168329 68 19720567 3.4906723837377864 0.835278050842031 -entschließen 13 168329 269 19720567 2.560345911544597 0.7946271195521227 -getragen 9 168329 145 19720567 2.942368353595478 0.8047239392394155 -bzw. 111 168329 5248 19720567 1.3276117014066515 0.731960008220401 -geführt 14 168329 306 19720567 2.477436556581092 0.7782500825072428 -belohnen 10 168329 176 19720567 2.8067948569439425 0.7845060726242984 -Eckpunktepapier 7 168329 93 19720567 3.2409963607590115 0.7998829206474906 -Aussage 55 168329 2202 19720567 1.5731594310693915 0.7251617581373772 -Überlegung 26 168329 805 19720567 1.954866393482928 0.7167457806913077 -Gesamtstrategie 7 168329 95 19720567 3.2078294968238117 0.7688049828525989 -haben 3529 168329 246290 19720567 0.7557727651425217 0.6515680055456051 -Ankündigung 24 168329 731 19720567 1.9793022893152625 0.6902625312425151 -Sparpaket 8 168329 124 19720567 3.001925198275933 0.7316407588987797 -bisher 111 168329 5543 19720567 1.2470542955088793 0.6517450241757317 -Ansinnen 9 168329 155 19720567 2.8400066359658003 0.7069111743734341 -Antrag 453 168329 28569 19720567 0.9041696938654483 0.6104088088308263 -offenbar 30 168329 1032 19720567 1.7981299958168153 0.6474339680637151 -vorwerfen 24 168329 750 19720567 1.9410429561289104 0.6525571867514907 -engagieren 34 168329 1237 19720567 1.714948107477768 0.6349507153997066 -vorhat 5 168329 52 19720567 3.62724543661323 0.705684048381628 -laut 39 168329 1507 19720567 1.6256721594225407 0.6181258552199137 -Reaktion 20 168329 582 19720567 2.0474079680699413 0.6341990717491304 -willens 6 168329 76 19720567 3.315585677179695 0.6736142521389615 -Verhalten 43 168329 1742 19720567 1.5557008109213826 0.5967601373119338 -Versäumnis 11 168329 228 19720567 2.557786579596323 0.6383191491782415 -Unfähigkeit 5 168329 53 19720567 3.5968717875697114 0.6782381889724615 -Adresse 13 168329 302 19720567 2.3854202290439184 0.6245804429260597 -richten 45 168329 1863 19720567 1.5236228055390724 0.5864940959342175 -Fehlanzeige 13 168329 303 19720567 2.3804368215296625 0.6197277357618702 -Konzept 60 168329 2725 19720567 1.3868769713654854 0.5762224389292843 -Vorschlag 141 168329 7835 19720567 1.0899394315056838 0.5623370135522331 -Unterstützung 91 168329 4624 19720567 1.221450387716216 0.5640462857134851 -zuvor 29 168329 1029 19720567 1.7521029038689901 0.5822663925264785 -Herbst 20 168329 599 19720567 2.0044147503016307 0.5919190576955006 -Name 43 168329 1782 19720567 1.522128730799016 0.5634603983484043 -Rüstungsexportbericht 6 168329 78 19720567 3.2749436926823488 0.6358708521235178 -unverzüglich 13 168329 309 19720567 2.3508925459156473 0.5909493119067228 -tun 296 168329 18825 19720567 0.8918621574794522 0.5283077667969767 -ausdrücklich 79 168329 3947 19720567 1.2463148621037665 0.540600126488888 -dass 2316 168329 174459 19720567 0.644077740414136 0.5150473705533322 -Vertreterin 11 168329 236 19720567 2.505556620823765 0.5877363272506558 -Absichtserklärung 6 168329 79 19720567 3.255044135244644 0.6173621566777848 -warum 127 168329 7102 19720567 1.0806133785717587 0.5246999373065101 -Zusammenarbeit 77 168329 3866 19720567 1.239091309589698 0.5243017473584151 -loben 17 168329 481 19720567 2.089388039526272 0.5557569478855044 -Koalition 178 168329 10692 19720567 0.9756156047980269 0.5064126056075784 -schweigen 15 168329 398 19720567 2.1855962070870665 0.5509231932211847 -keinerlei 23 168329 764 19720567 1.8501384171546842 0.535223094860138 -diesbezüglich 23 168329 765 19720567 1.8481927728397147 0.5333041290091926 -bezüglich 27 168329 972 19720567 1.7306231764585387 0.51847881773339 -gesamt 69 168329 3448 19720567 1.2460500150178726 0.49090537476371066 -veranlassen 10 168329 208 19720567 2.5524776682112575 0.5394958975861611 -deutsch 361 168329 24543 19720567 0.7941152714743412 0.4651470251954336 -ankündigen 33 168329 1307 19720567 1.589150750505658 0.4941676701203754 -Wiedervereinigung 13 168329 326 19720567 2.270327064611979 0.5123958809897003 -dankenswerterweise 8 168329 142 19720567 2.7938170029457328 0.5333919482663138 -Umsetzung 74 168329 3841 19720567 1.1901592410850623 0.4612605159615145 -Bundeskanzlerin 51 168329 2385 19720567 1.3437426896676523 0.464726476766545 -Vorstellung 32 168329 1270 19720567 1.5861105941892402 0.47417632790621755 -Bundesrat 57 168329 2760 19720567 1.292450411033552 0.4613096119363199 -eindringlich 8 168329 143 19720567 2.783090596352674 0.5231372710855953 -Grundsatz 38 168329 1619 19720567 1.4812120544887197 0.4617511884287381 -sehen 231 168329 15295 19720567 0.8328379502053344 0.42135150763107726 -Planung 23 168329 809 19720567 1.7650826472019114 0.4513011278185033 -Bundesministerin 19 168329 614 19720567 1.8910878486517846 0.4437227357660341 -behaupten 42 168329 1902 19720567 1.3911367101868717 0.4221365526787013 -vernachlässigen 12 168329 297 19720567 2.2900505850725574 0.459830385753958 -schätzen 21 168329 719 19720567 1.805140389972613 0.4296621792224312 -Verdienst 14 168329 385 19720567 2.131985738840306 0.4410971481464986 --Antrag 6 168329 87 19720567 3.1050186912400366 0.47724851765814263 -zusagen 15 168329 433 19720567 2.059437656931141 0.42734619862440587 -Ziel 143 168329 9040 19720567 0.9006742931193316 0.3773578724485298 -handeln 123 168329 7585 19720567 0.937074053925965 0.3726659119073045 -bislang 36 168329 1581 19720567 1.4364400720540804 0.3894132201007918 -Forderung 139 168329 8826 19720567 0.8942049439390516 0.3634247295210442 -national 88 168329 5105 19720567 1.0267285892765055 0.3590382568913812 -liegen 170 168329 11290 19720567 0.8284279619303371 0.3486886557798805 -Sachverständigenrat 11 168329 268 19720567 2.313713262846924 0.4014665497500628 -aktuell 91 168329 5376 19720567 1.0000130773321558 0.34353056065669685 -dazu 276 168329 19977 19720567 0.7024494095584155 0.3262958496277016 -Genehmigung 17 168329 544 19720567 1.90570988301663 0.37532238822305286 -leider 102 168329 6230 19720567 0.9511309534500433 0.33125165353986796 -wie 752 168329 61165 19720567 0.5319236355594646 0.3045385620309035 -: 1330 168329 112995 19720567 0.4682991874284894 0.29765892157526663 -Zeitplan 10 168329 234 19720567 2.3744793662332633 0.36712235305274343 -weiterhin 81 168329 4769 19720567 1.004999341865882 0.30913131831518553 -vorig 7 168329 124 19720567 2.7968963958777047 0.38024808312949415 -Vorbehalt 13 168329 365 19720567 2.1009142929072997 0.34687116595998796 -ihr 845 168329 70668 19720567 0.4912990002764254 0.2768875766344681 -Beschluss 38 168329 1796 19720567 1.3281143517036866 0.30985903540848253 -Wille 27 168329 1122 19720567 1.5180785410784379 0.30824295463603163 -bestärken 6 168329 94 19720567 2.985437075487364 0.36488488994651164 -bereits 159 168329 11070 19720567 0.7592934375110876 0.26339570423248154 -drängen 19 168329 675 19720567 1.750281702229007 0.3050006964531363 -halten 137 168329 9321 19720567 0.7930313496883438 0.25867314306755396 -was 499 168329 40734 19720567 0.5266387864980462 0.2472961974829355 -Verantwortlichkeit 8 168329 163 19720567 2.5837817881292673 0.33200044274619195 -Anstrengung 26 168329 1082 19720567 1.5159517921861436 0.28308789742352597 -begründen 29 168329 1282 19720567 1.4267164892092166 0.26021378032085735 -Kritik 42 168329 2145 19720567 1.2139904814504858 0.24622764923496437 -voran 18 168329 638 19720567 1.7537067895715799 0.26876770921735416 -Lob 12 168329 335 19720567 2.1094783394307366 0.28361352198814715 -Einfluss 25 168329 1046 19720567 1.5079952323004284 0.2507952402456441 -Pflicht 34 168329 1619 19720567 1.3171019096270749 0.24068831324987697 -keine 517 168329 43655 19720567 0.47725499355305667 0.20288971871631195 -weder 43 168329 2237 19720567 1.1868231377024099 0.23055710729276774 -Agenda 24 168329 993 19720567 1.52451583870958 0.241211105200953 -fragen 112 168329 7577 19720567 0.8013345704392055 0.2102709049530032 -Entscheidung 99 168329 6536 19720567 0.8370900599734039 0.20827500866468276 -geplant 27 168329 1184 19720567 1.4386205464594837 0.22956539058288103 -Gegensatz 24 168329 1001 19720567 1.512653942156276 0.22947621915698166 -EU-Ebene 12 168329 344 19720567 2.0698292627777364 0.24485122367113712 -Zeugnis 7 168329 134 19720567 2.6785764286889435 0.26730532245133193 -Markenzeichen 6 168329 100 19720567 2.890279842447024 0.2750716670662693 -insbesondere 109 168329 7471 19720567 0.7822084837963701 0.18311917393015512 -Berechnung 15 168329 497 19720567 1.8539074527820623 0.22557427158454352 -Kurs 18 168329 660 19720567 1.7034017077235142 0.21918070047396343 -gegenwärtig 22 168329 893 19720567 1.5528089034419377 0.21211218648359112 -Meinung 57 168329 3344 19720567 1.0102404664879365 0.18062641721849748 -an 945 168329 86920 19720567 0.35244712221042435 0.14986952939247736 -hierzu 35 168329 1773 19720567 1.2259768435340712 0.1657373675367 -@card@ 848 168329 78643 19720567 0.34043683437558 0.1265346517720815 -Anhaltspunkt 8 168329 178 19720567 2.4505152572658035 0.20361516929188767 -hinsichtlich 35 168329 1795 19720567 1.2078294968238117 0.14772086650553 -welche 153 168329 11649 19720567 0.6284496896388203 0.12322817181463348 -Verbraucherpolitik 11 168329 311 19720567 2.0905191215449217 0.18390601706813053 -Verantwortung 108 168329 7731 19720567 0.7186505347924625 0.11698165052043409 -dafür 261 168329 21791 19720567 0.49375149091879333 0.10728336394577115 -Aufgabe 103 168329 7401 19720567 0.7131212850022419 0.09702920606692408 -Merkel 36 168329 1914 19720567 1.1548498471920428 0.10993929795094604 -als 636 168329 59763 19720567 0.3212596899881733 0.07412846842901293 -bemühen 25 168329 1146 19720567 1.3731918203728029 0.11733296270425989 -fünft 12 168329 370 19720567 1.961052916860405 0.138388253924317 -Bundesfinanzminister 17 168329 648 19720567 1.6458728396712954 0.11943199498256002 -jedoch 57 168329 3566 19720567 0.91595197516608 0.08678552302523701 -eine 3297 168329 345582 19720567 0.16200582031615404 0.05438797039888408 -daransetzen 6 168329 108 19720567 2.7724433521531657 0.16339607263667777 -nun 166 168329 13302 19720567 0.5537072129726248 0.06885138783323375 -unter 195 168329 16077 19720567 0.512131526936561 0.0648973608641735 -nach 398 168329 36379 19720567 0.36158315122707835 0.04891215529343641 -seit 135 168329 10521 19720567 0.594369280366541 0.05657379068815645 -argumentieren 14 168329 484 19720567 1.7907441688961094 0.1063442953530228 -Information 45 168329 2660 19720567 0.9991640585988759 0.0654921274822369 -steuerpolitisch 6 168329 110 19720567 2.744428975983569 0.13677583810759594 -angesichts 53 168329 3309 19720567 0.9189416637004572 0.059030591915025125 -kritisieren 38 168329 2125 19720567 1.0806188216872556 0.06406345826237406 -erklären 65 168329 4326 19720567 0.8252976702537402 0.049228109782125384 -offiziell 14 168329 492 19720567 1.7663943074803603 0.0824022345964659 -insoweit 12 168329 384 19720567 1.90570988301663 0.08415798699209485 -parlamentarisch 52 168329 3268 19720567 0.9092942203656685 0.04119793927127455 -ersuchen 5 168329 78 19720567 2.9920097294108503 0.12091226182062875 -stets 15 168329 560 19720567 1.6766843693477351 0.051194401015615836 -mit 1132 168329 117896 19720567 0.17132842240179322 0 -konkret 81 168329 5900 19720567 0.6932006655368067 0 -Gespräch 47 168329 2956 19720567 0.908187463980836 0 -begrüßen 45 168329 2802 19720567 0.9228757377229887 0 -Rüstungsexportpolitik 5 168329 81 19720567 2.933906774847282 0.06644417138501431 -eingesetzt 9 168329 246 19720567 2.1410879459475582 0.03190622200635168 -Bundesminister 28 168329 1475 19720567 1.1684119089293843 0 -Abstimmungsverhalten 6 168329 118 19720567 2.6375137720670576 0.03494560853724962 -Entlastung 25 168329 1264 19720567 1.228801911037628 0 -erkennen 50 168329 3344 19720567 0.8181375434518746 0 -verhandeln 23 168329 1143 19720567 1.2541851325155515 0 -stehen 203 168329 18779 19720567 0.34408985372311457 0 -beimessen 6 168329 122 19720567 2.586887698997089 0 -Angabe 15 168329 603 19720567 1.5671244441756593 0 -namens 5 168329 85 19720567 2.8599061934035053 0 -ob 156 168329 13984 19720567 0.39000352400335486 0 -verweigern 18 168329 803 19720567 1.413282351066828 0 -tragen 71 168329 5360 19720567 0.6408740528668492 0 -schriftlich 27 168329 1471 19720567 1.1189386686798026 0 -Finanz 15 168329 610 19720567 1.5500509308167179 0 -neu 206 168329 19552 19720567 0.3066590370298019 0 -Änderung 65 168329 4840 19720567 0.660988988621486 0 -? 512 168329 54584 19720567 0.13731209444692083 0 -appellieren 15 168329 616 19720567 1.5355756083008383 0 -Vorgabe 28 168329 1571 19720567 1.075738768890374 0 -Positionierung 6 168329 125 19720567 2.5500509308167176 0 -Expertenkommission 7 168329 168 19720567 2.336344237346492 0 -hier 406 168329 42775 19720567 0.15452065265761078 0 -Staatssekretär 50 168329 3494 19720567 0.7538929557813856 0 -dankbar 26 168329 1422 19720567 1.1132626853349448 0 -gegebenenfalls 17 168329 755 19720567 1.4198920285934482 0 -mangelnd 14 168329 557 19720567 1.5824527276567477 0 -Zielsetzung 11 168329 375 19720567 1.8115431718421058 0 -, 8794 168329 1108396 19720567 -0.10633999470522687 -0.041606226041686144 -Thema 179 168329 16944 19720567 0.31055710798661484 0 -Handlungsbedarf 19 168329 899 19720567 1.326473993322431 0 -Fragestunde 13 168329 502 19720567 1.6266552565923633 0 -Vorgehen 30 168329 1777 19720567 0.9961328960952642 0 -Vorwurf 24 168329 1293 19720567 1.1353923402835555 0 -Europapolitik 7 168329 172 19720567 2.3009389012152934 0 -befragen 7 168329 174 19720567 2.283556822987057 0 -Haushaltsentwurf 13 168329 510 19720567 1.6032438699823108 0 -ein 63 168329 4890 19720567 0.6002750054588191 0 -stattdessen 22 168329 1156 19720567 1.1721328870985734 0 -Kultur 32 168329 1982 19720567 0.9306477847665321 0 -für 1385 168329 168150 19720567 -0.05188055333473743 0 -klein 77 168329 6330 19720567 0.5163599321872723 0 -Landesregierung 18 168329 858 19720567 1.3155856771796945 0 -Projekt 58 168329 4433 19720567 0.6228198869240235 0 -EU-Kommission 20 168329 1015 19720567 1.223281572859856 0 -Berichtspflicht 5 168329 92 19720567 2.738890792442139 0 -außerordentlich 13 168329 519 19720567 1.5773523368502869 0 -Finanzplanung 10 168329 335 19720567 1.8375383803750505 0 -vorgeschlagen 13 168329 522 19720567 1.5688240654689016 0 -Ignoranz 6 168329 133 19720567 2.4561840073524954 0 -bei 625 168329 73023 19720567 0.003956350099664772 0 -Ziel|Zielen 10 168329 339 19720567 1.8198905145556257 0 -Zusage 13 168329 526 19720567 1.5575308959375431 0 -Rahmen 74 168329 6174 19720567 0.49476603169484384 0 -aus 406 168329 46045 19720567 0.047262550079733484 0 -verpflichten 29 168329 1792 19720567 0.9340704292108954 0 -schreiben 44 168329 3187 19720567 0.7014112552420511 0 -hervor 7 168329 183 19720567 2.2078294968238117 0 -deshalb 171 168329 17384 19720567 0.20654776663571633 0 -Erfolg 54 168329 4215 19720567 0.5920791225222146 0 -Bilanz 17 168329 825 19720567 1.2891575519020497 0 -machen 316 168329 35448 19720567 0.06318885316372212 0 -entsprechend 89 168329 8062 19720567 0.37473267060418675 0 -umfassend 35 168329 2394 19720567 0.7852295071090091 0 -gemeinsam 135 168329 13514 19720567 0.22903912369650994 0 -danken 41 168329 2999 19720567 0.687051860922521 0 -zeitnah 11 168329 419 19720567 1.6469124700693067 0 -Hüppe 7 168329 190 19720567 2.1515612771770662 0 -Vorstoß 6 168329 142 19720567 2.357405852874322 0 -Blockadehaltung 5 168329 99 19720567 2.6272454366132303 0 -selbstverständlich 41 168329 3036 19720567 0.6691179103454407 0 -sowohl 40 168329 2950 19720567 0.675030850495221 0 -versuchen 50 168329 3981 19720567 0.5630817347541358 0 -reagieren 24 168329 1444 19720567 0.9731934797326169 0 -Äußerung 15 168329 708 19720567 1.3300852468748097 0 -erfolgreich 48 168329 3780 19720567 0.5791354232729025 0 -daran 84 168329 7762 19720567 0.3457087713353157 0 -ausschließen 23 168329 1361 19720567 0.997605748819057 0 -sollen 327 168329 38553 19720567 -0.00921360392576974 0 -betreiben 31 168329 2094 19720567 0.8035743979038956 0 -stellen 171 168329 18349 19720567 0.12785285026435494 0 -Regierungsfraktion 15 168329 714 19720567 1.317648143636587 0 -Spitzenverband 7 168329 194 19720567 2.1203666555734726 0 -Frage 237 168329 26928 19720567 0.0445837045180446 0 -zudem 30 168329 2012 19720567 0.8140555418255355 0 -seinerzeit 11 168329 432 19720567 1.6016613889744062 0 -werden 1592 168329 216594 19720567 -0.21745974066095863 -0.06196431209309092 -stützen 10 168329 370 19720567 1.6899811919611925 0 -in 2939 168329 414567 19720567 -0.2699657587956144 -0.1560017296444609 -Verpflichtung 25 168329 1567 19720567 0.9131753332631956 0 -zurückhaltend 6 168329 147 19720567 2.3053173417258677 0 -wiederholt 12 168329 508 19720567 1.4906723837377862 0 -vergangen 43 168329 3360 19720567 0.5905076513175807 0 -verbal 5 168329 103 19720567 2.567124444175659 0 -abwarten 13 168329 580 19720567 1.413140986602368 0 -auch 1110 168329 150508 19720567 -0.21255115460709081 -0.02605893466957486 -Ratifizierung 10 168329 375 19720567 1.670081634523488 0 -bitten 69 168329 6265 19720567 0.3713092213921057 0 -Hinblick 31 168329 2161 19720567 0.7574647886771797 0 -Hermesbürgschaft 5 168329 104 19720567 2.5524776682112575 0 -umgehend 7 168329 200 19720567 2.074804078193029 0 -selbst 91 168329 8936 19720567 0.25705440602438057 0 -nachgeordnet 5 168329 105 19720567 2.5379780985161426 0 -missachten 6 168329 151 19720567 2.264959604109727 0 -nachkommen 14 168329 669 19720567 1.3119100190362964 0 -Richtung 38 168329 2929 19720567 0.6104808133700411 0 -wollen 399 168329 51100 19720567 -0.1295754523950806 0 -Druck-sache 5 168329 107 19720567 2.509408946319372 0 -lauten 26 168329 1747 19720567 0.8113145295043935 0 -letzt 142 168329 15825 19720567 0.07273937447087707 0 -Einvernehmen 9 168329 327 19720567 1.716948239561462 0 -nichts 118 168329 12699 19720567 0.12359026391577677 0 -zu 1843 168329 271146 19720567 -0.33112422676470127 -0.18675432339014042 -offensichtlich 34 168329 2575 19720567 0.6361883746004898 0 -ihrerseits 6 168329 157 19720567 2.2064639547995823 0 -. 6161 168329 960796 19720567 -0.41573469193461454 -0.3378216952921501 -klar 114 168329 12367 19720567 0.1119488089754765 0 -entscheiden 56 168329 5088 19720567 0.37034490858182006 0 -EU 48 168329 4160 19720567 0.43924414493078295 0 -Entschließungsantrag 27 168329 1887 19720567 0.7537067895715799 0 -darin 39 168329 3167 19720567 0.5342836149584012 0 -zusammen 39 168329 3167 19720567 0.5342836149584012 0 -bestätigen 25 168329 1698 19720567 0.7955406531398771 0 -rechnen 22 168329 1415 19720567 0.8753582694395494 0 -Umgang 22 168329 1416 19720567 0.8743229661723791 0 -Finanzpolitik 10 168329 405 19720567 1.556125445226402 0 -räumen 8 168329 274 19720567 1.8046237579023154 0 -Linie 23 168329 1520 19720567 0.8356096434021014 0 -Bundesaußenminister 9 168329 340 19720567 1.6591437880385997 0 -beantworten 37 168329 2992 19720567 0.5404171439675602 0 -zurückweisen 8 168329 277 19720567 1.7884438308468809 0 -kündigen 9 168329 342 19720567 1.6504528277745552 0 -einsetzen 52 168329 4764 19720567 0.35822208771413633 0 -gemacht 6 168329 163 19720567 2.1502479452330343 0 -Marokko 7 168329 219 19720567 1.9393406608979098 0 -Richtlinie 25 168329 1749 19720567 0.7522183240891317 0 -unterstellen 15 168329 808 19720567 1.135619733308045 0 -über 333 168329 44780 19720567 -0.20051386509971958 0 -unternehmen 96 168329 10483 19720567 0.10237728305559236 0 -politisch 88 168329 9432 19720567 0.12951325316078482 0 -hierauf 5 168329 116 19720567 2.3874184219407613 0 -Kompass 5 168329 116 19720567 2.3874184219407613 0 -mündlich 8 168329 286 19720567 1.7409651206799976 0 -nicht 1178 168329 181474 19720567 -0.397977847072504 -0.21706619782744915 -Hubert 6 168329 168 19720567 2.1050186912400366 0 -bekannt 30 168329 2328 19720567 0.6006337063659104 0 -lediglich 20 168329 1293 19720567 0.8678175843895094 0 -Bundesregierung 217 168329 28239 19720567 -0.15281488188670536 0 -bisherig 25 168329 1799 19720567 0.7109720888771658 0 -positionieren 7 168329 226 19720567 1.8924740558599358 0 -Programm 45 168329 4082 19720567 0.3726914182526694 0 -maritim 14 168329 752 19720567 1.1397841094007128 0 -verantwortlich 21 168329 1407 19720567 0.8155120740450515 0 -und 2671 168329 437488 19720567 -0.4869783667805467 -0.36739681660119294 -liefern 23 168329 1614 19720567 0.7477500291294701 0 -hinaus 41 168329 3674 19720567 0.39051254760610393 0 -nehmen 117 168329 13986 19720567 -0.029305234970188054 0 -groß 186 168329 24249 19720567 -0.15546389350012976 0 -weisen 20 168329 1333 19720567 0.8231830873979805 0 -Abhilfe 5 168329 121 19720567 2.323853293163295 0 -darauf 116 168329 13909 19720567 -0.033761470524779985 0 -Versprechen 26 168329 1962 19720567 0.6414826742700025 0 -vehement 6 168329 174 19720567 2.052551271345901 0 -momentan 12 168329 599 19720567 1.247652001014609 0 -Außenminister 17 168329 1048 19720567 0.937540417285736 0 -gegeben 8 168329 299 19720567 1.6750308504952212 0 -halbherzig 5 168329 122 19720567 2.3114695687074627 0 -UN-Sicherheitsrat 6 168329 175 19720567 2.0439892578424765 0 -Zustimmung 30 168329 2425 19720567 0.540986848388481 0 -Rat 22 168329 1553 19720567 0.7390792445410146 0 -Wirtschaftspolitik 11 168329 523 19720567 1.3193378120408021 0 -… 22 168329 1557 19720567 0.7353148717832604 0 -dabei 102 168329 12063 19720567 -0.013718855343486375 0 -zuversichtlich 8 168329 301 19720567 1.665149338981257 0 -Bekenntnis 10 168329 447 19720567 1.410344818790269 0 -äußern 19 168329 1258 19720567 0.8328732347064889 0 -Rechtsverordnung 6 168329 177 19720567 2.0270161792387635 0 -müde 5 168329 124 19720567 2.2870165249829237 0 -Kampagne 10 168329 450 19720567 1.4004745747662075 0 -Anlass 18 168329 1165 19720567 0.8661815188299923 0 -Bundes-regierung 9 168329 376 19720567 1.5101949420026044 0 -Ebene 38 168329 3430 19720567 0.3799132522838914 0 -arbeiten 60 168329 6286 19720567 0.16270692754284408 0 -Begründung 19 168329 1270 19720567 0.8189676326812708 0 -mitteilen 13 168329 701 19720567 1.134081156842499 0 -konzeptionell 5 168329 125 19720567 2.2749436926823488 0 -genehmigen 9 168329 378 19720567 1.5023541887854213 0 -blockieren 14 168329 794 19720567 1.0599308017114983 0 -gewaltsam 5 168329 127 19720567 2.251096950727981 0 -daraus 27 168329 2178 19720567 0.5440018861439126 0 -erteilen 27 168329 2178 19720567 0.5440018861439126 0 -Bestrebung 5 168329 128 19720567 2.2393197829516276 0 -namentlich 18 168329 1204 19720567 0.8179429002998138 0 -jetzt 219 168329 31170 19720567 -0.2830051489644249 0 -allerdings 54 168329 5670 19720567 0.15946647526241312 0 -„ 140 168329 18532 19720567 -0.17760154036970868 0 -beschließen 61 168329 6651 19720567 0.10458078107097739 0 -offenkundig 11 168329 550 19720567 1.2451963492882967 0 -aussenden 5 168329 129 19720567 2.227637977903992 0 -Parlament 56 168329 5976 19720567 0.135879654944797 0 -aufgreifen 18 168329 1226 19720567 0.7914264555207383 0 -Empfehlung 16 168329 1022 19720567 0.88549160359797785 0 -zeigen 84 168329 10137 19720567 -0.04311485574336188 0 -vor 278 168329 41941 19720567 -0.3676318397259646 0 -zentral 37 168329 3526 19720567 0.30076167683808025 0 -trotz 30 168329 2635 19720567 0.41972913184615296 0 -wenn 354 168329 55619 19720567 -0.42656672931870104 -0.09575577913876397 -wofür 9 168329 402 19720567 1.411445692587211 0 -Versuch 15 168329 942 19720567 0.9103712603864929 0 -hingegen 13 168329 749 19720567 1.0367839554875842 0 -müssen 508 168329 84021 19720567 -0.5011222906815493 -0.22514063854310595 -Außenpolitik 15 168329 954 19720567 0.8918154413582491 0 -Staatsminister 11 168329 576 19720567 1.1772307547382523 0 -schlagen 20 168329 1490 19720567 0.6602338485671406 0 -zurzeit 16 168329 1059 19720567 0.8333827508837393 0 -damals 46 168329 4870 19720567 0.14745395756043314 0 -konzentrieren 14 168329 866 19720567 0.9325514952352708 0 -erneut 20 168329 1508 19720567 0.6426754771828358 0 -unzureichend 11 168329 586 19720567 1.1519196662090647 0 -Handlungsfähigkeit 6 168329 198 19720567 1.859906193403505 0 -sämtliche 10 168329 502 19720567 1.2393197829516274 0 -eigen 65 168329 7758 19720567 -0.027056586574875793 0 -versichern 10 168329 503 19720567 1.236390451912956 0 -getroffen 6 168329 199 19720567 1.8524116568565807 0 -verschieden 31 168329 2891 19720567 0.3323030721246283 0 -gegen 99 168329 13213 19720567 -0.18955736604091303 0 -Bürokratieabbau 7 168329 269 19720567 1.6338381139236589 0 -zwischen 76 168329 9567 19720567 -0.10451067971205547 0 -interessieren 17 168329 1211 19720567 0.7257819133890394 0 -Gutachter 5 168329 141 19720567 2.094371447040528 0 -voll 23 168329 1914 19720567 0.49853450151075657 0 -Priorität 13 168329 794 19720567 0.9511671734026179 0 -Energiepolitik 12 168329 700 19720567 1.0186039394225632 0 -kommentieren 6 168329 204 19720567 1.8155120740450517 0 -maßgeblich 12 168329 701 19720567 1.0165085214203697 0 -vielfältig 13 168329 804 19720567 0.9328120270718052 0 -Mandat 26 168329 2318 19720567 0.39795458278769225 0 -Vorhaben 18 168329 1352 19720567 0.6482882436612324 0 -zeichnen 10 168329 523 19720567 1.1790192726838133 0 -umfangreich 12 168329 713 19720567 0.9915980601140382 0 -sein 2166 168329 429001 19720567 -0.762595233842554 -0.6296720284440421 -Koalitionsvertrag 31 168329 3036 19720567 0.26095322819183264 0 -viert 10 168329 530 19720567 1.1594664752624129 0 diff --git a/tests/test_measures.py b/tests/test_measures.py index 5a8b2bb..07417cf 100644 --- a/tests/test_measures.py +++ b/tests/test_measures.py @@ -22,7 +22,7 @@ def test_mutual_information_single(fixed_dataframe): def test_mutual_information(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['mutual_information']) + df_ams = am.score(df, ['mutual_information']) assert df_ams['mutual_information'][0] == 1.0 @@ -32,7 +32,7 @@ def test_mutual_information_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['mutual_information']) + am.score(df, ['mutual_information']) @pytest.mark.mi @@ -40,8 +40,8 @@ def test_mutual_information_invalid(invalid_dataframe): def test_mutual_information_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['mutual_information']) - assert df_ams['mutual_information'].iloc[0] == 0.06167489255030763 + df_ams = am.score(df, ['mutual_information']) + assert df_ams['mutual_information'].iloc[0] == 0.061675 ############ @@ -60,7 +60,7 @@ def test_local_mi_single(fixed_dataframe): def test_local_mi(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['local_mutual_information']) + df_ams = am.score(df, ['local_mutual_information']) assert df_ams['local_mutual_information'][0] == 10.0 @@ -70,7 +70,7 @@ def test_local_mi_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['local_mutual_information']) + am.score(df, ['local_mutual_information']) @pytest.mark.local_mi @@ -78,8 +78,8 @@ def test_local_mi_invalid(invalid_dataframe): def test_local_mi_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['local_mutual_information'], freq=True) - assert df_ams['local_mutual_information'].iloc[0] == 848.9548959549845 + df_ams = am.score(df, ['local_mutual_information'], freq=True) + assert df_ams['local_mutual_information'].iloc[0] == 848.954896 ######## @@ -90,7 +90,7 @@ def test_local_mi_zero(zero_dataframe): def test_dice(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['dice']) + df_ams = am.score(df, ['dice']) assert df_ams['dice'][0] == 1.0 @@ -101,14 +101,14 @@ def test_dice_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['dice']) + am.score(df, ['dice']) @pytest.mark.dice @pytest.mark.zero def test_dice_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['dice']) + df_ams = am.score(df, ['dice']) df_ams['dice'][0] == 0.16831229174945742 @@ -128,8 +128,8 @@ def test_t_score_single(fixed_dataframe): def test_t_score(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['t_score']) - assert df_ams['t_score'][0] == 2.846049894151541 + df_ams = am.score(df, ['t_score']) + assert df_ams['t_score'][0] == 2.84605 @pytest.mark.t_score @@ -137,15 +137,14 @@ def test_t_score(fixed_dataframe): def test_t_score_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['t_score']) + am.score(df, ['t_score']) -@pytest.mark.now @pytest.mark.t_score @pytest.mark.zero def test_t_score_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['t_score'], freq=True, disc=.5) + df_ams = am.score(df, ['t_score'], disc=.5) df_ams['t_score'][0] == 15.532438056926377 @@ -157,7 +156,7 @@ def test_t_score_zero(zero_dataframe): def test_z_score(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['z_score']) + df_ams = am.score(df, ['z_score']) assert df_ams['z_score'][0] == 9.0 @@ -166,14 +165,14 @@ def test_z_score(fixed_dataframe): def test_z_score_nan(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['z_score']) + am.score(df, ['z_score']) @pytest.mark.z_score @pytest.mark.zero def test_z_score_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['z_score']) + df_ams = am.score(df, ['z_score']) df_ams['z_score'].iloc[0] == 16.675431342469118 @@ -185,8 +184,8 @@ def test_z_score_zero(zero_dataframe): def test_log_likelihood(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['log_likelihood']) - assert df_ams['log_likelihood'][0] == 65.01659467828966 + df_ams = am.score(df, ['log_likelihood']) + assert df_ams['log_likelihood'][0] == 65.016595 @pytest.mark.log_likelihood @@ -194,15 +193,15 @@ def test_log_likelihood(fixed_dataframe): def test_log_likelihood_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['log_likelihood']) + am.score(df, ['log_likelihood']) @pytest.mark.log_likelihood @pytest.mark.zero def test_log_likelihood_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['log_likelihood'], freq=True) - assert round(df_ams['log_likelihood'].iloc[0], 5) == 4087.27683 + df_ams = am.score(df, ['log_likelihood'], freq=True) + assert df_ams['log_likelihood'].iloc[0] == 4087.276827 ############# @@ -213,22 +212,22 @@ def test_log_likelihood_zero(zero_dataframe): def test_simple_ll(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['simple_ll']) - assert df_ams['simple_ll'][0] == 28.05170185988092 + df_ams = am.score(df, ['simple_ll']) + assert df_ams['simple_ll'][0] == 28.051702 @pytest.mark.simple_ll @pytest.mark.zero def test_simple_ll_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['simple_ll'], freq=True) - assert df_ams['simple_ll'].iloc[0] == 264.9157890046413 + df_ams = am.score(df, ['simple_ll'], freq=True) + assert df_ams['simple_ll'].iloc[0] == 264.915789 ############################# # hypergeometric likelihood # ############################# -# Not available via calculate_measures due to numerical instability +# Not available via score due to numerical instability @pytest.mark.choose @pytest.mark.hypergeometric_likelihood @@ -259,10 +258,10 @@ def test_hypergeometric_likelihood_zero(zero_dataframe): assert isnan(ams[0]) -############################# +####################### # binomial likelihood # -############################# -# Not available via calculate_measures due to numerical instability +####################### +# Not available via score due to numerical instability @pytest.mark.choose @pytest.mark.binomial_likelihood @@ -313,8 +312,8 @@ def test_binomial_likelihood_zero(zero_dataframe): def test_log_ratio(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['log_ratio']) - assert df_ams['log_ratio'][0] == 7.491853096329675 + df_ams = am.score(df, ['log_ratio'], disc=.5) + assert df_ams['log_ratio'][0] == 7.491853 @pytest.mark.log_ratio @@ -323,7 +322,7 @@ def test_log_ratio_invalid(invalid_dataframe): df = invalid_dataframe with pytest.raises(ValueError): - am.calculate_measures(df, ['log_ratio']) + am.score(df, ['log_ratio']) @pytest.mark.log_ratio @@ -331,8 +330,8 @@ def test_log_ratio_invalid(invalid_dataframe): def test_log_ratio_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['log_ratio']) - assert df_ams['log_ratio'][0] == 12.036450448790957 + df_ams = am.score(df, ['log_ratio'], disc=.5) + assert df_ams['log_ratio'][0] == 12.03645 ########################## @@ -343,16 +342,24 @@ def test_log_ratio_zero(zero_dataframe): def test_conservative_log_ratio(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['log_ratio', 'conservative_log_ratio']) - assert((abs(df_ams['log_ratio']) >= abs(df_ams['conservative_log_ratio'])).all()) - assert(df_ams['conservative_log_ratio'].iloc[0] == 0.7969356993077386) + df_ams = am.score(df, ['log_ratio', 'conservative_log_ratio'], disc=.5, alpha=.01) + assert (abs(df_ams['log_ratio']) >= abs(df_ams['conservative_log_ratio'])).all() + assert df_ams['conservative_log_ratio'].iloc[0] == 0.796936 @pytest.mark.conservative_log_ratio def test_conservative_log_ratio_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['log_ratio', 'conservative_log_ratio']) + df_ams = am.score(df, ['log_ratio', 'conservative_log_ratio']) + assert((abs(df_ams['log_ratio']) >= abs(df_ams['conservative_log_ratio'])).all()) + + +@pytest.mark.conservative_log_ratio +def test_conservative_log_ratio_zero_poisson(zero_dataframe): + + df = zero_dataframe + df_ams = am.score(df, ['log_ratio', 'conservative_log_ratio'], boundary='poisson') assert((abs(df_ams['log_ratio']) >= abs(df_ams['conservative_log_ratio'])).all()) @@ -360,13 +367,24 @@ def test_conservative_log_ratio_zero(zero_dataframe): def test_conservative_log_ratio_one_sided(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['conservative_log_ratio']) + df_ams = am.score(df, ['conservative_log_ratio']) df_am = am.conservative_log_ratio(df, one_sided=True) df_am.name = 'clr_one_sided' df_ams = df_ams.join(df_am) assert((abs(df_ams['conservative_log_ratio']) <= abs(df_ams['clr_one_sided'])).all()) +@pytest.mark.conservative_log_ratio +def test_conservative_log_ratio_boundaries(brown_dataframe): + + df = brown_dataframe + df_ams = am.score(df, ['conservative_log_ratio']) + df_am = am.score(df, ['conservative_log_ratio'], boundary="poisson")['conservative_log_ratio'] + df_am.name = 'clr_poisson' + df_ams = df_ams.join(df_am) + assert (df_ams['conservative_log_ratio'] == 0).sum() < (df_ams['clr_poisson'] == 0).sum() + + ################### # MIN_SENSITIVITY # ################### @@ -375,7 +393,7 @@ def test_conservative_log_ratio_one_sided(fixed_dataframe): def test_min_sensitivity(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['min_sensitivity']) + df_ams = am.score(df, ['min_sensitivity']) assert df_ams['min_sensitivity'][0] == 1 @@ -387,7 +405,7 @@ def test_min_sensitivity(fixed_dataframe): def test_liddell(fixed_dataframe): df = fixed_dataframe - df_ams = am.calculate_measures(df, ['liddell']) + df_ams = am.score(df, ['liddell']) assert df_ams['liddell'][0] == 1 @@ -395,7 +413,7 @@ def test_liddell(fixed_dataframe): def test_liddell_zero(zero_dataframe): df = zero_dataframe - df_ams = am.calculate_measures(df, ['liddell']) + df_ams = am.score(df, ['liddell']) assert df_ams['liddell'][0] == 1 @@ -404,10 +422,10 @@ def test_liddell_zero(zero_dataframe): ######## @pytest.mark.gold -def test_measures_ucs(ucs_dataframe): +def test_measures_ucs_gold(ucs_dataframe): df = ucs_dataframe - df = df.join(am.calculate_measures(df)) + df = df.join(am.score(df)) for ucs, assoc in [('am.Dice', 'dice'), ('am.MS', 'min_sensitivity'), @@ -418,19 +436,34 @@ def test_measures_ucs(ucs_dataframe): ('am.local.MI', 'local_mutual_information'), ('am.simple.ll', 'simple_ll')]: - assert(round(df[ucs], 10).equals(round(df[assoc], 10))) + assert round(df[ucs], 6).equals(df[assoc]) @pytest.mark.gold def test_measures_log_ratio_gold(log_ratio_dataframe): df = log_ratio_dataframe - df = df.join(am.calculate_measures(df, ['log_ratio', 'conservative_log_ratio'])) + df = df.join(am.score(df, ['log_ratio', 'conservative_log_ratio'], disc=.5, alpha=.01)) for r, assoc in [('lr', 'log_ratio'), ('clr', 'conservative_log_ratio')]: - assert(round(df[r], 3).equals(round(df[assoc], 3))) + assert round(df[r], 6).equals(df[assoc]) + + +@pytest.mark.gold +def test_measures_lrc(log_ratio_dataframe): + + # original implementation with normal approximation + df = log_ratio_dataframe + df = df.join(am.score(df, ['conservative_log_ratio'], alpha=.05)) + assert df['conservative_log_ratio'].equals(round(df['lrc.normal'], 6)) + + # implementation with poisson approximation + df = log_ratio_dataframe + df = df.join(am.score(df, ['conservative_log_ratio'], + alpha=.05, boundary='poisson')) + assert df['conservative_log_ratio'].equals(round(df['lrc'], 6)) ################# @@ -445,7 +478,7 @@ def test_score_notation(ucs_dataframe): # frequency signature notation with int parameters: f1 = int(ucs_dataframe['f1'].iloc[0]) N = int(ucs_dataframe['N'].iloc[0]) - df2 = am.score(ucs_dataframe[['f', 'f2']], f1, N) + df2 = am.score(ucs_dataframe[['f', 'f2']], f1=f1, N=N) # corpus frequency notation in dataframe: tmp = ucs_dataframe[['f', 'f1']].rename({'f': 'f1', 'f1': 'N1'}, axis=1) diff --git a/tests/test_readme.py b/tests/test_readme.py index 4a25d0a..f188084 100644 --- a/tests/test_readme.py +++ b/tests/test_readme.py @@ -1,13 +1,11 @@ import association_measures.frequencies as fq import association_measures.measures as am -from pandas import read_csv -def test_input(): +def test_input(ucs_dataframe): # frequency signature notation - df = read_csv("tests/ucs-gold-100.ds", comment='#', index_col=0, - sep="\t", quoting=3, keep_default_na=False) + df = ucs_dataframe df.rename({'l2': 'item'}, axis=1, inplace=True) df = df[['item', 'f', 'f1', 'f2', 'N']] df.index.name = 'id' @@ -37,10 +35,9 @@ def test_input(): print(obs[['O11', 'O12', 'O21', 'O22']].head()) -def test_ams(): +def test_ams(ucs_dataframe): - df = read_csv("tests/ucs-gold-100.ds", comment='#', index_col=0, - sep="\t", quoting=3, keep_default_na=False) + df = ucs_dataframe df.rename({'l2': 'item'}, axis=1, inplace=True) df = df[['item', 'f', 'f1', 'f2', 'N']] @@ -57,10 +54,9 @@ def test_ams(): print(df_ams.head()) -def test_score(): +def test_score(ucs_dataframe): - df = read_csv("tests/ucs-gold-100.ds", comment='#', index_col=0, - sep="\t", quoting=3, keep_default_na=False) + df = ucs_dataframe df.rename({'l2': 'item'}, axis=1, inplace=True) ucs_dataframe = df[['item', 'f', 'f1', 'f2', 'N']].set_index('item') @@ -69,7 +65,7 @@ def test_score(): f1 = int(ucs_dataframe['f1'].iloc[0]) N = int(ucs_dataframe['N'].iloc[0]) print(ucs_dataframe[['f', 'f2']].head()) - df_sig = am.score(ucs_dataframe[['f', 'f2']], f1, N, measures=['log_likelihood']) + df_sig = am.score(ucs_dataframe[['f', 'f2']], f1=f1, N=N, measures=['log_likelihood']) print("f1: ", f1) print("N: ", N) print(df_sig.head())