Skip to content

BIP352 index (for light wallets and consistency check) #86

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: bip352-pr-28122
Choose a base branch
from

Conversation

Sjors
Copy link
Owner

@Sjors Sjors commented Apr 23, 2025

This PR adds an index with the silent payment tweak for every transaction. It builds on top of bitcoin#28122.

This index serves two purposes:

  1. Light client support, see BIP 352
  2. A more thorough check than the test vectors; e.g. by comparing a checksum of the index for all of mainnet.

Usage: bitcoind -bip352index, or -bip352ctindex for cut-through.

It also adds a getsilentpaymentblockdata RPC that returns an array of silent payment tweaked public keys, one for each qualifying transaction.

Superseedes bitcoin#28241


  • Size at 893,652 : 4.72 GB
  • With cut-through: 1.86 GB

How to compare with Blindbit Oracle. Follow README. Set tweaks_full_with_dust_filter = 1 and tweaks_cut_through_with_dust_filter = 1. For mainnet set sync_start_height to 709632.

Make the following compare.sh:

#!/bin/bash
set -e
echo "Dust limit: $1 sat"
CLI="../bitcoin/build/bin/bitcoin-cli"
TIP=`$CLI getblockcount`
for height in $(seq 709632 $TIP); do
  if [ $((height % 10000)) -eq 0 ]; then
    echo "$height..."
  fi
  HASH=`bitcoin-cli getblockhash $height`
  diff <(curl -s localhost:8000/tweak-index/$height?dustLimit=$1 | jq 'sort') <($CLI getsilentpaymentblockdata $HASH $1 | jq '.bip352_tweaks | sort') || (echo "$height: $HASH"; exit 1)
done

Once Bitcoin Core finished building the index (see getindexinfo) and the Blindbit oracle finishes its block processing. E.g. for a dust threshold of 1024 sat:

./compare.sh 1024

To check cut-through, replace tweak-index with tweaks in compare.sh. Also replace g_bip352_index with g_bip352_ct_index in src/rpc/blockchain.cpp. Finally, you need to start the node with -connect=0 -listen=0 so that no new blocks are added after the cut-through index is created.


TODO:

  • debug cut-through mismatches (e.g. 836646)

@Sjors
Copy link
Owner Author

Sjors commented Apr 24, 2025

CI failures are probably bitcoin#32286 and bitcoin#32322, as well as test-each-commit not liking that this isn't based on master.

So far I tested compare.sh (see PR description) without cut-through, with dust filter set to 0 as well as 1024.

I'm getting mismatches while testing cut-through starting at height 836,646. cc @setavenger any ideas?

@setavenger
Copy link

The differences suddenly appear on that block height? Are the mismatches that Oracle is showing too many transactions or some different kind of difference in data?

@Sjors
Copy link
Owner Author

Sjors commented Apr 25, 2025

The differences suddenly appear on that block height?

Not earlier yes.

Are the mismatches that Oracle is showing too many transactions or some different kind of difference in data?

I didn't thoroughly check, but it seems our index has way more transactions than your oracle.

@setavenger
Copy link

setavenger commented Apr 25, 2025

I didn't thoroughly check, but it seems our index has way more transactions than your oracle.

If you send one (ideally simple) block where there is a mismatch I can look into it. Oracle has txid tags for the tweaks in cut-through mode so it should be easy to see what's going on

I haven't noticed or heard of any tweaks not being found which at least gives me some confidence that Oracle is not just throwing out tweaks which are supposed to be there.

A thought I just had: Are you accounting for utxos being spent within the same block? This could be some ordinals stuff or so where utxos are often being spent within the same block.

@Sjors
Copy link
Owner Author

Sjors commented Apr 25, 2025

Are you accounting for utxos being spent within the same block?

The cut-through logic in this PR simply checks if a coin is still in the UTXO set, so it doesn't matter if it was spent in the same block or later.

Here's what Bitcoin Core found at height 836,646 (index generated a height 893,890):

