Added tests

This commit is contained in:
vub 2017-03-09 03:24:51 -05:00
parent 1bc1cb1d41
commit 9e6599324e
2 changed files with 19 additions and 0 deletions

9
zksnark/false_tests.txt Normal file
View File

@ -0,0 +1,9 @@
11ca9e5019d69c4c024f2f9c7e56f2a89bf8386c931b5bd7cefdeb4611178a0f036ae901f2e931f88d8a05bd1e677cee31aea23e81f4052477d18ab1f5fd70991530753e099d51bf60352b6c1d5ef410e4d4d57997db45e8d2fafd56c1521b27043eb035a279bbabbc9b8105d72d97d35c0bf2f34381ecb6642564c9b5356a6f2a795e848f8f8e6959033b5020d1ad823dd74b4b939cd34d81e0175e72afc2361391ac8591c47b5e8172d532930a90b8297f84d44ac5fdb59b7b74eb6c1f1a78
0f58ee3c05382b5a0deeb2303f01759add19e39cc263495d43d18e17fe06467714e0366c8def50524df66a1ac99adbb4a6369f5562e08523eb2e7ee0a3c43c641871272bfd5137618194a726ee2ebda630177e53c7dba4c3721b8fe249dbe9b3230b9d5d638d0a74f5747dd56b2f6a44640c43ba3c1b68bdf9fb2c8d3ac3878711c77ad6f2a78a391a85f1d8790bcc573b193d4b8c70862ee42297583fd68c2e000fc512f1d7181679b87be600377c2af8c3891995a2437df6ebad72a71293272833696d555d55156560289593021e7f627a8e07b3adaa4774b1bbe45562c647159464def97fd578e587bf95c9ae5dc07d6f88875eb3cdaa06b2a37c87541b23296a01afdb4346c9773d1384adcd2da123df86205df1a08245f8693f10bb0464047bd66065cb2ad5e5538d3858c11f1f2d370df7105b0548cdf07d870ecf39a8071cb6a4940cab0b4c096698f0a7bb395afb89130e9c9d5ef9fcd18a9711d3f22cbe127044dd16c5df04b7a5803528f0393731ebf1a73d8699072566224d95c1
14617e8f3b9cae319deb746db60b296e342dd47e85e8b08967a137ee9c71e4442169ad83bba6cff2d3c31dcf86855da8b824d57c02dedb8c80287cf9068b831930184a83262a9d2498517861f2e3a6dc9eb6c8cfe52ac12766274a39393c19c61b617a311440ea1b7917b1c5afee9ed0d7f9eca93255a7b50c0da528f161642f0c41652e55e64f94afa7f8ae575aaef0cabd69db28857c3efe5f19705defd8101b5850b97502f8b9e3fbaf22636a3502657fd5d89c4712e263b97f607c89af1b20cc44676e7688cea0f3133f0022b38e063067a7a044f1dfcc8c63a496e9192424158086c2cece91d96221a1731136c3e4bc88b1c53448b10ffc4545e77729a4199588dcff4362510615f2a82d01cbdcbdf5b9ad1417260d3aacb14b30db983214b7b5adbaa5b4ea02b2a091686952f38e635b445feebc6e7ee4fc68f7db4e091a4429cc05f9a16329b808c21a818dba5bba270046c2e30d77d07360937c8418171a99c40f148d1b6f71e7bb9be867beb85c0a1bfe3d1367f97663080af17b0b085b43b61d6b03d3412c13b11266c28c417514ee76d9ae0e6a87f6d5493429a009cf004f01efea3a7c0983960737dda38b8ad714f0932fb90a05bab6425b4333041e30ed3f74192e47bba2448c1d9d8863a9c40c675b7365df4f3a111745e5ec08a03b8d3c28509a788455a6022bf9042132f3f28b7901fcb349bd7c7ca793db2a585cc89b3d4c5b9547c46ff60a830c66bedff981556d94c788cc3ccc154b232a52c7e53db27bf797eb52f665f7b7ebf6086c4c8339dc6abe7d27b26a062210
29e54b35361fc67be059e2094257aa85851bee718ea164e7adef0adad9becc1622e52d2831cb15bb23ac0b378f19c54f216d02c4711dbbafd77cedfe4daf1d6b075ba748ccf2ca10fc7d7be28c17ce48a204c564ca84aeda871e81cc78e1de451dfba656e39f801bed27b40acd4f02638484a214ff198d3b6902d552f694896b2de7ffd2f28a80b5326802c6dfa514d70dbfa86197357aad33187121d4e4b8f0048ef117c16e7fb9161bf644e904f7bb0c61660f6830ee5efbd98877dc9842020a7647519a0c4271e502507a528829a23d6033983bdb0022437cda1d3d8054e51dc7a1319e7eefd4845bad52f8a246c387167d8a72744df46f395d259241a5271ef5ec79d66610d5325faa868454192aec3fd3241ec828f9b66b45ffbc88130e164e6d769f1eaeae7f9a2ef0df6a2c20cc477034a6095802a8f55840c8df1a5915c599117eaf966783b4cf49350b64a1024c434138c504aa626baea941b0bbdd100e53d767a98b687b1ca282671ec55fde50ed85ea94e91c68380623d4a4730a1befd83db8c2a2dce246f12d78d917b806d11c62c749b7d79dbdbdd41ced3a742b0b76af7cffaa3599221f424e44bad14906046ee760701a0a1b66a0f9a9a5cd291397f9f0f2074bf3e4067b65ba24c1120239bb39ef91804dfaecd7405c719000033f5f8cde77dac7bc0af708c5a32a54b3c59c2e170ff2cfb755c6f8cc68d527f2b94a5093ac8dd4b89e770ba94f537c41d0f0c4903b48bd7dbad7725a353604017ef54fd400735e017e733c69bf23c6d66ef3bb134ecc2d76de07e8e105191c4c957c7ff9bf0435fd14d83c566833c38b192f40b06cc54e4f3e47290daa881232e468dcf7529b43caa865aee930e8be2a26fb65e21198254505bf586eba151f3e1a44aa6f488a3f43546cc591ce69a3e83372083c4b061e4d1afefaacfd7828ecc9e3868ee9aed5696ed16922baac233994f66e2a02f14e799f9e435d0ee405d475ff44d4625b7a9107ba2fc5e27c63bfd0704aa227fd11ebac138cc9b1c20f7ce76282fe23102cd6c23885b2513ba179e021123c3b1d189880dec8bea4e0
2388d7b68b778d17fa3e5513728eae557e8ed6732bfd9c24c842c78191b150411b3ee8353128b0bc78f1ca1e9b193724456613972b1bad40d0e96427e49bfc2f24e6ac3e4099c31aac036a441b2cb9e9ed5a7f666b98e5744767352bfb8cb39e19b69c572e8808c0845c61ffad05ccccc5773ec7ab7813d3746a50b6ce05d0d21d10d256a718aa6e4ae043ba243e9c3385f8ee4ae4fab96529994850781fc17f0a3de31c18c5618329a767063ab5128d5aff9c15ed96f381c81f03c397f877f71d293406b9dd4e9b6ae87becd58466ba02bfbdf4965a0536ef0828097936963721ce3c535dc36499644ab2401869efb3cbb4a950f53283fa36dff5fe9597cc70077f88cc6b1d281b192fb30e07b64a1fdbdead2cd8371e7c126d101e84724f0924d69804413e871265123b3b5886de3431b7c6470ec728789342fd6b5dbfd18d098d65e16925bd288a0e8f51fe14b593b31fe0fb85fef650a3f10b66cc676475001a7c13a44aa87f73ed494d810684a6bec364cb074966a2a8f4e6b1469ba6d30565bb408b03c62dbb42a3cefd618c9ad22712928573117d3d5064152bf12d6b28a791c054287592f3cf48d15d83d06b737f1e729fce023a9381198fe0a58d8d082b5eb2390a11783dbc8fa40d8c8853ce99fd12b7a442743362ac701b5a5b5a05576fd5994c19876524f764382cb64a55e22ad48b027393ceb4b189e8ad14fe26f4ffe3be4c175742bcd5243384ee959bd6a7e3ae80fd239a35dd1e858d66db0635ed21e69905aced54400379ddce6666be231db596ac7bc613f96aa8c0c00b1c3bff4c36a30ebaa0fbbeb22306f8a4007dca74df54ccf98bd21a586c688e402809e82f0354ddee55eabdc18d8a9a3ff8c236f9f9310f00d2ded169a66814f20b4e5b114a1f0b90eb364fbb0bdf34aabdbc7973c434a709f7cc4c13929885b62c6bb636580cc6c26e8a80a5c794eb03a7f09d9bfd5484d42fd8fcb19820324110c7dcad5cb93222c12b0a3367436242a2f35eb1f465184b2b7c96597fdc572d115c825fb1f6dd46e16457b91a8e27bd4af2da93ebee720dd50bde2ae1d4ef8d1ce3842de6f6d2862e50f0569c0388d7da04e68cf20e8ad6abb9db076744f503178f7a4f7619e924f5d6dcfcb189470bd5f7cb792d5834ec2daa3be4fc8dd1312985e60cefbf9102511150ee76fed30b63b43c805dcfb36dc187c7af53aabbf7260b27a5e492b7d5cf0a65481125a0f023f1d081de784a87283cb2c8a9c8f00a024e53518b8783cd8603401887c5dc71b15f0e0bff260059f692e5a09a011ab014e1aa2bc2dc4e0e3343394fbc0a35d2dced5c6cf559ea8bb3f20695ff74436b
099de2d7424931e7eca44f671c20e47857159a65eb3bfcf729a792eb34b309a425c8af992d74d6e7cad826dadd8244758863d6e87d6f876e43aa0764efb7fc7c19899dc615780a966a3e30f530d6648a509d986a58a971a5c8e065d1eab0274e1d2f29f1cde2a39cf70b485896feb8eb8d88b040f40a080d95b4e904e0cc2fe80a06f92f3ffa0daa5e2019a34be814b56427a544b4dc976accfb2a40864169b328b29732cc04fc0704f7aced0d7a8924a1515ecb5ff5eb50ffe5f07f10462f422ea7b94ad101a2126028aaf470e3befffdf409a519f3f1f6642e0c609d47f6211963709db98c13722d83f925fe9c2611cf7a9c361e2307d645db4cf3697fa75325dcc912c0725dfa45e197017966c12bad32df7366aefe3772984e69ab3360831e6062f99524a7d2a74ac7ab755836edbf7c3cca105a46ab16823ca6d689aa660f6358a91ea450eef5bbcaa22e5843d6e2ddd49b2479cc69d1f5e158286a05ec125003a1899422488df86fd8f23cbc76c2162cffe16cde5e22c65851bc5673c00d1220adde1068f9f365fdf95405e6fca64e26d8a49a464c5296c5ad614a0a032d311e5e04c4133abdc11eebf9635550362a3ebbaf7c8242f9653064eb3eb4051fbb2541009ed7b1a0556001c7691d53fc00fcd20a19990f24b93b90296e3adc299bb12ad36104a35b798c6234556d2a3975fb202da02f3f12eafb4e7568162e2cc8d5340cd4336b1fe9b3bbc264ac011351b581a2404874a9c471708d2a586902988111b8170ca3bd641d13808be9d8e83640dde3bff54a7c1be2c06c0f04be2448c7f873b3297d0688f027b22c4c164fd3f245ba95483b4f8a11ee3516f7bf0cf72d189376f982473b01beb62b9470cd77330358ea26f52641e74088d7bc091bb38558c1e10778f86d8ae7d398ef9db4bae4c60a1189ed5594963efcf6c63613e9c03bf74af7f6faecdd7e2e53ff9f75be40afedc8ef9222e7d698a207b22814a4e446cae4b6c7a3bee85a5609a05054e9608923e6133ffedb74d649e39a8414ca88cd159d937d0b7aa8393c87fdffdb918b87837aec989527bc22428e82d122ac125ecedfbb360871f0dfee2931dfec32db0b3ece25b5c6626320dff3729325a76776a9f0b79b356c84a5b15e4c555d02a6ad15d3bd400116e3ad99f2505218c47f4fe4e3a4393bc28d894c03c114b255b60bbb44833c071d3b87c65d87f01f82f1897f751965f27fb6418866b8d6d161a14aee4030d5c4e036590194e1970f9dccc32f111c50155553bdc2e80b86a8e7a29200514f4e81aaa33efa6fdcf42d24d341c23e986c144a989654ffb038744323c6763064828f4c04b6a209faf21bae47acf8db433d7add000475c7e633edd671fde6a36940b76f81503e6217fa12d8f65f9735f83b81bd57c5069ee93db1d724961b303dd299e6dfb799e13dc22394b3eab7d566f36fe4753ebe194ead4d6d3f30eb47bdc995c14e973a6c339d13a7047f0191eead1e60c9416daa0b5f366c39d8b20c7d0149c689d033ad5e5e1ea4863d85151508dfb73d0f5f161920a2f186b7b8ece7f82a9c1af5924309060ca26ae13676c1b667c2f5284ba38432eefe233cbbe7ae80589f404e46619cf6
284989c36fc301dbbec95bc24ad3ccac3db8db3847b7e987e1cec344c99118802e9291c1bc9d1d14514928ea72cfc67841cfdb14c91ad5111c25062764b3312015fa9686f015abc784c3fe2975b68a79c96dbf167f5bea68ae22615ccb9b8cb5012259c15d577f5c58d928ac4ec36cfb7d3139104963345a9534c7fb39fb55112f2c8d8e6cb0f55d1aad09fd4fc71c0a8c269edac47fd2ee9820a854b257ffc91cf25e182d02b875803ccfebd3d10e48be672c35b11ec98a09ad235a1be04c78161d5a329137b0d50a7d701b18f20b9930d29eb24de31cb34daf1a94d69ab9d428ee1db1ac89ac1c230ea45804e786034abeeb6b986cd3e3047736f0be0def48068805e13080e6c6128a770baba55be72216a1913c0d26bf034697fba4a36762202ebc35c15b8e195fd6ddc5f2f96ea0d6950e996b4da30f1c7d24a645dffa2624b2b93006480b54aafce630fea046e92be59a904c71d6bb59020fd7311d7c820d857577d8f2748cf0472c7904ce2fc34637a27023a8efa20f052458cc9fc50f24d0cf54141c0ded92b582a17db6a10d53eacc757ff60275349d2574574388610ee88be64f7a4d4cebda60e3109ee7d332791ea22882e3d7451b2b72eb3331b604df4cea604152607b387e8f81375959ccfb54f1486a7e7958b366c8cd6485e3062bfcf5ddac71b74b12d9265c7a76646335b4a946e78d662dc156da9ed9d60c2d007f3e68bd8cc9d828ba7b12317e2d51fc0119c36b261fcc51f4e3a714c4071e94b69f49a0717621fa2980937c5d5763ae2fa289b45209187a2569584bfbae1da89f66445462a410e15ad1194e7f0455852d1ded02086426b4cc04ad5bb246222b65c9246042c2d101d0a1d631823d082d0b2c8652124a8f5e01053f1a5ac1205657f84c7102ded146e6a9f20d7438538bb2961d61f09a7cdf1ac607391f161dce2cb0c0f39ce0df54e711d4aa4879a58345b181a9c9318603f971e9d273eb0cf57463ad3ad7edec36f15db178dd3e2758448469b644d1f80e5f88ff8557fe1144c4b9f06e4fcb6d2a6085dfba2f9abb73ae1797c1d50a7a6ca084e1f36fcf303466b335a8deda1a17c63a5788079b9f695ba79f8e401ffb05688eba88ac5512bea5c242731e03f42e00f2399dfa712b06e6547e029076526ba6b9bc67e52b2d9a70c0958021095f966587a4e64732178e4a7b56690218a810ec8e4650b92e171ca31d35594de374009c18e8959e61bcdc1f2e8f047835780a74a9e257463327b03e15cc73b23c31ba7f6122225cf7e476d8a0909a5798ec194114c9762d2b1e3f12e879a69ea52082ec6f0b47ce065b7ec097799af54a08650f9e4357049d2e7cef8eba828d5aac5f8f547dbcc939b334d424ade4895e53b89dc7d4d55b321c29572588aa1dcbf7828e4f1238537f6a244f3cdeed28466cc4387d7d532108105fcf3ee7bbe761b65fe9e1d97191ce34323fbcb4955e3e5605b24429d4a5e42c65d5a06c2a85e71b7f732d69400412d2b92354dfb3ca4ae8af605c47184c292cddd17589f762d1ec8420f70c26fbaa617df669b93d9cb61540694364820bcb10eed90eb8ad497d4ecbf7e4d1f5efd1626a7f6ff267a65b892290a46241f8972636b3b197468e1e4aeb2f97d1a58541647b140876187c93a6795f5dd97e8a2b16784f8efe7e2992acd52c0206014f4787ad2233ce4c17d0fe277ae2505846bd293eccaec78edd661bcd792dd0a37895fb52c57e328202df88fb6a85f0f7171f0594ec1c86c2473a21f2dc7a67c929795bdf235255b9e5487ce4c4eabdb50fab0b0d9bb8b2e5fe5a1358893ca019597cd18302ba153261f753ba3314121e463a22b2a2c346fb8860b06597e5b059288b0c226d20405b2e77137af1065e493ae5
119282a49759134f0dddb1936a41fd0653083487f227d4defa55f1a0ae45b9ef11fb8c1ee2816d739528de1af3fc737b8fe0b94b3737f08bd37369d061cce2cc21350ab9b90c9b6797622937fd7c741978bca53a37abf62286a3bd4c3faf8053076ca5a716a5d657c81c986a4265c3b8c873dbd89c7f614fdc6f50bb5373689627a049a042631d16a16df0cad335ccf85dd4349acb1f2a35f8381964240476ff1c9369670140543a04aa4740cf8900aef3eec343b8c0465d80f3046f209d77ce03072606289a044d2147c4a89f5caff929b97631a59456add49eee649f35cd9f1cb9af6e849930233e5559e2ce096ba94a9b67190f154e6a3c16f7f1416aeee503922337a76311b1e7c0a3e9a23dac5d75142cec8b7688bc63f39c5e9cca866826a8afce1b3774b08a7f15bced0d007ed70d913d100d70c22421c4d451662e91028605e529e48c812fb059432d272ba447788ee298798063309a2bc5ee735fa82e11ad0d01a9104f232c683853cf85ba73e376e0553d5acb0f077073da391beb29b68cae1ee2fd24e26f2f7eb087cb22a9a2faa093ffae2e00786fb002dc5b90045807b7251acd548c0ec3109b2baf7b462eacaba420e318b8035470290624ac1628caaec359ade75f785b26efb5c8ab8c960823b66471a0088cadc15b9778a719dfe479828dc8c0a89a26848cbdfbe1c073b916d3d53261b6a94b45d0bc00861c8e34e49c5cd1f29358f256d8293c3892cbc977986848d45c75e02a1c9db7bd0778bb172f8ecba966770265f1b9a55b357ee4f25a7d4e9a7f9db1ddbdb6ff902e5616769cbd53355f98431d480b2a2478eb09d0ea152e502426ba0b5023dda00baf70eb1346620559150e92dd9d32361253fb675fefdf376e207e5054d186c317ce42783ae50b84ea2abeffc34b68d34dbca36f3641f703a14c8ba0cba589c7302973ec16050f1d5350cf2431759559a0cf65a31d6a9b56b99e4f5771c62b6325b983680fefcee10de0962e520010ca6202d0ea57c6e3fc7c30c60b8b6ecb26086688b5e2a3b095f1cdbb8c2e925dca307ca7eb56aa4e01d210339277f72a7514c040e8d96923e534da0168fab185fb98505d32c9e02f844d367a0d7d0fb1a72a7e93fdac5bf6e31d71ed13bb2028b82afa104fecff80d8425cb5bcf3ddab19002b684a42d918377bc3c0fe42a0b8f6f8a4eafe3ff75f6e7c2ec98df9a442ef068212b7c6705685f4ec97b2db59da66afff8e69964db5bb15fa4ebb9709734d18e1dcf9e197d6e94e2bac2e0bc1794d3d47f76c9846566c3ef76a38f915addc0d718895ae80d995ed7795bde566d9e72e896339759b06f8b2e304c79a408e513019463493d104e9a254b506481e3fa5518967cd418a6d9ffd43d9c117e2798419c911a2688fd64de00fab48b238b169de87b43c98f50d466c89fddfad866fa3283c7f01bfe7215e0414a7a7c46cafbaafd1e69657fbcf2f9df3abde82b3187d1ff86d03de6813aef6fd54d91f59a29406b5dba8d9349b6608035610fb430c040f4e1cfcf0146ff3f19d1b21c5113494826e8e2d25099806d181b3a887ddadbc0143457076d5564ab3d66b5062f0ab50110492b72f2e3a7aa5560269deec3ebe2536f13fd8cc72137517abe3dfe932f8f14ea1d50e6f26cd4ba2ce129aacd3ed2f12bccb1840d0f91a466db37fcf3cf0f56fbbdd297da04e10644df3d457cb1b0e993cbd3fae9f31182067274ad7942f70fbf2a9c8b6a377ec61202b51a02960012209143d9a371357640b19b25a62ab2efbe60eb4645ba4f25a62907c786ee51927beaa4e5527f8b34ace23ab6745e4073c01eeed335f20219f3a931760856416e1149aa32c0abbac2291cb71877b7c46449d56fd10e58ff8abb9d7fcdf372608508a2e74c275f030c3045191549611bf1ec82261f066dbc7018580c92c129a1bbaee86e69381e8664d8109f9e0190624631594103e812441452274fd21efcf25c73619b7c939ce43efbe2b04b884739195391ea71047d18ee4ceff6f8e64e6176f49421a693bfbb2ebd29aaddc302343a1ea89ebfe9aad16c42e643b3fb66b0074a6bfb7cdafd6503ae5de5b6cb98c46970fe0bf19d547e11a703ff022ee3d2f4a9f95d899020945b0bccbdfcd3cb87f0399805573d3f974b40f26433d6aa6
169a59f2b68aca6da3dc2c2a806f1a2311bdd6e8c63f2353d2c955e00f118a742050580765b0f5b32f7915d99cacce9799e8606d64bb6c8630a3754ba4f9f4e307fa2e544c53d7f6842c9659584442f3930e509e98a854e8eaa76e3121cf6c60121908241fe9e2000225a904629305829b546ae9770f86ede1a9a80d2c1e69ad21cd466ca005551c74c8b21b93d38673aed6f5ef0807b9773309b8f3468eddfd0bfb0ed4ff0af4e869df7624b19e3d9be76f5eaffbfbb33586483a26ae9603bc123c6d3dd87df2f7bef8ab08f60a285784b495e7e40e35b2d6d4c9e6932a55110301777c2ce48c2d749545442eda3f63a915e8ae0d512f33a1664e8fae5e0d920e186303aa609718e8ca7a7e09484ecd29e91217a0820181f9b3c84094c88ea82567b993c23f4fc18f7b77a7876466a0946957260a9f1e0bbb3a5346237fa90820e422495d4ba36e8c9d97cc1332cd13084750bebb4eefe2e6e499b50f3755851424acfd29bd13f72eac5acdd8c24e2edbb94abc38d39e008fc97e1727e4607d0181f49c7027d3e9f1aa4cf13ccb2ae87bac8c216218cfc9539c4eb743b51656270c9475dff850464e830c790bf110a3a6858fa338ba58cfa91853c05b9af5e624fb6a8f1e39073d1390f8b772c60ea3e054d6761107b6f4530396838a28842d00e4db873c707e7b1b6025f95c03cd699f382fac618c2ea44d0fa7fa842cd6e519c2771c6663b1ec4e97ff0344793c395c5e8f52d2c3d8dc89b06076e5d7c08608dd70100f3f1053b5b3edcabe5e0d51dad925987918ef69e0d8819e6ac7a3ac2c640f4bdf400299df576a381662ef83cb82c11b8ac2208479535de740b298b10965b61b6ecb2f75158057808c2c520ebe16fd41a26ddef7cbb304fe1aa2bda1073a3d7cfbe82b01ad7487936d78cf56c0c43a9326296e5412c4eca56683990e0ee0a5b7b7e4d995eca3bb24170e60a2efea34ad18c1bdc9dc1f924d2068bbdc1bddbb317ea1080df5d56c0bc63343f0f97551a64d37041dbb668706dfcc4b222ec2181332659da42255ac97215086c3876311ff1075de260387b7df63ea47a411b894ab194e2a9a054784d01e8a9162076706da7e84d9f2cda714890e5eadbd2ecbe235abbc70dbe9d1da56bbc08ce6af63b0f9ca1f799c69a4f3d288cfb8f92b14e86aef4bf8b7c20cfa4b5a36cb0afe911abcd8a60ce16cc801d844875ca6171310139b93cf295ffb0df14e3a75161ef889fd1b05ce0d7e2436eb752db67c0a3fd9f5b4e78ec143ca154d709e864097040c03a51bcf58f5aaf1a7b79f69f2059c8d4ebf19dd102443897a7442d5c2dd7b84cd287806cad2d0703be2593b342025daebbcca1840c90d4e502063e967651e7beefa09c77eeb749121d6914b6c18fa2093fd01a485f071c98964d9ec75da43b34b8bf7cb0ac623d495d7093bab2983c4120b5cca95adc9469b95b2c27025d617eca58284d9ac0c4886ffdee39009c7b2b8cfa8573d3759cedf40d3c472a98754457913d15cbb5b79d0ab3c52fb1f55c47d6d4e4dd6a8946cedf402a39986d8bda2046d64a052ef1223cc323baa16f67fac509bda0946204236bf06d7a235214fd10ea64f10ceb8b353290b60c31862511186b1d6badc0bf61681174ff7904dbfdaa210784f10cef347dda8d76b0de15d9c92eab4624e743abc3416586de236dc4758538d939c8d63813b36e4da15a8b4dd4e9519901fc59d316677de636f67577d4d1c875490e93025c1f2fb3b2727998f48762a98f8dfd0f0a8bf46b0bbc77dbc052b11320dc668016d1749aa01b859ef581aad886b160593c79535598bcee2f695f6145f6ba6a866795465a81d0c5a53ed30921223812100ce3c00eb70ef4700c3a9443e4d93006867e584111f08285a53c7dc25ed2bedd3b4b81701bb920a975105dc599d4979e778234bda10e10de6a90f58fd53e93d0b3ecf93d2565b3eb3694d04e1a7c943d239b9f0a02fc6e60b73c3155454aa077667625c464e6e1806c731b724d92c4f8fea4c5ad80e434a7894a7b7bf9df5a93352c21a357245839e2a93e90d45b6cfd076b16bf40bde45a75b586b8fca821a05f4eae94ef5e72ed1d8e6d03aec09927e05b6132e2188a4026599c0701546e4c923aead5ef5e41209844b85f88df3638623b176072bde525f94aa29bd4595f4aede72e7aa610992e858fc5a1e3274f5d025f8b7362a79a3cbd5a5a5786bc50d80e03b2690ca6ded72654a23eacbce07f8e19b7f34093e0a4d521babf915178960311bffc12c7de9aa99afbd38d91a739af420e25517679032a30f618b40e1328736641e734ccffd97872fcb36c3533ac4391f61650bdb5f549dbd5168ef794a1b32b4d811b43518aeecb4508dced8e1e0c1976ea91599187ded4ee21413fa851ef9fa0c218d9f2679e7d1104e5face18ee1b79342