bitcoin-cli getsilentpaymentblockdata 00000000000000000000b9b66b80fabc5bef61664aad51551d718588bd8c85c6 0 | jq '.bip352_tweaks'
[
  "02d4a2e5f29af821307e7db584e672fa8c0fe617f9df013a0c88cbb6fd5aa1a4eb",
  "02f6a523e355cf6665e6fc0846dc462a515f3d3d1aa4b277cdacb1f1211fc58a2e",
  "02533e3455a6cea642158ca886bf9800326d086759df10b05bfaa11b45d2b93b18",
  "0362605c8d483419a70fc8f4d699c614c74c8ed032278c43b8b8232f0683d942aa",
  "02de87bb15545d60c9fbe49fc4b0520dc2a3ac93fdbba7717ebbae90c7fc308a2c",
  "03909161822f83b4c18152ea55c06b49cd21769608323f39b7cc393ddaefeee765",
  "02792abb23f9926f0258474119c78a627c59561c34dcd3a77e9684ce1c29ada7b7",
  "0269a340fe7e88551cfb03c9d111d16a7097153589dace446b1bba599785a97b34",
  "03d0980cf95aaf7d0a24683c997706e3e42631129e4f3d005dec1c7a129f369573",
  "02f80f43c5efa057b145da77bdbcf407199fde11e82e5418ec88ee5c2d3bf67730",
  "03ff732e10ced3033c7bd828cbad14d0ac6363eaa6888ea93f298524e8abb506d3",
  "02c88838442d901272a86d27e93bc880faaf631c01b2ae33ad258c56727ad853d6",
  "0355a12e4c3f675fe3b7f49a4a8320b1cd8f2bcf2352f77b30c641b24b8f1606a1",
  "023f492509dec268b292663a8cc43672135770fbb4713954da04a593f95b3b7245",
  "034443d6e8a245f2c47c5c23721153d1c002489a1412ca0c2383bc45cff7c2304c",
  "03151b3bd1db03ee5c69bd0db6f423f4f1163739da47d80c895a4909bc9c29b0ce",
  "039d4005607c82d69809ae1ac76804bd76349eca5d8da76561384229635347223c",
  "0275ee0e5c588f308fb30299108a6e13d466429a3e33ac3a66d4e2fb437c944ab6",
  "02a66894e7e613fc4c799876a975175f1ab931d4e6c1662139e636607e48be99df",
  "02686407677d28190f4d273c688499f3f69db42728a23d666deb4a822adb64a70b",
  "022ee3a7e2d19c7dacb79eca15cd7bf9b8ccba4f58c0a21a94a5eeba54bba8b9f2",
  "027561e19ab383536a9005d3ae0abb2fe63241664e86241123c2b7a1d9de64a11b",
  "02c7d963631291c8862ed23ef135eade20577bd651b701edcdf66ca60b66fe26de",
  "02b0684f8b735081732ad660a5fa5caf4b63852d247ca21f1631abc5c836aa3fff",
  "030a21c43ca394fa93c3d14e4ac50b82ac6f4932a1cb7e047a62c1a33f6ecc00cb",
  "036fa37eae8617bdf5a58772c86275fc3345641661704c07673936e3e7560dcdf4",
  "034f3523316400192e9781d971988a3f2553de9265d2440108b2db3e6a46f818a5",
  "032b4f4ddc5eb198fef2da1e8f8aed8c4cdee8fd7be8aaca5c5adef618d005d261",
  "0232ae1972f4d2a7e814de602a3e1e2d41afba543691bd6c86d6ea18b32c749260",
  "023b438d86849fd273ad7a18ebf2100d96fd758013c38f87e411419cb7a54fc642",
  "03150ea5416419f538b1116de5b541a61c0d07c6a516edc4ecaa9ad831f194f7e6",
  "03e9c694599fba9bc7aaea22620df3ca5ed76e8626bf27968f762cfb46fc3c88cc",
  "03e8bd929321d78238e6bb4b48f2645e38acbe9cc61f03e697ae66f1a799a68912",
  "036a1810ad75ec065bc23248bfc4cbaee85060d27a18ccb914bc9cb3554b1d78d3",
  "021cae3814812fee50c44af07243b603c27c40155a0e7297510a9fec54f8e81ea9",
  "0317f5195540ec87a1c933b35fe3f14e5f70aa5ddd28130d1deca1db2e87b3f55f",
  "03322c58563c973712b6ac672315690f408ac47848b3cef9c17f3e3fae18f10c85",
  "023163c2af2f7d5f0426116d7d5c0f5c19dca7787072c986adae16e4a96e102a71",
  "02a7abebf3259a8fe51da7d8c10797afb77f569b81acfa9660b827597bce2643f8",
  "0331743f6bdedb20d3b9524bfa7de7740d40ff4411f5856f20389c67f9e8600a21",
  "0316c87fc1db7b947727a593f9565ea9e2c27e81b40147a89eca958e6ddbf45791",
  "03b7a52c949489fc24454a77a204f540dfa5a0bb13ac834057717ce0e0d83c7126",
  "035777a5dc413e4ede4bc6fc0c5885677d736a953ae43764f2538beaabaa1b79a5",
  "02b98be5af0eccdf9ec07562c5bff821fb04218a730767033b050963927c9b9b34",
  "02c1b2170e32838ad1d6d25920c4f904c557cea96a1a499de4936b5a33336c4ef2",
  "0244d3b4c7aa7076c9f6f46fd24736ecdce2ab9018936824dd32e750346f6f6bd6",
  "036f083e78df07fb2614ff9f109d1727dfaba16682d481361be056bb83c4a477d7",
  "0321cb0447eae2fd8db719067336cfdd55c3693f21798e5dca07ecf659c791c0a7",
  "030bf66ae0f7a31e28185a6051df2662bda8f546aeb11447fa7fb917763d6a2994",
  "0299c9dad886126ed366b56e42c536fb937d2d67031dd3690cbb7193cf21fc71a3",
  "03d163543398aa02413cdef40ed591352ccfe1fa9bbe9e5b56519b204b7c672888",
  "03853209661e18294084ac06f792e1a7be870c23706c2009aa82366891d382385f",
  "02fd3b82a5a85f3596861f3eca937b379120b4aed8bccc8ae955091f635d9cb798",
  "0245978433ccf04cad24db6885551b0b39af0591c9c80838aa734cff4b7bf4cc14",
  "0345770ba5caff6f5544733e9dc04245ce6ef7547861b2a9c2d385475a1b7fe2bc",
  "02ba327ed7931aedee745cd3998c630a8b9627b61d93f905349c87371c5bd7465b",
  "02660c7ac31579055fe864b5cb2a0a506edc187112ea082225598ee30a754469c4",
  "0301b108e9052aac5f078f533802f4ce87df9aa85e5d218b9701306ec6bdb8abd7",
  "02a926ab2c0da29ab45d0d2d1ca978a4c733230a7bf04daea13623daf71d8bf94a",
  "02b18773c49cd4edc69e624d3b714708873f8bc3af5816492bbce649d3c033076c",
  "0295d097588cbc9376f7fe16e6fb5f15dfbb2135a66a20754aee26294a3f80e361",
  "02364c72de1803d1d29437abcadf642480a840ce8309015ef5869b1ac47ebb7f48",
  "02986e73b71e7a6248f70d10a497331c7f2c84855e94096c8c6a2bf280f99d2bbf",
  "03c494e1afae01a426a89341361bf8993850738bb83d9316f3fe6bd400119100a7",
  "030edc748e28e20b5d76241bdd3350ccc7e77e8630ba8f3ce87e8b9fa8ec2f548d",
  "02c526f4eff0e11167e2c41f00b61010fefe000e3d1c720a66921a0fb107eb65cc",
  "03599d45ca1b2b37f21176d2abcea45f0ea73e61d59e0cac4f5290a772384691c8",
  "036c01957d781805192ac428a08d063c9dacf51733f5d2261c410f9c60cd37f637",
  "03430f714d74938d222e2408c2986891399ffb3bdfadd4b1b21469ec87924eb4d7",
  "032869b68d5b92c9b5f8f13a5552d8556cbeebe97bb60bf6c3d2545659e737d238",
  "02a827b28ab99503bdd6cca889d9281f401d224903caab05e821319812e69d1f91",
  "02c6053417349af22c647cdbf910c98ef1ca6b5fe3be40553fd21f92c5955e80d0",
  "03c5669cc503d8c442846c02c9d667bd37e8acefa682438c250b9ad3089f0670b1",
  "025bd61af2f2929eeee8b23c7f6721cd7a74f580eccdcc71259c45a682425924c6",
  "028000f171e735e3a4bb197d8c2b8eb8e0ed714814d5dbc9f2e32e134a3c5cd559",
  "027a8a024702c747eb2736011c008f1dcc5096755da698e889c2ecdee01b91855a",
  "025923510d96052a80965441c17835fdcd297e31dfe4da64687560458e79d37730",
  "02e11a617f57f76f0ba7da4431cca9e73f2ff025645e0d312881fa6060db86cc72",
  "02462ee98c4f5e9bab2ee9f3e5ff0cd518efdb8838aabca40380b862fe52a8a608",
  "03898d511159f32c93d2a8e348357ab0ff69eeca8fa851cb99b71cd1f4284e3b5f",
  "03a1415f3812b81fbcd6a6a9a603798250241c059bad28a642fb752549e0e8a37f",
  "02bf46c51d547bf81922b86494feeef2919a78c1b445d3509d8ad4a48bf9ba22ce",
  "02e5a8e82c885afe101ca0aa347469fed2128b2a5ec403ae074e184a4c58961a8d",
  "030b640d83bf6606d360b94ba8421aa92af93eae2ae6d1082f04ac4c378df6bf65",
  "022e6811327a056bb69e3df22bdf1758a1a81492fda7e4f31245289b5b4a566018",
  "022057e86f9b00bb4d370b277a417ee4879fb3e6d269d070ee339fb5c5ef078d2e",
  "0393f2498859d17d2505a4e7091de5cf901efdf0891c8cf37f85f675e5ae3bc6d7",
  "02444abdec507e3082460e8bd99c85ae9205da95547c287f04537341db5fc2f26b",
  "02a5903dff08e59997c4605b8c461bfa313fd17c22f269872d5ba8b45188507a6c",
  "03d1bc655f37d43e9102cd1c73969f95a0421187812291e306c1d7dca4b6329335",
  "030538f10dd5ed0f519cb7cf8553033af5f88756a3e240b4b07f621967004d47d0",
  "025d5179a7e7902954989fb29a8f1e3b1e3472ea00ea59a880d40ae6d372a2dad6",
  "0213ac984f97b6f7f5e6d0da8714c7e4b5ceb218cc9d874cbee4aedd38271e265c",
  "03895f9be4e5318992a50fe355e49ca514bdf56e2bf05b3aaeb730f7cefec1d760",
  "02c4ac639a4771eddccc2076e95793a5b89e71480b4efb5df7c53b5c45818570ea",
  "034588bef3a6460c17a68a1b7f90c0bec1667121fa43b822b8ac4dbf1f127577ff",
  "02d4672908640e4488c66223f9740a1d2f4c7dd7f0d93a9973aa2192cc50a27257",
  "02da4ed6e099692b20d470a4dd64e601975df20111de7501d679989f6dcebc62e1",
  "02bdbe1541df44331f8b198fc397285e0d53a6e969527e797e2ad9f43782dda757",
  "024149bd32d011a53451a5383dec47ea0ddf24907ad8767214e9ecf0532ef55aeb",
  "037e7afa147980e23bcfe3874dd8fa5d5465886bbb7c1dc2eff3c1dee5cf994abf",
  "03f7c59fa4afc4e02c344501d678b4a6c7c29789827084c043d77ae89931b39070",
  "021060711e8b6c172e6efa4896ae25822ff2227ceb151d669483989c3dbf2eedc1",
  "02e89384eebe9ecc9322aa7703deeb645e202162fd17c9f290a7fd38831ca24070",
  "02af79fcab896e35fe99e1ede7fd4bdcfa4f432bf44da1282ce4890299e8a4137b",
  "03e8b42478f21bc0932d6caab0b4e362e6b95008243607eb2f0a5453d781b6bacd",
  "02e8adb862e6daa0ae1ac080a23da6c5bbb3a4ce8b2f4d2e38f69309ed9acf0c92",
  "0232eaecc6eb5d108674d05799963216e15bcf1b2230674c42563a0f67d13cd2dc",
  "0226ef5e5956a86a5e9b01784f75ff752c97a21fd91fee25c983a911b1cf50bf7d",
  "02f0dba974c966ae766b725aa8f0bd513d0123177a871b0fbac031595951a9be8a",
  "03f15965374b7909d88bab96aed997f2a0f90b4656c43417fd7fb63d0625e98dc9",
  "03d29cd15e0fdf3a76d1269beca90456bf4a9c5652a7ea01515cfb90c3814006aa",
  "03e98ac747649d10998b18b458ee2bee1748aa95d2eca328c3342aee8a16d9236f",
  "03782b2e9aa2ada0fa2227b144e7f4447ef9cff72548649a380d5ea9d19c3a4adc",
  "02e406b24f19067cc11af9e64e139b1daf8cacba5e6845d5024f59d6705217c506",
  "03c287c71126cafa7c08def117e3acbf2003a9d4104d54110d3feced7905907cbe",
  "03c69cd64569fb7ab5f5e41cf2fce12410cb670a442a7ed75870354d71d859fdc8",
  "038c2634b0279de73485c3df980a1363edc875f6077c03033d1eb3d9f07a9ac59e",
  "028ae44082a8e1b4a159ee5011e8f8e85f9b48789f682c25568e69d91bbb50002c",
  "034b3417c1de0985ba379007011a48c455ddcc8a9874040fb18d37ea9bb9e0dea3",
  "02c9adbb9ee81f2c7a49a7ec662e6a7cd5e5e8eb58ebd9a2d327006bd32204e2ab",
  "027a69899cae48ba1c2f6274b19b5e76a858c77cb84fda92bc345776a7eef865f7",
  "0306401c93c02781dc29375d100c01b3981c093d035ae73f87ea79006bce42c9c9",
  "03ce34925a4cc47a8ffdfaa0a5ec43a17cd544851c9000560c3e7a50231b5b16dd",
  "02960c8d31cd278ae1074fdc8e1155b056e31e6c2cc603ceaba9e0adcaf0fdaec6",
  "027351eb67f42ca9236ed6847d49173825d48e61ac80d40257615810e1180d4bdb",
  "02c2727cdf1bac6ddaaf95b0bcf4b33d72bf06d3d7e6d513c3b0fd371d4327f37d",
  "029e4c0727041fa29e90cce35851cd6e7f4c21145af9a534062fcc4373ea19b324",
  "027f283ab47f10df18702550b5e54ff273aa3098031b9e16b3b982fc4ee02aa579",
  "03a1b0104420359a661f88868a4bb73afec6601bc7e8e86fefe87624de429ee413",
  "0219e77c7fbfe0a57dfc11195e4663cc0cbf344790f3df5b52dda8b57ec51c286b",
  "02abed1341c7ac3ff62fac1d5f7e0d44e7ce225c9d208b9a7e63a6027b28a0031b",
  "03225315a17832e5c9762c82443fce218c2310ed86bb347b12f7f89daa050820b6",
  "0352296431a6e488a3c570020d3d7a4e063506b12d0f7d054c46e4cc373b8b819b",
  "0376c24d6e0caeae149c7103d795d47e8dc25a3482d4299bc2b286b607a71c37ee",
  "02acb7e344194b738d2fbab336603b1a54c96a8bc21f1aefeec4c135c696273c33",
  "028811f04a0959998d07ae912628fcbc735d26295d8c151038533cd71391a0b765",
  "0332bc556ff1ec8fee2cf8bc9a5d8d6d44b00b2fa9eb8852ddb3a9175d9125cea5",
  "0279f364082e17328894567e97e25774bae5d0b843aa505b6e38d76352ec8d5fe1",
  "0309277b2cb99a0ab2a371a838c26f963712c61dac1defd690336ba99896aea082",
  "03e4ee3cf09f25ead9eb1ac62e77b62363730dda91eb85ac6434ba566585b76f8d",
  "02e97e9afe59130a7eb95362591de15e1232ecc9a78c8eafb681a861ff0854c4ca",
  "02bda46f3879ed51a81d40176ae413277b8a1181a56ec46e70470d11440a7d06cb",
  "02f8ae88ab61905af44282a4421347710a238b51731442b83858bd3ece865de9f7",
  "03306041d38cc64c87a255d2161c56e68e3f279858e28dfa10d3534e70fb411a40",
  "03f69ab0c529ca8462a9c0a5c95fe5d609e2cd972043d9adcc92d7f459b29a6701",
  "03e087280d490ab9b045cc918aeaa9bbd8a7988642fb5dfc0b4bf09d515a4555ae",
  "03c68698cdd2f4d36548bbb3769ce1dfc4945cd515a92b517d758bf7a2ec1fa09c",
  "02b9b4e44b01f5edfa4687ddeedc3d4053e5c4c2f4a788ee51cade960e33bc902f",
  "022126f19e1064f1ba6b0b78efc69763831f38da72fd098964578596729d9ecc20",
  "021cd844fa1c1622291d10f00bf9820fbd9b75a3e99bbdd0e956e5e5d8e5f4ab76",
  "0209e6c7f59410c4faebe07f183686a0785e3d793fa072d20cce2977a565f9f57d",
  "02767b6298258dcec718f975fccd0d19a89587ed600d2ede76ce16d78dcffe0661",
  "021a469b3cbdba941d56891f607ac8255ec274f557201c6e0d63adb07c821e2b7e",
  "02514231d2ead083365e0c45f8ecd579021d318e87740d5cbea9a2b0dfd5993451",
  "024f08c87014a63fb5abe928b9ab662591befed9035090cba2b3084d3d36b200cd",
  "02488ec45680e093ff69ed704824d2f166e10d091c6a86aafb7150f66a494e72c2",
  "03da71f7e54ef13aed2128479d91fd058c65d839c7c4da422dafa72870482f0017",
  "0366aa7a5ff2914b9c1680524d98b0587db4b004f476f19e9f230a684c27fc416a",
  "0252d4a88dd308325addd454462bf1e203889bda73f1933f346a915b1f723ea47d",
  "039d0dad84a6fc6b2b99ba005978782482621968636500233ca579e0d1adcad139",
  "031f06ae2678432c6bae8aa46249656b2c999831791ba75040e30e31886463362b",
  "035a5897a29213c231fc3a95d7d174d2393c0679ff13adceb52b9bce3ec6c9e7c6",
  "038fcd7c12b3cff12f476a2857681978b5617e3edcc15fc440af44ae8f1623e405",
  "03e872c03b4ecfe7b0890e5301e5e8e64be6056ca58530feaae0758076d8cea7ec",
  "02283945d14cf750e70697bbcf51782979390f536b3ec10f1c0c0a41afd94130c8",
  "0287018d6ad79e68e419c0acb74a9a356078a02b8b8a625b0884e8482b9bb7f5f4",
  "028006f62b114b13adf0c2dc0d76871b811907e56224fbb5a94978c678bb0c1c0c",
  "031bfe24fa8d137000bfc2bcae9f546b22d510b1e7163d759e796bd91ebc3fc1fb",
  "03bc63ad19d81963f14274b3fd2295a4b4fa6ded2fe89e06f8d4c32582d489e854",
  "027dd46a53e4a0c7764610d5ca71edc0c94cc8f2668aa0310fdde040f8990270c8",
  "03995e0f66c301be2325f8d370b96a01bead71b1d237c2f2c6d8597871a52083f8",
  "0232ff904b2fbb45afe57415f80f0430eadf27a00d2eb5b51aa16a30082cec0471",
  "028b051169986895f044950d4c266b0a250813faae57a385afe895a93f2917f78f",
  "025c442b1155a52f4f189de465c28aa34636bf7c4e566732544f8d9c71f8056883",
  "023938cc305b44ae01573707cd616438524821736977b182e3b71a881af5278f9b",
  "0286240e912bc3f674f20b58bf952cdfcd62e207240fb50ac4777a649c3df85894",
  "037fc75406bffed72af8d1852d943d74e23d766f3006be49c1af36a7a75712004c",
  "02ec6e2902d91859533a70d7c35dc47d04c2915e3566bcec7eacc27994edb58fd8",
  "026a6a1c1d2df084f8dcd9a6b684648f3a8ed8fee16df6f6882e1cdbca899cbed0",
  "0365165d6b90c1d56254ac3268eb928d9776387bbc441028ee66002373ef64226d",
  "0258c964433b856516b5269852ce5daf52fbda2307dffad14d3ed3cd8a3bc4d81c",
  "03077239b3c18b4e813182083421fc69f71d5ece28c3f0458d9283d4f7f312fc19",
  "03a0b447b80351a784e11cb3560200703ecee8653feb3f1fff2cf1933e00a2b572",
  "0249b3c32a10efa11cf4158fb63d25f50c9312e4a1079d1fdfa2bec9d706ccb9c9",
  "02b19fdead897d4644bf6ee728f0b4710de09db014dc25bdc872f2582ff44377ea",
  "020b749509dcfcc0d2da841afeb1ac1250da4286cf2fa2485dec7c5c521a0d626f",
  "02f47bd5c8c3f29b65319f321923b668c036fbf49ea398f25a1537a03959a90d43",
  "0342467a979397c5e996e699d04db2bd9686fc6e0a05871d0f9691876d02da1207",
  "021da3733d2f5bbdcb06e9b761b9fe022f463a9805151e961bbfdfc20c07054c24",
  "02092cce52234a66aab6645b9b0798eb8f902ea8f33c64409dc60b268a0f5d0fbf",
  "026e108f778122145cb9d221079410656adb3f1b70fb82ad1138f3e6badfa9dfa3",
  "02908a39838f78296f6cdac9e1ce7e02324abb5f01345b9002bd50ee62df02ffb9",
  "03aff0c2925bb5b386ad0eb18c4be13a592a569d407ddcd59d40489720ff1cca1f",
  "03d3ed01257c1cc6309d74e7861d61d67175bad269c9ed6cdba6abd4d56044b709",
  "02b24157bf47d85c030f268cf4f1b30a07c91f0ca712b7faeec5cb743215d897b5",
  "0278743c24797433a8cd63056ea9b104c8ea490fe24113db5c0e36181402f5a10b",
  "0344f0304574535eaf957f6151f2311cb537312748eab4758d2e3066ccb9d8ce8a",
  "03ef60e0fad04c68991c70cf29c395ff4a8923e8184b9c86dd467921266b799f8a",
  "02b9dfef20b83e417a1dbc8563ea16f72f1e71bfe20e41a5942cb6a3999f6611a0",
  "02419f80c54e4a3454f72adc7710804a26c6e0a4879dda8ce2c35ed027bc1f4015",
  "0211ba4e3e2d3711c8924777c106021ec2e593991d5a9be51fbf724379173531d5",
  "026c79767866d0637d9d31852f50b99f31b0018b13be2a758f76b932a30f6f61df",
  "023cc5431843392a17142afebe0cf626778660a8d1cecba06523aade345b9b10ac",
  "02c6adcfb9721cf77abed9cd0fc06fa926ecf8d5b072534c01fb834387d15cf2a1",
  "02fa2b00c7f97b3ab8549be6e32a10f871a7a3ac57913aaffacd08407181a22540",
  "0327340fc0b5363f798504796d56cd377b9ddda7523938ad1b1be8783e71811ac2",
  "03da7df2f9f642413d162103064ed12663452a185daff436d31f089a8b84b0526e",
  "026f66a302ff0762bae240603c78a9b5a55165a950af120559409437dbd01d207f",
  "026d43ea00b0edd99d8c103fa4faed1cfb9629230d6928b58939069017e6f1d62f",
  "0271e45bc920402e31c5382c995652504f76c6a0da9c6d1613873f358b7426d69f",
  "02ec1d8d2365bf905666d5894852442638acb4ce8f815a5e03c03d853037cb80f0",
  "03e6b5c29ceee90185aa7adfab7abf03f6b23bf2acc0c9628a9ef4ded5f3491b43",
  "020bfcbf8fcff489b910522d6e2d68b5b4da9895e50eb4cde09fc710b1f6dfa4dc",
  "0251ba5110310fe0866addaf27c38095496ebe4f103468369201c1d14265af8f9f",
  "02aef8a905b88c2c967d8c2897faa4b3844a45b51151bb88f652f6d98b828fe9d9",
  "02644d4986cc5b2aa5dfc72d6ce29b02b52eb574b5d5146edd0a73805453b36203",
  "036ad611bf813a5e017914e7aff18835d20d4d1693e00773f2da96c29d1e1dac58",
  "028609094182f0dc6c18a659435a30cc2628542a193a95d2b896529f7b0b81372f",
  "03479309db3ae8c9a0bddff32c923a76f06a43723f1d2eba26d125825c6ab655c0",
  "03c369f6ecf51041a8eb473cbcb1bbd45f9787f66019e547c20fe6bdc23f3e04f3",
  "0349934776f5546690acaf4c2ab07b905d4edc243df109593019367589a89e13f2",
  "02883b9eba6abd95b6617bdcc3ac5e831b29ea617ae521ad013031153930713b64",
  "028f0faf78626db28d7d4409baba9b42bb823b214812a1c8ee93c5954dcdf73a54",
  "032cff540229aaf4b7c6ecb15b5cf134c3e4bc62cd656cace3d6d77a85a3bfd51d",
  "028bcd5016e7bdd49d180221257b58640df4aeb8466f32a5ab50c8b331b17f684f",
  "03805764159e23f2814a3b3f1ac6b36e8946c745b0a97cf6e17c00bd07bb1778d6",
  "03f37445d4661c91bed8e7efbf0d849a3e5728ba2d3387d4c48198ba2a9e8f1e31",
  "02a7b8b82ff964196a7d19e3f79ce84506554733cfeab80a112381cd8532819298",
  "038c67830e5d8415d0578ff3bd3d1c87b4775a0e452208b7478e22c52b4810cbd3",
  "029d4dc142c916d2e4275b86b39d8af802a2d068d68f1e6f1828605188cda30ffd",
  "0352d40c8ce4ce165b18c08ebcd57cf0f8aed8b0348e074a6506021140fd37bec0",
  "025b4f1e3a7676526dff1ff3c69055c1386b59497aabfc923de02548c7d96b362b",
  "023afbb23f6eb44ef6bf03736e4538b3baa2f2c91e1086176b49112355a9d81cf8",
  "020c388fa1b6071e6e606525bbe9749b407998461ea6142d9378264c2b5909e5cc",
  "030a4b7a42afef1c7c2375cbe35da3cdf560b069f08b66566ef5b38ee556f8211d",
  "02544a8a22688a45883570127ac525de6a0475997b91511b89f57d9dae591c7487",
  "0372c15d5239c74f8f95015495db8f3672d520d62e5eed4d751049c593078e9e4a",
  "02b2b6af1aa3c9ae64db3097ebd4933d2c3619e45bcf4e43d956b5f395f43f34c5",
  "03fa547349d9b13c7c60f110dd53c16a5f57ff342dd925c3c1f735669925690a9a",
  "025d7b85cef2b66757ce4407f4feb3315e4e64cb78c7c68c62b9a0037b4d0ad178",
  "0390f4c246c315bff67fb7051ae33683aa8e21d1636a9e242e0201975b7afd3007",
  "0391ee801a997c8909ed6ac0ad3cd78c934bb02d237971c3fe1711b7cecec96974",
  "03d434a29dec4018dce1311619aa86caef929531f9b174bb95946cfffffdf00392",
  "029b6f11b53af547de8590de39cc22d34e9698c27c666e1b95666243ed42a19741",
  "024397dd20325bd52b34b3ec896a2ad91cd5f4676fe354e48c1f045e6f10e46b92",
  "029f656cd705268ffde7b019bc50e79612408c375045894ba522453657c91d083c",
  "02ba7112ad6b8117814676bc13adb5f3eb9d3adbb6f90492a1392b7dadc460ced4",
  "0323ac26cb1630e53d5ed0c04266b16fe9ba7e357cef0bc323b15f60521ea49d03",
  "02e2875239c61a0f3f26e1d27d201a040acbfdd24b4b60441a4e544a5a78d772ed",
  "02f8947e643b74ad34253ac87a12089db9b26a813294ff436410a32cdeae2fc4f2",
  "03257fc7f6497dd5eb8fbe20bdcae2b93fd58f1d29125fd6db04c1982b42c395b2",
  "03d13fcb38f1b61055a94adfe0d36462e15aba5991fffe08e1d0cd5e0733976736",
  "02f510f39df449e40c1346c3c87eefa93c46e858067bc5627781542f17837d12d0",
  "0243697fb7e786a084a6103b7d16b3dc61001c9cf8d6a2d84da71ff2c97a07314d",
  "036b6152189790ea217e4be172fa0fc1a8d4d5132dac98c99bcb9b7cfe166a9666",
  "0355495fb0e59502aa323e938178e3d453515fd2689dfba3d1813f11a7402c391e",
  "02dc6efd19b9ee42ac0ce488f7348cdc82706707dc8d3a9cc46f1d0c1a34a897ca",
  "037fe2b5e9568cf854797e2bd92177d20b275dac26d39b131fee8c3e2cb5671f27",
  "03baa5d9b8b4cd7c70fdf11dd36d8a42714671c93157736d666f425dad2efe2010",
  "037791d60ab189ad2c3702003d77489011e9b1589a890e5154c1d24f5ae6d09eb2",
  "023d32f9e75f19e466fbcc4ccfb5986acd4b24c9ed698cfaf2b337fbb242ade2d8",
  "03b2c64291c100ded52e79615c1854b66b461f9744d95ab4c45aeb13ed906fce2e",
  "038d1a5606d3d4b8344e0bc99810034d253f5f8fbd4f7f867ecc01e509295414dc",
  "0330ef320f9991cf1244ae3c393e3831bd6b823d1151c84b38e4b6b3afd35221f0",
  "028bce5ba8c6666cfe29ca1c3cb473857fdee46361b8045373a6fecd6772b1c189",
  "02b12a5c6261f4fda5e221a11061b7857730a7d9781918cf29dcf5bbcc6cba84b8",
  "0338318181f35695a81788625d0eb11463d080dedf8420cff03e894c36ec209a41",
  "038326f7dc644c1adc99fbdb0cd4af48b6badac9d2e62f590eb0ee64a1e205f144",
  "030ccf77b99459d0cde9ed6b6d55e6cf581ff5437aa3af5138ffbcccbe5f07f47a",
  "02e93355aab413d64e461d7f97e02af675515c8ad6555d8b30f99467c6937e076e",
  "0277ea53bed0d90c5f09ff61515c34f89a54dafe9b6222d38aee789c3ba06a214c",
  "027dc2335c34e25bd1b0acb541d0f414ee3673acd2ab3a8a0075f8d61e4532b14f",
  "036a686b33d696e302e89904f1542ce17a79af3f6c8d78cdfb6c80405210859923",
  "03dac9c77e4971c25bef9fcf31fdcf949479df04dc7f38640737fd4ce6a4f478e3",
  "03edb4180adfa7f8f73f0b754012f05a7a975453325c27af8f44613ecf586c7132",
  "038c6d4d43deb38d5787902a9829f6ab27bf984756164dbae33b42904b803b739c",
  "02718a7ee0e325acb42ee079b698b468f45710210353ccf6c970bdca63ace3e812",
  "0225ee576826f75ca70ff41b132cb0c377b6320c74ed3d755dc80101c5dffd0a9a",
  "03274b4791d067cbc466a1c6cb30696f4afac1c6620eac10065ae0096f3550f355",
  "02ddcbe44a5816fff6ffd1b8235e1ac2152e28d9396ce74e8adc2e2a0b3c0c883b",
  "02f25c62cd7f58c04e1500f5f551405ad06aab5bc0213422411c4ef6bedc09b809",
  "0264b924a93ec0611e17e9b07a0120e67d5f6806e1073e0a38561a83c62a36b1e8",
  "034e268a1e908db81266cc6152a6ce898a16bad23c2fc60dc282961e2106ba10b4",
  "022015f976da9111759743e269ed3cff6565214328872ffe6e5109d8f0200003c1",
  "03cc37ea7c7b938103cab00a57436234d042606af5c283db8b06d30dd47e1c74f3",
  "03ff9dd97c9cb929586f90cbd33ae455403b1a00921c53e1d69bfd60da3704e09a",
  "02544c07ef454ba79383771bd8590bdedd059e5d2e8611bffc01a67f869919a799",
  "0327c3a3507bd94d59db01d6b808c25b3f044caeb4caad255b3ebe1e76bb386014",
  "025bde4f7c7b22082ec68c0135ee3a19dd60c4a6c97c7295645937b1532b8de8c9",
  "03e0cb29bc1d70755660aaafd7c9a58bad5d17f4a1241f98d2836c2f13afd4a72e",
  "034f77dd7adb72a5e53e40c9aa7d5d9dff6b024ebb93b57d1cde73081f4db477fd",
  "03c24d465b40f66754e13bbdfe93a9eb16cd2707966294b37ba077a853db5eeccc",
  "03cd12552ea3340be2de7fb9fec8a74da99abf8eebbf5bcbdf8254f9ff8cca8737",
  "02eed224dfc8129cea681d201fd6a4bee33e2cb50b6d0e4f2e045c0505be4e9d37",
  "030534a2fd744ab1704db972ef34b9372e8df8da75c6a66821349ae67627b19717",
  "020976936db9002a99c3d0c01703f11b1c1efa3ccc87454d4a7a59854fa27a79c0",
  "039236cee29ceb82e5c85ad3b3cc0f9e3e60ecd398891c6c4260b3ea50726d5363",
  "027cfae5257fa9cd2f786e3be553807854650aff6e45602b680eff737ecebe8217",
  "02566a30e9f2cc4873a21d0795f6cf2299adeaa2173e3468e4dc12764131eb805c",
  "03799b529f515a30d50159d6dbdc484e3720cf0686592a6eb0e2d4df143e189870",
  "0214cd1af2ba32ae4c5d428bd59129f4115d477d9f2ada494db044f19023a26de0",
  "0216cec5475cbcf1af13174dfc6543b99160dee1dc6791c75b97195c1dc29cd4b3",
  "03b93f2b2a9dec00fd24cd95c996164f0a9c13cd0c5c4ec64eda8eb050be8eff96",
  "034ba9f4e0aa757e3823f3696c59f1dad8db191713460358a1ca2399ea9d1067c9",
  "03d611459b003b4a4e63ea09200269c0c4bc3dfc748fdb380acd882c8cb832c451",
  "020a63c18ec488e4d6ce6f9b83f32a645cdc54ac9097241bab7ca046fe075770a9",
  "03ec7446412561a145a4b2d056a903c8674a27666e5bf843a893e5e22d8f68e10c",
  "0304014247eca80dc25657b7765ebc1167223709bd55d1e98b318e087ae7ff37a6",
  "0212239c2cb5804ec40dde29f1733e5171430bf144b58fdb8a567120162e3d818c",
  "0229ac7fb695b1dcf470dfda7986c50147b47f45d2314e17c019bf7c767b78a9f5",
  "031f127e0166a500c6d1a6842d213ace31cc69f204ede7a49c3e58669a238cc059",
  "03e6f1751b1a1bb4b55f3a29a0f656145dc631db1c16bfbc6653c5e7a87b229399",
  "02311075ae05a8d02e8bd0126cb72f2f830769e5fc8fca3f952998f3ee2ae0923b",
  "036855812f1868f2dbc2ac6e8dc0aceb594d86461a7b906a6f83ccafe2583eee9b",
  "0396330f02abc666396c57237c08bdd8c8aea5d4836a217bb8628850795bf6d244",
  "03ffa05531e3d8a9b08ffda5f5154577e28953ca453af9db236442070f9f3dacef",
  "035649598fa9f0b15c4c4597f5d993adc9b76c17b45b56814128dd9c9995cb25f3",
  "02d835097d63ef39089eb721423aa9780f79324c1c9dc30c9429c24be089447bea",
  "03333a736af403d1d7d27833087c7e197116dae89b051df63277b93a18ce6778b9",
  "03da129fd24aa2cb973cc465a1ed18e44ed7d98d9aae8a7867b013c1a78c9ed7f8",
  "026297866d36a312dabc34b4f5cc142fb615a57e2b18e8adadb8a62c5743bea08d",
  "030254c50b52d1b6408c12f34167f0bbd4e604c8fddb51e71d1b31b46dacc46486",
  "02a235cd0f8c90bd523226214ab7a70769063bb89814f5e99cb08846450715ece6",
  "020bd356b1bf583eca0b6a0884335d3b80286f21bd6bf4888a74e2fd32db3eca3e",
  "0239e40a06ae195a214b5d8d07952046c07c24ef18da387580e6fb4d1d28058abb",
  "032b813894719cc1a78f45b6dd7d5c3191427c1dfab1d76a270e4b0c95ae3d1433",
  "03b0848c33fa33cdd57c2e5d84c3bbca2a3cc9982eb35699bd37708168d25756f5",
  "02ad31864d38379aac6c9974df4629b572936826b25139b7b9573649019ce7bc9d",
  "029e18db11008ce92fe1d8cc13a801c23d03b9faaa58d62d10bb309656dcdb7ff7",
  "0261ed8178ffbf63c9471f25abb884598e80597378b260fc79f1590dcd23919590",
  "02e1ffd5bb9776d1c47167ff60273e6088632b309cf614487ba04bb9bc07305178",
  "02be7cc8fbab367a25f78b46212ef812ca41295f0f55ac364af3ba39c9b93fb661",
  "0341aa5c0ac095fda5c9d05972bf76c14923a123ce8cf04597772c50f3cf00caee",
  "029df259ea5aa6a86b4d06911b7932e577610c6afc1a0d60982916cc00c3add427",
  "029f85eb3821ed650b55adf925af433912693e208f9528ed3e771bdbc5b22269cf",
  "02cb3a0942e22962dc7fcb695c3051a5b8fd07d3961b0375a9b2f5f4475c696128",
  "02fb360ff4c9195604cb2a0690f5c68272004d895def44ecec99c5d12c2035e0aa",
  "02aa4281316a7be044ef5adf224c79d9d31bbd1168997fc61bfe5d5a2fe4f3d2a4",
  "02aa815ca2a6038201976254fa327e2bf2110e0433ab1e0e2bcecf43d701a3399a",
  "03f09c2428cf55e85ba13c07f1ce9001ae012111c6087c6cd02880149d27b82662",
  "031c6a00c82c7cd64842ea65f3534ee16e7e738f85c5cae1e3650311ecdb734da2",
  "03a0203009a2fcb4448d2a3b9f6a8dd694a62f4aab74793593e86edfce7292ba56",
  "03e85fd8c04d3b50491592b98cb9d314ccf31dc0ea083e168421d8d35d9828109d",
  "02e3b4e4762e2592d8e59a9d73ab2945921e96b3844cd16014ab9037d0c3880bfe",
  "03d6d1a07414fd45efc01fea9cf1b056e767133a9e9039e45937e17d98fff6b131",
  "027fdb097adb9778bc81bad2f99db7fce4799a98b03e48df892172f91b8313fbbf",
  "0229d9b9eeb9f8e401e9215c9a901a6b207a0c0d032c73c3beb7209d3ecea544f1",
  "03e5cfc0fe0126cd421f7952f4866e9362d99ce4251b07fe4ab14c69cd43deaa0d",
  "033334cff5dae6b81124672fb67f4646c180f48fc5abdcc2d06c1633262dea86be",
  "0328813a0a0f0822eceea76bf841aa6769d59f49b2dae1375e93f8f2602de65ce0",
  "02a4e5f3ad4b647e3d23ae3564f8b50f732cf99e1bdb5b73ae6aad06d7f4753577",
  "0271a08785808cb0b66ecc3cc5ea69a32d216fcb3d5785c9f0f24bcf321002df86",
  "02dc9246447a98fa8f5e2886a91f0c41f670d0e2779fdcec64a63fbbb6cacbec18",
  "026c324287b3ebf4556446843db1851e84c5c2b84068e9f7312bae828cd47352a8",
  "03bcdf1617e575bbb64808e97f944855808112dae8e103a67b9a69c318dead69f9",
  "03038553c84197c9c373f5595699230452d653be64210c0819ff3e7ca3aa3a271e",
  "02f3bcfbe975463bd0edd51e552302566f612a7bd7300ef911ca6bbf8a319801eb",
  "02aed00f214c93539f5cf70a5434d7bab0580d306e53ec7667f67e402e72710c55",
  "0376f3cb7e0d382ec50941d33559b5475be61304ad4da0342c82e48344527f5a6d",
  "0226d0fe91b134476aa8d15198aefc1fd5977a1206e86abbb26a96517f3a85f8d1",
  "034742e6e2be4eff85d9243d577f6823fabda958a962ef37556da7b9f8219dff45",
  "02f612c6b327f8a08703ee98fc044eab567c9b0a7ebf0d697cb1b2c1ca16d4168d",
  "025e4eed0992b3333224e2bc93df5d830bc3fc02f6ebcdda7cdb968019b7d0d5ed",
  "026c255ae70462a010930d97bf784f464f2d41f48afc03d9b9bb44fa970269bbf4",
  "026770634c2f7a0b75064fa29cbe70b831e4fa6e8d63da4609ce12c355127d184f",
  "0327edd3edb397f0a6b740704b8ae7ad9485d39ee5f193175420c1cffbd83be345",
  "0281d55d14afb07234ae9e7e59b0319a392d3fd9994825f755d091dfa41299297a",
  "0380ada70567475f0dae4d180ed1c82850e318b7ff92266ee96d41c864b45e1612",
  "0273bb208f5562ce0a2f032de3884ae086145d46619bd0b020769587d87cd3bd72",
  "03e1856334fd2ccbcd70aeae63267fc7191f96717ec8b8232c6135ae5251df564a",
  "03dbdad5f6e031f38e0c9dd7308abbc58a5d579d8b0e2562967caf8d6e68c53c37",
  "03fa6b366d8a9b9295bd0b9e1af00740e0427512730770f16f342ba396a9152edf",
  "0240f6763d3aa7e2ffc2c0dfe83904f5f3634ec249e1691acd4c2d0ca5e3b9ad07",
  "02bdb50fa50517e64b65695d228306593024ae40f83196cdf4f40f6c4edeccbb30",
  "029eb6c430a32895488284265f452f777428645d2b5488f5088a62237a4751d4bc",
  "030ebf3b1a28bc891479babd1a49a88ed24058aa3e024b0dc3a4f67facf5cd1a1a",
  "0377c150cc6761364619a2b6f19e8473546fbe815f6cf8b9b5629bc883eb57d585",
  "02253258e5a4cf37f8f0eb6748a26b01ae23fff691e40fe4a58f8dc753726ec2fd",
  "0394b7603122e3cce79c71fce38c89f1fb8e4bb8a0a2b5a121a95a87445d1180e7",
  "0277ac0e653299e2f2bdcbd7d54f2bf7b4589566c431af04ee18b56f6e1572d3f2",
  "02dc3dc4ec08e3e83e7e7e70256fec619dbbc3867d833b3f21b3b500dea2d172c3",
  "03d6c75544565bdad4c86a27a514ba29f75225f3250e4fb98243740acdbef549ae",
  "02fc7355d1f3917fe5465d56495ac9cd86cc263fb26aea40063e92547076bf4b24",
  "039ffe53bb57f02999d7e49cfb432f0f0c0dd517e8c4ebd46d8d9f67151890657b",
  "02002d4132abc760770adc0281cef650a20cce7a35a4a0867754e0138b1befe4a6",
  "020577f39b758caeb75e3f7ea354ac40b0d8e0e52b5f5d1d792647c64c231a60d2",
  "03d912b4d9fe5bb0045d43d34b2d3875cf6073d44b5e08731a667e02f46a0302a8",
  "0244b32204a90a4d794ab348246d83a56235cfbde7ec5b18c18ff363b1c271b48d",
  "03ba73bc619492fbe5442dbe6710afde6629fda7283dfc64bd3370047276b2e768",
  "03de759dd4581de7b0ce4b9ff94e7e6c32b7633ec24f312dae3ae656503aa61ccd",
  "03bbe8b464aa47a730d39ac413b64b80f66d0399eaccfe64db3d5f6ad41b6c41a0",
  "02146d8eaa723e438426dcfd0f44fc1b67e837625de35356ad24afae31da900d17",
  "03c36cd76af735d1d1ffbe4c2ae7fceae8c767257a569c4aca584ac7aa5242f6f6",
  "02fd0d46acf0028d481c424835abd4629f2f1a5e43b85921b1e38c7708e977e67b",
  "03fccaa30f0c0928f857c89826aa3f74da4ee8c3504070d86b56c9af0ab107bdd8",
  "024985988759d83967cbf971434dc446511cec1e0a020f68a0ca4f4a04de5f8c4e",
  "03bc4deac5c564479876b1a56f99208cc98d680bb4affc83758ca902e9cd562e96",
  "03006273acc078176d3bd57e4cb22cb48e5612cf5f6b798f88353ea74e2eaf1941",
  "02de7a1f7c18bd4300855c7f98fba1569a35afec6a30f1c1f3330db0470c7e34a5",
  "024f23862173301bcdc70dfdd4f9e5721cc332507a91ce4da3940714eb8db3e792",
  "03a2eb110677973ed8d5fba98c10c63dc92fed01c3aabcab7a0eae6b677b3dbc9a",
  "030dfa73c3b8a290bfdd04fd6b1e4bc10fbf09afd27f947276a3dfe802c501307c",
  "02cb4ea93cef52cf7285c17b993ac8e51f0a603e461ec4b1e6bdb4302fac6cf638",
  "025918ca8e9db9bf6ab90ab71e7753c7c5f0eaa74d2e0bcf34cb2432b504d8c19a",
  "03cbb76125b17382c08a262bb4a653d427fa64cad2e1688b02cf6fbf5a239bea65",
  "034e6d2cc222a31932d8bd38e284c488972230d04f4cc671592d8f20bd37fff710",
  "03da57b5c94226bd4a202634e7a1a5aeadfcc888595ba03ba08edb9cf5a004235a",
  "0316ed9b82527f9df80ed694c1c88cc40782f7af581404358db48324381b0bc887",
  "03d165bbc687bbd26f88eded4e4062e73b64336d6c69eff21b8018e230d650950b",
  "0320236775cbbccfdae145ad693c600f1c9956ff8d785e39617932c7b1455ea4ed",
  "026d2205f3200dc8cf8a78165d76422f540309bdaad595a4a9009695a5861df673",
  "032c0412a0ee65c1b5ee505efe6a8d641ab4ee59860bc9a4f336ea61a23548e3df",
  "029adce3b51b102c45fdc8210f9620d7f473b915e962e7ed6aeb84b742de832ec3",
  "0398722112f681aaa96dfc75db680dd14eb19141887d5f23f9ac49a56a64507f6e",
  "03328380c7936d6e958e681625f64accd51cf77f35e159ba700da86309be43700f",
  "021f35c5c9c23e138d14250fe0adcacd9b8992347c85165a5a9a34d1385c3d4f0c",
  "03b7f9d56c787c581d1a0d7c42cb7b15ca65f1a089c9b261b53dc25a2917b634a9",
  "035f1e228f6dca0245cd9a13d1b1f165b862989b8291067b3164ad3ad7c33feba3",
  "02c299f21d87c3658f8cc3372bfdfb44191618095248a69fef577003b1ff18d301",
  "038fc3cd601b8a2d2d247ddfbcab887ad28fe75ad594157f7d4353350fe97ff153",
  "031cce952733a23ef9b59357570d235001e4cc8ee98de974ce6d83f5e883335188",
  "0227c700799f26458be7b505a9575a4347dabdb9e446fd8752788605eaf8727db9",
  "03a4c70741a81c91671741d1960f30fb0b572ac41370566385517f45d46263561c",
  "0314e2ecbe17821607055c4d286201244dfccf3341c56673eb1f312836c632dd20",
  "023d6d83ff0a0cff71199ef2674e5d33b3709f465429fe68f927f8999b8372fce6",
  "026dbc874beb7ba2ff239848793eb7c4ba5278f8708836f799580db2b80e716fa8",
  "03f8de98dceac300bce9dcc0802a69554a0055591e3a26f886eed65cef83b3fb41",
  "02557c9be6ac1a8cb491cad2de8fec3864896cec13916c5eb9718ecfe4c33e1c4d",
  "026451ae81a0f26047b94f901c93ef49b933b98fcdb5ec704490cd0b2412912da2",
  "023b9000013cc3557d696b5f420fb8274b0017f48bd94dc1d8fb3d0068b12f03a5",
  "0275550df4ad50c4ab3818283fa406bc5bb1835963f2c8405d465f83e2ae7fbb31",
  "02f403e689e6ea3d4a1929c0d52b96ca8646f2f24636d63a225507c0321fb7dd70",
  "025cbf6ac74ba6baf456f42d037f9ad47bbf01513ca421b3fae0082058c4e4991d",
  "0338ecce5161c018f83a1cf4bf8e31e7c646e6bcae97f9f1fae985d5d3ac4c1391",
  "03d8403372e106ebc7f4d1ed9a1035260d3a88d23af612ebe7c249eb62d79829ea",
  "026fcb2a96241faf9e4a1458299d44db4cc7e4565e7c3f0cf3ccd2c5378ee91117",
  "03cfd6281005f6fb9eccd854ddb851ef4fd32cda72abd1710858e1eb9dc66a4e0b",
  "02c070c105488bae9fd014707767482b6d327374b9bcf4c5beb24ca85f2b28c85e",
  "03d527d1eef1ac4ab79c82dd9f369a061c2773207052b70827a4285d06a9ac2c7b",
  "034f36fda583f07574ff03f65ac437d1201a7f2bb39af6db3f6ab69ee4e271527f",
  "0378bf536394a1229b660fe8e52ad58494b2fee6f1ffd7309282039826a025fc67",
  "03b392c53cb4c1e14135afe1e289b56cf34dfb4fc854275832b6f4633e3164a87f",
  "0266e361669fef06a1cf6606091efb94f2f15dbce46855fe698bf23409fe77e3a6",
  "03502a413d79ef712d39d65c49fd85a1e80bbb91a66c8c917005b09c24d5263f59",
  "0262409f5c35b2260453bc1aaf7f744d8babdf27b153fcd77de2725c7f83340d45",
  "03577beb819d27753ea36eee94acf2e29195949af18bcdb8504481f86249e4ba15",
  "0325f64080509b66a27e29fef795268ae5d950a8573867a512e58f72099c344c82",
  "02eb75baefd407034901d5a030486757cd5064cd3365f0e3ad63354ba6efe3b1ca",
  "0368fb8809c21c8d384e829284ff5aef6fe04d42c8f04d4eb96955813811848b35",
  "02e314d43030d577d10ac3082017636828bd0878e6cfe7e04370ede49bc0418d79",
  "029c8e64f73c7d8e74e01b7403bc3c2943273e3eaf3899efbcb3b42cdcf893b400",
  "02365a37afae96771525d41012cee305c8f89b9ebe7fe165239825fa90819a0f68",
  "0337c6beb4b95c6bec6736fa1bbc3b2505c9f0377cd7a2235dbfa26e212afaee81",
  "026a33f3e562b2324a61df149597e2b49a81b35998d4f3e070f91aff239ab3ca6c",
  "02a5fbc0725023ea4edcec781e795d67eac1701d65303d3d4e1d713e1c683973d9",
  "0260efe4dae62e16bf696419369cd68b78cff2b3fbfd36f4f467e8625f03fc33cb",
  "02ed6126bc95c539d95f44a648eb681940f40ccaaa690f0d836335a4523c6c4096",
  "0327cb949bbe5f6f16cd675e1fe9067eae5ebe9169241d284d2f58eee708b79c74",
  "024132dd71a3a87a6f85f56652eeea7394266f113b62036146c27d41a6a6f66ecb",
  "02417ee7c5c0c1927c995400ee303f32a21f3b8102b1a4461730efa38b048ff8ad",
  "02ce1052ce9db4b0b308116553932350285ec771583965bab8d10f9b4fc04b8f32",
  "02a76cec017da696d13ab044fba43cc477f80449cafb9e4ae7f61e6e13e3cf4b55",
  "02e938712b5156e8c08cd4fdda9d4060cbe68e0b5159f24258952ee4c52c4e066a",
  "0367152f14fe3040f673e9e3a961ef1fbbcb580d70bd0e3421dad5f841d433c864",
  "035e5d4447654eb1184cab0eaa7a78f494cf0fc2ac96827baffa62b1410852d38c",
  "0220b6669dc56412c6a1bda2ee2a0cc41c7a1ce4471c92a67e917f04632eb0d71c",
  "0315facd9408d3d93fccd69d2251b1c8da833437329f504ed65ea724424985f081",
  "023801f230d640bf0cd334a2a4b5002aedf54f0d9f0387585041cba418108bc5be",
  "03b7175e0279ee0a10913b094af182e004bb5e4cc153ec358e8bfda23a41dd1ad7",
  "020c885cfc85bc7a1638d68f14f7007b3b604b4be9f0602058d10fc34dc4b67f5a",
  "03e379eefd0e21c221b9748447c2259968a1d17451dc9ad5325cf73bd3fd3fbba1",
  "03ba288b680518bdace72938b7278c9b7fb8015de08ecc8efa3f4e26488fbb0132",
  "02629348e7392d38e78c280958a3d9a91e136ae73587d37e0727f2a61e1bc54835",
  "02ebf5bca7ed8d1db7b82ffc2bc64da901b50fb8292ccd58584ded5d6ffcf81d2d",
  "03c31e6a87b13b51e3454196d9b838a2d75964e385f79a244da21a2ebd0a32d77e",
  "03c5778097a337c163ce38c59c96ad5759d69b92acaabd40517f7da73dfb07ebf1",
  "02f6954a9a1c162e17e1fce9ddeb5dc7e161eac297be19fa55f37cd8598c2d5b15",
  "0224698bd9de2a26a261a7bbc80382342575998b3d8cbcd59f27acb333bb453221",
  "02666bbc1bd540d805ffed3f467b789cc4f175453996f5acfe5c24cd0acb83c52d",
  "03a1a8b4069a80b9b3f0b86013c512ebd3d61855931e5b836a487c194ba7467631",
  "03ad50e736c673879f622def6705700ce3c0f4d498b203ba7fd3790ccc77d9e22b",
  "024377e1d4a9a159d215bc366b6806d93e2275b8cfdb66a90388b1118e475e6603",
  "03148bcc104086e0d9586cd0e5f4d0b8152d39c131436fbe2247a2cd083a82767b",
  "03aeb0423776b70883e11f5db65633f543428cb87a2d1e817753da2fbcaa2757b1",
  "02c4df0d22745a2bd6d1ef3c55a3ccc852c08f502ba42343ffd1001e05b3c3a252",
  "031ea5af5f7e8b22f936ab2869ec0699b219bae9b9807f32a3403b0193d82f8d44",
  "02cafbfb5443345de6d5a2a9c453e24774f3644493e5c12d5d292785f3eba4cc55",
  "02d52834e5256467aeb12e975d4882737bb48d4b8f50b539e79cf8888eb864b7dd",
  "021dd07aef35841ac4bd8cb51f270016e0cde9f7fbed784a43b9635c5a3b1c97fd",
  "03a659d0d050151fbc7c82c22b530398ecc0e408f4a106e49d93f652697d2ab95c",
  "0336cc47edcb59cdde5c3f145f96912c7a507a93b9747ae9e2685e5a40167f7ab9",
  "03e02496c6275408116258dcbecc63dd6b4fbc570b613e4dbbdeec03df93de1e33",
  "020c3ec15907c94a40160f69ef8f242fe92f3d7bd3199106f5c346c80b4143e39a",
  "028459447dcf8d29209b93e799ce2fe873eac70ca726e6ebfe57d9839afa6fad55",
  "03b468d19362ec8f41a39dda7b6ee061d862e3cd6f3e3cd7558ab26f3b3e394d50",
  "02ce241f611655409f44308427c9579e8ca6229f2b387d8f9634a15c5a165bb835",
  "0327194b8b26e18eb3eef43f95e88610bc257e51ffc9e392d0c41a640e674a62ba",
  "02fa0fba1358dc3dbe9cedda08a8adf5c4c2b3253859aa373526368ffc41439702",
  "03b536566fb6dd5b213a49fefeba165d6b379202e7bdb4f642a9001bc11bccf62c",
  "0277d95ca9e2c48c625fcdec7e635c18a703c835f241618b6709e46e4795b9f987",
  "03699f957c11a97d17a7f6106bd623e3f5abeb700c3ca3eaae743945aece72f445",
  "0288dbcc2bff89dbde3de7b0d1d53862249c808bc00d1bde5e3234d70cb1380a70",
  "03e8a61624e95bd53042b533816bf98c6958e66cad48c4f87283051740a4e233b8",
  "027b72d5dff4a9ec234cab202c2fcd8be42f18187dff468ef96afa6c477ad787c5",
  "03b4d768b49328a525076217b9e2cf33bae597caed4e9c926c8ea1ff5260478f9e",
  "02f2c6cb3311c211c8194fe0dbf132de53dae5e665dbbc574a3ee348e4cc27b543",
  "031a2064e26c4a67d0a640657ca54e222475de6e8a380fc290db1b3d1649802cd7",
  "02b443d473d3c76d7d2ac5c2404957fe18892bf9ed656aef0bc322bbbaba756fb1",
  "02e45d14c54b3f4a1724dabc98f720718704ca054b4828108963862c3f2a809ab7",
  "034f19d7fd8eccb465ad01a835136bf71feb2bbd194cd7625eb390353586656976",
  "02a6c4c782ef6509356f64313ab7685d2ba3db5f90366613b2f3e9887ace8c436b",
  "02d0838c3bde6fec0767145f9ffecdb11998a901f47eb6b2436368342676f71527",
  "02f93b7ac3f342eff34d6e2d486088569f06c2d283abcdf562c61b6eca6b374297",
  "02c7e483882e1dcacceacd6741716b432421fa0a97e03a959bb0efa620413b523c",
  "0262338d986c7e63e4427ff4f9ddc12bc94fc62be595a03e5bdb62939401296f0e",
  "02ac18436b4e850b0263b799f185851ab2af74f55c569a256dadc7fa84d083e1b5",
  "03611ca03016a3ed8987b04883189647a227b284dc4214d36fbab6e9c8d80910a6",
  "03b540b312dbaa1f2d72f3088729e72d449086ed9ff94f03640c4c20c0f5b6af36",
  "02440ea993acab55d8226571cd29a8812838a8aebfb9c8dd2bf97fe0bcf9d403f4",
  "03dfc2c961607c5b0bebe66db7704e383f3bfb9b9cf26f28d25ad40583fbe6a4a7",
  "0227feecec9a61da391ff46d77988a2a8d9fb067eef829b98cc56f9fd217c4eec3",
  "026c37097ea4e42a5182beaa6c0756930696aa7fd6a35453f29daee221b88cc0a5",
  "024fbeaf8c1a5f7e5b1b113f6f105870d0937d5db60da0297be5799ecbad9e2605",
  "02ace77eb1b8efb4dde68c5b1f8a35011f1911d09636c7ee6ba88b80b7afa2a6b4",
  "03a8b1db80c73c5be1774355768b6ab7a739a8f641ead6103ed6158212f75c9f79",
  "02f79cfe5b10cc1a73467d948d2d14b529ba00cc3dcb21af20f0e8a0b493be421d",
  "037aad93bf9ec7f560aa48d73873ab493fced15f6e2fe18350d3fa19fb5ad88239",
  "0328c38360411d6f5bac87dcc84a4005c4201796a160df1a3a2e689531540fef6a",
  "02ca43b756e4d896fadb0b18e7b612b2dc1e591307017b0055d7f17d61be0a8c6a",
  "030c92fadb98a52bcc8bc576c0420a045f6afe35dc9f7416e41923026b5c9e4f7e",
  "03cc0be10156d31dc5509f35bd05db0633aae693053462b977bd1df240a37398e7",
  "034c765100951e04b163ea39fd5f560ddf243be5ff8470258812b6b8dc305c881f",
  "0261cdfd63263f41065c08c0a736422c205d15be8fd2ab46fb3b5eadb7ef12bb66",
  "02dd532cb7e92dad2d5b9a9c083edd94d9defeaee44b36d4fab10dbf7381e6da48",
  "022a4aabcc086a49a6dca3da603b133e2e92da83c4bca693e27a790c2016445fa5"
]

And this was the oracle says:

curl -s localhost:8000/tweaks/836646 | jq
[
  "03aeb0423776b70883e11f5db65633f543428cb87a2d1e817753da2fbcaa2757b1",
  "0349934776f5546690acaf4c2ab07b905d4edc243df109593019367589a89e13f2",
  "03b7f9d56c787c581d1a0d7c42cb7b15ca65f1a089c9b261b53dc25a2917b634a9",
  "0316c87fc1db7b947727a593f9565ea9e2c27e81b40147a89eca958e6ddbf45791",
  "0314e2ecbe17821607055c4d286201244dfccf3341c56673eb1f312836c632dd20",
  "026a33f3e562b2324a61df149597e2b49a81b35998d4f3e070f91aff239ab3ca6c",
  "02544c07ef454ba79383771bd8590bdedd059e5d2e8611bffc01a67f869919a799",
  "02417ee7c5c0c1927c995400ee303f32a21f3b8102b1a4461730efa38b048ff8ad",
  "0390f4c246c315bff67fb7051ae33683aa8e21d1636a9e242e0201975b7afd3007",
  "02be7cc8fbab367a25f78b46212ef812ca41295f0f55ac364af3ba39c9b93fb661",
  "02e938712b5156e8c08cd4fdda9d4060cbe68e0b5159f24258952ee4c52c4e066a",
  "028006f62b114b13adf0c2dc0d76871b811907e56224fbb5a94978c678bb0c1c0c",
  "02ec1d8d2365bf905666d5894852442638acb4ce8f815a5e03c03d853037cb80f0",
  "03e8a61624e95bd53042b533816bf98c6958e66cad48c4f87283051740a4e233b8",
  "03e5cfc0fe0126cd421f7952f4866e9362d99ce4251b07fe4ab14c69cd43deaa0d",
  "02f6954a9a1c162e17e1fce9ddeb5dc7e161eac297be19fa55f37cd8598c2d5b15",
  "036ad611bf813a5e017914e7aff18835d20d4d1693e00773f2da96c29d1e1dac58",
  "02792abb23f9926f0258474119c78a627c59561c34dcd3a77e9684ce1c29ada7b7",
  "02d4672908640e4488c66223f9740a1d2f4c7dd7f0d93a9973aa2192cc50a27257",
  "03333a736af403d1d7d27833087c7e197116dae89b051df63277b93a18ce6778b9",
  "0224698bd9de2a26a261a7bbc80382342575998b3d8cbcd59f27acb333bb453221",
  "02002d4132abc760770adc0281cef650a20cce7a35a4a0867754e0138b1befe4a6",
  "03e98ac747649d10998b18b458ee2bee1748aa95d2eca328c3342aee8a16d9236f",
  "020bd356b1bf583eca0b6a0884335d3b80286f21bd6bf4888a74e2fd32db3eca3e",
  "02960c8d31cd278ae1074fdc8e1155b056e31e6c2cc603ceaba9e0adcaf0fdaec6",
  "02de7a1f7c18bd4300855c7f98fba1569a35afec6a30f1c1f3330db0470c7e34a5",
  "03b540b312dbaa1f2d72f3088729e72d449086ed9ff94f03640c4c20c0f5b6af36",
  "02f2c6cb3311c211c8194fe0dbf132de53dae5e665dbbc574a3ee348e4cc27b543",
  "024f23862173301bcdc70dfdd4f9e5721cc332507a91ce4da3940714eb8db3e792",
  "027351eb67f42ca9236ed6847d49173825d48e61ac80d40257615810e1180d4bdb",
  "02419f80c54e4a3454f72adc7710804a26c6e0a4879dda8ce2c35ed027bc1f4015",
  "0355a12e4c3f675fe3b7f49a4a8320b1cd8f2bcf2352f77b30c641b24b8f1606a1",
  "038c6d4d43deb38d5787902a9829f6ab27bf984756164dbae33b42904b803b739c",
  "023b9000013cc3557d696b5f420fb8274b0017f48bd94dc1d8fb3d0068b12f03a5",
  "02ca43b756e4d896fadb0b18e7b612b2dc1e591307017b0055d7f17d61be0a8c6a",
  "030bf66ae0f7a31e28185a6051df2662bda8f546aeb11447fa7fb917763d6a2994",
  "03599d45ca1b2b37f21176d2abcea45f0ea73e61d59e0cac4f5290a772384691c8",
  "026c255ae70462a010930d97bf784f464f2d41f48afc03d9b9bb44fa970269bbf4",
  "02a7b8b82ff964196a7d19e3f79ce84506554733cfeab80a112381cd8532819298",
  "0232ff904b2fbb45afe57415f80f0430eadf27a00d2eb5b51aa16a30082cec0471",
  "03d165bbc687bbd26f88eded4e4062e73b64336d6c69eff21b8018e230d650950b",
  "0219e77c7fbfe0a57dfc11195e4663cc0cbf344790f3df5b52dda8b57ec51c286b",
  "022ee3a7e2d19c7dacb79eca15cd7bf9b8ccba4f58c0a21a94a5eeba54bba8b9f2",
  "038c67830e5d8415d0578ff3bd3d1c87b4775a0e452208b7478e22c52b4810cbd3",
  "03a2eb110677973ed8d5fba98c10c63dc92fed01c3aabcab7a0eae6b677b3dbc9a",
  "03d527d1eef1ac4ab79c82dd9f369a061c2773207052b70827a4285d06a9ac2c7b",
  "03e4ee3cf09f25ead9eb1ac62e77b62363730dda91eb85ac6434ba566585b76f8d",
  "03ba73bc619492fbe5442dbe6710afde6629fda7283dfc64bd3370047276b2e768",
  "0286240e912bc3f674f20b58bf952cdfcd62e207240fb50ac4777a649c3df85894",
  "02ec6e2902d91859533a70d7c35dc47d04c2915e3566bcec7eacc27994edb58fd8",
  "02ace77eb1b8efb4dde68c5b1f8a35011f1911d09636c7ee6ba88b80b7afa2a6b4",
  "03b7a52c949489fc24454a77a204f540dfa5a0bb13ac834057717ce0e0d83c7126",
  "0378bf536394a1229b660fe8e52ad58494b2fee6f1ffd7309282039826a025fc67",
  "029eb6c430a32895488284265f452f777428645d2b5488f5088a62237a4751d4bc",
  "025923510d96052a80965441c17835fdcd297e31dfe4da64687560458e79d37730",
  "023d32f9e75f19e466fbcc4ccfb5986acd4b24c9ed698cfaf2b337fbb242ade2d8",
  "0258c964433b856516b5269852ce5daf52fbda2307dffad14d3ed3cd8a3bc4d81c",
  "025bde4f7c7b22082ec68c0135ee3a19dd60c4a6c97c7295645937b1532b8de8c9",
  "02f612c6b327f8a08703ee98fc044eab567c9b0a7ebf0d697cb1b2c1ca16d4168d",
  "0372c15d5239c74f8f95015495db8f3672d520d62e5eed4d751049c593078e9e4a",
  "0287018d6ad79e68e419c0acb74a9a356078a02b8b8a625b0884e8482b9bb7f5f4",
  "02f3bcfbe975463bd0edd51e552302566f612a7bd7300ef911ca6bbf8a319801eb",
  "02b443d473d3c76d7d2ac5c2404957fe18892bf9ed656aef0bc322bbbaba756fb1",
  "039d0dad84a6fc6b2b99ba005978782482621968636500233ca579e0d1adcad139",
  "02253258e5a4cf37f8f0eb6748a26b01ae23fff691e40fe4a58f8dc753726ec2fd",
  "03f69ab0c529ca8462a9c0a5c95fe5d609e2cd972043d9adcc92d7f459b29a6701",
  "026770634c2f7a0b75064fa29cbe70b831e4fa6e8d63da4609ce12c355127d184f",
  "02a5fbc0725023ea4edcec781e795d67eac1701d65303d3d4e1d713e1c683973d9",
  "03ec7446412561a145a4b2d056a903c8674a27666e5bf843a893e5e22d8f68e10c",
  "02f0dba974c966ae766b725aa8f0bd513d0123177a871b0fbac031595951a9be8a",
  "03274b4791d067cbc466a1c6cb30696f4afac1c6620eac10065ae0096f3550f355",
  "03de759dd4581de7b0ce4b9ff94e7e6c32b7633ec24f312dae3ae656503aa61ccd",
  "025d7b85cef2b66757ce4407f4feb3315e4e64cb78c7c68c62b9a0037b4d0ad178",
  "02cb4ea93cef52cf7285c17b993ac8e51f0a603e461ec4b1e6bdb4302fac6cf638",
  "03d611459b003b4a4e63ea09200269c0c4bc3dfc748fdb380acd882c8cb832c451",
  "029f85eb3821ed650b55adf925af433912693e208f9528ed3e771bdbc5b22269cf",
  "0327194b8b26e18eb3eef43f95e88610bc257e51ffc9e392d0c41a640e674a62ba",
  "03da7df2f9f642413d162103064ed12663452a185daff436d31f089a8b84b0526e",
  "0277d95ca9e2c48c625fcdec7e635c18a703c835f241618b6709e46e4795b9f987",
  "03148bcc104086e0d9586cd0e5f4d0b8152d39c131436fbe2247a2cd083a82767b",
  "026f66a302ff0762bae240603c78a9b5a55165a950af120559409437dbd01d207f",
  "03f7c59fa4afc4e02c344501d678b4a6c7c29789827084c043d77ae89931b39070",
  "03da71f7e54ef13aed2128479d91fd058c65d839c7c4da422dafa72870482f0017",
  "03c68698cdd2f4d36548bbb3769ce1dfc4945cd515a92b517d758bf7a2ec1fa09c",
  "031ea5af5f7e8b22f936ab2869ec0699b219bae9b9807f32a3403b0193d82f8d44",
  "0376c24d6e0caeae149c7103d795d47e8dc25a3482d4299bc2b286b607a71c37ee",
  "030a21c43ca394fa93c3d14e4ac50b82ac6f4932a1cb7e047a62c1a33f6ecc00cb",
  "03799b529f515a30d50159d6dbdc484e3720cf0686592a6eb0e2d4df143e189870",
  "0239e40a06ae195a214b5d8d07952046c07c24ef18da387580e6fb4d1d28058abb",
  "02ba327ed7931aedee745cd3998c630a8b9627b61d93f905349c87371c5bd7465b",
  "0337c6beb4b95c6bec6736fa1bbc3b2505c9f0377cd7a2235dbfa26e212afaee81",
  "03430f714d74938d222e2408c2986891399ffb3bdfadd4b1b21469ec87924eb4d7",
  "03f37445d4661c91bed8e7efbf0d849a3e5728ba2d3387d4c48198ba2a9e8f1e31",
  "024985988759d83967cbf971434dc446511cec1e0a020f68a0ca4f4a04de5f8c4e",
  "0394b7603122e3cce79c71fce38c89f1fb8e4bb8a0a2b5a121a95a87445d1180e7",
  "03b0848c33fa33cdd57c2e5d84c3bbca2a3cc9982eb35699bd37708168d25756f5",
  "0262338d986c7e63e4427ff4f9ddc12bc94fc62be595a03e5bdb62939401296f0e",
  "032869b68d5b92c9b5f8f13a5552d8556cbeebe97bb60bf6c3d2545659e737d238",
  "02092cce52234a66aab6645b9b0798eb8f902ea8f33c64409dc60b268a0f5d0fbf",
  "039236cee29ceb82e5c85ad3b3cc0f9e3e60ecd398891c6c4260b3ea50726d5363",
  "0304014247eca80dc25657b7765ebc1167223709bd55d1e98b318e087ae7ff37a6",
  "03da57b5c94226bd4a202634e7a1a5aeadfcc888595ba03ba08edb9cf5a004235a",
  "03b536566fb6dd5b213a49fefeba165d6b379202e7bdb4f642a9001bc11bccf62c",
  "03d6c75544565bdad4c86a27a514ba29f75225f3250e4fb98243740acdbef549ae",
  "03b2c64291c100ded52e79615c1854b66b461f9744d95ab4c45aeb13ed906fce2e",
  "03aff0c2925bb5b386ad0eb18c4be13a592a569d407ddcd59d40489720ff1cca1f",
  "034ba9f4e0aa757e3823f3696c59f1dad8db191713460358a1ca2399ea9d1067c9",
  "0366aa7a5ff2914b9c1680524d98b0587db4b004f476f19e9f230a684c27fc416a",
  "03edb4180adfa7f8f73f0b754012f05a7a975453325c27af8f44613ecf586c7132",
  "02557c9be6ac1a8cb491cad2de8fec3864896cec13916c5eb9718ecfe4c33e1c4d",
  "0352296431a6e488a3c570020d3d7a4e063506b12d0f7d054c46e4cc373b8b819b",
  "034b3417c1de0985ba379007011a48c455ddcc8a9874040fb18d37ea9bb9e0dea3",
  "0396330f02abc666396c57237c08bdd8c8aea5d4836a217bb8628850795bf6d244",
  "020a63c18ec488e4d6ce6f9b83f32a645cdc54ac9097241bab7ca046fe075770a9",
  "022015f976da9111759743e269ed3cff6565214328872ffe6e5109d8f0200003c1",
  "02e97e9afe59130a7eb95362591de15e1232ecc9a78c8eafb681a861ff0854c4ca",
  "02a7abebf3259a8fe51da7d8c10797afb77f569b81acfa9660b827597bce2643f8",
  "02ce241f611655409f44308427c9579e8ca6229f2b387d8f9634a15c5a165bb835",
  "03ef60e0fad04c68991c70cf29c395ff4a8923e8184b9c86dd467921266b799f8a",
  "030dfa73c3b8a290bfdd04fd6b1e4bc10fbf09afd27f947276a3dfe802c501307c",
  "03e6b5c29ceee90185aa7adfab7abf03f6b23bf2acc0c9628a9ef4ded5f3491b43",
  "03e8bd929321d78238e6bb4b48f2645e38acbe9cc61f03e697ae66f1a799a68912",
  "02fb360ff4c9195604cb2a0690f5c68272004d895def44ecec99c5d12c2035e0aa",
  "02462ee98c4f5e9bab2ee9f3e5ff0cd518efdb8838aabca40380b862fe52a8a608",
  "0376f3cb7e0d382ec50941d33559b5475be61304ad4da0342c82e48344527f5a6d",
  "02c070c105488bae9fd014707767482b6d327374b9bcf4c5beb24ca85f2b28c85e",
  "0365165d6b90c1d56254ac3268eb928d9776387bbc441028ee66002373ef64226d",
  "026c79767866d0637d9d31852f50b99f31b0018b13be2a758f76b932a30f6f61df",
  "0316ed9b82527f9df80ed694c1c88cc40782f7af581404358db48324381b0bc887",
  "026e108f778122145cb9d221079410656adb3f1b70fb82ad1138f3e6badfa9dfa3",
  "030edc748e28e20b5d76241bdd3350ccc7e77e8630ba8f3ce87e8b9fa8ec2f548d",
  "028bcd5016e7bdd49d180221257b58640df4aeb8466f32a5ab50c8b331b17f684f",
  "03805764159e23f2814a3b3f1ac6b36e8946c745b0a97cf6e17c00bd07bb1778d6",
  "021cd844fa1c1622291d10f00bf9820fbd9b75a3e99bbdd0e956e5e5d8e5f4ab76",
  "02dc3dc4ec08e3e83e7e7e70256fec619dbbc3867d833b3f21b3b500dea2d172c3",
  "02c1b2170e32838ad1d6d25920c4f904c557cea96a1a499de4936b5a33336c4ef2",
  "020c3ec15907c94a40160f69ef8f242fe92f3d7bd3199106f5c346c80b4143e39a",
  "038d1a5606d3d4b8344e0bc99810034d253f5f8fbd4f7f867ecc01e509295414dc",
  "032cff540229aaf4b7c6ecb15b5cf134c3e4bc62cd656cace3d6d77a85a3bfd51d",
  "03f8de98dceac300bce9dcc0802a69554a0055591e3a26f886eed65cef83b3fb41",
  "03502a413d79ef712d39d65c49fd85a1e80bbb91a66c8c917005b09c24d5263f59",
  "029c8e64f73c7d8e74e01b7403bc3c2943273e3eaf3899efbcb3b42cdcf893b400",
  "02a76cec017da696d13ab044fba43cc477f80449cafb9e4ae7f61e6e13e3cf4b55",
  "036f083e78df07fb2614ff9f109d1727dfaba16682d481361be056bb83c4a477d7",
  "0377c150cc6761364619a2b6f19e8473546fbe815f6cf8b9b5629bc883eb57d585",
  "02666bbc1bd540d805ffed3f467b789cc4f175453996f5acfe5c24cd0acb83c52d",
  "020bfcbf8fcff489b910522d6e2d68b5b4da9895e50eb4cde09fc710b1f6dfa4dc",
  "03d434a29dec4018dce1311619aa86caef929531f9b174bb95946cfffffdf00392",
  "030ebf3b1a28bc891479babd1a49a88ed24058aa3e024b0dc3a4f67facf5cd1a1a",
  "027f283ab47f10df18702550b5e54ff273aa3098031b9e16b3b982fc4ee02aa579",
  "02c88838442d901272a86d27e93bc880faaf631c01b2ae33ad258c56727ad853d6",
  "03d3ed01257c1cc6309d74e7861d61d67175bad269c9ed6cdba6abd4d56044b709",
  "023801f230d640bf0cd334a2a4b5002aedf54f0d9f0387585041cba418108bc5be",
  "028459447dcf8d29209b93e799ce2fe873eac70ca726e6ebfe57d9839afa6fad55",
  "027a8a024702c747eb2736011c008f1dcc5096755da698e889c2ecdee01b91855a",
  "038326f7dc644c1adc99fbdb0cd4af48b6badac9d2e62f590eb0ee64a1e205f144",
  "02eed224dfc8129cea681d201fd6a4bee33e2cb50b6d0e4f2e045c0505be4e9d37",
  "03fccaa30f0c0928f857c89826aa3f74da4ee8c3504070d86b56c9af0ab107bdd8",
  "028b051169986895f044950d4c266b0a250813faae57a385afe895a93f2917f78f",
  "03b392c53cb4c1e14135afe1e289b56cf34dfb4fc854275832b6f4633e3164a87f",
  "02e11a617f57f76f0ba7da4431cca9e73f2ff025645e0d312881fa6060db86cc72",
  "02b24157bf47d85c030f268cf4f1b30a07c91f0ca712b7faeec5cb743215d897b5",
  "027fdb097adb9778bc81bad2f99db7fce4799a98b03e48df892172f91b8313fbbf",
  "03a1b0104420359a661f88868a4bb73afec6601bc7e8e86fefe87624de429ee413",
  "027a69899cae48ba1c2f6274b19b5e76a858c77cb84fda92bc345776a7eef865f7",
  "02b18773c49cd4edc69e624d3b714708873f8bc3af5816492bbce649d3c033076c",
  "03c24d465b40f66754e13bbdfe93a9eb16cd2707966294b37ba077a853db5eeccc",
  "03e872c03b4ecfe7b0890e5301e5e8e64be6056ca58530feaae0758076d8cea7ec",
  "03c36cd76af735d1d1ffbe4c2ae7fceae8c767257a569c4aca584ac7aa5242f6f6",
  "029e4c0727041fa29e90cce35851cd6e7f4c21145af9a534062fcc4373ea19b324",
  "034c765100951e04b163ea39fd5f560ddf243be5ff8470258812b6b8dc305c881f",
  "02a827b28ab99503bdd6cca889d9281f401d224903caab05e821319812e69d1f91",
  "0327340fc0b5363f798504796d56cd377b9ddda7523938ad1b1be8783e71811ac2",
  "0229ac7fb695b1dcf470dfda7986c50147b47f45d2314e17c019bf7c767b78a9f5",
  "027cfae5257fa9cd2f786e3be553807854650aff6e45602b680eff737ecebe8217",
  "03b4d768b49328a525076217b9e2cf33bae597caed4e9c926c8ea1ff5260478f9e",
  "03225315a17832e5c9762c82443fce218c2310ed86bb347b12f7f89daa050820b6",
  "03782b2e9aa2ada0fa2227b144e7f4447ef9cff72548649a380d5ea9d19c3a4adc",
  "037fe2b5e9568cf854797e2bd92177d20b275dac26d39b131fee8c3e2cb5671f27",
  "03f15965374b7909d88bab96aed997f2a0f90b4656c43417fd7fb63d0625e98dc9",
  "03898d511159f32c93d2a8e348357ab0ff69eeca8fa851cb99b71cd1f4284e3b5f",
  "0342467a979397c5e996e699d04db2bd9686fc6e0a05871d0f9691876d02da1207",
  "0266e361669fef06a1cf6606091efb94f2f15dbce46855fe698bf23409fe77e3a6",
  "02444abdec507e3082460e8bd99c85ae9205da95547c287f04537341db5fc2f26b",
  "025d5179a7e7902954989fb29a8f1e3b1e3472ea00ea59a880d40ae6d372a2dad6",
  "02440ea993acab55d8226571cd29a8812838a8aebfb9c8dd2bf97fe0bcf9d403f4",
  "02ba7112ad6b8117814676bc13adb5f3eb9d3adbb6f90492a1392b7dadc460ced4",
  "02686407677d28190f4d273c688499f3f69db42728a23d666deb4a822adb64a70b",
  "0398722112f681aaa96dfc75db680dd14eb19141887d5f23f9ac49a56a64507f6e",
  "023d6d83ff0a0cff71199ef2674e5d33b3709f465429fe68f927f8999b8372fce6",
  "034f36fda583f07574ff03f65ac437d1201a7f2bb39af6db3f6ab69ee4e271527f",
  "025b4f1e3a7676526dff1ff3c69055c1386b59497aabfc923de02548c7d96b362b",
  "03a659d0d050151fbc7c82c22b530398ecc0e408f4a106e49d93f652697d2ab95c",
  "02f403e689e6ea3d4a1929c0d52b96ca8646f2f24636d63a225507c0321fb7dd70",
  "029e18db11008ce92fe1d8cc13a801c23d03b9faaa58d62d10bb309656dcdb7ff7",
  "02986e73b71e7a6248f70d10a497331c7f2c84855e94096c8c6a2bf280f99d2bbf",
  "0317f5195540ec87a1c933b35fe3f14e5f70aa5ddd28130d1deca1db2e87b3f55f",
  "03e85fd8c04d3b50491592b98cb9d314ccf31dc0ea083e168421d8d35d9828109d",
  "02cafbfb5443345de6d5a2a9c453e24774f3644493e5c12d5d292785f3eba4cc55",
  "02e2875239c61a0f3f26e1d27d201a040acbfdd24b4b60441a4e544a5a78d772ed",
  "0226ef5e5956a86a5e9b01784f75ff752c97a21fd91fee25c983a911b1cf50bf7d",
  "03c494e1afae01a426a89341361bf8993850738bb83d9316f3fe6bd400119100a7",
  "03cfd6281005f6fb9eccd854ddb851ef4fd32cda72abd1710858e1eb9dc66a4e0b",
  "03150ea5416419f538b1116de5b541a61c0d07c6a516edc4ecaa9ad831f194f7e6",
  "0271e45bc920402e31c5382c995652504f76c6a0da9c6d1613873f358b7426d69f",
  "0271a08785808cb0b66ecc3cc5ea69a32d216fcb3d5785c9f0f24bcf321002df86",
  "020b749509dcfcc0d2da841afeb1ac1250da4286cf2fa2485dec7c5c521a0d626f",
  "021dd07aef35841ac4bd8cb51f270016e0cde9f7fbed784a43b9635c5a3b1c97fd",
  "022a4aabcc086a49a6dca3da603b133e2e92da83c4bca693e27a790c2016445fa5",
  "02283945d14cf750e70697bbcf51782979390f536b3ec10f1c0c0a41afd94130c8",
  "036855812f1868f2dbc2ac6e8dc0aceb594d86461a7b906a6f83ccafe2583eee9b",
  "0327cb949bbe5f6f16cd675e1fe9067eae5ebe9169241d284d2f58eee708b79c74",
  "03bbe8b464aa47a730d39ac413b64b80f66d0399eaccfe64db3d5f6ad41b6c41a0",
  "02fd0d46acf0028d481c424835abd4629f2f1a5e43b85921b1e38c7708e977e67b",
  "02c9adbb9ee81f2c7a49a7ec662e6a7cd5e5e8eb58ebd9a2d327006bd32204e2ab",
  "02acb7e344194b738d2fbab336603b1a54c96a8bc21f1aefeec4c135c696273c33",
  "03a1415f3812b81fbcd6a6a9a603798250241c059bad28a642fb752549e0e8a37f",
  "028000f171e735e3a4bb197d8c2b8eb8e0ed714814d5dbc9f2e32e134a3c5cd559",
  "03fa6b366d8a9b9295bd0b9e1af00740e0427512730770f16f342ba396a9152edf",
  "02b9dfef20b83e417a1dbc8563ea16f72f1e71bfe20e41a5942cb6a3999f6611a0",
  "03306041d38cc64c87a255d2161c56e68e3f279858e28dfa10d3534e70fb411a40",
  "023938cc305b44ae01573707cd616438524821736977b182e3b71a881af5278f9b",
  "02629348e7392d38e78c280958a3d9a91e136ae73587d37e0727f2a61e1bc54835",
  "029d4dc142c916d2e4275b86b39d8af802a2d068d68f1e6f1828605188cda30ffd",
  "03b93f2b2a9dec00fd24cd95c996164f0a9c13cd0c5c4ec64eda8eb050be8eff96",
  "036c01957d781805192ac428a08d063c9dacf51733f5d2261c410f9c60cd37f637",
  "03e379eefd0e21c221b9748447c2259968a1d17451dc9ad5325cf73bd3fd3fbba1",
  "028ae44082a8e1b4a159ee5011e8f8e85f9b48789f682c25568e69d91bbb50002c",
  "0212239c2cb5804ec40dde29f1733e5171430bf144b58fdb8a567120162e3d818c",
  "0278743c24797433a8cd63056ea9b104c8ea490fe24113db5c0e36181402f5a10b",
  "03bc4deac5c564479876b1a56f99208cc98d680bb4affc83758ca902e9cd562e96",
  "030b640d83bf6606d360b94ba8421aa92af93eae2ae6d1082f04ac4c378df6bf65",
  "03c369f6ecf51041a8eb473cbcb1bbd45f9787f66019e547c20fe6bdc23f3e04f3",
  "028bce5ba8c6666cfe29ca1c3cb473857fdee46361b8045373a6fecd6772b1c189",
  "036fa37eae8617bdf5a58772c86275fc3345641661704c07673936e3e7560dcdf4",
  "02b0684f8b735081732ad660a5fa5caf4b63852d247ca21f1631abc5c836aa3fff",
  "03a0203009a2fcb4448d2a3b9f6a8dd694a62f4aab74793593e86edfce7292ba56",
  "0321cb0447eae2fd8db719067336cfdd55c3693f21798e5dca07ecf659c791c0a7",
  "0245978433ccf04cad24db6885551b0b39af0591c9c80838aa734cff4b7bf4cc14",
  "023afbb23f6eb44ef6bf03736e4538b3baa2f2c91e1086176b49112355a9d81cf8",
  "02bda46f3879ed51a81d40176ae413277b8a1181a56ec46e70470d11440a7d06cb",
  "02fc7355d1f3917fe5465d56495ac9cd86cc263fb26aea40063e92547076bf4b24",
  "026dbc874beb7ba2ff239848793eb7c4ba5278f8708836f799580db2b80e716fa8",
  "0328813a0a0f0822eceea76bf841aa6769d59f49b2dae1375e93f8f2602de65ce0",
  "0273bb208f5562ce0a2f032de3884ae086145d46619bd0b020769587d87cd3bd72",
  "03e9c694599fba9bc7aaea22620df3ca5ed76e8626bf27968f762cfb46fc3c88cc",
  "036a1810ad75ec065bc23248bfc4cbaee85060d27a18ccb914bc9cb3554b1d78d3",
  "0341aa5c0ac095fda5c9d05972bf76c14923a123ce8cf04597772c50f3cf00caee",
  "03c5669cc503d8c442846c02c9d667bd37e8acefa682438c250b9ad3089f0670b1",
  "02311075ae05a8d02e8bd0126cb72f2f830769e5fc8fca3f952998f3ee2ae0923b",
  "03257fc7f6497dd5eb8fbe20bdcae2b93fd58f1d29125fd6db04c1982b42c395b2",
  "0209e6c7f59410c4faebe07f183686a0785e3d793fa072d20cce2977a565f9f57d",
  "0309277b2cb99a0ab2a371a838c26f963712c61dac1defd690336ba99896aea082",
  "0229d9b9eeb9f8e401e9215c9a901a6b207a0c0d032c73c3beb7209d3ecea544f1",
  "0225ee576826f75ca70ff41b132cb0c377b6320c74ed3d755dc80101c5dffd0a9a",
  "0323ac26cb1630e53d5ed0c04266b16fe9ba7e357cef0bc323b15f60521ea49d03",
  "02a926ab2c0da29ab45d0d2d1ca978a4c733230a7bf04daea13623daf71d8bf94a",
  "029f656cd705268ffde7b019bc50e79612408c375045894ba522453657c91d083c",
  "03577beb819d27753ea36eee94acf2e29195949af18bcdb8504481f86249e4ba15",
  "025918ca8e9db9bf6ab90ab71e7753c7c5f0eaa74d2e0bcf34cb2432b504d8c19a",
  "031f127e0166a500c6d1a6842d213ace31cc69f204ede7a49c3e58669a238cc059",
  "03611ca03016a3ed8987b04883189647a227b284dc4214d36fbab6e9c8d80910a6",
  "026c37097ea4e42a5182beaa6c0756930696aa7fd6a35453f29daee221b88cc0a5",
  "02544a8a22688a45883570127ac525de6a0475997b91511b89f57d9dae591c7487",
  "0328c38360411d6f5bac87dcc84a4005c4201796a160df1a3a2e689531540fef6a",
  "02ad31864d38379aac6c9974df4629b572936826b25139b7b9573649019ce7bc9d",
  "026d2205f3200dc8cf8a78165d76422f540309bdaad595a4a9009695a5861df673",
  "031a2064e26c4a67d0a640657ca54e222475de6e8a380fc290db1b3d1649802cd7",
  "034443d6e8a245f2c47c5c23721153d1c002489a1412ca0c2383bc45cff7c2304c",
  "03c287c71126cafa7c08def117e3acbf2003a9d4104d54110d3feced7905907cbe",
  "03038553c84197c9c373f5595699230452d653be64210c0819ff3e7ca3aa3a271e",
  "02b12a5c6261f4fda5e221a11061b7857730a7d9781918cf29dcf5bbcc6cba84b8",
  "030254c50b52d1b6408c12f34167f0bbd4e604c8fddb51e71d1b31b46dacc46486",
  "03e6f1751b1a1bb4b55f3a29a0f656145dc631db1c16bfbc6653c5e7a87b229399",
  "0275ee0e5c588f308fb30299108a6e13d466429a3e33ac3a66d4e2fb437c944ab6",
  "035e5d4447654eb1184cab0eaa7a78f494cf0fc2ac96827baffa62b1410852d38c",
  "02bdb50fa50517e64b65695d228306593024ae40f83196cdf4f40f6c4edeccbb30",
  "0368fb8809c21c8d384e829284ff5aef6fe04d42c8f04d4eb96955813811848b35",
  "02488ec45680e093ff69ed704824d2f166e10d091c6a86aafb7150f66a494e72c2",
  "025e4eed0992b3333224e2bc93df5d830bc3fc02f6ebcdda7cdb968019b7d0d5ed",
  "027b72d5dff4a9ec234cab202c2fcd8be42f18187dff468ef96afa6c477ad787c5",
  "02aa4281316a7be044ef5adf224c79d9d31bbd1168997fc61bfe5d5a2fe4f3d2a4",
  "03006273acc078176d3bd57e4cb22cb48e5612cf5f6b798f88353ea74e2eaf1941",
  "027561e19ab383536a9005d3ae0abb2fe63241664e86241123c2b7a1d9de64a11b",
  "030a4b7a42afef1c7c2375cbe35da3cdf560b069f08b66566ef5b38ee556f8211d",
  "03e02496c6275408116258dcbecc63dd6b4fbc570b613e4dbbdeec03df93de1e33",
  "026a6a1c1d2df084f8dcd9a6b684648f3a8ed8fee16df6f6882e1cdbca899cbed0",
  "02da4ed6e099692b20d470a4dd64e601975df20111de7501d679989f6dcebc62e1",
  "02c526f4eff0e11167e2c41f00b61010fefe000e3d1c720a66921a0fb107eb65cc",
  "0244b32204a90a4d794ab348246d83a56235cfbde7ec5b18c18ff363b1c271b48d",
  "02b2b6af1aa3c9ae64db3097ebd4933d2c3619e45bcf4e43d956b5f395f43f34c5",
  "03dbdad5f6e031f38e0c9dd7308abbc58a5d579d8b0e2562967caf8d6e68c53c37",
  "030ccf77b99459d0cde9ed6b6d55e6cf581ff5437aa3af5138ffbcccbe5f07f47a",
  "0251ba5110310fe0866addaf27c38095496ebe4f103468369201c1d14265af8f9f",
  "028811f04a0959998d07ae912628fcbc735d26295d8c151038533cd71391a0b765",
  "03f09c2428cf55e85ba13c07f1ce9001ae012111c6087c6cd02880149d27b82662",
  "02e8adb862e6daa0ae1ac080a23da6c5bbb3a4ce8b2f4d2e38f69309ed9acf0c92",
  "0216cec5475cbcf1af13174dfc6543b99160dee1dc6791c75b97195c1dc29cd4b3",
  "0249b3c32a10efa11cf4158fb63d25f50c9312e4a1079d1fdfa2bec9d706ccb9c9",
  "0244d3b4c7aa7076c9f6f46fd24736ecdce2ab9018936824dd32e750346f6f6bd6",
  "0362605c8d483419a70fc8f4d699c614c74c8ed032278c43b8b8232f0683d942aa",
  "024149bd32d011a53451a5383dec47ea0ddf24907ad8767214e9ecf0532ef55aeb",
  "030534a2fd744ab1704db972ef34b9372e8df8da75c6a66821349ae67627b19717",
  "0391ee801a997c8909ed6ac0ad3cd78c934bb02d237971c3fe1711b7cecec96974",
  "03d163543398aa02413cdef40ed591352ccfe1fa9bbe9e5b56519b204b7c672888",
  "02f93b7ac3f342eff34d6e2d486088569f06c2d283abcdf562c61b6eca6b374297",
  "0252d4a88dd308325addd454462bf1e203889bda73f1933f346a915b1f723ea47d",
  "03a0b447b80351a784e11cb3560200703ecee8653feb3f1fff2cf1933e00a2b572",
  "034f3523316400192e9781d971988a3f2553de9265d2440108b2db3e6a46f818a5",
  "02d0838c3bde6fec0767145f9ffecdb11998a901f47eb6b2436368342676f71527",
  "0226d0fe91b134476aa8d15198aefc1fd5977a1206e86abbb26a96517f3a85f8d1",
  "03995e0f66c301be2325f8d370b96a01bead71b1d237c2f2c6d8597871a52083f8",
  "029b6f11b53af547de8590de39cc22d34e9698c27c666e1b95666243ed42a19741",
  "02644d4986cc5b2aa5dfc72d6ce29b02b52eb574b5d5146edd0a73805453b36203",
  "02514231d2ead083365e0c45f8ecd579021d318e87740d5cbea9a2b0dfd5993451",
  "03ad50e736c673879f622def6705700ce3c0f4d498b203ba7fd3790ccc77d9e22b",
  "0393f2498859d17d2505a4e7091de5cf901efdf0891c8cf37f85f675e5ae3bc6d7",
  "025bd61af2f2929eeee8b23c7f6721cd7a74f580eccdcc71259c45a682425924c6",
  "021060711e8b6c172e6efa4896ae25822ff2227ceb151d669483989c3dbf2eedc1",
  "0327c3a3507bd94d59db01d6b808c25b3f044caeb4caad255b3ebe1e76bb386014",
  "034f19d7fd8eccb465ad01a835136bf71feb2bbd194cd7625eb390353586656976",
  "02e1ffd5bb9776d1c47167ff60273e6088632b309cf614487ba04bb9bc07305178",
  "03d8403372e106ebc7f4d1ed9a1035260d3a88d23af612ebe7c249eb62d79829ea",
  "03dfc2c961607c5b0bebe66db7704e383f3bfb9b9cf26f28d25ad40583fbe6a4a7",
  "032b4f4ddc5eb198fef2da1e8f8aed8c4cdee8fd7be8aaca5c5adef618d005d261",
  "039ffe53bb57f02999d7e49cfb432f0f0c0dd517e8c4ebd46d8d9f67151890657b",
  "03e8b42478f21bc0932d6caab0b4e362e6b95008243607eb2f0a5453d781b6bacd",
  "0279f364082e17328894567e97e25774bae5d0b843aa505b6e38d76352ec8d5fe1",
  "02e3b4e4762e2592d8e59a9d73ab2945921e96b3844cd16014ab9037d0c3880bfe",
  "02eb75baefd407034901d5a030486757cd5064cd3365f0e3ad63354ba6efe3b1ca",
  "02f8947e643b74ad34253ac87a12089db9b26a813294ff436410a32cdeae2fc4f2",
  "03ffa05531e3d8a9b08ffda5f5154577e28953ca453af9db236442070f9f3dacef",
  "0338ecce5161c018f83a1cf4bf8e31e7c646e6bcae97f9f1fae985d5d3ac4c1391",
  "037fc75406bffed72af8d1852d943d74e23d766f3006be49c1af36a7a75712004c",
  "02e45d14c54b3f4a1724dabc98f720718704ca054b4828108963862c3f2a809ab7",
  "032c0412a0ee65c1b5ee505efe6a8d641ab4ee59860bc9a4f336ea61a23548e3df",
  "0261cdfd63263f41065c08c0a736422c205d15be8fd2ab46fb3b5eadb7ef12bb66",
  "03c5778097a337c163ce38c59c96ad5759d69b92acaabd40517f7da73dfb07ebf1",
  "0306401c93c02781dc29375d100c01b3981c093d035ae73f87ea79006bce42c9c9",
  "027dd46a53e4a0c7764610d5ca71edc0c94cc8f2668aa0310fdde040f8990270c8",
  "026d43ea00b0edd99d8c103fa4faed1cfb9629230d6928b58939069017e6f1d62f",
  "02fd3b82a5a85f3596861f3eca937b379120b4aed8bccc8ae955091f635d9cb798",
  "025c442b1155a52f4f189de465c28aa34636bf7c4e566732544f8d9c71f8056883",
  "031bfe24fa8d137000bfc2bcae9f546b22d510b1e7163d759e796bd91ebc3fc1fb",
  "0325f64080509b66a27e29fef795268ae5d950a8573867a512e58f72099c344c82",
  "03a4c70741a81c91671741d1960f30fb0b572ac41370566385517f45d46263561c",
  "03479309db3ae8c9a0bddff32c923a76f06a43723f1d2eba26d125825c6ab655c0",
  "021da3733d2f5bbdcb06e9b761b9fe022f463a9805151e961bbfdfc20c07054c24",
  "02364c72de1803d1d29437abcadf642480a840ce8309015ef5869b1ac47ebb7f48",
  "026451ae81a0f26047b94f901c93ef49b933b98fcdb5ec704490cd0b2412912da2",
  "028f0faf78626db28d7d4409baba9b42bb823b214812a1c8ee93c5954dcdf73a54",
  "021f35c5c9c23e138d14250fe0adcacd9b8992347c85165a5a9a34d1385c3d4f0c",
  "020577f39b758caeb75e3f7ea354ac40b0d8e0e52b5f5d1d792647c64c231a60d2",
  "03fa547349d9b13c7c60f110dd53c16a5f57ff342dd925c3c1f735669925690a9a",
  "03ba288b680518bdace72938b7278c9b7fb8015de08ecc8efa3f4e26488fbb0132",
  "02ed6126bc95c539d95f44a648eb681940f40ccaaa690f0d836335a4523c6c4096",
  "038fc3cd601b8a2d2d247ddfbcab887ad28fe75ad594157f7d4353350fe97ff153",
  "0211ba4e3e2d3711c8924777c106021ec2e593991d5a9be51fbf724379173531d5",
  "03c31e6a87b13b51e3454196d9b838a2d75964e385f79a244da21a2ebd0a32d77e",
  "03cc0be10156d31dc5509f35bd05db0633aae693053462b977bd1df240a37398e7",
  "030538f10dd5ed0f519cb7cf8553033af5f88756a3e240b4b07f621967004d47d0",
  "022126f19e1064f1ba6b0b78efc69763831f38da72fd098964578596729d9ecc20",
  "03a1a8b4069a80b9b3f0b86013c512ebd3d61855931e5b836a487c194ba7467631",
  "0260efe4dae62e16bf696419369cd68b78cff2b3fbfd36f4f467e8625f03fc33cb",
  "0220b6669dc56412c6a1bda2ee2a0cc41c7a1ce4471c92a67e917f04632eb0d71c",
  "034588bef3a6460c17a68a1b7f90c0bec1667121fa43b822b8ac4dbf1f127577ff",
  "0332bc556ff1ec8fee2cf8bc9a5d8d6d44b00b2fa9eb8852ddb3a9175d9125cea5",
  "03e087280d490ab9b045cc918aeaa9bbd8a7988642fb5dfc0b4bf09d515a4555ae",
  "02f79cfe5b10cc1a73467d948d2d14b529ba00cc3dcb21af20f0e8a0b493be421d",
  "02e406b24f19067cc11af9e64e139b1daf8cacba5e6845d5024f59d6705217c506",
  "02cb3a0942e22962dc7fcb695c3051a5b8fd07d3961b0375a9b2f5f4475c696128",
  "02dc9246447a98fa8f5e2886a91f0c41f670d0e2779fdcec64a63fbbb6cacbec18",
  "02c6053417349af22c647cdbf910c98ef1ca6b5fe3be40553fd21f92c5955e80d0",
  "0232ae1972f4d2a7e814de602a3e1e2d41afba543691bd6c86d6ea18b32c749260",
  "0336cc47edcb59cdde5c3f145f96912c7a507a93b9747ae9e2685e5a40167f7ab9",
  "0345770ba5caff6f5544733e9dc04245ce6ef7547861b2a9c2d385475a1b7fe2bc",
  "020976936db9002a99c3d0c01703f11b1c1efa3ccc87454d4a7a59854fa27a79c0",
  "02c2727cdf1bac6ddaaf95b0bcf4b33d72bf06d3d7e6d513c3b0fd371d4327f37d",
  "0367152f14fe3040f673e9e3a961ef1fbbcb580d70bd0e3421dad5f841d433c864",
  "0227feecec9a61da391ff46d77988a2a8d9fb067eef829b98cc56f9fd217c4eec3",
  "029df259ea5aa6a86b4d06911b7932e577610c6afc1a0d60982916cc00c3add427",
  "02e5a8e82c885afe101ca0aa347469fed2128b2a5ec403ae074e184a4c58961a8d",
  "0262409f5c35b2260453bc1aaf7f744d8babdf27b153fcd77de2725c7f83340d45",
  "035a5897a29213c231fc3a95d7d174d2393c0679ff13adceb52b9bce3ec6c9e7c6",
  "0330ef320f9991cf1244ae3c393e3831bd6b823d1151c84b38e4b6b3afd35221f0",
  "03e1856334fd2ccbcd70aeae63267fc7191f96717ec8b8232c6135ae5251df564a",
  "02aed00f214c93539f5cf70a5434d7bab0580d306e53ec7667f67e402e72710c55",
  "03895f9be4e5318992a50fe355e49ca514bdf56e2bf05b3aaeb730f7cefec1d760",
  "022057e86f9b00bb4d370b277a417ee4879fb3e6d269d070ee339fb5c5ef078d2e",
  "0227c700799f26458be7b505a9575a4347dabdb9e446fd8752788605eaf8727db9",
  "023f492509dec268b292663a8cc43672135770fbb4713954da04a593f95b3b7245",
  "02d835097d63ef39089eb721423aa9780f79324c1c9dc30c9429c24be089447bea",
  "033334cff5dae6b81124672fb67f4646c180f48fc5abdcc2d06c1633262dea86be",
  "02e314d43030d577d10ac3082017636828bd0878e6cfe7e04370ede49bc0418d79",
  "02e93355aab413d64e461d7f97e02af675515c8ad6555d8b30f99467c6937e076e",
  "020c885cfc85bc7a1638d68f14f7007b3b604b4be9f0602058d10fc34dc4b67f5a",
  "026fcb2a96241faf9e4a1458299d44db4cc7e4565e7c3f0cf3ccd2c5378ee91117",
  "02ac18436b4e850b0263b799f185851ab2af74f55c569a256dadc7fa84d083e1b5",
  "0320236775cbbccfdae145ad693c600f1c9956ff8d785e39617932c7b1455ea4ed",
  "02908a39838f78296f6cdac9e1ce7e02324abb5f01345b9002bd50ee62df02ffb9",
  "02767b6298258dcec718f975fccd0d19a89587ed600d2ede76ce16d78dcffe0661",
  "03d6d1a07414fd45efc01fea9cf1b056e767133a9e9039e45937e17d98fff6b131",
  "02ce1052ce9db4b0b308116553932350285ec771583965bab8d10f9b4fc04b8f32",
  "02f8ae88ab61905af44282a4421347710a238b51731442b83858bd3ece865de9f7",
  "02a5903dff08e59997c4605b8c461bfa313fd17c22f269872d5ba8b45188507a6c",
  "0213ac984f97b6f7f5e6d0da8714c7e4b5ceb218cc9d874cbee4aedd38271e265c",
  "03dac9c77e4971c25bef9fcf31fdcf949479df04dc7f38640737fd4ce6a4f478e3",
  "02af79fcab896e35fe99e1ede7fd4bdcfa4f432bf44da1282ce4890299e8a4137b",
  "024fbeaf8c1a5f7e5b1b113f6f105870d0937d5db60da0297be5799ecbad9e2605",
  "03a8b1db80c73c5be1774355768b6ab7a739a8f641ead6103ed6158212f75c9f79",
  "026c324287b3ebf4556446843db1851e84c5c2b84068e9f7312bae828cd47352a8",
  "026297866d36a312dabc34b4f5cc142fb615a57e2b18e8adadb8a62c5743bea08d",
  "024397dd20325bd52b34b3ec896a2ad91cd5f4676fe354e48c1f045e6f10e46b92",
  "0380ada70567475f0dae4d180ed1c82850e318b7ff92266ee96d41c864b45e1612",
  "03e0cb29bc1d70755660aaafd7c9a58bad5d17f4a1241f98d2836c2f13afd4a72e",
  "0277ac0e653299e2f2bdcbd7d54f2bf7b4589566c431af04ee18b56f6e1572d3f2",
  "0338318181f35695a81788625d0eb11463d080dedf8420cff03e894c36ec209a41",
  "03b7175e0279ee0a10913b094af182e004bb5e4cc153ec358e8bfda23a41dd1ad7",
  "03322c58563c973712b6ac672315690f408ac47848b3cef9c17f3e3fae18f10c85",
  "02aa815ca2a6038201976254fa327e2bf2110e0433ab1e0e2bcecf43d701a3399a",
  "02c4df0d22745a2bd6d1ef3c55a3ccc852c08f502ba42343ffd1001e05b3c3a252",
  "037791d60ab189ad2c3702003d77489011e9b1589a890e5154c1d24f5ae6d09eb2",
  "02b9b4e44b01f5edfa4687ddeedc3d4053e5c4c2f4a788ee51cade960e33bc902f",
  "037aad93bf9ec7f560aa48d73873ab493fced15f6e2fe18350d3fa19fb5ad88239",
  "0344f0304574535eaf957f6151f2311cb537312748eab4758d2e3066ccb9d8ce8a",
  "03ce34925a4cc47a8ffdfaa0a5ec43a17cd544851c9000560c3e7a50231b5b16dd",
  "0352d40c8ce4ce165b18c08ebcd57cf0f8aed8b0348e074a6506021140fd37bec0",
  "02ebf5bca7ed8d1db7b82ffc2bc64da901b50fb8292ccd58584ded5d6ffcf81d2d",
  "03328380c7936d6e958e681625f64accd51cf77f35e159ba700da86309be43700f",
  "02fa0fba1358dc3dbe9cedda08a8adf5c4c2b3253859aa373526368ffc41439702",
  "02883b9eba6abd95b6617bdcc3ac5e831b29ea617ae521ad013031153930713b64",
  "0240f6763d3aa7e2ffc2c0dfe83904f5f3634ec249e1691acd4c2d0ca5e3b9ad07",
  "038fcd7c12b3cff12f476a2857681978b5617e3edcc15fc440af44ae8f1623e405",
  "02dc6efd19b9ee42ac0ce488f7348cdc82706707dc8d3a9cc46f1d0c1a34a897ca",
  "02d52834e5256467aeb12e975d4882737bb48d4b8f50b539e79cf8888eb864b7dd",
  "03b468d19362ec8f41a39dda7b6ee061d862e3cd6f3e3cd7558ab26f3b3e394d50",
  "02a6c4c782ef6509356f64313ab7685d2ba3db5f90366613b2f3e9887ace8c436b",
  "025cbf6ac74ba6baf456f42d037f9ad47bbf01513ca421b3fae0082058c4e4991d",
  "037e7afa147980e23bcfe3874dd8fa5d5465886bbb7c1dc2eff3c1dee5cf994abf",
  "030c92fadb98a52bcc8bc576c0420a045f6afe35dc9f7416e41923026b5c9e4f7e",
  "020c388fa1b6071e6e606525bbe9749b407998461ea6142d9378264c2b5909e5cc",
  "0275550df4ad50c4ab3818283fa406bc5bb1835963f2c8405d465f83e2ae7fbb31",
  "034742e6e2be4eff85d9243d577f6823fabda958a962ef37556da7b9f8219dff45",
  "02c7d963631291c8862ed23ef135eade20577bd651b701edcdf66ca60b66fe26de",
  "02c4ac639a4771eddccc2076e95793a5b89e71480b4efb5df7c53b5c45818570ea",
  "031c6a00c82c7cd64842ea65f3534ee16e7e738f85c5cae1e3650311ecdb734da2",
  "021a469b3cbdba941d56891f607ac8255ec274f557201c6e0d63adb07c821e2b7e",
  "03151b3bd1db03ee5c69bd0db6f423f4f1163739da47d80c895a4909bc9c29b0ce",
  "03d29cd15e0fdf3a76d1269beca90456bf4a9c5652a7ea01515cfb90c3814006aa",
  "03cbb76125b17382c08a262bb4a653d427fa64cad2e1688b02cf6fbf5a239bea65",
  "03853209661e18294084ac06f792e1a7be870c23706c2009aa82366891d382385f",
  "03699f957c11a97d17a7f6106bd623e3f5abeb700c3ca3eaae743945aece72f445",
  "034f77dd7adb72a5e53e40c9aa7d5d9dff6b024ebb93b57d1cde73081f4db477fd",
  "02a4e5f3ad4b647e3d23ae3564f8b50f732cf99e1bdb5b73ae6aad06d7f4753577",
  "023b438d86849fd273ad7a18ebf2100d96fd758013c38f87e411419cb7a54fc642",
  "03077239b3c18b4e813182083421fc69f71d5ece28c3f0458d9283d4f7f312fc19",
  "0232eaecc6eb5d108674d05799963216e15bcf1b2230674c42563a0f67d13cd2dc",
  "024377e1d4a9a159d215bc366b6806d93e2275b8cfdb66a90388b1118e475e6603",
  "023cc5431843392a17142afebe0cf626778660a8d1cecba06523aade345b9b10ac",
  "0214cd1af2ba32ae4c5d428bd59129f4115d477d9f2ada494db044f19023a26de0",
  "03da129fd24aa2cb973cc465a1ed18e44ed7d98d9aae8a7867b013c1a78c9ed7f8",
  "03c69cd64569fb7ab5f5e41cf2fce12410cb670a442a7ed75870354d71d859fdc8",
  "02365a37afae96771525d41012cee305c8f89b9ebe7fe165239825fa90819a0f68",
  "02fa2b00c7f97b3ab8549be6e32a10f871a7a3ac57913aaffacd08407181a22540",
  "02a235cd0f8c90bd523226214ab7a70769063bb89814f5e99cb08846450715ece6",
  "02e89384eebe9ecc9322aa7703deeb645e202162fd17c9f290a7fd38831ca24070",
  "028609094182f0dc6c18a659435a30cc2628542a193a95d2b896529f7b0b81372f",
  "0315facd9408d3d93fccd69d2251b1c8da833437329f504ed65ea724424985f081",
  "039d4005607c82d69809ae1ac76804bd76349eca5d8da76561384229635347223c",
  "0331743f6bdedb20d3b9524bfa7de7740d40ff4411f5856f20389c67f9e8600a21",
  "03d1bc655f37d43e9102cd1c73969f95a0421187812291e306c1d7dca4b6329335",
  "02bdbe1541df44331f8b198fc397285e0d53a6e969527e797e2ad9f43782dda757",
  "02c6adcfb9721cf77abed9cd0fc06fa926ecf8d5b072534c01fb834387d15cf2a1",
  "02718a7ee0e325acb42ee079b698b468f45710210353ccf6c970bdca63ace3e812",
  "03d0980cf95aaf7d0a24683c997706e3e42631129e4f3d005dec1c7a129f369573",
  "029adce3b51b102c45fdc8210f9620d7f473b915e962e7ed6aeb84b742de832ec3",
  "02c7e483882e1dcacceacd6741716b432421fa0a97e03a959bb0efa620413b523c",
  "02660c7ac31579055fe864b5cb2a0a506edc187112ea082225598ee30a754469c4",
  "02aef8a905b88c2c967d8c2897faa4b3844a45b51151bb88f652f6d98b828fe9d9",
  "034e6d2cc222a31932d8bd38e284c488972230d04f4cc671592d8f20bd37fff710",
  "032b813894719cc1a78f45b6dd7d5c3191427c1dfab1d76a270e4b0c95ae3d1433",
  "02146d8eaa723e438426dcfd0f44fc1b67e837625de35356ad24afae31da900d17",
  "03bcdf1617e575bbb64808e97f944855808112dae8e103a67b9a69c318dead69f9",
  "0261ed8178ffbf63c9471f25abb884598e80597378b260fc79f1590dcd23919590",
  "02bf46c51d547bf81922b86494feeef2919a78c1b445d3509d8ad4a48bf9ba22ce",
  "02dd532cb7e92dad2d5b9a9c083edd94d9defeaee44b36d4fab10dbf7381e6da48",
  "0301b108e9052aac5f078f533802f4ce87df9aa85e5d218b9701306ec6bdb8abd7",
  "03ff9dd97c9cb929586f90cbd33ae455403b1a00921c53e1d69bfd60da3704e09a",
  "024132dd71a3a87a6f85f56652eeea7394266f113b62036146c27d41a6a6f66ecb",
  "02c299f21d87c3658f8cc3372bfdfb44191618095248a69fef577003b1ff18d301",
  "0288dbcc2bff89dbde3de7b0d1d53862249c808bc00d1bde5e3234d70cb1380a70",
  "023163c2af2f7d5f0426116d7d5c0f5c19dca7787072c986adae16e4a96e102a71",
  "02f510f39df449e40c1346c3c87eefa93c46e858067bc5627781542f17837d12d0",
  "03baa5d9b8b4cd7c70fdf11dd36d8a42714671c93157736d666f425dad2efe2010",
  "022e6811327a056bb69e3df22bdf1758a1a81492fda7e4f31245289b5b4a566018",
  "0295d097588cbc9376f7fe16e6fb5f15dfbb2135a66a20754aee26294a3f80e361",
  "02de87bb15545d60c9fbe49fc4b0520dc2a3ac93fdbba7717ebbae90c7fc308a2c",
  "02abed1341c7ac3ff62fac1d5f7e0d44e7ce225c9d208b9a7e63a6027b28a0031b",
  "03cd12552ea3340be2de7fb9fec8a74da99abf8eebbf5bcbdf8254f9ff8cca8737",
  "024f08c87014a63fb5abe928b9ab662591befed9035090cba2b3084d3d36b200cd",
  "035777a5dc413e4ede4bc6fc0c5885677d736a953ae43764f2538beaabaa1b79a5",
  "03bc63ad19d81963f14274b3fd2295a4b4fa6ded2fe89e06f8d4c32582d489e854",
  "03909161822f83b4c18152ea55c06b49cd21769608323f39b7cc393ddaefeee765"
]