10
zksnark/true_tests.txt Normal file
View File

@ -0,0 +1,10 @@
01ffc837b030dd2a0d0eee70afc0249d3068b1e487ec86288ac543f10c5dad7408c94efb29fc63a6cfd9cf4dc459bd0fd1016c970c998df008921894ad2c2c5127ac251292639471a5b9b7863ee1f4d39ed956d781f0a46e5ff67f2583adf0fb042d91e5e8bcce1c9b37359db136d7ab08e9683d7ca2d6aac0fd98e9097f061c2ff7e8ebab879c9838316ab047e1ffb858c7adb2216f2cd4179ce8b35c3768f71769678bd865bdcd49b0b55e00b05542002fc0f5582fe16d75142957a53519f6000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020277d1c64c6d2fc662edbfe27d23a51b82b2c0d668f190d1dec7880968c0ac222796f8870fd23250c9db09c3188aa8fff8e3e2458f138a3f2a005ab2b43728ec2bfa648acdb38245664532f4defe87dd086a4673358cbd195bba048a9ba91b9a304a535cc9dee34b4b8a9e3317ca54c6a0bee8650e49b31f6202ceef1b672235
13afbaf553efb5dda00cdd6196ec70517e424c2c71521b84cb7f18d41d077a9807d365e36e1bcf5e2078298da6e4ce4db90ce140ce611c07ea6bb896d7e456102ab65379badd380571823206653b07b0f08cd427521d9ba94fbf8f1ce65714691a1a1f3c96e58bf3b75d67fdf6b42f0d953f406419bd029c055c6471f39c01a019ff835913f0a3349caa4473fe6d295d781e18bc477bfa587bb9416fab3bd98c13bc939ea467dd49f86b0fdad6309bc874f8bb3bce4279b80cffa20e1c6b0280082475f2323df0d3b40309851e5db72c5409aad1d521d6c7bbdd7526d751d96218fb0b82b114f7b4e0484ce6187a05d9877e93f7121a877676b4f760f12afba2195231a5e19ee3cee4ed08df9472cd7c08c410c8603ad6645c57a53b987b943b00e99e799bd25acc128ddb12ad415e39297f8c32bff802815d9c19a681b46c1f01b15c57c0e0009706e7b97ffa62a38ad95080ab496e61847ed5da9456d1f8f514ac2d0c3e0e1f2bba07329f161b9a3cd65d4274d58bb9b566a9c1ac451094a1000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021857360fab3ea0808de96de8bfbe69cadb3fc10e58bad315f0599c93897143b91d88fef1433fb5211e37381fe83dd3affcc185a6e43d81dbaa9aa9bcc5ab45010a7ba578fe9c4aa43c476a2175546f14d925a5369f673fa0b2c83dace552cfb807bd73eb3ee12c06bea3df06d7b49d72d3771358ef840d45f5017541e2eebe4e
1e2315fa777779033c321aada53b0b6ef9e1ebdb3d9ae05c91a52dafce0e39f717ed56a0d60bb9e287c83df5ae7434bc06f3e278f2f002678e47a8bad981bedb121a88760bfce7aaab66a5b8f68eb79bac174cfbde021188fdf48cbde6cfba7230421d1cabf0000cfce11f048d7f0df7a412bad690531fc3263b731f9327bfc819f6a7c1d68c592498103a4d4c70524907bf830d78fadff59bbd08511472b9db1a01285c9daf724238f782cb7bdfbb1a05f76be80a9b6ce542aaaa9feb062e7a2ecef5297c0977225fa0787ecc36bfee118782800a7b2f5a1a23d9f840196e6b2134be5a4a5154864c6b73ac496fb90f06d57036f05ddaebebc36da85285780f30028f78a9a09f8524a10d0a147af06814c00f287e1fca76cfdedc1617bac2f30e58f9607e633426a22d59d07c9ad74c5fe63a2637c600e23d4f6daceebf02ca057a245c2c69d758f7610fc03f03ec42dcee9277c1693f156ddd68de0e7b7edd12ba9dcc9a6de29386f5248dc9cc09fe0f2030c89a5f9981ef782cfbfb99190d2463d274922a4fbe408ad9c06f4730861f8c9a2529f808e039295d4708c19895157c6760b1984a276f5240ebc908e336d0f1d54b8797b6e62cdaf82acfa5c5ca27eb4ae0a450ccf978a2b114fb058b6d09c6f2afcab43d120dc8e25af7b526520efab21b3577b62b00a680a5b64e2bc324bcc1ba2607fed8d1d0d0eea573af051a60c192b5c1416a5c43c210bbe0fbe21f6e1111d39048a606e39509a5e11d8a1e9b3a9b816fdf83d44e9d8a76b0f7ec73404c7d3757fa56c25b6a1b75dd85f200000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002019def71d1f09fe876841955c2f7c34845632e53e79fe5989fb2d289b710d4b316664f6e6dadf64a35e61450c6b96ef872ea10cb8fbb97dd9bbed698e7a2c9632c90a260b94d8a6e075bf7d8076a519579641ace93e4c1b57bf700d356d9b77d133c2558198333ba3583b821fc8f69afcf26d911f576ecafa93bba10f97035fe
18164435ed3d02d9dc89b4ae215e02bb4a11afb528ec4bf06b280b321ed6b44217ea4e0984452c98f282e904579120a23ab84e1ac24041e193a7dde052c5179e12dc777338ea7514e90968e3e810588d6f18205de5c58500ed44462fba486caa1878c6bc167b6ccfe38d466d7fae8870d58023e93322051a48513dc8c95f7a932df7c544a51a4d78888d015cf44e4f6694b4d08005702d653dfd573b9bfb65fc217a309893e6e9fce6e8131c635785b564014793e6de6b84a08d9213262a59cf02c1a0b4f27780bd741e0e6cf9be39a00b5574c40c1d221aceb7f3f069f04e48208867eb2f3e2b807fd46a19cdf2b3af1cca7bcef51166fb5e4bce8a81e49f0f140488f3ff80b753208455ff94f43d695d086c65738c07ad754e6f46393829191dcc8ec0076b1093de39aae6c0d123e2353635319572b01025312da59671ef5a2c6248a39e3606d59e1337f7c3da04a0e90795d467fd5d453f3b291139972afe1e721ae3c8f9cffdf3c0c5d9d1e169a2b1ed513f63163cec93e497ffe691efac25a66441e617d6809a4b1030c02c428d94c36accd14384f065f8cd7fa4ba7358041e956ae1bb45d03b4a5d1dca4d7ab3e1cb1a37509d6e853599e321d4371d7619c0586b42afd2db5d74147cc351be8abbd989fb821f32e60f72918f843fbaf30948753f0572ebbb5707e82ed16fcfb665d26997b62f67cd5bb58cbc214d1ab1121638dfdb6194740af03f860f054d3cd71dbc1bc4f3eb5a9b6e1f51df8fb7da13dd05898bb9e15decd69d57c2947b51287b70466b6edb79a08e0b36f2dfc32e22ca744cd64f78b63115aa8e9d2c983617eb917382d90ab513e340019fd13b5e0964285f6cfe06c858b6c092668cc423047c797aca636b63c213a6ba5723b5f323f77435dbf7aebe6ba80d74622e4f6ef7a75287f81d78b937fc817207e0de4d2ff37becb2be6c8abbc94d0fd19189fff5cdf537cfb396966380f5717a602dac0fb709c8e093d1129594fa6590f8b4d5684512388593d8f374f66900598a6fb01f2983433b2ab2c30de22ccb65fdd11e6f8d6ede173b30472497f6183b47e7850000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000216c1b5e568dfd29741cc759a4f2c7818d79a3abf13d720221c6bf84a5761b28d010bf23080936364f0617c1c4d507e29166611362b6366d592038ac9288f0344122f126c622eeb03041dcaee02d7f9f8916365c2506f2c162988fbbb79190f3022e84844c9a8744b6b7c41380c6fcced41439a43451d546c531eab2042bbd0d7
0fc0e73b14a80922a498f8bd3147a6ef16b721f2472ba3e43da1e691ac8b29c3211bd75dee979040652401f26166f00ddba8ffbdaeee1ddc2db2a6a535fa874609b0de4282bc6b68905381c4299dc00125349a1436732e9fceec134671af85be245bb375e534f0f4ba2c851fc6bd9c70ffb15cdb463465f9a206ada33e698e5007760dcd0a44b0a195041fee2491909e6ee4bad7fa15a605a3e08e75e893b15d08b87e0154fe8b2d41914de00d42b641fa233e9bdb2d84fd1f97e6ddc2feafe92ecf702e9400c6c96b31956918e8d4f4bcba0ddb8b8517f375a1d937779810760928a84ab60b930c56bf789150043ce2974e1eb2d3a334414819244c6088c6032e6530b95302a0adf0ad5abf46118e37828b215a242c7d17b581f70b494d171a09fd83881999e80e138c553c62782f44a5e6e62ab342f94a7d88f0be26e905081cc23e3769e63f70c2d5afe0b7ca9e53f547e5388e8dc2c8a11839a866599cc01b6c2f20e395f9009c74c80fbe3249c07688a535352f4656276acb4af1336104261cd04c565397a8a0ac46fdae34f16ffde124f8083f2ec1a2326e1d4bd70622030ef4787fbec09e10ac8f6788a82dafffd426539d3f3ed7902c90746a4a94d20aa7247bdc05f1a292c3fd41223add065bbf241dff1e066844a73740a46f59872e01cc4390611b28311eca3d8b2513a4322b321eb8d53bc16762161e077acd051c20672b68b0c5c097f84262aa71cd3d12f82e7f782c0bbb55b97b89e0df8968229de9249f0646dba946aa59ebd42bc38627f2ca4f54d4007497b30c9f6a1d5a0303d2f6617c7aad20dbaba850dc85350e9a0db058402ef5ab2bfddcffbb4122197ae5fe1d6e3d4dc9a5ae39c1b0bf89efd4a62b7b6cfcd6060a0ec35536c6d9284bdccbc8b3cc2535c709abb08417be115d020ffa28f5ad21ae852af984c7ca1fe99805e15c68069242f7f2bd58b7bb15ffc3e83437ff372e59630db8ef60450f0ed7fc0a016711f7992f33ff7bd35901b4b146688a19cfb8512186f014197c02affb757c672d7d76b4cc711ba0fada9973efcb570e50f45f568b3a315fe2be0f74a8d1f7c89f90a53242290b9240a72b826458570159fbe13ab1d1158019390970ce396e8a8006824be4cd8b865ddceb4a24a80215e844a20368144809d4b51dee9c67537ff88fc24145c02e71239606ffc6d8ef4833ce04d695c52fc69462060280f9f16c3aa21032e2022003706ef91ef4eaa014ab6d524732d8376567170a6cb04734ffc2c1738a53b3f089a38b5c273d507c9d271829ef191c57fbd0cf0c3c3c759c82eb5312f9ec518c4dab71022221d1c39ae73d07919c0eae0e4f1a000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021015c146e0c5715ff81a7b77198e5a460566eb8bbe1a4c3e16cf1bcaac1b77561deb9b6ca6d7588514189d2058f8314bbc7c0e52923165126a36f70c0789ab2e18464de741cdb31d9277fb9d2e84d061cd8ac250c72bb19e319ec1d4c9a0d5c424f39bbf432fa2e09dc369b40475824b851c03c8863bb68c345eab4d2d3f2965
0a895cea143d7055ab3c1fe22fe34e59d38487f30fb0da8910246694bf2d0ff01518d51be6148eced17eb33b6efc6cb6608a3f243616c80decf39aa777a7ea1b1d44548896e3adf319f6beb184c5e8a9976ac92618401153a39636c9ae6abfce052e61e9c886178987ea82c9a2a95fab1fac3ca8a077c53d126754476ad5cbc90fe1f328bb1b5576ff60aa0195aa93e36dd274134fc017aac3681c15002d0cce226dc753130caad03b251cfb96a880ced6078f4c023c11a03b336948fc750bb20ac5f6b3147f469347d2973ad89f85e0aa08c86b965deefa8c78239172b00cbe19e9fb2c2fd3135933273c9aab3c2f9e22608a5ceec00cfdbc81433fd8c1d9ae1f2ceaf6548a9a4af7187cc3b32975bfd11ec78a8fa3a7f5489d249f8f9b3f4f07d0d0df62f15b0655d0ca0011b52d8d5e95a5f0c74b86642856b3586e247ddf2374bcdb0c045c43f1e6ff4abdc3aa8462fcd2104a6eda8317a5812877932bbf136e0c2f74faa1564d33fa216549c6ce0f79ddb9d3c81b74cd0a534d5b4ecf901f9bafcf512c92cb9208a2f8120033e5a549d2b5eb49b81e747304ce27865ced2ba0ed8f5fbd8dfa702d1cf34c167fcfb574cf03f171863cc66215a45df1556418ea5a85518ca419b107a6562e5968da7b7cd832942c4fb639d24862f19f7de223a869e185dafe621ca8d790e279d767bad14f5c10e568c892dad795c01f2dd5106d82417373591e6e6e5cd4db92841473eb2d4afd5b4e6e5c8fc2f345c88adf2a171138b706f3876b0763e0553dc2d54c0476fad972e0b4a88a0808fb7e84881f856a65bc6065b3f70790f4f45897ae35320079db5b4b45ee30b2488c09d20d23a1d64a9ad1fe73b71b3f7a66b782187740d49270f996eef78259080a98e368019e279e4bc91877d476483084ecc94a7652e4b5e20c9956e5ecf5500a7240bd16a7c76d69d3879bc4ca617ad9725332de8c28c1c4203d204f234c608c0ef9470dd4a5549ea216c7d3c5f4dd550d5acbd4dd7981811cc56fcf495e74ead6c7ad2b309058f7089b05c5966908d70f4504de3d2ce95d7cc64649afa11382d2d20e0965926be2b3570080190167b0b6957511e06ce54f975402c2c2d3be1a1bfc5325cd32d6dec8ac92cd1208c1dee92b9c36b77dc5487560762fde8e10281c068918b48a39682cc60e344fab5ac1bcfc1f6d9b090b79334aa97645f6cac206f2072fc62631577742bb7235fb319ab1df3888a71d6f8cb13ff4a4347df8e2c14dc31f2aae321fdbb31c97a13ce9a3e383f3e6c3a6d69f2323afb87341db0668336308f0f5c00a666dc3edf60a7d1746e61589167df0c50c6e96f5dec1864b7f671c203895bdcce798efaa744c2424dc779e3947c5569d0d4bad4c3ecd39dc9efefe2ed561a87bb969c11923bd0fc817b0d37b117385f96605acc8e4d1b0695e58891ad673b8d49762ebca95d6eda3bc4c2cdd100032ac3fbc3267681b76a337de922a2037c9532ab741b779a82c2b1e7a15550a11e5ff1247c2877a2c255ca3faf92c2fd48cbbc60af47dbfb6a8bdbf8c68c99850969f01f9877094220359d28dec1a482f92be51e3fcb8245b4887a8b45f51f2d30e10918c2d2e51cca22a976f1600000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000002276c5078fe482b2e350d75e25f6147b4a8e0542b272cca7d6462812a4b9de361050aea8b426c84faa376f09a7c1dc2f3db988df0bb7c0ed9974556c8b723817c1fdf5db7500121caefc9a12a7e159bb1d3e17ee596fc0df73a15af1d091713011ce7a136203ffa5f3cd76ebc97741219d290dbcf9022d86bc839b5487255114b
28c4e29f55166420da4e8f1552f9dcbba35859f922ee6e2aa01a9e463adc75371c372a6ee959f4d69b017995799a0ba835b3d592b0804d6aedb68e0c108a8a2f19fcb2420036845d28a6bcb42e149e76a761a34af1f17718e790c8e3db67b1b52a9fdb157e6b8b0588a2f5e13c18b576e2d8842bad394161d7749d2abb3b343a2abae1f40b47a63c9f24e03bf016a023c1136772fd7c1f9830bd4c714c3f857519340546d2450b88218e720cf76a62882f36309f35f88562e5d0af966fe691590e56dedcd28457c155fd9d2adba75e4ed72da5151f083942581a12830371be4204a1e0f9d3dd086edd4e18b9d4c54d693feda936321c4d04aea933f5cd24ea7316e5172d53c9ac095106998fa36915048aa6a5b57c5319b9fed987869f4903722a10529b255ca2658512b585d828650999cd7357670d3b75c0f57886929d80c02021e07460c6e8908e2daaba0fde8042bc06e2394533612fb7485c16c73888a4116b725c958f81e3f16dec361c52799305e51e2a56338ebbada1fa4f1a78f94b0d03d97a8622e3ea14995d8c43861081cb501592c6d61f3256d292a75e160ea0016cc92f8ffb4f4250a43d33b70387f3c52a673dcee0c8a95f16048acb4c02aa30244fda2cd7db32c50f7b4ed93e3d9d3ba052730a4f1e1092a1094fe56626f725d015bf858d8bbe92b103517ba40c698364aa00d37b4141bd179d600f04817f200f49c783d4013ecfa0566062ff816f510b3c6a5cf4483afc8ef1c1fcc9b0372f70688065ecdc8b3ce9141f2a2196ecab4f63da3fed71ae97c7f64b29390b5b116526f7f05264db4bb9dfcf35387250e1ba2995017da02f79d3af76a61e5b8123742f64eb9843f043178f6fa74ce801bd5fab2dbafa3baafba325a44fd0dad90a4d19d31c6bc32c8b8b93e3c6a5728d64946eb2f44e4d9bcf4acf220ff73cc025ad40f109fe1e047f1aef2a1378087fc7b3e0ee281f2bd6a951fe38cdc5c8d10930025a5accf60c1208913d5cf6d3a7db8fe97b5cf25f5bf0ce1cd277bea03924588ef78ed8f4f5cf0f7feb212a607a763e4c16e65b3b991c13cc142acd15a7276d9369fffd9260b120d769a1ef678355474a1194e8a4a08e38266ca28189d7227e706237ab03e3d6b98982b6826fc088a20bae7a676a9796a11c940ddc10ba06166153f0ae8637f60572b482f0d078a7c608f9accf22a64acdbada218d413f15152500bbb36751cab28c241c815af98b558e91922e4e4e68595ff621e259732e7d8820a3058bd15c6ee2034f21d41dc32ca59a03ce5cf523d21c8ad3950368000e34d0a8fdb2cf9afea22e3228ce772ecf74524391b4848e21490c2b3faf0c2b8216e181f13c0da0f0b13e6774c38fae6de2b864841d8de396e0092ae086861a37bc49f39cb040c06a7647b11e021b41cdd2c73d6e60f2ebe49b305a1e4fd2060c35fcc62a5b6da562a23f9b84ede4253b7263dc107fe574539c1f41779a2410e64aa0981af294ed51c9855f7bcfafebd3798095560c17414ba9b1b8b188411f4bdf900cbcd348b2f14abfc5339d84caeae3e1195c470c795a1a97744b92a11529802298c06ab7a442cd59cd4eea74a6d8b9472f1653a63558f73dc26601a304c9508cc4aa64ce24541913aa3d463f06c94a96c1f7ff39f260afc8628f887a1df7edfc566d49d743378c13f92adb93551ef6097b88c1f3ec5bb2609e9d51a4078f21771d8093f545a9bdf2a71eae776e8dfdbba66c444fe2fdb0552638cf1a24fddf776d34dc6473c456fd8d3ea2ed026630c058379e5f95d5c6e3e802cb16111c99ed9f6f287a270147aae952bdc4458b592983b5475dd65edbc6dd38dcde0701200671479dc154c6f6c8de51f4c2c2bbeef5e9d3ca9885ed7fd4513e9bf00000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000226af56db1966eb5e98305970e0f3cb261b05a63c676070e26bedbe9b68f3a13e0d549a9b96ee5bce4d67c51f89c0a1101e4d2c06f0850294a3cebdc517c95f9a169bf7491e315e63e3da0b8704fe75ed36d89fe6e643a757309117c02cee974b2879c059a28d7d126335b10379318ce9e422090a50cd6e84a0f38b00e34540bb
20826d0544a3c84eae9560a7d57ca7686e7bec6a9c511513c4281ab9fda57cfd048e67ea9f8997b4c0b0c2b4fed50f5b18c2940bfa7ddf635b7a941c7f4fa96809f95fee77e934c9a52475deb262bd2ea3cc6e8386670a83f61079eed69f35dc0b796ae404978d858938dc9265a3359c738f8e6de29b7fbd988a8bff593c2ec71f465eb4e9ef8a01fe7e5ef0a2515f82d364b51d5c7730513ec5dabc5593b0fa1ca0408d36d7b79dce35b0b7090238f92f49dacfcbd3338cb42316cfaa653f12281c5cebd1f27cf75f1070bc34a3a82397fec85a2835809e180876c21a3efcf919e3ebfd3e181345b3d946684e66a440bd98382e350ac49e2a49ed13ec7917592b8e442bc727ea78c4a78c34dc7bbfdea41092077012749bf1f62f48fd2d8f3d05bbdaa725bcadbd6ad59ee445916acfc1156c6d78574094b2112edd806ea9a60e550378da17dd722f9aadb87f874e33cd53c21332cec3bd58ef0d3b0016943b0f6f1d27f94cd26e4edabb7c6ecb42fabf6efe5c1370114b51d21ad5ff40cb211682101b1a7436c24b232d9e9fc79099669a85ecf2bc8312c9233ea54988edb11cb78f6a6875c8cb10aeedf99127ae8e1b71ab4ced0358bc22729795762f54700716606460f9d094d79cb425871b7c06fe1f132345d5691a14c05d632496377d0dda604997e92e0bbed52566311c792918fb6da27a6f4a0be786c51730e5b3df15c9856b6dc6ef31e7b8d1a90720f0eb342d282899ad388eb3747cc70d677b540d72493c83890fb5208e2abb18d7b6055a9357de43a38016e183cbfe8a1128002b1856bf68ccbc1e463f6e8136ba6cc3bebcc33123f6c5a47686242efcc82ff42fedbbc104088fa6e25b091da8c8d3f0b13cfe8d6ec464171ea2865d714e9dde305b3fe7976fc4b5fa12772b402877ffdaccd714f999facaf37a56dedf5883452db89fd8ad4df74b2435194b485a036d1e34e94da75873101dcc0624a97733e9246c3cae99be80104df36cee9fe3417d4cdb7b93f2f4454cc4c44ce811fb2a3c20e33122acebf3e66fc8287c6d00d6f6e5997077460ad9e804a4a58b39302f060abc8e8f10240155a3b3953adab29524b278900ff1cf6cac4d844fbf605052411fca6e9143b7c4f224fb2692f7f8af39d9355b848d744d681470bf96957b22240d408dbb02205c43a8dfe72c2d9f66752d0f53456e8062d9171a791a14600269264db6ebca1d51a035671a76de437e7a37094de7152bea7b1d65831e990c49d910a71961cfafc395f746d4644901d7084b1943a92fbfd32d26b71aa4d1f5e5f5301a6e2bdd86c34eba13600fea4d8024075679b73ceff72de1555c5a83accfc3227576748e3ede967f5d176e95b83916d1bf59de190db51cf90850d3217a59672d3f89eddb4cb83b0341c08f9e773c3ffacc96b4c8a50ae85ab4ae80d888058114659e930bda8746f382a5db8655d9dc381127116fdaa84082fe277e1719e41819dcba1b4e9f692da9d200b3039f3af55f8988a756efff5ed5267ddd0854e35c1dfad459a8d2425725e4e271961bb708024816eef47d634127cda1197775c73d26d31dcd83451506f2ab785b92292e74c1e2c551b2ce83f591b9f4c5c8018518085148df1730c3e51ff62546decc28e0d600de150780957b2b2095fdac17b40210cd23b2fe992afe321020381007344519e45b98202a0a703bf7759e4e566c792534d8ae8fd8e418c19ff8db6df95d08df864cb0e7f9abec119ef2fb5bbb776523b1046fdfe825aca04a06502cf849b8fd5782c4d057ef4d7903fd567496366600586bec457d2166e632e5f287ccb66f310e7baf2b5527c74eff1a41975be3251c5ccb1e0f50264f1568e6744aa73268092bde056b546d169a53b240ea637036063b441b0e95ed3dbc08c9f1445afab8a419f52db8dc26e7affd5bfc1d717636008174682d3a6d5fc70824135d2a4e06467a48a0660ad6ef73599a02a7abed2601407af091fbaef5ff5fef7ffe017b9b4ad7b03d554257fed6627cf322bd76eb075e6aff5644bd2f821d77222edb34db014bbe72fc2616930c3fba4c0ca4976719092a7dc34321d177c69c824997a21b67ece5a18fb86a163b03675335f6b53908680b6442b2f30c8b5045301caa9eb24c42363f2ab953b91015d41f7973bea4000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000021ae562445e08ceaba5c5c541e1ba37a13f99216f274f5395be8bcecd96b3da4425e381f494aa880c4c916e7d9ffd78efa2226ed5680cea369bd674ab04f357400bff014f199186f428b9567fa64195dcef41fbf7722fdf8fb52d334e3e4cecae218145729a9917e088c17d14bb395a5829d2d3bf91f11d7355b28d8a85abf219
0e6f20cac374df34b0c0bdc5500d470de1c791862f8c221d0f5a5ff33ff41b941bd4609d0ff1b9441025139ed6c81b1d7ba6ca25be93babff7fa80393a45c325178adb6b7facd8afb5318ffce44a8ef77cac5b2d1d231f2246dae97577c44fe510ac6cdc03ce6f75b64c5c5e6ceb37e33a31757654098e54103fefe7c1b64f872cfe9dac769651af7636aae8d78ad05ec5af58e0c734bd4072c3a278654385b605f1c78b4acc21e84b9f39ee89945b386527d7df380ce642ea5c9de5305b753a1d3e4afa9e0c2387e7c9cfd6c44e165b555a96d9091034f91dfb0ba815b1104125ecff9b64ead537c32221bf053c06ab54d7380caa88b0eb4ab07885cdaddeae14b6ba6deb698cde921e8a9ef827cfac04facb281e20df4efe9b53a3eba612b10adbae5c3aba3ad0f48be782d2c83e3ad7d3fe4b86d8a8377e7bdaf3e70be15a2553e2de0f6c5513287fdc32fa2423462fbea584b04fae83324d96ca8738b9ab2c6574e0b7e76199dfffe1edf0c8e19c74db8e44467322a212e30afd7eee6a7f1cad64115bcb05592203ad09c6619b20bc65d9a7e2359329a1f3b9ff05861717304fdc1ae1d3860a7fe01cea7d2c29d161da3aaf1ae4509117578c12640bc1e0177f68f52dcf9455a9a5abf23330d450f9f16679a6a58b89196fe03b0941a285034ad4fbd87431734b180383a617944524716cbba08b866d4bb738b33104b0c72d5087f5a5a158ed74c7e6c34cc2670d2f157e954f93e5bf489e2e2eae279e782404c0c70b0c6c8b2858086a678d6816641ea65bd5e746910a26ea34a3778abd15cb017fdb6b8809bd82397efca82af53051998c71c8c46a1d4b9ff2f8ca9fe22dc8ebb0dc89d81130b41b376e8b00403da010aed273a23d8fca5728785f8f2628ef1cb7cfe158bbb164fb05d664a17a02541c6df86ec3b4e94f5d740ee1967a0c49a5efd9b760729ba2bbfd939a813343c5b9b529367527e3e2c98ac9e0618e00a23cad04e636131ee18a84aec4dca344359e684651d0cefefc298ce53cf73e2ce8b3ddb1df5507390cc65081ca8b61765d710e62e8ff9d24bc494c4adea4681bfadcf9433c27071ec3da5d7638e97113f6f8c88b780880eea3ce87c9b3392e08f61eafa5f7950b417233656b97463a6d2bd620fc591399e583ea172c57bb3e199f750f5acc2392d05d3881d5d9724417ceb63e20e50b4de25c0f47380a0c372edb79e64725e5853fe8534fb0bad5c874eba2d088401cd695e2eb02b45c55ca097096ba21366367acf0c62471abfaaa629ee49e17a2f21d30da9920f850982b134b4aac6f12da2d3bbbcb0cb72b6fb6f88eea91820e55f7222b642678b7c7541fd4a97c90d1cc5c75bd65874c3d5e3799f10d56b02be9235ffd8741aecbf4af2a63aefb9607566c95eccac04178d858b8efe455dcfb7f3eadf596db29345d8b2e8f563c3639d41b51a4344d6483218f3734c08d439021eed755964bab2c4cbd01f94c73bbbdd52a0aba53764767fa02fbbd07d2e4a1c1bb563a00ae79912cc8068e426b61a0f99c8d0e077d0ee5d6bd2a69fd1e626aba4f261302b1817196790f01aadd28879e18737925ac2a8ce94ba7eb029790d6ea06a1add9086164f5cd300867227c7c6e7c7d8e0abc734c11d8ede85f030aed1fc0fc73674e36d0168e098153570746a56de886f2e65fd53bd680331e2fc0c7d0f0027b62a0e90c6a852f9d555ce53802011cce5d5b290ae1ad21e4c5f1a4cb2594dbed7ccd08de6a972e33c72c475e6cc42172223ebe05bc57701a63e57183ca7017754c0c76035054244f133cc231ed9c872908a6d8125de94927c03e1bbcfcb085554a995bb11b822c4b787834bd9228ca0006fc9ef8e0a6a537002e999c569db97a0e65db0aebd80176a2d1b5f1f06b8e0ac8eb6ff790d15ccb5b0bc481247ab1d8fee5340b1c69159200ac0ceb4bb6b2a375ca7d8f4e78c1cc42dcf8aad331abd48a793d2cd18c1427f00f7c8ba37dc790ee980bb5f1cfadddf404f4d2eea418041d1c70da7edd29c59255331e34da188c3874e440c6474e50762849dbc4e6e67ea93364d0ddd00174985008fb115d22a3f9642a77b9f8c4cc83f3bc2af4e93f6ae006a6ed714e0fcdbc983e053019e672a2d57e967437e04b54ad1d1c77630fa5e0b3d71e7fa71c085b1c428b47b2f0e92ab4964893091ad8f53add503dcaf42dda5fb4092f0a0ed3d07be4b2666536809ad9c2fd85be63ad14894d6089419f63bde1ebcf7bce1439e4d6befe471d4627406435026ed1809bfe694e8adcebf9173667480d3008197590a2527ce1a55b0253389fc600082173f429bae347d92426e954464fa445134bcab3ec4710d111d4cb6e5622f9137410d287db59d56714a47daac03146ae0a0b9df90713506915244bfe127e197b5759f81fffdf42c9feb88239bde8b156000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000020dde3785b15738071cd90d24e8bd74afd516b420c55247590d85bc796b7827c206e8d4c87abde7cead20744db4ef15d6111251182e8d3d348b66590ab83022ca2acce04d4dd925877fb282d1d3727c9107b4455d0cd054565fd6f6c5ecdc413d11452d2e6db306e8b252b3b4d560062ba5046fca6e51a96903b33d536064852b