So 536 vs 503 results when dust filter is set to 0.

You should be able to reproduce for different blocks using the instructions in the PR description.

@setavenger
Copy link

@Sjors Which commit on Oracle was this made on - last master?

@Sjors
Copy link
Owner Author

Sjors commented Apr 28, 2025

@setavenger master @ 9c6620a84049b832519c98dc3535508ed4fbf249, so I guess one merge commit behind now.

@setavenger
Copy link

setavenger commented May 1, 2025

@Sjors Ok I see, will try to sync up a node and an oracle instance soon, but will need to get some resources free for that.

In the meantime I've done some digging. I forgot about it but here is the PR that came in after the version you are using. setavenger/blindbit-oracle#28 specifically this commit setavenger/blindbit-oracle@ba5352b should be interesting. Can you check whether this change is applied in the source code you are running. If not, maybe you could try a version after the PR was merged. This might be the reason you are not seeing cut-through be properly applied

@Sjors
Copy link
Owner Author

Sjors commented May 1, 2025

@setavenger I'll pull the latest version and try again, because that commits seems quite relevant.

@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 57cb0b6 to d42ca88 Compare May 12, 2025 15:03
@Sjors Sjors changed the base branch from josibake/implement-bip352 to bip352-pr-28122 May 12, 2025 15:03
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from d42ca88 to 7894d87 Compare May 12, 2025 15:15
@Sjors
Copy link
Owner Author

Sjors commented May 12, 2025

Rebased on the latest bitcoin#28122. Still have to rebuild the index and re-test cut-through against the Blindbit Oracle.

I dropped the lexicographical sort workaround in 8f418aa, it should no longer be needed.

@Sjors
Copy link
Owner Author

Sjors commented May 13, 2025

@setavenger I'm still seeing a difference with cut-through, dust limit 0.

The first mismatch is at 709,656.

We find with bitcoin-cli getsilentpaymentblockdata 00000000000000000004d3108aa91c58d85027536139dcc359f5926a871b2111 0:

{
  "bip352_tweaks": [
    "03fb7925ca5a351dbe8edae98b5f6e5d01ce2f2473f4a872912f37c865f5d1c93b",
    "03aa45b046a59566c2c273095b99bb3076d95108009c490ba26a41d0579281ff82"
  ]
}

Whereas the oracle finds: http://localhost:8000/tweaks/709656?dustLimit=0

["03fb7925ca5a351dbe8edae98b5f6e5d01ce2f2473f4a872912f37c865f5d1c93b"]

The node was synced to height 896,530, disconnected from peers after which I generated the cut-through index.

The oracle was synced against this node. At the time of writing it's still syncing, but I don't think that can explain the difference?


The oracle also crashes at height 889633 with a valueMax was 0.

@Sjors Sjors force-pushed the bip352-pr-28122 branch from ead9b1d to 51b6e00 Compare May 15, 2025 09:25
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 7894d87 to 0de999e Compare May 15, 2025 09:30
@Sjors
Copy link
Owner Author

Sjors commented May 15, 2025

Rebased on the latest bitcoin#28122. @josibake can I interest you in cherry-picking the two amazing helper functions from 8e7dd0a and b522496?

@setavenger
Copy link

setavenger commented May 31, 2025

The oracle also crashes at height 889633 with a valueMax was 0.

This should be fixed on the dev (setavenger/blindbit-oracle@0ffb504) branch now. But this "quick-fix" might also break dust-limits. Started working on a rewrite. I expect more stability thereafter. Can't say how long it will take though.

It is odd that the dust filters broke. I will need to do a proper deep dive on what change broke this or alternatively see that I get the rewrite through.

@Sjors Sjors force-pushed the bip352-pr-28122 branch from 51b6e00 to 8c07340 Compare July 10, 2025 15:14
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 0de999e to 075100d Compare July 10, 2025 15:18
@Sjors
Copy link
Owner Author

Sjors commented Jul 10, 2025

Rebased on the latest bitcoin#28122 @ 8c07340

Still matches BlindBit oracle (didn't try with cut-through).

@Sjors Sjors force-pushed the bip352-pr-28122 branch from 8c07340 to 04a6238 Compare July 11, 2025 11:35
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 075100d to ffeb806 Compare July 11, 2025 11:54
@Sjors
Copy link
Owner Author

Sjors commented Jul 11, 2025

Looks like bitcoin#28122 got a rebase itself this time with @ bitcoin@04a6238. Resolved conflicts with bitcoin#32530, bitcoin#32694 and bitcoin#31622 (gets rid of 045eeda).

fanquake added a commit to bitcoin/bitcoin that referenced this pull request Jul 14, 2025
c18bf0b refactor: cleanup index logging (Sjors Provoost)

Pull request description:

  This PR removes the use of `__func__` from index logging, since we have `-logsourcelocations`.

  It also improves readability by putting `GetName()` in a more logical place.

  Before

  > coinstatsindex: best block of the index not found. Please rebuild the index.

  After:

  > best block of coinstatsindex not found. Please rebuild the index.

  I found myself maintaining this commit as part of Sjors#86, but since that might never land here, it seemed better to split it into its own PR (or get rid of it).

ACKs for top commit:
  l0rinc:
    Lightweight code review ACK c18bf0b
  maflcko:
    review ACK c18bf0b 🚣

Tree-SHA512: 755948371e3ff7a5515b63ce48075631ec7868d69c3c1469176d5be0e8b28e1c071e206ae3f7320f87d8c441f815894acfef61621f05795b5ff6b8a5a3031e3b
@Sjors
Copy link
Owner Author

Sjors commented Jul 14, 2025

bitcoin#32948 landed so the next rebase can drop 501bb1c (if bitcoin#28122 is also rebased).

@Sjors Sjors force-pushed the bip352-pr-28122 branch from 04a6238 to 15f93ab Compare July 17, 2025 08:16
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from ffeb806 to 40bd385 Compare July 17, 2025 08:19
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 40bd385 to 3e4eb1e Compare July 17, 2025 08:29
@Sjors Sjors force-pushed the bip352-pr-28122 branch from 15f93ab to fa06a4e Compare July 24, 2025 12:52
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 3e4eb1e to 9f441e8 Compare July 24, 2025 13:23
@Sjors
Copy link
Owner Author

Sjors commented Jul 24, 2025

@furszy I incorporated your changes from 413ce51 in this PR in 9439f62.

(MSAN fails in the base PR too)

@josibake
Copy link

(MSAN fails in the base PR too)

Just fixed in my most recent push to the secp module / base PR

@Sjors Sjors force-pushed the bip352-pr-28122 branch from fa06a4e to ea90948 Compare July 25, 2025 12:31
Sjors and others added 8 commits July 25, 2025 14:31
This allows indexing to start from a specified start_height (default 0).
This is particularly useful for blockfilter indexes in that a new filter type could
be defined where the filter is only relevant after a certain block height (e.g.
a filter for only taproot scriptPubKeys).

Although this is currently not possible, start_height would also be needed if we wanted
to enable an index in pruned mode (e.g. having a txindex for recent blocks).

Co-Authored-by: Fabian Jahr <[email protected]>
Co-Authored-By: w0xlt <[email protected]>

Co-Authored-By: furszy <[email protected]>
Adds an index identical to -bip352index that can be enabled with -bip352ctindex.

Actual cut-through functionality is added in the next commit.
Existing index are not updated, so in order to advantage of cut-through for new blocks, it needs to be occasionally deleted and rebuilt.
This enables dust filtering. It has very little overhead.
@Sjors Sjors force-pushed the 2025/04/bip352-index branch from 9f441e8 to cdf7de3 Compare July 25, 2025 12:31
Sjors pushed a commit that referenced this pull request Jul 29, 2025
c40dbbb test: Move `script_assets_tests` into its own suite (Hennadii Stepanov)

Pull request description:

  This PR ensures that the `script_assets_tests` test case is explicitly reported as "Skipped" when it is not run, making it clearer when running the test suite with `ctest`:

  - on the master branch @ 9355578:
  ```
  $ env -u DIR_UNIT_TEST_DATA ctest --test-dir build -j 16 -R "^script_"
  Internal ctest changing into directory: /home/hebasto/git/bitcoin/build
  Test project /home/hebasto/git/bitcoin/build
      Start 87: script_tests
      Start 83: script_p2sh_tests
      Start 85: script_segwit_tests
      Start 86: script_standard_tests
      Start 84: script_parse_tests
  1/5 Test #84: script_parse_tests ...............   Passed    0.11 sec
  2/5 Test #86: script_standard_tests ............   Passed    0.11 sec
  3/5 Test #85: script_segwit_tests ..............   Passed    0.12 sec
  4/5 Test #83: script_p2sh_tests ................   Passed    0.12 sec
  5/5 Test #87: script_tests .....................   Passed    0.36 sec

  100% tests passed, 0 tests failed out of 5

  Total Test time (real) =   0.37 sec
  ```
  - with this PR:
  ```
  $ env -u DIR_UNIT_TEST_DATA ctest --test-dir build -j 16 -R "^script_"
  Internal ctest changing into directory: /home/hebasto/git/bitcoin/build
  Test project /home/hebasto/git/bitcoin/build
      Start 83: script_assets_tests
      Start 88: script_tests
      Start 84: script_p2sh_tests
      Start 86: script_segwit_tests
      Start 87: script_standard_tests
      Start 85: script_parse_tests
  1/6 Test #85: script_parse_tests ...............   Passed    0.11 sec
  2/6 Test #83: script_assets_tests ..............***Skipped   0.12 sec
  3/6 Test #86: script_segwit_tests ..............   Passed    0.11 sec
  4/6 Test #87: script_standard_tests ............   Passed    0.11 sec
  5/6 Test #84: script_p2sh_tests ................   Passed    0.12 sec
  6/6 Test #88: script_tests .....................   Passed    0.36 sec

  100% tests passed, 0 tests failed out of 6

  Total Test time (real) =   0.37 sec

  The following tests did not run:
   83 - script_assets_tests (Skipped)
  $ env DIR_UNIT_TEST_DATA=/home/hebasto/git/bitcoin/qa-assets/unit_test_data ctest --test-dir build -j 16 -R "^script_"
  Internal ctest changing into directory: /home/hebasto/git/bitcoin/build
  Test project /home/hebasto/git/bitcoin/build
      Start 83: script_assets_tests
      Start 88: script_tests
      Start 84: script_p2sh_tests
      Start 86: script_segwit_tests
      Start 87: script_standard_tests
      Start 85: script_parse_tests
  1/6 Test #85: script_parse_tests ...............   Passed    0.11 sec
  2/6 Test #87: script_standard_tests ............   Passed    0.11 sec
  3/6 Test #86: script_segwit_tests ..............   Passed    0.11 sec
  4/6 Test #84: script_p2sh_tests ................   Passed    0.12 sec
  5/6 Test #88: script_tests .....................   Passed    0.35 sec
  6/6 Test #83: script_assets_tests ..............   Passed    1.58 sec

  100% tests passed, 0 tests failed out of 6

  Total Test time (real) =   1.58 sec
  ```

ACKs for top commit:
  maflcko:
    re-ACK c40dbbb 👈
  ajtowns:
    ACK c40dbbb
  achow101:
    ACK c40dbbb

Tree-SHA512: 25713e1c3b507b6f2a5fecc7b1ea285a6642b906c248769238a58fc0df48489ac5f7606778f9e3653b407b7f1d06563e1554d04321303b350c80eb888500cc5d
@macgyver13
Copy link

@Sjors Thank you for maintaining this PR, was super simple to use bip352index to compare tweak index services.

https://github.com/silent-payments/tweak-service-auditor
Pairwise comparison has been 100% for all blocks I have scanned for bitcoin core and blindbit 👏

If you have any suggestions on improving the auditor please let me know

@setavenger
Copy link

@macgyver13 I like the idea of the tool! Does it also test with cut-through and dust-limits?

@macgyver13
Copy link

macgyver13 commented Aug 11, 2025

@macgyver13 I like the idea of the tool! Does it also test with cut-through and dust-limits?

I am evaluating cut-through and dust-limits now - made a small improvement to make it easier in #PR99

=== Audit Results for Block 258257 ===
Tweak counts by service:
blindbit: 488 tweaks
bitcoin: 488 tweaks
esplora-cake: 449 tweaks
bitcoin-spent: 399 tweaks
blindbit-spent: 375 tweaks

=== Pairwise Service Comparisons ===
blindbit-vs-cake (blindbit-spent vs esplora-cake):
blindbit-spent: 375 tweaks
esplora-cake: 449 tweaks
Matching tweaks: 351
blindbit-spent unique: 24
esplora-cake unique: 98
Match percentage: 74.2%

blindbit-spent-vs-core (blindbit-spent vs bitcoin):
blindbit-spent: 375 tweaks
bitcoin: 488 tweaks
Matching tweaks: 375
blindbit-spent unique: 0
bitcoin unique: 113
Match percentage: 76.8%

blindbit-spent-vs-core-spent (blindbit-spent vs bitcoin-spent):
blindbit-spent: 375 tweaks
bitcoin-spent: 399 tweaks
Matching tweaks: 375
blindbit-spent unique: 0
bitcoin-spent unique: 24
Match percentage: 94.0%

cake-vs-core-spent (esplora-cake vs bitcoin-spent):
esplora-cake: 449 tweaks
bitcoin-spent: 399 tweaks
Matching tweaks: 369
esplora-cake unique: 80
bitcoin-spent unique: 30
Match percentage: 77.0%

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants