From 893e9292e50a0c2e58559f40a0f1d89e1bd253d1 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Thu, 23 Jun 2022 14:23:14 -0700 Subject: [PATCH 01/16] First draft: map test --- exp/lighthorizon/index/cmd/map.sh | 76 +++++++ exp/lighthorizon/index/cmd/map_test.go | 103 +++++++++ .../index/cmd/single/fixtures/latest | 1 - .../index/cmd/single/fixtures/ledgers/1410048 | Bin 4156 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410049 | Bin 5336 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410050 | Bin 5132 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410051 | Bin 4868 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410052 | Bin 5048 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410053 | Bin 3892 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410054 | Bin 2816 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410055 | Bin 2964 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410056 | Bin 6080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410057 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410058 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410059 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410060 | Bin 4080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410061 | Bin 5940 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410062 | Bin 6728 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410063 | Bin 6000 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410064 | Bin 5936 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410065 | Bin 4988 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410066 | Bin 4000 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410067 | Bin 6088 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410068 | Bin 4860 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410069 | Bin 4080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410070 | Bin 3924 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410071 | Bin 2896 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410072 | Bin 5312 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410073 | Bin 5076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410074 | Bin 5924 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410075 | Bin 6056 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410076 | Bin 3872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410077 | Bin 3696 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410078 | Bin 5128 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410079 | Bin 4848 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410080 | Bin 4700 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410081 | Bin 6176 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410082 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410083 | Bin 5912 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410084 | Bin 6216 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410085 | Bin 5968 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410086 | Bin 4524 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410087 | Bin 3700 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410088 | Bin 4044 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410089 | Bin 5076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410090 | Bin 3692 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410091 | Bin 2676 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410092 | Bin 2900 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410093 | Bin 4692 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410094 | Bin 4624 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410095 | Bin 5128 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410096 | Bin 7192 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410097 | Bin 6012 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410098 | Bin 7076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410099 | Bin 4704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410100 | Bin 4840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410101 | Bin 3856 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410102 | Bin 5764 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410103 | Bin 5576 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410104 | Bin 4960 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410105 | Bin 4980 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410106 | Bin 5076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410107 | Bin 4028 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410108 | Bin 2964 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410109 | Bin 5080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410110 | Bin 2736 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410111 | Bin 5208 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410112 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410113 | Bin 4704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410114 | Bin 4640 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410115 | Bin 4864 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410116 | Bin 4692 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410117 | Bin 5832 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410118 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410119 | Bin 7448 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410120 | Bin 6056 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410121 | Bin 5944 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410122 | Bin 4904 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410123 | Bin 3920 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410124 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410125 | Bin 2492 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410126 | Bin 2748 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410127 | Bin 3924 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410128 | Bin 4956 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410129 | Bin 3972 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410130 | Bin 5180 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410131 | Bin 5876 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410132 | Bin 6116 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410133 | Bin 5288 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410134 | Bin 5120 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410135 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410136 | Bin 5032 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410137 | Bin 5140 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410138 | Bin 3872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410139 | Bin 4904 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410140 | Bin 3920 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410141 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410142 | Bin 6088 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410143 | Bin 5956 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410144 | Bin 6076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410145 | Bin 3972 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410146 | Bin 3892 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410147 | Bin 2836 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410148 | Bin 2916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410149 | Bin 2740 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410150 | Bin 6080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410151 | Bin 4792 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410152 | Bin 4744 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410153 | Bin 6112 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410154 | Bin 5892 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410155 | Bin 5128 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410156 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410157 | Bin 3792 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410158 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410159 | Bin 4704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410160 | Bin 4640 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410161 | Bin 7292 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410162 | Bin 7172 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410163 | Bin 4696 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410164 | Bin 2916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410165 | Bin 4028 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410166 | Bin 7032 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410167 | Bin 3852 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410168 | Bin 5644 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410169 | Bin 5596 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410170 | Bin 3872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410171 | Bin 4904 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410172 | Bin 3920 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410173 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410174 | Bin 4700 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410175 | Bin 4856 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410176 | Bin 6244 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410177 | Bin 7164 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410178 | Bin 5824 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410179 | Bin 4928 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410180 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410181 | Bin 2836 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410182 | Bin 3868 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410183 | Bin 4900 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410184 | Bin 3916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410185 | Bin 3836 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410186 | Bin 2836 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410187 | Bin 5160 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410188 | Bin 4904 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410189 | Bin 7124 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410190 | Bin 5104 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410191 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410192 | Bin 4704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410193 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410194 | Bin 6088 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410195 | Bin 4860 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410196 | Bin 4988 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410197 | Bin 4000 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410198 | Bin 4824 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410199 | Bin 4824 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410200 | Bin 6364 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410201 | Bin 4924 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410202 | Bin 4608 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410203 | Bin 4164 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410204 | Bin 3988 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410205 | Bin 6088 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410206 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410207 | Bin 4860 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410208 | Bin 4988 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410209 | Bin 5008 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410210 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410211 | Bin 11716 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410212 | Bin 6064 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410213 | Bin 6180 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410214 | Bin 5108 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410215 | Bin 6112 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410216 | Bin 6012 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410217 | Bin 3980 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410218 | Bin 4332 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410219 | Bin 2916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410220 | Bin 2896 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410221 | Bin 3024 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410222 | Bin 5368 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410223 | Bin 5496 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410224 | Bin 6132 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410225 | Bin 6000 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410226 | Bin 5916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410227 | Bin 6136 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410228 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410229 | Bin 4724 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410230 | Bin 4804 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410231 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410232 | Bin 4792 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410233 | Bin 5048 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410234 | Bin 5432 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410235 | Bin 5152 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410236 | Bin 5040 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410237 | Bin 3032 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410238 | Bin 5192 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410239 | Bin 5408 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410240 | Bin 3276 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410241 | Bin 5264 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410242 | Bin 6552 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410243 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410244 | Bin 7232 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410245 | Bin 7084 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410246 | Bin 7156 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410247 | Bin 4724 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410248 | Bin 5924 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410249 | Bin 5128 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410250 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410251 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410252 | Bin 4144 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410253 | Bin 5084 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410254 | Bin 4928 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410255 | Bin 6204 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410256 | Bin 2860 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410257 | Bin 3888 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410258 | Bin 1524 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410259 | Bin 2644 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410260 | Bin 2732 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410261 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410262 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410263 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410264 | Bin 3584 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410265 | Bin 1472 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410266 | Bin 2680 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410267 | Bin 2760 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410268 | Bin 3872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410269 | Bin 7068 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410270 | Bin 6048 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410271 | Bin 6056 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410272 | Bin 6272 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410273 | Bin 4860 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410274 | Bin 3972 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410275 | Bin 3892 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410276 | Bin 3892 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410277 | Bin 5348 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410278 | Bin 4072 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410279 | Bin 4872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410280 | Bin 6016 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410281 | Bin 4096 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410282 | Bin 2680 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410283 | Bin 2592 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410284 | Bin 1472 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410285 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410286 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410287 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410288 | Bin 3688 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410289 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410290 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410291 | Bin 3768 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410292 | Bin 2704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410293 | Bin 6364 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410294 | Bin 3916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410295 | Bin 4732 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410296 | Bin 4072 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410297 | Bin 2660 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410298 | Bin 4076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410299 | Bin 4824 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410300 | Bin 4144 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410301 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410302 | Bin 5084 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410303 | Bin 6072 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410304 | Bin 6372 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410305 | Bin 8288 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410306 | Bin 6688 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410307 | Bin 5684 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410308 | Bin 3224 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410309 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410310 | Bin 3632 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410311 | Bin 1468 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410312 | Bin 1468 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410313 | Bin 516 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410314 | Bin 1592 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410315 | Bin 1724 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410316 | Bin 2760 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410317 | Bin 1472 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410318 | Bin 4888 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410319 | Bin 3592 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410320 | Bin 4880 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410321 | Bin 6136 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410322 | Bin 4624 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410323 | Bin 5084 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410324 | Bin 3616 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410325 | Bin 5028 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410326 | Bin 5644 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410327 | Bin 7592 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410328 | Bin 4792 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410329 | Bin 4240 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410330 | Bin 3032 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410331 | Bin 3120 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410332 | Bin 5036 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410333 | Bin 3604 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410334 | Bin 3656 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410335 | Bin 4232 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410336 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410337 | Bin 4764 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410338 | Bin 2480 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410339 | Bin 3768 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410340 | Bin 1472 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410341 | Bin 3544 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410342 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410343 | Bin 3632 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410344 | Bin 2424 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410345 | Bin 2760 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410346 | Bin 3872 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410347 | Bin 3696 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410348 | Bin 5248 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410349 | Bin 2884 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410350 | Bin 5596 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410351 | Bin 3276 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410352 | Bin 3932 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410353 | Bin 6088 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410354 | Bin 4704 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410355 | Bin 6056 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410356 | Bin 5800 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410357 | Bin 4724 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410358 | Bin 4804 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410359 | Bin 6080 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410360 | Bin 4916 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410361 | Bin 3840 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410362 | Bin 5432 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410363 | Bin 4076 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410364 | Bin 6248 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410365 | Bin 4996 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410366 | Bin 4992 -> 0 bytes .../index/cmd/single/fixtures/ledgers/1410367 | Bin 6880 -> 0 bytes .../index/cmd/single/main_test.go | 184 --------------- exp/lighthorizon/index/cmd/single_test.go | 215 ++++++++++++++++++ 325 files changed, 394 insertions(+), 185 deletions(-) create mode 100755 exp/lighthorizon/index/cmd/map.sh create mode 100644 exp/lighthorizon/index/cmd/map_test.go delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/latest delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410048 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410049 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410050 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410051 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410052 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410053 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410054 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410055 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410056 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410057 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410058 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410059 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410060 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410061 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410062 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410063 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410064 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410065 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410066 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410067 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410068 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410069 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410070 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410071 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410072 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410073 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410074 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410075 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410076 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410077 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410078 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410079 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410080 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410081 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410082 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410083 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410084 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410085 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410086 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410087 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410088 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410089 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410090 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410091 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410092 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410093 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410094 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410095 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410096 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410097 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410098 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410099 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410100 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410101 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410102 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410103 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410104 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410105 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410106 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410107 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410108 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410109 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410110 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410111 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410112 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410113 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410114 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410115 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410116 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410117 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410118 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410119 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410120 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410121 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410122 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410123 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410124 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410125 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410126 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410127 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410128 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410129 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410130 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410131 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410132 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410133 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410134 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410135 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410136 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410137 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410138 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410139 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410140 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410141 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410142 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410143 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410144 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410145 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410146 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410147 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410148 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410149 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410150 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410151 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410152 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410153 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410154 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410155 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410156 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410157 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410158 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410159 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410160 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410161 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410162 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410163 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410164 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410165 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410166 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410167 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410168 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410169 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410170 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410171 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410172 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410173 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410174 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410175 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410176 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410177 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410178 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410179 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410180 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410181 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410182 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410183 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410184 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410185 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410186 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410187 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410188 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410189 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410190 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410191 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410192 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410193 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410194 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410195 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410196 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410197 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410198 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410199 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410200 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410201 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410202 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410203 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410204 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410205 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410206 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410207 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410208 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410209 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410210 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410211 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410212 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410213 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410214 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410215 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410216 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410217 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410218 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410219 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410220 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410221 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410222 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410223 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410224 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410225 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410226 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410227 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410228 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410229 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410230 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410231 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410232 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410233 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410234 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410235 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410236 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410237 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410238 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410239 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410240 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410241 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410242 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410243 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410244 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410245 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410246 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410247 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410248 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410249 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410250 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410251 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410252 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410253 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410254 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410255 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410256 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410257 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410258 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410259 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410260 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410261 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410262 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410263 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410264 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410265 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410266 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410267 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410268 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410269 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410270 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410271 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410272 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410273 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410274 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410275 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410276 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410277 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410278 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410279 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410280 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410281 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410282 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410283 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410284 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410285 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410286 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410287 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410288 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410289 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410290 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410291 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410292 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410293 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410294 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410295 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410296 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410297 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410298 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410299 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410300 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410301 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410302 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410303 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410304 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410305 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410306 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410307 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410308 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410309 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410310 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410311 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410312 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410313 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410314 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410315 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410316 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410317 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410318 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410319 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410320 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410321 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410322 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410323 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410324 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410325 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410326 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410327 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410328 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410329 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410330 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410331 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410332 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410333 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410334 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410335 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410336 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410337 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410338 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410339 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410340 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410341 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410342 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410343 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410344 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410345 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410346 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410347 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410348 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410349 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410350 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410351 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410352 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410353 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410354 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410355 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410356 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410357 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410358 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410359 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410360 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410361 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410362 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410363 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410364 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410365 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410366 delete mode 100644 exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410367 delete mode 100644 exp/lighthorizon/index/cmd/single/main_test.go create mode 100644 exp/lighthorizon/index/cmd/single_test.go diff --git a/exp/lighthorizon/index/cmd/map.sh b/exp/lighthorizon/index/cmd/map.sh new file mode 100755 index 0000000000..991c5fdddf --- /dev/null +++ b/exp/lighthorizon/index/cmd/map.sh @@ -0,0 +1,76 @@ +#!/bin/bash +# +# Breaks up the given ledger dumps into checkpoints and runs a map +# job on each one. However, it's the Golang side does validation that +# the map job resulted in the correct indices. +# + +if [[ "$#" -ne "2" ]]; then + echo "Usage: $0 " + exit 1 +fi + +if [[ ! -d "$1" ]]; then + echo "Error: txmeta src ('$1') does not exist" + echo "Usage: $0 " + exit 1 +fi + +if [[ ! -d "$2" ]]; then + echo "Warning: index dest ('$2') does not exist, creating..." + mkdir -p $2 +fi + +echo "Analyzing $1:" +LATEST=$(cat $1/latest) +LAST=$(ls $1/ledgers | tail -n1) + +if [[ "$LATEST" -ne "$LAST" ]]; then + echo "Latest ledger incorrect: $LAST is last but $LATEST reported" + exit 1 +fi + +FIRST=$(ls $1/ledgers | head -n1) +COUNT=$(($LAST-$FIRST)) +CHECKPOINT_COUNT=$(($COUNT / 64)) + +echo " - start: $FIRST" +echo " - end: $LAST" +echo " - count: $COUNT ($CHECKPOINT_COUNT checkpoints)" + +if [[ "$((($FIRST + 1) % 64))" -ne "0" ]]; then + echo "$FIRST isn't a checkpoint ledger, adjusting..." + exit 1 +fi + +go build -o ./map ./batch/map/... +if [[ "$?" -ne "0" ]]; then + echo "Build failed" + exit 1 +fi + +# Because for i in {0..$CHECKPOINT_COUNT} won't work... +# https://www.cyberciti.biz/faq/unix-linux-iterate-over-a-variable-range-of-numbers-in-bash/ +pids=( ) +for i in $(eval echo "{0..$((CHECKPOINT_COUNT-1))}") +do + echo "Creating job $i" + + AWS_BATCH_JOB_ARRAY_INDEX=$i BATCH_SIZE=64 FIRST_CHECKPOINT=$FIRST \ + TXMETA_SOURCE=file://$1 INDEX_TARGET=file://$2 WORKER_COUNT=2 \ + ./map & pids+=( $! ) +done + +# Check the status codes for all of the map processes. +for i in "${!pids[@]}"; do + pid=${pids[$i]} + echo "Checking job $i: pid=$pid" + if ! wait "$pid"; then + echo "failed" + exit 1 + fi +done + +rm ./map +echo "All jobs succeeded!" +exit 0 \ No newline at end of file diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go new file mode 100644 index 0000000000..c35e2fc590 --- /dev/null +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -0,0 +1,103 @@ +package main_test + +import ( + "net/url" + "os" + "os/exec" + "path/filepath" + "strings" + "testing" + + "github.com/stellar/go/exp/lighthorizon/index" + "github.com/stretchr/testify/require" +) + +func TestMap(t *testing.T) { + parsed, err := url.Parse(txmetaSource) + require.NoError(t, err) + require.Equalf(t, parsed.Scheme, "file", + "%s is not local txmeta source", txmetaSource) + + txmetaPath := strings.Replace(txmetaSource, "file://", "", 1) + + // First, execute the map jobs in parallel and dump the resulting indices to + // a temporary directory. + + tempDir := filepath.Join(os.TempDir(), "indices-map") + mapTestCmd := exec.Command("./map.sh", txmetaPath, tempDir) + t.Log("Running map jobs:", mapTestCmd.String()) + stdout, err := mapTestCmd.CombinedOutput() + + t.Logf("Tried writing indices to %s:", tempDir) + t.Log(string(stdout)) + + require.NoError(t, err) + + // Then, build the *same* indices using the single-process tester. + // + // FIXME: We could probably use the *actual* single-process builder here, + // but is that too much coupling? It means if the single-process fails, the + // map version will fail as well. + + var lastLedger uint32 = elderLedger + (64*5 - 1) // exactly 5 checkpoints of data + hashes, participants := CreateBaselineIndices(t, txmetaSource, elderLedger, lastLedger) + require.NotNil(t, hashes) + require.NotNil(t, participants) + + // Now, walk through the mapped indices and ensure that at least one of the + // jobs reported the same indices for tx TOIDs and participation. + + checkpointCount := (lastLedger - elderLedger) / 64 + stores := make([]index.Store, checkpointCount) + + for i := range stores { + index, err := index.Connect(filepath.Join("file://", tempDir)) + require.NoError(t, err) + require.NotNil(t, index) + stores[i] = index + } + + for account, checkpoints := range participants { + assertParticipantExists(t, account, checkpoints, stores) + } +} + +func assertParticipantExists(t *testing.T, + account string, + expected []uint32, + indexGroup []index.Store, +) { + looking := make(map[uint32]struct{}, len(expected)) + + for _, store := range indexGroup { + var err error + + // Ensure that all of the active checkpoints reported by the index match + // the ones we tracked while ingesting the range ourselves. + activeCheckpoints := []uint32{} + lastActiveCheckpoint := uint32(0) + for { + lastActiveCheckpoint, err = store.NextActive(account, "all/all", lastActiveCheckpoint) + if err != nil { + break + } + + activeCheckpoints = append(activeCheckpoints, lastActiveCheckpoint) + lastActiveCheckpoint += 1 // hit next active one + } + + // Mark any checkpoints that we're looking as found if we find them in + // this index, and also error out if there are extraneous ones. + for _, chk := range activeCheckpoints { + require.Containsf(t, expected, chk, + "found unexpected checkpoint %d", int(chk)) + looking[chk] = struct{}{} + } + } + + // Make sure everything got marked as expected in at least one index. + for _, item := range expected { + require.Containsf(t, looking, item, + "failed to find %d (found %v)", int(item), looking) + } +} diff --git a/exp/lighthorizon/index/cmd/single/fixtures/latest b/exp/lighthorizon/index/cmd/single/fixtures/latest deleted file mode 100644 index ffcf417d02..0000000000 --- a/exp/lighthorizon/index/cmd/single/fixtures/latest +++ /dev/null @@ -1 +0,0 @@ -1413248 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410048 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410048 deleted file mode 100644 index ba14fe4bf53a464251f29c2d7a3c3cee4fb9a321..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4156 zcmZQzU|^`dbFIrsShl3zcHPY`>$CGi!|k@#M6M0wXVjc(_$#Ius6=??#JEO_;MZDO zGi$Z4mp@l6Vwt&HPt%oacGpwI!^gO$nx}gS_x9CssvKgPT_f;6s@igzORE0F)-VHu zW8VWWM+41ZNLq9}07L@;BZ#QBB4a=vjefoC)b;L*+N0f z9F5R6{l{jaXJ&gHNY{O__S~0bmH4W!%&>I+SNuG2r2@N7$2`^rCC%Kx9U(4Aj!GiiO$ zp2hR8ZiwBt;oQxKp`6pR=l{6Jv+Y_;+yCD)J{ck{hs%A|GTNnH_aB&`Q*2jf#1o2L9}@Z zP-zrMJrIE6P9iJF+s8EDC_gk*JIgdTC&DPwBE-_s))p!cQ^&v+@KCiz?{ss8%c3to zgFo=fZBF_czE5pq?*WmzuHVQ0gA_smI86ZAj9`0#ala|tE&uc(ZuXeRIv2{jo47u_ zdv&_FL3qaD|9txA`xh-z7M)r1B!7Y8^9KKWbNBmZJ8ho#oNKq%<~0Y{RP)8k*nwt& z{m6S`b@tAgYh?uFmlaI${{8O_>n_#>mn)@nqf%A(@=7cN`;l9*4yb-I$bKNk20-Fq zIf2@X**X@+9!+|Ua^F{-7r8j2E1w~xDCDx8Ty9&~gE=tGJIXIxEAl+v5cIswP5p{u z!~83Iw5&5F^|Tlxf6q9+vlFOJ+@tITOgR(SEkJ)Cy88KQr~0u5;U5MelP-LzoT+}O zQ|tA`C2PU>t`~h z7x=D}oDIl%dO_j_7bnnR;P5ki?Z`Z1gW{QKEUMYBRKBHfayu(^`Y7dj=AArgIziYF zs4j&;Ko5n{DZV#?=z&Avc|OaY-m0Y0uEEfA1?>RNKeEWXm-t-td1CP#6&ohq?- zU7jIeVZ2Uj=HhFgL8_R<_zpl+GcZEk>cAMAwUN(gcI zB)ni{DlE9+2?Z!XLL5TE1g(B$0h$3!Uu1_D?c7GXo2sDci&kzz$%n+$S+ZwSBY|#O z3XeD>29}6JNh3s>A4P)s3={sux_ab(yZ`uMnnq`|+3t_KWUTgeeA!-Q=436-;+F?? zUdn$U0J33DWCU{mLFF*YBO=Ou2KMz|B%o!#7SJ44s99hNW(kmk#DuFLt2`pkO`o^W z*iBf=qe0>}l(a^on?Ut972*)1JOW4hGPSmE1)PFL;wr{mtSUVBd6eD%O0!S8?_@A_ zfm~d)5j16_KxtfQ2AEfKcR7pRSn0+1pOi3wMNqnyD=qaeMYei5iH_y*HW zu&uxDv7Nq6k|PQp^Xo=@4~3(R~mkJutU}Xe{oB GO9KF^ptZ;V diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410049 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410049 deleted file mode 100644 index eca89ca745d94497040769a2eb3f99dc5eb01111..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5336 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 IKFsM109Idqf&c&j diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410052 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410052 deleted file mode 100644 index 2d8a42fe12b640c58289164674f83d35e642ca2e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5048 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410054 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410054 deleted file mode 100644 index a3cf6535d7cbdb15a765ae7991ca4407c2aa8fb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2816 zcmZQzU|{gEmFK!*-WpS&nXGL!Ve`&cU!|3blV3|so?$fU?}uq$fl7oYzWtD5$8bQ# ztWjecOGeYd>Sc4}mrRfUaqh$AGu>vVc+VZ>-IkKm`|M^{wTpaz_Wl2*;Y}|%cd@QI zu&sAelz%+X42Gmd$MZlm5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^P{r8e2l19Ahr{ zsTsNdM?%`lU&5>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjtPnxUMQuN9ZXvjKOyjfgyhT>-m%?H4Rd>}bvrh=)=pd(zJr0^$pIJ!p!fpm zfdO#*!8oN^)ia({KEC#)WM;=o_gmG~FB=%kEe^1}c7Dc*7bsc35KfPh+zaR<5U8qGM*Vg{yz5v1fWtN{UZfa=EQ7nmPvN%*D;egU-or*BpAW&1BS&UkD!V` z5jWwFEV`@nZ-1L2b>N@l$1iE-y0%wN&-Z#Dbw%t#NT}4u#U9=lzN^e~&F7k7`G3E9 z#>~?fEy~x%FW>{3#T1yBT)lIfv6gP|+%u7rUh`S;MN}LUtZ1-%8Rgb=$@vD@Qc!$C z0CHGBg}~v-42*A3Sb+gC{$cv{p#fPBOfQIrS%M_S2+C71K2hesUI$8pa5us9f@mz} z!_qd$AGEZG5`SPg8%Y3(3HK>--UA6TgJq!pLn~K7YC(Qy1=3)%sGWYnc5hs?NAD<@ zh3sBfn9#&taK6EAFN3P~T)lViOQP#1%|AJ{xyWYA|0fa4LsvDfYiL?sp1{86M z4;F?JuyBKiHNmoxfk9krWxWJ2tU>-o4hOK2NCHSqxRr2wpdzq11&agYGzuyX3sW$c zC^yZrxj|z$f!qkfD0ys!Q~EGz68ZDCE-Oow;`32#Ka-bnd`9h ZMJqQkAeY@lw=aT-+XVms diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410055 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410055 deleted file mode 100644 index ff65cf037d23abc2c96f24e179892f9c57c65f4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2964 zcmZQzU|`UWkoX%>*qPxS_Eou3Tc##osMt>=(X)!r(?x!b&)RK3CBi3?9`f%%nll^NXx?2YKG|PM3Oge}`q8jEz+OdX3#% zmYveQyf*0Jf$C4QA|x)aRdi(e+?(n?HK{Y4`OcsFnRiPHC-SY@^)|7tjJt2AT2T0g z=!=PlAA+VW|DtbkB;fuZUr$bzV4)cCz^No4oxl#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$Dnuu143~H zRKx_u45eAsGoDmFzV@YLX2(kRTh-Ms8yL$i4zRp<>z2@ytFo7Y-^l?O25dm};5Y-) zAOK>6`2_VdFo5+2yE=n4&RMdeKyIT6=d%;?e_fVoZeU|rezw|YZZ$AMQ ziF=g20ILPr0d@m09cY>Mt;y@(mw%Dz*~ff`2z9A6O>DL**EOV(d^hac-KiOM%92f~5mccnvnUQ4(Gt zf1v=Rh(lt+m7uGK#UVIM(8_g?93|m}ZWnTbqs(n2#v#w?P+0n+m775M0G_UhE?1EB zz+(u=z!o^X=Xl?glxaV8-LN}9SUofLz1phfiyzEAd+p}kz1J-ME(7bwEH6N1HVlCL z4vJ5>7!hSYr2IqD12YUnV{s=+S|-Z;eM$$A-9*5AkRM?FfQL5??4iUT7{P)hfW(CR z6g^E6%9F6P1~!WbzcZ3hXTux?tGkiii&7R4VK0L$B5sk*0o#EjfW(AZkF&19ET@q2 S5E*Vlu^Wkl#3b2Ga18)w8qy8` diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410056 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410056 deleted file mode 100644 index 2659c7d86bf401bcf019c8c094f1cf71e1aae6d5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6080 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 a#UODTN_jz|n?U_=YQ!OWc>#}f5CZ`0Uq(X! diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410058 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410058 deleted file mode 100644 index 05a72965fa30b61f4818cc6c93f0b4acf27bc355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4872 zcmZQzU|{%^qF$S2nf~tJ_peq5Hk?^`{qKshn3Ypx^|RwYgiqfQ0#qWLwNq&M%ewxF zJCA6{D;E7|u8-=uZIF2)d%5UEHi=Y=DRZQ{_8hgJXB(l%a$wD)V{V+gLpEKqKXh6_ z;!|yV?c*&#GZ>N<9d82BK)?thw#Eu<+Fh&RclCgk`_hM7C!FLDZw_^rITBF4uZiW7 zO*c@91NX$Ln@gXTU75zgvu*a;MUvlT<2iYvMCY6_Jj?KpV-?0LnM@871ZSrucD{3kX^H`6yTwWaJ@ z!TS>nzq;I<%5Z5_Tv^=_Ee=~$z>+G@s2GJHS-Ur(@FHZrvnECjb z7bY7(EC@K21f)|Ke7qe%^o092cP#Nxo^kt%T~2jAf2aJPzZ`!BFIFGDbkg*RrbPa9 zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKd7&Rx_NlE}3zMy{7H4 z$%Q9{N)iF7S_(leSbU;D+scXp zh4DJAnTxM|1}T#$kZOP`XN0(u!NGC9<-{4+#26;Kmhl$~9N9GwD6wgd! zQO$m(@-2mv+gYj8M=8%U@8n6-3Brazbtw!2Vy77xH1vUNv@kib3M$443KL^v6AL4t z08|W4r}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3j`1o zE(|lKH9(a!Lfz`n-PzG6uC!O=uJiuC6$`_!+|T=e@Hp$L!ucMq5!s50*(dhga%%p+ z&NjP@_iE<(vpF6I_MEo}&@(HwnV`G!br3JmJaD+YP)aL1n6@TW4oIg z=Jr_Yc5HC1owzQ12Lr#812DgU!UL4PU;rh2{_k!yyTx54ePZLH1GBr&*~QsPvP*<$ zX71vTbx`S1&;V(YJ(~*G3pN*64){0)O*^9VU3KlROGiR#TC;wx?^OEvjeqvCAPcQs z%O>TB&B=P6AlrJYct`!c?Q0Y~=JW49FCl#*yl!{+>iP2?f!q)F!`DzN@e;RR;|BJCn-PU(GLDz zY+b`N-TC&6ub~kQPBVUdwk}b3?5=X+R+PN%lKMwLitVMS%hcztzZAWBsMD*u|c={<*PVQmxOa|6MiBzhbiYlcV>cmV!$*klj!| z$o((?3NvP4oPxpw42bYQB>s@}!1RJ>m?cPJjG!_W#wX7FlsU+5g6Rd(Sj>mTJ;)!l zw1*OZU^p8|0Er3rDL5^|d7wA~0jU4b>RDttuvtWeF)8U6<_uUmMs_bHVUBDL*bXEC zBqq#yNdAWN@P!Ha=>TLeirq*YBqrPy#Ksdtdho8D%UT|?&HWHAby}nD+1$13pI7=i zU%kS0Rt=~a~E)Uc!FoonHBqm%1 zF28}x3Sb(ng{nl!7eu-#gvM?Hxg8c>@G@bLxQ&wV0=3bo5r^O~K`KYUQTh3!I-km+ zJ%1J{^Ss@o`M2|l+#^4(j4i7y(w})p?&eqkRs?JtVM(L^pmMM|J+F9UVmVR( diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410059 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410059 deleted file mode 100644 index 0b84252413c78db36cfb6846c3cf01b2f3f28716..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4872 zcmZQzU|?ujc0*Nm!=)&ZBXfUpANCe%ujBKX)-&x`Lin1QdRC>yKqbPTQq*g+EYsf| z{QlMIz=ks`um4?97PE4StbTUdcysiJC=AT&$xZXE~h%5zf=CtUyi?m7psq6I%)buQzCyl z&uspOTf61e7n=NBr++Hp*_N{Qm4CLB|37D;JHOy&l6iQKhKWw^&rb{~|Nf>1#WZlq zo}QD~qUzy6D}hJ`RwvATtlKI;*-oduVxa z)%KdO{^%ojrfaRUS(3(mD#kjVZS8U?27V_8VA=qw1%)LHpoGu8x=7=SCFfn&I7b~# z(aOuS+@Wy#crXLwMfukGH@q4_{$`Lpn+n$pHW!%Yr|iFf<{QVy^D0%pmK|=}k^SlI z=k&E3r-TXad(mOwBguX(%KV<_+fC|k*F5WO-LXI-Bl-LPb6$7Z&mBsBC>CbS1~d@t zhyS}9&2Dj5NuSub=)mmmb9QmIlI#*8nwh)!V;xj_6f~fI-~y^gb~lI(<`dMQmO50m*)-{I%rXtlTQ%7`I^g2jZ_CQHGTJI{v$`HmO3Q{O2B4%2Qv;@7+FmYy6JV3o1 zt^VzYi}LL8FB76dKkg%1sh+zAIfkEuu z-}iffdLU&AOe2&=vIL0o3N(QLE<))G)khIklTsi z;75u$BqqT)L{Fn2y`Xv$l)m8g&Y*D{iEg@R&;?6hvQokOYvJFzX?GFE|g;X2%Q@q&!51n^5dV O;vg~Mt{^s^;2HpP=sTkT diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410060 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410060 deleted file mode 100644 index aaff3690ce3b1c9f6efea8811a9e22ac4f0bdcfb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4080 zcmZQzU|^6`d6^PXxN!wPkM{AP9k>6@;Yb(z&h%u~{9A8>k3OEQ2vj26vh0Sc?1oEG zB1h)_G|lS$jO%VA-|_C(PxXYt}Ed&47c zaY{TstGo?p21C-Kwf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs*q$9#fyKW37gOFjE;&2**4r?v zRQ=na^dat1_5!RHNHBuk089r-^D5`uJuKE{s<>+J#ouv}FV|Y^Upn=({S2BGqwr_RNbcdMAQ>ZU3w(k!6Gn4HOMGAS(tsj z$;!@oug|!N;4hP&0QRWoU()UP4Y7=!_qTT zsvK=?q4F?w45eAsGoDmFzV@YLX2(kRTh-Ms8yL$i4zRp<>z2@ytFjlQ9u^jJmaHg{ z+i1f1?1cPZmt~q8*ccXhtYz28@>=sReU0PWPas3BXPp93AixNAA22MWEIdV}+2eAJ zj(%Bon8kMKlmiFDW(H6Hq`8(OE8w*KleJ$KXkM69neuIJa6r{|9iHD)Mce|fM0iXL ztYlX4Y2pEz1r7_t*N)6HHYlE%#-f`2O66M$C%3awr;k#eXWq$^rW1q>f$CBi1jJ4= zFld0-$ng)%%O|!%#W)L!3#^QdP0T@xpki=3#Xs;VQ+XWUv1(7H9rvz!rpymGeBaL^ z#A=_!l+XK`eSr#@0z!iVd|W|VARztJwd9Ife5Jixf92~8iDx%+DO(QKxUb*u`8Q>W^QB?yw~wc*yOkQ z_S*MTy=Pr!G1x1&XHJ$K)KYM10A$0$1eC^M0Frhfc?K*-L>^&~J)6n^&1W!k;55t< zxB$prV7Ub26K8(P91_e2`2pq+TG~U2KQMv?NdSon3nfUJhx1_h8yb#ibrU4-L*&3_ z5fR4ld`(0d2Xh9jtV4D$GX-&rY!28CBmpEQ%z6^Sg#7ddvKPf}Bn}djWH&L$ha45X z)GyA(#@VxP*{z5PM^+RaS7GvFDNfw_Wyg`LK~NLX^D45Purv;;AHaZM{Qy)Yb>VFd zFpgk(1lc@fkD`b}jR)yL2C#GnwjY=V5pG2aZzA0!L1Q<;{EL!42Z`HI$`KOX1d0Qc zxI*F}G2zjMD-OZsBw9HFidRs0vBK;i!fo(!gy{Cc#zlMdj)L8X>|R)yfW@e7FW5Hh z_JaJ&4)ZUy+e2V`5p6`A{-w6P&~_NM@|q$4+07jOx8i}yff417S7(cVc{!uA@4rr# z*5fC9Cb65spl(k24+OAq0ntG2Kd2liO@YD<)XoM2BHCsQ?CU=sfVR&JfSN#Q3=WV2 z28jum#+8P__5;&!J5(hs4S~5tx+#XnZo*m)4HCCe5?-L@Gd1E6y&Qr^I*0)PjBVOF diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410061 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410061 deleted file mode 100644 index 29b60b36de0bc225e4c1145ce154e99fe4a9a8dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5940 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410063 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410063 deleted file mode 100644 index 2c24537d1405dcced49b326448ddcd77a6175b68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6000 zcmd5=2|QI>7eDt#s7zgaG8Iv%XIA%-T=L00MJm0bt|C)W5u!AG#1k4wJ@kc=L?M-_ zL>W@Xry`P1grf3D=(%p2~6e)^klFDFOQL+l)NR zZXVc^Atx0hBUSUuzz31A3Y~Yh`;BDIH*#}QR(@$)5MeIht(y>b8`wa$TzGH}z5$Wo z&n4+c!nx=7%ruodYiE~wQL`vTQN@`ms1>Rhn^o@Cs|r+T{cVE#&Sr&5W(}Av3T79s zZFfp1RUP}HW^+B9yX8cAK)gU?234A$zr(X~wb}c|;O{Jn2q4=J?o(sqo$c^zONqxpl91dAQ;~hA<13#R<)>QQE9i>7 zbzkXikDt%oL_Zfq@GviTOZJUqIz&9eJ0F|3~)T#8cvDD3$Y~&X68wQPgZk zwbsZNKKUX4kSRhs8V`mm3n33I0_y0v!G4gycxHhYTcg=3A+g zCpk3$dt@DJLp>|NV6?rgeyh(}o;_h%LmmoI8#wjLc2m2&o%pD#Y4S1ut^WY@ggyPA zVd^9_J}}2b$~rT3*WKT2+y6x^qd~M;Qz9_xXl`r8&``oXX(josy$&gwsp6?kYxHwn z-23vR$q$tV{o~jwkN)IcaV<`W7Z^lyX?TB4mG9DLHk%K=-bbYur+DcU3Hgs|Iu!DJ zTt9czp%RHceE`fSZlI6n0|Ntcd4tJgIp&1lMr`x5EhxMrNxhyP6?N*BpWj<-p!7yu zwoh4F7ULfwiSsTMD-d|{ga9o)wa5lg=-1@QKZ)|WZ(D87c^SQrO?)9jM@_yyHz24eu zd20L2c~l+^C~Us8-CNfjjbXNAAkdG3{=qX5K{?vSx4+6|DOJ@VNa3KwK+0o*s^}08 z#M;xkW~GGN(X}nu+Js3;uD&B-LAkj<6j1Q zJ1}2l6bp#^KfYy_3&Si#C|s=xX}8|VRPeCh{zwY8TC9C4eddF0F|9gr1y#WVPEu@l zWzKNtH-=lMC7FphU+vK5GQHFHk(-HuCUK)Vd5My?-Rs8feQEJ|Z03CDj|x%(d^zrJ z)fGNF)3HYB#H!Xh_v+t*B#K*{1-PgS3pTuTHF~0$T-&o-9yvv?GU#u5GE`G?$+s=ETHjBjL^tj&)!(G{QIv*dURO``c9Z3_*}xq8iU!?x zbEN}bgbM8n5L*_Tv~KR9+csgpU;j9Kw_x??S}rC^`WHZe$8tgfpF_+xnA;i5+CfDu zRqKw$A^bS&{N=o=EFcHtU+hS^2}GFbm8v53iYnlVA_ zSiXKVY~PbFxR?GDV~FO2aIQkfE+nv7_>ebcXDdf{grSkqXS;Go+sg2sSSewX9h`y| zt5GFby9~nS47%R{5m=jEV`~|fdmQVedmOg5G4?s8i?1)t*;fgevxIrantgzeb^8;} zp=t2*J#man3qe3&@vOm^h=kSjxAOt^WdjdfZ}9q=V(jDm69fbnhr=p1T#p4j5I-YE z;AXNj(VV0^$+Ke`Jb-FCc*bEICxAMH{IFm@-EPS0=A7gmrQ!zO>2!+9iAl!`hhwioxr^^nF#=miJb-ehq{hPO~pPu*Wl|M z%ja-HA7Ts>;79cGTFeU9Km0@bh<}W2aBM=bNV-D*66>a`)y;<8+goVN{w&lndUrzA zC%tQZ-BaP&d>l=Hb4;FDvybkntlFQjzNW#?_rx(SEd&99#nbtBY6YKbQ;dC_e}aI( z{taw|xy%YC`O87@EcNX@9(7CrLSUziX-rMB{GR|J4%{PPCIS-kxI%2!WtC-7c|OO2 zw{;lV4j;U!cI8}*v18)KWBaY@nEfZZlZ`Ul;Mk8@`&hX9A{^IxPcrYns-QpoPYovm xP6CTJ|J7VW>+i4bWGrG*nr2KB*8UHIZOnQxMNIHNjDKPb(KX@QI~g|ee*zI)g~tE@ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410064 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410064 deleted file mode 100644 index 928779c7a0fc0c5e5ea0eec5c571f5007ba01832..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5936 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 Vz{@_O$2O4kz;hXpfi2=-@&KwHZR7v| diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410066 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410066 deleted file mode 100644 index 168aa1ee636383ccbc173a6cd5c44d57748b1b70..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4000 zcmZQzU|^69Dp+Z4@+nYnES`9NT%oMMkn^}Le=al=sQ-PsIi3gG*UpJ`Ejf=j~@nznN2-9t!zs=dT`m@mX z@E>wMom1U_W-ufzI=%)(0|6t5*cvOaX?LxL-_-+F?n@tTop6#rygAfe=14&Gz9yDS zHr+ra4vY!b+3H!|4$iI`Jm;Su^;YNb>e0RK!My#xQF8mI&=)rES8Z_bxOBEp`LW*Z z<7XB+J)U`Rp8ov9*EXHswfb>7i%b(=@UK$_eVvn)(tV>dgp?;R9++3uwte1K%gv8E zdROoTXU>bNNt)bmssALGDW$D{mr0J!uAZ&yRVTYOslWcpAlf3t`(WGVDgWm$$6vvV)kiO#G<~8ekw2Yh zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lBwrJ`Y)_878)6Dd`dU>hfKNpW{N>&}$ z9+rGuk*}CI#oYGt_aLBp7=W7(wig)pp3K+e{d{lo|1N5tY3mlwTt3)3m2chlDLK5&o6t^g4?JXfW81>JAOEVU-ef zBCA7H4J(ReX0wIcCI>G0#(Y=DK}V3+1?)#|#g#zylYtoK4w$=OG)NpQCs2DaTgSrK zqe-t(?)$3qA{S?LN%WC5xpOG@s<3fS_R8S z6-leRJAce?Hv_5@_b7V-Q_ci-3(((g@5PqxU1&39@~0CU_TN3G->*CG?}WEn!mq`z zuL_%U==Zakxt}Txm;7lsoFteaxAoSllI$4Gm7h*)`w84Q(^AF)b%O(sO_>5$WUlwK z)$^Q|xc>3}D)yZ1X~y;2NmWh@gv0)>NxC1lg@4uTWt+2CyfRs-tg0yg(|y@({WWu2 z>ldd#@CEr59Datc9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC& z&@czGQNk~2(TU4YG0uYG0xM%#uyh$x$3`r%EhdmuCoA7_ZZs zx%k>=kSb<(>jMzg42)2>I!K4($9~kPFO1Z(DZu$!@KI04H+8jydYyQ81kJ^=!*$CQ>C`uyFB!a zP>Dz8+jUR(UJYShzj4OeI;fo~|A7F=hJ^_ukoylR2MSweVBQjh@)?K-X9o85?=zrb z4N5<(FufoeW(g`2t^ypFa2})#V1U^VESr}>aWSe616S~CaoFhI)FNicmd8p#qQCQKGm-oSbAGzzglX;DxfR1PJ~ ziE~rH3L3i!YZ@ISZlff;Ky@MtK#DjdCR_<99FPI1tpO@$(9NK`4GF!u*`Yd{(5G5BD3$8AR9lNM$UN^RZ^a>B;l? zlHShP`bFY)w%nD|e&+*sm4#oMqIpU0-67{WT@Ru9(ep8KP{7JgP&*C`2)6rxs$|cm zg8T;81Jw$qkPU~5ql7bY=BLad!F;Uwiw5>k;tz~qK@vb>!b6gjyut$11?V|U6)}AfXj+H2#o#sq8CV>Gl17L$AEbv^ I^WoM500zpXfB*mh diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410067 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410067 deleted file mode 100644 index 3758469544a9933cf7e79170834c78fa9c437678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6088 zcmd5<3pkY78~UsS;8S0up>q;A(R8PpMaUZ4v7Dm;D0h-5Pp6B8# z8A~-hoQ7_SWQ(|}-R<=Ys=L^!VSPM?QFcOa)N=8I?WKN(}^SMEA^gar>2SQtRY>Zyea6T z=Jjg*LrUW zK|Y#N8>?bgR#ThE4iQS`Pv>rZnmdUJf@X>p;1dKtBFtYsDrkQ~IzrKVNsHH_{ttv7 zEuOFn%`P_leOqNiQK-df2olMM1ju2KfUh-RN8$#{{ig|_;{|9>v=!+_$eHycY(#Ct zK$w8_6YMsvGl2&}a>)#iYiP7#%9fhZ)Wb~`#gBy+-Abk}PY?BP*R=Qn<^k=C*fg~@ zN0hA^58(PK`)ZS~jAv`c21U@fUVGPE!*=DEo*GcdmAsEIeIc8hjU5qnQO=B^SZ@9= zMVm{vZ{*g7DOJb@Hq?<6D8X^|UXM&FP@9CwctDKdXtzFf`$G1b9}>KZq}nE$XsJna zN@6*I`;Ly1kI4H~{&V(~cA;lnNtYb+;c-V9_oSF~eamZm!{3`wvQCciV$a&Jv4`lt zL$v%5Qz`%NCMGMz`cC_LU0ZsIZ0tx$uoXlIO9kP`frxKa0fs5D2j6l%m?IS@zLd|t zWpTbUdHx^jG}ar_yK~;OYn|!Jrnvd!MbUPna)|7V_D~!B1`qsSSR1H12>;?l$p2o| zpgg9Re&K3Gym)tg`^7zvfKH;3EpxpMAh70A{m|*aSyA8La^CM-6SGCgtlCHSx&Iz< zU1}!z5B9?mn2(^LhOrZn{eko4{-44@hPI1a8_4?iJFUlG)h6V|-piAk$k&x{N!Jaz zLn=G0>2qhoaB0oGyKAxoR1YLNJS&;g;ta%+qG_1*__TG>!XM&%8I zguFcq*9Ww<jIJljg8@N7ukcxb0dNH>x#8; zq?LOIR*bTQMNE{!EtNc&9#vIZk&+sKj|GX#)IgAmE}-%I0B3vUV{}f~)7z6yrBZ2Y z!2~+T>-oq5qP3lkwWTQ{i~R8uTcV6;DJnrgu`(!`!&VmYZFph3J%hpvzY26-)?8FhcM8G_@y_qRgdiF zz&>?>U72&z{b#QXq1XHCUFd@T>z6pH`9>nK6;Xr_uo&>0;ujPX+`;q6n)s2%y%b%l zdC;1p@^3Thr5fWS_CdD$Z66rQyNB6#Bw{jo?uL8gOApIR)Vnd}e}8OzSI5Mv7d^M@ z0*yi>2XB>=0pB8Xzdnqeh+qNvkT8_#qwJn7m0gluxx{TjnvF`vi{xt>~kJ0SlrG;vW4PBGG2WvhO$9n5h#`^43((Xfuvz4*xk9ed0(X*`)xVp(q+AJaYi^hXPoR7N4bZ$g0)||4V+%e( z!?6(n-;^lI$44!LAhvU{FIvww0693uyoL)Lj^r&PxxgD?SW)}nJUoN05#T!m#>Y?n zV>=fyzcMBmJLa!%4cq7V3%-+li5Mb2!QD@h@QEl8-nh^ldzLA8)qU4sOgs9p^8wq- zY_+U~EIE~XAN%lFXzpS;LjdFVX#6psOQ2(jkMmDP<$`?%I4a<}s{-V(`wgN3GXe%U z64O3;Uhzi%<|twx?C&DFHpS}m%-`|P6m^O`)Q0! z@gINspC#fk&7gnU-1!Q2K4%{vxdk_YBY8W8_k?egwGpi?xU&kDh1cL1^3L{I?)@YC zxCtD|gTp_zSz;nz4#ML8kzL#bj+`|n2=6Dp@7%b3@GJsiIv{EGkkaUedj+`_Zyi76 zhHWxei+@}QS%nuq4_>9IqO${)pRR6TcOKZkQ@%+)?&i?kYeOXTey#)L;ddUd;c((e z-twp7iJS=_*RG_k81;n`L!imGQZy!q^|-{u zk=W{|?lzP5cb&7LqnuNG&L<{?uZ(Hh9Q{VHeU86kc+ufGpEom$7*5u$Pt-Kty=2CB vb7q$tTa+#h5L^c*b0iPR$Jnr?DSPKbzulHIHnY(`rPlEMo}Wdn!8Y=LJ?W~` diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410068 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410068 deleted file mode 100644 index 6d3e194c93c01220504ac53cb8264756b7ade125..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4860 zcmZQzU|{f=IO%%t%j|+)0|fs_kB-#3L_XH)w= zW%1ig!5=HX?@x-7^X*^@=kqD7y5u99CUWM_t||I*m#g{?hcSq@i10qxwt0C9$i>XZ z&%AJ30b)VGDUfIigO9fZh@No&=8h#E$}?_XvCFB>=kJvN^OxhV;Kk~rmrj~K(Ui!a z&NG|;;nr?>^@S!s*Xf^1c($diedV7m<^RuF=*};=nPeW`qhX@c`|}e+%D=yb2yhGdOz;sEBQ&a3YLv3l2&(j{+Qox#=!6701N{m zn0k;NAOOc7gvr3*6#8j~ANM1#b3AoS!iR(R9=<h&9!4i-EuI9;By#*jfw z2jqBUKY+~z`k{VDh|<69QPr>i#C@KtpLlQ;x~|0w|%&rEtZ<=%#+JEQO3x_$Db73Yn+2A97F zO#Jy}zG}r1rY?HCZ`zgb3o;$Lz^hGN-f${-7 zoQSS}k@Uc02sIAj!j&t3sQ>WLoV3%ap5w=*dIQT-`rJ;7^zW}~t1(FUJmC*iAxY&0 z!Fn2)H$BQ;!1FlVF;E7U1cs89i8KE>s62v~VaRr1F&`9vAdHeOXz7MMbEClV8`0#{lC+mEXbC(ccwk7(>BklSJ51uts{ ziQ7=h3liM~>OW8;4$Nn{VGA=y{Z=f^-0T;nrAKdkN((ixPDLhGKEX9 zJ}R~}`VX3FU||kVqeQgl8Q9mqTL5j-gYp3@)GRQClrWK)a1|i?kO8bb#G6KmbdwE@ c-Gnub4idMaq)`&x1nP28BMz~qQCMUH0NF`%Z~y=R diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410069 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410069 deleted file mode 100644 index 11ecad983a61cee1797a6d84f5c87b2c2c99cd4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4080 zcmZQzU|@)|s6Q%vyf?h|(t<-R-)}IS;cNYHrt?S?x6I#9->y#D3{)cQF>%uM-j~@2 zSxy?=1XiXu_#&^-Whm5 z%*(`jWR7nZF}@*Z#|v+ z!5FB-LHvYJK%-^cn!`%xHc9Mhx#If1c&qR4i?!8VuVwgut(^X4(gc1X)sES0YA0%z z{C}mrfg?ZS{s+B1k^ejXxC>ll)XEc&j#b{bYOR}7=~Xr-jV<1h3NHmFeh=|xJCwsA z{r=Faw|dT@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK310`MK)TFXtH&-yLM$`WPx^9({1Yz?uEhf89s%OgSkG{7w!G+=?qf zN`V+0Z$KIyfW*Oa0<{;jbu5fMn)DjwzOOnja&bmiK0`=R$YndZ+_ta>b6^_t-Hy&W z#39rfqd)rz*PRQcQfuZZJ0z_sYCo1Oa`i=ODNvobN7)OQawf1_faxK~T~ltQ+P4#T zo7DYn;*=z|M(q9)A+K{rBz|e$_kgP|sy(wl{T4l6d+xy50G1;gXQrIq)WYd_tXAV# zt<+8j13su592RFaDSnx9_oeN;+GDx%#a@*vu&Jb6O4;uw*<&PZ-zwQ`eag4!z3T_L zkgpdO*+tuJE8C%BuXHEP^~Ucl?WY2HfDQwP-}YR)>=_4YBm~drIPloF|4DlASMANy zL+9!pTZG^3Kc)o^KhYLpn0ly(P{L7qi~UW5R|*C)0rx(5N80CIll)M6X~7@u+2ogHWjLsfe~yjFf4j)Pp0rYR!7`_`D%Vgs%Nr&-#4}S`txt>zR=(<)> zUiaD&GmiEnMWGjX^?&BP<+L&3v1|NU^)k@NFXQWMR-l1kKcx5vK4mJ8<2zREskGzX zRnL_90f+DVS%g^albG^(U$ZX*W7`5?^loKf`mPPsgW`5zp1ukcW7#|Bt=y*lUP~U% z%lJdp%2-}zYrqds7(#a{=KG6i^cz7BiXdl#$m$sM7-vrodhI7^>Gw!h0v^_TY znbp!Y$7cvUIe&jy#topEOpYO*enCJ645XjBmRvE5ue5jTuYA49Q5GLiWT&^?bWNWdTdAv(~bi7XL)=P2mL^$UO6|7PELk#+{(1ZBxYL z=RLK`-}~&r*Am~gagXjuo=A=cTM7eF5`{*2<{tl6DX`;;WgOYMoD;q z^CT>+K{QgtAu-`9(A9&=c2FFG!vw9)1<8TZ7rEhuZWs03MxvW|ZcT%wFIu??9)_Uc zB)W`7@&`yC3}B16(nIrW78Eb2-7)jvu@Hu*T-~ZKwmf(cD^@$xGcRUA45)ktMt<9Z z|3Cm@f%!lh$o&OngZz$CUJy~XifJqjeFQWHRGw=A^@GYTIDlCK6hLCarP0G0me#=K z6|VAvC^s!W??huaf!q$lDCvKYxDBPeAkj^rI++@Ah+bZRBRyK@s?4OeNhhmBLY$Xu z{j?!j`|_Ll-O9Pg5No1V^pKw~#yO{0UvZIp!9WO(er10OCzLLB0)(?IPXFd*0m vS@$S3YI+bTy>9@PITN7T;1m`Iq4=E$^X-HbvPdx>rLG~mZ$v^}1M?gJu`J{0 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410070 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410070 deleted file mode 100644 index f59ea32c43e166b881b61240d4a8e7b7f7ca2c1f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3924 zcmZQzU|{&Y>8FyZr`o>5O0Q$*GkeYYzW#&JE&hM?hHJJsd`Pvn11b@Yv#38Re7rZj z_R@kwE#Gf2oZ)NzaHjJ}6t~RZPv5Ri+RSml=&y9`tDSd_>1;^2_xT6s8bb!ZDxMif z_=1zCY1#My&0t7cbo>yA1_DM9u{Bm;)9zXgzpDqV+?PJwI^iULcyp+`%#ncVeN8Nv zY`TF;9G*Sa5lShzs@*9Zk@T!E>}+pLTk@XVnF8dKHTiQ?Cb2M{WTFwmpIk7 zMD!p3SZ}ntUna&SB2(7q-6k%UsP37ff##;wm5;bo?agcSE;(7v{T)8tXVbU$>@olC z9xY^AWhYw6yx`^;kMo^c^G~L1kvV^8k5}5!`5Ai~>i$h*5N#3TeXwow@)VGZnUA0O zn3n-!LBJ`HXbOXmw*!ctaR26xB_7H%ZeOv>sm|x`l>hUWZ6xVnm*B#$e+$L zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12GdweZJe#S%)};I%D)_KjFG_p;T(kJY|QZHAU^mvPG`GNG)aHcX9xRfhbTZ zIL<(NfB>1z5Vu%S{#o_oj_?<*S%PBQ{asIJ3I5-|^<2naA%%NWL;r&`$ev9FQ6Rtw zHWwJTQ^OzRb?xq%TDL+kD^OI3tKzuD?fFUKE042t$!hVpu0Q#C_x0~?CO1Tx-#1T? zeRsq2q=5E6rHNKu`_3e|UhrTAng#Ylihtl!rt&zxW7VEYJMLZeOqm~W_`aV-h}Axc zDWCT>`!X=LEdW}(m4WHI4#<8Wh67-lyaVL0?49#gZqt6RB@gHE%+xnY`Qmzn?aO`B z>5n$)Uzw-4aM{&5FDzSK7o*`giyiRN8;%lEl>KF}m zVagf7{sV^PhP(~`mou4O5{hZzeo$3%olA3GzWPRI^XCh%A4)NB)!3P?_p|PG=e7W+ zPVSlO7!sERcUoO~`0MGbzSy24hTR~4fy2^wuJIaM$qjb-KJTmVY!lusC{a71KH^-F zR>0xS>$DE90jCFU#d@InNg$`d9D+u}!%Cp`Vz!Qju}70$qulpZ=S42g=*njZDGIr4 zCzsn6_FxW7-;{UPUb(O2npCW$8Pb#?P1?qI0yoIlbATZg3EC5NSuYC=SW>JBIy80!U1-3qS<%ZX?l6TFd{y;vK_YBmpEQ$!>y&AxJ0D^$3zb;5Gso z*c{?EHL2Vs{j$V?V-gK^P_d4-&Ug5?-Ko12y6hTqYou7vQK&{raYLjT$FQ{0X*1k2lFH=X+jZ+6*$F9R pfz)pRmN^rUEdsHzI0(h>M3}F3a%B@K=A+a#M7K9dsB2(;1OQ#LzC{24 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410071 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410071 deleted file mode 100644 index 1841d2f124140d05ff85fbccd392f19d9b3b6998..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2896 zcmZQzU|?wftYgbNha*|xfRa4BxApG*QF~WO=5TP$*^#wxUbM{zpc3KVn|>;pdaCU^ ztn@l|KC{=X@9RGp-QxdOZ@6ZQ!-rIByX|R*+c!;ey;!(2B+WzW_2H{olO{Pe%$Zj= zQ-|qCuIw?O84O8_jvoinK)?tht`=q9ObYn!nae)=(F;={v-kgBT%M!Hwtw|TCwcKd z=`uhi4qsa0H_oiQBB58k|J0ev?;RqBB3EK;-HYGn{uka^)zJ3EFH!SuyokkD;|+ga z_Bu|NG|T(1+?99uxaz~8^!Mxe^ONc_G#F;=RF*ySZ`ZAZfeu^Wo!{b?adh`qrgE8! zpW@G7e)ywk{j<$MU$1Cf7Fs`bHb?T2X}d%JT$Y)c$A57DGzQTYaoz{pHZM;BxtRI* zS^iHiKr9G21rkkR@bPv4(G%|9+_A(%dB*K4b~)Ag{GIZD{&M^kyjXqo(n-@NniBcb zd1muJ+}bU#zR=|7I{i}#&$g7cul%#6{Qo%%-T4JKlgz_=G)#1Qe|};}`S&+9D5il+ z_Vk>@7G;Oo*NSgu@Rz$hyq@}Ol~UKjsc)J}j6?!YPF6i-d{ryFOUdIgd-UUN5H~R} z5Q;0HIwmM)nDXx0EBBRLlZurzL;8}-r9wMCnBQ3c?=Qp7wLX%P>*g}>J2?QuKn$oJ z9A`ip1d!Pb4wgqMJ>=IsQC9PtsIxqur>*wFf|p;W1kDeAwKLfFk~c_$?AcTh1pNcF7RVnA`EEyN9pVt`jM1O{gzL_QQmHlblpT`R6ty4A z7PR9vZW<}f1Ze&k)%FIf7zv{FX^K4cLo-_LAHckR* zK=uRJT%aF5iR^BYNaX#pq$t~9?Z?li#eoL4D=IwBtvK4~yLne20@_&4n&v{lowzs zh%!HY=>ZbVhowo7KWJ$WCH}w&79;^ACM=X7=@ZTa79e0Y)PHE@AxMrAzhl^sB!I+( zy9S(h;5>Y8BQZX-W;wv(9m8HE0VF2e6~wv;ly2c^gy`}INe|pcAOo92-Y~_!>X8f) zC^3mVpm`*x>tk1C#+8+ME!}gs*#<9IunDXmR5n5YHX}fOLCKQ@%PC-<)LQ;00q8eS zS%qOHk^mAD>H=t42fS?8Ih6EIl$&PkQlPP$Kw$+7FL=BT61PzjULZfA z0HlaRV#1Z6t0$?vAThkq?Ltm)l(`KlpAq9Gp3|YQ^hGN-p_CUy*Y!yLfX5J!fh}-g F@&NjWu_*um diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410072 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410072 deleted file mode 100644 index 5219ef2753ccbfcf313bf90fc154e42f41f17c98..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5312 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 O@(0{TAOo92VDbQU9jp8R diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410074 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410074 deleted file mode 100644 index 2d099a7e0f282b8c7757873ff02bc22a485cd5e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5924 zcmd5=3piEj8eV&oODUR7sUfw8;}XRnmnfHUFo-siE*_UHbizLFQF0vP(xhA>g^@C% zBU8ghddB2wB!pbHTO&elm22ga%lZFh?R}QZjO{d@r|)_8`oHz9@B9AuyZryZ_CgQ@ zk@}4sI8y9W7x3Y`MbpJt1k>KNc6$;M~p^&ZX+w*d6Q6XZE(n^7h3y_k1tw^#9`ARFX!L!+!-}jrBjgH;7$>&q! z-UNGnEqJgjR-#;yA!Bu(Y|zPlv@>rG6M`&PE1t=V{7mF|8PM$m(;G) zw?S6=9YK1xzMYG8fj86>t#o9n6HvdPw%tZTMXJ}$>C{AfpU}wGp_^Q#&%Zr1YC5?; zyt(b1{p>#g%4cIxldD#&ACVwS`J_Y^!bt z$<`w3xglvSInCil(#BIdjP|rp;}Qgs6hKG^oDssIlfY&kcF>bUn2d+!NmEx)l2^v* zpt^mUb-r)RG^MS0104tj`=vD>$9Aj#m{pn}&{f@*?%V`%Xj_u^|i0FfU07)%+;F>qfk$nwlxUTC(PkQv?|yAxaU{9N0~iiviTcs z@ZDFTU+M^++;ryWJdXZf_6#abHI8mMTIi>7a=5QfzdvE*=K+WEwHu|r{?gL?N}A0* zF5nN%iNb4bj)c2Ap2l-Z{G(s|1C@83E;+)O>}KdzR;C<9QUH2XL|{_|SpDjNUyzeB z=mW}lVNMhkl~iF;05SE@k!pJI717sb!{Y!$a={CRAvMM9QQHAk3-u!5%cDjAHUauX zGfRq@u^wuRUf9VCK|zjbK)|qS5%i->uFtfJx*Eu@s|#&4{UyfJ!0^la+;=m(IyI+f z^vz2{iTN3E?dCtcmdIA^i%TlA)2WZ9u)JomXzV9 zmVBeKL=X3)kDvj*-%-Dy-=}S>{&s5QY5fC^6tx2XHX|bMf?yn5zCA{RYO=i2`3~&84`5dvZEAq-dPm0Itq$al4 z-QT7?{!!gc^?gXK7fIvtY#3cVgWerINEzrKcMP@|iD6W?!2M^F^m+ zI!~}{f~1_IvbNnYS52;G-mtd>IwS1UIhuzTh&CJe^dw==U|u+|m{HNPIYRAw5xfoN z3muq~;ba7$yOnv*o_~OEZtrB8vBo9*!x)%xtmZtQ62~IgI024jg^Bhn>kifk5|+mW z?*p*EVGaM^*cZ)@6W~}B0lct_jitv%%^`lc*PyiAn&L};P-G$Sa2-&-3x10*E)qZ; zTz=T_&qxZpb!!Fw5%F_9#s<3^c*X6t{5q_qsLmqc-&@ri)<+QQTCY#27odSHUXz#@ z9hf}~_fV9U-E;r97Fjk-TR1M42lo7ewtO>rTE2-ha9)-4x&a@TgYxS_<&H{EY@%_Gq*;6s%zmjeZ4!G1W1qKQEdLz{ z*(`D(dK~)}A8VhsHe1H1W{en$Qmsc4R#LmnYx;9``p9!{k`^5?| R!S8v0MGY737cf06`Y#5-MF9W+ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410075 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410075 deleted file mode 100644 index 15bf935c19ab795ccee74b9132d228f66a63434e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6056 zcmZQzU|`tqw!JS`X_bfL9k1g&BL3D_CZ0UjwA{3@Fh4EV-(+bmP>Ha{5v96M2g`QV z#a_R=^|2E#TTsc{%1+;@=D&2bp3Vv7RZ-X@bz$cEXO0iQl*dPh>E#wq>5lgbxnA(7 z>jvYw-R(d#7?KtpzXPIyfDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?Dh^HlG3lG9{DyiypFi=H&YN#MQfjh2x&D0Iu9?T{qOFC_PL?b-KT)RjSA{{& z_~bJ6L@wj~vu@a@wC)s{r*ec{Y=Q2jW5t~-F6M`aPIi|{W#qJ2Sv`BoPu|~eo_len zKCYVACBwaa%1s-CH=p!YZ_O3CxcK9#MeZxMsbu~6dRuxvgJ_F1?}Kfdm#2VS%zXT; zz^Voi3j$7oL{k`iyd6OFg!?ylEb&mDar=s0PIW$ir~IG49DfBbRv*1|()5X@ME-Q1 z+58W;cFU_TH2Jws|5U=WEoJR1|7bs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA7Y8<=}V&=>q{^e0~E`ATf@D;sPr}69ZEyA4oyezO=nu{wBayGn}(7nQ@1`rtPuG z&#acNIX*++$@%-sGHw9XF*%0#Mh1a&KtcMcYsnR}_)2@X{>s;z9L3>ws>I@Td4_<6 z@j9)Ui?4kKDU&FWYJe(dgt(KzA+p%>^%5`72TzW3h)OxWHvN!Y#eFyG{l9hM;bvb7 zd(&zQ{MXb;A4x2pU$y6x>+P8jad#9ATIh)%pKa_nMZhYU^8d|4*Q)o~_wrYn%`4n@`Rw;KH^eh^JMx6yMVfFnMZL(Y*Ef~h z87j`V1)in~G$yvj2LE5SK$6{=?Mtbu^##S4uI2|qvC=cny!AU;2J`?h--MlHU{LG_ zvQfehnx;U0go*Ql*rDDaAz(sNeX*lKQZ`|$u#7+>Uzv}Cke!9HtA=9ieYt;ljcR4Rf)-!2eP_CUbNddb^HLC z2LvEDfzk*m?jhL@Xc#%nJ+{QZY|9MR=085UkIvO^&{u1)=)Kb=QF-!q+X17$hAnRoJ}=>%azpt=+W0kPA-lEWJ0Hz07#<;_b1nGhOZ7KVlefiMbRSFDuyn z^q!;hMSYMW*|VuIEsS7ufq8cSMDgtz|C9F~$EurU5X*V(NTd61a zXqkrN|AlII*ICsBv$}4H`;sxcf9li^hE}_G?~V(LPXW1~^>$~@>NXy|OMes>$GP^q zMN9CVu3s3i@18^5{gpD8Jo%xPru+v2AR8WEK<+Q79LOAIU>zp~z9ADH*AL**Dj^)8f6teXsI>?V-gVc|8{+(t=w zf$DW?#349LklJ|Q=+k#&KH3x(aA#WiMtjee^n|cWB3_Yx^?@NvyjY%Y%$)&^V{q#V z$VN&&P#Jib=N^HH5Uihp3aviy{eafdlVJK_G?FDqOqeXBY=HCNX%u3A(xRYBs2oa| z6X~WYGWuDdvO9PgH|e+O#T7EguhN3UymfpyJ4s2r^96oA=9MEgwKBeUKB z+E(lX>Vwo5Py>+MiNu7Njw>Ixfb9pCQw!n7AcX^QZmK&&V>e;V$AiReC~28QH-Xyw z)QCg$d<>4tO`a!m#T-xkN;$e>zoFgg$J1_|4y&Etx>9`3mi1lH>7f1-2oO=%AlgF& z+latEnbyjtIneS0BOM|MATc2h0g|}NDR6rXS9^#^H(AiwP1w^Yp*A%nylCw<)HF(( zo6zF~xjZB#4$;#nNH46eftS@J#wG3ChFk^`5neoZWMOegD>tFkX+-z4ko*D9Wk3eD zi2HeiFIr;*^P!OBOEjrrzBU8< z`nNZr{cS6t9iVX&I6!hI5)&?s9@dbultBN9NH>+x*i9g}gD|MA1yBEj#BC_$1&MC5 R2KtE_afn`Cz#|>R003W{a3uf$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410076 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410076 deleted file mode 100644 index c812a8bd296192ad71c27ff21900edeb00269955..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 zcmZQzU|+7pc3KzZrl5El~#E; z-tjulBjRs;W#Y+WP0LLi3-i-*{Y{qE&T5yiDKGvI{{M8PN9=XOyugX)Gq?VKxxRYQ zysMk7-bMq>U`SeY{2_=20!9$ALglQ)p1GxLzM8Y5qt`64KD+P5H`m-e({D&D$ij^u^QMzc1o*vnmd)UFQ90 z{ciD-2~DLcR~at;iP+Wh#qEai%2JV{{zXrJAF!Xx#&Pr=gJ_Ek?}Kfdm#2VS%zXT; z!0I(176hCEiKa04csqdT3HNXASmL2PtUh|_r0Ek)iTvq2 zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`Qum5!cr_S{uF(o!$?Ef@XXWOiM%udbXeS;L2c-^qc2TX7{& z>0}@V#~YAF2Ox24F1Ic0!5o;z&NCal z_1`e-%ypi%dCHT?M&EWj|F^NU3;JEN$T{Hm?PQ=jagVYWFy%~Ow*b?Fy0ga?hU4dg zvpm{WC%h~^_&n*Lp6t(NGp@DuPkf7(E#kVwIgOb$Y@NpspVPLQiV0>yWz7eZ(#vlC z64@uN8Nv^BgTwWc7ryH%YMRZP|L#Gxj_rTjgG{qER~~1tvt@Ps+>%S6*!uy?)+q(M!%7Q*N6lT1Tq| z>9j}GJ_7}U?AcTh1pVqSU3 zCUe8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxV_dVG0Nh3h;4- zXa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8LV=~v<5H@bOY3_4)LZe zFSH(1hUJs1!X&J679- zJBIy80!U0U+(x3Cv{p93;vK_YBmpEQ$!-FbhwyMBy52?71Gf>#z~+$c9HQo0yDOsj zUo%aX?^}MAX?Fbae?I>%x9V9-2pgO1=O8O_#O+GYs6V|*xNZdwAc!Ap5C;%zqkeF~KP}~ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410077 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410077 deleted file mode 100644 index 6e4f349cdca27ad6d0ec24892089a2855660ee35..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3696 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410079 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410079 deleted file mode 100644 index 0770c4933a9c529aef9a360a75231f2555d490ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4848 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410081 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410081 deleted file mode 100644 index 3d570b9d6001fd40497439d0c22d0ff2599e4005..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6176 zcmd5=2|ShQ8vo8YsAQY5UL;#tV=O0zLx*E6$=)s9$~Mu-7Fkl$ku|EZRf;mCEJbz4 zL7_<`OSoi7O`*ZqCo~aZ-tY5$=5XEXRO9#S`Tfp$x954E|M@@9yB!FEAgKw%(Tcp` zXOVH-N%*bi6)#)$bIeLgtE5sChq4rsNI-@6<%lk6>RiH!3gN`dGO1=8Hp)`Ut-rM; zIS^EBJ8-cj#**i9LOx8c`?*C$s+STF?t75+2G`xxv{`*gs+$Z&2h0IErahj9OCUJ- zD^t2wsQB^`w(WA4?Co!+YnNp!tGa3O>zr0jqSv^;Q3EREr_`tU1Kwh_Y+t#`t^FoR zL|-5;v$93KK!jj>vcxC$+QpKKZ0Ff}H;M45O`X+Os+OD?5?cR5Y`7Dyw147fDd?E> zSR!weLF-T!4{s>6FY{nQeDDpQpRT=ced}hKtmQ3E$V%^!^JtsNcZeyL=GbOG+}Nkq zobjrITK?pOhuId0KU9LVBmbuiXBaWzaV<}t0bHAtYPi=KGTTOm%b51I!gLd<#1~Dv zhk`u0Pp$tjy?XkqhM-4{Rm3hiAhE)vtM~Wh`9)-X$n&4A)7+He z)#j+N^R%qG;+glOkn_y6i`5<)`?{KBhfpbUQj1TUE4RNvXRAw3wq#W5xxtgZs(hAJ z@f)hun&o#!Nt*n+%Kq2*8xJd1@_t-B~kd(80`JNzk?R-h+n;@69* z;}I+%AGBob?7q46igtc7W3b*{Ix1Yx{6_EVjb})@X1*z6K6bKP zlxEtjC4;%{swBKro)y0Gt)gVU9>1!+{tq`lxYV(yq)Xh*Rmmx94WM7xQRTtI1?EF| zkuvbE4N0Xd+^lK&ZgPud%oTiRer$Kn_`Oq}4)}G^oj?z)owNHOXboIn#LMriK_4NV zr<1EV+a<14Ju95{Fz(r)ce3q+|4`KZYzVOhLuv}B9b(IbzqJhhfGLDSagYN|Sp#eg zI8~&If+lXs;vBCjJh$HEQ9|{(Jb65V%)5E}uw3h#V~yuR?i93=vfY2%h&xioZqmgU z6g)yB1^TdoxsczyY@Bf6KLWRO2tTe2`v;$SaZIZe01cL3%qaru56oY6H8lJ~>8Qvd zQ6FiY&=EJ|#(T%M8i^;8fevhk*e>f2)$7xF>OW|qBe!$S_fELNEpj>)@jY7CZaz-r z>8fwP?)nVOhu5<)HLwB|Oqj?Yp~J_XW9m3G56KlG+}YQOgn=eITz^G|Q@84o(_woJ zj3PR>zIte6lRxxCVz9hIDY=2?<;=tUh=eiD0bM*^P`s3P^B=3bnpoMvgb0_FlcZp$ zG_gF>K1bmQE1N*pp`yabE3FM&{jSR8P1|aaeThF*4ATcC%!!Z@m3Y|0(VS>!=uO=1 z?qR8+8Q`Lzrvslq7~e=~L@HJ3ZF_m|BEBGU6KkDsW3;YdtSN82%7kC(9reLf!Sdt<^;4E zs@UjU{N`J*Z&*X*UDl0^!!>WOwjccY(I_<6=vSl?u(PV zo4Q^*`A*|T!fNdcueE)z+$N5SzqUYmTzuwW^ui^|xqC6zx$HXwC~7OX(a^U>EM|w5 zpO&L@{vFe-cA)bt;G9WJqAQGP$sGMcuze0+@OyEAd|C{bJagbZ2;6Bx!F^y(mVI~T zcK&;x-6TKIz76)A7|aeU8L<7;#c+NwF@KUk$JZY-Ke!Y9b;n@(JZynT diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410082 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410082 deleted file mode 100644 index 205afa2b7b1a5eaf352c2a2bb34b473988d32922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|>k#xRn)iRddCr8rjeHtvElPKC8&@X>S{0_teyPdu7LEpb}x_AFiK{ZFzU2 zV-o*tCNIBZcdt9G_1Syyr1E^7w=1=0+X#FKZM-)jO?BSGx|S^UKZh^NIl5^v@5`2T zmQHmoDnA1>gCS|r2__H?1dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*1hz&hh`25Y+${2cn|oBedT`{*z^6XnYtMMi{-3ho)ZYt}zbsk1`+wg8=DDWH z1`(wto&RKWmM$}onJWG1;=8N-b6UUecz0Rn+A*np$66FuU)k}C<->262O24JHwUfp zeVd(l;bna?^V~zZ&T+FUE_H3*QT%P)vnwu~j?39%Z~bUtV-Rgo;(f4f^YRpsiCA8!W`J>mY%9ZNivXWYJGms6e3-zop+FUMcOi`7Rjoiu%-DUm;& zXEy)Ct=;nK3r&8m(?6B)Y)e`D%0FAm|DUtaonLS>$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V*z4tTo}G~WS+4>@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!To7lVMsCA2Br`xm^v_>;ve{wsXUJFShc6pj(b-D@ru1ZBX;13OGr9nuGZ1#61Pk5e|f`~E1#+L z>Pag~)_7mjddJp$S5D^i_BjmvP7Vy*iuFMClR@?aF*X1a2g?c6Ud-09F!pHD zYn1!G>b%Is8D04dAw?mV?c{RX!XC_lX}r7`p}kBacGo3HUX?z@4t0aWtYp>0A8+rjW}R8W zT=8Gi;r1c6Df`yF4A5J5SDf{4&!s%+5=P@&bM<&C78>u5HtF!*^1-2O`IPh7JHsxl z`eMTdbQn1N2*x>M+X7(FY-M2jZUEGS5`MsPLK-N>a>vhE%;bRIy(bqhO6pZf=g1VR z*tUGkbicH##>-7%h67X|ST8~Qpmw~py;FweYYMlQN$# zbDQ`3f#t_MuQrQmu>=&H&6VM~KcV(o7*nU=b#Ph~ZBYa|0683y*$n&cE$x1I@`ORN z0r#Xgy|A7F=hPj&&$o&VE z1EncuU|9_EBNz}-ZZWX0e=P$oyBvXHR2E)CP-}&aP-{?VLKf*!*9+`hUr^1 zxF^r@JI%H(`0@_rLdBJV%2zk@K;szP3IMWkr5Ruv&D{%C%RsOW0V=fm`{xg|9+?Ew z2cwZJL1MyWA>}Nb2T!9A`;!(0g+S#{!kkDq&7iTHK^H5lz{}>6zd+&7JDEh3e>j&m}Dm)TLfZbaS)2% zi7>zUT&5N&=7Y*mczhGx)<29FXDI!+PCjz2n9s$QfM;z_B$w7GifibFTC}Q| zUcR8qZLbK`kFBox1(gHE2}(E<(Y6rNSma&?3{g;fMjxo37it!mLUJb(6RrYR8UVW$ zS6xG-n}lfWCXm}<;iUxg(I9afN?In-O`!G=HR2E)CP?`h97J0f_wG*h97G#rVjYY^=rf^9@tzX7QY1&c2bjU{2CgdcI{Kc53@ zBO#lO!+fl1hX(dg;tz~qK@vb>!hH+!6EYyCJcs8S68(;0Kav0v6Yd=1-G)@&65}SV il})gC$FLVk0EtPmn^5WvqWdyP{(##EWMFd$OdbHm_Ieip diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410083 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410083 deleted file mode 100644 index 440a32e3956c095409a857766ea5614b13c87c48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5912 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 PK;w|qh(oMt7Z%w76G34c diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410084 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410084 deleted file mode 100644 index 7dd28567c960da574da2af72d8ef63ac72733a37..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6216 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410085 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410085 deleted file mode 100644 index 4a85f92bb65718882b7ff1e2e4f322d9f1fb8d55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5968 zcmZQzU|`5NzP60v-!^&QUYnK|i5c&e!ro?F{ap0${?YqJnIV2>fl7qAbu)Ojajac< zU`pqLZXMH>m*uewj|wf?b&%ukqWbc5uSYLm9(h&!xa8{I6?vKuM2c$nRefq{ot5-$ z5qI6`T|FCsW-ufzIw1t2fq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhvMF!KGw#uLN1zFUVk^5-+dLjqP;v#qGd^9S58fP(q`0(UVrezXGIxKwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE}1h?zj@zibNK8L~*2`@_`@97@5tO!BK{Ejr%NBi*yFVxFLf!8e8((;9$bpaN71 ziZgJ$f%Jg@Fg|r5EVwuai0{QBzb!zR|L?L7Mfqp0nx6apDIiMt!^D*dt8`AyteL0? z(*rgi7{?`xZo081#e_~i=NO{Flb59s`LL{C@>Sh}e8%3_#NV3D($#;)iY&&z~TFT79m#q zB&K}c*X+x{*tP)Zg{=%s-;IHK(EXwf6l2*t=dIkP{a#BR&f}S>Z<6xG^$6RS`=-+$ zZPLjp**?)E6{-)cm!N%6J6_seE`JkXs~OH&m&~}sUeos2X3c=`na88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgLFyO{VZqP9 z2=*T^EZ^Q1YC5;*lVM-o6PHywkNih zVN!w3T8Xf#&X(((a;1|~CmveO3p5rSmeZbfHB~(3*^;c{TzJ_wwm_^yJCfJHmPNC1 zR-JH2p&kRjlLIhaD1)2<#2^5oB_fUe%ltDlocywbBP)Uo+|%@fDhwTMZK3iobqxFN zE$x1I@`ORN0r#wgB~k-2n8jz}ttl>V6hniw=A|t9UTs#?_O#U0aQHBtQF~ z*ZOnPchkvdE|v%5x@=>=u2@ue&S{fvpi^0ZL4#@+V~E|)WBnil!R|MF?Z`Z1gW{QK zEUMYBRKBHfayu(^`Y7dj=AArgIziYFs4j&;KKZti)Q@8309rtMgV zes7|Y*Vhbx;g3$vK@JCgsstU4+{wW9X6e3<>2v(%FwW&&@>;h1bnfd*eP{I@lLA3u z!aBwLP_f10x~kpHdXekz)O6aoK8SWXtymnUP@@{NniZD#z_kQWJuFN>@d^VVbC{uJ zDOik%bip8XsYC`XpTW$7TLKh-*$0;cGLX|ENSqlg2`S4#Wj83Vg8(DYd{qdOfq^(T z74M+2n?P=dh1Xzn8ztd|9w*2VM@k%m!vw881&d#h9M~)(;*$6>2bMq(We>7@LFt;@ zc%ogHQ069N|4}QR7{0CS-Dvgy`Sxs;&OfqJiE=?xPP8AHz?a{uf7qsI>nbg1FsJ+n z0$4nPXdw3=R1TIeKy5NGAfmixU|;|81GLO`0cv7}Y6VkB9z|lpRiMWYES-Vv$5oCH z>82hUy9wlWSa`wH=OA$#N;yKJn_PkZqDCBo!vv`u0Y`ev%-!o|78c#qE*ejXZNFWNhWVbt&FCVc(O0vLhyK@;|h1Jh-;!%8Rn^(7;Q9(y%ZF z_j`e2;vQws=RoCxCi8ZDVPm}#%6ey?Y=sv zefe^rdeE31h8r;i(9$3g=D&IJuiu#j^BL~cn54Ym`|)7w^^%f?&dmvaN_AOo2VS_sNb-)nSMd#F!CZ1{ZBECMQ&a|?}5gPjDY6A`b%IVk-`Cq3AK&Pz87(B ha(zZ)H(|~5gT!qpNz?8AzS{~suRzIRSf zt?%v+sqJz=GZ>NP0 z%~i^Jw0ZVH=~XY*uTj{2J2jklz1f4PgV|OuJ||q{-SuDe8{_168mk-+ly**iSUux& z`so*c5I-xCyTz-d0iB4CK-|TuIyhCgJ_Ey?}Kfdm#2VS%zXT; zz&;KT3j$7oL{k`iyd6OFg!?ylEb&mDar=s0PIW$ir~IG49DfBbRv*1|()5X@ME-Q1 z+58W;cFU_TH2Jws|5U=WEoJR1|7`vTQ71%w6#__%`gf{FA~*ODt{@s;*&{gtmbIf}#WREfpw@(ckB z<8@jy7hn4fRy1Q;15^hi)U6KLJG^ppdH&w`w=rD$sjs|TQ+dkA(-i`|f+;QrM4^b9`)SK5uk4oy2Lm<2ER6!QmpFGb8@{U+opYCF5d0 zo7G2fMSr{&6aCg|+Od2m9VsXKffNG+ zLAL_c4xLP zrK;8!6l1!Y9|*-t&p7ke?`RoN9WWn+on&B8oB*;Ph~WU3=Z&Bom^d$x&lu_r5#>;Q zv7JCy(ggY1mT)|2i&Ugx? z*@#Ze{j)WSVRey{=0%xRiOH1*vbsWEwA(m!{D9aFb}Pt_q_~G+>?qk0+pG@6%UtZhjQ&!Mqdkr4;s67VIw5bGC z&y3_xiK6WMFqi!N68&tmM7Qiv4>QlyDC0oPv^nirS5w7fo-N5L&V`q4V++JOv?F;9 zY*{oLXVnRZ6zYM(3zjyCP|ILroX`Ms2iSeUv}r6S7W(<6>jE8?zKRb;`bPrhm)z6| zT@x%+?_Ax>f93on)x^U4Qw6Wz@3fG6o_NwmTzHlE`O^Vn6SoE4)Ow)-N=q!W_&J4o z4t4WhnYa4*3$uT(BzH1y?)eq8w6WsQ4h!KuuyQ)(KM;W2408jJ`wz+ng(ovGAFD$7 z#FU2&?CW3lK+8l>iNy-j3!-6`pfceq!0`v?!QuyMKQONdLFE`h^$tuO5oI*UO&T8=OWq94d$sengrtLxTBO z(+&;np~N2;!Ga`!#DoVU$WO=sQr1HAEmArF>4n81sGI?tMeX_@?2wI%_UIi2vyj~j z3lo~y3vPE{x0j(SylHRRq~j-lF3a5`d2^=0tqpQ1>^gSO-gr;H|7yb}QLsyaZ3ndS znHNj>EDcplOdCMlBeU)dv^~-f)Ca2r(E|oKj9|v&ic_%tNsEr(fhvTBDVR${y9DH> z3>v!$YaSaUZlff;Ky6BD#39!5`OwNze|6ItzdbeuR3?1C+S>821Gy9sL=9VBj}B)mXzfD%_o93&<P)Imv4~V^(ZEo#FZZ`3L2g)F&%KYx$<7`o;xXDP4NGcHim=Y5p(Pa7D-j z{jYJnWHl3L21C-K6EYwg2pB=c3YD`Gd*+t1`D)IJj$X6G`tT}!qf84?+aCSdTTkbH zFa|1dNO&QVFmJ`<1=rtA?WxEupp>lRVgJ_F7?}Kfdm#2VS%zXT; zps@vr1p%i(qA3hM-VPvo!u^{&mUt-7xP8Sgr#hd%Q~u9ij=zEztB+nfY5GJ{B7Zv1 zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3`ST1@m?t7*sbop`*GB0%bcU7bPdiBZd7W1P?cRt(e!b{{Z}c-=R6Iq@!YP{B+# z|1GPy$`3XjzPL)L;ZLwkr|gWaY=-Xx{J;Naym?Wnh(Y3Hm4NMSACo(#*5RH1JY;zj zC4Pha0}cz#)t}$L%3+G+YJBt0!{@z9Q_jDTkFWYyw7H%UQ=Q2A4ICESiuFMClYtnV zhM{gjraTb7qcMQyb}B+95TW`e6KyM{9^ut=%=wOMU$Qd|7CSPTD1O^?@>7uzS!(T%BuSetJZG|zdG+r z*kXlU9WBRQ|F7fXeH&tB^Mc2m59ly(_;pQt9b!Il@?GZ@!U-W0ZhH!IDJ@A}G)FMU z>FR?eZ9YdC7}NzAg#9uY7{hXadQid-ST>kL#W)Iz3#<%H3`~*KfYrXVyh4DJAnTxM|2C0)MkZORcXN0(u!9iSGm1#5YyN&JKUu$RX^12l7Tj|-e zw_w)YXSugmzw%HvseXM#i_457blMFAL9?Tk%1#Yo`!qsIOh0EB9Tt59axZh^p~Zjq z@ZL+6RaxtJGrbh1jVs@E-_(Y*=_O0=d7S?g51>Gcf;2 zL-`DZ!M}Z2hPCd|LfRv?^VESM*k|jt?m@K5M zf%D*L6k>nUqM#6{97>oI=cb)O&NO6mdvQxDs6D40;*`=>@er zKxLo`OgF)Lb=||9)=y5NK=m7dCEf&>J{XO~K`4GF!u(L%>L^moXFx75iLURF%2=4& zK{OWkGkE$s?~di%(Q$0=*C!jNz9~57@ish0La}e{FN2txnKSX#HUFSy!^%!om|XKX}mY|zt41T`F~q&Up-xT#rF8c=eb>PIPKVGYCb(s z?V9#sY3%j{pcxEFi%uwlXdqw&5nE#gHtnv}@Vk1z%6;j>trJf2hc}11%Nz-)-q*x( z$)+2q#Gy;Pbf?SI$coC9b@wK$yK`q+I=gQEQ~8?;(#g&*zcc5|ulT#~&hh!LdHzk< z?xxALBsBE2+4(;iF2bHaZn5;LGjB+APCA8!W`J>mY%9ZNivXWYJGms6e3-zop+FUMcOi`7Rjoiu%-DUm;& zXEy)Ct=;nK3r&8m(?6B)Y)e`D%0FAm|DUtaonLS>$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V+LX-kouHgLKlCxOw9gmruNi&>Z!yxCdU%_Un*5?eYfzhqK8l(1HY341GnNT zpwh`e430M-jSfKKU^#)>i`hCB#vV<2jdI^tofo+{qbr{wq$uRFom_5P*n>GRjjJ;j zo^WMqRc`uq;aJmxsn7F%Im8K7oV{Dpv%Ynr-26R2b>bdnFJQ`w z^Y5O%n#bavQ}q`mbMB89m^XP|t~LtRaOZXlz3Y34U)iB>`#FV$MGJ-ect1Nx^lfPg zV6|l_*3aOBy1`+t=ZR+$d4+I7$b{RT!dyyA zk{8Vp%yGKGw!h0v^_TYnbp!Y$7cvUIe&jy#to1=97B8~gMbVeNI!KgxndSyY46rw z`FfM1INVN^SiCOJ5U?;_r!{l&wa*}R5(QEXQ1y%ucQQD9ZvC6T{kVN>WyOLuYS#DW z-40Z#c7Cym{qj8Jy0ay@ddsJoOwTF4t*WrFjW9p^#&xpN2o{ttNZd+?x&oPd|c{gIjiJh|E0p7 zovlGZdw4emfTDwW{szWFc1t3^M4pxYyXzg#P3sj=CQ}c}|5&%~q596#a@RqMz-bD? zKuJ#!A#fZpGl=G%fbtm##s^TLRcg!*Xg;3=(+8uGEJ0$zWFc`5=RwLA2AKUxi-LNg za*Uv|6sC?iH<_-Wv712Y6@-D|HR#+%NqB+EY7~GJaY#(K5^%nS^Wbp^2@|w>8&r3I z!b=^do?w~3?qR5Hb(APj{RUtWI02>)Mq_ahir;a(Enw$KAx@bIIkkr$M8r8 FF#tX&)+Yb} diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410089 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410089 deleted file mode 100644 index c61ffe136ad6cb46724708ded937b51f5a76dba9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5076 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 Zn)e5Z+b9VyP`j8Kafn`r!y_HU006nLc}V~O diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410091 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410091 deleted file mode 100644 index 8ac87d269bc194984134910625502c16c20b329b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2676 zcmZQzU|{&$Zr5HJw14e|>o=rlX-T>lp3_>P@7|VhHl)bZj(3(lP>HbY@__2Q`OB;9 zBc^zlB}`s(e!k?bn%_)+XP594GF+I;p7G6S*`L-gZx{T0a^6P#=h0mYVgwvR|4MOh z{$!>3;}FmY28N_XCk((01_nkDeYGg_W>Ua+&s_G|k6xGxnZ5u2;_@6lw*9L&I?0Rw zNtXdCaoD+VL)tx7e$DWA&MLnqeb}k}dg^v7W6_fO|M7d5wtmYmbWC`(z0}dQe0kLj z&&{6RV!DH11n3 zDDytDTTfzMIOm@N;mtplVp$f<@pGDA!05jDJy# z4R&^bSP*auB$~qDlEGS;ii<@za85meW_CNth4>yd1gJuNV3-se^_5>M~d_NgErrfu&-It>;B`bCR zXp=d@wxi9C<>uz|4v|{-dL_P;^-WoSde8P$mzH^#_x{qn@rw0Oy-3353n1f}Zg!_G z&&<1VFk@Qmu2ZdIS1XnkUKgCb&aiNEN0dV7<-1@vfZ_=PU~z-&W>7dWL*o&wiU>bL z;tUe^P@@qP%o2nMFiimS3XD&b`LEZ((iTh`oW^24EX{)aK}&lm@dt*pkpz&KaBqUs zFPsO8BM^Z453Rg}#UZ(V$FLts0Er2A4e@RxKR%G{1?MRw0VF2LZen=w?!}7$pSRKR z!X6b>G5@;t)yjM=o`l}m_|79L^-r+^*hI`c1GfmsfQ2`x>;nUWWhGFR?AcUM{K54= zwSp-u9zscLM47)&=>Q4lgZu#V2Rz--z#dBcfe|c70!U1FND`keA^8cVydcr<81^Fx vATh~s8&aMj#!XU(jbLRZhP_AvNKBI51TS|$I*G2+k^BL-5y-&i5STmwTOomY diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410092 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410092 deleted file mode 100644 index c1a30f5a9c7e99894b160ac6ed411e809cbd6544..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2900 zcmZQzU|`5-wGHil-(d9l{WqIj&Sjk0A(Q)3R<_>VXDAl5sPoJ^pc3J~?RM>zLHpNU zxPC)=mX@S@;W@1p`tEHBXG4li?RaO|GhF34bNHd3V z*>ejU5lN|rkMRaZ>ferg>7Ks3|M(uBDxsNG%52B#G&N%xL|b%tA8gyaJO$)p=HqAm z?KnUz2si~2O=0lyb^y^6?%&+8#6x+;?JIUU)%pCL@_+tv{1v=dee}{v(J!O1VE4)j|<1u^m<82T(F)$E} zD+UH8pjr@SXyiR2eD5u%U*q2^*1;MQGo2@xCb0W$HOR@_dZsBz|#=U(_x%jCo0S2DUsZ!k{6H6H%OguR2 zYsvv9ub(DX8+z2#!f6-=+^ z=NVoUmgM+yP;{}%shw+OwscH=U9@>^fA!P+tq-Ao)P$*rItuPbg8CU4*noN%gI%4$ zT3wd0M=h@rI@rLvbWVnM&HLx7`xTzD$sBv+^7&g9o9{)2jf?i^9fjHg)CYD0(7*h_ z)=}a7snRyC%yAdPC*;+>kud5D|2+AZY3ZXC-)ETYDt)J?G#yMCO5pm4G^y@5E5nyk{BZ>U%~i9ng4nnEFHqM!D%e! z!_qg%AGEZG5`SPg8%Y3(3HK&AEyH=BI06Bv|Io@-SR9h;cMSWH1dy0;*AVYE^5X;9 zUT_(LB!I*u*-Z?;yaL+48C~W4zkXSs!^sMc8Kot63{0;2Cu~i+xO0~*q`bn+GoU;V z1F-Pcf(Z~&W-v%y@+|U;_D-DQUMZ(dWi)l1f)^Q nP$KMQkV2#(+Jy;HIYNe;P~roLgT#b~0J$s2F-H891^6_-^wf>XseoXRn);xN$PxwMz zs?aayhWu?nGZ>Ny# z{q6sNSP*auB$~qDzrs^CnPZP!K7Y$%^S#KRd+Y!(476bC zfix)YBucZBD=mzSD^fA!P+tq(!w1-m+fl!DEL(In_2>`$Pf*0WB*?Vy3% z!Ql;ZJ2+f{X}d2eZB4;WStW_0Gv|zF-(YP0lOcS=b>qVw+&0&9Ei@*iG;)2Y>*EMZ z=lb}<)Ph~%^Uj}7tBfX2e`)@x=y~UDka=J;(|V%9E@_pAeE9ZY-&3iYoatBM7+U5U zZ(_N@yjNeDA%TJ4$pI}6Vg3Y%CqexT3~V5GL*syobe>?E z!0xxzASZL{nWi9>=L{Pc?a@05vH}bk!EONhcl!KSE%EtGHn(S0u2YQPQJ?xRzeQR2 z&hA{!|C|$c-F9-;+4i|(|1|BRHh2Gdo=nP2Fpy;1w=O73gyGMJYX_I|08In?*YLF? z^NbCOXQr{JX1`MTmcq&HtkmhFl;@du@}%hmVMCz06b1pY(+mt6?m#vy&43+~wCH3K zRE)ErxWLNT*u=sVECW{uR-fV@_>`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*f= zEldHSK>rIa0a646E@wz-iz`}T)*38A%K7-US8tQ^5 z5MYG5)!}u1Mb?^2|Ls?-obpAXbqT|N#uv@&FZPz64ZTp;U7LPkato!R=DDmvrJkgYp}*@Z3eYf2M~EO8iLudHuClRV?FEZ??rTecV2E zX1(DKurdo=ih=9~IRFSi@d^W=uw@3O6K$9P5$S?K>aYZG zCA`34f>z&y(kUo@L2_WTh=@z#%N(%bKmt+ru)u_XG$>t@8&9+g6Uy9#5+6t$Bqlrr z(EWfM7s%~028$H}d~O8^O50KjyIwY$yM(gll|Ri)c=>xg%vEk z;OTadxDBOzA<<39>5!7}LN8xH=@1rPptK2257cfSf>Rdu@&y(q^stu|><$P4^E13m zrLmup?WU=p!EJFwSR>m@b3fy;o1T6~ZksXeTA`A9HbrP@$Nfoa>pnl@S)AH>^vcF{ zUBAv9f50{8@oi|DNcj&0KsKyAWCU{mLFHiKrUvCR5YdiiU|;`I1KO5$1L{ML2e>6j z_Q8w>(IESf0j$me+Yf9Th(je|VG8CF=cX4&XzV7C+hO4aFMkJ#+b9VyP=AOTafn|2 JLZcEw0RZq-jj{j$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410094 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410094 deleted file mode 100644 index 466c391130e3998814770ae19cc5650c2bb8118d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4624 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410096 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410096 deleted file mode 100644 index f179fa93ab8ed0cf378b2672dd4e65eea21f333f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7192 zcmd5=3pkWnAAe`uQ$~qpNs9U0YDy?68n>8SR+hD2w6%;@B}B0`l#njcYN>{53k_Qv z+AoUOQpsg1HAUEbM7bpqW!G(e=e+a2^So2~j7NGp&ogt*d(Qvz`(MugJ?}vf1UaJL zy6q<2cxQc2wT~8~S1vB%MtBZu_uvLSt19*WT?YY)LT9$uzpt;3PRN(%%8q2t zrSmGPwC0{=g(u_Z9RttS`gpya#kLAFvTV5Q!BPKp-2(rdvcp-H-Bq1^s!2zI48$w7 z%pUfjk>FqMTKWGJgzGp}6`9&{8gt{zDeh5jwra)BtZR|t50}RR5<0n})zN(#HTSi~ z)BSh%X43pUwNFHt>u+>i^=;F@wL+=5EosxWr#>@z$*Ov?fyP;}dG*Wn-LlCW^xGR8 zLX3wbOC=ULI^=H6*0QgvBWpTnGEXV(+x5L}x+q{vaO}kyvUdoqJb~zTDiCMbl zj1<|2)G6inVwpltqluC0@mYvs^ulRRFJH=FLd0UF_r9|Ag(H6B!dWKbU{8mAd_!&C zSvyVklS*?xRsiL|?4e=l;psfq?T6*Y&vlgpj!!*7Y0QnCt({`jpS6Iyz9lDQ-?^cj z(2)w0`KJSGy_UEi(lMGB*WZIM{~7ji@r;-<>(0sVqc!O#9tYR@QbMg8t9@F|&pnuO z^kw9>MKf2ICs4VDReJ6R=h{7!@_2Tcj|oA>iWQ)f06#LMw@#N@lMy!KMuY_Cq_2Hg zS1a|pMzf?^Nt1PN-zG^%9%3eg03YZ9QZY!6HF40RF&vX0p1%$EvUz6kamSVP#%U8m5a+C2jAHK1VSenI~rGr9gQE@L)|VTS=tMN z6B2$(bXdZshOAO-)4xE97mw>VT0CN@m!Zb2_w1tD{&~GQZwJR{>f!xHF`=c(Vba5j zNw036il6{lsLZ^h>TLgWP8TyTe5s!PHZn~1*8IvVGV9}zYGqa#Os`_l#Gg;>Ywv?Dzu%dermy5X3?)V+CID*wrZsYn~w3JykqLabhMj2 z3VrEprt2=V%bS$9Lf5P$p~aMQp_DEE{C-2aZw-)1ws2)wyMO`SMDV3@P}rY1ISGpi zUEM@4kFEOqt;QAA=Td^|nERw^)c!D>B39jd`Hq|TeixTHF?SPt|LE_@cS~ATZMbQ- z;@Yipv?I~h1#2bx-Q%YMfv7KEMPHp!kU^W;Ju>J`{l(zBCdK8Ui%;2}8{SU8?M$*R zME8{Job!M_0sMq~iG#xC(KY#S-sX8GhIWy(J?ej*zdw`5J{W+w2Dv^mSKkuz&C`=O z&%)&rWy&k=)dbQ8&uSqNJ4jJXdcJGJFZwFJHzYG7cz}+$x5y|Ku(v4ZJ(s+x&=^X! z+NZ*mEDUIg4m9(Jxhnv9+2r73&WN^^!wPbCiT zHCK?sFwn#6;{O|_m#pIPua;B`w--tkO&+YZrk*bxr$-&6E-YqB_-h|#9ZO7KR(5fN zRo3wZXMcQ3R1d(pg-jmAr~;rmBILfx<3w7cL(z2{Q5^&jlHY$1*K=@sOk;>0(X zCm(Oi!)#@afCk36??~Wr09%7G5Cb)fian2=+X$khlWNlf#KHVF1blE`2pX;gOb~{G zWi;l3C;Xj?=?CYd8Q2;Lo;z?l5%M2mikxIj5IgR#&kfr|`~_>&$A}^76T%r64PSHZ zfgpvU8(mrH?k&n89YY76rs;Zf=B2#(OJTdW+>u}`#_${o+lO)n!31RvO5rg?o9YxwXgYlT2Qx zgz+;&@NUKHfPx@n5Cpx`!k&paMV!a;cs|Z2%KaO;BXcIGHSo@ln3u9p20;;Fh)Wlu zhm-iZ1Jw_FV2V)+#YHqszeP_nrcv|wGr=|yfAM3$cl<P9N!ClOeYnjq h2T*^1Lfw;UGj6$J)_i5(Z`!h_ZaSHYJ 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410099 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410099 deleted file mode 100644 index ac6249c1164af67be36d786a3a4c666477f104c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 zcmZQzU|{%eYCh?)+5FczO?w;Ut1dgO((8?8GCZDoziP{}&;LBFfl7oq)(g$OyPH+l zrpvNQb&2Yiayw72v(+DOv^Q=!%2%=6_tGb>d5W6PdpGSpp5`{`vG1E~xfPXtGG51( zcctfvF$Mz7U`SeYA__zU0V9am8Y{4Acddrs)dN=UOCN5XaFRc~In-U|NI>x#JgEk8v#;uGB`Tvk8*fAO0MA*z9HMO;UkKG?Q-c?!tI%*W6A z`|*HS5O4}4n!@1Y?Es=D+`qYFiHGux+gI#zs`L3f<^TNU_$zp^`sk&TrcX2_@~896 z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q?vK+FVE|L^c`GrQtMsq*Z@g4&b4S&mJZyrg`|uI>Y$tfd;ZaqBSfJ2?QuzzC=m z9A_XsK!D6X5Re5#t^E3CIF z$!*DT&+iK#XQX_)q?SBu>lI$0SztdHzIJ4uu|e_7G#1tDS1R99IJupbI(?M#Jo8ST zG@T%92vnECARu;{fkDF;WIqtYLDHg=O+XGvjI*G)z{=Rz#MB%j3sVQCQ~U#;GL^^i z9jo?K+HvoyXUhD5!}t9xLag>lO!>U88DuU~Kxj~ak1Iqoh)h3qExBSAUuo~wU-^2I zqd447l~}wk&k(RMUZ*v4@wLw&HB3pcEWyACb*lplvSS03G}_IgR#GjE`JkXs~OH&m&~}sUeos2j zc)A1u88ARZSV|Pt+=3}*gvN=3i}=xXRc~ZF!nr~uYU6DdD7|bnn_noj?vR9eg3{mC z+issG{>j|^Yg^7HkFVA0f!mpLo93*0yUJ|BKknbZX2yW>Iyfv3ENDEaQSH8(To zayu-%;OT#mxQ&wV0@dBrh(mCgAe9&3sI-{AXm`n+n2*UB`&C^Wc6A4OaJ>vztbgS} zdqb?q#Xm_(3C+^+lFAjh=D=eqYRk*$!yyYXZ~}F+cq??2PGYlXg)@MMG`<_63ol!=>Vh` vqir*2+=kR9AjVBvE1O{Pju9qE0!U1f!waQtLv;Tg$sceVfedU8fyn~^r5r}} diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410100 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410100 deleted file mode 100644 index 65caf905e30d9518b1bca0083474691e0697d657..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4840 zcmZQzU|>jN)%oS6w$0Ehi?8F0mB^{1i>Ix1cDeqR?O>egw&$FAKqbQ8P0c4gHkfl!D4Uc;X5@w&0iNkxOeZhd`)+LR@>E<4XqDVF3v2}^S{rdGflb8t%FDWdQ0Dv z`{&DRc5+<){jz~R>r7H45BS2ybrc*UY-JSG4t`W z{sCYXh{wQi3dBxf@bPv4(S*#J&NG|;;nr?>^@S!s*Xf^1c($diedV7m<^RuF=*};= znPeW`qhX@c`|}e+%D=yLogi!oRFc9VAa*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!r2s%Hua4GQpa1?vS9>8GwG zSIpuo?cMq-UvF|0huf(Vi`V5D0v5*Wv}P{8_8F{b# zbB6b~m6I!&L@u#b?OtDDy=S%N^a(3Ud{RGNk#wuc@3!MPx^GcQOXb;%>if9Ei_De9 zQr!>2!^I|EIq<>4W5zo3+?mwhX`f(z+WOSAob61Wz{0y9Roprm_?;YpX~P(3KXRBL zvl$X5@xQvFUfjK1Zi9nOL9e&({38D7xS5@-e#s+~CZ#A(-mX8%-zIQm`s{XWKdFHwlw6~#a2 z+p%3=MCaRoX#V3fyPFee7C3HCePa#l7VT0jmcCgi{_;Pgx7VGN-EPY++&iSFp&KqM_>WWP%&O8%@o4@1k5CCK3Ex(nO!}I0WzO4G}y%%#Nm*g z=ddNKb&}ousMFsT)LcEj_ZElv{&`l)D_YC%8+o~d)Bpih>~szB02`+Er|Mssda0S# z>OY%|rZja~MX&#P{q*9jEv|j96t)Rp0xP1DosmuvVB;pHIlQ0pZ%5sp$OEx~|IV~2 z9ha!TaE?Vmr+Hdf;SJ~GP&*kR@xkEG8^!r-edLkHM+_#OpLFKF_Qe@0N0j(Nc-^;6 zJNz*%++Jnk`UBc3w-Z*ze7v=8)gz-xQ(v1!c^OaheD2neazK<1XdXE3Tg6)#)!$3R zf107k_w_DI*M7h3j7f$jla&%vYG<+APsfvf!RdgYeg+0ssM|plNDns>9~+YqY%ef< zyFb{>pcQ)Nu+Q^;=ND4Fd&S&kx3FjICq=$I{ysSMZVm`f>WNvPa zTGp_6_Xch`(}&NOMLV(s4QKhHBUNy|YFl-?_stY8IkVSi-KM(-f@H7nM{)0M>7Y7>@e$2qUtq)blKukJcoVG9&nwLU>`apRQ4v;by5)&>B zjxRV5=2ocvz&aCFDl&rVBA7bj+_XTG#%=<+9Tr}L&25x~7pOd>MjV2}1gYHvjy~1) zMHhVLoo&89@zAkjMh~7jH63(c()FZZ!>>=8J97Q?pm7XpTYvy8%^>GDSeS$AA21*y zze4I7NSy`K2B%?`zy(0|BBeJX&6k1JiAcskm{`omns#Vl4<-J4n81Jl~M$cMSWH1dy0;=Me8U^5Y%ZUT}SYB!I*u*-Z@dbv0d2xvBYZ z|6Tp_&Pv|Gh1RtPf7a|jGU0^!L`iQqSQ(iDE$?A=F(Q@mu<(ZG86w)g4D9QlfdLJu&p>`|=Z2sv3{3pIQWsZ}f5_-wnV#1w6yxT~0lhmaWSbdIRFOmQflVmr6(k(oki0&^V>4Dn_WMFd$OdbFe C#z@@& diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410101 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410101 deleted file mode 100644 index 85b3b412d74bc2ce75e9895a059c89f7120e5322..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3856 zcmZQzU|?7-(W8-Y^=Zu7mVJhwUVd*8?lXCQWWS)`&F+|_{qu6dfl7qaSap7Rsckd# z%Hr$zVkL6w=;CQ>on5ZKWjh#Wy6rh!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z(fLE?gM_kOlNO=3D@uAa#Hw<$JXuHnMfz{Luijy-OA#d+oN+FQBnGgS4S9K9>d z*&wZ8r8D_8xB4=VEtU~Wdsi@jt5V8gdbD8G&Idvp`;O{PR5H)AxO(~DnZ%#3o`3Lu zQoE&K?tX>$PulPFJ06%|^<{hLcK^lVvBEZoW$#})DZM?6LA1q`_rbQ!%fT*ZK7Q6e za01Bf5O4}4n!@1Y?Es>;dAgQPfBR*@q&-{jnAquTX*l>#XQmqK$M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12Gdwz2R#|<{29l&rD-c&3>iwErpZYS*g=UDbF+SX<-9QQ?##vBYU}bDRNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFgL5f(vK7?stgu2xszo`3o`ITeOb&Z|w{S9eh>)fxF+^@=K7FA-uz)Yj$ z*n@xvr*^z`ZsS?K>5z}j9XkgH*>iiR>hgf6j@tdB^Mcr*wUpY#jFH z<6jDo0W%|4t4}U`&2?!$`}EdlVr=q0 zpPssZu0DM-(b~xQ+VtZ8UnexplG~}VjWax!L3Q(_D3#QCHU2*eL2h97sVH7*@v&{$ z+^0F++|r_pt#t2*wUotfo_~H}%St8h-B4Ro{sRG!4UR()4dniV%7Ma+85-wcAtLe) z1N-`C9MJsZ2h@Zd=Wt7a;xPNb=0XW@93csS@+?V-gVc|8{+(t=wfyzK?#349Lkm^Hl^c~N(51zgC;GbDFW@44>+xAbol;+`iN~tMw z&f9i(w-+m+ag0)j0>wb-8wOxuZVVG3B9AgiT`G|QrXf&1$4G}r0!U1l>5y^+&V$q| zpfn1$ALzd*s2oa|6X&Ml9W-_m)-*au+(t=wf&7I6kRlF=30H!y9#+nvr%{kzWI3=| zM1&Xd^n zX6XDVZW?p>-kj9i=kI@Yb`9@4adD%I=KJS7I-y&;g@1$Ue-J<~N07@kkXB-u@H4FFY&eWU;Y diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410102 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410102 deleted file mode 100644 index 90a76340c41b4cd628da2ae9697de36990d18879..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5764 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 E02MpMnE(I) diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410106 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410106 deleted file mode 100644 index 3d3f1695d2af8fdd899f71d6a742656f268618e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5076 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410108 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410108 deleted file mode 100644 index d4eb3eceecbb64a34be567d5444839d690703cab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2964 zcmZQzU|={N%4L1+sNK5K+{sUWu!#OWQ|4y9%K5SH?Vy=|vdoU!0+k5cidE^y-#k4< z&i+V_@$7URnD5?ci{}bC8bk*`|6s75l7$6 zWBKi+ebyLg21C-K6P+L$2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs2#w&Hcv4pRTW|2Qqh5|aPwJ9>Y#3xj*}aSD00voWsmwD70#_k9JUC@^;54F#`!_op;*}iyTZCW%ljawm0>C z#%(1t{{5`)WAE9$6pvZh^O0G+plC|Z^Uwn&tGliVJyc^5ZL#5fux<156p)LVkDr~r z?+l0q0jEHsDGWZ|4j_7)r)%l-w_g@a+OzeJiJi`thJ*ifW~#BC{QTu|R4ZfDrRhAg z`5$iWmRDbB@^hX3sf1@+%Gy`{*;4-hoQ3ZEf}2U^;XN8AI=w$XF{J$an;I0;z$JTn zPGXC)!|ZFtH#7LlT^?RfeYQ%eYvI&4O(jMmfhQ-co-)3w72c)f@t8gO@ivH?7#Ik} z6;K@$6f(m)xpTR&jDN6csVt&^cAEvf(*% z{{rbLu~Een{xxh#W!SiAkKR$RQV_uib_3AA!5`M%5P3iOXFV7H#>a=w+}ju)v!_0( zzdnBRzNsgAv;@D{GygjCXh!#=!_O`p*`=vJt;Ty3=MER?hqkvPTrPu?9TUT(z11>} zmCqkLKKk6Em$Yq{^slZLr)4iau->mF|094IY%3_vAOIFmAos%nD9o6laS9eA!v73X zhmAn#02GEWGhyZ-3t-3r6@lXjt{7xD2td*ls7z>q$}s}PY@lqyaSBu@wfO_c99p^w zmQO(8HQ3xnNqC{h3Au3y4imI;9TvYJIb!n{@p%iDKoEHhIn7ZLPqYgY^3x8;P00R3 z=Aei}g9Y6W$Z>&O|1ume3b@X7E8?uZm|da7f~o72z1H*Y>bCcOzH9RFNefILfz87# zM_{23qCs|{lp_S|5}*dzv#IdB4>AN9VDS)28Yjy9eM$#lWec*|AT}2BL4JVw1D?NW zU=Jn!z;HH_01^}KTabT{0j@Lv(hHJ9$ulJS9m9Sk0VF2eImEjSDbEn&CTRVH-cA8q ejN}j`CdqCBrCWF!A-c_jqz7&zkb%u1FnIv1pwC4B diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410109 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410109 deleted file mode 100644 index 29842c52e3bbf39117cb65bce648f3ab06c958ed..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5080 zcmZQzU|?XIu>bS4`3yCW#a1pqdr3pfb6sk7fBNdWc3&3@Of{)uat zcr92_@;4vQ42GmdC;CA&5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@F(kf?WT@+=?Si98Z66#W%bE!E@uck07j zMwvLtb!J)`5>sw$wFzk0=P;Xp)`Olue>^Sj+*x?yvg6^JC#=&>iE^{^Xst57k@bg7 zdRAk4$z#SSw&11z4W@W3I$-_yCDWH_N!2+MXWp?4OPbY`ltp8Wjfa#Sm0)TQY> zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`;34fTlGGUd@shKqs z72$e7<^$tcY>BEv*Zk)GULoeXr$s@rleXU7{99Ln&;Fd1woaN{tt{J}mJ;RzYxT_Z z@9{9C&E_b5vM5930^ir!2PV#+<<12(1MHVg_baqMB+op2a@EzEyzS=}FE6}a=8`Y@ zGbza^_HKKi83VtQ1Jo~I^>BAU{Y6keFslIdFb2CigSF~RKKA-d_m0W0mez-KF!0H4 zUvp;GSEYjemm6>F-(<(UmSN+fJ$gr>wgB~k-2n7&+l4$`U!y&bItsPtewAfX>e*;- zUNy^b?f-e(id{Cw6!G6TlQY(uzj@-_$=_QZ{&Y8c`)TSP!_2G#gXht6RKK$WO$58& z@FlnElvSLZ3`Io@H*`*wt894A+`mA2N^Df|gntcNQjz=%i#HH05$POYP~qxYZk8Qh z5$tMaYLFK0npBYYz+C}%^Bz2v_tsq>kgpAteGLWKCe`S-|geRvL} z9u^h^-2zl>J?j*Z1OrB}`+#Ag`}}3D%)BmNk@j}`1m3p$kq#dk9@#2IuPM6LVCsF) zH2FnJZ`We4b@v)4GWDA0&0=`>Le5~u_H+}bUzZ+Dsnh19=2DpNiGMw=g zO0yB2nEPjI6vOHwC(Vm8s}hqd4`g+PylA&^>i7Y%9qd++A4zc!$#y`)$RSlGb=vct zw^b5ee0y{^?Xgl&t=f@Kv2I>@R~%116?SzDo#!?AVe6doS8w!x@rboPX)L_7v!rM8 z|JN66kM~Y&-~_sp#ko&?&b)P}GF!=hVSb|0vI0}x}l5kml^1}S`qFkia#O^* zwYWJ!Kz^3Oz6`F16U{eR-7_)$wV-L?*XT9Rq868GLj8uGCqeZc48YQ`4NQQD`jSEF zuo0}z#qc(g01^{sI;32O^FV0`1VmfF_5;&cCsYn4?1*!d;T@nkur>|U7zl;r5F{pC z2|Ud}MR2(Zqz)Ed@N_>&+(t=wq5B^>ag!2W;4nceCtzU-k^`GXM0mm59|YTCuqZ^d z$&lTPQa%x3FECxh(-7^#1gT6Q!%fKkqgFgIv>)0kyzh1THl~=u-;+Q1EStaQ?TV15 zlpcS96#+}zL?fZWobn$CVDSi~d4b%2P&rt>fS0F4w3);`GV6f#2)O+=5oiu1tw0S# z@+cA$DhX{L!g(;g(DEFZ21DV-AcZ$^ZmL~CV>f}q3Km}Qa%7OW4W%3*(M_N>I5pxB zy&M5Y<%5EP`P;9x7q)rMabC>w(Dnf9e}L{?Kl^#2;3h4vtVfkMuP-l zVGgPzz<`+k4b!g=4bXZ8rVUOb8x9pj2|psumm$G?tZ9b^_E6#vj9@_$Kw`p!5#%Ri nfLv#wk1xUE5Y%1(n?>#ZEZ8B~>l0X*(8OMFKN`Ee@UQ^@{siW= diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410110 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410110 deleted file mode 100644 index 02ac0b3f6bcca7452e092ca5c9a6d2706c1ae047..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2736 zcmZQzU|^6sDKnw!sg|)%)Wi2rGjG@lG`dba=_lp#?(Pvc|NM_nfl7qgChY$_Z9YTI zW3iRX&tB5d@?4ji-Jia_z#*&EYZjMqjhyOiFGpL>dHWt;<6d-9Nn~+d|GS4DTHLgo zKNJv59j{N@FG#vb=GgFQAa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqQawu}1htTu{!28hgoqRZ{0OJ3l3aID`oCd-Ly+-}>+z1HY34Fbu4K>Y0HU z1VC{oQDWj1;uYkbqn~Z&nqB1{<`Gtu7Lsmj3zdhdV=#QltvY2DCnrNu5yK6gQ{^ff zo-_9^ke(77RXpKe!y<9+r|7H|i*mGk~T`l)Y!ZI92Im$&#N3v`7~M@=ieSSF#rN2JQoXhDNI z$UmU)V9=R-?Dd)M9g|-ztq1x15CogLbVMdQ*&G+OVd640x`p4)BOsq56LqRpImjdCU5(>#mft?m$~Fi{!B_T zioM$&Xa+J578V5E0#s~0>lDZhAixNAA22M0t)$ML)DQ^{7Hze?S>obm7rIsIM~sXU{6aViJUET$gmH;;nX zwM`D+7;CYZ_q^!R-Iq6=@jo6h$t|VonYNJt*hWygfB@vMfC_=blNp$9Kw$+21k)K% zmDJ`B4A8U&iVv8%VEsrOBqmr2M1bQD&V!{@sQtilrxPm22+Geebws&o$=U-nb`vZw zg2HRCxs8(W0+kmiafQS|V!~nrXB>jV1g-7>g&8Qk;N=YwaS6{`M3hO8ytQ%B9=)Sr z_aVC%7A9aZYTK)P*o}b!yS)rLv-Vw?cQ(Lu?dQtxli%!{ljXhp(*~=+sh3Zm3@A!U z@ddk-#C%CiIm7hpLjy3Z;dvPzV?YLSz(B=e;REIpW&Z1RpgM+F^Rea^8rVaLKQMv? nNdSon4@q3*7g1@S+Vu+9RoK%YEKI`V70h@PGmU{3`X3 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410111 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410111 deleted file mode 100644 index eafedfe1bb5c79e3d414bf0873a474bb5cd0e80f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5208 zcmZQzU|{%lt;^1=PGI8?%SXAVZ|_!6DelNK*gf;C;ii{ZJ`)U}gUYEEe}4&jtobfmD*eD|`z0=os*FIRnU@$p ziWvBxyz%VA$y3J)x+qaV?Aq^oCgxunGi%Nf2GJIK-Ur(@FHZrvnECkG zT`@i&76hCEiKa04csqdTZJw^B)8BqsFlo=$J0^BITN)1j)0wHpdh+v^%TcY2QJ1Fk z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlXEI`ZzQorebh1Q4UnTJoVx>}RB{oLZ^h1bhm@+E&JB^kxuZ4WeK;CFHWhJiIu zDKkht5P;%NBG}cxI5R24Bq_8qG$b(9E5OAx&@|B27Ag-@$DlL$*y}UhJ0`zcS|8HE zz$d$X&6!zWl?wJ>ZoIL7lO6L~kosU(XOMbg)G~-)Zvm?X5{zK?0n^BWo?ZXhze?)g z&6>9R*^JifmJ2g@H$A%}wrmH#@}AYd*cWj)Gc8*1u-^QaSWnaLS^Y9OdpvqK&e>aW z{%ftqc`jCUiZ^^G;GTeM5DSo&t6_{;x{-d=Z7cDpURaPN?Y|DIN_sSFIExVgvu3X;V5bQGekai-Jz` zw6MY(&c~s4GD6~m!D0RG>00Jnn(t3PDo|ejYU&m4e=UbMZr<@whih5$oE5#7``?wb z8_xXI9OTQl$#+|Bao=xcm#v>J^{EH*xad{0vH{Hl$Nkp2Ps+dK9%vo#FrR#Fjdn1j zTFK+xywY+^i@tSq*Phz|&IjCzpop0a#JJ)f9A_Xm3e;ZA*0C`5Xwqwx`@ZVD$i*35 z`3xaNA(!psa@)cl%mJwZ0k+`joxf_2em4n;t=gRP{GI1MCjGF6yhn4hN;~gdyeke= zBJNT40<0EDFoE3yO!Gf09sjFNN(is&nRa64&6o4jIlbr22@td^RZqOQ$Fu&_GMsfTL28Utqe@xEr5DZ!Vg$4 zYzB(4?49#gZqt6RB@gHE%+xnY`Qmzn?aO`B>5n$)&k%TW{{FIz8$dIe978<)f`AMdNI!KgxndSyY46rw z`FfM1INVN^SiCOJ5U?;_r!{l&wa*}RjE1@}<&0qe0pmn#Z+Q423!T7O+d@rdsPJ*_ z(&Rn&*57j15KmcUJ%Nii}AJjp- zIM|?gVg{DwR#0^e#FR&i( zIu@pmI5)L_q_LYoZij`}U~?NK;RUL?W-Fa*()m#V01_T&&2SgY`Li2X+A($Y+Ha$?GwOhh321vVp5=-+=Uj>LpP788j9G1_b+f z>mD?3^feL%D&7Drb0$Ew!6_^bLh(Bh=I3Nw^CHE32IRIj(S1*(_Bq_~Kn51~!=(X( Cye@bE diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410112 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410112 deleted file mode 100644 index 88e2b0964c39e2fa72e6cfc8abf73d0fce3600d7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|^WI<8ge^ahcdM#WzM?ZNL8Hw6DE;wRmQev_Xh!_=$_}fJ%gaUF)(ls}tDx z!}3w?>D#*%REj(D40g{vYq;s9-`5HI9&OPMyzhJa{6A)<&3t;f6-|exp4$6#pR0M< zkE;uKuRdE3G=m{&(TVvW8VDFc#MPqAn@IuRJ#*P-KYC#*WcL35i_3HL*!Hj9=p--x zCtU`p#NqRwp7}@Jmeh2n6#PswTy>#4$b5OnkG`L|Yj_?^-eaGy^g@S!{okYJSEumi z_d7Uy)^6Optsvv>&Coju%h#^0<6qOTPkZ?jG1bRLEU6c_Z1K{{-9Ou9cfr2ohtW-? z2d(*T&pkioorZdpzG3gRriT0M=eqxB9C^H>>V(9SyNpZYo->HHIPgB$wt0C9$i>XZ z&+dx717bnIDUfIigO9fZh~DPuS~~shmj#pdY`tS*r?aKu;6I(2YOE(ef4Lmh${2NN zI?rtWhg-Yl)fbxlT&I63;n|k5_LYCOl>a|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR z$)28**rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS z210QKRL26uOd$0uJ&lTIzNpej4V&^pyV^zEzz*p7%0u4U4&8RCc-Ri8PTZsH1xz^;*e$^H@G6G&n30(D z|I?qEx@=kYeBQzE#Uj%>Pk(varnr<(HriRAl~&5gESQ`8mvfqVMQMSrq`IG}FMnh> z_cxsb##@=7Zg7yX3S>6!SJLFNuROi%d`q3g;`4X94>L}=eQ4pt$^YDsr3wT#l>F4N zI_fDeJn7@*?e9Z8&YJu_Bjr-H;%AiKe}16Dz~RRhJiYT*?a}WhA+c4PbDqER+{dIJ z){ysTZdPgMor`zH!Qm&`Vh>c09CpZT2H8128UYQj?l#^!Xf<)m51~BuyVfqg6NLMU z_1^to+kX!f2(o8WK@8m>1^^F^2lVtxdFM9+}11bK2PnpW&_>NV3D($#; z)iY&&z~TFT79m#qB&K}c*X+x{*tP&@?N$b+@0K9@L5_d{V4mIqWV7s@^Hy%tey=4D z=kd(cH%a;8dW7xEebecWHtFP)Y@cWXay&>MST8~Qpz2=QUM_zVV5=FpF!#v4RvA48NvPoh9&iv)yxpUMTanng0BA$rB_ ztw$u!S$)quf0%RHOdGAPCtmA6Xzk_Y`ri}*b!EzbAON!Aeg$&>LFGVU%M2`wLFo?+ zhzMr}_VrIhpkW;h)Wiza3Z`I|069oZxC(Gw!g(OOK>%t$FwIv%~a0Y~3bV>`9i!FS9Anr3Rcdc}4gHha&zir;%} zwtDnZ$JVnIU`4>ZizSWzg37_tD5$Il10u>fF^xqIdB7wHDqAgpns}jF!4y)$L}J2K z;7X%l`+@$O2~~*_=0v&)m~Uz7Cah_6khqPK@B)=j)QCd|P~4%X(KS|2=bwyp>eAl( z^w_K1xKn-?wZqRv-2G#{fyHuGTqmf#3`z)0Gy^J!66Qp@$%Mvk!kR`0iQ6a%FHk!k1t3Kn z5)-ZjS2^PVQh}64L3%;;B&gnjmw^QP1M42-WL)zS1?t-XOtKSzGz!4tAQZn7VScDW zd=e?^eP+|LkR_s=s`Irz#Wk<{f$?ZvZ&&$MieD@xxa6g|Z@ zd+DFqQ2j*YV?;O;?1#YmQ%G?`z?~@JOq}`8=OD*D0rRouFB;fGi9ax+4@m%t3HK>E zdBp*yn?%23*pDQD#DtlSt1O13b(DOJl$MEclh(>6SiED{izI-=B-u?Ud6MYw MHUb&g90HRE0OQV(Bme*a diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410113 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410113 deleted file mode 100644 index e4a80f48e03e6d5ccdb5854d0560b1be28e002fa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 zcmZQzU|@K9@U`dG^G8_bnzhz2-0oel_g!J2+JP@ck%?Z0t#vQkfl7oY?syzubX+F3 zO!1A8SKF^YIqhrjUM-&4ByA9)8h+y9yCb{b*D%;_6BCt~)0frwzF|14ESD0{42GmdCzgU}AYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-VM5bo5#6cQ-;1WbdEHU*tK6yVr>jXi*A?Nbk^3giu-rejsrcLH%y`DtPZWMe z81n?BZD_J6@7HVbntA9%NtQdOorVX0ENk=1Z{Zuh@$Z_wCf?U-b8TL)&K6^ae=7s? z6huGj%8B|vQ0L`2RCBR*N9Sp$pH|ZsO2!1dw`;Dl*~!Bo+TzIjVB6;9DIga!A3wV* zJ_p2tfKwpR6b2t}2N1o@)3tQ^+b;_y?b&+A#7<{R!@++#Gu2p6e*SVfs+BS7(sZ8L z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|+h?zj@JJ+rfkzFQm&8T(FRZRseNeAAad*-YY~A-YZTXI`Kw(u@U@!pZHd)aj#?=b3l% zr0E1rxw$plP9mz> zZT|lo$y`}?I5RiRl;CIiwy}2m63LxE*VS7;7ughZG($@YmRphyMjBQ}h{>R#GjE`JkXs~OH&m&~}sUeos2jc=`na88ARhSTY*w!jv;Y+o9ZI*LhUHrDsL4m^#T8e7* z;T+%ZA6%$2y=NDDvO?x+-BlS!ranp*n7&2#ebC<%j`cq3KiPl=g2PgFj*mt_!>hZE zw+>oO-10*xPyMd7i|+*CzGA(1|JU~4BPO3@e+WJmIr)Zz-yOwL&XkM#1&L<@_#XCk z+`Y2GXiwn9OpxQ5etl>F(LlfmHW!#rX8rrNr~SvPiOMYpZ@2t^zDxC$-g2KH^B+Ay zI*x4Tgm*M?T=99p{$*2U%jy47PhIcG3Vkt8K9N4f^{=H(gX|`lUJ#ANe2^bt{-C8jl=uU~*+>FNOt??M=@ZTa#SsWV z!x62{1<8TpkX*lG*pDQD#00wlL=f*b65S+qsYC`E?-=$X2_P{^b`v}dK{|=fyGZ_k z+X!S}bI9e{A7-`PY&hgoe#Wr!;X4WQe+_XSAFfVY`s!{{T5#h9sQ#4yK!9WfBar(G zDhEr;4p2S=!7`tLK}=(j0~gRmpmN_5s1H;=zyXpwk(h94T=D4uQUOeB^PwtH(m!!- zvR_7HH-X#^3ol2gJBbW0n!AmX@B-D{)QCfHm>`uG;2`=a|KnE2-9rI|J=0bFU6NH_V=*i9g}!@>)mMhA)8P|_%gZUVKtsS$@*)9ArJuHW@l z{Y&DT+-zrBO}e%uH)Z$oYs-{&J!M?GV&_qJP`m>HNo^Z~{UQbiagVYWpgO_I8>0K~NdAD^2xMS$2uvOT%SBos diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410114 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410114 deleted file mode 100644 index 728972710952897c06edf43bcba59e2ab3dd4ea5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4640 zcmZQzU|=XdynRziM9nG>JHD;o&cC`Zt2*_}GbY|xvB^K*=%h z%r$GRVYuD9VDG!aK(zy3iXs!e3|s47w%fix+v>RDUSbt%*?bS=cnJP6%%4} z&9~dR;c7b242GmdCsu)IAYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-q2YA8{$n?hTg&DZFPz+vS~x9{d#Up2Wr*$DFz9<(d8GRkm{Lb3UB#e8URslW}kM20D$DM0u5N&bdeXwow@)VGZnU9~{ zmGB3|f`C&X(G&(BZwC;)&C|7X`r9uHChggJ$HY!&OT)o`Iy2Q+Pk#P#IjWU0>e6(c z+58W;cFU_TH2Jws|5U=WEoJR1|7J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5He8;Lim3G{_>X|Y> z;P8Dvix8`Q5>r0!YxV`IX9@@n3h;3S>je|(r>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k z7RKweW-h+=8LVi=v<9dSMyOjIHvH?V^3YJ-r*wQ`?!AQ-60e`!5}9hVPUE{x<-7jf z9)SzKz4K%2Db9SSlK5J1m2=1Znweas4x!hU+3A~IxFNy{G!Gmu*&l*WMNYoq;CDx{ zlr!a`enH}y0KSKP9e1y+FxnG%F_VGc$pM%)9D(YQ!vw?z^9kx_U;x<#10X%zFb)oy z5o|9oPpr=QI3;xbs-U)g;wR3y`uVe-oAHI`ZBG8HSLe88ek2$#jBN{m-r35)^xYb$2ic#XynGla#kPL2>+qx(n41_T zm{~-*>6<)e&8&H6ZgqLiCf;2x$K11)Im%XcN}PQHvWtP~*M|nE21c;C!1R#&)X+J5 zdlKi@+1-hEHMg$};0n4_XaWDVB{TMCWi2l5(+{gti*1yDvi99! z%PAZ`I?i;>VM=xmXCXm}<;WgOYMoD;q>IiDYAvjEs+6&<5Q+_5srRKk? z`CP{ZTn>$aZ`Q97>FpRA$bm( zu3-9LG|UnhA4sEwACczEAm%gt;D4AHjK` zas&jR`4%Z1fb>%8cMSWH1dy0u7k~(meaHZ}+mOl`65|8eUT`}ANdSoncLuR;V)&Gs zGUt4%?z>yB*6fj!Xkr$vKj2Xw_eEyfr5DaNpR^;PCZgvVxJ5t)EW90If&}Y2phDTR zsi63S>w)P7(O5i$lGcbbKV=RH=7anI^M@16Ei|x)5`SO>3z7g56Xtpn(j_E6f$C;* z{f=Qjk^mBu47ZW!CaFs$u(A@vUL*k|CdqDsmpdSxM7PP1`~kNS$iU{1h`e1#O_J`( z=GpyJFP^sMb@AD)<+2|=;&kj@J>olO18cWnYis?2nhi_Kjxf83Xj_YEEV5q)bP=dM zZw1r`>Ic99k~@)@aA}Zz$N*Lbg6+rE)*{kPz%)ryH-X#^3ooEu5HLvGhEiUT=q6B~ Rj2dwW4ilt078XQc8URm>LOcKf diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410115 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410115 deleted file mode 100644 index e073844131126f0be0ce077c76d8dc7476f728de..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4864 zcmZQzU|{&d<}}T81-op;cB!4=6Xj;ike$_b!YC-$Ve;D20|$av1CI77FeEKHu^vPN0V9Z5p>kGY&)iZrU(H$3(QB4iA6}(zlxZPq+oL~w>*?GN z#y}+wY|A^1*|NVb5O(~t!Qg;wd-ot6!e6Wqj}-K{rKU%z=p+)M50nvW!J{*wv` ze-ZIYO1A#6PT8KG904u|Wj{udqDq~H%+;k12`}oo@;AT92+eeQy5M5h`}+RE`AUMi zTO8Gv-bp^_@vEz31J_2LL=%$@^H%?4)%#J?{(n+yj|zimi!<+oZJU>;fLzRc{Oqoz z9uNxxPJu*I7<{}PK=d|G*V5^4zbu%vXX_mkJDn{J2mk5JRAW8)`OD>~R>r7H(|Km| zKit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsxFc6F@ z1_lNx#4`bW5BoaqURhzZ zC-7n>!^TB>^p1j+f(S;i8-VHHJ@5M+9V>Q(Nm*}HT~wgcdM(1^`qXckW;3E!RX<(B z$mRX(M?-0KcYE2PNjK8mb=*8w-U%?{UNTRxT4*o7ln^J-EU^10m{~-*>6<)e&8&H6 zZgqLiCf;2x$K11)Im%XcN}PSd0`;#G$Zn7WpaAY)g8CU4SYeugG)Nye5+56r5o|Be zk2`ig-JGSoiX$`eNz?V#}xm-r%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0! zYxZSeY+C?y+Exap?>0a^$o>T7(Gx&1mOFmVVkQUt?mfA9QBto;I!C5h#kS>Rru(H` zHC}ECGaR7$z8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*Wv}P{8_8F*7qNwH;OgSUi zf55Pe;!(flb>sG=S0y|Tzq-!czT)ol%HQ?Lv8R5v9N*Dqe*NBUvFK>`9X%ia8pN+{ z(zNB-ZV@g2TZik0Q-`6aq9YH`KyX+ZzIJ4uu|e_7G#1tDS1R99IJupbI(?M#Jo8ST zG@T%92vnECARu;{fk7i2$VLmxlh>hQoCU=NR>sCA=B7Xas2H3kBK(*FLW2T)T)}$5 z1QFrF!1U`w15^hi)U6I>)ho`uOBXnILuCJl@&`77Vc*y86)%6WC?TfMKIih?51end zmEFXr?_CT|PpgkARJeG}IbAv8xPqfHLyRv_Rap%+G z$wsj+AF{um{=(>KpK>}Z`oJY7P(3V6K;-}ofWnp;Sgtt21c)d{7^E(h$Uw^?n3*u` za7%y!7;-={a9qL_gX{(YsQth+zZ5FR2o!@9R6qgZ+*G`S#%=<+9Tr}L&25x~7kZo^ zM;s|}2o4jpwgoJHL2_WTh=@z#>nLbqL8_}j^(hR1(lxp9M7uDd%uOiqfy6;#!n}_& zuc5~iLyYN)gWtU!d4pE|`jIF%!R;pnPJareId|5_eBiUMD%h5xqgM^3n!TE zMAXlaa#6Get_P+UL}T#~N*X89d{8+>toa~6fG|qBp@BV=_yZ$YkOYvJpb!KDkbjT? za(+bb2TJ0gw%|ixJ5E1(kz^w-d~EBHABf8jI|K>cMSB zYoI<}m|hSKvjmk1SAi?M!S(~o?Nv~fDCv_pH`(2zv710{2Vs=FIY`__NqB+U{nUs< zj4~Y*mxUKvofOWx@&32DHes)lBloq|)Vd;*;K%b#jd#07uLQQ0!2nwt{RfqUg*iBl zfW(MshcmFRfAj*{77qhzL9Qogl17PiQwxpVgf)#061SnGQ4-w*>Q7N44zZ?DP?`b( E079K*-v9sr diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410116 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410116 deleted file mode 100644 index e850eeb456602944e73d0130b7fa01889c971003..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4692 zcmZQzU|^Wbe#uR?_41qJVxJGoX&&tTWh3cxeCpx-nk>IIc8Zog1S%2!!say1bOpO? z#dfKk;S=R%%#fYccETtq*J1M7(gO#ASI^~2_D;7EcjcOT$G9Y>p>YHEj^L&z7hMF8 z+1H=h*d_xsgCS|ri7g-+2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsSaY&A{PMmX?ycSj?Q+%DWXZd1n|R1%f_(6|-_xe=+T(d$)~X^!tj%JZ*TkYz zpYObVp)k)<`>OoeSv->*_X;XAhnN@i)mDYvxgWROSbA=OcFRMK?EZ6GjJIStxGlNk zwCb>9?9pYS>5Cj5mV__A{z#I=Y0Dyo4HnEid~^SwGE?MX5N&bceXwow@)VGZnU9~{ zmC^uWLBJ`HXbOXmw*!dY=IL5G{q2_pllE-AV`8VXrQzT|otbK^CqI9=9M#Ggb!j@! zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{9rQWQ)BBh;-9r?zW;-lleJ$EuR)VeC(@`QD7vW_UG`WmTlB#oI#? zj@wzEEnT=tChP*U(K7>Wo&C?f-c9|z=%?JNK9@=DJr?5ZAY(y>W`77i6*>8agWny+ zQqGi%`UQz+0{9;Gb=V+Vj~!x5$)NQ3+;VWIEiXKLZ;9UPkL6IK}& z=^pABZs2HZ3zP$eIXFBBn$5rfatDL#93PENH5qEh9T6Z4mE{P*rYtMjbcH|EXlY%{Xp%6uX{?ez9zle*Wk zZQOj2185f5OkeF6DW>upSd8a4ef_odg<3+|49%GvUY>m*G@o?_+x~S7{7w#NaR~D# zI6MjJXJB9hxf>b>3=_;OqTKXN9QrtU&V*;0!?GyRPjA8qHuEaO{?_j!mmyRv9RA)XSMKt zRBU{#O-HNj0Mtqy2n|k)ASO7SLB(Kc2wfZ$mdwC#a)PQOD$Owc`XB=hTV!*&L1rKc zATeR4L*fq3gX9|qnEk*yWEE775h&&YQ%6L)WMKOB?gNe81PUuycnvnUQ4(GtKfwSc zaR?3*q;>$T9s;E=P(cPx57aKdzz#>`Jr1R-#00;ap7QMebZ-vKm`|mpzW;MF*3dk?~IN|g1Oc&R8i&fotpbAr< zG&oLxY-BTFX~hXK*5>U(Bp|gbn&7IlOhw7{v|7GUt9K%v;UQi z(EI9>R}wqT+q6FvT!osL@*fC*Y?xh)K<+=N94ude>RB)#qVLDRzWz}QwEq_l)P!7~ z!z}@d!|a0?3?b3u2bRvj_5<4h>!FHK@&%D@QlPP$KyHVH7d(9q61PzjUZ6faHR2E> KeL~|BOaTCIg`yDv diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410117 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410117 deleted file mode 100644 index f7bec35bd6b8e0865819d99bc0be8a9668417396..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5832 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 BqR#*T diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410121 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410121 deleted file mode 100644 index f20bcc14851dc3f9f2a9c130a43633815172c29b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5944 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 DD47MITN<7WoCBnv)2b-GPy6O zDIy|uTX=bB__3b57Kie`JUOjX$Pw}N%F$!Xrzpj#US|+(@#cN7ZS(RJkc*j*pWRjJ z17bnIDUfIigO9fZh~DPuS~~shmj#pdY`tS*r?aKu;6I(2YOE(ef4Lmh${2NNI?rtW zhg-Yl)fbxlT&I63;n|k5_LYCOl>a|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR$)28* z*rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS210QK zRL2a&Od$2EQ~&K-6CQpdOZI+TcJH$d%sLCT7YX0GGG99O0;9HbGy}hr127D{fJ(t} z2GRor$ZUo_p{Hv;)~}H8o@%sr$<(ZBvmMtKD(uX?w1%yss(p6GY>)<~UmqGkG!QU? z%>~Boew(SHT}x^z~q zZ)SXF_IH!3I`_^S*lyX!7chkbXcpKH8@ArRV>a*YF>HW(R zZEe06+`a+zgC|Tq$PqvQ@&ni(1obm8uz}PDyE=pPF&LikS$*FuLf*@hb8}#A^kny` zhk8$D%`JN6`(WuxcF}tb8yD@-I|^0`A{fDL0Q%QHY(>q~F6IYG^~$~mx7qU^Kb|4z zFCXGG>3q?I+|G}O^qxlg^YG2)n)EN=(9gvD3;IhOZY0@8>@9Y)w%gmVlLcrN*uRFa z9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC&(1-`w55#bgwCEJf z-<$=-1y;t!#wG?3S(rL7o#G$(l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&Avb_ zOaY-m0Y0v9qZ!gqT}!T*#aG(9^;f>$(JJ*}V!LLL6GY?#Sc1$gEq0virUGpe@C99gyJ7L-E488hp zjMnb#+7_?7tvMnCb?SOfcCrG^V^(bwzr^w~Y2n{~g-u(ymHQm`g&nki?AG{h%lD7A zi*JTN?F8pyARFdas4$oUg)K8Qt%C&!<_(}K*|Vt($a=sUp#&C77(wL;Obv17r_3S2 ze2^bt{-C8jl=uT9Sdaven6OZSq7pM-S zMjWD-7vQMuG*PX&Y3S5?q`}YTU)|mgL*r*5g6f48FW2SG;*aJz3XN~{dIQuRfB{&T z!_z1c?Fj~G{sy&4Fw!BC01^{s9nSI)ZyF`eO~pHaWezRfgf)#061SnGQ4-w*@)rs~ ziZ~=DTnV~*P`w2&kFnHgFgdVUM7WLkwkpg?h&C&-dr|6ABJ2gGYj_$$_akybN45jz f0(AAb!vv`gBEwB6b|Z0+m@p^d%xhT75|Azc%N(9T diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410124 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410124 deleted file mode 100644 index e2835391baf76019054fb99e2679ffac6b981d56..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmZQzU|`stH(B$T=uQE~JG*{Qv3e2zxpV)VCaXZz(|9mII+6f1=J|r60@<{yf|LVTJ>PdwCntzk)T9e-e zg_m}G*q{kCgCS|riF+U#2pB=c)uPOsNdezIbJ=Gl9cmkYEJ6512+w6&KCr{q1kjcKXqr z+rlOm3l+ol_*Z_acAS~3r)|pXwEk+TTY-b>?ibaqF_J3V^Ph1rSdI>liOLT(?==KGw<3~v zNLqA?4afnBaTXL8SQ!I>B}5jc4os)`2R>ygkK;R5?Wwfm-c`?(`2mOT`&ooo?UR`D zd0(?HPzzH)Xi$KUD?~GhOh0ukxndSyY46rw`FfM1INVN^SiCOJ5U?;_r!{l&wa;Lc zGp03wX`maRZgucabU9(y^yiagOeDeemf!Y|AWWgWe>20N7;o-76_20fV;o&E;Wbemi_deUetg}#ik?^f6 z^QB`iFlswTBc%~=nu56lNQ3=MP(K3$IP75Qpik)OnveA>B)q2@?Oif8tJ-YGwS@{h zb1$u7tEg(9oiUqXhtSap&E>JuLa(Gd=KO z(3Xp~5#Ld5dst9moyLKccyc*X=tc zc0+ZRZg#lO(#BiTFGG80IO-jG@q6LEhm)bUf=dIK|9~_|FARXffEk!)ykP=F_@6=Q zQi%*&K7(mTPH3>S1eXIcki#4#4vIGhnEk*q_a>MRiVI*_24yo4=ceKvG+&Bb>30l1gi(il&vH1&L#uCh1umpn0W5{U^l&;B*C)$MxWo|7NiQ@~msoMq$U|QVnP@qn9JdZh_?sP~8g#1nX*` zDyCl_8lZU=stZ9O8x9pkN#jJC4=bk-2Ez@*5CZuD<_~zfp@BV=_yZ$YkOYvJaKE9a zW90mZ-o}Ob9aI;9&7yXD2<$5Cc@-8WG_e=l4#RFQ!^Afqz7*c|`m^pz&VOd#L%nwM zpGACqU3*}EZw;qG-`%IskWBdx1h8-c(LnA$s2p;*frShSx6K&X*WZV=&*FiaSfOTt zDWr%*V!~D6ic@eMj;jtO(oGD|HY2Uv1adnpybyVexbUL2+hA!B9MB|&R{~HIHR2E) MCP;NC*ex&u0N!W3=Kufz diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410125 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410125 deleted file mode 100644 index b6a86033b83951c4dccbd581da67f9d42fd336a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2492 zcmZQzU|_H@sN=p?HkpZW`|T))4rPLI6LH)OXdrtIZ4<;@G8%#S^Ozwn!}q+Q>5V`I{h+(-`zFsii<3RXp1lJgKe9ar+{3{eEjT< zUq3)B2si~2O=0lyb^y`aJY7qtzx}dc(w?n%Ozd>FG#vb=GgFQAa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqQag=;@k|^(!R2ryA{DGBvB(Y{#{Q3OjQztzoOEYM-4kn}OfS0T>3}K=t4_ zgVGX3hAvSl=H+Du2Hq*zE`IJwKIn1{@b@EJp4qK?ESdx-e((_brxzb z625h1zI5ybMs4S4kosU(XCTEu*eyUc*0WB5)dC4du={{%q{{zA!gJ9j*#@(A_`ayn zU{2ko_3is|ttyLFZIPASJL4Cn3)*#*Rc0=5{h4rEDy>+gXX=XYic!{SzXfI+d^!p8 z7brX!3{Uv1zHb&G@8!w4Ij}Z*visCSy(hEg7QOO)uyiH6=sjpyc)`>IX^>tCw^Z%W z&@AWRvd~})r#$zZs+8ocTr6R+Ve9=nCQ|b)=fBxe#dpQ#*y^*VKKoss-oGr-*5-S` z?HeHTU|~VfEgKi@(T|8EY-&p%wv@#Z4WBOh14Ute}C__!}#_NP|kl>S@q?)#V2J9+eS*v#x W%tCfAEKF!(FSwq=ZZFs&AOZm6o4~CA diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410126 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410126 deleted file mode 100644 index 2556389677dc35b93d336ceda4326f87700b7c53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2748 zcmZQzU|`70eR1ggI=dD=iJhVUnpb!?J(BHMeCgw*;-&TrO8-@{0+k5c7}RlJE1S&3 zxczpNLx-|S=Izswn**cQ+X>z|vsUZ5ZWrs#<+Yp#&T&ncRp0#BcVpA03rqH`N_)AU z|J!%JWj$U%GZ>NgGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>Iha0-@dnO*6=(x=1!VmMQOW93ct?qfIcqHN6V++f#>y# zzt>lQSP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|IbOLI7iVcd`A|%fQ=?t@{()CwM#U z+N8r7F2@6PgTr+TzszM>YPC(_8^ZsLs4Pc_=RWNKEm*^X-q z6?W!cTEkXR)jm68HaPr5TfAZFfix(bBqA+LLi|kq+=8-$3%#|yBMVGT3kw5nZK3i& z3KE{HQ~&K-6CQpdOZI+TcJH$d%sLCT7YX0GGG99O0;9HbG)P^rt20PFVYh5tv`0U7 zS_4=yP#@TRz%Wf-b#?t@K|UG3*7NK)y0zcbm#y4Y?3LYQc71D!x6bWfGE+46Hfr+o z9?f+VH$C)>wbymky2sD^0@_7%_fB5(j}K@bQ|#O1tya9>=XJ09%68->wVaP$Y`hn+I=E=px8v_KmB5NXoaJnae7O|U*)cmMmp=0l=D v^&5ai-~^aH7>&h2D1Ilx{0G~3ZjoX>sO*E6NkrH4NP1vy2hmvE50?f2pJv+$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410127 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410127 deleted file mode 100644 index 8907e43a5156b72adb1568ec3d5977de243d5ae0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3924 zcmZQzU|6u>{?0U1ETIcL( zFx8uKLj3~J42GmdC*FZ*AYcR$SBo-lCIx)=%w?bb=!L0}+57)5F3-_p+rN6Flf3w! zbQz!$2j1TsS595JuHsXS1yA^!m<{KP8a%Bsy?-*Q>?-HdpW+~TL-Ek87v}{^nte2U z?|#?5dBVaeYN?Ur``Z_H?kw%#{UfnWzx?S!PXCv^&7px$WbUgq?y$|!+n)9P!J^3< z9M&zrtS4Lb`TFvMcJJfA^?%v-sZI2sy@J`^==1x_&mC;wW)N-h=Y6nk^YRpsi1#WZlq zo}QD~qU-HfvUpa)CQF~tZCA<-^m3Dfw9f0^{HS=KpC4!-I4u86{kdZOv?n)3Z&*)No&Bxg zsP&|vGM#1T=d^Fw+;VlM3pg!`w)laZ0doWzo8geptBbE+96YDH^@64BjvJo~1k{#% zdHUe&iq_dv{$$L#2+}8e78Imlzz8-M=m*c+*LUq{tn)uB*sNC;V|6BDqv)x_2OVa5 zsl-|}DMqDKo$6l3GfW8&qHFGFkur3VNLN+VOCa9{?OIUqlR0l_eV8>1~=IvH98TH1AHZB5*qb!UB`11T@TZPs4->w(Ecjtr;q}K-+ecVESM*Qo=-H z!enukIS~7k76r|PszeEMV%%i)@3RPv-Gnub4idLf5?-M8ISN3EI3y-q2`C(p0WozN zyj?=Doxkq>gKa#wM1dA;0G2rukSzkSu{a3D??jk?GI#1HQp`uGYl!ZDkWkma{0IQ} CV)f?$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410128 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410128 deleted file mode 100644 index 75616c4aa621a3812d9bc9fbd058fb9ce4f11316..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4956 zcmZQzU|`@kpRJz4{`RfQ&M3B)z$@VzGW#|!i9TTAy;AOk%GUpyKqbO~?2{b-Sk+vr z`hKzQn)tll{HV9hTg|UEDg1l0A%D`%o(0BNbRW+x_xi$oW?6?q-=Dm9+r*`dZGReR zHQhdP@lqhr42GmdCq9E{AYcR$TVn+_?XK1EyL!ONed)uk6HfAnH;1~*90{o2*Tizk zrW>flLE@Y{qiOFd{|ARce3pLSe#!gE%*~U|e1E*<`rYRy?5#43CM^1TI$(P1^&S=1 zcPy))b$Br=*_y?iTQMW%Tv~G{f2mvSwX(HO7x8#~;(mYPhQ0OLQy(h-=e#`pC}e9A zPr&Xo!3;AsG#-e!mpu0`S;yuiZ=mZQDV}Rv=MwaB@}!rQ45BRoybrc*UY-JSG4t`W zf3!}3SP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|Ibdg>NWGJ>@q%Z)Z{s(;u|8mKyOiPHKf#BByQUv}d(taN?sC2)1HY34Fbw>G zO2Kgk(gOs@Y=$RAj_O@4SB>|dHrm5f^5Ap!_Zl0Ah$fX^+Y|16I=t~TNQ3OzR1gIM zj9_ztaqI7#X>f%5z4r1*>!b_&8U8^|Gkr4eCwQJ2=2JAY1)e%b2+azEG)DgJ>^nabn%j#Yaq?YMWGVgNbaG0zPc#8J9;6Sfm!N%6buVo%m%j|*uW5U1@-wTYYmUzlcyj*! zvWy!*^Ozh%JpF=z3>Zj1buGDK7GG)a)?fL0lcPA?PL)`^F3%9KFkYuMbMZBB{$VuK zg(+tQ`wtkFM_wp={Gr0YD=e{W-}#4DyHfU+*`6wlIQ-!8v-`h$ryodRGW=m<|Kv>O z=?SOqZi%0IVAeXb8@~U4+`eW#-?;P_KhQvMSf2XE8rCh^rC2O|vrzoye@1VwJ1M)} zmR-1aNW*_mtJhQp2JRgU%vx;>%%w3vJt$!ba}Ic&*lon$vZ>h!k-HCK=Cy~QEEf1Z`{iq`V`Mqch9H9$ZWJ6%IO zz=o;)srpx@UTUVb`p+h#DNS8g(d&O+KfO3>i)-I2g>Ax@z>273XQWdE*tm&l4)3S@ z+flbC@<43hzcX!0$0h17oMTbYX`U8Vc*FTP)J{f7d@wk0sT^Eq^{$p>VR-V_#Mava zd13s9`la!1vM;g>R?XVOmM-~%=lh=37B|iXH^^JFome3hvPZhu=78XY&cjCqwt>PJ z9QTKOUR`|s;@~;mtrsk1cii|~AfUG7%hLyESG3Na@+V`?MPkZ=wZFCBUX3VX5{!QP za>GO`w~GCnbPbiK8D1BjRXAlvT`9=zOus%ffM_6K1e*&=zdBPV?Vc2nvtsd*wD;Fm zRxD~_zH4*tiJt3Z6Rz~F{~UUY9@spK(=M(RyOqE0i2lv<8E@Awjkoj_O3l!{`uPgT z4=k(;`;JchXLwHY-jX9eja~g~OO+eluRSa3-<_@2w{)I7*hU8C7Z4h2+69FJGqk(| zDtKvm$f4N^uzjYd#dG6*B6PJyW)&iq6PWH-U|f@mz}gZu#V2QBTP#2*;WMiM|` z!hH%(pKu3sY?Yjpz)4jFOmQflVmqB zAcqstc^Anaa2tUPYz|rd?r8s)ForFbpM|7TTbOn(XWc2qwxH|4lAb!V_=Lkc5dEa( zNrG(_1_p7DGGI0*Gfxs{{u7GxBn|9A$&)0Sj}d)H0!U1Fj1!;kA^8<0PYxQlA*E$v z+@!U#9v1HyVS*%p#3VVqQ1T?vZEGZdz-KKS=?=4Pioe6DIMg#S6 z!t{b@B=;jR;VN*YL9qS6df^IGB}%>^&P|mMY3wGD+hO4aud4=$+b9VyP``j0aR?3* zq`Dm(l{eN-oK&*Nn?LB|um775t~%g2S?5e{I%lhNohC~r^G;~Ti1`IH?ZVOwBar_K znigPT4(ii_0TKNxWqa^ddjgs&JjRR044zZ?DXnZmN03aOgs{jB1 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410129 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410129 deleted file mode 100644 index 4ca0f447731377802bb7b001d4b74ef8a20162d8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3972 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410132 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410132 deleted file mode 100644 index 93d201b17a1100ada9b9c26f01a093c77002575f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6116 zcmd5=2{@HmAAhgqqU@50gionx3XMBR#+F;?+D4Xq=%US9XhBU(W-LAS<+{_t&?0LX zUkfQ3SCkkn#@NbIGALg)80MV!-uHg5rO);GJWuC&?mhqWfB(zxznt@)dl3XdPF^0{ z8s0b<5XrZ@amuvtGqHLX~fpIs*}jqxJ?3GT(|&%FXSD9ud8gxr8hD zUqw{~+caic)<%cq*1KOHC>kE1SsKNiyyI9HnNnC5!+qnf@T=eRYZ5nZjs!Lkw+se9 zoWUT#uV(-K&)p~=$X$CQp`~cxm3h#r#_rZ$;JUG10xsW zZZul=s+>?wTf@tEH`3(r9l@b7MKE2Yvm{D>?M2N$^S-Ec=_wA3xH4WGH2ILE zcHZ~7o0eU)il%DJpKlTB#9!`KPN$a0J)paWE9s{{IsAN|NRUzIQ}>>$ijfzS-kd(7 zzRZ%5pj@lbyxuNS(ewqMLeW96D(tzNXZ+%NE6JMusy z(OND{^xUPQk%;U3CVsu7hWuqM`XY@M9u4y5KgH9+R&On7h90FJ?iKau8-RNdp$?XgDI!YO2PxJ+vs{L$A6aXWRO(!LftbS3jlLy zUVK&JzT0CxnSDW;&yYA0psdrN;1n6wA--p2YTbZEbs&%fef$jrK@<`JJuNQ`MJ6mZ zUkJ+B?qqWLmHWz0Nz1vENXUwQD;#L1FRn*Y+N$1e9{nulcB_^ekSaHNEx8>^bAW?D zF-Ap^Ij&<8QF;vFugXy~pkxh_va8&^7q}Bhx#I3C1`dJoEO!%8~xX zit0ScZ8skpHNPxNsW$Syc`QgaCjLX!H#-Is5)~|T^SW|NvtB*+|K9jepYx`>wzfZO z@whhKw&?RbWUEQbf;iE77-(o*=!qHlXVDv-J6c<_khTf2PO%#)l>>|&R;!wPq!AGV zeX!?tVe(*xV@h2ZlIstVYSyRk?rb)YH}y^a!KriIvDX_Pj6|H)cNR&4y^P4!yTb_% z0%{lRwX`JP4c+Al?>r)g&Mgn}9~y|0D|3?g*X1(Xf@^{&tba8;?pS^_z}PRHay;a| zu+46jnhqavS}k%J$vh}BabpRvg~s6Nq1x~^Gi-lXr~0@=j;0dQFSFg+R3|yID_bvj z*q6YH!5aF809XUk=z30l1R+9MYhy!HHFs>oK=W>YE-}Y}R|Rp}CPyoZ)HW+6Z+v6y}q62}bKI0lYnM~e0`dj)F*2P?j5_Z9pz)D{Oho=^W` zFt9$x<6TJ3@pe!jI0lZy+%xw#d-dOP^1t^1^gG2jZh<4&C^)SX;-@%F=;^#x=#af( z$k9Pyg#`60b86~{q>TJehW?i+Q7nto_bS^FAh5kk!I*QN*Wm0~f92!~&^PeRo`E07 zz>%2sPv#r-@0L-+ydOZjxO{VlDYSTzG0l1=d?wfylCSCghA--TYKWebvz#MS_VYaR zwRqU(*|F+k*$UTkhBuP5iW)vc z(0B*W6xfioclmJ_UJFm_l^Q`VZ3d#;q}{t#W(ojU>5$CSa0!-*r= z0@HJiy_Zn`;Jm11Nlxj14({FnQ}DAz#sslr`C{K8J`-#U$yXwXi&+PD@>#@`a_qT(yTV^Uw_UL)E$7p#@FKM?Z4E<`DAPoS74J@||m%j)zVCCt*J?E5DN zzm*Zb{5Cr4_p&SS0q?@>fon`0$$tE)_)!1gJj8M}CFdMsA}uneS$p&|!M2cmxq<5Z zKWaE@j~0#8h50+J@$txb8n5?D#JMN}aoawZJ7IDu{jZf76^WeIE8P=*Zu#gnU{6 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410133 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410133 deleted file mode 100644 index 4de7e0edee48255e1c9c48df83095756dc3cbd77..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5288 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410136 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410136 deleted file mode 100644 index 36090a02c26e8ab5e920724eba49bb18e71260fe..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5032 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410138 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410138 deleted file mode 100644 index 07060325aa8de28137397396550740eca69f7941..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 zcmZQzU|{&FGx2p~na{Gwv(eQ*C9jp9>kwg^GtVUO^5O+gCWqcQ3sfTfFl?!AL*3^E zo||J9Gk@D>SjKT^<)(*?XG|62CNB7TSc7%1weqGzXIAT8*mLKT^x5xSho5T%**Q#% z+3~P>L0->FpcxEFi%x2QXdqw&5i3;AO6-|i%I2#%D>{1366?dO^o=qtL~VQYXKy{7 z`@tBf#NmKpxN7AdGjRvEY-W+5%iEXy*)vtTO8)=yi4jwsTjCPd$@1Rdd}=aVY}HTB z{o*Iw`@8zJ*sr+;{mBphll0~+zY6zN{&b_!Rc)|HRq%mnF*hxR_?Is0q2JR*n6zi>9TPj9Ee!|%>C9APJ^A^|<)~K1s7up% zX7fMX+AXiX(B$Vj{Zk3gwv@H6{IjL}|2YfY`2{zV%)@&$OmupGequ=Z_ct{trh!ZL z^qj;NWrx|TA5^y6(1H!&~} ziYuTxW*}w)sXrOXrgp(nB%t|#x?S+=LvKRwt(|^L{)_R;l>5HwyvW5FUHJ?lMIo2%9?XGhw2^fX zeagrmrIeIk?5?8jB)KQ?Yr^3hE9H*tJYV&TK@X@-+@tITOgR(SEx`1!Gu=|iN>6CZ z*ER7oW;`|Q@^Eit+xhf|dmj6wG>4E&W!n{496$O5Ynq%{?>Z?x!8$)J##=%4pS+M~ zqVLfO3an5!I26lFHuC)DtIzuD;hKwQ9{sTY{7CI#Rkd*Pzq?1DDWsL^yke~mciphv zCE_IiI^huA_B}=UsanQUX72f*^nTMM9-za(;b-{Tk$J`j#WT}bRI^{Hd`scvc2?^2 zQOfhoJ9*M{g0LY_T?&JM*l7j^jSL_gCH#^WoeF@8aTXL8SQ#6em>K~Epki=3#Xs;V zQ+XWUv1(7H9rvz!rpymGeBaL^#A=_!l+XK`eSr#@0z!iVd|W|VARztJwd9Ife5Jix zf92~7JLoT3s z;BeXAw?aEzRd&Kl@ySencK><5oHq;bTjI0)RHn4y^sB+_;B+P05(!j~945$YhQnTl z*X=C?Zr@{`@Q z-BWfJeLN(`ar1m#!O!y>+m`02DAjHcS{t{v^|TqARWh@;%W{L4`_{iYBmD7t_)FiH zvX#$DH=m!x2{em&=edcWzT5PKcqlI9FyPTzbl=T!O=xZ1u}RkL$vOFdPJnF$#VrJ& zxEm@43I}Ee(cEKDKH|J+%)}0kfqCmwPfZ1gNl09H176+mDoe1-rrx;q1Vm>f^BI29qIsr)! zvLCRxpW%YDonh6}XA_QhhnzX#8)1JYa$$Qw=#Mil>ukm5?NCXA>QDI(1VA>-2u2|H zA5;#OE>Bt=`+lpBrJ?seug1Er&(a#v^z$V zt7Ud40JmKZl_ kt!#qDJBGbT0!U1f-2@LqkWQl8iAer{+X!S}a|lcx0Mn?3@Bjb+ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410139 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410139 deleted file mode 100644 index 7739ed9f6fb0a90175fe073aaa019799595cf3aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4904 zcmZQzU|>i;>Uz{_X^P(UtdeUsx*CPEm#=JO%Gh)*XUpQNjH_kVzxI!*SLN!Q_&4Hvi`R<>OOpcJ zKOgAdG-(>p42GmdC-p!y5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^kiE;n$(u=?<)En7%xN#LuUWbD`yOHazQ@Pg?n`a*?JMi&`*DBDpC$MIFK&MK zW>Nnld5L|s8-MAY?AR=!c;`+p*LU8U*gWmV2GRaVj@$`Ow;#>C5?mj!L z*k0;@SP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|Ibdg>Nc~|i!|V1I0=MrmPx!}G8~1mvLT$wKSGCRS`2}ZbSN)&D!0+S$41*}3 zQgEDs^Z)@eo8i5f`p^Gg9pYkdNB@q^X;N>`I^H29E9t1){8yA+Rpbgt1Jkb$4Iml_ z7{TTO<5udK)V|=YdJ`7Ze=)C4=lP}5zT?o3pcn5Ovu5c@7WjU4i!YzlbI!GULPEWg zhtmtz?f1iGuTpD2Q6eTN_h~5y+z&Rg4x&#P`JvBz{ded}F2Dk)7wO zelh3~1(QzcTLjOGGEdV6v`;gBA5E*sQTizJIa#Jt~~GnIb8N^Du@CBMzFa+ zKlsMSaep+<&)Zr4E5{*YR>lN3{*C`Gsy9}o3iK}fd2N$(t-!fkjmO%2_3ezOT#s#Z z`nEKnYh#%E35k<0d8G}Rfo6f@;nX+Qux`;V#bW83h2k&&GkSa7N!jhT?83c68vc7) zy{0lSaPMGX)@oy5E{y}(4{`(+05T5*cp(%6QwaAHFq5$PU}a2ZcJ&|z$b81oU>9c) zheLLr!i6r^!lIIPcP2e;@bC0VVm$Jh?Uf_GtwynY}~{&hxb$d?Wo%mc_23M z-o5n{DZV#?=z&Avc|OaY-m z0Y0uEEfA1?>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgL8@54K7^`fV1&BW zq3oLXjH7|8PCr;^l{o9%$y<&kK3iU&i`#JQmQ$2+_?Fdid+lzBwfFvhxaHc*S`{88 zRl^5M)(4xuzb$>o=5^6qP`I#!+(^4T(}k@mB&jWUM{KOlovjIng!ZZbVX&>=a5z@v zBg9fho&P`pWW&=vkoynnAYL47P?$3V%QR59fdMgjV{ux=R%rf<1#04iY6VkB5rV{o zs{qF_oCk9&)P7){2+KE&pt=U8jyN}!chcBRAh*N9Yp}VElJEkRq11>&aF`&qYrxT` zfB0I4-OqQ?TZ zpg4r*8xsAFVLy@p5|a$Kk?1C^l})gC$FLVk0EtPmn?UIn9!^BJ#gO#CZ3Hr~IYi;S znU~}Fgoz)y)^v+xhp9b&QewE4v02D(3Cn&PjxXSL4p1ved6Hn;8E7E5&4`qb3Ahs_ zEfZ&c3M_7rjRv!^gag(*NdtQ*@dt*pkpz&KaPLx-CrR`>hW$taNK7)^hLo0xag)@g z5*cV&jA1X501}gAH=*Q7qWgGA{(##EWMFd$=WEvGKQ3F9ccjKHjbT=dkrry(cVQ!6 z()zaC&EF;n u3S4OoTu%er0UA)1DCwU_H`UPCO<42(AaNTd;RWgwQ6mn~>u`9agBSqgKx|?F diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410140 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410140 deleted file mode 100644 index 66e0dfc0369d1bfa2579cb6a669742629285c291..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3920 zcmZQzU|LYm9?P;U*0}R2 zWz#9m&?zgXXYDohV^8jSRv*uBtV=HABg-kx7Y$c4_jj-LF8*3&o+y8~aQ1ZL$>rM` zd{u7?9od(oUBu;d?Oeh)@1Wn`UX-1XU3}~9q4IU}WUK!(h_=M=KG?Q-c?!tI%*W5M zy@~*_Am9{8G=;&(+W|yx^K>np{`Sj)Nqe^5F|pIx(s1yf&P+Adlb^p_j%sC$x-^|< zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lqgty0LO%qf&CopB>K~OSfk3uHW>* zv`)NpV*fq!1A14_r0rnebWf3M%7gHpPQ`{hc}L$i=5PSb0{b^lc>0>EIjX+6?T)hKvnvlgp#F^p*$r|46db!|{VJ=3&?3wfq|oKdX@6aX8}TSKD7(;ve{wsXUJFShc6pj(b--Re;H z;aUIes>g8$8njbb6V=UFCtVX_W?H&8eaeZ0mcI(F=3l=4#iHulqWjERRkzf4lq$16 z&)`_0lk@k&X`ZS+OKzZf%!hl>u1~R4bUmVhJOtJb|ep&is@)B$yBK z1I!<^w1*OZU<3=201^`xN{}=U=RwLYP?&@LhgPS6$~90NlIwR2`;i2Ym~hvC^CO&x z&ut{SN$OIG3^d*`>_rklV!~ZPtefCr2+~P(nTF&KxQ##tHiyV+RNUOtl*D@RX{UI^ zZI=(#vFA^&m=ckL0Er2g#uav8`+;dq52_L+{S)aX2^zZzV*YGri?nmT=j%)|a f1?cK=hY3<0M24GC>_*}sF=0-^nb)wEB_Le@D*BEq diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410141 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410141 deleted file mode 100644 index deec866524beb14762b4edb39efee5a6d32790db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410143 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410143 deleted file mode 100644 index 6f048fd6d54030cfa93c96546b85eb6428842523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5956 zcmd5=3pABk6#kJs$|JcRc|}MiO=!B|a&ZfhZibZ9l&<6zQCE>d9^=srU3sLJv0~6F zuiI*}XP+GiY#ri5zb0=$ES8^8p1>Na-i%RWs%BdD0GF$Seg}Pq#f5zDL%|9+Ytna0{{`)ka zYos#w&1XCeGPAvINa=BM6QnO}=npnDHPV>w(Gn0cr>yp2folKT!)qu*GLaWD|J?K& zr8_uV^1FPc()Y7or42e~vk+aGA9a5_H{WpeuYEp+`9^&vU7HLnOdhE$>7Y4K+p?5) zHEFhTy0&OP(+y)S&xumgDXd0F(ceq8T`bLGK*S=q>!$blL2iU<;3xxeu&2WIqTR~9 z=`Y`$IeLx#*w|dZETVEqKT}tf)Bon4Ta1t!H+^Q7OglSKV}7>ryYowGw!SE1#^rw~ z3mL8>FFqak&||r4lAf{tk#~P1jG>R7PVNzsYJZ&A7Cn!e)fD`2r%VW~{ekC;0sFzU_y}3#R|xYf}b#yUmws?|FNU+UDxWWq?aFV z`sD02>R`nyFY#(?q^c)L-bQ4ssK^Y>2q4M=KQwNj9ZPT=os$i3@YN?9*+v;est*+0 zm2b#M2tb^JobQ>d`^T+)ZAVR~H$7EdQGTvSnKDeqjYA zAg5@{?83!`Q7j-IR9-(_l_$p-JQ%F)FLH`I+bPjiopEwSOKGQ?A%&Y%XXewnr6QQCc!&9T=GO*Up&$80tU9+I7!` zL$*j)huLXee$r^iI8DFV>PU7rDOXDEFF(8n5sEznT*F3$2dse3DF1=;umy}wd+cbf zU|iw&~3rB&StQtu%)vd%?U6#dDS#+-*;Sk?-BN3fC0-*d{xaJa&O2^ zS+ddjg_$``{XkAB=m5M9P!dA-2V!CxVa5y4zWOmdKlhy{*V;FK!=2rF-sgR*)@N}l zeVy%=T@P2~Z7NmWu+uRxnrwJo!<%)H^HiN>Y7)Atg>zaOtcLn>X|JV7Mv-Q1+B6;C z9_@b_5;Lr|;vKYh+3n(RmL<<#3gj4wtim4%qUR6zF}|#U=Ms)d1O^A17y()VI)HFF zLH#F8cX6UStQ=8>{{r|0K{C=JFbyFLD^(?}-o5eLI$o$>xu&9H>koH@9p}nM(@(2A zTy3{d`{n)%UfoCAkd#{#E89)~CW=eD1;srmGdEQ*;Uy>X_DRx+ffNliRG4QTx)diV19jyL3GVK{Ss+`w#?9*g1h+d|V3hF7_i5 z;yPWIBb3#)vS+KxMoKdssB-4yc@)FeHA&4!u0LMB7)X`VdPp`6b4x>XizQKwtatvPl9t-oSD@RZ%3@7m|&bHgJ;q~feE8a1m1D+k8YMxO|IW@)t0^ZB9=vPso58HuN4fS`!j;$fc>AFn*4x%5_B1lR z+P$UrL%)d@H)j=!%5|iXXvf)^T+528e7{Q`G1;@EUUttr)b}(L+ZSUP5Zo8m7XsZu zjEDOb0nbL5b0`ULFDdAq%q;=S!Mo5BC_yZI!i|6d0?VI9&jG&&Z9~HBgZwbZ=7iw$ z8siZGF*!~#CWsyP*Vl&aOZ;U8_Vs_n5cLV6HblcWOFlh0Zw76SDTli*ICYV(x3pNT zjr!J1pKvh??Sje&Sd7uC4Db`>%%~jw>^+Lt9E7~a?4Zp!Mn?Hhu=P7n;CV}28}j3< zKW^?!ft@ee$0x7}0|b`8Tev48;b(bl9zb0<2V=-TH8W>h%&V-v-2?0tbMB+eS> ze^Op@z9wj%Tb3%DEg58-ZnYw}O5d+x>wSh^9JcD%9EG*b*c|28HUhktAYvC<=-9gn zd=G)|*L)%*CV}NoPqaVO{zSEnV3;2ArWn(>Ir^1g8 z!&^dP5?Fk8+i$NvDpm4Uwi diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410144 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410144 deleted file mode 100644 index 274e307471fe8942426c1c2f66e747afbe706cba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6076 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410147 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410147 deleted file mode 100644 index c44c89216e4087b4a224d0df2ca693207b8f22a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 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 H4D%xZC=<}> diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410149 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410149 deleted file mode 100644 index 9b72a5073027afd6e005d270ad86d247e6976054..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2740 zcmZQzU|_hE`EL6}?|?=Jx3z!zCOu~2edf@z-nn*BW=Y~bQT1>Gpc3I#7mi2;-%@>d zkX8Ijh`n1M^HcT3uh@3}Z(4QAp5OQLgH1B}{+V+;tHor^&OJBpx?>cw+%HC-X`X1~ z&D7k0v__yA3`vVlCV^-mU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qzLMnY_7eOrmtx0@|87D6kE&OKbC^4xvx6SwK1ToV(Q*snEqiuX8c?GrEcdws`( z0u|MOu!SGu&eR{CA=>?dg^Q``;OBWW#lv&5nPXGFoSXA`j`#7aEoCoe9^J*b>h=BP zKD)VX$+zvBpRPLb@%05mo7Dn0!?ooOn%13&^7Y-f?Z9pZ(Uw%+2irC;PXW1@`S`i) z11umG1e^kirZD(;JAmkIp01_S-+oyzY0uU>CU!bo8V>%`nW@Hl^7EI=QLT(om!|W~ z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q@4P|UFRUtILl#1j(y2~l=mwO&|0d=YUx=U4rd^!e>q%&qriFz`D$0K)*}PjH+8 zX%IkWGd#_3JyE#%LfGEO((wGB3m4o|{;(!GdHutb?ANyE`K<~-8f4F=f+!GR1e*(t zTYlzCO13vSt{sw?I7|7`nRB~O%0JD#|2o*zWc%KzF3pOMjHep5`j@OK$l!9>X|kok z>%;eqlNDTBWbKwLd}C|I1vCrf4~ELCGkE6?sZozF?&`2>D|Q!QJ$BlWp-YD0kVhb*M|lW4Frr} zbAf)C|6%Is!_w~qgaxOcIyN!%+SBv4LRuEzZGu)ss!D~vRpd0dEbOhDrn~v)mgcaz zpZI3qIVNBPJj6}rF9d&3Y~Y}VmUiAx;=QAui2{Z zghdY)fGh<20n9)Rdx#J?9GIc;1QsF~CO}o-IDy11)EESX62TB*Mo?aWsUXVyeM$$A z-2~GMqOq6{OOqgf(9#}C{DI+YBmpEQ+^6953FiR|5HK6+KeX}?Bu9zgG3-YYKw`pO zL%iEaj1Q^9M%c;>u*FCYL1L2ZCI;j*LUi6m@(0{TAOo92eqEHkC4J$mu(-gckaCZD z)1LkEic(8&pOuw)B-bVr$PLyHDjOjHn-QS!Mah!{%UT8oagQ=!QA1{)B+C5sr4;8$ z8rXx9CrLCPBkYj`keJYzg4P*u9*KE!(6|jLEfeD=tyvDRc*h76BmpEQJcNiXCs6Vv S(QN`Gf52@7GO#%WCJzA3=EgGs diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410150 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410150 deleted file mode 100644 index dd817ebc55695bce5c47b997cfeedcdf80ee72ac..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6080 zcmd5=2{@J68$TD>O4Ln^lr4X2WzS#ff4kOeOCqEh+f|kb;)mzkg~a|BWAiqRU8(ZkL84v_odD^86m}D!)CW zcQ{I#(UoWHwrIQSukn?PX6x|6UeP7bs(w)EkGsxLQ8wIFYr7=WbWuRA>@~`9OE%F7JlyIppu_6T;FpQ-sA9P$Y*1G4&u)&69F)9mxHB~1^=Z3H znl!nHJcBUauAz0M#j?!{fq3*bk>5(L6fhBD-r7dLn-z#-Q$3nx0xL@z8mF^$d|sw# z7wd?OQjX5hrB(HAeZ_kZUl=V8nP}8skrmYLvD)#dvW|Mf&>w&~KIUb&HBxwK!zuS@ z1zKj??sjj{5aX@~UVT5v$LFNKjM}5MXk%TfV!d{&s$;yod5?fgPYD|n0Mq3P%FTg) zJV?IR+vN7nE6tm)IR`ri4&`KbD7?Ao;#t(i^m}30Bx(=@MCmjb11~6ws$b;^_NGHyRc3OvJaBGCwmg4u<+bxl|mR$v*+ z+vL4{N8;j#1r=lT!nn6eTSc`NO7^8(-V`{Ys+4xr!XpbvomR`LVToP3GpbWKTCF~$ z9Kf^IXFjxrtwHm}dfpTNmAjL{r|9>5`5;qhu95tAR`LOifVw)}B&sHqV*;_o4FD(y zAph`>Lms*HN$>&92?gyAGSJr6(br|aCFHP?xnW~3Pslg(Yr+}wWgV>yW|nPLr;Wb7 z!F9>Bx7QC@Llqud2RmCU6Sgw?-Cp138G3SlZ~|*MaAoQiLDTv@`Y%Gf#q_l=seYf= z_7=%dG*_Sj5e3IeGoXjtel=32;UF>R9o24cY^PC;>C#Z~eX77S{!F5Z_7bBjLLTDM z$NJXYx|X~}(V@Qk7k@9qG4*Fo2|mMBfAT?FSX|;WUf8crPJLo@p6X_w^eclZEPvKB z_tb(N^w!_b##&Vapd<#UHr{};c|Y=xKoA7?Y82$roFIyerj7;*3n7Dz1BUlQUfLR} zI0_x`q?G+f#jqx|&*0p}+7n_=n>zEoA3}Ma_4d}zc90>6o0v!jNk!uF6gEykvzfSg z-m~Jl_|aiGzKg6!GQDzLE1hTuC35!jYxZ1-?OI;0M!6Szx8D00?Lo$$N#HWe9IcDr%qx;79Dh2DQ{y2JBD=jMCz@=#D zK|`Kzu}R`{*%InKOlXFDI@6snbIIFiuhYiM4wO4re7$k}PON;bWJGf#pRD?!jLkbA z8r9-HDeQc}9#GTP?zeIHc#Br>mBOvr!^E?#u6ejrws>EuzJGAIP?Vf!Jh^@NCx`(J{8r?-x{q~0}+ZduC|mgqg_ zpjh#u(c13@e%7Hg9g`<;z!9s1Y4ri%N3xqtuylfk5ruu8#}0Q!@olJi*l{HEtlsm8 zKVG#&iq9Kpkp8)~AN-VCz7p<2oG2Iu0B9>2507c3Rmw)O`tH5e4e<`o@fN;Xmr*4L z0*<$}NxJ^oKS@BR62wo^lgmape){dY+C=(q#IK4%3mr?(vcn6{erNm{On;sL327VA zr}&u?4)x{{x@aVvOlCO}Y?7ip?_GTn18rFW8BcBm~)9KZk91kS)*SFw$F(dy3@@> z4yUY9l~}>R_9Go7_1_2P*Y@Zw+Y#e+c6UdlpwUnYqe7@$1gq?^N zC*NNPw$F)|8(h~+fK-(h4em>1m$1n(Ntz(BoYx<#QOrNAQ4d^lQp~x- zr1^N3F(K?kyf`)bg<$)fc)gz!a#BAfhws-Y(k1sn%oZ2%;{KbLD69W}`;zfa>akq- ag>}uTq1lTGsW<%tOyu>=RGx?^g8u;x&z3d- diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410151 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410151 deleted file mode 100644 index a4b517604d35ff2c52ea37a1a74d0edb26135864..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4792 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410154 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410154 deleted file mode 100644 index 48bd4f030a2cd5bb77ac66b7785b216853ce82a1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5892 zcmZQzU|?`lwdYtX&{?^m;P;lh2me%l-`f92g6C|P&zqNF|!I4brtsJELw48(@!r} zH|tPii!H_EgSwe8WLz4dhN z2Vx6qR7m$|Ln}1suh2%(^q~j4LizviTm7}`5Lbk^-9|2F4+C_nV_7d z<~?7YgB*v_EVs;Qm(Kqvo2Pe-w@Fm?MDX7lU*(jwM?x1eh_+<$KG?Q-c?!tI%*W4V zpF9C#LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)`7AZ7xom$h%szrP~(jNJ#G$k4o{Hy5(6Z*(c%w>Sl{|3^S%RAo&5s?Z7lS6XYl$fQf_5W$EMQ zmp<-1`0LjDmwgJ}LfO{nzHiTs-o1Csb%Cn(xx5l}2dO5)9gG34V5JOaJcZJ1 zL?`C{*&4;Ly2wfMqRgtqpZJauOKx_xQ734=!+(WV*&@ghi&>dT#;Z$P( zYqehHr&&2+>~|yl53iV@XI`?oOL{xgnhAGqzTN$3(J#f1&Ku@!pZHd)aj#?=b3l%r0E1pFxV4lA>T57@=-;IJ0)a`$YREAL?V9_8v58n=sorzsK#;tA&%fA6fZ2 zdWLPAmf4l`wza4z?U4Lcwt$2G4RtquT$#G|(w=);w(WijN>AW$xv1Gauket<3^UP# zR<&9jNh`!8k3@Sp+`F1<>8w}&dlfO|#?C0~H$j1i5_r4~Pn~)#wtV?Vp>92nx4Szl z+;;IVKG6a8!>uG+`LMGvG6e498o!){TGv%mcN;Kr{Faw&^*?So%^Kz_Z9rwx0X$o z_1V5G&ddV`RumO`OSxW=`0sHy8ER+Be;@#|Ve!Qa|qSgyoF`NZTIagWTJ z5@`ON3f2$P45VR}pfceKz~K((f$RnWsQtja?*f%$1d3%r*~Gd@fW~eDxg8c>gUxM} zgcqm`hQtFr@L?g39G!46TyY2v6QuSLScA)zUE6l8bKl;_t@N9{a%cDawKpv|`V7)} zb>_4$*m5@lYASjfWyF$3LG?En5K*2nu&=)n11-}Efto;V1vnrxje_k5`mY>n5K5R6 z=cemFXzV7eX>^ddjgs&J)l1ZfL#%1^_`NON2APa1xg{YYQz}#M-0hpQtjoCItLKcn zuTGa|zJ|s(sGSS~u;c@7V*&Z%9%awxfMpQn13aw~Y}bMHzW|kia6M47z!c0fBr%k5 zB+h)G`-nFmYZ{_~J(TzZBUq3GkeKjLBeu)}>16?8P@M=b<4N>8hW$taNKBI52KNII z?g65Mh4B^y5F%Nid&b-J|^muS|uC zyW$W1|Hj(!$X|l7?x5hM4aVgYHdH0|!usIoc@pMj5Df}1P&mNz6~TTYg?W)U^C{1Z zG_VIHK1nnmBY7YRATi-l15d|L5m*}#y=(^Q1<9f0#X;jXr1VdWo3vIo!OCEaFhLSP zVv-zQpgIIzW)VG}fusj+Bang3AyYqZik|V>^)El0ek1`TCK+x+O3TE!N$OIG477g0uop=HiAl1XQ1T?vV+Bb5fZGUU JU~>pe9sp+yX3GEo diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410155 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410155 deleted file mode 100644 index d06d5a64af06742268f113bfef33aba8a3493082..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5128 zcmZQzU|_Jg_e*v~)Skqek1j#R{%_|bwj~yrxu4m$-9A6_-p#xupb}v>ReO%L0-co` z3Vv_7d+<-?_pSYZBzVqtNj~a}5kBjEKTVk3)U3;0zI1<#`T4y| zbWAteEk6h}gCS|r$z~7@1dJf!YEkCRq=4_9x$Ltay)YFrd;kB%;zEu357}t|T>u&d_*fte~pJYj=LB)rUPh_d6}-TXyd5?Xmg(H&;0HWr|E@5N*lkeXwow@)VGZnU9~# zKBE9)LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xozo^+guket<3^UP#R<&9jNh`!8k3@Sp+`F1<>8w}&dldt}lLIgeGGXdL zdVl~Ff8aPIsGos>4Wu^M)fuFZVP}-}o1nl$2|V70r%t^VTfY3GP`4h(+ufZNZoBvw zpXgxNxM+{wQLs`F!3cH(FdgLdDaa{0P5CFaW_P^1z=sD<^ZNe!Ufj_Tk#TOqm6s1E zo?j?YP`$BKcYaU%*Xev2yxPmEzNI$EE%K~-@!$yi4_=^IVE^u|k=#*hugaae`}-8j z8n%N|QjR$`XxN{B9N@L=!I%D2sDHCSc7q%M1;}iM=*v52|2=oRf0}fOj4ubH=Hdj; z(^tHVeK@xi9GP9bk_)7V>DPw_m|n2CKtE{vyIq?&Ex^2H|x|6coZP|r;hcx{6w0cctVBp@tz^v8Az+9RLRF2|ykbWotnFj)( zumJ(45bh^n24V9d>doxxK@5=jjG@6U;0WfBo#(J6t96py{HW947SvolzV{Y~`2KlT z$}3vS?;Cl!gLP8LPS+3*uyJaCs{WO!mzrs<{i6r^!lIIPcP2e;@bC0VVm$J zYT6m;6ahAFVw%JIDgSoV?TI`P8~E=`o6>QK`U~e+6m*)Wg%#d#J`S~$5fUE^4t;MH z)GEs`awWu{l`>E_-e7q9eQCKEL#~<1fu>b`aW;|j&L!`3IizfG`SABJ!&|dhG9MN3 zg}hwHx658C`TH(bpn2f9H+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~L zg+V~ zL%_m#oz~37*FJ+(F|Awb08!1r2z9H&i>&igtL|-_JojO_^BdA`2sUs%8E>6p= zq_LYoZij`}U~?NK;gtyV7d7G#941I@AaL}pIvgpuWBc6)-Lv;@^sM}PJ~ik05f80^ z$9K{tEx2x1L$fDC3N-D)(hMU~dWD5KsLlcdBFYE`_Vw3)K+B0Dpe9iH0tYZlfC5NN zxHPUb3br5UzgnnDlrSgKO;c#>Cah_6khqPK@B)?f)QCf@X|&@k!=u+Nr@k6#C&}0w zyW4)2XH|`CyTws6BcbW)sLPhL47e80L48@o+P3##{dmGP=64^Sx5p%Oqg|$_A8u+ zXxreeH;8jn@eW{k)6z{?^Zp=l8%lXWqMOk3KXRm!5{J0T3s^n?n?;1%h#x0_B_zan i0kV5h$|)l31*U6w8lqj8Amwi|+=T2uYQ+;Q6d3@4RGv@( diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410156 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410156 deleted file mode 100644 index 1f26d7652fb1d681fd4a6c66fd503329d35833fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmZQzU|?u#Xm}9uHnO0?z)9lBjK^pFtHL-%ZI+ZRW|zM1x`1saP>Ha`yB&1?e_VZ_ipATeZ8Heym^A|jm>32oBpkRS@tZ~>SOz*8m*LB z;ZCdMufGJE!H~4*WCw@_0!9#VwJ7suQowi5T=v@*F+3{i`=R$&3F< zmjNnqI8=B$-e2RH)C=I(m2d5*M~8Y!1gpDe+|*O9 zFj#PBLFC6grH0%mUgqlq)SmOVK3x0xTF9pAmp1Qs|4wW$75%z@$NjwBbB|O_w*1q!3mh%7SEOh4=+)OeL@6j;P>HYbMA?4rS)S#FKF4@y_ z5?hoVW?w75nZaM~^6+}+)q`|lt7ru^jq zngtFE!`F_?Gd3umnZ}};{YvFq3MaR-Qm2nno@d_4lcp1d4T0)X7zD&lGcahBfb0ii zI7nJ_Y6Fl165}i=F0e8-HZe7a$imct=@kFKr%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q z5>r0!YxV_dVG0Nh3h;4-Xa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+= z8Kj0ODGEe^03+0`4(oZO8@GydO^{jjO{6C%>zL%M;0xbnxR)(C88hvC(E6!uW_z@X z#65ZSXH4W2pJw@TLu*L+NkNJJ<@J;H^(?>012hX9E_-VvchuUea;NV8KE<+z?ckJ@ zV~!0P_U9i5crAPIr9TxZjeymIT>%LTu%8L)XJB9hxf_-aqA%~9{rBAM{%O)BGQJ#) znu`-WPhase_Tk)8aAbDzN-lm7-^fB4PW-yKz9jVp^m>416J z91ADE*=J8S&wn+;mVL3`-S5X3)7s9rvhSXdnAlLd1!^m}Gyu67$_Ke020&rJ49qjx zFaaX`&meWFL?W$P&NZ`ZYthE zV>f}^4hyfr<~B;g3q4MdBaW0f1cwP)y$Oq7kQ}l3i}<_+OCX3mhU{KYx+XWCXcs1w zxe3{S)QTqtb(0Av8Rc}8fAQsHn7?VR7yL3M@8!8o3cF2~_)kCc<2p2$Q~m=1EFM8L zkoylR2g?`ma)gNbiGh9n^(oLgsu*YvE7UA7h2&8rCR_!2{J_!~*nV8)2$60wps|}k zZij^zJbexlx1p3HB)SRI&Y(sdqL(A!Nayr>>L41R$?dgt@d~jo&A+aHaI#$Ln7nwM zeM6*U`Rs$xl!0E?A*UT!n1kAfU_h`v2~@@O>q7&yUV-XDP{@WuMNz_!Nb_NJDZ*g5 zVHiSK(+&;np~N2;!Ga`!#Dx0|h diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410157 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410157 deleted file mode 100644 index 5ea4663315d2dd6c7a2f9fc0ea29720a50c7ac5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3792 zcmZQzU|^^)w|Tp(mr--JLzRbhqTcnyq-iETEWiKVnp!qd@XZ@5pc3J>hK2_bZzBsT z44fp6%y@j(zbcGV)MiQ9Vs`24t_#>^D%ITj$-4flGtZxMf5L1TcRD6U*!rGRE|KJm z6MSwKUja0OA!*UcUJwlgj38obtiYz-wHkg`4_LV`eYkbPN&fKWPRNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFg!HQ-~Yk=xtgu2zizy8t^7x#jmUuqra+`9QTDIdC8ySk45@z2WAf4$2$ zHJ#vkJ^$#}t~m|o4zBLpo_?Y+EF$!-B2P`;v%+~b5)V0m=7Gayx~JYsPN(VOHogEQ~#x z^cv;9uR1SsaYk1@Lr77`Wjndtwy+0tU>c^@Chb11;J>=a>c`!G=Ukq~efzvF{FIL1 z9iMxde>LRh0o93nl)Zo{X9Bwgm{0f?l`H(vykY6m8vLL0Uec}fvzbfpE#Gi^TFj0( z(}VguH6v#7a=+sbUbk7H=A}>IGuPicct6gG-!Qw$;fm&75l*NZ9G1N8KQiG|;s4R~eV-T{{=VB(V7xDKlIhBC{5m{IoE%5*-^kuQQSNp3!h-_UEgSA1m6lXj z*L9CK{Y zus{Dez-!rqFa44Tm?A(;5ED3HF}MZoF{jY8~CS`-8-lR*F_%!zc4cyLoU9*I)u3KyWYYS9A zdOk)r3RZT4>SZt>rtW0=^`QaiH@F^{UJ#9JI8+=ZoQX7Fh6MAm<}Vu9Ly12yf(1zc ui3tx$Qt}Ec4nge&uvye@D}i0LanT;VqhJ=YdtqTh6MMmJH0<`m0}22d*SMSj diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410158 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410158 deleted file mode 100644 index 170433bbf882e5855c933889f585c1faa01f82c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|@K;`O439x2B5er?09sys67M9HFC;>B*5>ktlj~eZfz0pc3Hd}}>S9O}6?w;FaDY4NrdQd{Ch>ywbz!SjuJ5<* zSozEA={BGl3`vVlP6E+Dzz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}ITpsMN5bnDObj`@`hh)9am|)eTV0QfEGB6mm%o})@jN@Q;K>WA*}tttMXXv0a$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkHKLKau=bv z0xDqvVkVHx|ZfZ(jWCjsw++dz8I^DQ5z^1(+VL&UoznG-ah{ zlIeX@hK3&=wNgH}Sj%4(*yi*eIqkE5+0VD9F7ItWcv1Vq)1R-s$`5aL|MEXLH>d5( zC-J8Zp6ghkZg4n$`10zO6Hz9L%X7ZFoNsVX(OumAr=lq2-eHFhz5o99-%pD~m7O+_ zd4Bhuj)UZJwfh@nx}1-B${55gI(dHURA!*Vz~MKwHfi^91^?AWRzL3kJLmE=?%U^e z;iq&2@A%xy{Hq~14;+4?ExADT$YF=fX2>;pK3^mIwoajtc(BXGDo1|KS=&7;N_~&W ze{O2t@TD9S2(o8WK@Q$Fu&_GMsfTL83nD+AMaH<0~63!vUxUqz|l@pnXtvFKsWEzX`C_4Cky%X53+~ zX?tw)GpnU*j?WNya{m6Zj2l4nm>feqU4noN7)U>LExBSAUuo~wU-^2Iqd447l~}wk z&k(RMUZ*v4@wLxDbrMB2w_wT{!Ttk=<-B>0Cpfn?sR~>?lrrV`!N4geYQ7xI{c@;i z=e})T>5HqMiTm4qnN!Yk#lE(wZ!U`E z;JA@#kul*tpUbl-{y!)7=&=8hyl!1r{-gVlr;0}){$rZH=(8qhdUx&?&h7HH~If{^Hzr|J;t3&ufmmC|rJ! z=yv>3^P^)fp9_zcb7pNVN0+1pOi3wK%3I}8W zs|(T7C`d0z4pi^J%RqwtfpzybaWD&s0`+YGCfNzd7J=AU9E9R`BFvw)zekG{^Fj4I zyxt_bpMs3z7g56Yf)T@(Mhy zk?3~}`;i2Ym}IyODJ>J@CaslCuz1I?7fAq#NwS+z@+8syWh8&VZ3Hr~IRqvT0Mtyg AApigX diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410159 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410159 deleted file mode 100644 index e583cbc5282ff43145c7a0c38f15dd47f1770411..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 zcmZQzU|{f4SY^o~y0x@Id7aSTpStDEGFF?5T^D}Nf2299U;NQ@pc3Jio3H##cWbJc ze)_6P!<)LC!x1_fnVuZE6^Wu(*BAU0=bW?sc;E4@%8CD`Pf(w_#=B?zypM<8W?x>r z#N<`5&E*Y1GZ>N|;_}Zk#2Gk@Q{@%D*O>?({1a!SYFb#fr%kX@^7^BX7r$5QyZQhA z@@4nD>+jEL`Tv=EQODZeu77){52LS)0L#Mjc>(XGR+ck}w&e3Z*tU6j3dqIG$IoS7 zoB?7%z$uVu3WJZg1BlLDaG|B)o5Ts*!iv22bA#3yIw;mJwyI=)_|tCt7KIB!(|Km| zKit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsxFc69> zpgI;HW&)`f>y@nklX2e6hHF{HX|In@E?91G+`cx_I-@n=n-~AO;|%;x4!|(T11bf_ z8AuNhAhQ`}_BOAXBdTz>TWF6VF(f{)4q_6fzG+CKSrq!+4k*L`|OW5S{ zN{j6RHfsyqrZe|HcwKnuZw3d@EU+I^`~#mdmB;ZNtM*jdaqp^U%KU)C_x&tFtoBJv z`Mj^$mw~Zu0npm53{2nMLG}YN901egMj(gfj-Rub$pOE6PcB}R)T@%tkttTOZTXn# zerZ>Ymz%;22cQ~|KCoVb_CeLXw7p#ZCcsuRoU<;OafiL8?Xk(vtd_1hK11Ni`TNT< zZUD_=at!fw2?8=;ApO*}L%_m#oz~37*FFQ)Nfg!G zf+=SN`wtkF`Ku>!ZVT=W@eH3=YQBAoTu14P@V~9~&)=Op@Ly!7oy%eQdfOwapTB+T z-tzIUrr?C1(Y8Nw1@Cd5h)TV-Q^)}1FK}2IzIJ4uu|e_7G#1tDS1R99IJupbI(?M# zJo8STG@T%92vnECARu;{fkC4j$VLmxQ~RM}oCU=NR>sCA2B1s~6@$}6gdbBtXi$KU zD_Ad>AR=5C7-mdsfa+j`y49iBt&Zih@sl^*#h1j7U98*Xxo`gT%N`LL#XlGBEc)?H z-z$&#Ui8$3ZVt153s)KKnj(8Lbb{Yfa$@qy8SV!wHr-vZLugHjyjRt=CB;9cUUHHX;kDYzqEbrU=cK{|=97pP4`jW`5{2~v3hj!M6ie39WZO{DWp@BUp>3~G@F`SJgfW(CR z3Rhl6PX{2q7;T$D<2Ix=0Wofpx>OZE<^TWy diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410160 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410160 deleted file mode 100644 index 8b32cf95c6b7f81b937d581cda502a0914dc7dfc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4640 zcmZQzU|?wAdGf7Uq03lo<=0vvtrG{s=Ph47!z<;=hqd{d@40M&Dj0;l6joWXh;A*d zP+lkW_or@ovy9c|V%LSA^B-x>>KA`By-*|VO53C~n-bmmqNgYQ|8xD-tH?{;Q}%w3 z`Te%BFrPPV$F0hq}ug38>!J#B#}| z8>qyAJK)`mqYsTAM17fL;U*))*r#_kZt64MM~47hGs*_$G0}wy+}a{oJ5+h7OALi>)e|AO5u4zD41J&~%>J z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|+h?zj@Q~U#;GL^^i9jo?K+HvoyXUhD5!}t9xLag>lO!>U8*_VN_Z2>U4wlXk% z2gM;c-az_502rSjJ6Z1dIg6Pb@Vocq;zdclD(M`VVint#kD2b5cGY;fDa>#HssZT( z>m_I(RNYJ4%jItZY&F9<>yjCF*lXGzoBYgb>6+s+1fHC~zbxYh&^#u`5KosNAOi-{ zPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8ER5G_&0Ku#Gf$# zjQ-}e=mssAdOynZZL#3jPYSj*6Jk}31R(Vg@D zFLdlYv(U@I=JtvG%m!;7wEO)^xuG@L=3Th`QoD~H`|@}CGfw=%7|q1wu&s)DPLRLs zxs$y7K=Z)iGPAdN%^Xps!#uvrZe5+^cUHRm{?fSiPZcL8FE3{ky6_86+(Vtjz@WRV zzOdfF-B9Z0|7YLrI(2Z|GyVF|0P_RbTwvVhPm|qoruAjS z#hY?fDwk$(@S3Si-14hV^Jld<`z{+L>kBNeE#g-%F1MZXRU^zgTFYPSvDF_@MyuX} zmn$ohOhIwW(#3o4(&hFX(S;?sT&JuxTCW=(zOf=-uOVtrNxR&s1RkiJDgS{0$cDu$ zBar(KDhCP&W@!2b3lWi47}(ceV}YiZa-b&U^bNNJC=Rm^Y%Y`lhdYu0Gnfs@U!byS zI#iAkREERU5$C3>3ux>nklSJ5HQ3xnNqB+sJT>AF941KZ1#tA8)2I!c(arK=Rk=!; zwUvNedbrx!Yr0jZ*H_OwdL?*c2{ewerO{tdIarv3%3v@cqO1|qm^CF1m;^y}pgT|# zFH|d-LQ0rOOt=cN(kO9mnhf+4P2GewjSdpGp`=j~-2`gKP$LeprcvvovH5eQKQzyD z3-}&la^p~9^pSsszpo!TFYA{3&U`@xG-ZI=jUWI^Gst-cBaIT#E?@xH3(&F;Vl;w; zS%MG&+KW^s5^25+a@me#7Tgm^Vp!7-4eX)B9~i-cB!I+(`wCZHMo$MIy|6fhm+d6_ z9m9Sk0VF0FZX-Y5k?jSyJCOvCm?XQ2;jBB);}^WDTdif16hh=qS9hO0VBYtSKTDcv z%HO*o8xKQGM9(vDi+~JRc*Dzeg6%P&CfT#83?!s!l(a^i`6+WqFdu84p@BV=_yZ%J zkpz&K@Tegr&w$!*p!Op?&yeVM4EvD;keFn+jYKy|T`GZ3piBU7e6!OO-SWYdCN%Ul1I4IDcw?kG*_Y2gk-K)4c!l=2fgLljS`iR zy3*qo86_ppLZbe-6{ScG{`(x~%ss^4bmjZ(?=xqez1QQn*IIk;wGRk_Aiku07ngHI zG}}JcS!-OT#}Ykq#S7N(t+zt^_Na~2pUjKnEH%*)6Z)1Kxr|(6raY&_IJU_L-t^543>UN+5a!)BqfuEoe z;GfDJp0(}{JvLhfPrYo_mon%WXsw9X61bUh*-TM}vuQS9p;)asbGRo&{OWp-S<0nG zbzW21vVK(+5<2?{RRXbsSD0m1>vdipu1HL*ukUNNF8^94bB$_bLa~VR?Z^}`*daWp z<&a6$>P)r8nI5{$^ZIDTu`-L=2WVO`*VUYt{zXc+c9kt-3UC z_FDHv&igd<=I`(Q0MYyVesy#S6Ok{CcMDggoT~Dz-7FDc(Nz8G>+>p6$w%Jo@mn~Z zRuVghty`(-9Hp|XS#Vu*-XJCj8Y@jB0r=&#x;4~e;LWd-!OCd-j5YR~6U^%$Cr?5-F1MU;v?z`PsS65e08y@(F58C6IsBvq5S zkyh$f3+_8|`S8@iID1qMk>$ajD9#=bg$O7PimAXt%P=!m zurs6))2wkwxbD+brQfWD_`=_xi9eK_eP(8RsC0bdAMrBwtQ== z8~kAnrjhqC0{=FyvF3T?4>WB*r$`vuT;r*tVlDKlxtgMseU6uFGn@{9c%}g<5s=@CTe&;o6nGv zS!wZ@xl}^<~8+m(KDiyeP`7&WZDJ@%c;-le_EX_Z@8neq9B5L1cF5KA(G}^h~)1MWbkq2f&v5y zeS!7Djp!uWf)HctALKV!910VNA6KokK%65apFqj+ia5MDacyaLQcz{_jXEKjn+e9M z=@9{q3#rzKBn15so0d+4+qOD~*}s$QZ=jjM$zB+@C(3x;#op@DRIeP%n0BSSX-|Hn z&0oycAnFczP&(rJ^Fs=LxwW3w|6s35v21908K2U8*3s3B8uMb*CSfoh5GAim@T)MH zobFk#^ZwaD8%ynJSj=iEt6SID9LL>$GYd7}N9KH~Nb(Of{E468_-1!!u)s|(N1v(P z_7MT1a{h3vkX#>g-zDr#0wKwTh&?tyW=QP8SzQ47_@3LFOY7aTZ)kb^SWb&MYs+k3 zHPi6-p4LyU2T`q*j#E%MM0QMjsEsz$ihwr`rgNQzLpBofm&`RSihXVT$A#kKk}Z!K z&u*>(I*Ci2Y%ClBfi)h^1KAxxbr?GVJy$3S%oPXnm29FqE9%?(&9zsu+9dLN{>)t> zX7Os>>A2gn8~6iTDvPq6nSG9OK89z7l&`5h&3L;rh-x>Z=-r)Z;y|H5%D$XNF@Hj0 zWK_*Uz1@`t#Z0-ReOnICp+-w3W+`tEhwsg#<5F zCZT8VE+B;8JGn+cKV}cni~b<-$8`*@-@&~buEXNdF#=rQV0=7cGMQjZFm}velMUN= z`~}xfKO%;RPjIy~5 z8p|2{`HT5n8Rdm|s7Yj&`HF!$9jSwwFgfgr8Nu1ZhT!LDIf~eKPbuz0nTPnCH%#D6 zn^;UE=IA8BHXeVy#0Lnb|78q^=P0ZO%P;Pl{!V{Q95&n@I7u);+Lgtm?#ps_Yzd!@ zHlNwy5_&^lR@n7}Xsw~@fp())3(z^uu$&=E2RI39vJsd3@s*TnCQCTsG>y$J3hm&bfbMAJ>5+{{=SOni&Ts zD~L+mgm5HkZS*q`u|Ha!#v`Vq6O3uZwK++!4O!3M zi3z?7{fHP2U(ZO;8|Vru(xgI~L|TlEGKpEz=kir~S=PrFwQgd^9?RQr8q5sBeDp3c zShoW_xVyw?G?u&GSa$JpH&6BO3`Fn$Za@zH7Q}71gvF8EVb~tNVRsC~KFD1bIyfX2 zykXjGH^G=j%-ub4#k)wraVUaZ)wI)9xObt1nj_=k3lvUFu5s zqh%kK>!I-;UX#GzRI!HT=r*i_hwo|7%qMaLs`z8-@9XJxxKI&PE*ata!4CNf+ zbKWrd=1(xD5p#5sU>lFW;CT&cxWM5^F3WI!Y@ZpPqp&P~4AI4dzj*&vi$VJ5n=K#K th1kZ`L_F99dCkqC;d8_%`uKb@K1@Sw<6dwi*8{`nfR6?Ke}7zo{{cF=brJvo diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410162 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410162 deleted file mode 100644 index b34663554dec88de6a3edb0da3d911288e831935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7172 zcmd5=3piET7vI+-gh*afO}J$uZ|*ILi6UvdRfI}hAwwB-J(30!C4Y}wLZTQdswuiM zdcToJDGJjF)#zQ4%22cSan9}VSFWi$pZ$IJo_+RSd#&GI>vz^!`v3rdKzU+zb->$k zdJD=l#g?v2e&YL#t=G*;d)VcDyKDRnV<<8~U{9&5>w(L5mVIuMoLr?@e5={xPCCC4 zpEP#7{>I=i$tjTnVt3S}SarE9n<+a@a}QUYH#FB0+L0Xo4ORENi!;;#+;b}Sp(|_@ z^v7NoZv?GH-#CD#&X>!heE#J7ql?;xzxe)n;%mS z`0bkU`iO=a&A*{s+uu*vWm@%9#f6${)~|h*s2{ERZtZmehh|#wS8f5^>AB@q}Z_l-uP2KY4 zMgbxI&v)A&)-hI!%ryw*Z+-Xu@neeDq;`t!l4xbeD@@-@dv{o?((S>q^|1$fk1;>g z=xb!JYjmIGxJ`wop75>{Fy8lh+PiKV`|Z`tRWVbIcQphydP^`(TW@(jD4=fLyW>ez zkgl{{1xvY7uYQK(R_elbA(!@&eoQc)!^8^83Bn&AlGk}`!k>0TsVY@K+4s@3Zia~H zeCifUs=tMQMFl-+f({g607==a0H}n)J{C8$4mJ0j${KhR+Hr{yr42j|1r~BQeW@zjP%@wSC~**>Lz>z1;=U(Tztek>_p@5B~H9pF|};+ zlDq97WtLt*5F=uZl3i@A^n*0ew=HkKW3*cN?DLU{*{r6>2+1@-nvmCqmvWvWP#@-( zVKGxS?}6K71HLzl;F>{xsW=D61Wsi>ol} zapOyhjs_u4!DC{qbyrQgn*Z-dmI4t~j{C9{EO#?iSC1>3(!|tW87F+HA^lL370u%Z z*TlFNYv}?%S9Yh*@%$^fZfV9Mtp#shW^jC&o)CR7Q-*p$%qqXBKE=9v60;?5MQmqC z1#2I3jMTLrATiGvK4)to0L=F|5VT)x&%>?E?~o1;NprlbV-sD{vi#0p^;LJx-!;g(k{pr#M^c=02AEE|9fd zZ|h4JufBUuAHTtCJ_*gsLu&I>8jNtX}2eU<|-?Nockfh=$9-HP{{rG%!bAz{l`s zYNob!|0E%YUAg1I5(iU4F}!la13q^wRijmueyqUQhrU5t{e6t5utzgh|47JplV^t4 zx+=A;-dNmcdZeIAyg6ZSzE1(oqqAq~G~r^eWvQ(}^o$qohc#Qq_y!Dkbs_mdU0#({D-4 z&9iM6Y)g4&l@z0KDlVX{yJxY>naxv(zoN`feQz66f~ z&ARQ>Z2cEO%S1&A_22o;S}J)oyTgM%H!Jk|({KNWHUt~v18nfh@gKZ>kInS+fFH&< z0Kezv{R4!4t2e~oL7{LRdUtUeVFV74x}0gk55xfC3n1*nXDtVxpun-8@IIHAZrrMWM z**9DpB2mEr8?;I09^o6F+MgA`_bK}W_Rphw`%&BLBE?8-_n+TCuk7D<68n^WP~Z|B zs^Cg9q(9v0BFx@g8xVIZE&7KwIb2*JQYL80xr&SU}9a+ zWLWc{^B|cIm`>6FsY{r{@*?L3c8Gcpvky6*iBA&T!fv_46j;h*Ohe|WQG)GD{5AO9 zK@RFjVmSC+iq;bGMRS-gF8oED@4&F%32?HIz89dpNVEZUITv;zuQ?pzoli(-g@1u* zKs-n{q%N`jPd;md;{;L+|9cMQ(mNB(^_zi@}?*^43a z%h$v-WPTYX*aqa65n>`gOJCxz!MsI0B>08Sf*2pZ_IDtROCP^SlJg7UlmEgl`8-bS knUhm_yl1j)p6(g@=JwIoWV<}y^Ji@TmwP7HW}Gzk4;QrM=Kufz diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410163 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410163 deleted file mode 100644 index 0ce2eae329a3e39c0e2d7a62c55ec39ae1b32168..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4696 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 J67n(3j{p}*(p~@n diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410165 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410165 deleted file mode 100644 index 135924269df63f64a5afc8b9b8dbb94fb577ce5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4028 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 S)A3gb@cH+M;e!=6qe?Hh~MbfJ%fn?n&;N{h?oc z!Iu?x?%FLZE4QC^$@l8FzrLlak=jh(#drKnU0>9!)aocFck9;4Sw}Z~l|CA|zQAu; zQ^~{kR&sxVW-ufzI(Z000|6t5xLTBXGb!M^XD<8fM=wl;%-;Whae0m&+y2!Xo#e&; zq{{%6I2?HO>hhlbc~ZQ*XZ~L(cAoJ`e#<-U>t{uu-w=rT`ek+B*B$}uFE``=S@t+L z?)Q*Be`uoZyT^M=gEh5sy`C(2!^Cb~p~-UBq{Dx~A2EvyHrJ;;Tc4)wkh)LN_K$$z zPDRefoWt*X*#GrE2#mc`&@Z>|@6F<0^)@HV=UiL9WA$94iwvSI<-8BJZC;)NaxwGq za|dj>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjv0uVKd7&Rx_NlE}3zMy{7H4 z$%Q9{N)iF7S_(leSbU;D+scXp zh4DJAnTxM|1}T#$kZOP`XN0(u!C{5r<=cmsW?BA7EjqYSY5ElJNi$@Po)=t?fBWQ7 zlinxk6C58+{wC*^xi9hD`^Tj*`{D5$;-wqnG8$7ha+jrk-~*Zm4inpnM?Y3P?0l@d z{_(x7OXV&2>So=0WFxOHxz5~dZPUdx27V_8V7e%QsfW1(NQ1+Npne7hHjvt2S7)$R zLFTaePHc8wk=}94>o24}l{mV$P)m60J$9veXKV#GKVsOpXpbH+CZK>3>;_=oxc&W3 z!EZySTLHa`H{VxCZBaPp^N*2FUiVVazr6y5#thaH&4#a5an-zu;-6{XHDS(A!N&J~ z;^vjhdA{9bp2)-rG!N|G|FRE@mPfC+ z45%JC{y}UopP+sQ23DxsK@><2HxeHklM!q$(2tgHjc%{;`rAJ7;0(9qKZcq?CzWe2 zoDzCivUcaX;+zXv-;&Q?n&6OhL+Jm_SNT^PtsWUXxpl&{?6TsX8|+3WAA#&**4TJ= zXZhC!zkP#DgBe$}hP}G=v1XgunKRE=@6Woj|K)jz1Ayrq0>FL(GLhX33MXb@oP)vu z42bYE1Jkb$4aj<6dOl)dl_o0gw%|ixJ5E1+@(p-tas_ zxUOLkm+|BM0IhEtfadT(%>q*}OMo0CCR_zBzk%%sriHywl_=?xC^z{&dq871f!q!Y zFL>S@ByOW5yc&W2qDCBo!vrZmgQJr9M}*X>D?zK~Z8dnzHa}#)mohu^sRfm?`%K#H zmrF$ZK;j#tTnE*?FaQhlQkVb{bvJ|5VIx@mkC6_M1dy08({YwpVEcjo+YVKU66VCY ziQ52J?t$7Q81^CwATddH6V^03NZdwAc!B(d0+0d;i3wMNt{!)}j#?jq%_1Vah;J9d zoP=l}vcQCZG^o7-FH4B97nrW$X$akq$cc)wFrmy%D0U-pkeKigK=%W#c!FyH00qUP AaR2}S diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410168 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410168 deleted file mode 100644 index 9080130dba6a9f7a93fc9da0e3783b8ec41e4742..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5644 zcmZQzU|=}@O2&^@MltMg1|N%Zk=s1^1AE05`J^{o?>MCK`q$qgpc3I#za_JE!b^Gf zcq?+Y|9LjAbkPp|ciK}rYtGjNZWFk0>-zVVzm}d+IrF7$@%$#9$#3S%xfW$@h-c@S z-7nRA$X*X<21C-KlgB|c5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@OZlQ)PkvdcD&av@7)x1{odz)H#hg@M1`?W=^Ujx%YjqFbt+ z{XQgV@aKHJ_qDvGU`E0_f1gXczq2T0Nogp|4VBa?)C+215N)a8eXwow@)VGZnU9}4 z;J^c7LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xoH+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~Bg+V~lO!>U8*%zpuDIhc`z{eG=7fhs|x|Uoqi?6hI>#uyh$x$3`r%EhdmuCoA z7_ZZsx%e8$UIs=(U6=+&s9PPr&0j4Mz5Z}zSBpZ^u050aw;!B&)qCpy_uK}%?t8?n z=4M}X);4xVQTq-SS%-z}XS6@NJuNSqshF_qXx0+bP5i7t1Hs|4Db~>Eo@@DzoK*!! zLb4(m-1?@hJu@M+D1TMK+i!N!dl>kg9Dr$~6s8{P5RiYtekQ1&fq@OAHrUk}to6U_ z!=mNU>+UOc?${vrj4A93cc#)04t;Iqysz!yGlH2IHZIzucNA(1P#@S0!2F?VwB{I> z*uIG4*CIYFn78j`M{IcXww{J>J%6U`c@y~N#*Vv-Z`}*eUwHJ-qL96FxVVfa`g~Tb zJtx-S(8xZys{x)4x~9DjF`qd3uJa1vgpdihJ%zcHmLxBlBbeiK^}&)hAE3?Z0t~`_ z84QeJO)x*gTm#J4520clpmbnpVgO18;BbJ^FKsWEzX`C_4Cky%X53+~X?tw)GpnU* zj?WNya{m6Zj2l38OpYPGkwHKP3=oqBBnqS&pz0YR?qqQA(R4Z58Crbhs>P$yvq6FF zjSQz$cI|1)t?_Pr!BZf{&B7<`(W>`qW8##}+}{nZp5(r?QrcgETI47$e-prrwjpC#Oi^Ya2S zk_*d2{WFZr6O)_^O7ertZEb;a%s>nd7lLLpFo4{_U_0^X$BKuYk9F5SzPEL$yaiv~ ztb31a6FGUxziJpX_Y36H`xg_9UKNX*ltP-IiJ3>uLQ`fmrwLqIEa zAT&5`KumDBL&acWiY^XvFEcRi%b@Cr3PYw}A7r5E1=(C~kQqn6Hsci%*BVgfG z4rGJV1GV!r$k9l33aB1{0a%#O!(LE*3j;7egTjN}cGJ|);Ib1@f78{^cx4}tk0 zy-4LRk#4G?v710{hlLls{2e52qa?hVfc~OJ9HN)M;HczSKc{>8>wepXUrHGt&z`r> z(K}SCY>$xZcHhl5XFM_0Pa=0x2WHUSPV0ry<&f31x0Vi4P{(f|Me diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410169 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410169 deleted file mode 100644 index 213099ca2621c106e5461c8f31a4d3d6d0e35145..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5596 zcmZQzU|{&;av)MB*djIXjl5*zkhe!dK^*0Alg#N`(WGVI(NZ^mWFQSijh+lKJ6JyX{*PE(lHM zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmb6^@p4y8;M z-|5u0^Wp^thxFpx>sIF7S)@5}T7PGs;q22wB|vrJ9%V0J%9+4!0j7tvRiakRGumGW z_dJfi{k)BJRj=}EGbi5y=hB|Vv4_f1V+}tTsvS)+3g2>tX>-d97e3|<4j;68SwfrS{}XbzEbCo4RX(z!oF~4D*fQl z*H+H^+8#b5n2AC6*a2V~Duby9(x7mX&<-{-_Q)|eO$kl4^z=;6%W}@GG%B~X1UWJNN#^-WoOWb;81@PU#(|xG(K~JtX*HSKkX z`NYY0omU7agiN^YDa@s`Bze&s!5pWn50R@&POzR*Ft!?VEEdRdBz6CGt*d9vtOxvOX1{pR_gRo%Ja-SdD3)( zup!Xi6b1pY(+mt6H9$5jU4fmGwCL1Vs2C?GOpJ|9EI@@hR18k1_y;~^Dv#qkR_&>@ z-RfW|(ea9% zN!|Hjo9X%AQ(I!!Z?E#(w5Yp#_oHoFg=0fI`W(Ze1PXf-PdjL~|6Cen^)_R{RPPMI zb=slxo)lk-289dDJ&oYd)TKv{yt`rc^5e3@Om|OZUXy9weEi#Wf+2xs8(W0@b4^04d^-m~bVqat|f|svm%H2niFkHWf$? z6kerZH9&%3eZ1~o$TRgKQJ~Tdz$7~XrVmDAaS)2%i7?-G?uIT>%!m68)^F+i>9YvT@NKJz%Q` z2tf5748Xz!oDOMhFDuMaAPw^~C_LzGH%dnh%!U-t49Z=GW}(d< z#&?Pt*s_?NukT5kBJ6*V|KI(|ahDdYxC!eFru+v2SXuzlK<+Q7Ik2<>${%1rxNXlM zF5~;G2HL)F0&3!cY6VkBg)R~kt^#BqGJw_1VEci2_c&A%7N%e>k#3Tpv710{hlLls z?Keo=MoD-z1N}vfI7Bah!EtvbtK$>n=KE`|F5b%C$aMFJ`qI7bwe`)9_A_vOo^WP< z99R*sZ-ga{LfaMaFo&m6BKlek?CYJ(OKs%7j3Ub>Bc+)76ZW5reo3N(QLE<)) UG)khIKz(Lv#39x+3QdCy0M^%6X#fBK diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410170 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410170 deleted file mode 100644 index 1fe2bf07bbc8c17acd8186d0246f79287a84a2eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 zcmZQzU|@(a=SZFXbAN08AJtW%nOn@`Ob+$;=T7)#6#4v*PP%p=P>Jv#mjjV9DZgrY z_sof?c*e}Re}dP{rwdwNB_G$l{NTN|U1WC&-_)S_AKN8;w;12g40vU!fBIeieepIC zfBV;u@@jx)FeEKHc@abd0V9am8Y{4Acddrs)dN=UOCN5XaFRc~In-U|NI>QEBs@Ueb(`aklDeX62H7%aBug;+xyn8YPV6Y6bk?R_p?*8#78Tx zj3Xw#e1RWb-+OaU-LL=T^xTh3D+{lBnjg5pB zoF{--5O4}4n!@1Y?Es>47hGs*_$G0}wy+}a{oJ5+h7OALi>)e|AO5u4zD41J&~%>J z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE}5h?zj@YgNy#{(g5O_h$Ch)6BB15@$2(^?dmC@$^>NgpW=WEln8sog5gr6;}b3 zP6lFdya8!+01^kw3DjQ9*0C`5Xwqwx`@ZVD$i*35`3xaNA(!psa@)cl%zlEucDakFpmq@FH7YNQRB_UGN&x7646iOrRX?k0lWXLb8bcZ&Vh__`qV`Tn0rcJt`i zsH&Y;OJj$+!67Q^<&S3`rq-(-bMFq6U8>NLsO}&6HGhBZ-y_>{P3$jBTDi2*;?eqx zIzGfDglR|XiFt5e4rje3CG)OB2oi#xIf!1*{NN>YR-GPoj!N`>;D8U+u7k> zV5F7<(j$8|6{?ki5o|6nEZzs3G;VkokT>yjeBEU3nKO-+JqRokef)ma=VzQt=07-o z@>a);ddBJw{U*s9HuFx1YOBA@a@_CqnTO+5uk@5x>_7v-elUFP$UI|%;+bhIs@bnp zzNK(-J1ceiDCK$PojhqeLD&$eE`>or>@)*|MlFzy;`XFPr+z}kI17pktc;CKER28x zP%${2;ve{wsXUJFShc6pj(b-Uzw-4aM{&5FDzSK7o*`giyiRN8;%lG5s%A`UfGTH%y49iURrQ)smhyJ~ zWoiohnk(*}SH8Mr?uyMRSy%2RE>_QCme0w%b@^0obJn`MCvWnWmMnCs>G;1@(qZ?TlHLBng%xs8(W0+pF404d^-m~bWF{0Qg4;}8-iX!R$k34CT$ zr~4U>YQ0EWm6*HcmU7XXd%tfB%jZ1MFzkL0Er2g#+3%Z_5;(v8K_E>xFOC>m)FqP zO(3_!!V6x;3=+3d5?-Ksj~a0Z4ilt&435gMu4`W_n&(HadnY9qccokGkxRqHh1Y`< z6o1{&&YCt|46F!L2SWg^G=owW5Nwyg+E+;B2h@Bpg~bw-@FULr=W~$DCj#bUO*=HO zhZ28a1PhV?5)sW*sjKO^}AZX=L^%^@&(0ND_(r~m)} diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410171 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410171 deleted file mode 100644 index dec380bbb7f39b510a9c1b29bace4c792adc7def..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4904 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

^*!nE=ot*yC$Sw1v z{DiJ_errXtq$2&fLS66#(;}z{-PLQ!6LvOE%NDav0{%p5or*{3S zIq&6m`rPra{}Z@uXNP-%ky;J|zmo$nZB)V3gY*Ca$iHAe6V%VZzy?wq?CK2C$1pK@ z3Pb10Og-}r|2qz3##!##dOx+vHdu7pqcc-`59DVvY+STQ?wD?@9%4Ddmiomr($v}K6s1N@l~fo+c`jbn0|d|fawLB z3-m*UNa&UO;bt0ZuDC?$F%<2R=07&~W!%q`I}chOJQ+QImNAQYe6IKZ?={EfiBHfw zt-A0=NK;gg)j8l*w!GMT3WRSX4A_GkaFf(D=;g$deFyw$@;Bbd4 zhU7^GnEk-A@;X$G5hzvzQ%9Veig(c1O(3_!!fUX(jgs&}j}zpGBP9;OVS-lQfzl}` zenE0zvxtaG;>!oH;XndWP9VD%l&;B*C)$MxWo|#eExqnUq3EYW1w zJ^Sur$D?@*J?}pFGs)%x7vB_UFsJ+n0$4nPXdw3=R1TIe;N=Jrbu0t>`pX{BdbSQ| z4yay*10;_kG2zna@dHa|VEb{EBgDDs(i0lH3FLNIc)`=>AaNT?IYOeFKy4*z#36b) z0*-V}kVh`-0ndx*Gcp{hW$taNKCkMh<6)OxlW9mplv8nykpplB!I*u*-fx|7p#%! Pb}EuT;5K4&B$6Zmgq*6G diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410173 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410173 deleted file mode 100644 index 370f58d9d17c84ee59cf714b6f9885e71eff00b3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410175 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410175 deleted file mode 100644 index 596cd9cb9ff0da3b073edb87ec58228a5f27c75b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4856 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410177 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410177 deleted file mode 100644 index 62d07b3ede8b0edb682c13c2aa4a4c3a6c8fe5ad..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7164 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410178 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410178 deleted file mode 100644 index 78606f42b7bb6155a3fd1d7ba4d1403c247ff9b2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5824 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 UP8yS#L+DBRzqLu+lQ^RP1Ik-wLjV8( diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410179 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410179 deleted file mode 100644 index 4bfed782c73ebd126c8c09cbf98cfc6b44c0db42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4928 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 C7x!TR diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410182 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410182 deleted file mode 100644 index 5138c64ed9c6230d5d13c1deedd2c78d971000c8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3868 zcmZQzU|=wwsH}Tq>Yqspu05tN7-NEj3gX$4qCHA`BNoj$@>p#SP>Ha-UO;@ypTemJ zzVobpW%Xs^o*7XBht+oPU*EAWQ_E=1?433G4IOp2CmmVhdhF-5d!PUP;Ersq@!#U` zE$(zi+pViWGZ>Nb47q&H8M=ZKn>bZmdSln|o{J_s4BqCaUzh%Nv;N+)*NFz- z^bhD)+_j6H|D%WX>7-kWN{?&s%KUN+@G>wG;Xc2wbYJg`pR!8J&;R-4#jxwq`^wMR zmm7Jtnx9Nbi-sr_En@GoIbHqV`sq<6Wck=1({#GKjXc@jlqLd3g%R#mvXg z-S@i!VnM(ukZ1~nkGBJe&RuY!rQw^z3ERSoy!Ug1))_h|)-SfIWPbS5Zu=I63qsR* zX7fMX+AXiX(B$Vj{Zk3gwv@H6{IjL}|2YfY`2{zV%)@&$OmupGequ=Z_ct{trh!ZL z^qj;NWrx|TA5^y6(1H!&~} ziYuTxW*}w)sqdQhI>db9WF) zFov}Nm4o9Aqz?pu@u>r(Kw=yP#RXP|CI+TZK9GW_eQA5S{7rzZW;kbEGUE<=P1|FW zpII$kb9{!tlk@kNW!wO&V{#1fjSK?mfP(Z>*ODt{@s;*&{gtmbIf}#WREfpw@(ckB z<8@jy7hn4fQYKL#)c{q_2yrKaL*$g5vO2QGa{ZHZoVf0uN?*0<;>o}pajYFSo0x6d zKmQh(qZ{^O#YQ=qbNZ4ym$$wBxw?6qW$d};EhmyL9m<)^3N#NKCbKRn2F4uV&=bE? z&CNCYd&3?7zF6&zrE8x`$$AG^whA!tJ2?Q;MJrG}a(E!K862goo+a&-eA}4A*JHmU z-^L?-b=be4c_-B`oRME=eV_y6cG!IF(oa|wXDKwzEs~bj zN=_HAxgym`ytZV>(~w(=S$&@8YY z3hHh=7JQyrasffySAiG$?? zYAL0YICtCpq_1UH zjT;l3JLDb&SYK}c_RQ>M2vCu@N7)OgY6d2-TY&zqmE%jaEZDm+7*cdww|N;^xav-CEc41d14-Zg5Zz z`6gw*#9-FLGhR*7xuRM>_&C2x-FtSqG?VYY%kJ9k59S8M@$TL&JaO+Q1I1Qt+3J#w zP5WnUO;gx-;*_Kb=U z$Eyqc2Ld1)7Iut4?k}jvKyknfOe2+0J`wqhL0rc7nFKViH3RkW!1RJ>m?fx8xC(Hb z!+DVW%>c7MY0=3uP&r0Wc?MHQIPZhpw4Z~6HsqO?v z-_1KutoO2PY@TrUQ+Z3E&umkX$1%@!o=5-Em>F@}qP!Rq$H1~10+5mqR0JO8xu;02Ez=Q;U)Q>|nRaVNe`h^&mUr>Ds|#aKuh_EK z`IoltnGcQ+EMA#1-xMmfJj^tW!FBmjtD{~a4?|X;@vak}_37rL!1Mj;?%&lunpDgQ zpMS~hj=!P8+EDBE_$nEmz&RST?=C9)q0+b^mHp5mr8Nhm8AMy!c^_=sygUWuV&>!L z?x(qcSP*auB$~qDbs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA5-n<=}V&=>q{^eCh)!kQhfnaeffVBZELXpdkI!wd9Ife5Jixf92~wlRmV z$9_k?jYs9f2q}JZ`=kF3+uz}9 zEa1HVuK8f@hCgnJ2H&NgzApl~o$1$y1`rJdj9_zt>HUR3nQpsFk@hKvl&Pso<~;lT zU#vgBLi@U(lljF~Io6&9&70zQd=Gmpnf|9WczVv3Rbk6Za|=$aeA4FA5}2LI1~d!o z2VTx=H(G8uSp?^9o1gTx?5c5Nf^&!5g8=Kx?cbi6y$m774_W?P?LPlh-^cur*`i-o z#F=?~Pn-XP1FSk88FPgtf*ye!E_*f=M1cS!*j%6=>=p}Ibf+KkiVw`iAQvGmPC@t6M@y}j~>pr;ocz)|2?ff5d&lno);tb+&$j)=vlGQrNZhqA1ZwqR!9^ZS5 zLwx@{E9Dif<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt|Ga*Ban=^s zzE=v{gfD>=QOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|}Ev)c{^Kq!1 zjF9+XaHxBJe@#K@9fw8TA@z?I*>R-sqz9e6YP~-91&3>M#O`CM5;BU*{tLf&k~pJb z>PD{1zZ+*THG3-ZDi&O`innBA2b#yCw`Zn(*ZG5~jj!0lPc~lK$LF%efA{|S``ix$ z4d%zzfyxXZ;NI~c2!ITD`~tcEz*4|4z`+KkD`sHcZG@_0ASMkgPD?onO=qCQ&I!{C zqLC6E5)-ZhoQ~l@_~vV z!W>k;fC0g>oPj~yqYP*yq)viqgVR_NCQA4bXZ{lj63oY%c4%M^CH}w&79;^ACOjB% z#XE+*NCHSqlHCMKxA1Txy3K*4 z2W}&ffz2Tyo3fwt7c8nz%h$6J2vAfxxlHW%lx3mfGAg_Eiu?I2A^J(nlLXs{KtsW8 zBQoOKdepZNu}jR!M=5y<}qH5(N7pfVO-PZI9SGKkCg?&pB^XIp^!d7x&2DVQZd z4iXct0#{lC+Yf99fW}Ec044ns=ce5XGE9Q+cO&wN$NSWDsrX;C--d^YRpsiCA8!W`ox9*dOT#yb6SjpFdGF^2tuu5`tY2(Z$^7uA-S#aC7lfws z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlX%s|WpQr|W0b%^=I$#hT^wD}xmU{Due5cbPp zU<_*mDhJ0KNFN9QmIh&ve^{-nJ<*6VZPIQQbiDsviaZ@Y=?dvjv<%ai9~nFaT{ zx+m1S=G=Hb>txu1310mS2bHcB8pC^$M#)zuh{yosw|H`=)Zc;qv=UAweCDS!@yXubpdDBi)c=u zSztdnN?AQi+AI0CF^8|men-BINBZipe?jw3s$V!Gzs~wV2h}`o4%^pFGp` zY^vpjBVmb#D;R6GtT+?VF}-C|K$*>|NxVSwnEfWLTC%crTf-55w(8aFmsh0wT<_-W z->~Iz;i{Glg;honJAvsK0#M=!Dh3JzW@wy(g$Skrpeot3sSL<^pk{$7ES7-F5||p| z%(wkOg83jn!2HocLwhLk2S%_U2_P|Hu186mAVE;M1qySp|Iq3akQ^uu$@M#i{YU~x zOt1?;1aiIs@o~G2L^nxY@-2YIJBGbT0!U1d^-2u2|H7u0N6S_YM~ zU_iL8Vi1?{-K_wvuUdhcc%WLr6wDGJ2Z;$+fh+95_5;(JC{!g%`X|m!Q($!{t=t51 zJ1o55>3@*8jgs&J)lbxjL-g_j9F-5tiX0P)-UjkGIdM#`saaCp&lk7&)I9d+sQKRt zS4{vG?jV3sZ-DAO7=VR2JdF}jZ!$<-DwqMx-ypwXq(dYDBqq!{oMjH)G)kPCJUeLY zCah_6khl#cjgsglkiSp>Qp6!K;Y!felCnAM7WLkHW|!Gh_)HBdr|6ABJ2gG rYj_$$_akybN45jz0(AAb!vv`gBEwB6b|Z0+m@p^d%xhT75|Azcn+B-@ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410185 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410185 deleted file mode 100644 index d439e96b658e662777a7fe066a40877455dca267..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3836 zcmZQzU|_I3H~C`@zuvR<$Q7>BKYd*haO&CCE35y$@lz`PbMES#N}v+qlf0_Bs+WJB zi+=TY^^$w`n>XbrSD$DL@apt@d}Z3JvK7^9oAunWOn&~ zq8KjRPTTJ)=9gnG(r%wy+u+yElA!)*i(x=^GSHA6C zbL*Ap?OcY9i}vUp1uF#+j9@na(?P4%t0yj>4EL*55(arr3e z(3hTh?Bx_SrLAuw_*Q8+c|BCVY@Yacd;a_4-Ea3dC2X$E0GS2$@0w*f5mNl-_DBC6 zw!g#ISipJzUGu@*4S(Dc4Zce~eP4v+U$Fl`ZUAD5JjZa;h?F3gBG=5!Z2i!bOwW)U z6GvNHs63E@gomS))w86%l5ZPx_?of79U3bcP{u#YrCrw(W#04}992Q;EUWb@ZoP5`Lg>XX1gxj9N zTuMul7tImOak~0oNt+Ka7Ssh8g#9uY7{fsE4+{^FTR?f)5-P?~P+VYTXkuUr<%6Wb zYG2x3E`JkXs~OH&m&~}sUeos2X;lud?SNEI-nr^)V1V_ zS$w6vTYu&2O^)JlJ5^%wx;#U`!g!t5%*EF}gOo`WNHsu}GeX?S;7}?jFi|qNts-QT zgpN=+$2@0-t`?b1x0@wj{Nc5YNmHpwl>aWobklS7Mf0N<*z33_8qb{C$vUas@w|#V zMVFbE~T=Ox4 z1xWyj2@54idWZ8M2cjE=#c6%djS& zt@K?Z*P-ISF~8S%|LDB_{mQZj%q6Ox-G^5-Ppk=rgdIlO2bJwGfE;dMF(T>)2B}NF zu(XLB4q*LA0!U1lbvWY`6mOvNNeZeG7N%e>ac)vefaVtrdyxc?m{6Ob!Cu=XI!J zO75b$nGOsQdd1(CWrNxgK%g%09|(X9m|cuO?k}(uqV56b8ITy^b_#>IjPDd!Tcr)C zg$HUDn1WdX2r{{jgs&Jr4wqz MAx8Ry$2yP!0Ot16TL1t6 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410186 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410186 deleted file mode 100644 index aba239578aef76961ff0ea18517cf6a715a3de7e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2836 zcmZQzU|{GAG)TSeqAzhzWS8iA-IYDN%6jAEABeyB=#+P2eZ`dTKqbPK=O%y5;n#cC z9=XDG`lqie0!}^KdS&(BH-1XRf6iT8dGj((5v@02iG(m6MX zV;}4O4?CKHW-ufzI;8@lfq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhsM7N%Y;uU3GJ)b-S<4pLtQoU3A25PrW*5xiA&aMztv)RJ=NN4$&bBCtfjR% zd6Lr~t5kYUwr<-|-crwT!Sn$0dx5kvw-ddE+Z?@@3M$WS-rd~O(0Asp=iTz~%o#J= z|0K;Wkov{Fc7lOL@UoR3HMe@ND-^9cpz+69b8EZt`<-PBqAgv#54LSyo&s_)^YL^4 zuEP8PAIW(I$`%fsub&sHgQEu8wMsl-Sm@Z@CGQ^r@d!n>3_9bN&XkZ#l}kN(n_T#AuV#^BiCNp3c|=!Z!pWx${7w!G+={D#>L&v+ zINpFXIsl1-cai^PJXm<+P&KqLCZc(F24y>C+<=90;Ze^>=s~p5LRXOkl6kF>&Dd5 z>*pS{uRVQpZr8$V7O6T0`fdlFaT;n&`gZWaj$=n|EU=lvv@qbF;yb1C&D(BlahrAH z;Ve%*Zm1g^x)xo#ZQ_-Ac5 zI^0t?E3H5+_D!at`?@&=lN5H}aGn7Vzictx|93p5UY7o5cjX!NUV$=4rllSM*gvVj=mfl~w0w$l) z`m0h_G5651&Nzc3%UigCW-%#d+DLNeMksz%Sed(m<-i>G9cw;bU;pcEPn`6g1v|s97r%9 zmM%d4prt*O_yZ$YkOYvJuuuZW3!DRFFoQWz|Dl!XusG}lssWot?eq(_d*h-#dPl)5 zWcR|tgeLZa^9^=;8N@mQqk1ax-maJPSg>l1-?oEU4!m5pOTO@C?srJq)PDo)Qp~gu z7KRegaLc_26C_wJ0~J~`9o2%C&68mIU^G&|ATeRGxZ)IIf6}6$Jy4afFa>joag){O zrdKp}6V^O7NZdwAc!BCy6o3?QNKCjAP&gn1eEAY22P%`=U>XS4)9dbTeDz#P6sUd! rFe^`h>4VW&9E9R`BFvw)sKAI6^BIuKRHEAtNaZlh?I0S9`{B|6q)i;$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410187 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410187 deleted file mode 100644 index cb178125387f343f160ffc9d4c96529d38aa1496..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5160 zcmZQzU|>-9JSC9!FiBZ`!@||61%u74Xb{9)9#^^rY3I&jT*=c*ajVcvmXyqtdKr zPb5#jnd|Z==5O27pbc8eEHg?uAN-HuiIX~gSH{E7nD=t1&eOWBv#*rYe{W2gc}kLZ z<(o$WXI5qk7nq-8x|}a{Ky5<({B(i$i);iE=GQGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lTUjM9+py7Ak~e4pHV*L%5n7O%hD((s5~TGGbqx{3uymgk&3 zCcVkwL2a34)z>XQ8y{U4YS*e?oRa%vIS0^T;P7*sp1ytJhXajEt!7tTm3Ut`m8)1d z^4j%xUV^vSga03Mgoa-OP(4+{FRROU*1>(VPHJ7^e5aEi*tRNu%|_opH`>qs^>p-4 zJ#`6aA4>Rv-2x0hhWTeNsNLIF8GB?&WZPb`DRo&;J!EpFdA=_*20R3qRYp$6C)H?GkG1xSs15&)&M@lC^+C z14HMZjWRR&R(Nbmc*1!;*4fWxlBSDa$AP^wIa3?Mq%4KEToAbx6*MJ<9Tt9pVs!y# z?|t6PpZotAXV;dxaR0rNAFZ5r?{-DdvQLxCZ-T>5w51EE9y#qHvl)WCH^}^7m9@YB zz}iK>?kwv`jlCaSXw!aksYpC$soEz^pk4;qv#B5o1Q@~Q0>ff}la zGs%3X{V91@*3*WLf2FzwdlvsY_DVQzccNXFtkTqveD&H(m@G19-p+BDzm{1_{&1++ zZ9bq`;51Uzw-4aM{&5FDzSK7o*`giyiRN8 z;%lElY8VZ5K@D9%*p4v=a{4l0k-*eNY`v=Z33$}p5gk}4R?48T!PUq~hDq5AnIO*`K zuE*+EFBZJou&^@k(sl15u#KQ_fdH6apu@YEbH2|5D zVESM*k|jt?m@FhN;XIJtAON*LX;IK3s2n4xPJpr*h;)-HjokzaD`#Kz(v z6u%Q;eskncFH+10rcXqC6I~}D=|T1b7WXsk>R+{Nnng9Ayw0)OG(E<EtE`n_iphBzHJNuyR4r=9Nu>HV%ya(zIl(-?%OnEH>(3v7wtd=x`dDFl zK{U(~R3=;nuCg3#Kd>x^nS~NJM7k+~#%{uzj|Yj{Cc>q*| B+ou2k diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410188 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410188 deleted file mode 100644 index 34598a3010f058c041c244573a72fe77b3b3a734..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4904 zcmZQzU|`_h-ti^u&F0*Fid_nM3nuSjE9YI|AQ~6nx}0&!pD6{YKqbQJo~H!T9wsTP zZ&*^xy>49J$$3o_N?zlJx*VSN~OX8^%qlG z*B`Bt*tXl=skxE=RUkvU|2meYbrU_7tv`MGO@72&lM{u0ODlFgm~vL*&)oA|LIxM= zYnMDUTxhJ)?t0Lb&u{X?%WVALnwp;Ow8}hTE&Jn6#oQnU(UumxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u63=U(Ey9mV< zPzehVGlA5~wl2QP`>tNkxjQV(n0EPi5F2HdH z(gOs@YzDdARi~6EJb1dB;rgo?{@zA6_epbX&;GWdrs3Cz!du##K^kPwf|3y!FoMkm z#%+41ht#!1opizQn3<D*LTLp zo?-zD3zrsDl;{>*klP*10W=Nlhg08J!@5Pg6pN*A7K*?8&*<%SCuO(WvJ3YPY54DH z^_mJy;X4?Zwb~e%OVfdRP}~l25}0I$vU#C2QwaAHFq5$PU}a2ZcJ&|z$b81oU>9c) zheLLr!25cY?#`gs()qb zrDj^I|7Mmj}+jhmR}@P5j_9d&ym55xxk zJJY6gT%!KMITi(-=4oMtH=K_{?PP?+2ZO`+C|$=~)8$)_ubuLHlD61_nVxfeZ&mqE zHUBQ_v}y)(Ozi#ssTWi3+j4M5%W>Kq`?%}#-0OcmKg;ek-@Z&EnwJk~9ysm|Upq3- z*r0f38jEW7E0u34oZQYzojyu=o_QxvnobZl1gcA65D+`fz@X6yWTV7=(xTJhP%+Me z;sPsUV-pKwpa4`1PN(<>K4mJ8<2zREskGzXRnL_90f+DVS%g^albG^(U$ZYzAyYtT zP=JpsNDBm{pSqS@F^jLXck8cwy~$A=Zl_8tUYBPGSQxLZ8&jJ%0SlQUe(YdhS)P-1wlmpn(&zY$zaR4bukQZ+_owTr7iI!DV~^89>S zdIaw_;>>?OhXnIM zet`LdmiAEM4~$?z5vs(Mkpz&KU>AT0aNdFQ z@VSjdH)*YGg2g+Ay+{H`Ot>qEbrU=cK{|=9lac%Zw-Ly|=8z(;N8V?oU+Ns#{@R); zWx{;VDPb;WKMB@3HmQf?F5U#y&ZzSr2!I@TeG26MgG%z^V8haQJ5(J5F?H_Zv`9f{ zy`Bct#|hI5qLJK>#DuHB6{cYOfoV__suCq%5a*`wr!;mG$nCK3g6E4t;x1-W?^S(b4@_)`Z4U_-wnVv^xDq_zSvZj!oGA_HyfV%Uo$fW#!(O(<<1 SqWddI{(##EWMFd$OdbHqJbE?& diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410189 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410189 deleted file mode 100644 index 464b0faa8265754c493e278bfc6fe82fd61b8235..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7124 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 C&8#^9 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410190 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410190 deleted file mode 100644 index 9a76bd3c7a61d318c8e56cf1a9a0eb2ad0480a53..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5104 zcmZQzU|?WOJ^II~^T@=~xxsT^KiWTYgUKTvwW~EY^?MlOIG^n01u7A?u4O9>R&di0 z@lA4V)&FM1HYs6mox&x@YvmK)O>$!o-YzZC-&Ir|`|)PL@|kQU&nseY{hh~pxLx(E z;kGY&)iZrU(H$3(QB4iA6}(zlxZPq+oL~w>*?GN z#y}+wYmRYNPpm#Dv;WJNyUSfp@4b1mqva2a`+_s~iYz0meC@V9d$Z)doL<*$rmb5lL2F{D9D zd0&q*?%6xvGp-~~;Q5Y1=EvtA8}c;%_HDBbOFPrCqLMj?LA0fh_rbQ!%TquuWZY76hCEiKa04csqdT+yxg}8oo)Kuq~{}dp|d5ouPwb{bH+1=7&G+wr^3mAT*t4 zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)le8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxZSeY+C?~uB{AA z--Ch5!SM#t2LizO1c|ZS@pBe4IpBBi$;FG3dR5XnGQ}#kEgv)8FYT)Fa#NV$08|6g z2i8l_KB&5vwwKG_1lVeZbJis@?y%RiJvRB7)zUS`X9zqwe}7p9C_OPbhIqOJ0U0om ze(G9s#Vo$k-mSm#^(IGgxScAocwL?$U}3yYYv$r>pMmNmifV4blrw_;2TWsAio=bw zemnl(cX*oWr7v@jsK~QDi8T!)pY-C^{;+6Y6WA?4e|w+n zWjN@euT>u9a@)NtW%3O37mAe~iFbE;KR+g1k^a&Cf#u1hGuv`rML#{xk`>;gW_vKSPh11y=-0HtC)cc)z_PZQo`6BJE8=Q;= za|*TvY%}FtBYv!N-`<31A-;aQtQf5xFF5? z-P|Y5u|50ShMI<79|~`2Zw7~-XiE=FJ=8<+@FJ+6fq@OEhcVdI8LYMG@nlt%8@YYU zdu;74L^MiGul%3$eBCL%T|w-T6Wsc~Fl=13NAD=q7N9<`8-U@aSJ1i5Fkxq4QS`fp zJm1ST>jGDOy87mi?_6)G8@F;(SDG!F*RJ$Q(&2j#qr&2AN0!vCxOYo`@o(-)BDeXn z{B|${O$7Vb@U@!pZHd)aj#?=b3l%r0E1#b~h)f zhM(h;*kF4{UGc@{eRZ4ua{$d_$^Cb@^QOsJ(Xd?+r`yFh$9xJ^IPmV))MMro_5#h|hzW&?{Xjpdv^|8YAf@qi}s7$yD za9qN9AiF^TYCo`yG=a)7g6a||n^-rQ(AZ5Nx5L6~u(^$r@B-x*YQ!NpOpw|w;OP6~ zqUbZp?`Yj@Dv<%EAyD}TGZSVWvH*r0P!U;alsGpP@1U`pu%^*L;x?2tN}`+4v_4Q6b0-7lydD7;YWIwIN<%1NsEFGLRF%KIgxJap|P8=rqMy- zHcG+^)Zaw`ND+s`gew7s12TY>Gw5j)q!%OyDg!}nJ}@BIZ(esdN3bbL6sULuu*{hN o)dr`qI0(h>M3^6PlDmo&^FjRuc$q|We;!E>-0?sL7Wc!Y0oiZeWdHyG diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410191 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410191 deleted file mode 100644 index 31338fc18c923bb317233feeb0e10967c23823d2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|>jEK=oR3glndi0M|=aGq} zbA#u;ezbq)29rlTYFBG)>i00laX#70%aY*3F01v*E7)$)vJC-T6Ag4sYWLY*pS5_l zh<;`7|7M^W3`vVl*@0*vU<45>RL)B5nOn-{t2rw=dd(8+!>ja-GA%@Hd-P{-J)Qf( z7^uV{-M!tjv1s9@hq|Y`#Wy&u($8bGpO-xGbD_6ibWaz9RoC7-jPu(jckGz5~lhBvxSkPVxiHk)^^<+Ve~g<7$RMllLn z=UHa#yV9Oddfh4R|KjY&-!h1{^z%O0wt0C9$i>XZ&;7gC z0%AeHDUfIigO9fZh|XPbp{3!Q#0lHNioEx8gVq^3DAq5ws$_on({B3~g$qK{d1muJ z+}bU#zR=|7I{i}#&$g7cul%#6{Qo%%-T4JKlgz_=G)#1Qe|};}`S&+9D5il+_Vk>@ z7G;Oo*NSgu@Rz$hyq@}Ol~UKjsc)J}j6?!YPF6i-d{ryFOUdIgd-UUN5H|q>mq1(r z)v*9E6G(mGQlaNJHm%#gi8cRh@{!(+q8Kgn>Y$}KX0Y`3w9(Ab~otF&;==^GtQJ-0he^OV1xX}WwhUNhOx&Vqm0 zkHZ0Hma`>Ri~T=XE}RsT!3;DD><7cwj?6PQD4vQWd4#7;9XX!L;W2Vyu#T68)c$N`CQ78Dm)85^6JgERmEOdXg`@eh2;R3687 ztlCp)$GxkbDf0sk-}kc!vDzmw<@3H~U!Z!XfY6`-A6KwmFp+-hT5`oKzS7>Uzw-4a zM{&5FDzSK7o*`giyiRN8;%lElikOn3U>X>qZgo(edBbRXy}|EjeszOw_wGGcDqh64 ztTZk^T%ft;l>En_UHRv`+!#u)>vPnbyon66Y+7<^zd*-9-fxoYFBv>K#{n`HWazOh zo$S`{y8WLsTMzsTsFK}hczQyz#Z0HEPX**$d{rJdd zo6)YC^9!Hs@YD@)DDv+DsuTApdjV6<1a=EBJuK}$uJUZlo?rWN1TV(U68X#XaQ8~l zHL5)A{JSRIa(>FeUM&&ucE{tc^y9%6vp42wee@1BQ$0I1bBoBo?lTh4SfOrkSj1lF zdhMzCmW8WbM6y;s)o#12z1jYOL`LV5mF7!3;vd~;;`{O-A=g33QGWJfnym~>-$Q_UP{I#b)KBa5xd=2J3<`MNfH51mB zNcj&0NJcOMx&NSM!_qRSZ2$&D)WZzy>(7}$>*8*pCRV6cFoon!Bqm%1uJ{Do4@_&8 zP?ad@pEx(2y+C6(f!q!YFL?SNByOW5yg=4j5D}Suy*Q;;8-Utl?Y<0~qs2r^9goiT`ZDlcynVdzy z5Cyf*gMsGoLd^nGNa2jcgsZ@n2JqH3M7oKO#%{uzj|Yj{P|`AqZUXhOs1b))>l#?h F0{}E#dU*f< diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410192 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410192 deleted file mode 100644 index 7abb65254746894b49ce21a7d724b63fc560416f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 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

FE5^vo6=#aE@d z6O<$-*gv((X4jwdM7YFdXNz6YK68UfIj=R>+x_ePEp%mOWYzrNF}|OL8&$)+EVHcno3`vVl1%YTFU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qxVEk2-ki)`t~_3TS;_*clNmAZYhVxQsrw(ZTm!&y7>nO}bJT9AJ3qGI{=^~)|y zO8h6Rb*R6^#J_sAp~s~8A98s<{&6p1u$Z>>gC6s*zqQA_qV*J~gxPJ{rQk37O2**E z%l+zgw{=o#J#CxcPN>%ZW0vr3->0o-o8BBTo?fu-{?cg-qAinoA8gyaJO$)p=Huu7 zJ^cV;LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xo?^<>8*1AHQJquSq@Q%8er+&aY`pfgZ%nZ&MbC33}o%x!9-^l?O1`}cG zL3)4y9Dfid1HY_4mQ}Yp84QnRC*sfNS*B2RG4x` zu(`mvHC(~y;Ja<5ncGuFGwna?GG^Y1vb&Ml3}3fin>tnYG3(qfQO`Bjse_Gi5`%vbCR6m6e(FMyv zjz{(b*j%6=&L$o^G-;QM{ybsD>U-Yy&$zbyy5;#x@c7fPY`gT&*{PQoG)bBk-k+PW z_OWznt-0-w{s|{UE(exAX^A)1k#b>$`N8nDBlC<6if5*=sAj)X`If@T?X1-4qm<{F zck-m^1Ytv`vMg*1%w6#__%_!KtTGbYsnR}_)2@X{>s;z z9L3>ws>I@Td4_<6@j9)Ui?4kKsbc;55UQGi5$aZl*-d&XS=(0DI_dS?NZe%BwQg;J z_2liLpDb^MmcBkx-Z`b|G4K5c=PzG0nEIdA1Q?e|*pa30T0eUp?gu1DCu+&7*6Xp>G( z$@YmRpo9t12i8l_KB&5vwwKG_1lVeZbJis@?y%RiJvRB7)zUS`X9zqwe}7rV4WM~U zjv=0YumTUrXCNjl84YzoN^ePEMWwdw=gxtng4ta3Fd?R0P_be?V-dU7{P)hfW(A_5+t9%d7wA~0cbd) z)wv)!P#lu$cMSWH1dy0u7k~(G9)|Pqxs60OX{~I6#XE+*NCHSqxGRWt6Fdw-I*G0y zko*C+5y-&ikQ1_ATRr!(b*$0fz3Wd+(1olG4cU`^Cf#V5_(V;gc}gEtKS_C#V0{kE zlhCjO)#(_{LJ~k?!hM1(?7(FLFs*^=5D-8~|3tdU0+=po=_ZidK^P_d4-&Ug5?<(W zf*h%&s$AXHwE7+$n<8&WQgqcP|^``s>0w5b^1S6394=M*s|L{7Th;}Cf z`}#9Wpl#27pgExS1RTID0SX{7;nL_~4Xc~*mKQ|2$$`dh0=XR)Uhw*Ikhl${ydcp{ zp#B3j;t;*O07rWM|BV6fB6eiOXvJJ8WD&kBSZIB?`?c;J@gGX1Q-v38g{BN_Y4jIV z4i@I{G)hF9Tufso`y*fy1oZ>Lf#&c+%>q+M2@{D4R{^pQ84#65iF8vPjok!tJ1o55 ZX>^dd4JD0|=q6BKjv8@@HI2d|8vxDGkRbp7 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410196 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410196 deleted file mode 100644 index af7c30e322dadbb8422ef27fd607bd14d5f41e93..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4988 zcmZQzU|?X>@q9dSMf;BkCeyDWUa{=4C%>C7y?ABMn)sH2Cwcq-1CYI?)lsQrVn)==l9b-b?5I==!~N2}kkT?d$dy-JI1c`NYfTUO5f zX66N^9ezbpxp~|rk{WG?C)9@-h;wP45BSlcpq%rygUWuV&>!L z{ylF1u^`|SNHm4P$J+r!=PtO=((p~kJ(f>la&9GC%xjw|$Gk1)=FY zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`|*uW5U1@-wTYYmUzlcyj*!vWy!*^Ozh%JpF=z z3>Zj1buGDK7GG)a)?fL0lcPA?PL)`^F3%9KFkYuMbMdv$Aa#s}x-jL8VE+Nr*vzgA zcHSbw^N(1X$yx2)eLh}Rw91)5ePI^!`s-&uJLy;LTK`&lrCi6Ug%&sXKlN^(AUAn& zS0O9=4dJFOJAORfoZ{5D8_fVmq)OZXNC6<6gN1ZTJwCTeGUq!xObxTTca+5+W})iKO|KToqM zc-8z5UrrURZ2grGC+W0+>tKWZ>X{ENMy2<$gM9@d;QGM!0{zH4JtjNEXy4)Io2-^@ z*eb!ByIxx=B*A%gcw^t!g{yL=^Zs7iCUiseSC-3O*+M};MMV4$F8p2bBa-a<=f&FZ%)O$zUtwW+$sCR%m49=-CUK_{!h}SfI zVcre36I==c*|0Ey(I9D1*fK-YH;B(bFf9SqfYUN0Pk{9x6Uc@`#Th~6F-#3{=BLa- zb`wl5h{j?*$PX}o(9#}C{DI+YBmpEQ+^66)59fj62n3+vh*l?q>IG07lIwR2`;i2Y zm|z!x2;$vFx|?Q0;~m3ZBmpEQ$!-FL(`1+~V#+mWT8Ha_=>^eP9DZfb9pSWmt0nCG3cFlLeL23%Z*?Zij^zJbw)mw^0&a=y8Ia zmPv_2aG0Q#N1(C_r92`rylCe(r1FRuH}Tw&g{3cAxd~pTgK`Ve?MNhlfb_utwuoDO zJ4}A<>)E%SnX!E1zBTXbHLi_QH>Z25p0|JAx_4goeyHA*|3Cm_!;D}Aa{oc)VCf%T zUJ%h1V_;u@#sS(Mn*cNi)K-N9m?b~~Bqm%MJ*;7MA9~(IN&m#T>GT~My9wlWSa`w9 zi$UTxO2P}&rlv+5qL&xoNN1i|^j+pK^W~7%2TK@bayFMY9!K diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410197 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410197 deleted file mode 100644 index 0e992b4db009e7bfd816bb535d3f8a989f254c73..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4000 zcmZQzU|>jV-LA8;>Db!)&*ZkcUweA$e8o?jt5ep#ymfBDgrZG*_5qa$GwOIgp17j@ zM+B4U*ATB*_Slo(&6i%hvS&?vOTm-8{r_#h-phV+J2-SD`%I359NXA-1bTO0op@%; zj>6;745|4RKrIiNpKJ%HHD-lVC!9X zyC>8BIo-@$AkF{#^Z%b$yglB=axVMEac8c-Wj4-*Ya1A}PGRNe>MHZM;BxtRI* zxqmO#fLIW43M87s;N$H8qH`BqXleK+al*E+BJcg&pml~0iuH@FDw!YtwA;Q#;eya~ zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7)4! zB@kCYb<9A_1X6GK+L3w22E{YeSX8rLseDV}ygkK;R5?Wwfm-c`?( z`2mOT`&ooo?UR`Dd0(?HP(4#XXi$KUD_Ad>NI!KgxndSyY46rw`FfM1INVN^SiCOJ z5U?;_r!{l&wa*|$%0zPLEY+5%V5Ia$mx1v{hpfB9Bu(x4K`LT-)yg%1IGY?`2BxLtj+Uft8NbU@wD3i%YS3DAUDuFaJamw|994FrhfGL z8;Ryelc&cm?p^t8CgVN%v^LfDhjALb4E#b%Is8D04dAw?mV?c{RX!XC_lX-KM1j{L4+&(cx5w@&-;v!lkZg*cVE zd~I+1lb*0da)Sg=ow!HY3z%{yuv>unWT}K`+LoSsUVBd7f9tnw%QxPp@AL0{&pjX} z*6Vv$af?dezCg*t-W3eq$3u@;{jtzjY0+(R^0em;T@(9fhw4-=s2dz=%$)Q6AN5~% z726eZyu;3-IEjhz#3tEFWebBezJrUjmgv2@xOU&~8<)lPG~L*D_p4~s<+d)+eDFE8 z|GLNN1@LtBb?ddMQ)M5s&ixYgTq7^S=->UPh0VVYWj;vtQ}_^FupAtIqAkc_2MQ;N zbnnDai*)BmbAwb%C*x8VPk*1R%ye5@pd2iW!SpBRYYC>ZYo65JU-x~=tpmwb>Hb%y zr0>4?#bc-c^^al)U;%`z4{R?mtk$hjpZ0K0;^|Xw(C^U1eEvyJXWpk!Ls8$3=`MfQWnOv3!Vff)dHN5p6*mq(n|kxQ z>gi<*Gfs9$NQnxsR5Ii5J}hj-^fS077NLRe;kqoChfb7-04T%jR&X93!aAgQ+8;d;qzrg2rwFxg8c> zgUxM}gcqnxrA8cr!vv{*1xMfEO}YZYj9Ty6b>|_@=At z?4fZCuGxTWq~rsYfrokSWta%TauKM|>PL?bv}^?V4+S7ug2aR?!I4HG_9rb0ItEpV z66VCYsrv+t-Gnub4idLf5?-J(8U-Ll91;_*1V9NzK@pW-ODME@m(I1galBA0rzDD?8zFNw9tf8Y+7>734R# z9s=$}31{NWPnko4`B?K84eX)BAIM=24lX1CBqls0Ny#fLKwY4`0#9os`W?f5BmpEQ z8EzxpO|zl#j$tp701}gAH=(qvh-oWA(>lB@2DcH&z~T^;G(x2LAU(vI54RowqebK| diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410198 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410198 deleted file mode 100644 index ac34cc8f858f6d8fe0eed4630fcee40b2e8549b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4824 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 D?XF?E diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410203 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410203 deleted file mode 100644 index 117eb4236909c5f2e96861dc36b384d701a02371..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4164 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410207 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410207 deleted file mode 100644 index 03e45b8d12c7926f49add04d79c39d7d792b06c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4860 zcmZQzU|@*r`n^(P&*pnsp&M63sJ?vbzqakM?~y;-kL|3r==Qf=22>*aQo_)3c>&YI zccqW^zgT{D>NlRx=a|&g<5mSMZF6r+u37(Uo^wZt#`5=S3ktOFUx_@q`u|cn-@`c- z`49cBeLOM~Xa+;lqEiz=G!QU?h^?^#n|9Y~_+33<<-YXc)(I#1!<$3hWsU???`vYY zWYY~);*j#}4AV`YoToc#^tSqb{WbaN2B%e)E^isQ=O%G%3@s|+&iY((gDIo*a`l5H zN+DCc4=j9Y_*YLbL_#if+qx~MxF>`s1?PP4=HHsv%>N~1H<#ak!HyH$Co=S`UYPM7 zTE0Sfb6wnRr}v+3bTa?xezYQ2a%V)&^Ppo-Og}{Y>|bOZ$ROG>pZCGG&C63jE@nP{ zK5F#_5DNlMfkaane7qe%^!u}$tsUEC9J^Lu4x71+J?YGys)YEx#}*x!7SJ@Sa*4ro zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKazKpnT zXn09+JC7mM4|8GaL5=_d6hE|WIlf@!M7=+KtT}2bt9n}g_Ft;KmaWR=cwsNU`!|li zAPvZV0GkW+gVv&@4eHDPaqZk^xP~*L=+ewPZoJ`U!iE38Y>0Ob(Aj&~SIeiMuzR-L zLe6z>7WE0d*f-^0%{MmZvSl;>?OyU9?gzuyj?6PQD4vJ zwWrdKdsjVE<_8?U?`IKWwNGNo=Y7q-K!r>Jp+NyYt{^QCkbde~a>XpZ(%!AV^7ST1 zak!l-v3OmcAz)#=PHX1kYoEcYW=v~9_xmf~%|SoS8TxHRW{9 z{SQ`G+Fk|w!}FXcTIS7g$rmNIBp5L znXzpFFeOqN9V0p6!D8_Qf&sogmfZx3*7cWZcRY~W_6sy>_e9Uyew5!I; zO<{%uR3BI`LHnR~ytKVs{wBayGn}(7nQ@1`rtPuG&#acNIX*++$@%-sGHw9PWO5Ag zbO{17V1S6QlqjmX1yjxljS~k8uU0krWuk{oz8I*gN{H$8hj?k;-@q@nZB|95C_me76)PNRX6)|R!{HiXfx_O z64*0skAwToI*Gfdr%hNkZR&2Qr78b`0LX@gBO{Ot&c8r0P<${$%L1@+BEm{cVpL2|3FLNI zcnvnUQ4(IDJVuQ;1cwPydjK4LHIELkOwUn|*vfEjg4Dsa-MMo(a+?o^^h`E6{wkKC zT?-n=;F=i7#+7DJ(kQ|Dje$YjqwEDdT|w=DQ&=oP2|wb@e?AA6Zs7()8CcB6ns#Vl z4<-JjEZ#BfMG`<_ zlI$i>x`l@m(d{rKJ#ZU=3~Ubh5kK+Lqz%5o^(CE0i{5|Z+Q%Ec$Ix!h3CY>o+x8lX zY=Y`1DNhn?uL1KUH0(faHVkJW2_P}yKEajNKy6r@^#+k{vH*rRE!~7Q?++5Up_CUS zx(Pi_kRz3pI3%jP7&LA}%4fv5iRX?iEPc@`yim#uqWe5Z{($E)AOl;(ZC-41oays^ zotyVI=RFWuW)pEWV*%USV~zY9_}*+6Eoy=4$JWmL2bBZ)9iDPb2I<| diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410208 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410208 deleted file mode 100644 index f4f07898a5b3d2140113cb2fb67ac1b9e47db922..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4988 zcmZQzU|{%oY{!k{PuCQ0PZQAl6v=bvz=1W()Q|6&_nT3~?%1WP%YjOSU~Wt zmu$L$N*s2|a=9;_#HM#VQDo-|fr#j+IbRalrmOyo3d*(>PCmY=B5qlmIr9~%hQgzB zE^6fnN-aOIAzZQU-+_pQjJ*9Xxvc|b+)qR*d^o>^BU+?jlivNBXLnZrJh}9{g^bvz zQ@`_KL#tmNmQ>eJ{p34q6Zd=9vO9|3ciQt=9V<90q|X-lok6r^0q=uto0q46T+Dp@ zeAHS85DNlMfkaane7qe%^!u}$tsUEC9J^Lu4x71+J?YGys)YEx#}*x!7SJ@Sa*4ro zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKa2|MID5>^!n|*0rUlx5>$N zJhk!i$o!tQTRSkWoP+O!!x15ai|g(!y0kA&e*LNPtr* zaeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3e^xjqmrth&pJur8G-33gu8-NU! zJATe$CI|fPJ-K*MQm;xnN2XZCw&i1{`=wnqUTz9A9H9EZdI{PGwd1Aj@{tVO@3yzbj|S@0#DB0UzTwLXeN_mh^I>skO2efr>-Se%;GEU-TEtEZ*mle z+o=+Z*X0=k7RKweW-h+=8K_R8sOA<-IV0GAz_2uw-VhYcE6$oBHT(H3ksofStDoz4 zCSGun40-h-^iSta4N0!khwd)5PunQaE2Hz`tJI7iWs?;juraRuu=nhWg&_05VQKi< zk$J`j#WT}bRI^{Hd`scvc2?^2QOfhoJ9*M{g0LY_T?&JM*l7j^jTt~TT3DXm4;AAq zC@!!vHa0Og1qwjL;4~58#}p766yW0u)(a+x2p0yXUmqHvIvAmDb#PUjTX$<;W!Ksx zzPkiMIFgHJug_chXN9kdhU&#>A9${5Bxl~Q@V&dcqGQ6*UC(r@ckB5CycB7be#Ei$ zdk*s?W}tcCa1mRo7QVj4NyO~U0k5!(qfxa--!)}e@_zlqoss1AAyyJ8AA!}w+ySM* z)NMtBrfc_Bv~SvOZg2Qn_f)0E{e82fSZ42?FKqNV=5{1Vk?h%2m=;E`xxlz}x;V$1 zr%-q53h^5Y8~Z-6u3qpsMb-Q$+k(HAH%t=dU0cID^X~7~g*&RP<=5Zu*PU#)_G$JG zn`7+K@1NdYwWJtS7O>c#Z0=d7`7Bt)E0kwV&&KyQ3%A5h3V!{6osrHL={;ihP)k$( z0|Af?i&sV<_ZL(SRO6Ty6tF~Bk$$|lxLT{LzR$nCK38f_941KZ1)#AE4AVId zyl2>)A-F1Crcyr2T$fp^{OV@IchmOXP+WS(@x&UiB2f7Q0kGr)qd}suFbCCVU_h|` z1F8b&IY=D{)rFvt4Tp-NgdcI{r_6!Yu?U0VhG7U{O*=HOhZ28a1PhV?5)ke`qN zEH5tr2_mHfkX}%E1uAD20BJBF(eD`cBMBfeVWvaMcQ_AG&MW|lp}387H_e8|JBGbT z0!U1_D~Js*l=7IEwiq<6!^?2EjX(w#hoGbpBFzWsA=Z2bYx^Ss3*wK(FS4oKzdkPF zLwqx%NlUjL*RkmEbo2Vk3sCoAtC#*kp`w*VS<$B!9ld>2D90V zzX_`=RfOW)^Iu6baqMnkcC22$kb&uM)}}HYXgH$ROHg4j1q*X{8YS4CWMB~2TG<4v zH!#v6k^mADZY5c1lt?#OP`OM)&o@}p=pb<$N*X26P3UogT;7rrhYLWljFd(}dO`Im tN}V}q+=f(V65}SGJF>9!MXT@v^&u7j!wU?E?vo+uf$0U&*dh)l4**ZOkyii! diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410209 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410209 deleted file mode 100644 index 0a97e0490c7e2ec8620a54fd939dfe9bf7e41399..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5008 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410212 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410212 deleted file mode 100644 index 4b18bb9960ed8e632df2887dc10af54f5fe5d2c0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6064 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 DoA4@WqAo$!fjdGqiTF8mxGYN6BmP#9yj#E zW>eJA3u!wY-qJ|_t0!IK#O1w_`p?g=ZG0{!9X{@-=$rrVKa_$blH+Q_#|2X|at=Pu z`ayHCfzSc^OU8Gl9805We}|4SG52$8q>4AV6*lJ=#~E3eH#L6GIhcLb-8?LMM2=Rl z)mhruK(JNqUeKm%(TM-@+EY8EA*{&>H(QtEi{$GwT_ac1Gg<@M*^O=!h|4m96+9NmI-w0+n?Ecb)^ z_4Tp$;5LGH&NVVX#^D6oabxT5fkbnF?){?;`ECqm;?7H|KlJhnt$l_eiAB(byXgcufM zF7!>pB5Pu0ZRZ^j;JMww(bqaO#7@)OXQ!j#>=;+JYHkeElVu(gvG3p}QWQ zd}Z==M~8?{*9ys0t;ypyp3e90bR6|hds$QZ^5?(-YZEbG6OFMd=CoIvshh2ZK#OF$<$crryrLc&6uN2eq{Ja%-^`PGuZ9vVw*a<9EkV$wt7 zLh2s-g#VgT7b)iL%gJ1Rz^LU(UbN*M1X;Tbp<1yK3iC8rGc%S3Y);HCz;CmLrn(kM z2i5&uzd5*%p|9*H9=?xKZlJ7RlhnOA|8i~WvZr?+7qHtP4nzALPO$OeV?Vcb-{EwL zL-9Aqebthj#Z0+@y1l{dWxBL0Drvc`!%$Dw@1MspeaaM0gs#{?-PG@@{4g=-OxKA6 zzMYl2yX@o6Dh;+hSU|i3^F_~7En;F!1}F6} zCO9V!Iib;}NFnK=`YdakX9B^yC2EeCE0#ZMF=u5lsvleF+Hbxsdv5sl$sIsnfZ<@v zu-pnHZ1BU2@Sh#HIt9Z@k1ew;THH7g^_r)XsW`-w>g~u|$tim>Sz_vv+8-FQx2ngq zuli`tS6*Rfy7T3VM0N)x?XJ0XRQB7z`W+(wdIs$Y|8X*_X6cqU{+q6(j&{BqZ^~zK zITC)WUDht4->y{ZT!}ely#oWtI42bFIElT3+zNtyk%v7aeDI8jUad{QxXuLYU@s*G z?gUJbMB+7?OX3Ooh6D2t_F*yhjsoWLF_~XXstb$>V#oRV)UbUFUvR(t9XUifA)Rs1 z^qFs~yeJcV_4Uq|@4CEHeyEW0^$$6axNX$E+lIFJaC;G!WAt%bIg)~7D3D#gt z02v(tG{^Kna$pLWX+T2^)Z}7H||&jA8HAc=$qksoXZuQAj==sAAa z{50SUKlFQsPfR)sj0s|g*R=E4 zCxUHSt<4kD%$$&uI-eZQ++T35&`0vMaM(!wh)=$>vHDslOw;-iKmP{>{Rrlr_+A69 TiSeGqO{)<;?F-DqKH>X+(`AAH diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410214 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410214 deleted file mode 100644 index 86639d99b3fbb1b139d462faad166c8b60aabc02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5108 zcmZQzU|?`ssFi+9MdaJVg-a`@hi}Yz&fsijd)=z`rp!|Dz>dHOpc3Jx$t-(66o)Mk zdS0h|;o-Bh*&eOhENRZ4=L#EL+0m^Sri z{)bz;<<%FO{9LDhD&g6dvi6mKwv_)rXQ4a4;AWC}c#npOPVdi83@QKqrUu0{aLJyY zlh~r{F#B5Z%?$o>mxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6ybajbpZxpzYGS( zuwI~YaJ+%^fdDW*F90c!7)L>Ift8_&fhm*^q#$Zv+FmYy6JVL%_m# zoz~37*FJ-kNfbymK$SB>+{xg;qLh+T6j`D1EGm6rePXZ564p;QzuMa;+7~-zeCVI= zCDb2t*Z<9@rE{LPXk0Tt@ld?ZUcj1r*0lIdVh86ZKi~qI2M&|m&%Lj9e^zIV!e=V~T;r3;bz812PFknDm4V;Mfq`3bHBkLzAVvujARh)m;$S&}+Kbsb7RDY; zdW~}5SDhERIHN0{A*3kevYlLRTiAm+Fb(zfzjv$`6=b&w;k&7NXR|=7CdtPYV{3QtUwp`r(dl2fz*~04-iHTY z{@u4 zlZ1gqkat>gRY93+X}YCLsac6zW>G|-tu0g@NI}9=;hKq2jg3TDJzGeAlfQVlZl&e* zw43cSu4&Z&eR4ea7f2x#z~Y7xY%egZ?$2EQqPpF>P%%zW zzA-j7F)#+pz}11(r}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB!Q$T1? zfR8IgGl(Q6?=Z}m)&SMP2z9GN+=@=4wDt#8J=nQwyo^;&yWAU zYb;RYxO8n|lj()@P&4hi-Tr0YwTyN~JNMbHx>|av`V%wIJeGqC?&Rc8+NpoM)XtRuKmcUJ!h{jX{Rfo;g)K9%%v}oQGY}EZ4D9QV z>p;VLE>IsRj^F@h2~Yru36}=PC7cJc8w8;C1IxFKP&r0WJpg4B>84{RXzV7C+hO4~ z*xW`*c!BZ@HR2E)CP-}#aP%GTPcBtA)<|*Q+pM^yYm-OnXH~9kesvXx-{s1%?Ri%Z zjbm(S6jrXl!W^DP3D=LSr{!O{0Uv zZ76A!L^pxjLez*utZ8)3SK|XO9REJmn`b`h>(2D>kn0b{HtdRd;k!=Kbj8MQM`+3b zw@86(TxkYaj^Q2gyMH1%zxlG=NBpFgX(#By-9T28%Yn`@jwO^_cP2$dXR0- zez~J7?9>$Proj2NTTHiIi&?hd+gbsuKabA2LG`2OV`QU1ae~qwBG|SDYLGpfG8-B< z$Yz19LlQt@LR|uF+roM9d<N=_Yd;y9sMP9wcrDL=uPSRxK3jSy)*6A9+S?FIk= CdXz5! diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410215 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410215 deleted file mode 100644 index 9ea22668d757ae5e5f3c2d8e225d439325c9b222..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6112 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 L0k;vGBatKlP%d#z diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410217 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410217 deleted file mode 100644 index 05f9e315a2410c2cc52f6a6dd591cdfd34d5662b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3980 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 N;5Gso*c<|r2LP|7>~8=7 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410220 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410220 deleted file mode 100644 index 43731c379967e2c7b9785ce8de683eb969246676..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2896 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410222 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410222 deleted file mode 100644 index 950aed8ed43dd3bdcb3f19ef15bfd5f23fde3ec5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5368 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410223 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410223 deleted file mode 100644 index 37210358575342da192b0c3c6e5c80d32ef9b877..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5496 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 ac)pzv{bEet`v1At@O{?*hF*i^Jn|ofG{6%8 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410225 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410225 deleted file mode 100644 index ab1acb28e96246d0ddb51eb21cd8592b2928affc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6000 zcmd5=3p`cX8s83i`H*0%Sa?eV)#)A;@Re!qRzx7YgC_x;y@ed}>Hf*{C* zpF`{*JN1gf;-K$O^&YyYNNws*WG*z^SaE6LZ#@J1fr)tB0fQq}?dc6^|Jv9iZMNZ< zsxtF<-|=0dcB$ju`enh&*`;OWwiRlzJ&_ffF;?}#!nFJS)D(N`Y?C#|^ee>#fDgnm zlid$XAYAb0iRa-KN7ksR8(+#VT{??&`zN{{r>gVb&cD7{X6e`=NnpZoO{deg)r*!2 ztWTkDewM!5Vj@90ZrBx(HA`Bw@S|vb`s$8|_L}{}e^*x0i`&7v-=Q&P$6wKVZ_SwU zM1!#%q7@UoHpG!foPWg3aQ6eV7ane@{%P@QZ`5sA9WuGTV&iwuHHIWvx>Q)#)fAcA zyy~X>azEoavQ}Q@yPpK}NA@90!mbOyE-C!M2_ojMZs;*Bg4(38VXYHlzKsFP{s)B{ z48kQ1BJv;aOe*1Xtb5__V1Mgg=AC#}X!40mYZHW0sO`m(GRhg+?+Y~84sVNm!gI%p zd?)JZYH1!Vj_Yjyp`xuC^?nd>`Z#{TYR{>KQnji3!sHn#&0a0eR9~a^rw88V$wg$u z^@SeST5MSptH`E3S#293XVSs9yQ5?h6N1b&SHNxocqq_5WY9?CU@_Y)s8y*#kj<6| z=$4nt5~+~0poI87XZZ^w)XfY;P&OZ!#)1c(H&9L&SdX@eo@{hcrPEA8)kCC5^BNX6 zCPo}ZY&>lqZ<2O9yYqD_-qBu4%y#|WcUvW5szuuWdE#QYweilT<2yIrO1Tm4RjFA4 z?3SANbm8U{6bs0Qw_*GjYAsJ^`N+C1=T@x_)_e8S(912`66MSIN21u9*h;nAT^zb} zpJuIEDQADOQ-_B#ekSIT?yYDAOa3jP7JL{6hQ5⪼Ht77K|%x(K(C>-V1tn`abM& zN#S=Y&Gmcyu;tBpE$jY|ho5;TMOBCLMOEHhoIyMDKGLqvaA=L;G7S*`4CSx)>vu;Q z(j!k&Z(ep^5R<9kp*c9dp&)R(T;HPSDjg>7D1S@Bt^s>8cVrzI&S*$=yz&$%f=-a9WhYqmU0_`BuG6t01GHws9(T^*zNNVGk)BpoXz*TLwbvefcDW! zi@v6%;YgpofLiO`d(@I>ujknmO&|Ij<^6ds>vo(mDz&`Bld^rtGmF6#hZxW?IBmCl zL-E}!axcJCuC(omsZ$!O@)eVAv%Y-U#i8=k76{kbbP%=}p^QQhQ?NT`*7Acoo)=6* z3GF+~w$8@J z`m6Nr#lBsC`AT)7XlKK#Z0BddC&j?V)W`}bxEx|P@Apd<@s29~{iu5EE`DS7aeA+> zvnZWbusSKLc?j4o^9*do&AHI=0WOgdF>XWUhYvoiplxQgS8sLI<`(-}g>v}Bpq;n9 zmO|!_g@a>$w0=cPc`?1P&eKCfFYH?W%M={ZLTrBCsO2gM9HLx4YofLubaZaMW?CM7 zT|*$zP*x*I@q_aYY2h?&fz?$~NMigcu%}!F_K=I|T%!9VsUC8RnDNMzu*9k3*#n+O z>z?S;e;8!#5+8`kb;wg?Ck4jHLK`4lsDCh);T-9lrwf^fs=4{bT3W~7zqHlg=jnbo z>=@tTBpHo>tZzGw^3@9m0-J8UG`%e$rU+7LT;w}72OQXV1+DK?YXqDs}htXflB%95vucW&c?M>)zFrn^n^j0s}L z`66=k3&A!eM?Vo0+|&PxIh-{|$DH?EUb)U;LcCXF1;gA^XLquvVMKCl3HN1#s4&N3 z7#j+D>jovBGw68;-of4Q-}qe;=N_J^sLXi=<9Ex+a~SVNlz1?r0>&rpjhy)h_&E1J zYYxproX;7@3|dGPB$Z$dj)^Sznx38yurCjI;F(CQpHCe7jQFGql1jkg6dPg30Un6| zG9F>BJDX5;*{>8qy#!!C{l5X~ViwR-=5B8Pw|LA#72%bOQ~yW?v z*jzD|wzbHJ=L&B+Co}A%z&yJW1vYa{V%2B?`2sw+wcwR={=Wo<8yNzuLa==fU+_D@6d_FO}RVI`Msgwxk$15qa~mpSO;9uL{viuU9I#)@C?V)PL4mafy9q+<6_Y|CIf<>gSH#SpVr~E7>ic zmvHYuWzO#$f1IgAAG|LtXTdpzXU_biXDX-uXI)?O5a)BoF@qLT1xY2C{4;BX$hA)# x`;7Rc3X=LKu#s|^6HKdfL*ZQt&ijnGqzaPy$(W|BNshnAk;XwpoDC$Y@qaISg8cvh diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410226 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410226 deleted file mode 100644 index 58a164303cd595bbdf24198bbe8dcbbddadbbd31..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5916 zcmd5=3pA8zAAiS?rCcfzkx1XhO38@OE-GsblO#HuiZKzZwqjlCBbA!4yR9YHDY-4} zNEx>{QMnt*StOmW+(MY7SS+i2&+|6#?CW-nTIcL@j`#V$&-=gp{k;x%(YW?*-DO+)C%WsIT8r+nGEJ4`#$6Qwi}A^_yYZze=3da*Gm6p@gN4c}qwzb`NC8VOcG--Hy){Wzb|5OGmX0}JB};A5 zR_A0{4|()^-_hwaqFv+>>Z~$nN@bO<__@kJJ5~ zDUL4Z>RQPAB%W~GkQG5}iPqe#R60aVtf=j!q(SP#;J{TnVo5QEbAL^ip$S9LB!pFO z7n3VWd-&{>wTY;^Rn#ahyU zUTa?c+qS{eCzV{9Cd8MHUcE#WBZf9K#_fGx$#j0_Z?h-m0B2>W!fk_e`He6pXk6yR zOt^R*xS4|pjko}rDRHTm1Z%>D%)Zs^dlt!U*OtU=B+>uaS-R+t7Tu_Jwx)+yUKr^x zPfpMnp?p2t>U~~WZ&SAy3vedf`AU6Td3cvWN_s`KbVqH=uSc4IP9YOpGSvnU*bpR^ z1nmtNJAs!I;}f^H+IBKJcLxmDkE-{D4l+GYBqfzOrd1Lm;(uD99OOTK;bCCkfBk(( zBEvgM`a8Euma$tgFZ_IGd_+Ojm~8{daUy+TpzIXKXbM!DAQuv7pOZ?!u~uaQ>3hwy1^F% zFEZ4Ikp!M@WB<^m%0ijYn+(d1Z$`8leP#DPU__-P{*+u{VwWEMXNShtI`{G18reh2 z`J0+23S(`9&Dln@1jBu6&9_>4rxSrf)Q_Qr<|wMljlp60G^vm~0oiF^b!_fYxe}Z0 zZt|ZVrK7`$l&LZBBNOmr*dZ1?jcBZ4zIgRcO=e5_KEsd=zC*U%Di6+<7M}DAXGBu; zUSEO&LSt_N;S2@=)r%m;n+)7NM6VUy)eAqL`NWLw)9RlWY2@bHU9|q?iJKW6XJ1MM zoKjm&X(bLX4qaT3v`Vi^XoRH@_#ILbG%!Sq;P?9>rKR=;2j6}z8&)CNmgg72*kfkb z;ALl27+1jXEYU6�P%|>QTE4R#1+2uYRV8=P#e9)HcOC4fO50+rVvBSM7zsm1~R-3@XTb;Fa^2z`23(2&Vrfa~}Gk z511bdX@>wXeXRazVZklnNGwXIKl~R!z`lbqN9|9!I|!rS|Bcw@iOKZrA}sIIVuD-1 zk!V!l1KpGOZ?ne>*7|Q4p8)$PR_lBjOcu^F0GU)Hg6OAuRKdIosvkK|*8RDcl0Q<_ z+9JMGH!8-S6%jtv)lCfEUi5q~4Kd;2qfdZ=gGd0cW4v!zufV+-9dn-V2qL>a$`@cn z&v>|*N$^C`2^R+($>*3YH>iD3%h*0ODRu&4GFxCw5IYvHzk7e~I~8_i_R%%~Z7_ds*d%R566fHiW&-ToJbh*XPxi!@eyIf5@m-q#Pi#fkW z=e%zKA@rR6aOc45Lg^U_b5i^S(@%%{6CV@a$PD^ttepk0^C^BzgN<9jk$g{Q>*c9+ z0A=Bs1@~Ki-^|nZY4&joIPxQ~%@dPCotGjn@6+t!7I5UeG4aoKC@Jv080QDyA|Pf0 z@&z#>=U8HU?e;iAKegSpq;Y?pZfc>S3X?V(Mvyf6o+m%Ao}Bakj3C(gDQM43s%63S zqjyC?_0QOo3t;C{{Fs(L+yai|XZ(|Ta-P0VvyWTAkspB#SIdH6(ztOB+l!~!#Vz2- zd1IQ?lLG(F!}-Ct2#A@0^p*YcPC1)>=|cIC#FGPJ2X|-D9@9(Qp6PL^-0;d&aDPC@ zOn15Wyl*h~aF6BJzX1QkLPT$sHt_zBl?3GB?_vJH;lz>r&$HDUYJax7oPd~)FEFMV bd;ed8ZPI=*PfW=mJO4xur=H>bq(kEWhtzn@ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410227 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410227 deleted file mode 100644 index bad3668a52f34bab782ecddf6d9b5f4b74bb3c6d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6136 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 aEDeGKnnX8&`Ww`ULvWZN)uHf62QdKD{_4#D diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410229 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410229 deleted file mode 100644 index 79a6ea64f701dffec97653b1e173ec11f902705a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4724 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410233 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410233 deleted file mode 100644 index 5333a2dcdff31af53fb5545072f20cdb1cdb5735..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5048 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 O8bvKo6la?irUL-BxBtxm diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410235 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410235 deleted file mode 100644 index c645cd60c45903db4eeada65417e9233f98d35db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5152 zcmd5=2~ura%)S5byZ`0){kQwwK@bEfociLe+S#Cw z9aD0Ks4Jqw+NECkC=ArgGq()&?`qq-3$To5s{_3=4f3Z*6ShuG3BQv)ni`QDhE?Xhg-2+^0Rvo=q& zqZW3Ui9XEUl6ILb$`ND6aqN1os;h3kGV|a|7u$7q+!G|NYMDo61IFEH$SisLdS4+eY#!do-yDja%>fCJXtj*wL+)p|a>@T~(v^Hnw~~WbXUT zx-qMymRI>x9tZl2r5K!fjtZ>wKzE}*mQYeS+I}eo3)|FCWV8N z4Z*S@{ubS78EcgOa#^%6;`C(ofZ80J41?9uZ_mwbYbrjKC?0Zw%bX<FM4Gv%xh5XnM@DH;-$SxDnK*Z$C2O}u?@^e z)Jk7(_T-9HtsiAmWL)cR`eeEo#M`?RQ>jf z8+j^?muZ;~E_%xTOMy7icr4r=ue%<=S1_(7VF5R*ln`&V@zitdL+F?tx=(7&HHH^nT{>n za=Q|;D)~`+jIdNPT-f<&> zB%cF~5r2lq0J9J3VJh~F1m6ibpAh{MU@GYwWlVUEL4W;h*uKYK*}%^~B8I3>2wAj!Sr0BuE}>%;4q z#^HU0ZwL?&7xZ^7zWCMiCwO;{xu;G6GVly4urH{Cupt78YyXTN&ok6M$U(g43e<&g znAC2LGA6iJ++X~6-A{t;d;G5aJt4#bSLBI47Xrdx=0uz<-1$K_D^ZpZ6D@EU))~{{gCcF;0Q} g7ZQ{GC}a9!zxYY8eUHE3H~Wu>;qZRJ4>~0N17m2R>Hq)$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410236 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410236 deleted file mode 100644 index cbaeca51b836d91b11ebeacecc341e422457387a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5040 zcmZQzU|84cc{yGF`21C-K)7l^!2pB=c)uPOsNdezIbJ=GHpn-vxV}4Y>wkB)Q&tsmSNh-iZ1)PdUJ!JFW$j$fB`a0e?|DAgn0a~M z@{4v`9=iW)I6aTsF!@Sd?yWVqHcgqjJH_@$gZUo2>4M$f45BT2cpq%rygUWuV&>!L zU&Y)2u^`|SNHm4P$J+r!zdyU#+Ob{6v1|3^u$kM~lg`|!N{HWkY|(*f0Zp?iml#av zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmyL2nQhP+Tb*mz`bQRU?J zY2N1VI)F;VJ<48y)dC4dup5BsV1|syic@S2+g@6pO4(_?lgs$r4^!cHt1qUUH}k)! z5#X1y^3Ghf6=jWHoA&uGI%K`v>7o7I#VZe#N3OfEHv3B_$gg1k8oqX9p0Ppk%rq9& z>{lw^QaHJtl{$Tt@;viSo-~~x402=&gMip+1_q6FAp3zB4w4p~2?laNVw?rV1y;sD zUNV;|kFX zBGXS@ORkv3SK7PvSH9llC=Rz%B^IyCGXyM**J;gMeC;z><&0?!U>fKKs9PO+_j~UV z?R@gy^q-ouUDocY6~$YVL)hNirtQ(@yO3mZO53`{p1;|)LpNp3TJLqz|0)x{s4o8( zx^7Lj=J_?}ck%(v1Bc7E`G4e3o7rx6XZ~M!Dz{_V=k%u*211|JpL4Tn&2Wt^W&qhO z+Oi9%9^^-uf5FZH=4)p#10l`<;(M{kZwnCS|GVr%QT~~$rssZt3WyT^FmYwVDxFg^ zYbGkf^nlF=#_=!TClh>TcD8*LmVBl6CgM-xk3(t;G~Ab5@{qV~aiv>!moaE_x`}fxE*8R>i znO{t(5(jCJJ(~)mK!6c!F3=C_ct09E=wH2N!Ralog^?+5?`1!jFStwYXk*#6PhEvM z`}IXw9rZtPg-$<~d~o&Gyy`tdMf)c+zV5G1KKH7mPMrs67R#~qu1ZBWB`PjEd3=AK zbWz({^ljgwkUR^$XS0({OV6zZ+Xzah5CC&GILv`U!2I)k4pa^l9?Z~q0}Bz1XITD& z#5L3y1O>AUAp#6HU>OPH6K6iqeZ-p&@&n8tw6up3e_#X)k^mAD7D|wG3g^MnAv7G( z>Pb*p4T?i@{f=Qjk^mAD?iz3&g7a{@4X%!eI0v~Ol;6OBP`SXfY%hyfld3UL@dhBq za3h8QNDWf>5MjRbq@O(JNid%wcHSXQ^+oT>e|EnUvfiAxtc#)Ql=j|#l?;ZuJA5S@ zw}L$e%#;6t0LjgaK<+=N94rlk>QXQuqAp@!Uw_~Yv_1mmdse7cFohHjNKCj2c>F*` zAY~n-E(f*6)S%)hVMnB!I%w=BklSJ51yA>b#BG#>7pP4^jW`5{2~s%$j>>}1F6Y+F zx_c+&g~|p#cm`H5|d;% zF>tzHo$}|{vxPQ`_jz=L6sk|#Deb;w-;)O)VvaFn$M(Y7a_D&#ZV`|H%d7ByAHjAn zux-b4N7e#b7o(>sm$G zi3v|O=y8r*R-lj1faFl}Gl}6vJGUX_XCmAr_MUG$EPc_+O$^BGPon#dNdADw5Ric_ H;$ZRs07A2$ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410237 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410237 deleted file mode 100644 index 85975ad95e72daa13c83e2d4f45ec4f85db0847d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3032 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 C38Ucv diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410240 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410240 deleted file mode 100644 index a3f7c1d5396260896705d01b5d65fd1900629c3f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3276 zcmZQzU|{eqIwD?jn$@&)4P)wy0~0iu1^SLIGbmo&&f;HybCMW4_pDjK?DCpP8_%)|D zKW}%MCiUpOku8_y)R~VO-ZjkE;kYAq=Jig~(uZ6Jo0+3Gi0(UR^s`uj`u*9>){gBmj$NxSht1r^o^<9;RYLsUV~Y+<3uu~Exx`>P z&uspOTf61e7n=NBr++Hp*_N{Qm4CLB|37D;JHOy&l6iQKhKWw^&rb{~|Nf>1#WZlq zo}QD~qUL><6 zaRpSz1jP&~{((=K%H#NsReLJ!xOdevWq!cn`+gQ7R{JETeBRgW%fQ&S02p0c8JNCj z0`-974M>9lFg_!J43;~7&SEA9{O&!ucu`WXN;*fTSjD#GW2XD1T{T{A3NsvlYC!tH zdI{PGRrk{Na`~G8Tg`CJx@5*3_L{cGCO@-Uy5{%{fhXthFUz^$K#M31R$bf+%c%3*&WKGZ$a`3{)pkRC5caoDu9lU>eg9EqS6* zac1fsQRgE{HyatWZSNZ1XLx#7Aof3;hni+cOmnJVy(UVEy_K#N-BIE|?gUW(2zn7zQ04x8`k_7xl|SO!58hr6R&F@2wY+bgpMQ zU-x#-+$V3C_%C>}y9nkr&bL44zn=L*&>A;8sfmn&3gI~`7&Kp7fy`!-biOn_%J$q# z$&2PXOvlvOPUqaoWIW@#Ryn6+yU3*4onSk`=?TJux&h=T6hK5c0M&!@9?4qyD z)C>v-keiVKC=Qu{@v|EyNQ^tAE)|DBf~P2@9{m<~B;g3!ax@;f)k=NKBY4&Nu{z30i%} z3e*KkUtl?q2}GqYL|oF&ZIrnQl5RmB0s^E!0yCjy4@43ze*gtxY5o960aAE@@&QN; zl*Wh(CmNIoptu5+Szvz<5m%&?MNA>wPZ$_BF507a6y!tXV1ws(dfAH!bOtPohH{|5pf8)gCkBbzCQCfC2!Dv_upD diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410241 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410241 deleted file mode 100644 index 447675037339e4a8f8e6a331311092cab84fa340..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5264 zcmd5<3p7<(7(QMjBt{QXW>8Ax<{2q@B+v31y5yZ}B~j+)kw-=pMvqYvp(TpEswFOx zxXno8nHcn18sV0eG$ke`n!WcuN0+ADtFcylt$X%=&i)_Y|L<@A=UfcKFfZBBx4CZu zj9w{7FoJbEp7USXz3_3NT!&bM!jXRj9UcOe`CF;g;{Nq~8UY1dp3ms<@;su)Z)FHH zj`We9ejD3S+I=w3D^1VliHXwsBS$ExuNS9A#&`wAw1PGLpAt!x5mO7uD%-@Av0adVFqF-Sl#a*5K*_KZg^c6ix5(?uatU&6PuDYQ0%e%YA$5_>?xD zU+*F3oZVMgZ~ep%TX^WE@Si0`7by@i&+X><=k=h(9Ccn`reIsl_2B%nv1q-1%u@Zh z{MKz}O89p)JPL7hy-|}%KW!D65_~~9X>O`W7wyRRD>KwbF0ZL`V-yF*=QR*Wn99M~=z#{IW9utECU4|Fp1XG!lR}pGEZw(U z=g_NN#x3PxW=7J+1yr9QPJK?Uq=UDhkD3A6!?a^ z;52+*1?ehCr*-#_Enl#ux@Lg3tcvl9v2*UPe>P6^7A058Bh{+bc@?H(oKGQCb0sZ& z>>|(AIZllY`c=xtqy|qJ8Ko?nO@YO)H-4ui-GQlfWY=!us#dsGRWEohO<=oNz{;B7 zxDJmR^-#n~;iOoXpgYk|b}RkLL;j22%9j&j&3$p5qigbRN!1@KeNarm$@gFY8F32E z;C2+p1O4!TI@9s{={b&Ji{wvvX972n=evNNFkuU4BFJQMLIcKQ9n8JOp?XB88~4u7y-UmLbBsTb^3|HmGpny|dL(Dqebs!q&*n?9VM*D5X6 zVh}Cp>c;J`?V+Fdx+WZJDS96HuA@$DpD(E855D~q(1PKVEdAK!Cnk=n;7UIFz;BziRDSU;3?6| zZ$b^0J^*dS&^k-sy=Co(Xq{P~S;4aPfKSBdupopVE<|0>6E^CCNjCQvgIdyn0WbJ5`HA~uNg9d7 zw<5m$DQ?4kf!x-faKpkMb}&iTG_qov6lW?XJO(jM(ghER^EMR|tWzaeNAB2ok8$$t zJ1u|kZ({;8(T`>Y%a)$@&vKanfzLCj3rFAfFpRiK;4?VGd{NF*&J$dNV+M6$9}6Dy zBP`6&A6<#MpanMgf=RaQ^#L3!1P0Tdt0~bw#bL--c&;>XeWE_-b_SRx#X%dvbj%{+ zk*2)!z*FK}O~pji3HfFR6Nc4s`hCbrFDL$o3IWV>C$eD*5F@8JVScceAUk$?8OV?0 z?`;SV=cgbLA$Ha=ft!Q)5O)P|g7%h;?+Q-(9f6JYED_HLj?PM4ypR4@Tp~X9FJg9$ A^#A|> diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410242 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410242 deleted file mode 100644 index eb1de2eb80e3a4ff40835b845462d80c69d455da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6552 zcmd5=3piC-8{W>56B-$l%QQ%gKMcw(cS$kHCF)RrW0Dh52IIJ#m^A2gBMPJFD3>(- zVbpQ0MlMZ5sfqH3Zf;2?{3Vr3jDM|l_BQ)8^Nd4zp4Rj1v({ew`_}jF_xslOt+O!< z!@5pacg7Fh>u+U#R=ZlhQmt5cNA{YkUvG-E@6C}cVqOL!pZF+`44ruyV$-i7*A=#` zsfTvfSGtv}+9VaJ5&K5$-}fV{b}~{da$U|XGju-TyxN5Fn$37)m7!ziVI$d7mV5)O zfibeK+rl0+A^3BLx$Q2)Y0%b>#_8xbkXrg|yt^SyTcjeFYqdaj)LR~iSUP$+GAQ{S z*%_>+L)48a#ZJd>oiNMLQ8jM=Lpc1EUxruq?YsmJmbjF}v7C(o-|L)|WFGqN!nI^h zo`$D;_JPnbF|NloyDZtmp^JNDLm~75mRgG8oW%lFAIkI8LtO)a4@ZafIz?0%^_tMZ6b^s%t)B}eCQ=C&8dE?AVQKb*g~c5_!z z=)NeEy#wdfnKpgoE>cIy5$pD@3rL;c9f{NAI z?I-4>F4p&aX?;cHWvju_jsneZf=d(hy?_kVL%NgN!{vTAZ(#L0nX9iC-L*yN{4#a( z>ZC4{Q+YKhlAU#}Kl(I-^(f2fwvKDTfN0*ejazmclL(0`9tqG++Bn;$HrS|#j}vT*>)3F&AN;zH>CK#b8huzZ*|?caPq|EbS5ImUik@Ob#z8-aD{$w8+wud=vW zzR`gTZV2aeGMHT#Pf&JV-JwiW6=(XQS_0}CQ9Eu&=Gs9l4(vzLa)$T|## z%~x7Z4ecF}veq)@*R?H;P*9dQ`*J9j>wc0mH}!#1VAvjZsjT5ji&$4>k?VnF0Z)LO z?5faiLY#uIfcJJ)mGLWzd%Zy=YAiE5=9hw>bNfpj2LqpPp_sXrRMpWVDmkI9og&<) z@!Gkct+Otd*z?e$*G6fbtHvk6E$c^T;TSAUhqWHxmwEQuxZk}|zr{gKO#Sh&8@s=T zQE#Uf^i{XZPn=-+uLo5R?)5M48GiG-m{6&E+Q?RYc1!8U3&R>$%mKgaWd-=^MLue^14VRBHF(a9PBkG`kGQ!}x^_awQiKYUSyoXB-x6?WL<1 z=)`3Ddh2ZWHaEwgLpiiQ9L##v4m)g8TVQRvoeq-i7P6joAR%##+Z<|87;*abt_F^- zsi=x{u8Up6m5{oM()LfDU>$;Eyjyy_1LBS1YC!-4R`?YNb`NF#Ta=o~p(z$?Xg6{LLAC@m7xP z1LyVh)DN|^W*xL%we!lkjj5$uy^h8vY|>K@0qarQ47gh@;tHvc%-jO+jXJ7??{IK= z(slK@$9}CXwX$b8$R^m+JD#&e))fJ z&i(EZ)05_2AZYrnMLeE=6A3+{pI(ge>@%{~cH!&raV`)h|I+`>Feb|_Ba?W8wkLXF*{+uG^3<1`^ z`ao>{RMyAHIZ5C%0tpiV6!w3EACtdWa-?G2yzwTogi?G2SEo;0pMcey!Qs$3-%8CA+8jD3gWl@h_>hS-$`pEtb^JpPR8bfDo zP?H6(ts?QPNS^LQ-ADE!+#LN}^K;q7p-+vtvw{*AovLe2_ju8_rtH5xE$YfoaeG@q zKdm#sbTH1)c?7-+vG>b)?nTLTd|x37bZJfHv_OAqIxx@SfD5?Wx*_xGR7j@`nI* zW-9fCLKpAEFm6_v_OA#fv_T4iiT|MJA$rD({~5tz-`V(&SO^e!KMh_4uk*MK;v2^V zFXZ}9!b8OS6nGIF3vTl-SV;ECLn6)*76IaXD(9a`)WP-~R{Gi)uVB)ib9L`&qG{h~vRja`) zk-K4TA!8zVLTd|x3FOJCo@=KPbHsNrm`mYzJ#vE>r-~E4-zA`jI1-?SPbHrc*vNa8 Tm?L~WBX;p`g@0$4u#f#8OY(Us diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410243 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410243 deleted file mode 100644 index a23ad467e5cd55b0e7d2bdbed70a432a18a7d6e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|=|~f$z`+-Fac37npC)&1fl7p*EkE|8@5il= z_lu-YdC45m*ve9|#Q)&Yb8HXWRtan=IwV>9tH7eG`gQ2f70FDK=5zb06=htUcb##@ zt@X=$tn-_IW-ufzI_(Fdfq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>I2fK4u56onGx5c@*;N_<|yZ2t)?L9$tU(~aly)!zFCT%_GQF}@7a>4b-&Y~AO zV-6gBA^l_egs7Ek7AL%83CV7h=KH;F(d%rfDsw}zr+#xvb{Uwge+@JCMrD3GK z_p)F4DY5eQ36UYovO{0|4dN8%6Y7?Jz4jx6RMTnm0QsfU8AMwS^FG+Nd3g%R#mvVq zNLXwDu^`}729Qo+@bPv4(eKZ0wsvfnaqL=sIc(-O_M|g+suJS&9$R!^T0qmR$|VNV zd1muJ+}bU#zR=|7I{i}#&$g7cul%#6{Qo%%-T4JKlgz_=G)#1Qe|};}`S&+9D5il+ z_Vk>@7G;Oo*NSgu@Rz$hyq@}Ol~UKjsc)J}j6?!YPF6i-d{ryFOUdIgd-UUN5H~R} z5Q;0HIu;;i0;yNxTmR)p_s00ev-xMF<% zDh0{W8-I<&b({?{#?9(CxS!MaCp`GIDE{b2aok$J`j#WT}bRI^{Hd`scvc2?^2QOfho zJ9*M{g0LY_T?&JM*l7j^jrAb=ffx>w7M&>razJ971;qtc#>OTVrVv?}IxwB$ANZ81 zJdW>JwWrdKdsjVE<_8?U?`IKWwNGNo=Y7q-KrKuGp+NyYt`N;2GX2!GL%_m#oz~37*FJ;PFdFKDC=g(Ty47K}xZ%$kQ&P?yJbbIrJxu8N zziJ`%S=GDbdd}EJXx~UTb<6jyetdb-_M)fOd;1E~AKZM;_U5x=_idMrzCSBY>v96k z0*4DhH#4>^09w11f$4h=$bKM(17KcF2Xa{U&Uq`hX}{N!hx2%5>YJo|aXrHJ<-Y0k zN1JqVO14il0YxfEAF*KsR`=5Oa`~G8Tg`CJx@5*3_L{cGCO@-Uy5{%{fhXthFUz^$K#M3Vb$bbP-!x9=N4wKdADfYMXO1)nF`x=#hNl zz6pu%AFa!;;;y&(a$m@%KS8AMQ2*Tn)+V151auxS1MLTgrSG1M@MiM{qcW$hGuO4O zXk8m$B_5)|t)9PM@63cX#pU39!mZc{R6iMr!TyA~9f<~sgXIKjFJ|jl7<)A7HOhTo zbzbD+jIMl!kfM;wc5=CGVGriO^c)JgeeCz4*3{xD3o8z2$C>HNm^z++U+}2l3$LY3 z(7`~UI&qJ(7ck{aV7CDC)-)6Ac~#EBmD}y>JAcjbuTy+7JEh~>k69&~PA0_9wc$UX zY|F-~@*umV-QX~#S?=BIV`Xy#{*>yasvIcF z5wj0mvVi5lk4rBz&Y6a-)G5CjBk#KLY{6_r&S(>!=lOH)d|RC|{jyF}faTL=jyynz zv3TAyiKvNUn3rf)!s5uXDW~X{c(;h;U)Gb(cO|b}nqd!hJh+4fvay97C=QsRD zZ@_t=I06A^IHJ|}AURMRlIwR2`;i2Ym|z!x2;$vFqMNiZmHn+Ls;i*-Q~m=1 zk`atR?mws;EG_SW@)?MzhZ)${ALxMA#p{6jSYdiWG?F`!m~a)i;uCB?Fs*4rRidPS zBHg4yV>f}^4ht`M`X3~2qa?gQ?I~)+AvjEs$_sE*F1@sTQdn7dvd}$`-|N+OiUuio zhfHDF*d_bMNj_u2K`v-~V@spIpmMMo*LrWZsb zB}^nHTm{HJWB@AjKzSK#KhS@kP)U?9C(cbVzwr zrqSH_EO!owPp*tHsZC8}x}~J2?Em_7U)-%dhAy9$p4#yn8s9{;ZE`O|)iMxlYXTKo z?aMmC0BLVdg6V_NNC^{(36sTDFGB23S`>5)suCs4iF8u}jopMbjSdpGQ4(IDJ_8Cs ziZ~=DTnQ)~kO8cmK~JL~y&yT1wll%L$GTf5?r=$o0`&pMIv6J)TLfZbaS)2%i7)n2*vPBDzmRLVF12M*#XZlHC9R diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410244 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410244 deleted file mode 100644 index 9626baaf293025a0b4f2cb940f776a60d95f554e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7232 zcmd5=3p7>P8$XxwhzNO1Gp3ZTR2U&D3Ps7A zFdC2IuWqO$c~**l425C#InKT7;99Pcwc2alyT7x~_xSDa`}W@7*$@Olmd~U=nWf4! z)hp?X1{9~eAKKe880OXFl#~|iQ+%m@5U>c8+~Fy`pcrS>AHVK_i@at0apH0wUQcQK z>j%5JYg-4EgD*<>@|C=-ZqDsnp_^vsv#OFmY%E_l+28c$>BkQUIY0+QOsw7o_n_h6 zKkAYFO+?cnBUkpAx7`~2n!V%QPh*wXif`T3TO~Z|ECyI~GD>&%IygB)M4yAXY2`6o zcv-2a#>`hei$5M~9u^Jz(e~4!`vbCg*QUKTUe+eLOB=|E&b@hAOP+O7jkz}r@_L`L zD<4@`ce~wZg~%U*U12^S%#TvIj{PQ}uF>NBhlAMPum9hx;?{Qa9k+mKvW8{c*V7h5 zt|0-|HirfJ{MYE{LxN|^m%ho)x>+!q zEjOzSm#I>xDp&_gZfj$=Y0I9#1VOXK3h=Rk9}CRi%aXY-#5%^^R4~u)q+9AhYw(WU zhP9t5PJhne8Wd6z4corhX~d^; zS)Uka>1hs%hXq)M`%b|Mv2jvs9QPGv zJZZq7oNb^*yAwTC<(gy9_l4=jhs&T0?kd#C->yT?>}wKeAn2VBnP)!G%|om$Da zA6;J7UfXirr4i_3(X}wzVGamdbFO;sa4ed~>)id}!%E>lb8M~hBz*98Sw>J#SGaQR zc|XjDQ&ps~hPT=Nb(GTL+G%X>vR@shd{RzV#zr%hrn(*rD3= zOX2Z@ANe+Sog=B&bgiz-iB{n3(=FRC>~RIwhxoE;aIsa0V6cRTXp_6}yK&r4#;-{E zTd&u>E|uR|KrxPlAg&yURly%(^*RDWp#hoFv!c&S(VoSEs~sU{*N?EVXl^D)U&xwz@-&((wRzfm6*zTglpj?H>(4J@`H%4A1< z$BxQ*X)4?r%~XpZ2W#16d~K+{cHo{t=zH;OfqI1L8`<2Ww;NFx=A_dbF_v?pU{A?j zv#}a~$wwk5>z*tUUwbCX%Dr*RBh)5tA|8+q?r%-YKgT?331UYal;S8hcs(W6iV_Dr z?$X&CWkI(q73-++0{BaK=uvi0{W2Hms-567%8PV zdPF1~D_LWwsVt_UTifgQ)@@+v`iRBFlEF1=}4ju~ua{0&im337Ht$4V5+ zS7b%IB_G*h0%KqK7+y|D!y$S>{#qzk_C>acJA1YG?(b1jaZzcI^_O~4{0Sc@BX>B( ztdN{1b+$xmd!~27P2Y4@jjbolbI$e|174K=B6eFh%EBQ%({jyN1Z|?a41%tg4dfj^6>o?c?@z)78PzwiHslV(asmr zjPFPYQL>fZy78rK*;rtbQ~$Hr^aFmO3C>?m<15#yrtgu%QM#!wV0DOJWcOQ#zu)Ly zkh@E(ZeNwqGuP1KSIO720-YMHIs-dA$G{$$3JILsgz``EOLYJZ7wD09v+6?yn!PlN zA`fi4cz0)a)8?wqtbXUa-gYvw%H>&PQ8n{-PhmFf*??dH`5-QyKvong*WbXWw|qqL zMfDq5YCJ{Fg79#$x0QRTj7ymp(I&TgK=JhP_OrL!R&nzO+t_pL3etWf-@ZGd5Kae( z4X4%-qnTeoRmp_xU49s^eJPT%^;UI1RV;6{msi%q#V`|?&f0O%072igz~dP53aslH zXxOK$;9M+1`5UQ zho~+%AVzF|fX0}F_A})SoTFtZ4>ark4ne}(j&?&>8JaBIGcYpAf6VFcik*XghPkr< zcIGpWX>P#`U`V$``-z+`S=U2JHJH?r|uU>DDfXh3!V?yON`&WKlH!SW!qSqHfBns7~0@F`FY6U zUw%j9O`^vgB{1DYjxMj>NgHFL)&u7T*w-iOM@&jiXuu3$NSgME`jq}et8GyG#JEup z^xY(%Gl_|?z?c~3=y!r`KK`1zZ(#RB=3|KNt(e*dmYsH{&Cy>AhYfQUFoVg!Z!ib* z&4fweN$1CW{59!JWBOYPGY>2%MnKNj4V)(!3S>DzrhZ#~2tC82*c<_EDlQsqG}Ihc z-tURZ&%R$^>daa16oFFY4ge!F3(iTo%$$A_t=_<@Mra0pV7QJKz|MT;F%33m07KHJ zJ9VAF>yDmJv#rTF&V8DF%m9Y`57;od%nYU#^`2tr_r)~3m;nqqXH0Y-!jeqiePiZ9 zw+IMEK*s7!#6w5xE;O3AH(pxzd3eN+ob(s Qj+k7(Q4AT@nY38{3j$5V4*&oF diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410245 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410245 deleted file mode 100644 index 31bada87ce9f206dad600a16c0f117c15a4f3e75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7084 zcmd5>2{=^i8$UCsXrb&8aVbgJ3n4<0Z7{gHmN1q!SN6-bq#HG*gzPspT7?p#vK7e^ zLe^;bS0h>|U4@qaImbD3&xpsk<$3y^XXbn7``-8ce(&L9z16)ixbB)H|IKv3B=m@-ENRP>Xe^@7jK9X4Q5q5cFmNbpTG3+Fzj_Y&hsE z-;V40?O-XBmNK<%=X>*`t2wO?T5c1rAOw|!vo@(81zEIS{j>erkqr$N_Y)#2Bt(bp z6N0l5T!Z0cdxqDs`mjVf3X z1PDoEH)98jjmEiIsNH|cD_o+ea=6=!jMwavxg)X1TJv;3f3QW}7yHoLcYUbj4v|B& zht+~+W%r(qDFVEI-CNvqBljW+Ld+v$t5gG;q1*nD!Tft(rC79%}!dLU*zRadH!GPRo10> zb~tUcJ|?9k6E*q{Abt7lVs0D8v7$EB@vmRBQd+$`+&TSqd)r)S8RF!#r(T8oDDaq7 z$4b^Hwn$r(#r2=g|Ly6G2}}SmQ>;L~dEf^R@ss0U5;vZV?bf-(y^|RI*npcu{G2l- zb?M$MEj{NVjP3!zYA%4=#2vs{#ewW_+#orqf$`iAcF@=YPj62(c_lezfL5yT)^H=$_XRsXu`4*Q6qc*# z5-=_=8R}IjmZOFw7f?d-Le|EMcW!(gEL9v=%CU>=rrLQkvq#VYeKAd&yO@6}jO;3g-RI5F37MC=6l8!C1gOvb3XV zrIk?_pOmc*&s!JQcjr>X_AHY;6djt=UP`*SJAlXS!rsj<`rFI1b%pw=d_glo7DX63qEomalBExwAEy)QXctXQftH`(*NmyQv@xkU@y z4;3IQ)@CdXoJzPWo0GYgcLl5GW7e&EG`sv9_gTEfM`eaw6gf-bGK1E^+5qbXZQ#Dy zGLTP`IFl9Kc&f`n@J*LHTUMfshnJq8kXKwwoN%5{ywGKK*W^6=_70P(BG0&GL+mmM z1LF^Pk`JnF>xA&bHpC7^awfNp^{wXW5*~==?3Iq8#+6;*6xkruE&k+SARe}1q1Y9W zKNkEjUuUqvY)_vD=5@6<9#pL^I5fk$<2X-MV0f=!@9Q9Of>zRsz7xKeM2ODMFYQjNwU9e3aa1&E z3;s7Qk0t3z-U~o|^9)jsI+kwur@hjANlYc_k9E3&y3gN#sBGKBwxrviwX+^s6Fw0^ z8ubZurl1YVB^IPsz++701+cuyM;MfWatqao>cb9vGY2xkxl3oBsLKGlK6p-9Aagiy zjGj%*Ve&4VV@wcs)L%avw(s%R+Srpm_$bKV2PR z5|iy5V}h`w{-WpSPlAo1j?5AhbngC$7{Wfm)Dbx7?08Rkyp)C`yV8-EP@AQRA@v~( z2?`wiZv{GSjdh08k<6HU)*-`ihx(kJqch&4L9rEeF7)#Ws|=#2NK6L*F{huD3f3t) zChQth=$|ro=3t%gvEv)qm;nq)w-mAo+t9r{IS(LNXpW(-&(ij9*2fHBNID$mv0>^u zGnkM&6cqPw*2N59$XR1T&s|uM>E}I+9rP8a0tt@o*i1fTV|VXeHwR0J8u|8NH-+@) zCejY6b=~QGJB(x2BJxb^$$g#ZS~ETuf{dF4)CPcwXTum&4(%}x!;t9gbobAR^_?i@ zFA+|L{AUtV#2jOqa_|2n*uKYK(DOY*!vqdP(pi|_lmFI>a#VW8_XOFUIkB+{ydXb# zC&5Lda%evVAO_o+(4TB5ynQzM8TK*L?=NPtkC#)(quxD|*ZK<&M~!AWS(-~#IvEzE zE||A{SC)=M3k|V-^8F70?|+|=IVdI!&yh^LOXJrI8Yx8H&rOagwkS^F^6B>R#5p?M z{f|jZ#5u+^Hxp6G3f#FULC4ai%?mp y#~6hn=^WG92d@w2C?CSf;BzK1xz91CDRcBE!S+4=g8m!%5iy*6H>C$1BK{9d%7=FV diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410246 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410246 deleted file mode 100644 index 27205f4e9d213e6e40402e7cacb61b4ec9436b10..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7156 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 Chrq7@ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410247 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410247 deleted file mode 100644 index 2c31335dc2d73eb3db897f8d12817205faf5e7a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4724 zcmZQzU|@J5Zo~gqIAqEHS;A-bEM{5vOm^XyLnqh&kNs9$V-S=53#df6GpVR|iuh~g zM2=ZeU5Q85#(#Ca^uzK^+M@IWU3c7_mkKoFD--gCS|r=@bwR1dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*=m`jJTz7gOmt5C|1?p-3cVk7SS8QricXr;gj@hP1<~gF6Q3WPC^C=vtD9XPr{{|UcOKWTF4c&BP`Lg^N7+mDO)e!z=g*$& zmhepYoXvU9_A5oUzwcVk&*(pL?A!M0qSUZ6%3Cv-1LDdUL|cyYKG?Q-IoRdQ$1g}Y z34q)V0jDy6bP9uyw*!cNe|EFAW4nxF*Xqk*Gqq65M7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCt{nY7)^f#{27L{cwxXt30ZFi?EF*o=lQ}3F(<#G!b2?R3mJ2?Qu;3!Zj zIL@H7gnmYPRz#Fzaz<#Swvm2*l7(xIUt+qgEt)z8gY!+c8SmF_PF>G-Sm^q+6QZ2Y zXU$REt8r}etb(OQ&ORXZA>M{SiU_v=-5kRG1gsWFFoN9&Od~ugzb(Ite6O6ree6P$ zTfO;R@5if-%3KXEzB%RIg6A67eWhb2EjoYTg>37J>cB+4M-QxXf7{N!r?@3be%8sE z8N5KVz+qwd+L3w22E{YeSX8rLseDV}I*ktqxUVy77xG&Y0m z2Vyu#T66}KUO{4<1;qtc#>OV*5MRO7fz_w@2R>ygkK;R5?Wwfm-c`?(`2mOT`&ooo z?UR`Dd0(?HP(M>ZXi$KUE8J*?^i$W8D`xSP_HO-^uQxf0!|haw#q0760Sn`GS~C}4 z`wUXaloSQizzB7#Lq)XM+{Iygx&n53pY2%{9G30sv*_pgwNH=x+i9Fqzbo9eVR~G0 zaX^~K#D?y>p}KP~XD0P+E^D5)Fe1Xo=cEP?$XJk}N_^|T{OH~ozj!wP%sUE&m8~t? z#m!ypy2F&%P8aUUe-2F}hhXYKdVl~WeD2PgWU((VE7y5tgS5rE!zI@uKAxyA4(vP` zb2IM_V}1)rgY4N<5CsB^U~_?S%UG~FeAct5#!@A@{hjA;bQLcan|XfTBhB8V$;LjF zUdMZ*ivwP~)|H)H^{aTcZuFt^{�ZNY8X!@NmQHP1>8_>AY*&>k#valkYmO5Kai0 zaNARuOKC~+qB(*&PFEi+Y4ZW5Z*>6%VZRIp#;|E1`@yb&62Nk+7AnR8id#by15+e5 zV6`u8FPFawu+Z1OX!rE8AQ5O{L_{<4f4K=n+HA-<78P%}XkG4U!< zAk_fX!U%CEgTu|%^;Tw8JjGdh8PTn-ekWF+cyP_A-1i92yk|TmcT#hrLe>1nO@Kvr?P2KaO`%f*B`umvs{ma-DoIvwfdZkts?AJ`JuIJTF?mE}~t!d|d-`%m= z(g(WvE)_{|=|JsFf!U2lgSeoy!3-@Mz|sWE5|E}}9~zMLfHgu1lt71wF@nlpm>MF@ zmm$G?kRM?Fprt*O_yZ$YkOYvJuuy{JSvU_AM<4(VN3=Q^=J#Vj6=1WdTwa5%X4trB zj~=K7LCsgNFrkILka_~Uy$t`@i?$j}w{|M~pc0V(D>}?#=OTxsuS;xSTWm0!m$dpM z#L)~X|A7F>&5S@Us4WBn$l(SSAY8sMh|BnB~3}A5z ziZ@WZDh?_M3sW$cI5#CPps|}kZij^zJdX_$w^0&apn8HDaR?3*q~7=$YdgSbTxkZ>hBypMMFiWL3=HC0E1Tv3 z^&A4~!7vj^0Er1R9cSGLwjY=W{h%sQ!kkDqSA<+Tg1WS0F%CBRsaA1 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410248 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410248 deleted file mode 100644 index bb2bcf1940903212ff14e4a4a0432312b1655642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5924 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 CBJd3W diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410250 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410250 deleted file mode 100644 index b0c788ea4d72f1e4441362e3b60e97639ee0e786..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmZQzU|{G_-ol&qf9?4&<(ZGKK3^HIX<_9JQ3dN=)y}4&SNjASfl7oG8D^$^+}0Vo zaN8r#Ev)o{;@83(Z}tY`>hW$);aA+;68eG4QFKWiI)$h4_~a`8mw~6 z*QaUD^^<}?GZ>NP4c2I6m+PhykquzKC)!|C~K1#WZlqo}QD~qU)c;?d^ z)51sGZ839#cUR;`Fz`D$0K?z}P$@XhptOWrNLYxUpGS~mwzr30VPcSLrKzuZpsg*M zI)=NmCRyyu%gS|L*&uDP?r_Pqh>s`givv4P#@x)i!nlhis`${`&#=|{*X)o5?W~gkvy>!a%f2S*Q>rOAUlzer%c(>%qhdNuX zToDazQ@eKDEbDN_6rt0bK?XAC8>|*lIBoLyocrx><~3a>V;bt7BsCRYYdz8${mq3( z32H02Gyt+;X#hrpq(Nc849znjKH)qDRKxV^Lj$rNutq3>Y&cv9ST4cT5X{3sg+TLV zNH8Dd2be!-X%8dNP2`%75iCdoNK9BLLDDju2Pp#?VD_WcO)$To1gZy{Mdfk~;tWJO zMs_bOOlV;*r2NEgFGJvpKQr&0e3HIDm+jZW3vpf_T0YO(u;#AB0f*@AJEWHiL&FX| z?St|z3?PRaSd56g&meWF1eP|D!vU-xNdSonvkqsRg5nL--pGflgoP=XOPrgEcR=$C zhP_AvNKB|rkbDE@02!dV7L?A=-Gnud4HCCe5?&yGp#Y>nLSn*|psR<47r0zN%a_P< zV6%t_FXHPJn3J&Q4^Wv7FRO^K7nrW$X$akq@QMRyC1qhknVV4TM&ckbVS$1(uc5~i z!#=;t%2sIsGuI!9ahbx}-z-CUU&zU>Eztd!{`RcF*CMEiDgS{0$^VQ%?mws;D7--7 z4bC$lF(TS#4D9Roo`JT{wgR=Vg7m=vl82C(Fj<^_L(j7)`GQC{Wzg77ps<347d(9q W61PzjUZ6HMHR2E>eZpfM$N&HiOZIR8 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410251 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410251 deleted file mode 100644 index 61fe057e0df9191f21489210dc5e74d5f7f26e96..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410254 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410254 deleted file mode 100644 index f16d3520ba26c2db2e5015a87a9b2fb4c245ea74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4928 zcmZQzU|`T$eyr2g>wott?;4xAb6zrS-LcSY+ePch&kA+dj!mAE0aPNq%|QL1&U;@z ziz81?9**71WF4}%LD16?_Jw>$j{1FCzCkJ2{oCPWc z#~DZu5P;ZVK0*Bq3~V5^A>M`{eGCHIzWaKXB;D1R-*nz}Z|frW$3Nms7p&qAulsWU z&E3ugKqcZHWiLQVL4XnL2B0(j_wv;+b+YH(c)YLN(t|udj8hnf7ow43=YZ}5RIe)Il`?U#iFgE)a^f&H7}ANZ81JdW>JwWrdK zdsjVE<_8?U?`IKWwNGNo=Y7q-42*3HfYxqhVEUd9vLA@y0GNIk0XZyp{G7#14*1=B za`B?1UX^r?OtFe>%g0RjOS@{k+!SUw0M)?5hoF5>J6_seE`JkXs~OH&m&~}sUeos2 zX3c)A1u88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFgf$AiRYHq=lGlKmG49kwmjsZV5MUuHp(=yWz^#1BzE3Xik1|V49nmAv4fGa9AD+xqa;Sq1M#m zDGMtOXvdl9%a}Tze_!yZ;0v#%P0+zWXxcdpR1eYv11Mo?eQoWOoSEH8)s4I7Kj77W z$7Ei$JGN{_us~o;*_!J|DnXiL&!)olg3Sf`f$5uxa>$0ld50&8{;Ms!wy@USdF9`Y z*Eu;F8vQd$CLc1h@u*4Sea2OPu}gws-OK~UReImkysq>`bsyXx^Mr{DXdu`RhOZr& zXKYYBGmS+x`<2SK6i#kurA{BEJkPw7Cru{^gA#2DgMip+1_q5?KsJiolNO!X02Sjb zC@!!vHa0df0180G;4~3wfGHp}D8R=RtQSlW5w{FXVtfanIvAmDbz8xt$KZ%nxU z?1kt#kpEa*BrR;>RA+VjAGq(gS|qONsPgQR`^OiYwQmbboA9~X9cpLFe;@#|VPV1u z{FOATi-8z;OxZ!O|O~+yd1* z%}_Z;P0`yG!_S;h>nYpy%`SKUgNQAswm{<;TN?cbm4k&jsBQxTBFX{=_Vs&gpyk0%pe9zR zRxpK>Fp-#W6=bDR;@q_R294c>HH{7ux1pp_65RwU)2R`MSkvgK#PnSgWi;13zRs)1 z@vc92?ibO$9-p!k3rwWdzfLor1Wg&>mL-slE6sq)(G###M6k{Uwx4+J$XWpPfa+cJ zG>2>nF8g3sfoMp*4YePb2Q#6PC}B>Vn`Exg*iBf|=pb<$CEqMA!>VJMg$gHV146k^mADW<5sTggZ=-@(>wrLa`f(gTy4+ HO>hkWzqz6; diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410255 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410255 deleted file mode 100644 index 40e3d2197e8e28fb8b38bd547d1e0bb9bdfd263b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6204 zcmd5=3piET9^dC6A&()iDU(qq3>6WP9LejD*C7dw#|e`z$+Hq662lde*Q6Ili5|EH zMK5y5BSXlPR}YWonsi+x-L_(+S+NzT>Jw_Aqd@D)Lt^Ltq*Tnpeyme`#sX7%t@*ObK3$05xUIKI=F6Zjv;0y){ z{uDb3T`NB~UpYYb%Q}JW((2^+~@tu-yhEn}28@}`Oc-#2I| zW$o*5QMdg`PE|2(;x$5_ez)7o;Rvr(U8eKVm6VJ&-wqGKz^y%xc0a!;6La?DaJZk! zQp?&TS;qQS1=|=Iqdso?zLFVC2r^f$03R3lBSU_=x#cr*;4XpcL&h?tPg;%XSr&Jm znrT>T-jqlly&16$Aw``5=_*FZ|J?`J(Y!%9I6yvgz{J^QrYELaW%i`Mxmj|}!DV}w z`>xVH`sa^^56gn72GXe%zysw_**WcDd;{7ofx{Ns^0qu7uB1{OdF|??=bG91HK{`V zjZbqt+JQc@uC?)2D?s4GozdnRlrG>OS3K#xCTZtl1BRc*P@sp9#`*${VN_>NSk@O~dp!Gm_i3&NV_aqZ)7ropd zr|HRUIrEB0>PZCQD@8aIq7V*$KOn;r7Yq}epguVGXC{Pf&DW2TbL&Uh$Qw3?LISNt z8`@SqxL7Q8no_hUGI4X(&bqNP!L2nnIv0yqp4MFXOJv|v6{;cR0pqjS)VDT5m3=pL za5`YM{|1FiQ`c0I!(%k<3nw1co!?WWA3rEvBJvPr`b;+Mw(LOFop7W4J9)Y^q{6Ps z(Q>*zN~T64w5fqpS}`JJyHC4b4Q7)xlMjR<>6kcptT9RAxSGM02*HLP4^oBj1?po_ zt*f3dBL6kz7SOO%-L{Eq_>Me-)*{$%-jyprXI? z6?QeXwyrkHdZU=uGkih0{`Ih$PcL7TLnf^}$QuSj+$i8B$_wRC44?;8dW!FO)JX~4 z?>4Sn*7VBESDdWec@Ph*&@-Fwi$Am~nq$ zzVHESgahOs#seK}_>V|E*o_cna9KFxMhJT(_zuU{?CGax&O<-+0rz7e?R<(K{}&d* z27$z*G;?;DE4=q&as1%_xS75@^9Z?BJWRoh`NlntebkHBAaMUEy$qxD0#0cd5dYJzXt=*xGfS`PGirYEtYpa z8}}xJyRf_+yE~Nud3b+i4%`UXAdt+*AM@=m`v{wu{1zA!#E!>{`JVeiu(9-!d18Y1 z-_Mc55Bmt3^uft03oT!1>zCE*6K~&4DX^+CIsJpooXTVEi@gUiC1P_P7&$?>t;MeT$B>5Xx+Gyx=#A&ymAfYxl9KpKg7PPWjqYyD{#_SCYkfq&~CjgAshOUOZRNee*k( z@7en6B=!uiQRbbBjc-O`awqJ;cL(%4AFL^UOcy#43X?!GIX+gSf7xHz#N@TWm}aff XF9aJ)jm{Gj{8sxpayV;^;+g*+Pzu=< diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410256 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410256 deleted file mode 100644 index 78df1d56e292152492f53e6ad252c0e1d1b6238e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2860 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410258 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410258 deleted file mode 100644 index ed778b712159783b619197f2bdc1ecfc08efd85d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1524 zcmZQzU|@Kewe$NFuVWok*m~n*cMD(KynzveTS}Y0V)xWyj~jedvdeZ ziR>2^MsuPYSq`?PT-AO4?V^DQ_XX>X?o%y3&t7%q@VUpY%*6_$!|ggJ%|AA?>wHKc z_eG&X;r9PPGZ>Na`!2VcGR#iYC{3b}AIE(983?=&k>~ zn5#%kyvBxwtJq3#&9r$7R^7W8AMJ3Hz4pF#j_sa6-}eg`L|ZQLKG?Q-c?!tI%*QXt zJUIbkLBOdDAf3YCeb((=9z^MieV{q)$Q_dQyWzj`{) zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxZSeY+C?SzLkOL zdofTsINm_|KmZt@JAf3+-Z^jOHtqLX@^Bu{OnsA-FRn+}zT7vR{%Dgs;z9L3>ws>I@Td4_<6@j9)Ui?4kKsbe(Mg(+tQ`wy7LF8Y*Q zU+yWIFUR8aWX^}SI6?OfxuxgkNAAAw9bbH;_M=Ch_=Dx`R(pS>c-l;0dA+hiKl|eQ zpi4Q`x384VJzd2PGWLo@`@XXpk5Zp}e#Y>Mf0p|3d%Eu5nARkwl)s+xGk-q^*iv9v z{s#h(dZ;59f!tqEHYh%rf$8lclutNr7#PGf`mbaGjRVC`5l|m5OfQIrS%S)hs{qG8 zoCmTS1fcc<<8~%gjuDgxplssY)aQGO#%=<+9Tr}L&25x~7buTWBM!k~f>hqZq7O_1 E00pzsZ2$lO diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410259 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410259 deleted file mode 100644 index 14c0971fea7233d5df2620625495de49e6ba88b6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2644 zcmZQzU|={9zDDA64#%Hr*3&9)-f4Vir2A@ zDQvy*vAcyY?%uHX*#Dr0BtDM7%_f9qs+qqI@qFKi$|?^FMKF zb4Nfq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhXZ0Sq<)$o>aOy%un^@Ft>%IG%_tww*z4r2mV@D1zkC2JpVqke_8iQ!dW!?wdHZM;BxtRI* z1^G`LAQl9i$^go7mq_t#I4J$m1x1^KI| z^UUUdxV2keeWA(Eb^50go^2^>U-@TC`Tuhky7LQeCYgu#Xqf2q{`|y{^6zhIP)q}t z?CCj)Ey@nFuNB|S;4gQ1cs=#mDy6Q4Q{Oa|7>NX)oUD4v_^MWTmy*Y0_UOmkAZ}t{ zAQV?XbxcsqVEupd;@FA*>MX9bc^nKAp0hJLvQ~NOcf*S|vsV9V-zUT{V_E|+3@!rI zgW?PvZ$KIhfbqEp%7lr7!^Vq6ep`Sr|KDXFit^7~H9hzHQ$UpPhlwi_R_UCYSu;@) zrUz_3FplS$-_9?3vM%O{Yl&F@Ii;2PE1#UpiIm8mFyqQSw%f(#LG6YO8GR#GjE`JkXs~OH&m&~}sUeos2jc=`na88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFg zLFyO{bz#aG!Ttk=rB4BG<<(U-d-|TN7PIDi`Aenkynctx17_9t+yCyrv^wd}uJC0O zEnBvIzajAZ-G?V9(#_v+J`4Kz{(IET@B24ra{&!xT6LEH{iX1OkLO%iZLxFxQNQ?* z+o}SW_8*B#Pwi%Mp5p_y6daZi7Ss{2d?D^pnwS6;1H}t7H2r{u2&Oj%262zF7YxXH zpk{$7lt_a}FoN${gA_hQnD3?hH1sqH<};l1uc((j&XG&Ub9juLi6l&NAGJ;$|Z>?V-gK^P_74-&Ug5?-Ksj~a0ZE(?ŀP8 FC;(8T?SudT diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410260 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410260 deleted file mode 100644 index e94157d9f8280749534d2a31e3d47dd15be22f3a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2732 zcmZQzU|{gRB5W$V>t|*u_r+%ZC5=HR!pfzOwV!*b@mzJ`=MORafl7oAgs+kKoWt>_ zn)S5Gn|GR`&lCDeg|nC6I<3@udg|FD$($~=O?qyp){C%(KD)=T(Ie~b$18P5cWdos zt+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOa6ZUz%eA(>y#5;_tN$)rdv5)WKx_WEEUk@lS!;GL>Z>(Vrc!FuNNn; z+Nq~kB&^QJD`FWIr7P+im-dJ;>&p*QQ~rOCX1zV({xs@fPqHAxwmn}x`D0(JowHmU*o(F`A@`3mh_+neeXwow@)VGZnU7yk zU|a!WLBOdDAf3YCeb((=9z^MieV{q)$Q_dQyWzj`{) zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3f5d&lno);tb+&$j)=vlGQrNZhqA1 zZwqR!9^ZS5Lwx@{E9Dif<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt z|Ga*Ban=^szE=v{gfD>=QOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|} zEv)c{^Kq!1jF9+XaG1I&sQFqxzr(!wvlxE=+Az)c>YdGE9}fPJ`z*0xyGG>7_M@G1 zqbG-oZH`mDH}Niet;gDhtqgqj{^pnK)k+Qua|6u-#Xm!ef8bN5@;JU@)t*W_?p^gv znICZYzMn;i)jo+SpZ7KUGBCC+07l1F2Bz;AaSzPPhk-`0?49#gZqt6RB@gHE%+xnY z`Qmzn?aO`B>5n$)rIa0a646E@wz-iz`}T) z*38A%K7*7o8tTH7GlKmGEMMZaDmqJi1TOVXW-H=xUv3wb6TPo^`pii4EnC;kbF2tq zoS|E>{0!@#z!&Pxo&^O{ze=SnTzQ=5b>9`8#*jO;Aipsssmz}s78SEfN9Mv7aeK2V zyOup$p~e41zIL7crrQb6TOgKl@AwY{KsG$D0J;C54&ueZ2E`LIunam6RYydAWnfsG zrj!WHvn4=%oG`s08Yu%KG2tq}=>pD!xfNiPFf&wlQ`{e#w)Sfy*z0=rp~{ZxA1WnKIbe8cWY zJh^ddjgs&JrBQ0cA=Wesi)#RKukC37 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410261 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410261 deleted file mode 100644 index 599d5e8a4ac82659f42a55bd949d34c2c4af5d02..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2424 zcmZQzU|`@qrM&;Gxm%KH(TcX~ht6AVXua@EzG$_{*LXc)zr@)Kfl7qEuLzsU?)sTo z%6+k!e@SD|iLi3%W9{c&YCKn6`1wQ3{){%8%Qw^5+OD1TV=D8pQ?gm|@P5Fx?fEaH z-(Ad^>^T)^21C-K)9XMq5HNy>t3{bNlLEeb=CaRz^ukog?EU{2m*?oQ?O(moNnZR< zx(rZ>gR<(AYra3rzxT8D9N-t+bj)bg4vU4dOV6-`?7rqTx#bbhI*&u#7i``q?_B?6 zORdPnijYs*YP?Z4pVBWi$@1N1-JzM1F`eV}tI1NHhWZ~f1dcylRroL9QM`b&+h$EM zF_u!LI+i{0>IH{3OF3ouUNMVb+}Lq+$FvvcZm}O$tg=|kAlh=3_rbQ!%TquuWyX$A(3JwP^En4Gx@72^bjiLtSX1t?IUVsJXe zKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE&-*s#^|rdi(`0~l<~B;g3sifV? zqtEZlqOPEt90d=q`yAh7 KHH|{!lK}wc0A{`b diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410262 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410262 deleted file mode 100644 index 0c47df0cec63ddec2650cea3144a90ebd381f24d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2424 zcmZQzU|{Ym#b!7zSZ1zpjc*U!}saFz2}xqb-g6V zdDWcb1j7rU84O8_PHzFxK)?thw#Eu<+Fh&RclCgk`_hM7C!FLDZw_^rITBF4uZiW7 zO*c@9LrUYH+rJ~fA9}T>bQ|-`PyKcdagQ4ItL_i1xEy5&#BCX(J-=n)z6px zQLc{B%k`ExEHm4$C1NbN=~*=2c`4QKr0uzTmR``&J#n~VRo>oY*D1Xp%s*}x{d+CL z=bYaYTLYcFhkiIuzM5=g`{wR6**D(%{biwd}bHPAlh<`_rbQ!%TquuWM=@F`Py9N)2OPo*9Au6m}-4>)|^ z&mzQXpTv~U`bM2WTEBY#6$xy$&&-IQg#g3gLv1 z3Aa6kxs;Y9FPbBm<8<}Gk~W{C3=HZ548ndH42)qjfy!b21!)DP^RrMf4p6ulni!Zu z`5u-^d`44k#cd zOe6}V8lcJw=$*+?{Op_Z=Au|vVUa&I(R*9=wSVGS+MfJ-UXkF9fERyHYgc8j zKX>BmzB77NZO>emt)A~Vh2@)f;eVct$j=;{K=YXFHFt13uDPidG*fAQ&ce(qub)T% zouI{eXunWX>B-tJXP|bb{09Oc8x|gnK<+Q794K6wf%)kwlutw$GlBjz>5TWH$&v?FYuuI;b2YD33$g#JZ`3#%_Y;Pf&ObHn&j{UZA`} zjW`5{2~vFmjy}V{YyM`(qSKUix_O@Fm|kuCgYS#o&!+E26V{0IoOJ1e#xb@u`VT6H zkw%Fq9~s!!?-qcTk$ZsVutLoOQ%DIDi3wLhRvIPFO}p06*iBf|=pb<$N*X26O`v*? M8gYmT7l_FluPHn9gKimg905=}Xm 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 GGXMZkXOhhT diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410265 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410265 deleted file mode 100644 index 5a84fa35eefdc2426e4986e69708c95abd92f6e6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmZQzU|=Y@$Fhp4h2_=yaP#THj3HTC#ur{^KXcYmKdB%7@v{yGP>Ha=6;Im9EY&lY zT-MrpxvXt(zg+3_{i|xI-&3n8dlc=eOP728WYNCz;>o(%ny2S4RFXO8QmQ8KXoHVd z)gM3heV#xw7?Kv9J`AFPfDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?_(Gm-TERPMvaSl>#8AmY8GkccN|sAG$4hQzaQb+BU#>`$jN&$K$;je!ucGR% zzU@nL&o%KhxEAvCg2tuK%crpIt=q)dFhe}6VdsXDC6a&Ui`z9lY&facW-7Ty;amRe z?CYx0e-c;hR?g==+)%h-K}qq+^W054qFyuatunBmzIqFTXvl#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^3@Mi+4H+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~Bg+V~SA2B8R870Y&g)$k$F~+SFP2`@$HHo~e)n~e z84lAsWxeh@KAOGybNUU58~2W6w+pQ?*x#P7|71bN_WjI20~yz;1(kj>KQgaQoTbC4 zLuyNz-^vNO(-H)3pNbW->RI3fwKU~F5P;M}`HVpBKPVd%w#>k^a|6mJCY%}A*YA7+ z4eR|teXKCOAR1-~Dif{(9G7q&$ZimT+7HZk`=D}+p!5u76YHi18oLSPc35}~Hn&j{ VUI&2wqDCBo!vv}9ghd~i1_11um?!`M diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410266 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410266 deleted file mode 100644 index 0e748adf654b452dc78a9e153212297b72e044c7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2680 zcmZQzU|?9PFW#TotSr7p&}DK{vdq5A8|s_XqfT9WdnxJ=Qv{O^P>FEKJ(g8WEiA9r zhnr6qW(>*FGQRLS`3?9`f%%nllm58TBp)_DOA0kM`YLt5F->`fKwSjI)%Z<+W|x?Xngk2QqxUdzt(F<-z=e}<$WFI2mAi|>9I%ed$b^b^>m)u z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|=iWyFQV-4#T?NTh3zF8>#@;{@u*PWEzZp$v*JEY;ir`2mJ0|WOC24<}`2IkT- zpdN6%!R$eznW1c6D9seY{RGS;Y(7{SlbKyThygO6F*Ml48N}g`o#(J6t96py{HW94 z7SvolzV{Y~`2KlT$}3vS?;Cl!gVX>4RqS*P@cg zWmM6l4Xgg_uPE2AT(oe+I+Xj?6PQD4vUgE#7;9XXdDExQQ|&n(U}iWG0uYG0xM%<6EjPo08|W4 zr}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3k0N}x|Uoq zi?6hI>#uyh$x$3`r%EhdmuCoA7_ZZsx%k>=kSeBiOC2Dp85p5%by)Ou+ksG78xxaY z{YwvG?--wJzEwMCCFl2&ADtVDUG2NxFbmjiTr1lvIbT##_mx#gq0vM;@5?i9Y9vlD zY5MH~O2bUXLEA)D@y$JYZYJa5)ynw?KL7e7+rMwh&$iW5k{4?WUVz$}@*fC*Y*?5u z0=fU7a-gtf29_H)p?qS(nSp)%&IV{$9{}oOh3N&+FiTLGa24RVg!4dlg81dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*#65Ydr8LvGUHIRs`L7kfzYhNSLzgvEU}ezFTb;g(Uwq)xh-`&dLUga( z8Q1Xk`DZrjpRj%PE4HLN!u2Ef-jliRl|40WlV{Frd^(r$u=;WnQ>Ph^GZ;D62IXaQ z3blPSJ(uP0&vo58xBvM3=otUZm9`Qy59Jr8<%KI`6vs1&w%q1@ux<156p)LVk6%z= ze*t1az^M!%oxmxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6ybaFR~#I+urPbO4ImR+3uF6HOblrvMeaz~xlVc>UiVBl6<4OBlF zh{5p&q|pIL94seLdof$b!q}rpuTk#%s`DZjXLRK=gcOBbwv)?k3wtmJrtzX_&yOYk zH#Tm4`0V0~my6ySy|~D9sF8tHe$n$iD~<`A1*#MGD1!$z6WA@l^l;`u^vY@WQ~b&= zfBN@F)%bGpqJK&6R%X!JyOlBjW_`^uFU!r+zTM#k*HhSm?gND(gW+pO<{29l&rD-c&3>iwErpZYS*g=U zDbF+SC4Tdy z39Rd4nirkO%hGo#nHb8QzukgSa@CWMvtlw`Of4Ed#bj*iD!(ZklCa$(LDno@h8tw8 zWa&R{o#^vd9|x~e37fLn^6FZv_X&1w3dJd%<}cW?)~xQwAE=2Z8!nVR}I{%o0>4Tm?8T;XIJtAON)=SZf}^4hyfr<~B;g>k!ai)QCfHm>|_X;OJ9y{`xCvl}$iKyYQmV3A26Jy`=nq zo9Cz9oLfD`XMJ!cG>*ZgK9G%+e4sM$FwcdDIl;0NsMYHGkql^gItgwPl!0Uk5)-Zp zM;e9LpR_3G1Kb#-G)knKSZM4ftZ8(RxD6$ZlISK-ornUEA`XcOSAruBA!Q0u8U^VE zl|i5~@FGk%!Mb(bt?XTTRiZ%k8-Pi60!$x_#^N9pzY}48Na6NLq?ivXL*e;@=sF)s N56tZ#8jJhk(g4GT%GUq@ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410268 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410268 deleted file mode 100644 index 10355d8fcd6ebb2d79035dca4e2145833eeefd03..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3872 zcmZQzU|{(9{pFq3?^iZ^b+Bws=x|Wt+!vB3UE0MM_w+GG$H`fzfl7p5erD3uSylaL z$)d%(6<8yU8{^Zi9(I$sI?ez5Qt|!wq${}JmcRRv9KCJ2r1*SRR&9?5Ga0I1-+7mt zxkmA-+mlN`GZ>N|tPii!H_EgSwe8WLz4dhN z2V2|J_|_JF}>L)zp1qM>5V7 zZ)ZF=!&_FHo8!qQ&1@C5nNq@xQ|(-CmzLTo|Jy!`{ntG6hN}s$R{np&=v$`qqFiu7 z$a$fvIZs+$YCirImR)W7q~O%{7yEYH;WN7K<{i1@-2R+n45BS}cpq%rygUWuV&>x) z6gWjdEC@K20i;tHe7qe%w1UQG4=pv_T3X)MVScdhub&=!^u9+6@>fsi zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rme8;Lim3G{_>X|Y> z;P8Dvix8`Q5>r0!YxV`IX9@@n3h;3S>je|(r>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k z7RKweW-h+=8LVi=v<9dSMyOjI6x>4>cP2MKuzhIw^=F#W8pBHq>r-Y_P2KjhykKAO z`2(A-AA9}ZaAu5B!wJ@xOU_@DF+@(fbK=Z)ia?!Ns#}fY=8@E1u zcJal_MQ@E>Tx2@b$iOPU==q)%#{|wYFsKUv)5dL}dgL%cW;2*s_Lk0C`u^$!)&Ku) zZvP|57NMu7(f-iXcS%p*mo-s}Ah*k&O$AXPzz8vy!J&|Qq39L9+a14tt!VGuF)`$s z;W;n%m6tYb33=>!=FGv9EsZ@>tZiPlw#aQdBlVtFV2YpR@v6eWj4LN*r)g(hU;~;3 z_Jfnrx8}_cls(tASK2&WwfrdKlodRBuWZ;$y~;OdwR>f1&`jOIG*a-wW{h_^x?R9SL|vRYh={z#z`lOR4rqQm1k}U|H499^ECF(mm~a)~ zIEV8fd7J@eKd|gQ2bE(4m1!__M7k-2#%=<+9Tr}L&25x~7pTmnMjV2}1gZW6M_<0q z+z)I#c^6xEl$!dsx*w@1Ta&ydKgo3QTl_&Oj*x3DzO&ZiN(XpCk&@w*i=BC%|omGO#!Z#qUIz zZ>#CBiWKufWhlH%BD!uv(u3>=EbeEh&sN-_m(pRj^4oFmW0x|zl=WwPmERr57Z;PS zJWruE5vrevd<<@nfRz(&zd-9?NE-&(iC{JsccO$dappgt1FL_~Ex=+v*8D{SdnoY- zhO?0bkeG1al9N~9X^lj`W7v-*fW#!jZAfXE7&mFHY=Xr*hP_AvNKBI5gpwzTZf7I; N18yUbfz2T>c>r~i)KCBb diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410269 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410269 deleted file mode 100644 index fb8fd180052829e9ce3df3b1a63d66afaa992aa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7068 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410272 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410272 deleted file mode 100644 index 313d644c8a350720ad125d9d7e69dc582f344910..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6272 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410274 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410274 deleted file mode 100644 index 507e0bfa8704982a1a965c97db6603b3f0bc6455..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3972 zcmZQzU|^WIyC~1TGR%oZ@{!b)JtbfEzMbh5@bux_=N2ZXXMZ~|7pO$ISyNNOCw`r| zxxMX`Tk9vt_9n+}evoUV<~3cztF*Mg`?tN%qD31FUQM58T;}#jMd3qp^d`5gH#+a* zQs@6``cMTlgCS|r>5m{92pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs=#64jSvXH5p=9b@)m^rWCw3NE{7gyje!7=`_uixBGB+p0T#mcCQcjh*+%t~< z=gG)eyMzUjkC?R7r(22ThGz3mQkB+8US%^=pL?TXP>YM7W990Tw@)xU`+VR=w_@eh zwd+hSt4aBn9{;__R{zhJ+bg`~r_O#~xPP9L?0OZ(_m-0xL|Y#5KG?Q-c?!tI%*QV% zbX)+jAmCI6kWOLn@pb^w3L2k1wA6Hy*RS>3(KkzIX?b6V`N6)wetPWD`yMUGUp<{? zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)ll zO!>U8*_VN_Z2{2Qtqe@xt3mdIG{QjAqBGn;Hp|{QZ{;@a_geCB9?wjDlaw#6N7%mH zH=X`ylTJ>__K7B`Ks6wJV7&zGgQ|OJd%65gfURaYXI(Pm4tq`8W0Rj*EnRbbhQO2a z_m^ed0Gh|-7~<&{1Z2QK`l)Nl6|?wCd$<0|*P9&0;dZLT;&pk3fQ9iot(l9jeFmvx zG}MJDX9W8Xm`|dWU8A3F%zMhKDdMsC^_%ni=B>71+&JZjq1S^oM_4y{GwgddIri_T z(`psfDJEA{|3xp)JUjVM@25h|ReyGh^>G3X1c&7eR<3EHt3D)6@UM|p`j?sYoLBOj zPv4avHx3xbE^IBW1c#+)%LABts6*gkLr^~h0~=5eV~DpASS$0onz_Dp^BNi=4_x>= zQRTMsMG1>#`Tn9auI+xF#HVb*uyN5Iy`xZDfcn600Q#40`s3zCeepd{-ab1WzjN;i-@=+K5xOCgveva z?ggc5a^nfzkL0Fn%rK$MP00SEmYWz#?Ka-Lnt$GX_Rj|&uOCT1`!jjoUd_!*clN$+ zn6`4&#Q;b!W0WJX&_7A1`nXTI$R63hqr z0p<^Iyn(ExfjyM?10z_F1dy1J0E7Am&H*xz^CNnD79@v~XGrurhW$taNKCkMKw*sx zaJvmD&k*A#sY|{E(0IqN7fAq#33mpuZi1J0Ae}_FACde4w-Ly|=8$;Rot7n{D|S^+ z)#Z7r#$`2QiNcxfndg2tddh9@Jbe?~CIz)^{{sP%5sX0YFR0nDwEPfe7ZL3~F^!&s zen1z2+M1v~4=+qFh(>ZJ5)-ZhSJ;8=$5poz=cZY9GULNVfoT8{NAErW diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410275 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410275 deleted file mode 100644 index c774052ab467f475fa192e08a0c4c1a1f1fff554..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 zcmZQzU|@J1U&g%RYU9dlG83A_9QrrSHH-Plx?*b>bFhMoNYRQ|pc3JUyNmMdE5n>v zBp*p#*;Ddm@7tM90Z$*!eQsfLdiJ*ib2B|3#(Xb(Tp_zimF1=Gms>^)g$3q^e4kPj z#?tlV)r3btGZ>NgGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhbW86f;*EUKFwnO)U{{zPu>!qq~JHre{XG#efv9o=KTpKR!6V&c6ZwyIQpuz zVP5ImCDYY^OZfi#eC=GdP5Sk}tc>fnUAkCOSQ|L&boDF)<_Q)$yB|t8TfEtGr!DTl zgX4LbU4Dlza^1OU&SLe2;o8Tw`c<}81+%vt-uvIC`H-}y5`$>VW8MebHZM;BxtRI* z1yz|1AQl9i$^go7mq_t#I4J$m1x1^KI| z^UUUdxV2keeWA(Eb^50go^2^>U-@TC`Tuhky7LQeCYgu#Xqf2q{`|y{^6zhIP)q}t z?CCj)Ey@nFuNB|S;4gQ1cs=#mDy6Q4Q{Oa|7>NX)oUD4v_^MWTmy*Y0_UOmkAZ}t{ zAQV?Xb<9A_1X9nuu4b-p-Mof|$O9MtPE@(Ad{M$;S-!vMjBC4}C-Es;Ffg_)0EWRs zpi*$0L1~GkqQa;Gi}L(319!tj*W7HgOsA;8bX!|Abqq6Dxu%J(`j9lizeZZ=UuM>G zUdeAheOG?mIA9#Ru(h-jq&~#k2uKm(7NDC$xSxR40trU2`+#YrfA`PouZlj?O6AUo zN3^`1YTDnXoz=c`wvx1?P1R+7v;2>lDK~c&eQ;1;-6NoP@|b-3^dH`xN;5*Wqd!`t zN`U+Y4vQ53z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!r2hXn)URtBc;H6Z(8 z4gt|gi_QoDDVDu+-pXy-@3rLNJf4~QCMjQBkFb5YZ#wfoeedzvzZ8|MmL)r2o@r%{#fvn&;exiMMC`USC>s!QWu-trs7+F0|!5HOWbOy3T)( zMiY&;yvzJR1Hoarf$!1vRQ+S?tzQ_=xOelznk1iHGbGP`S^dGtQzG!I{AQ$d1y&Dr z2s~^E>SthJ19<_Kb~fJdJRPK@=UDZICAa_Q?#nllcPm7^?|3J z_4sX=VfRbGVfzQLt)P4a0kCufaz6}!!hji=&mO@9i10sy)Fs~nw7dz^j+{7Q_QBpAj(Y_j$NR!n?P=dh1Xzn8ztd|9w+3+AvjFX z>RMR*g5<#Ifrz*yK5xMi2qKRmr#Vo%CO4jF7bcXs3E6+tiYJEqn_M0-&kL^=^4qVP zp|C}A_JNd_T7FGe1@~Tfc_ut`KRB3y<;Z^^fW;$-26BHvqX3pK9zppGMAR{28a=b@ zfX0C8wQ8U~UYK4GjpR`zCR_!2{J_!~*nV8)2vKh87M@3AH-X#^!YJu;khl${93jz7 zptcD$;t-r?k;)Npq@PJt=-0G;zk1u!gsH`yZ&{@(%Xi1x6kVLXTI>Oz{&HckBFwrD zIqks0{2^E^kRaFw1*&2C^`QY;ufVjyX=KBpf+*ofl=(k1ACO=^*0e(ddnoY-MzA0W wATi;=2=Ws$faPWMbO6!|i^E4iHrOmGxAP(Hz+Rug!h{y~Li!ij?S+R80P|-h0{{R3 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410276 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410276 deleted file mode 100644 index e1fab643be21ca0aeda203ff80fa22f149053ce6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3892 zcmZQzU|{%sWno4IX9yF|L+?h5>vEAB<&Md?{%Ty5`f2s4caeFEfJ%g4$Coj$xZ1e# zn#_bIF^B$5bIoFYvaZ+~#vH8RB2u&>cI}TXb_Nfp3&dXGG@PvNVPLyf#H)SR%YZY+ z5325;vttCB!H~4*^dArn1YrIOm9r9i=9aSgYR-y|UbDpd@G5l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^lK+FVEpW+|*l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&AtqbZ3}?WwUvSC zdo55oINm_|Kp<(+88INmvUko~xlQ}MmOPxtGgIFr<%{bPwlDWhr$5@HlT)&NqDd-H z4M-nYFG2gD>R#GjE`JkXs~OH&m&~}sUeos2jc=`na z88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgLFyO{bz#aG!TtlLu~Vxq zoVv4np8x**7nje(ZqA(kXobT7oAvIYsZhl8o%T^l%O2WtUlw#u-)`l| zA}W7my_v(WlL_|@!ozao4bRg-N_vh}Z&-5sf9}3~BYC$%#QUD&U)|=}@yq?n!C@)d z@(AP%s3SnMgn6+^WobrEvcEy0Ye9%_xxSZcn0uhDEt)!p4SbKTr|KVDZ~ek}#=V;# z)+G7tnjv}i%jyqCo)UpyxkD7#1eMk7_O(*~%wx zd3S!gPjFmOT9cvk>#2XI^q-rbFEnNA#cgL|PAlsKL@rXhIMr?Eo5=-HFAUGJZQc{7 zRWI?3nFDARI9-`p_Lk0C`u^$!)&Ku)ZvP|57NMu7(f-iXcS%p*mo-s}(6G1zR1XS2 z7=Wh}g8CU4*npbg{$*ZQGuO9nUPD9VfeU{ps@zt-C}FWI-(PgbwcXE?_>?VxYQ;Uu zUcl`Ey8-Cm%0)|xpFeBo()!?YNUYK&7Xh4 zecP2g|B8Og{Wvn&C@Z)A+Kl}@TQ!e?+|DeS>+m>0J+x8%^P`CKsn4FvShnf#kj|?E? zk7x_neqfy5g-XK06wD>cO&8uu(AZ5Nx5L5+b9VyP#mDd6%q%D35^*@7{EC| z1}qN2VS<(~k>$W<5fNUb)GIJ|!0H!d_kzlFa^s11VM3XkQ1TCwXOWn&AR)T^WH2Z@ z)bPryHH@#S%tLc?lcSfKzyq((6aKkXNnK+&e>fIwBCrnq4+KCq%q~VC7gE0>^2KAA z?L@RS#WcEw=K+lawQp;H`gmb_K{U(~R3=;nN;m*TVd)HPKQIk`hpI%$7eu+Kv*#a; b-GsFq86<9_B)mX<6l%mFdN~4*bPxjoCLb6I diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410277 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410277 deleted file mode 100644 index f588bd62f6b6f75f7c47f8e5131a071db53794c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5348 zcmZQzU|@K?(@sg}$)+f~v~P0OQs0}kU++9PncXX$dr{txASZ@(KqbPTuPn@{;0$5n zdFb6}aa}HQquenW*I$i`Qa`Oe^)51R(fh^kM6TS6`4D2bEP7!&BX`!3?9`f%%nllph*Ej~E$esg?w?DX8XtCn85RBrS6S>YO&i%X3R_dHwa zAERS!T>Nv-hDDqj7cAb_Z7yU{lsV*YuN_e)VtbOI5E#?2uS?JC$xS3=g-lJin)BE!iL(0FusX;LfT(YO< zB(^9!%)VB9GlRd}<>B?zXRDOD7EXQBRAM9&cyhApDdVeJ;ay4|kJ+OiZ-Y9Dflyol z)v*9E6G(m6wAUf#6DQwwULl+iGU2wTFqhJj z&k%TW{{FIz8$fkTjv>C0K_DGakbde~a>XpZ(%!AV^7ST1ak!l-v3OmcAz)#=PHX1k zYo9^NBnqS&pvoB`?qqOyW4$T;VyMW%%>HPa4mNn+6#w+>`^xiN85LP%}Q z-P~9G(F-5n?wq?=O5SRJ!;eMksn^fDwJ*>8^os*%9ym-+ePa#l7VT0jmcCgi{_;Pg zx7VGN-EPY++&iS3ZNd8FoC)WL@`6zyil4cg!>7YN!Wa_ zGA1*-dJqF-K4WOGi!+GBAv@1uOIGV7yZKS4zb&Y_dVKFK4)Oi-tdv)@mftt>0_QWJ zGOF0=8sY)6l0ofH)xR?JQZud9e>NFSY3j0yUjOs@>BU)FT>D-rY!ki&RzxK`Bb_3^ z#!XCfct7Rej=DXO2Vw*NooQ1#E>VBs9E*ZZ^R%$S8_vg}b}~ZZgTcX~x7qAb%!{2h zdm`mu3TzK}ZaMA3rH_Iun?1fPy}HWi^2o@E`^T2U0{G>En?jze`|DLc~TE{>v? zzO#34nd_ue%eR+jJZB2KSswqds&@aElLAN7j^!>W6IpZn9o)Y&Sh=Q&uKJKP!M{dY z>0f5nb6&}BK7Chy+&EwyyRfyi66)UvK)bQ}m!N*Qe+|KYD4S%tK!T06_*Ki~60Wp> z4ZU;LA6fElLwEm`mP^;dzJTHY#lK)T0R0#1vmy49&ZjRDAEqv=m)z{6%xjUSHUHa%8c=><$;o^!Whi|- z>iP!Z>-%4?6Bb}n=)J$R_ezSe=Whv%OI%URanr1-yVdjF3K;j@VVWvaUB%B9}1E~E;i%vg+$}xiKDVRFq+?0QT#%==n6&7BD z&25x~7bqW~#1#?;i3y7hoN)*a6SOuFB#%Mj5^NR`aY;&90&^5Bk0HAkl&;B*C)$Mx zWo`ncKR7`0ED{qgjiMGPiX0cnZC8e84w>t|{-~?u`XwWD^I+=Vh9f76n~b%e{j%A# z=lS!EkP3{ra^w-rb|T7AU^(K;1B{~wKs_M0qWA%cgT#cHjx!B{?FW`4AE7Ey@&$2j z@>HR*n?QaAVU+YaNZdwAc+oD;pr&1LdLSaafaM6$bu=tt5iCcDuosxF;c19=VS-eS zkl`j!`hx?c42HynOQWa-isCFsRxf|$a5hlxr>W)Z2RDq_Cx2M}UNOAWH~hgmk@ZT` z=Wc}{NB#$C7;VN+X z8EikUb_#KB;+RQeH-X#^3om&6H%Q!uQofMrCQ#p$8gYo;P60=HDSyD{?@>idqNSFp zTYuD0x*j5MxS};NgmGHRPS%Dm?U0ng`~sSGVQGdD$o~bAgNOMID4&S22nKN(-^4Z0 z@rc<#eLOI|AR1-~Dif{(R~iM|4@{%`pej+qobdPv$W5_FXzV7eX>^ddjgs&JjVVzh L4zZ?DSj+|x|0sUuNzR8?`dicIUkGpGTK9?fw2-}tn^~%U zlGFUP0uxelD|8%>*&kAWsW6*s>web((=9z^MieV{q)$Q_dQyWzj`{) zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3Mwn z>H%p10dV|5m<$ZFJ~p-O{v2+x?ofgJTH#NJ&hf6lm40p4eu=3{7hNg>%s}d7&!)nZ zGlIoQiqGSffFlZlvi4~Z<@D2iVbKW*bf`{9$in>Kepcbh4GAgH$SXN^4T>*^6Zz@ zAB;RD0>8>{hWg;+gYNFUe@K>tcgGOe-5ioN1DF>Ef#evn2O0Ommj zAR8pcQBYi9WoTkx3grVSh}xI7m&@M-*lLDz)+ICUu-CLbHu;&=(ly6t2s}A|e_6&2 zpgJbU5Z}lkkPawFKXom+VisR%@77=WdXu9#+)kBPye`iWurOYyHFNQ`&md(I1yT)A z<%|$_GB|v4I+yB@9+~YeRPpIaOv8)jEy_`=c&6`fI~1)x>Ceru1xXo;yaTR3G}rz4 z{zqZ$$$!74X658dp4h?G#k%Lx1WPJ5-JlRQ|x!5$C4)2WadjkY8cpHQ3xnNqB+E29&r$;vg|$v4JxV z!C`_{*Fnl1NL+%=A|ftHDQ{qof|WbS?q#MR4bd)4$WPZGH-XY093XiXi3yiRQ417B zjtk^A34=)C`P&ZFABFdC{qm=PZQuKAyQIDw_+-{`Da}h+aKd0S#6)$0|3Cm_!|Y-N za(_W>gXN2-P(B0UvYJ6$#y9o|w7i}J)W-wU3!-6`pfceqaQO{vKQIl#w4>w;;@o7m zg~o0Ixg8c>@N#63xQ&wV0@bM@j&-kEr8_+s2zx&=EzN>VEch}-E*ir zP{N!jH{JfGL1Q;zO{0UvZIpx;qzr^503Z!3C{USj1?X{(s|*Dh1Cm3jb4Uy?+PMv> l&LP50V(-z)0% zbmbSGK2~dX#)o+&hnf$t8K<(Iv|4hofYbYdceDO;vmcV2Gq=pxepSC&@n)>J`-Q|$ z!3E!+Tv&R_?L6apy(|ke{&oFZBfq{=&qy`me$24z+|iE=qAkyPA8gyaJO$)p=HnN% z><)lf5O693NT)FPcsqb-1&z-hT57t<>(_ei=$j?9w7jpw{9xZ-KRx#7eUBF8ub$2` zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCtz2R#|<{29l&rD-c&3>iwErpZYS*g=UDbF+So5n{DZV#?=z&AveOOaY-m0Y0u^ycTWILfz`%KhZ9w$3=&IYv3ui69@7y7Un$IaJ`r? zt6bk7-cS9T%Ci+VEI+p1RN_8=xPIzK`{S{9Zbl^pxU&Kc1cyu4wAUf#6DQwwULl+i zGU2wTFqhJj^&$hk$5cI#-2?ae%_b(8K@~ zEHE`-`lapV@;3ptn&F&v$&5SfHEoYgerC0F&G8umPtM<8mT?29p2;!9H!=vwfB|B{ zM4~{d0ji!6;!XyK%JR+(?bX*lsbqL=RnBG34Y*`l{lJ)K>2f!zef*p==k8@qQ<)XH zY}fWFl80~e{`BYiXs<8+U`Jcm%OK}{;eqflnY~4)dCwjm9`#9+E7z!c_8*_BdbV>{ z(WUx@8NbsGmv3iaY+C@#FL!|UGsD~rq+$LB3q@|d7yo1KAC81e6Wt6V%VZzy?wu;tk3=3=CzH zEEhV!7Rz*nl&%bES7z{9?ZAO__Ia)%OgkIE9x=^Hnwi!#w#Arp5M1A>+!VLP)k$( z0|CfxD4!9?{Rd@(+{X-z(}z$#G35mV`}%DO&@$r$P#-A$zyZt>pa2pRE)C9ma2_lj zLG4dkbovccjuBKY!_*N`h5_BQ^$(5R1adnpyat=wChgH2-zjSt=rV|{nCTIC$?mS-|d!fO6ByhcnXbUY-#itR1OyApgao(gv)LQaT#B; zEzt6NE>IJ!T>{pRlrWK)5VL_Kt~3g^ALu`Js7jPDC(=y;GR@Wb zA=Wh7s1UrpZfzXX_s}Cde|m_qRP0N>rsB6w>Y2Ux7pEz6V09h1g$Q&9t~7&EjuNa( zf%O8<9a#%#eTtsukS)PwA2b<)DTo^hl%vGCN#+WT-Gnub4idMaq)`&x1WPCIctMId zBqm%MJoa^aYj!nJ{SFMw*+%-t%pTr7v2A7XxxQ5#1g|@&_n^~oJQj-f1b|NJgzcVOIiX}LMKXN7BNkrz}idU*kAH^KlY?m_VhuhWQV zcS73DNP1v~foLr5L`loUnV&KT*-Zq@$C{66U=Jn!zz7y30VF2er=;ddSXu*{MTFl; z={LX}1?xW`yBDP_Ai`c?+JVO{vN>QokOYvJFza!)hcL@2q&!51n^5dV;vg|eb`x9! E02yM7IRF3v diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410280 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410280 deleted file mode 100644 index a8022356f30eccc36fc09887ea83187d263b8114..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6016 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 E|ERl?r2qf` diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410281 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410281 deleted file mode 100644 index 5a26b07f97ee8e63e01bbc5b60675d85b16e2731..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4096 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 KSko>nZ2$lQB(;nH diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410283 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410283 deleted file mode 100644 index cb7bda85d4159e88378635ab3605bb2108d8407e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2592 zcmZQzU|?YNe13=b-M!d3#cFeZe9x~SmzKGZx3cKzndv#&NAf0IiaN!ZU@IzeoLlk-i?WKq41v%Zl?S_Tgda`Y zzUZyb8TDMC84O8_&M1LsAYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-A*FBCAr|%JG0$GfhnPgI4($lk4zm|{xoO|cU8!><>)7jm>#t|MvrVF}sA{=Y z!M2AVQq(6u5-`_RAZ^4h0GU=5e45BTsc^_=sygUWuV&>x) zv|KDeEC@K20i;tHe7qe%w1UQG4=pv_T3X)MVScdhub&=!^u9+6@>fsi zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmV4}G*K$3B#8>OTCo#;J)&LBHmq7KP zI0MHUkOl)_d|E-7FmVnL--|_lTYxbC-(??)^3Pl~J@@-lK$P%@i7OLU>71HbGf@$y z2W&ntj(^|#;d*dwebX<-@aym7zPVaNtH_`igzexR3292N?(Q4};-rN9GwD6wgd!QO$m(@-2mv+gYj8M=8%U z@8n6-3BrazB`FL7Vy77xG|mFqFgJs=0@LPMFQ^!2L2-eVv9XCcNCQ+1PN(<>K4mJ8 z<2zREskGzXRnL_90f+DVS%g^albG^(U$ZYzAyYtTP=JpsNDBm{pSqS@F^jLXck8cw zy~$A=Zl_8tUYBPGSQxLmG8f^A?vl?X&B$kL(S`ve44>(_a@Xv!1Q$2(>ijKM(-furOf+a{oc)Kw--a zOarf=d}6|xfqng!3(&AW1JuU~(+i?umY_1>D!_3G=Yi}70jT}JG$#v{V+7?*D4SR} z<;4nd|2f)#%{a59W;BT`N+g~b)X06w3-stxz)xPr9 zea2kPxXo49L1hmJfJeqQ8a+LL^s)dkO8z0y?-=$Y2_P{^ zb{pIeM7Rg!{(CSR2-Sx?%l0Pb#Mq_-)o%b|3^!s3fYczBFGQGMvE{NVs2nBMe3;W2 E0Hy4#-~a#s diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410284 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410284 deleted file mode 100644 index b52230a46a50ab6998aca648512d343519b6ec85..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmZQzU|=W+%3pi2c{M`hFP)Nf0EAMaok#ZR{fTje=(~!P>C?B=kq(f@9xFU zDOQ{N<9lA!1h${PTDHBcJl~G23;KUa2eb$fR z*6HfH#tVREFeEKHqYk2hfDuHjP&q5HXKpE*ujZ`i=rv2M53kZU%Cr!*?a`mT^>pqB zW1td;``;2@-h7dlRBd{;E-SMqB|Be?|Epg`)c(~TKZNUU@K2At`|YbjyW-2q^3y}R z*1k_M|N7?X%irSXOtecb9I)oo-QO~MJ8xst1J#N$z4c1(pBL7B4>nlj%jDE*y=pSw z8P3|QriI7dCTr~S>krD_^XDFaJkRebb}yQ?mu@{2!*-8BwB-%&gKe9ar+{3{eEfoz z%N!630#0QB=@bSZZwC;qpz+y5OHDU<{aUXbeY1p?miKj-AME?@6m$%)zf)q z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)`1_%ngj8@_gAp0Ppk%rq9&>{lw^QaHJtl{$Tt@;viSo-~~xYzS16!XO}ant?&% z9FPr;H;_IMNLqB(4@iN;I17pktc;CK%q&3?2z6lfDgJ>^nabn%j#Yaq?YMW$MI>b;uVJDE;)s=jxX4pR2$9k5uZvD!n7j$L7%McVE-> zXTO@(XU_q%mnu)2+ zboxFQkC(sKpIWB>AZXIJdSR<-{{K)rQ~m=1NIlFAK<+;%8x*$8z_jxk$|okA8Q9lv z$$^ITS)e{vm|hSKvjmk1R{@SoI1gku2te%z<~t>*93v<_L)pZ-iG#*&0=XR)UW3hT Wl!O;3zfdC%!C`__cEX|$OalO_JD&jn diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410285 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410285 deleted file mode 100644 index 61ffa48f24b8cd0dda3dba07a0e2b71169b0d4a3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmZQzU|?9)v_B=AwLl}^%vth@)+C$UyQ$mk747x<|8%tqYCYrwDiJOS%3pi z2c{M`hFP)Nf0EAMaok#ZR{fTje=(~!chu?|bEm(GYpIR!vnaZu_qSY=0W0^V54TP@$sgVv>MnC6pn6{u%O#s` zpc03Z+<^jWVm$krqjGntJhyGJm(>j6(lK8mcEvp3uw)5yaQuOp2|rJKX4=Ml#<@^` zc2t(IW^dV=XD^wzhb^pdW)iqGVcv1SqkSrm%1>DRinzLJ^1E&PW>)csCfw^)jfl>u zlvt+lGA;J0hv;R!QkTx>zr6|s7qtcacvmEULbmgCB7-Pv@D< z|8Q%!y!t|upX>BbB|O_w*1q!3mh%7SEOh4=+)OeL@6j;P>HYbMA?4rS)S#FKF4@y_ z5?hoVW?w75nZaM~^6+}-$Q6LHg7@=-;=y6Y38{})Y!K$<@`0o1bTbs<jttazOIAOwpcsQ_e9Uyew5!I;O<{%uPz^{Qv0(&O z_tN%q`I`V+&2Y}TWX2u#nzqL#KeJl8=J*VOC+F`k%eVnFkI6B_(93XUgqbt<)ul&Vli52Xz3}EezqF&* zEH4Nz411VtZ~S-1v$eH9k6*gB>ia`*Se_NyE1}%|aDsKQpW7>2-NKz5io3d!MC#YR z4iWhEC-yPa(v<%|0A$0$krBxK2bBZG2Qx4qzJc>$h+~)9pE+K314s5Dl{g zl?hh?j(<20WH$&v?FYuKI#iAkR5n1_M7nA75*oV+majqKHQ3xnNqB+E9%{rPI82c0 zA#n6%+WQqhpZI7qtKp3euerVz-#9&a?$PTPr&=F-{guz$-X0pq*wW}Ps2nVfK7sNH zmmdraVj7)2z%&jnLu!Hgcwu@$G?{4>Y=6?C(|@35p@ccXG7aLUSu}PN)-*au+(t=w Qf$9Nj#39x+3XM+&0N}=p2mk;8 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410286 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410286 deleted file mode 100644 index 63fa5edc9314a6e686df5c52f71e319ea2cd0d9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmZQzU|{%uasA(OKc7BX{%-ZH%|FEcCG0(L?)sM082&3v!RP&Qe1J-XS2gWV$!0Ck z$TxGAe4;hUCiiaYHhV>Tz5YL4t%6z)`8v#vm!v;t=QFIF`hz$9K;`F)e1*q;xfM%! zcKt3{bNlLEeb=CaRz^ukog?EU{2m*?oQ?O(moNnZR< zx(rZ>!{-A`(=~smnAg?Sy71ja$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqL@WKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE&-R#GjE`JkXs~OH&m&~}sUeos2jc)A1u88DE3 z>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgf$AiRYHq=lGlKmGOk)mhyG`#r z^2#`LqPn&80Eh8aHN|gxmA=n?blAQ$m0{zmW$*b^w=2Kg_fM2T*lHT)d{ne)}7ObsZ0y2*2?f;$o7Su7lh>B+V@}GZ(*8f0}{|mggw?-_O zd*6aN3>X$*kn$f0fGoIQf!tqEIZ)U#1M}fqD4%eeWnd7~=wx-rVR}I{ z%o0>4Tm?8T;XIJtAON)=nC4;mpAl3xz|;|uu0d`xqp_P{`5F{ngUxM}gcqpnp++2n z!vv`w0!LrdlO>%ke_9pT(iVISUH2sp{K~7R%dkbx#-E=?SZ@-uJ-Jl^5d1{lj0mzpc3Kl7uWwi_w(tK z?wWiXXa+;lqBG_o8VDFc#MW4WO}lF~{H`9ba$ovz>x7g1;mx7$GDiZc_cgIx zvgrmYaqw6+`~UyLGb>MOU*yrg=6Gw%)eOP(d)JN~^!VjpCs;S>!p6oQ&oln6{CDu$ zt4rrh*rh(!=`(cR>0`R&7U`kW$Ip?vaF$BcuW#Y&mMEV))^zSy0u$#Y+b!Eyyq&Gn zWl*zl<>XfW-Qg1&wXQSsZhO4CsprXg?T^3K*!R~@k3D+dqXqe^ zr}NC_f4H?`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*fMjBN{m(Y2L< z>3aiE4>;a{G#CKmGXTh7x#Q<7W^%yq-jj!vUxU zqz|l@pnXtvFKsWEzX`C_4Cky%X53+~X?tw)GpnU*j?WNya{m6Zj2l4nm>feqU4noN z7)U>LExBSAUuo~wU-^2Iqd447l~}wk&k(RMUZ*v4@wLxDbrMB2w_wT{!TtlLF~L(7 z%db{y1O#c{I_$^J{!1gr&!ptvb!VQR2_3VVGR}ORU>DZ+bh&HymR1uRnFF;pr6nT2 z^CvJCeX8QOb>6`bG!PV?42G{AnP+TJJTr|&HT#vyw-iopXQfUbr998PlP66l2pa;G zq%a7Gon~OrxCmsUh2_~es2FEKaea~gWW&OQ5y<@ol>>z>GcX^%gYpTdSq26%jm{o3pmCsdTMyL73)2gt zVV0mW;VQs!3Fm?A1_7x3z%*|Jm16{z4Nx|bZtA{7V>iL_H7L9Wo7*S}uLfW^QzH(+ zVS-c-furwh)zfoRm)hUr$)Bi_kdXdKd-)5MjKy3Z{IZP|Z@fNg1&w2DY4jgd4kL{c zQ5G<;uixwdEe|dL&0&R_1*T|`Mu~INraLrt6V^03NZf{!MoDxNs7$9u9AZtQu(SaH DNN$-= diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410288 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410288 deleted file mode 100644 index 125b0a77d64ccbe48f551970e575e2eb76e50f42..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3688 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 DXLyi` diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410291 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410291 deleted file mode 100644 index cc514e055b1aac49c44fe343a39c0f9e36e66469..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3768 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410293 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410293 deleted file mode 100644 index 36cbe2510f84fa719831c1f6d175c94c3d853573..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6364 zcmd5=2{=_*9KR1`i3o3)ku_x*N|uP^S&}RnTjF74eUf_0(uS;sh%8xNS&H6}YLI!A zlFA-Y^E5`Hh#r!Xib>76_buO3`aF~7>;HZ4o&UY}cmC&h{>wS%UI>Dq;uHekOEHPm zaH7Dy3@wgFUYG`-UDZmhks7jOnR@ea01;}eT;^4^RkBt#;=Rkq*fhh~OEnXj=0<{% z!zyPjbq6x#`Hqy|!X($7c&2bXo&1LL@{e`g#=mZQ>mpU~w2zc(3T!}b`FFO!Ef5s^ zN0e#i#>Nn=T^}wRUa+1?$K4*mzw-W)c^z|*()hWsB$R?THS=V>owRn z9HpiC0_|`33#40TUbknhvyryYa~*~Db!s0USvI~a?61@#`HfstWvd?CHX?W!(v#+m zydPOv>LF(%xOQJrNa6O8H?6wo$B%Y3)mkrXS@QD}fl-69UhRLfRMfAoyS4x<81$lg!^0an3#3SBB*cP=6lij|j1IHh1^!R~if00aFUfOU(fU2-n zL(1|-HL{|8oQz2?C$_hO$_avIixt2v06#VuAD2F4tC^hAWk?iqwN2{WB*Y_g#yy{~ zWQPH{=S+-w4Ft&vKth{w5Nb;cy(7@##2j1$mOJFl2|x_u0WiQ<1cM1!NKJRwXUUWGk1c3oMiPH4q=#bKSC1m7h$ z_Ia6VshY%JF0v!Y4El(1NB;1%ZO!28fkS<~sT!OGX(Kg6gHnA<`F*0WKMs_2I})pWK>pi3{J-A*q(@uSl-2o;kH^5QkXGy8*Chg>Jq#d{UC?}XWr zgEc+9(VYUs#Wqo#($SH2y&~%tXu{mtCPxp!Ef5r97vy{NijV`=!S#B7prf0sT%IDb!#pus(nP8HnEi11*vc2ly0teDIq|;QPok zfsi&|B`r0Rh?U_IZ;S2AkkiJN2ZRYFi+$9x8 zk>$e-|24i@uq7THC%s3k!(W8*5oKoj(BrCcVe6xt@|Km+rfCqghy<}K#z5?W2k1Vc zPl~B!r|Ga=SlDbA^&!ga_Nn+a>%(9LiG!Vuks*A+C4LH1zCHT*`W(lmH@OGNb=Usp z5~(_+y^I(g+^uT55yk+SmoYcknjpqjyx;#JNG@=VV)6S@)zpYMZR~}K2TiB9mv2ZM zl&TQAhk)j3Ob3Ilh`D4h%!||yq|i!-8_rfA?!?H{iH5bda7Zadrf>28%dn0%CW;yl z2qP;SBe460LQ1Tw{oT~UKp}lGqF|*`6MtB&aGhIMcM|$Ci9aPLQruV4u=#*8A)$*r zzV^COP$`E`bjEFK$A!QiQacBR%*(E51avgrMYn8<4{vREQS|TYdR}4WoBxL^2Vp<0 zcFqC({ML@Uk6!W%%~j5|!xphtg*B0eHs%}d@(_FalcGu`g-gJA(`pCd0%~WG(2imr zcdJbAY$D%aSb|w~(l(4uF}^QO-GMXl!ob?yFR*SphsK;KLk;!vdATe7iYnCKrNx?_ z*{WWDEntXIJCupgr-~5-m+X_7SJ<5h$5Q2SMHIa7ptth)J7>MA16pNCZK-Q=g__Bz zreI6A`m&mJ0>V3oqF-JK)q(Vuasz$~;!f@BSC_HS`G>Hy)30g)_CjgM@yE&(&fVM$IRLiVz`sp4%gBJJC#$~#}q|TWWoVSeih2^s?Qy<2NK$(e% z*ho%h&d=g$JzBiHSf%1bv!04{Ik%Rhq&6oR$I&tBfdHJjX!{1^Tm`N_&}{R4L8q^e zqjV0eoV`waE!3x-@AiX!@ZQD{CjLw+2&{9{&X!)5xi zRwee@!|=B*AS~7KLn;=6W__0gK<$CB*Pv$L_sRLHV`O|#$4D*!yVGLB8mEK2-k sb^M)h`x<}!A9YNRD=T$8*E*XvcNXfn{`!c_f3IU!zj@4|j_I}cFGeO2{{R30 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410294 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410294 deleted file mode 100644 index b912a29328c3983d258ddb6e5eb1c132bb796062..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3916 zcmZQzU|_iGsy=VK3s;ik9qC)ABJ<|YUKioLYQ-ZiHU6NgmmV=PKqbPfC(q&iC@nXo zafQI885S(}(i~1^<{#9#&}^!5Rq2G!SG~V=y}O#{%d5Hi2`pDFFjVYzbzUj-pqB zW1tcTmiU`DX2|@J+WmK(XT-<57Thfn8k4!pS0}zH6>9Nxo^yW2v}r=qlI-e^UplfU z!EL%L^NQ~0F>J!uE$mWOl&P^V=bN@GXxH3DT9R|srY?K^#dJn}T~Wk6Z6&uCvu&bs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA09b%E9pl(gy;-_$&cZATf@D;sPr}69ZEyA4oyezO=nu{wBayGn}(7nQ@1`rtPuG z&#acNIX*++$@%-sGHw9XF*%0#Mh1a&KtcMcYsnR}_)2@X{>s;z9L3>ws>I@Td4_<6 z@j9)Ui?4kKDU&FWYJe(dgt(Kz;dT1rSCae695Rm{+2`4rSh;+0-a4)OeD-HJj8+wP z9^&FlEZ%+Il38Q&+)X`9+||qM4Q2FV&rNw~AivzaT74Bi&^&OMc(CtCeVLh?k$h;Q z#~uU6+L)uaFUW~*+8~;=SZ2Cp%nJs_wgtd+0ZIp8^)Pn;X>j-u)X%`c22va1Z3xzy z@N1gvV=b#Q^`TeG%~R7wZwsv83vOXoY;6vGEN;VU&aiRO9z9@8KmjAz4ZyrnwQ5g= z+cK5XM#rLKFB5%!8w400$mX0|7IAT7w_RR{<-yh0HYwC-%~}V9WX2V>;n@C{$3bqFJ(~)mK!6c! zF3=CNv@N8WXVg2h7BTpm^;Y>bFLANm*IW2Szg8rs&~UfVjN_6wq6?SamwUET&8un| z&+c-jw-@{(GxzjOQ|&t$#0oTv`7GPA*{)Vg3p^}%kJcZ z4~Yp^ft+qYf}s4!0J9&Mufo85kX~T<17#DDS3z##`a)wjf!q!YufgUvO2TU)&|lPu zLvWZN)pg+L^Pha#%9gio;_Rb>3iDPue!ls~;7wQKU&)wt3BIjYPc4PSF|e$K09cv< zl@l-k3v+lHC8C^Rkh)Yb16o$W%!HYToG>xufQraUqr|z%vxCNN!kR`0iQ7=pD2Z-D zj}vm^5Iv28;vZH9f#ksHfe5z|Ux&d`9ilEnPII8L7haYSVJ|RU!_yG$!h|w6A^VS7 z@x+k!V%GGIzjn*AqeRP#b#9AE&;6y@`|$0q2Uq^})vud%6B5iARQI7>JGHQHUf;8Yj;D10R5C0A98s+kwS=tofS;_E6#v3}+(=ATi-S zMNh}b`4PSE1d>C^GbH*Q!+s_rklVv_78P`ZVeEkw6d Pk@UcA1TwHW1SSsvc0i_Y diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410295 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410295 deleted file mode 100644 index 39f7e84f459fc13cb72b4ee5856c1a84e752056c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4732 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410301 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410301 deleted file mode 100644 index 58e0e480a0a106ab622a59030312fadd759a506f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3840 zcmZQzU|`^Ob6b9I%53w6ArF}j${pJva(Axxyp6)C`PrWe{G+}J0hI_>mofWww?C~7 z&G=<~%bD?Ot;vr+cNXsMz4+I8t?O+2gv$Yv#XV0PH_mPl&Qam0`d|9#q-$kDh^FWV zIY#EKDzQK_7?Kv9sRPkKzz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}R|F{X?uU+PM^w0DW2w>A4_ z+lt$UYvXx;n4RuDWAh?Vv(|~F>0W9in}=P&?45q@xw1{>%VQk%E!zBJXP({a)O1wO z;*9(f6^Y4yY|VU@b-_D78EW)Rbl11kZ$GIp&4Bmzx|p%1>|Dp;}`T9 z8$c`wIF$jUQy6@_9YFN6wfEF4cDi_l{+m;}^UP|a&1p}9i zNDByn;tw2$1obm8uz}QucpHNBF(mw&Ci_^+>P&s;)pGOHbkW-aEBJz2*cDrwLm!LV zu$lvvh;Q*;&tvExx+rTG3|S zQ))UZEganUecr0Re9^ZgITNUVe}n7>Vh{k)60X_ip%v*-eul1)0lNR%fc1b+@o4@U{-rj`)Ob@PI4c@rJ;OECrk5zfPLFz-ijX>%d2)YI6 z<`C{DV6{Mk5$rx-SR7h%ZN;IoS$$qSB^48?RE?u9WQyt9^B?kR(vRJNhlSy5N9GwD6wgd!QO$m(@-2mv+gYj8 zM=8%U@8n6-3BsTVOJNWYJI%nLaT8=e%po8;Y0=rGP%+Me;sPsUV-s^zhys{8FrDHb z_>`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*f=EldHSK>rIa0a646E@wz-iz`}T)*38A%K7-US{rb=VqJe-B>Q;wTo9etx((b217!|gN z|G2&Hvf>xL`8QYEyFbV?k`{YueD30|c}cAorPs+YGSo|6_-ptk;+v7!GuEwkXI*19 zZ3Lwc=Emb^l~3=HE|v83f4g?3Ms=pur`HRzwGF2FFVb7DeIg8OBPd)T0L8CRF|awn zJOfHYU_eAXL;QoJ2c{Q9!z@7(V+55;Fg}sy%OJZ6rWZtGF(2dym_KM~4<-J2TkXZuHrFo( za`|(B6=9aopf(5$z{30&On`_s41?5#w>7}B0@Mxy=|@S6NE{?4%yh7NI0wjpl{;Yj zf&R;fN}_~0k#3Tpv74}_(Lv%iO2P{i2Pkoc#6e=hqYV@e$N(0H=xG$B7g-K$77^h^ zO8Xe*4p=)G*}crL`V6Fq2zx>48kUA=7bZw;6*Am}681=*MPkB&1ZQ4Dk0-bW06{Xg AOaK4? diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410302 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410302 deleted file mode 100644 index 1af5586d0a70fc8ad5eab7bf6ab756218346c048..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5084 zcmZQzU|`rT@>?jl?o58z{v8)4Z`9KJTfF>xmHvsa|Ce7quUxf68K^{<+s$qHy(zQJ z7lu4!Iw*H+gUH>v-t#sJr{-sWD)5i`CX^y_VGFByU)Pa`%r&cuy&Rj4#-915q~v|W zS3)9iZ+tM&42GmdXPQAY5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^@GDsE<<);JozwRxa}~|u5Y*lw`s!D{LRI?Q3l-e6d00YbN6)b_o605Q_3+U0 zPkLK_x-yzt>*z?`u(>5_kolkaSHm2Ef`~`=x}+BDpMKt%Bhb<7!Qw}?LKUXr>)S-< zTMEtDT=M62iKGLg!_QgG!oRDO-G1yA{N?vvOZ}PH@7;0?qAmY;A8gyaJO$)p=HnOi znFT;B2so7iq*EAtyd6OFv$glsEOxqhh5nmUy7SCxqs?hgf{T}J|5{_|cK@0A!NBP} zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!R!lENS$cA9}f z;}(z&jyI4#5J*~db`_8UiE$Pb7g!k^o0x+%00B%Lm`?Eze9BZF$9JsSQ)$P&tDY(I z0}kK!vk0-;Co$#ozGh#bdZvKTpa36NuwF2ce(G9s#Vo$k-mSm#^(IGgxScAocwL?$ zU}3yYYv$r>pFxV4lA>T57@=-;n5-4$fwQb+h|NCzCX$Ufdj0G9mBI(Jw>EF?*PL>TC z*L!XkG4{<}8qWIZlNndkhGY9*9%o=|TL4TO-+)R%dSC$LU$CDE>SthJ1E~%1HUjJA z=wsnzXFV^r`09>pMVom~sp+h=aB$!Ed8_*JMcSo4Q|pZ=PjAIndv z^ahP1HgQ}0LW&!5y=T^I+i$wI7&1VFASm zD$il+h;x(b9~!#}5UiA%6qM8qX2 zWi8B6ure3fy`XeWZamR0Oek{`DE+|!l4p^aaA_2^KvCqlKyKqPoLO?s_*4#Cc=_GC zb-T9D^N2g8;n$+Vwng2qSFloa?{}z)DgS{0$cEX)2;}~P%E9slxV{I85m9f5X>@iu z0gVIIRV_d*yil{i6wDGJ2Z;$+fy-}T`+;fD2dWY!Ul8Y}&U-X=6Ugnb@Pen$LE<(_ z!VA>iphg^`mm}b)JYzd;=G+oz{#aA_#ap`9_4Cb|ta4z}=9n1oyb`yYEpwppjV+DB z!Wb6jf1zrLX;U+>uV23h+OEC{)W-_b3!;${CK3~_0#_OZ+Yd~mbx@TkVNOIlALOP8 z8oLQ=8XY8Vqa?gQjY(?6A=Wg?E`OF|-%EbZu!;oE-SdR@Ykhk)^crhTi UABpbgA^8IyLqG<$h=a)k05VXT&Hw-a diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410303 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410303 deleted file mode 100644 index 2f29f667a7542511a674c0ed5c1a57b2a92688e2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6072 zcmd5=3pkY98ve&+qawNF5*5WkF&XaDv?uaOBs?| zN0UnrAgI=jnT%nf0ypf9qTC_kHib)|x>O z1j(ur+sWCv=@+YIW4348f9fDFKh5QIp7D6`RIDmdM$-+L$QH}JlW~lw^LM^k(vWmj zM{hhZYiK|Dp7TWWv;MH0OG~1jzI7O-4<=P^8y3`n{*RpH5MYYK6W*_Iwb%|kEsNA6+sE8J6GD-j@G@Gv68}T*6 zYuQR;QdckE&gk@w>@zbgjc)eRw7Ky_-#Yv`>A|Ao_um-SYo`>tQaP>dCc?{)Qn)#s zJq7b9RPj?+s}#zbZ%5g;xSqSYD#-re2CeL0Z@f%g;gz36S#G`??8`!PPIOU8XcYTX}pcY}cmh}@ZjAZizZj@Av%g97TA#nbR{Nzf-THu6Tr zH3mu!DXDt0WmTl3q=Ic|GV2VM7_WM4d#pXN{1HVLSXG!kled7@0^lIgH=w3Sot4Zs zBl#1%$JnmOmA&h=8&z_)c!k~ajdvP2YP9|z!@Si|Ofbgj;F!VG=Qj1V zDITH~nY$eHpr6)^XPu*m-MF?}xN=2>C0X}@VXksNS;XOPeSvbcQH2om)``FJU8^Iq zhF_$82XLbGpuN3cb|y-L;or(KrS!;2__{{O&Kc7y-Bx}x`N$>(dxR954mkN9#>I~l zHc&_VpPi2&a4nM4#+7g$;yIe4+M`3Qi)6HfP`tOxcS>hVIUW{MI}*d_Q7{sv022kv z-~rSYe34KL;Jtj9o|)DtmowXUWtoC|q5U7H0z*^QNd%r3cbMl_-4ayJb#NX!?xjLy zxmTVTGJlYqU3IQdZarChV4mllS-Z)2yv$AZzX^qSNL3xMQZM1QSTTR5-+pXo;6$xZ zJoTy~#ukkiA+Zsmp;)*+1_ZW%e;J?=d1Plgf6XmBZf|3wlHUFWyHo;~8Xq3qVbN4} z(As=)Dh=4+`T6X6{575$H-|i@8*95rM0k-(e$Y0qO6sF#=2oXl_da;c@@WS?g-o2R z%p8D%$@ZF7uh276L5b{9f4wAEar2se2ET{+NE@uq*ZJ4Q)>ptzaqq#0m^lfJ59D%@ z!2nY^mZhp|{YvQQy$f1#uQutI>+i|&sWhL%&~_Q&HhGl$-0^VjHxkLKa$}pC)9eG= zBD0@d%PQE_q+cfm9HQKbVV}G>S3X{`Z`}WSvtIcHx=>eZi{sUj6(fT$do<=G@VPSz z?1eE9pv80Z+4&!E=Mpj)=`&s#MIBSo~LV`09 z>G`z?qSeWd6Er;8no(Z}H0VnrATWTsdi5H8L*64e1_f;e;ENEQ;Xt?9z?%fW1>gZ9 zl%GlC&mi%!(he+LpJZ+``XY#??|Lld@6`@#85||+{7{2Gojkdvbc_FR8@w;2*f!=Z zTpX-YaXG49T}DPRuXm)=>i(U6wKubXKhcM3vg57id*VZHzN4}nQ@zZeOKFy{RWmZh z@>fcV)0+5eGADol9gh`sAupi7+zRve7<52@9L(2>i{k=!@I5^OCc$$67iFAMO_d&1Qqkn+i&pR|2T@S58?~sKbw?u0WmqvFs3Ov`i)@wl6=84Y*MWV z9fFEi4d#I;yfcu$rw}*_=MtZxz68h@ey0-PT*Po-=OYm>+tkS1L7t+dILK;EAMs0 z{^?-^ZGe2pQAuzg`;eord8PvWR#vdw5#q`J-JSvF@p#5}Kp-YT#k_y={X^FW9JR;Y z5cUKCe!l}u!Qi|^|4W!DOjC078^Jb-qtnE6@hjDEN{)&?vaXdX&W$wglAkxLH}jWY zZKKFCs_he3+%n~iq}-43>n+HA4C5>!!2b}4YP~lC&N_S!&Oo3{LCi_{6U;v|Z5sZk z;_?<_9|B)~ppS|-4urA;ZUfYl2 gCJYc%Z23>_Zy)D`u)qBum?o`F=n&LtW5Or=7q+g*ga7~l diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410304 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410304 deleted file mode 100644 index 4e19c3272092258c323611a50a756291f76dbdd1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6372 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 Db2NWH diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410308 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410308 deleted file mode 100644 index 5f7e879ed1c63c23d81f74bc412300195c22bec4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3224 zcmZQzU|{&``Mh}2{^qSG9F=;eC@p^?y>PwCzx@qsxR*Kwdso|E2PzR}zuC%j>Bd@3 zeWM7&EmP*mU%1NQymqDiM(;Bd-U*doN?xQL;P63CXnR9LtmYq)gfDAmDIBbh`{?!c z+wD(x`R)RZU|>jEbY?M_!N9->qF1P#mDn@4l+9OjR&?~5CDw;m=^JHQh}!n(&)#}E z_k%G|i9=De%GvIqhi5`XIoBRC+#XT<*JA19|402h-hEqhVh58FSBS&53x`BrT5_&m zVW)Oedg(dlRUyyb=A0^4uqd@>VXM5L=V|{h_g(L-;8wpaI=j1yrwCV<#8d_N?evt= zersY>=MlktyL^&&sPvufkNLZT-ke=`;HluzN1i3hDW&0|45F308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9TOBYG;f`>m|wI@;@RK)ZI|`-E(~CLaP4aF#vKMfKYn_w%G1rj*tUQ{wB;92 zJqyfyAPtH?a2yiU&%nR~QXArJ1lG>c$HK|ZdR}bt)g9N0HuIiR(^+ZZ;J)wkR`unJ zz9q?-fE57=>shBjOpqO1AO;d(1iK5EHeSDbruUZXm-)0#z7L$+EGK^dzU_Q{+1&|S zQm1^C%KLHUV71*OEsGxoF$GRj+cZNn;_qc1nqfBok;<|+P2#uOnSo}4!hyl?wIlP4 z4T@)`v8ZOhQu&s`$?dGv>7$hAnRoJ}=>%azppp~@0kP8z3>puBY_Pw9G#Df;Ity|r zNQ|?fxWLNT*w_T>379%Co#G$(l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&AveW zOaY-m0Y0u^W5GoFscXph4DJAnTxM|1}S28w>|(? z40Hq3tqv_73$(+vWoxaPBLyGk{qTMmv2k@!5NEOUG>yNuUh8f>Q=Z49wJ>sbLCNwT z*Gj+U3eD*E`7GyiMB(yG1-}P-LE+65H)Xm*s=yPzemASjY+r0bMXXnM-pyTaoGron zf!82CA8KdHe;@#|;eG{j|3T$IVap86KcH|110uqifqng2SXkc&YGQ?I1ye9ffE*+y zTm?8T;XIJtAON)=SoX|?$}xiSG?YzD+=JZ20F8fIxe1mZLE$yn+(t=wJphI?HR2E) zCP?)MIQrUm`@hMu)0)qF;?UGBD+7O*t_bEiyu@pctXM+al09@AO#Yb32irkq(Fe!@B-BnaQ_nHCK{9nz_@Dp w3v@HsA4Ir;l(L8^g!>5t!^TB>^p1kV1u58o_CfqkFME;gW`LHDU`HVn003n$u>b%7 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410309 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410309 deleted file mode 100644 index 852d74edd7726191f2756cea0c0aeebdae3c4949..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2424 zcmZQzU|>*QCz<$+C7vr~_v_u0BqmLhzR$s5UHEiPjn2Jw#!o&z1u7B#>-oHR(*EYH zCmfY}rYJ3cBE4|E%D?>$Yq*y>1$$T9U+=zp|Hc1@558VDFc#MPqAn@IuRJ#*P-KYC#*WcL35i_3HL*!Hj9=p--x zCtU`p#9`6d9&JCBGmD!Y-d3m-?w)g@R#H1tQOk6p-PQK0rWLnlO;|XG`QMq?>H0hS zn0E(c@0+y2Na2Z(`xNN|LGj#{%!*g);%8{xOAwcrF6@0WXZ58Y=Au(_goJXH|H-7Pn?wxz6n<)1C(|IbXpZ(%!AV^7ST1ak!l-v3OmcAz)#=PHX1k zYo9?%B?_b(Kr|3ALfpyVuyJS0yFPit{J&z0-oA-{vGZR%>zSD7?-uTHSsR{;Zp>TI zeSD>>bN;lKyMBsn3gvnh(Y=gkZq&X>Yh)U0vQ7M%fo6fig~9N(BlC<6if5*=sAj)X z`If@T?X1-4qm<{Fck-m^1Ytv7`3KL^vV-o|Q08|W4 zr}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3j`1oE=*#4 z2cXIsp>B29UK8&%Va@03A&N?6;R(+!_|NKCyF;PeR79ijPg%zA_r6i(vA?EUC~=$k zx&5-eI448pS-EJ~ioUXnRV-icodu_rMN{~ag}q*?C{CL-hwIOuIdkSNxe+|`fy_kR zVynHgm_hCZft3G10Hk4I!U*L41Is|dmKm6zSfG4j!kK}6{aOZSSU&*jV}-i=lFipgay!M?~BM-Lz&7jok#xpP=v>Y;L0@yg>N{?jKN? zlNpC#Gmz>NaP+Ned(3)4rCPP>>xO3vKUCa`jE%R4HszWv{JkkTuJ&30SP}L#`U@%t z3U^?bxBP(ei6|c##AST;T!EI6pftq;(+i@>^B=^1p#M^#W}$>R;W8WSrUDwf32Pc1 XByOW5yg>CF72*(*Z_(2zG(H&sqyA|E diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410310 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410310 deleted file mode 100644 index 19ceff5629979628a8c0c21c0c5489f3d5b3816c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 zcmZQzU|`^O?H8;g z`}OWg5|gG$-{;`3E_^ztM(5r-<0l`V@+SVizCEKo__@F&p4Kam4lh0VWBM0W$I!^d zY_s0*2c-ecU`SeYW-W*Y0!9$ALglQ)p1GxLzM8Y5qt`64KDEF3{(SvF6ZiP9GDa*7LZL5uXpS@(Eo00j;)O`^PoV^*=^|Ns$|NJBR z?CZ{Z2d(}&cmG}{#MM=Pef?2pDdvvsob%PkCttOmc`rRVS(It<%WaWU`u8&?>9y?j zEzIcfjkqUtphLujv+79~$H$&CpVyil6o2T-7j;Vc*o@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3Uzw-4aM{&5FDzSK7o*`gi zyiRN8;%lG5ie^k}fa+j`y4B&=Qtqu{%h$>!#y=0>&d>ZM8XJ9R(=hCUm%KyGj zcfJ4Qf<;{PR`*k-$1c695xBYOSofp<+c!p5o$b-7kmLiJ2M(80-&n)CMY|M>rEeCB zzx>bW?R6(*x7)G{_YP_J?`id#3d}V-7?`!%7??}zfqGEF1?nac1qx>n;Dt~OOd;G) zz)ZsCgOxFv*@27)o6i^;?BWdKaLCSc*pk&c$!>ns>2C{at{&fei$i?>JS*iDt>yQP zyxc)*fPgA?x`udw4O9D5^{-65)J$vjpG`(nn!2o_*Z;hJdU4hk*S=Q@+k`KH6;a8~ zNT&#}aTC)V-cR|rqi#>+f!M%*XWEpGOVnRD$D*LqJT0v7hVyZ#os5w9U~o9eWE^(x zrI)^@;)L{R{+}d@OykY;bGJu}>IYqJ`di{XW3>xM&B50e(iamG(h?1pdmLq1a>Ls8 zrB!$Pdb9WF)ForD!>OqNnU>SD|D#iiI6NV-RrbueQYG2x3E`JkXs~OH&m&~}sUeos2?r;q8jSK=ZV1StXAWLSrHZX(dcx_Y zH}^kijdh$9&sEv+bMuXu-phMtKX8&Tmsw+@_r>s1oB5jE-l;-H&1r>w;j*lu?wmmL zn0wF5uabAvOMY2W!pg3(;IvLA(^RQzVKV|wwp=OQ*9r4~%6}jLs)z9zf!u#k_khBc z8CaIGLixm$I}GgW*UW*IJr9BU;Cex3z$`&!f@Ht|9FH&#kcQ+#sQth=S^iEf_jpj#Cv(O%341`;+RnfnnvN}GEy4l#leQf1xybEF=hAS)bE+l`k@YJHz*&$ z0hwtRY(LQ7bD;*I#07C~`esXGH(^b?gT!r=gcqn1rbZlMO}h`Qau_Ys^S&^g`l5I;8sFH;*I!UMSQ>@rFT!;ggSd>(o&sn+wghMn57aC$ nMP?cW+mEY!CDKhiGzZR*J}7(Jz(X&^x@VCC;7vhL)~SL1XS;9V!33~ z4OHS_pZqZ7frjt=8}3g`y!cn7i+_y?`uFI_4#hR|_-u1z_O3q|yLXvb@lRJ9#efYf zm>juYD84YhFq`#xN@!j2PBzBV5t>o&7j3_@qNUzja2x04%W)@^pEi}BHi@p-ye0M4 zg#8Qu@AP~Bv`0d_?uL4vjz;upp0GDX4M%P}&su%>!Y6qK(N=ce2irC;PXW1@`S=BW zizy%$1f0qN(kTo+-VPx8+1h(*7CT+MLjTPv-FarU(dM)#!NtqAf32}}yZ_AmVBmC~ z+58W;cFU_TH2Jws|5U=WEoJR1|7CeAjt}a6-t0+n&N)N=uR#%@NFTy82*Ao6k`O26X`jVZRIp z#;|2jeIRXM0F2MmKnBPxj)LL>D?<|lQz#!K502xPwwKG_1lVeZbJis@?y%RiJvRB7 z)zUS`X9zqwe}7rV4WK$E#}MDhAdn6yNI!KgxndSyY46rw`FfM1INVN^SiCOJ5U?;_ zr!{l&wa*}B5(QEXQ00secQQDHy;>o#fq~Dcvp{ZI%Xv;I!7~E;_(ImpXfM8@){{JW z4_iCig5>oZTcd@4UXpe)Hb38gW3HvpwkMHSDoVDCd}Rij$Jl*>@v-QU8#`)j)2|h4 zXbFqu)OS8QWv0Q~ebf0+LYWW5PIZC*Kmbw?a|4k33(5wCD>E?NutE7mgfWA-jL#k( zXgDtg>f?dw1<^1|P?>NQ;CO`dKz4%w)P7(bt%b@lg3>aSO{ANq{GqX%KyHVH*I;uS VCE*3iE7XWXaF`&Ko3Q8u(*TC0pmYEL diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410312 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410312 deleted file mode 100644 index 1cb1a3af6ca1d1bf2fb81a0e29aed4b66903ebd8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1468 zcmZQzU|{$c{${i6nqNzI>NccYyUEJQsvwV$1pKXWs%5~xJ@!vVQ@QuY~5 z3xqfovu?iJQL`&pbW3{G(naCh!x{yT)!$9hel(xSWLtslkE>b^fl9MZ+6qQm%XLlR z`gm)-@~SyNGZ>N|tPii!H_EgSwe8WLz4dhN z2V>sKK=`)$XiiBW+&bH5)+Tr>CNTk)cbD+R$FE9$FWnu`B< z8w^{sq{3g<^@t)442dh^di7Pn?wxz6n<)1C(|Ibk#valkYmO5Kai0aNARuOKC~+qB(*&PFEi+Y4bVCz@RR`AncdH zz!$GMrzV;cUOrk)l0jiu4;!XyKxea@BV|NLfc`>gOu#@J@T*}_ z#so{2rD-iM?QY$)y65P;PIu4Usdtw0=G=ew<@|i}@`m@^K=T++%ss>YV4=TB{Vd%$ z`2};g$Omu#JRv)7*(LqdEcWWeM2Ma00{?*kq#ou5AomxP4GLFgV7g(4@`(sz25}jm zDSx2hybP$12c{Q9!z@8%!c~Cd5zYhI4FXX6fpN46D#r*)%TP9vZpwW_V>f}^4hyfr X<~B;g3zS!=5r^O~K`J+4(FdjhP*|)* diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410313 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410313 deleted file mode 100644 index ed0b76bf6a6148946df9d348db2d77b1b29b5ddd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 516 zcmZQzU|{&~wvKHN39VfBaYvD(kh%AdIzSo!(NbmcVxhqtwA8=hXHKH)fbr2$jOg!a!K z7b=u|z1mIz&0t7cbY>rj1_DM9u{Bm;)9zXgzpDqV+?PJwI^iULcyp+`%#ncVeN8Nv zY`TF;9JFWLoPK0s=_c)Um)}0snmpr=rup~2J8DdiM0UlUuAkG`^kx5Pan?m=x%F;u z@BGsu_Vm%8Bw@bn^6h7D)R;tHV7_mkID=)S{%wbFN!=s1*F9d9cijovR7a#5JRBQc?Qu|PTmLGHZM;BxtRI* z1^xIXAQl9i$^p_T3_jitAo|(bdukRtUA#j7%_-e^X0_4gv?syE%eH^5v2?rt%=}>B zbe`G#54U#9t1mS9xlaF7!m}-9?JNImDgS@YLU(?_%_Q^i9t{(n-k+ZsQvUr-4T@>t zl07{qu|?To_O;@h8T{og53i>_Tcy;saO#_;5+jkolap0X8DG^3?^5!3%pU!C8^lcv M420qerVd5}09IP%l>h($ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410314 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410314 deleted file mode 100644 index 446152e4b7e0941b4142e1c7abde4bd7d6fa1c44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1592 zcmZQzU|^6;oqD)KH>#=rziHduUObiRF?_ zH&BT~dF!fj)y)Tf7G7yTzF09&B3@eOPX3-Re7qN?`dOK8{nIJ5EtLIaLdsdOLMxpW z#T*l+b;&;$`e}A^*FElc?-sBnWuO0kf5Ae9fEizO>=tzfKhCb$aBH8c)|HfVR*r7$ zTiVxfMDI`(x_+xq^oacVuVM0){&%K0dHgqY(wkf2QX0-6+RDZIVB6;9DIga!AHSfV zzyV@Gz^NP{oxmt-YsavD3vX^xvG)oo7}XZBBaa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K)5;m-t8U!XCuH8%MFvIUat&TL;wRjn^5#&k755Q>$aaptYx(K4VCpwGijGB7AE z0kXmI2GR!t!1#OwVZp_DfqceLZ-^*|>Wdu>lClX~g=GX9`O178gzPMoZH?~x_T1>* zd&gWCsA`|fD^YilY9idh7~l$4%5cV0D9uK6V(y=Ds*QP=BTT2Lh0KD4!R|{Rd@(;*^;|v;`y&21JCbxJPE$A7~se z25Mr4Y6Vj;OMo0CCR_zL4Z(RZy-@ps>7x@W#|X+tFm*(_X$Fnm1adnxyat`yC8%!WlDm<9k?p2yVy diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410315 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410315 deleted file mode 100644 index c57cbb712d0ab4350a9924868b854bb432a2192a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1724 zcmZQzU|=v43EsNCTQby|?ZLZSAAI{|pFcYAKv!atkjO`sYn4)Ofl7oWQ>Py8(2Z)U z|8LrMH#sZN+Q4ec9VaJuyLlRS!osDw&VRJnwQa)}#q|1X7Z-jCJF(!K^@gQa6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^P+oUs>4BA-nI3w`-P!Gte&+b$Jlzz&AIy{Yw6%Kjd|>BFS+%VD^N!a3ja#2A zEHD1wo3rwFl6UbPuh6MS6&5ERMYHR?K~A3;YL33Kg(k`w;R_i zoO->O&s+Jd#g<)JXQk71UTU4vsb^oX@u7+81MBZS8~#sb5N+k=eXwow@)VGZnU7!4 z&prTRLBOdTAf3YC zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmQh(|jYgo5vmtwK>%|h{){~5i#?xgH?TXx~zAr1dMtzJ_Z7`S&ZFl)6j zFqbv}m4o9Aqz?@+L;1W=nkj_)37ARPe6TVmGrM{a17tp9Xt0Yjh{GW}&tXee>m{Gt;)B7V`}f?vdC?_{LOYK;ty%uMRWNGyftyvD3%!*iUiykW-C*tV z%I_vu$tRYE9ZmM8A3t$Lwf(y$c=)A&cGT4yp^HG_#n`Q46(8~UP_`78RHgIE`ei|k zT$SObRmD?M)lMG#A~O+UC-;v3KmcUJ;}^*N2XzlG4mK!VF$41r8&n+;X^eqkaq2f) zXgUKW1WuS<5RH`RkeF~4;B*YvG3jz~>Z?{7y9wlWSa=OK Yw^0&a4M2ZUBM!k~f>dw7q7O_10A)V*rT_o{ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410316 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410316 deleted file mode 100644 index 9d49ab0bb2ba1603a841ec3e064e15d008af706d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2760 zcmZQzU|=Zwv*45Sb32BI59?#4rPW$@tY^0K$xpMdpFhPx_~Fb5pb}v-k>IWCyCp-d z*&e*R^})Aa_W7d&4|F9a35k4ExmGFlHaf*^HIM7_{Q13R_u`Xza$Z#=zC2aKf79;R>H#bFr4P4GILRO09O^D}B%pd<6U!x= zZlDr}LXl)~@7a6ZuQ>E{MyhYBnQ1Wdyu(wzEcSO7q^ujaW;jl~CH>)o!=V!!A_Kn| zIriPTcKL~~^)v6+qHoqe-*=cT-fxW+C(B>|gJy;6cFPyfv=^Xo+ z2bqku&2eY@YK-TYmLD_Uv+wM=@F`Py9N)2OPo*9Au6m}-4>)|^ z&mzQXpTv~U`5)1rAKoVAR`vezRi9Zqlj5HD?mT{X5g*VjP}nd;W^5^Hd->$@t(fE- ztAF~>_J1dAl^OV*92mG28-YqE0Wr+KKqd+RiG$??YAfGdLZ{&R+wH84YLH530DD*b2txVHwZxO2bNoF zp>m9%@&L*v(oL(c(AZ5Nx5L6~u(^$r@B)=L)QCfHm>|_X;OP7M+akwzR;<>Im?K-b zW^d&E{&nqpmpO_Ff6Fz?Pv{CygT^tq)CaPWk`Gh{9_G2%VIl;}44^`5%at0?a$_P) zAB;w_1c?cgg_KKh9z2ag>`z)0bQ>y%66VCYX~hv5y9sL=9VBj}B)mXnKMFvKI3y-q z39fPmJ&l6&g32IJ83;FrU>&mV<}5viAW@*c4ZtKj0d6al0XGOCf#P=}%x`+ynMI2E WpfVI*CJ|k?A?ZOl6?-Ox$pZj?M8Dbq diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410317 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410317 deleted file mode 100644 index c3b6f60dfb3f9ff74087c840ab72d173427d1cb3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmZQzU|?udT<(2rXV{^#`c3`Ew#^PO*~n9zlbBh#>cdMr1MQ>)pc3J-KMOuNKeuCe z_^>`!T3W4j$9iTvpZqlY`uS5Fgdfg~XxLZkR_?=pLuuWr05SQ~#@}{(b(-kC*tN<` zg`4k`YBtaehNMMjE`w+wU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qx#|A(a!k+=3KEa(Y({le8#T9u>y+nUG%6UIQ1Y4L@B)*lZz`&}bYiE~vUH`SgUw>M!B4o?At3oLm3l%*v?@qOH8V54LSyo&s_)^YIJ% zId4EL2so7kq*EAtyd6OFv$glsEOxqhh5nmUy7SCxqs?hgf{T}J|5{_|cK@0A!NBP} zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5H=PnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Gg#4#X$?>vj8L~a6gsTGaBN+OYhx9oaEin0>V~&ZU5=c(xZv4o-pb~X z7ipa(M#eSY_B->G*`B%(62JAl&i9OmXS&VQzMg32__2foXda`C^NTf0TxMUsR7Bc6gwCV#1k$ef{by z(6D|C)W-_b3!-6`pfceqz;OxZf$RnWsQtivcMdAY2ujaTHnDChps|}kZij`}U~?NK U;RVVs)QCfHm>`v%u;>HR0PZB6U;qFB diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410318 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410318 deleted file mode 100644 index 15993d3d8dd6afc929f50c37b1d43d942894f523..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4888 zcmZQzU|?wGJXU|q;Unu>ferudnB-#aP3Yl`(Uh9#-_@(|w^_CRl$$N7uZ*A1GkJXapy2CHnd@F&c zS##k|9tWTq3`vX5+yK!)zz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}a8no8_idnj2JWs2+C4S`e^8NC5ea!a#|K`4CO4!8Ws~^T7+RDfKVB6;9DIga!AHSfV zR|8@}z^NP{oxmt-YsavD3vX^xvG)oo7}XZBBaa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K)TfS3uSUhJ&&cCQuIJKyEh%-3Oo0z3eWy^{p6henOeTDFP_4H)7yCa?uXcltp$X>$9hVuZ=2(B8 za>Fo3LhbKkweune|Ms)AT>Kpt4RRaUFNUujnP+TJJTr|&HT#vyw-iopXQfUbr998P zlP66l2pa;`r7#GHon~OrcnV~r`Q_|?s2FEKaeQ)EEqaV5%MfT_Py>mW$zgC`Y7lZKq>o-Jw zw${Cmn)vw6r^UZqZqBX!aHxB$zbOCNWeShkbNpUZy1ryx;~?LtTFVVI4jeAsKOROL zGfAJdbKBeKbYaccjWb`Izqf6@W3O-26vL+lOBnc_92mG28-eO412Iat0QoQg5(mo( z)LzWiu`u>%(rc9azUsWl#Ti}s3?W4!m+ju?`W3->D3QzlCa zr)qpJc%1z7F#C;ZOlnTzKy~6CWiMdLnZRxVribh2Zufp!=X>qNV}41oUw8dxY-AI> zujBow*Rs!e`HynloGsz{X9MjjBX8#%cda=7OaJ@xz573JK2WgWN#EY(=UJg{a5%JU zV%*Q>I)(FWxx2pWaiz2HEAk!bugmT|yU=Y;zK(qF)DzRTo7$}8FPIaty@XM8yX=f@ zyRThZtSzqUmhR)l4s;ke{0PQ5W7`5?&}?O3`rZxHgA#tgJn{)B#&XBcST zP&l$Io*^;s#>tm$GCR^HO@msR@*fC*Y*;ul0=d7S zav*bOA~E>{J!P$@IO<+ zjbq2QzAY;Mdqv~;>l+7Nq(S2t+!_F~k&+Ko1|H_Q*I^1>L1hrA3+0qk%n?_yZ#vkpz&K z@Q@@W&w%LrE;_+KtfA z!`A-$2bBZ)9~2Jo`k#nC9|QaP)dkRg-xHvIR;XEE3Mm|rm~a*F@P>-O+J9jCfo+G& oP;r#7BhpPgGpqB zW1td;>l0GNCoeu}<6sc2c2RHgQ}xVwZ|-d~ypVYIrCL+O6T20gJpR4Ab;-dgVO{0% zSL@rKpRr`rcpq=Tw6fOtH0v|=Tdxh*s)##$xH;9;U5DelRfUiJWwB%4?*&e-{q})x z&!2Z|4$iN+yFgK$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V+LX-kopw=z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3ejION= zOy7He%E9pl(gy;-`1}r}Snl{ai$lvC;%0M(?o&DG-gu$N=Uj9CV1cg2>R61(u)RAw(L z^K2`=?Dx`S6^ZcZc<>WUt>mHlTUnaA`Y}b-+sNa34<#_bSy>CQAyZYJ4wv zoc#1K`;BQ#YEI$|{7w$Qe8vY^`*mJODkYe_wEUwWTj6<&8X^=+QUVdIbo z>!dyPHf=w=OHs4(#{K-oMQ3<-u&jP`L|5(0saXqMcK8|9fc(IG!(09KZ|TefY1@A( zWuJOIL4U%(m4{0+CDorjVE^O)H<&&<* zmfIbhYB;428pq&T49LcnW>C^7!F@z9G@?81^FxATdD>00ZLPMxvXv zRyM)n9m8HE0VF2ONsu}R&O?-a=-~wqLy%gc>lY+{AlZR6L-9FGHI=Vbb)US1&2j1b zeK#fI`8f0%c28of4{G!BsD2C8kFDPL2bF`BgP^(*42WoBFtD#*%>!*`JOye3wJYEN zDZr4JaA{oe3AP_sy+NFtR;{41n?P=dg%>>i4-&Vblouqr3Dj1kMjT?Me|WSrFaQ9l C1YjTl diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410320 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410320 deleted file mode 100644 index 4c6e183834de6057caafb72c4c6bab95834bce68..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4880 zcmZQzU|_hDs_!;8QB!GMoA#GKqAlw(?uxRk&AKmrOUaPGHK$`cP>Jv&lOwGu`8#r= zD;`d?5XeiZFnlCuQ7sdr)XwL*>-eiF%U<%@))l&c7i{#{IrX_sNXD-eFU8|dKh_z= zHLh%VwI65(L(-x%k3cjKFoKAyMVU8~0=|3Zvd@0>!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z)~T9%;i@iPAsruTksI{mxg4#%Rs|1#q(g%h z_2fn+r^6#1tNkUy3Ys^=a=RHm%I!`*wVjLcf%QTj8<*71WvfI#y?v*AV(F(>34!Y; zuUWSu+0XvVsnhF1*IkNqN?o<&o&n3fU#*fyc7B`vtUb7oL9|tX_rbQ!%TquuW7Pn?wxz6n<)1C(|Ibdg>NWI}}N9GwD6wgd!QO$m(@-2mv+gYj8M=8%U@8n6-3BrazB`FL7Vy77x zG@b+5;CKV+1A(MP=Qx2BNQ|?fxWLNT*u)&90SI8~z;ud#;8UjZIKE@mo=Q9JUG+?v zA8`1-pGAn(K8Y!x_ci+h)iVWz1_k)Ig7t!l^i$W8D`xSP_HO-^uQxf0!|haw#q076 z0Sn`GS~C}4`wUXVloSQizzB7#gVLv?#WAa+@&ru!bY`(`GgNqK%GDLs?(^!Ch(>1D zt}^eAG)LaD=Xa~`w{z#-G4TKQ_gU$u@ON|m+9|GXaeT%DG8SYg+eZ};?^ zz9yIzEq39$yM*pH*Lj&gy#l%UO&Iu{9Dr$qAEXqd9tx1z4Cxalrq5om?NvzFms1XJ zcOPg>`0w8Rud8Iwy{U`$e^7z=;n#--m|n2Cz%>73y6S@P7t3r7UvJv=Y^K-7^_!YL zzBcCi@St4OH#6tqkJXQM1`F}r(uiW_Z~i9RtRA+-;$+_IP1vdk3 z-SX5eZNaogsjOSackho}d;_RX+@tITOgR(SEkJ+Y^%PkaxTdSubHmc3qGfBH4=-nr zTYvW?+XY*lTlY(r`AxT!V>O$1jX7_5xe2FDo%qc#)7d90;RqAd4Gwks zd$}ANd_`|rIEU{%)t}ZJcS`XhpO$F8;e`oFixoRgE)Wxx_~|66q_2f=AQh zfCbN%$NP6qQ`^3V3+OO#_z_IEjBN{mL9>;C>3c6w4@&p}%ep^6F_t@i&SEA9{O&!u zcu`WXN;*fTSjD#GW2XD1T{T{A3Nsv_`oMY#+6T4crS0YNHvzVq;hc5Jj63W#ZI4ZU zX0>$9@fiY7&fi~_0SaFx#}H4KARq$H2HstMc|J z8ceAyUhmTTCFx40q8rbOJ-p{9yDZ>iu5!6BXHUZ9pKssXE-v@obms~0v*(A?7+be@ zgUT6}*mZY**Yhq^s(n9MeD)3xgXjMyx(BiOu1K73{wU%rJ10;Pm9%`T@!& z)=eTbb`vP9py4&>+(t=wfyyWpfD~~^Ot=zo9)|PaaR><$w6+K+eu3$$l@F$#U|F~B zX7*g6CQ+dJ4ZtKj0j3W|V{s6Q--$3kBxLq1Qp^XYPegnZT?QlRfw>(-V{t#jv))?P!lgyE0{uZClV8`0#_OU+Yd|wccCg#;)Xakwe6#^n?P=dg%`Yx z86<9_B)mX%B{kv@941Kl7#x+iRa0lqoPR9)@;9x(e;XVd9(H7Wxz+w{UQ+wD!Ig!M=4zZ@uf(-vlb1$$baMxdoWr@1FmNTW8bGp*f9S665jQIbLQx}>t zh-eRi`yXKC1p6yMRkCMOL3IQ?T|@1G=tt&2*eKygocSqpNH8C3+M$6xl=uT9zaj}B zG2wxSD=(v`1CU-=n*(09ljwI0`;i2Ym}IyOsZBtPo1`w4$Ux&A!(Jo-BqqsjLTTF& R-LFRS2i!&=1Diu&@&L&(e_;Rs diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410321 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410321 deleted file mode 100644 index 102c9a98aa957f58957edd2dc9f24b451c501043..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6136 zcmd5=3pkY78~%N{Gufn#+S{_HuQ`DQ<|YdrBho#&bFyx(`;^S;0HzQ6B1XFdc$ zkP^4M6^ko2a$NTO^q=iofeiPZ{Rs{6$$_D1#~3O^Uqzsz*yf{8JL#oO%8Op|W>6_I zZ`(s9@mvO9y@g~TALSQwIh(aS_Kt7KiqHK$)j}kDB(*|r<_Gc`1LmxYWLU;(O8;PXk%q#m#x_R{f6T%1m?+e1OCqD z1HIf614PgKLEDnqrUzRY``MhgW!c38Mf$8?d@bJ5tXSDzNnX6!DPLxNj=wS z92m&x>nR91PKkf>xFnZDce6&6qGriHx|E+yhls_h8uWwSKxw2^`+=U0*xFEG- zOer?Eb{R_9Ra|@4Fn>$O`k+&nd-pA;@jFefIvtlumTxa)eXf~d+@Ggk?b%rna`5zE z0du&XqMH`*z}v+2ke0E|;r`bMedzx_>o)D5Ij<(gD{>(5e4NM1kw5p$Y|c+JlMQ5>*YZQpGgG-1(+Hc882H7 z2maPW_2~{yPl(KKEJqF zD#Lesgw95?kK|0o+dr1r9E?5lnIDsC;IDsm4)=@T)2gqRCTzT=+u$V?#J*YFx?3+G zY1LI3XcpRBnfux9A?*b(;(7Ttda(`3kxyt_(v!mHFj}gvl)G`75&6|rzzqeUijN6i zMy_aFQqj}$Fk0pHx|Dx!)AHGgn=2D89zC37_-k9Xva$#CGq27EcCZmpyMXh}x-ZB| zd9Ne%o~tIkVzYX~9?8hAjI1TJH~Zc7_>$&LvG*)hs4Of0VW(Hap1mfqF8sp_W9yIX z*s;cre&6B5C%_iEh6&?Nh)xG?3lZX4z?ukrPz~JIf~gY(yrN1eKg{a-y*ouC+fCx2+V||YPEpIG z0}YIMmU{+6#W@SQ6S7?NVn|sfY5FrRx-to2y+!ZjR9@D8r5@8RVP+zXWp$s#29{FX zf*|z=J5`V97?0C6A?tZ2oWPkBVxP40SGi67#LhHCXi(XJ<(aZ z0~IH>kE#)utqg+#8grNR=4;^1jCrZl0!Gw-SEjkw^ri2+SM_tt43+X!(}g)vOunJD zCDZ|JN_<*4TcO4l5AGcb(cHC+e0K1nVM0WlsmJ;L`!yU!fyI%o`Ii(MQKc#J>9%?! zYVOz;>dS*eim#o9YNJV2s$mWF;`4P5ByHH)yrxRvlQ5DGgc@YdfADsXhUxD1 zKc8-j(Yf|DX9c%)=H1Xbx$>|_3u3lMy37o?9h#YbKX7jJd6l}y0jU%w%mR^P3uJVe6qoHBGY^9?A{(Emd{Y{Wp#loseAqHvz$(-kFnul9p^QrKMB<6bhH zDAd5`0zMqUD)0}^B3ywc0q*hGEYUDMbDL&N5IYvHj}6<0#48-EYbtVx#sqhsMAN60 z*lf;KDQP~|^oZc;)1;Y$ybR-KSkOXcn70mA$sHBsm@eQh#u);*emjO1yee^Jxgw?@VlE;k_i4riv19QPa`Yp? z_95|tXQ8Rc;kX=CxT$;NrL?Anbh8Ef_Zz96$x{BsUfpj^Y!%%e9+h|ePLOZ(-v*E| z&cND?H7w>rj*76qAafdn=Yl$io!2p2XpcDoH#kwK0{!6|R!9GpqoQF7Dw<|Y<8t&P z!8VGclf*POC-}roCWm7=3g=?^g=45K5wMAVcEOnR_ZbF{7oHD_~le0O9Qsa>il4-RjaO{4vV>vqZ59YK@b(I5U?y9uki-QA?B#~iDv(4$|UTM%bjWP^C9baFD$qRI8hi$ zxF&qV-sQ18fOFy4sJcGMwZG>d_W&mf;fRh6SJy?sL_QsX<^4UsxCc0K(wHD`h4n?` Q?}xZKLXSWg4+u8?7ucViivR!s diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410322 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410322 deleted file mode 100644 index 8d8c954b2126a168cd08b3688bb18a9c557059da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4624 zcmZQzU|=XpH9c}xH{s^@D#6)-v1vZc!c1`=(>qRxy644p_D*{aR3f}9^2!0V0}+cu zD>uYvYZPTg75KfvfW|!0%3_qCWa@UJ-ods|L3H9z3OS(K8J@&8#Cx?w!N1*A1%fH^_%Y@fyAPk zWr>@48l;7mU$hE#ztQYDC5G$h;r+W5i#IK~ep+R&>$^Q+zfaxg%)fJc*O^n73}rYM z9d`-e^4;tj56juOvksBB_cqEU$4n2 z(iRX40#4-s=@bSZZwC@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3n%p^(p>=PnpW&_>NV3D($#;)iY&&z~TFT79m#qB&K}c*X+x{*tP%|U0WHL zzV`!_gX0aP4+N4Hon;47EPLm?mD{x6YstfTJTvu8QogtzVf%95bo!%BIyoiVCz_-J z)qwPY^%ArXs_v!j@{tVO@3yzbj|S@0#DB0UzTwLXdaVeh^Jo= zkO2efr>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8KjQUP#3105$r!;8Y|D= zetl7HuwsApAE8zC*K7|wc#>Q2>g|%Q`>PgTU#+1i^7eZ}eeK~AHETVcbE|#3C#Co{ zI{dCapF8*8K~LoXHlTsvuuPvYF@5%eZLdPYzMOJ+yZb<6!hiSfe_bVe?oD01|AWeB z27V_8V0sb&IRokl5G`TuT3(u4q+O=%>YQno@0#fE?CO(|ZflFCj)8H-ew`PRO3Jr; zdQM*x%!(GfaNS)(_nYgy%%5I?-25gW^&#GdV514T1?c7w?k8ZiAbnu>0mI_>-BWP~ zRafN9F)II(b=m0sh4bATeV!MG30vA_v|kqy6TaovniFz7^=z?fql4+E3;)kv>5cP9 z6lyUz(f)NwKQGWMa99|=c4VHhLGjEq7S-%mD&JB#xt*0deU$P%^G=>LogfTyWD0|T z*l7j^jh7(%ffx>w7M&9XazJ971;qtc#>OV5<`7w!IxtN{T4D+a4GQpag&WO4Od4TI zih^ligu2z?R=7;{R>Py$-)yUhi@4*kI_qy~>Z`X!K~7t(iO-5U3vJSCCtf*$lzLs{i`V`o^zTOJ6U4KCI)GW`W{T;}0qZ+V$BP zQ|E60X<+*Gp#ek#0VCL4VBDTNArbHIdT_T$^OR%1s>DD2^^ywhGn=&JmTKG+4wpxa z5-opLZL9ypU9xTEzBifHX6u>s_U~StaqKhqBvaL8Y|KEjSYCdM_$y}PbT7@JufvSx zxzpBC<+*;3nYEXwFO-@YcBKGpBQS3N0|CfxD4!9?{RL%%!hso>4?und10v#4Orx_6 z7%AX#s1K+Kl+NG)W(iOLi3yhmhdZ1HvKs`T_59X#T2J3RKIexsP~Qa%tb4Xht6%DKTlr1 z@M3I2!98G{fdRHO`VT4x3v+lHC89iIU|+xT0klke0W^mdY8IG6N|;DYxC*k;D3NZe zp|P8=rqMy-Hk33NswI{%Uh&mrqFF@KLFl}%e*>I>JO860Jz6`XD12-4O zz+yhuv_k`XDDek|vylXlm@r>L>UlU1QQx4a1CU-=9K!2+D!1_<&e*tUkKR!*6WP76 zFae8E*bm>VY_2?Mky>cjp{ISQ zFqlFPH?RP~b`?;S?AcU!y^m}dh>aXDP&rumfVsq(pE3v5u7H{Wr?8lhHSN>D9!mUy z;cO%UBqrROAU`1kSX&EQ+6T#j+JRs>kR}rSj$uEN01^}K9OB(ZqMM{Hm4M1Tcpiq^ i2xK5R1c?b(L9ClV=@uSNM7RHu^uTRIbrZ5Mm<<58e27N? diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410323 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410323 deleted file mode 100644 index 3b648cb84788ea266b729218a7efcd1f00a603d1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5084 zcmZQzU|`U_rKPykKH6wI@6WRRQ>vX>X4J{Zd+}V3u@G!>l6q$jR3coIYI@|XZooiXL(-x%pFlJaFoKAyMVU8~0=|3Zvd@0>!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z(f#>QJsHz(`O45;j>d0&^aWygDybZ!7E8D=oDD zb~gN1)AYT2zD+MX?PmY3-P&T+`&cf{&v&@by-(Hne>;~!v{jh*!M4rIQ$Q|eK7K*J zTm-~|fKxd@I)%Z<+W|yBTYFEM7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCt{chE5;(8j<#*T@f_T0Z3V<|K>`S6rY6MCl^J-V}8Oe~s#-^l?O27)m4 zAU!|;ia&5164cMYzy?wq;%x}h#}F*6`mgV-Z~SVt^!4)R!#Zwh7AP(?{-9!@U7wvX zb^Zp1jf?i^9R(`|5sY9r0Mo&ZzuQ(y6?c>!jc2axVmW5u`{%V@kn+2GeWkj2TEaqq z*LNOBwN3aKrhC`sPX8^#H(OsWvt0I-!*jy-Hxj+JhuMKJwWrdK zdsjVE<_8?U?`IKWwNGNo=Y7q-42*3HfYxqhVER4*WIqtYLDHhLJU|Z1-Z^jOHtqLX z@^Bu{OnsA-FRn+}zT7vR{%Dg*Q=@ z&s9}_I1cZVV$g}#Et}?bC3Akqp|w@>HmxnU4gZ?<>j`7Qhdca01Hob0b|&k9mDb@t zo)+#^s;5kr6i(InUhp{i>0$O8)0otp#Gz@252haK5R@>T>!Qc*A`|i}e*MZr|F)LJ z{yUyiH?6~T$0jLe1{IDq(?EJ;&w_#!3>d-Y0{w6>Xk*^d<@bMWnA$%hC{}b)^j1DW zKK6xEe2=e^i=O(}XpN9uietaPXQ@k*pW55;bIs7SUM-oW(bvAEbkSOt2V6kYztx|9Li(rq^s z*^BBe=k!kh@+-H?jW@9Pg0b8)kutIS?^_=PZhR(Gd;EWam9%@*K)0)=d&Lb`!|$u<#meZlff;K>39laR?3*q_zV%`d-C;WiRZo+hu7NXIfnH zxO+A8y^U-K-P9%pEfL|`C3FcI$KYBU$VN&&P#Hv+gUT~7AXuI;FoqDk*V@o<>1> zL1hrA420)t62psjZX?l6Ja=Sa>5Eow0+rS9a3Z=*fTRa0Um?dKT=?JS?$g>U#1u+4 zNS|HO@XC1s_wm$(qaPPsK92aVkX3M*K6!Q*w1xDBPeAkj^C(0+tWJ z>46Bh5#O(ZB_u@u3OUW8lv7053ryGWG(@{FLCW7`xCz;R$e9mC92zX>et@+f(aUuP zNru<|t;BoZWnA|u`1xxZgYcwT|D&FHIOatjn!6?T?{cVl*xJUwknBP!M~LVjh-q}T zeghUEpnhpT&>UWz>% diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410324 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410324 deleted file mode 100644 index 24f4b1f177b259303938e15ebf005364b71f4b9b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3616 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 JSkovh<^i&ia5De^ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410326 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410326 deleted file mode 100644 index e592ffb3d2ba5cb366c32396be246154cbfaac45..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5644 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 Lz4m;ZWCs5N22+nM diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410329 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410329 deleted file mode 100644 index f967c3e1cfc35f7d5329187009f8da98ceff5ec2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4240 zcmZQzU|&2TRsVG#&s{_1={gT*0+k30FYDPLHT{5e zWcs6)7Q@`C`0FL%{wJQEVW0hRy-&@5lKvtIh;{hQuH{}#`f@wBtrfOEz6gC~!yK56L^*IDGQx{BkqL5Gpt>`lr{ z8;`m!-g@eqj?J#%12Z?>e_E}@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3Jx4 zm4f079B&|fAOMU{Z3qi4&H>_kvB+-=5a$28>_buhnX9Jfet!yx68JdLxPP(jgyW`s#_e>KKZXlnA|DVrwr zPBVIRXStYIGy}hr1JEymK=mO1!vNf01obm8umLqOhIku+^&WEjb<5~0+i9J*Pg~QH z%jbWQx4rv!*Zw)L%3p6Pe4Hc&R3z?E_5yAX*bPAcZa3U`u)aZWm+$K-7el(66-0I$ z9C@`%+U0V}P;eLOAPt5i>!EGe9-@x9=2^3%iYH>NSEIf+C4%Li1C?q8Uj7({I%^U42_?^|$Ye>n|sYCLc(WV3(R3`)LkHq3qdIn0iLAxj;W?Z2Tj;)i9M=B$DUH zm5-C(&R=;iGS+_YoWy;88`ed5-@V(E-)WpASUfkB+zfl`%%>rH+O$<-n6kOg4wiFa+5CBVi;4}sl z68A`7dH^a13J+#zIt2?6OxLiufuwDyF$fA~8A1e@#(`x4j8ByLAome(KFAL+f6&q% zO8kKlEJy-KOjsyE(kYw=ONY>KM5_-#=^7M=`a^$bLms|-??igy701}d9D z`cb@e=htizec!1gCCI`avt5+&@2a?@eM3L3i!)~TPgPE=-#`Cumh=-3pb}xhgw%iUPKgP< z558W!=Bs+2y#MNmQ}ti>@!U03p04w7=4pNHd1|wkDEG)5IP}&!tH!OCbxYHa;F#Qo zvbN5(I|P7cFeEKHD*>W`fDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?8e@4UJ>+y9}y@>Gy2~)lQM$bN?{ks9pMfPNML# zcYk-^K525|>#E>0`@jDWdG+<^|DVUzSJsCFuFDbszauTeC5=I}Rf_k)w#~~^KrUuJ zexdsG77z;pPUQgU6b2t}2N3;i?L9S%oi1LX|K^nLJhR$pbJ~;O;$_>v)>yjTe`bC# za5~Ry{)bz;<<%FO{9LDhD&g6dvi6mKwv_)rXQ4a4;AWC}c#npOPVdi83@QKqrUu0{ zaLJyYlh~r{F#B5Z%?$o>mxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6yba@QhT|(vz$X_7x6MWC)Mtrcd9ESG+f(%uGhg?f9`#_ zJm=mNE3-_6e5E%+hUY|fM}FK@%zWg$S8?uEfeivj`G97D{LCO~Q+cz)@l1mZ>+I^= zTC2Z(S6qKNQ8f8Lk_5Zd+}KZZp#GHv*$q+;1#tfo)Q{%h^a&HwXD`_HDkSX7DTlYa z4>TtHcklk!RkG*a)W!QhsC)*RkK$jj8-V^jY<&9ky{4r~??VGPf&M5JGsGhpc$*}as6IkGumJCFpBm@w-}2ov(t0mxny zyOB6ZOp@Ki@U_*$%_OnoT-k<`*uU)+%4zIO)SaYjEuYE}I}m!|cMA zSH)qr6HzuZNL?!40n8Vm@*R{e%> c;U-WTgaf3=L1MzCQPcuOk;`=Cb~RiB07!+`D*ylh diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410331 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410331 deleted file mode 100644 index addb76c6831f17599c11a7bd703f5d6aefd0a32e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3120 zcmZQzU|@KBW>ft8$1T^_&ivN@u`IJH?q&bAwmS7_hrn>TXYVRE0+k4F+T*&PagtSZ z>42GmdXJtV&5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOu<*r(of}U@>4(Sci9WNdPhGLDrQx;uCdI&e*P!Q1FC)-RBK30`6;g533HGX#%g@Yz9?b+CU;*P95J3V*%u2c2d@>8^PzBijplWu;~ zt?)Q{ZzkWT$5*|qr>*K!|GJ zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmweDa-wMRfg}lbskyPA<}mO(IRL{z5~dzV zg8(T0z;Q@WKLZ0BNNtF>5lA0{9>4EhTj2wb0<`Y3?o*0W{xH|dwfd4<SWKR!jvAZ=iYu6Qul2hMPd{f&(PaA~E68C~ASCxXN|71_1RF*{uKo diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410332 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410332 deleted file mode 100644 index 5babbcf2b0fb02530354a490ae61c64e6552ad48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5036 zcmZQzU|@JU|9vBu$lgdMHr3ySda>)J&NA)_$c>KnG5h-1rX`#as6_bjnN9KUAGcgz zJM&xr$Fj_-xR?Fc+UnG!9RkDUp1rHwXsqaa&0AwppQP!Ju)WuF`{ZJUinAYo73MSg z&0TJB31|cZL(-zNN?-;91ISE<6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^;Cw0e_5{{k%M1T&QKqNoMwpgB2g&J}qsV_iJg;?}r=9 z-@abZct9@sL#;#S!9%BK9<&zVzao`2Jy_6uU%@9^n^51dKGR+C-j5^Y`MDg;!e3oX zQ@L<=s_2~9<6Kh8KaQ^4v~8Vky-{=0{HwQgpZbaLCmSa)h_=e`KG?Q-c?!tI%*QXx zO5OuvLBOe8Af3YC zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmLR1m|aMAs(lBtM0syn&*F6K<6{(?+JDGd6Qo;@H;sG!$2CS z6dY$DJwO0rgZTvYGcd4$)P{H)g7h&23#H0jNaWqwED(Es$UYy8)OEI@XIgt!})y`HJ!P$v2KC-E)r4-XhG=@v*Jd+*kkJ z9N#yR$6Hl{E#G=E6|D>HId!_OV#QPefrru;^|IEjTXqiQRO!F#|#U3=BLVwJ`stPneiKd%?C> zAz@!mIlSF{pfTaUd-uPtl0EmPF5dq^LYb$)T~wr{kgaw&j;%*%)iPH8sB- zzUMGm>6l5&r^8`t!3kz<@B4P06xn~ksMX1&)=DI$_``L%dCdnq+x`kq7E9kO6o2`j(c9}z%5Jx17w#R>@ZZzwH5KTD9SqD`Z4At%%|Jci^nmOj zC>xa4K!6uQF))R2KLIldn-5mTWM)?nVu0fyG}y%%#Nm*g=ddNKb&}ousMFsT)LcEj z_ZElv{&`l)D_YC%8+o~d)Bpih>~szB02`+Er|Mssda0S#>OY%|rZja~MX&#P{q*9j zEv|j96t)RN3OOp-8R--OwsT^d!}}@!cGT^OJP;fB?@XK0af$j1=U5bUnx};o-f%t+ zRs;+iNPI9jyv{nUBvQUfTv6@FQB(PcMm<@FZ&(P#FPiCgj4$bx^vdNz*%o%O{r)$* zlK{@g83jn!2Cf=dnoY-MzA0WATeQ~1j*NM9;6-sg*n)NX!SEB-$LZTW)Ts_@N$oc zavtUkSb2}^UQpU0H_VaE0o#EjfW(AZPePbb<|Y)okvK?9lHJ5`*_Bu6cl(@qi3j|) z>mF7~a5qzRn0IF4V~KzH+j)~-&4-wXkyk5+&q0O}jCvJ(_vpmK|Za3j7y0u2ysbvPOEMUlN=|3Ujlhm08&=lB>n39Q zHH%YU=tBEWO+fQGp>}{Nq=bjWgsVU)1A(Hjat&|YM4X%Ml+xHuAh*N93tl%361Tz9 XD>$G@bW<}>6E)%xy>0@#1x5e>^bOIV diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410333 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410333 deleted file mode 100644 index 7a7ed566aca97ac67b1a18d53a6aee221863a896..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3604 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 RMfM`w%>b=S;DG>R001aJyBq)j diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410335 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410335 deleted file mode 100644 index 837a05ee754adba48d8f94f0566cab39de55d185..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4232 zcmZQzU|^X1^DI;4s-E1&{f&mKZO>NxT%lzw!JahXr||Q2=27xTfl7pfoer8?p8vbs zRhZjP#dl4}S(ct+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO5L>)rz4GZPsttb=6Y97^uidLGO?CaVN5$FawVGvS&8cR09Wd$E+=P|}U)i&U<+dPSHr&f@^rN`V8(&uGU7D`O%_H&$nZc#_^{i(`+ zz9~Gbwk5srUOHL+o_Rv zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmpFxTk4Rv7}7@=-;xD@|p(lLcAMbd^@Gc&#=HEHXd{JAx}T~KM&rXR=e zefs$I>xQE@PrZG7OJ{@Lk$ZD~YsTD+Y~V}xJTa@}ut(ykgWH-#AvKs6wJ z#D)=A-Amicw z|L72_c6CTShk?P?{?&eA7DdawW~qj5FD04|C2rCC-X_9sb;xxAIrJibEQ&D z*RW^ygd$6}j!EB=8Tg$XfcZ=msGbGp2p|m)8-n^775VvTL$*^%T=Ix_dQS_D@-qlhFOBjgsT9@8=MCzFBo9<1JgGz zRE`l;KEl)yQI-JRwCn(l-2`$wEW8Gr+b9VyQ29%ZI0T0YQe6y=z5`~9<2w7BuHR#> zPMGj2B}d9~Nm8uiYYCU1e^xUZDTjd-0qX)RY4jIV4i@HeP(A~}GL(TqOr!nZCtzv> zm7^1Z`e5k_Yy_EU6l_1xf3V5{CCrI*Qy-1pgf)#061PzjUZA>=8gYmffWgrk!z{_#sWbl1so*D)q{_r>j;&(;c{_24usM52$WH0Yua%K=t6Z9m#bH zTVHttP&24L0o5zW0G2=C^$#)bkUDHw0j(S1Z8n&pFb@LxNKBY4r0#|D5M?;neqjE9 z)g>tLO{AMdXzV7e`D2i{jgs&JwQoRvg9D_9Lt?_EQPcuOL1_R~52NP~kX}&TzzmZE zDI+nwXy-PhHUb%Lg7_KaAs|2sBrp@&hJ#3=g)LAJS9rm~5FEb5xQPbk0Vu9Oc@XRm rBHTbqS;Q2={e*#GN2_=3{_8KLiy diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410336 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410336 deleted file mode 100644 index 469026efbdb225e860d468e69716047d5bffcbe5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmZQzU|a+#+$KX5(AgCqLO|0+k3){&|+Ea#c@m zNvZLfe2GLdp-Ur(@FHZrvnECjH z-QNp9EC@ISVy7_pcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxCMaeweC^0QV}s(EX)LPQuT;LJaB@2*aeT+BJ(YIcyXu)TKj83v zKZ_8neG*eX?`!r2YGDcp4GQpag=hwm>8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*W zv}P{8_8F{l#^eZ+yjCF*lXGzoBYgb>6+s+1fHC~zbxYh&^#u`5KosNAOi-72uq2g znp-gCjL7Sc9Y627X2|D=&t9|SmXoS*&XhR$_LD{D9_H`9l{TMc zUgkQMSKFoqE>zczQ{w8E3{!V7D%#HuG?3{;tyo@-(1H8mFXlh;61Y4~dd|W17ow+3 z7fZh+74rF_6V%d_|3Cm_!@`jf$o&PC1H}h3Fdxc8`Gn(!fk8~8{a+u@I8gjd0_x+1 z=>^d+OHi3`72x=X^FVfk0Mve9+!{gU7(rzNlufLgv}o)mklSJ5HQ3xnNqB+s7&YP$ z941Kh5YSi#hOPC%t0P=;rECpb1-qurZGQC9<%j4OBbh?k;y&KGxv-3ZEsg#I8-NIN zcp4?5TxDQizw7|CZ2bTf-nF8 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410337 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410337 deleted file mode 100644 index ed914fbff720c7784fe9396d01381346fcd03249..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4764 zcmZQzU|?{Q4tVkUy_MO#hkNZiR%<`b+?%1~5Ueucu4}j6t+RJCfJ%hLt~d3JR?LdD&r#}Jj+?)( zylK!rVbwCA84O8_&f0=#AYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-L8ZcI=9QHm%7L2`5m=>C--_6gJ`QF?}Kfdm#2VS%zXU9 z?w=<>EC@JN0HjkGe7qe%^s}}1)GT(oc!mC(Q@ZoaYNO3*PlAh=ZU0(h>308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9SaaMfz+S+#v0Zw+ND@5eX~&f<$p$RuRAHb-IiUrcSys3Ppj8d1_tgO49r?> z49ul1K;__g1L;Ep%uqfrlx7Oyegb9^HXp2v$;_@E!~mJk7#i&24B~Le&U4t3)jG*; ze$?r23u>+&-+PNgeE&Qv;VL27`2Dt5Ytcz_L4`&0F=Ouf`hYxSQ^MpK%) ztfJTdyncFd))v>kR|?yNFM$l6 z0|YR2U^>M=@F`Py9N)2OPo*9Au6m}-4>)|^&mzQXpTv~U`X`yUg93b9!Fs_& z`l)Nl6|?wCd$<0|*P9&0;dZLT;&pk3fQ9iot(l9jeFiIDA89cg)W(S+}=)^l&3ob0>8x6daf`}W-E z-FwGe7pQ8V%PUcE+9tvsi~+8YY;eX?D9uK6V(y=zqp1ppFfL2P9eUB)koAk-$s^4AqzbyN8t$JyD zf{nQ@@q~fg362kfX^63H0nkfZ8JNCL0r?Gx z;Q$yPVL%Sc9Y1F=lLLPDo?N^rsaGYPBU7wm+ww8f{nD-)FE@o54nQ>^eZ;0&u)3GF zm&@M-*lLDz)+ICUu-CLbHu;&=(ly6t2s}A|e_6&2pm|J=A)YQlKn4sDk+vm@YHq=l zGeYx-gUfpj#7OYgJle<>;D?FsDO1z%ZK z9xS~4;*yx=sg`G30?%y8@Pt3r&QU5Ja30L9Q2T*#t^}211l8X#b;Q&~i&JlV(%4NPx5L6~u(^$r@B+0Ds1b+Y zFhOc7f}>AgxOHXg4Tq(lzAcWpTCwy~%hl#Nr{0*}l#XkD5cQG=R(qsC(=IH{Fe0T_ zSePq-4FnQI)PD@@>zBnq>%fmdEugv+4q%o51(29wLTB~ikh zI5#c*L1Q;zO{0UvZIp!9Ct#RUBMz~q(I3{@UCJ}KO9ek1(Al_VuAGd6T(8m|Bkue5 zB69_kXFEXS8$FF8m#MHcDh5@{Ktvlr+#|Eh1lk^13e*QHx4}jrB}^nH%ydZo3g^M} zinfC72c}V28b%3o;@nhvfyQpannnkS+b9VyP@9q(afmgIikh_UzM%C!wfy8Zhp$(V8HH{7ux1pp_65Rx9XHz2%v8GW_ Hyn+A#gPV^F diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410338 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410338 deleted file mode 100644 index 34833128b5902254c7433654cbad0ab9a7847660..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2480 zcmZQzU|{fYUOUy*?s&N6HFXExMH?S5{$dj2ea!Zax&HNpnLW<9TKw|+4TlY6MQ)#A)N z7kQ;4KVpDpFeEKH>kOiSfDuG&jTP9myH>;R>H#bFr4P4GILRO09O^D}B%pd<6U!x= zZlDr}Yv%vDlOEp4n)!EYk@%mOO)Fi40%l!eFq)&9Go5MvYs(EKH*A6ra$H@tWsiiB zxL2H>h}5Hpiwl0LSZ28&5BSXMe#y4ri%)82;!OFy&#kkbnr%G%Y1+%Dv8|GZYTxqa zSRHG9d$Ba{OjnoFPpA1#U*)7j8XvDX*r;o9FzeOt$h7MWqOD5254LSyo&s_)^YIJ2 ze@y_fAmCI1kWOLn@pb^w&(_{kv)Jk475Z;Z>CQ8&jW(w}2`*l?{cDY-+x=(e2Lq?` z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlXOi;{V_}Yhw{{^UOPW(sY8bA;@100%E5b7&JZu z+2D8s(qNFZ=v)?%0TSaZC@!!vHa0Ogg-F5Ff$0?gz^6>*aeT+BJ(YIcyXu)TKj83v zKZ_8neG*eX?`!r2YGDcp4GQpag=hwm>8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*W zv}P{82677n)2|N=AQ}i5p>B1MIdmj$eN8dLRm~GhH?Q60SACOr{ocEShb&TmU!Jsv zF(WxNwUFb^mT49fwx7$Na=WgtJ&*I&hcoq0^9v3%Ez)EKngt3Q27+#8Y+C@db}IwZ z_o+bTF#m$Ig3@^`kYd?8=dIkP{a#BR&f}S>Z<6xG^$6RS`=-+$ZPLjp**?)E6{rTJ zkJvB*t9xmCx%^Flt!6l9T{7bidrjM8lb=~FU2}Yfz?1X$mu1`ln#bfA;^`LzWWWG1 zVaaHy3scSrjT48Ax>(%>|3&R4t-112A;*@B+wAH&ewn_&9~X_@y!6wk`}^p?`_(76 zxch#N3V(4~x-_QOyPZWse5X3^#6OEWuJQp5WXf4{hV#cq-o>llxqXdyJysjFV?*Kg zjO)8)7I@z@+-kK9YH7-UAONyq;m8Q&{({PZ;)5BO4;7(&!g0gEAg0m&_ZZMPQ2a~* z>f?p!1<^1|P?>NQ;P{90Kz4%w)P7*x+Ct?RL1hD!O{|-eXzV7C+d&uG=;`)0)-VUyuk4R^7J5a8%i1_ V(M_N_i5hVT4ioe=3JN0-008hCk%0gJ diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410339 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410339 deleted file mode 100644 index ac42da291bc9617712b367f0ba03c5efcf6f24bd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3768 zcmZQzU|>*7y>|I;$K@S|J*~W=rEX?TZT{YC!ThAsTwd#viRZ5npb}vZ=e1K^?T&|A zUQ>7AU9|B5<1Z#L-p6d;IG(S6e^RQYx#VlVqu=ZWysbei%wL=lo6GTg!KPWubZ*R$ z7cr@uvaJPZ21C-KvmPKC2pB=c3YD`Gd*+t1`D)IJj$X6G`tT}!qf84?+aCSdTTkbH zFa|1d_?{TIZJJ$2n(nN>q6f<_tg!#*wIT$ z;tFwZ|5mq)EGK*4Pu%jnpq_{Iu3*QVzL}dhZDe1PaIxz8twqlB6`pr~ddYf5SA*k* zM1o+g{)S4|n%ip_Y!niNTgpuy3!jVJ^NBJ2)>J?1cG+SE(N<;N2irC;PXW1@`S^w1 zzxRMx5OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxW*}w)sW*J>$UI|%;+bhIs@bnpzNK(-J1ceiDCK$PojhqeLD&$eB!xjh>@)*| z#up$P9B&|fAds}^9LWD5G0uYG0xM%<6LXLTAb_a@(<%OePnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{9rQWQ)BBh;-9&Chbwl4_6qK5EhAmNC&U-K@%TW1ggS7~87jkDpv? z^E%jgrF$|P=f?-BbsMH^f6#eHZ%5pun^L;I2Y=->b6n#984EI$pqm-n7684um4WH| zG@x>re?eM7={ylgvFx4mR&LXNuO$!X@yygWN%`V>gzd|H)9H^k>Ex7bpJB3zN93=W3Bzi)h?=E+-(+R>W$&G^MpU-O za_usa;D{p{C7gRKUY@s9l&}7E;KKbAJU|1%Vad6K{YvJashvN?8+IR`=le+I@w?R4 zf0b1;IOkt1TYlp#1HY341Gi!$Q2k^e2Ky68qXUpQSWck!Vz!Qju}70$qulpZ=S42g z=*njZDGIr4Czsn6_FxW7qj~?)Eiv-5CAl_vT`dv`X(~C$5gy!gs?7gvqkz(%M>~P) z#68Mhz?3tA-2yCg8te1bS&mF(bxfZdfBun`By)8B!lueqY5mG}{%x_d9^QW&uwcPv z%NzgQdl}jOo>bl@$1n_Yn?mm7Vb2DY#wrg(WYm=#oo-_O{_qNF@Ier z^F3taf?p!1<^1|P?>NQ;5di#AY}~$%zj|raE8h;g34By zI)eEP?502eXzV7C+d&u2&=s^`J^ V599`-+h0g}U~UJ|Slkbn1^{7xtpET3 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410340 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410340 deleted file mode 100644 index f1f1364b49a937bb5c0ca3358aabd4bbcb948fe0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1472 zcmZQzU|O?(Yr*`a(p+Bal8NW9kl@wZtuGj#*8O(aNzri6gNE(Jqxm8#Yhiw>LV#_0{T4j;@2`zvZHN;&aNki^n7{=nCc)>yf*u z7xz4Q!sccC3*))irp#Ayn%v2xS@hm5;B3(U2@}&QpQ(O3e*C3w&&pM@cK5b_J8T=g z^pWch=J^>_ZTpRct0%F%DbA3yce3p<(!HEKZ+g7R@wA5wqOB^t54LSyo&s_)^YIJ2 z|0sZ15OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxQ1~-})EmBbWS+4>@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!R!lENS$cA9}f z<13I2jyI4#5J*~dt`tat#5fCz3#^QdP0TDo5(sr*^(p>=PnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{BBx}^?a#X$R@Zgr?}VJSZJR^`I9vPn4NrFjIBs2;%?C7(G4#iTjgmfY*a`k_0TFQv)MYWOgphyD2PTPLi(Bn17+ zF`Kz1p}81n21C-Kv%w%52pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsI3T5*JbzbgG2_F(yZIJo-S?>JSmACFoSa`Pf9uB4v{v=E8_EM>er&5+S|{{7 z#mFz@LeJ%J?yPRLIESbsA=h~X_nY>lm=$Q)74CjJ>!4;~l0A3#?v*=sR^2hTo0&BE z|6R+8|GYU?ZdPpTFgM&^)^vAyk$8uUk;M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12Gdweb=D zF>DP`IXK=x`al2}pCJE(#5f9y3#<%H3{0VXAO%tT()M!sn*dwQaL&49#vS&Ww#Ozv zvs$|5_zZz3=kG7exB*nh$GMrzV;cUOrk)l0jiu4;!Xw!?L#V4c&($1wbftm`5*f+tS~&vJ>D(At)FdzP{YD% zyQ44MTmEKxt!Ih3Y$5xe!?R$5|Ax-q=M#B9m_>OU|I80G4;&`u{YSUN$j_GK+T?Y$ zNF=1G3^|%>Q@U zhoby5S543T{uB@;{9)qCgjG7HX4Xtpgy{jB4@~zzmiAAnO%7eQNOGNSutCF<&|Q09 z_yj-jy11pN@Q&Pl^H+zyg#UaL@`zt@&IES5|LOdbq61x}*`!2L(zgHH8U%6^*e`~! z9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC&(D(*qqxt1r6;zB9 z6u-vCCZ^^<0jL<9PVo3Fj+v68V9FVxZgtpIVa%s{(sRw?i0J&{{m-_o_?>O^MBT$P-C-v0f0v`1 zPcrSX+q^E?;)tlj%^B`by+z;UKlhU`5BU?R{hEz=6(~%Y>sM@QYwc0x3E$Hla^n1% zj)YHb`xHuIC6i^##H#K#YCNfx}h8r;iKx&Z6J|fJ2D=+5MPJ;Oi^6TE3Ec&uttFO%Pn?FzNX~wg1 zbN6ptb)os`-To>UH7%&$u+^e9;ef=1 ztANK3R0P!S1LbS5{lGGZ7b=btc7)r6AU9?Ips|}kZij^zyxtfjZlff;K<#L1#36b) J0gXxs1pqqwSo{D0 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410342 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410342 deleted file mode 100644 index 0b99e942e6ac7cec019da5dbb43ac9057f1ee66c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2424 zcmZQzU|@)o+$%b-aLFNY{ov+x3!~rP;<)@}*QaxaFQzaq=PsSH1*k;0WJarXQvad) zom281IZgc6=d9j5OI4RY?-U(8HGZ>NifPk68x(IA75P-wm3*{zxm_#A|{>XyFAp2VuC{t z7_Mm#nJF(H!ZKr>a?s9fH{W%sD=Jr9{O4EX{e1HUp*W*(2GLeE-Ur(@FHZrvnECjH z-Ty>DEC@JN0HjkGe7qe%^s}}1)GT(oc!mC(Q@ZoaYNO3*PlAh=ZU0(h>308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9TOBY7`}F7p0Ppk%rq9&>{lw^QaHJtl{$Tt@;viSo-~~xYzXofgMb(?{xrS= z+2D8s(qNFZ=v)Jk0TSaZC@!!vHa0Oe0?WYFfz_w@2R>ygkK;R5?Wwfm-c`?(`2mOT z`&ooo?UR`Dd0(?HPzzH)Xi$KUD?~GhOh0ukxndSyY46rw`FfM1INVN^SiCOJ5U?;_ zr!{l&wa;LcGp03wX`maRZgpThq9C!_B`7j({`OtbvImVt!+7)#UUL(&bJI!HzTvS% zr%A1>_v(MsDH{)OFyyHFxyELF`9iXX1 zgxj9NTuMul7tImOak~0oNt@461_pHj24TMp2F9?pK;>xRa<&L6#sLZ!LlXm2BsE~Q zFKsWEzX`C_4Cky%X53+~X?tw)GpnU*j?WNya{m6Zj2l4pOpYPGkwHKP3=k705(QEX zQ1y%ucQQCUP7`v{RY_l<7`ZSY;8|#gX+tmb0?G3Mtzs7zU7h_}XyOIGC3`=y*nHi$ zCTCr3cWtomnP1Nz&8^hh%FVX_!gXe#c}x!BLYKa%E&Z|d?B#_IQxEQ4vmq;+Dfs*; zC0V_RdpyLIp?0SH2Ld1)79Na1?mws;C|sF=`AHSZCnoJNu&-Z|0Zo73fcjWrdOzH!1vnnzJdoWW0JR@j76n7)7(sa)$|lxLEHri#EPsN+Yp}VElJEkRA=HRNaF`&~ zC*bH4UDYb+dj0yH}9!9**jtJk`rWV=RxBbTN?cZmBUD*gv$X2 zaT%ZNAJDR34bU7Os99i&7HO17H%+0jo3N(QLE<))G)khIK;=0#;t*>Zg{2JuyiH;W diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410343 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410343 deleted file mode 100644 index ec10639f3939f539373db8220d27051ba60d30f3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3632 zcmZQzU|=}Xoo90+yy&OSp0+}n?xvrojUP1f%QX~KrBrD$b$#OmDiMy8+$%b-aLFNY z{ov+x3!~rP;<)@}*QaxaFQzaq=PsSHWxdb@*C<)9lLwz%ES>r4p7rGea?{j`@6KLl zTkB|Ivhe}X42GmdXX8LL5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@auHEj3?{vyUNd)_5_@k@nrvW?sl0cQ_hnXK}(6ShRa7wr1GRruQ`&PXvb_; zw!v_NGymcb_qSb~_7`gypTX><&-rdbM$nL$YJh%x#lCuAlj7Pn?wxz6n<)1C(|IbLD(;Y zfiY|yP&qi>K>9!c7@y@p3M9r+P+VYTXkuUru-^d`44k$=JbuGDK7GG)a)?fL0lcPA?PL)`^F3%9K zFkYuMbMdv$AY~E-QVme$j1YG+IB3s!>aTx#%UgZz#01ZlDK!TyYmDU>k9i~oh0r=)^S|dIp?(Q!L@H|GFB;-RQM>c0nG!4$*FIwVcnu#ipA15 z3&mglXY}^Eld{`w*@b(DH2n9pdQD|u;NHQ&tkuTAT-plMgAyiCH-RWn7=r*WgkoR{ z;eG;U5;h;KjLFQd9>f5d&lno);tb+&$j)=vlGQrNZhqA1ZwqR!9^ZS5Lwx@{E9Dif z<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt|Ga*Ban=^szE=v{gfD>= zQOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|}Ev)c{^Kq!1jF9+Xa8OG= zW4kxVL+0SD3(hL>HWO>7|I6Pn<>#(|W!Dma-ma;5D|b}A=+kVj)6;i`ygAh(;XcV` z{`%8rbXF-b{Oy=JpB-o(IPMK!J2KDMpm=5)i)!{Om2WAW+|Ej!K1z9>c_&YrP7pQ( zs!L%I5IfDlpz#C9Mv42RMdx7YffJM;jEx}~0!bZMeTskJQ>OAbzGKy%N;~dd^-P%` zaQMETMTpfti7B7=HT#0x5)c{`;NuEpK>;y&g7xb|m~uv_TOA(h%f-J*{&-tz3IDU> z-JQX~b1h0ekDLt(zHqTB%&O`5JqPn73Du$p)2I6QR$l5W+?u&`pL?~UhI~L~1Gi2U zC=D}zvK4+?6R^NzL*tyetW5ktQ(Y`Nw^tlme$Y`dZc20hBB-S)|A7F=hJ^_ukoylR z2MSweU|FgL?V-gVc|8{+(t=wf$|GA;t(7rNNovl^kwUwJK%Ihh}R_I-G#as=HJ|s zu94SPIa#wk=rynZ%D4g=$Jo;7FQ^?W*fcaXS^lJEkxJ*W|fSko>nVE_Q-GJaVA diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410344 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410344 deleted file mode 100644 index 18489225a6bf25752601b910679a254a026b58c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2424 zcmZQzU|^V=`6g&JXK|L`wd8B;(H#exm(R1_`8TTC>+f!1&KIwq1CCUsc5nl9D zXHQ$9On1}I)5Z@P`Q;i4s#2;nnYzAlJ~_FPukuo2+1afPOL~qyQ8%?Ju770K(kah+ z?DdZVK>?r{3`vX5CWB}oU<46Yi!yH}1$_6+WuN`%g{hF)`~NR4&(UMszj~vSy!fAV z8K4perC*#E3~dy%p1Ii;D9$Q-Tx2GCMkM}L#aeMLIi8=d`QrV;kC?7H(!3=4;-j~( z^3K*i(3!g0bG^cipSS0Eeb8i?|G6Y@i!E=|lUw%PnK!3a2`$Uj_+8tr_zplS3Oha2OPfd zXAxqxPh!gFea*f=EldHSK>rIa0a646E@wz-iz`}T) z*38A%K7&=xnAQNMfo_1h)xrOxi%9T;A8(IdQr64c+mhtm!XP2zuIsgH&T{7KOXoJ9 zOr2u9M>lrg$w|#GVmw?zPA@IL;v_z)vhL_~gZ7)#LGA^G4MW$o*CFN;C*O5mA)F90 z;kKtRm(r5tMRNpmoUT4t(&lrNfk9n>LD(;YfiY}7P&v%MAg!QuUIP{50ELU8iGeAU z50VC}eQA5S{7rzZW;kbEGUE<=P1|FWpII$kb9{!tlk@kNW!wO&V{#1fjSK?mfC6H| zM4~{d0jiu4;!XyKLzydczIXL{{d;_K@~aQ#+b-J*A58cYUAyu9o8T2$-Mjeq9<;k% zH{suczv8veHZQm#RrvG6Do%!VpRE@&zl>sI0h-4&>BGS)Ptjx5ryj09`>uJ;%_B+Y z=AS*qv~B*eS(5|9twN!8ru+v2AR87Qj6m)$s2nIK|vyizV|ez1sHXL4uQ?H8hT~rO|&- zIgB()MES_TzJBonXc_qfXbvmXEHFijG)knKY-sEztZ8(RxD6$ZlISK-Jx7f=#F|E7 GX#)Vw7;}LD diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410345 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410345 deleted file mode 100644 index 1b12df9b791fdbcc2e674bbbba17f4bc695860da..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2760 zcmZQzU|_iRuu0tF!iAZew#~F$^kV1wp7`DM+h#ah`Gq`V|GxGASD+H%xtVW*R&y3- z30_OS#va{qpn3T`>z#k2s=fa17Uq2M>iNwZrgEhNa|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR z$)28**rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS z210QKRL2Cx42G{AnP+TJJTr|&HT#vyw-iopXQfUbr998PlP66l2pfX@#ULPdnt?&% z7my8(Hy{lLNsG?)0~sJO&Vu3sD`R706BCFOOdXg`@eh2;R3687tlCp)$GxkbDf0sk z-}kc!vDzmw<@3H~U!WGIfY6`-A6JNG5Sf1JT5`oKzS7>Uzw-4aM{&5FDzSK7o*`gi zyiRN8;%lElYM9-v4}fSOV1&BW;f1>;(Ga_@o7=aq`DxD0(F#iIXC;%i5mJ_JGn5|=B z?9rsxDEEEUd6A1Vy7C!9ib5{i$>p|%J(vU2r88yj#fFnLnGbHA+TQmk^=|lirj40< zQVp|@Ch5;#yZbOuow!HY3z%{yuv>u6mFk(?e{;)((>nL`%`(^d-U*y@=j@AHe^NL< zr7EY+N`L-!_5-0#Z_WElI>Q&S--@eyUa0+M^M`PIwIc26>Lq=gP&YVu_k5gpcq!wQ z+xl01o4NLwv`sY&m$qX$Di#!|emVPE45GPrp=t@o2T-B4v|kA{PA0+h!Du8)keD!8NSwoYAiF^TYJbwAAW+%|0Y*@H z0AUi5Mt}-|ZW5ren_zhv7+!oUnRl?X1?PQ2iiN@ zW9h2GBXJEtGZ>N4msECo@77o+e}aY`!0_@Zd5V)`ipT6H`9kx8O>^w&&~4I z+wwRr@!3sl_BHRno;fUIW6b}UF@uAjt1&!Fch{!pKOgh|ZAcE%<*aw%+5fbZFEQ4@ zUE}wK)nB7t@OMTDt;w|VOtWs|Kg?rv@k)|^nC7n9ch+GHqODrI54LSyo&s_)^YIIN zn2vy05OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxW*}w)sV}hIYM;E{OuXSpn^lL<*>ft(qJK5Heab%Rwmc(d`s=d{{7w!G+=^>} zN+$y`INpFXIsl1--m`3ezCWpV!_PBq z%-oY|n0+)!fBxFthZz{u1%PQt6Q~|J?2y?E)2I2K;N$sVD*y90`=rWE$5kJ3J&JRg z!OfXyeSoJs_!%e=WY4C8C=g(Tn9Ja>BAPG%AJca8uC8JZ$>0-9{8W3B!_q&fT|Dq~ zn`!>RZF|;!J@fSEqu050{sdvyK8ncR(yq8$#KE==M8ng#ZQ;cG|c85p)g_GM^snbU(&ol4jNz)0!hCp>G3<6@O85lHvgX{-lI7nJ_ZYq!i65}i= zF0e8-Ha0PU$imct=@kFKr%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxV_dVG0Nh z3h;4-Xa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8Kj0ujPC%51_DN? zTOHghPON!X8_xd8><>%m;`*CHA5QAWoz_;ds#GfYoce4}Qqx-JXKELMcTV2&aPb5# zi;GWwFhб1BtslQD=f)!{MbKa#%#wKN9Z?~Uk=J|Tha*@@WZ~Xa62YByZZ^#=FdK^{jG*!frjR)EpU**d6HG6N z#$rCm4={hw(jH3uf#GZ<0VF2er{FXX=RwLs23RmER{J_h#ni*7*6zh6L2 zpz;9@V3q&{keG03T=5CEADGrMpej+)Kap-Kp|P7lZUM&}=A-GIH zDlfoMS+U|tZ_c&Gl9>Okyt6DEPW)ZZB5MC$GskJ?Ta9gn%pbsth^jYo??KfPZleJe zTHCibK-+1PVESM*Qo=-H!ek+B05}g`9zyI-S`-AzOCW#}<^I c;&;O4-}r8{{}(CdqtrD-_a#WEYhZo^0MduIxc~qF diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410347 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410347 deleted file mode 100644 index 3e945a9e24fda7c483b86db25008a2f18bea455a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3696 zcmZQzU|?YM;E4SaxT3-3#~$koOKN3`{q9O-?k&BQU~-IgZS6iipc3IJ``$O_ubhx6 zfAiQmeNLNq9LFjQ56tp2kYKdRHTre^uGs0FVb5~2<7BQk^9esy)#S;(ygt~MS( zPe*SHSqlTrU`SeYwirYM0V9aGT9kP+Dd4+jF8l09FHD8Z-v57bd5#|2{?!|u8@fBuc8q!Inh%ElN!8R?uzALx z$?cBI)=ZAMyxY-zw?GZUF}97%OLNl}P4sGfzWQt$uTLO@Xsb5wgKe9ar+{3{eEh;5 z<_{ni1e_`W(kTo+-VPx8+1h(*7CT+MLjTPv-FarU(dM)#!NtqAf32}}yZ_AmVBmC~ z+58W;cFU_TH2Jws|5U=WEoJR1|7J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5HMqD0pK4xz z?sD`WK8Alx&pmVaMdZ^j$(Z`AmRp%-r5|ryuNvC%3FKaIxZH8;G5NW4ir|IFDU~9& zH|-o=u+4s3vuMVmHonY=94QF~26X{o+Ry^3M-CHYHp8|*g5f4f67y%?685;5=bQWQ zpC6ZSeM`et-i(vyYF`4wlz~C^Y$}KX0Y-?q3=Y-rKKB?%te*P!iTQlpiwZZl9CZ1n z@k!~>rmOdBvkkqOW(O?TIor#*eZ#H}vsH8A&%N50Yu72?q3XDQ!=49R$3gA~`(gSt z-xGX1A57(c{$`(4x#_s-Bd$krE;G0}6Ri*MbO%2p#t*k&iCJk^{<+pM^~iCdZ}zPE z$?g75PBqhn8ja!@PO>Y^~IJ?H?R0edT(u2b4cXy`tGqIJ40rco#ux49u<#^oItaf`!qAE zeE0T?i&t-wX8G@4*>t2k=Jl`Hj+tJvmvyxrW5G6p(kBFS~De?Er<^I`D`@&_&Lp~N2;!Ga`!#Ds+sBz?kpkn#u= z=3xJ!)f1qyiW0wL*pDQD#Du#BoOj?nd~PE#KD1Ug!QvgmUL*k|CfpUox(ObJAe}^) zKS=(7+X!S}bI6X(Q!?-M+A*8Va(g^|y-UabqJ*tK@0Pr|@TD(g6IX)>RDa5UAV4yL z5y<@qmBYxBMAShH?CTemK>U4-&Ug5?-LT1U2Fiy}STNrJUyXe+t(U%a|`;i2Ym}IyOsk|k|O;VRiWT5Q@4119TkeDR938mg3 Ry3L2=54ep$1~!Ml*O?dzS diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410348 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410348 deleted file mode 100644 index b04d6e18a0e9d8d75cd2cba2b8630c76721a190f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5248 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410351 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410351 deleted file mode 100644 index 7fc2f318e116d92fc6f7476f923f76bc28d2009b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3276 zcmZQzU|@J%`S!2zJ;h8=><{mYk>xty(ViN_X3ptU7oKo;3ik7?3zc4Rq#!wBU!=^8 zK9@K9_MX0E@pp#s%%2-dw$8Y9EFgHYeBQrZsp``n?N+_SAljTA5^y6(1H!&~} ziYuTxCMae|@eh2;R3687tlCp)$GxkbDf0sk-}kc!vDzmw<@3H~Uk1ju1;FUq%E0t} z22c+;-heb10ONBBkil}t&sogmfZx3*7cWZcRY~W_6sy>_e9Uyew5!I;O<{%uPz^{Q zST8~Qpz2=QUM_zVV5=FpMmNmifV4blrw_;2TWrJU-g}B zf7aUYS!uzMB_-UpCzI8kZI(@q-7BY8_B!p6F;D&RbB8pT1x~JFlDf10<+jLaLfp#s z`DdFp@7CERd>-U4PtYT;5X$A&$ z0bqL41}bF+sfPl1*bvswzys40;%x|Kb{lu~w0kk<8vf;vSsOd!|Ka5KtK5~tpQUZy zBob-J$q7=#`t>1*0@(?U0}uxa7$NRraMwZ6BH`<$76CMmU-&5u0$mp}1z?5S@I zo`*KiF|Ab-PJdwW^qru_zITzX4;SZcmSB@zKVS3zx0QhtbS9)^@Bz(Z(q6T^bPf%fE!V#ntocBNsMpD8; z@Zn;x9w31n2Ou#}95MsrM;F8a0V3jqLF$q(4>V3e`eA+o>qp`sF~L$G0-R>xJeYf+ z_5<@)JyebnR0hG+5$7h=KQwj|$nCK38fz(L0(F7X z7rEg@JGW8hCX{rH6i7%+1_o%pLs1J34^U7-?MDhPm>5_+F=?I#XM%VA!~5kKR#G0HBl`u=GnWd%^ZV>j_BHL~x@`mvl^a_1;F z|Eehk6-sgOCZCN;d}_5IYSjh)0|Amh7=hehP;+4A1Sl-QfQUALm`3~6cfeo)wL7K* zHSt2Vf+?hgg~Wubz?H_p_5;&c3sfa6oWWe;+_df^7Wf#08}FUy7KK`F!HS1{RR_okiVK8vUO%$CzLRW;n5rIea@eNJ)1 zdzRJ17?t@zGZ>N!YA=f%kX=|V|C?6X@O<}7B-5{zjsw#x?i(F=iF-z zYmu&^gx-Vy%_dBoH*-(3{F57;tTv^Ib9b&U{_{0Y=vB(?mkz58Gcs;((c|L$daQI8 z%Wk2pREO`k61SX};x3r5mvOVjw;QvL@NqRHmNNW%&d7e9LA2F?_rbQ!%TquuWdP!gn&y7e{!6L^cdWSZJ@-obx(f-RxJ>ffB?SmtsQ)W%) zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rm)ge4PRze!&h{_;Eaw+vSnz04HJ_&W%jC-ii7Wpy%$U{y3Eb`j|g!%t2`%sjB=Bnwr-=6}agg;DNnXpRd)XbWR ziZDH3^MP^vV#>p?^Pi+m*Oo8elawgVshw=IpgS}Ch0f!xOr~i&PPP^3wPc8<_dlKb zD$U9L;7Z0N->vw*W;3tT_-ykEkPibOaj={~?Zs>z3uBKay+*n3tImsDoY9rf z5K!WDMT-O}aQl}fjGw$-AGkkags7~CY z>;+6Y6WA?4e}Bu$uaVg_$!;F+nmKMYCm3%0%bI0WcIl<5xUlS}rpe0Yg*FwPJ<%eq zJ>ol?{2N#$FSV7~&3=F2Wvs;ltDIe&P&YVyo+P!UK=ZfD?!C-u+osiCIm~Vt_U$Uq z_6cI`!X=LEdU11RtBc;Gl6QwCT#qSbROKy{!vB-ig4_9F=(G2yNOg*7q&mG#)%23JQ!oP*r23Nw^Y`OdR! z?^}5>r*@$F4M2?HMhpRv8l>BUSbD*YGveuzxB>L z!(%=tDrEi!ZRucW*$m8+|A7F>&5S_qFCZTTU};z%!Ub0Ngvv_>1~HBHb@zbY1C^OG zfcki0dOw=1-gdI_CYSXZzv710{hlLkB-47DCQ4(ID zdXE}$2o4jZasnKc7ia0-p7;Fs;fzijN%O|&sT1N;-Udx~Z9H3}^etVITM?`Xv)%v; zLkVb@=fW#Cf^8z8Mys#)?m*i`laLJqv5^uc5)-ZpM;e9LpR_3GHB==^m=oouFA+90 zb`#b#I!N3`NqB+UwkQB8;*gkdB{<>`QePpZQIK9x8HCavA=pM7r zl$~WU+HR_?fATLjOG?xK`_7!1|FMn7^r+|QeV%i^_nh-ye&74P-*?^*K@h~`;JYJq zJ4^lOI=XC0xL=fV6fk2TGq`E@=KQk5t;qfS=)>6=X%EKZ@fQqq@n$XTsyH7 zSMp&IAku-K0Y|8O}^I~E8^tmW?Qe6*g3P1R4#4kb1^%Vb%ERsY#?3*chcYp zhyZW&%~BPY!qpu*uNqqw_tFz@NxB_&wfgR+~saAVTt)W3K2D?b~r7A#m5J zf?pj1+nwhd?NJSKtMhuolH2;?M_J9g$6l>|n{E?dQ>y4=)0nf){hYVnnOEo2hSP-3 zh}PWq8Qq=gqP!}+&3PcG_)J=l`!>?Om9_69X4EH+T&|qG-ADZS-G4lL0SUAje^+Qk>FV56ehuR zCrSsJ7inLwaGj21rN_J@FWfpZE&S0<*VN485?PYH^!RxT^9@GJbXvAPs|<}P8LOmz zY%^MXBA~}>ncER{1FeM7zYz-S!w%<75n_t1+1sM#ld`&kdUi@uSM_%9cvh+!m!H-j z8LTJkbSvfi7X405w>VYnC&C_2ssIL*Cd(BNB7#c*3fmhFENTpE$V;X^h%pu$oaK^Z z>2DZ9X3C`Bmu%DRZAJ*RJP?B=Kordx)B%L&k(7eKOVXY(SvRUuyG}WZzL}#TM(*D; zx+LTJ?YN_J6_cQX;+-9EfJ8v;g51ilig%{j1r)tseW*NaxF;gV({6pS*`bKM;CU{W zT8=7s7d*G7yKQ#gx@DLsqYLCHh}7&>1X2G0{ez23UIlIS-~ql94G0P_*4H;M zGGu?{$e|-;tT`|fpN^(J)U&mMGJw8_PfHhT)YyWtA6cObLzZfu8LQAsjf^w)C?D-^E%dFl zJldyRCDV=yeIcLj$bRVK3xvp30=wluTn+5ZBcKo zM23z5Wytd8w4sNF#~)W{`3F}g8NdaN<`j&`r2a4;FHAeA{f?#@ZlVXb6KYm!m^P+7 zGcG>clrHu3w}&TpGJz=pa~B&2XJ{0o&s|5@dL;F=j` z9omx1@_cKG+>4WWpPtmOxvbW#Y?5;E3R1B_bD@W01i%fI#CZMsIR zZ%JwF&S=JH!(1RIXC3+TQPF}6~gnXO{3T4Qu>d_&Q@-3R57fkSDcKvY`E_n5yL=Qr(6&{R zg#j?4MoRfz<7@I+KW`2oHZg^1rA!mQ$AYUrIG^5FTARUQFA}&vvx!&iU_A?B{~%Oq z(tj2wF6{pnX8QjF4<`ippXW&MXa9LN9ur3wjy&vh)+LO3i(v0S=+MEQX~!iC$VR7MylJZ~5@js8%3o_ZM5r+fs2GeH24EbJR+ zO)kQo5k7h_M7X>_3hTqhfF9gmxrD=sW4WIv$|vd{)LIZGIj;Ws!<2vaD`SG#Iq~AI z{ci-@RN@7D=`WE(G$y$H0!?LgW<25-E8iT|V7BGy=?ymC_KoWC+O3OA%7|(!<_6cW z^G(pgYLvbAfZh#PqZ9F*TxhXvfK%M0eKLX+?qCjLy)q5xiE?z|h$~ne%axd@c2WOe z-up4hak=0RQ+LBx#>BIBzY%Oxi5EQYe2EXq1? zU^eJSrfK-mw=$KBqgE)w|1%^$`tn_WvPBVO(sL3JG=5Oa!p=&`96ip6D@+{A`8rXJ zvi*A%I1gZw<6_Pyrp&L5iD!*|BiN=AFL>S^N4Uh{Sgy!K`^>*<6zX!$4BS0%(sOee tvpK(Aa~9A&5B8iyu2+oV0chOZ`LKV%-Glr&_Q&_~{GR7OqnGE*@qfILsdNAU diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410354 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410354 deleted file mode 100644 index c4a5198450c3b2da6d339bfde9c173896b4056a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4704 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 NKqbP08@l#Pm8&du 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 diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410358 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410358 deleted file mode 100644 index 7dd1d6f97f479e0b51ee17d9d71388ad3042043c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4804 zcmZQzU|^WF^xHhQbNlsIq+faew)Nh;|Cu_vvn!I1>;KrZTd1nxBT$L3c-Fib{!S)= z3;vWz1*T=WTzKZ2TGiBcMMeI^lroNgW@RhBz4Q=VnAlW!I(2U9tgTb@qz?YoX+Lw} z-8Q|mM*VR>GZ>N|tPii!H_EgSwe8WLz4dhN z2VHs}g5Dey{$-*Gwe1fHmo3TK=Qw^2*Ms zflp;-sWqNDo+JHyO-+X-Tk?nG719hlcA2lA_U~l&{erRs45F=Oybrc*UY-JSG4t^Y z2k-s?u^`}75s*${@bPv4(Mtkrcy2_p3Klso(L1y$l$T-ljP_qn>IvW3Y9Aa4oib}W z&uspOTf61e7n=NBr++Hp*_N{Qm4CLB|37D;JHOy&l6iQKhKWw^&rb{~|Nf>1#WZlq zo}QD~qUd0ul@bjn?17q6)U>F#} z)PwW@0XY63Oa_K&d>jAe*B3XI*`IFrU1!U*;b@TSd)ax(GuJnA1gF^ctix7inE^OKk(c0l9Y`k$HiNBA4oF?bvG~ll9>7GWJ2hF zpO3LpQLP0_e!X$Mvbok;pv;>eXdu`RUDIBNm`|L1*Lj6-Ldb;Mp2A#8OOhAO5zKMA z`d~?$&rt>jbpZxpzYGS(uuVWcC~gO)$>UHlj)LL>D?<|lQzSKDwJ&Wim%j|*uW5U1@-wTYYmUzlcyj*!vWy!bcQ}UlMg{>HFpz%gT5`oKzS7>Uzw-4aM{&5F zDzSK7o*`giyiRN8;%lEl>Ld!J8ldVKA?{>wh?}-@=Mk%|$^6gvDw){YP0BC$zV-ja ziU2L4kki>EmNqNbY~IexbG3A<&D8iEAH?Pw9!S*pN__fe#mf4IoquCN;QbUmqGkG!QU?%>~BmZDya7QKCLN@lMOr8S;xw z+9swnS-ewZkrdd?s1~PWm}dOqLbk{|xgEPxkNG#}tlHD`X{AYP-68gh9s26a!r^Jt z@U@!pZHd)aj#?=b3l%r0E1oNB-5&>=-Or>tA0E$Ct;i6Tt9KvlTRh0_S5WmxEq!p2BmKhNcj&0KpGY%j6m)`unZ)9Faz^6DDJ_4h;U|L zU%x;G8rC2)S)p3N6wDGJ2Z;$+0Zxx_9~0snquh4w@P0Lklb<^mUf!J`*Rm#AZhPEY zmm|<@2+X?>fGf?Qq)~$98PF_n9fOpvq2_}rES8{zA93cV%t6jK1kA^pc4%M^CH}w& z79;^ACfujE@-lil0OM-o6{lHoR_yiAOnq%M`nK;s?5UL*k|CdqDM zKrUa1u6L3A0k;vzz~+$my9(B|%?e<8U3-W9FRzQh?ljSmf2-fQ9#!cyvQ~Buf$GOr zZ~TJFf#Mz|PZDl-F^J3fWU)ZoUK@e>d7x&2DI|9yG2tq3r8RK9g{$5m&P|yMXzV7e zd4G_&4W+yw(M_QC1vTOjy}STN`tj|b%@y5qE4kjdgr4i#xPn7ho_&_v>T`*G$!ssu zH=ci#B)a$mcD4^CX_mj S=rIB$e<0;6>kec##Zzt;W_zxDtB_FDUF2!fy&tY=en zMo8ORcSu&P<51Bb*(mmtl(3|TqpXa@bIbh)U=_X#*^^YgyEhbbT-#s02zx~RK#`MA zIpSQW_`a%gec*{VP0eG%v%j>84D+&`E#a*cC>C?FmQzVOw&S6rgs5;}8temd%51&{ zdbr`hB}bxJxGK$;-9+Ysy?uVx_CN9zl_=^08fO$!${G*8R)$rGZ}*n@Y3i78nY;R(>`j6_BoL;yw!i$^uVjFjrLMK6p9ZA4*6=gjlObaxBIvWskFM#q zWn1^NR+hr8t5$2Fl;ntMZE44M?8o|VTP0jLw5D2;g^CT1&r1Cwa%W2Y zKipN9PxtC^QnNYpgNj`A)LV!=`(GD}eJ56nG^YM5RGgU7>D}YT(1F{s#MHIa zN1RE`1kUM)bnYpTza4L#mUo_R#c*(s~_w2~`<$U)LrDcj~tGyR-7rUSMDq)s( zyvp|GkLI&Y;bL{d!L4^$zn2S1vOe5RszYPq=IQ|vvm6dovuRvXDy{MAkd#Yv;x`MD zr(M2RGgTLms*m^i;F~X=S|jhunsCJa{j)gkU=Q5}=SGi~u*}m*>-V;20C!03w~T7B zBo~V|C9z6+j7Ut9Ik`w;k;Y=42A=ixTVwdPzE-Q3 zP*zsiss>M>bM&5UYW@`O@4)?MkbxNOQHKFJ-RzIP-RhQvYT<JSrH5pQN?VP>og zOy-(vL#OkR3*5fZWz&Zg;_W!}8hq48{oQ!gl?!FhU+NqOT6iZrR2#yfScwi-3|`0L zdxr?@xdXiKH(fhrFfk&k>C7t4F5s8L8<7}VTCVtR`bjWBil>CCMy+5QF5Qz6={bHs zS|jv1cM@11l9!pv>~o#}c)2C*jc2RwbnpbF6W5X}OzBtGeq+R^l_UY-!ZYA~VJoJO z0ztS7L2!PE+G50jbS9KYMcPkaQG zWL7EEBC6nmLomR5V?%CEOtUSqxr_fIRMrxqBdDTzsCb}Kp1(`mc>DMPPTf{HC26v8o-#yb#}RHwb49&Y*eN;d7}8o#Oyp-lFnPP+Lp~>4!Di{Kw2RWNbK( zJL71YG8%uzKO5xZoWN+ygcI(zSmSpJ9SQL=b=r@+{Ive~0ZeF>Sc#vk|TPM{yY@ z7(_Y>W--xo2rQZ2&luK0j|dBk0eS03iYwtZ_p%$QQQgeBIk4x7>lMA^TGQjV<6cry zb1?IT&m=f2u!eD&{!B7))<9_P822>HA0y7iAb%=%NPL)Ug{Y%>{AUi6Hw~`mN@4=o zv3$|_|BYb#ntUy+$(Pm;$;l%71@;^ud|)D9%)iHAto#4_3?t{}?Ndy|g?UZq(8}e6 z;radoOpNPWt~x=4>raRSF4RH0q1)?y3V(CmF>P_!&?v~HN!+d4shApzrkVT!Zm^7D zz`?_5^d9zH(D#w0-=83%jmDG=^d0Id>}L(?3+b>R@PI+2Yb>k}c4qzUKEfoX9V?6p zV8`-B-$%X?Z1eV!&%^}YgO{U*3-=ME=&{iU9R}OQ&0C-C3vg&3Qt;#Ev*;C3tWT^j z)^ew6_@K;KjH9#YJuK&RjxzCo60w0DZ>B6i1oFWVyna z0Cp^2bdG)_*yeHcGckc0EJqC&BFrPPV$F0hq}ug38>!J#B#}| z8>qzLlm8>HvKz@~mGl?9w&d$OxBB8&In~K)LLbSPWec*{?2UUXzkZ%d`17T^7Kv_^ zS!b{Q%Rk8O)6YAJSAvV)JS^Z?E@WY)`{l>8u(!*foY=Ke-Ky%uzVnH()rI9Rg(ma; zm}k7-Dd;|@#rDtg+;>G%WP2a~+pPA#`+ITU$NQ=>1|iK1qOBIZ54LSyo&s_)^YIG@ zA9;XS5OAspNT)FPcsqdTC4n_OHzHXDiyW8e9oiJi%P@OJ`!6T;gzs#%4~~RRnKhkf zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lDl8+=$XDj$AY^BuY-@Dix93Lh z-aF>HKvnx(UWvMcR1@J2#sF8aQie00LTNUl6LbG;jbd0`sQx<$6@O#Vi=0dBr{65S`M1^gMD+p#u0?CY zL*^W6f``jAzK#F#>x&!9>`%A*uCry@a5TvEz3jZ?nd_g*UXHg^WMFJt0L-gqK>NYr z2y+LJ28R(r{R|9jAhjXhkP!QoKJ~fP63y8AZ_R!@n8@wFjoH%9dL#3M>w1&c?8|h_ zW7xQ8kKR$JEkJ!>Hvr44&c^P5Nxa7XK@RpaeAnE5JU6U8QftFceNUU5GcP&6w=Z5I zy=CG;=dZ0Dk&BDJ{*yUU`(a{0jzLTRgyLtiOdQ-m6T$9(R2VH*zqa+Z&pSU(an~;s zN`!Lf>?+Ro{j)tmI#|Tv9+H1yX#hk^`|*7&p^m@(<Kg;}dDV z3<>6g`~dR@E$yMi9~i-cB!I+(g%Tv4!+D@M0s&|^qO}!Zem4iI0GmbS^b58cDNiH2 z7ZxV8uoseV5M>Fny$pw@ia1<}xiN3M#*F!;XYS9ux@5m=S6FSevYO?&t$(inb*+W#IV|6 z|G!gGf~Su9eRV(ZyLTz$`Ulo&spiLC{Q6ROmV3n}sEH~6fdI&c*~JUw{)5Va!V47M zI#50_?R9aF%+efa-(fjeKTI=_hFOBjgeyRgA6PmA+Yd~Gl~9!^`GSZ(1jtPsGHaB+@U8QL&7F) zJS4vVhhC2FpZ+tvF~=uAnXDEraY?i4n{Qy#XUzj<4ZqaCXPi9P)zFxvS-Yr1ASbzB z@g%E9q$$u0hNMMj_kn02U<45>RL)B5nOn-{t2rw=dd(8+!>ja-GA%@Hd-P{-J)Qf( z7^uYI?T#(tiyfpVy8qnl{=O-r!2ZPg%S_R%osTb79=|0tt@Qn_)K8P_15=wB;*@8} z9o@5M!{x3PzO3K>Ke6&x7&h^Lc9}WpC*K~6cGiow-_7q73uf@Ha^?6aYC6+cM3r^7 z$X@jsIuCUddGG!3e^a4!pKBwViMjHe7*Lz_Z*8D`ID|K+5f@SUyp!I97@v!?UR z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^lK+FVEKY3BnZo&BW*@w4Hxwbrj^RuKTm(!d4p9V7zo$2b6lAXxF*tP%|28K{Q zAT1yOia&5164cMYzy?wq;%x-d$MC2yTC9F;>usNRew^a2UnZ0Y<<8kvobCH(dxCVZ zh{HXg5^;~R7httOf)VTnU^)niGE6@dsU@N%o@Q?#(PXZ8peCSsyWP9{CGoQTYqa;j zTJO5bEC&1$PM}#}|Ncs!`rK-XX6*g9W zYm26iVH)4YfBE&rjb-+y+kMyBGHo~-TKPh~I1TPlLo!@`1~TYzp3;eG;j z1_LA5eZa7YSyZq<>#VZh^m_(>B_2P&uDoPvoIzVxq`(?;gNUkTnVG*NDsCOQcX_$$ z%&ae$_8;r;Fk|WFyDFS{-`3oN-IfDrAUG@xUpq3-*r0f38jEW7E0u34oZQYzojyu= zo_QxvnobY~#d!*YfY@mU22ECwyI~Fi(MgNWJ%fsI78Dm)85^4zfHOHl9aw#ef8bN5 z@;JU@)t*W_?p^gvnICZYzMn;i)jo+SpZ7KU0?l9w2n`DGaRr$Q0qLi%C0ESiEA8F- zD_?JN6o=cX5{uX683Go@>$GMrzV;cUiuLP5sA>jAs9PQ0Pk7dQJ}<{cRmL{hqU-D# zeSyz!W!zadTszkh<>vS`QdzcL*wK}v^03a8i;TxMbwy9TpLuGJ?^K&7T=n*LQ$g-! z-taYeLg&RNX`V-!wy#jIZ;g!Mdh_TpzxAF}$*k1-HFi)-!KDF^4GR+(4Uz_hEi*9B zfYJ~c5E0J|Ous%fAnSqY1<}ZcL&X_E<;gU_QtXFn`d}9!mUy5iCdoNK9BL zLDD>&2Pp#?VBv^XH^KaF0aOn*i^};L;*5=p_UIi2Gm+g33lmz{3n@>q+sp7vc!jaf zs>pl0SPfqJ_OWT(KCwu$h@ZaMRlxDO_~a>5pkare_Ce)448Xz-RCj{`5%mLu)TQDb zz<2$LGfu(w1LJf)R2?i#!CWHU6hdP+f&2;!FL)jsByOW5yg+RW zl(<6TATgma0|^5-2gm^F$CWRU<-leU5nk~6mWZ|o*lHjFYl9%W7gVN`8&9+g6Uy8K zN`G*G_|A7E#4$Lk_Aom~CHdwv@mA_y>L|cV{ef_)-(Dn)oP!p)l0tYZlfC5NNxHK-m xf$ayDBRilfQSt?mZt9`2n?P=dg%>=14idLf5?-MAqedKp!vv{*hetYy0RZ;npVI&U diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410362 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410362 deleted file mode 100644 index f253e602b8f9f673be338db0ccfbf617471911b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5432 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 LwPoRv4q^ZRxslG% diff --git a/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410367 b/exp/lighthorizon/index/cmd/single/fixtures/ledgers/1410367 deleted file mode 100644 index 6b12c558e40c51c19793770a6a510397584a1d17..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6880 zcmZQzU|`Uk>nFf){>`mt%0=b3cI*j?bzhcR^YWHkrh)TPujBk>KqbQOer?c5ebR7J z)9u8RPy1&`w5jIqWSJD2l{atx+;`V25Bu&HyL{Qrk(-zMp#1!U|5m=7qj5_!I=ynv zlh|^#R!2^t84O8_&fWvjK)?thR;Zkn*fY13%~x|)bo81f)`wT=8)aIE+V<$r-g-Ls zgE3Hv19$a@Iqb8qyo*iz62h0aYIf7LeMvt|x5s&}`{!nu9)4w^yfyRnX=g4pEp?vY zxlzi*X2X=8harXsHLtxFU(5Q0^@G&=FHDuXbJx^peT~|GJnIiz*SoFD-R1Q!Y?Ds< zDyGNll)v}VmVKJ{PFSbQauoOZiK}ybrc*UY-JSG4t^Y z$ED_gSP*ck6iBBq_;@>j=p}(QJU1d)1&bV)=pEV=%F8f&M*A-(^@Q(iwGWPjPMI~G zXEy)Ct=;nK3r&8m(?6B)Y)e`D%0FAm|DUtaonLS>$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V*z3&kopw=z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3ejION= zOy7YtB;J5D7y#q*2av&X$In^JQzbS$P}yCwtUQVzqG5y%S~a115gbp zzQJ)$&_1ZTm$sM7-vrodhI7^>Gw!h0v^_TYnbp!Y$7cvUIe&jy#too(OpYO*EDT1m8P5Hfcfs{n{nyNEjOSNMWInKP`sgj}I86l{ zmZGhuK=q*ThXHul5Y*4Wzys987~*XN*88Y1TC9F;>usNRew^a2UnZ0Y<<8kvobCH( zdxCVZhyyIIF|dAp2vW}t#9UyF2!avpE?^iulv#Ve%%sS2Ln&vB-MvM--}b-qk2FXY zi@Tlkr}B=Yf)cBz2%DQt+|JU1Nu0To_kLvV&s~{tU#5Y}>|yiXH}Eh}Q#Si(GwH#} zO6_a;6I*f@GY0q7*ZT|X74O`0t*IdXIW!DF9>5v~1ogwiz!2<i9Xz%oH)webBk=pIK@hVAsL6Hp)uV3j?pIa@_jJ^NX?8k$N-2U5`E$yr~GEca! zH)+kjOvgNsf%w7-?0#Taty`PkefRqE9y3uEp>xW8D$kCeyV@42WteUIGIz5R+aC|L zkg|Kc?0!;7j~5p@ioOu=o8zYG%6%-l@KcCWmOmTN8gP2q)2M$vsK;(oG6TzP zJ1C!U8OOjNrqMEg70@_PIX54uj~AvFM8hmWWx`c};}XsT*$o0v`+@Ov6Dr3Ds!O13 zBHdImi^gsOxg8c>gUxM}gx3O~zo-$1;4ndIw}7MXxPO^e@xO*ZJqgR+&k7Rvwq#${ zX7qOaoMcsZTswq4AFK$Rcfl-J@`2GHL1>t_6hYK7Fc2;a7{nwNyPW~12T*w+4%7## z3*Z3Ba3m&N8b=z1*q^lM?W*fbdb1>lJEkR=~ReANST6^MnUlp zs#}3&AUJ-(>4Avw0=B0}tp}KE%?p{X)q@ISAOPBloc3U0LsR?BZsdg3gKfvKAI1MP zss~>^jo?whVLyuhX=eY2MGJ7)&(Py78})V0Lyf1(sT+=L3~N61Ygz5oCD9gQ${dkB ztKUch;|mBtZ45Ag#T`nT1j!K5CIhNERRSb{Z7tfg%h>wL8-V76+OME?EHZ%AUsf<66Yo#7aF?> zYgsx-+(t=wfyz5-#36cp4~l;%OZsN5nU+#p>rV*1k101@{ndjVo1hZ!01MUlN=yPx8HzTu%})egiZLJZ1hTG8n;pACcO0@T3Lb8wt(gt xSUHb8uK^PSt0yL$Xiy%2%5)2$8^L8B5pE!*EF!uNrh~o6^$BJj49-Oi3;>6SwPgSR diff --git a/exp/lighthorizon/index/cmd/single/main_test.go b/exp/lighthorizon/index/cmd/single/main_test.go deleted file mode 100644 index a18c1a8212..0000000000 --- a/exp/lighthorizon/index/cmd/single/main_test.go +++ /dev/null @@ -1,184 +0,0 @@ -package main - -import ( - "context" - "encoding/hex" - "fmt" - "io" - "path/filepath" - "testing" - - "github.com/stellar/go/historyarchive" - "github.com/stellar/go/ingest" - "github.com/stellar/go/ingest/ledgerbackend" - "github.com/stellar/go/network" - "github.com/stellar/go/toid" - "github.com/stretchr/testify/require" - - "github.com/stellar/go/exp/lighthorizon/index" -) - -const ( - // txmetaSource = "s3://horizon-indices-testnet/txmeta/" - txmetaSource = "file://./fixtures/" - elderLedger = 1410048 -) - -/** - * There are three parts to testing this correctly: - * - test that single-process indexing works - * - test that single-process w/ multi-worker works - * - test map-reduce against the single-process results - * - * Therefore, if any of these fail, the subsequent ones are unreliable. - */ - -func TestSingleProcess(tt *testing.T) { - const ( - ledgerCount = 32*10 - 1 // exactly 32 checkpoints of ledger data - latestLedger = elderLedger + ledgerCount - ) - - tt.Logf("Validating single-process builder on %d ledgers", ledgerCount) - - for workerCount := 1; workerCount <= 16; workerCount *= 2 { - tt.Run( - fmt.Sprintf("workers/%d", workerCount), - func(t *testing.T) { - tmpDir := filepath.Join("file://", t.TempDir()) - t.Logf("Storing indices in %s", tmpDir) - - ctx := context.Background() - _, err := index.BuildIndices( - ctx, - txmetaSource, - tmpDir, - network.TestNetworkPassphrase, - elderLedger, - latestLedger, - []string{ - "accounts", - "transactions", - }, - workerCount, - ) - require.NoError(t, err) - - backend, err := historyarchive.ConnectBackend( - txmetaSource, - historyarchive.ConnectOptions{ - Context: ctx, - NetworkPassphrase: network.TestNetworkPassphrase, - S3Region: "us-east-1", - }, - ) - require.NoError(t, err) - ledgerBackend := ledgerbackend.NewHistoryArchiveBackend(backend) - defer ledgerBackend.Close() - - participation := make(map[string][]uint32) - hashes := make(map[string]int64) - - for ledgerSeq := elderLedger; ledgerSeq <= latestLedger; ledgerSeq++ { - ledger, err := ledgerBackend.GetLedger(ctx, uint32(ledgerSeq)) - require.NoError(t, err) - require.EqualValues(t, ledgerSeq, ledger.LedgerSequence()) - - reader, err := ingest.NewLedgerTransactionReaderFromLedgerCloseMeta(network.TestNetworkPassphrase, ledger) - require.NoError(t, err) - - for { - tx, err := reader.Read() - if err == io.EOF { - break - } - require.NoError(t, err) - - participants, err := index.GetParticipants(tx) - require.NoError(t, err) - - for _, participant := range participants { - checkpoint := 1 + (ledger.LedgerSequence() / 64) - - // Track the checkpoint in which activity occurred, - // keeping the list duplicate-free. - if list, ok := participation[participant]; ok { - if list[len(list)-1] != checkpoint { - participation[participant] = append(list, checkpoint) - } - } else { - participation[participant] = []uint32{checkpoint} - } - } - - // Track the ledger sequence in which every tx occurred. - hash := hex.EncodeToString(tx.Result.TransactionHash[:]) - hashes[hash] = toid.New( - int32(ledger.LedgerSequence()), - int32(tx.Index), - 0, - ).ToInt64() - } - } - - store, err := index.Connect(tmpDir) - require.NoError(t, err) - require.NotNil(t, store) - - accounts, err := store.ReadAccounts() - - // Ensure the participants reported by the index and the ones we - // tracked while ingesting the ledger range match. - require.NoError(t, err) - require.Len(t, accounts, len(participation)) - for account := range participation { - require.Contains(t, accounts, account) - } - - for account, knownCheckpoints := range participation { - // Ensure that the "everything" index exists for the account. - index, err := store.Read(account) - require.NoError(t, err) - require.Contains(t, index, "all/all") - - // Ensure that all of the active checkpoints reported by the - // index match the ones we tracked while ingesting the range - // ourselves. - activeCheckpoints := []uint32{} - lastActiveCheckpoint := uint32(0) - for { - lastActiveCheckpoint, err = store.NextActive(account, "all/all", lastActiveCheckpoint) - if err == io.EOF { - break - } - require.NoError(t, err) - - activeCheckpoints = append(activeCheckpoints, lastActiveCheckpoint) - lastActiveCheckpoint += 1 // hit next active one - } - - require.Equalf(t, knownCheckpoints, activeCheckpoints, - "incorrect checkpoints for %s", account) - } - - // Ensure the transactions reported by the index match the ones - // tracked when ingesting the ledger range ourselves. - for hash, knownTOID := range hashes { - rawHash, err := hex.DecodeString(hash) - require.NoError(t, err, "bug") - require.Len(t, rawHash, 32) - - tempBuf := [32]byte{} - copy(tempBuf[:], rawHash[:]) - - rawTOID, err := store.TransactionTOID(tempBuf) - require.NoErrorf(t, err, "expected TOID for tx hash %s", hash) - - require.Equalf(t, knownTOID, rawTOID, - "expected TOID %v, got %v", - toid.Parse(knownTOID), toid.Parse(rawTOID)) - } - }, - ) - } -} diff --git a/exp/lighthorizon/index/cmd/single_test.go b/exp/lighthorizon/index/cmd/single_test.go new file mode 100644 index 0000000000..4298498e59 --- /dev/null +++ b/exp/lighthorizon/index/cmd/single_test.go @@ -0,0 +1,215 @@ +package main_test + +import ( + "context" + "encoding/hex" + "fmt" + "io" + "path/filepath" + "testing" + + "github.com/stellar/go/historyarchive" + "github.com/stellar/go/ingest" + "github.com/stellar/go/ingest/ledgerbackend" + "github.com/stellar/go/network" + "github.com/stellar/go/toid" + "github.com/stretchr/testify/require" + + "github.com/stellar/go/exp/lighthorizon/index" +) + +const ( + txmetaSource = "file://./fixtures/" + elderLedger = 1410048 +) + +/** + * There are three parts to testing this correctly: + * - test that single-process indexing works + * - test that single-process w/ multi-worker works + * - test map-reduce against the single-process results + * + * Therefore, if any of these fail, the subsequent ones are unreliable. + */ + +func TestSingleProcess(tt *testing.T) { + const ( + ledgerCount = 64*5 - 1 // exactly 5 checkpoints of ledger data + latestLedger = elderLedger + ledgerCount + ) + + tt.Logf("Validating single-process builder on %d ledgers", ledgerCount) + + for workerCount := 1; workerCount <= 16; workerCount *= 2 { + tt.Run( + fmt.Sprintf("workers/%d", workerCount), + func(t *testing.T) { + tmpDir := filepath.Join("file://", t.TempDir()) + t.Logf("Storing indices in %s", tmpDir) + + ctx := context.Background() + _, err := index.BuildIndices( + ctx, + txmetaSource, + tmpDir, + network.TestNetworkPassphrase, + elderLedger, + latestLedger, + []string{ + "accounts", + "transactions", + }, + workerCount, + ) + require.NoError(t, err) + + hashes, participants := CreateBaselineIndices(t, + txmetaSource, elderLedger, latestLedger) + + store, err := index.Connect(tmpDir) + require.NoError(t, err) + require.NotNil(t, store) + + // Ensure the participants reported by the index and the ones we + // tracked while ingesting the ledger range match. + AssertParticipantsEqual(t, participants, store) + + // Ensure the transactions reported by the index match the ones + // tracked when ingesting the ledger range ourselves. + AssertTxsEqual(t, hashes, store) + }, + ) + } +} + +func AssertTxsEqual(t *testing.T, expected map[string]int64, actual index.Store) { + for hash, knownTOID := range expected { + rawHash, err := hex.DecodeString(hash) + require.NoError(t, err, "bug") + require.Len(t, rawHash, 32) + + tempBuf := [32]byte{} + copy(tempBuf[:], rawHash[:]) + + rawTOID, err := actual.TransactionTOID(tempBuf) + require.NoErrorf(t, err, "expected TOID for tx hash %s", hash) + + require.Equalf(t, knownTOID, rawTOID, + "expected TOID %v, got %v", + toid.Parse(knownTOID), toid.Parse(rawTOID)) + } +} + +func AssertParticipantsEqual(t *testing.T, expected map[string][]uint32, actual index.Store) { + accounts, err := actual.ReadAccounts() + + require.NoError(t, err) + require.Len(t, accounts, len(expected)) + for account := range expected { + require.Contains(t, accounts, account) + } + + for account, knownCheckpoints := range expected { + // Ensure that the "everything" index exists for the account. + index, err := actual.Read(account) + require.NoError(t, err) + require.Contains(t, index, "all/all") + + // Ensure that all of the active checkpoints reported by the index match the ones we + // tracked while ingesting the range ourselves. + activeCheckpoints := []uint32{} + lastActiveCheckpoint := uint32(0) + for { + lastActiveCheckpoint, err = actual.NextActive(account, "all/all", lastActiveCheckpoint) + if err == io.EOF { + break + } + require.NoError(t, err) + + activeCheckpoints = append(activeCheckpoints, lastActiveCheckpoint) + lastActiveCheckpoint += 1 // hit next active one + } + + require.Equalf(t, knownCheckpoints, activeCheckpoints, + "incorrect checkpoints for %s", account) + } +} + +// CreateBaselineIndices will connect to a dump of ledger txmeta for the given +// ledger range and build two maps from scratch (i.e. without using the indexer) +// by ingesting them manually: +// +// - a map of tx hashes to TOIDs +// - a map of accounts to a list of checkpoints they were active in +// +// These should be used as a baseline comparison of the indexer, ensuring that +// all of the data is identical. +func CreateBaselineIndices( + t *testing.T, + txmetaSource string, + startLedger, endLedger uint32, +) ( + map[string]int64, // map of "tx hash": TOID + map[string][]uint32, // map of "account": {checkpoint, checkpoint, ...} +) { + ctx := context.Background() + backend, err := historyarchive.ConnectBackend( + txmetaSource, + historyarchive.ConnectOptions{ + Context: ctx, + NetworkPassphrase: network.TestNetworkPassphrase, + S3Region: "us-east-1", + }, + ) + require.NoError(t, err) + ledgerBackend := ledgerbackend.NewHistoryArchiveBackend(backend) + defer ledgerBackend.Close() + + participation := make(map[string][]uint32) + hashes := make(map[string]int64) + + for ledgerSeq := startLedger; ledgerSeq <= endLedger; ledgerSeq++ { + ledger, err := ledgerBackend.GetLedger(ctx, uint32(ledgerSeq)) + require.NoError(t, err) + require.EqualValues(t, ledgerSeq, ledger.LedgerSequence()) + + reader, err := ingest.NewLedgerTransactionReaderFromLedgerCloseMeta( + network.TestNetworkPassphrase, ledger) + require.NoError(t, err) + + for { + tx, err := reader.Read() + if err == io.EOF { + break + } + require.NoError(t, err) + + participants, err := index.GetParticipants(tx) + require.NoError(t, err) + + for _, participant := range participants { + checkpoint := 1 + (ledger.LedgerSequence() / 64) + + // Track the checkpoint in which activity occurred, + // keeping the list duplicate-free. + if list, ok := participation[participant]; ok { + if list[len(list)-1] != checkpoint { + participation[participant] = append(list, checkpoint) + } + } else { + participation[participant] = []uint32{checkpoint} + } + } + + // Track the ledger sequence in which every tx occurred. + hash := hex.EncodeToString(tx.Result.TransactionHash[:]) + hashes[hash] = toid.New( + int32(ledger.LedgerSequence()), + int32(tx.Index), + 0, + ).ToInt64() + } + } + + return hashes, participation +} From 4c08549dcfca0b4c632077f0df55ddadd39c1135 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 12:47:09 -0700 Subject: [PATCH 02/16] Modify single-process test to generalize to whatever fixture data exists This also adds a test to check that single-process works on a non-checkpoint starting point which is important. --- exp/lighthorizon/index/cmd/single_test.go | 167 +++++++++++++++------- 1 file changed, 115 insertions(+), 52 deletions(-) diff --git a/exp/lighthorizon/index/cmd/single_test.go b/exp/lighthorizon/index/cmd/single_test.go index 4298498e59..5946825c6d 100644 --- a/exp/lighthorizon/index/cmd/single_test.go +++ b/exp/lighthorizon/index/cmd/single_test.go @@ -3,9 +3,11 @@ package main_test import ( "context" "encoding/hex" - "fmt" "io" + "io/ioutil" "path/filepath" + "strconv" + "strings" "testing" "github.com/stellar/go/historyarchive" @@ -20,7 +22,6 @@ import ( const ( txmetaSource = "file://./fixtures/" - elderLedger = 1410048 ) /** @@ -33,53 +34,75 @@ const ( */ func TestSingleProcess(tt *testing.T) { - const ( - ledgerCount = 64*5 - 1 // exactly 5 checkpoints of ledger data - latestLedger = elderLedger + ledgerCount + eldestLedger, latestLedger := GetFixtureLedgerRange(tt) + + var eldestCheckpointLedger uint32 + if IsCheckpoint(eldestLedger) { + eldestCheckpointLedger = eldestLedger + eldestLedger += 2 // make it a non-checkpoint + } else { + eldestCheckpointLedger = NextCheckpoint(eldestLedger) + } + + tt.Run("start-at-checkpoint", func(t *testing.T) { + testSingleProcess(tt, historyarchive.Range{ + Low: eldestCheckpointLedger, + High: latestLedger, + }) + }) + + tt.Run("start-at-ledger", func(t *testing.T) { + testSingleProcess(tt, historyarchive.Range{ + Low: eldestLedger, + High: latestLedger, + }) + }) +} + +func testSingleProcess(t *testing.T, ledgerRange historyarchive.Range) { + var ( + firstLedger = ledgerRange.Low + lastLedger = ledgerRange.High + ledgerCount = ledgerRange.High - ledgerRange.Low + 1 ) - tt.Logf("Validating single-process builder on %d ledgers", ledgerCount) - - for workerCount := 1; workerCount <= 16; workerCount *= 2 { - tt.Run( - fmt.Sprintf("workers/%d", workerCount), - func(t *testing.T) { - tmpDir := filepath.Join("file://", t.TempDir()) - t.Logf("Storing indices in %s", tmpDir) - - ctx := context.Background() - _, err := index.BuildIndices( - ctx, - txmetaSource, - tmpDir, - network.TestNetworkPassphrase, - elderLedger, - latestLedger, - []string{ - "accounts", - "transactions", - }, - workerCount, - ) - require.NoError(t, err) - - hashes, participants := CreateBaselineIndices(t, - txmetaSource, elderLedger, latestLedger) - - store, err := index.Connect(tmpDir) - require.NoError(t, err) - require.NotNil(t, store) - - // Ensure the participants reported by the index and the ones we - // tracked while ingesting the ledger range match. - AssertParticipantsEqual(t, participants, store) - - // Ensure the transactions reported by the index match the ones - // tracked when ingesting the ledger range ourselves. - AssertTxsEqual(t, hashes, store) - }, - ) - } + t.Logf("Validating single-process builder on ledger range [%d, %d] (%d ledgers)", + firstLedger, lastLedger, ledgerCount) + + workerCount := 4 + tmpDir := filepath.Join("file://", t.TempDir()) + t.Logf("Storing indices in %s", tmpDir) + + ctx := context.Background() + _, err := index.BuildIndices( + ctx, + txmetaSource, + tmpDir, + network.TestNetworkPassphrase, + firstLedger, + lastLedger, + []string{ + "accounts", + "transactions", + }, + workerCount, + ) + require.NoError(t, err) + + hashes, participants := CreateBaselineIndices(t, + txmetaSource, firstLedger, lastLedger) + + store, err := index.Connect(tmpDir) + require.NoError(t, err) + require.NotNil(t, store) + + // Ensure the participants reported by the index and the ones we + // tracked while ingesting the ledger range match. + AssertParticipantsEqual(t, participants, store) + + // Ensure the transactions reported by the index match the ones + // tracked when ingesting the ledger range ourselves. + AssertTxsEqual(t, hashes, store) } func AssertTxsEqual(t *testing.T, expected map[string]int64, actual index.Store) { @@ -139,15 +162,15 @@ func AssertParticipantsEqual(t *testing.T, expected map[string][]uint32, actual // ledger range and build two maps from scratch (i.e. without using the indexer) // by ingesting them manually: // -// - a map of tx hashes to TOIDs -// - a map of accounts to a list of checkpoints they were active in +// - a map of tx hashes to TOIDs +// - a map of accounts to a list of checkpoints they were active in // // These should be used as a baseline comparison of the indexer, ensuring that // all of the data is identical. func CreateBaselineIndices( t *testing.T, txmetaSource string, - startLedger, endLedger uint32, + startLedger, endLedger uint32, // inclusive ) ( map[string]int64, // map of "tx hash": TOID map[string][]uint32, // map of "account": {checkpoint, checkpoint, ...} @@ -190,8 +213,8 @@ func CreateBaselineIndices( for _, participant := range participants { checkpoint := 1 + (ledger.LedgerSequence() / 64) - // Track the checkpoint in which activity occurred, - // keeping the list duplicate-free. + // Track the checkpoint in which activity occurred, keeping the + // list duplicate-free. if list, ok := participation[participant]; ok { if list[len(list)-1] != checkpoint { participation[participant] = append(list, checkpoint) @@ -213,3 +236,43 @@ func CreateBaselineIndices( return hashes, participation } + +// GetFixtureLedgerRange determines the oldest and latest ledgers w/in the +// fixture data. It's *essentially* equivalent to (but better than, since it +// handles the existence of non-integer files): +// +// LOW=$(ls $txmetaSource/ledgers | sort -n | head -n1) +// HIGH=$(ls $txmetaSource/ledgers | sort -n | tail -n1) +func GetFixtureLedgerRange(t *testing.T) (low uint32, high uint32) { + txmetaSourceDir := strings.Replace( + txmetaSource, + "file://", "", + 1) + files, err := ioutil.ReadDir(filepath.Join(txmetaSourceDir, "ledgers")) + require.NoError(t, err) + + for _, file := range files { + ledgerNum, innerErr := strconv.ParseUint(file.Name(), 10, 32) + if innerErr != nil { // non-integer filename + continue + } + + ledger := uint32(ledgerNum) + if ledger < low || low == 0 { + low = ledger + } + if ledger > high || high == 0 { + high = ledger + } + } + + return low, high +} + +func IsCheckpoint(ledger uint32) bool { + return (ledger+1)%64 == 0 +} + +func NextCheckpoint(ledger uint32) uint32 { + return ((ledger / 64) + 1) * 64 +} From a03daf96616ca1f82946f165c354f2241f8bcd1c Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 12:47:38 -0700 Subject: [PATCH 03/16] Extend map test to properly the ledger ranges --- exp/lighthorizon/index/cmd/map.sh | 71 +++++++++------ exp/lighthorizon/index/cmd/map_test.go | 121 ++++++++++++++++++------- 2 files changed, 134 insertions(+), 58 deletions(-) diff --git a/exp/lighthorizon/index/cmd/map.sh b/exp/lighthorizon/index/cmd/map.sh index 991c5fdddf..d79ee05cea 100755 --- a/exp/lighthorizon/index/cmd/map.sh +++ b/exp/lighthorizon/index/cmd/map.sh @@ -5,6 +5,8 @@ # the map job resulted in the correct indices. # +# check parameters and their validity (types, existence, etc.) + if [[ "$#" -ne "2" ]]; then echo "Usage: $0 " exit 1 @@ -16,30 +18,42 @@ if [[ ! -d "$1" ]]; then exit 1 fi +if [[ -z $BATCH_SIZE ]]; then + echo "BATCH_SIZE environmental variable required" + exit 1 +elif ! [[ $BATCH_SIZE =~ ^[0-9]+$ ]]; then + echo "BATCH_SIZE ('$BATCH_SIZE') must be an integer" + exit 1 +fi + +if [[ -z $FIRST_LEDGER || -z $LAST_LEDGER ]]; then + echo "FIRST_LEDGER and LAST_LEDGER environmental variables required" + exit 1 +elif ! [[ $FIRST_LEDGER =~ ^[0-9]+$ && $LAST_LEDGER =~ ^[0-9]+$ ]]; then + echo "FIRST_LEDGER ('$FIRST_LEDGER') and LAST_LEDGER ('$LAST_LEDGER') must be integers" + exit 1 +fi + if [[ ! -d "$2" ]]; then echo "Warning: index dest ('$2') does not exist, creating..." mkdir -p $2 fi -echo "Analyzing $1:" -LATEST=$(cat $1/latest) -LAST=$(ls $1/ledgers | tail -n1) +# do work -if [[ "$LATEST" -ne "$LAST" ]]; then - echo "Latest ledger incorrect: $LAST is last but $LATEST reported" - exit 1 -fi - -FIRST=$(ls $1/ledgers | head -n1) -COUNT=$(($LAST-$FIRST)) -CHECKPOINT_COUNT=$(($COUNT / 64)) +FIRST=$FIRST_LEDGER +LAST=$LAST_LEDGER +COUNT=$(($LAST-$FIRST+1)) +# batches = ceil(count / batch_size) +# formula is from https://stackoverflow.com/a/12536521 +BATCH_COUNT=$(( ($COUNT + $BATCH_SIZE - 1) / $BATCH_SIZE )) echo " - start: $FIRST" echo " - end: $LAST" -echo " - count: $COUNT ($CHECKPOINT_COUNT checkpoints)" +echo " - count: $COUNT ($BATCH_COUNT batches)" if [[ "$((($FIRST + 1) % 64))" -ne "0" ]]; then - echo "$FIRST isn't a checkpoint ledger, adjusting..." + echo "$FIRST isn't a checkpoint ledger" exit 1 fi @@ -49,26 +63,31 @@ if [[ "$?" -ne "0" ]]; then exit 1 fi -# Because for i in {0..$CHECKPOINT_COUNT} won't work... -# https://www.cyberciti.biz/faq/unix-linux-iterate-over-a-variable-range-of-numbers-in-bash/ pids=( ) -for i in $(eval echo "{0..$((CHECKPOINT_COUNT-1))}") +for (( i=0; i < $BATCH_COUNT; i++ )) do - echo "Creating job $i" + echo -n "Creating job $i... " - AWS_BATCH_JOB_ARRAY_INDEX=$i BATCH_SIZE=64 FIRST_CHECKPOINT=$FIRST \ - TXMETA_SOURCE=file://$1 INDEX_TARGET=file://$2 WORKER_COUNT=2 \ - ./map & pids+=( $! ) + AWS_BATCH_JOB_ARRAY_INDEX=$i BATCH_SIZE=$BATCH_SIZE FIRST_CHECKPOINT=$FIRST \ + TXMETA_SOURCE=file://$1 INDEX_TARGET=file://$2 WORKER_COUNT=1 \ + ./map & + + echo "pid=$!" + pids+=($!) done +sleep $BATCH_COUNT + # Check the status codes for all of the map processes. for i in "${!pids[@]}"; do - pid=${pids[$i]} - echo "Checking job $i: pid=$pid" - if ! wait "$pid"; then - echo "failed" - exit 1 - fi + pid=${pids[$i]} + echo -n "Checking job $i (pid=$pid)... " + if ! wait "$pid"; then + echo "failed" + exit 1 + else + echo "succeeded!" + fi done rm ./map diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index c35e2fc590..5e44cc18a5 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -1,31 +1,55 @@ package main_test import ( + "io" "net/url" "os" "os/exec" "path/filepath" + "strconv" "strings" "testing" "github.com/stellar/go/exp/lighthorizon/index" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) +const ( + batchSize = 321 +) + func TestMap(t *testing.T) { + // Only file:// style URLs for the txmeta source are allowed while testing. parsed, err := url.Parse(txmetaSource) require.NoError(t, err) require.Equalf(t, parsed.Scheme, "file", "%s is not local txmeta source", txmetaSource) - txmetaPath := strings.Replace(txmetaSource, "file://", "", 1) + // What ledger range are we working with? The maps *require* starting at a + // checkpoint ledger, so we need to break them up accordingly. + startLedger, endLedger := GetFixtureLedgerRange(t) + if !IsCheckpoint(startLedger) { + startLedger = NextCheckpoint(startLedger) + } + batchCount := (endLedger - startLedger + batchSize) / batchSize // ceil(ledgerCount / batchSize) + + require.Truef(t, batchCount == 1 || IsCheckpoint(startLedger+batchSize+1), + "expected batch size (%d) to result in checkpoint blocks, "+ + "but start+batchSize+1 (%d+%d+1=%d) is not a checkpoint", + batchSize, startLedger, batchSize+startLedger+1) + // First, execute the map jobs in parallel and dump the resulting indices to // a temporary directory. tempDir := filepath.Join(os.TempDir(), "indices-map") mapTestCmd := exec.Command("./map.sh", txmetaPath, tempDir) - t.Log("Running map jobs:", mapTestCmd.String()) + mapTestCmd.Env = append(os.Environ(), + "BATCH_SIZE="+strconv.FormatUint(batchSize, 10), + "FIRST_LEDGER="+strconv.FormatUint(uint64(startLedger), 10), + "LAST_LEDGER="+strconv.FormatUint(uint64(endLedger), 10)) + t.Logf("Running %d map jobs: %s", batchCount, mapTestCmd.String()) stdout, err := mapTestCmd.CombinedOutput() t.Logf("Tried writing indices to %s:", tempDir) @@ -34,70 +58,103 @@ func TestMap(t *testing.T) { require.NoError(t, err) // Then, build the *same* indices using the single-process tester. - // - // FIXME: We could probably use the *actual* single-process builder here, - // but is that too much coupling? It means if the single-process fails, the - // map version will fail as well. - - var lastLedger uint32 = elderLedger + (64*5 - 1) // exactly 5 checkpoints of data - hashes, participants := CreateBaselineIndices(t, txmetaSource, elderLedger, lastLedger) + t.Logf("Building baseline for ledger range [%d, %d]", startLedger, endLedger) + hashes, participants := CreateBaselineIndices(t, txmetaSource, startLedger, endLedger) require.NotNil(t, hashes) require.NotNil(t, participants) // Now, walk through the mapped indices and ensure that at least one of the // jobs reported the same indices for tx TOIDs and participation. - checkpointCount := (lastLedger - elderLedger) / 64 - stores := make([]index.Store, checkpointCount) - + stores := make([]index.Store, batchCount) for i := range stores { - index, err := index.Connect(filepath.Join("file://", tempDir)) + indexUrl := filepath.Join( + "file://", + tempDir, + "job_"+strconv.FormatUint(uint64(i), 10), + ) + index, err := index.Connect(indexUrl) require.NoError(t, err) require.NotNil(t, index) stores[i] = index + + t.Logf("Connected to index #%d at %s", i+1, indexUrl) } + assertParticipantsEqual(t, keys(participants), stores) + t.Logf("All %d participants accounted for", len(keys(participants))) + for account, checkpoints := range participants { - assertParticipantExists(t, account, checkpoints, stores) + assertParticipantCheckpointsEqual(t, account, checkpoints, stores) + t.Logf("Account %s has %d checkpoint(s) accounted for", account, len(checkpoints)) } } -func assertParticipantExists(t *testing.T, +func assertParticipantsEqual(t *testing.T, + expectedAccountSet []string, + indexGroup []index.Store, +) { + indexGroupAccountSet := make(map[string]struct{}, len(expectedAccountSet)) + for _, store := range indexGroup { + accounts, err := store.ReadAccounts() + require.NoError(t, err) + + for _, account := range accounts { + indexGroupAccountSet[account] = struct{}{} + } + } + + assert.Lenf(t, indexGroupAccountSet, len(expectedAccountSet), + "quantity of accounts across indices doesn't match") + + mappedAccountSet := keys(indexGroupAccountSet) + require.ElementsMatch(t, expectedAccountSet, mappedAccountSet) +} + +func assertParticipantCheckpointsEqual(t *testing.T, account string, expected []uint32, indexGroup []index.Store, ) { - looking := make(map[uint32]struct{}, len(expected)) + // Ensure that all of the active checkpoints reported by the index match + // the ones we tracked while ingesting the range ourselves. + foundCheckpoints := make(map[uint32]struct{}, len(expected)) for _, store := range indexGroup { var err error - - // Ensure that all of the active checkpoints reported by the index match - // the ones we tracked while ingesting the range ourselves. - activeCheckpoints := []uint32{} - lastActiveCheckpoint := uint32(0) + var lastActiveCheckpoint uint32 = 0 for { + t.Logf("starting from %d", lastActiveCheckpoint) lastActiveCheckpoint, err = store.NextActive(account, "all/all", lastActiveCheckpoint) - if err != nil { + if err == io.EOF { break } + require.NoError(t, err) // still an error since it shouldn't happen - activeCheckpoints = append(activeCheckpoints, lastActiveCheckpoint) + t.Logf("Found %d for %s", lastActiveCheckpoint, account) + foundCheckpoints[lastActiveCheckpoint] = struct{}{} lastActiveCheckpoint += 1 // hit next active one } + } - // Mark any checkpoints that we're looking as found if we find them in - // this index, and also error out if there are extraneous ones. - for _, chk := range activeCheckpoints { - require.Containsf(t, expected, chk, - "found unexpected checkpoint %d", int(chk)) - looking[chk] = struct{}{} - } + // Error out if there were any extraneous checkpoints found. + for chk := range foundCheckpoints { + require.Containsf(t, expected, chk, + "found unexpected checkpoint %d", int(chk)) } // Make sure everything got marked as expected in at least one index. for _, item := range expected { - require.Containsf(t, looking, item, - "failed to find %d (found %v)", int(item), looking) + require.Containsf(t, foundCheckpoints, item, + "failed to find %d for %s (found %v)", + int(item), account, foundCheckpoints) + } +} + +func keys[T any](dict map[string]T) []string { + result := make([]string, 0, len(dict)) + for key := range dict { + result = append(result, key) } + return result } From 4b32032d5e746bc2f03f0263dcfe240515bb4f2c Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 12:48:18 -0700 Subject: [PATCH 04/16] Fix map program to properly build sub-paths depending on its job index Previously, this only happened for explicitly S3 backends. --- exp/lighthorizon/index/cmd/batch/map/main.go | 43 ++++++-------------- 1 file changed, 12 insertions(+), 31 deletions(-) diff --git a/exp/lighthorizon/index/cmd/batch/map/main.go b/exp/lighthorizon/index/cmd/batch/map/main.go index c615935bef..61ff1721ec 100644 --- a/exp/lighthorizon/index/cmd/batch/map/main.go +++ b/exp/lighthorizon/index/cmd/batch/map/main.go @@ -15,7 +15,7 @@ import ( type BatchConfig struct { historyarchive.Range - TxMetaSourceUrl, TargetUrl string + TxMetaSourceUrl, IndexTargetUrl string } const ( @@ -28,23 +28,9 @@ const ( s3BucketName = "sdf-txmeta-pubnet" ) -func NewS3BatchConfig() (*BatchConfig, error) { - jobIndex, err := strconv.ParseUint(os.Getenv(jobIndexEnv), 10, 32) - if err != nil { - return nil, errors.Wrap(err, "invalid parameter "+jobIndexEnv) - } - - url := fmt.Sprintf("s3://%s/job_%d?region=%s", s3BucketName, jobIndex, "us-east-1") - if err := os.Setenv(indexTargetUrlEnv, url); err != nil { - return nil, err - } - - return NewBatchConfig() -} - func NewBatchConfig() (*BatchConfig, error) { - targetUrl := os.Getenv(indexTargetUrlEnv) - if targetUrl == "" { + indexTargetRootUrl := os.Getenv(indexTargetUrlEnv) + if indexTargetRootUrl == "" { return nil, errors.New("required parameter: " + indexTargetUrlEnv) } @@ -66,28 +52,23 @@ func NewBatchConfig() (*BatchConfig, error) { return nil, errors.Wrap(err, "invalid parameter "+batchSizeEnv) } - sourceUrl := os.Getenv(txmetaSourceUrlEnv) - if sourceUrl == "" { + txmetaSourceUrl := os.Getenv(txmetaSourceUrlEnv) + if txmetaSourceUrl == "" { return nil, errors.New("required parameter " + txmetaSourceUrlEnv) } - log.Debugf("%s: %d", batchSizeEnv, batchSize) - log.Debugf("%s: %d", jobIndexEnv, jobIndex) - log.Debugf("%s: %d", firstCheckpointEnv, firstCheckpoint) - log.Debugf("%s: %v", txmetaSourceUrlEnv, sourceUrl) - startCheckpoint := uint32(firstCheckpoint + batchSize*jobIndex) - endCheckpoint := startCheckpoint + uint32(batchSize) - 1 + endLedger := startCheckpoint + uint32(batchSize) - 1 return &BatchConfig{ - Range: historyarchive.Range{Low: startCheckpoint, High: endCheckpoint}, - TxMetaSourceUrl: sourceUrl, - TargetUrl: targetUrl, + Range: historyarchive.Range{Low: startCheckpoint, High: endLedger}, + TxMetaSourceUrl: txmetaSourceUrl, + IndexTargetUrl: fmt.Sprintf("%s%cjob_%d", indexTargetRootUrl, os.PathSeparator, jobIndex), }, nil } func main() { - // log.SetLevel(log.DebugLevel) log.SetLevel(log.InfoLevel) + // log.SetLevel(log.DebugLevel) batch, err := NewBatchConfig() if err != nil { @@ -95,12 +76,12 @@ func main() { } log.Infof("Uploading ledger range [%d, %d] to %s", - batch.Range.Low, batch.Range.High, batch.TargetUrl) + batch.Range.Low, batch.Range.High, batch.IndexTargetUrl) if _, err := index.BuildIndices( context.Background(), batch.TxMetaSourceUrl, - batch.TargetUrl, + batch.IndexTargetUrl, network.TestNetworkPassphrase, batch.Low, batch.High, []string{"transactions", "accounts_unbacked"}, From c4bbff2c59a87051bb3622b60892a61093d74662 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 12:59:21 -0700 Subject: [PATCH 05/16] Make map job default to using all CPUs --- exp/lighthorizon/index/cmd/batch/map/main.go | 24 ++++++++++++++++---- exp/lighthorizon/index/cmd/map_test.go | 8 ++++--- 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/exp/lighthorizon/index/cmd/batch/map/main.go b/exp/lighthorizon/index/cmd/batch/map/main.go index 61ff1721ec..e02e9d10df 100644 --- a/exp/lighthorizon/index/cmd/batch/map/main.go +++ b/exp/lighthorizon/index/cmd/batch/map/main.go @@ -4,6 +4,7 @@ import ( "context" "fmt" "os" + "runtime" "strconv" "github.com/stellar/go/exp/lighthorizon/index" @@ -24,8 +25,7 @@ const ( firstCheckpointEnv = "FIRST_CHECKPOINT" txmetaSourceUrlEnv = "TXMETA_SOURCE" indexTargetUrlEnv = "INDEX_TARGET" - - s3BucketName = "sdf-txmeta-pubnet" + workerCountEnv = "WORKER_COUNT" ) func NewBatchConfig() (*BatchConfig, error) { @@ -75,6 +75,19 @@ func main() { panic(err) } + var workerCount int + workerCountStr := os.Getenv(workerCountEnv) + if workerCountStr == "" { + workerCount = runtime.NumCPU() + } else { + workerCountParsed, innerErr := strconv.ParseUint(workerCountStr, 10, 8) + if innerErr != nil { + panic(errors.Wrapf(innerErr, + "invalid worker count parameter (%s)", workerCountStr)) + } + workerCount = int(workerCountParsed) + } + log.Infof("Uploading ledger range [%d, %d] to %s", batch.Range.Low, batch.Range.High, batch.IndexTargetUrl) @@ -84,8 +97,11 @@ func main() { batch.IndexTargetUrl, network.TestNetworkPassphrase, batch.Low, batch.High, - []string{"transactions", "accounts_unbacked"}, - 1, + []string{ + "accounts_unbacked", + "transactions", + }, + workerCount, ); err != nil { panic(err) } diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index 5e44cc18a5..11fb210b86 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -22,9 +22,11 @@ const ( func TestMap(t *testing.T) { // Only file:// style URLs for the txmeta source are allowed while testing. parsed, err := url.Parse(txmetaSource) - require.NoError(t, err) - require.Equalf(t, parsed.Scheme, "file", - "%s is not local txmeta source", txmetaSource) + require.NoErrorf(t, err, "%s is not a valid URL", txmetaSource) + if parsed.Scheme != "file" { + t.Logf("%s is not local txmeta source", txmetaSource) + t.Skip() + } txmetaPath := strings.Replace(txmetaSource, "file://", "", 1) // What ledger range are we working with? The maps *require* starting at a From 7b88d39f2e2f5b6933ae135d663cecdfadd6a368 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 13:16:30 -0700 Subject: [PATCH 06/16] Stop clearing indices from memory if using unbacked module --- exp/lighthorizon/index/builder.go | 1 + exp/lighthorizon/index/cmd/map_test.go | 6 ---- exp/lighthorizon/index/store.go | 40 +++++++++++++++++--------- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/exp/lighthorizon/index/builder.go b/exp/lighthorizon/index/builder.go index a9162b17dc..d07efe3929 100644 --- a/exp/lighthorizon/index/builder.go +++ b/exp/lighthorizon/index/builder.go @@ -91,6 +91,7 @@ func BuildIndices( indexBuilder.RegisterModule(ProcessAccounts) case "accounts_unbacked": indexBuilder.RegisterModule(ProcessAccountsWithoutBackend) + indexStore.ClearMemory(false) default: return indexBuilder, fmt.Errorf("unknown module '%s'", part) } diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index 11fb210b86..a5941befa7 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -56,7 +56,6 @@ func TestMap(t *testing.T) { t.Logf("Tried writing indices to %s:", tempDir) t.Log(string(stdout)) - require.NoError(t, err) // Then, build the *same* indices using the single-process tester. @@ -84,11 +83,8 @@ func TestMap(t *testing.T) { } assertParticipantsEqual(t, keys(participants), stores) - t.Logf("All %d participants accounted for", len(keys(participants))) - for account, checkpoints := range participants { assertParticipantCheckpointsEqual(t, account, checkpoints, stores) - t.Logf("Account %s has %d checkpoint(s) accounted for", account, len(checkpoints)) } } @@ -126,14 +122,12 @@ func assertParticipantCheckpointsEqual(t *testing.T, var err error var lastActiveCheckpoint uint32 = 0 for { - t.Logf("starting from %d", lastActiveCheckpoint) lastActiveCheckpoint, err = store.NextActive(account, "all/all", lastActiveCheckpoint) if err == io.EOF { break } require.NoError(t, err) // still an error since it shouldn't happen - t.Logf("Found %d for %s", lastActiveCheckpoint, account) foundCheckpoints[lastActiveCheckpoint] = struct{}{} lastActiveCheckpoint += 1 // hit next active one } diff --git a/exp/lighthorizon/index/store.go b/exp/lighthorizon/index/store.go index 6cc0ed0284..e83cb7102d 100644 --- a/exp/lighthorizon/index/store.go +++ b/exp/lighthorizon/index/store.go @@ -13,16 +13,21 @@ import ( type Store interface { NextActive(account, index string, afterCheckpoint uint32) (uint32, error) - AddTransactionToIndexes(txnTOID int64, hash [32]byte) error TransactionTOID(hash [32]byte) (int64, error) + + AddTransactionToIndexes(txnTOID int64, hash [32]byte) error AddParticipantsToIndexes(checkpoint uint32, index string, participants []string) error AddParticipantsToIndexesNoBackend(checkpoint uint32, index string, participants []string) error AddParticipantToIndexesNoBackend(participant string, indexes types.NamedIndices) + Flush() error FlushAccounts() error + ClearMemory(bool) + Read(account string) (types.NamedIndices, error) ReadAccounts() ([]string, error) ReadTransactions(prefix string) (*types.TrieIndex, error) + MergeTransactions(prefix string, other *types.TrieIndex) error } @@ -31,6 +36,8 @@ type store struct { indexes map[string]types.NamedIndices txIndexes map[string]*types.TrieIndex backend backend.Backend + + clearMemoryOnFlush bool } func NewStore(backend backend.Backend) (Store, error) { @@ -38,6 +45,8 @@ func NewStore(backend backend.Backend) (Store, error) { indexes: map[string]types.NamedIndices{}, txIndexes: map[string]*types.TrieIndex{}, backend: backend, + + clearMemoryOnFlush: true, }, nil } @@ -92,19 +101,23 @@ func (s *store) Flush() error { if err := s.backend.FlushAccounts(s.accounts()); err != nil { return err + } else if s.clearMemoryOnFlush { + s.indexes = map[string]types.NamedIndices{} } - // clear indexes to save memory - s.indexes = map[string]types.NamedIndices{} - if err := s.backend.FlushTransactions(s.txIndexes); err != nil { return err + } else if s.clearMemoryOnFlush { + s.txIndexes = map[string]*types.TrieIndex{} } - s.txIndexes = map[string]*types.TrieIndex{} return nil } +func (s *store) ClearMemory(doClear bool) { + s.clearMemoryOnFlush = doClear +} + func (s *store) AddTransactionToIndexes(txnTOID int64, hash [32]byte) error { index, err := s.getCreateTrieIndex(hex.EncodeToString(hash[:1])) if err != nil { @@ -130,15 +143,16 @@ func (s *store) TransactionTOID(hash [32]byte) (int64, error) { return int64(binary.BigEndian.Uint64(value)), nil } -// AddParticipantsToIndexesNoBackend is a temp version of AddParticipantsToIndexes that -// skips backend downloads and it used in AWS Batch. Refactoring required to make it better. +// AddParticipantsToIndexesNoBackend is a temp version of +// AddParticipantsToIndexes that skips backend downloads and it used in AWS +// Batch. Refactoring required to make it better. func (s *store) AddParticipantsToIndexesNoBackend(checkpoint uint32, index string, participants []string) error { s.mutex.Lock() defer s.mutex.Unlock() + var err error for _, participant := range participants { - _, ok := s.indexes[participant] - if !ok { + if _, ok := s.indexes[participant]; !ok { s.indexes[participant] = map[string]*types.CheckpointIndex{} } @@ -148,13 +162,13 @@ func (s *store) AddParticipantsToIndexesNoBackend(checkpoint uint32, index strin s.indexes[participant][index] = ind } - err := ind.SetActive(checkpoint) - if err != nil { - return err + if innerErr := ind.SetActive(checkpoint); innerErr != nil { + err = innerErr } + // don't break early, instead try to save as many participants as we can } - return nil + return err } func (s *store) AddParticipantToIndexesNoBackend(participant string, indexes types.NamedIndices) { From d9bf020e740d853cb2f2bacc726b833cc2ce0112 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 13:41:19 -0700 Subject: [PATCH 07/16] Use test-based temporary directory over OS-based --- exp/lighthorizon/index/cmd/map_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index a5941befa7..54f3bfd23e 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -45,7 +45,7 @@ func TestMap(t *testing.T) { // First, execute the map jobs in parallel and dump the resulting indices to // a temporary directory. - tempDir := filepath.Join(os.TempDir(), "indices-map") + tempDir := filepath.Join(t.TempDir(), "indices-map") mapTestCmd := exec.Command("./map.sh", txmetaPath, tempDir) mapTestCmd.Env = append(os.Environ(), "BATCH_SIZE="+strconv.FormatUint(batchSize, 10), From 7397e2b5b5d350c00d6722531ac20a77d720b20f Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 14:31:08 -0700 Subject: [PATCH 08/16] Add check for last ledger to ensure full ranges --- exp/lighthorizon/index/cmd/map.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/exp/lighthorizon/index/cmd/map.sh b/exp/lighthorizon/index/cmd/map.sh index d79ee05cea..9d7d6bfb25 100755 --- a/exp/lighthorizon/index/cmd/map.sh +++ b/exp/lighthorizon/index/cmd/map.sh @@ -48,15 +48,15 @@ COUNT=$(($LAST-$FIRST+1)) # formula is from https://stackoverflow.com/a/12536521 BATCH_COUNT=$(( ($COUNT + $BATCH_SIZE - 1) / $BATCH_SIZE )) -echo " - start: $FIRST" -echo " - end: $LAST" -echo " - count: $COUNT ($BATCH_COUNT batches)" - -if [[ "$((($FIRST + 1) % 64))" -ne "0" ]]; then - echo "$FIRST isn't a checkpoint ledger" +if [[ "$(((LAST + 1) % 64))" -ne "0" ]]; then + echo "LAST_LEDGER ($LAST_LEDGER) should be a checkpoint ledger" exit 1 fi +echo " - start: $FIRST" +echo " - end: $LAST" +echo " - count: $COUNT ($BATCH_COUNT batches @ $BATCH_SIZE ledgers each)" + go build -o ./map ./batch/map/... if [[ "$?" -ne "0" ]]; then echo "Build failed" From 8abded71193ea7561959a2c1fff3f6b22cf673b7 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 15:29:46 -0700 Subject: [PATCH 09/16] Use historyarchive.CheckpointManager for all checkpoint math --- exp/lighthorizon/index/builder.go | 62 ++++++++------------ exp/lighthorizon/index/cmd/batch/map/main.go | 20 +++++-- exp/lighthorizon/index/cmd/single/main.go | 7 ++- exp/lighthorizon/index/cmd/single_test.go | 26 ++++---- 4 files changed, 55 insertions(+), 60 deletions(-) diff --git a/exp/lighthorizon/index/builder.go b/exp/lighthorizon/index/builder.go index d07efe3929..7d4d9afc5c 100644 --- a/exp/lighthorizon/index/builder.go +++ b/exp/lighthorizon/index/builder.go @@ -24,15 +24,10 @@ func BuildIndices( sourceUrl string, // where is raw txmeta coming from? targetUrl string, // where should the resulting indices go? networkPassphrase string, - startLedger, endLedger uint32, + ledgerRange historyarchive.Range, // inclusive modules []string, workerCount int, ) (*IndexBuilder, error) { - if endLedger < startLedger { - return nil, fmt.Errorf( - "nothing to do: start > end (%d > %d)", startLedger, endLedger) - } - L := log.Ctx(ctx) indexStore, err := Connect(targetUrl) @@ -57,24 +52,24 @@ func BuildIndices( ledgerBackend := ledgerbackend.NewHistoryArchiveBackend(source) defer ledgerBackend.Close() - if endLedger == 0 { - latest, err := ledgerBackend.GetLatestLedgerSequence(ctx) - if err != nil { - return nil, err + if ledgerRange.High == 0 { + var backendErr error + ledgerRange.High, backendErr = ledgerBackend.GetLatestLedgerSequence(ctx) + if backendErr != nil { + return nil, backendErr } - endLedger = latest } - if endLedger < startLedger { - return nil, fmt.Errorf("invalid ledger range: end < start (%d < %d)", endLedger, startLedger) + if ledgerRange.High < ledgerRange.Low { + return nil, fmt.Errorf("invalid ledger range: %s", ledgerRange.String()) } - ledgerCount := 1 + (endLedger - startLedger) // +1 because endLedger is inclusive - parallel := max(1, workerCount) + ledgerCount := 1 + (ledgerRange.High - ledgerRange.Low) // +1 bc inclusive + parallel := int(max(1, uint32(workerCount))) startTime := time.Now() - L.Infof("Creating indices for ledger range: %d through %d (%d ledgers)", - startLedger, endLedger, ledgerCount) + L.Infof("Creating indices for ledger range: [%d, %d] (%d ledgers)", + ledgerRange.Low, ledgerRange.High, ledgerCount) L.Infof("Using %d workers", parallel) // Create a bunch of workers that process ledgers a checkpoint range at a @@ -100,18 +95,14 @@ func BuildIndices( // Submit the work to the channels, breaking up the range into individual // checkpoint ranges. go func() { - // Recall: A ledger X is a checkpoint ledger iff (X + 1) % 64 == 0 - nextCheckpoint := (((startLedger / 64) * 64) + 63) - - ledger := startLedger - nextLedger := min(endLedger, ledger+(nextCheckpoint-startLedger)) - for ledger <= endLedger { - chunk := historyarchive.Range{Low: ledger, High: nextLedger} - L.Debugf("Submitted [%d, %d] for work", chunk.Low, chunk.High) - ch <- chunk + checkpoints := historyarchive.NewCheckpointManager(0) + for ledger := range ledgerRange.GenerateCheckpoints(checkpoints) { + chunk := checkpoints.GetCheckpointRange(ledger) + chunk.High = min(chunk.High, ledgerRange.High) + chunk.Low = max(chunk.Low, ledgerRange.Low) - ledger = nextLedger + 1 - nextLedger = min(endLedger, ledger+63) // don't exceed upper bound + fmt.Printf("Submitted [%d, %d] for work\n", chunk.Low, chunk.High) + ch <- chunk } close(ch) @@ -122,15 +113,14 @@ func BuildIndices( wg.Go(func() error { for ledgerRange := range ch { count := (ledgerRange.High - ledgerRange.Low) + 1 - nprocessed := atomic.AddUint64(&processed, uint64(count)) - - L.Debugf("Working on checkpoint range [%d, %d]", - ledgerRange.Low, ledgerRange.High) + L.Debugf("Working on checkpoint range [%d, %d] (%d ledgers)", + ledgerRange.Low, ledgerRange.High, count) if err = indexBuilder.Build(ctx, ledgerRange); err != nil { return errors.Wrap(err, "building indices failed") } + nprocessed := atomic.AddUint64(&processed, uint64(count)) printProgress("Reading ledgers", nprocessed, uint64(ledgerCount), startTime) // Upload indices once per checkpoint to save memory @@ -247,11 +237,7 @@ func (builder *IndexBuilder) Build(ctx context.Context, ledgerRange historyarchi } } - builder.lastBuiltLedger = uint32( - max(int(builder.lastBuiltLedger), - int(ledgerRange.High)), - ) - + builder.lastBuiltLedger = max(builder.lastBuiltLedger, ledgerRange.High) return nil } @@ -361,7 +347,7 @@ func min(a, b uint32) uint32 { return b } -func max(a, b int) int { +func max(a, b uint32) uint32 { if a > b { return a } diff --git a/exp/lighthorizon/index/cmd/batch/map/main.go b/exp/lighthorizon/index/cmd/batch/map/main.go index e02e9d10df..e26654c7c3 100644 --- a/exp/lighthorizon/index/cmd/batch/map/main.go +++ b/exp/lighthorizon/index/cmd/batch/map/main.go @@ -43,13 +43,21 @@ func NewBatchConfig() (*BatchConfig, error) { if err != nil { return nil, errors.Wrap(err, "invalid parameter "+firstCheckpointEnv) } - if (firstCheckpoint+1)%64 != 0 { - return nil, fmt.Errorf("invalid checkpoint: %d", firstCheckpoint) + + checkpoints := historyarchive.NewCheckpointManager(0) + if checkpoints.IsCheckpoint(uint32(firstCheckpoint) - 1) { + return nil, fmt.Errorf( + "%s (%d) must be the first ledger in a checkpoint range", + firstCheckpointEnv, firstCheckpoint) } batchSize, err := strconv.ParseUint(os.Getenv(batchSizeEnv), 10, 32) if err != nil { return nil, errors.Wrap(err, "invalid parameter "+batchSizeEnv) + } else if batchSize%uint64(checkpoints.GetCheckpointFrequency()) != 0 { + return nil, fmt.Errorf( + "%s (%d) must be a multiple of checkpoint frequency (%d)", + batchSizeEnv, batchSize, checkpoints.GetCheckpointFrequency()) } txmetaSourceUrl := os.Getenv(txmetaSourceUrlEnv) @@ -57,10 +65,10 @@ func NewBatchConfig() (*BatchConfig, error) { return nil, errors.New("required parameter " + txmetaSourceUrlEnv) } - startCheckpoint := uint32(firstCheckpoint + batchSize*jobIndex) - endLedger := startCheckpoint + uint32(batchSize) - 1 + firstLedger := uint32(firstCheckpoint + batchSize*jobIndex) + lastLedger := firstLedger + uint32(batchSize) return &BatchConfig{ - Range: historyarchive.Range{Low: startCheckpoint, High: endLedger}, + Range: historyarchive.Range{Low: firstLedger, High: lastLedger}, TxMetaSourceUrl: txmetaSourceUrl, IndexTargetUrl: fmt.Sprintf("%s%cjob_%d", indexTargetRootUrl, os.PathSeparator, jobIndex), }, nil @@ -96,7 +104,7 @@ func main() { batch.TxMetaSourceUrl, batch.IndexTargetUrl, network.TestNetworkPassphrase, - batch.Low, batch.High, + batch.Range, []string{ "accounts_unbacked", "transactions", diff --git a/exp/lighthorizon/index/cmd/single/main.go b/exp/lighthorizon/index/cmd/single/main.go index 8e828549ed..d9ad910d4f 100644 --- a/exp/lighthorizon/index/cmd/single/main.go +++ b/exp/lighthorizon/index/cmd/single/main.go @@ -7,6 +7,7 @@ import ( "strings" "github.com/stellar/go/exp/lighthorizon/index" + "github.com/stellar/go/historyarchive" "github.com/stellar/go/network" "github.com/stellar/go/support/log" ) @@ -32,8 +33,10 @@ func main() { *sourceUrl, *targetUrl, *networkPassphrase, - uint32(max(*start, 2)), - uint32(*end), + historyarchive.Range{ + Low: uint32(max(*start, 2)), + High: uint32(*end), + }, strings.Split(*modules, ","), *workerCount, ) diff --git a/exp/lighthorizon/index/cmd/single_test.go b/exp/lighthorizon/index/cmd/single_test.go index 5946825c6d..7175961540 100644 --- a/exp/lighthorizon/index/cmd/single_test.go +++ b/exp/lighthorizon/index/cmd/single_test.go @@ -35,13 +35,20 @@ const ( func TestSingleProcess(tt *testing.T) { eldestLedger, latestLedger := GetFixtureLedgerRange(tt) + checkpoints := historyarchive.NewCheckpointManager(0) + // We want two test variations: + // - starting at the first ledger in a checkpoint range + // - starting at an arbitrary ledger + // + // To do this, we adjust the known set of fixture ledgers we have. var eldestCheckpointLedger uint32 - if IsCheckpoint(eldestLedger) { - eldestCheckpointLedger = eldestLedger - eldestLedger += 2 // make it a non-checkpoint + if checkpoints.IsCheckpoint(eldestLedger - 1) { + eldestCheckpointLedger = eldestLedger // first in range + eldestLedger += 5 // somewhere in the "middle" } else { - eldestCheckpointLedger = NextCheckpoint(eldestLedger) + eldestCheckpointLedger = checkpoints.NextCheckpoint(eldestLedger-1) + 1 + eldestLedger++ } tt.Run("start-at-checkpoint", func(t *testing.T) { @@ -79,8 +86,7 @@ func testSingleProcess(t *testing.T, ledgerRange historyarchive.Range) { txmetaSource, tmpDir, network.TestNetworkPassphrase, - firstLedger, - lastLedger, + historyarchive.Range{Low: firstLedger, High: lastLedger}, []string{ "accounts", "transactions", @@ -268,11 +274,3 @@ func GetFixtureLedgerRange(t *testing.T) (low uint32, high uint32) { return low, high } - -func IsCheckpoint(ledger uint32) bool { - return (ledger+1)%64 == 0 -} - -func NextCheckpoint(ledger uint32) uint32 { - return ((ledger / 64) + 1) * 64 -} From 5f22ea1e1c79a0c039f004849ce9e8a99c9d2db3 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 15:33:48 -0700 Subject: [PATCH 10/16] Split ranges correctly for map test --- exp/lighthorizon/index/cmd/map_test.go | 34 ++++++++++++++++++-------- 1 file changed, 24 insertions(+), 10 deletions(-) diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index 54f3bfd23e..7b6729ddb8 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -1,6 +1,7 @@ package main_test import ( + "fmt" "io" "net/url" "os" @@ -11,12 +12,13 @@ import ( "testing" "github.com/stellar/go/exp/lighthorizon/index" + "github.com/stellar/go/historyarchive" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) const ( - batchSize = 321 + batchSize = 128 ) func TestMap(t *testing.T) { @@ -29,18 +31,30 @@ func TestMap(t *testing.T) { } txmetaPath := strings.Replace(txmetaSource, "file://", "", 1) - // What ledger range are we working with? The maps *require* starting at a - // checkpoint ledger, so we need to break them up accordingly. + // What ledger range are we working with? + checkpointMgr := historyarchive.NewCheckpointManager(0) startLedger, endLedger := GetFixtureLedgerRange(t) - if !IsCheckpoint(startLedger) { - startLedger = NextCheckpoint(startLedger) + + // The map job *requires* that each one operate on a multiple of a + // checkpoint range, so we may need to adjust the ranges (depending on how + // many ledgers are in the fixutre) and break them up accordingly. + if !checkpointMgr.IsCheckpoint(startLedger - 1) { + startLedger = checkpointMgr.NextCheckpoint(startLedger-1) + 1 + } + if !checkpointMgr.IsCheckpoint(endLedger) { + endLedger = checkpointMgr.PrevCheckpoint(endLedger - batchSize) } + + require.Greaterf(t, endLedger, startLedger, + "not enough fixtures for batchSize=%d", batchSize) + batchCount := (endLedger - startLedger + batchSize) / batchSize // ceil(ledgerCount / batchSize) - require.Truef(t, batchCount == 1 || IsCheckpoint(startLedger+batchSize+1), + require.Truef(t, + batchCount == 1 || checkpointMgr.IsCheckpoint(startLedger+batchSize-1), "expected batch size (%d) to result in checkpoint blocks, "+ "but start+batchSize+1 (%d+%d+1=%d) is not a checkpoint", - batchSize, startLedger, batchSize+startLedger+1) + batchSize, batchSize, startLedger, batchSize+startLedger+1) // First, execute the map jobs in parallel and dump the resulting indices to // a temporary directory. @@ -48,9 +62,9 @@ func TestMap(t *testing.T) { tempDir := filepath.Join(t.TempDir(), "indices-map") mapTestCmd := exec.Command("./map.sh", txmetaPath, tempDir) mapTestCmd.Env = append(os.Environ(), - "BATCH_SIZE="+strconv.FormatUint(batchSize, 10), - "FIRST_LEDGER="+strconv.FormatUint(uint64(startLedger), 10), - "LAST_LEDGER="+strconv.FormatUint(uint64(endLedger), 10)) + fmt.Sprintf("BATCH_SIZE=%d", batchSize), + fmt.Sprintf("FIRST_LEDGER=%d", startLedger), + fmt.Sprintf("LAST_LEDGER=%d", endLedger)) t.Logf("Running %d map jobs: %s", batchCount, mapTestCmd.String()) stdout, err := mapTestCmd.CombinedOutput() From e2ff20a34e7f4e0a53f3e5f5a232b87964dc40be Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Fri, 24 Jun 2022 15:38:26 -0700 Subject: [PATCH 11/16] Move fixtures, just realized they're missing lol --- exp/lighthorizon/index/cmd/fixtures/latest | 1 + .../index/cmd/fixtures/ledgers/1410048 | Bin 0 -> 4156 bytes .../index/cmd/fixtures/ledgers/1410049 | Bin 0 -> 5336 bytes .../index/cmd/fixtures/ledgers/1410050 | Bin 0 -> 5132 bytes .../index/cmd/fixtures/ledgers/1410051 | Bin 0 -> 4868 bytes .../index/cmd/fixtures/ledgers/1410052 | Bin 0 -> 5048 bytes .../index/cmd/fixtures/ledgers/1410053 | Bin 0 -> 3892 bytes .../index/cmd/fixtures/ledgers/1410054 | Bin 0 -> 2816 bytes .../index/cmd/fixtures/ledgers/1410055 | Bin 0 -> 2964 bytes .../index/cmd/fixtures/ledgers/1410056 | Bin 0 -> 6080 bytes .../index/cmd/fixtures/ledgers/1410057 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410058 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410059 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410060 | Bin 0 -> 4080 bytes .../index/cmd/fixtures/ledgers/1410061 | Bin 0 -> 5940 bytes .../index/cmd/fixtures/ledgers/1410062 | Bin 0 -> 6728 bytes .../index/cmd/fixtures/ledgers/1410063 | Bin 0 -> 6000 bytes .../index/cmd/fixtures/ledgers/1410064 | Bin 0 -> 5936 bytes .../index/cmd/fixtures/ledgers/1410065 | Bin 0 -> 4988 bytes .../index/cmd/fixtures/ledgers/1410066 | Bin 0 -> 4000 bytes .../index/cmd/fixtures/ledgers/1410067 | Bin 0 -> 6088 bytes .../index/cmd/fixtures/ledgers/1410068 | Bin 0 -> 4860 bytes .../index/cmd/fixtures/ledgers/1410069 | Bin 0 -> 4080 bytes .../index/cmd/fixtures/ledgers/1410070 | Bin 0 -> 3924 bytes .../index/cmd/fixtures/ledgers/1410071 | Bin 0 -> 2896 bytes .../index/cmd/fixtures/ledgers/1410072 | Bin 0 -> 5312 bytes .../index/cmd/fixtures/ledgers/1410073 | Bin 0 -> 5076 bytes .../index/cmd/fixtures/ledgers/1410074 | Bin 0 -> 5924 bytes .../index/cmd/fixtures/ledgers/1410075 | Bin 0 -> 6056 bytes .../index/cmd/fixtures/ledgers/1410076 | Bin 0 -> 3872 bytes .../index/cmd/fixtures/ledgers/1410077 | Bin 0 -> 3696 bytes .../index/cmd/fixtures/ledgers/1410078 | Bin 0 -> 5128 bytes .../index/cmd/fixtures/ledgers/1410079 | Bin 0 -> 4848 bytes .../index/cmd/fixtures/ledgers/1410080 | Bin 0 -> 4700 bytes .../index/cmd/fixtures/ledgers/1410081 | Bin 0 -> 6176 bytes .../index/cmd/fixtures/ledgers/1410082 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410083 | Bin 0 -> 5912 bytes .../index/cmd/fixtures/ledgers/1410084 | Bin 0 -> 6216 bytes .../index/cmd/fixtures/ledgers/1410085 | Bin 0 -> 5968 bytes .../index/cmd/fixtures/ledgers/1410086 | Bin 0 -> 4524 bytes .../index/cmd/fixtures/ledgers/1410087 | Bin 0 -> 3700 bytes .../index/cmd/fixtures/ledgers/1410088 | Bin 0 -> 4044 bytes .../index/cmd/fixtures/ledgers/1410089 | Bin 0 -> 5076 bytes .../index/cmd/fixtures/ledgers/1410090 | Bin 0 -> 3692 bytes .../index/cmd/fixtures/ledgers/1410091 | Bin 0 -> 2676 bytes .../index/cmd/fixtures/ledgers/1410092 | Bin 0 -> 2900 bytes .../index/cmd/fixtures/ledgers/1410093 | Bin 0 -> 4692 bytes .../index/cmd/fixtures/ledgers/1410094 | Bin 0 -> 4624 bytes .../index/cmd/fixtures/ledgers/1410095 | Bin 0 -> 5128 bytes .../index/cmd/fixtures/ledgers/1410096 | Bin 0 -> 7192 bytes .../index/cmd/fixtures/ledgers/1410097 | Bin 0 -> 6012 bytes .../index/cmd/fixtures/ledgers/1410098 | Bin 0 -> 7076 bytes .../index/cmd/fixtures/ledgers/1410099 | Bin 0 -> 4704 bytes .../index/cmd/fixtures/ledgers/1410100 | Bin 0 -> 4840 bytes .../index/cmd/fixtures/ledgers/1410101 | Bin 0 -> 3856 bytes .../index/cmd/fixtures/ledgers/1410102 | Bin 0 -> 5764 bytes .../index/cmd/fixtures/ledgers/1410103 | Bin 0 -> 5576 bytes .../index/cmd/fixtures/ledgers/1410104 | Bin 0 -> 4960 bytes .../index/cmd/fixtures/ledgers/1410105 | Bin 0 -> 4980 bytes .../index/cmd/fixtures/ledgers/1410106 | Bin 0 -> 5076 bytes .../index/cmd/fixtures/ledgers/1410107 | Bin 0 -> 4028 bytes .../index/cmd/fixtures/ledgers/1410108 | Bin 0 -> 2964 bytes .../index/cmd/fixtures/ledgers/1410109 | Bin 0 -> 5080 bytes .../index/cmd/fixtures/ledgers/1410110 | Bin 0 -> 2736 bytes .../index/cmd/fixtures/ledgers/1410111 | Bin 0 -> 5208 bytes .../index/cmd/fixtures/ledgers/1410112 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410113 | Bin 0 -> 4704 bytes .../index/cmd/fixtures/ledgers/1410114 | Bin 0 -> 4640 bytes .../index/cmd/fixtures/ledgers/1410115 | Bin 0 -> 4864 bytes .../index/cmd/fixtures/ledgers/1410116 | Bin 0 -> 4692 bytes .../index/cmd/fixtures/ledgers/1410117 | Bin 0 -> 5832 bytes .../index/cmd/fixtures/ledgers/1410118 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410119 | Bin 0 -> 7448 bytes .../index/cmd/fixtures/ledgers/1410120 | Bin 0 -> 6056 bytes .../index/cmd/fixtures/ledgers/1410121 | Bin 0 -> 5944 bytes .../index/cmd/fixtures/ledgers/1410122 | Bin 0 -> 4904 bytes .../index/cmd/fixtures/ledgers/1410123 | Bin 0 -> 3920 bytes .../index/cmd/fixtures/ledgers/1410124 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410125 | Bin 0 -> 2492 bytes .../index/cmd/fixtures/ledgers/1410126 | Bin 0 -> 2748 bytes .../index/cmd/fixtures/ledgers/1410127 | Bin 0 -> 3924 bytes .../index/cmd/fixtures/ledgers/1410128 | Bin 0 -> 4956 bytes .../index/cmd/fixtures/ledgers/1410129 | Bin 0 -> 3972 bytes .../index/cmd/fixtures/ledgers/1410130 | Bin 0 -> 5180 bytes .../index/cmd/fixtures/ledgers/1410131 | Bin 0 -> 5876 bytes .../index/cmd/fixtures/ledgers/1410132 | Bin 0 -> 6116 bytes .../index/cmd/fixtures/ledgers/1410133 | Bin 0 -> 5288 bytes .../index/cmd/fixtures/ledgers/1410134 | Bin 0 -> 5120 bytes .../index/cmd/fixtures/ledgers/1410135 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410136 | Bin 0 -> 5032 bytes .../index/cmd/fixtures/ledgers/1410137 | Bin 0 -> 5140 bytes .../index/cmd/fixtures/ledgers/1410138 | Bin 0 -> 3872 bytes .../index/cmd/fixtures/ledgers/1410139 | Bin 0 -> 4904 bytes .../index/cmd/fixtures/ledgers/1410140 | Bin 0 -> 3920 bytes .../index/cmd/fixtures/ledgers/1410141 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410142 | Bin 0 -> 6088 bytes .../index/cmd/fixtures/ledgers/1410143 | Bin 0 -> 5956 bytes .../index/cmd/fixtures/ledgers/1410144 | Bin 0 -> 6076 bytes .../index/cmd/fixtures/ledgers/1410145 | Bin 0 -> 3972 bytes .../index/cmd/fixtures/ledgers/1410146 | Bin 0 -> 3892 bytes .../index/cmd/fixtures/ledgers/1410147 | Bin 0 -> 2836 bytes .../index/cmd/fixtures/ledgers/1410148 | Bin 0 -> 2916 bytes .../index/cmd/fixtures/ledgers/1410149 | Bin 0 -> 2740 bytes .../index/cmd/fixtures/ledgers/1410150 | Bin 0 -> 6080 bytes .../index/cmd/fixtures/ledgers/1410151 | Bin 0 -> 4792 bytes .../index/cmd/fixtures/ledgers/1410152 | Bin 0 -> 4744 bytes .../index/cmd/fixtures/ledgers/1410153 | Bin 0 -> 6112 bytes .../index/cmd/fixtures/ledgers/1410154 | Bin 0 -> 5892 bytes .../index/cmd/fixtures/ledgers/1410155 | Bin 0 -> 5128 bytes .../index/cmd/fixtures/ledgers/1410156 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410157 | Bin 0 -> 3792 bytes .../index/cmd/fixtures/ledgers/1410158 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410159 | Bin 0 -> 4704 bytes .../index/cmd/fixtures/ledgers/1410160 | Bin 0 -> 4640 bytes .../index/cmd/fixtures/ledgers/1410161 | Bin 0 -> 7292 bytes .../index/cmd/fixtures/ledgers/1410162 | Bin 0 -> 7172 bytes .../index/cmd/fixtures/ledgers/1410163 | Bin 0 -> 4696 bytes .../index/cmd/fixtures/ledgers/1410164 | Bin 0 -> 2916 bytes .../index/cmd/fixtures/ledgers/1410165 | Bin 0 -> 4028 bytes .../index/cmd/fixtures/ledgers/1410166 | Bin 0 -> 7032 bytes .../index/cmd/fixtures/ledgers/1410167 | Bin 0 -> 3852 bytes .../index/cmd/fixtures/ledgers/1410168 | Bin 0 -> 5644 bytes .../index/cmd/fixtures/ledgers/1410169 | Bin 0 -> 5596 bytes .../index/cmd/fixtures/ledgers/1410170 | Bin 0 -> 3872 bytes .../index/cmd/fixtures/ledgers/1410171 | Bin 0 -> 4904 bytes .../index/cmd/fixtures/ledgers/1410172 | Bin 0 -> 3920 bytes .../index/cmd/fixtures/ledgers/1410173 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410174 | Bin 0 -> 4700 bytes .../index/cmd/fixtures/ledgers/1410175 | Bin 0 -> 4856 bytes .../index/cmd/fixtures/ledgers/1410176 | Bin 0 -> 6244 bytes .../index/cmd/fixtures/ledgers/1410177 | Bin 0 -> 7164 bytes .../index/cmd/fixtures/ledgers/1410178 | Bin 0 -> 5824 bytes .../index/cmd/fixtures/ledgers/1410179 | Bin 0 -> 4928 bytes .../index/cmd/fixtures/ledgers/1410180 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410181 | Bin 0 -> 2836 bytes .../index/cmd/fixtures/ledgers/1410182 | Bin 0 -> 3868 bytes .../index/cmd/fixtures/ledgers/1410183 | Bin 0 -> 4900 bytes .../index/cmd/fixtures/ledgers/1410184 | Bin 0 -> 3916 bytes .../index/cmd/fixtures/ledgers/1410185 | Bin 0 -> 3836 bytes .../index/cmd/fixtures/ledgers/1410186 | Bin 0 -> 2836 bytes .../index/cmd/fixtures/ledgers/1410187 | Bin 0 -> 5160 bytes .../index/cmd/fixtures/ledgers/1410188 | Bin 0 -> 4904 bytes .../index/cmd/fixtures/ledgers/1410189 | Bin 0 -> 7124 bytes .../index/cmd/fixtures/ledgers/1410190 | Bin 0 -> 5104 bytes .../index/cmd/fixtures/ledgers/1410191 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410192 | Bin 0 -> 4704 bytes .../index/cmd/fixtures/ledgers/1410193 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410194 | Bin 0 -> 6088 bytes .../index/cmd/fixtures/ledgers/1410195 | Bin 0 -> 4860 bytes .../index/cmd/fixtures/ledgers/1410196 | Bin 0 -> 4988 bytes .../index/cmd/fixtures/ledgers/1410197 | Bin 0 -> 4000 bytes .../index/cmd/fixtures/ledgers/1410198 | Bin 0 -> 4824 bytes .../index/cmd/fixtures/ledgers/1410199 | Bin 0 -> 4824 bytes .../index/cmd/fixtures/ledgers/1410200 | Bin 0 -> 6364 bytes .../index/cmd/fixtures/ledgers/1410201 | Bin 0 -> 4924 bytes .../index/cmd/fixtures/ledgers/1410202 | Bin 0 -> 4608 bytes .../index/cmd/fixtures/ledgers/1410203 | Bin 0 -> 4164 bytes .../index/cmd/fixtures/ledgers/1410204 | Bin 0 -> 3988 bytes .../index/cmd/fixtures/ledgers/1410205 | Bin 0 -> 6088 bytes .../index/cmd/fixtures/ledgers/1410206 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410207 | Bin 0 -> 4860 bytes .../index/cmd/fixtures/ledgers/1410208 | Bin 0 -> 4988 bytes .../index/cmd/fixtures/ledgers/1410209 | Bin 0 -> 5008 bytes .../index/cmd/fixtures/ledgers/1410210 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410211 | Bin 0 -> 11716 bytes .../index/cmd/fixtures/ledgers/1410212 | Bin 0 -> 6064 bytes .../index/cmd/fixtures/ledgers/1410213 | Bin 0 -> 6180 bytes .../index/cmd/fixtures/ledgers/1410214 | Bin 0 -> 5108 bytes .../index/cmd/fixtures/ledgers/1410215 | Bin 0 -> 6112 bytes .../index/cmd/fixtures/ledgers/1410216 | Bin 0 -> 6012 bytes .../index/cmd/fixtures/ledgers/1410217 | Bin 0 -> 3980 bytes .../index/cmd/fixtures/ledgers/1410218 | Bin 0 -> 4332 bytes .../index/cmd/fixtures/ledgers/1410219 | Bin 0 -> 2916 bytes .../index/cmd/fixtures/ledgers/1410220 | Bin 0 -> 2896 bytes .../index/cmd/fixtures/ledgers/1410221 | Bin 0 -> 3024 bytes .../index/cmd/fixtures/ledgers/1410222 | Bin 0 -> 5368 bytes .../index/cmd/fixtures/ledgers/1410223 | Bin 0 -> 5496 bytes .../index/cmd/fixtures/ledgers/1410224 | Bin 0 -> 6132 bytes .../index/cmd/fixtures/ledgers/1410225 | Bin 0 -> 6000 bytes .../index/cmd/fixtures/ledgers/1410226 | Bin 0 -> 5916 bytes .../index/cmd/fixtures/ledgers/1410227 | Bin 0 -> 6136 bytes .../index/cmd/fixtures/ledgers/1410228 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410229 | Bin 0 -> 4724 bytes .../index/cmd/fixtures/ledgers/1410230 | Bin 0 -> 4804 bytes .../index/cmd/fixtures/ledgers/1410231 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410232 | Bin 0 -> 4792 bytes .../index/cmd/fixtures/ledgers/1410233 | Bin 0 -> 5048 bytes .../index/cmd/fixtures/ledgers/1410234 | Bin 0 -> 5432 bytes .../index/cmd/fixtures/ledgers/1410235 | Bin 0 -> 5152 bytes .../index/cmd/fixtures/ledgers/1410236 | Bin 0 -> 5040 bytes .../index/cmd/fixtures/ledgers/1410237 | Bin 0 -> 3032 bytes .../index/cmd/fixtures/ledgers/1410238 | Bin 0 -> 5192 bytes .../index/cmd/fixtures/ledgers/1410239 | Bin 0 -> 5408 bytes .../index/cmd/fixtures/ledgers/1410240 | Bin 0 -> 3276 bytes .../index/cmd/fixtures/ledgers/1410241 | Bin 0 -> 5264 bytes .../index/cmd/fixtures/ledgers/1410242 | Bin 0 -> 6552 bytes .../index/cmd/fixtures/ledgers/1410243 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410244 | Bin 0 -> 7232 bytes .../index/cmd/fixtures/ledgers/1410245 | Bin 0 -> 7084 bytes .../index/cmd/fixtures/ledgers/1410246 | Bin 0 -> 7156 bytes .../index/cmd/fixtures/ledgers/1410247 | Bin 0 -> 4724 bytes .../index/cmd/fixtures/ledgers/1410248 | Bin 0 -> 5924 bytes .../index/cmd/fixtures/ledgers/1410249 | Bin 0 -> 5128 bytes .../index/cmd/fixtures/ledgers/1410250 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410251 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410252 | Bin 0 -> 4144 bytes .../index/cmd/fixtures/ledgers/1410253 | Bin 0 -> 5084 bytes .../index/cmd/fixtures/ledgers/1410254 | Bin 0 -> 4928 bytes .../index/cmd/fixtures/ledgers/1410255 | Bin 0 -> 6204 bytes .../index/cmd/fixtures/ledgers/1410256 | Bin 0 -> 2860 bytes .../index/cmd/fixtures/ledgers/1410257 | Bin 0 -> 3888 bytes .../index/cmd/fixtures/ledgers/1410258 | Bin 0 -> 1524 bytes .../index/cmd/fixtures/ledgers/1410259 | Bin 0 -> 2644 bytes .../index/cmd/fixtures/ledgers/1410260 | Bin 0 -> 2732 bytes .../index/cmd/fixtures/ledgers/1410261 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410262 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410263 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410264 | Bin 0 -> 3584 bytes .../index/cmd/fixtures/ledgers/1410265 | Bin 0 -> 1472 bytes .../index/cmd/fixtures/ledgers/1410266 | Bin 0 -> 2680 bytes .../index/cmd/fixtures/ledgers/1410267 | Bin 0 -> 2760 bytes .../index/cmd/fixtures/ledgers/1410268 | Bin 0 -> 3872 bytes .../index/cmd/fixtures/ledgers/1410269 | Bin 0 -> 7068 bytes .../index/cmd/fixtures/ledgers/1410270 | Bin 0 -> 6048 bytes .../index/cmd/fixtures/ledgers/1410271 | Bin 0 -> 6056 bytes .../index/cmd/fixtures/ledgers/1410272 | Bin 0 -> 6272 bytes .../index/cmd/fixtures/ledgers/1410273 | Bin 0 -> 4860 bytes .../index/cmd/fixtures/ledgers/1410274 | Bin 0 -> 3972 bytes .../index/cmd/fixtures/ledgers/1410275 | Bin 0 -> 3892 bytes .../index/cmd/fixtures/ledgers/1410276 | Bin 0 -> 3892 bytes .../index/cmd/fixtures/ledgers/1410277 | Bin 0 -> 5348 bytes .../index/cmd/fixtures/ledgers/1410278 | Bin 0 -> 4072 bytes .../index/cmd/fixtures/ledgers/1410279 | Bin 0 -> 4872 bytes .../index/cmd/fixtures/ledgers/1410280 | Bin 0 -> 6016 bytes .../index/cmd/fixtures/ledgers/1410281 | Bin 0 -> 4096 bytes .../index/cmd/fixtures/ledgers/1410282 | Bin 0 -> 2680 bytes .../index/cmd/fixtures/ledgers/1410283 | Bin 0 -> 2592 bytes .../index/cmd/fixtures/ledgers/1410284 | Bin 0 -> 1472 bytes .../index/cmd/fixtures/ledgers/1410285 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410286 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410287 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410288 | Bin 0 -> 3688 bytes .../index/cmd/fixtures/ledgers/1410289 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410290 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410291 | Bin 0 -> 3768 bytes .../index/cmd/fixtures/ledgers/1410292 | Bin 0 -> 2704 bytes .../index/cmd/fixtures/ledgers/1410293 | Bin 0 -> 6364 bytes .../index/cmd/fixtures/ledgers/1410294 | Bin 0 -> 3916 bytes .../index/cmd/fixtures/ledgers/1410295 | Bin 0 -> 4732 bytes .../index/cmd/fixtures/ledgers/1410296 | Bin 0 -> 4072 bytes .../index/cmd/fixtures/ledgers/1410297 | Bin 0 -> 2660 bytes .../index/cmd/fixtures/ledgers/1410298 | Bin 0 -> 4076 bytes .../index/cmd/fixtures/ledgers/1410299 | Bin 0 -> 4824 bytes .../index/cmd/fixtures/ledgers/1410300 | Bin 0 -> 4144 bytes .../index/cmd/fixtures/ledgers/1410301 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410302 | Bin 0 -> 5084 bytes .../index/cmd/fixtures/ledgers/1410303 | Bin 0 -> 6072 bytes .../index/cmd/fixtures/ledgers/1410304 | Bin 0 -> 6372 bytes .../index/cmd/fixtures/ledgers/1410305 | Bin 0 -> 8288 bytes .../index/cmd/fixtures/ledgers/1410306 | Bin 0 -> 6688 bytes .../index/cmd/fixtures/ledgers/1410307 | Bin 0 -> 5684 bytes .../index/cmd/fixtures/ledgers/1410308 | Bin 0 -> 3224 bytes .../index/cmd/fixtures/ledgers/1410309 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410310 | Bin 0 -> 3632 bytes .../index/cmd/fixtures/ledgers/1410311 | Bin 0 -> 1468 bytes .../index/cmd/fixtures/ledgers/1410312 | Bin 0 -> 1468 bytes .../index/cmd/fixtures/ledgers/1410313 | Bin 0 -> 516 bytes .../index/cmd/fixtures/ledgers/1410314 | Bin 0 -> 1592 bytes .../index/cmd/fixtures/ledgers/1410315 | Bin 0 -> 1724 bytes .../index/cmd/fixtures/ledgers/1410316 | Bin 0 -> 2760 bytes .../index/cmd/fixtures/ledgers/1410317 | Bin 0 -> 1472 bytes .../index/cmd/fixtures/ledgers/1410318 | Bin 0 -> 4888 bytes .../index/cmd/fixtures/ledgers/1410319 | Bin 0 -> 3592 bytes .../index/cmd/fixtures/ledgers/1410320 | Bin 0 -> 4880 bytes .../index/cmd/fixtures/ledgers/1410321 | Bin 0 -> 6136 bytes .../index/cmd/fixtures/ledgers/1410322 | Bin 0 -> 4624 bytes .../index/cmd/fixtures/ledgers/1410323 | Bin 0 -> 5084 bytes .../index/cmd/fixtures/ledgers/1410324 | Bin 0 -> 3616 bytes .../index/cmd/fixtures/ledgers/1410325 | Bin 0 -> 5028 bytes .../index/cmd/fixtures/ledgers/1410326 | Bin 0 -> 5644 bytes .../index/cmd/fixtures/ledgers/1410327 | Bin 0 -> 7592 bytes .../index/cmd/fixtures/ledgers/1410328 | Bin 0 -> 4792 bytes .../index/cmd/fixtures/ledgers/1410329 | Bin 0 -> 4240 bytes .../index/cmd/fixtures/ledgers/1410330 | Bin 0 -> 3032 bytes .../index/cmd/fixtures/ledgers/1410331 | Bin 0 -> 3120 bytes .../index/cmd/fixtures/ledgers/1410332 | Bin 0 -> 5036 bytes .../index/cmd/fixtures/ledgers/1410333 | Bin 0 -> 3604 bytes .../index/cmd/fixtures/ledgers/1410334 | Bin 0 -> 3656 bytes .../index/cmd/fixtures/ledgers/1410335 | Bin 0 -> 4232 bytes .../index/cmd/fixtures/ledgers/1410336 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410337 | Bin 0 -> 4764 bytes .../index/cmd/fixtures/ledgers/1410338 | Bin 0 -> 2480 bytes .../index/cmd/fixtures/ledgers/1410339 | Bin 0 -> 3768 bytes .../index/cmd/fixtures/ledgers/1410340 | Bin 0 -> 1472 bytes .../index/cmd/fixtures/ledgers/1410341 | Bin 0 -> 3544 bytes .../index/cmd/fixtures/ledgers/1410342 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410343 | Bin 0 -> 3632 bytes .../index/cmd/fixtures/ledgers/1410344 | Bin 0 -> 2424 bytes .../index/cmd/fixtures/ledgers/1410345 | Bin 0 -> 2760 bytes .../index/cmd/fixtures/ledgers/1410346 | Bin 0 -> 3872 bytes .../index/cmd/fixtures/ledgers/1410347 | Bin 0 -> 3696 bytes .../index/cmd/fixtures/ledgers/1410348 | Bin 0 -> 5248 bytes .../index/cmd/fixtures/ledgers/1410349 | Bin 0 -> 2884 bytes .../index/cmd/fixtures/ledgers/1410350 | Bin 0 -> 5596 bytes .../index/cmd/fixtures/ledgers/1410351 | Bin 0 -> 3276 bytes .../index/cmd/fixtures/ledgers/1410352 | Bin 0 -> 3932 bytes .../index/cmd/fixtures/ledgers/1410353 | Bin 0 -> 6088 bytes .../index/cmd/fixtures/ledgers/1410354 | Bin 0 -> 4704 bytes .../index/cmd/fixtures/ledgers/1410355 | Bin 0 -> 6056 bytes .../index/cmd/fixtures/ledgers/1410356 | Bin 0 -> 5800 bytes .../index/cmd/fixtures/ledgers/1410357 | Bin 0 -> 4724 bytes .../index/cmd/fixtures/ledgers/1410358 | Bin 0 -> 4804 bytes .../index/cmd/fixtures/ledgers/1410359 | Bin 0 -> 6080 bytes .../index/cmd/fixtures/ledgers/1410360 | Bin 0 -> 4916 bytes .../index/cmd/fixtures/ledgers/1410361 | Bin 0 -> 3840 bytes .../index/cmd/fixtures/ledgers/1410362 | Bin 0 -> 5432 bytes .../index/cmd/fixtures/ledgers/1410363 | Bin 0 -> 4076 bytes .../index/cmd/fixtures/ledgers/1410364 | Bin 0 -> 6248 bytes .../index/cmd/fixtures/ledgers/1410365 | Bin 0 -> 4996 bytes .../index/cmd/fixtures/ledgers/1410366 | Bin 0 -> 4992 bytes .../index/cmd/fixtures/ledgers/1410367 | Bin 0 -> 6880 bytes 321 files changed, 1 insertion(+) create mode 100644 exp/lighthorizon/index/cmd/fixtures/latest create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410048 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410049 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410050 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410051 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410052 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410053 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410054 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410055 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410056 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410057 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410058 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410059 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410060 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410061 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410062 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410063 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410064 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410065 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410066 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410067 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410068 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410069 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410070 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410071 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410072 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410073 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410074 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410075 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410076 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410077 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410078 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410079 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410080 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410081 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410082 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410083 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410084 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410085 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410086 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410087 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410088 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410089 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410090 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410091 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410092 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410093 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410094 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410095 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410096 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410097 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410098 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410099 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410100 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410101 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410102 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410103 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410104 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410105 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410106 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410107 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410108 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410109 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410110 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410111 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410112 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410113 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410114 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410115 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410116 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410117 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410118 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410119 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410120 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410121 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410122 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410123 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410124 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410125 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410126 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410127 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410128 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410129 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410130 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410131 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410132 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410133 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410134 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410135 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410136 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410137 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410138 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410139 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410140 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410141 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410142 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410143 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410144 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410145 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410146 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410147 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410148 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410149 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410150 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410151 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410152 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410153 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410154 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410155 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410156 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410157 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410158 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410159 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410160 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410161 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410162 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410163 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410164 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410165 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410166 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410167 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410168 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410169 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410170 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410171 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410172 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410173 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410174 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410175 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410176 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410177 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410178 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410179 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410180 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410181 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410182 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410183 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410184 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410185 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410186 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410187 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410188 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410189 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410190 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410191 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410192 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410193 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410194 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410195 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410196 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410197 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410198 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410199 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410200 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410201 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410202 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410203 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410204 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410205 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410206 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410207 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410208 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410209 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410210 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410211 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410212 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410213 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410214 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410215 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410216 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410217 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410218 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410219 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410220 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410221 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410222 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410223 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410224 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410225 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410226 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410227 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410228 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410229 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410230 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410231 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410232 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410233 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410234 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410235 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410236 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410237 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410238 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410239 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410240 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410241 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410242 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410243 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410244 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410245 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410246 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410247 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410248 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410249 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410250 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410251 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410252 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410253 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410254 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410255 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410256 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410257 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410258 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410259 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410260 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410261 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410262 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410263 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410264 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410265 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410266 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410267 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410268 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410269 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410270 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410271 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410272 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410273 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410274 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410275 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410276 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410277 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410278 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410279 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410280 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410281 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410282 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410283 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410284 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410285 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410286 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410287 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410288 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410289 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410290 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410291 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410292 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410293 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410294 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410295 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410296 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410297 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410298 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410299 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410300 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410301 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410302 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410303 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410304 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410305 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410306 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410307 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410308 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410309 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410310 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410311 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410312 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410313 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410314 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410315 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410316 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410317 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410318 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410319 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410320 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410321 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410322 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410323 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410324 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410325 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410326 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410327 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410328 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410329 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410330 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410331 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410332 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410333 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410334 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410335 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410336 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410337 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410338 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410339 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410340 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410341 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410342 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410343 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410344 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410345 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410346 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410347 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410348 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410349 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410350 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410351 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410352 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410353 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410354 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410355 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410356 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410357 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410358 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410359 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410360 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410361 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410362 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410363 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410364 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410365 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410366 create mode 100644 exp/lighthorizon/index/cmd/fixtures/ledgers/1410367 diff --git a/exp/lighthorizon/index/cmd/fixtures/latest b/exp/lighthorizon/index/cmd/fixtures/latest new file mode 100644 index 0000000000..9f53cd22d0 --- /dev/null +++ b/exp/lighthorizon/index/cmd/fixtures/latest @@ -0,0 +1 @@ +1410367 \ No newline at end of file diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410048 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410048 new file mode 100644 index 0000000000000000000000000000000000000000..ba14fe4bf53a464251f29c2d7a3c3cee4fb9a321 GIT binary patch literal 4156 zcmZQzU|^`dbFIrsShl3zcHPY`>$CGi!|k@#M6M0wXVjc(_$#Ius6=??#JEO_;MZDO zGi$Z4mp@l6Vwt&HPt%oacGpwI!^gO$nx}gS_x9CssvKgPT_f;6s@igzORE0F)-VHu zW8VWWM+41ZNLq9}07L@;BZ#QBB4a=vjefoC)b;L*+N0f z9F5R6{l{jaXJ&gHNY{O__S~0bmH4W!%&>I+SNuG2r2@N7$2`^rCC%Kx9U(4Aj!GiiO$ zp2hR8ZiwBt;oQxKp`6pR=l{6Jv+Y_;+yCD)J{ck{hs%A|GTNnH_aB&`Q*2jf#1o2L9}@Z zP-zrMJrIE6P9iJF+s8EDC_gk*JIgdTC&DPwBE-_s))p!cQ^&v+@KCiz?{ss8%c3to zgFo=fZBF_czE5pq?*WmzuHVQ0gA_smI86ZAj9`0#ala|tE&uc(ZuXeRIv2{jo47u_ zdv&_FL3qaD|9txA`xh-z7M)r1B!7Y8^9KKWbNBmZJ8ho#oNKq%<~0Y{RP)8k*nwt& z{m6S`b@tAgYh?uFmlaI${{8O_>n_#>mn)@nqf%A(@=7cN`;l9*4yb-I$bKNk20-Fq zIf2@X**X@+9!+|Ua^F{-7r8j2E1w~xDCDx8Ty9&~gE=tGJIXIxEAl+v5cIswP5p{u z!~83Iw5&5F^|Tlxf6q9+vlFOJ+@tITOgR(SEkJ)Cy88KQr~0u5;U5MelP-LzoT+}O zQ|tA`C2PU>t`~h z7x=D}oDIl%dO_j_7bnnR;P5ki?Z`Z1gW{QKEUMYBRKBHfayu(^`Y7dj=AArgIziYF zs4j&;Ko5n{DZV#?=z&Avc|OaY-m0Y0uEEfA1?>RNKeEWXm-t-td1CP#6&ohq?- zU7jIeVZ2Uj=HhFgL8_R<_zpl+GcZEk>cAMAwUN(gcI zB)ni{DlE9+2?Z!XLL5TE1g(B$0h$3!Uu1_D?c7GXo2sDci&kzz$%n+$S+ZwSBY|#O z3XeD>29}6JNh3s>A4P)s3={sux_ab(yZ`uMnnq`|+3t_KWUTgeeA!-Q=436-;+F?? zUdn$U0J33DWCU{mLFF*YBO=Ou2KMz|B%o!#7SJ44s99hNW(kmk#DuFLt2`pkO`o^W z*iBf=qe0>}l(a^on?Ut972*)1JOW4hGPSmE1)PFL;wr{mtSUVBd6eD%O0!S8?_@A_ zfm~d)5j16_KxtfQ2AEfKcR7pRSn0+1pOi3wMNqnyD=qaeMYei5iH_y*HW zu&uxDv7Nq6k|PQp^Xo=@4~3(R~mkJutU}Xe{oB GO9KF^ptZ;V literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410049 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410049 new file mode 100644 index 0000000000000000000000000000000000000000..eca89ca745d94497040769a2eb3f99dc5eb01111 GIT binary patch literal 5336 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 IKFsM109Idqf&c&j literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410052 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410052 new file mode 100644 index 0000000000000000000000000000000000000000..2d8a42fe12b640c58289164674f83d35e642ca2e GIT binary patch literal 5048 zcmd5<3sg*L9KTZ;6&gwrF`Ay^QI^u^Wr`$^B$I5yW~LO`q!?6ccL=FXCy!DnGDu2k zYD9xWPYLZ7V$C3(FtK*Cm96ae-MM$%9($S==lIT=e*r26clO^BFLa$>#5>SOe&i4(_*ep|?+yd840?5?1_NQUilYt%5dVQniOV&l>j;G zh{9}*RlDdUU574B<3nzU_D+>yl7fq;QRK>HRs4h&h+Wny*MKJnS-5}+pZmoRg&Fe< zk{MdSeRdi!Q|dw<`ct@bp5FIu%%sJnAC&$a zI&I{VibSKz>9rF*V`%f94_@)SK!yoH`l}VtQvp9EsLxrv)`fH2 z?S|Nu!Lk;OKJb@_w+JCcr-5<_5T#ZFppMoJ+QA0u837(D#i`BX^RCX%czSGTvbhDP z#px!wMQnNaS>EKp(82@@U!Vi+P}_dvVR|p^e&tHt?C73qJJ=-QEV^B3Vx#q`tg@ux z4R^$R{|CUIk^{@d)g1_UTU%Mj-g-o1bDZEqkXfRa>fFju#%r$saK`lPiODDH{(^d> z@224DBs4$3F?G5&B~xdyJ_M@u@B;kA6vnsL~~wgJ40;+aFE=bP*tSLMbpn#J7GhIzzaFI$&r3fFVly; z?b^B+R?}`<$31Pb=qOg0<3R8XI0iOHOqV>?oshqkMM38dP90S58yvsfFY!!L5LLQr ze|e^lvGskHA6c!2f8_QUa~d)&bv*C4ZA!vh`bTMr)oD~Ne+a;d)lPpsMn|@83F_F89 z;ivsf()H&1%)l8%W}TxxdK%_Fe?w zk^3|@TWfHR#o4{bUROCgdBy7Q32BIS=C42Ah2;QsQGI9w8q5LBqhEWl{X^ZQPP3sM zlA3X5<)wZ?L4=Nvx$0vS0m@BCoXb@Q{j)@C_0|B2+DxMEg}>8!S~a<&qlL?21u}vs%@j?ER*R%d?mI)I4@oryG{1R>W8<@lM93 zO9$m*-tmRpXsH`+GWYjnV=n{D2Yqv+HezP~FLmGcoa7#r)8 zK=%VC!#PmKYKjgiu;1vI^2PSR9o*w+zzD88dBcN%0fH!hO`LN$2)Tsd@xhv2jrO4} zI7cwK|2-E$0H!DPUl|j`j?dS(hV66a3!YP7qK4?45bi8!`3$Gzdu+Ei?z;5eVfA|b zpzzhL{AkM2F}n|_-ruWt#|b}(kl!S^8v;iaI71+&178_apB(*0uyy0;05QRH;|tVKwx{&u zsON%W+jx4gj&P95U4B6d^F^9XK+rphSjYV$>k_@D0joDhUU!)Q&jGyQ`+^*!0_O-a z=5DhD>~qkz7Y_*o1Q8GSUmQixW_UO1b01X@Q}|cL)F(&35p3N!IzUV?uWpS{ID#lw z>8X$HGrc$pZHeztUkYGT{EmV{`gB(z;)VAE`FW>6T*zyjLp^gO5}g{0Q|!o@I2(a`3iA9 zCy!p!LKq;3_$(^S0cZ<3+ilGZF!x^Z2?GT2e_$i58AULSsR`A?>fS3ZVSpeG7!%~J ToFfW*pl4Dk;>O9bJ?i8b43dz&Aqw`-MB9so_mKohm0i)H$`=YG$J&=eeKTg+6Tg zCY+$m5G4pSgCS|r@k|g61dJeJh00lpJ#$Ohd^Kl9N3U68eR!3=QKp5cZIAx!t*3K8 z7z33!tYdtsrT@If;^VpZt-ju^8LpeBO}1c=j4_v;Ri?{p2<*}J#i zOzUi8e7|$y?ES~`?0A=*?{8qe)qZc%<3;ro1J*~KlP`XEjDxu%NGFs3Eq~&aTU%Il zo0(?LU9V-}&G71=WtP~2fZ~?r*RJSz{&84q(_rM%B3jHK+QQ2FVB6;9DIga!A3w8N z^$Lgu0jH9HbP9uyw*!ctaR26xB_7H%ZeOv>sm|x`l>hUWZ6xVnm*B#$e+$L zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12GdweTskJQ>OAbzGKy%N;~dd^-P%`aQMETMTpfti7B7=HTyC!wk-fg*H#9m z?s5mZQAd(EOX3EBr$_tN%q`I`V+&2Y}TWX2u#nzqL#KeJl8=J*VOC+F`k%eVnFkI6B_(=Q0f zfPwT=*ODt{@s;*&{gtmbIf}#WREfpw@(ckB<8@jy7hn4fQpaeh3scSr_8%~fz5M-c zI`94Y>Dxk1ct1Ls=rN6b)t=pY()lw!{(IcLb>hv*7KLvQTfIH~F8}0Kc8!Kra}{=L zKRw?yk@NX)8-*upS%3zD!*b4&6$Nq|O*o&OkpJtlOmhPp!y=Eh>>62KYyPFLaeVuU zf#1min4Umk4+}>SE#Vbu?2%SwoLy#MW*nGYm7nZwV(RT^Ym26ip}`_BMK#DMIa!!} zy~)bXd9Tm7yGHdWb`(Epb6=J{{~t(wu&XnWVqhTX7N8pIS*O5ifdnJieZa6tTDg8r zJHOQCh90-D9d`9}8S6A-3 zz+VvFohpCJQ2-tm%$bXuj|ZKT-Lk!C{dcb8%L>=NRTujyQEk!j`@7go$!$ns0S-H; zL*VIzpnhO72e}*O-+gh#OJ?W(>3b)1nC)#~u`mC{ly{Cx&d$B{Hq0tj|8_6K#zlMd zj>5dlzzB8&(7$aNg=4n81D4&DPqITO9>=5kr2`o%#VlTK&jNM*%*Z=^zxzq#z literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410054 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410054 new file mode 100644 index 0000000000000000000000000000000000000000..a3cf6535d7cbdb15a765ae7991ca4407c2aa8fb8 GIT binary patch literal 2816 zcmZQzU|{gEmFK!*-WpS&nXGL!Ve`&cU!|3blV3|so?$fU?}uq$fl7oYzWtD5$8bQ# ztWjecOGeYd>Sc4}mrRfUaqh$AGu>vVc+VZ>-IkKm`|M^{wTpaz_Wl2*;Y}|%cd@QI zu&sAelz%+X42Gmd$MZlm5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^P{r8e2l19Ahr{ zsTsNdM?%`lU&5>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjtPnxUMQuN9ZXvjKOyjfgyhT>-m%?H4Rd>}bvrh=)=pd(zJr0^$pIJ!p!fpm zfdO#*!8oN^)ia({KEC#)WM;=o_gmG~FB=%kEe^1}c7Dc*7bsc35KfPh+zaR<5U8qGM*Vg{yz5v1fWtN{UZfa=EQ7nmPvN%*D;egU-or*BpAW&1BS&UkD!V` z5jWwFEV`@nZ-1L2b>N@l$1iE-y0%wN&-Z#Dbw%t#NT}4u#U9=lzN^e~&F7k7`G3E9 z#>~?fEy~x%FW>{3#T1yBT)lIfv6gP|+%u7rUh`S;MN}LUtZ1-%8Rgb=$@vD@Qc!$C z0CHGBg}~v-42*A3Sb+gC{$cv{p#fPBOfQIrS%M_S2+C71K2hesUI$8pa5us9f@mz} z!_qd$AGEZG5`SPg8%Y3(3HK>--UA6TgJq!pLn~K7YC(Qy1=3)%sGWYnc5hs?NAD<@ zh3sBfn9#&taK6EAFN3P~T)lViOQP#1%|AJ{xyWYA|0fa4LsvDfYiL?sp1{86M z4;F?JuyBKiHNmoxfk9krWxWJ2tU>-o4hOK2NCHSqxRr2wpdzq11&agYGzuyX3sW$c zC^yZrxj|z$f!qkfD0ys!Q~EGz68ZDCE-Oow;`32#Ka-bnd`9h ZMJqQkAeY@lw=aT-+XVms literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410055 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410055 new file mode 100644 index 0000000000000000000000000000000000000000..ff65cf037d23abc2c96f24e179892f9c57c65f4e GIT binary patch literal 2964 zcmZQzU|`UWkoX%>*qPxS_Eou3Tc##osMt>=(X)!r(?x!b&)RK3CBi3?9`f%%nll^NXx?2YKG|PM3Oge}`q8jEz+OdX3#% zmYveQyf*0Jf$C4QA|x)aRdi(e+?(n?HK{Y4`OcsFnRiPHC-SY@^)|7tjJt2AT2T0g z=!=PlAA+VW|DtbkB;fuZUr$bzV4)cCz^No4oxl#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$Dnuu143~H zRKx_u45eAsGoDmFzV@YLX2(kRTh-Ms8yL$i4zRp<>z2@ytFo7Y-^l?O25dm};5Y-) zAOK>6`2_VdFo5+2yE=n4&RMdeKyIT6=d%;?e_fVoZeU|rezw|YZZ$AMQ ziF=g20ILPr0d@m09cY>Mt;y@(mw%Dz*~ff`2z9A6O>DL**EOV(d^hac-KiOM%92f~5mccnvnUQ4(Gt zf1v=Rh(lt+m7uGK#UVIM(8_g?93|m}ZWnTbqs(n2#v#w?P+0n+m775M0G_UhE?1EB zz+(u=z!o^X=Xl?glxaV8-LN}9SUofLz1phfiyzEAd+p}kz1J-ME(7bwEH6N1HVlCL z4vJ5>7!hSYr2IqD12YUnV{s=+S|-Z;eM$$A-9*5AkRM?FfQL5??4iUT7{P)hfW(CR z6g^E6%9F6P1~!WbzcZ3hXTux?tGkiii&7R4VK0L$B5sk*0o#EjfW(AZkF&19ET@q2 S5E*Vlu^Wkl#3b2Ga18)w8qy8` literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410056 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410056 new file mode 100644 index 0000000000000000000000000000000000000000..2659c7d86bf401bcf019c8c094f1cf71e1aae6d5 GIT binary patch literal 6080 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 a#UODTN_jz|n?U_=YQ!OWc>#}f5CZ`0Uq(X! literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410058 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410058 new file mode 100644 index 0000000000000000000000000000000000000000..05a72965fa30b61f4818cc6c93f0b4acf27bc355 GIT binary patch literal 4872 zcmZQzU|{%^qF$S2nf~tJ_peq5Hk?^`{qKshn3Ypx^|RwYgiqfQ0#qWLwNq&M%ewxF zJCA6{D;E7|u8-=uZIF2)d%5UEHi=Y=DRZQ{_8hgJXB(l%a$wD)V{V+gLpEKqKXh6_ z;!|yV?c*&#GZ>N<9d82BK)?thw#Eu<+Fh&RclCgk`_hM7C!FLDZw_^rITBF4uZiW7 zO*c@91NX$Ln@gXTU75zgvu*a;MUvlT<2iYvMCY6_Jj?KpV-?0LnM@871ZSrucD{3kX^H`6yTwWaJ@ z!TS>nzq;I<%5Z5_Tv^=_Ee=~$z>+G@s2GJHS-Ur(@FHZrvnECjb z7bY7(EC@K21f)|Ke7qe%^o092cP#Nxo^kt%T~2jAf2aJPzZ`!BFIFGDbkg*RrbPa9 zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKd7&Rx_NlE}3zMy{7H4 z$%Q9{N)iF7S_(leSbU;D+scXp zh4DJAnTxM|1}T#$kZOP`XN0(u!NGC9<-{4+#26;Kmhl$~9N9GwD6wgd! zQO$m(@-2mv+gYj8M=8%U@8n6-3Brazbtw!2Vy77xH1vUNv@kib3M$443KL^v6AL4t z08|W4r}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3j`1o zE(|lKH9(a!Lfz`n-PzG6uC!O=uJiuC6$`_!+|T=e@Hp$L!ucMq5!s50*(dhga%%p+ z&NjP@_iE<(vpF6I_MEo}&@(HwnV`G!br3JmJaD+YP)aL1n6@TW4oIg z=Jr_Yc5HC1owzQ12Lr#812DgU!UL4PU;rh2{_k!yyTx54ePZLH1GBr&*~QsPvP*<$ zX71vTbx`S1&;V(YJ(~*G3pN*64){0)O*^9VU3KlROGiR#TC;wx?^OEvjeqvCAPcQs z%O>TB&B=P6AlrJYct`!c?Q0Y~=JW49FCl#*yl!{+>iP2?f!q)F!`DzN@e;RR;|BJCn-PU(GLDz zY+b`N-TC&6ub~kQPBVUdwk}b3?5=X+R+PN%lKMwLitVMS%hcztzZAWBsMD*u|c={<*PVQmxOa|6MiBzhbiYlcV>cmV!$*klj!| z$o((?3NvP4oPxpw42bYQB>s@}!1RJ>m?cPJjG!_W#wX7FlsU+5g6Rd(Sj>mTJ;)!l zw1*OZU^p8|0Er3rDL5^|d7wA~0jU4b>RDttuvtWeF)8U6<_uUmMs_bHVUBDL*bXEC zBqq#yNdAWN@P!Ha=>TLeirq*YBqrPy#Ksdtdho8D%UT|?&HWHAby}nD+1$13pI7=i zU%kS0Rt=~a~E)Uc!FoonHBqm%1 zF28}x3Sb(ng{nl!7eu-#gvM?Hxg8c>@G@bLxQ&wV0=3bo5r^O~K`KYUQTh3!I-km+ zJ%1J{^Ss@o`M2|l+#^4(j4i7y(w})p?&eqkRs?JtVM(L^pmMM|J+F9UVmVR( literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410059 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410059 new file mode 100644 index 0000000000000000000000000000000000000000..0b84252413c78db36cfb6846c3cf01b2f3f28716 GIT binary patch literal 4872 zcmZQzU|?ujc0*Nm!=)&ZBXfUpANCe%ujBKX)-&x`Lin1QdRC>yKqbPTQq*g+EYsf| z{QlMIz=ks`um4?97PE4StbTUdcysiJC=AT&$xZXE~h%5zf=CtUyi?m7psq6I%)buQzCyl z&uspOTf61e7n=NBr++Hp*_N{Qm4CLB|37D;JHOy&l6iQKhKWw^&rb{~|Nf>1#WZlq zo}QD~qUzy6D}hJ`RwvATtlKI;*-oduVxa z)%KdO{^%ojrfaRUS(3(mD#kjVZS8U?27V_8VA=qw1%)LHpoGu8x=7=SCFfn&I7b~# z(aOuS+@Wy#crXLwMfukGH@q4_{$`Lpn+n$pHW!%Yr|iFf<{QVy^D0%pmK|=}k^SlI z=k&E3r-TXad(mOwBguX(%KV<_+fC|k*F5WO-LXI-Bl-LPb6$7Z&mBsBC>CbS1~d@t zhyS}9&2Dj5NuSub=)mmmb9QmIlI#*8nwh)!V;xj_6f~fI-~y^gb~lI(<`dMQmO50m*)-{I%rXtlTQ%7`I^g2jZ_CQHGTJI{v$`HmO3Q{O2B4%2Qv;@7+FmYy6JV3o1 zt^VzYi}LL8FB76dKkg%1sh+zAIfkEuu z-}iffdLU&AOe2&=vIL0o3N(QLE<))G)khIklTsi z;75u$BqqT)L{Fn2y`Xv$l)m8g&Y*D{iEg@R&;?6hvQokOYvJFzX?GFE|g;X2%Q@q&!51n^5dV O;vg~Mt{^s^;2HpP=sTkT literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410060 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410060 new file mode 100644 index 0000000000000000000000000000000000000000..aaff3690ce3b1c9f6efea8811a9e22ac4f0bdcfb GIT binary patch literal 4080 zcmZQzU|^6`d6^PXxN!wPkM{AP9k>6@;Yb(z&h%u~{9A8>k3OEQ2vj26vh0Sc?1oEG zB1h)_G|lS$jO%VA-|_C(PxXYt}Ed&47c zaY{TstGo?p21C-Kwf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs*q$9#fyKW37gOFjE;&2**4r?v zRQ=na^dat1_5!RHNHBuk089r-^D5`uJuKE{s<>+J#ouv}FV|Y^Upn=({S2BGqwr_RNbcdMAQ>ZU3w(k!6Gn4HOMGAS(tsj z$;!@oug|!N;4hP&0QRWoU()UP4Y7=!_qTT zsvK=?q4F?w45eAsGoDmFzV@YLX2(kRTh-Ms8yL$i4zRp<>z2@ytFjlQ9u^jJmaHg{ z+i1f1?1cPZmt~q8*ccXhtYz28@>=sReU0PWPas3BXPp93AixNAA22MWEIdV}+2eAJ zj(%Bon8kMKlmiFDW(H6Hq`8(OE8w*KleJ$KXkM69neuIJa6r{|9iHD)Mce|fM0iXL ztYlX4Y2pEz1r7_t*N)6HHYlE%#-f`2O66M$C%3awr;k#eXWq$^rW1q>f$CBi1jJ4= zFld0-$ng)%%O|!%#W)L!3#^QdP0T@xpki=3#Xs;VQ+XWUv1(7H9rvz!rpymGeBaL^ z#A=_!l+XK`eSr#@0z!iVd|W|VARztJwd9Ife5Jixf92~8iDx%+DO(QKxUb*u`8Q>W^QB?yw~wc*yOkQ z_S*MTy=Pr!G1x1&XHJ$K)KYM10A$0$1eC^M0Frhfc?K*-L>^&~J)6n^&1W!k;55t< zxB$prV7Ub26K8(P91_e2`2pq+TG~U2KQMv?NdSon3nfUJhx1_h8yb#ibrU4-L*&3_ z5fR4ld`(0d2Xh9jtV4D$GX-&rY!28CBmpEQ%z6^Sg#7ddvKPf}Bn}djWH&L$ha45X z)GyA(#@VxP*{z5PM^+RaS7GvFDNfw_Wyg`LK~NLX^D45Purv;;AHaZM{Qy)Yb>VFd zFpgk(1lc@fkD`b}jR)yL2C#GnwjY=V5pG2aZzA0!L1Q<;{EL!42Z`HI$`KOX1d0Qc zxI*F}G2zjMD-OZsBw9HFidRs0vBK;i!fo(!gy{Cc#zlMdj)L8X>|R)yfW@e7FW5Hh z_JaJ&4)ZUy+e2V`5p6`A{-w6P&~_NM@|q$4+07jOx8i}yff417S7(cVc{!uA@4rr# z*5fC9Cb65spl(k24+OAq0ntG2Kd2liO@YD<)XoM2BHCsQ?CU=sfVR&JfSN#Q3=WV2 z28jum#+8P__5;&!J5(hs4S~5tx+#XnZo*m)4HCCe5?-L@Gd1E6y&Qr^I*0)PjBVOF literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410061 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410061 new file mode 100644 index 0000000000000000000000000000000000000000..29b60b36de0bc225e4c1145ce154e99fe4a9a8dc GIT binary patch literal 5940 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410063 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410063 new file mode 100644 index 0000000000000000000000000000000000000000..2c24537d1405dcced49b326448ddcd77a6175b68 GIT binary patch literal 6000 zcmd5=2|QI>7eDt#s7zgaG8Iv%XIA%-T=L00MJm0bt|C)W5u!AG#1k4wJ@kc=L?M-_ zL>W@Xry`P1grf3D=(%p2~6e)^klFDFOQL+l)NR zZXVc^Atx0hBUSUuzz31A3Y~Yh`;BDIH*#}QR(@$)5MeIht(y>b8`wa$TzGH}z5$Wo z&n4+c!nx=7%ruodYiE~wQL`vTQN@`ms1>Rhn^o@Cs|r+T{cVE#&Sr&5W(}Av3T79s zZFfp1RUP}HW^+B9yX8cAK)gU?234A$zr(X~wb}c|;O{Jn2q4=J?o(sqo$c^zONqxpl91dAQ;~hA<13#R<)>QQE9i>7 zbzkXikDt%oL_Zfq@GviTOZJUqIz&9eJ0F|3~)T#8cvDD3$Y~&X68wQPgZk zwbsZNKKUX4kSRhs8V`mm3n33I0_y0v!G4gycxHhYTcg=3A+g zCpk3$dt@DJLp>|NV6?rgeyh(}o;_h%LmmoI8#wjLc2m2&o%pD#Y4S1ut^WY@ggyPA zVd^9_J}}2b$~rT3*WKT2+y6x^qd~M;Qz9_xXl`r8&``oXX(josy$&gwsp6?kYxHwn z-23vR$q$tV{o~jwkN)IcaV<`W7Z^lyX?TB4mG9DLHk%K=-bbYur+DcU3Hgs|Iu!DJ zTt9czp%RHceE`fSZlI6n0|Ntcd4tJgIp&1lMr`x5EhxMrNxhyP6?N*BpWj<-p!7yu zwoh4F7ULfwiSsTMD-d|{ga9o)wa5lg=-1@QKZ)|WZ(D87c^SQrO?)9jM@_yyHz24eu zd20L2c~l+^C~Us8-CNfjjbXNAAkdG3{=qX5K{?vSx4+6|DOJ@VNa3KwK+0o*s^}08 z#M;xkW~GGN(X}nu+Js3;uD&B-LAkj<6j1Q zJ1}2l6bp#^KfYy_3&Si#C|s=xX}8|VRPeCh{zwY8TC9C4eddF0F|9gr1y#WVPEu@l zWzKNtH-=lMC7FphU+vK5GQHFHk(-HuCUK)Vd5My?-Rs8feQEJ|Z03CDj|x%(d^zrJ z)fGNF)3HYB#H!Xh_v+t*B#K*{1-PgS3pTuTHF~0$T-&o-9yvv?GU#u5GE`G?$+s=ETHjBjL^tj&)!(G{QIv*dURO``c9Z3_*}xq8iU!?x zbEN}bgbM8n5L*_Tv~KR9+csgpU;j9Kw_x??S}rC^`WHZe$8tgfpF_+xnA;i5+CfDu zRqKw$A^bS&{N=o=EFcHtU+hS^2}GFbm8v53iYnlVA_ zSiXKVY~PbFxR?GDV~FO2aIQkfE+nv7_>ebcXDdf{grSkqXS;Go+sg2sSSewX9h`y| zt5GFby9~nS47%R{5m=jEV`~|fdmQVedmOg5G4?s8i?1)t*;fgevxIrantgzeb^8;} zp=t2*J#man3qe3&@vOm^h=kSjxAOt^WdjdfZ}9q=V(jDm69fbnhr=p1T#p4j5I-YE z;AXNj(VV0^$+Ke`Jb-FCc*bEICxAMH{IFm@-EPS0=A7gmrQ!zO>2!+9iAl!`hhwioxr^^nF#=miJb-ehq{hPO~pPu*Wl|M z%ja-HA7Ts>;79cGTFeU9Km0@bh<}W2aBM=bNV-D*66>a`)y;<8+goVN{w&lndUrzA zC%tQZ-BaP&d>l=Hb4;FDvybkntlFQjzNW#?_rx(SEd&99#nbtBY6YKbQ;dC_e}aI( z{taw|xy%YC`O87@EcNX@9(7CrLSUziX-rMB{GR|J4%{PPCIS-kxI%2!WtC-7c|OO2 zw{;lV4j;U!cI8}*v18)KWBaY@nEfZZlZ`Ul;Mk8@`&hX9A{^IxPcrYns-QpoPYovm xP6CTJ|J7VW>+i4bWGrG*nr2KB*8UHIZOnQxMNIHNjDKPb(KX@QI~g|ee*zI)g~tE@ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410064 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410064 new file mode 100644 index 0000000000000000000000000000000000000000..928779c7a0fc0c5e5ea0eec5c571f5007ba01832 GIT binary patch literal 5936 zcmZQzU|>)b)xEpkafQH4Ei=uMT7lia|N6i9ueAMl->r#9>dv^D0hI_#%LmD9+j47R zNhgQHM*WSNbyF^QGbdcRt+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOu>DF+#;t5|uT|Xd{%d~CT+{mLz`Tc-OnWbQTYh*`935g^@2RL~{9{h~7QVc> zcFVUF_C9#WvfTWkkg0*y&qhsl{l|XgmuDVT4q0_mKIU*tDuevPr!`x3J3T&gl%CR$ z{PD=YNlS2F9%r8FssHDCHw(9F?aev%IeqCY4*AsdS=Sdch_(puKG?Q-c?!tI%*W5X zuwMXTLBJ`HXbOXmw*!ctaR26xB_7H%ZeOv>sm|x`l>hUWZ6xVnm*B#$e+$L zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjXw0x=UvecanZp#xw0U;niUnxZwcYwe_yOfNPW-pFiNu<-7O+|?-z{7w$QFyIF& z1;-gk4-g=;8SbsUHse+1-JJ=Qg|F)DlnP?bwNxK1&Hj}6m`&pOHqB0u2HCTzAPNK+ z!R7+vwrH#EKi+3oH_T4R5jW|K&q}a=zC-3#>66a9b1!4f=EzsKn^kQ-nBMWXde$@z zWU8ui)nRq7((LYQuLAqexvSjS>G4ac|B*4@gE&Li z8T0Su-SKnth&>l}`=0oTX`vMg*1%w6#__%_!KtTGbYsnR}_)2@X{>s;z z9L3>ws>I@Td4_<6@j9)Ui?4kKsbc;55UQGi5$aZl$rf+Udg=$otDgRzRV;aLmVJ!o zjOFLQ>|PV`>~!6im#UBT8t>b!(q@0nofEG8F`rw7Pc?JA)$zLxQ73w{NqH*mNV zXiRL44gSAufh4;#+m}*R>kEo8UCj@KVx?!CdFywy45$v62g6PROR+v68!cRp?}9oE zCe8~|6Y32SjG8nb9p7|4pL2o zI~W68!AcpZ~!d-LGi(I$In^J zQzbS$P}yCwtUQVzqG5y%S~a115gb}A6PFz`=IJx+FmYy6JVD5|*yQ_cv@BMu_#bS+;R zKg-sUV5xYQ*0{+{{~$x>zrd=4nkyJ)X`Q`fxY6LspMcWMx&Lh)Otk0*c_6z% z08%%A>h?KMIYv;O31u@7=_X*=Oj9?3+ztz`!R9tf!V8qgs1b+YFhOdcfum3Lp!g*j zMyHi2OLv^C=k=7Z+)_t#B=_>S>tUO7u{S3^L(69rR)0oaeawifK?h{;T z4b;ZNS#J>OCJSJA)6z{?^Zp=l8%lXWqMOj;1UXVki9@2wi$UWyq*5}n^;4i@2faW|kaPyskCZTxm{3V*Ul`7V u=@o4O+Yf92i0=ly$R`f~H+#`MSRy^5XOoV5~O-)E*2 z{}NKY*5d{=gCS|r@ns+y2pB=c)uPOsNdezIbJ=G@AL%sg|s|eM5>7Bk;eaRfwWpPn94?YG8J6bSLd+Yo!Z^~!M zSyRfAY&v({-ko`Ylq_$+TKO`^-h;9@;|EFsL-=%=jO?hJ;JlOIm47v z)n<$PX{f}8tB5L})jB@A>Z0gG_y5Q8XXLkSJYDos(c?FRXp124gKe9ar+{3{eEiG{ zM*|QG0#1QMQy6@_9YFMi`!{zi@lc*|`-)vobv}Qm{GY!Ze+4gAAH8(a^ogcK{&b$% z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|+h?zj@+0pDg8y7Rt|?h{TzgpZaYepj;uLe+%in`Q>SWKR!jv~A7){45j9}jvNFYmQ*o%x||6YGI@!CFTcr^d@Y`dz?r=+VC|Zhii@r^zfSxUIix zm-TIfITqS`=KZuf^;u0t)5#xX9@r1kUk$xeP8{8)dHW+@(~iXK^|Pz1j1o9CE@v&X za$tHhAIT3ecY|mNzm)Xgw36UbXMtyUpvchjvOrr~pd7L~h7D!KTbAf8+`2%x z+TY;~lT~4!pNXQT(t@SEyCx(BOT7d+1Pb8#!1e z(TAL)ajH?#ssT$`7(SKWKW3b~R6kZr=I2%+<4LKe+ zpE8xl@g1x7RN8Uxs%OglfW!CwEJCdINlf{?ui2M@v26j+*;^TyzH0#80&@r0S-^aE z0LWmu&k%TW{{FIz8$k1z978-^z=;6J0fF>W*ODt{@s;*& z{gtmbIf}#WREfpw@(ckB<8@jy7hn4fR3cGSa|^5%NHBu^2Mo)Wd#@M8b+GaLsTKQZ z&3v-6t!=-L=K*u`ewl>$Tl3%fJ-g~Mho@NnL0oyZ=)L~biHC~$Ct0mMBi$|)SXeE1 zhZkrTIK3FYc4VHhLGjEq7S-%mD&JB#xt*0deU$P%^G=>Logi!oRF}daAaVEn7Ld(=$zL_)`DicX{VK?%>&Lt z?M(R(1VA?2uR!iUs2nJ4nSo`60F=)_L^w0BuYZ3A8rG&jeXKCOAR1-~Dif{(9G7q& z$ZimT+7C?g3!!q1pfViFCe}?EGPd8gU2?6QuS6IQlC3y;)aG ze>ExU&+&5ah&8`7n3hd`^7yCI0m(Z@4OiP21chukR1_urh%-NB4z!L%7z{TILkMfyp@BV=_yZ$YkOYvJaKC~4gbZML z89g0<^n&U{P&ot7HzfKU!+s5>MB7G8V`(@a(8r+mlseEHP}>0xkir3p375u|UcmO_s+Wj!Q`jmR zy9wlWSa`wn*C25lN?Ie)O`tY0HR2GxJOW4h&1?7S4i-y92x#B=?H*Bin61*sDadBd z0sV!dANRB^j)A5O^m+*@45naV4o{;5`(+Fa;#w=4VD$z@Iz$pcV#2K?D~%HACJQQ; zY3TU|YZ@ISZbM0Qj_DbI`aAsm>(EO+0sGVd;xj;RWhL Vz{@_O$2O4kz;hXpfi2=-@&KwHZR7v| literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410066 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410066 new file mode 100644 index 0000000000000000000000000000000000000000..168aa1ee636383ccbc173a6cd5c44d57748b1b70 GIT binary patch literal 4000 zcmZQzU|^69Dp+Z4@+nYnES`9NT%oMMkn^}Le=al=sQ-PsIi3gG*UpJ`Ejf=j~@nznN2-9t!zs=dT`m@mX z@E>wMom1U_W-ufzI=%)(0|6t5*cvOaX?LxL-_-+F?n@tTop6#rygAfe=14&Gz9yDS zHr+ra4vY!b+3H!|4$iI`Jm;Su^;YNb>e0RK!My#xQF8mI&=)rES8Z_bxOBEp`LW*Z z<7XB+J)U`Rp8ov9*EXHswfb>7i%b(=@UK$_eVvn)(tV>dgp?;R9++3uwte1K%gv8E zdROoTXU>bNNt)bmssALGDW$D{mr0J!uAZ&yRVTYOslWcpAlf3t`(WGVDgWm$$6vvV)kiO#G<~8ekw2Yh zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lBwrJ`Y)_878)6Dd`dU>hfKNpW{N>&}$ z9+rGuk*}CI#oYGt_aLBp7=W7(wig)pp3K+e{d{lo|1N5tY3mlwTt3)3m2chlDLK5&o6t^g4?JXfW81>JAOEVU-ef zBCA7H4J(ReX0wIcCI>G0#(Y=DK}V3+1?)#|#g#zylYtoK4w$=OG)NpQCs2DaTgSrK zqe-t(?)$3qA{S?LN%WC5xpOG@s<3fS_R8S z6-leRJAce?Hv_5@_b7V-Q_ci-3(((g@5PqxU1&39@~0CU_TN3G->*CG?}WEn!mq`z zuL_%U==Zakxt}Txm;7lsoFteaxAoSllI$4Gm7h*)`w84Q(^AF)b%O(sO_>5$WUlwK z)$^Q|xc>3}D)yZ1X~y;2NmWh@gv0)>NxC1lg@4uTWt+2CyfRs-tg0yg(|y@({WWu2 z>ldd#@CEr59Datc9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC& z&@czGQNk~2(TU4YG0uYG0xM%#uyh$x$3`r%EhdmuCoA7_ZZs zx%k>=kSb<(>jMzg42)2>I!K4($9~kPFO1Z(DZu$!@KI04H+8jydYyQ81kJ^=!*$CQ>C`uyFB!a zP>Dz8+jUR(UJYShzj4OeI;fo~|A7F=hJ^_ukoylR2MSweVBQjh@)?K-X9o85?=zrb z4N5<(FufoeW(g`2t^ypFa2})#V1U^VESr}>aWSe616S~CaoFhI)FNicmd8p#qQCQKGm-oSbAGzzglX;DxfR1PJ~ ziE~rH3L3i!YZ@ISZlff;Ky@MtK#DjdCR_<99FPI1tpO@$(9NK`4GF!u*`Yd{(5G5BD3$8AR9lNM$UN^RZ^a>B;l? zlHShP`bFY)w%nD|e&+*sm4#oMqIpU0-67{WT@Ru9(ep8KP{7JgP&*C`2)6rxs$|cm zg8T;81Jw$qkPU~5ql7bY=BLad!F;Uwiw5>k;tz~qK@vb>!b6gjyut$11?V|U6)}AfXj+H2#o#sq8CV>Gl17L$AEbv^ I^WoM500zpXfB*mh literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410067 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410067 new file mode 100644 index 0000000000000000000000000000000000000000..3758469544a9933cf7e79170834c78fa9c437678 GIT binary patch literal 6088 zcmd5<3pkY78~UsS;8S0up>q;A(R8PpMaUZ4v7Dm;D0h-5Pp6B8# z8A~-hoQ7_SWQ(|}-R<=Ys=L^!VSPM?QFcOa)N=8I?WKN(}^SMEA^gar>2SQtRY>Zyea6T z=Jjg*LrUW zK|Y#N8>?bgR#ThE4iQS`Pv>rZnmdUJf@X>p;1dKtBFtYsDrkQ~IzrKVNsHH_{ttv7 zEuOFn%`P_leOqNiQK-df2olMM1ju2KfUh-RN8$#{{ig|_;{|9>v=!+_$eHycY(#Ct zK$w8_6YMsvGl2&}a>)#iYiP7#%9fhZ)Wb~`#gBy+-Abk}PY?BP*R=Qn<^k=C*fg~@ zN0hA^58(PK`)ZS~jAv`c21U@fUVGPE!*=DEo*GcdmAsEIeIc8hjU5qnQO=B^SZ@9= zMVm{vZ{*g7DOJb@Hq?<6D8X^|UXM&FP@9CwctDKdXtzFf`$G1b9}>KZq}nE$XsJna zN@6*I`;Ly1kI4H~{&V(~cA;lnNtYb+;c-V9_oSF~eamZm!{3`wvQCciV$a&Jv4`lt zL$v%5Qz`%NCMGMz`cC_LU0ZsIZ0tx$uoXlIO9kP`frxKa0fs5D2j6l%m?IS@zLd|t zWpTbUdHx^jG}ar_yK~;OYn|!Jrnvd!MbUPna)|7V_D~!B1`qsSSR1H12>;?l$p2o| zpgg9Re&K3Gym)tg`^7zvfKH;3EpxpMAh70A{m|*aSyA8La^CM-6SGCgtlCHSx&Iz< zU1}!z5B9?mn2(^LhOrZn{eko4{-44@hPI1a8_4?iJFUlG)h6V|-piAk$k&x{N!Jaz zLn=G0>2qhoaB0oGyKAxoR1YLNJS&;g;ta%+qG_1*__TG>!XM&%8I zguFcq*9Ww<jIJljg8@N7ukcxb0dNH>x#8; zq?LOIR*bTQMNE{!EtNc&9#vIZk&+sKj|GX#)IgAmE}-%I0B3vUV{}f~)7z6yrBZ2Y z!2~+T>-oq5qP3lkwWTQ{i~R8uTcV6;DJnrgu`(!`!&VmYZFph3J%hpvzY26-)?8FhcM8G_@y_qRgdiF zz&>?>U72&z{b#QXq1XHCUFd@T>z6pH`9>nK6;Xr_uo&>0;ujPX+`;q6n)s2%y%b%l zdC;1p@^3Thr5fWS_CdD$Z66rQyNB6#Bw{jo?uL8gOApIR)Vnd}e}8OzSI5Mv7d^M@ z0*yi>2XB>=0pB8Xzdnqeh+qNvkT8_#qwJn7m0gluxx{TjnvF`vi{xt>~kJ0SlrG;vW4PBGG2WvhO$9n5h#`^43((Xfuvz4*xk9ed0(X*`)xVp(q+AJaYi^hXPoR7N4bZ$g0)||4V+%e( z!?6(n-;^lI$44!LAhvU{FIvww0693uyoL)Lj^r&PxxgD?SW)}nJUoN05#T!m#>Y?n zV>=fyzcMBmJLa!%4cq7V3%-+li5Mb2!QD@h@QEl8-nh^ldzLA8)qU4sOgs9p^8wq- zY_+U~EIE~XAN%lFXzpS;LjdFVX#6psOQ2(jkMmDP<$`?%I4a<}s{-V(`wgN3GXe%U z64O3;Uhzi%<|twx?C&DFHpS}m%-`|P6m^O`)Q0! z@gINspC#fk&7gnU-1!Q2K4%{vxdk_YBY8W8_k?egwGpi?xU&kDh1cL1^3L{I?)@YC zxCtD|gTp_zSz;nz4#ML8kzL#bj+`|n2=6Dp@7%b3@GJsiIv{EGkkaUedj+`_Zyi76 zhHWxei+@}QS%nuq4_>9IqO${)pRR6TcOKZkQ@%+)?&i?kYeOXTey#)L;ddUd;c((e z-twp7iJS=_*RG_k81;n`L!imGQZy!q^|-{u zk=W{|?lzP5cb&7LqnuNG&L<{?uZ(Hh9Q{VHeU86kc+ufGpEom$7*5u$Pt-Kty=2CB vb7q$tTa+#h5L^c*b0iPR$Jnr?DSPKbzulHIHnY(`rPlEMo}Wdn!8Y=LJ?W~` literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410068 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410068 new file mode 100644 index 0000000000000000000000000000000000000000..6d3e194c93c01220504ac53cb8264756b7ade125 GIT binary patch literal 4860 zcmZQzU|{f=IO%%t%j|+)0|fs_kB-#3L_XH)w= zW%1ig!5=HX?@x-7^X*^@=kqD7y5u99CUWM_t||I*m#g{?hcSq@i10qxwt0C9$i>XZ z&%AJ30b)VGDUfIigO9fZh@No&=8h#E$}?_XvCFB>=kJvN^OxhV;Kk~rmrj~K(Ui!a z&NG|;;nr?>^@S!s*Xf^1c($diedV7m<^RuF=*};=nPeW`qhX@c`|}e+%D=yb2yhGdOz;sEBQ&a3YLv3l2&(j{+Qox#=!6701N{m zn0k;NAOOc7gvr3*6#8j~ANM1#b3AoS!iR(R9=<h&9!4i-EuI9;By#*jfw z2jqBUKY+~z`k{VDh|<69QPr>i#C@KtpLlQ;x~|0w|%&rEtZ<=%#+JEQO3x_$Db73Yn+2A97F zO#Jy}zG}r1rY?HCZ`zgb3o;$Lz^hGN-f${-7 zoQSS}k@Uc02sIAj!j&t3sQ>WLoV3%ap5w=*dIQT-`rJ;7^zW}~t1(FUJmC*iAxY&0 z!Fn2)H$BQ;!1FlVF;E7U1cs89i8KE>s62v~VaRr1F&`9vAdHeOXz7MMbEClV8`0#{lC+mEXbC(ccwk7(>BklSJ51uts{ ziQ7=h3liM~>OW8;4$Nn{VGA=y{Z=f^-0T;nrAKdkN((ixPDLhGKEX9 zJ}R~}`VX3FU||kVqeQgl8Q9mqTL5j-gYp3@)GRQClrWK)a1|i?kO8bb#G6KmbdwE@ c-Gnub4idMaq)`&x1nP28BMz~qQCMUH0NF`%Z~y=R literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410069 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410069 new file mode 100644 index 0000000000000000000000000000000000000000..11ecad983a61cee1797a6d84f5c87b2c2c99cd4b GIT binary patch literal 4080 zcmZQzU|@)|s6Q%vyf?h|(t<-R-)}IS;cNYHrt?S?x6I#9->y#D3{)cQF>%uM-j~@2 zSxy?=1XiXu_#&^-Whm5 z%*(`jWR7nZF}@*Z#|v+ z!5FB-LHvYJK%-^cn!`%xHc9Mhx#If1c&qR4i?!8VuVwgut(^X4(gc1X)sES0YA0%z z{C}mrfg?ZS{s+B1k^ejXxC>ll)XEc&j#b{bYOR}7=~Xr-jV<1h3NHmFeh=|xJCwsA z{r=Faw|dT@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK310`MK)TFXtH&-yLM$`WPx^9({1Yz?uEhf89s%OgSkG{7w!G+=?qf zN`V+0Z$KIyfW*Oa0<{;jbu5fMn)DjwzOOnja&bmiK0`=R$YndZ+_ta>b6^_t-Hy&W z#39rfqd)rz*PRQcQfuZZJ0z_sYCo1Oa`i=ODNvobN7)OQawf1_faxK~T~ltQ+P4#T zo7DYn;*=z|M(q9)A+K{rBz|e$_kgP|sy(wl{T4l6d+xy50G1;gXQrIq)WYd_tXAV# zt<+8j13su592RFaDSnx9_oeN;+GDx%#a@*vu&Jb6O4;uw*<&PZ-zwQ`eag4!z3T_L zkgpdO*+tuJE8C%BuXHEP^~Ucl?WY2HfDQwP-}YR)>=_4YBm~drIPloF|4DlASMANy zL+9!pTZG^3Kc)o^KhYLpn0ly(P{L7qi~UW5R|*C)0rx(5N80CIll)M6X~7@u+2ogHWjLsfe~yjFf4j)Pp0rYR!7`_`D%Vgs%Nr&-#4}S`txt>zR=(<)> zUiaD&GmiEnMWGjX^?&BP<+L&3v1|NU^)k@NFXQWMR-l1kKcx5vK4mJ8<2zREskGzX zRnL_90f+DVS%g^albG^(U$ZX*W7`5?^loKf`mPPsgW`5zp1ukcW7#|Bt=y*lUP~U% z%lJdp%2-}zYrqds7(#a{=KG6i^cz7BiXdl#$m$sM7-vrodhI7^>Gw!h0v^_TY znbp!Y$7cvUIe&jy#topEOpYO*enCJ645XjBmRvE5ue5jTuYA49Q5GLiWT&^?bWNWdTdAv(~bi7XL)=P2mL^$UO6|7PELk#+{(1ZBxYL z=RLK`-}~&r*Am~gagXjuo=A=cTM7eF5`{*2<{tl6DX`;;WgOYMoD;q z^CT>+K{QgtAu-`9(A9&=c2FFG!vw9)1<8TZ7rEhuZWs03MxvW|ZcT%wFIu??9)_Uc zB)W`7@&`yC3}B16(nIrW78Eb2-7)jvu@Hu*T-~ZKwmf(cD^@$xGcRUA45)ktMt<9Z z|3Cm@f%!lh$o&OngZz$CUJy~XifJqjeFQWHRGw=A^@GYTIDlCK6hLCarP0G0me#=K z6|VAvC^s!W??huaf!q$lDCvKYxDBPeAkj^rI++@Ah+bZRBRyK@s?4OeNhhmBLY$Xu z{j?!j`|_Ll-O9Pg5No1V^pKw~#yO{0UvZIp!9WO(er10OCzLLB0)(?IPXFd*0m vS@$S3YI+bTy>9@PITN7T;1m`Iq4=E$^X-HbvPdx>rLG~mZ$v^}1M?gJu`J{0 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410070 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410070 new file mode 100644 index 0000000000000000000000000000000000000000..f59ea32c43e166b881b61240d4a8e7b7f7ca2c1f GIT binary patch literal 3924 zcmZQzU|{&Y>8FyZr`o>5O0Q$*GkeYYzW#&JE&hM?hHJJsd`Pvn11b@Yv#38Re7rZj z_R@kwE#Gf2oZ)NzaHjJ}6t~RZPv5Ri+RSml=&y9`tDSd_>1;^2_xT6s8bb!ZDxMif z_=1zCY1#My&0t7cbo>yA1_DM9u{Bm;)9zXgzpDqV+?PJwI^iULcyp+`%#ncVeN8Nv zY`TF;9G*Sa5lShzs@*9Zk@T!E>}+pLTk@XVnF8dKHTiQ?Cb2M{WTFwmpIk7 zMD!p3SZ}ntUna&SB2(7q-6k%UsP37ff##;wm5;bo?agcSE;(7v{T)8tXVbU$>@olC z9xY^AWhYw6yx`^;kMo^c^G~L1kvV^8k5}5!`5Ai~>i$h*5N#3TeXwow@)VGZnUA0O zn3n-!LBJ`HXbOXmw*!ctaR26xB_7H%ZeOv>sm|x`l>hUWZ6xVnm*B#$e+$L zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12GdweZJe#S%)};I%D)_KjFG_p;T(kJY|QZHAU^mvPG`GNG)aHcX9xRfhbTZ zIL<(NfB>1z5Vu%S{#o_oj_?<*S%PBQ{asIJ3I5-|^<2naA%%NWL;r&`$ev9FQ6Rtw zHWwJTQ^OzRb?xq%TDL+kD^OI3tKzuD?fFUKE042t$!hVpu0Q#C_x0~?CO1Tx-#1T? zeRsq2q=5E6rHNKu`_3e|UhrTAng#Ylihtl!rt&zxW7VEYJMLZeOqm~W_`aV-h}Axc zDWCT>`!X=LEdW}(m4WHI4#<8Wh67-lyaVL0?49#gZqt6RB@gHE%+xnY`Qmzn?aO`B z>5n$)Uzw-4aM{&5FDzSK7o*`giyiRN8;%lEl>KF}m zVagf7{sV^PhP(~`mou4O5{hZzeo$3%olA3GzWPRI^XCh%A4)NB)!3P?_p|PG=e7W+ zPVSlO7!sERcUoO~`0MGbzSy24hTR~4fy2^wuJIaM$qjb-KJTmVY!lusC{a71KH^-F zR>0xS>$DE90jCFU#d@InNg$`d9D+u}!%Cp`Vz!Qju}70$qulpZ=S42g=*njZDGIr4 zCzsn6_FxW7-;{UPUb(O2npCW$8Pb#?P1?qI0yoIlbATZg3EC5NSuYC=SW>JBIy80!U1-3qS<%ZX?l6TFd{y;vK_YBmpEQ$!>y&AxJ0D^$3zb;5Gso z*c{?EHL2Vs{j$V?V-gK^P_d4-&Ug5?-Ko12y6hTqYou7vQK&{raYLjT$FQ{0X*1k2lFH=X+jZ+6*$F9R pfz)pRmN^rUEdsHzI0(h>M3}F3a%B@K=A+a#M7K9dsB2(;1OQ#LzC{24 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410071 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410071 new file mode 100644 index 0000000000000000000000000000000000000000..1841d2f124140d05ff85fbccd392f19d9b3b6998 GIT binary patch literal 2896 zcmZQzU|?wftYgbNha*|xfRa4BxApG*QF~WO=5TP$*^#wxUbM{zpc3KVn|>;pdaCU^ ztn@l|KC{=X@9RGp-QxdOZ@6ZQ!-rIByX|R*+c!;ey;!(2B+WzW_2H{olO{Pe%$Zj= zQ-|qCuIw?O84O8_jvoinK)?tht`=q9ObYn!nae)=(F;={v-kgBT%M!Hwtw|TCwcKd z=`uhi4qsa0H_oiQBB58k|J0ev?;RqBB3EK;-HYGn{uka^)zJ3EFH!SuyokkD;|+ga z_Bu|NG|T(1+?99uxaz~8^!Mxe^ONc_G#F;=RF*ySZ`ZAZfeu^Wo!{b?adh`qrgE8! zpW@G7e)ywk{j<$MU$1Cf7Fs`bHb?T2X}d%JT$Y)c$A57DGzQTYaoz{pHZM;BxtRI* zS^iHiKr9G21rkkR@bPv4(G%|9+_A(%dB*K4b~)Ag{GIZD{&M^kyjXqo(n-@NniBcb zd1muJ+}bU#zR=|7I{i}#&$g7cul%#6{Qo%%-T4JKlgz_=G)#1Qe|};}`S&+9D5il+ z_Vk>@7G;Oo*NSgu@Rz$hyq@}Ol~UKjsc)J}j6?!YPF6i-d{ryFOUdIgd-UUN5H~R} z5Q;0HIwmM)nDXx0EBBRLlZurzL;8}-r9wMCnBQ3c?=Qp7wLX%P>*g}>J2?QuKn$oJ z9A`ip1d!Pb4wgqMJ>=IsQC9PtsIxqur>*wFf|p;W1kDeAwKLfFk~c_$?AcTh1pNcF7RVnA`EEyN9pVt`jM1O{gzL_QQmHlblpT`R6ty4A z7PR9vZW<}f1Ze&k)%FIf7zv{FX^K4cLo-_LAHckR* zK=uRJT%aF5iR^BYNaX#pq$t~9?Z?li#eoL4D=IwBtvK4~yLne20@_&4n&v{lowzs zh%!HY=>ZbVhowo7KWJ$WCH}w&79;^ACM=X7=@ZTa79e0Y)PHE@AxMrAzhl^sB!I+( zy9S(h;5>Y8BQZX-W;wv(9m8HE0VF2e6~wv;ly2c^gy`}INe|pcAOo92-Y~_!>X8f) zC^3mVpm`*x>tk1C#+8+ME!}gs*#<9IunDXmR5n5YHX}fOLCKQ@%PC-<)LQ;00q8eS zS%qOHk^mAD>H=t42fS?8Ih6EIl$&PkQlPP$Kw$+7FL=BT61PzjULZfA z0HlaRV#1Z6t0$?vAThkq?Ltm)l(`KlpAq9Gp3|YQ^hGN-p_CUy*Y!yLfX5J!fh}-g F@&NjWu_*um literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410072 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410072 new file mode 100644 index 0000000000000000000000000000000000000000..5219ef2753ccbfcf313bf90fc154e42f41f17c98 GIT binary patch literal 5312 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 O@(0{TAOo92VDbQU9jp8R literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410074 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410074 new file mode 100644 index 0000000000000000000000000000000000000000..2d099a7e0f282b8c7757873ff02bc22a485cd5e4 GIT binary patch literal 5924 zcmd5=3piEj8eV&oODUR7sUfw8;}XRnmnfHUFo-siE*_UHbizLFQF0vP(xhA>g^@C% zBU8ghddB2wB!pbHTO&elm22ga%lZFh?R}QZjO{d@r|)_8`oHz9@B9AuyZryZ_CgQ@ zk@}4sI8y9W7x3Y`MbpJt1k>KNc6$;M~p^&ZX+w*d6Q6XZE(n^7h3y_k1tw^#9`ARFX!L!+!-}jrBjgH;7$>&q! z-UNGnEqJgjR-#;yA!Bu(Y|zPlv@>rG6M`&PE1t=V{7mF|8PM$m(;G) zw?S6=9YK1xzMYG8fj86>t#o9n6HvdPw%tZTMXJ}$>C{AfpU}wGp_^Q#&%Zr1YC5?; zyt(b1{p>#g%4cIxldD#&ACVwS`J_Y^!bt z$<`w3xglvSInCil(#BIdjP|rp;}Qgs6hKG^oDssIlfY&kcF>bUn2d+!NmEx)l2^v* zpt^mUb-r)RG^MS0104tj`=vD>$9Aj#m{pn}&{f@*?%V`%Xj_u^|i0FfU07)%+;F>qfk$nwlxUTC(PkQv?|yAxaU{9N0~iiviTcs z@ZDFTU+M^++;ryWJdXZf_6#abHI8mMTIi>7a=5QfzdvE*=K+WEwHu|r{?gL?N}A0* zF5nN%iNb4bj)c2Ap2l-Z{G(s|1C@83E;+)O>}KdzR;C<9QUH2XL|{_|SpDjNUyzeB z=mW}lVNMhkl~iF;05SE@k!pJI717sb!{Y!$a={CRAvMM9QQHAk3-u!5%cDjAHUauX zGfRq@u^wuRUf9VCK|zjbK)|qS5%i->uFtfJx*Eu@s|#&4{UyfJ!0^la+;=m(IyI+f z^vz2{iTN3E?dCtcmdIA^i%TlA)2WZ9u)JomXzV9 zmVBeKL=X3)kDvj*-%-Dy-=}S>{&s5QY5fC^6tx2XHX|bMf?yn5zCA{RYO=i2`3~&84`5dvZEAq-dPm0Itq$al4 z-QT7?{!!gc^?gXK7fIvtY#3cVgWerINEzrKcMP@|iD6W?!2M^F^m+ zI!~}{f~1_IvbNnYS52;G-mtd>IwS1UIhuzTh&CJe^dw==U|u+|m{HNPIYRAw5xfoN z3muq~;ba7$yOnv*o_~OEZtrB8vBo9*!x)%xtmZtQ62~IgI024jg^Bhn>kifk5|+mW z?*p*EVGaM^*cZ)@6W~}B0lct_jitv%%^`lc*PyiAn&L};P-G$Sa2-&-3x10*E)qZ; zTz=T_&qxZpb!!Fw5%F_9#s<3^c*X6t{5q_qsLmqc-&@ri)<+QQTCY#27odSHUXz#@ z9hf}~_fV9U-E;r97Fjk-TR1M42lo7ewtO>rTE2-ha9)-4x&a@TgYxS_<&H{EY@%_Gq*;6s%zmjeZ4!G1W1qKQEdLz{ z*(`D(dK~)}A8VhsHe1H1W{en$Qmsc4R#LmnYx;9``p9!{k`^5?| R!S8v0MGY737cf06`Y#5-MF9W+ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410075 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410075 new file mode 100644 index 0000000000000000000000000000000000000000..15bf935c19ab795ccee74b9132d228f66a63434e GIT binary patch literal 6056 zcmZQzU|`tqw!JS`X_bfL9k1g&BL3D_CZ0UjwA{3@Fh4EV-(+bmP>Ha{5v96M2g`QV z#a_R=^|2E#TTsc{%1+;@=D&2bp3Vv7RZ-X@bz$cEXO0iQl*dPh>E#wq>5lgbxnA(7 z>jvYw-R(d#7?KtpzXPIyfDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?Dh^HlG3lG9{DyiypFi=H&YN#MQfjh2x&D0Iu9?T{qOFC_PL?b-KT)RjSA{{& z_~bJ6L@wj~vu@a@wC)s{r*ec{Y=Q2jW5t~-F6M`aPIi|{W#qJ2Sv`BoPu|~eo_len zKCYVACBwaa%1s-CH=p!YZ_O3CxcK9#MeZxMsbu~6dRuxvgJ_F1?}Kfdm#2VS%zXT; zz^Voi3j$7oL{k`iyd6OFg!?ylEb&mDar=s0PIW$ir~IG49DfBbRv*1|()5X@ME-Q1 z+58W;cFU_TH2Jws|5U=WEoJR1|7bs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA7Y8<=}V&=>q{^e0~E`ATf@D;sPr}69ZEyA4oyezO=nu{wBayGn}(7nQ@1`rtPuG z&#acNIX*++$@%-sGHw9XF*%0#Mh1a&KtcMcYsnR}_)2@X{>s;z9L3>ws>I@Td4_<6 z@j9)Ui?4kKDU&FWYJe(dgt(KzA+p%>^%5`72TzW3h)OxWHvN!Y#eFyG{l9hM;bvb7 zd(&zQ{MXb;A4x2pU$y6x>+P8jad#9ATIh)%pKa_nMZhYU^8d|4*Q)o~_wrYn%`4n@`Rw;KH^eh^JMx6yMVfFnMZL(Y*Ef~h z87j`V1)in~G$yvj2LE5SK$6{=?Mtbu^##S4uI2|qvC=cny!AU;2J`?h--MlHU{LG_ zvQfehnx;U0go*Ql*rDDaAz(sNeX*lKQZ`|$u#7+>Uzv}Cke!9HtA=9ieYt;ljcR4Rf)-!2eP_CUbNddb^HLC z2LvEDfzk*m?jhL@Xc#%nJ+{QZY|9MR=085UkIvO^&{u1)=)Kb=QF-!q+X17$hAnRoJ}=>%azpt=+W0kPA-lEWJ0Hz07#<;_b1nGhOZ7KVlefiMbRSFDuyn z^q!;hMSYMW*|VuIEsS7ufq8cSMDgtz|C9F~$EurU5X*V(NTd61a zXqkrN|AlII*ICsBv$}4H`;sxcf9li^hE}_G?~V(LPXW1~^>$~@>NXy|OMes>$GP^q zMN9CVu3s3i@18^5{gpD8Jo%xPru+v2AR8WEK<+Q79LOAIU>zp~z9ADH*AL**Dj^)8f6teXsI>?V-gVc|8{+(t=w zf$DW?#349LklJ|Q=+k#&KH3x(aA#WiMtjee^n|cWB3_Yx^?@NvyjY%Y%$)&^V{q#V z$VN&&P#Jib=N^HH5Uihp3aviy{eafdlVJK_G?FDqOqeXBY=HCNX%u3A(xRYBs2oa| z6X~WYGWuDdvO9PgH|e+O#T7EguhN3UymfpyJ4s2r^96oA=9MEgwKBeUKB z+E(lX>Vwo5Py>+MiNu7Njw>Ixfb9pCQw!n7AcX^QZmK&&V>e;V$AiReC~28QH-Xyw z)QCg$d<>4tO`a!m#T-xkN;$e>zoFgg$J1_|4y&Etx>9`3mi1lH>7f1-2oO=%AlgF& z+latEnbyjtIneS0BOM|MATc2h0g|}NDR6rXS9^#^H(AiwP1w^Yp*A%nylCw<)HF(( zo6zF~xjZB#4$;#nNH46eftS@J#wG3ChFk^`5neoZWMOegD>tFkX+-z4ko*D9Wk3eD zi2HeiFIr;*^P!OBOEjrrzBU8< z`nNZr{cS6t9iVX&I6!hI5)&?s9@dbultBN9NH>+x*i9g}gD|MA1yBEj#BC_$1&MC5 R2KtE_afn`Cz#|>R003W{a3uf$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410076 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410076 new file mode 100644 index 0000000000000000000000000000000000000000..c812a8bd296192ad71c27ff21900edeb00269955 GIT binary patch literal 3872 zcmZQzU|+7pc3KzZrl5El~#E; z-tjulBjRs;W#Y+WP0LLi3-i-*{Y{qE&T5yiDKGvI{{M8PN9=XOyugX)Gq?VKxxRYQ zysMk7-bMq>U`SeY{2_=20!9$ALglQ)p1GxLzM8Y5qt`64KD+P5H`m-e({D&D$ij^u^QMzc1o*vnmd)UFQ90 z{ciD-2~DLcR~at;iP+Wh#qEai%2JV{{zXrJAF!Xx#&Pr=gJ_Ek?}Kfdm#2VS%zXT; z!0I(176hCEiKa04csqdT3HNXASmL2PtUh|_r0Ek)iTvq2 zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`Qum5!cr_S{uF(o!$?Ef@XXWOiM%udbXeS;L2c-^qc2TX7{& z>0}@V#~YAF2Ox24F1Ic0!5o;z&NCal z_1`e-%ypi%dCHT?M&EWj|F^NU3;JEN$T{Hm?PQ=jagVYWFy%~Ow*b?Fy0ga?hU4dg zvpm{WC%h~^_&n*Lp6t(NGp@DuPkf7(E#kVwIgOb$Y@NpspVPLQiV0>yWz7eZ(#vlC z64@uN8Nv^BgTwWc7ryH%YMRZP|L#Gxj_rTjgG{qER~~1tvt@Ps+>%S6*!uy?)+q(M!%7Q*N6lT1Tq| z>9j}GJ_7}U?AcTh1pVqSU3 zCUe8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxV_dVG0Nh3h;4- zXa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8LV=~v<5H@bOY3_4)LZe zFSH(1hUJs1!X&J679- zJBIy80!U0U+(x3Cv{p93;vK_YBmpEQ$!-FbhwyMBy52?71Gf>#z~+$c9HQo0yDOsj zUo%aX?^}MAX?Fbae?I>%x9V9-2pgO1=O8O_#O+GYs6V|*xNZdwAc!Ap5C;%zqkeF~KP}~ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410077 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410077 new file mode 100644 index 0000000000000000000000000000000000000000..6e4f349cdca27ad6d0ec24892089a2855660ee35 GIT binary patch literal 3696 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410079 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410079 new file mode 100644 index 0000000000000000000000000000000000000000..0770c4933a9c529aef9a360a75231f2555d490ac GIT binary patch literal 4848 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410081 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410081 new file mode 100644 index 0000000000000000000000000000000000000000..3d570b9d6001fd40497439d0c22d0ff2599e4005 GIT binary patch literal 6176 zcmd5=2|ShQ8vo8YsAQY5UL;#tV=O0zLx*E6$=)s9$~Mu-7Fkl$ku|EZRf;mCEJbz4 zL7_<`OSoi7O`*ZqCo~aZ-tY5$=5XEXRO9#S`Tfp$x954E|M@@9yB!FEAgKw%(Tcp` zXOVH-N%*bi6)#)$bIeLgtE5sChq4rsNI-@6<%lk6>RiH!3gN`dGO1=8Hp)`Ut-rM; zIS^EBJ8-cj#**i9LOx8c`?*C$s+STF?t75+2G`xxv{`*gs+$Z&2h0IErahj9OCUJ- zD^t2wsQB^`w(WA4?Co!+YnNp!tGa3O>zr0jqSv^;Q3EREr_`tU1Kwh_Y+t#`t^FoR zL|-5;v$93KK!jj>vcxC$+QpKKZ0Ff}H;M45O`X+Os+OD?5?cR5Y`7Dyw147fDd?E> zSR!weLF-T!4{s>6FY{nQeDDpQpRT=ced}hKtmQ3E$V%^!^JtsNcZeyL=GbOG+}Nkq zobjrITK?pOhuId0KU9LVBmbuiXBaWzaV<}t0bHAtYPi=KGTTOm%b51I!gLd<#1~Dv zhk`u0Pp$tjy?XkqhM-4{Rm3hiAhE)vtM~Wh`9)-X$n&4A)7+He z)#j+N^R%qG;+glOkn_y6i`5<)`?{KBhfpbUQj1TUE4RNvXRAw3wq#W5xxtgZs(hAJ z@f)hun&o#!Nt*n+%Kq2*8xJd1@_t-B~kd(80`JNzk?R-h+n;@69* z;}I+%AGBob?7q46igtc7W3b*{Ix1Yx{6_EVjb})@X1*z6K6bKP zlxEtjC4;%{swBKro)y0Gt)gVU9>1!+{tq`lxYV(yq)Xh*Rmmx94WM7xQRTtI1?EF| zkuvbE4N0Xd+^lK&ZgPud%oTiRer$Kn_`Oq}4)}G^oj?z)owNHOXboIn#LMriK_4NV zr<1EV+a<14Ju95{Fz(r)ce3q+|4`KZYzVOhLuv}B9b(IbzqJhhfGLDSagYN|Sp#eg zI8~&If+lXs;vBCjJh$HEQ9|{(Jb65V%)5E}uw3h#V~yuR?i93=vfY2%h&xioZqmgU z6g)yB1^TdoxsczyY@Bf6KLWRO2tTe2`v;$SaZIZe01cL3%qaru56oY6H8lJ~>8Qvd zQ6FiY&=EJ|#(T%M8i^;8fevhk*e>f2)$7xF>OW|qBe!$S_fELNEpj>)@jY7CZaz-r z>8fwP?)nVOhu5<)HLwB|Oqj?Yp~J_XW9m3G56KlG+}YQOgn=eITz^G|Q@84o(_woJ zj3PR>zIte6lRxxCVz9hIDY=2?<;=tUh=eiD0bM*^P`s3P^B=3bnpoMvgb0_FlcZp$ zG_gF>K1bmQE1N*pp`yabE3FM&{jSR8P1|aaeThF*4ATcC%!!Z@m3Y|0(VS>!=uO=1 z?qR8+8Q`Lzrvslq7~e=~L@HJ3ZF_m|BEBGU6KkDsW3;YdtSN82%7kC(9reLf!Sdt<^;4E zs@UjU{N`J*Z&*X*UDl0^!!>WOwjccY(I_<6=vSl?u(PV zo4Q^*`A*|T!fNdcueE)z+$N5SzqUYmTzuwW^ui^|xqC6zx$HXwC~7OX(a^U>EM|w5 zpO&L@{vFe-cA)bt;G9WJqAQGP$sGMcuze0+@OyEAd|C{bJagbZ2;6Bx!F^y(mVI~T zcK&;x-6TKIz76)A7|aeU8L<7;#c+NwF@KUk$JZY-Ke!Y9b;n@(JZynT literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410082 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410082 new file mode 100644 index 0000000000000000000000000000000000000000..205afa2b7b1a5eaf352c2a2bb34b473988d32922 GIT binary patch literal 4880 zcmZQzU|>k#xRn)iRddCr8rjeHtvElPKC8&@X>S{0_teyPdu7LEpb}x_AFiK{ZFzU2 zV-o*tCNIBZcdt9G_1Syyr1E^7w=1=0+X#FKZM-)jO?BSGx|S^UKZh^NIl5^v@5`2T zmQHmoDnA1>gCS|r2__H?1dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*1hz&hh`25Y+${2cn|oBedT`{*z^6XnYtMMi{-3ho)ZYt}zbsk1`+wg8=DDWH z1`(wto&RKWmM$}onJWG1;=8N-b6UUecz0Rn+A*np$66FuU)k}C<->262O24JHwUfp zeVd(l;bna?^V~zZ&T+FUE_H3*QT%P)vnwu~j?39%Z~bUtV-Rgo;(f4f^YRpsiCA8!W`J>mY%9ZNivXWYJGms6e3-zop+FUMcOi`7Rjoiu%-DUm;& zXEy)Ct=;nK3r&8m(?6B)Y)e`D%0FAm|DUtaonLS>$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V*z4tTo}G~WS+4>@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!To7lVMsCA2Br`xm^v_>;ve{wsXUJFShc6pj(b-D@ru1ZBX;13OGr9nuGZ1#61Pk5e|f`~E1#+L z>Pag~)_7mjddJp$S5D^i_BjmvP7Vy*iuFMClR@?aF*X1a2g?c6Ud-09F!pHD zYn1!G>b%Is8D04dAw?mV?c{RX!XC_lX}r7`p}kBacGo3HUX?z@4t0aWtYp>0A8+rjW}R8W zT=8Gi;r1c6Df`yF4A5J5SDf{4&!s%+5=P@&bM<&C78>u5HtF!*^1-2O`IPh7JHsxl z`eMTdbQn1N2*x>M+X7(FY-M2jZUEGS5`MsPLK-N>a>vhE%;bRIy(bqhO6pZf=g1VR z*tUGkbicH##>-7%h67X|ST8~Qpmw~py;FweYYMlQN$# zbDQ`3f#t_MuQrQmu>=&H&6VM~KcV(o7*nU=b#Ph~ZBYa|0683y*$n&cE$x1I@`ORN z0r#Xgy|A7F=hPj&&$o&VE z1EncuU|9_EBNz}-ZZWX0e=P$oyBvXHR2E)CP-}&aP-{?VLKf*!*9+`hUr^1 zxF^r@JI%H(`0@_rLdBJV%2zk@K;szP3IMWkr5Ruv&D{%C%RsOW0V=fm`{xg|9+?Ew z2cwZJL1MyWA>}Nb2T!9A`;!(0g+S#{!kkDq&7iTHK^H5lz{}>6zd+&7JDEh3e>j&m}Dm)TLfZbaS)2% zi7>zUT&5N&=7Y*mczhGx)<29FXDI!+PCjz2n9s$QfM;z_B$w7GifibFTC}Q| zUcR8qZLbK`kFBox1(gHE2}(E<(Y6rNSma&?3{g;fMjxo37it!mLUJb(6RrYR8UVW$ zS6xG-n}lfWCXm}<;iUxg(I9afN?In-O`!G=HR2E)CP?`h97J0f_wG*h97G#rVjYY^=rf^9@tzX7QY1&c2bjU{2CgdcI{Kc53@ zBO#lO!+fl1hX(dg;tz~qK@vb>!hH+!6EYyCJcs8S68(;0Kav0v6Yd=1-G)@&65}SV il})gC$FLVk0EtPmn^5WvqWdyP{(##EWMFd$OdbHm_Ieip literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410083 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410083 new file mode 100644 index 0000000000000000000000000000000000000000..440a32e3956c095409a857766ea5614b13c87c48 GIT binary patch literal 5912 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 PK;w|qh(oMt7Z%w76G34c literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410084 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410084 new file mode 100644 index 0000000000000000000000000000000000000000..7dd28567c960da574da2af72d8ef63ac72733a37 GIT binary patch literal 6216 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410085 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410085 new file mode 100644 index 0000000000000000000000000000000000000000..4a85f92bb65718882b7ff1e2e4f322d9f1fb8d55 GIT binary patch literal 5968 zcmZQzU|`5NzP60v-!^&QUYnK|i5c&e!ro?F{ap0${?YqJnIV2>fl7qAbu)Ojajac< zU`pqLZXMH>m*uewj|wf?b&%ukqWbc5uSYLm9(h&!xa8{I6?vKuM2c$nRefq{ot5-$ z5qI6`T|FCsW-ufzIw1t2fq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhvMF!KGw#uLN1zFUVk^5-+dLjqP;v#qGd^9S58fP(q`0(UVrezXGIxKwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE}1h?zj@zibNK8L~*2`@_`@97@5tO!BK{Ejr%NBi*yFVxFLf!8e8((;9$bpaN71 ziZgJ$f%Jg@Fg|r5EVwuai0{QBzb!zR|L?L7Mfqp0nx6apDIiMt!^D*dt8`AyteL0? z(*rgi7{?`xZo081#e_~i=NO{Flb59s`LL{C@>Sh}e8%3_#NV3D($#;)iY&&z~TFT79m#q zB&K}c*X+x{*tP)Zg{=%s-;IHK(EXwf6l2*t=dIkP{a#BR&f}S>Z<6xG^$6RS`=-+$ zZPLjp**?)E6{-)cm!N%6J6_seE`JkXs~OH&m&~}sUeos2X3c=`na88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgLFyO{VZqP9 z2=*T^EZ^Q1YC5;*lVM-o6PHywkNih zVN!w3T8Xf#&X(((a;1|~CmveO3p5rSmeZbfHB~(3*^;c{TzJ_wwm_^yJCfJHmPNC1 zR-JH2p&kRjlLIhaD1)2<#2^5oB_fUe%ltDlocywbBP)Uo+|%@fDhwTMZK3iobqxFN zE$x1I@`ORN0r#wgB~k-2n8jz}ttl>V6hniw=A|t9UTs#?_O#U0aQHBtQF~ z*ZOnPchkvdE|v%5x@=>=u2@ue&S{fvpi^0ZL4#@+V~E|)WBnil!R|MF?Z`Z1gW{QK zEUMYBRKBHfayu(^`Y7dj=AArgIziYFs4j&;KKZti)Q@8309rtMgV zes7|Y*Vhbx;g3$vK@JCgsstU4+{wW9X6e3<>2v(%FwW&&@>;h1bnfd*eP{I@lLA3u z!aBwLP_f10x~kpHdXekz)O6aoK8SWXtymnUP@@{NniZD#z_kQWJuFN>@d^VVbC{uJ zDOik%bip8XsYC`XpTW$7TLKh-*$0;cGLX|ENSqlg2`S4#Wj83Vg8(DYd{qdOfq^(T z74M+2n?P=dh1Xzn8ztd|9w*2VM@k%m!vw881&d#h9M~)(;*$6>2bMq(We>7@LFt;@ zc%ogHQ069N|4}QR7{0CS-Dvgy`Sxs;&OfqJiE=?xPP8AHz?a{uf7qsI>nbg1FsJ+n z0$4nPXdw3=R1TIeKy5NGAfmixU|;|81GLO`0cv7}Y6VkB9z|lpRiMWYES-Vv$5oCH z>82hUy9wlWSa`wH=OA$#N;yKJn_PkZqDCBo!vv`u0Y`ev%-!o|78c#qE*ejXZNFWNhWVbt&FCVc(O0vLhyK@;|h1Jh-;!%8Rn^(7;Q9(y%ZF z_j`e2;vQws=RoCxCi8ZDVPm}#%6ey?Y=sv zefe^rdeE31h8r;i(9$3g=D&IJuiu#j^BL~cn54Ym`|)7w^^%f?&dmvaN_AOo2VS_sNb-)nSMd#F!CZ1{ZBECMQ&a|?}5gPjDY6A`b%IVk-`Cq3AK&Pz87(B ha(zZ)H(|~5gT!qpNz?8AzS{~suRzIRSf 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 FF#tX&)+Yb} literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410089 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410089 new file mode 100644 index 0000000000000000000000000000000000000000..c61ffe136ad6cb46724708ded937b51f5a76dba9 GIT binary patch literal 5076 zcmZQzU|sPrCoJ$==M{W<_m3+Tof|rM56`*r{hdhgf!664HcP*LsL=i*aN)UQRjEI$nAoI` ze7l>i9j}rAG=m{&(FrvW4FrrJVr#6xrros~epe4zxi5XVb;3#h@a9l=nIi$!`nSyI2`(QHt6iR#crpHKQIP36}^4Tk;4R;>A9$7AX4wC=mxvt4f{ zeDceZmHhqT$1|^uTQ*MH?R)Bn63g?ZiH&diO2sYgqBY8e_woM^e!5h4%D&HX3pO1* zbm4sAuC%;{nqP8{%nGh*>fPe)+Pd;0)8+lQ=kh#WG4;=brb-6U7ERs<+cqyx0lAp@ z_*udIH$W^1I0X_-Ves*G0MQff-`ugpLwUySD|R{6`TU*ofBtg(6}(t|^wLSwCz=xZ z(|Km|Kit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsx zFc69>pgI;HW&)`{^^G;GTeM5DSo&t6_{;x{-d=Z7cDpURaPN?Y|DIN_sSFI~_{%kLX`xr5XI0afgD4e0T>UzJ z6@9)oE9$@ZPM_As*P6-vJ;o7&Q~$lR7O|3A!?8q%4`?1Z?l(#u@7$KqCT3PMe`&mT zt6|NRf9DK7G~CcSH1S80n7$7Kzmo$4w<0KFCIK<7xCh4>P@X}c_F}e_2Tyt4;D>-gDvm z*(;9gKxtFlqwED(Es$UWy9HPlaQu&++!++BH-Q|tI%DApSEg3wre7D1H7%I>Jnxr7oKVHtyCpsATPMoR-vbUm(H0G$Qsl5h zW;3i{dObhS@S?CJ$Crbmi&akTTr0DsW9sXo&1?IspXP6U2(m}^Y$}KX0YFR?eZ9YdC z7}NzAg#9uY7{l^F_JbS&1Hkg!9>@lXaTF96SQ(lam_qp=C1ABLZ7-L<39!`+=d4R+ z++nY2du;MEtEFp>&k%TW{{FHIP+7|47~&fl1kwQo>8GwGSIpuo?cMq-UvF|0huf(V zi`V5D0v5*Wv}P{8_8Fv1qClzvs+njIHw^1SHzicekgi*O@c9F+KNmQF=CSlOep~y) zgY}ti?Z#aJcmBTCpT9ZbWZx_Q;{MoKw#~EtKL5h1j38C@3B(hZ5$*xyde##%{uzMhA)8C_I4PAq?iyE90cS?8#KM#Dtxdrd`Ylb3GXC`t{lw&BL^u;{ ztH9b^NO42JohacUlIS)yl0V=!0vXsGvSwMzk*1xto@;N!6c$ST zKkjmP(?O<+IMx4Ewes@m+K(XmnO{KLg)k!+f&5=kvq5o>QuYyUdozg3_&LMc-?>2j zJW#X16wDGJ2Z;$+fh(=K?rh6{7qfl7qK9$7F5ryBk6 zc(~zH!DBX!Y|h7Lw%ne%{aL!_s_H}*iITL0e~zs!b)4~E%^nIX`>kR;yd)~h=6>_M zuZ}TaZeItQ!H~4*gf@r<0!9#VwJ7suQowi5T=v@*F+3{i`=R$&3F< zmjNnqm=e_b<&W-*XDb}`UOL5}EbMk5{HkP|iemYf10TNJ*(3Av#G<9Yia$=~l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^lK+FVEf9!Q;ptA9q_8Oke+-{E_J+S|@HLW(ue|gV^?`N+#u47@~cX9xRfhJHX zIL<(NfB>1zkk%6wc1f!|~Bo*Vl)&S+jz_-aS6eb+(QQYuuKqs4LHpJ-%aYCl>QH{HPb-r41D;cJvuXw(OYuf7&^NEx1IN%EpOf;moC zA1rC}Im*DGF2Eq{m%+domJhNYd7& zRx_NlE}3zMy{7H4$%Q9{N)iF7S_(leSbU;D+scXph4DJAnTxM|1}T#$kZOP`XN0(u!Qo?G$*tlu$J6{jm|W$s)QG;O z#K|eF-DdsX`uv^!?|YiL>Ixq8aR%kRpLEJ3$hO+Rdb$CJOw!X;8Wz>|?sO2?62OC(I&dKnu zdH-B>zrs^CnPZP!K7Y$%^SubR?AM0|5Df&3U~_@-s#|?^#@dd`e}4O{eAU-4v|bbY zTkJ^tOQt`QxSyqlYOpBAa4}gwRF&>GN;|85WxA@l@BCRkChBRMGM3da$R>c?&#dvk zqp0k6q~f;st5&Y)d9g^c>BZFAUslig=Uw|?zfxfr*hWyiLI6sfLdC%5K+`T*h+tZ0 zU=a5xd%=LL2Wl3W!eR*{sCTL3MKG3-SWKw^^YCX_r$bbX5C54ep$1~!LO zmLIClaZ8wPa!!7ca+dFTjvvw8AD*oIGuP^Q?$RT_x*+=11^xp8k`atR?k}j>ptuK> zv7j~{7!YnxF^J3f*=s=CRCz#6JW#D*3dx;FOt=bMX$@>Yu>4npszgcu#JNdAg2ryb Zn)e5Z+b9VyP`j8Kafn`r!y_HU006nLc}V~O literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410091 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410091 new file mode 100644 index 0000000000000000000000000000000000000000..8ac87d269bc194984134910625502c16c20b329b GIT binary patch literal 2676 zcmZQzU|{&$Zr5HJw14e|>o=rlX-T>lp3_>P@7|VhHl)bZj(3(lP>HbY@__2Q`OB;9 zBc^zlB}`s(e!k?bn%_)+XP594GF+I;p7G6S*`L-gZx{T0a^6P#=h0mYVgwvR|4MOh z{$!>3;}FmY28N_XCk((01_nkDeYGg_W>Ua+&s_G|k6xGxnZ5u2;_@6lw*9L&I?0Rw zNtXdCaoD+VL)tx7e$DWA&MLnqeb}k}dg^v7W6_fO|M7d5wtmYmbWC`(z0}dQe0kLj z&&{6RV!DH11n3 zDDytDTTfzMIOm@N;mtplVp$f<@pGDA!05jDJy# z4R&^bSP*auB$~qDlEGS;ii<@za85meW_CNth4>yd1gJuNV3-se^_5>M~d_NgErrfu&-It>;B`bCR zXp=d@wxi9C<>uz|4v|{-dL_P;^-WoSde8P$mzH^#_x{qn@rw0Oy-3353n1f}Zg!_G z&&<1VFk@Qmu2ZdIS1XnkUKgCb&aiNEN0dV7<-1@vfZ_=PU~z-&W>7dWL*o&wiU>bL z;tUe^P@@qP%o2nMFiimS3XD&b`LEZ((iTh`oW^24EX{)aK}&lm@dt*pkpz&KaBqUs zFPsO8BM^Z453Rg}#UZ(V$FLts0Er2A4e@RxKR%G{1?MRw0VF2LZen=w?!}7$pSRKR z!X6b>G5@;t)yjM=o`l}m_|79L^-r+^*hI`c1GfmsfQ2`x>;nUWWhGFR?AcUM{K54= zwSp-u9zscLM47)&=>Q4lgZu#V2Rz--z#dBcfe|c70!U1FND`keA^8cVydcr<81^Fx vATh~s8&aMj#!XU(jbLRZhP_AvNKBI51TS|$I*G2+k^BL-5y-&i5STmwTOomY literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410092 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410092 new file mode 100644 index 0000000000000000000000000000000000000000..c1a30f5a9c7e99894b160ac6ed411e809cbd6544 GIT binary patch literal 2900 zcmZQzU|`5-wGHil-(d9l{WqIj&Sjk0A(Q)3R<_>VXDAl5sPoJ^pc3J~?RM>zLHpNU zxPC)=mX@S@;W@1p`tEHBXG4li?RaO|GhF34bNHd3V z*>ejU5lN|rkMRaZ>ferg>7Ks3|M(uBDxsNG%52B#G&N%xL|b%tA8gyaJO$)p=HqAm z?KnUz2si~2O=0lyb^y^6?%&+8#6x+;?JIUU)%pCL@_+tv{1v=dee}{v(J!O1VE4)j|<1u^m<82T(F)$E} zD+UH8pjr@SXyiR2eD5u%U*q2^*1;MQGo2@xCb0W$HOR@_dZsBz|#=U(_x%jCo0S2DUsZ!k{6H6H%OguR2 zYsvv9ub(DX8+z2#!f6-=+^ z=NVoUmgM+yP;{}%shw+OwscH=U9@>^fA!P+tq-Ao)P$*rItuPbg8CU4*noN%gI%4$ zT3wd0M=h@rI@rLvbWVnM&HLx7`xTzD$sBv+^7&g9o9{)2jf?i^9fjHg)CYD0(7*h_ z)=}a7snRyC%yAdPC*;+>kud5D|2+AZY3ZXC-)ETYDt)J?G#yMCO5pm4G^y@5E5nyk{BZ>U%~i9ng4nnEFHqM!D%e! z!_qg%AGEZG5`SPg8%Y3(3HK&AEyH=BI06Bv|Io@-SR9h;cMSWH1dy0;*AVYE^5X;9 zUT_(LB!I*u*-Z?;yaL+48C~W4zkXSs!^sMc8Kot63{0;2Cu~i+xO0~*q`bn+GoU;V z1F-Pcf(Z~&W-v%y@+|U;_D-DQUMZ(dWi)l1f)^Q nP$KMQkV2#(+Jy;HIYNe;P~roLgT#b~0J$s2F-H891^6_-^wf>XseoXRn);xN$PxwMz zs?aayhWu?nGZ>Ny# z{q6sNSP*auB$~qDzrs^CnPZP!K7Y$%^S#KRd+Y!(476bC zfix)YBucZBD=mzSD^fA!P+tq(!w1-m+fl!DEL(In_2>`$Pf*0WB*?Vy3% z!Ql;ZJ2+f{X}d2eZB4;WStW_0Gv|zF-(YP0lOcS=b>qVw+&0&9Ei@*iG;)2Y>*EMZ z=lb}<)Ph~%^Uj}7tBfX2e`)@x=y~UDka=J;(|V%9E@_pAeE9ZY-&3iYoatBM7+U5U zZ(_N@yjNeDA%TJ4$pI}6Vg3Y%CqexT3~V5GL*syobe>?E z!0xxzASZL{nWi9>=L{Pc?a@05vH}bk!EONhcl!KSE%EtGHn(S0u2YQPQJ?xRzeQR2 z&hA{!|C|$c-F9-;+4i|(|1|BRHh2Gdo=nP2Fpy;1w=O73gyGMJYX_I|08In?*YLF? z^NbCOXQr{JX1`MTmcq&HtkmhFl;@du@}%hmVMCz06b1pY(+mt6?m#vy&43+~wCH3K zRE)ErxWLNT*u=sVECW{uR-fV@_>`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*f= zEldHSK>rIa0a646E@wz-iz`}T)*38A%K7-US8tQ^5 z5MYG5)!}u1Mb?^2|Ls?-obpAXbqT|N#uv@&FZPz64ZTp;U7LPkato!R=DDmvrJkgYp}*@Z3eYf2M~EO8iLudHuClRV?FEZ??rTecV2E zX1(DKurdo=ih=9~IRFSi@d^W=uw@3O6K$9P5$S?K>aYZG zCA`34f>z&y(kUo@L2_WTh=@z#%N(%bKmt+ru)u_XG$>t@8&9+g6Uy9#5+6t$Bqlrr z(EWfM7s%~028$H}d~O8^O50KjyIwY$yM(gll|Ri)c=>xg%vEk z;OTadxDBOzA<<39>5!7}LN8xH=@1rPptK2257cfSf>Rdu@&y(q^stu|><$P4^E13m zrLmup?WU=p!EJFwSR>m@b3fy;o1T6~ZksXeTA`A9HbrP@$Nfoa>pnl@S)AH>^vcF{ zUBAv9f50{8@oi|DNcj&0KsKyAWCU{mLFHiKrUvCR5YdiiU|;`I1KO5$1L{ML2e>6j z_Q8w>(IESf0j$me+Yf9Th(je|VG8CF=cX4&XzV7C+hO4aFMkJ#+b9VyP=AOTafn|2 JLZcEw0RZq-jj{j$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410094 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410094 new file mode 100644 index 0000000000000000000000000000000000000000..466c391130e3998814770ae19cc5650c2bb8118d GIT binary patch literal 4624 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410096 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410096 new file mode 100644 index 0000000000000000000000000000000000000000..f179fa93ab8ed0cf378b2672dd4e65eea21f333f GIT binary patch literal 7192 zcmd5=3pkWnAAe`uQ$~qpNs9U0YDy?68n>8SR+hD2w6%;@B}B0`l#njcYN>{53k_Qv z+AoUOQpsg1HAUEbM7bpqW!G(e=e+a2^So2~j7NGp&ogt*d(Qvz`(MugJ?}vf1UaJL zy6q<2cxQc2wT~8~S1vB%MtBZu_uvLSt19*WT?YY)LT9$uzpt;3PRN(%%8q2t zrSmGPwC0{=g(u_Z9RttS`gpya#kLAFvTV5Q!BPKp-2(rdvcp-H-Bq1^s!2zI48$w7 z%pUfjk>FqMTKWGJgzGp}6`9&{8gt{zDeh5jwra)BtZR|t50}RR5<0n})zN(#HTSi~ z)BSh%X43pUwNFHt>u+>i^=;F@wL+=5EosxWr#>@z$*Ov?fyP;}dG*Wn-LlCW^xGR8 zLX3wbOC=ULI^=H6*0QgvBWpTnGEXV(+x5L}x+q{vaO}kyvUdoqJb~zTDiCMbl zj1<|2)G6inVwpltqluC0@mYvs^ulRRFJH=FLd0UF_r9|Ag(H6B!dWKbU{8mAd_!&C zSvyVklS*?xRsiL|?4e=l;psfq?T6*Y&vlgpj!!*7Y0QnCt({`jpS6Iyz9lDQ-?^cj z(2)w0`KJSGy_UEi(lMGB*WZIM{~7ji@r;-<>(0sVqc!O#9tYR@QbMg8t9@F|&pnuO z^kw9>MKf2ICs4VDReJ6R=h{7!@_2Tcj|oA>iWQ)f06#LMw@#N@lMy!KMuY_Cq_2Hg zS1a|pMzf?^Nt1PN-zG^%9%3eg03YZ9QZY!6HF40RF&vX0p1%$EvUz6kamSVP#%U8m5a+C2jAHK1VSenI~rGr9gQE@L)|VTS=tMN z6B2$(bXdZshOAO-)4xE97mw>VT0CN@m!Zb2_w1tD{&~GQZwJR{>f!xHF`=c(Vba5j zNw036il6{lsLZ^h>TLgWP8TyTe5s!PHZn~1*8IvVGV9}zYGqa#Os`_l#Gg;>Ywv?Dzu%dermy5X3?)V+CID*wrZsYn~w3JykqLabhMj2 z3VrEprt2=V%bS$9Lf5P$p~aMQp_DEE{C-2aZw-)1ws2)wyMO`SMDV3@P}rY1ISGpi zUEM@4kFEOqt;QAA=Td^|nERw^)c!D>B39jd`Hq|TeixTHF?SPt|LE_@cS~ATZMbQ- z;@Yipv?I~h1#2bx-Q%YMfv7KEMPHp!kU^W;Ju>J`{l(zBCdK8Ui%;2}8{SU8?M$*R zME8{Job!M_0sMq~iG#xC(KY#S-sX8GhIWy(J?ej*zdw`5J{W+w2Dv^mSKkuz&C`=O z&%)&rWy&k=)dbQ8&uSqNJ4jJXdcJGJFZwFJHzYG7cz}+$x5y|Ku(v4ZJ(s+x&=^X! z+NZ*mEDUIg4m9(Jxhnv9+2r73&WN^^!wPbCiT zHCK?sFwn#6;{O|_m#pIPua;B`w--tkO&+YZrk*bxr$-&6E-YqB_-h|#9ZO7KR(5fN zRo3wZXMcQ3R1d(pg-jmAr~;rmBILfx<3w7cL(z2{Q5^&jlHY$1*K=@sOk;>0(X zCm(Oi!)#@afCk36??~Wr09%7G5Cb)fian2=+X$khlWNlf#KHVF1blE`2pX;gOb~{G zWi;l3C;Xj?=?CYd8Q2;Lo;z?l5%M2mikxIj5IgR#&kfr|`~_>&$A}^76T%r64PSHZ zfgpvU8(mrH?k&n89YY76rs;Zf=B2#(OJTdW+>u}`#_${o+lO)n!31RvO5rg?o9YxwXgYlT2Qx zgz+;&@NUKHfPx@n5Cpx`!k&paMV!a;cs|Z2%KaO;BXcIGHSo@ln3u9p20;;Fh)Wlu zhm-iZ1Jw_FV2V)+#YHqszeP_nrcv|wGr=|yfAM3$cl<P9N!ClOeYnjq h2T*^1Lfw;UGj6$J)_i5(Z`!h_ZaSHYJ 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410099 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410099 new file mode 100644 index 0000000000000000000000000000000000000000..ac6249c1164af67be36d786a3a4c666477f104c1 GIT binary patch literal 4704 zcmZQzU|{%eYCh?)+5FczO?w;Ut1dgO((8?8GCZDoziP{}&;LBFfl7oq)(g$OyPH+l zrpvNQb&2Yiayw72v(+DOv^Q=!%2%=6_tGb>d5W6PdpGSpp5`{`vG1E~xfPXtGG51( zcctfvF$Mz7U`SeYA__zU0V9am8Y{4Acddrs)dN=UOCN5XaFRc~In-U|NI>x#JgEk8v#;uGB`Tvk8*fAO0MA*z9HMO;UkKG?Q-c?!tI%*W6A z`|*HS5O4}4n!@1Y?Es=D+`qYFiHGux+gI#zs`L3f<^TNU_$zp^`sk&TrcX2_@~896 z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q?vK+FVE|L^c`GrQtMsq*Z@g4&b4S&mJZyrg`|uI>Y$tfd;ZaqBSfJ2?QuzzC=m z9A_XsK!D6X5Re5#t^E3CIF z$!*DT&+iK#XQX_)q?SBu>lI$0SztdHzIJ4uu|e_7G#1tDS1R99IJupbI(?M#Jo8ST zG@T%92vnECARu;{fkDF;WIqtYLDHg=O+XGvjI*G)z{=Rz#MB%j3sVQCQ~U#;GL^^i z9jo?K+HvoyXUhD5!}t9xLag>lO!>U88DuU~Kxj~ak1Iqoh)h3qExBSAUuo~wU-^2I zqd447l~}wk&k(RMUZ*v4@wLw&HB3pcEWyACb*lplvSS03G}_IgR#GjE`JkXs~OH&m&~}sUeos2j zc)A1u88ARZSV|Pt+=3}*gvN=3i}=xXRc~ZF!nr~uYU6DdD7|bnn_noj?vR9eg3{mC z+issG{>j|^Yg^7HkFVA0f!mpLo93*0yUJ|BKknbZX2yW>Iyfv3ENDEaQSH8(To zayu-%;OT#mxQ&wV0@dBrh(mCgAe9&3sI-{AXm`n+n2*UB`&C^Wc6A4OaJ>vztbgS} zdqb?q#Xm_(3C+^+lFAjh=D=eqYRk*$!yyYXZ~}F+cq??2PGYlXg)@MMG`<_63ol!=>Vh` vqir*2+=kR9AjVBvE1O{Pju9qE0!U1f!waQtLv;Tg$sceVfedU8fyn~^r5r}} literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410100 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410100 new file mode 100644 index 0000000000000000000000000000000000000000..65caf905e30d9518b1bca0083474691e0697d657 GIT binary patch literal 4840 zcmZQzU|>jN)%oS6w$0Ehi?8F0mB^{1i>Ix1cDeqR?O>egw&$FAKqbQ8P0c4gHkfl!D4Uc;X5@w&0iNkxOeZhd`)+LR@>E<4XqDVF3v2}^S{rdGflb8t%FDWdQ0Dv z`{&DRc5+<){jz~R>r7H45BS2ybrc*UY-JSG4t`W z{sCYXh{wQi3dBxf@bPv4(S*#J&NG|;;nr?>^@S!s*Xf^1c($diedV7m<^RuF=*};= znPeW`qhX@c`|}e+%D=yLogi!oRFc9VAa*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!r2s%Hua4GQpa1?vS9>8GwG zSIpuo?cMq-UvF|0huf(Vi`V5D0v5*Wv}P{8_8F{b# zbB6b~m6I!&L@u#b?OtDDy=S%N^a(3Ud{RGNk#wuc@3!MPx^GcQOXb;%>if9Ei_De9 zQr!>2!^I|EIq<>4W5zo3+?mwhX`f(z+WOSAob61Wz{0y9Roprm_?;YpX~P(3KXRBL zvl$X5@xQvFUfjK1Zi9nOL9e&({38D7xS5@-e#s+~CZ#A(-mX8%-zIQm`s{XWKdFHwlw6~#a2 z+p%3=MCaRoX#V3fyPFee7C3HCePa#l7VT0jmcCgi{_;Pgx7VGN-EPY++&iSFp&KqM_>WWP%&O8%@o4@1k5CCK3Ex(nO!}I0WzO4G}y%%#Nm*g z=ddNKb&}ousMFsT)LcEj_ZElv{&`l)D_YC%8+o~d)Bpih>~szB02`+Er|Mssda0S# z>OY%|rZja~MX&#P{q*9jEv|j96t)Rp0xP1DosmuvVB;pHIlQ0pZ%5sp$OEx~|IV~2 z9ha!TaE?Vmr+Hdf;SJ~GP&*kR@xkEG8^!r-edLkHM+_#OpLFKF_Qe@0N0j(Nc-^;6 zJNz*%++Jnk`UBc3w-Z*ze7v=8)gz-xQ(v1!c^OaheD2neazK<1XdXE3Tg6)#)!$3R zf107k_w_DI*M7h3j7f$jla&%vYG<+APsfvf!RdgYeg+0ssM|plNDns>9~+YqY%ef< zyFb{>pcQ)Nu+Q^;=ND4Fd&S&kx3FjICq=$I{ysSMZVm`f>WNvPa zTGp_6_Xch`(}&NOMLV(s4QKhHBUNy|YFl-?_stY8IkVSi-KM(-f@H7nM{)0M>7Y7>@e$2qUtq)blKukJcoVG9&nwLU>`apRQ4v;by5)&>B zjxRV5=2ocvz&aCFDl&rVBA7bj+_XTG#%=<+9Tr}L&25x~7pOd>MjV2}1gYHvjy~1) zMHhVLoo&89@zAkjMh~7jH63(c()FZZ!>>=8J97Q?pm7XpTYvy8%^>GDSeS$AA21*y zze4I7NSy`K2B%?`zy(0|BBeJX&6k1JiAcskm{`omns#Vl4<-J4n81Jl~M$cMSWH1dy0;=Me8U^5Y%ZUT}SYB!I*u*-Z@dbv0d2xvBYZ z|6Tp_&Pv|Gh1RtPf7a|jGU0^!L`iQqSQ(iDE$?A=F(Q@mu<(ZG86w)g4D9QlfdLJu&p>`|=Z2sv3{3pIQWsZ}f5_-wnV#1w6yxT~0lhmaWSbdIRFOmQflVmr6(k(oki0&^V>4Dn_WMFd$OdbFe C#z@@& literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410101 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410101 new file mode 100644 index 0000000000000000000000000000000000000000..85b3b412d74bc2ce75e9895a059c89f7120e5322 GIT binary patch literal 3856 zcmZQzU|?7-(W8-Y^=Zu7mVJhwUVd*8?lXCQWWS)`&F+|_{qu6dfl7qaSap7Rsckd# z%Hr$zVkL6w=;CQ>on5ZKWjh#Wy6rh!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z(fLE?gM_kOlNO=3D@uAa#Hw<$JXuHnMfz{Luijy-OA#d+oN+FQBnGgS4S9K9>d z*&wZ8r8D_8xB4=VEtU~Wdsi@jt5V8gdbD8G&Idvp`;O{PR5H)AxO(~DnZ%#3o`3Lu zQoE&K?tX>$PulPFJ06%|^<{hLcK^lVvBEZoW$#})DZM?6LA1q`_rbQ!%fT*ZK7Q6e za01Bf5O4}4n!@1Y?Es>;dAgQPfBR*@q&-{jnAquTX*l>#XQmqK$M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12Gdwz2R#|<{29l&rD-c&3>iwErpZYS*g=UDbF+SX<-9QQ?##vBYU}bDRNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFgL5f(vK7?stgu2xszo`3o`ITeOb&Z|w{S9eh>)fxF+^@=K7FA-uz)Yj$ z*n@xvr*^z`ZsS?K>5z}j9XkgH*>iiR>hgf6j@tdB^Mcr*wUpY#jFH z<6jDo0W%|4t4}U`&2?!$`}EdlVr=q0 zpPssZu0DM-(b~xQ+VtZ8UnexplG~}VjWax!L3Q(_D3#QCHU2*eL2h97sVH7*@v&{$ z+^0F++|r_pt#t2*wUotfo_~H}%St8h-B4Ro{sRG!4UR()4dniV%7Ma+85-wcAtLe) z1N-`C9MJsZ2h@Zd=Wt7a;xPNb=0XW@93csS@+?V-gVc|8{+(t=wfyzK?#349Lkm^Hl^c~N(51zgC;GbDFW@44>+xAbol;+`iN~tMw z&f9i(w-+m+ag0)j0>wb-8wOxuZVVG3B9AgiT`G|QrXf&1$4G}r0!U1l>5y^+&V$q| zpfn1$ALzd*s2oa|6X&Ml9W-_m)-*au+(t=wf&7I6kRlF=30H!y9#+nvr%{kzWI3=| zM1&Xd^n zX6XDVZW?p>-kj9i=kI@Yb`9@4adD%I=KJS7I-y&;g@1$Ue-J<~N07@kkXB-u@H4FFY&eWU;Y literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410102 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410102 new file mode 100644 index 0000000000000000000000000000000000000000..90a76340c41b4cd628da2ae9697de36990d18879 GIT binary patch literal 5764 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 E02MpMnE(I) literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410106 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410106 new file mode 100644 index 0000000000000000000000000000000000000000..3d3f1695d2af8fdd899f71d6a742656f268618e2 GIT binary patch literal 5076 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410108 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410108 new file mode 100644 index 0000000000000000000000000000000000000000..d4eb3eceecbb64a34be567d5444839d690703cab GIT binary patch literal 2964 zcmZQzU|={N%4L1+sNK5K+{sUWu!#OWQ|4y9%K5SH?Vy=|vdoU!0+k5cidE^y-#k4< z&i+V_@$7URnD5?ci{}bC8bk*`|6s75l7$6 zWBKi+ebyLg21C-K6P+L$2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs2#w&Hcv4pRTW|2Qqh5|aPwJ9>Y#3xj*}aSD00voWsmwD70#_k9JUC@^;54F#`!_op;*}iyTZCW%ljawm0>C z#%(1t{{5`)WAE9$6pvZh^O0G+plC|Z^Uwn&tGliVJyc^5ZL#5fux<156p)LVkDr~r z?+l0q0jEHsDGWZ|4j_7)r)%l-w_g@a+OzeJiJi`thJ*ifW~#BC{QTu|R4ZfDrRhAg z`5$iWmRDbB@^hX3sf1@+%Gy`{*;4-hoQ3ZEf}2U^;XN8AI=w$XF{J$an;I0;z$JTn zPGXC)!|ZFtH#7LlT^?RfeYQ%eYvI&4O(jMmfhQ-co-)3w72c)f@t8gO@ivH?7#Ik} z6;K@$6f(m)xpTR&jDN6csVt&^cAEvf(*% z{{rbLu~Een{xxh#W!SiAkKR$RQV_uib_3AA!5`M%5P3iOXFV7H#>a=w+}ju)v!_0( zzdnBRzNsgAv;@D{GygjCXh!#=!_O`p*`=vJt;Ty3=MER?hqkvPTrPu?9TUT(z11>} zmCqkLKKk6Em$Yq{^slZLr)4iau->mF|094IY%3_vAOIFmAos%nD9o6laS9eA!v73X zhmAn#02GEWGhyZ-3t-3r6@lXjt{7xD2td*ls7z>q$}s}PY@lqyaSBu@wfO_c99p^w zmQO(8HQ3xnNqC{h3Au3y4imI;9TvYJIb!n{@p%iDKoEHhIn7ZLPqYgY^3x8;P00R3 z=Aei}g9Y6W$Z>&O|1ume3b@X7E8?uZm|da7f~o72z1H*Y>bCcOzH9RFNefILfz87# zM_{23qCs|{lp_S|5}*dzv#IdB4>AN9VDS)28Yjy9eM$#lWec*|AT}2BL4JVw1D?NW zU=Jn!z;HH_01^}KTabT{0j@Lv(hHJ9$ulJS9m9Sk0VF2eImEjSDbEn&CTRVH-cA8q ejN}j`CdqCBrCWF!A-c_jqz7&zkb%u1FnIv1pwC4B literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410109 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410109 new file mode 100644 index 0000000000000000000000000000000000000000..29842c52e3bbf39117cb65bce648f3ab06c958ed GIT binary patch literal 5080 zcmZQzU|?XIu>bS4`3yCW#a1pqdr3pfb6sk7fBNdWc3&3@Of{)uat zcr92_@;4vQ42GmdC;CA&5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@F(kf?WT@+=?Si98Z66#W%bE!E@uck07j zMwvLtb!J)`5>sw$wFzk0=P;Xp)`Olue>^Sj+*x?yvg6^JC#=&>iE^{^Xst57k@bg7 zdRAk4$z#SSw&11z4W@W3I$-_yCDWH_N!2+MXWp?4OPbY`ltp8Wjfa#Sm0)TQY> zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`;34fTlGGUd@shKqs z72$e7<^$tcY>BEv*Zk)GULoeXr$s@rleXU7{99Ln&;Fd1woaN{tt{J}mJ;RzYxT_Z z@9{9C&E_b5vM5930^ir!2PV#+<<12(1MHVg_baqMB+op2a@EzEyzS=}FE6}a=8`Y@ zGbza^_HKKi83VtQ1Jo~I^>BAU{Y6keFslIdFb2CigSF~RKKA-d_m0W0mez-KF!0H4 zUvp;GSEYjemm6>F-(<(UmSN+fJ$gr>wgB~k-2n7&+l4$`U!y&bItsPtewAfX>e*;- zUNy^b?f-e(id{Cw6!G6TlQY(uzj@-_$=_QZ{&Y8c`)TSP!_2G#gXht6RKK$WO$58& z@FlnElvSLZ3`Io@H*`*wt894A+`mA2N^Df|gntcNQjz=%i#HH05$POYP~qxYZk8Qh z5$tMaYLFK0npBYYz+C}%^Bz2v_tsq>kgpAteGLWKCe`S-|geRvL} z9u^h^-2zl>J?j*Z1OrB}`+#Ag`}}3D%)BmNk@j}`1m3p$kq#dk9@#2IuPM6LVCsF) zH2FnJZ`We4b@v)4GWDA0&0=`>Le5~u_H+}bUzZ+Dsnh19=2DpNiGMw=g zO0yB2nEPjI6vOHwC(Vm8s}hqd4`g+PylA&^>i7Y%9qd++A4zc!$#y`)$RSlGb=vct zw^b5ee0y{^?Xgl&t=f@Kv2I>@R~%116?SzDo#!?AVe6doS8w!x@rboPX)L_7v!rM8 z|JN66kM~Y&-~_sp#ko&?&b)P}GF!=hVSb|0vI0}x}l5kml^1}S`qFkia#O^* zwYWJ!Kz^3Oz6`F16U{eR-7_)$wV-L?*XT9Rq868GLj8uGCqeZc48YQ`4NQQD`jSEF zuo0}z#qc(g01^{sI;32O^FV0`1VmfF_5;&cCsYn4?1*!d;T@nkur>|U7zl;r5F{pC z2|Ud}MR2(Zqz)Ed@N_>&+(t=wq5B^>ag!2W;4nceCtzU-k^`GXM0mm59|YTCuqZ^d z$&lTPQa%x3FECxh(-7^#1gT6Q!%fKkqgFgIv>)0kyzh1THl~=u-;+Q1EStaQ?TV15 zlpcS96#+}zL?fZWobn$CVDSi~d4b%2P&rt>fS0F4w3);`GV6f#2)O+=5oiu1tw0S# z@+cA$DhX{L!g(;g(DEFZ21DV-AcZ$^ZmL~CV>f}q3Km}Qa%7OW4W%3*(M_N>I5pxB zy&M5Y<%5EP`P;9x7q)rMabC>w(Dnf9e}L{?Kl^#2;3h4vtVfkMuP-l zVGgPzz<`+k4b!g=4bXZ8rVUOb8x9pj2|psumm$G?tZ9b^_E6#vj9@_$Kw`p!5#%Ri nfLv#wk1xUE5Y%1(n?>#ZEZ8B~>l0X*(8OMFKN`Ee@UQ^@{siW= literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410110 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410110 new file mode 100644 index 0000000000000000000000000000000000000000..02ac0b3f6bcca7452e092ca5c9a6d2706c1ae047 GIT binary patch literal 2736 zcmZQzU|^6sDKnw!sg|)%)Wi2rGjG@lG`dba=_lp#?(Pvc|NM_nfl7qgChY$_Z9YTI zW3iRX&tB5d@?4ji-Jia_z#*&EYZjMqjhyOiFGpL>dHWt;<6d-9Nn~+d|GS4DTHLgo zKNJv59j{N@FG#vb=GgFQAa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqQawu}1htTu{!28hgoqRZ{0OJ3l3aID`oCd-Ly+-}>+z1HY34Fbu4K>Y0HU z1VC{oQDWj1;uYkbqn~Z&nqB1{<`Gtu7Lsmj3zdhdV=#QltvY2DCnrNu5yK6gQ{^ff zo-_9^ke(77RXpKe!y<9+r|7H|i*mGk~T`l)Y!ZI92Im$&#N3v`7~M@=ieSSF#rN2JQoXhDNI z$UmU)V9=R-?Dd)M9g|-ztq1x15CogLbVMdQ*&G+OVd640x`p4)BOsq56LqRpImjdCU5(>#mft?m$~Fi{!B_T zioM$&Xa+J578V5E0#s~0>lDZhAixNAA22M0t)$ML)DQ^{7Hze?S>obm7rIsIM~sXU{6aViJUET$gmH;;nX zwM`D+7;CYZ_q^!R-Iq6=@jo6h$t|VonYNJt*hWygfB@vMfC_=blNp$9Kw$+21k)K% zmDJ`B4A8U&iVv8%VEsrOBqmr2M1bQD&V!{@sQtilrxPm22+Geebws&o$=U-nb`vZw zg2HRCxs8(W0+kmiafQS|V!~nrXB>jV1g-7>g&8Qk;N=YwaS6{`M3hO8ytQ%B9=)Sr z_aVC%7A9aZYTK)P*o}b!yS)rLv-Vw?cQ(Lu?dQtxli%!{ljXhp(*~=+sh3Zm3@A!U z@ddk-#C%CiIm7hpLjy3Z;dvPzV?YLSz(B=e;REIpW&Z1RpgM+F^Rea^8rVaLKQMv? nNdSon4@q3*7g1@S+Vu+9RoK%YEKI`V70h@PGmU{3`X3 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410111 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410111 new file mode 100644 index 0000000000000000000000000000000000000000..eafedfe1bb5c79e3d414bf0873a474bb5cd0e80f GIT binary patch literal 5208 zcmZQzU|{%lt;^1=PGI8?%SXAVZ|_!6DelNK*gf;C;ii{ZJ`)U}gUYEEe}4&jtobfmD*eD|`z0=os*FIRnU@$p ziWvBxyz%VA$y3J)x+qaV?Aq^oCgxunGi%Nf2GJIK-Ur(@FHZrvnECkG zT`@i&76hCEiKa04csqdTZJw^B)8BqsFlo=$J0^BITN)1j)0wHpdh+v^%TcY2QJ1Fk z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlXEI`ZzQorebh1Q4UnTJoVx>}RB{oLZ^h1bhm@+E&JB^kxuZ4WeK;CFHWhJiIu zDKkht5P;%NBG}cxI5R24Bq_8qG$b(9E5OAx&@|B27Ag-@$DlL$*y}UhJ0`zcS|8HE zz$d$X&6!zWl?wJ>ZoIL7lO6L~kosU(XOMbg)G~-)Zvm?X5{zK?0n^BWo?ZXhze?)g z&6>9R*^JifmJ2g@H$A%}wrmH#@}AYd*cWj)Gc8*1u-^QaSWnaLS^Y9OdpvqK&e>aW z{%ftqc`jCUiZ^^G;GTeM5DSo&t6_{;x{-d=Z7cDpURaPN?Y|DIN_sSFIExVgvu3X;V5bQGekai-Jz` zw6MY(&c~s4GD6~m!D0RG>00Jnn(t3PDo|ejYU&m4e=UbMZr<@whih5$oE5#7``?wb z8_xXI9OTQl$#+|Bao=xcm#v>J^{EH*xad{0vH{Hl$Nkp2Ps+dK9%vo#FrR#Fjdn1j zTFK+xywY+^i@tSq*Phz|&IjCzpop0a#JJ)f9A_Xm3e;ZA*0C`5Xwqwx`@ZVD$i*35 z`3xaNA(!psa@)cl%mJwZ0k+`joxf_2em4n;t=gRP{GI1MCjGF6yhn4hN;~gdyeke= zBJNT40<0EDFoE3yO!Gf09sjFNN(is&nRa64&6o4jIlbr22@td^RZqOQ$Fu&_GMsfTL28Utqe@xEr5DZ!Vg$4 zYzB(4?49#gZqt6RB@gHE%+xnY`Qmzn?aO`B>5n$)&k%TW{{FIz8$dIe978<)f`AMdNI!KgxndSyY46rw z`FfM1INVN^SiCOJ5U?;_r!{l&wa*}RjE1@}<&0qe0pmn#Z+Q423!T7O+d@rdsPJ*_ z(&Rn&*57j15KmcUJ%Nii}AJjp- zIM|?gVg{DwR#0^e#FR&i( zIu@pmI5)L_q_LYoZij`}U~?NK;RUL?W-Fa*()m#V01_T&&2SgY`Li2X+A($Y+Ha$?GwOhh321vVp5=-+=Uj>LpP788j9G1_b+f z>mD?3^feL%D&7Drb0$Ew!6_^bLh(Bh=I3Nw^CHE32IRIj(S1*(_Bq_~Kn51~!=(X( Cye@bE literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410112 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410112 new file mode 100644 index 0000000000000000000000000000000000000000..88e2b0964c39e2fa72e6cfc8abf73d0fce3600d7 GIT binary patch literal 4880 zcmZQzU|^WI<8ge^ahcdM#WzM?ZNL8Hw6DE;wRmQev_Xh!_=$_}fJ%gaUF)(ls}tDx z!}3w?>D#*%REj(D40g{vYq;s9-`5HI9&OPMyzhJa{6A)<&3t;f6-|exp4$6#pR0M< zkE;uKuRdE3G=m{&(TVvW8VDFc#MPqAn@IuRJ#*P-KYC#*WcL35i_3HL*!Hj9=p--x zCtU`p#NqRwp7}@Jmeh2n6#PswTy>#4$b5OnkG`L|Yj_?^-eaGy^g@S!{okYJSEumi z_d7Uy)^6Optsvv>&Coju%h#^0<6qOTPkZ?jG1bRLEU6c_Z1K{{-9Ou9cfr2ohtW-? z2d(*T&pkioorZdpzG3gRriT0M=eqxB9C^H>>V(9SyNpZYo->HHIPgB$wt0C9$i>XZ z&+dx717bnIDUfIigO9fZh~DPuS~~shmj#pdY`tS*r?aKu;6I(2YOE(ef4Lmh${2NN zI?rtWhg-Yl)fbxlT&I63;n|k5_LYCOl>a|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR z$)28**rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS z210QKRL26uOd$0uJ&lTIzNpej4V&^pyV^zEzz*p7%0u4U4&8RCc-Ri8PTZsH1xz^;*e$^H@G6G&n30(D z|I?qEx@=kYeBQzE#Uj%>Pk(varnr<(HriRAl~&5gESQ`8mvfqVMQMSrq`IG}FMnh> z_cxsb##@=7Zg7yX3S>6!SJLFNuROi%d`q3g;`4X94>L}=eQ4pt$^YDsr3wT#l>F4N zI_fDeJn7@*?e9Z8&YJu_Bjr-H;%AiKe}16Dz~RRhJiYT*?a}WhA+c4PbDqER+{dIJ z){ysTZdPgMor`zH!Qm&`Vh>c09CpZT2H8128UYQj?l#^!Xf<)m51~BuyVfqg6NLMU z_1^to+kX!f2(o8WK@8m>1^^F^2lVtxdFM9+}11bK2PnpW&_>NV3D($#; z)iY&&z~TFT79m#qB&K}c*X+x{*tP&@?N$b+@0K9@L5_d{V4mIqWV7s@^Hy%tey=4D z=kd(cH%a;8dW7xEebecWHtFP)Y@cWXay&>MST8~Qpz2=QUM_zVV5=FpF!#v4RvA48NvPoh9&iv)yxpUMTanng0BA$rB_ ztw$u!S$)quf0%RHOdGAPCtmA6Xzk_Y`ri}*b!EzbAON!Aeg$&>LFGVU%M2`wLFo?+ zhzMr}_VrIhpkW;h)Wiza3Z`I|069oZxC(Gw!g(OOK>%t$FwIv%~a0Y~3bV>`9i!FS9Anr3Rcdc}4gHha&zir;%} zwtDnZ$JVnIU`4>ZizSWzg37_tD5$Il10u>fF^xqIdB7wHDqAgpns}jF!4y)$L}J2K z;7X%l`+@$O2~~*_=0v&)m~Uz7Cah_6khqPK@B)=j)QCd|P~4%X(KS|2=bwyp>eAl( z^w_K1xKn-?wZqRv-2G#{fyHuGTqmf#3`z)0Gy^J!66Qp@$%Mvk!kR`0iQ6a%FHk!k1t3Kn z5)-ZjS2^PVQh}64L3%;;B&gnjmw^QP1M42-WL)zS1?t-XOtKSzGz!4tAQZn7VScDW zd=e?^eP+|LkR_s=s`Irz#Wk<{f$?ZvZ&&$MieD@xxa6g|Z@ zd+DFqQ2j*YV?;O;?1#YmQ%G?`z?~@JOq}`8=OD*D0rRouFB;fGi9ax+4@m%t3HK>E zdBp*yn?%23*pDQD#DtlSt1O13b(DOJl$MEclh(>6SiED{izI-=B-u?Ud6MYw MHUb&g90HRE0OQV(Bme*a literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410113 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410113 new file mode 100644 index 0000000000000000000000000000000000000000..e4a80f48e03e6d5ccdb5854d0560b1be28e002fa GIT binary patch literal 4704 zcmZQzU|@K9@U`dG^G8_bnzhz2-0oel_g!J2+JP@ck%?Z0t#vQkfl7oY?syzubX+F3 zO!1A8SKF^YIqhrjUM-&4ByA9)8h+y9yCb{b*D%;_6BCt~)0frwzF|14ESD0{42GmdCzgU}AYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-VM5bo5#6cQ-;1WbdEHU*tK6yVr>jXi*A?Nbk^3giu-rejsrcLH%y`DtPZWMe z81n?BZD_J6@7HVbntA9%NtQdOorVX0ENk=1Z{Zuh@$Z_wCf?U-b8TL)&K6^ae=7s? z6huGj%8B|vQ0L`2RCBR*N9Sp$pH|ZsO2!1dw`;Dl*~!Bo+TzIjVB6;9DIga!A3wV* zJ_p2tfKwpR6b2t}2N1o@)3tQ^+b;_y?b&+A#7<{R!@++#Gu2p6e*SVfs+BS7(sZ8L z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|+h?zj@JJ+rfkzFQm&8T(FRZRseNeAAad*-YY~A-YZTXI`Kw(u@U@!pZHd)aj#?=b3l% zr0E1rxw$plP9mz> zZT|lo$y`}?I5RiRl;CIiwy}2m63LxE*VS7;7ughZG($@YmRphyMjBQ}h{>R#GjE`JkXs~OH&m&~}sUeos2jc=`na88ARhSTY*w!jv;Y+o9ZI*LhUHrDsL4m^#T8e7* z;T+%ZA6%$2y=NDDvO?x+-BlS!ranp*n7&2#ebC<%j`cq3KiPl=g2PgFj*mt_!>hZE zw+>oO-10*xPyMd7i|+*CzGA(1|JU~4BPO3@e+WJmIr)Zz-yOwL&XkM#1&L<@_#XCk z+`Y2GXiwn9OpxQ5etl>F(LlfmHW!#rX8rrNr~SvPiOMYpZ@2t^zDxC$-g2KH^B+Ay zI*x4Tgm*M?T=99p{$*2U%jy47PhIcG3Vkt8K9N4f^{=H(gX|`lUJ#ANe2^bt{-C8jl=uU~*+>FNOt??M=@ZTa#SsWV z!x62{1<8TpkX*lG*pDQD#00wlL=f*b65S+qsYC`E?-=$X2_P{^b`v}dK{|=fyGZ_k z+X!S}bI9e{A7-`PY&hgoe#Wr!;X4WQe+_XSAFfVY`s!{{T5#h9sQ#4yK!9WfBar(G zDhEr;4p2S=!7`tLK}=(j0~gRmpmN_5s1H;=zyXpwk(h94T=D4uQUOeB^PwtH(m!!- zvR_7HH-X#^3ol2gJBbW0n!AmX@B-D{)QCfHm>`uG;2`=a|KnE2-9rI|J=0bFU6NH_V=*i9g}!@>)mMhA)8P|_%gZUVKtsS$@*)9ArJuHW@l z{Y&DT+-zrBO}e%uH)Z$oYs-{&J!M?GV&_qJP`m>HNo^Z~{UQbiagVYWpgO_I8>0K~NdAD^2xMS$2uvOT%SBos literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410114 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410114 new file mode 100644 index 0000000000000000000000000000000000000000..728972710952897c06edf43bcba59e2ab3dd4ea5 GIT binary patch literal 4640 zcmZQzU|=XdynRziM9nG>JHD;o&cC`Zt2*_}GbY|xvB^K*=%h z%r$GRVYuD9VDG!aK(zy3iXs!e3|s47w%fix+v>RDUSbt%*?bS=cnJP6%%4} z&9~dR;c7b242GmdCsu)IAYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-q2YA8{$n?hTg&DZFPz+vS~x9{d#Up2Wr*$DFz9<(d8GRkm{Lb3UB#e8URslW}kM20D$DM0u5N&bdeXwow@)VGZnU9~{ zmGB3|f`C&X(G&(BZwC;)&C|7X`r9uHChggJ$HY!&OT)o`Iy2Q+Pk#P#IjWU0>e6(c z+58W;cFU_TH2Jws|5U=WEoJR1|7J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5He8;Lim3G{_>X|Y> z;P8Dvix8`Q5>r0!YxV`IX9@@n3h;3S>je|(r>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k z7RKweW-h+=8LVi=v<9dSMyOjIHvH?V^3YJ-r*wQ`?!AQ-60e`!5}9hVPUE{x<-7jf z9)SzKz4K%2Db9SSlK5J1m2=1Znweas4x!hU+3A~IxFNy{G!Gmu*&l*WMNYoq;CDx{ zlr!a`enH}y0KSKP9e1y+FxnG%F_VGc$pM%)9D(YQ!vw?z^9kx_U;x<#10X%zFb)oy z5o|9oPpr=QI3;xbs-U)g;wR3y`uVe-oAHI`ZBG8HSLe88ek2$#jBN{m-r35)^xYb$2ic#XynGla#kPL2>+qx(n41_T zm{~-*>6<)e&8&H6ZgqLiCf;2x$K11)Im%XcN}PQHvWtP~*M|nE21c;C!1R#&)X+J5 zdlKi@+1-hEHMg$};0n4_XaWDVB{TMCWi2l5(+{gti*1yDvi99! z%PAZ`I?i;>VM=xmXCXm}<;WgOYMoD;q>IiDYAvjEs+6&<5Q+_5srRKk? z`CP{ZTn>$aZ`Q97>FpRA$bm( zu3-9LG|UnhA4sEwACczEAm%gt;D4AHjK` zas&jR`4%Z1fb>%8cMSWH1dy0u7k~(meaHZ}+mOl`65|8eUT`}ANdSoncLuR;V)&Gs zGUt4%?z>yB*6fj!Xkr$vKj2Xw_eEyfr5DaNpR^;PCZgvVxJ5t)EW90If&}Y2phDTR zsi63S>w)P7(O5i$lGcbbKV=RH=7anI^M@16Ei|x)5`SO>3z7g56Xtpn(j_E6f$C;* z{f=Qjk^mBu47ZW!CaFs$u(A@vUL*k|CdqDsmpdSxM7PP1`~kNS$iU{1h`e1#O_J`( z=GpyJFP^sMb@AD)<+2|=;&kj@J>olO18cWnYis?2nhi_Kjxf83Xj_YEEV5q)bP=dM zZw1r`>Ic99k~@)@aA}Zz$N*Lbg6+rE)*{kPz%)ryH-X#^3ooEu5HLvGhEiUT=q6B~ Rj2dwW4ilt078XQc8URm>LOcKf literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410115 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410115 new file mode 100644 index 0000000000000000000000000000000000000000..e073844131126f0be0ce077c76d8dc7476f728de GIT binary patch literal 4864 zcmZQzU|{&d<}}T81-op;cB!4=6Xj;ike$_b!YC-$Ve;D20|$av1CI77FeEKHu^vPN0V9Z5p>kGY&)iZrU(H$3(QB4iA6}(zlxZPq+oL~w>*?GN z#y}+wY|A^1*|NVb5O(~t!Qg;wd-ot6!e6Wqj}-K{rKU%z=p+)M50nvW!J{*wv` ze-ZIYO1A#6PT8KG904u|Wj{udqDq~H%+;k12`}oo@;AT92+eeQy5M5h`}+RE`AUMi zTO8Gv-bp^_@vEz31J_2LL=%$@^H%?4)%#J?{(n+yj|zimi!<+oZJU>;fLzRc{Oqoz z9uNxxPJu*I7<{}PK=d|G*V5^4zbu%vXX_mkJDn{J2mk5JRAW8)`OD>~R>r7H(|Km| zKit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsxFc6F@ z1_lNx#4`bW5BoaqURhzZ zC-7n>!^TB>^p1j+f(S;i8-VHHJ@5M+9V>Q(Nm*}HT~wgcdM(1^`qXckW;3E!RX<(B z$mRX(M?-0KcYE2PNjK8mb=*8w-U%?{UNTRxT4*o7ln^J-EU^10m{~-*>6<)e&8&H6 zZgqLiCf;2x$K11)Im%XcN}PSd0`;#G$Zn7WpaAY)g8CU4SYeugG)Nye5+56r5o|Be zk2`ig-JGSoiX$`eNz?V#}xm-r%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0! zYxZSeY+C?y+Exap?>0a^$o>T7(Gx&1mOFmVVkQUt?mfA9QBto;I!C5h#kS>Rru(H` zHC}ECGaR7$z8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*Wv}P{8_8F*7qNwH;OgSUi zf55Pe;!(flb>sG=S0y|Tzq-!czT)ol%HQ?Lv8R5v9N*Dqe*NBUvFK>`9X%ia8pN+{ z(zNB-ZV@g2TZik0Q-`6aq9YH`KyX+ZzIJ4uu|e_7G#1tDS1R99IJupbI(?M#Jo8ST zG@T%92vnECARu;{fk7i2$VLmxlh>hQoCU=NR>sCA=B7Xas2H3kBK(*FLW2T)T)}$5 z1QFrF!1U`w15^hi)U6I>)ho`uOBXnILuCJl@&`77Vc*y86)%6WC?TfMKIih?51end zmEFXr?_CT|PpgkARJeG}IbAv8xPqfHLyRv_Rap%+G z$wsj+AF{um{=(>KpK>}Z`oJY7P(3V6K;-}ofWnp;Sgtt21c)d{7^E(h$Uw^?n3*u` za7%y!7;-={a9qL_gX{(YsQth+zZ5FR2o!@9R6qgZ+*G`S#%=<+9Tr}L&25x~7kZo^ zM;s|}2o4jpwgoJHL2_WTh=@z#>nLbqL8_}j^(hR1(lxp9M7uDd%uOiqfy6;#!n}_& zuc5~iLyYN)gWtU!d4pE|`jIF%!R;pnPJareId|5_eBiUMD%h5xqgM^3n!TE zMAXlaa#6Get_P+UL}T#~N*X89d{8+>toa~6fG|qBp@BV=_yZ$YkOYvJpb!KDkbjT? za(+bb2TJ0gw%|ixJ5E1(kz^w-d~EBHABf8jI|K>cMSB zYoI<}m|hSKvjmk1SAi?M!S(~o?Nv~fDCv_pH`(2zv710{2Vs=FIY`__NqB+U{nUs< zj4~Y*mxUKvofOWx@&32DHes)lBloq|)Vd;*;K%b#jd#07uLQQ0!2nwt{RfqUg*iBl zfW(MshcmFRfAj*{77qhzL9Qogl17PiQwxpVgf)#061SnGQ4-w*>Q7N44zZ?DP?`b( E079K*-v9sr literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410116 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410116 new file mode 100644 index 0000000000000000000000000000000000000000..e850eeb456602944e73d0130b7fa01889c971003 GIT binary patch literal 4692 zcmZQzU|^Wbe#uR?_41qJVxJGoX&&tTWh3cxeCpx-nk>IIc8Zog1S%2!!say1bOpO? z#dfKk;S=R%%#fYccETtq*J1M7(gO#ASI^~2_D;7EcjcOT$G9Y>p>YHEj^L&z7hMF8 z+1H=h*d_xsgCS|ri7g-+2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsSaY&A{PMmX?ycSj?Q+%DWXZd1n|R1%f_(6|-_xe=+T(d$)~X^!tj%JZ*TkYz zpYObVp)k)<`>OoeSv->*_X;XAhnN@i)mDYvxgWROSbA=OcFRMK?EZ6GjJIStxGlNk zwCb>9?9pYS>5Cj5mV__A{z#I=Y0Dyo4HnEid~^SwGE?MX5N&bceXwow@)VGZnU9~{ zmC^uWLBJ`HXbOXmw*!dY=IL5G{q2_pllE-AV`8VXrQzT|otbK^CqI9=9M#Ggb!j@! zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{9rQWQ)BBh;-9r?zW;-lleJ$EuR)VeC(@`QD7vW_UG`WmTlB#oI#? zj@wzEEnT=tChP*U(K7>Wo&C?f-c9|z=%?JNK9@=DJr?5ZAY(y>W`77i6*>8agWny+ zQqGi%`UQz+0{9;Gb=V+Vj~!x5$)NQ3+;VWIEiXKLZ;9UPkL6IK}& z=^pABZs2HZ3zP$eIXFBBn$5rfatDL#93PENH5qEh9T6Z4mE{P*rYtMjbcH|EXlY%{Xp%6uX{?ez9zle*Wk zZQOj2185f5OkeF6DW>upSd8a4ef_odg<3+|49%GvUY>m*G@o?_+x~S7{7w#NaR~D# zI6MjJXJB9hxf>b>3=_;OqTKXN9QrtU&V*;0!?GyRPjA8qHuEaO{?_j!mmyRv9RA)XSMKt zRBU{#O-HNj0Mtqy2n|k)ASO7SLB(Kc2wfZ$mdwC#a)PQOD$Owc`XB=hTV!*&L1rKc zATeR4L*fq3gX9|qnEk*yWEE775h&&YQ%6L)WMKOB?gNe81PUuycnvnUQ4(GtKfwSc zaR?3*q;>$T9s;E=P(cPx57aKdzz#>`Jr1R-#00;ap7QMebZ-vKm`|mpzW;MF*3dk?~IN|g1Oc&R8i&fotpbAr< zG&oLxY-BTFX~hXK*5>U(Bp|gbn&7IlOhw7{v|7GUt9K%v;UQi z(EI9>R}wqT+q6FvT!osL@*fC*Y?xh)K<+=N94ude>RB)#qVLDRzWz}QwEq_l)P!7~ z!z}@d!|a0?3?b3u2bRvj_5<4h>!FHK@&%D@QlPP$KyHVH7d(9q61PzjUZ6faHR2E> KeL~|BOaTCIg`yDv literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410117 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410117 new file mode 100644 index 0000000000000000000000000000000000000000..f7bec35bd6b8e0865819d99bc0be8a9668417396 GIT binary patch literal 5832 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 BqR#*T literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410121 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410121 new file mode 100644 index 0000000000000000000000000000000000000000..f20bcc14851dc3f9f2a9c130a43633815172c29b GIT binary patch literal 5944 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 DD47MITN<7WoCBnv)2b-GPy6O zDIy|uTX=bB__3b57Kie`JUOjX$Pw}N%F$!Xrzpj#US|+(@#cN7ZS(RJkc*j*pWRjJ z17bnIDUfIigO9fZh~DPuS~~shmj#pdY`tS*r?aKu;6I(2YOE(ef4Lmh${2NNI?rtW zhg-Yl)fbxlT&I63;n|k5_LYCOl>a|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR$)28* z*rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS210QK zRL2a&Od$2EQ~&K-6CQpdOZI+TcJH$d%sLCT7YX0GGG99O0;9HbGy}hr127D{fJ(t} z2GRor$ZUo_p{Hv;)~}H8o@%sr$<(ZBvmMtKD(uX?w1%yss(p6GY>)<~UmqGkG!QU? z%>~Boew(SHT}x^z~q zZ)SXF_IH!3I`_^S*lyX!7chkbXcpKH8@ArRV>a*YF>HW(R zZEe06+`a+zgC|Tq$PqvQ@&ni(1obm8uz}PDyE=pPF&LikS$*FuLf*@hb8}#A^kny` zhk8$D%`JN6`(WuxcF}tb8yD@-I|^0`A{fDL0Q%QHY(>q~F6IYG^~$~mx7qU^Kb|4z zFCXGG>3q?I+|G}O^qxlg^YG2)n)EN=(9gvD3;IhOZY0@8>@9Y)w%gmVlLcrN*uRFa z9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC&(1-`w55#bgwCEJf z-<$=-1y;t!#wG?3S(rL7o#G$(l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&Avb_ zOaY-m0Y0v9qZ!gqT}!T*#aG(9^;f>$(JJ*}V!LLL6GY?#Sc1$gEq0virUGpe@C99gyJ7L-E488hp zjMnb#+7_?7tvMnCb?SOfcCrG^V^(bwzr^w~Y2n{~g-u(ymHQm`g&nki?AG{h%lD7A zi*JTN?F8pyARFdas4$oUg)K8Qt%C&!<_(}K*|Vt($a=sUp#&C77(wL;Obv17r_3S2 ze2^bt{-C8jl=uT9Sdaven6OZSq7pM-S zMjWD-7vQMuG*PX&Y3S5?q`}YTU)|mgL*r*5g6f48FW2SG;*aJz3XN~{dIQuRfB{&T z!_z1c?Fj~G{sy&4Fw!BC01^{s9nSI)ZyF`eO~pHaWezRfgf)#061SnGQ4-w*@)rs~ ziZ~=DTnV~*P`w2&kFnHgFgdVUM7WLkwkpg?h&C&-dr|6ABJ2gGYj_$$_akybN45jz f0(AAb!vv`gBEwB6b|Z0+m@p^d%xhT75|Azc%N(9T literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410124 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410124 new file mode 100644 index 0000000000000000000000000000000000000000..e2835391baf76019054fb99e2679ffac6b981d56 GIT binary patch literal 3840 zcmZQzU|`stH(B$T=uQE~JG*{Qv3e2zxpV)VCaXZz(|9mII+6f1=J|r60@<{yf|LVTJ>PdwCntzk)T9e-e zg_m}G*q{kCgCS|riF+U#2pB=c)uPOsNdezIbJ=Gl9cmkYEJ6512+w6&KCr{q1kjcKXqr z+rlOm3l+ol_*Z_acAS~3r)|pXwEk+TTY-b>?ibaqF_J3V^Ph1rSdI>liOLT(?==KGw<3~v zNLqA?4afnBaTXL8SQ!I>B}5jc4os)`2R>ygkK;R5?Wwfm-c`?(`2mOT`&ooo?UR`D zd0(?HPzzH)Xi$KUD?~GhOh0ukxndSyY46rw`FfM1INVN^SiCOJ5U?;_r!{l&wa;Lc zGp03wX`maRZgucabU9(y^yiagOeDeemf!Y|AWWgWe>20N7;o-76_20fV;o&E;Wbemi_deUetg}#ik?^f6 z^QB`iFlswTBc%~=nu56lNQ3=MP(K3$IP75Qpik)OnveA>B)q2@?Oif8tJ-YGwS@{h zb1$u7tEg(9oiUqXhtSap&E>JuLa(Gd=KO z(3Xp~5#Ld5dst9moyLKccyc*X=tc zc0+ZRZg#lO(#BiTFGG80IO-jG@q6LEhm)bUf=dIK|9~_|FARXffEk!)ykP=F_@6=Q zQi%*&K7(mTPH3>S1eXIcki#4#4vIGhnEk*q_a>MRiVI*_24yo4=ceKvG+&Bb>30l1gi(il&vH1&L#uCh1umpn0W5{U^l&;B*C)$MxWo|7NiQ@~msoMq$U|QVnP@qn9JdZh_?sP~8g#1nX*` zDyCl_8lZU=stZ9O8x9pkN#jJC4=bk-2Ez@*5CZuD<_~zfp@BV=_yZ$YkOYvJaKE9a zW90mZ-o}Ob9aI;9&7yXD2<$5Cc@-8WG_e=l4#RFQ!^Afqz7*c|`m^pz&VOd#L%nwM zpGACqU3*}EZw;qG-`%IskWBdx1h8-c(LnA$s2p;*frShSx6K&X*WZV=&*FiaSfOTt zDWr%*V!~D6ic@eMj;jtO(oGD|HY2Uv1adnpybyVexbUL2+hA!B9MB|&R{~HIHR2E) MCP;NC*ex&u0N!W3=Kufz literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410125 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410125 new file mode 100644 index 0000000000000000000000000000000000000000..b6a86033b83951c4dccbd581da67f9d42fd336a1 GIT binary patch literal 2492 zcmZQzU|_H@sN=p?HkpZW`|T))4rPLI6LH)OXdrtIZ4<;@G8%#S^Ozwn!}q+Q>5V`I{h+(-`zFsii<3RXp1lJgKe9ar+{3{eEjT< zUq3)B2si~2O=0lyb^y`aJY7qtzx}dc(w?n%Ozd>FG#vb=GgFQAa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqQag=;@k|^(!R2ryA{DGBvB(Y{#{Q3OjQztzoOEYM-4kn}OfS0T>3}K=t4_ zgVGX3hAvSl=H+Du2Hq*zE`IJwKIn1{@b@EJp4qK?ESdx-e((_brxzb z625h1zI5ybMs4S4kosU(XCTEu*eyUc*0WB5)dC4du={{%q{{zA!gJ9j*#@(A_`ayn zU{2ko_3is|ttyLFZIPASJL4Cn3)*#*Rc0=5{h4rEDy>+gXX=XYic!{SzXfI+d^!p8 z7brX!3{Uv1zHb&G@8!w4Ij}Z*visCSy(hEg7QOO)uyiH6=sjpyc)`>IX^>tCw^Z%W z&@AWRvd~})r#$zZs+8ocTr6R+Ve9=nCQ|b)=fBxe#dpQ#*y^*VKKoss-oGr-*5-S` z?HeHTU|~VfEgKi@(T|8EY-&p%wv@#Z4WBOh14Ute}C__!}#_NP|kl>S@q?)#V2J9+eS*v#x W%tCfAEKF!(FSwq=ZZFs&AOZm6o4~CA literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410126 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410126 new file mode 100644 index 0000000000000000000000000000000000000000..2556389677dc35b93d336ceda4326f87700b7c53 GIT binary patch literal 2748 zcmZQzU|`70eR1ggI=dD=iJhVUnpb!?J(BHMeCgw*;-&TrO8-@{0+k5c7}RlJE1S&3 zxczpNLx-|S=Izswn**cQ+X>z|vsUZ5ZWrs#<+Yp#&T&ncRp0#BcVpA03rqH`N_)AU z|J!%JWj$U%GZ>NgGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>Iha0-@dnO*6=(x=1!VmMQOW93ct?qfIcqHN6V++f#>y# zzt>lQSP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|IbOLI7iVcd`A|%fQ=?t@{()CwM#U z+N8r7F2@6PgTr+TzszM>YPC(_8^ZsLs4Pc_=RWNKEm*^X-q z6?W!cTEkXR)jm68HaPr5TfAZFfix(bBqA+LLi|kq+=8-$3%#|yBMVGT3kw5nZK3i& z3KE{HQ~&K-6CQpdOZI+TcJH$d%sLCT7YX0GGG99O0;9HbG)P^rt20PFVYh5tv`0U7 zS_4=yP#@TRz%Wf-b#?t@K|UG3*7NK)y0zcbm#y4Y?3LYQc71D!x6bWfGE+46Hfr+o z9?f+VH$C)>wbymky2sD^0@_7%_fB5(j}K@bQ|#O1tya9>=XJ09%68->wVaP$Y`hn+I=E=px8v_KmB5NXoaJnae7O|U*)cmMmp=0l=D v^&5ai-~^aH7>&h2D1Ilx{0G~3ZjoX>sO*E6NkrH4NP1vy2hmvE50?f2pJv+$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410127 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410127 new file mode 100644 index 0000000000000000000000000000000000000000..8907e43a5156b72adb1568ec3d5977de243d5ae0 GIT binary patch literal 3924 zcmZQzU|6u>{?0U1ETIcL( zFx8uKLj3~J42GmdC*FZ*AYcR$SBo-lCIx)=%w?bb=!L0}+57)5F3-_p+rN6Flf3w! zbQz!$2j1TsS595JuHsXS1yA^!m<{KP8a%Bsy?-*Q>?-HdpW+~TL-Ek87v}{^nte2U z?|#?5dBVaeYN?Ur``Z_H?kw%#{UfnWzx?S!PXCv^&7px$WbUgq?y$|!+n)9P!J^3< z9M&zrtS4Lb`TFvMcJJfA^?%v-sZI2sy@J`^==1x_&mC;wW)N-h=Y6nk^YRpsi1#WZlq zo}QD~qU-HfvUpa)CQF~tZCA<-^m3Dfw9f0^{HS=KpC4!-I4u86{kdZOv?n)3Z&*)No&Bxg zsP&|vGM#1T=d^Fw+;VlM3pg!`w)laZ0doWzo8geptBbE+96YDH^@64BjvJo~1k{#% zdHUe&iq_dv{$$L#2+}8e78Imlzz8-M=m*c+*LUq{tn)uB*sNC;V|6BDqv)x_2OVa5 zsl-|}DMqDKo$6l3GfW8&qHFGFkur3VNLN+VOCa9{?OIUqlR0l_eV8>1~=IvH98TH1AHZB5*qb!UB`11T@TZPs4->w(Ecjtr;q}K-+ecVESM*Qo=-H z!enukIS~7k76r|PszeEMV%%i)@3RPv-Gnub4idLf5?-M8ISN3EI3y-q2`C(p0WozN zyj?=Doxkq>gKa#wM1dA;0G2rukSzkSu{a3D??jk?GI#1HQp`uGYl!ZDkWkma{0IQ} CV)f?$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410128 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410128 new file mode 100644 index 0000000000000000000000000000000000000000..75616c4aa621a3812d9bc9fbd058fb9ce4f11316 GIT binary patch literal 4956 zcmZQzU|`@kpRJz4{`RfQ&M3B)z$@VzGW#|!i9TTAy;AOk%GUpyKqbO~?2{b-Sk+vr z`hKzQn)tll{HV9hTg|UEDg1l0A%D`%o(0BNbRW+x_xi$oW?6?q-=Dm9+r*`dZGReR zHQhdP@lqhr42GmdCq9E{AYcR$TVn+_?XK1EyL!ONed)uk6HfAnH;1~*90{o2*Tizk zrW>flLE@Y{qiOFd{|ARce3pLSe#!gE%*~U|e1E*<`rYRy?5#43CM^1TI$(P1^&S=1 zcPy))b$Br=*_y?iTQMW%Tv~G{f2mvSwX(HO7x8#~;(mYPhQ0OLQy(h-=e#`pC}e9A zPr&Xo!3;AsG#-e!mpu0`S;yuiZ=mZQDV}Rv=MwaB@}!rQ45BRoybrc*UY-JSG4t`W zf3!}3SP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|Ibdg>NWGJ>@q%Z)Z{s(;u|8mKyOiPHKf#BByQUv}d(taN?sC2)1HY34Fbw>G zO2Kgk(gOs@Y=$RAj_O@4SB>|dHrm5f^5Ap!_Zl0Ah$fX^+Y|16I=t~TNQ3OzR1gIM zj9_ztaqI7#X>f%5z4r1*>!b_&8U8^|Gkr4eCwQJ2=2JAY1)e%b2+azEG)DgJ>^nabn%j#Yaq?YMWGVgNbaG0zPc#8J9;6Sfm!N%6buVo%m%j|*uW5U1@-wTYYmUzlcyj*! zvWy!*^Ozh%JpF=z3>Zj1buGDK7GG)a)?fL0lcPA?PL)`^F3%9KFkYuMbMZBB{$VuK zg(+tQ`wtkFM_wp={Gr0YD=e{W-}#4DyHfU+*`6wlIQ-!8v-`h$ryodRGW=m<|Kv>O z=?SOqZi%0IVAeXb8@~U4+`eW#-?;P_KhQvMSf2XE8rCh^rC2O|vrzoye@1VwJ1M)} zmR-1aNW*_mtJhQp2JRgU%vx;>%%w3vJt$!ba}Ic&*lon$vZ>h!k-HCK=Cy~QEEf1Z`{iq`V`Mqch9H9$ZWJ6%IO zz=o;)srpx@UTUVb`p+h#DNS8g(d&O+KfO3>i)-I2g>Ax@z>273XQWdE*tm&l4)3S@ z+flbC@<43hzcX!0$0h17oMTbYX`U8Vc*FTP)J{f7d@wk0sT^Eq^{$p>VR-V_#Mava zd13s9`la!1vM;g>R?XVOmM-~%=lh=37B|iXH^^JFome3hvPZhu=78XY&cjCqwt>PJ z9QTKOUR`|s;@~;mtrsk1cii|~AfUG7%hLyESG3Na@+V`?MPkZ=wZFCBUX3VX5{!QP za>GO`w~GCnbPbiK8D1BjRXAlvT`9=zOus%ffM_6K1e*&=zdBPV?Vc2nvtsd*wD;Fm zRxD~_zH4*tiJt3Z6Rz~F{~UUY9@spK(=M(RyOqE0i2lv<8E@Awjkoj_O3l!{`uPgT z4=k(;`;JchXLwHY-jX9eja~g~OO+eluRSa3-<_@2w{)I7*hU8C7Z4h2+69FJGqk(| zDtKvm$f4N^uzjYd#dG6*B6PJyW)&iq6PWH-U|f@mz}gZu#V2QBTP#2*;WMiM|` z!hH%(pKu3sY?Yjpz)4jFOmQflVmqB zAcqstc^Anaa2tUPYz|rd?r8s)ForFbpM|7TTbOn(XWc2qwxH|4lAb!V_=Lkc5dEa( zNrG(_1_p7DGGI0*Gfxs{{u7GxBn|9A$&)0Sj}d)H0!U1Fj1!;kA^8<0PYxQlA*E$v z+@!U#9v1HyVS*%p#3VVqQ1T?vZEGZdz-KKS=?=4Pioe6DIMg#S6 z!t{b@B=;jR;VN*YL9qS6df^IGB}%>^&P|mMY3wGD+hO4aud4=$+b9VyP``j0aR?3* zq`Dm(l{eN-oK&*Nn?LB|um775t~%g2S?5e{I%lhNohC~r^G;~Ti1`IH?ZVOwBar_K znigPT4(ii_0TKNxWqa^ddjgs&JjRR044zZ?DXnZmN03aOgs{jB1 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410129 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410129 new file mode 100644 index 0000000000000000000000000000000000000000..4ca0f447731377802bb7b001d4b74ef8a20162d8 GIT binary patch literal 3972 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410132 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410132 new file mode 100644 index 0000000000000000000000000000000000000000..93d201b17a1100ada9b9c26f01a093c77002575f GIT binary patch literal 6116 zcmd5=2{@HmAAhgqqU@50gionx3XMBR#+F;?+D4Xq=%US9XhBU(W-LAS<+{_t&?0LX zUkfQ3SCkkn#@NbIGALg)80MV!-uHg5rO);GJWuC&?mhqWfB(zxznt@)dl3XdPF^0{ z8s0b<5XrZ@amuvtGqHLX~fpIs*}jqxJ?3GT(|&%FXSD9ud8gxr8hD zUqw{~+caic)<%cq*1KOHC>kE1SsKNiyyI9HnNnC5!+qnf@T=eRYZ5nZjs!Lkw+se9 zoWUT#uV(-K&)p~=$X$CQp`~cxm3h#r#_rZ$;JUG10xsW zZZul=s+>?wTf@tEH`3(r9l@b7MKE2Yvm{D>?M2N$^S-Ec=_wA3xH4WGH2ILE zcHZ~7o0eU)il%DJpKlTB#9!`KPN$a0J)paWE9s{{IsAN|NRUzIQ}>>$ijfzS-kd(7 zzRZ%5pj@lbyxuNS(ewqMLeW96D(tzNXZ+%NE6JMusy z(OND{^xUPQk%;U3CVsu7hWuqM`XY@M9u4y5KgH9+R&On7h90FJ?iKau8-RNdp$?XgDI!YO2PxJ+vs{L$A6aXWRO(!LftbS3jlLy zUVK&JzT0CxnSDW;&yYA0psdrN;1n6wA--p2YTbZEbs&%fef$jrK@<`JJuNQ`MJ6mZ zUkJ+B?qqWLmHWz0Nz1vENXUwQD;#L1FRn*Y+N$1e9{nulcB_^ekSaHNEx8>^bAW?D zF-Ap^Ij&<8QF;vFugXy~pkxh_va8&^7q}Bhx#I3C1`dJoEO!%8~xX zit0ScZ8skpHNPxNsW$Syc`QgaCjLX!H#-Is5)~|T^SW|NvtB*+|K9jepYx`>wzfZO z@whhKw&?RbWUEQbf;iE77-(o*=!qHlXVDv-J6c<_khTf2PO%#)l>>|&R;!wPq!AGV zeX!?tVe(*xV@h2ZlIstVYSyRk?rb)YH}y^a!KriIvDX_Pj6|H)cNR&4y^P4!yTb_% z0%{lRwX`JP4c+Al?>r)g&Mgn}9~y|0D|3?g*X1(Xf@^{&tba8;?pS^_z}PRHay;a| zu+46jnhqavS}k%J$vh}BabpRvg~s6Nq1x~^Gi-lXr~0@=j;0dQFSFg+R3|yID_bvj z*q6YH!5aF809XUk=z30l1R+9MYhy!HHFs>oK=W>YE-}Y}R|Rp}CPyoZ)HW+6Z+v6y}q62}bKI0lYnM~e0`dj)F*2P?j5_Z9pz)D{Oho=^W` zFt9$x<6TJ3@pe!jI0lZy+%xw#d-dOP^1t^1^gG2jZh<4&C^)SX;-@%F=;^#x=#af( z$k9Pyg#`60b86~{q>TJehW?i+Q7nto_bS^FAh5kk!I*QN*Wm0~f92!~&^PeRo`E07 zz>%2sPv#r-@0L-+ydOZjxO{VlDYSTzG0l1=d?wfylCSCghA--TYKWebvz#MS_VYaR zwRqU(*|F+k*$UTkhBuP5iW)vc z(0B*W6xfioclmJ_UJFm_l^Q`VZ3d#;q}{t#W(ojU>5$CSa0!-*r= z0@HJiy_Zn`;Jm11Nlxj14({FnQ}DAz#sslr`C{K8J`-#U$yXwXi&+PD@>#@`a_qT(yTV^Uw_UL)E$7p#@FKM?Z4E<`DAPoS74J@||m%j)zVCCt*J?E5DN zzm*Zb{5Cr4_p&SS0q?@>fon`0$$tE)_)!1gJj8M}CFdMsA}uneS$p&|!M2cmxq<5Z zKWaE@j~0#8h50+J@$txb8n5?D#JMN}aoawZJ7IDu{jZf76^WeIE8P=*Zu#gnU{6 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410133 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410133 new file mode 100644 index 0000000000000000000000000000000000000000..4de7e0edee48255e1c9c48df83095756dc3cbd77 GIT binary patch literal 5288 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410136 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410136 new file mode 100644 index 0000000000000000000000000000000000000000..36090a02c26e8ab5e920724eba49bb18e71260fe GIT binary patch literal 5032 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410138 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410138 new file mode 100644 index 0000000000000000000000000000000000000000..07060325aa8de28137397396550740eca69f7941 GIT binary patch literal 3872 zcmZQzU|{&FGx2p~na{Gwv(eQ*C9jp9>kwg^GtVUO^5O+gCWqcQ3sfTfFl?!AL*3^E zo||J9Gk@D>SjKT^<)(*?XG|62CNB7TSc7%1weqGzXIAT8*mLKT^x5xSho5T%**Q#% z+3~P>L0->FpcxEFi%x2QXdqw&5i3;AO6-|i%I2#%D>{1366?dO^o=qtL~VQYXKy{7 z`@tBf#NmKpxN7AdGjRvEY-W+5%iEXy*)vtTO8)=yi4jwsTjCPd$@1Rdd}=aVY}HTB z{o*Iw`@8zJ*sr+;{mBphll0~+zY6zN{&b_!Rc)|HRq%mnF*hxR_?Is0q2JR*n6zi>9TPj9Ee!|%>C9APJ^A^|<)~K1s7up% zX7fMX+AXiX(B$Vj{Zk3gwv@H6{IjL}|2YfY`2{zV%)@&$OmupGequ=Z_ct{trh!ZL z^qj;NWrx|TA5^y6(1H!&~} ziYuTxW*}w)sXrOXrgp(nB%t|#x?S+=LvKRwt(|^L{)_R;l>5HwyvW5FUHJ?lMIo2%9?XGhw2^fX zeagrmrIeIk?5?8jB)KQ?Yr^3hE9H*tJYV&TK@X@-+@tITOgR(SEx`1!Gu=|iN>6CZ z*ER7oW;`|Q@^Eit+xhf|dmj6wG>4E&W!n{496$O5Ynq%{?>Z?x!8$)J##=%4pS+M~ zqVLfO3an5!I26lFHuC)DtIzuD;hKwQ9{sTY{7CI#Rkd*Pzq?1DDWsL^yke~mciphv zCE_IiI^huA_B}=UsanQUX72f*^nTMM9-za(;b-{Tk$J`j#WT}bRI^{Hd`scvc2?^2 zQOfhoJ9*M{g0LY_T?&JM*l7j^jSL_gCH#^WoeF@8aTXL8SQ#6em>K~Epki=3#Xs;V zQ+XWUv1(7H9rvz!rpymGeBaL^#A=_!l+XK`eSr#@0z!iVd|W|VARztJwd9Ife5Jix zf92~7JLoT3s z;BeXAw?aEzRd&Kl@ySencK><5oHq;bTjI0)RHn4y^sB+_;B+P05(!j~945$YhQnTl z*X=C?Zr@{`@Q z-BWfJeLN(`ar1m#!O!y>+m`02DAjHcS{t{v^|TqARWh@;%W{L4`_{iYBmD7t_)FiH zvX#$DH=m!x2{em&=edcWzT5PKcqlI9FyPTzbl=T!O=xZ1u}RkL$vOFdPJnF$#VrJ& zxEm@43I}Ee(cEKDKH|J+%)}0kfqCmwPfZ1gNl09H176+mDoe1-rrx;q1Vm>f^BI29qIsr)! zvLCRxpW%YDonh6}XA_QhhnzX#8)1JYa$$Qw=#Mil>ukm5?NCXA>QDI(1VA>-2u2|H zA5;#OE>Bt=`+lpBrJ?seug1Er&(a#v^z$V zt7Ud40JmKZl_ kt!#qDJBGbT0!U1f-2@LqkWQl8iAer{+X!S}a|lcx0Mn?3@Bjb+ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410139 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410139 new file mode 100644 index 0000000000000000000000000000000000000000..7739ed9f6fb0a90175fe073aaa019799595cf3aa GIT binary patch literal 4904 zcmZQzU|>i;>Uz{_X^P(UtdeUsx*CPEm#=JO%Gh)*XUpQNjH_kVzxI!*SLN!Q_&4Hvi`R<>OOpcJ zKOgAdG-(>p42GmdC-p!y5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^kiE;n$(u=?<)En7%xN#LuUWbD`yOHazQ@Pg?n`a*?JMi&`*DBDpC$MIFK&MK zW>Nnld5L|s8-MAY?AR=!c;`+p*LU8U*gWmV2GRaVj@$`Ow;#>C5?mj!L z*k0;@SP*auB$~qDY-u?7PiLkY>&eewE=RR8MqQfD zGn@b6)^2(Ag(g4O>7Pn?wxz6n<)1C(|Ibdg>Nc~|i!|V1I0=MrmPx!}G8~1mvLT$wKSGCRS`2}ZbSN)&D!0+S$41*}3 zQgEDs^Z)@eo8i5f`p^Gg9pYkdNB@q^X;N>`I^H29E9t1){8yA+Rpbgt1Jkb$4Iml_ z7{TTO<5udK)V|=YdJ`7Ze=)C4=lP}5zT?o3pcn5Ovu5c@7WjU4i!YzlbI!GULPEWg zhtmtz?f1iGuTpD2Q6eTN_h~5y+z&Rg4x&#P`JvBz{ded}F2Dk)7wO zelh3~1(QzcTLjOGGEdV6v`;gBA5E*sQTizJIa#Jt~~GnIb8N^Du@CBMzFa+ zKlsMSaep+<&)Zr4E5{*YR>lN3{*C`Gsy9}o3iK}fd2N$(t-!fkjmO%2_3ezOT#s#Z z`nEKnYh#%E35k<0d8G}Rfo6f@;nX+Qux`;V#bW83h2k&&GkSa7N!jhT?83c68vc7) zy{0lSaPMGX)@oy5E{y}(4{`(+05T5*cp(%6QwaAHFq5$PU}a2ZcJ&|z$b81oU>9c) zheLLr!i6r^!lIIPcP2e;@bC0VVm$Jh?Uf_GtwynY}~{&hxb$d?Wo%mc_23M z-o5n{DZV#?=z&Avc|OaY-m z0Y0uEEfA1?>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgL8@54K7^`fV1&BW zq3oLXjH7|8PCr;^l{o9%$y<&kK3iU&i`#JQmQ$2+_?Fdid+lzBwfFvhxaHc*S`{88 zRl^5M)(4xuzb$>o=5^6qP`I#!+(^4T(}k@mB&jWUM{KOlovjIng!ZZbVX&>=a5z@v zBg9fho&P`pWW&=vkoynnAYL47P?$3V%QR59fdMgjV{ux=R%rf<1#04iY6VkB5rV{o zs{qF_oCk9&)P7){2+KE&pt=U8jyN}!chcBRAh*N9Yp}VElJEkRq11>&aF`&qYrxT` zfB0I4-OqQ?TZ zpg4r*8xsAFVLy@p5|a$Kk?1C^l})gC$FLVk0EtPmn?UIn9!^BJ#gO#CZ3Hr~IYi;S znU~}Fgoz)y)^v+xhp9b&QewE4v02D(3Cn&PjxXSL4p1ved6Hn;8E7E5&4`qb3Ahs_ zEfZ&c3M_7rjRv!^gag(*NdtQ*@dt*pkpz&KaPLx-CrR`>hW$taNK7)^hLo0xag)@g z5*cV&jA1X501}gAH=*Q7qWgGA{(##EWMFd$=WEvGKQ3F9ccjKHjbT=dkrry(cVQ!6 z()zaC&EF;n u3S4OoTu%er0UA)1DCwU_H`UPCO<42(AaNTd;RWgwQ6mn~>u`9agBSqgKx|?F literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410140 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410140 new file mode 100644 index 0000000000000000000000000000000000000000..66e0dfc0369d1bfa2579cb6a669742629285c291 GIT binary patch literal 3920 zcmZQzU|LYm9?P;U*0}R2 zWz#9m&?zgXXYDohV^8jSRv*uBtV=HABg-kx7Y$c4_jj-LF8*3&o+y8~aQ1ZL$>rM` zd{u7?9od(oUBu;d?Oeh)@1Wn`UX-1XU3}~9q4IU}WUK!(h_=M=KG?Q-c?!tI%*W5M zy@~*_Am9{8G=;&(+W|yx^K>np{`Sj)Nqe^5F|pIx(s1yf&P+Adlb^p_j%sC$x-^|< zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lqgty0LO%qf&CopB>K~OSfk3uHW>* zv`)NpV*fq!1A14_r0rnebWf3M%7gHpPQ`{hc}L$i=5PSb0{b^lc>0>EIjX+6?T)hKvnvlgp#F^p*$r|46db!|{VJ=3&?3wfq|oKdX@6aX8}TSKD7(;ve{wsXUJFShc6pj(b--Re;H z;aUIes>g8$8njbb6V=UFCtVX_W?H&8eaeZ0mcI(F=3l=4#iHulqWjERRkzf4lq$16 z&)`_0lk@k&X`ZS+OKzZf%!hl>u1~R4bUmVhJOtJb|ep&is@)B$yBK z1I!<^w1*OZU<3=201^`xN{}=U=RwLYP?&@LhgPS6$~90NlIwR2`;i2Ym~hvC^CO&x z&ut{SN$OIG3^d*`>_rklV!~ZPtefCr2+~P(nTF&KxQ##tHiyV+RNUOtl*D@RX{UI^ zZI=(#vFA^&m=ckL0Er2g#uav8`+;dq52_L+{S)aX2^zZzV*YGri?nmT=j%)|a f1?cK=hY3<0M24GC>_*}sF=0-^nb)wEB_Le@D*BEq literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410141 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410141 new file mode 100644 index 0000000000000000000000000000000000000000..deec866524beb14762b4edb39efee5a6d32790db GIT binary patch literal 3840 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410143 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410143 new file mode 100644 index 0000000000000000000000000000000000000000..6f048fd6d54030cfa93c96546b85eb6428842523 GIT binary patch literal 5956 zcmd5=3pABk6#kJs$|JcRc|}MiO=!B|a&ZfhZibZ9l&<6zQCE>d9^=srU3sLJv0~6F zuiI*}XP+GiY#ri5zb0=$ES8^8p1>Na-i%RWs%BdD0GF$Seg}Pq#f5zDL%|9+Ytna0{{`)ka zYos#w&1XCeGPAvINa=BM6QnO}=npnDHPV>w(Gn0cr>yp2folKT!)qu*GLaWD|J?K& zr8_uV^1FPc()Y7or42e~vk+aGA9a5_H{WpeuYEp+`9^&vU7HLnOdhE$>7Y4K+p?5) zHEFhTy0&OP(+y)S&xumgDXd0F(ceq8T`bLGK*S=q>!$blL2iU<;3xxeu&2WIqTR~9 z=`Y`$IeLx#*w|dZETVEqKT}tf)Bon4Ta1t!H+^Q7OglSKV}7>ryYowGw!SE1#^rw~ z3mL8>FFqak&||r4lAf{tk#~P1jG>R7PVNzsYJZ&A7Cn!e)fD`2r%VW~{ekC;0sFzU_y}3#R|xYf}b#yUmws?|FNU+UDxWWq?aFV z`sD02>R`nyFY#(?q^c)L-bQ4ssK^Y>2q4M=KQwNj9ZPT=os$i3@YN?9*+v;est*+0 zm2b#M2tb^JobQ>d`^T+)ZAVR~H$7EdQGTvSnKDeqjYA zAg5@{?83!`Q7j-IR9-(_l_$p-JQ%F)FLH`I+bPjiopEwSOKGQ?A%&Y%XXewnr6QQCc!&9T=GO*Up&$80tU9+I7!` zL$*j)huLXee$r^iI8DFV>PU7rDOXDEFF(8n5sEznT*F3$2dse3DF1=;umy}wd+cbf zU|iw&~3rB&StQtu%)vd%?U6#dDS#+-*;Sk?-BN3fC0-*d{xaJa&O2^ zS+ddjg_$``{XkAB=m5M9P!dA-2V!CxVa5y4zWOmdKlhy{*V;FK!=2rF-sgR*)@N}l zeVy%=T@P2~Z7NmWu+uRxnrwJo!<%)H^HiN>Y7)Atg>zaOtcLn>X|JV7Mv-Q1+B6;C z9_@b_5;Lr|;vKYh+3n(RmL<<#3gj4wtim4%qUR6zF}|#U=Ms)d1O^A17y()VI)HFF zLH#F8cX6UStQ=8>{{r|0K{C=JFbyFLD^(?}-o5eLI$o$>xu&9H>koH@9p}nM(@(2A zTy3{d`{n)%UfoCAkd#{#E89)~CW=eD1;srmGdEQ*;Uy>X_DRx+ffNliRG4QTx)diV19jyL3GVK{Ss+`w#?9*g1h+d|V3hF7_i5 z;yPWIBb3#)vS+KxMoKdssB-4yc@)FeHA&4!u0LMB7)X`VdPp`6b4x>XizQKwtatvPl9t-oSD@RZ%3@7m|&bHgJ;q~feE8a1m1D+k8YMxO|IW@)t0^ZB9=vPso58HuN4fS`!j;$fc>AFn*4x%5_B1lR z+P$UrL%)d@H)j=!%5|iXXvf)^T+528e7{Q`G1;@EUUttr)b}(L+ZSUP5Zo8m7XsZu zjEDOb0nbL5b0`ULFDdAq%q;=S!Mo5BC_yZI!i|6d0?VI9&jG&&Z9~HBgZwbZ=7iw$ z8siZGF*!~#CWsyP*Vl&aOZ;U8_Vs_n5cLV6HblcWOFlh0Zw76SDTli*ICYV(x3pNT zjr!J1pKvh??Sje&Sd7uC4Db`>%%~jw>^+Lt9E7~a?4Zp!Mn?Hhu=P7n;CV}28}j3< zKW^?!ft@ee$0x7}0|b`8Tev48;b(bl9zb0<2V=-TH8W>h%&V-v-2?0tbMB+eS> ze^Op@z9wj%Tb3%DEg58-ZnYw}O5d+x>wSh^9JcD%9EG*b*c|28HUhktAYvC<=-9gn zd=G)|*L)%*CV}NoPqaVO{zSEnV3;2ArWn(>Ir^1g8 z!&^dP5?Fk8+i$NvDpm4Uwi literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410144 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410144 new file mode 100644 index 0000000000000000000000000000000000000000..274e307471fe8942426c1c2f66e747afbe706cba GIT binary patch literal 6076 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410147 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410147 new file mode 100644 index 0000000000000000000000000000000000000000..c44c89216e4087b4a224d0df2ca693207b8f22a0 GIT binary patch literal 2836 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 H4D%xZC=<}> literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410149 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410149 new file mode 100644 index 0000000000000000000000000000000000000000..9b72a5073027afd6e005d270ad86d247e6976054 GIT binary patch literal 2740 zcmZQzU|_hE`EL6}?|?=Jx3z!zCOu~2edf@z-nn*BW=Y~bQT1>Gpc3I#7mi2;-%@>d zkX8Ijh`n1M^HcT3uh@3}Z(4QAp5OQLgH1B}{+V+;tHor^&OJBpx?>cw+%HC-X`X1~ z&D7k0v__yA3`vVlCV^-mU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qzLMnY_7eOrmtx0@|87D6kE&OKbC^4xvx6SwK1ToV(Q*snEqiuX8c?GrEcdws`( z0u|MOu!SGu&eR{CA=>?dg^Q``;OBWW#lv&5nPXGFoSXA`j`#7aEoCoe9^J*b>h=BP zKD)VX$+zvBpRPLb@%05mo7Dn0!?ooOn%13&^7Y-f?Z9pZ(Uw%+2irC;PXW1@`S`i) z11umG1e^kirZD(;JAmkIp01_S-+oyzY0uU>CU!bo8V>%`nW@Hl^7EI=QLT(om!|W~ z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q@4P|UFRUtILl#1j(y2~l=mwO&|0d=YUx=U4rd^!e>q%&qriFz`D$0K)*}PjH+8 zX%IkWGd#_3JyE#%LfGEO((wGB3m4o|{;(!GdHutb?ANyE`K<~-8f4F=f+!GR1e*(t zTYlzCO13vSt{sw?I7|7`nRB~O%0JD#|2o*zWc%KzF3pOMjHep5`j@OK$l!9>X|kok z>%;eqlNDTBWbKwLd}C|I1vCrf4~ELCGkE6?sZozF?&`2>D|Q!QJ$BlWp-YD0kVhb*M|lW4Frr} zbAf)C|6%Is!_w~qgaxOcIyN!%+SBv4LRuEzZGu)ss!D~vRpd0dEbOhDrn~v)mgcaz zpZI3qIVNBPJj6}rF9d&3Y~Y}VmUiAx;=QAui2{Z zghdY)fGh<20n9)Rdx#J?9GIc;1QsF~CO}o-IDy11)EESX62TB*Mo?aWsUXVyeM$$A z-2~GMqOq6{OOqgf(9#}C{DI+YBmpEQ+^6953FiR|5HK6+KeX}?Bu9zgG3-YYKw`pO zL%iEaj1Q^9M%c;>u*FCYL1L2ZCI;j*LUi6m@(0{TAOo92eqEHkC4J$mu(-gckaCZD z)1LkEic(8&pOuw)B-bVr$PLyHDjOjHn-QS!Mah!{%UT8oagQ=!QA1{)B+C5sr4;8$ z8rXx9CrLCPBkYj`keJYzg4P*u9*KE!(6|jLEfeD=tyvDRc*h76BmpEQJcNiXCs6Vv S(QN`Gf52@7GO#%WCJzA3=EgGs literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410150 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410150 new file mode 100644 index 0000000000000000000000000000000000000000..dd817ebc55695bce5c47b997cfeedcdf80ee72ac GIT binary patch literal 6080 zcmd5=2{@J68$TD>O4Ln^lr4X2WzS#ff4kOeOCqEh+f|kb;)mzkg~a|BWAiqRU8(ZkL84v_odD^86m}D!)CW zcQ{I#(UoWHwrIQSukn?PX6x|6UeP7bs(w)EkGsxLQ8wIFYr7=WbWuRA>@~`9OE%F7JlyIppu_6T;FpQ-sA9P$Y*1G4&u)&69F)9mxHB~1^=Z3H znl!nHJcBUauAz0M#j?!{fq3*bk>5(L6fhBD-r7dLn-z#-Q$3nx0xL@z8mF^$d|sw# z7wd?OQjX5hrB(HAeZ_kZUl=V8nP}8skrmYLvD)#dvW|Mf&>w&~KIUb&HBxwK!zuS@ z1zKj??sjj{5aX@~UVT5v$LFNKjM}5MXk%TfV!d{&s$;yod5?fgPYD|n0Mq3P%FTg) zJV?IR+vN7nE6tm)IR`ri4&`KbD7?Ao;#t(i^m}30Bx(=@MCmjb11~6ws$b;^_NGHyRc3OvJaBGCwmg4u<+bxl|mR$v*+ z+vL4{N8;j#1r=lT!nn6eTSc`NO7^8(-V`{Ys+4xr!XpbvomR`LVToP3GpbWKTCF~$ z9Kf^IXFjxrtwHm}dfpTNmAjL{r|9>5`5;qhu95tAR`LOifVw)}B&sHqV*;_o4FD(y zAph`>Lms*HN$>&92?gyAGSJr6(br|aCFHP?xnW~3Pslg(Yr+}wWgV>yW|nPLr;Wb7 z!F9>Bx7QC@Llqud2RmCU6Sgw?-Cp138G3SlZ~|*MaAoQiLDTv@`Y%Gf#q_l=seYf= z_7=%dG*_Sj5e3IeGoXjtel=32;UF>R9o24cY^PC;>C#Z~eX77S{!F5Z_7bBjLLTDM z$NJXYx|X~}(V@Qk7k@9qG4*Fo2|mMBfAT?FSX|;WUf8crPJLo@p6X_w^eclZEPvKB z_tb(N^w!_b##&Vapd<#UHr{};c|Y=xKoA7?Y82$roFIyerj7;*3n7Dz1BUlQUfLR} zI0_x`q?G+f#jqx|&*0p}+7n_=n>zEoA3}Ma_4d}zc90>6o0v!jNk!uF6gEykvzfSg z-m~Jl_|aiGzKg6!GQDzLE1hTuC35!jYxZ1-?OI;0M!6Szx8D00?Lo$$N#HWe9IcDr%qx;79Dh2DQ{y2JBD=jMCz@=#D zK|`Kzu}R`{*%InKOlXFDI@6snbIIFiuhYiM4wO4re7$k}PON;bWJGf#pRD?!jLkbA z8r9-HDeQc}9#GTP?zeIHc#Br>mBOvr!^E?#u6ejrws>EuzJGAIP?Vf!Jh^@NCx`(J{8r?-x{q~0}+ZduC|mgqg_ zpjh#u(c13@e%7Hg9g`<;z!9s1Y4ri%N3xqtuylfk5ruu8#}0Q!@olJi*l{HEtlsm8 zKVG#&iq9Kpkp8)~AN-VCz7p<2oG2Iu0B9>2507c3Rmw)O`tH5e4e<`o@fN;Xmr*4L z0*<$}NxJ^oKS@BR62wo^lgmape){dY+C=(q#IK4%3mr?(vcn6{erNm{On;sL327VA zr}&u?4)x{{x@aVvOlCO}Y?7ip?_GTn18rFW8BcBm~)9KZk91kS)*SFw$F(dy3@@> z4yUY9l~}>R_9Go7_1_2P*Y@Zw+Y#e+c6UdlpwUnYqe7@$1gq?^N zC*NNPw$F)|8(h~+fK-(h4em>1m$1n(Ntz(BoYx<#QOrNAQ4d^lQp~x- zr1^N3F(K?kyf`)bg<$)fc)gz!a#BAfhws-Y(k1sn%oZ2%;{KbLD69W}`;zfa>akq- ag>}uTq1lTGsW<%tOyu>=RGx?^g8u;x&z3d- literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410151 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410151 new file mode 100644 index 0000000000000000000000000000000000000000..a4b517604d35ff2c52ea37a1a74d0edb26135864 GIT binary patch literal 4792 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410154 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410154 new file mode 100644 index 0000000000000000000000000000000000000000..48bd4f030a2cd5bb77ac66b7785b216853ce82a1 GIT binary patch literal 5892 zcmZQzU|?`lwdYtX&{?^m;P;lh2me%l-`f92g6C|P&zqNF|!I4brtsJELw48(@!r} zH|tPii!H_EgSwe8WLz4dhN z2Vx6qR7m$|Ln}1suh2%(^q~j4LizviTm7}`5Lbk^-9|2F4+C_nV_7d z<~?7YgB*v_EVs;Qm(Kqvo2Pe-w@Fm?MDX7lU*(jwM?x1eh_+<$KG?Q-c?!tI%*W4V zpF9C#LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)`7AZ7xom$h%szrP~(jNJ#G$k4o{Hy5(6Z*(c%w>Sl{|3^S%RAo&5s?Z7lS6XYl$fQf_5W$EMQ zmp<-1`0LjDmwgJ}LfO{nzHiTs-o1Csb%Cn(xx5l}2dO5)9gG34V5JOaJcZJ1 zL?`C{*&4;Ly2wfMqRgtqpZJauOKx_xQ734=!+(WV*&@ghi&>dT#;Z$P( zYqehHr&&2+>~|yl53iV@XI`?oOL{xgnhAGqzTN$3(J#f1&Ku@!pZHd)aj#?=b3l%r0E1pFxV4lA>T57@=-;IJ0)a`$YREAL?V9_8v58n=sorzsK#;tA&%fA6fZ2 zdWLPAmf4l`wza4z?U4Lcwt$2G4RtquT$#G|(w=);w(WijN>AW$xv1Gauket<3^UP# zR<&9jNh`!8k3@Sp+`F1<>8w}&dlfO|#?C0~H$j1i5_r4~Pn~)#wtV?Vp>92nx4Szl z+;;IVKG6a8!>uG+`LMGvG6e498o!){TGv%mcN;Kr{Faw&^*?So%^Kz_Z9rwx0X$o z_1V5G&ddV`RumO`OSxW=`0sHy8ER+Be;@#|Ve!Qa|qSgyoF`NZTIagWTJ z5@`ON3f2$P45VR}pfceKz~K((f$RnWsQtja?*f%$1d3%r*~Gd@fW~eDxg8c>gUxM} zgcqm`hQtFr@L?g39G!46TyY2v6QuSLScA)zUE6l8bKl;_t@N9{a%cDawKpv|`V7)} zb>_4$*m5@lYASjfWyF$3LG?En5K*2nu&=)n11-}Efto;V1vnrxje_k5`mY>n5K5R6 z=cemFXzV7eX>^ddjgs&J)l1ZfL#%1^_`NON2APa1xg{YYQz}#M-0hpQtjoCItLKcn zuTGa|zJ|s(sGSS~u;c@7V*&Z%9%awxfMpQn13aw~Y}bMHzW|kia6M47z!c0fBr%k5 zB+h)G`-nFmYZ{_~J(TzZBUq3GkeKjLBeu)}>16?8P@M=b<4N>8hW$taNKBI52KNII z?g65Mh4B^y5F%Nid&b-J|^muS|uC zyW$W1|Hj(!$X|l7?x5hM4aVgYHdH0|!usIoc@pMj5Df}1P&mNz6~TTYg?W)U^C{1Z zG_VIHK1nnmBY7YRATi-l15d|L5m*}#y=(^Q1<9f0#X;jXr1VdWo3vIo!OCEaFhLSP zVv-zQpgIIzW)VG}fusj+Bang3AyYqZik|V>^)El0ek1`TCK+x+O3TE!N$OIG477g0uop=HiAl1XQ1T?vV+Bb5fZGUU JU~>pe9sp+yX3GEo literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410155 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410155 new file mode 100644 index 0000000000000000000000000000000000000000..d06d5a64af06742268f113bfef33aba8a3493082 GIT binary patch literal 5128 zcmZQzU|_Jg_e*v~)Skqek1j#R{%_|bwj~yrxu4m$-9A6_-p#xupb}v>ReO%L0-co` z3Vv_7d+<-?_pSYZBzVqtNj~a}5kBjEKTVk3)U3;0zI1<#`T4y| zbWAteEk6h}gCS|r$z~7@1dJf!YEkCRq=4_9x$Ltay)YFrd;kB%;zEu357}t|T>u&d_*fte~pJYj=LB)rUPh_d6}-TXyd5?Xmg(H&;0HWr|E@5N*lkeXwow@)VGZnU9~# zKBE9)LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xozo^+guket<3^UP#R<&9jNh`!8k3@Sp+`F1<>8w}&dldt}lLIgeGGXdL zdVl~Ff8aPIsGos>4Wu^M)fuFZVP}-}o1nl$2|V70r%t^VTfY3GP`4h(+ufZNZoBvw zpXgxNxM+{wQLs`F!3cH(FdgLdDaa{0P5CFaW_P^1z=sD<^ZNe!Ufj_Tk#TOqm6s1E zo?j?YP`$BKcYaU%*Xev2yxPmEzNI$EE%K~-@!$yi4_=^IVE^u|k=#*hugaae`}-8j z8n%N|QjR$`XxN{B9N@L=!I%D2sDHCSc7q%M1;}iM=*v52|2=oRf0}fOj4ubH=Hdj; z(^tHVeK@xi9GP9bk_)7V>DPw_m|n2CKtE{vyIq?&Ex^2H|x|6coZP|r;hcx{6w0cctVBp@tz^v8Az+9RLRF2|ykbWotnFj)( zumJ(45bh^n24V9d>doxxK@5=jjG@6U;0WfBo#(J6t96py{HW947SvolzV{Y~`2KlT z$}3vS?;Cl!gLP8LPS+3*uyJaCs{WO!mzrs<{i6r^!lIIPcP2e;@bC0VVm$J zYT6m;6ahAFVw%JIDgSoV?TI`P8~E=`o6>QK`U~e+6m*)Wg%#d#J`S~$5fUE^4t;MH z)GEs`awWu{l`>E_-e7q9eQCKEL#~<1fu>b`aW;|j&L!`3IizfG`SABJ!&|dhG9MN3 zg}hwHx658C`TH(bpn2f9H+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~L zg+V~ zL%_m#oz~37*FJ+(F|Awb08!1r2z9H&i>&igtL|-_JojO_^BdA`2sUs%8E>6p= zq_LYoZij`}U~?NK;gtyV7d7G#941I@AaL}pIvgpuWBc6)-Lv;@^sM}PJ~ik05f80^ z$9K{tEx2x1L$fDC3N-D)(hMU~dWD5KsLlcdBFYE`_Vw3)K+B0Dpe9iH0tYZlfC5NN zxHPUb3br5UzgnnDlrSgKO;c#>Cah_6khqPK@B)?f)QCf@X|&@k!=u+Nr@k6#C&}0w zyW4)2XH|`CyTws6BcbW)sLPhL47e80L48@o+P3##{dmGP=64^Sx5p%Oqg|$_A8u+ zXxreeH;8jn@eW{k)6z{?^Zp=l8%lXWqMOk3KXRm!5{J0T3s^n?n?;1%h#x0_B_zan i0kV5h$|)l31*U6w8lqj8Amwi|+=T2uYQ+;Q6d3@4RGv@( literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410156 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410156 new file mode 100644 index 0000000000000000000000000000000000000000..1f26d7652fb1d681fd4a6c66fd503329d35833fd GIT binary patch literal 3840 zcmZQzU|?u#Xm}9uHnO0?z)9lBjK^pFtHL-%ZI+ZRW|zM1x`1saP>Ha`yB&1?e_VZ_ipATeZ8Heym^A|jm>32oBpkRS@tZ~>SOz*8m*LB z;ZCdMufGJE!H~4*WCw@_0!9#VwJ7suQowi5T=v@*F+3{i`=R$&3F< zmjNnqI8=B$-e2RH)C=I(m2d5*M~8Y!1gpDe+|*O9 zFj#PBLFC6grH0%mUgqlq)SmOVK3x0xTF9pAmp1Qs|4wW$75%z@$NjwBbB|O_w*1q!3mh%7SEOh4=+)OeL@6j;P>HYbMA?4rS)S#FKF4@y_ z5?hoVW?w75nZaM~^6+}+)q`|lt7ru^jq zngtFE!`F_?Gd3umnZ}};{YvFq3MaR-Qm2nno@d_4lcp1d4T0)X7zD&lGcahBfb0ii zI7nJ_Y6Fl165}i=F0e8-HZe7a$imct=@kFKr%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q z5>r0!YxV_dVG0Nh3h;4-Xa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+= z8Kj0ODGEe^03+0`4(oZO8@GydO^{jjO{6C%>zL%M;0xbnxR)(C88hvC(E6!uW_z@X z#65ZSXH4W2pJw@TLu*L+NkNJJ<@J;H^(?>012hX9E_-VvchuUea;NV8KE<+z?ckJ@ zV~!0P_U9i5crAPIr9TxZjeymIT>%LTu%8L)XJB9hxf_-aqA%~9{rBAM{%O)BGQJ#) znu`-WPhase_Tk)8aAbDzN-lm7-^fB4PW-yKz9jVp^m>416J z91ADE*=J8S&wn+;mVL3`-S5X3)7s9rvhSXdnAlLd1!^m}Gyu67$_Ke020&rJ49qjx zFaaX`&meWFL?W$P&NZ`ZYthE zV>f}^4hyfr<~B;g3q4MdBaW0f1cwP)y$Oq7kQ}l3i}<_+OCX3mhU{KYx+XWCXcs1w zxe3{S)QTqtb(0Av8Rc}8fAQsHn7?VR7yL3M@8!8o3cF2~_)kCc<2p2$Q~m=1EFM8L zkoylR2g?`ma)gNbiGh9n^(oLgsu*YvE7UA7h2&8rCR_!2{J_!~*nV8)2$60wps|}k zZij^zJbexlx1p3HB)SRI&Y(sdqL(A!Nayr>>L41R$?dgt@d~jo&A+aHaI#$Ln7nwM zeM6*U`Rs$xl!0E?A*UT!n1kAfU_h`v2~@@O>q7&yUV-XDP{@WuMNz_!Nb_NJDZ*g5 zVHiSK(+&;np~N2;!Ga`!#Dx0|h literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410157 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410157 new file mode 100644 index 0000000000000000000000000000000000000000..5ea4663315d2dd6c7a2f9fc0ea29720a50c7ac5a GIT binary patch literal 3792 zcmZQzU|^^)w|Tp(mr--JLzRbhqTcnyq-iETEWiKVnp!qd@XZ@5pc3J>hK2_bZzBsT z44fp6%y@j(zbcGV)MiQ9Vs`24t_#>^D%ITj$-4flGtZxMf5L1TcRD6U*!rGRE|KJm z6MSwKUja0OA!*UcUJwlgj38obtiYz-wHkg`4_LV`eYkbPN&fKWPRNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFg!HQ-~Yk=xtgu2zizy8t^7x#jmUuqra+`9QTDIdC8ySk45@z2WAf4$2$ zHJ#vkJ^$#}t~m|o4zBLpo_?Y+EF$!-B2P`;v%+~b5)V0m=7Gayx~JYsPN(VOHogEQ~#x z^cv;9uR1SsaYk1@Lr77`Wjndtwy+0tU>c^@Chb11;J>=a>c`!G=Ukq~efzvF{FIL1 z9iMxde>LRh0o93nl)Zo{X9Bwgm{0f?l`H(vykY6m8vLL0Uec}fvzbfpE#Gi^TFj0( z(}VguH6v#7a=+sbUbk7H=A}>IGuPicct6gG-!Qw$;fm&75l*NZ9G1N8KQiG|;s4R~eV-T{{=VB(V7xDKlIhBC{5m{IoE%5*-^kuQQSNp3!h-_UEgSA1m6lXj z*L9CK{Y zus{Dez-!rqFa44Tm?A(;5ED3HF}MZoF{jY8~CS`-8-lR*F_%!zc4cyLoU9*I)u3KyWYYS9A zdOk)r3RZT4>SZt>rtW0=^`QaiH@F^{UJ#9JI8+=ZoQX7Fh6MAm<}Vu9Ly12yf(1zc ui3tx$Qt}Ec4nge&uvye@D}i0LanT;VqhJ=YdtqTh6MMmJH0<`m0}22d*SMSj literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410158 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410158 new file mode 100644 index 0000000000000000000000000000000000000000..170433bbf882e5855c933889f585c1faa01f82c7 GIT binary patch literal 4880 zcmZQzU|@K;`O439x2B5er?09sys67M9HFC;>B*5>ktlj~eZfz0pc3Hd}}>S9O}6?w;FaDY4NrdQd{Ch>ywbz!SjuJ5<* zSozEA={BGl3`vVlP6E+Dzz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}ITpsMN5bnDObj`@`hh)9am|)eTV0QfEGB6mm%o})@jN@Q;K>WA*}tttMXXv0a$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkHKLKau=bv z0xDqvVkVHx|ZfZ(jWCjsw++dz8I^DQ5z^1(+VL&UoznG-ah{ zlIeX@hK3&=wNgH}Sj%4(*yi*eIqkE5+0VD9F7ItWcv1Vq)1R-s$`5aL|MEXLH>d5( zC-J8Zp6ghkZg4n$`10zO6Hz9L%X7ZFoNsVX(OumAr=lq2-eHFhz5o99-%pD~m7O+_ zd4Bhuj)UZJwfh@nx}1-B${55gI(dHURA!*Vz~MKwHfi^91^?AWRzL3kJLmE=?%U^e z;iq&2@A%xy{Hq~14;+4?ExADT$YF=fX2>;pK3^mIwoajtc(BXGDo1|KS=&7;N_~&W ze{O2t@TD9S2(o8WK@Q$Fu&_GMsfTL83nD+AMaH<0~63!vUxUqz|l@pnXtvFKsWEzX`C_4Cky%X53+~ zX?tw)GpnU*j?WNya{m6Zj2l4nm>feqU4noN7)U>LExBSAUuo~wU-^2Iqd447l~}wk z&k(RMUZ*v4@wLxDbrMB2w_wT{!Ttk=<-B>0Cpfn?sR~>?lrrV`!N4geYQ7xI{c@;i z=e})T>5HqMiTm4qnN!Yk#lE(wZ!U`E z;JA@#kul*tpUbl-{y!)7=&=8hyl!1r{-gVlr;0}){$rZH=(8qhdUx&?&h7HH~If{^Hzr|J;t3&ufmmC|rJ! z=yv>3^P^)fp9_zcb7pNVN0+1pOi3wK%3I}8W zs|(T7C`d0z4pi^J%RqwtfpzybaWD&s0`+YGCfNzd7J=AU9E9R`BFvw)zekG{^Fj4I zyxt_bpMs3z7g56Yf)T@(Mhy zk?3~}`;i2Ym}IyODJ>J@CaslCuz1I?7fAq#NwS+z@+8syWh8&VZ3Hr~IRqvT0Mtyg AApigX literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410159 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410159 new file mode 100644 index 0000000000000000000000000000000000000000..e583cbc5282ff43145c7a0c38f15dd47f1770411 GIT binary patch literal 4704 zcmZQzU|{f4SY^o~y0x@Id7aSTpStDEGFF?5T^D}Nf2299U;NQ@pc3Jio3H##cWbJc ze)_6P!<)LC!x1_fnVuZE6^Wu(*BAU0=bW?sc;E4@%8CD`Pf(w_#=B?zypM<8W?x>r z#N<`5&E*Y1GZ>N|;_}Zk#2Gk@Q{@%D*O>?({1a!SYFb#fr%kX@^7^BX7r$5QyZQhA z@@4nD>+jEL`Tv=EQODZeu77){52LS)0L#Mjc>(XGR+ck}w&e3Z*tU6j3dqIG$IoS7 zoB?7%z$uVu3WJZg1BlLDaG|B)o5Ts*!iv22bA#3yIw;mJwyI=)_|tCt7KIB!(|Km| zKit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsxFc69> zpgI;HW&)`f>y@nklX2e6hHF{HX|In@E?91G+`cx_I-@n=n-~AO;|%;x4!|(T11bf_ z8AuNhAhQ`}_BOAXBdTz>TWF6VF(f{)4q_6fzG+CKSrq!+4k*L`|OW5S{ zN{j6RHfsyqrZe|HcwKnuZw3d@EU+I^`~#mdmB;ZNtM*jdaqp^U%KU)C_x&tFtoBJv z`Mj^$mw~Zu0npm53{2nMLG}YN901egMj(gfj-Rub$pOE6PcB}R)T@%tkttTOZTXn# zerZ>Ymz%;22cQ~|KCoVb_CeLXw7p#ZCcsuRoU<;OafiL8?Xk(vtd_1hK11Ni`TNT< zZUD_=at!fw2?8=;ApO*}L%_m#oz~37*FFQ)Nfg!G zf+=SN`wtkF`Ku>!ZVT=W@eH3=YQBAoTu14P@V~9~&)=Op@Ly!7oy%eQdfOwapTB+T z-tzIUrr?C1(Y8Nw1@Cd5h)TV-Q^)}1FK}2IzIJ4uu|e_7G#1tDS1R99IJupbI(?M# zJo8STG@T%92vnECARu;{fkC4j$VLmxQ~RM}oCU=NR>sCA2B1s~6@$}6gdbBtXi$KU zD_Ad>AR=5C7-mdsfa+j`y49iBt&Zih@sl^*#h1j7U98*Xxo`gT%N`LL#XlGBEc)?H z-z$&#Ui8$3ZVt153s)KKnj(8Lbb{Yfa$@qy8SV!wHr-vZLugHjyjRt=CB;9cUUHHX;kDYzqEbrU=cK{|=97pP4`jW`5{2~v3hj!M6ie39WZO{DWp@BUp>3~G@F`SJgfW(CR z3Rhl6PX{2q7;T$D<2Ix=0Wofpx>OZE<^TWy literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410160 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410160 new file mode 100644 index 0000000000000000000000000000000000000000..8b32cf95c6b7f81b937d581cda502a0914dc7dfc GIT binary patch literal 4640 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410162 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410162 new file mode 100644 index 0000000000000000000000000000000000000000..b34663554dec88de6a3edb0da3d911288e831935 GIT binary patch literal 7172 zcmd5=3piET7vI+-gh*afO}J$uZ|*ILi6UvdRfI}hAwwB-J(30!C4Y}wLZTQdswuiM zdcToJDGJjF)#zQ4%22cSan9}VSFWi$pZ$IJo_+RSd#&GI>vz^!`v3rdKzU+zb->$k zdJD=l#g?v2e&YL#t=G*;d)VcDyKDRnV<<8~U{9&5>w(L5mVIuMoLr?@e5={xPCCC4 zpEP#7{>I=i$tjTnVt3S}SarE9n<+a@a}QUYH#FB0+L0Xo4ORENi!;;#+;b}Sp(|_@ z^v7NoZv?GH-#CD#&X>!heE#J7ql?;xzxe)n;%mS z`0bkU`iO=a&A*{s+uu*vWm@%9#f6${)~|h*s2{ERZtZmehh|#wS8f5^>AB@q}Z_l-uP2KY4 zMgbxI&v)A&)-hI!%ryw*Z+-Xu@neeDq;`t!l4xbeD@@-@dv{o?((S>q^|1$fk1;>g z=xb!JYjmIGxJ`wop75>{Fy8lh+PiKV`|Z`tRWVbIcQphydP^`(TW@(jD4=fLyW>ez zkgl{{1xvY7uYQK(R_elbA(!@&eoQc)!^8^83Bn&AlGk}`!k>0TsVY@K+4s@3Zia~H zeCifUs=tMQMFl-+f({g607==a0H}n)J{C8$4mJ0j${KhR+Hr{yr42j|1r~BQeW@zjP%@wSC~**>Lz>z1;=U(Tztek>_p@5B~H9pF|};+ zlDq97WtLt*5F=uZl3i@A^n*0ew=HkKW3*cN?DLU{*{r6>2+1@-nvmCqmvWvWP#@-( zVKGxS?}6K71HLzl;F>{xsW=D61Wsi>ol} zapOyhjs_u4!DC{qbyrQgn*Z-dmI4t~j{C9{EO#?iSC1>3(!|tW87F+HA^lL370u%Z z*TlFNYv}?%S9Yh*@%$^fZfV9Mtp#shW^jC&o)CR7Q-*p$%qqXBKE=9v60;?5MQmqC z1#2I3jMTLrATiGvK4)to0L=F|5VT)x&%>?E?~o1;NprlbV-sD{vi#0p^;LJx-!;g(k{pr#M^c=02AEE|9fd zZ|h4JufBUuAHTtCJ_*gsLu&I>8jNtX}2eU<|-?Nockfh=$9-HP{{rG%!bAz{l`s zYNob!|0E%YUAg1I5(iU4F}!la13q^wRijmueyqUQhrU5t{e6t5utzgh|47JplV^t4 zx+=A;-dNmcdZeIAyg6ZSzE1(oqqAq~G~r^eWvQ(}^o$qohc#Qq_y!Dkbs_mdU0#({D-4 z&9iM6Y)g4&l@z0KDlVX{yJxY>naxv(zoN`feQz66f~ z&ARQ>Z2cEO%S1&A_22o;S}J)oyTgM%H!Jk|({KNWHUt~v18nfh@gKZ>kInS+fFH&< z0Kezv{R4!4t2e~oL7{LRdUtUeVFV74x}0gk55xfC3n1*nXDtVxpun-8@IIHAZrrMWM z**9DpB2mEr8?;I09^o6F+MgA`_bK}W_Rphw`%&BLBE?8-_n+TCuk7D<68n^WP~Z|B zs^Cg9q(9v0BFx@g8xVIZE&7KwIb2*JQYL80xr&SU}9a+ zWLWc{^B|cIm`>6FsY{r{@*?L3c8Gcpvky6*iBA&T!fv_46j;h*Ohe|WQG)GD{5AO9 zK@RFjVmSC+iq;bGMRS-gF8oED@4&F%32?HIz89dpNVEZUITv;zuQ?pzoli(-g@1u* zKs-n{q%N`jPd;md;{;L+|9cMQ(mNB(^_zi@}?*^43a z%h$v-WPTYX*aqa65n>`gOJCxz!MsI0B>08Sf*2pZ_IDtROCP^SlJg7UlmEgl`8-bS knUhm_yl1j)p6(g@=JwIoWV<}y^Ji@TmwP7HW}Gzk4;QrM=Kufz literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410163 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410163 new file mode 100644 index 0000000000000000000000000000000000000000..0ce2eae329a3e39c0e2d7a62c55ec39ae1b32168 GIT binary patch literal 4696 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 J67n(3j{p}*(p~@n literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410165 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410165 new file mode 100644 index 0000000000000000000000000000000000000000..135924269df63f64a5afc8b9b8dbb94fb577ce5a GIT binary patch literal 4028 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 S)A3gb@cH+M;e!=6qe?Hh~MbfJ%fn?n&;N{h?oc z!Iu?x?%FLZE4QC^$@l8FzrLlak=jh(#drKnU0>9!)aocFck9;4Sw}Z~l|CA|zQAu; zQ^~{kR&sxVW-ufzI(Z000|6t5xLTBXGb!M^XD<8fM=wl;%-;Whae0m&+y2!Xo#e&; zq{{%6I2?HO>hhlbc~ZQ*XZ~L(cAoJ`e#<-U>t{uu-w=rT`ek+B*B$}uFE``=S@t+L z?)Q*Be`uoZyT^M=gEh5sy`C(2!^Cb~p~-UBq{Dx~A2EvyHrJ;;Tc4)wkh)LN_K$$z zPDRefoWt*X*#GrE2#mc`&@Z>|@6F<0^)@HV=UiL9WA$94iwvSI<-8BJZC;)NaxwGq za|dj>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjv0uVKd7&Rx_NlE}3zMy{7H4 z$%Q9{N)iF7S_(leSbU;D+scXp zh4DJAnTxM|1}T#$kZOP`XN0(u!C{5r<=cmsW?BA7EjqYSY5ElJNi$@Po)=t?fBWQ7 zlinxk6C58+{wC*^xi9hD`^Tj*`{D5$;-wqnG8$7ha+jrk-~*Zm4inpnM?Y3P?0l@d z{_(x7OXV&2>So=0WFxOHxz5~dZPUdx27V_8V7e%QsfW1(NQ1+Npne7hHjvt2S7)$R zLFTaePHc8wk=}94>o24}l{mV$P)m60J$9veXKV#GKVsOpXpbH+CZK>3>;_=oxc&W3 z!EZySTLHa`H{VxCZBaPp^N*2FUiVVazr6y5#thaH&4#a5an-zu;-6{XHDS(A!N&J~ z;^vjhdA{9bp2)-rG!N|G|FRE@mPfC+ z45%JC{y}UopP+sQ23DxsK@><2HxeHklM!q$(2tgHjc%{;`rAJ7;0(9qKZcq?CzWe2 zoDzCivUcaX;+zXv-;&Q?n&6OhL+Jm_SNT^PtsWUXxpl&{?6TsX8|+3WAA#&**4TJ= zXZhC!zkP#DgBe$}hP}G=v1XgunKRE=@6Woj|K)jz1Ayrq0>FL(GLhX33MXb@oP)vu z42bYE1Jkb$4aj<6dOl)dl_o0gw%|ixJ5E1+@(p-tas_ zxUOLkm+|BM0IhEtfadT(%>q*}OMo0CCR_zBzk%%sriHywl_=?xC^z{&dq871f!q!Y zFL>S@ByOW5yc&W2qDCBo!vrZmgQJr9M}*X>D?zK~Z8dnzHa}#)mohu^sRfm?`%K#H zmrF$ZK;j#tTnE*?FaQhlQkVb{bvJ|5VIx@mkC6_M1dy08({YwpVEcjo+YVKU66VCY ziQ52J?t$7Q81^CwATddH6V^03NZdwAc!B(d0+0d;i3wMNt{!)}j#?jq%_1Vah;J9d zoP=l}vcQCZG^o7-FH4B97nrW$X$akq$cc)wFrmy%D0U-pkeKigK=%W#c!FyH00qUP AaR2}S literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410168 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410168 new file mode 100644 index 0000000000000000000000000000000000000000..9080130dba6a9f7a93fc9da0e3783b8ec41e4742 GIT binary patch literal 5644 zcmZQzU|=}@O2&^@MltMg1|N%Zk=s1^1AE05`J^{o?>MCK`q$qgpc3I#za_JE!b^Gf zcq?+Y|9LjAbkPp|ciK}rYtGjNZWFk0>-zVVzm}d+IrF7$@%$#9$#3S%xfW$@h-c@S z-7nRA$X*X<21C-KlgB|c5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@OZlQ)PkvdcD&av@7)x1{odz)H#hg@M1`?W=^Ujx%YjqFbt+ z{XQgV@aKHJ_qDvGU`E0_f1gXczq2T0Nogp|4VBa?)C+215N)a8eXwow@)VGZnU9}4 z;J^c7LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xoH+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~Bg+V~lO!>U8*%zpuDIhc`z{eG=7fhs|x|Uoqi?6hI>#uyh$x$3`r%EhdmuCoA z7_ZZsx%e8$UIs=(U6=+&s9PPr&0j4Mz5Z}zSBpZ^u050aw;!B&)qCpy_uK}%?t8?n z=4M}X);4xVQTq-SS%-z}XS6@NJuNSqshF_qXx0+bP5i7t1Hs|4Db~>Eo@@DzoK*!! zLb4(m-1?@hJu@M+D1TMK+i!N!dl>kg9Dr$~6s8{P5RiYtekQ1&fq@OAHrUk}to6U_ z!=mNU>+UOc?${vrj4A93cc#)04t;Iqysz!yGlH2IHZIzucNA(1P#@S0!2F?VwB{I> z*uIG4*CIYFn78j`M{IcXww{J>J%6U`c@y~N#*Vv-Z`}*eUwHJ-qL96FxVVfa`g~Tb zJtx-S(8xZys{x)4x~9DjF`qd3uJa1vgpdihJ%zcHmLxBlBbeiK^}&)hAE3?Z0t~`_ z84QeJO)x*gTm#J4520clpmbnpVgO18;BbJ^FKsWEzX`C_4Cky%X53+~X?tw)GpnU* zj?WNya{m6Zj2l38OpYPGkwHKP3=oqBBnqS&pz0YR?qqQA(R4Z58Crbhs>P$yvq6FF zjSQz$cI|1)t?_Pr!BZf{&B7<`(W>`qW8##}+}{nZp5(r?QrcgETI47$e-prrwjpC#Oi^Ya2S zk_*d2{WFZr6O)_^O7ertZEb;a%s>nd7lLLpFo4{_U_0^X$BKuYk9F5SzPEL$yaiv~ ztb31a6FGUxziJpX_Y36H`xg_9UKNX*ltP-IiJ3>uLQ`fmrwLqIEa zAT&5`KumDBL&acWiY^XvFEcRi%b@Cr3PYw}A7r5E1=(C~kQqn6Hsci%*BVgfG z4rGJV1GV!r$k9l33aB1{0a%#O!(LE*3j;7egTjN}cGJ|);Ib1@f78{^cx4}tk0 zy-4LRk#4G?v710{hlLls{2e52qa?hVfc~OJ9HN)M;HczSKc{>8>wepXUrHGt&z`r> z(K}SCY>$xZcHhl5XFM_0Pa=0x2WHUSPV0ry<&f31x0Vi4P{(f|Me literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410169 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410169 new file mode 100644 index 0000000000000000000000000000000000000000..213099ca2621c106e5461c8f31a4d3d6d0e35145 GIT binary patch literal 5596 zcmZQzU|{&;av)MB*djIXjl5*zkhe!dK^*0Alg#N`(WGVI(NZ^mWFQSijh+lKJ6JyX{*PE(lHM zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmb6^@p4y8;M z-|5u0^Wp^thxFpx>sIF7S)@5}T7PGs;q22wB|vrJ9%V0J%9+4!0j7tvRiakRGumGW z_dJfi{k)BJRj=}EGbi5y=hB|Vv4_f1V+}tTsvS)+3g2>tX>-d97e3|<4j;68SwfrS{}XbzEbCo4RX(z!oF~4D*fQl z*H+H^+8#b5n2AC6*a2V~Duby9(x7mX&<-{-_Q)|eO$kl4^z=;6%W}@GG%B~X1UWJNN#^-WoOWb;81@PU#(|xG(K~JtX*HSKkX z`NYY0omU7agiN^YDa@s`Bze&s!5pWn50R@&POzR*Ft!?VEEdRdBz6CGt*d9vtOxvOX1{pR_gRo%Ja-SdD3)( zup!Xi6b1pY(+mt6H9$5jU4fmGwCL1Vs2C?GOpJ|9EI@@hR18k1_y;~^Dv#qkR_&>@ z-RfW|(ea9% zN!|Hjo9X%AQ(I!!Z?E#(w5Yp#_oHoFg=0fI`W(Ze1PXf-PdjL~|6Cen^)_R{RPPMI zb=slxo)lk-289dDJ&oYd)TKv{yt`rc^5e3@Om|OZUXy9weEi#Wf+2xs8(W0@b4^04d^-m~bVqat|f|svm%H2niFkHWf$? z6kerZH9&%3eZ1~o$TRgKQJ~Tdz$7~XrVmDAaS)2%i7?-G?uIT>%!m68)^F+i>9YvT@NKJz%Q` z2tf5748Xz!oDOMhFDuMaAPw^~C_LzGH%dnh%!U-t49Z=GW}(d< z#&?Pt*s_?NukT5kBJ6*V|KI(|ahDdYxC!eFru+v2SXuzlK<+Q7Ik2<>${%1rxNXlM zF5~;G2HL)F0&3!cY6VkBg)R~kt^#BqGJw_1VEci2_c&A%7N%e>k#3Tpv710{hlLls z?Keo=MoD-z1N}vfI7Bah!EtvbtK$>n=KE`|F5b%C$aMFJ`qI7bwe`)9_A_vOo^WP< z99R*sZ-ga{LfaMaFo&m6BKlek?CYJ(OKs%7j3Ub>Bc+)76ZW5reo3N(QLE<)) UG)khIKz(Lv#39x+3QdCy0M^%6X#fBK literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410170 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410170 new file mode 100644 index 0000000000000000000000000000000000000000..1fe2bf07bbc8c17acd8186d0246f79287a84a2eb GIT binary patch literal 3872 zcmZQzU|@(a=SZFXbAN08AJtW%nOn@`Ob+$;=T7)#6#4v*PP%p=P>Jv#mjjV9DZgrY z_sof?c*e}Re}dP{rwdwNB_G$l{NTN|U1WC&-_)S_AKN8;w;12g40vU!fBIeieepIC zfBV;u@@jx)FeEKHc@abd0V9am8Y{4Acddrs)dN=UOCN5XaFRc~In-U|NI>QEBs@Ueb(`aklDeX62H7%aBug;+xyn8YPV6Y6bk?R_p?*8#78Tx zj3Xw#e1RWb-+OaU-LL=T^xTh3D+{lBnjg5pB zoF{--5O4}4n!@1Y?Es>47hGs*_$G0}wy+}a{oJ5+h7OALi>)e|AO5u4zD41J&~%>J z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE}5h?zj@YgNy#{(g5O_h$Ch)6BB15@$2(^?dmC@$^>NgpW=WEln8sog5gr6;}b3 zP6lFdya8!+01^kw3DjQ9*0C`5Xwqwx`@ZVD$i*35`3xaNA(!psa@)cl%zlEucDakFpmq@FH7YNQRB_UGN&x7646iOrRX?k0lWXLb8bcZ&Vh__`qV`Tn0rcJt`i zsH&Y;OJj$+!67Q^<&S3`rq-(-bMFq6U8>NLsO}&6HGhBZ-y_>{P3$jBTDi2*;?eqx zIzGfDglR|XiFt5e4rje3CG)OB2oi#xIf!1*{NN>YR-GPoj!N`>;D8U+u7k> zV5F7<(j$8|6{?ki5o|6nEZzs3G;VkokT>yjeBEU3nKO-+JqRokef)ma=VzQt=07-o z@>a);ddBJw{U*s9HuFx1YOBA@a@_CqnTO+5uk@5x>_7v-elUFP$UI|%;+bhIs@bnp zzNK(-J1ceiDCK$PojhqeLD&$eE`>or>@)*|MlFzy;`XFPr+z}kI17pktc;CKER28x zP%${2;ve{wsXUJFShc6pj(b-Uzw-4aM{&5FDzSK7o*`giyiRN8;%lG5s%A`UfGTH%y49iURrQ)smhyJ~ zWoiohnk(*}SH8Mr?uyMRSy%2RE>_QCme0w%b@^0obJn`MCvWnWmMnCs>G;1@(qZ?TlHLBng%xs8(W0+pF404d^-m~bWF{0Qg4;}8-iX!R$k34CT$ zr~4U>YQ0EWm6*HcmU7XXd%tfB%jZ1MFzkL0Er2g#+3%Z_5;(v8K_E>xFOC>m)FqP zO(3_!!V6x;3=+3d5?-Ksj~a0Z4ilt&435gMu4`W_n&(HadnY9qccokGkxRqHh1Y`< z6o1{&&YCt|46F!L2SWg^G=owW5Nwyg+E+;B2h@Bpg~bw-@FULr=W~$DCj#bUO*=HO zhZ28a1PhV?5)sW*sjKO^}AZX=L^%^@&(0ND_(r~m)} literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410171 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410171 new file mode 100644 index 0000000000000000000000000000000000000000..dec380bbb7f39b510a9c1b29bace4c792adc7def GIT binary patch literal 4904 zcmZQzU|>jC?G-oc!QP%7t5>oW-*Z|qsZ4H#rpDV}nlt3STRL(20F?+wm~*7g{<*(3 z|Bvdb(9A97aVCfQ`*SD!GKzfuM<-o7a7l}IWMj{7mIpnv3g52XoNg($a>54X=`orw z9cFe`-$)0V!H~4*npiH` zbOV(*{9ODv<<9ykfzQG|<(b<%$E;hBpY;2Y(A!66%xrY#UUF5Kyk^C#N{^?Gy{F$? z>)LTG`KB!6`tOTvJFQCED>nb*37uU#>9T{(j87~ziY;wK?rsWU5N)aEeXwow@)VGZnU9}4 z;Q9i@f`C&X(G&(BZwC;ayWm1g!#9Z&wuKdW@8<@sGjvd_Uu;#${P3sU_ALq*gr@V% z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q?vK+FVE?{dfa@)Tq7O6huD{lib5y*-uV?kPT9uyp@5=?1G9lUoe@P7c5@r~)bl z#~DZu5FoP|>SlcpT^RD~gVXfc9;d4J{QKCU^s3M?SoepT{l$_6bFx7iWY4C8C=g%- zn+uHF4UfoL&m)68cvTVIlp6|!GLG;e0mW)~ItT*>Peq^zk@1ELk&VqI2i1I+^a!SJ;s^NbCOXQr{JX1`MTmcq&HtkmhFl;@du z@}%hmVMCz06b1pY(+mt6bs+nJ7!Hyao%#>tfW$ZpiVLiajZMr=A+j)aU^>M=@F`Py z9N)2OPo*9Au6m}-4>)|^&mzQXpTv~U`U?o_Z>{k*d?#^Po4p~i)K#h8I+ zfy3q0H`cIj(JsYe>6?Y(FaI-od)-Od?Y8W~y+a!Qds@AwGB9xOU|`m2V_+@?rDK?X zL2f|?AoDXLsGYOjyR>ovzR}W%<%x4S@c5w!AIArHJY{_b!WH&$R^tS~y zSC8+##UZ|bo|W>7*7EyCUhW_@KtL5cT|+#;hN=Cj`d6l2YNoaN&nBZOOwjK9 zy*O)&Yu_t{ZNitpil}5~q*DagxQS^F@2C9RQMV`ZKy2W@Gi^%8CF(DnV^Pp)o)%Vk z!}&PWPDV(4FgQG9jrUv4eAp;sv8B?adH3tr3Nzd_+AZUB_P52H=l34*yN4fbeRwm^ zcu#8ngT}PR9+gu(V(govrzCM7F4=4w2a0!a+}~akks6T0{n>8GPVM?tbKcAC^tt0- z|0i(S&JOniBefi2^7X{zDGZ$}Gxf|j{O>rB8E3g`>;2Rw+hEaYkIqc(J&+I1*U0G? zY%VZgf1MS!!a81OMOClmXHC6!ucJn7rZd9#JlX#Hqj1Z;NN&bSvR@*PZkVy-##d(qj_MqfR63xemJ|qDoCOpO|%9De}ZAfXE7&mFHY=Xr*MwlQ8ATdb} zFO)n>AVRGc^}AroSm4|3hK9k zKnk>t2Qz{Zsa*$(dz5;Th`t~L`})gkp#8yGpng`6B`^T91jt8X!ek+BYd8Y`!DiKat?G-oc!QP%7 zt5>oW-*Z|qsZ4H#rpDV}nlt3STRL(26x}Qk&E?$6u#)G)q2s4N);qj5QA+>5q+9m7 z=f;Pey5d>larQ(wnup!>+aJ&c06ZdlCOM-<=-wm@5|iF z@?FaB_x$x!)6&y&xOJsme>FR2&B1F~{O-~*f?0llSN24PE-Wfs9WCEtTt2x^)5JeO zaGiC{Zj-rR4}~61adwSbW@MHzOK8g8g7s4IZ=VJjcQJ^z)bKvowt0C9$i>XZ&mC|V z0kI(96i76M!N=PHMCUHJ(9-Zt;)HEsMc(_lLF)`16zdmTRWd*PX}5ig!Udt}JhS;9 zZta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;ZdwNb{ zi?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~2*njp z9WxL!fz%tmc4VHhLGjEq7S-%mD&JB#xt*0deU$P%^G=>Logi!oRFc9VAa2c}c}1D`UL$MGGj_Eg$&@2Y3Y{D8yv z{VYPP_DM|nysz08sGcbxG$_Ew6|5Ibq@TK$TrrEUw0G;Te7(t09B!vdEMAvq2v``e z)0(;X+Gmg=rlcsC21ck`9ojP

^*!nE=ot*yC$Sw1v z{DiJ_errXtq$2&fLS66#(;}z{-PLQ!6LvOE%NDav0{%p5or*{3S zIq&6m`rPra{}Z@uXNP-%ky;J|zmo$nZB)V3gY*Ca$iHAe6V%VZzy?wq?CK2C$1pK@ z3Pb10Og-}r|2qz3##!##dOx+vHdu7pqcc-`59DVvY+STQ?wD?@9%4Ddmiomr($v}K6s1N@l~fo+c`jbn0|d|fawLB z3-m*UNa&UO;bt0ZuDC?$F%<2R=07&~W!%q`I}chOJQ+QImNAQYe6IKZ?={EfiBHfw zt-A0=NK;gg)j8l*w!GMT3WRSX4A_GkaFf(D=;g$deFyw$@;Bbd4 zhU7^GnEk-A@;X$G5hzvzQ%9Veig(c1O(3_!!fUX(jgs&}j}zpGBP9;OVS-lQfzl}` zenE0zvxtaG;>!oH;XndWP9VD%l&;B*C)$MxWo|#eExqnUq3EYW1w zJ^Sur$D?@*J?}pFGs)%x7vB_UFsJ+n0$4nPXdw3=R1TIe;N=Jrbu0t>`pX{BdbSQ| z4yay*10;_kG2zna@dHa|VEb{EBgDDs(i0lH3FLNIc)`=>AaNT?IYOeFKy4*z#36b) z0*-V}kVh`-0ndx*Gcp{hW$taNKCkMh<6)OxlW9mplv8nykpplB!I*u*-fx|7p#%! Pb}EuT;5K4&B$6Zmgq*6G literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410173 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410173 new file mode 100644 index 0000000000000000000000000000000000000000..370f58d9d17c84ee59cf714b6f9885e71eff00b3 GIT binary patch literal 3840 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410175 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410175 new file mode 100644 index 0000000000000000000000000000000000000000..596cd9cb9ff0da3b073edb87ec58228a5f27c75b GIT binary patch literal 4856 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410177 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410177 new file mode 100644 index 0000000000000000000000000000000000000000..62d07b3ede8b0edb682c13c2aa4a4c3a6c8fe5ad GIT binary patch literal 7164 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410178 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410178 new file mode 100644 index 0000000000000000000000000000000000000000..78606f42b7bb6155a3fd1d7ba4d1403c247ff9b2 GIT binary patch literal 5824 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 UP8yS#L+DBRzqLu+lQ^RP1Ik-wLjV8( literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410179 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410179 new file mode 100644 index 0000000000000000000000000000000000000000..4bfed782c73ebd126c8c09cbf98cfc6b44c0db42 GIT binary patch literal 4928 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 C7x!TR literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410182 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410182 new file mode 100644 index 0000000000000000000000000000000000000000..5138c64ed9c6230d5d13c1deedd2c78d971000c8 GIT binary patch literal 3868 zcmZQzU|=wwsH}Tq>Yqspu05tN7-NEj3gX$4qCHA`BNoj$@>p#SP>Ha-UO;@ypTemJ zzVobpW%Xs^o*7XBht+oPU*EAWQ_E=1?433G4IOp2CmmVhdhF-5d!PUP;Ersq@!#U` zE$(zi+pViWGZ>Nb47q&H8M=ZKn>bZmdSln|o{J_s4BqCaUzh%Nv;N+)*NFz- z^bhD)+_j6H|D%WX>7-kWN{?&s%KUN+@G>wG;Xc2wbYJg`pR!8J&;R-4#jxwq`^wMR zmm7Jtnx9Nbi-sr_En@GoIbHqV`sq<6Wck=1({#GKjXc@jlqLd3g%R#mvXg z-S@i!VnM(ukZ1~nkGBJe&RuY!rQw^z3ERSoy!Ug1))_h|)-SfIWPbS5Zu=I63qsR* zX7fMX+AXiX(B$Vj{Zk3gwv@H6{IjL}|2YfY`2{zV%)@&$OmupGequ=Z_ct{trh!ZL z^qj;NWrx|TA5^y6(1H!&~} ziYuTxW*}w)sqdQhI>db9WF) zFov}Nm4o9Aqz?pu@u>r(Kw=yP#RXP|CI+TZK9GW_eQA5S{7rzZW;kbEGUE<=P1|FW zpII$kb9{!tlk@kNW!wO&V{#1fjSK?mfP(Z>*ODt{@s;*&{gtmbIf}#WREfpw@(ckB z<8@jy7hn4fQYKL#)c{q_2yrKaL*$g5vO2QGa{ZHZoVf0uN?*0<;>o}pajYFSo0x6d zKmQh(qZ{^O#YQ=qbNZ4ym$$wBxw?6qW$d};EhmyL9m<)^3N#NKCbKRn2F4uV&=bE? z&CNCYd&3?7zF6&zrE8x`$$AG^whA!tJ2?Q;MJrG}a(E!K862goo+a&-eA}4A*JHmU z-^L?-b=be4c_-B`oRME=eV_y6cG!IF(oa|wXDKwzEs~bj zN=_HAxgym`ytZV>(~w(=S$&@8YY z3hHh=7JQyrasffySAiG$?? zYAL0YICtCpq_1UH zjT;l3JLDb&SYK}c_RQ>M2vCu@N7)OgY6d2-TY&zqmE%jaEZDm+7*cdww|N;^xav-CEc41d14-Zg5Zz z`6gw*#9-FLGhR*7xuRM>_&C2x-FtSqG?VYY%kJ9k59S8M@$TL&JaO+Q1I1Qt+3J#w zP5WnUO;gx-;*_Kb=U z$Eyqc2Ld1)7Iut4?k}jvKyknfOe2+0J`wqhL0rc7nFKViH3RkW!1RJ>m?fx8xC(Hb z!+DVW%>c7MY0=3uP&r0Wc?MHQIPZhpw4Z~6HsqO?v z-_1KutoO2PY@TrUQ+Z3E&umkX$1%@!o=5-Em>F@}qP!Rq$H1~10+5mqR0JO8xu;02Ez=Q;U)Q>|nRaVNe`h^&mUr>Ds|#aKuh_EK z`IoltnGcQ+EMA#1-xMmfJj^tW!FBmjtD{~a4?|X;@vak}_37rL!1Mj;?%&lunpDgQ zpMS~hj=!P8+EDBE_$nEmz&RST?=C9)q0+b^mHp5mr8Nhm8AMy!c^_=sygUWuV&>!L z?x(qcSP*auB$~qDbs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA5-n<=}V&=>q{^eCh)!kQhfnaeffVBZELXpdkI!wd9Ife5Jixf92~wlRmV z$9_k?jYs9f2q}JZ`=kF3+uz}9 zEa1HVuK8f@hCgnJ2H&NgzApl~o$1$y1`rJdj9_zt>HUR3nQpsFk@hKvl&Pso<~;lT zU#vgBLi@U(lljF~Io6&9&70zQd=Gmpnf|9WczVv3Rbk6Za|=$aeA4FA5}2LI1~d!o z2VTx=H(G8uSp?^9o1gTx?5c5Nf^&!5g8=Kx?cbi6y$m774_W?P?LPlh-^cur*`i-o z#F=?~Pn-XP1FSk88FPgtf*ye!E_*f=M1cS!*j%6=>=p}Ibf+KkiVw`iAQvGmPC@t6M@y}j~>pr;ocz)|2?ff5d&lno);tb+&$j)=vlGQrNZhqA1ZwqR!9^ZS5 zLwx@{E9Dif<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt|Ga*Ban=^s zzE=v{gfD>=QOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|}Ev)c{^Kq!1 zjF9+XaHxBJe@#K@9fw8TA@z?I*>R-sqz9e6YP~-91&3>M#O`CM5;BU*{tLf&k~pJb z>PD{1zZ+*THG3-ZDi&O`innBA2b#yCw`Zn(*ZG5~jj!0lPc~lK$LF%efA{|S``ix$ z4d%zzfyxXZ;NI~c2!ITD`~tcEz*4|4z`+KkD`sHcZG@_0ASMkgPD?onO=qCQ&I!{C zqLC6E5)-ZhoQ~l@_~vV z!W>k;fC0g>oPj~yqYP*yq)viqgVR_NCQA4bXZ{lj63oY%c4%M^CH}w&79;^ACOjB% z#XE+*NCHSqlHCMKxA1Txy3K*4 z2W}&ffz2Tyo3fwt7c8nz%h$6J2vAfxxlHW%lx3mfGAg_Eiu?I2A^J(nlLXs{KtsW8 zBQoOKdepZNu}jR!M=5y<}qH5(N7pfVO-PZI9SGKkCg?&pB^XIp^!d7x&2DVQZd z4iXct0#{lC+Yf99fW}Ec044ns=ce5XGE9Q+cO&wN$NSWDsrX;C--d^YRpsiCA8!W`ox9*dOT#yb6SjpFdGF^2tuu5`tY2(Z$^7uA-S#aC7lfws z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlX%s|WpQr|W0b%^=I$#hT^wD}xmU{Due5cbPp zU<_*mDhJ0KNFN9QmIh&ve^{-nJ<*6VZPIQQbiDsviaZ@Y=?dvjv<%ai9~nFaT{ zx+m1S=G=Hb>txu1310mS2bHcB8pC^$M#)zuh{yosw|H`=)Zc;qv=UAweCDS!@yXubpdDBi)c=u zSztdnN?AQi+AI0CF^8|men-BINBZipe?jw3s$V!Gzs~wV2h}`o4%^pFGp` zY^vpjBVmb#D;R6GtT+?VF}-C|K$*>|NxVSwnEfWLTC%crTf-55w(8aFmsh0wT<_-W z->~Iz;i{Glg;honJAvsK0#M=!Dh3JzW@wy(g$Skrpeot3sSL<^pk{$7ES7-F5||p| z%(wkOg83jn!2HocLwhLk2S%_U2_P|Hu186mAVE;M1qySp|Iq3akQ^uu$@M#i{YU~x zOt1?;1aiIs@o~G2L^nxY@-2YIJBGbT0!U1d^-2u2|H7u0N6S_YM~ zU_iL8Vi1?{-K_wvuUdhcc%WLr6wDGJ2Z;$+fh+95_5;(JC{!g%`X|m!Q($!{t=t51 zJ1o55>3@*8jgs&J)lbxjL-g_j9F-5tiX0P)-UjkGIdM#`saaCp&lk7&)I9d+sQKRt zS4{vG?jV3sZ-DAO7=VR2JdF}jZ!$<-DwqMx-ypwXq(dYDBqq!{oMjH)G)kPCJUeLY zCah_6khl#cjgsglkiSp>Qp6!K;Y!felCnAM7WLkHW|!Gh_)HBdr|6ABJ2gG rYj_$$_akybN45jz0(AAb!vv`gBEwB6b|Z0+m@p^d%xhT75|Azcn+B-@ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410185 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410185 new file mode 100644 index 0000000000000000000000000000000000000000..d439e96b658e662777a7fe066a40877455dca267 GIT binary patch literal 3836 zcmZQzU|_I3H~C`@zuvR<$Q7>BKYd*haO&CCE35y$@lz`PbMES#N}v+qlf0_Bs+WJB zi+=TY^^$w`n>XbrSD$DL@apt@d}Z3JvK7^9oAunWOn&~ zq8KjRPTTJ)=9gnG(r%wy+u+yElA!)*i(x=^GSHA6C zbL*Ap?OcY9i}vUp1uF#+j9@na(?P4%t0yj>4EL*55(arr3e z(3hTh?Bx_SrLAuw_*Q8+c|BCVY@Yacd;a_4-Ea3dC2X$E0GS2$@0w*f5mNl-_DBC6 zw!g#ISipJzUGu@*4S(Dc4Zce~eP4v+U$Fl`ZUAD5JjZa;h?F3gBG=5!Z2i!bOwW)U z6GvNHs63E@gomS))w86%l5ZPx_?of79U3bcP{u#YrCrw(W#04}992Q;EUWb@ZoP5`Lg>XX1gxj9N zTuMul7tImOak~0oNt+Ka7Ssh8g#9uY7{fsE4+{^FTR?f)5-P?~P+VYTXkuUr<%6Wb zYG2x3E`JkXs~OH&m&~}sUeos2X;lud?SNEI-nr^)V1V_ zS$w6vTYu&2O^)JlJ5^%wx;#U`!g!t5%*EF}gOo`WNHsu}GeX?S;7}?jFi|qNts-QT zgpN=+$2@0-t`?b1x0@wj{Nc5YNmHpwl>aWobklS7Mf0N<*z33_8qb{C$vUas@w|#V zMVFbE~T=Ox4 z1xWyj2@54idWZ8M2cjE=#c6%djS& zt@K?Z*P-ISF~8S%|LDB_{mQZj%q6Ox-G^5-Ppk=rgdIlO2bJwGfE;dMF(T>)2B}NF zu(XLB4q*LA0!U1lbvWY`6mOvNNeZeG7N%e>ac)vefaVtrdyxc?m{6Ob!Cu=XI!J zO75b$nGOsQdd1(CWrNxgK%g%09|(X9m|cuO?k}(uqV56b8ITy^b_#>IjPDd!Tcr)C zg$HUDn1WdX2r{{jgs&Jr4wqz MAx8Ry$2yP!0Ot16TL1t6 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410186 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410186 new file mode 100644 index 0000000000000000000000000000000000000000..aba239578aef76961ff0ea18517cf6a715a3de7e GIT binary patch literal 2836 zcmZQzU|{GAG)TSeqAzhzWS8iA-IYDN%6jAEABeyB=#+P2eZ`dTKqbPK=O%y5;n#cC z9=XDG`lqie0!}^KdS&(BH-1XRf6iT8dGj((5v@02iG(m6MX zV;}4O4?CKHW-ufzI;8@lfq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhsM7N%Y;uU3GJ)b-S<4pLtQoU3A25PrW*5xiA&aMztv)RJ=NN4$&bBCtfjR% zd6Lr~t5kYUwr<-|-crwT!Sn$0dx5kvw-ddE+Z?@@3M$WS-rd~O(0Asp=iTz~%o#J= z|0K;Wkov{Fc7lOL@UoR3HMe@ND-^9cpz+69b8EZt`<-PBqAgv#54LSyo&s_)^YL^4 zuEP8PAIW(I$`%fsub&sHgQEu8wMsl-Sm@Z@CGQ^r@d!n>3_9bN&XkZ#l}kN(n_T#AuV#^BiCNp3c|=!Z!pWx${7w!G+={D#>L&v+ zINpFXIsl1-cai^PJXm<+P&KqLCZc(F24y>C+<=90;Ze^>=s~p5LRXOkl6kF>&Dd5 z>*pS{uRVQpZr8$V7O6T0`fdlFaT;n&`gZWaj$=n|EU=lvv@qbF;yb1C&D(BlahrAH z;Ve%*Zm1g^x)xo#ZQ_-Ac5 zI^0t?E3H5+_D!at`?@&=lN5H}aGn7Vzictx|93p5UY7o5cjX!NUV$=4rllSM*gvVj=mfl~w0w$l) z`m0h_G5651&Nzc3%UigCW-%#d+DLNeMksz%Sed(m<-i>G9cw;bU;pcEPn`6g1v|s97r%9 zmM%d4prt*O_yZ$YkOYvJuuuZW3!DRFFoQWz|Dl!XusG}lssWot?eq(_d*h-#dPl)5 zWcR|tgeLZa^9^=;8N@mQqk1ax-maJPSg>l1-?oEU4!m5pOTO@C?srJq)PDo)Qp~gu z7KRegaLc_26C_wJ0~J~`9o2%C&68mIU^G&|ATeRGxZ)IIf6}6$Jy4afFa>joag){O zrdKp}6V^O7NZdwAc!BCy6o3?QNKCjAP&gn1eEAY22P%`=U>XS4)9dbTeDz#P6sUd! rFe^`h>4VW&9E9R`BFvw)sKAI6^BIuKRHEAtNaZlh?I0S9`{B|6q)i;$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410187 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410187 new file mode 100644 index 0000000000000000000000000000000000000000..cb178125387f343f160ffc9d4c96529d38aa1496 GIT binary patch literal 5160 zcmZQzU|>-9JSC9!FiBZ`!@||61%u74Xb{9)9#^^rY3I&jT*=c*ajVcvmXyqtdKr zPb5#jnd|Z==5O27pbc8eEHg?uAN-HuiIX~gSH{E7nD=t1&eOWBv#*rYe{W2gc}kLZ z<(o$WXI5qk7nq-8x|}a{Ky5<({B(i$i);iE=GQGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)lTUjM9+py7Ak~e4pHV*L%5n7O%hD((s5~TGGbqx{3uymgk&3 zCcVkwL2a34)z>XQ8y{U4YS*e?oRa%vIS0^T;P7*sp1ytJhXajEt!7tTm3Ut`m8)1d z^4j%xUV^vSga03Mgoa-OP(4+{FRROU*1>(VPHJ7^e5aEi*tRNu%|_opH`>qs^>p-4 zJ#`6aA4>Rv-2x0hhWTeNsNLIF8GB?&WZPb`DRo&;J!EpFdA=_*20R3qRYp$6C)H?GkG1xSs15&)&M@lC^+C z14HMZjWRR&R(Nbmc*1!;*4fWxlBSDa$AP^wIa3?Mq%4KEToAbx6*MJ<9Tt9pVs!y# z?|t6PpZotAXV;dxaR0rNAFZ5r?{-DdvQLxCZ-T>5w51EE9y#qHvl)WCH^}^7m9@YB zz}iK>?kwv`jlCaSXw!aksYpC$soEz^pk4;qv#B5o1Q@~Q0>ff}la zGs%3X{V91@*3*WLf2FzwdlvsY_DVQzccNXFtkTqveD&H(m@G19-p+BDzm{1_{&1++ zZ9bq`;51Uzw-4aM{&5FDzSK7o*`giyiRN8 z;%lElY8VZ5K@D9%*p4v=a{4l0k-*eNY`v=Z33$}p5gk}4R?48T!PUq~hDq5AnIO*`K zuE*+EFBZJou&^@k(sl15u#KQ_fdH6apu@YEbH2|5D zVESM*k|jt?m@FhN;XIJtAON*LX;IK3s2n4xPJpr*h;)-HjokzaD`#Kz(v z6u%Q;eskncFH+10rcXqC6I~}D=|T1b7WXsk>R+{Nnng9Ayw0)OG(E<EtE`n_iphBzHJNuyR4r=9Nu>HV%ya(zIl(-?%OnEH>(3v7wtd=x`dDFl zK{U(~R3=;nuCg3#Kd>x^nS~NJM7k+~#%{uzj|Yj{Cc>q*| B+ou2k literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410188 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410188 new file mode 100644 index 0000000000000000000000000000000000000000..34598a3010f058c041c244573a72fe77b3b3a734 GIT binary patch literal 4904 zcmZQzU|`_h-ti^u&F0*Fid_nM3nuSjE9YI|AQ~6nx}0&!pD6{YKqbQJo~H!T9wsTP zZ&*^xy>49J$$3o_N?zlJx*VSN~OX8^%qlG z*B`Bt*tXl=skxE=RUkvU|2meYbrU_7tv`MGO@72&lM{u0ODlFgm~vL*&)oA|LIxM= zYnMDUTxhJ)?t0Lb&u{X?%WVALnwp;Ow8}hTE&Jn6#oQnU(UumxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u63=U(Ey9mV< zPzehVGlA5~wl2QP`>tNkxjQV(n0EPi5F2HdH z(gOs@YzDdARi~6EJb1dB;rgo?{@zA6_epbX&;GWdrs3Cz!du##K^kPwf|3y!FoMkm z#%+41ht#!1opizQn3<D*LTLp zo?-zD3zrsDl;{>*klP*10W=Nlhg08J!@5Pg6pN*A7K*?8&*<%SCuO(WvJ3YPY54DH z^_mJy;X4?Zwb~e%OVfdRP}~l25}0I$vU#C2QwaAHFq5$PU}a2ZcJ&|z$b81oU>9c) zheLLr!25cY?#`gs()qb zrDj^I|7Mmj}+jhmR}@P5j_9d&ym55xxk zJJY6gT%!KMITi(-=4oMtH=K_{?PP?+2ZO`+C|$=~)8$)_ubuLHlD61_nVxfeZ&mqE zHUBQ_v}y)(Ozi#ssTWi3+j4M5%W>Kq`?%}#-0OcmKg;ek-@Z&EnwJk~9ysm|Upq3- z*r0f38jEW7E0u34oZQYzojyu=o_QxvnobZl1gcA65D+`fz@X6yWTV7=(xTJhP%+Me z;sPsUV-pKwpa4`1PN(<>K4mJ8<2zREskGzXRnL_90f+DVS%g^albG^(U$ZYzAyYtT zP=JpsNDBm{pSqS@F^jLXck8cwy~$A=Zl_8tUYBPGSQxLZ8&jJ%0SlQUe(YdhS)P-1wlmpn(&zY$zaR4bukQZ+_owTr7iI!DV~^89>S zdIaw_;>>?OhXnIM zet`LdmiAEM4~$?z5vs(Mkpz&KU>AT0aNdFQ z@VSjdH)*YGg2g+Ay+{H`Ot>qEbrU=cK{|=9lac%Zw-Ly|=8z(;N8V?oU+Ns#{@R); zWx{;VDPb;WKMB@3HmQf?F5U#y&ZzSr2!I@TeG26MgG%z^V8haQJ5(J5F?H_Zv`9f{ zy`Bct#|hI5qLJK>#DuHB6{cYOfoV__suCq%5a*`wr!;mG$nCK3g6E4t;x1-W?^S(b4@_)`Z4U_-wnVv^xDq_zSvZj!oGA_HyfV%Uo$fW#!(O(<<1 SqWddI{(##EWMFd$OdbHqJbE?& literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410189 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410189 new file mode 100644 index 0000000000000000000000000000000000000000..464b0faa8265754c493e278bfc6fe82fd61b8235 GIT binary patch literal 7124 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 C&8#^9 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410190 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410190 new file mode 100644 index 0000000000000000000000000000000000000000..9a76bd3c7a61d318c8e56cf1a9a0eb2ad0480a53 GIT binary patch literal 5104 zcmZQzU|?WOJ^II~^T@=~xxsT^KiWTYgUKTvwW~EY^?MlOIG^n01u7A?u4O9>R&di0 z@lA4V)&FM1HYs6mox&x@YvmK)O>$!o-YzZC-&Ir|`|)PL@|kQU&nseY{hh~pxLx(E z;kGY&)iZrU(H$3(QB4iA6}(zlxZPq+oL~w>*?GN z#y}+wYmRYNPpm#Dv;WJNyUSfp@4b1mqva2a`+_s~iYz0meC@V9d$Z)doL<*$rmb5lL2F{D9D zd0&q*?%6xvGp-~~;Q5Y1=EvtA8}c;%_HDBbOFPrCqLMj?LA0fh_rbQ!%TquuWZY76hCEiKa04csqdT+yxg}8oo)Kuq~{}dp|d5ouPwb{bH+1=7&G+wr^3mAT*t4 zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)le8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxZSeY+C?~uB{AA z--Ch5!SM#t2LizO1c|ZS@pBe4IpBBi$;FG3dR5XnGQ}#kEgv)8FYT)Fa#NV$08|6g z2i8l_KB&5vwwKG_1lVeZbJis@?y%RiJvRB7)zUS`X9zqwe}7p9C_OPbhIqOJ0U0om ze(G9s#Vo$k-mSm#^(IGgxScAocwL?$U}3yYYv$r>pMmNmifV4blrw_;2TWsAio=bw zemnl(cX*oWr7v@jsK~QDi8T!)pY-C^{;+6Y6WA?4e|w+n zWjN@euT>u9a@)NtW%3O37mAe~iFbE;KR+g1k^a&Cf#u1hGuv`rML#{xk`>;gW_vKSPh11y=-0HtC)cc)z_PZQo`6BJE8=Q;= za|*TvY%}FtBYv!N-`<31A-;aQtQf5xFF5? z-P|Y5u|50ShMI<79|~`2Zw7~-XiE=FJ=8<+@FJ+6fq@OEhcVdI8LYMG@nlt%8@YYU zdu;74L^MiGul%3$eBCL%T|w-T6Wsc~Fl=13NAD=q7N9<`8-U@aSJ1i5Fkxq4QS`fp zJm1ST>jGDOy87mi?_6)G8@F;(SDG!F*RJ$Q(&2j#qr&2AN0!vCxOYo`@o(-)BDeXn z{B|${O$7Vb@U@!pZHd)aj#?=b3l%r0E1#b~h)f zhM(h;*kF4{UGc@{eRZ4ua{$d_$^Cb@^QOsJ(Xd?+r`yFh$9xJ^IPmV))MMro_5#h|hzW&?{Xjpdv^|8YAf@qi}s7$yD za9qN9AiF^TYCo`yG=a)7g6a||n^-rQ(AZ5Nx5L6~u(^$r@B-x*YQ!NpOpw|w;OP6~ zqUbZp?`Yj@Dv<%EAyD}TGZSVWvH*r0P!U;alsGpP@1U`pu%^*L;x?2tN}`+4v_4Q6b0-7lydD7;YWIwIN<%1NsEFGLRF%KIgxJap|P8=rqMy- zHcG+^)Zaw`ND+s`gew7s12TY>Gw5j)q!%OyDg!}nJ}@BIZ(esdN3bbL6sULuu*{hN o)dr`qI0(h>M3^6PlDmo&^FjRuc$q|We;!E>-0?sL7Wc!Y0oiZeWdHyG literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410191 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410191 new file mode 100644 index 0000000000000000000000000000000000000000..31338fc18c923bb317233feeb0e10967c23823d2 GIT binary patch literal 4880 zcmZQzU|>jEK=oR3glndi0M|=aGq} zbA#u;ezbq)29rlTYFBG)>i00laX#70%aY*3F01v*E7)$)vJC-T6Ag4sYWLY*pS5_l zh<;`7|7M^W3`vVl*@0*vU<45>RL)B5nOn-{t2rw=dd(8+!>ja-GA%@Hd-P{-J)Qf( z7^uV{-M!tjv1s9@hq|Y`#Wy&u($8bGpO-xGbD_6ibWaz9RoC7-jPu(jckGz5~lhBvxSkPVxiHk)^^<+Ve~g<7$RMllLn z=UHa#yV9Oddfh4R|KjY&-!h1{^z%O0wt0C9$i>XZ&;7gC z0%AeHDUfIigO9fZh|XPbp{3!Q#0lHNioEx8gVq^3DAq5ws$_on({B3~g$qK{d1muJ z+}bU#zR=|7I{i}#&$g7cul%#6{Qo%%-T4JKlgz_=G)#1Qe|};}`S&+9D5il+_Vk>@ z7G;Oo*NSgu@Rz$hyq@}Ol~UKjsc)J}j6?!YPF6i-d{ryFOUdIgd-UUN5H|q>mq1(r z)v*9E6G(mGQlaNJHm%#gi8cRh@{!(+q8Kgn>Y$}KX0Y`3w9(Ab~otF&;==^GtQJ-0he^OV1xX}WwhUNhOx&Vqm0 zkHZ0Hma`>Ri~T=XE}RsT!3;DD><7cwj?6PQD4vQWd4#7;9XX!L;W2Vyu#T68)c$N`CQ78Dm)85^6JgERmEOdXg`@eh2;R3687 ztlCp)$GxkbDf0sk-}kc!vDzmw<@3H~U!Z!XfY6`-A6KwmFp+-hT5`oKzS7>Uzw-4a zM{&5FDzSK7o*`giyiRN8;%lElikOn3U>X>qZgo(edBbRXy}|EjeszOw_wGGcDqh64 ztTZk^T%ft;l>En_UHRv`+!#u)>vPnbyon66Y+7<^zd*-9-fxoYFBv>K#{n`HWazOh zo$S`{y8WLsTMzsTsFK}hczQyz#Z0HEPX**$d{rJdd zo6)YC^9!Hs@YD@)DDv+DsuTApdjV6<1a=EBJuK}$uJUZlo?rWN1TV(U68X#XaQ8~l zHL5)A{JSRIa(>FeUM&&ucE{tc^y9%6vp42wee@1BQ$0I1bBoBo?lTh4SfOrkSj1lF zdhMzCmW8WbM6y;s)o#12z1jYOL`LV5mF7!3;vd~;;`{O-A=g33QGWJfnym~>-$Q_UP{I#b)KBa5xd=2J3<`MNfH51mB zNcj&0NJcOMx&NSM!_qRSZ2$&D)WZzy>(7}$>*8*pCRV6cFoon!Bqm%1uJ{Do4@_&8 zP?ad@pEx(2y+C6(f!q!YFL?SNByOW5yg=4j5D}Suy*Q;;8-Utl?Y<0~qs2r^9goiT`ZDlcynVdzy z5Cyf*gMsGoLd^nGNa2jcgsZ@n2JqH3M7oKO#%{uzj|Yj{P|`AqZUXhOs1b))>l#?h F0{}E#dU*f< literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410192 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410192 new file mode 100644 index 0000000000000000000000000000000000000000..7abb65254746894b49ce21a7d724b63fc560416f GIT binary patch literal 4704 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

FE5^vo6=#aE@d z6O<$-*gv((X4jwdM7YFdXNz6YK68UfIj=R>+x_ePEp%mOWYzrNF}|OL8&$)+EVHcno3`vVl1%YTFU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qxVEk2-ki)`t~_3TS;_*clNmAZYhVxQsrw(ZTm!&y7>nO}bJT9AJ3qGI{=^~)|y zO8h6Rb*R6^#J_sAp~s~8A98s<{&6p1u$Z>>gC6s*zqQA_qV*J~gxPJ{rQk37O2**E z%l+zgw{=o#J#CxcPN>%ZW0vr3->0o-o8BBTo?fu-{?cg-qAinoA8gyaJO$)p=Huu7 zJ^cV;LBJ`HXbOXmw*!dIU2vhL;hV$>+ro;x_j7~R89FG|FSe>=e)!XF`xb=@LeqI> z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)_SAZ7xo?^<>8*1AHQJquSq@Q%8er+&aY`pfgZ%nZ&MbC33}o%x!9-^l?O1`}cG zL3)4y9Dfid1HY_4mQ}Yp84QnRC*sfNS*B2RG4x` zu(`mvHC(~y;Ja<5ncGuFGwna?GG^Y1vb&Ml3}3fin>tnYG3(qfQO`Bjse_Gi5`%vbCR6m6e(FMyv zjz{(b*j%6=&L$o^G-;QM{ybsD>U-Yy&$zbyy5;#x@c7fPY`gT&*{PQoG)bBk-k+PW z_OWznt-0-w{s|{UE(exAX^A)1k#b>$`N8nDBlC<6if5*=sAj)X`If@T?X1-4qm<{F zck-m^1Ytv`vMg*1%w6#__%_!KtTGbYsnR}_)2@X{>s;z z9L3>ws>I@Td4_<6@j9)Ui?4kKsbc;55UQGi5$aZl*-d&XS=(0DI_dS?NZe%BwQg;J z_2liLpDb^MmcBkx-Z`b|G4K5c=PzG0nEIdA1Q?e|*pa30T0eUp?gu1DCu+&7*6Xp>G( z$@YmRpo9t12i8l_KB&5vwwKG_1lVeZbJis@?y%RiJvRB7)zUS`X9zqwe}7rV4WM~U zjv=0YumTUrXCNjl84YzoN^ePEMWwdw=gxtng4ta3Fd?R0P_be?V-dU7{P)hfW(A_5+t9%d7wA~0cbd) z)wv)!P#lu$cMSWH1dy0u7k~(G9)|Pqxs60OX{~I6#XE+*NCHSqxGRWt6Fdw-I*G0y zko*C+5y-&ikQ1_ATRr!(b*$0fz3Wd+(1olG4cU`^Cf#V5_(V;gc}gEtKS_C#V0{kE zlhCjO)#(_{LJ~k?!hM1(?7(FLFs*^=5D-8~|3tdU0+=po=_ZidK^P_d4-&Ug5?<(W zf*h%&s$AXHwE7+$n<8&WQgqcP|^``s>0w5b^1S6394=M*s|L{7Th;}Cf z`}#9Wpl#27pgExS1RTID0SX{7;nL_~4Xc~*mKQ|2$$`dh0=XR)Uhw*Ikhl${ydcp{ zp#B3j;t;*O07rWM|BV6fB6eiOXvJJ8WD&kBSZIB?`?c;J@gGX1Q-v38g{BN_Y4jIV z4i@I{G)hF9Tufso`y*fy1oZ>Lf#&c+%>q+M2@{D4R{^pQ84#65iF8vPjok!tJ1o55 ZX>^dd4JD0|=q6BKjv8@@HI2d|8vxDGkRbp7 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410196 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410196 new file mode 100644 index 0000000000000000000000000000000000000000..af7c30e322dadbb8422ef27fd607bd14d5f41e93 GIT binary patch literal 4988 zcmZQzU|?X>@q9dSMf;BkCeyDWUa{=4C%>C7y?ABMn)sH2Cwcq-1CYI?)lsQrVn)==l9b-b?5I==!~N2}kkT?d$dy-JI1c`NYfTUO5f zX66N^9ezbpxp~|rk{WG?C)9@-h;wP45BSlcpq%rygUWuV&>!L z{ylF1u^`|SNHm4P$J+r!=PtO=((p~kJ(f>la&9GC%xjw|$Gk1)=FY zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`|*uW5U1@-wTYYmUzlcyj*!vWy!*^Ozh%JpF=z z3>Zj1buGDK7GG)a)?fL0lcPA?PL)`^F3%9KFkYuMbMdv$Aa#s}x-jL8VE+Nr*vzgA zcHSbw^N(1X$yx2)eLh}Rw91)5ePI^!`s-&uJLy;LTK`&lrCi6Ug%&sXKlN^(AUAn& zS0O9=4dJFOJAORfoZ{5D8_fVmq)OZXNC6<6gN1ZTJwCTeGUq!xObxTTca+5+W})iKO|KToqM zc-8z5UrrURZ2grGC+W0+>tKWZ>X{ENMy2<$gM9@d;QGM!0{zH4JtjNEXy4)Io2-^@ z*eb!ByIxx=B*A%gcw^t!g{yL=^Zs7iCUiseSC-3O*+M};MMV4$F8p2bBa-a<=f&FZ%)O$zUtwW+$sCR%m49=-CUK_{!h}SfI zVcre36I==c*|0Ey(I9D1*fK-YH;B(bFf9SqfYUN0Pk{9x6Uc@`#Th~6F-#3{=BLa- zb`wl5h{j?*$PX}o(9#}C{DI+YBmpEQ+^66)59fj62n3+vh*l?q>IG07lIwR2`;i2Y zm|z!x2;$vFx|?Q0;~m3ZBmpEQ$!-FL(`1+~V#+mWT8Ha_=>^eP9DZfb9pSWmt0nCG3cFlLeL23%Z*?Zij^zJbw)mw^0&a=y8Ia zmPv_2aG0Q#N1(C_r92`rylCe(r1FRuH}Tw&g{3cAxd~pTgK`Ve?MNhlfb_utwuoDO zJ4}A<>)E%SnX!E1zBTXbHLi_QH>Z25p0|JAx_4goeyHA*|3Cm_!;D}Aa{oc)VCf%T zUJ%h1V_;u@#sS(Mn*cNi)K-N9m?b~~Bqm%MJ*;7MA9~(IN&m#T>GT~My9wlWSa`w9 zi$UTxO2P}&rlv+5qL&xoNN1i|^j+pK^W~7%2TK@bayFMY9!K literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410197 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410197 new file mode 100644 index 0000000000000000000000000000000000000000..0e992b4db009e7bfd816bb535d3f8a989f254c73 GIT binary patch literal 4000 zcmZQzU|>jV-LA8;>Db!)&*ZkcUweA$e8o?jt5ep#ymfBDgrZG*_5qa$GwOIgp17j@ zM+B4U*ATB*_Slo(&6i%hvS&?vOTm-8{r_#h-phV+J2-SD`%I359NXA-1bTO0op@%; zj>6;745|4RKrIiNpKJ%HHD-lVC!9X zyC>8BIo-@$AkF{#^Z%b$yglB=axVMEac8c-Wj4-*Ya1A}PGRNe>MHZM;BxtRI* zxqmO#fLIW43M87s;N$H8qH`BqXleK+al*E+BJcg&pml~0iuH@FDw!YtwA;Q#;eya~ zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7)4! zB@kCYb<9A_1X6GK+L3w22E{YeSX8rLseDV}ygkK;R5?Wwfm-c`?( z`2mOT`&ooo?UR`Dd0(?HP(4#XXi$KUD_Ad>NI!KgxndSyY46rw`FfM1INVN^SiCOJ z5U?;_r!{l&wa*|$%0zPLEY+5%V5Ia$mx1v{hpfB9Bu(x4K`LT-)yg%1IGY?`2BxLtj+Uft8NbU@wD3i%YS3DAUDuFaJamw|994FrhfGL z8;Ryelc&cm?p^t8CgVN%v^LfDhjALb4E#b%Is8D04dAw?mV?c{RX!XC_lX-KM1j{L4+&(cx5w@&-;v!lkZg*cVE zd~I+1lb*0da)Sg=ow!HY3z%{yuv>unWT}K`+LoSsUVBd7f9tnw%QxPp@AL0{&pjX} z*6Vv$af?dezCg*t-W3eq$3u@;{jtzjY0+(R^0em;T@(9fhw4-=s2dz=%$)Q6AN5~% z726eZyu;3-IEjhz#3tEFWebBezJrUjmgv2@xOU&~8<)lPG~L*D_p4~s<+d)+eDFE8 z|GLNN1@LtBb?ddMQ)M5s&ixYgTq7^S=->UPh0VVYWj;vtQ}_^FupAtIqAkc_2MQ;N zbnnDai*)BmbAwb%C*x8VPk*1R%ye5@pd2iW!SpBRYYC>ZYo65JU-x~=tpmwb>Hb%y zr0>4?#bc-c^^al)U;%`z4{R?mtk$hjpZ0K0;^|Xw(C^U1eEvyJXWpk!Ls8$3=`MfQWnOv3!Vff)dHN5p6*mq(n|kxQ z>gi<*Gfs9$NQnxsR5Ii5J}hj-^fS077NLRe;kqoChfb7-04T%jR&X93!aAgQ+8;d;qzrg2rwFxg8c> zgUxM}gcqnxrA8cr!vv{*1xMfEO}YZYj9Ty6b>|_@=At z?4fZCuGxTWq~rsYfrokSWta%TauKM|>PL?bv}^?V4+S7ug2aR?!I4HG_9rb0ItEpV z66VCYsrv+t-Gnub4idLf5?-J(8U-Ll91;_*1V9NzK@pW-ODME@m(I1galBA0rzDD?8zFNw9tf8Y+7>734R# z9s=$}31{NWPnko4`B?K84eX)BAIM=24lX1CBqls0Ny#fLKwY4`0#9os`W?f5BmpEQ z8EzxpO|zl#j$tp701}gAH=(qvh-oWA(>lB@2DcH&z~T^;G(x2LAU(vI54RowqebK| literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410198 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410198 new file mode 100644 index 0000000000000000000000000000000000000000..ac34cc8f858f6d8fe0eed4630fcee40b2e8549b0 GIT binary patch literal 4824 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 D?XF?E literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410203 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410203 new file mode 100644 index 0000000000000000000000000000000000000000..117eb4236909c5f2e96861dc36b384d701a02371 GIT binary patch literal 4164 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410207 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410207 new file mode 100644 index 0000000000000000000000000000000000000000..03e45b8d12c7926f49add04d79c39d7d792b06c6 GIT binary patch literal 4860 zcmZQzU|@*r`n^(P&*pnsp&M63sJ?vbzqakM?~y;-kL|3r==Qf=22>*aQo_)3c>&YI zccqW^zgT{D>NlRx=a|&g<5mSMZF6r+u37(Uo^wZt#`5=S3ktOFUx_@q`u|cn-@`c- z`49cBeLOM~Xa+;lqEiz=G!QU?h^?^#n|9Y~_+33<<-YXc)(I#1!<$3hWsU???`vYY zWYY~);*j#}4AV`YoToc#^tSqb{WbaN2B%e)E^isQ=O%G%3@s|+&iY((gDIo*a`l5H zN+DCc4=j9Y_*YLbL_#if+qx~MxF>`s1?PP4=HHsv%>N~1H<#ak!HyH$Co=S`UYPM7 zTE0Sfb6wnRr}v+3bTa?xezYQ2a%V)&^Ppo-Og}{Y>|bOZ$ROG>pZCGG&C63jE@nP{ zK5F#_5DNlMfkaane7qe%^!u}$tsUEC9J^Lu4x71+J?YGys)YEx#}*x!7SJ@Sa*4ro zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKazKpnT zXn09+JC7mM4|8GaL5=_d6hE|WIlf@!M7=+KtT}2bt9n}g_Ft;KmaWR=cwsNU`!|li zAPvZV0GkW+gVv&@4eHDPaqZk^xP~*L=+ewPZoJ`U!iE38Y>0Ob(Aj&~SIeiMuzR-L zLe6z>7WE0d*f-^0%{MmZvSl;>?OyU9?gzuyj?6PQD4vJ zwWrdKdsjVE<_8?U?`IKWwNGNo=Y7q-K!r>Jp+NyYt{^QCkbde~a>XpZ(%!AV^7ST1 zak!l-v3OmcAz)#=PHX1kYoEcYW=v~9_xmf~%|SoS8TxHRW{9 z{SQ`G+Fk|w!}FXcTIS7g$rmNIBp5L znXzpFFeOqN9V0p6!D8_Qf&sogmfZx3*7cWZcRY~W_6sy>_e9Uyew5!I; zO<{%uR3BI`LHnR~ytKVs{wBayGn}(7nQ@1`rtPuG&#acNIX*++$@%-sGHw9PWO5Ag zbO{17V1S6QlqjmX1yjxljS~k8uU0krWuk{oz8I*gN{H$8hj?k;-@q@nZB|95C_me76)PNRX6)|R!{HiXfx_O z64*0skAwToI*Gfdr%hNkZR&2Qr78b`0LX@gBO{Ot&c8r0P<${$%L1@+BEm{cVpL2|3FLNI zcnvnUQ4(IDJVuQ;1cwPydjK4LHIELkOwUn|*vfEjg4Dsa-MMo(a+?o^^h`E6{wkKC zT?-n=;F=i7#+7DJ(kQ|Dje$YjqwEDdT|w=DQ&=oP2|wb@e?AA6Zs7()8CcB6ns#Vl z4<-JjEZ#BfMG`<_ zlI$i>x`l@m(d{rKJ#ZU=3~Ubh5kK+Lqz%5o^(CE0i{5|Z+Q%Ec$Ix!h3CY>o+x8lX zY=Y`1DNhn?uL1KUH0(faHVkJW2_P}yKEajNKy6r@^#+k{vH*rRE!~7Q?++5Up_CUS zx(Pi_kRz3pI3%jP7&LA}%4fv5iRX?iEPc@`yim#uqWe5Z{($E)AOl;(ZC-41oays^ zotyVI=RFWuW)pEWV*%USV~zY9_}*+6Eoy=4$JWmL2bBZ)9iDPb2I<| literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410208 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410208 new file mode 100644 index 0000000000000000000000000000000000000000..f4f07898a5b3d2140113cb2fb67ac1b9e47db922 GIT binary patch literal 4988 zcmZQzU|{%oY{!k{PuCQ0PZQAl6v=bvz=1W()Q|6&_nT3~?%1WP%YjOSU~Wt zmu$L$N*s2|a=9;_#HM#VQDo-|fr#j+IbRalrmOyo3d*(>PCmY=B5qlmIr9~%hQgzB zE^6fnN-aOIAzZQU-+_pQjJ*9Xxvc|b+)qR*d^o>^BU+?jlivNBXLnZrJh}9{g^bvz zQ@`_KL#tmNmQ>eJ{p34q6Zd=9vO9|3ciQt=9V<90q|X-lok6r^0q=uto0q46T+Dp@ zeAHS85DNlMfkaane7qe%^!u}$tsUEC9J^Lu4x71+J?YGys)YEx#}*x!7SJ@Sa*4ro zp4t2lw|2{`FEshNPXAQGvn^%qEB|aM|9{RxcYeXmB=hhd4HKQ-pPv{~{{2l2ifQ1I zJv}F}McHBYwc?u@{N*kWuctm+rPQ@>>YJt#Bay(9lT}X{U)2ilQu27r9{qS5#7ztg zgyIUQjs=LBKa2|MID5>^!n|*0rUlx5>$N zJhk!i$o!tQTRSkWoP+O!!x15ai|g(!y0kA&e*LNPtr* zaeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3e^xjqmrth&pJur8G-33gu8-NU! zJATe$CI|fPJ-K*MQm;xnN2XZCw&i1{`=wnqUTz9A9H9EZdI{PGwd1Aj@{tVO@3yzbj|S@0#DB0UzTwLXeN_mh^I>skO2efr>-Se%;GEU-TEtEZ*mle z+o=+Z*X0=k7RKweW-h+=8K_R8sOA<-IV0GAz_2uw-VhYcE6$oBHT(H3ksofStDoz4 zCSGun40-h-^iSta4N0!khwd)5PunQaE2Hz`tJI7iWs?;juraRuu=nhWg&_05VQKi< zk$J`j#WT}bRI^{Hd`scvc2?^2QOfhoJ9*M{g0LY_T?&JM*l7j^jTt~TT3DXm4;AAq zC@!!vHa0Og1qwjL;4~58#}p766yW0u)(a+x2p0yXUmqHvIvAmDb#PUjTX$<;W!Ksx zzPkiMIFgHJug_chXN9kdhU&#>A9${5Bxl~Q@V&dcqGQ6*UC(r@ckB5CycB7be#Ei$ zdk*s?W}tcCa1mRo7QVj4NyO~U0k5!(qfxa--!)}e@_zlqoss1AAyyJ8AA!}w+ySM* z)NMtBrfc_Bv~SvOZg2Qn_f)0E{e82fSZ42?FKqNV=5{1Vk?h%2m=;E`xxlz}x;V$1 zr%-q53h^5Y8~Z-6u3qpsMb-Q$+k(HAH%t=dU0cID^X~7~g*&RP<=5Zu*PU#)_G$JG zn`7+K@1NdYwWJtS7O>c#Z0=d7`7Bt)E0kwV&&KyQ3%A5h3V!{6osrHL={;ihP)k$( z0|Af?i&sV<_ZL(SRO6Ty6tF~Bk$$|lxLT{LzR$nCK38f_941KZ1)#AE4AVId zyl2>)A-F1Crcyr2T$fp^{OV@IchmOXP+WS(@x&UiB2f7Q0kGr)qd}suFbCCVU_h|` z1F8b&IY=D{)rFvt4Tp-NgdcI{r_6!Yu?U0VhG7U{O*=HOhZ28a1PhV?5)ke`qN zEH5tr2_mHfkX}%E1uAD20BJBF(eD`cBMBfeVWvaMcQ_AG&MW|lp}387H_e8|JBGbT z0!U1_D~Js*l=7IEwiq<6!^?2EjX(w#hoGbpBFzWsA=Z2bYx^Ss3*wK(FS4oKzdkPF zLwqx%NlUjL*RkmEbo2Vk3sCoAtC#*kp`w*VS<$B!9ld>2D90V zzX_`=RfOW)^Iu6baqMnkcC22$kb&uM)}}HYXgH$ROHg4j1q*X{8YS4CWMB~2TG<4v zH!#v6k^mADZY5c1lt?#OP`OM)&o@}p=pb<$N*X26P3UogT;7rrhYLWljFd(}dO`Im tN}V}q+=f(V65}SGJF>9!MXT@v^&u7j!wU?E?vo+uf$0U&*dh)l4**ZOkyii! literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410209 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410209 new file mode 100644 index 0000000000000000000000000000000000000000..0a97e0490c7e2ec8620a54fd939dfe9bf7e41399 GIT binary patch literal 5008 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410212 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410212 new file mode 100644 index 0000000000000000000000000000000000000000..4b18bb9960ed8e632df2887dc10af54f5fe5d2c0 GIT binary patch literal 6064 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 DoA4@WqAo$!fjdGqiTF8mxGYN6BmP#9yj#E zW>eJA3u!wY-qJ|_t0!IK#O1w_`p?g=ZG0{!9X{@-=$rrVKa_$blH+Q_#|2X|at=Pu z`ayHCfzSc^OU8Gl9805We}|4SG52$8q>4AV6*lJ=#~E3eH#L6GIhcLb-8?LMM2=Rl z)mhruK(JNqUeKm%(TM-@+EY8EA*{&>H(QtEi{$GwT_ac1Gg<@M*^O=!h|4m96+9NmI-w0+n?Ecb)^ z_4Tp$;5LGH&NVVX#^D6oabxT5fkbnF?){?;`ECqm;?7H|KlJhnt$l_eiAB(byXgcufM zF7!>pB5Pu0ZRZ^j;JMww(bqaO#7@)OXQ!j#>=;+JYHkeElVu(gvG3p}QWQ zd}Z==M~8?{*9ys0t;ypyp3e90bR6|hds$QZ^5?(-YZEbG6OFMd=CoIvshh2ZK#OF$<$crryrLc&6uN2eq{Ja%-^`PGuZ9vVw*a<9EkV$wt7 zLh2s-g#VgT7b)iL%gJ1Rz^LU(UbN*M1X;Tbp<1yK3iC8rGc%S3Y);HCz;CmLrn(kM z2i5&uzd5*%p|9*H9=?xKZlJ7RlhnOA|8i~WvZr?+7qHtP4nzALPO$OeV?Vcb-{EwL zL-9Aqebthj#Z0+@y1l{dWxBL0Drvc`!%$Dw@1MspeaaM0gs#{?-PG@@{4g=-OxKA6 zzMYl2yX@o6Dh;+hSU|i3^F_~7En;F!1}F6} zCO9V!Iib;}NFnK=`YdakX9B^yC2EeCE0#ZMF=u5lsvleF+Hbxsdv5sl$sIsnfZ<@v zu-pnHZ1BU2@Sh#HIt9Z@k1ew;THH7g^_r)XsW`-w>g~u|$tim>Sz_vv+8-FQx2ngq zuli`tS6*Rfy7T3VM0N)x?XJ0XRQB7z`W+(wdIs$Y|8X*_X6cqU{+q6(j&{BqZ^~zK zITC)WUDht4->y{ZT!}ely#oWtI42bFIElT3+zNtyk%v7aeDI8jUad{QxXuLYU@s*G z?gUJbMB+7?OX3Ooh6D2t_F*yhjsoWLF_~XXstb$>V#oRV)UbUFUvR(t9XUifA)Rs1 z^qFs~yeJcV_4Uq|@4CEHeyEW0^$$6axNX$E+lIFJaC;G!WAt%bIg)~7D3D#gt z02v(tG{^Kna$pLWX+T2^)Z}7H||&jA8HAc=$qksoXZuQAj==sAAa z{50SUKlFQsPfR)sj0s|g*R=E4 zCxUHSt<4kD%$$&uI-eZQ++T35&`0vMaM(!wh)=$>vHDslOw;-iKmP{>{Rrlr_+A69 TiSeGqO{)<;?F-DqKH>X+(`AAH literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410214 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410214 new file mode 100644 index 0000000000000000000000000000000000000000..86639d99b3fbb1b139d462faad166c8b60aabc02 GIT binary patch literal 5108 zcmZQzU|?`ssFi+9MdaJVg-a`@hi}Yz&fsijd)=z`rp!|Dz>dHOpc3Jx$t-(66o)Mk zdS0h|;o-Bh*&eOhENRZ4=L#EL+0m^Sri z{)bz;<<%FO{9LDhD&g6dvi6mKwv_)rXQ4a4;AWC}c#npOPVdi83@QKqrUu0{aLJyY zlh~r{F#B5Z%?$o>mxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6ybajbpZxpzYGS( zuwI~YaJ+%^fdDW*F90c!7)L>Ift8_&fhm*^q#$Zv+FmYy6JVL%_m# zoz~37*FJ-kNfbymK$SB>+{xg;qLh+T6j`D1EGm6rePXZ564p;QzuMa;+7~-zeCVI= zCDb2t*Z<9@rE{LPXk0Tt@ld?ZUcj1r*0lIdVh86ZKi~qI2M&|m&%Lj9e^zIV!e=V~T;r3;bz812PFknDm4V;Mfq`3bHBkLzAVvujARh)m;$S&}+Kbsb7RDY; zdW~}5SDhERIHN0{A*3kevYlLRTiAm+Fb(zfzjv$`6=b&w;k&7NXR|=7CdtPYV{3QtUwp`r(dl2fz*~04-iHTY z{@u4 zlZ1gqkat>gRY93+X}YCLsac6zW>G|-tu0g@NI}9=;hKq2jg3TDJzGeAlfQVlZl&e* zw43cSu4&Z&eR4ea7f2x#z~Y7xY%egZ?$2EQqPpF>P%%zW zzA-j7F)#+pz}11(r}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB!Q$T1? zfR8IgGl(Q6?=Z}m)&SMP2z9GN+=@=4wDt#8J=nQwyo^;&yWAU zYb;RYxO8n|lj()@P&4hi-Tr0YwTyN~JNMbHx>|av`V%wIJeGqC?&Rc8+NpoM)XtRuKmcUJ!h{jX{Rfo;g)K9%%v}oQGY}EZ4D9QV z>p;VLE>IsRj^F@h2~Yru36}=PC7cJc8w8;C1IxFKP&r0WJpg4B>84{RXzV7C+hO4~ z*xW`*c!BZ@HR2E)CP-}#aP%GTPcBtA)<|*Q+pM^yYm-OnXH~9kesvXx-{s1%?Ri%Z zjbm(S6jrXl!W^DP3D=LSr{!O{0Uv zZ76A!L^pxjLez*utZ8)3SK|XO9REJmn`b`h>(2D>kn0b{HtdRd;k!=Kbj8MQM`+3b zw@86(TxkYaj^Q2gyMH1%zxlG=NBpFgX(#By-9T28%Yn`@jwO^_cP2$dXR0- zez~J7?9>$Proj2NTTHiIi&?hd+gbsuKabA2LG`2OV`QU1ae~qwBG|SDYLGpfG8-B< z$Yz19LlQt@LR|uF+roM9d<N=_Yd;y9sMP9wcrDL=uPSRxK3jSy)*6A9+S?FIk= CdXz5! literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410215 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410215 new file mode 100644 index 0000000000000000000000000000000000000000..9ea22668d757ae5e5f3c2d8e225d439325c9b222 GIT binary patch literal 6112 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 L0k;vGBatKlP%d#z literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410217 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410217 new file mode 100644 index 0000000000000000000000000000000000000000..05f9e315a2410c2cc52f6a6dd591cdfd34d5662b GIT binary patch literal 3980 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 N;5Gso*c<|r2LP|7>~8=7 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410220 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410220 new file mode 100644 index 0000000000000000000000000000000000000000..43731c379967e2c7b9785ce8de683eb969246676 GIT binary patch literal 2896 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410222 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410222 new file mode 100644 index 0000000000000000000000000000000000000000..950aed8ed43dd3bdcb3f19ef15bfd5f23fde3ec5 GIT binary patch literal 5368 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410223 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410223 new file mode 100644 index 0000000000000000000000000000000000000000..37210358575342da192b0c3c6e5c80d32ef9b877 GIT binary patch literal 5496 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 ac)pzv{bEet`v1At@O{?*hF*i^Jn|ofG{6%8 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410225 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410225 new file mode 100644 index 0000000000000000000000000000000000000000..ab1acb28e96246d0ddb51eb21cd8592b2928affc GIT binary patch literal 6000 zcmd5=3p`cX8s83i`H*0%Sa?eV)#)A;@Re!qRzx7YgC_x;y@ed}>Hf*{C* zpF`{*JN1gf;-K$O^&YyYNNws*WG*z^SaE6LZ#@J1fr)tB0fQq}?dc6^|Jv9iZMNZ< zsxtF<-|=0dcB$ju`enh&*`;OWwiRlzJ&_ffF;?}#!nFJS)D(N`Y?C#|^ee>#fDgnm zlid$XAYAb0iRa-KN7ksR8(+#VT{??&`zN{{r>gVb&cD7{X6e`=NnpZoO{deg)r*!2 ztWTkDewM!5Vj@90ZrBx(HA`Bw@S|vb`s$8|_L}{}e^*x0i`&7v-=Q&P$6wKVZ_SwU zM1!#%q7@UoHpG!foPWg3aQ6eV7ane@{%P@QZ`5sA9WuGTV&iwuHHIWvx>Q)#)fAcA zyy~X>azEoavQ}Q@yPpK}NA@90!mbOyE-C!M2_ojMZs;*Bg4(38VXYHlzKsFP{s)B{ z48kQ1BJv;aOe*1Xtb5__V1Mgg=AC#}X!40mYZHW0sO`m(GRhg+?+Y~84sVNm!gI%p zd?)JZYH1!Vj_Yjyp`xuC^?nd>`Z#{TYR{>KQnji3!sHn#&0a0eR9~a^rw88V$wg$u z^@SeST5MSptH`E3S#293XVSs9yQ5?h6N1b&SHNxocqq_5WY9?CU@_Y)s8y*#kj<6| z=$4nt5~+~0poI87XZZ^w)XfY;P&OZ!#)1c(H&9L&SdX@eo@{hcrPEA8)kCC5^BNX6 zCPo}ZY&>lqZ<2O9yYqD_-qBu4%y#|WcUvW5szuuWdE#QYweilT<2yIrO1Tm4RjFA4 z?3SANbm8U{6bs0Qw_*GjYAsJ^`N+C1=T@x_)_e8S(912`66MSIN21u9*h;nAT^zb} zpJuIEDQADOQ-_B#ekSIT?yYDAOa3jP7JL{6hQ5⪼Ht77K|%x(K(C>-V1tn`abM& zN#S=Y&Gmcyu;tBpE$jY|ho5;TMOBCLMOEHhoIyMDKGLqvaA=L;G7S*`4CSx)>vu;Q z(j!k&Z(ep^5R<9kp*c9dp&)R(T;HPSDjg>7D1S@Bt^s>8cVrzI&S*$=yz&$%f=-a9WhYqmU0_`BuG6t01GHws9(T^*zNNVGk)BpoXz*TLwbvefcDW! zi@v6%;YgpofLiO`d(@I>ujknmO&|Ij<^6ds>vo(mDz&`Bld^rtGmF6#hZxW?IBmCl zL-E}!axcJCuC(omsZ$!O@)eVAv%Y-U#i8=k76{kbbP%=}p^QQhQ?NT`*7Acoo)=6* z3GF+~w$8@J z`m6Nr#lBsC`AT)7XlKK#Z0BddC&j?V)W`}bxEx|P@Apd<@s29~{iu5EE`DS7aeA+> zvnZWbusSKLc?j4o^9*do&AHI=0WOgdF>XWUhYvoiplxQgS8sLI<`(-}g>v}Bpq;n9 zmO|!_g@a>$w0=cPc`?1P&eKCfFYH?W%M={ZLTrBCsO2gM9HLx4YofLubaZaMW?CM7 zT|*$zP*x*I@q_aYY2h?&fz?$~NMigcu%}!F_K=I|T%!9VsUC8RnDNMzu*9k3*#n+O z>z?S;e;8!#5+8`kb;wg?Ck4jHLK`4lsDCh);T-9lrwf^fs=4{bT3W~7zqHlg=jnbo z>=@tTBpHo>tZzGw^3@9m0-J8UG`%e$rU+7LT;w}72OQXV1+DK?YXqDs}htXflB%95vucW&c?M>)zFrn^n^j0s}L z`66=k3&A!eM?Vo0+|&PxIh-{|$DH?EUb)U;LcCXF1;gA^XLquvVMKCl3HN1#s4&N3 z7#j+D>jovBGw68;-of4Q-}qe;=N_J^sLXi=<9Ex+a~SVNlz1?r0>&rpjhy)h_&E1J zYYxproX;7@3|dGPB$Z$dj)^Sznx38yurCjI;F(CQpHCe7jQFGql1jkg6dPg30Un6| zG9F>BJDX5;*{>8qy#!!C{l5X~ViwR-=5B8Pw|LA#72%bOQ~yW?v z*jzD|wzbHJ=L&B+Co}A%z&yJW1vYa{V%2B?`2sw+wcwR={=Wo<8yNzuLa==fU+_D@6d_FO}RVI`Msgwxk$15qa~mpSO;9uL{viuU9I#)@C?V)PL4mafy9q+<6_Y|CIf<>gSH#SpVr~E7>ic zmvHYuWzO#$f1IgAAG|LtXTdpzXU_biXDX-uXI)?O5a)BoF@qLT1xY2C{4;BX$hA)# x`;7Rc3X=LKu#s|^6HKdfL*ZQt&ijnGqzaPy$(W|BNshnAk;XwpoDC$Y@qaISg8cvh literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410226 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410226 new file mode 100644 index 0000000000000000000000000000000000000000..58a164303cd595bbdf24198bbe8dcbbddadbbd31 GIT binary patch literal 5916 zcmd5=3pA8zAAiS?rCcfzkx1XhO38@OE-GsblO#HuiZKzZwqjlCBbA!4yR9YHDY-4} zNEx>{QMnt*StOmW+(MY7SS+i2&+|6#?CW-nTIcL@j`#V$&-=gp{k;x%(YW?*-DO+)C%WsIT8r+nGEJ4`#$6Qwi}A^_yYZze=3da*Gm6p@gN4c}qwzb`NC8VOcG--Hy){Wzb|5OGmX0}JB};A5 zR_A0{4|()^-_hwaqFv+>>Z~$nN@bO<__@kJJ5~ zDUL4Z>RQPAB%W~GkQG5}iPqe#R60aVtf=j!q(SP#;J{TnVo5QEbAL^ip$S9LB!pFO z7n3VWd-&{>wTY;^Rn#ahyU zUTa?c+qS{eCzV{9Cd8MHUcE#WBZf9K#_fGx$#j0_Z?h-m0B2>W!fk_e`He6pXk6yR zOt^R*xS4|pjko}rDRHTm1Z%>D%)Zs^dlt!U*OtU=B+>uaS-R+t7Tu_Jwx)+yUKr^x zPfpMnp?p2t>U~~WZ&SAy3vedf`AU6Td3cvWN_s`KbVqH=uSc4IP9YOpGSvnU*bpR^ z1nmtNJAs!I;}f^H+IBKJcLxmDkE-{D4l+GYBqfzOrd1Lm;(uD99OOTK;bCCkfBk(( zBEvgM`a8Euma$tgFZ_IGd_+Ojm~8{daUy+TpzIXKXbM!DAQuv7pOZ?!u~uaQ>3hwy1^F% zFEZ4Ikp!M@WB<^m%0ijYn+(d1Z$`8leP#DPU__-P{*+u{VwWEMXNShtI`{G18reh2 z`J0+23S(`9&Dln@1jBu6&9_>4rxSrf)Q_Qr<|wMljlp60G^vm~0oiF^b!_fYxe}Z0 zZt|ZVrK7`$l&LZBBNOmr*dZ1?jcBZ4zIgRcO=e5_KEsd=zC*U%Di6+<7M}DAXGBu; zUSEO&LSt_N;S2@=)r%m;n+)7NM6VUy)eAqL`NWLw)9RlWY2@bHU9|q?iJKW6XJ1MM zoKjm&X(bLX4qaT3v`Vi^XoRH@_#ILbG%!Sq;P?9>rKR=;2j6}z8&)CNmgg72*kfkb z;ALl27+1jXEYU6�P%|>QTE4R#1+2uYRV8=P#e9)HcOC4fO50+rVvBSM7zsm1~R-3@XTb;Fa^2z`23(2&Vrfa~}Gk z511bdX@>wXeXRazVZklnNGwXIKl~R!z`lbqN9|9!I|!rS|Bcw@iOKZrA}sIIVuD-1 zk!V!l1KpGOZ?ne>*7|Q4p8)$PR_lBjOcu^F0GU)Hg6OAuRKdIosvkK|*8RDcl0Q<_ z+9JMGH!8-S6%jtv)lCfEUi5q~4Kd;2qfdZ=gGd0cW4v!zufV+-9dn-V2qL>a$`@cn z&v>|*N$^C`2^R+($>*3YH>iD3%h*0ODRu&4GFxCw5IYvHzk7e~I~8_i_R%%~Z7_ds*d%R566fHiW&-ToJbh*XPxi!@eyIf5@m-q#Pi#fkW z=e%zKA@rR6aOc45Lg^U_b5i^S(@%%{6CV@a$PD^ttepk0^C^BzgN<9jk$g{Q>*c9+ z0A=Bs1@~Ki-^|nZY4&joIPxQ~%@dPCotGjn@6+t!7I5UeG4aoKC@Jv080QDyA|Pf0 z@&z#>=U8HU?e;iAKegSpq;Y?pZfc>S3X?V(Mvyf6o+m%Ao}Bakj3C(gDQM43s%63S zqjyC?_0QOo3t;C{{Fs(L+yai|XZ(|Ta-P0VvyWTAkspB#SIdH6(ztOB+l!~!#Vz2- zd1IQ?lLG(F!}-Ct2#A@0^p*YcPC1)>=|cIC#FGPJ2X|-D9@9(Qp6PL^-0;d&aDPC@ zOn15Wyl*h~aF6BJzX1QkLPT$sHt_zBl?3GB?_vJH;lz>r&$HDUYJax7oPd~)FEFMV bd;ed8ZPI=*PfW=mJO4xur=H>bq(kEWhtzn@ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410227 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410227 new file mode 100644 index 0000000000000000000000000000000000000000..bad3668a52f34bab782ecddf6d9b5f4b74bb3c6d GIT binary patch literal 6136 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 aEDeGKnnX8&`Ww`ULvWZN)uHf62QdKD{_4#D literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410229 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410229 new file mode 100644 index 0000000000000000000000000000000000000000..79a6ea64f701dffec97653b1e173ec11f902705a GIT binary patch literal 4724 zcmZQzU|`4$Sartb)*rVFJJ*OQckNd-clC2+t^9XpMep^=EAE~t0xA&}jY_|D@@GrE z-wXLVHaBJVZ&znISG-eX`cR+Cr+#cZb)pR53y!H~4*G%JV(0!9#VwJ7suQowi5T=v@*F+3{i`=R$&3F< zmjNnqsIF|hvwq>q^GvaM{*hDW-y|({>bRErO{Z0imQ@8G%YOt~`R&^oSlnoPa}B5Vgo?+9wz*$WJ>9}| z)cGm*&uC6vH>(q`$~ip!nT7luK6G5E3V1Z#(1ZJB@}>(6qAgo_A8gyaJO$)p=HusI z1uB485O4}4n!@1Y?Es?RpWSTj*e>JPwfb_{%x&yRXYN!b#P2<}=)kmqrdgFs45stU z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ` zR}2g+K($OD^)DD*Svx0A`n&N)nd#=*<=^Tq&o;8=R2E$w>V5f0>E^c#{7w$QFxU)K z3XU@J>oPjCJATzP#@Q|T2*eTcUqkRrk@KsSeQKLM)+5{zK?0n>=C$JZo>#=W*4dn=vp zI_ECiut0?|`Tf%ur~iC+TgjCFjcxswvtKT&sPAri@!Bd}+xO_Af1R_hh4}T|dFtRk z^)?^SEO1yDzIJ4uu|e_7G#1tDS1R99IJupbI(?M#Jo8STG@T#}a%2jFfY@mU294z) z`+*n^k`|rO0dhcMoCU=NR>sCAW|k0Hm^v_>;ve{wsXUJFShc6pj(b-HwmFfD!6ehl=GpwEN{lL+<7_{+23<|9|NGfxgEY9ikF^rzRJH4WQ*7^{b@#sXPJ7qBWld@@C(tZ#xO7c>9b!Il@?GZ@!U-W0 zZhH!IDJ@A}G)FMU>FR?eZ9YdC7}NzAg#9uY7{exj><2jl27q~95y%FKae%_b(8RzL z$_FU{t9@yEx%^Flt!6l9T{7bidrjM8lb=~FU2}Yfz?1X$mu1`ls$+5t@r?`u>3{-a z!bGA#ssXB;5#mk;hYOSTMcz2G==L7w%H$^d*Q;Vy7Ak8cE1Q4f+jWoka-~SX*|Qo> zU7{hkOtn9-2M6+;`V<<~EVe(ZrG4^L$A?nvK=Z(1@;c&U*7*h9wfwu6=CMv(q*7q` z>96&=8h@oXLbo*@d*ng$%?6lym^+{}n0gnuWc3xsEjs(m^(xo&C^pWoH@)_3`#+0~ z=_VY{^)57n6v>`Vg=t{~n+r_u7bo(F^|-ivn-cjmSp4gfIbu>GbDb6Hw!FPk-m$4k zU4!FE)QsPL_q=CMZpvJC_VNF9hn_BtY|US#D|qUm`_7M`cxCx#v2e>bsY{O>9y_>4 z3J9FBX|@Tk5nsw;xSi4Ji9D|f)KYM%2V}$I6h?!jLE*p*EgL|5!et3i4b!g=4aj=H z8leQT;cy{f`3qA+u&e?q1ez~Hg83jn!2Cf=dl-RkBG-J3U_lZ@H{X`+(t=w zf!YAnh(mCgAmvMN+-a@mSmtx1BxT{Pn%kFz1>QvMoww|-zp$j_vQ4ut8VOGYD+0Dh zu%yvnP&rtbgWKL9F~apYgSd=uS`4%m6RrYR8ils~PaTA+Lr$#=J2gj7v=A^26XU*5gN z&++X?J!pKRw;|vO2FQS=(Ty-cg6%2>263&GO>=;C2dHg@kq(grkeD#jan_As`;!)( zdJk2J66Qp@$%4ji!kR`0iQ6a%FZ6N)IZ{c9L-aHX(hI65L2Xp994Kx{3@_TbjYK!` f+>wQ)FIu??-bMt46VZJWB!7VP!2q_1gUJB^a8~+Y*ME{htXsXEoWA))Vn^_ z`*uIud0ql&21C-K(_A1L2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsNMz_PVwN-A^3cNI&xQMs|FM)X>08LmpZ_rW+Pnu3Z)D$E)1cc|d~@Bq=6^}8 zetT7pU)n9Pv$%Ave0k?H5hgv(=LKampXu3hUQyi~a@+pR6Um0!PL=Z9x~9pK?r(@Q znLF#F-2a2d&kopst1ysZ`?d4=S-xw^ZHCXjCEN;b^W9#-AlkBx_rbQ!%TquuWCBy~g!sM379E%t&@`)ZiNSQ9 z+58W;cFU_TH2Jws|5U=WEoJR1|7f>bv!>!^zx{FOb&i8P8<&^edx3DWEVK#eb?`khTYMkcXowPV5 z#^m0+BBeByDKzBu+YKK7O-p!y27>+YE^x`}D~wxo_L=KduIW*1oL_Hx?b-H!78}z| zIG*cWXomV>D^NYMyOG%p6MOsYU0WxzMs#kww0b_vvvZf$KXbd0y!Cn8akXu4>~?}2 z&-Cj<1BeC!MzFa+Kb*V$vuNMc(tm${CbHRS{gb$Dc0+zW=XGQ2%PC8|U7hCdR$qHz zDZ`@+o=;wh%x3A=4*a`ZqWtd~&6%c`nKmwP0p$m^cq zl$Infnj@IwboIfKHlL#m4C(?5!hRVHjA0W&_JbS&1HgQx3}l1EI0}jjtPD*IOrd;` z60q8rwwKG_1lVeZbJis@?y%RiJvRB7)zUS`X9zqwe}7rV4WK$E#}MDhAdn6yNI!Kg zxndSyY46rw`FfM1INVN^SiCOJ5U?;_r!{l&wa*}B5(QEXQ00secQQB_^rv6+yF5{k z%|CkP-br`US`OKGzS+X~XX(U!O}Q7Qyw8w1uG`wL^|tJcp7vAQKL_uv;xX1syC1&n zbC;K%)ns_Q8oqX9p0Ppk%rq9&>{lw^QaHJtl{$Tt@;viSo-~~xYzVYBg+V~crOsDtrp>B03uif=P0gw&%E0FsSDhEn$%)mSi z$`4>bL^w0BuRrVp4eRAVO{`F@UjG(d>rj9r_ z9eO}xH-X#^3$MZEHcG+^lwV-s4i0jph(lt+Vgph}!Fh-{1cwPyy$)6)_;@eF%O83s zVU2;?Y<@n;x{?3&8J9SlW|pjcTaISJJ*YX@(&#U!94yS?X_RpJ$RIA`oB9J^zX_QDeO`)-yu%^*L;x?2tN}`)U^&Bk zbM}O`++A?mFf%OX>cbC}->yC176DBe;8q`yjVsN7%F#`*R79{X#lRr0wX$grP|rqe zW+GXF#DtlSGY^98Pg->9D^w*)m=ozH3mUr#YZ@ISZlff;(8~?vghEOjqNh=iUQj&= zN?-7Lhs5xro!dxs6VDx4So)%sn?UUecsLQ=A3@Rs&t*Ucwuoymn8m)$NMV9R;ot4? zq8H_@)K(Nm-F`W3o$+h_HEUn3f$Arwynxqf1p6&OL&5zfq_!FXccP?a;>=G0l}B(l z5ilQXKBj>^l=uT9`j7;Wm~fw>r%71*l&CyOqTey>M-o6{lHoR_v`mbfq%M`nK;s?5 cUL*k|CdqC>$&*C)uaW!#w-Ly|<`9@X0I;D|2KT}g9Ur-4w<}}!v0|ir^Q#Di92mufJ%fTzh75RN|1Wb z^{1ER)?G%+3ukr3Z~cnraFG`XuG+@d%xjDwaZhUyX|2R;_yGRv2CGL+A4c3n~!crtRY^18b03M?(DPo%#_57 ze604?O7B1KOR`#)rowo5y6C#MP0Pfu?cXzPcF&#v0=y{JPwfb_{%x&yRXYN!b#P2<}=)kmqrdgFs45stU z=6|@gTV8#k$l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q?vK+FVE-!<)Zi220Hcb!)VCxlG6?J3Nqv?O`a9Kjr?s}Gj6`5a|nP#0hj_RC;k z44VX04vsgFJ`e!LrzVgBiE$JZ7g!mZ7??u&KnkMvrS0YNHvzVq;hc5Jj63W#ZI4ZU zX0>$9@fiY7&fi~_aRaE1$uYz?G6o0QC)Mdw#+?F&=oc+9`>&PUs#S8Rb?K=Z(1V))vTdBz6CGt*d9 zvtOxvOX1{pR_gRo%Ja-SdD3)(upv-g3WI>yX$A(3l|VLHn4B?(igAL%#Ms!x)Ced5 z6@$|${((=K%H#NsReLJ!xOdevWq!cn`+gQ7R{JETeBRgW3slGy5E>NV;|kIO0mOt0 z!;EPSQ00tJw>o@i`}W$gB}ujMT8_$;Ept9Ce;m5v+YOJmUy}Z>Ih11Io*%hy!tR_S zud)}nuoRTd5`N=!`_)zEtS##_=gqzGvXu{L9ynYqYi8)BUz)sdS+3HgyeC@voRa0t z)Av5g+kI?WM}!D_DFeTg12DgU(jjt~AhQ{)-9L-Y4Yk>F(LlfmHkX0H;s1-*)}OBn9nNwzIG`_VtM#S)n{MQUovIh> zzGa-g8nnrN(zUZ~b`vk#>EtxNue{kd^DUz>@4I=6?lHaoyiUZO8)z2T5AOn(tiHmy zMQ5M6Ugeq|#m4#drq`Zr|7Wo=-Gt-0-i2nUAGX5OgB$?_AU}ZpK~O&f0~<(fh&LqG zC-(N)yS7ebjp*EVY4v=TXXh@hf97^0dF%7G<7(U9*zIK4xM+_aFqc6ABiIc<|2`7i zyurBWpsME+*X9$GjTkvK!Y-)h$iLT`e%<49$&+RB7JM^0lrOEn@jhtU=WF*v>=f1N zw^>|2q_U%mvwWW?$iFPzdpPsXChbTsUAfh_^ZT#w8|n}0TD&*<)BCpc%h|76mP74K z`40p@HY}bPf!tqEIZ&7}L*o=IM7X?Q5SQ^yodPX0CIU6_K+OVEFiU_OBqm%1IF8^v zkli2vNmHQm29!rZfDu$KLzu*rVPH2I(AZ5Nx5L6~u(^$r@R|hl7d7G#941I@0C4o} zFnB32E81g8ncsBHqmu)??|t1TtK#c9B~#j@L)QK*EQ+zE(SJ}$SeV1>KO)L+2KM!b z9ze_R6+m-XVHSaCq=bpYgsUJcjS}gm8XCI^YZ@ISZbM0{vUXo_hr`bX$sImLO4a!pn9N z{f=Qjk^mBu47ZW!CaFs$GSGO(uop=HiAl1XK!-~CVOXI;%L{OZu_30J~G%bAYP zpSxstcySTX42Gmdr^P@t5HNy>t3{bNlLEeb=CaRz^ukog?EU{2m*?oQ?O(moNnZR< zx(rZ>L*x97Uo`r*En#e%l$F+7^o}_=Uqts_laKVbc^Ce^xpTU5`|c%b%wPHc-1wMV z!M}X!KRbi0>&O1TdzUShFA~3(ncK9V{nXEZ39n_{|H@99I_2k;e+u6t8}CX#eOfH} zZee0s-HR0)Y_q>j>917$eEw|28V;@VGqv_6y-Z$x{K}H^MGT@XJ9r;#+q^sl-0}0Jlj&%zVgqO^8e>7bmte`OfnDe(J;~J{rQO@<=@}bpqK_O z+0%0pTa+DUUn{R5o738dcewIlP44T@)`v8ZOhQu&s`$?dGv>7$hAnRoJ}=>%azppp~@0kP8z z3>vF|Y;e4R^npOqqBC|t3M9r^P+VYTY;0m+3X(vm1FKK*4}8j09>;gA+EZ!Ay{n!n z^8*gw_p=DG+9xsP^S)+Zpn9f&(4YVxSFm0%k$&o0a>XpZ(%!AV^7ST1ak!l-v3Omc zAz)#=PHX1kYo9@iSie4mX<&r9)!}bmdW}>Xt5NNN^|uZSB_w`7v+kSbexa~+FC5#R zS;#y3x12rmjFZJH{r&l+64Mu5*ly17)+o-cbMpM%vm}|b`GE$4!^N^@hFr*ni7XUq_C#qvA4_i?#Rbf0-O8+tqdQ z4aboRsYU6{(WaHY%s>;t?w{D(XYblNku{=o+ojd>S)QG{wEmgfjpVJ*+m5Skdt1qqLLflF3jVcep#&s?u^ zO^;&Z{Cd-C&$j=w*qCm@@m%jhGe{jQEC{*<=;jdaCm^#yfD!CIU|7WS#heW;d6MPk zzM}Tqw0p{5X7BQiwXP5sxw_>}kWfwD!$m9yUw+hU+azt$nNxK+DmkmP=GLp$O%}aH zftU9AaRSW(heg-4*CFN;C*O5mA)F90;kKtRm(r5tMRNpmoUT4t(&ht<1$6-iVZRIp z#<0mC`$3L?0bm)Y4`hSHI6!&A5RxTeYQXeM+sox|0&F$IIqQ-cci3y%9-I8kYU!He zGX$QTzrQTw22d}PV~B5L5X?{@O-z1}D3EG^YGH)9lfmJBSQNKaogBMV_Z-{06TOu^ zlMj?#a=X69dU-jwxzn$zUyTi$me*QOm3PQE`g@_6{v40(%Qj}*(rk$#c5b?6N5Ne0k~0Iq9z=cOQbgUxM}gcm5UP$Le(VS?0_07qZ&;{t7-9Hw`j@%JBI>vEo|R4}7{ z@wVAVs=6EYd9DqshsH6u76-Cn$p=P*q+wwWuSba}hZvZCeQ1Ez15hgv6tdw^QIzl_ z(tH^b%*UE`XkZT|{=f(pBmpEQJRCuOLI$wBjGhiadSP)0DrdlEQMulMxC2oaBfA$C zCbX~@Qr}^>m!UthdUANqhKJ`{cQs_a>3*1Xv5ezGo*wg)8aV^k>aA~}frp;EZ8g}+y-wC5^Nj8q7Zxj z0JS^FjVIcL31x0Vi4P7dAx8d`hd%E-7HhsRfaoV~s2D;n0 z-PN9Xug_!AhMI`2o%ata2g?`mb{-M^O9uA!hiagG%#}cMSm7=QGLSrk#DuFrj~`e% qL(j7)`GQC{Nzm9$Ah*N93!Xj)iQ6a%FVHvvHR2E>eZpfM$N&J49-Msu literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410233 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410233 new file mode 100644 index 0000000000000000000000000000000000000000..5333a2dcdff31af53fb5545072f20cdb1cdb5735 GIT binary patch literal 5048 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 O8bvKo6la?irUL-BxBtxm literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410235 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410235 new file mode 100644 index 0000000000000000000000000000000000000000..c645cd60c45903db4eeada65417e9233f98d35db GIT binary patch literal 5152 zcmd5=2~ura%)S5byZ`0){kQwwK@bEfociLe+S#Cw z9aD0Ks4Jqw+NECkC=ArgGq()&?`qq-3$To5s{_3=4f3Z*6ShuG3BQv)ni`QDhE?Xhg-2+^0Rvo=q& zqZW3Ui9XEUl6ILb$`ND6aqN1os;h3kGV|a|7u$7q+!G|NYMDo61IFEH$SisLdS4+eY#!do-yDja%>fCJXtj*wL+)p|a>@T~(v^Hnw~~WbXUT zx-qMymRI>x9tZl2r5K!fjtZ>wKzE}*mQYeS+I}eo3)|FCWV8N z4Z*S@{ubS78EcgOa#^%6;`C(ofZ80J41?9uZ_mwbYbrjKC?0Zw%bX<FM4Gv%xh5XnM@DH;-$SxDnK*Z$C2O}u?@^e z)Jk7(_T-9HtsiAmWL)cR`eeEo#M`?RQ>jf z8+j^?muZ;~E_%xTOMy7icr4r=ue%<=S1_(7VF5R*ln`&V@zitdL+F?tx=(7&HHH^nT{>n za=Q|;D)~`+jIdNPT-f<&> zB%cF~5r2lq0J9J3VJh~F1m6ibpAh{MU@GYwWlVUEL4W;h*uKYK*}%^~B8I3>2wAj!Sr0BuE}>%;4q z#^HU0ZwL?&7xZ^7zWCMiCwO;{xu;G6GVly4urH{Cupt78YyXTN&ok6M$U(g43e<&g znAC2LGA6iJ++X~6-A{t;d;G5aJt4#bSLBI47Xrdx=0uz<-1$K_D^ZpZ6D@EU))~{{gCcF;0Q} g7ZQ{GC}a9!zxYY8eUHE3H~Wu>;qZRJ4>~0N17m2R>Hq)$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410236 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410236 new file mode 100644 index 0000000000000000000000000000000000000000..cbaeca51b836d91b11ebeacecc341e422457387a GIT binary patch literal 5040 zcmZQzU|84cc{yGF`21C-K)7l^!2pB=c)uPOsNdezIbJ=GHpn-vxV}4Y>wkB)Q&tsmSNh-iZ1)PdUJ!JFW$j$fB`a0e?|DAgn0a~M z@{4v`9=iW)I6aTsF!@Sd?yWVqHcgqjJH_@$gZUo2>4M$f45BT2cpq%rygUWuV&>!L zU&Y)2u^`|SNHm4P$J+r!zdyU#+Ob{6v1|3^u$kM~lg`|!N{HWkY|(*f0Zp?iml#av zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmyL2nQhP+Tb*mz`bQRU?J zY2N1VI)F;VJ<48y)dC4dup5BsV1|syic@S2+g@6pO4(_?lgs$r4^!cHt1qUUH}k)! z5#X1y^3Ghf6=jWHoA&uGI%K`v>7o7I#VZe#N3OfEHv3B_$gg1k8oqX9p0Ppk%rq9& z>{lw^QaHJtl{$Tt@;viSo-~~x402=&gMip+1_q6FAp3zB4w4p~2?laNVw?rV1y;sD zUNV;|kFX zBGXS@ORkv3SK7PvSH9llC=Rz%B^IyCGXyM**J;gMeC;z><&0?!U>fKKs9PO+_j~UV z?R@gy^q-ouUDocY6~$YVL)hNirtQ(@yO3mZO53`{p1;|)LpNp3TJLqz|0)x{s4o8( zx^7Lj=J_?}ck%(v1Bc7E`G4e3o7rx6XZ~M!Dz{_V=k%u*211|JpL4Tn&2Wt^W&qhO z+Oi9%9^^-uf5FZH=4)p#10l`<;(M{kZwnCS|GVr%QT~~$rssZt3WyT^FmYwVDxFg^ zYbGkf^nlF=#_=!TClh>TcD8*LmVBl6CgM-xk3(t;G~Ab5@{qV~aiv>!moaE_x`}fxE*8R>i znO{t(5(jCJJ(~)mK!6c!F3=C_ct09E=wH2N!Ralog^?+5?`1!jFStwYXk*#6PhEvM z`}IXw9rZtPg-$<~d~o&Gyy`tdMf)c+zV5G1KKH7mPMrs67R#~qu1ZBWB`PjEd3=AK zbWz({^ljgwkUR^$XS0({OV6zZ+Xzah5CC&GILv`U!2I)k4pa^l9?Z~q0}Bz1XITD& z#5L3y1O>AUAp#6HU>OPH6K6iqeZ-p&@&n8tw6up3e_#X)k^mAD7D|wG3g^MnAv7G( z>Pb*p4T?i@{f=Qjk^mAD?iz3&g7a{@4X%!eI0v~Ol;6OBP`SXfY%hyfld3UL@dhBq za3h8QNDWf>5MjRbq@O(JNid%wcHSXQ^+oT>e|EnUvfiAxtc#)Ql=j|#l?;ZuJA5S@ zw}L$e%#;6t0LjgaK<+=N94rlk>QXQuqAp@!Uw_~Yv_1mmdse7cFohHjNKCj2c>F*` zAY~n-E(f*6)S%)hVMnB!I%w=BklSJ51yA>b#BG#>7pP4^jW`5{2~s%$j>>}1F6Y+F zx_c+&g~|p#cm`H5|d;% zF>tzHo$}|{vxPQ`_jz=L6sk|#Deb;w-;)O)VvaFn$M(Y7a_D&#ZV`|H%d7ByAHjAn zux-b4N7e#b7o(>sm$G zi3v|O=y8r*R-lj1faFl}Gl}6vJGUX_XCmAr_MUG$EPc_+O$^BGPon#dNdADw5Ric_ H;$ZRs07A2$ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410237 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410237 new file mode 100644 index 0000000000000000000000000000000000000000..85975ad95e72daa13c83e2d4f45ec4f85db0847d GIT binary patch literal 3032 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 C38Ucv literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410240 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410240 new file mode 100644 index 0000000000000000000000000000000000000000..a3f7c1d5396260896705d01b5d65fd1900629c3f GIT binary patch literal 3276 zcmZQzU|{eqIwD?jn$@&)4P)wy0~0iu1^SLIGbmo&&f;HybCMW4_pDjK?DCpP8_%)|D zKW}%MCiUpOku8_y)R~VO-ZjkE;kYAq=Jig~(uZ6Jo0+3Gi0(UR^s`uj`u*9>){gBmj$NxSht1r^o^<9;RYLsUV~Y+<3uu~Exx`>P z&uspOTf61e7n=NBr++Hp*_N{Qm4CLB|37D;JHOy&l6iQKhKWw^&rb{~|Nf>1#WZlq zo}QD~qUL><6 zaRpSz1jP&~{((=K%H#NsReLJ!xOdevWq!cn`+gQ7R{JETeBRgW%fQ&S02p0c8JNCj z0`-974M>9lFg_!J43;~7&SEA9{O&!ucu`WXN;*fTSjD#GW2XD1T{T{A3NsvlYC!tH zdI{PGRrk{Na`~G8Tg`CJx@5*3_L{cGCO@-Uy5{%{fhXthFUz^$K#M31R$bf+%c%3*&WKGZ$a`3{)pkRC5caoDu9lU>eg9EqS6* zac1fsQRgE{HyatWZSNZ1XLx#7Aof3;hni+cOmnJVy(UVEy_K#N-BIE|?gUW(2zn7zQ04x8`k_7xl|SO!58hr6R&F@2wY+bgpMQ zU-x#-+$V3C_%C>}y9nkr&bL44zn=L*&>A;8sfmn&3gI~`7&Kp7fy`!-biOn_%J$q# z$&2PXOvlvOPUqaoWIW@#Ryn6+yU3*4onSk`=?TJux&h=T6hK5c0M&!@9?4qyD z)C>v-keiVKC=Qu{@v|EyNQ^tAE)|DBf~P2@9{m<~B;g3!ax@;f)k=NKBY4&Nu{z30i%} z3e*KkUtl?q2}GqYL|oF&ZIrnQl5RmB0s^E!0yCjy4@43ze*gtxY5o960aAE@@&QN; zl*Wh(CmNIoptu5+Szvz<5m%&?MNA>wPZ$_BF507a6y!tXV1ws(dfAH!bOtPohH{|5pf8)gCkBbzCQCfC2!Dv_upD literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410241 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410241 new file mode 100644 index 0000000000000000000000000000000000000000..447675037339e4a8f8e6a331311092cab84fa340 GIT binary patch literal 5264 zcmd5<3p7<(7(QMjBt{QXW>8Ax<{2q@B+v31y5yZ}B~j+)kw-=pMvqYvp(TpEswFOx zxXno8nHcn18sV0eG$ke`n!WcuN0+ADtFcylt$X%=&i)_Y|L<@A=UfcKFfZBBx4CZu zj9w{7FoJbEp7USXz3_3NT!&bM!jXRj9UcOe`CF;g;{Nq~8UY1dp3ms<@;su)Z)FHH zj`We9ejD3S+I=w3D^1VliHXwsBS$ExuNS9A#&`wAw1PGLpAt!x5mO7uD%-@Av0adVFqF-Sl#a*5K*_KZg^c6ix5(?uatU&6PuDYQ0%e%YA$5_>?xD zU+*F3oZVMgZ~ep%TX^WE@Si0`7by@i&+X><=k=h(9Ccn`reIsl_2B%nv1q-1%u@Zh z{MKz}O89p)JPL7hy-|}%KW!D65_~~9X>O`W7wyRRD>KwbF0ZL`V-yF*=QR*Wn99M~=z#{IW9utECU4|Fp1XG!lR}pGEZw(U z=g_NN#x3PxW=7J+1yr9QPJK?Uq=UDhkD3A6!?a^ z;52+*1?ehCr*-#_Enl#ux@Lg3tcvl9v2*UPe>P6^7A058Bh{+bc@?H(oKGQCb0sZ& z>>|(AIZllY`c=xtqy|qJ8Ko?nO@YO)H-4ui-GQlfWY=!us#dsGRWEohO<=oNz{;B7 zxDJmR^-#n~;iOoXpgYk|b}RkLL;j22%9j&j&3$p5qigbRN!1@KeNarm$@gFY8F32E z;C2+p1O4!TI@9s{={b&Ji{wvvX972n=evNNFkuU4BFJQMLIcKQ9n8JOp?XB88~4u7y-UmLbBsTb^3|HmGpny|dL(Dqebs!q&*n?9VM*D5X6 zVh}Cp>c;J`?V+Fdx+WZJDS96HuA@$DpD(E855D~q(1PKVEdAK!Cnk=n;7UIFz;BziRDSU;3?6| zZ$b^0J^*dS&^k-sy=Co(Xq{P~S;4aPfKSBdupopVE<|0>6E^CCNjCQvgIdyn0WbJ5`HA~uNg9d7 zw<5m$DQ?4kf!x-faKpkMb}&iTG_qov6lW?XJO(jM(ghER^EMR|tWzaeNAB2ok8$$t zJ1u|kZ({;8(T`>Y%a)$@&vKanfzLCj3rFAfFpRiK;4?VGd{NF*&J$dNV+M6$9}6Dy zBP`6&A6<#MpanMgf=RaQ^#L3!1P0Tdt0~bw#bL--c&;>XeWE_-b_SRx#X%dvbj%{+ zk*2)!z*FK}O~pji3HfFR6Nc4s`hCbrFDL$o3IWV>C$eD*5F@8JVScceAUk$?8OV?0 z?`;SV=cgbLA$Ha=ft!Q)5O)P|g7%h;?+Q-(9f6JYED_HLj?PM4ypR4@Tp~X9FJg9$ A^#A|> literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410242 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410242 new file mode 100644 index 0000000000000000000000000000000000000000..eb1de2eb80e3a4ff40835b845462d80c69d455da GIT binary patch literal 6552 zcmd5=3piC-8{W>56B-$l%QQ%gKMcw(cS$kHCF)RrW0Dh52IIJ#m^A2gBMPJFD3>(- zVbpQ0MlMZ5sfqH3Zf;2?{3Vr3jDM|l_BQ)8^Nd4zp4Rj1v({ew`_}jF_xslOt+O!< z!@5pacg7Fh>u+U#R=ZlhQmt5cNA{YkUvG-E@6C}cVqOL!pZF+`44ruyV$-i7*A=#` zsfTvfSGtv}+9VaJ5&K5$-}fV{b}~{da$U|XGju-TyxN5Fn$37)m7!ziVI$d7mV5)O zfibeK+rl0+A^3BLx$Q2)Y0%b>#_8xbkXrg|yt^SyTcjeFYqdaj)LR~iSUP$+GAQ{S z*%_>+L)48a#ZJd>oiNMLQ8jM=Lpc1EUxruq?YsmJmbjF}v7C(o-|L)|WFGqN!nI^h zo`$D;_JPnbF|NloyDZtmp^JNDLm~75mRgG8oW%lFAIkI8LtO)a4@ZafIz?0%^_tMZ6b^s%t)B}eCQ=C&8dE?AVQKb*g~c5_!z z=)NeEy#wdfnKpgoE>cIy5$pD@3rL;c9f{NAI z?I-4>F4p&aX?;cHWvju_jsneZf=d(hy?_kVL%NgN!{vTAZ(#L0nX9iC-L*yN{4#a( z>ZC4{Q+YKhlAU#}Kl(I-^(f2fwvKDTfN0*ejazmclL(0`9tqG++Bn;$HrS|#j}vT*>)3F&AN;zH>CK#b8huzZ*|?caPq|EbS5ImUik@Ob#z8-aD{$w8+wud=vW zzR`gTZV2aeGMHT#Pf&JV-JwiW6=(XQS_0}CQ9Eu&=Gs9l4(vzLa)$T|## z%~x7Z4ecF}veq)@*R?H;P*9dQ`*J9j>wc0mH}!#1VAvjZsjT5ji&$4>k?VnF0Z)LO z?5faiLY#uIfcJJ)mGLWzd%Zy=YAiE5=9hw>bNfpj2LqpPp_sXrRMpWVDmkI9og&<) z@!Gkct+Otd*z?e$*G6fbtHvk6E$c^T;TSAUhqWHxmwEQuxZk}|zr{gKO#Sh&8@s=T zQE#Uf^i{XZPn=-+uLo5R?)5M48GiG-m{6&E+Q?RYc1!8U3&R>$%mKgaWd-=^MLue^14VRBHF(a9PBkG`kGQ!}x^_awQiKYUSyoXB-x6?WL<1 z=)`3Ddh2ZWHaEwgLpiiQ9L##v4m)g8TVQRvoeq-i7P6joAR%##+Z<|87;*abt_F^- zsi=x{u8Up6m5{oM()LfDU>$;Eyjyy_1LBS1YC!-4R`?YNb`NF#Ta=o~p(z$?Xg6{LLAC@m7xP z1LyVh)DN|^W*xL%we!lkjj5$uy^h8vY|>K@0qarQ47gh@;tHvc%-jO+jXJ7??{IK= z(slK@$9}CXwX$b8$R^m+JD#&e))fJ z&i(EZ)05_2AZYrnMLeE=6A3+{pI(ge>@%{~cH!&raV`)h|I+`>Feb|_Ba?W8wkLXF*{+uG^3<1`^ z`ao>{RMyAHIZ5C%0tpiV6!w3EACtdWa-?G2yzwTogi?G2SEo;0pMcey!Qs$3-%8CA+8jD3gWl@h_>hS-$`pEtb^JpPR8bfDo zP?H6(ts?QPNS^LQ-ADE!+#LN}^K;q7p-+vtvw{*AovLe2_ju8_rtH5xE$YfoaeG@q zKdm#sbTH1)c?7-+vG>b)?nTLTd|x37bZJfHv_OAqIxx@SfD5?Wx*_xGR7j@`nI* zW-9fCLKpAEFm6_v_OA#fv_T4iiT|MJA$rD({~5tz-`V(&SO^e!KMh_4uk*MK;v2^V zFXZ}9!b8OS6nGIF3vTl-SV;ECLn6)*76IaXD(9a`)WP-~R{Gi)uVB)ib9L`&qG{h~vRja`) zk-K4TA!8zVLTd|x3FOJCo@=KPbHsNrm`mYzJ#vE>r-~E4-zA`jI1-?SPbHrc*vNa8 Tm?L~WBX;p`g@0$4u#f#8OY(Us literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410243 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410243 new file mode 100644 index 0000000000000000000000000000000000000000..a23ad467e5cd55b0e7d2bdbed70a432a18a7d6e7 GIT binary patch literal 4880 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410244 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410244 new file mode 100644 index 0000000000000000000000000000000000000000..9626baaf293025a0b4f2cb940f776a60d95f554e GIT binary patch literal 7232 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 Qj+k7(Q4AT@nY38{3j$5V4*&oF literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410245 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410245 new file mode 100644 index 0000000000000000000000000000000000000000..31bada87ce9f206dad600a16c0f117c15a4f3e75 GIT binary patch literal 7084 zcmd5>2{=^i8$UCsXrb&8aVbgJ3n4<0Z7{gHmN1q!SN6-bq#HG*gzPspT7?p#vK7e^ zLe^;bS0h>|U4@qaImbD3&xpsk<$3y^XXbn7``-8ce(&L9z16)ixbB)H|IKv3B=m@-ENRP>Xe^@7jK9X4Q5q5cFmNbpTG3+Fzj_Y&hsE z-;V40?O-XBmNK<%=X>*`t2wO?T5c1rAOw|!vo@(81zEIS{j>erkqr$N_Y)#2Bt(bp z6N0l5T!Z0cdxqDs`mjVf3X z1PDoEH)98jjmEiIsNH|cD_o+ea=6=!jMwavxg)X1TJv;3f3QW}7yHoLcYUbj4v|B& zht+~+W%r(qDFVEI-CNvqBljW+Ld+v$t5gG;q1*nD!Tft(rC79%}!dLU*zRadH!GPRo10> zb~tUcJ|?9k6E*q{Abt7lVs0D8v7$EB@vmRBQd+$`+&TSqd)r)S8RF!#r(T8oDDaq7 z$4b^Hwn$r(#r2=g|Ly6G2}}SmQ>;L~dEf^R@ss0U5;vZV?bf-(y^|RI*npcu{G2l- zb?M$MEj{NVjP3!zYA%4=#2vs{#ewW_+#orqf$`iAcF@=YPj62(c_lezfL5yT)^H=$_XRsXu`4*Q6qc*# z5-=_=8R}IjmZOFw7f?d-Le|EMcW!(gEL9v=%CU>=rrLQkvq#VYeKAd&yO@6}jO;3g-RI5F37MC=6l8!C1gOvb3XV zrIk?_pOmc*&s!JQcjr>X_AHY;6djt=UP`*SJAlXS!rsj<`rFI1b%pw=d_glo7DX63qEomalBExwAEy)QXctXQftH`(*NmyQv@xkU@y z4;3IQ)@CdXoJzPWo0GYgcLl5GW7e&EG`sv9_gTEfM`eaw6gf-bGK1E^+5qbXZQ#Dy zGLTP`IFl9Kc&f`n@J*LHTUMfshnJq8kXKwwoN%5{ywGKK*W^6=_70P(BG0&GL+mmM z1LF^Pk`JnF>xA&bHpC7^awfNp^{wXW5*~==?3Iq8#+6;*6xkruE&k+SARe}1q1Y9W zKNkEjUuUqvY)_vD=5@6<9#pL^I5fk$<2X-MV0f=!@9Q9Of>zRsz7xKeM2ODMFYQjNwU9e3aa1&E z3;s7Qk0t3z-U~o|^9)jsI+kwur@hjANlYc_k9E3&y3gN#sBGKBwxrviwX+^s6Fw0^ z8ubZurl1YVB^IPsz++701+cuyM;MfWatqao>cb9vGY2xkxl3oBsLKGlK6p-9Aagiy zjGj%*Ve&4VV@wcs)L%avw(s%R+Srpm_$bKV2PR z5|iy5V}h`w{-WpSPlAo1j?5AhbngC$7{Wfm)Dbx7?08Rkyp)C`yV8-EP@AQRA@v~( z2?`wiZv{GSjdh08k<6HU)*-`ihx(kJqch&4L9rEeF7)#Ws|=#2NK6L*F{huD3f3t) zChQth=$|ro=3t%gvEv)qm;nq)w-mAo+t9r{IS(LNXpW(-&(ij9*2fHBNID$mv0>^u zGnkM&6cqPw*2N59$XR1T&s|uM>E}I+9rP8a0tt@o*i1fTV|VXeHwR0J8u|8NH-+@) zCejY6b=~QGJB(x2BJxb^$$g#ZS~ETuf{dF4)CPcwXTum&4(%}x!;t9gbobAR^_?i@ zFA+|L{AUtV#2jOqa_|2n*uKYK(DOY*!vqdP(pi|_lmFI>a#VW8_XOFUIkB+{ydXb# zC&5Lda%evVAO_o+(4TB5ynQzM8TK*L?=NPtkC#)(quxD|*ZK<&M~!AWS(-~#IvEzE zE||A{SC)=M3k|V-^8F70?|+|=IVdI!&yh^LOXJrI8Yx8H&rOagwkS^F^6B>R#5p?M z{f|jZ#5u+^Hxp6G3f#FULC4ai%?mp y#~6hn=^WG92d@w2C?CSf;BzK1xz91CDRcBE!S+4=g8m!%5iy*6H>C$1BK{9d%7=FV literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410246 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410246 new file mode 100644 index 0000000000000000000000000000000000000000..27205f4e9d213e6e40402e7cacb61b4ec9436b10 GIT binary patch literal 7156 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 Chrq7@ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410247 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410247 new file mode 100644 index 0000000000000000000000000000000000000000..2c31335dc2d73eb3db897f8d12817205faf5e7a7 GIT binary patch literal 4724 zcmZQzU|@J5Zo~gqIAqEHS;A-bEM{5vOm^XyLnqh&kNs9$V-S=53#df6GpVR|iuh~g zM2=ZeU5Q85#(#Ca^uzK^+M@IWU3c7_mkKoFD--gCS|r=@bwR1dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*=m`jJTz7gOmt5C|1?p-3cVk7SS8QricXr;gj@hP1<~gF6Q3WPC^C=vtD9XPr{{|UcOKWTF4c&BP`Lg^N7+mDO)e!z=g*$& zmhepYoXvU9_A5oUzwcVk&*(pL?A!M0qSUZ6%3Cv-1LDdUL|cyYKG?Q-IoRdQ$1g}Y z34q)V0jDy6bP9uyw*!cNe|EFAW4nxF*Xqk*Gqq65M7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCt{nY7)^f#{27L{cwxXt30ZFi?EF*o=lQ}3F(<#G!b2?R3mJ2?Qu;3!Zj zIL@H7gnmYPRz#Fzaz<#Swvm2*l7(xIUt+qgEt)z8gY!+c8SmF_PF>G-Sm^q+6QZ2Y zXU$REt8r}etb(OQ&ORXZA>M{SiU_v=-5kRG1gsWFFoN9&Od~ugzb(Ite6O6ree6P$ zTfO;R@5if-%3KXEzB%RIg6A67eWhb2EjoYTg>37J>cB+4M-QxXf7{N!r?@3be%8sE z8N5KVz+qwd+L3w22E{YeSX8rLseDV}I*ktqxUVy77xG&Y0m z2Vyu#T66}KUO{4<1;qtc#>OV*5MRO7fz_w@2R>ygkK;R5?Wwfm-c`?(`2mOT`&ooo z?UR`Dd0(?HP(M>ZXi$KUE8J*?^i$W8D`xSP_HO-^uQxf0!|haw#q0760Sn`GS~C}4 z`wUXaloSQizzB7#Lq)XM+{Iygx&n53pY2%{9G30sv*_pgwNH=x+i9Fqzbo9eVR~G0 zaX^~K#D?y>p}KP~XD0P+E^D5)Fe1Xo=cEP?$XJk}N_^|T{OH~ozj!wP%sUE&m8~t? z#m!ypy2F&%P8aUUe-2F}hhXYKdVl~WeD2PgWU((VE7y5tgS5rE!zI@uKAxyA4(vP` zb2IM_V}1)rgY4N<5CsB^U~_?S%UG~FeAct5#!@A@{hjA;bQLcan|XfTBhB8V$;LjF zUdMZ*ivwP~)|H)H^{aTcZuFt^{�ZNY8X!@NmQHP1>8_>AY*&>k#valkYmO5Kai0 zaNARuOKC~+qB(*&PFEi+Y4ZW5Z*>6%VZRIp#;|E1`@yb&62Nk+7AnR8id#by15+e5 zV6`u8FPFawu+Z1OX!rE8AQ5O{L_{<4f4K=n+HA-<78P%}XkG4U!< zAk_fX!U%CEgTu|%^;Tw8JjGdh8PTn-ekWF+cyP_A-1i92yk|TmcT#hrLe>1nO@Kvr?P2KaO`%f*B`umvs{ma-DoIvwfdZkts?AJ`JuIJTF?mE}~t!d|d-`%m= z(g(WvE)_{|=|JsFf!U2lgSeoy!3-@Mz|sWE5|E}}9~zMLfHgu1lt71wF@nlpm>MF@ zmm$G?kRM?Fprt*O_yZ$YkOYvJuuy{JSvU_AM<4(VN3=Q^=J#Vj6=1WdTwa5%X4trB zj~=K7LCsgNFrkILka_~Uy$t`@i?$j}w{|M~pc0V(D>}?#=OTxsuS;xSTWm0!m$dpM z#L)~X|A7F>&5S@Us4WBn$l(SSAY8sMh|BnB~3}A5z ziZ@WZDh?_M3sW$cI5#CPps|}kZij^zJdX_$w^0&apn8HDaR?3*q~7=$YdgSbTxkZ>hBypMMFiWL3=HC0E1Tv3 z^&A4~!7vj^0Er1R9cSGLwjY=W{h%sQ!kkDqSA<+Tg1WS0F%CBRsaA1 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410248 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410248 new file mode 100644 index 0000000000000000000000000000000000000000..bb2bcf1940903212ff14e4a4a0432312b1655642 GIT binary patch literal 5924 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 CBJd3W literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410250 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410250 new file mode 100644 index 0000000000000000000000000000000000000000..b0c788ea4d72f1e4441362e3b60e97639ee0e786 GIT binary patch literal 3840 zcmZQzU|{G_-ol&qf9?4&<(ZGKK3^HIX<_9JQ3dN=)y}4&SNjASfl7oG8D^$^+}0Vo zaN8r#Ev)o{;@83(Z}tY`>hW$);aA+;68eG4QFKWiI)$h4_~a`8mw~6 z*QaUD^^<}?GZ>NP4c2I6m+PhykquzKC)!|C~K1#WZlqo}QD~qU)c;?d^ z)51sGZ839#cUR;`Fz`D$0K?z}P$@XhptOWrNLYxUpGS~mwzr30VPcSLrKzuZpsg*M zI)=NmCRyyu%gS|L*&uDP?r_Pqh>s`givv4P#@x)i!nlhis`${`&#=|{*X)o5?W~gkvy>!a%f2S*Q>rOAUlzer%c(>%qhdNuX zToDazQ@eKDEbDN_6rt0bK?XAC8>|*lIBoLyocrx><~3a>V;bt7BsCRYYdz8${mq3( z32H02Gyt+;X#hrpq(Nc849znjKH)qDRKxV^Lj$rNutq3>Y&cv9ST4cT5X{3sg+TLV zNH8Dd2be!-X%8dNP2`%75iCdoNK9BLLDDju2Pp#?VD_WcO)$To1gZy{Mdfk~;tWJO zMs_bOOlV;*r2NEgFGJvpKQr&0e3HIDm+jZW3vpf_T0YO(u;#AB0f*@AJEWHiL&FX| z?St|z3?PRaSd56g&meWF1eP|D!vU-xNdSonvkqsRg5nL--pGflgoP=XOPrgEcR=$C zhP_AvNKB|rkbDE@02!dV7L?A=-Gnud4HCCe5?&yGp#Y>nLSn*|psR<47r0zN%a_P< zV6%t_FXHPJn3J&Q4^Wv7FRO^K7nrW$X$akq@QMRyC1qhknVV4TM&ckbVS$1(uc5~i z!#=;t%2sIsGuI!9ahbx}-z-CUU&zU>Eztd!{`RcF*CMEiDgS{0$^VQ%?mws;D7--7 z4bC$lF(TS#4D9Roo`JT{wgR=Vg7m=vl82C(Fj<^_L(j7)`GQC{Wzg77ps<347d(9q W61PzjUZ6HMHR2E>eZpfM$N&HiOZIR8 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410251 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410251 new file mode 100644 index 0000000000000000000000000000000000000000..61fe057e0df9191f21489210dc5e74d5f7f26e96 GIT binary patch literal 3840 zcmZQzU|=Z9n3kGzQSjL1m&y|!8&xc+W~@Hid0s3ae*ym_o`~*zpc3H@hqNWn-*5y5LK|=RqbpVdbLlWadBB|UtHatuF(B4muNUv-&VGu{RVgI&)Q7Ao>G5&){{#vPMzB-V%N*Z zHYL=oHGE~&=I~2Vino5H^}e^hpQkbSvj}>T0!HphnAXd^7^%2JNjk`EiLcsFhAJ$*H4c9q6_?;YpVQ?6z z6r=|RK=B8TLxTDl7}!8+L%fZ^dhc?tzjNX0RdtW~Uvy?Ze6z&x%%?Y|g^#$~V&(+z zuE>u7DiZf7djVDp(g$_}Fdg*TMda;~yp+6co4#$sfo)cCv43u|U)1@yzoA*_%0q3} z8Cx%Xn%Wn`x@g(zm)FELKY6gqdAY5kaY68zrh;q#w}9LV_OIUEf2%%O`rIh8jaa*6 z6aTqT?}()@tYYrliF!X>W};jJ_3ufL-B3q>Xo*nYveL91U-#0`@PMiicYn9U{7Uz9 zTU#`B3^xy2d})gR_jiJZ@`v)IHwAqgx#~Y0Fi`ouU}+jlYWG`^dRSNxbPLeUA>2=( z&R}2!yAK!^X;-WJx%MqzpOn7XK3Vn2^exlHy$>lV3rRnaO0a#{vi?u1>HZxVa~^1( zX)^ksbF8Abs^#6$3)5y+HY&FsnX;N2XdpN&3|~7k&)A@NW*UoX_A8ZdDV*HSN}WDR zd7gPEPnu2;HUz3mVGs~I&A_0s9prA9LqK%WqB9GjVw?rV1y;t!CI+Su1u%7BI>kTm zDN}hI-?3^>r5*RKdZx?|IDFsFBE)K+#FWqbntg#h4DJAnTxM|2B~5F`Vd5c03+0`4vD@qcR8|_Y)DhGn-T0r!y1&2Sz&rXG|UoICR_zLF5x^_K84y3EOSesa*Uv| z45p4qH?h#zO(3_!!fUX(jgs&JP>L;@oUEvrW!2y{q_0$(0i6a;i}(5 zj~lO2f5H3yjb+omBM-oeKzSDeV95tYgG6Cr4l3usfQYh)f$7(W24EV3>w)P7(a45F z#ZkhKNb_Y#Fdu8$p@BV=_yZ$YkOYvJ@Q?)g2^m1@Txh;UN(Uglus8&jGhnl*T=ziS zv2oEJy`x|zvU_1+LJNB#bslzm8G7eDnV;pj`9b=lHT!b=O5ZC_s@%`5)SGqG%cCWw z>SZ9r(HLnT)CPe8Shzua1r#Ns4Z|RHsdxu4ZGzfCApOW;fy_Y>hgyg$PQmsA;}q29 z0RdQ;f;mLGDTKyu0=XR)UhwjHkhqPK@B-y4l(<6TAThyF0U~h4A$s`?(uB%X-w{CfxI#3=|IlATkOQ1moadNb3klaB9rHYLUM z`##>;uJj3L21C-K({&&k2pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsXnxF;T4nElW%Ezx&&?kzgkOfOxN}_haGW0V=GfHaJ%=SvURhTyarns0#aoZP zobvxePw(uBi6Un|YjfRrqGE5s%>O#IH1>aOu)v0A&(0hOIk~CWLFJd9Uv*RMg*T_q zdq)*{ZP`&0VrX~a>Q!!6CPw#vVvn~dCEiKrPOR>iT6n0CLA2!z?}Kfdm#2VS%zXTU zgy#bg3j$7M0O=G4A8!W`t)TJQLrYCJdHq_i9euNemX`N*m>=x>>!-&az3TA5^y6(1H!&~} ziYuTxW*}w)sW*J>$UI|%;+bhIs@bnpzNK(-J1ceiDCK$PojhqeLD&$eB!xjh>@)*| z#ttAG9B&|fAds}^%rYPa65}i=F0e8-HZd>;Ng&jL)u;FeK4mJ8<2zREskGzXRnL_9 z0f+DVS%g^albG^(U$ZYzJySqvP=JpsSTC4JKXom+VisR%@77=WdXu9#+)kBPye`iW zurOYyHFNQ`&tOF}rZqryFhbqx(0(?#{&!IF;TAiqM_No1l8bA8AN`VeVcGeTjKnqd zjK`m~cy;<8VG|So?62w9{r+Vp+mvSti;bt``<|J$)zXjyXdXCR?#`NIu`e$x*Lh`w zw8gr^CD$T8o~SPl>^vEBGw%*#ehUM?lLIhq90#fgg(VDt{0sIoLH!I2Y#_BE-k>06 zU=Y~$-Pf}u>8{57rt_|QTNk-M{t;)oU=??G-Ix1s?shH!DiQZ6djV1k0*qic0P}~) zG^zOTSp`qhBR;&JU~cmzyVk43_8!xTRnyB@B&TfnSDx{XL00N9SA)-=gN!d`noHm3 zHFnN@!z^iZwe)XYH#{8}oNuztc)xaY>Uy@rLf5CA5aoP6YmVYxjboc<6)Y`s_JR8M z2+(e<{w1g%?q4IY2lVd#TlLA(=SGoj#M&jB_|JuUM=X6|6?5NC)cff&6XhD9A{76E z-2n8j)RQeL`6uR{TX^PkR_kWt&ipwu&b5Eqt>^H#aj~(Srq6oo^q7lNWE#!y{FXR; zVP4q7uA&Y1fA-`n3eID!S1o1-x&PP^t>3%+x~o>ZF5}a6FfDnw=l|uZO%Endw>;nF z*R$dk*nyyQ4*}r#1TsPK1p}Zo!VHZ6V=w_C{LdhDsdxua4=4;l`eEjRjX>fcF=3`d z(j=S*ivy_rz;ZPXD#r*auVCtkbW;e8-30P0EW8Gr+b9VyP(DD3DQ2K)dB+nu-;nFB-fuhK9 zf!u~+(5!H>ef0T9`pR?Sd)LVYAKvhMv2`Kys+PQ#(7BmO589z75>t+xgxO9+y#Xsn zKy?quttfs#;vg|$rsGV5VEch-FdwQCC0`KfCQvy-OE-c13c@JqbC9@=lJKHkoe>g3>iC4bd)4kjfD<+=Nm#AZ0KlCM-yB<~8*4o*_x-b=$pF zZ;o@n7UxNmP*VEIeBA8&@sGM^4quJjYSZ=%YGTTNAONyqb}<6E|DbZPd;x5yLjV!& zdIt9Ods(1u`|UtotT4SG8fFP96RrX!9Dt&*G7@Y*upFs`szk{b#JOqD0vfvs5SI**RSqxVVW**&~J@iqugnMXYEe}JZ&9~o~rH>Y&@H+{fWio{HK%q53KI_ zmHlK6t6MtI42Gmdr<*}E5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOAaBaCN7!S{j0DcFH1FTo*mpIjt=BXwCYGf>-B1 z(_A?H-F6j5pLHhlmlnkR_;*{EC*AB*p+b3clF9l>@8*10iPhP>`Ge-ZOV1M>S<^o2 zWlaexb}w;qJSLbeJfrQDf$SY^mW=7sShv4USNgYW-pl>#7(`pn@;=zMd3g%R#mvVq zNO%{3SP*b314ySZ_;@>jXa$YW9$IR;$?Mm8?dY2&w6wgh!~9_1Uq3ze=zWhC7Pn?wxz6n<)1C(|Ibdg>NWBu@`Y%7aH^wiX%|G*wLSbcV%XV>d7rX8-CAQOrd-9(%@H;sG!{885 zDKkht6oBIo#&Phn_PF#*i0|~|w=uhSWKR!jv~A7soEClx|J&qHVUmW&n~k3>0`KX;hwt5tKz>2X{cY0Ui*?Qbo=6`6Q>zS^1Fwx zZE#<^{(9O}Rm-FwHHPfoJPSbX0sA4vKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE z&- z(ykgWH-#AvP<>#%1nq;`@zVBk`I`V+&2Y}TWX2u#nzqL#KeJl8=J*VOC+F`k%eVnF zlgTl}()(4h;E@_WJ3G?vuvx6piY0;nE6pMb-Npne7hHlSX{5N}WrGcZh@en@}g8f{To zmV(Hxl*$c2*Ai)TB127$Y=Qz-udsZ+vzG(T1 z6or!6OJ6)UNsf|8<6*ydZ;QcN@uahv@AbF0Jx~8r+U}h*>684|7XtrU1O3k_pZ?6M z&&UZhizVgvcV3$t(|)`#5N+i-cJXvV_TrB*!Co=dujStMekqZMTAK172tam2`HVpB zKPVd%X3W5H;|!F~Kt#G?U|+vy0W@vx0P16f=>^d+OHi3`72r66^I&lRwI7(r>!5Os zpz<81jz~Az(AZ5Nx5L6~u(^$r@B)<&)QCfHm>{(sz|psH&2o+Xb`{mtr7Y3cJicYhZwSjC{@&V;B7=VTODVP8ed6YrwQt=L88Up2WkbaoC zU?Y$?NKBaNka7ghL!?o#{XqYfK;=-voJco?(AZ5_)94^^8ztcdDyvcA3W3T$$Vz!?^Jm<^Ct~%rGXy7P!rM15x7M_ z2FP8Y@IDR`B-o|~*4;dJWG#St4ng(9w1R0Q4IW9C<;qwVEch-5aCv&@Fvbp zGFNEqCXm}<;RR2hgT!qpq;Ee9mD_tPTZg7 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410254 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410254 new file mode 100644 index 0000000000000000000000000000000000000000..f16d3520ba26c2db2e5015a87a9b2fb4c245ea74 GIT binary patch literal 4928 zcmZQzU|`T$eyr2g>wott?;4xAb6zrS-LcSY+ePch&kA+dj!mAE0aPNq%|QL1&U;@z ziz81?9**71WF4}%LD16?_Jw>$j{1FCzCkJ2{oCPWc z#~DZu5P;ZVK0*Bq3~V5^A>M`{eGCHIzWaKXB;D1R-*nz}Z|frW$3Nms7p&qAulsWU z&E3ugKqcZHWiLQVL4XnL2B0(j_wv;+b+YH(c)YLN(t|udj8hnf7ow43=YZ}5RIe)Il`?U#iFgE)a^f&H7}ANZ81JdW>JwWrdK zdsjVE<_8?U?`IKWwNGNo=Y7q-42*3HfYxqhVEUd9vLA@y0GNIk0XZyp{G7#14*1=B za`B?1UX^r?OtFe>%g0RjOS@{k+!SUw0M)?5hoF5>J6_seE`JkXs~OH&m&~}sUeos2 zX3c)A1u88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIe zVZ2Uj=HhFgf$AiRYHq=lGlKmG49kwmjsZV5MUuHp(=yWz^#1BzE3Xik1|V49nmAv4fGa9AD+xqa;Sq1M#m zDGMtOXvdl9%a}Tze_!yZ;0v#%P0+zWXxcdpR1eYv11Mo?eQoWOoSEH8)s4I7Kj77W z$7Ei$JGN{_us~o;*_!J|DnXiL&!)olg3Sf`f$5uxa>$0ld50&8{;Ms!wy@USdF9`Y z*Eu;F8vQd$CLc1h@u*4Sea2OPu}gws-OK~UReImkysq>`bsyXx^Mr{DXdu`RhOZr& zXKYYBGmS+x`<2SK6i#kurA{BEJkPw7Cru{^gA#2DgMip+1_q5?KsJiolNO!X02Sjb zC@!!vHa0df0180G;4~3wfGHp}D8R=RtQSlW5w{FXVtfanIvAmDbz8xt$KZ%nxU z?1kt#kpEa*BrR;>RA+VjAGq(gS|qONsPgQR`^OiYwQmbboA9~X9cpLFe;@#|VPV1u z{FOATi-8z;OxZ!O|O~+yd1* z%}_Z;P0`yG!_S;h>nYpy%`SKUgNQAswm{<;TN?cbm4k&jsBQxTBFX{=_Vs&gpyk0%pe9zR zRxpK>Fp-#W6=bDR;@q_R294c>HH{7ux1pp_65RwU)2R`MSkvgK#PnSgWi;13zRs)1 z@vc92?ibO$9-p!k3rwWdzfLor1Wg&>mL-slE6sq)(G###M6k{Uwx4+J$XWpPfa+cJ zG>2>nF8g3sfoMp*4YePb2Q#6PC}B>Vn`Exg*iBf|=pb<$CEqMA!>VJMg$gHV146k^mADW<5sTggZ=-@(>wrLa`f(gTy4+ HO>hkWzqz6; literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410255 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410255 new file mode 100644 index 0000000000000000000000000000000000000000..40e3d2197e8e28fb8b38bd547d1e0bb9bdfd263b GIT binary patch literal 6204 zcmd5=3piET9^dC6A&()iDU(qq3>6WP9LejD*C7dw#|e`z$+Hq662lde*Q6Ili5|EH zMK5y5BSXlPR}YWonsi+x-L_(+S+NzT>Jw_Aqd@D)Lt^Ltq*Tnpeyme`#sX7%t@*ObK3$05xUIKI=F6Zjv;0y){ z{uDb3T`NB~UpYYb%Q}JW((2^+~@tu-yhEn}28@}`Oc-#2I| zW$o*5QMdg`PE|2(;x$5_ez)7o;Rvr(U8eKVm6VJ&-wqGKz^y%xc0a!;6La?DaJZk! zQp?&TS;qQS1=|=Iqdso?zLFVC2r^f$03R3lBSU_=x#cr*;4XpcL&h?tPg;%XSr&Jm znrT>T-jqlly&16$Aw``5=_*FZ|J?`J(Y!%9I6yvgz{J^QrYELaW%i`Mxmj|}!DV}w z`>xVH`sa^^56gn72GXe%zysw_**WcDd;{7ofx{Ns^0qu7uB1{OdF|??=bG91HK{`V zjZbqt+JQc@uC?)2D?s4GozdnRlrG>OS3K#xCTZtl1BRc*P@sp9#`*${VN_>NSk@O~dp!Gm_i3&NV_aqZ)7ropd zr|HRUIrEB0>PZCQD@8aIq7V*$KOn;r7Yq}epguVGXC{Pf&DW2TbL&Uh$Qw3?LISNt z8`@SqxL7Q8no_hUGI4X(&bqNP!L2nnIv0yqp4MFXOJv|v6{;cR0pqjS)VDT5m3=pL za5`YM{|1FiQ`c0I!(%k<3nw1co!?WWA3rEvBJvPr`b;+Mw(LOFop7W4J9)Y^q{6Ps z(Q>*zN~T64w5fqpS}`JJyHC4b4Q7)xlMjR<>6kcptT9RAxSGM02*HLP4^oBj1?po_ zt*f3dBL6kz7SOO%-L{Eq_>Me-)*{$%-jyprXI? z6?QeXwyrkHdZU=uGkih0{`Ih$PcL7TLnf^}$QuSj+$i8B$_wRC44?;8dW!FO)JX~4 z?>4Sn*7VBESDdWec@Ph*&@-Fwi$Am~nq$ zzVHESgahOs#seK}_>V|E*o_cna9KFxMhJT(_zuU{?CGax&O<-+0rz7e?R<(K{}&d* z27$z*G;?;DE4=q&as1%_xS75@^9Z?BJWRoh`NlntebkHBAaMUEy$qxD0#0cd5dYJzXt=*xGfS`PGirYEtYpa z8}}xJyRf_+yE~Nud3b+i4%`UXAdt+*AM@=m`v{wu{1zA!#E!>{`JVeiu(9-!d18Y1 z-_Mc55Bmt3^uft03oT!1>zCE*6K~&4DX^+CIsJpooXTVEi@gUiC1P_P7&$?>t;MeT$B>5Xx+Gyx=#A&ymAfYxl9KpKg7PPWjqYyD{#_SCYkfq&~CjgAshOUOZRNee*k( z@7en6B=!uiQRbbBjc-O`awqJ;cL(%4AFL^UOcy#43X?!GIX+gSf7xHz#N@TWm}aff XF9aJ)jm{Gj{8sxpayV;^;+g*+Pzu=< literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410256 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410256 new file mode 100644 index 0000000000000000000000000000000000000000..78df1d56e292152492f53e6ad252c0e1d1b6238e GIT binary patch literal 2860 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410258 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410258 new file mode 100644 index 0000000000000000000000000000000000000000..ed778b712159783b619197f2bdc1ecfc08efd85d GIT binary patch literal 1524 zcmZQzU|@Kewe$NFuVWok*m~n*cMD(KynzveTS}Y0V)xWyj~jedvdeZ ziR>2^MsuPYSq`?PT-AO4?V^DQ_XX>X?o%y3&t7%q@VUpY%*6_$!|ggJ%|AA?>wHKc z_eG&X;r9PPGZ>Na`!2VcGR#iYC{3b}AIE(983?=&k>~ zn5#%kyvBxwtJq3#&9r$7R^7W8AMJ3Hz4pF#j_sa6-}eg`L|ZQLKG?Q-c?!tI%*QXt zJUIbkLBOdDAf3YCeb((=9z^MieV{q)$Q_dQyWzj`{) zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxZSeY+C?SzLkOL zdofTsINm_|KmZt@JAf3+-Z^jOHtqLX@^Bu{OnsA-FRn+}zT7vR{%Dgs;z9L3>ws>I@Td4_<6@j9)Ui?4kKsbe(Mg(+tQ`wy7LF8Y*Q zU+yWIFUR8aWX^}SI6?OfxuxgkNAAAw9bbH;_M=Ch_=Dx`R(pS>c-l;0dA+hiKl|eQ zpi4Q`x384VJzd2PGWLo@`@XXpk5Zp}e#Y>Mf0p|3d%Eu5nARkwl)s+xGk-q^*iv9v z{s#h(dZ;59f!tqEHYh%rf$8lclutNr7#PGf`mbaGjRVC`5l|m5OfQIrS%S)hs{qG8 zoCmTS1fcc<<8~%gjuDgxplssY)aQGO#%=<+9Tr}L&25x~7buTWBM!k~f>hqZq7O_1 E00pzsZ2$lO literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410259 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410259 new file mode 100644 index 0000000000000000000000000000000000000000..14c0971fea7233d5df2620625495de49e6ba88b6 GIT binary patch literal 2644 zcmZQzU|={9zDDA64#%Hr*3&9)-f4Vir2A@ zDQvy*vAcyY?%uHX*#Dr0BtDM7%_f9qs+qqI@qFKi$|?^FMKF zb4Nfq)T2Y>gGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhXZ0Sq<)$o>aOy%un^@Ft>%IG%_tww*z4r2mV@D1zkC2JpVqke_8iQ!dW!?wdHZM;BxtRI* z1^G`LAQl9i$^go7mq_t#I4J$m1x1^KI| z^UUUdxV2keeWA(Eb^50go^2^>U-@TC`Tuhky7LQeCYgu#Xqf2q{`|y{^6zhIP)q}t z?CCj)Ey@nFuNB|S;4gQ1cs=#mDy6Q4Q{Oa|7>NX)oUD4v_^MWTmy*Y0_UOmkAZ}t{ zAQV?XbxcsqVEupd;@FA*>MX9bc^nKAp0hJLvQ~NOcf*S|vsV9V-zUT{V_E|+3@!rI zgW?PvZ$KIhfbqEp%7lr7!^Vq6ep`Sr|KDXFit^7~H9hzHQ$UpPhlwi_R_UCYSu;@) zrUz_3FplS$-_9?3vM%O{Yl&F@Ii;2PE1#UpiIm8mFyqQSw%f(#LG6YO8GR#GjE`JkXs~OH&m&~}sUeos2jc=`na88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFg zLFyO{bz#aG!Ttk=rB4BG<<(U-d-|TN7PIDi`Aenkynctx17_9t+yCyrv^wd}uJC0O zEnBvIzajAZ-G?V9(#_v+J`4Kz{(IET@B24ra{&!xT6LEH{iX1OkLO%iZLxFxQNQ?* z+o}SW_8*B#Pwi%Mp5p_y6daZi7Ss{2d?D^pnwS6;1H}t7H2r{u2&Oj%262zF7YxXH zpk{$7lt_a}FoN${gA_hQnD3?hH1sqH<};l1uc((j&XG&Ub9juLi6l&NAGJ;$|Z>?V-gK^P_74-&Ug5?-Ksj~a0ZE(?ŀP8 FC;(8T?SudT literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410260 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410260 new file mode 100644 index 0000000000000000000000000000000000000000..e94157d9f8280749534d2a31e3d47dd15be22f3a GIT binary patch literal 2732 zcmZQzU|{gRB5W$V>t|*u_r+%ZC5=HR!pfzOwV!*b@mzJ`=MORafl7oAgs+kKoWt>_ zn)S5Gn|GR`&lCDeg|nC6I<3@udg|FD$($~=O?qyp){C%(KD)=T(Ie~b$18P5cWdos zt+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOa6ZUz%eA(>y#5;_tN$)rdv5)WKx_WEEUk@lS!;GL>Z>(Vrc!FuNNn; z+Nq~kB&^QJD`FWIr7P+im-dJ;>&p*QQ~rOCX1zV({xs@fPqHAxwmn}x`D0(JowHmU*o(F`A@`3mh_+neeXwow@)VGZnU7yk zU|a!WLBOdDAf3YCeb((=9z^MieV{q)$Q_dQyWzj`{) zZ2pH^yXDmvn*3a+e=6bGma_Jhf3}qWKWCvkzu;z)d3cY8iB9j&PYfyl{-y@SG;qnD zo|D+3>@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3f5d&lno);tb+&$j)=vlGQrNZhqA1 zZwqR!9^ZS5Lwx@{E9Dif<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt z|Ga*Ban=^szE=v{gfD>=QOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|} zEv)c{^Kq!1jF9+XaG1I&sQFqxzr(!wvlxE=+Az)c>YdGE9}fPJ`z*0xyGG>7_M@G1 zqbG-oZH`mDH}Niet;gDhtqgqj{^pnK)k+Qua|6u-#Xm!ef8bN5@;JU@)t*W_?p^gv znICZYzMn;i)jo+SpZ7KUGBCC+07l1F2Bz;AaSzPPhk-`0?49#gZqt6RB@gHE%+xnY z`Qmzn?aO`B>5n$)rIa0a646E@wz-iz`}T) z*38A%K7*7o8tTH7GlKmGEMMZaDmqJi1TOVXW-H=xUv3wb6TPo^`pii4EnC;kbF2tq zoS|E>{0!@#z!&Pxo&^O{ze=SnTzQ=5b>9`8#*jO;Aipsssmz}s78SEfN9Mv7aeK2V zyOup$p~e41zIL7crrQb6TOgKl@AwY{KsG$D0J;C54&ueZ2E`LIunam6RYydAWnfsG zrj!WHvn4=%oG`s08Yu%KG2tq}=>pD!xfNiPFf&wlQ`{e#w)Sfy*z0=rp~{ZxA1WnKIbe8cWY zJh^ddjgs&JrBQ0cA=Wesi)#RKukC37 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410261 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410261 new file mode 100644 index 0000000000000000000000000000000000000000..599d5e8a4ac82659f42a55bd949d34c2c4af5d02 GIT binary patch literal 2424 zcmZQzU|`@qrM&;Gxm%KH(TcX~ht6AVXua@EzG$_{*LXc)zr@)Kfl7qEuLzsU?)sTo z%6+k!e@SD|iLi3%W9{c&YCKn6`1wQ3{){%8%Qw^5+OD1TV=D8pQ?gm|@P5Fx?fEaH z-(Ad^>^T)^21C-K)9XMq5HNy>t3{bNlLEeb=CaRz^ukog?EU{2m*?oQ?O(moNnZR< zx(rZ>gR<(AYra3rzxT8D9N-t+bj)bg4vU4dOV6-`?7rqTx#bbhI*&u#7i``q?_B?6 zORdPnijYs*YP?Z4pVBWi$@1N1-JzM1F`eV}tI1NHhWZ~f1dcylRroL9QM`b&+h$EM zF_u!LI+i{0>IH{3OF3ouUNMVb+}Lq+$FvvcZm}O$tg=|kAlh=3_rbQ!%TquuWyX$A(3JwP^En4Gx@72^bjiLtSX1t?IUVsJXe zKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE&-*s#^|rdi(`0~l<~B;g3sifV? zqtEZlqOPEt90d=q`yAh7 KHH|{!lK}wc0A{`b literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410262 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410262 new file mode 100644 index 0000000000000000000000000000000000000000..0c47df0cec63ddec2650cea3144a90ebd381f24d GIT binary patch literal 2424 zcmZQzU|{Ym#b!7zSZ1zpjc*U!}saFz2}xqb-g6V zdDWcb1j7rU84O8_PHzFxK)?thw#Eu<+Fh&RclCgk`_hM7C!FLDZw_^rITBF4uZiW7 zO*c@9LrUYH+rJ~fA9}T>bQ|-`PyKcdagQ4ItL_i1xEy5&#BCX(J-=n)z6px zQLc{B%k`ExEHm4$C1NbN=~*=2c`4QKr0uzTmR``&J#n~VRo>oY*D1Xp%s*}x{d+CL z=bYaYTLYcFhkiIuzM5=g`{wR6**D(%{biwd}bHPAlh<`_rbQ!%TquuWM=@F`Py9N)2OPo*9Au6m}-4>)|^ z&mzQXpTv~U`bM2WTEBY#6$xy$&&-IQg#g3gLv1 z3Aa6kxs;Y9FPbBm<8<}Gk~W{C3=HZ548ndH42)qjfy!b21!)DP^RrMf4p6ulni!Zu z`5u-^d`44k#cd zOe6}V8lcJw=$*+?{Op_Z=Au|vVUa&I(R*9=wSVGS+MfJ-UXkF9fERyHYgc8j zKX>BmzB77NZO>emt)A~Vh2@)f;eVct$j=;{K=YXFHFt13uDPidG*fAQ&ce(qub)T% zouI{eXunWX>B-tJXP|bb{09Oc8x|gnK<+Q794K6wf%)kwlutw$GlBjz>5TWH$&v?FYuuI;b2YD33$g#JZ`3#%_Y;Pf&ObHn&j{UZA`} zjW`5{2~vFmjy}V{YyM`(qSKUix_O@Fm|kuCgYS#o&!+E26V{0IoOJ1e#xb@u`VT6H zkw%Fq9~s!!?-qcTk$ZsVutLoOQ%DIDi3wLhRvIPFO}p06*iBf|=pb<$N*X26O`v*? M8gYmT7l_FluPHn9gKimg905=}Xm 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 GGXMZkXOhhT literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410265 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410265 new file mode 100644 index 0000000000000000000000000000000000000000..5a84fa35eefdc2426e4986e69708c95abd92f6e6 GIT binary patch literal 1472 zcmZQzU|=Y@$Fhp4h2_=yaP#THj3HTC#ur{^KXcYmKdB%7@v{yGP>Ha=6;Im9EY&lY zT-MrpxvXt(zg+3_{i|xI-&3n8dlc=eOP728WYNCz;>o(%ny2S4RFXO8QmQ8KXoHVd z)gM3heV#xw7?Kv9J`AFPfDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?_(Gm-TERPMvaSl>#8AmY8GkccN|sAG$4hQzaQb+BU#>`$jN&$K$;je!ucGR% zzU@nL&o%KhxEAvCg2tuK%crpIt=q)dFhe}6VdsXDC6a&Ui`z9lY&facW-7Ty;amRe z?CYx0e-c;hR?g==+)%h-K}qq+^W054qFyuatunBmzIqFTXvl#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^3@Mi+4H+=2LJY$36nQ1Jl*{@W-rEqdPD|PxP<$30vJZU;X*bt~Bg+V~SA2B8R870Y&g)$k$F~+SFP2`@$HHo~e)n~e z84lAsWxeh@KAOGybNUU58~2W6w+pQ?*x#P7|71bN_WjI20~yz;1(kj>KQgaQoTbC4 zLuyNz-^vNO(-H)3pNbW->RI3fwKU~F5P;M}`HVpBKPVd%w#>k^a|6mJCY%}A*YA7+ z4eR|teXKCOAR1-~Dif{(9G7q&$ZimT+7HZk`=D}+p!5u76YHi18oLSPc35}~Hn&j{ VUI&2wqDCBo!vv}9ghd~i1_11um?!`M literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410266 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410266 new file mode 100644 index 0000000000000000000000000000000000000000..0e748adf654b452dc78a9e153212297b72e044c7 GIT binary patch literal 2680 zcmZQzU|?9PFW#TotSr7p&}DK{vdq5A8|s_XqfT9WdnxJ=Qv{O^P>FEKJ(g8WEiA9r zhnr6qW(>*FGQRLS`3?9`f%%nllm58TBp)_DOA0kM`YLt5F->`fKwSjI)%Z<+W|x?Xngk2QqxUdzt(F<-z=e}<$WFI2mAi|>9I%ed$b^b^>m)u z{13Nw%d0Om`MFO2RKl|@W$i2fY$^YL&O!ObM|@E#2lo!+0H7*hWIO$~}^;F3K( zC$UA@VfMA+n;HD&E)TD#K3k>KwQ%a2rV=BOz>||zPZ?j;3hz?#c+4LCcpJn`3=D+g z3aE|=iWyFQV-4#T?NTh3zF8>#@;{@u*PWEzZp$v*JEY;ir`2mJ0|WOC24<}`2IkT- zpdN6%!R$eznW1c6D9seY{RGS;Y(7{SlbKyThygO6F*Ml48N}g`o#(J6t96py{HW94 z7SvolzV{Y~`2KlT$}3vS?;Cl!gVX>4RqS*P@cg zWmM6l4Xgg_uPE2AT(oe+I+Xj?6PQD4vUgE#7;9XXdDExQQ|&n(U}iWG0uYG0xM%<6EjPo08|W4 zr}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3k0N}x|Uoq zi?6hI>#uyh$x$3`r%EhdmuCoA7_ZZsx%k>=kSeBiOC2Dp85p5%by)Ou+ksG78xxaY z{YwvG?--wJzEwMCCFl2&ADtVDUG2NxFbmjiTr1lvIbT##_mx#gq0vM;@5?i9Y9vlD zY5MH~O2bUXLEA)D@y$JYZYJa5)ynw?KL7e7+rMwh&$iW5k{4?WUVz$}@*fC*Y*?5u z0=fU7a-gtf29_H)p?qS(nSp)%&IV{$9{}oOh3N&+FiTLGa24RVg!4dlg81dJeJYplSg-L)EiR}WaZFMYUm!b$${=1_N;BLUU>npiH` zbOV(*#65Ydr8LvGUHIRs`L7kfzYhNSLzgvEU}ezFTb;g(Uwq)xh-`&dLUga( z8Q1Xk`DZrjpRj%PE4HLN!u2Ef-jliRl|40WlV{Frd^(r$u=;WnQ>Ph^GZ;D62IXaQ z3blPSJ(uP0&vo58xBvM3=otUZm9`Qy59Jr8<%KI`6vs1&w%q1@ux<156p)LVk6%z= ze*t1az^M!%oxmxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6ybaFR~#I+urPbO4ImR+3uF6HOblrvMeaz~xlVc>UiVBl6<4OBlF zh{5p&q|pIL94seLdof$b!q}rpuTk#%s`DZjXLRK=gcOBbwv)?k3wtmJrtzX_&yOYk zH#Tm4`0V0~my6ySy|~D9sF8tHe$n$iD~<`A1*#MGD1!$z6WA@l^l;`u^vY@WQ~b&= zfBN@F)%bGpqJK&6R%X!JyOlBjW_`^uFU!r+zTM#k*HhSm?gND(gW+pO<{29l&rD-c&3>iwErpZYS*g=U zDbF+SC4Tdy z39Rd4nirkO%hGo#nHb8QzukgSa@CWMvtlw`Of4Ed#bj*iD!(ZklCa$(LDno@h8tw8 zWa&R{o#^vd9|x~e37fLn^6FZv_X&1w3dJd%<}cW?)~xQwAE=2Z8!nVR}I{%o0>4Tm?8T;XIJtAON)=SZf}^4hyfr<~B;g>k!ai)QCfHm>|_X;OJ9y{`xCvl}$iKyYQmV3A26Jy`=nq zo9Cz9oLfD`XMJ!cG>*ZgK9G%+e4sM$FwcdDIl;0NsMYHGkql^gItgwPl!0Uk5)-Zp zM;e9LpR_3G1Kb#-G)knKSZM4ftZ8(RxD6$ZlISK-ornUEA`XcOSAruBA!Q0u8U^VE zl|i5~@FGk%!Mb(bt?XTTRiZ%k8-Pi60!$x_#^N9pzY}48Na6NLq?ivXL*e;@=sF)s N56tZ#8jJhk(g4GT%GUq@ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410268 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410268 new file mode 100644 index 0000000000000000000000000000000000000000..10355d8fcd6ebb2d79035dca4e2145833eeefd03 GIT binary patch literal 3872 zcmZQzU|{(9{pFq3?^iZ^b+Bws=x|Wt+!vB3UE0MM_w+GG$H`fzfl7p5erD3uSylaL z$)d%(6<8yU8{^Zi9(I$sI?ez5Qt|!wq${}JmcRRv9KCJ2r1*SRR&9?5Ga0I1-+7mt zxkmA-+mlN`GZ>N|tPii!H_EgSwe8WLz4dhN z2V2|J_|_JF}>L)zp1qM>5V7 zZ)ZF=!&_FHo8!qQ&1@C5nNq@xQ|(-CmzLTo|Jy!`{ntG6hN}s$R{np&=v$`qqFiu7 z$a$fvIZs+$YCirImR)W7q~O%{7yEYH;WN7K<{i1@-2R+n45BS}cpq%rygUWuV&>x) z6gWjdEC@K20i;tHe7qe%w1UQG4=pv_T3X)MVScdhub&=!^u9+6@>fsi zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rme8;Lim3G{_>X|Y> z;P8Dvix8`Q5>r0!YxV`IX9@@n3h;3S>je|(r>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k z7RKweW-h+=8LVi=v<9dSMyOjI6x>4>cP2MKuzhIw^=F#W8pBHq>r-Y_P2KjhykKAO z`2(A-AA9}ZaAu5B!wJ@xOU_@DF+@(fbK=Z)ia?!Ns#}fY=8@E1u zcJal_MQ@E>Tx2@b$iOPU==q)%#{|wYFsKUv)5dL}dgL%cW;2*s_Lk0C`u^$!)&Ku) zZvP|57NMu7(f-iXcS%p*mo-s}Ah*k&O$AXPzz8vy!J&|Qq39L9+a14tt!VGuF)`$s z;W;n%m6tYb33=>!=FGv9EsZ@>tZiPlw#aQdBlVtFV2YpR@v6eWj4LN*r)g(hU;~;3 z_Jfnrx8}_cls(tASK2&WwfrdKlodRBuWZ;$y~;OdwR>f1&`jOIG*a-wW{h_^x?R9SL|vRYh={z#z`lOR4rqQm1k}U|H499^ECF(mm~a)~ zIEV8fd7J@eKd|gQ2bE(4m1!__M7k-2#%=<+9Tr}L&25x~7pTmnMjV2}1gZW6M_<0q z+z)I#c^6xEl$!dsx*w@1Ta&ydKgo3QTl_&Oj*x3DzO&ZiN(XpCk&@w*i=BC%|omGO#!Z#qUIz zZ>#CBiWKufWhlH%BD!uv(u3>=EbeEh&sN-_m(pRj^4oFmW0x|zl=WwPmERr57Z;PS zJWruE5vrevd<<@nfRz(&zd-9?NE-&(iC{JsccO$dappgt1FL_~Ex=+v*8D{SdnoY- zhO?0bkeG1al9N~9X^lj`W7v-*fW#!jZAfXE7&mFHY=Xr*hP_AvNKBI5gpwzTZf7I; N18yUbfz2T>c>r~i)KCBb literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410269 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410269 new file mode 100644 index 0000000000000000000000000000000000000000..fb8fd180052829e9ce3df3b1a63d66afaa992aa4 GIT binary patch literal 7068 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410272 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410272 new file mode 100644 index 0000000000000000000000000000000000000000..313d644c8a350720ad125d9d7e69dc582f344910 GIT binary patch literal 6272 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410274 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410274 new file mode 100644 index 0000000000000000000000000000000000000000..507e0bfa8704982a1a965c97db6603b3f0bc6455 GIT binary patch literal 3972 zcmZQzU|^WIyC~1TGR%oZ@{!b)JtbfEzMbh5@bux_=N2ZXXMZ~|7pO$ISyNNOCw`r| zxxMX`Tk9vt_9n+}evoUV<~3cztF*Mg`?tN%qD31FUQM58T;}#jMd3qp^d`5gH#+a* zQs@6``cMTlgCS|r>5m{92pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rs=#64jSvXH5p=9b@)m^rWCw3NE{7gyje!7=`_uixBGB+p0T#mcCQcjh*+%t~< z=gG)eyMzUjkC?R7r(22ThGz3mQkB+8US%^=pL?TXP>YM7W990Tw@)xU`+VR=w_@eh zwd+hSt4aBn9{;__R{zhJ+bg`~r_O#~xPP9L?0OZ(_m-0xL|Y#5KG?Q-c?!tI%*QV% zbX)+jAmCI6kWOLn@pb^w3L2k1wA6Hy*RS>3(KkzIX?b6V`N6)wetPWD`yMUGUp<{? zHvhw|-SX-SO@6M^Kb7!oOIiEMKU>QGpR>@NUvM+YJiJH4M5p)XCx(=Ne^Y~E8n|Rn z&q-`ic9?yw_+|!wxy!@rsn1p^buFCwrm4h8B=F>9)ll zO!>U8*_VN_Z2{2Qtqe@xt3mdIG{QjAqBGn;Hp|{QZ{;@a_geCB9?wjDlaw#6N7%mH zH=X`ylTJ>__K7B`Ks6wJV7&zGgQ|OJd%65gfURaYXI(Pm4tq`8W0Rj*EnRbbhQO2a z_m^ed0Gh|-7~<&{1Z2QK`l)Nl6|?wCd$<0|*P9&0;dZLT;&pk3fQ9iot(l9jeFmvx zG}MJDX9W8Xm`|dWU8A3F%zMhKDdMsC^_%ni=B>71+&JZjq1S^oM_4y{GwgddIri_T z(`psfDJEA{|3xp)JUjVM@25h|ReyGh^>G3X1c&7eR<3EHt3D)6@UM|p`j?sYoLBOj zPv4avHx3xbE^IBW1c#+)%LABts6*gkLr^~h0~=5eV~DpASS$0onz_Dp^BNi=4_x>= zQRTMsMG1>#`Tn9auI+xF#HVb*uyN5Iy`xZDfcn600Q#40`s3zCeepd{-ab1WzjN;i-@=+K5xOCgveva z?ggc5a^nfzkL0Fn%rK$MP00SEmYWz#?Ka-Lnt$GX_Rj|&uOCT1`!jjoUd_!*clN$+ zn6`4&#Q;b!W0WJX&_7A1`nXTI$R63hqr z0p<^Iyn(ExfjyM?10z_F1dy1J0E7Am&H*xz^CNnD79@v~XGrurhW$taNKCkMKw*sx zaJvmD&k*A#sY|{E(0IqN7fAq#33mpuZi1J0Ae}_FACde4w-Ly|=8$;Rot7n{D|S^+ z)#Z7r#$`2QiNcxfndg2tddh9@Jbe?~CIz)^{{sP%5sX0YFR0nDwEPfe7ZL3~F^!&s zen1z2+M1v~4=+qFh(>ZJ5)-ZhSJ;8=$5poz=cZY9GULNVfoT8{NAErW literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410275 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410275 new file mode 100644 index 0000000000000000000000000000000000000000..c774052ab467f475fa192e08a0c4c1a1f1fff554 GIT binary patch literal 3892 zcmZQzU|@J1U&g%RYU9dlG83A_9QrrSHH-Plx?*b>bFhMoNYRQ|pc3JUyNmMdE5n>v zBp*p#*;Ddm@7tM90Z$*!eQsfLdiJ*ib2B|3#(Xb(Tp_zimF1=Gms>^)g$3q^e4kPj z#?tlV)r3btGZ>NgGzw7XWr@9F_7_oWZFPB_UQ-W=*Kb0na8UlYqE zn{J>IhbW86f;*EUKFwnO)U{{zPu>!qq~JHre{XG#efv9o=KTpKR!6V&c6ZwyIQpuz zVP5ImCDYY^OZfi#eC=GdP5Sk}tc>fnUAkCOSQ|L&boDF)<_Q)$yB|t8TfEtGr!DTl zgX4LbU4Dlza^1OU&SLe2;o8Tw`c<}81+%vt-uvIC`H-}y5`$>VW8MebHZM;BxtRI* z1yz|1AQl9i$^go7mq_t#I4J$m1x1^KI| z^UUUdxV2keeWA(Eb^50go^2^>U-@TC`Tuhky7LQeCYgu#Xqf2q{`|y{^6zhIP)q}t z?CCj)Ey@nFuNB|S;4gQ1cs=#mDy6Q4Q{Oa|7>NX)oUD4v_^MWTmy*Y0_UOmkAZ}t{ zAQV?Xb<9A_1X9nuu4b-p-Mof|$O9MtPE@(Ad{M$;S-!vMjBC4}C-Es;Ffg_)0EWRs zpi*$0L1~GkqQa;Gi}L(319!tj*W7HgOsA;8bX!|Abqq6Dxu%J(`j9lizeZZ=UuM>G zUdeAheOG?mIA9#Ru(h-jq&~#k2uKm(7NDC$xSxR40trU2`+#YrfA`PouZlj?O6AUo zN3^`1YTDnXoz=c`wvx1?P1R+7v;2>lDK~c&eQ;1;-6NoP@|b-3^dH`xN;5*Wqd!`t zN`U+Y4vQ53z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!r2hXn)URtBc;H6Z(8 z4gt|gi_QoDDVDu+-pXy-@3rLNJf4~QCMjQBkFb5YZ#wfoeedzvzZ8|MmL)r2o@r%{#fvn&;exiMMC`USC>s!QWu-trs7+F0|!5HOWbOy3T)( zMiY&;yvzJR1Hoarf$!1vRQ+S?tzQ_=xOelznk1iHGbGP`S^dGtQzG!I{AQ$d1y&Dr z2s~^E>SthJ19<_Kb~fJdJRPK@=UDZICAa_Q?#nllcPm7^?|3J z_4sX=VfRbGVfzQLt)P4a0kCufaz6}!!hji=&mO@9i10sy)Fs~nw7dz^j+{7Q_QBpAj(Y_j$NR!n?P=dh1Xzn8ztd|9w+3+AvjFX z>RMR*g5<#Ifrz*yK5xMi2qKRmr#Vo%CO4jF7bcXs3E6+tiYJEqn_M0-&kL^=^4qVP zp|C}A_JNd_T7FGe1@~Tfc_ut`KRB3y<;Z^^fW;$-26BHvqX3pK9zppGMAR{28a=b@ zfX0C8wQ8U~UYK4GjpR`zCR_!2{J_!~*nV8)2vKh87M@3AH-X#^!YJu;khl${93jz7 zptcD$;t-r?k;)Npq@PJt=-0G;zk1u!gsH`yZ&{@(%Xi1x6kVLXTI>Oz{&HckBFwrD zIqks0{2^E^kRaFw1*&2C^`QY;ufVjyX=KBpf+*ofl=(k1ACO=^*0e(ddnoY-MzA0W wATi;=2=Ws$faPWMbO6!|i^E4iHrOmGxAP(Hz+Rug!h{y~Li!ij?S+R80P|-h0{{R3 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410276 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410276 new file mode 100644 index 0000000000000000000000000000000000000000..e1fab643be21ca0aeda203ff80fa22f149053ce6 GIT binary patch literal 3892 zcmZQzU|{%sWno4IX9yF|L+?h5>vEAB<&Md?{%Ty5`f2s4caeFEfJ%g4$Coj$xZ1e# zn#_bIF^B$5bIoFYvaZ+~#vH8RB2u&>cI}TXb_Nfp3&dXGG@PvNVPLyf#H)SR%YZY+ z5325;vttCB!H~4*^dArn1YrIOm9r9i=9aSgYR-y|UbDpd@G5l#E|muZ)#9X1DEXS zIf*UG4zsTn-^}1IcX@a{_1P+=u7y+IG?f^M1fHC%ddm2!R(O|^$7A;B$J-!oVqhQ? zS3q^lK+FVEpW+|*l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&AtqbZ3}?WwUvSC zdo55oINm_|Kp<(+88INmvUko~xlQ}MmOPxtGgIFr<%{bPwlDWhr$5@HlT)&NqDd-H z4M-nYFG2gD>R#GjE`JkXs~OH&m&~}sUeos2jc=`na z88DE3>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgLFyO{bz#aG!TtlLu~Vxq zoVv4np8x**7nje(ZqA(kXobT7oAvIYsZhl8o%T^l%O2WtUlw#u-)`l| zA}W7my_v(WlL_|@!ozao4bRg-N_vh}Z&-5sf9}3~BYC$%#QUD&U)|=}@yq?n!C@)d z@(AP%s3SnMgn6+^WobrEvcEy0Ye9%_xxSZcn0uhDEt)!p4SbKTr|KVDZ~ek}#=V;# z)+G7tnjv}i%jyqCo)UpyxkD7#1eMk7_O(*~%wx zd3S!gPjFmOT9cvk>#2XI^q-rbFEnNA#cgL|PAlsKL@rXhIMr?Eo5=-HFAUGJZQc{7 zRWI?3nFDARI9-`p_Lk0C`u^$!)&Ku)ZvP|57NMu7(f-iXcS%p*mo-s}(6G1zR1XS2 z7=Wh}g8CU4*npbg{$*ZQGuO9nUPD9VfeU{ps@zt-C}FWI-(PgbwcXE?_>?VxYQ;Uu zUcl`Ey8-Cm%0)|xpFeBo()!?YNUYK&7Xh4 zecP2g|B8Og{Wvn&C@Z)A+Kl}@TQ!e?+|DeS>+m>0J+x8%^P`CKsn4FvShnf#kj|?E? zk7x_neqfy5g-XK06wD>cO&8uu(AZ5Nx5L5+b9VyP#mDd6%q%D35^*@7{EC| z1}qN2VS<(~k>$W<5fNUb)GIJ|!0H!d_kzlFa^s11VM3XkQ1TCwXOWn&AR)T^WH2Z@ z)bPryHH@#S%tLc?lcSfKzyq((6aKkXNnK+&e>fIwBCrnq4+KCq%q~VC7gE0>^2KAA z?L@RS#WcEw=K+lawQp;H`gmb_K{U(~R3=;nN;m*TVd)HPKQIk`hpI%$7eu+Kv*#a; b-GsFq86<9_B)mX<6l%mFdN~4*bPxjoCLb6I literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410277 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410277 new file mode 100644 index 0000000000000000000000000000000000000000..f588bd62f6b6f75f7c47f8e5131a071db53794c5 GIT binary patch literal 5348 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 l&LP50V(-z)0% zbmbSGK2~dX#)o+&hnf$t8K<(Iv|4hofYbYdceDO;vmcV2Gq=pxepSC&@n)>J`-Q|$ z!3E!+Tv&R_?L6apy(|ke{&oFZBfq{=&qy`me$24z+|iE=qAkyPA8gyaJO$)p=HnN% z><)lf5O693NT)FPcsqb-1&z-hT57t<>(_ei=$j?9w7jpw{9xZ-KRx#7eUBF8ub$2` zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCtz2R#|<{29l&rD-c&3>iwErpZYS*g=UDbF+So5n{DZV#?=z&AveOOaY-m0Y0u^ycTWILfz`%KhZ9w$3=&IYv3ui69@7y7Un$IaJ`r? zt6bk7-cS9T%Ci+VEI+p1RN_8=xPIzK`{S{9Zbl^pxU&Kc1cyu4wAUf#6DQwwULl+i zGU2wTFqhJj^&$hk$5cI#-2?ae%_b(8K@~ zEHE`-`lapV@;3ptn&F&v$&5SfHEoYgerC0F&G8umPtM<8mT?29p2;!9H!=vwfB|B{ zM4~{d0ji!6;!XyK%JR+(?bX*lsbqL=RnBG34Y*`l{lJ)K>2f!zef*p==k8@qQ<)XH zY}fWFl80~e{`BYiXs<8+U`Jcm%OK}{;eqflnY~4)dCwjm9`#9+E7z!c_8*_BdbV>{ z(WUx@8NbsGmv3iaY+C@#FL!|UGsD~rq+$LB3q@|d7yo1KAC81e6Wt6V%VZzy?wu;tk3=3=CzH zEEhV!7Rz*nl&%bES7z{9?ZAO__Ia)%OgkIE9x=^Hnwi!#w#Arp5M1A>+!VLP)k$( z0|CfxD4!9?{Rd@(+{X-z(}z$#G35mV`}%DO&@$r$P#-A$zyZt>pa2pRE)C9ma2_lj zLG4dkbovccjuBKY!_*N`h5_BQ^$(5R1adnpyat=wChgH2-zjSt=rV|{nCTIC$?mS-|d!fO6ByhcnXbUY-#itR1OyApgao(gv)LQaT#B; zEzt6NE>IJ!T>{pRlrWK)5VL_Kt~3g^ALu`Js7jPDC(=y;GR@Wb zA=Wh7s1UrpZfzXX_s}Cde|m_qRP0N>rsB6w>Y2Ux7pEz6V09h1g$Q&9t~7&EjuNa( zf%O8<9a#%#eTtsukS)PwA2b<)DTo^hl%vGCN#+WT-Gnub4idMaq)`&x1WPCIctMId zBqm%MJoa^aYj!nJ{SFMw*+%-t%pTr7v2A7XxxQ5#1g|@&_n^~oJQj-f1b|NJgzcVOIiX}LMKXN7BNkrz}idU*kAH^KlY?m_VhuhWQV zcS73DNP1v~foLr5L`loUnV&KT*-Zq@$C{66U=Jn!zz7y30VF2er=;ddSXu*{MTFl; z={LX}1?xW`yBDP_Ai`c?+JVO{vN>QokOYvJFza!)hcL@2q&!51n^5dV;vg|eb`x9! E02yM7IRF3v literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410280 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410280 new file mode 100644 index 0000000000000000000000000000000000000000..a8022356f30eccc36fc09887ea83187d263b8114 GIT binary patch literal 6016 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 E|ERl?r2qf` literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410281 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410281 new file mode 100644 index 0000000000000000000000000000000000000000..5a26b07f97ee8e63e01bbc5b60675d85b16e2731 GIT binary patch literal 4096 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 KSko>nZ2$lQB(;nH literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410283 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410283 new file mode 100644 index 0000000000000000000000000000000000000000..cb7bda85d4159e88378635ab3605bb2108d8407e GIT binary patch literal 2592 zcmZQzU|?YNe13=b-M!d3#cFeZe9x~SmzKGZx3cKzndv#&NAf0IiaN!ZU@IzeoLlk-i?WKq41v%Zl?S_Tgda`Y zzUZyb8TDMC84O8_&M1LsAYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-A*FBCAr|%JG0$GfhnPgI4($lk4zm|{xoO|cU8!><>)7jm>#t|MvrVF}sA{=Y z!M2AVQq(6u5-`_RAZ^4h0GU=5e45BTsc^_=sygUWuV&>x) zv|KDeEC@K20i;tHe7qe%w1UQG4=pv_T3X)MVScdhub&=!^u9+6@>fsi zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmV4}G*K$3B#8>OTCo#;J)&LBHmq7KP zI0MHUkOl)_d|E-7FmVnL--|_lTYxbC-(??)^3Pl~J@@-lK$P%@i7OLU>71HbGf@$y z2W&ntj(^|#;d*dwebX<-@aym7zPVaNtH_`igzexR3292N?(Q4};-rN9GwD6wgd!QO$m(@-2mv+gYj8M=8%U z@8n6-3BrazB`FL7Vy77xG|mFqFgJs=0@LPMFQ^!2L2-eVv9XCcNCQ+1PN(<>K4mJ8 z<2zREskGzXRnL_90f+DVS%g^albG^(U$ZYzAyYtTP=JpsNDBm{pSqS@F^jLXck8cw zy~$A=Zl_8tUYBPGSQxLmG8f^A?vl?X&B$kL(S`ve44>(_a@Xv!1Q$2(>ijKM(-furOf+a{oc)Kw--a zOarf=d}6|xfqng!3(&AW1JuU~(+i?umY_1>D!_3G=Yi}70jT}JG$#v{V+7?*D4SR} z<;4nd|2f)#%{a59W;BT`N+g~b)X06w3-stxz)xPr9 zea2kPxXo49L1hmJfJeqQ8a+LL^s)dkO8z0y?-=$Y2_P{^ zb{pIeM7Rg!{(CSR2-Sx?%l0Pb#Mq_-)o%b|3^!s3fYczBFGQGMvE{NVs2nBMe3;W2 E0Hy4#-~a#s literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410284 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410284 new file mode 100644 index 0000000000000000000000000000000000000000..b52230a46a50ab6998aca648512d343519b6ec85 GIT binary patch literal 1472 zcmZQzU|=W+%3pi2c{M`hFP)Nf0EAMaok#ZR{fTje=(~!P>C?B=kq(f@9xFU zDOQ{N<9lA!1h${PTDHBcJl~G23;KUa2eb$fR z*6HfH#tVREFeEKHqYk2hfDuHjP&q5HXKpE*ujZ`i=rv2M53kZU%Cr!*?a`mT^>pqB zW1td;``;2@-h7dlRBd{;E-SMqB|Be?|Epg`)c(~TKZNUU@K2At`|YbjyW-2q^3y}R z*1k_M|N7?X%irSXOtecb9I)oo-QO~MJ8xst1J#N$z4c1(pBL7B4>nlj%jDE*y=pSw z8P3|QriI7dCTr~S>krD_^XDFaJkRebb}yQ?mu@{2!*-8BwB-%&gKe9ar+{3{eEfoz z%N!630#0QB=@bSZZwC;qpz+y5OHDU<{aUXbeY1p?miKj-AME?@6m$%)zf)q z^FQ3$Ew8@NJ!O1VE4)j|<1u^m<82T(F)$E{ zE1)`1_%ngj8@_gAp0Ppk%rq9&>{lw^QaHJtl{$Tt@;viSo-~~xYzS16!XO}ant?&% z9FPr;H;_IMNLqB(4@iN;I17pktc;CK%q&3?2z6lfDgJ>^nabn%j#Yaq?YMW$MI>b;uVJDE;)s=jxX4pR2$9k5uZvD!n7j$L7%McVE-> zXTO@(XU_q%mnu)2+ zboxFQkC(sKpIWB>AZXIJdSR<-{{K)rQ~m=1NIlFAK<+;%8x*$8z_jxk$|okA8Q9lv z$$^ITS)e{vm|hSKvjmk1R{@SoI1gku2te%z<~t>*93v<_L)pZ-iG#*&0=XR)UW3hT Wl!O;3zfdC%!C`__cEX|$OalO_JD&jn literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410285 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410285 new file mode 100644 index 0000000000000000000000000000000000000000..61ffa48f24b8cd0dda3dba07a0e2b71169b0d4a3 GIT binary patch literal 2480 zcmZQzU|?9)v_B=AwLl}^%vth@)+C$UyQ$mk747x<|8%tqYCYrwDiJOS%3pi z2c{M`hFP)Nf0EAMaok#ZR{fTje=(~!chu?|bEm(GYpIR!vnaZu_qSY=0W0^V54TP@$sgVv>MnC6pn6{u%O#s` zpc03Z+<^jWVm$krqjGntJhyGJm(>j6(lK8mcEvp3uw)5yaQuOp2|rJKX4=Ml#<@^` zc2t(IW^dV=XD^wzhb^pdW)iqGVcv1SqkSrm%1>DRinzLJ^1E&PW>)csCfw^)jfl>u zlvt+lGA;J0hv;R!QkTx>zr6|s7qtcacvmEULbmgCB7-Pv@D< z|8Q%!y!t|upX>BbB|O_w*1q!3mh%7SEOh4=+)OeL@6j;P>HYbMA?4rS)S#FKF4@y_ z5?hoVW?w75nZaM~^6+}-$Q6LHg7@=-;=y6Y38{})Y!K$<@`0o1bTbs<jttazOIAOwpcsQ_e9Uyew5!I;O<{%uPz^{Qv0(&O z_tN%q`I`V+&2Y}TWX2u#nzqL#KeJl8=J*VOC+F`k%eVnFkI6B_(93XUgqbt<)ul&Vli52Xz3}EezqF&* zEH4Nz411VtZ~S-1v$eH9k6*gB>ia`*Se_NyE1}%|aDsKQpW7>2-NKz5io3d!MC#YR z4iWhEC-yPa(v<%|0A$0$krBxK2bBZG2Qx4qzJc>$h+~)9pE+K314s5Dl{g zl?hh?j(<20WH$&v?FYuKI#iAkR5n1_M7nA75*oV+majqKHQ3xnNqB+E9%{rPI82c0 zA#n6%+WQqhpZI7qtKp3euerVz-#9&a?$PTPr&=F-{guz$-X0pq*wW}Ps2nVfK7sNH zmmdraVj7)2z%&jnLu!Hgcwu@$G?{4>Y=6?C(|@35p@ccXG7aLUSu}PN)-*au+(t=w Qf$9Nj#39x+3XM+&0N}=p2mk;8 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410286 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410286 new file mode 100644 index 0000000000000000000000000000000000000000..63fa5edc9314a6e686df5c52f71e319ea2cd0d9f GIT binary patch literal 2480 zcmZQzU|{%uasA(OKc7BX{%-ZH%|FEcCG0(L?)sM082&3v!RP&Qe1J-XS2gWV$!0Ck z$TxGAe4;hUCiiaYHhV>Tz5YL4t%6z)`8v#vm!v;t=QFIF`hz$9K;`F)e1*q;xfM%! zcKt3{bNlLEeb=CaRz^ukog?EU{2m*?oQ?O(moNnZR< zx(rZ>!{-A`(=~smnAg?Sy71ja$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqL@WKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE&-R#GjE`JkXs~OH&m&~}sUeos2jc)A1u88DE3 z>RNKeEWXm-t-td1CP#6&ohq?-U7jIeVZ2Uj=HhFgf$AiRYHq=lGlKmGOk)mhyG`#r z^2#`LqPn&80Eh8aHN|gxmA=n?blAQ$m0{zmW$*b^w=2Kg_fM2T*lHT)d{ne)}7ObsZ0y2*2?f;$o7Su7lh>B+V@}GZ(*8f0}{|mggw?-_O zd*6aN3>X$*kn$f0fGoIQf!tqEIZ)U#1M}fqD4%eeWnd7~=wx-rVR}I{ z%o0>4Tm?8T;XIJtAON)=nC4;mpAl3xz|;|uu0d`xqp_P{`5F{ngUxM}gcqpnp++2n z!vv`w0!LrdlO>%ke_9pT(iVISUH2sp{K~7R%dkbx#-E=?SZ@-uJ-Jl^5d1{lj0mzpc3Kl7uWwi_w(tK z?wWiXXa+;lqBG_o8VDFc#MW4WO}lF~{H`9ba$ovz>x7g1;mx7$GDiZc_cgIx zvgrmYaqw6+`~UyLGb>MOU*yrg=6Gw%)eOP(d)JN~^!VjpCs;S>!p6oQ&oln6{CDu$ zt4rrh*rh(!=`(cR>0`R&7U`kW$Ip?vaF$BcuW#Y&mMEV))^zSy0u$#Y+b!Eyyq&Gn zWl*zl<>XfW-Qg1&wXQSsZhO4CsprXg?T^3K*!R~@k3D+dqXqe^ zr}NC_f4H?`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*fMjBN{m(Y2L< z>3aiE4>;a{G#CKmGXTh7x#Q<7W^%yq-jj!vUxU zqz|l@pnXtvFKsWEzX`C_4Cky%X53+~X?tw)GpnU*j?WNya{m6Zj2l4nm>feqU4noN z7)U>LExBSAUuo~wU-^2Iqd447l~}wk&k(RMUZ*v4@wLxDbrMB2w_wT{!TtlLF~L(7 z%db{y1O#c{I_$^J{!1gr&!ptvb!VQR2_3VVGR}ORU>DZ+bh&HymR1uRnFF;pr6nT2 z^CvJCeX8QOb>6`bG!PV?42G{AnP+TJJTr|&HT#vyw-iopXQfUbr998PlP66l2pa;G zq%a7Gon~OrxCmsUh2_~es2FEKaea~gWW&OQ5y<@ol>>z>GcX^%gYpTdSq26%jm{o3pmCsdTMyL73)2gt zVV0mW;VQs!3Fm?A1_7x3z%*|Jm16{z4Nx|bZtA{7V>iL_H7L9Wo7*S}uLfW^QzH(+ zVS-c-furwh)zfoRm)hUr$)Bi_kdXdKd-)5MjKy3Z{IZP|Z@fNg1&w2DY4jgd4kL{c zQ5G<;uixwdEe|dL&0&R_1*T|`Mu~INraLrt6V^03NZf{!MoDxNs7$9u9AZtQu(SaH DNN$-= literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410288 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410288 new file mode 100644 index 0000000000000000000000000000000000000000..125b0a77d64ccbe48f551970e575e2eb76e50f42 GIT binary patch literal 3688 zcmZQzU|`7Ue^DkKxFhjZdrjNzwxlDft=4Y){j2VtDAE4@@!|S8KqbQRm%aNdEc6ul z)9Q>)J{LW?yFHM1!_}UhQ+~XXd{UgFDyA;^Tti#BAR&7D_UgS}J1kFhxPBFrPPV$F0hq}ug38>!J#B#}| z8>qw~Wc!T$KGpWQ_L4^u)P6>mMoZN&d|@fAoK|!o`crIt*y`em^DQ4-zkBimU(Nqz z@A^vL2rDnzHKW{Sec!hkXHwV;{ex-*q?G>f7QYtp3ckCK;gfqNkKU`mAG_>o>_ZP0 z?A)?$uknUcn_>*Dg?$AAW);2gaZl_}+9TT>Sit-&%acL0;fLzRc{DPLp z3lIwePGtb;6b2t}2N12G@!3O5O*eV{TCW{_vxJtG_jQ;b?ECAd#~!`!(SrQd(|Km| zKit|aufEXa=Q{mU3D35awXgiMrTqUn3*GqzH_T+1HA1X7HE0JiMOzY?V^i!l`eXN{mDTPfk`nWqegDyi3XBF?;mmZ4fsxFc69> zpgLwCW&)`OTF#vloVI$GMrzV;ccXvVY#s18P`TOC|-qf2zAyQohubzyU^U%W$O;im0>^Y6;-ZC&%C<@2@l ztZRO+HI%szG{qGkUYNtF6nOr&W9!nxryEO;#6>2oUaTB>R*|9shQU5KbwrEG<8`;um5@d^x~{7u6?f*wh4pM1_)5a z&Pb;SuwfI^9Ntg)x1(-PEILD%((>yJ#@P_koup(f%K;nbJA?8Eg z?l(4@=P*Zw^na48ui}0(Cw#6X1ZV6RpaHRFv9_=53HAcMj+&#dknsVUv zw<8=?(epWv=ihUk_gnemlO?v&TW_|#IXm0&YJ$WX@sD9OZs+okGwzPe_-S$3HQjLk zE0B52UaX#cryI>GmpDeC|=gdhwOj*dygWxrqr5oSu($wc29RaMl=+L(*mI%vN+nPW zC)klt0x7{FG2tq3rCqT7K!3}^jX_Gg#JP#hk;ZPqnsx_?+fdRjiEaY54X6=^SkrF5 zA-Ck#^jMW`vB&?Px4iZGccFag1OZ-+mzMwc^NN;=L*pA;`T7eg2TP;y@|B3XNKB)% z8<;1-^+`o2>X!t;L~c=l|3&->pjytt^gZHC}x6dN0Fr^W(=vfJ%gO`d^eu2kuCG z)n3zfyDjO6YOA%|e*dbwCrY%xe|)%p&bDx?t6NS9Y$|#7>`wD3&fcHL9&j@_Ej_<| zqiu9T?4&xN84O8_&NzW+AYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-p_G04vA3cO)pd==vzt~PTu`C*;&bMKdV6iA^ENMR{EA=pscxS3>(*ILktOFn zXGom*+P6P1ta$I0&B`|>_3vS42uVE|_+tW#b@L)~`L(+vD-ZQ4t2``x^dg&k^GyZO zZ#gD5+}lH?P3te%7`0#XsJ3m*&w1_e$Fb{WdtZ3>p63M&qAeeJA8gyaJO$)p=HnN% zJU4(?5O693NT)FPcsqb-1&z-hT57t<>(_ei=$j?9w7jpw{9xZ-KRx#7eUBF8ub$2` zoB!d~Zh7^ECO_BdpGtVPrL2ABpDpG8&spfsFSwax9^Rv2qSO2H6GO_szo|hn4P3IP z=Onf$JIuaTd^3Z;+~wi*)Mu-dx)x4-(^O(45_od5>M7%^TH#$v9*^0hA8&)WiGhJo zTmjWFK{12jYe(i88x+q>V^Ph1rSdI>liOLT(?==KGw^#f{Y%6}jLvSH!K2;}~Q%7Nm88JG`0K>5U^SqAp?n<}8`_7YGZD@-ql zhFOBjgsT9@Kb!}$8w8;C1LM{fD#r*a8=!1r-6TR|H-X#^3$MZEHcG+^RQ6CK4#8o9 zR1blpFV{w=;F5DG|HK-TpZzPczI1rAJ8W21nSRrnEipIs(0XVbV@spIpmMMrqMy-Hk336)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^u+{c?cR}3c^V)7xkB2;5?)kV<<9KAiIA`j=Eztk&Y9MKUZZ98(}#i#qAj0zA8gyaJO$)p=HnN% zyedE}2so7iq*EAtyd6Nag2rbLEj8Wb^=rL$^vx1lTHe=Tez5PapB{VkzDEo4S5N1e z&Hr#~x4im7lb`GKPbECtQr5om&zAE4=PY#R7u-xT5AV@1(dqs9i6Q0R-_)R(1}@pt za}ryW9cEuEzL~*a?(*<@>a$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K*8pqL@WKkzA2c^u!dYEPvd_pW-T%nvwx-_Ih%YM;cE&-pF!#v4RvA48NvPorm-DcIdW@` zKS>myls9kdyNJjW<-4Zqthe8jGFL!M`B3nNxR|$x?nnJY%WTS=U**vHiXF+j+m9eq0i2+amDh8*C2tTHP(4YVxSFm0%K}@(XiSZqP z>R^Pr)gd`W#yzq3$e*b_nt#4t-N!FbG4;?g-{lGNu1eIe1l?_lfk#5?!fyQnExg8c>gUxM}gcm5kP$Le(VS-c- zfunD_hEZwngnL2xf{jOKOgeRV{q)cGTioaN_HKI8W%^rrA~cS%rO{tdIarv((UWZg{2Ju DXLyi` literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410291 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410291 new file mode 100644 index 0000000000000000000000000000000000000000..cc514e055b1aac49c44fe343a39c0f9e36e66469 GIT binary patch literal 3768 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410293 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410293 new file mode 100644 index 0000000000000000000000000000000000000000..36cbe2510f84fa719831c1f6d175c94c3d853573 GIT binary patch literal 6364 zcmd5=2{=_*9KR1`i3o3)ku_x*N|uP^S&}RnTjF74eUf_0(uS;sh%8xNS&H6}YLI!A zlFA-Y^E5`Hh#r!Xib>76_buO3`aF~7>;HZ4o&UY}cmC&h{>wS%UI>Dq;uHekOEHPm zaH7Dy3@wgFUYG`-UDZmhks7jOnR@ea01;}eT;^4^RkBt#;=Rkq*fhh~OEnXj=0<{% z!zyPjbq6x#`Hqy|!X($7c&2bXo&1LL@{e`g#=mZQ>mpU~w2zc(3T!}b`FFO!Ef5s^ zN0e#i#>Nn=T^}wRUa+1?$K4*mzw-W)c^z|*()hWsB$R?THS=V>owRn z9HpiC0_|`33#40TUbknhvyryYa~*~Db!s0USvI~a?61@#`HfstWvd?CHX?W!(v#+m zydPOv>LF(%xOQJrNa6O8H?6wo$B%Y3)mkrXS@QD}fl-69UhRLfRMfAoyS4x<81$lg!^0an3#3SBB*cP=6lij|j1IHh1^!R~if00aFUfOU(fU2-n zL(1|-HL{|8oQz2?C$_hO$_avIixt2v06#VuAD2F4tC^hAWk?iqwN2{WB*Y_g#yy{~ zWQPH{=S+-w4Ft&vKth{w5Nb;cy(7@##2j1$mOJFl2|x_u0WiQ<1cM1!NKJRwXUUWGk1c3oMiPH4q=#bKSC1m7h$ z_Ia6VshY%JF0v!Y4El(1NB;1%ZO!28fkS<~sT!OGX(Kg6gHnA<`F*0WKMs_2I})pWK>pi3{J-A*q(@uSl-2o;kH^5QkXGy8*Chg>Jq#d{UC?}XWr zgEc+9(VYUs#Wqo#($SH2y&~%tXu{mtCPxp!Ef5r97vy{NijV`=!S#B7prf0sT%IDb!#pus(nP8HnEi11*vc2ly0teDIq|;QPok zfsi&|B`r0Rh?U_IZ;S2AkkiJN2ZRYFi+$9x8 zk>$e-|24i@uq7THC%s3k!(W8*5oKoj(BrCcVe6xt@|Km+rfCqghy<}K#z5?W2k1Vc zPl~B!r|Ga=SlDbA^&!ga_Nn+a>%(9LiG!Vuks*A+C4LH1zCHT*`W(lmH@OGNb=Usp z5~(_+y^I(g+^uT55yk+SmoYcknjpqjyx;#JNG@=VV)6S@)zpYMZR~}K2TiB9mv2ZM zl&TQAhk)j3Ob3Ilh`D4h%!||yq|i!-8_rfA?!?H{iH5bda7Zadrf>28%dn0%CW;yl z2qP;SBe460LQ1Tw{oT~UKp}lGqF|*`6MtB&aGhIMcM|$Ci9aPLQruV4u=#*8A)$*r zzV^COP$`E`bjEFK$A!QiQacBR%*(E51avgrMYn8<4{vREQS|TYdR}4WoBxL^2Vp<0 zcFqC({ML@Uk6!W%%~j5|!xphtg*B0eHs%}d@(_FalcGu`g-gJA(`pCd0%~WG(2imr zcdJbAY$D%aSb|w~(l(4uF}^QO-GMXl!ob?yFR*SphsK;KLk;!vdATe7iYnCKrNx?_ z*{WWDEntXIJCupgr-~5-m+X_7SJ<5h$5Q2SMHIa7ptth)J7>MA16pNCZK-Q=g__Bz zreI6A`m&mJ0>V3oqF-JK)q(Vuasz$~;!f@BSC_HS`G>Hy)30g)_CjgM@yE&(&fVM$IRLiVz`sp4%gBJJC#$~#}q|TWWoVSeih2^s?Qy<2NK$(e% z*ho%h&d=g$JzBiHSf%1bv!04{Ik%Rhq&6oR$I&tBfdHJjX!{1^Tm`N_&}{R4L8q^e zqjV0eoV`waE!3x-@AiX!@ZQD{CjLw+2&{9{&X!)5xi zRwee@!|=B*AS~7KLn;=6W__0gK<$CB*Pv$L_sRLHV`O|#$4D*!yVGLB8mEK2-k sb^M)h`x<}!A9YNRD=T$8*E*XvcNXfn{`!c_f3IU!zj@4|j_I}cFGeO2{{R30 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410294 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410294 new file mode 100644 index 0000000000000000000000000000000000000000..b912a29328c3983d258ddb6e5eb1c132bb796062 GIT binary patch literal 3916 zcmZQzU|_iGsy=VK3s;ik9qC)ABJ<|YUKioLYQ-ZiHU6NgmmV=PKqbPfC(q&iC@nXo zafQI885S(}(i~1^<{#9#&}^!5Rq2G!SG~V=y}O#{%d5Hi2`pDFFjVYzbzUj-pqB zW1tcTmiU`DX2|@J+WmK(XT-<57Thfn8k4!pS0}zH6>9Nxo^yW2v}r=qlI-e^UplfU z!EL%L^NQ~0F>J!uE$mWOl&P^V=bN@GXxH3DT9R|srY?K^#dJn}T~Wk6Z6&uCvu&bs`B4l$oN`L6Q{;e?P0w>^cql$Infnj@IwboIfKHlL#m4C(?5!hRVH zjA09b%E9pl(gy;-_$&cZATf@D;sPr}69ZEyA4oyezO=nu{wBayGn}(7nQ@1`rtPuG z&#acNIX*++$@%-sGHw9XF*%0#Mh1a&KtcMcYsnR}_)2@X{>s;z9L3>ws>I@Td4_<6 z@j9)Ui?4kKDU&FWYJe(dgt(Kz;dT1rSCae695Rm{+2`4rSh;+0-a4)OeD-HJj8+wP z9^&FlEZ%+Il38Q&+)X`9+||qM4Q2FV&rNw~AivzaT74Bi&^&OMc(CtCeVLh?k$h;Q z#~uU6+L)uaFUW~*+8~;=SZ2Cp%nJs_wgtd+0ZIp8^)Pn;X>j-u)X%`c22va1Z3xzy z@N1gvV=b#Q^`TeG%~R7wZwsv83vOXoY;6vGEN;VU&aiRO9z9@8KmjAz4ZyrnwQ5g= z+cK5XM#rLKFB5%!8w400$mX0|7IAT7w_RR{<-yh0HYwC-%~}V9WX2V>;n@C{$3bqFJ(~)mK!6c! zF3=CNv@N8WXVg2h7BTpm^;Y>bFLANm*IW2Szg8rs&~UfVjN_6wq6?SamwUET&8un| z&+c-jw-@{(GxzjOQ|&t$#0oTv`7GPA*{)Vg3p^}%kJcZ z4~Yp^ft+qYf}s4!0J9&Mufo85kX~T<17#DDS3z##`a)wjf!q!YufgUvO2TU)&|lPu zLvWZN)pg+L^Pha#%9gio;_Rb>3iDPue!ls~;7wQKU&)wt3BIjYPc4PSF|e$K09cv< zl@l-k3v+lHC8C^Rkh)Yb16o$W%!HYToG>xufQraUqr|z%vxCNN!kR`0iQ7=pD2Z-D zj}vm^5Iv28;vZH9f#ksHfe5z|Ux&d`9ilEnPII8L7haYSVJ|RU!_yG$!h|w6A^VS7 z@x+k!V%GGIzjn*AqeRP#b#9AE&;6y@`|$0q2Uq^})vud%6B5iARQI7>JGHQHUf;8Yj;D10R5C0A98s+kwS=tofS;_E6#v3}+(=ATi-S zMNh}b`4PSE1d>C^GbH*Q!+s_rklVv_78P`ZVeEkw6d Pk@UcA1TwHW1SSsvc0i_Y literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410295 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410295 new file mode 100644 index 0000000000000000000000000000000000000000..39f7e84f459fc13cb72b4ee5856c1a84e752056c GIT binary patch literal 4732 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410301 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410301 new file mode 100644 index 0000000000000000000000000000000000000000..58e0e480a0a106ab622a59030312fadd759a506f GIT binary patch literal 3840 zcmZQzU|`^Ob6b9I%53w6ArF}j${pJva(Axxyp6)C`PrWe{G+}J0hI_>mofWww?C~7 z&G=<~%bD?Ot;vr+cNXsMz4+I8t?O+2gv$Yv#XV0PH_mPl&Qam0`d|9#q-$kDh^FWV zIY#EKDzQK_7?Kv9sRPkKzz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}R|F{X?uU+PM^w0DW2w>A4_ z+lt$UYvXx;n4RuDWAh?Vv(|~F>0W9in}=P&?45q@xw1{>%VQk%E!zBJXP({a)O1wO z;*9(f6^Y4yY|VU@b-_D78EW)Rbl11kZ$GIp&4Bmzx|p%1>|Dp;}`T9 z8$c`wIF$jUQy6@_9YFN6wfEF4cDi_l{+m;}^UP|a&1p}9i zNDByn;tw2$1obm8uz}QucpHNBF(mw&Ci_^+>P&s;)pGOHbkW-aEBJz2*cDrwLm!LV zu$lvvh;Q*;&tvExx+rTG3|S zQ))UZEganUecr0Re9^ZgITNUVe}n7>Vh{k)60X_ip%v*-eul1)0lNR%fc1b+@o4@U{-rj`)Ob@PI4c@rJ;OECrk5zfPLFz-ijX>%d2)YI6 z<`C{DV6{Mk5$rx-SR7h%ZN;IoS$$qSB^48?RE?u9WQyt9^B?kR(vRJNhlSy5N9GwD6wgd!QO$m(@-2mv+gYj8 zM=8%U@8n6-3BsTVOJNWYJI%nLaT8=e%po8;Y0=rGP%+Me;sPsUV-s^zhys{8FrDHb z_>`$Uj_+8tr_zplS3Oha2OPfdXAxqxPh!gFea*f=EldHSK>rIa0a646E@wz-iz`}T)*38A%K7-US{rb=VqJe-B>Q;wTo9etx((b217!|gN z|G2&Hvf>xL`8QYEyFbV?k`{YueD30|c}cAorPs+YGSo|6_-ptk;+v7!GuEwkXI*19 zZ3Lwc=Emb^l~3=HE|v83f4g?3Ms=pur`HRzwGF2FFVb7DeIg8OBPd)T0L8CRF|awn zJOfHYU_eAXL;QoJ2c{Q9!z@7(V+55;Fg}sy%OJZ6rWZtGF(2dym_KM~4<-J2TkXZuHrFo( za`|(B6=9aopf(5$z{30&On`_s41?5#w>7}B0@Mxy=|@S6NE{?4%yh7NI0wjpl{;Yj zf&R;fN}_~0k#3Tpv74}_(Lv%iO2P{i2Pkoc#6e=hqYV@e$N(0H=xG$B7g-K$77^h^ zO8Xe*4p=)G*}crL`V6Fq2zx>48kUA=7bZw;6*Am}681=*MPkB&1ZQ4Dk0-bW06{Xg AOaK4? literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410302 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410302 new file mode 100644 index 0000000000000000000000000000000000000000..1af5586d0a70fc8ad5eab7bf6ab756218346c048 GIT binary patch literal 5084 zcmZQzU|`rT@>?jl?o58z{v8)4Z`9KJTfF>xmHvsa|Ce7quUxf68K^{<+s$qHy(zQJ z7lu4!Iw*H+gUH>v-t#sJr{-sWD)5i`CX^y_VGFByU)Pa`%r&cuy&Rj4#-915q~v|W zS3)9iZ+tM&42GmdXPQAY5HNy>6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^@GDsE<<);JozwRxa}~|u5Y*lw`s!D{LRI?Q3l-e6d00YbN6)b_o605Q_3+U0 zPkLK_x-yzt>*z?`u(>5_kolkaSHm2Ef`~`=x}+BDpMKt%Bhb<7!Qw}?LKUXr>)S-< zTMEtDT=M62iKGLg!_QgG!oRDO-G1yA{N?vvOZ}PH@7;0?qAmY;A8gyaJO$)p=HnOi znFT;B2so7iq*EAtyd6OFv$glsEOxqhh5nmUy7SCxqs?hgf{T}J|5{_|cK@0A!NBP} zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!R!lENS$cA9}f z;}(z&jyI4#5J*~db`_8UiE$Pb7g!k^o0x+%00B%Lm`?Eze9BZF$9JsSQ)$P&tDY(I z0}kK!vk0-;Co$#ozGh#bdZvKTpa36NuwF2ce(G9s#Vo$k-mSm#^(IGgxScAocwL?$ zU}3yYYv$r>pFxV4lA>T57@=-;n5-4$fwQb+h|NCzCX$Ufdj0G9mBI(Jw>EF?*PL>TC z*L!XkG4{<}8qWIZlNndkhGY9*9%o=|TL4TO-+)R%dSC$LU$CDE>SthJ1E~%1HUjJA z=wsnzXFV^r`09>pMVom~sp+h=aB$!Ed8_*JMcSo4Q|pZ=PjAIndv z^ahP1HgQ}0LW&!5y=T^I+i$wI7&1VFASm zD$il+h;x(b9~!#}5UiA%6qM8qX2 zWi8B6ure3fy`XeWZamR0Oek{`DE+|!l4p^aaA_2^KvCqlKyKqPoLO?s_*4#Cc=_GC zb-T9D^N2g8;n$+Vwng2qSFloa?{}z)DgS{0$cEX)2;}~P%E9slxV{I85m9f5X>@iu z0gVIIRV_d*yil{i6wDGJ2Z;$+fy-}T`+;fD2dWY!Ul8Y}&U-X=6Ugnb@Pen$LE<(_ z!VA>iphg^`mm}b)JYzd;=G+oz{#aA_#ap`9_4Cb|ta4z}=9n1oyb`yYEpwppjV+DB z!Wb6jf1zrLX;U+>uV23h+OEC{)W-_b3!;${CK3~_0#_OZ+Yd~mbx@TkVNOIlALOP8 z8oLQ=8XY8Vqa?gQjY(?6A=Wg?E`OF|-%EbZu!;oE-SdR@Ykhk)^crhTi UABpbgA^8IyLqG<$h=a)k05VXT&Hw-a literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410303 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410303 new file mode 100644 index 0000000000000000000000000000000000000000..2f29f667a7542511a674c0ed5c1a57b2a92688e2 GIT binary patch literal 6072 zcmd5=3pkY98ve&+qawNF5*5WkF&XaDv?uaOBs?| zN0UnrAgI=jnT%nf0ypf9qTC_kHib)|x>O z1j(ur+sWCv=@+YIW4348f9fDFKh5QIp7D6`RIDmdM$-+L$QH}JlW~lw^LM^k(vWmj zM{hhZYiK|Dp7TWWv;MH0OG~1jzI7O-4<=P^8y3`n{*RpH5MYYK6W*_Iwb%|kEsNA6+sE8J6GD-j@G@Gv68}T*6 zYuQR;QdckE&gk@w>@zbgjc)eRw7Ky_-#Yv`>A|Ao_um-SYo`>tQaP>dCc?{)Qn)#s zJq7b9RPj?+s}#zbZ%5g;xSqSYD#-re2CeL0Z@f%g;gz36S#G`??8`!PPIOU8XcYTX}pcY}cmh}@ZjAZizZj@Av%g97TA#nbR{Nzf-THu6Tr zH3mu!DXDt0WmTl3q=Ic|GV2VM7_WM4d#pXN{1HVLSXG!kled7@0^lIgH=w3Sot4Zs zBl#1%$JnmOmA&h=8&z_)c!k~ajdvP2YP9|z!@Si|Ofbgj;F!VG=Qj1V zDITH~nY$eHpr6)^XPu*m-MF?}xN=2>C0X}@VXksNS;XOPeSvbcQH2om)``FJU8^Iq zhF_$82XLbGpuN3cb|y-L;or(KrS!;2__{{O&Kc7y-Bx}x`N$>(dxR954mkN9#>I~l zHc&_VpPi2&a4nM4#+7g$;yIe4+M`3Qi)6HfP`tOxcS>hVIUW{MI}*d_Q7{sv022kv z-~rSYe34KL;Jtj9o|)DtmowXUWtoC|q5U7H0z*^QNd%r3cbMl_-4ayJb#NX!?xjLy zxmTVTGJlYqU3IQdZarChV4mllS-Z)2yv$AZzX^qSNL3xMQZM1QSTTR5-+pXo;6$xZ zJoTy~#ukkiA+Zsmp;)*+1_ZW%e;J?=d1Plgf6XmBZf|3wlHUFWyHo;~8Xq3qVbN4} z(As=)Dh=4+`T6X6{575$H-|i@8*95rM0k-(e$Y0qO6sF#=2oXl_da;c@@WS?g-o2R z%p8D%$@ZF7uh276L5b{9f4wAEar2se2ET{+NE@uq*ZJ4Q)>ptzaqq#0m^lfJ59D%@ z!2nY^mZhp|{YvQQy$f1#uQutI>+i|&sWhL%&~_Q&HhGl$-0^VjHxkLKa$}pC)9eG= zBD0@d%PQE_q+cfm9HQKbVV}G>S3X{`Z`}WSvtIcHx=>eZi{sUj6(fT$do<=G@VPSz z?1eE9pv80Z+4&!E=Mpj)=`&s#MIBSo~LV`09 z>G`z?qSeWd6Er;8no(Z}H0VnrATWTsdi5H8L*64e1_f;e;ENEQ;Xt?9z?%fW1>gZ9 zl%GlC&mi%!(he+LpJZ+``XY#??|Lld@6`@#85||+{7{2Gojkdvbc_FR8@w;2*f!=Z zTpX-YaXG49T}DPRuXm)=>i(U6wKubXKhcM3vg57id*VZHzN4}nQ@zZeOKFy{RWmZh z@>fcV)0+5eGADol9gh`sAupi7+zRve7<52@9L(2>i{k=!@I5^OCc$$67iFAMO_d&1Qqkn+i&pR|2T@S58?~sKbw?u0WmqvFs3Ov`i)@wl6=84Y*MWV z9fFEi4d#I;yfcu$rw}*_=MtZxz68h@ey0-PT*Po-=OYm>+tkS1L7t+dILK;EAMs0 z{^?-^ZGe2pQAuzg`;eord8PvWR#vdw5#q`J-JSvF@p#5}Kp-YT#k_y={X^FW9JR;Y z5cUKCe!l}u!Qi|^|4W!DOjC078^Jb-qtnE6@hjDEN{)&?vaXdX&W$wglAkxLH}jWY zZKKFCs_he3+%n~iq}-43>n+HA4C5>!!2b}4YP~lC&N_S!&Oo3{LCi_{6U;v|Z5sZk z;_?<_9|B)~ppS|-4urA;ZUfYl2 gCJYc%Z23>_Zy)D`u)qBum?o`F=n&LtW5Or=7q+g*ga7~l literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410304 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410304 new file mode 100644 index 0000000000000000000000000000000000000000..4e19c3272092258c323611a50a756291f76dbdd1 GIT binary patch literal 6372 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 Db2NWH literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410308 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410308 new file mode 100644 index 0000000000000000000000000000000000000000..5f7e879ed1c63c23d81f74bc412300195c22bec4 GIT binary patch literal 3224 zcmZQzU|{&``Mh}2{^qSG9F=;eC@p^?y>PwCzx@qsxR*Kwdso|E2PzR}zuC%j>Bd@3 zeWM7&EmP*mU%1NQymqDiM(;Bd-U*doN?xQL;P63CXnR9LtmYq)gfDAmDIBbh`{?!c z+wD(x`R)RZU|>jEbY?M_!N9->qF1P#mDn@4l+9OjR&?~5CDw;m=^JHQh}!n(&)#}E z_k%G|i9=De%GvIqhi5`XIoBRC+#XT<*JA19|402h-hEqhVh58FSBS&53x`BrT5_&m zVW)Oedg(dlRUyyb=A0^4uqd@>VXM5L=V|{h_g(L-;8wpaI=j1yrwCV<#8d_N?evt= zersY>=MlktyL^&&sPvufkNLZT-ke=`;HluzN1i3hDW&0|45F308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9TOBYG;f`>m|wI@;@RK)ZI|`-E(~CLaP4aF#vKMfKYn_w%G1rj*tUQ{wB;92 zJqyfyAPtH?a2yiU&%nR~QXArJ1lG>c$HK|ZdR}bt)g9N0HuIiR(^+ZZ;J)wkR`unJ zz9q?-fE57=>shBjOpqO1AO;d(1iK5EHeSDbruUZXm-)0#z7L$+EGK^dzU_Q{+1&|S zQm1^C%KLHUV71*OEsGxoF$GRj+cZNn;_qc1nqfBok;<|+P2#uOnSo}4!hyl?wIlP4 z4T@)`v8ZOhQu&s`$?dGv>7$hAnRoJ}=>%azppp~@0kP8z3>puBY_Pw9G#Df;Ity|r zNQ|?fxWLNT*w_T>379%Co#G$(l&L(9?^v~`(vEvqJyYff9KP>o5n{DZV#?=z&AveW zOaY-m0Y0u^W5GoFscXph4DJAnTxM|1}S28w>|(? z40Hq3tqv_73$(+vWoxaPBLyGk{qTMmv2k@!5NEOUG>yNuUh8f>Q=Z49wJ>sbLCNwT z*Gj+U3eD*E`7GyiMB(yG1-}P-LE+65H)Xm*s=yPzemASjY+r0bMXXnM-pyTaoGron zf!82CA8KdHe;@#|;eG{j|3T$IVap86KcH|110uqifqng2SXkc&YGQ?I1ye9ffE*+y zTm?8T;XIJtAON)=SoX|?$}xiSG?YzD+=JZ20F8fIxe1mZLE$yn+(t=wJphI?HR2E) zCP?)MIQrUm`@hMu)0)qF;?UGBD+7O*t_bEiyu@pctXM+al09@AO#Yb32irkq(Fe!@B-BnaQ_nHCK{9nz_@Dp w3v@HsA4Ir;l(L8^g!>5t!^TB>^p1kV1u58o_CfqkFME;gW`LHDU`HVn003n$u>b%7 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410309 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410309 new file mode 100644 index 0000000000000000000000000000000000000000..852d74edd7726191f2756cea0c0aeebdae3c4949 GIT binary patch literal 2424 zcmZQzU|>*QCz<$+C7vr~_v_u0BqmLhzR$s5UHEiPjn2Jw#!o&z1u7B#>-oHR(*EYH zCmfY}rYJ3cBE4|E%D?>$Yq*y>1$$T9U+=zp|Hc1@558VDFc#MPqAn@IuRJ#*P-KYC#*WcL35i_3HL*!Hj9=p--x zCtU`p#9`6d9&JCBGmD!Y-d3m-?w)g@R#H1tQOk6p-PQK0rWLnlO;|XG`QMq?>H0hS zn0E(c@0+y2Na2Z(`xNN|LGj#{%!*g);%8{xOAwcrF6@0WXZ58Y=Au(_goJXH|H-7Pn?wxz6n<)1C(|IbXpZ(%!AV^7ST1ak!l-v3OmcAz)#=PHX1k zYo9?%B?_b(Kr|3ALfpyVuyJS0yFPit{J&z0-oA-{vGZR%>zSD7?-uTHSsR{;Zp>TI zeSD>>bN;lKyMBsn3gvnh(Y=gkZq&X>Yh)U0vQ7M%fo6fig~9N(BlC<6if5*=sAj)X z`If@T?X1-4qm<{Fck-m^1Ytv7`3KL^vV-o|Q08|W4 zr}zgxWh#&3J67$fwBz1Y&y@KAhwuAYgjns9nDTjFvoBB~Q$T1?fR8Ik3j`1oE=*#4 z2cXIsp>B29UK8&%Va@03A&N?6;R(+!_|NKCyF;PeR79ijPg%zA_r6i(vA?EUC~=$k zx&5-eI448pS-EJ~ioUXnRV-icodu_rMN{~ag}q*?C{CL-hwIOuIdkSNxe+|`fy_kR zVynHgm_hCZft3G10Hk4I!U*L41Is|dmKm6zSfG4j!kK}6{aOZSSU&*jV}-i=lFipgay!M?~BM-Lz&7jok#xpP=v>Y;L0@yg>N{?jKN? zlNpC#Gmz>NaP+Ned(3)4rCPP>>xO3vKUCa`jE%R4HszWv{JkkTuJ&30SP}L#`U@%t z3U^?bxBP(ei6|c##AST;T!EI6pftq;(+i@>^B=^1p#M^#W}$>R;W8WSrUDwf32Pc1 XByOW5yg>CF72*(*Z_(2zG(H&sqyA|E literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410310 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410310 new file mode 100644 index 0000000000000000000000000000000000000000..19ceff5629979628a8c0c21c0c5489f3d5b3816c GIT binary patch literal 3632 zcmZQzU|`^O?H8;g z`}OWg5|gG$-{;`3E_^ztM(5r-<0l`V@+SVizCEKo__@F&p4Kam4lh0VWBM0W$I!^d zY_s0*2c-ecU`SeYW-W*Y0!9$ALglQ)p1GxLzM8Y5qt`64KDEF3{(SvF6ZiP9GDa*7LZL5uXpS@(Eo00j;)O`^PoV^*=^|Ns$|NJBR z?CZ{Z2d(}&cmG}{#MM=Pef?2pDdvvsob%PkCttOmc`rRVS(It<%WaWU`u8&?>9y?j zEzIcfjkqUtphLujv+79~$H$&CpVyil6o2T-7j;Vc*o@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3Uzw-4aM{&5FDzSK7o*`gi zyiRN8;%lG5ie^k}fa+j`y4B&=Qtqu{%h$>!#y=0>&d>ZM8XJ9R(=hCUm%KyGj zcfJ4Qf<;{PR`*k-$1c695xBYOSofp<+c!p5o$b-7kmLiJ2M(80-&n)CMY|M>rEeCB zzx>bW?R6(*x7)G{_YP_J?`id#3d}V-7?`!%7??}zfqGEF1?nac1qx>n;Dt~OOd;G) zz)ZsCgOxFv*@27)o6i^;?BWdKaLCSc*pk&c$!>ns>2C{at{&fei$i?>JS*iDt>yQP zyxc)*fPgA?x`udw4O9D5^{-65)J$vjpG`(nn!2o_*Z;hJdU4hk*S=Q@+k`KH6;a8~ zNT&#}aTC)V-cR|rqi#>+f!M%*XWEpGOVnRD$D*LqJT0v7hVyZ#os5w9U~o9eWE^(x zrI)^@;)L{R{+}d@OykY;bGJu}>IYqJ`di{XW3>xM&B50e(iamG(h?1pdmLq1a>Ls8 zrB!$Pdb9WF)ForD!>OqNnU>SD|D#iiI6NV-RrbueQYG2x3E`JkXs~OH&m&~}sUeos2?r;q8jSK=ZV1StXAWLSrHZX(dcx_Y zH}^kijdh$9&sEv+bMuXu-phMtKX8&Tmsw+@_r>s1oB5jE-l;-H&1r>w;j*lu?wmmL zn0wF5uabAvOMY2W!pg3(;IvLA(^RQzVKV|wwp=OQ*9r4~%6}jLs)z9zf!u#k_khBc z8CaIGLixm$I}GgW*UW*IJr9BU;Cex3z$`&!f@Ht|9FH&#kcQ+#sQth=S^iEf_jpj#Cv(O%341`;+RnfnnvN}GEy4l#leQf1xybEF=hAS)bE+l`k@YJHz*&$ z0hwtRY(LQ7bD;*I#07C~`esXGH(^b?gT!r=gcqn1rbZlMO}h`Qau_Ys^S&^g`l5I;8sFH;*I!UMSQ>@rFT!;ggSd>(o&sn+wghMn57aC$ nMP?cW+mEY!CDKhiGzZR*J}7(Jz(X&^x@VCC;7vhL)~SL1XS;9V!33~ z4OHS_pZqZ7frjt=8}3g`y!cn7i+_y?`uFI_4#hR|_-u1z_O3q|yLXvb@lRJ9#efYf zm>juYD84YhFq`#xN@!j2PBzBV5t>o&7j3_@qNUzja2x04%W)@^pEi}BHi@p-ye0M4 zg#8Qu@AP~Bv`0d_?uL4vjz;upp0GDX4M%P}&su%>!Y6qK(N=ce2irC;PXW1@`S=BW zizy%$1f0qN(kTo+-VPx8+1h(*7CT+MLjTPv-FarU(dM)#!NtqAf32}}yZ_AmVBmC~ z+58W;cFU_TH2Jws|5U=WEoJR1|7CeAjt}a6-t0+n&N)N=uR#%@NFTy82*Ao6k`O26X`jVZRIp z#;|2jeIRXM0F2MmKnBPxj)LL>D?<|lQz#!K502xPwwKG_1lVeZbJis@?y%RiJvRB7 z)zUS`X9zqwe}7rV4WK$E#}MDhAdn6yNI!KgxndSyY46rw`FfM1INVN^SiCOJ5U?;_ zr!{l&wa*}B5(QEXQ00secQQDHy;>o#fq~Dcvp{ZI%Xv;I!7~E;_(ImpXfM8@){{JW z4_iCig5>oZTcd@4UXpe)Hb38gW3HvpwkMHSDoVDCd}Rij$Jl*>@v-QU8#`)j)2|h4 zXbFqu)OS8QWv0Q~ebf0+LYWW5PIZC*Kmbw?a|4k33(5wCD>E?NutE7mgfWA-jL#k( zXgDtg>f?dw1<^1|P?>NQ;CO`dKz4%w)P7(bt%b@lg3>aSO{ANq{GqX%KyHVH*I;uS VCE*3iE7XWXaF`&Ko3Q8u(*TC0pmYEL literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410312 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410312 new file mode 100644 index 0000000000000000000000000000000000000000..1cb1a3af6ca1d1bf2fb81a0e29aed4b66903ebd8 GIT binary patch literal 1468 zcmZQzU|{$c{${i6nqNzI>NccYyUEJQsvwV$1pKXWs%5~xJ@!vVQ@QuY~5 z3xqfovu?iJQL`&pbW3{G(naCh!x{yT)!$9hel(xSWLtslkE>b^fl9MZ+6qQm%XLlR z`gm)-@~SyNGZ>N|tPii!H_EgSwe8WLz4dhN z2V>sKK=`)$XiiBW+&bH5)+Tr>CNTk)cbD+R$FE9$FWnu`B< z8w^{sq{3g<^@t)442dh^di7Pn?wxz6n<)1C(|Ibk#valkYmO5Kai0aNARuOKC~+qB(*&PFEi+Y4bVCz@RR`AncdH zz!$GMrzV;cUOrk)l0jiu4;!XyKxea@BV|NLfc`>gOu#@J@T*}_ z#so{2rD-iM?QY$)y65P;PIu4Usdtw0=G=ew<@|i}@`m@^K=T++%ss>YV4=TB{Vd%$ z`2};g$Omu#JRv)7*(LqdEcWWeM2Ma00{?*kq#ou5AomxP4GLFgV7g(4@`(sz25}jm zDSx2hybP$12c{Q9!z@8%!c~Cd5zYhI4FXX6fpN46D#r*)%TP9vZpwW_V>f}^4hyfr X<~B;g3zS!=5r^O~K`J+4(FdjhP*|)* literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410313 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410313 new file mode 100644 index 0000000000000000000000000000000000000000..ed0b76bf6a6148946df9d348db2d77b1b29b5ddd GIT binary patch literal 516 zcmZQzU|{&~wvKHN39VfBaYvD(kh%AdIzSo!(NbmcVxhqtwA8=hXHKH)fbr2$jOg!a!K z7b=u|z1mIz&0t7cbY>rj1_DM9u{Bm;)9zXgzpDqV+?PJwI^iULcyp+`%#ncVeN8Nv zY`TF;9JFWLoPK0s=_c)Um)}0snmpr=rup~2J8DdiM0UlUuAkG`^kx5Pan?m=x%F;u z@BGsu_Vm%8Bw@bn^6h7D)R;tHV7_mkID=)S{%wbFN!=s1*F9d9cijovR7a#5JRBQc?Qu|PTmLGHZM;BxtRI* z1^xIXAQl9i$^p_T3_jitAo|(bdukRtUA#j7%_-e^X0_4gv?syE%eH^5v2?rt%=}>B zbe`G#54U#9t1mS9xlaF7!m}-9?JNImDgS@YLU(?_%_Q^i9t{(n-k+ZsQvUr-4T@>t zl07{qu|?To_O;@h8T{og53i>_Tcy;saO#_;5+jkolap0X8DG^3?^5!3%pU!C8^lcv M420qerVd5}09IP%l>h($ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410314 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410314 new file mode 100644 index 0000000000000000000000000000000000000000..446152e4b7e0941b4142e1c7abde4bd7d6fa1c44 GIT binary patch literal 1592 zcmZQzU|^6;oqD)KH>#=rziHduUObiRF?_ zH&BT~dF!fj)y)Tf7G7yTzF09&B3@eOPX3-Re7qN?`dOK8{nIJ5EtLIaLdsdOLMxpW z#T*l+b;&;$`e}A^*FElc?-sBnWuO0kf5Ae9fEizO>=tzfKhCb$aBH8c)|HfVR*r7$ zTiVxfMDI`(x_+xq^oacVuVM0){&%K0dHgqY(wkf2QX0-6+RDZIVB6;9DIga!AHSfV zzyV@Gz^NP{oxmt-YsavD3vX^xvG)oo7}XZBBaa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K)5;m-t8U!XCuH8%MFvIUat&TL;wRjn^5#&k755Q>$aaptYx(K4VCpwGijGB7AE z0kXmI2GR!t!1#OwVZp_DfqceLZ-^*|>Wdu>lClX~g=GX9`O178gzPMoZH?~x_T1>* zd&gWCsA`|fD^YilY9idh7~l$4%5cV0D9uK6V(y=Ds*QP=BTT2Lh0KD4!R|{Rd@(;*^;|v;`y&21JCbxJPE$A7~se z25Mr4Y6Vj;OMo0CCR_zL4Z(RZy-@ps>7x@W#|X+tFm*(_X$Fnm1adnxyat`yC8%!WlDm<9k?p2yVy literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410315 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410315 new file mode 100644 index 0000000000000000000000000000000000000000..c57cbb712d0ab4350a9924868b854bb432a2192a GIT binary patch literal 1724 zcmZQzU|=v43EsNCTQby|?ZLZSAAI{|pFcYAKv!atkjO`sYn4)Ofl7oWQ>Py8(2Z)U z|8LrMH#sZN+Q4ec9VaJuyLlRS!osDw&VRJnwQa)}#q|1X7Z-jCJF(!K^@gQa6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^P+oUs>4BA-nI3w`-P!Gte&+b$Jlzz&AIy{Yw6%Kjd|>BFS+%VD^N!a3ja#2A zEHD1wo3rwFl6UbPuh6MS6&5ERMYHR?K~A3;YL33Kg(k`w;R_i zoO->O&s+Jd#g<)JXQk71UTU4vsb^oX@u7+81MBZS8~#sb5N+k=eXwow@)VGZnU7!4 z&prTRLBOdTAf3YC zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmQh(|jYgo5vmtwK>%|h{){~5i#?xgH?TXx~zAr1dMtzJ_Z7`S&ZFl)6j zFqbv}m4o9Aqz?@+L;1W=nkj_)37ARPe6TVmGrM{a17tp9Xt0Yjh{GW}&tXee>m{Gt;)B7V`}f?vdC?_{LOYK;ty%uMRWNGyftyvD3%!*iUiykW-C*tV z%I_vu$tRYE9ZmM8A3t$Lwf(y$c=)A&cGT4yp^HG_#n`Q46(8~UP_`78RHgIE`ei|k zT$SObRmD?M)lMG#A~O+UC-;v3KmcUJ;}^*N2XzlG4mK!VF$41r8&n+;X^eqkaq2f) zXgUKW1WuS<5RH`RkeF~4;B*YvG3jz~>Z?{7y9wlWSa=OK Yw^0&a4M2ZUBM!k~f>dw7q7O_10A)V*rT_o{ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410316 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410316 new file mode 100644 index 0000000000000000000000000000000000000000..9d49ab0bb2ba1603a841ec3e064e15d008af706d GIT binary patch literal 2760 zcmZQzU|=Zwv*45Sb32BI59?#4rPW$@tY^0K$xpMdpFhPx_~Fb5pb}v-k>IWCyCp-d z*&e*R^})Aa_W7d&4|F9a35k4ExmGFlHaf*^HIM7_{Q13R_u`Xza$Z#=zC2aKf79;R>H#bFr4P4GILRO09O^D}B%pd<6U!x= zZlDr}LXl)~@7a6ZuQ>E{MyhYBnQ1Wdyu(wzEcSO7q^ujaW;jl~CH>)o!=V!!A_Kn| zIriPTcKL~~^)v6+qHoqe-*=cT-fxW+C(B>|gJy;6cFPyfv=^Xo+ z2bqku&2eY@YK-TYmLD_Uv+wM=@F`Py9N)2OPo*9Au6m}-4>)|^ z&mzQXpTv~U`5)1rAKoVAR`vezRi9Zqlj5HD?mT{X5g*VjP}nd;W^5^Hd->$@t(fE- ztAF~>_J1dAl^OV*92mG28-YqE0Wr+KKqd+RiG$??YAfGdLZ{&R+wH84YLH530DD*b2txVHwZxO2bNoF zp>m9%@&L*v(oL(c(AZ5Nx5L6~u(^$r@B)=L)QCfHm>|_X;OP7M+akwzR;<>Im?K-b zW^d&E{&nqpmpO_Ff6Fz?Pv{CygT^tq)CaPWk`Gh{9_G2%VIl;}44^`5%at0?a$_P) zAB;w_1c?cgg_KKh9z2ag>`z)0bQ>y%66VCYX~hv5y9sL=9VBj}B)mXnKMFvKI3y-q z39fPmJ&l6&g32IJ83;FrU>&mV<}5viAW@*c4ZtKj0d6al0XGOCf#P=}%x`+ynMI2E WpfVI*CJ|k?A?ZOl6?-Ox$pZj?M8Dbq literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410317 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410317 new file mode 100644 index 0000000000000000000000000000000000000000..c3b6f60dfb3f9ff74087c840ab72d173427d1cb3 GIT binary patch literal 1472 zcmZQzU|?udT<(2rXV{^#`c3`Ew#^PO*~n9zlbBh#>cdMr1MQ>)pc3J-KMOuNKeuCe z_^>`!T3W4j$9iTvpZqlY`uS5Fgdfg~XxLZkR_?=pLuuWr05SQ~#@}{(b(-kC*tN<` zg`4k`YBtaehNMMjE`w+wU<46cV+A(tuGR3ndcewk>BFrPPV$F0hq}ug38>!J#B#}| z8>qx#|A(a!k+=3KEa(Y({le8#T9u>y+nUG%6UIQ1Y4L@B)*lZz`&}bYiE~vUH`SgUw>M!B4o?At3oLm3l%*v?@qOH8V54LSyo&s_)^YIJ% zId4EL2so7kq*EAtyd6OFv$glsEOxqhh5nmUy7SCxqs?hgf{T}J|5{_|cK@0A!NBP} zv-uxx?Uq+xX!3KN{;7m#Tguv3{@GIg|D1*H{DPZF=HWdWCOW-8KQW~I`J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5H=PnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Gg#4#X$?>vj8L~a6gsTGaBN+OYhx9oaEin0>V~&ZU5=c(xZv4o-pb~X z7ipa(M#eSY_B->G*`B%(62JAl&i9OmXS&VQzMg32__2foXda`C^NTf0TxMUsR7Bc6gwCV#1k$ef{by z(6D|C)W-_b3!-6`pfceqz;OxZf$RnWsQtivcMdAY2ujaTHnDChps|}kZij`}U~?NK U;RVVs)QCfHm>`v%u;>HR0PZB6U;qFB literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410318 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410318 new file mode 100644 index 0000000000000000000000000000000000000000..15993d3d8dd6afc929f50c37b1d43d942894f523 GIT binary patch literal 4888 zcmZQzU|?wGJXU|q;Unu>ferudnB-#aP3Yl`(Uh9#-_@(|w^_CRl$$N7uZ*A1GkJXapy2CHnd@F&c zS##k|9tWTq3`vX5+yK!)zz8C)7G>T{3i$4s%Rc+j3sWJp_y1p9o}a8no8_idnj2JWs2+C4S`e^8NC5ea!a#|K`4CO4!8Ws~^T7+RDfKVB6;9DIga!AHSfV zR|8@}z^NP{oxmt-YsavD3vX^xvG)oo7}XZBBaa$f!T??naX(}-i2|PJj^_1~dt?(`-kH_rMkGDbG#K1r( zu7K)TfS3uSUhJ&&cCQuIJKyEh%-3Oo0z3eWy^{p6henOeTDFP_4H)7yCa?uXcltp$X>$9hVuZ=2(B8 za>Fo3LhbKkweune|Ms)AT>Kpt4RRaUFNUujnP+TJJTr|&HT#vyw-iopXQfUbr998P zlP66l2pa;`r7#GHon~OrcnV~r`Q_|?s2FEKaeQ)EEqaV5%MfT_Py>mW$zgC`Y7lZKq>o-Jw zw${Cmn)vw6r^UZqZqBX!aHxB$zbOCNWeShkbNpUZy1ryx;~?LtTFVVI4jeAsKOROL zGfAJdbKBeKbYaccjWb`Izqf6@W3O-26vL+lOBnc_92mG28-eO412Iat0QoQg5(mo( z)LzWiu`u>%(rc9azUsWl#Ti}s3?W4!m+ju?`W3->D3QzlCa zr)qpJc%1z7F#C;ZOlnTzKy~6CWiMdLnZRxVribh2Zufp!=X>qNV}41oUw8dxY-AI> zujBow*Rs!e`HynloGsz{X9MjjBX8#%cda=7OaJ@xz573JK2WgWN#EY(=UJg{a5%JU zV%*Q>I)(FWxx2pWaiz2HEAk!bugmT|yU=Y;zK(qF)DzRTo7$}8FPIaty@XM8yX=f@ zyRThZtSzqUmhR)l4s;ke{0PQ5W7`5?&}?O3`rZxHgA#tgJn{)B#&XBcST zP&l$Io*^;s#>tm$GCR^HO@msR@*fC*Y*;ul0=d7S zav*bOA~E>{J!P$@IO<+ zjbq2QzAY;Mdqv~;>l+7Nq(S2t+!_F~k&+Ko1|H_Q*I^1>L1hrA3+0qk%n?_yZ#vkpz&K z@Q@@W&w%LrE;_+KtfA z!`A-$2bBZ)9~2Jo`k#nC9|QaP)dkRg-xHvIR;XEE3Mm|rm~a*F@P>-O+J9jCfo+G& oP;r#7BhpPgGpqB zW1td;>l0GNCoeu}<6sc2c2RHgQ}xVwZ|-d~ypVYIrCL+O6T20gJpR4Ab;-dgVO{0% zSL@rKpRr`rcpq=Tw6fOtH0v|=Tdxh*s)##$xH;9;U5DelRfUiJWwB%4?*&e-{q})x z&!2Z|4$iN+yFgK$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V+LX-kopw=z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3ejION= zOy7He%E9pl(gy;-`1}r}Snl{ai$lvC;%0M(?o&DG-gu$N=Uj9CV1cg2>R61(u)RAw(L z^K2`=?Dx`S6^ZcZc<>WUt>mHlTUnaA`Y}b-+sNa34<#_bSy>CQAyZYJ4wv zoc#1K`;BQ#YEI$|{7w$Qe8vY^`*mJODkYe_wEUwWTj6<&8X^=+QUVdIbo z>!dyPHf=w=OHs4(#{K-oMQ3<-u&jP`L|5(0saXqMcK8|9fc(IG!(09KZ|TefY1@A( zWuJOIL4U%(m4{0+CDorjVE^O)H<&&<* zmfIbhYB;428pq&T49LcnW>C^7!F@z9G@?81^FxATdD>00ZLPMxvXv zRyM)n9m8HE0VF2ONsu}R&O?-a=-~wqLy%gc>lY+{AlZR6L-9FGHI=Vbb)US1&2j1b zeK#fI`8f0%c28of4{G!BsD2C8kFDPL2bF`BgP^(*42WoBFtD#*%>!*`JOye3wJYEN zDZr4JaA{oe3AP_sy+NFtR;{41n?P=dg%>>i4-&Vblouqr3Dj1kMjT?Me|WSrFaQ9l C1YjTl literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410320 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410320 new file mode 100644 index 0000000000000000000000000000000000000000..4c6e183834de6057caafb72c4c6bab95834bce68 GIT binary patch literal 4880 zcmZQzU|_hDs_!;8QB!GMoA#GKqAlw(?uxRk&AKmrOUaPGHK$`cP>Jv&lOwGu`8#r= zD;`d?5XeiZFnlCuQ7sdr)XwL*>-eiF%U<%@))l&c7i{#{IrX_sNXD-eFU8|dKh_z= zHLh%VwI65(L(-x%k3cjKFoKAyMVU8~0=|3Zvd@0>!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z)~T9%;i@iPAsruTksI{mxg4#%Rs|1#q(g%h z_2fn+r^6#1tNkUy3Ys^=a=RHm%I!`*wVjLcf%QTj8<*71WvfI#y?v*AV(F(>34!Y; zuUWSu+0XvVsnhF1*IkNqN?o<&o&n3fU#*fyc7B`vtUb7oL9|tX_rbQ!%TquuW7Pn?wxz6n<)1C(|Ibdg>NWI}}N9GwD6wgd!QO$m(@-2mv+gYj8M=8%U@8n6-3BrazB`FL7Vy77x zG@b+5;CKV+1A(MP=Qx2BNQ|?fxWLNT*u)&90SI8~z;ud#;8UjZIKE@mo=Q9JUG+?v zA8`1-pGAn(K8Y!x_ci+h)iVWz1_k)Ig7t!l^i$W8D`xSP_HO-^uQxf0!|haw#q076 z0Sn`GS~C}4`wUXVloSQizzB7#gVLv?#WAa+@&ru!bY`(`GgNqK%GDLs?(^!Ch(>1D zt}^eAG)LaD=Xa~`w{z#-G4TKQ_gU$u@ON|m+9|GXaeT%DG8SYg+eZ};?^ zz9yIzEq39$yM*pH*Lj&gy#l%UO&Iu{9Dr$qAEXqd9tx1z4Cxalrq5om?NvzFms1XJ zcOPg>`0w8Rud8Iwy{U`$e^7z=;n#--m|n2Cz%>73y6S@P7t3r7UvJv=Y^K-7^_!YL zzBcCi@St4OH#6tqkJXQM1`F}r(uiW_Z~i9RtRA+-;$+_IP1vdk3 z-SX5eZNaogsjOSackho}d;_RX+@tITOgR(SEkJ+Y^%PkaxTdSubHmc3qGfBH4=-nr zTYvW?+XY*lTlY(r`AxT!V>O$1jX7_5xe2FDo%qc#)7d90;RqAd4Gwks zd$}ANd_`|rIEU{%)t}ZJcS`XhpO$F8;e`oFixoRgE)Wxx_~|66q_2f=AQh zfCbN%$NP6qQ`^3V3+OO#_z_IEjBN{mL9>;C>3c6w4@&p}%ep^6F_t@i&SEA9{O&!u zcu`WXN;*fTSjD#GW2XD1T{T{A3Nsv_`oMY#+6T4crS0YNHvzVq;hc5Jj63W#ZI4ZU zX0>$9@fiY7&fi~_0SaFx#}H4KARq$H2HstMc|J z8ceAyUhmTTCFx40q8rbOJ-p{9yDZ>iu5!6BXHUZ9pKssXE-v@obms~0v*(A?7+be@ zgUT6}*mZY**Yhq^s(n9MeD)3xgXjMyx(BiOu1K73{wU%rJ10;Pm9%`T@!& z)=eTbb`vP9py4&>+(t=wfyyWpfD~~^Ot=zo9)|PaaR><$w6+K+eu3$$l@F$#U|F~B zX7*g6CQ+dJ4ZtKj0j3W|V{s6Q--$3kBxLq1Qp^XYPegnZT?QlRfw>(-V{t#jv))?P!lgyE0{uZClV8`0#_OU+Yd|wccCg#;)Xakwe6#^n?P=dg%`Yx z86<9_B)mX%B{kv@941Kl7#x+iRa0lqoPR9)@;9x(e;XVd9(H7Wxz+w{UQ+wD!Ig!M=4zZ@uf(-vlb1$$baMxdoWr@1FmNTW8bGp*f9S665jQIbLQx}>t zh-eRi`yXKC1p6yMRkCMOL3IQ?T|@1G=tt&2*eKygocSqpNH8C3+M$6xl=uT9zaj}B zG2wxSD=(v`1CU-=n*(09ljwI0`;i2Ym}IyOsZBtPo1`w4$Ux&A!(Jo-BqqsjLTTF& R-LFRS2i!&=1Diu&@&L&(e_;Rs literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410321 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410321 new file mode 100644 index 0000000000000000000000000000000000000000..102c9a98aa957f58957edd2dc9f24b451c501043 GIT binary patch literal 6136 zcmd5=3pkY78~%N{Gufn#+S{_HuQ`DQ<|YdrBho#&bFyx(`;^S;0HzQ6B1XFdc$ zkP^4M6^ko2a$NTO^q=iofeiPZ{Rs{6$$_D1#~3O^Uqzsz*yf{8JL#oO%8Op|W>6_I zZ`(s9@mvO9y@g~TALSQwIh(aS_Kt7KiqHK$)j}kDB(*|r<_Gc`1LmxYWLU;(O8;PXk%q#m#x_R{f6T%1m?+e1OCqD z1HIf614PgKLEDnqrUzRY``MhgW!c38Mf$8?d@bJ5tXSDzNnX6!DPLxNj=wS z92m&x>nR91PKkf>xFnZDce6&6qGriHx|E+yhls_h8uWwSKxw2^`+=U0*xFEG- zOer?Eb{R_9Ra|@4Fn>$O`k+&nd-pA;@jFefIvtlumTxa)eXf~d+@Ggk?b%rna`5zE z0du&XqMH`*z}v+2ke0E|;r`bMedzx_>o)D5Ij<(gD{>(5e4NM1kw5p$Y|c+JlMQ5>*YZQpGgG-1(+Hc882H7 z2maPW_2~{yPl(KKEJqF zD#Lesgw95?kK|0o+dr1r9E?5lnIDsC;IDsm4)=@T)2gqRCTzT=+u$V?#J*YFx?3+G zY1LI3XcpRBnfux9A?*b(;(7Ttda(`3kxyt_(v!mHFj}gvl)G`75&6|rzzqeUijN6i zMy_aFQqj}$Fk0pHx|Dx!)AHGgn=2D89zC37_-k9Xva$#CGq27EcCZmpyMXh}x-ZB| zd9Ne%o~tIkVzYX~9?8hAjI1TJH~Zc7_>$&LvG*)hs4Of0VW(Hap1mfqF8sp_W9yIX z*s;cre&6B5C%_iEh6&?Nh)xG?3lZX4z?ukrPz~JIf~gY(yrN1eKg{a-y*ouC+fCx2+V||YPEpIG z0}YIMmU{+6#W@SQ6S7?NVn|sfY5FrRx-to2y+!ZjR9@D8r5@8RVP+zXWp$s#29{FX zf*|z=J5`V97?0C6A?tZ2oWPkBVxP40SGi67#LhHCXi(XJ<(aZ z0~IH>kE#)utqg+#8grNR=4;^1jCrZl0!Gw-SEjkw^ri2+SM_tt43+X!(}g)vOunJD zCDZ|JN_<*4TcO4l5AGcb(cHC+e0K1nVM0WlsmJ;L`!yU!fyI%o`Ii(MQKc#J>9%?! zYVOz;>dS*eim#o9YNJV2s$mWF;`4P5ByHH)yrxRvlQ5DGgc@YdfADsXhUxD1 zKc8-j(Yf|DX9c%)=H1Xbx$>|_3u3lMy37o?9h#YbKX7jJd6l}y0jU%w%mR^P3uJVe6qoHBGY^9?A{(Emd{Y{Wp#loseAqHvz$(-kFnul9p^QrKMB<6bhH zDAd5`0zMqUD)0}^B3ywc0q*hGEYUDMbDL&N5IYvHj}6<0#48-EYbtVx#sqhsMAN60 z*lf;KDQP~|^oZc;)1;Y$ybR-KSkOXcn70mA$sHBsm@eQh#u);*emjO1yee^Jxgw?@VlE;k_i4riv19QPa`Yp? z_95|tXQ8Rc;kX=CxT$;NrL?Anbh8Ef_Zz96$x{BsUfpj^Y!%%e9+h|ePLOZ(-v*E| z&cND?H7w>rj*76qAafdn=Yl$io!2p2XpcDoH#kwK0{!6|R!9GpqoQF7Dw<|Y<8t&P z!8VGclf*POC-}roCWm7=3g=?^g=45K5wMAVcEOnR_ZbF{7oHD_~le0O9Qsa>il4-RjaO{4vV>vqZ59YK@b(I5U?y9uki-QA?B#~iDv(4$|UTM%bjWP^C9baFD$qRI8hi$ zxF&qV-sQ18fOFy4sJcGMwZG>d_W&mf;fRh6SJy?sL_QsX<^4UsxCc0K(wHD`h4n?` Q?}xZKLXSWg4+u8?7ucViivR!s literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410322 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410322 new file mode 100644 index 0000000000000000000000000000000000000000..8d8c954b2126a168cd08b3688bb18a9c557059da GIT binary patch literal 4624 zcmZQzU|=XpH9c}xH{s^@D#6)-v1vZc!c1`=(>qRxy644p_D*{aR3f}9^2!0V0}+cu zD>uYvYZPTg75KfvfW|!0%3_qCWa@UJ-ods|L3H9z3OS(K8J@&8#Cx?w!N1*A1%fH^_%Y@fyAPk zWr>@48l;7mU$hE#ztQYDC5G$h;r+W5i#IK~ep+R&>$^Q+zfaxg%)fJc*O^n73}rYM z9d`-e^4;tj56juOvksBB_cqEU$4n2 z(iRX40#4-s=@bSZZwC@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3n%p^(p>=PnpW&_>NV3D($#;)iY&&z~TFT79m#qB&K}c*X+x{*tP%|U0WHL zzV`!_gX0aP4+N4Hon;47EPLm?mD{x6YstfTJTvu8QogtzVf%95bo!%BIyoiVCz_-J z)qwPY^%ArXs_v!j@{tVO@3yzbj|S@0#DB0UzTwLXdaVeh^Jo= zkO2efr>-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8KjQUP#3105$r!;8Y|D= zetl7HuwsApAE8zC*K7|wc#>Q2>g|%Q`>PgTU#+1i^7eZ}eeK~AHETVcbE|#3C#Co{ zI{dCapF8*8K~LoXHlTsvuuPvYF@5%eZLdPYzMOJ+yZb<6!hiSfe_bVe?oD01|AWeB z27V_8V0sb&IRokl5G`TuT3(u4q+O=%>YQno@0#fE?CO(|ZflFCj)8H-ew`PRO3Jr; zdQM*x%!(GfaNS)(_nYgy%%5I?-25gW^&#GdV514T1?c7w?k8ZiAbnu>0mI_>-BWP~ zRafN9F)II(b=m0sh4bATeV!MG30vA_v|kqy6TaovniFz7^=z?fql4+E3;)kv>5cP9 z6lyUz(f)NwKQGWMa99|=c4VHhLGjEq7S-%mD&JB#xt*0deU$P%^G=>LogfTyWD0|T z*l7j^jh7(%ffx>w7M&9XazJ971;qtc#>OV5<`7w!IxtN{T4D+a4GQpag&WO4Od4TI zih^ligu2z?R=7;{R>Py$-)yUhi@4*kI_qy~>Z`X!K~7t(iO-5U3vJSCCtf*$lzLs{i`V`o^zTOJ6U4KCI)GW`W{T;}0qZ+V$BP zQ|E60X<+*Gp#ek#0VCL4VBDTNArbHIdT_T$^OR%1s>DD2^^ywhGn=&JmTKG+4wpxa z5-opLZL9ypU9xTEzBifHX6u>s_U~StaqKhqBvaL8Y|KEjSYCdM_$y}PbT7@JufvSx zxzpBC<+*;3nYEXwFO-@YcBKGpBQS3N0|CfxD4!9?{RL%%!hso>4?und10v#4Orx_6 z7%AX#s1K+Kl+NG)W(iOLi3yhmhdZ1HvKs`T_59X#T2J3RKIexsP~Qa%tb4Xht6%DKTlr1 z@M3I2!98G{fdRHO`VT4x3v+lHC89iIU|+xT0klke0W^mdY8IG6N|;DYxC*k;D3NZe zp|P8=rqMy-Hk33NswI{%Uh&mrqFF@KLFl}%e*>I>JO860Jz6`XD12-4O zz+yhuv_k`XDDek|vylXlm@r>L>UlU1QQx4a1CU-=9K!2+D!1_<&e*tUkKR!*6WP76 zFae8E*bm>VY_2?Mky>cjp{ISQ zFqlFPH?RP~b`?;S?AcU!y^m}dh>aXDP&rumfVsq(pE3v5u7H{Wr?8lhHSN>D9!mUy z;cO%UBqrROAU`1kSX&EQ+6T#j+JRs>kR}rSj$uEN01^}K9OB(ZqMM{Hm4M1Tcpiq^ i2xK5R1c?b(L9ClV=@uSNM7RHu^uTRIbrZ5Mm<<58e27N? literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410323 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410323 new file mode 100644 index 0000000000000000000000000000000000000000..3b648cb84788ea266b729218a7efcd1f00a603d1 GIT binary patch literal 5084 zcmZQzU|`U_rKPykKH6wI@6WRRQ>vX>X4J{Zd+}V3u@G!>l6q$jR3coIYI@|XZooiXL(-x%pFlJaFoKAyMVU8~0=|3Zvd@0>!c@rY{r?x2=jgHRU%k;uUi?qG z3{Z(f#>QJsHz(`O45;j>d0&^aWygDybZ!7E8D=oDD zb~gN1)AYT2zD+MX?PmY3-P&T+`&cf{&v&@by-(Hne>;~!v{jh*!M4rIQ$Q|eK7K*J zTm-~|fKxd@I)%Z<+W|yBTYFEM7%^TH#$v9*^0hA8&)WiGhJo zTmjXw05KCt{chE5;(8j<#*T@f_T0Z3V<|K>`S6rY6MCl^J-V}8Oe~s#-^l?O27)m4 zAU!|;ia&5164cMYzy?wq;%x}h#}F*6`mgV-Z~SVt^!4)R!#Zwh7AP(?{-9!@U7wvX zb^Zp1jf?i^9R(`|5sY9r0Mo&ZzuQ(y6?c>!jc2axVmW5u`{%V@kn+2GeWkj2TEaqq z*LNOBwN3aKrhC`sPX8^#H(OsWvt0I-!*jy-Hxj+JhuMKJwWrdK zdsjVE<_8?U?`IKWwNGNo=Y7q-42*3HfYxqhVER4*WIqtYLDHhLJU|Z1-Z^jOHtqLX z@^Bu{OnsA-FRn+}zT7vR{%Dg*Q=@ z&s9}_I1cZVV$g}#Et}?bC3Akqp|w@>HmxnU4gZ?<>j`7Qhdca01Hob0b|&k9mDb@t zo)+#^s;5kr6i(InUhp{i>0$O8)0otp#Gz@252haK5R@>T>!Qc*A`|i}e*MZr|F)LJ z{yUyiH?6~T$0jLe1{IDq(?EJ;&w_#!3>d-Y0{w6>Xk*^d<@bMWnA$%hC{}b)^j1DW zKK6xEe2=e^i=O(}XpN9uietaPXQ@k*pW55;bIs7SUM-oW(bvAEbkSOt2V6kYztx|9Li(rq^s z*^BBe=k!kh@+-H?jW@9Pg0b8)kutIS?^_=PZhR(Gd;EWam9%@*K)0)=d&Lb`!|$u<#meZlff;K>39laR?3*q_zV%`d-C;WiRZo+hu7NXIfnH zxO+A8y^U-K-P9%pEfL|`C3FcI$KYBU$VN&&P#Hv+gUT~7AXuI;FoqDk*V@o<>1> zL1hrA420)t62psjZX?l6Ja=Sa>5Eow0+rS9a3Z=*fTRa0Um?dKT=?JS?$g>U#1u+4 zNS|HO@XC1s_wm$(qaPPsK92aVkX3M*K6!Q*w1xDBPeAkj^C(0+tWJ z>46Bh5#O(ZB_u@u3OUW8lv7053ryGWG(@{FLCW7`xCz;R$e9mC92zX>et@+f(aUuP zNru<|t;BoZWnA|u`1xxZgYcwT|D&FHIOatjn!6?T?{cVl*xJUwknBP!M~LVjh-q}T zeghUEpnhpT&>UWz>% literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410324 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410324 new file mode 100644 index 0000000000000000000000000000000000000000..24f4b1f177b259303938e15ebf005364b71f4b9b GIT binary patch literal 3616 zcmZQzU|`tzw{P8y$4@Wpzg%_PwXt9I_NUrRUHi0^a=jM=iW@n)fJ%gQZ)qtmwU0L1 z&ik`$|CDN{mKk+2@?JcbV=M%loTT2F-{mRYa{0*dxeuy;3V+cFS)v!efaQ~Jb-|j( zr=J7Q1l<9e!H~4*%y$qC1dJf!YEkCRq=4_9x$Ltay)YFrd;kB%z5nd+wt5+&#G3%UW zIdLpaAnEq%xmqi=3d@Xd#$UP4sKk)`E6wTkDM!zQ=a#M~_w_dI%vuyxo4RZT)BQ#N zCQkXJXL`-{a|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR z$)28**rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS z210QKRL2a&Od$1!uN|3ZY*0KijYT#4mCCmiPHtzVP9LQ_&%Bc-O(zH&0+pmN2#B3# zV9)$)1{$H>3aY`wEmA&$cveO!si59F%EI#m)sh^?%Q}MpKy zU%Lm>w7wnF*gauKQS0_&Enl*KI0?&1FrM-@J{Z*DvK!<8AOO)4rFn%J zmA)Ru8QG~pB@y8v#l@ldK907wP$#Pu|yjU5v|?YVz7#!_f%^5H3)CiG4- zdUR*Gm{>GOeTX+G2{AAbbPLeUA>2>EYJmhJ*nPmTIBg=ldy2dBg}D>kru+<*FPO_^ zXW{Uj+gKmBf;dz$I=@;URjf?i^9R)Ly-3tp7uo#u?h2$IT_A=8o!RUQ?sn-c)^z%QYv#N{XxO2reWW0Trx{SVfdRp?5vWS`Y$_-o z;Ci51!4z`9K*eF<1LhKEe##sY%*UGcXb10WCSCS`wuFIT$X`_h-k+# zu&-Y!0d32@0%~G~ngyni+=;}5tH2d@;QS3NXFowzqNIP~+_Yi~jok!tJ1o55>3@*8 Xjgs&Jwa2Luhu|W$^ao5Iv)!UzHGj;9LR?78W3@C2o=#pfdk}oHn^2B!COQ{FjzAoxr@t&n`zn1f4 zn_ZFTtNyG3n!%8?=*%Aw4FrrJVr#6xrros~epe4zxi5XVb;3#h@a9l=nIi$!`nSyID}2()Oq_wK2dXj>D288Lcz~#YuElf?|3O`$@*PK9z5(nU=_mPZ?BNIfpe3H zVSx0-7ZbjV8^^`yu+B*P-Me`g2al&1Yf(tLyoO@^LepPsEhCTT{XB8W%=W-#M;PR#8oH*rl`9VP!c#pH;mbi}q<87FU8F^IN`@;=zMd3g%R#mvVq z=vQ6U-@TC`Tuhky7LQeCYgu#Xqf2q{`|y{^6zhIP)q}t z?CCj)Ey@nFuNB|S;4gQ1cs=#mDy6Q4Q{Oa|7>NX)oUD4v_^MWTmy*Y0_UOmkAZ}t{ zAQV?Xbu2*41X6FeR<7corsCVl_cnX$bzYd=^3*MD!L&xHtXs!-?~h!3gMr`40T>1X zF!dlkKmd+E2$O*!=zp@O{A50fG}SCO?qfNZd#+T9=^FOTo={}T)-mZ@GDw~5*;JTv zMzFcSxK-b8;J9#e**AG>7t4)ypwYH!UgEi6yR*}RZC zXg5XU;JzaaE`GmUzwV2iB=x$G6=)#X4|84g*j;2oe#Ng}dFbEPvev1S_755h3@P=|p00QLt#{R|9jAhjXhMqsUa{JwW>g%3Om(7MaIPbp6M!(1!Z z>Pv2oU-xait+DY&7Q@Cxd-RS%Z2{^7y8-B5R{kr2YH16T=K0q~9{soZaFylb$%k9Q zKb`xQ8kd%*^{2>2{dwyfkG-CsDrY^Me7kp_wr{J>uB8kuf9nO@MGk`u1pC+UwIlP4 z4T@)`v8ZOhQu&s`$?dGv>7$hAnRoJ}=>%azpt=+W0kP8z3>t5MY?Qc4T69hYD#lq* zTwrBvY+_&x6o87s=@kFKr%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxV^yWC{ok z3h;3SX@P+BQ`eF!X7QEwZvB<7H#v&K?No`y>+%c%3*&WKGZ$a`3|2K`S_4!$Bh;-9 z%{yFR?eZ9c#l zQ5Rqk_RC;k3|j$o16sJ86@!X#fWpPl#K06u4Os0<+sox|0&F$IIqQ-cci3y%9-I8k zYU!HeGX$QTzrQTw22eedV~B5L5Rd@_#Ds}Nfm8!jJtM@O3=YeVF|E9bf zplD}cIe#Njxz+pkz9A6S1phsrSm#YCZOV%=mx zV>f}q3Km|2&25x~7r4xUg*AvqiZ~=DTm`y%SR8`G1g#AKk^`kLa>EPVF6z0BL^tu= zk%gr%TDb|758&ZMbe)T&2OdMHaR?V?nzAWu?|XNCS+V_x%zf@`Twfn#A@U{mN=0t_ z&pjsDx1b8q%L`E52m>I$gW^*JCO|~p${=;AL+CnNzRCd_o4ZLnm8Xulz+Ih1mW z2z!C)8lHw|7bZygn+!K0`wuzup@>6+1>FzGae>^oW7xrImAQDkx2wo~2mV>#T0b3C zO$ZBU)Xx04ch2&%MytzE^HTl;0gw%|ixJ5Ehh!H@IYLC6mw|o#iY?G~?`xnrpmre~ zz$^g@ATi<6xcr8<93j$80W@|K$n7AEl0FBC+fd3865Rx9#8M*;(c2y1NRRV-6~Df5 z;h)Hk3!=L_zit0|-hSEJJ!TEhJ8qtMx?MXPtO(eT!jeXRLFHg!&H?2!5bl34h|Boo zzJc~ZmIL+i!1RJ>q=bpYgsZ@nM#1(2>$)9Kl_+6Oq??W*fbdb1>lJElcBdHOG JSkovh<^i&ia5De^ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410326 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410326 new file mode 100644 index 0000000000000000000000000000000000000000..e592ffb3d2ba5cb366c32396be246154cbfaac45 GIT binary patch literal 5644 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 Lz4m;ZWCs5N22+nM literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410329 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410329 new file mode 100644 index 0000000000000000000000000000000000000000..f967c3e1cfc35f7d5329187009f8da98ceff5ec2 GIT binary patch literal 4240 zcmZQzU|&2TRsVG#&s{_1={gT*0+k30FYDPLHT{5e zWcs6)7Q@`C`0FL%{wJQEVW0hRy-&@5lKvtIh;{hQuH{}#`f@wBtrfOEz6gC~!yK56L^*IDGQx{BkqL5Gpt>`lr{ z8;`m!-g@eqj?J#%12Z?>e_E}@fRU@y!hWa+inKQ=hF;>RLGUO;d@HNZ`rIs;7*vYK3Jx4 zm4f079B&|fAOMU{Z3qi4&H>_kvB+-=5a$28>_buhnX9Jfet!yx68JdLxPP(jgyW`s#_e>KKZXlnA|DVrwr zPBVIRXStYIGy}hr1JEymK=mO1!vNf01obm8umLqOhIku+^&WEjb<5~0+i9J*Pg~QH z%jbWQx4rv!*Zw)L%3p6Pe4Hc&R3z?E_5yAX*bPAcZa3U`u)aZWm+$K-7el(66-0I$ z9C@`%+U0V}P;eLOAPt5i>!EGe9-@x9=2^3%iYH>NSEIf+C4%Li1C?q8Uj7({I%^U42_?^|$Ye>n|sYCLc(WV3(R3`)LkHq3qdIn0iLAxj;W?Z2Tj;)i9M=B$DUH zm5-C(&R=;iGS+_YoWy;88`ed5-@V(E-)WpASUfkB+zfl`%%>rH+O$<-n6kOg4wiFa+5CBVi;4}sl z68A`7dH^a13J+#zIt2?6OxLiufuwDyF$fA~8A1e@#(`x4j8ByLAome(KFAL+f6&q% zO8kKlEJy-KOjsyE(kYw=ONY>KM5_-#=^7M=`a^$bLms|-??igy701}d9D z`cb@e=htizec!1gCCI`avt5+&@2a?@eM3L3i!)~TPgPE=-#`Cumh=-3pb}xhgw%iUPKgP< z558W!=Bs+2y#MNmQ}ti>@!U03p04w7=4pNHd1|wkDEG)5IP}&!tH!OCbxYHa;F#Qo zvbN5(I|P7cFeEKHD*>W`fDuGoEy}!^6!6_Mmwoo57p6jH@BhEJJV%dh|LToS^5TEe zWq?W?8e@4UJ>+y9}y@>Gy2~)lQM$bN?{ks9pMfPNML# zcYk-^K525|>#E>0`@jDWdG+<^|DVUzSJsCFuFDbszauTeC5=I}Rf_k)w#~~^KrUuJ zexdsG77z;pPUQgU6b2t}2N3;i?L9S%oi1LX|K^nLJhR$pbJ~;O;$_>v)>yjTe`bC# za5~Ry{)bz;<<%FO{9LDhD&g6dvi6mKwv_)rXQ4a4;AWC}c#npOPVdi83@QKqrUu0{ zaLJyYlh~r{F#B5Z%?$o>mxtF=pRH2rS~&GhQ;CsC;K|9Vr;M*^g?A}=JZ6u6yba@QhT|(vz$X_7x6MWC)Mtrcd9ESG+f(%uGhg?f9`#_ zJm=mNE3-_6e5E%+hUY|fM}FK@%zWg$S8?uEfeivj`G97D{LCO~Q+cz)@l1mZ>+I^= zTC2Z(S6qKNQ8f8Lk_5Zd+}KZZp#GHv*$q+;1#tfo)Q{%h^a&HwXD`_HDkSX7DTlYa z4>TtHcklk!RkG*a)W!QhsC)*RkK$jj8-V^jY<&9ky{4r~??VGPf&M5JGsGhpc$*}as6IkGumJCFpBm@w-}2ov(t0mxny zyOB6ZOp@Ki@U_*$%_OnoT-k<`*uU)+%4zIO)SaYjEuYE}I}m!|cMA zSH)qr6HzuZNL?!40n8Vm@*R{e%> c;U-WTgaf3=L1MzCQPcuOk;`=Cb~RiB07!+`D*ylh literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410331 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410331 new file mode 100644 index 0000000000000000000000000000000000000000..addb76c6831f17599c11a7bd703f5d6aefd0a32e GIT binary patch literal 3120 zcmZQzU|@KBW>ft8$1T^_&ivN@u`IJH?q&bAwmS7_hrn>TXYVRE0+k4F+T*&PagtSZ z>42GmdXJtV&5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPOu<*r(of}U@>4(Sci9WNdPhGLDrQx;uCdI&e*P!Q1FC)-RBK30`6;g533HGX#%g@Yz9?b+CU;*P95J3V*%u2c2d@>8^PzBijplWu;~ zt?)Q{ZzkWT$5*|qr>*K!|GJ zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmweDa-wMRfg}lbskyPA<}mO(IRL{z5~dzV zg8(T0z;Q@WKLZ0BNNtF>5lA0{9>4EhTj2wb0<`Y3?o*0W{xH|dwfd4<SWKR!jvAZ=iYu6Qul2hMPd{f&(PaA~E68C~ASCxXN|71_1RF*{uKo literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410332 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410332 new file mode 100644 index 0000000000000000000000000000000000000000..5babbcf2b0fb02530354a490ae61c64e6552ad48 GIT binary patch literal 5036 zcmZQzU|@JU|9vBu$lgdMHr3ySda>)J&NA)_$c>KnG5h-1rX`#as6_bjnN9KUAGcgz zJM&xr$Fj_-xR?Fc+UnG!9RkDUp1rHwXsqaa&0AwppQP!Ju)WuF`{ZJUinAYo73MSg z&0TJB31|cZL(-zNN?-;91ISE<6)I;X_RKA1^VOUc9ld6W_2E_eMwu3(wmtf@x1P@Z zU<_2^;Cw0e_5{{k%M1T&QKqNoMwpgB2g&J}qsV_iJg;?}r=9 z-@abZct9@sL#;#S!9%BK9<&zVzao`2Jy_6uU%@9^n^51dKGR+C-j5^Y`MDg;!e3oX zQ@L<=s_2~9<6Kh8KaQ^4v~8Vky-{=0{HwQgpZbaLCmSa)h_=e`KG?Q-c?!tI%*QXx zO5OuvLBOe8Af3YC zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmLR1m|aMAs(lBtM0syn&*F6K<6{(?+JDGd6Qo;@H;sG!$2CS z6dY$DJwO0rgZTvYGcd4$)P{H)g7h&23#H0jNaWqwED(Es$UYy8)OEI@XIgt!})y`HJ!P$v2KC-E)r4-XhG=@v*Jd+*kkJ z9N#yR$6Hl{E#G=E6|D>HId!_OV#QPefrru;^|IEjTXqiQRO!F#|#U3=BLVwJ`stPneiKd%?C> zAz@!mIlSF{pfTaUd-uPtl0EmPF5dq^LYb$)T~wr{kgaw&j;%*%)iPH8sB- zzUMGm>6l5&r^8`t!3kz<@B4P06xn~ksMX1&)=DI$_``L%dCdnq+x`kq7E9kO6o2`j(c9}z%5Jx17w#R>@ZZzwH5KTD9SqD`Z4At%%|Jci^nmOj zC>xa4K!6uQF))R2KLIldn-5mTWM)?nVu0fyG}y%%#Nm*g=ddNKb&}ousMFsT)LcEj z_ZElv{&`l)D_YC%8+o~d)Bpih>~szB02`+Er|Mssda0S#>OY%|rZja~MX&#P{q*9j zEv|j96t)RN3OOp-8R--OwsT^d!}}@!cGT^OJP;fB?@XK0af$j1=U5bUnx};o-f%t+ zRs;+iNPI9jyv{nUBvQUfTv6@FQB(PcMm<@FZ&(P#FPiCgj4$bx^vdNz*%o%O{r)$* zlK{@g83jn!2Cf=dnoY-MzA0WATeQ~1j*NM9;6-sg*n)NX!SEB-$LZTW)Ts_@N$oc zavtUkSb2}^UQpU0H_VaE0o#EjfW(AZPePbb<|Y)okvK?9lHJ5`*_Bu6cl(@qi3j|) z>mF7~a5qzRn0IF4V~KzH+j)~-&4-wXkyk5+&q0O}jCvJ(_vpmK|Za3j7y0u2ysbvPOEMUlN=|3Ujlhm08&=lB>n39Q zHH%YU=tBEWO+fQGp>}{Nq=bjWgsVU)1A(Hjat&|YM4X%Ml+xHuAh*N93tl%361Tz9 XD>$G@bW<}>6E)%xy>0@#1x5e>^bOIV literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410333 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410333 new file mode 100644 index 0000000000000000000000000000000000000000..7a7ed566aca97ac67b1a18d53a6aee221863a896 GIT binary patch literal 3604 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 RMfM`w%>b=S;DG>R001aJyBq)j literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410335 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410335 new file mode 100644 index 0000000000000000000000000000000000000000..837a05ee754adba48d8f94f0566cab39de55d185 GIT binary patch literal 4232 zcmZQzU|^X1^DI;4s-E1&{f&mKZO>NxT%lzw!JahXr||Q2=27xTfl7pfoer8?p8vbs zRhZjP#dl4}S(ct+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO5L>)rz4GZPsttb=6Y97^uidLGO?CaVN5$FawVGvS&8cR09Wd$E+=P|}U)i&U<+dPSHr&f@^rN`V8(&uGU7D`O%_H&$nZc#_^{i(`+ zz9~Gbwk5srUOHL+o_Rv zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rmpFxTk4Rv7}7@=-;xD@|p(lLcAMbd^@Gc&#=HEHXd{JAx}T~KM&rXR=e zefs$I>xQE@PrZG7OJ{@Lk$ZD~YsTD+Y~V}xJTa@}ut(ykgWH-#AvKs6wJ z#D)=A-Amicw z|L72_c6CTShk?P?{?&eA7DdawW~qj5FD04|C2rCC-X_9sb;xxAIrJibEQ&D z*RW^ygd$6}j!EB=8Tg$XfcZ=msGbGp2p|m)8-n^775VvTL$*^%T=Ix_dQS_D@-qlhFOBjgsT9@8=MCzFBo9<1JgGz zRE`l;KEl)yQI-JRwCn(l-2`$wEW8Gr+b9VyQ29%ZI0T0YQe6y=z5`~9<2w7BuHR#> zPMGj2B}d9~Nm8uiYYCU1e^xUZDTjd-0qX)RY4jIV4i@HeP(A~}GL(TqOr!nZCtzv> zm7^1Z`e5k_Yy_EU6l_1xf3V5{CCrI*Qy-1pgf)#061PzjUZA>=8gYmffWgrk!z{_#sWbl1so*D)q{_r>j;&(;c{_24usM52$WH0Yua%K=t6Z9m#bH zTVHttP&24L0o5zW0G2=C^$#)bkUDHw0j(S1Z8n&pFb@LxNKBY4r0#|D5M?;neqjE9 z)g>tLO{AMdXzV7e`D2i{jgs&JwQoRvg9D_9Lt?_EQPcuOL1_R~52NP~kX}&TzzmZE zDI+nwXy-PhHUb%Lg7_KaAs|2sBrp@&hJ#3=g)LAJS9rm~5FEb5xQPbk0Vu9Oc@XRm rBHTbqS;Q2={e*#GN2_=3{_8KLiy literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410336 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410336 new file mode 100644 index 0000000000000000000000000000000000000000..469026efbdb225e860d468e69716047d5bffcbe5 GIT binary patch literal 2480 zcmZQzU|a+#+$KX5(AgCqLO|0+k3){&|+Ea#c@m zNvZLfe2GLdp-Ur(@FHZrvnECjH z-QNp9EC@ISVy7_pcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxCMaeweC^0QV}s(EX)LPQuT;LJaB@2*aeT+BJ(YIcyXu)TKj83v zKZ_8neG*eX?`!r2YGDcp4GQpag=hwm>8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*W zv}P{8_8F{l#^eZ+yjCF*lXGzoBYgb>6+s+1fHC~zbxYh&^#u`5KosNAOi-72uq2g znp-gCjL7Sc9Y627X2|D=&t9|SmXoS*&XhR$_LD{D9_H`9l{TMc zUgkQMSKFoqE>zczQ{w8E3{!V7D%#HuG?3{;tyo@-(1H8mFXlh;61Y4~dd|W17ow+3 z7fZh+74rF_6V%d_|3Cm_!@`jf$o&PC1H}h3Fdxc8`Gn(!fk8~8{a+u@I8gjd0_x+1 z=>^d+OHi3`72x=X^FVfk0Mve9+!{gU7(rzNlufLgv}o)mklSJ5HQ3xnNqB+s7&YP$ z941Kh5YSi#hOPC%t0P=;rECpb1-qurZGQC9<%j4OBbh?k;y&KGxv-3ZEsg#I8-NIN zcp4?5TxDQizw7|CZ2bTf-nF8 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410337 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410337 new file mode 100644 index 0000000000000000000000000000000000000000..ed914fbff720c7784fe9396d01381346fcd03249 GIT binary patch literal 4764 zcmZQzU|?{Q4tVkUy_MO#hkNZiR%<`b+?%1~5Ueucu4}j6t+RJCfJ%hLt~d3JR?LdD&r#}Jj+?)( zylK!rVbwCA84O8_&f0=#AYcR$D^$)(?3r82=Bqg?I(p3#>%*(`jWR7nZF}@*Z#|v+ z!5FB-L8ZcI=9QHm%7L2`5m=>C--_6gJ`QF?}Kfdm#2VS%zXU9 z?w=<>EC@JN0HjkGe7qe%^s}}1)GT(oc!mC(Q@ZoaYNO3*PlAh=ZU0(h>308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9SaaMfz+S+#v0Zw+ND@5eX~&f<$p$RuRAHb-IiUrcSys3Ppj8d1_tgO49r?> z49ul1K;__g1L;Ep%uqfrlx7Oyegb9^HXp2v$;_@E!~mJk7#i&24B~Le&U4t3)jG*; ze$?r23u>+&-+PNgeE&Qv;VL27`2Dt5Ytcz_L4`&0F=Ouf`hYxSQ^MpK%) ztfJTdyncFd))v>kR|?yNFM$l6 z0|YR2U^>M=@F`Py9N)2OPo*9Au6m}-4>)|^&mzQXpTv~U`X`yUg93b9!Fs_& z`l)Nl6|?wCd$<0|*P9&0;dZLT;&pk3fQ9iot(l9jeFiIDA89cg)W(S+}=)^l&3ob0>8x6daf`}W-E z-FwGe7pQ8V%PUcE+9tvsi~+8YY;eX?D9uK6V(y=zqp1ppFfL2P9eUB)koAk-$s^4AqzbyN8t$JyD zf{nQ@@q~fg362kfX^63H0nkfZ8JNCL0r?Gx z;Q$yPVL%Sc9Y1F=lLLPDo?N^rsaGYPBU7wm+ww8f{nD-)FE@o54nQ>^eZ;0&u)3GF zm&@M-*lLDz)+ICUu-CLbHu;&=(ly6t2s}A|e_6&2pm|J=A)YQlKn4sDk+vm@YHq=l zGeYx-gUfpj#7OYgJle<>;D?FsDO1z%ZK z9xS~4;*yx=sg`G30?%y8@Pt3r&QU5Ja30L9Q2T*#t^}211l8X#b;Q&~i&JlV(%4NPx5L6~u(^$r@B+0Ds1b+Y zFhOc7f}>AgxOHXg4Tq(lzAcWpTCwy~%hl#Nr{0*}l#XkD5cQG=R(qsC(=IH{Fe0T_ zSePq-4FnQI)PD@@>zBnq>%fmdEugv+4q%o51(29wLTB~ikh zI5#c*L1Q;zO{0UvZIp!9Ct#RUBMz~q(I3{@UCJ}KO9ek1(Al_VuAGd6T(8m|Bkue5 zB69_kXFEXS8$FF8m#MHcDh5@{Ktvlr+#|Eh1lk^13e*QHx4}jrB}^nH%ydZo3g^M} zinfC72c}V28b%3o;@nhvfyQpannnkS+b9VyP@9q(afmgIikh_UzM%C!wfy8Zhp$(V8HH{7ux1pp_65Rx9XHz2%v8GW_ Hyn+A#gPV^F literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410338 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410338 new file mode 100644 index 0000000000000000000000000000000000000000..34833128b5902254c7433654cbad0ab9a7847660 GIT binary patch literal 2480 zcmZQzU|{fYUOUy*?s&N6HFXExMH?S5{$dj2ea!Zax&HNpnLW<9TKw|+4TlY6MQ)#A)N z7kQ;4KVpDpFeEKH>kOiSfDuG&jTP9myH>;R>H#bFr4P4GILRO09O^D}B%pd<6U!x= zZlDr}Yv%vDlOEp4n)!EYk@%mOO)Fi40%l!eFq)&9Go5MvYs(EKH*A6ra$H@tWsiiB zxL2H>h}5Hpiwl0LSZ28&5BSXMe#y4ri%)82;!OFy&#kkbnr%G%Y1+%Dv8|GZYTxqa zSRHG9d$Ba{OjnoFPpA1#U*)7j8XvDX*r;o9FzeOt$h7MWqOD5254LSyo&s_)^YIJ2 ze@y_fAmCI1kWOLn@pb^w&(_{kv)Jk475Z;Z>CQ8&jW(w}2`*l?{cDY-+x=(e2Lq?` z%;tZ%wOd|&p~=s6`lk|}Z7FMC`DaV{|8o|)^9yb!nTPjinCSHW{KSy*?{8{QOaqtf z={bol$_}%y72nL@FL!x(J@wftrLKij-!zpNi3FaUta{4$s#bWHlE-8A=*Qb2Zem~{ z6jwlXOi;{V_}Yhw{{^UOPW(sY8bA;@100%E5b7&JZu z+2D8s(qNFZ=v)?%0TSaZC@!!vHa0Ogg-F5Ff$0?gz^6>*aeT+BJ(YIcyXu)TKj83v zKZ_8neG*eX?`!r2YGDcp4GQpag=hwm>8GwGSIpuo?cMq-UvF|0huf(Vi`V5D0v5*W zv}P{82677n)2|N=AQ}i5p>B1MIdmj$eN8dLRm~GhH?Q60SACOr{ocEShb&TmU!Jsv zF(WxNwUFb^mT49fwx7$Na=WgtJ&*I&hcoq0^9v3%Ez)EKngt3Q27+#8Y+C@db}IwZ z_o+bTF#m$Ig3@^`kYd?8=dIkP{a#BR&f}S>Z<6xG^$6RS`=-+$ZPLjp**?)E6{rTJ zkJvB*t9xmCx%^Flt!6l9T{7bidrjM8lb=~FU2}Yfz?1X$mu1`ln#bfA;^`LzWWWG1 zVaaHy3scSrjT48Ax>(%>|3&R4t-112A;*@B+wAH&ewn_&9~X_@y!6wk`}^p?`_(76 zxch#N3V(4~x-_QOyPZWse5X3^#6OEWuJQp5WXf4{hV#cq-o>llxqXdyJysjFV?*Kg zjO)8)7I@z@+-kK9YH7-UAONyq;m8Q&{({PZ;)5BO4;7(&!g0gEAg0m&_ZZMPQ2a~* z>f?p!1<^1|P?>NQ;P{90Kz4%w)P7*x+Ct?RL1hD!O{|-eXzV7C+d&uG=;`)0)-VUyuk4R^7J5a8%i1_ V(M_N_i5hVT4ioe=3JN0-008hCk%0gJ literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410339 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410339 new file mode 100644 index 0000000000000000000000000000000000000000..ac42da291bc9617712b367f0ba03c5efcf6f24bd GIT binary patch literal 3768 zcmZQzU|>*7y>|I;$K@S|J*~W=rEX?TZT{YC!ThAsTwd#viRZ5npb}vZ=e1K^?T&|A zUQ>7AU9|B5<1Z#L-p6d;IG(S6e^RQYx#VlVqu=ZWysbei%wL=lo6GTg!KPWubZ*R$ z7cr@uvaJPZ21C-KvmPKC2pB=c3YD`Gd*+t1`D)IJj$X6G`tT}!qf84?+aCSdTTkbH zFa|1d_?{TIZJJ$2n(nN>q6f<_tg!#*wIT$ z;tFwZ|5mq)EGK*4Pu%jnpq_{Iu3*QVzL}dhZDe1PaIxz8twqlB6`pr~ddYf5SA*k* zM1o+g{)S4|n%ip_Y!niNTgpuy3!jVJ^NBJ2)>J?1cG+SE(N<;N2irC;PXW1@`S^w1 zzxRMx5OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxW*}w)sW*J>$UI|%;+bhIs@bnpzNK(-J1ceiDCK$PojhqeLD&$eB!xjh>@)*| z#up$P9B&|fAds}^9LWD5G0uYG0xM%<6LXLTAb_a@(<%OePnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{9rQWQ)BBh;-9&Chbwl4_6qK5EhAmNC&U-K@%TW1ggS7~87jkDpv? z^E%jgrF$|P=f?-BbsMH^f6#eHZ%5pun^L;I2Y=->b6n#984EI$pqm-n7684um4WH| zG@x>re?eM7={ylgvFx4mR&LXNuO$!X@yygWN%`V>gzd|H)9H^k>Ex7bpJB3zN93=W3Bzi)h?=E+-(+R>W$&G^MpU-O za_usa;D{p{C7gRKUY@s9l&}7E;KKbAJU|1%Vad6K{YvJashvN?8+IR`=le+I@w?R4 zf0b1;IOkt1TYlp#1HY341Gi!$Q2k^e2Ky68qXUpQSWck!Vz!Qju}70$qulpZ=S42g z=*njZDGIr4Czsn6_FxW7qj~?)Eiv-5CAl_vT`dv`X(~C$5gy!gs?7gvqkz(%M>~P) z#68Mhz?3tA-2yCg8te1bS&mF(bxfZdfBun`By)8B!lueqY5mG}{%x_d9^QW&uwcPv z%NzgQdl}jOo>bl@$1n_Yn?mm7Vb2DY#wrg(WYm=#oo-_O{_qNF@Ier z^F3taf?p!1<^1|P?>NQ;5di#AY}~$%zj|raE8h;g34By zI)eEP?502eXzV7C+d&u2&=s^`J^ V599`-+h0g}U~UJ|Slkbn1^{7xtpET3 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410340 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410340 new file mode 100644 index 0000000000000000000000000000000000000000..f1f1364b49a937bb5c0ca3358aabd4bbcb948fe0 GIT binary patch literal 1472 zcmZQzU|O?(Yr*`a(p+Bal8NW9kl@wZtuGj#*8O(aNzri6gNE(Jqxm8#Yhiw>LV#_0{T4j;@2`zvZHN;&aNki^n7{=nCc)>yf*u z7xz4Q!sccC3*))irp#Ayn%v2xS@hm5;B3(U2@}&QpQ(O3e*C3w&&pM@cK5b_J8T=g z^pWch=J^>_ZTpRct0%F%DbA3yce3p<(!HEKZ+g7R@wA5wqOB^t54LSyo&s_)^YIJ2 z|0sZ15OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxQ1~-})EmBbWS+4>@ys+9)$CU)-%>caos~L$l=3|DPM$QKAZ!R!lENS$cA9}f z<13I2jyI4#5J*~dt`tat#5fCz3#^QdP0TDo5(sr*^(p>=PnpW&_>NV3D($#;)iY&& zz~TFT79m#qB&K}c*X#>a&lC_E6yW0u)(a-mPhCr{n8jDxyY*MT-sC6_w^Jn+ugfz8 zER5G_&0Ku#Ge{BBx}^?a#X$R@Zgr?}VJSZJR^`I9vPn4NrFjIBs2;%?C7(G4#iTjgmfY*a`k_0TFQv)MYWOgphyD2PTPLi(Bn17+ zF`Kz1p}81n21C-Kv%w%52pB=c)>wf}yK6Q4t{$**U;1$Cgp>T?&7tlxM*^z%HL+Z> z=>{rsI3T5*JbzbgG2_F(yZIJo-S?>JSmACFoSa`Pf9uB4v{v=E8_EM>er&5+S|{{7 z#mFz@LeJ%J?yPRLIESbsA=h~X_nY>lm=$Q)74CjJ>!4;~l0A3#?v*=sR^2hTo0&BE z|6R+8|GYU?ZdPpTFgM&^)^vAyk$8uUk;M7%^TH#$v9*^0hA8&)WiGhJo zTmjWF12Gdweb=D zF>DP`IXK=x`al2}pCJE(#5f9y3#<%H3{0VXAO%tT()M!sn*dwQaL&49#vS&Ww#Ozv zvs$|5_zZz3=kG7exB*nh$GMrzV;cUOrk)l0jiu4;!Xw!?L#V4c&($1wbftm`5*f+tS~&vJ>D(At)FdzP{YD% zyQ44MTmEKxt!Ih3Y$5xe!?R$5|Ax-q=M#B9m_>OU|I80G4;&`u{YSUN$j_GK+T?Y$ zNF=1G3^|%>Q@U zhoby5S543T{uB@;{9)qCgjG7HX4Xtpgy{jB4@~zzmiAAnO%7eQNOGNSutCF<&|Q09 z_yj-jy11pN@Q&Pl^H+zyg#UaL@`zt@&IES5|LOdbq61x}*`!2L(zgHH8U%6^*e`~! z9hqlrP&_k@MK$}C%C{6wZfB)VAEi9cyptzQCkPt?)uk{9h@EC&(D(*qqxt1r6;zB9 z6u-vCCZ^^<0jL<9PVo3Fj+v68V9FVxZgtpIVa%s{(sRw?i0J&{{m-_o_?>O^MBT$P-C-v0f0v`1 zPcrSX+q^E?;)tlj%^B`by+z;UKlhU`5BU?R{hEz=6(~%Y>sM@QYwc0x3E$Hla^n1% zj)YHb`xHuIC6i^##H#K#YCNfx}h8r;iKx&Z6J|fJ2D=+5MPJ;Oi^6TE3Ec&uttFO%Pn?FzNX~wg1 zbN6ptb)os`-To>UH7%&$u+^e9;ef=1 ztANK3R0P!S1LbS5{lGGZ7b=btc7)r6AU9?Ips|}kZij^zyxtfjZlff;K<#L1#36b) J0gXxs1pqqwSo{D0 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410342 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410342 new file mode 100644 index 0000000000000000000000000000000000000000..0b99e942e6ac7cec019da5dbb43ac9057f1ee66c GIT binary patch literal 2424 zcmZQzU|@)o+$%b-aLFNY{ov+x3!~rP;<)@}*QaxaFQzaq=PsSH1*k;0WJarXQvad) zom281IZgc6=d9j5OI4RY?-U(8HGZ>NifPk68x(IA75P-wm3*{zxm_#A|{>XyFAp2VuC{t z7_Mm#nJF(H!ZKr>a?s9fH{W%sD=Jr9{O4EX{e1HUp*W*(2GLeE-Ur(@FHZrvnECjH z-Ty>DEC@JN0HjkGe7qe%^s}}1)GT(oc!mC(Q@ZoaYNO3*PlAh=ZU0(h>308_`N6>H zJhS;9Zta#=Uug1ko&KqWXIskJSN_>j{{NhX?)-wAN#@}_8YViuKR+>~{QH|46w|;Z zdwNb{i?YM)YsEJ+_{&`$UQd0tN~vq%)Hh8fMk0YHC##+^zN!`8rR4FLJ^JxBh?^J~ z2*njp9TOBY7`}F7p0Ppk%rq9&>{lw^QaHJtl{$Tt@;viSo-~~xYzXofgMb(?{xrS= z+2D8s(qNFZ=v)Jk0TSaZC@!!vHa0Oe0?WYFfz_w@2R>ygkK;R5?Wwfm-c`?(`2mOT z`&ooo?UR`Dd0(?HPzzH)Xi$KUD?~GhOh0ukxndSyY46rw`FfM1INVN^SiCOJ5U?;_ zr!{l&wa;LcGp03wX`maRZgpThq9C!_B`7j({`OtbvImVt!+7)#UUL(&bJI!HzTvS% zr%A1>_v(MsDH{)OFyyHFxyELF`9iXX1 zgxj9NTuMul7tImOak~0oNt@461_pHj24TMp2F9?pK;>xRa<&L6#sLZ!LlXm2BsE~Q zFKsWEzX`C_4Cky%X53+~X?tw)GpnU*j?WNya{m6Zj2l4pOpYPGkwHKP3=k705(QEX zQ1y%ucQQCUP7`v{RY_l<7`ZSY;8|#gX+tmb0?G3Mtzs7zU7h_}XyOIGC3`=y*nHi$ zCTCr3cWtomnP1Nz&8^hh%FVX_!gXe#c}x!BLYKa%E&Z|d?B#_IQxEQ4vmq;+Dfs*; zC0V_RdpyLIp?0SH2Ld1)79Na1?mws;C|sF=`AHSZCnoJNu&-Z|0Zo73fcjWrdOzH!1vnnzJdoWW0JR@j76n7)7(sa)$|lxLEHri#EPsN+Yp}VElJEkRA=HRNaF`&~ zC*bH4UDYb+dj0yH}9!9**jtJk`rWV=RxBbTN?cZmBUD*gv$X2 zaT%ZNAJDR34bU7Os99i&7HO17H%+0jo3N(QLE<))G)khIK;=0#;t*>Zg{2JuyiH;W literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410343 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410343 new file mode 100644 index 0000000000000000000000000000000000000000..ec10639f3939f539373db8220d27051ba60d30f3 GIT binary patch literal 3632 zcmZQzU|=}Xoo90+yy&OSp0+}n?xvrojUP1f%QX~KrBrD$b$#OmDiMy8+$%b-aLFNY z{ov+x3!~rP;<)@}*QaxaFQzaq=PsSHWxdb@*C<)9lLwz%ES>r4p7rGea?{j`@6KLl zTkB|Ivhe}X42GmdXX8LL5HNy>t+4`|cGqh7T|HpszVzYN2`Bl(n?v1Yjs#TiYht-% z(+yPO@auHEj3?{vyUNd)_5_@k@nrvW?sl0cQ_hnXK}(6ShRa7wr1GRruQ`&PXvb_; zw!v_NGymcb_qSb~_7`gypTX><&-rdbM$nL$YJh%x#lCuAlj7Pn?wxz6n<)1C(|IbLD(;Y zfiY|yP&qi>K>9!c7@y@p3M9r+P+VYTXkuUru-^d`44k$=JbuGDK7GG)a)?fL0lcPA?PL)`^F3%9K zFkYuMbMdv$AY~E-QVme$j1YG+IB3s!>aTx#%UgZz#01ZlDK!TyYmDU>k9i~oh0r=)^S|dIp?(Q!L@H|GFB;-RQM>c0nG!4$*FIwVcnu#ipA15 z3&mglXY}^Eld{`w*@b(DH2n9pdQD|u;NHQ&tkuTAT-plMgAyiCH-RWn7=r*WgkoR{ z;eG;U5;h;KjLFQd9>f5d&lno);tb+&$j)=vlGQrNZhqA1ZwqR!9^ZS5Lwx@{E9Dif z<@b%e+(Bx9fGT#nhIoJtQ~Oi(uS~tvOl$R@O-56ix~!tt|Ga*Ban=^szE=v{gfD>= zQOV9orwFid6Vn{tPx-f_ZcpTa*uZ~h+LVq<)L%HqqM*|}Ev)c{^Kq!1jF9+Xa8OG= zW4kxVL+0SD3(hL>HWO>7|I6Pn<>#(|W!Dma-ma;5D|b}A=+kVj)6;i`ygAh(;XcV` z{`%8rbXF-b{Oy=JpB-o(IPMK!J2KDMpm=5)i)!{Om2WAW+|Ej!K1z9>c_&YrP7pQ( zs!L%I5IfDlpz#C9Mv42RMdx7YffJM;jEx}~0!bZMeTskJQ>OAbzGKy%N;~dd^-P%` zaQMETMTpfti7B7=HT#0x5)c{`;NuEpK>;y&g7xb|m~uv_TOA(h%f-J*{&-tz3IDU> z-JQX~b1h0ekDLt(zHqTB%&O`5JqPn73Du$p)2I6QR$l5W+?u&`pL?~UhI~L~1Gi2U zC=D}zvK4+?6R^NzL*tyetW5ktQ(Y`Nw^tlme$Y`dZc20hBB-S)|A7F=hJ^_ukoylR z2MSweU|FgL?V-gVc|8{+(t=wf$|GA;t(7rNNovl^kwUwJK%Ihh}R_I-G#as=HJ|s zu94SPIa#wk=rynZ%D4g=$Jo;7FQ^?W*fcaXS^lJEkxJ*W|fSko>nVE_Q-GJaVA literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410344 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410344 new file mode 100644 index 0000000000000000000000000000000000000000..18489225a6bf25752601b910679a254a026b58c5 GIT binary patch literal 2424 zcmZQzU|^V=`6g&JXK|L`wd8B;(H#exm(R1_`8TTC>+f!1&KIwq1CCUsc5nl9D zXHQ$9On1}I)5Z@P`Q;i4s#2;nnYzAlJ~_FPukuo2+1afPOL~qyQ8%?Ju770K(kah+ z?DdZVK>?r{3`vX5CWB}oU<46Yi!yH}1$_6+WuN`%g{hF)`~NR4&(UMszj~vSy!fAV z8K4perC*#E3~dy%p1Ii;D9$Q-Tx2GCMkM}L#aeMLIi8=d`QrV;kC?7H(!3=4;-j~( z^3K*i(3!g0bG^cipSS0Eeb8i?|G6Y@i!E=|lUw%PnK!3a2`$Uj_+8tr_zplS3Oha2OPfd zXAxqxPh!gFea*f=EldHSK>rIa0a646E@wz-iz`}T) z*38A%K7&=xnAQNMfo_1h)xrOxi%9T;A8(IdQr64c+mhtm!XP2zuIsgH&T{7KOXoJ9 zOr2u9M>lrg$w|#GVmw?zPA@IL;v_z)vhL_~gZ7)#LGA^G4MW$o*CFN;C*O5mA)F90 z;kKtRm(r5tMRNpmoUT4t(&lrNfk9n>LD(;YfiY}7P&v%MAg!QuUIP{50ELU8iGeAU z50VC}eQA5S{7rzZW;kbEGUE<=P1|FWpII$kb9{!tlk@kNW!wO&V{#1fjSK?mfC6H| zM4~{d0jiu4;!XyKLzydczIXL{{d;_K@~aQ#+b-J*A58cYUAyu9o8T2$-Mjeq9<;k% zH{suczv8veHZQm#RrvG6Do%!VpRE@&zl>sI0h-4&>BGS)Ptjx5ryj09`>uJ;%_B+Y z=AS*qv~B*eS(5|9twN!8ru+v2AR87Qj6m)$s2nIK|vyizV|ez1sHXL4uQ?H8hT~rO|&- zIgB()MES_TzJBonXc_qfXbvmXEHFijG)knKY-sEztZ8(RxD6$ZlISK-Jx7f=#F|E7 GX#)Vw7;}LD literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410345 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410345 new file mode 100644 index 0000000000000000000000000000000000000000..1b12df9b791fdbcc2e674bbbba17f4bc695860da GIT binary patch literal 2760 zcmZQzU|_iRuu0tF!iAZew#~F$^kV1wp7`DM+h#ah`Gq`V|GxGASD+H%xtVW*R&y3- z30_OS#va{qpn3T`>z#k2s=fa17Uq2M>iNwZrgEhNa|xp*z3eW|Db$kA{g(@6S&RDgXYa2E{aR z$)28**rMz(`&#kM4E}PLhu2e|ty1b*IQ30aiIGU)$;qmxjIU~icPV*1W{-Zn4dNyS z210QKRL2Cx42G{AnP+TJJTr|&HT#vyw-iopXQfUbr998PlP66l2pfX@#ULPdnt?&% z7my8(Hy{lLNsG?)0~sJO&Vu3sD`R706BCFOOdXg`@eh2;R3687tlCp)$GxkbDf0sk z-}kc!vDzmw<@3H~U!WGIfY6`-A6JNG5Sf1JT5`oKzS7>Uzw-4aM{&5FDzSK7o*`gi zyiRN8;%lElYM9-v4}fSOV1&BW;f1>;(Ga_@o7=aq`DxD0(F#iIXC;%i5mJ_JGn5|=B z?9rsxDEEEUd6A1Vy7C!9ib5{i$>p|%J(vU2r88yj#fFnLnGbHA+TQmk^=|lirj40< zQVp|@Ch5;#yZbOuow!HY3z%{yuv>u6mFk(?e{;)((>nL`%`(^d-U*y@=j@AHe^NL< zr7EY+N`L-!_5-0#Z_WElI>Q&S--@eyUa0+M^M`PIwIc26>Lq=gP&YVu_k5gpcq!wQ z+xl01o4NLwv`sY&m$qX$Di#!|emVPE45GPrp=t@o2T-B4v|kA{PA0+h!Du8)keD!8NSwoYAiF^TYJbwAAW+%|0Y*@H z0AUi5Mt}-|ZW5ren_zhv7+!oUnRl?X1?PQ2iiN@ zW9h2GBXJEtGZ>N4msECo@77o+e}aY`!0_@Zd5V)`ipT6H`9kx8O>^w&&~4I z+wwRr@!3sl_BHRno;fUIW6b}UF@uAjt1&!Fch{!pKOgh|ZAcE%<*aw%+5fbZFEQ4@ zUE}wK)nB7t@OMTDt;w|VOtWs|Kg?rv@k)|^nC7n9ch+GHqODrI54LSyo&s_)^YIIN zn2vy05OAshNT)FPcsqdTXKU}NS?qN23jH^ybmy7XMw`=~1Q##c{TA5^y6(1H!&~} ziYuTxW*}w)sV}hIYM;E{OuXSpn^lL<*>ft(qJK5Heab%Rwmc(d`s=d{{7w!G+=^>} zN+$y`INpFXIsl1--m`3ezCWpV!_PBq z%-oY|n0+)!fBxFthZz{u1%PQt6Q~|J?2y?E)2I2K;N$sVD*y90`=rWE$5kJ3J&JRg z!OfXyeSoJs_!%e=WY4C8C=g(Tn9Ja>BAPG%AJca8uC8JZ$>0-9{8W3B!_q&fT|Dq~ zn`!>RZF|;!J@fSEqu050{sdvyK8ncR(yq8$#KE==M8ng#ZQ;cG|c85p)g_GM^snbU(&ol4jNz)0!hCp>G3<6@O85lHvgX{-lI7nJ_ZYq!i65}i= zF0e8-Ha0PU$imct=@kFKr%dH>e8;Lim3G{_>X|Y>;P8Dvix8`Q5>r0!YxV_dVG0Nh z3h;4-Xa-Se%;GEU-TEtEZ*mle+o=+Z*X0=k7RKweW-h+=8Kj0ujPC%51_DN? zTOHghPON!X8_xd8><>%m;`*CHA5QAWoz_;ds#GfYoce4}Qqx-JXKELMcTV2&aPb5# zi;GWwFhб1BtslQD=f)!{MbKa#%#wKN9Z?~Uk=J|Tha*@@WZ~Xa62YByZZ^#=FdK^{jG*!frjR)EpU**d6HG6N z#$rCm4={hw(jH3uf#GZ<0VF2er{FXX=RwLs23RmER{J_h#ni*7*6zh6L2 zpz;9@V3q&{keG03T=5CEADGrMpej+)Kap-Kp|P7lZUM&}=A-GIH zDlfoMS+U|tZ_c&Gl9>Okyt6DEPW)ZZB5MC$GskJ?Ta9gn%pbsth^jYo??KfPZleJe zTHCibK-+1PVESM*Qo=-H!ek+B05}g`9zyI-S`-AzOCW#}<^I c;&;O4-}r8{{}(CdqtrD-_a#WEYhZo^0MduIxc~qF literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410347 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410347 new file mode 100644 index 0000000000000000000000000000000000000000..3e945a9e24fda7c483b86db25008a2f18bea455a GIT binary patch literal 3696 zcmZQzU|?YM;E4SaxT3-3#~$koOKN3`{q9O-?k&BQU~-IgZS6iipc3IJ``$O_ubhx6 zfAiQmeNLNq9LFjQ56tp2kYKdRHTre^uGs0FVb5~2<7BQk^9esy)#S;(ygt~MS( zPe*SHSqlTrU`SeYwirYM0V9aGT9kP+Dd4+jF8l09FHD8Z-v57bd5#|2{?!|u8@fBuc8q!Inh%ElN!8R?uzALx z$?cBI)=ZAMyxY-zw?GZUF}97%OLNl}P4sGfzWQt$uTLO@Xsb5wgKe9ar+{3{eEh;5 z<_{ni1e_`W(kTo+-VPx8+1h(*7CT+MLjTPv-FarU(dM)#!NtqAf32}}yZ_AmVBmC~ z+58W;cFU_TH2Jws|5U=WEoJR1|7J48zGSAqccxD=lYW6FYZz-JI&Pts=N_n1nCr_GA5HMqD0pK4xz z?sD`WK8Alx&pmVaMdZ^j$(Z`AmRp%-r5|ryuNvC%3FKaIxZH8;G5NW4ir|IFDU~9& zH|-o=u+4s3vuMVmHonY=94QF~26X{o+Ry^3M-CHYHp8|*g5f4f67y%?685;5=bQWQ zpC6ZSeM`et-i(vyYF`4wlz~C^Y$}KX0Y-?q3=Y-rKKB?%te*P!iTQlpiwZZl9CZ1n z@k!~>rmOdBvkkqOW(O?TIor#*eZ#H}vsH8A&%N50Yu72?q3XDQ!=49R$3gA~`(gSt z-xGX1A57(c{$`(4x#_s-Bd$krE;G0}6Ri*MbO%2p#t*k&iCJk^{<+pM^~iCdZ}zPE z$?g75PBqhn8ja!@PO>Y^~IJ?H?R0edT(u2b4cXy`tGqIJ40rco#ux49u<#^oItaf`!qAE zeE0T?i&t-wX8G@4*>t2k=Jl`Hj+tJvmvyxrW5G6p(kBFS~De?Er<^I`D`@&_&Lp~N2;!Ga`!#Ds+sBz?kpkn#u= z=3xJ!)f1qyiW0wL*pDQD#Du#BoOj?nd~PE#KD1Ug!QvgmUL*k|CfpUox(ObJAe}^) zKS=(7+X!S}bI6X(Q!?-M+A*8Va(g^|y-UabqJ*tK@0Pr|@TD(g6IX)>RDa5UAV4yL z5y<@qmBYxBMAShH?CTemK>U4-&Ug5?-LT1U2Fiy}STNrJUyXe+t(U%a|`;i2Ym}IyOsk|k|O;VRiWT5Q@4119TkeDR938mg3 Ry3L2=54ep$1~!Ml*O?dzS literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410348 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410348 new file mode 100644 index 0000000000000000000000000000000000000000..b04d6e18a0e9d8d75cd2cba2b8630c76721a190f GIT binary patch literal 5248 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410351 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410351 new file mode 100644 index 0000000000000000000000000000000000000000..7fc2f318e116d92fc6f7476f923f76bc28d2009b GIT binary patch literal 3276 zcmZQzU|@J%`S!2zJ;h8=><{mYk>xty(ViN_X3ptU7oKo;3ik7?3zc4Rq#!wBU!=^8 zK9@K9_MX0E@pp#s%%2-dw$8Y9EFgHYeBQrZsp``n?N+_SAljTA5^y6(1H!&~} ziYuTxCMae|@eh2;R3687tlCp)$GxkbDf0sk-}kc!vDzmw<@3H~Uk1ju1;FUq%E0t} z22c+;-heb10ONBBkil}t&sogmfZx3*7cWZcRY~W_6sy>_e9Uyew5!I;O<{%uPz^{Q zST8~Qpz2=QUM_zVV5=FpMmNmifV4blrw_;2TWrJU-g}B zf7aUYS!uzMB_-UpCzI8kZI(@q-7BY8_B!p6F;D&RbB8pT1x~JFlDf10<+jLaLfp#s z`DdFp@7CERd>-U4PtYT;5X$A&$ z0bqL41}bF+sfPl1*bvswzys40;%x|Kb{lu~w0kk<8vf;vSsOd!|Ka5KtK5~tpQUZy zBob-J$q7=#`t>1*0@(?U0}uxa7$NRraMwZ6BH`<$76CMmU-&5u0$mp}1z?5S@I zo`*KiF|Ab-PJdwW^qru_zITzX4;SZcmSB@zKVS3zx0QhtbS9)^@Bz(Z(q6T^bPf%fE!V#ntocBNsMpD8; z@Zn;x9w31n2Ou#}95MsrM;F8a0V3jqLF$q(4>V3e`eA+o>qp`sF~L$G0-R>xJeYf+ z_5<@)JyebnR0hG+5$7h=KQwj|$nCK38fz(L0(F7X z7rEg@JGW8hCX{rH6i7%+1_o%pLs1J34^U7-?MDhPm>5_+F=?I#XM%VA!~5kKR#G0HBl`u=GnWd%^ZV>j_BHL~x@`mvl^a_1;F z|Eehk6-sgOCZCN;d}_5IYSjh)0|Amh7=hehP;+4A1Sl-QfQUALm`3~6cfeo)wL7K* zHSt2Vf+?hgg~Wubz?H_p_5;&c3sfa6oWWe;+_df^7Wf#08}FUy7KK`F!HS1{RR_okiVK8vUO%$CzLRW;n5rIea@eNJ)1 zdzRJ17?t@zGZ>N!YA=f%kX=|V|C?6X@O<}7B-5{zjsw#x?i(F=iF-z zYmu&^gx-Vy%_dBoH*-(3{F57;tTv^Ib9b&U{_{0Y=vB(?mkz58Gcs;((c|L$daQI8 z%Wk2pREO`k61SX};x3r5mvOVjw;QvL@NqRHmNNW%&d7e9LA2F?_rbQ!%TquuWdP!gn&y7e{!6L^cdWSZJ@-obx(f-RxJ>ffB?SmtsQ)W%) zna%%jYqz}mLX)5C^iL%`+fvrP^3Rs?|K}`p=NH^eG7s<3FwyD#`H3Or-`~`rm)ge4PRze!&h{_;Eaw+vSnz04HJ_&W%jC-ii7Wpy%$U{y3Eb`j|g!%t2`%sjB=Bnwr-=6}agg;DNnXpRd)XbWR ziZDH3^MP^vV#>p?^Pi+m*Oo8elawgVshw=IpgS}Ch0f!xOr~i&PPP^3wPc8<_dlKb zD$U9L;7Z0N->vw*W;3tT_-ykEkPibOaj={~?Zs>z3uBKay+*n3tImsDoY9rf z5K!WDMT-O}aQl}fjGw$-AGkkags7~CY z>;+6Y6WA?4e}Bu$uaVg_$!;F+nmKMYCm3%0%bI0WcIl<5xUlS}rpe0Yg*FwPJ<%eq zJ>ol?{2N#$FSV7~&3=F2Wvs;ltDIe&P&YVyo+P!UK=ZfD?!C-u+osiCIm~Vt_U$Uq z_6cI`!X=LEdU11RtBc;Gl6QwCT#qSbROKy{!vB-ig4_9F=(G2yNOg*7q&mG#)%23JQ!oP*r23Nw^Y`OdR! z?^}5>r*@$F4M2?HMhpRv8l>BUSbD*YGveuzxB>L z!(%=tDrEi!ZRucW*$m8+|A7F>&5S_qFCZTTU};z%!Ub0Ngvv_>1~HBHb@zbY1C^OG zfcki0dOw=1-gdI_CYSXZzv710{hlLkB-47DCQ4(ID zdXE}$2o4jZasnKc7ia0-p7;Fs;fzijN%O|&sT1N;-Udx~Z9H3}^etVITM?`Xv)%v; zLkVb@=fW#Cf^8z8Mys#)?m*i`laLJqv5^uc5)-ZpM;e9LpR_3GHB==^m=oouFA+90 zb`#b#I!N3`NqB+UwkQB8;*gkdB{<>`QePpZQIK9x8HCavA=pM7r zl$~WU+HR_?fATLjOG?xK`_7!1|FMn7^r+|QeV%i^_nh-ye&74P-*?^*K@h~`;JYJq zJ4^lOI=XC0xL=fV6fk2TGq`E@=KQk5t;qfS=)>6=X%EKZ@fQqq@n$XTsyH7 zSMp&IAku-K0Y|8O}^I~E8^tmW?Qe6*g3P1R4#4kb1^%Vb%ERsY#?3*chcYp zhyZW&%~BPY!qpu*uNqqw_tFz@NxB_&wfgR+~saAVTt)W3K2D?b~r7A#m5J zf?pj1+nwhd?NJSKtMhuolH2;?M_J9g$6l>|n{E?dQ>y4=)0nf){hYVnnOEo2hSP-3 zh}PWq8Qq=gqP!}+&3PcG_)J=l`!>?Om9_69X4EH+T&|qG-ADZS-G4lL0SUAje^+Qk>FV56ehuR zCrSsJ7inLwaGj21rN_J@FWfpZE&S0<*VN485?PYH^!RxT^9@GJbXvAPs|<}P8LOmz zY%^MXBA~}>ncER{1FeM7zYz-S!w%<75n_t1+1sM#ld`&kdUi@uSM_%9cvh+!m!H-j z8LTJkbSvfi7X405w>VYnC&C_2ssIL*Cd(BNB7#c*3fmhFENTpE$V;X^h%pu$oaK^Z z>2DZ9X3C`Bmu%DRZAJ*RJP?B=Kordx)B%L&k(7eKOVXY(SvRUuyG}WZzL}#TM(*D; zx+LTJ?YN_J6_cQX;+-9EfJ8v;g51ilig%{j1r)tseW*NaxF;gV({6pS*`bKM;CU{W zT8=7s7d*G7yKQ#gx@DLsqYLCHh}7&>1X2G0{ez23UIlIS-~ql94G0P_*4H;M zGGu?{$e|-;tT`|fpN^(J)U&mMGJw8_PfHhT)YyWtA6cObLzZfu8LQAsjf^w)C?D-^E%dFl zJldyRCDV=yeIcLj$bRVK3xvp30=wluTn+5ZBcKo zM23z5Wytd8w4sNF#~)W{`3F}g8NdaN<`j&`r2a4;FHAeA{f?#@ZlVXb6KYm!m^P+7 zGcG>clrHu3w}&TpGJz=pa~B&2XJ{0o&s|5@dL;F=j` z9omx1@_cKG+>4WWpPtmOxvbW#Y?5;E3R1B_bD@W01i%fI#CZMsIR zZ%JwF&S=JH!(1RIXC3+TQPF}6~gnXO{3T4Qu>d_&Q@-3R57fkSDcKvY`E_n5yL=Qr(6&{R zg#j?4MoRfz<7@I+KW`2oHZg^1rA!mQ$AYUrIG^5FTARUQFA}&vvx!&iU_A?B{~%Oq z(tj2wF6{pnX8QjF4<`ippXW&MXa9LN9ur3wjy&vh)+LO3i(v0S=+MEQX~!iC$VR7MylJZ~5@js8%3o_ZM5r+fs2GeH24EbJR+ zO)kQo5k7h_M7X>_3hTqhfF9gmxrD=sW4WIv$|vd{)LIZGIj;Ws!<2vaD`SG#Iq~AI z{ci-@RN@7D=`WE(G$y$H0!?LgW<25-E8iT|V7BGy=?ymC_KoWC+O3OA%7|(!<_6cW z^G(pgYLvbAfZh#PqZ9F*TxhXvfK%M0eKLX+?qCjLy)q5xiE?z|h$~ne%axd@c2WOe z-up4hak=0RQ+LBx#>BIBzY%Oxi5EQYe2EXq1? zU^eJSrfK-mw=$KBqgE)w|1%^$`tn_WvPBVO(sL3JG=5Oa!p=&`96ip6D@+{A`8rXJ zvi*A%I1gZw<6_Pyrp&L5iD!*|BiN=AFL>S^N4Uh{Sgy!K`^>*<6zX!$4BS0%(sOee tvpK(Aa~9A&5B8iyu2+oV0chOZ`LKV%-Glr&_Q&_~{GR7OqnGE*@qfILsdNAU literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410354 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410354 new file mode 100644 index 0000000000000000000000000000000000000000..c4a5198450c3b2da6d339bfde9c173896b4056a6 GIT binary patch literal 4704 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 NKqbP08@l#Pm8&du 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410358 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410358 new file mode 100644 index 0000000000000000000000000000000000000000..7dd1d6f97f479e0b51ee17d9d71388ad3042043c GIT binary patch literal 4804 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 literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410362 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410362 new file mode 100644 index 0000000000000000000000000000000000000000..f253e602b8f9f673be338db0ccfbf617471911b7 GIT binary patch literal 5432 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 LwPoRv4q^ZRxslG% literal 0 HcmV?d00001 diff --git a/exp/lighthorizon/index/cmd/fixtures/ledgers/1410367 b/exp/lighthorizon/index/cmd/fixtures/ledgers/1410367 new file mode 100644 index 0000000000000000000000000000000000000000..6b12c558e40c51c19793770a6a510397584a1d17 GIT binary patch literal 6880 zcmZQzU|`Uk>nFf){>`mt%0=b3cI*j?bzhcR^YWHkrh)TPujBk>KqbQOer?c5ebR7J z)9u8RPy1&`w5jIqWSJD2l{atx+;`V25Bu&HyL{Qrk(-zMp#1!U|5m=7qj5_!I=ynv zlh|^#R!2^t84O8_&fWvjK)?thR;Zkn*fY13%~x|)bo81f)`wT=8)aIE+V<$r-g-Ls zgE3Hv19$a@Iqb8qyo*iz62h0aYIf7LeMvt|x5s&}`{!nu9)4w^yfyRnX=g4pEp?vY zxlzi*X2X=8harXsHLtxFU(5Q0^@G&=FHDuXbJx^peT~|GJnIiz*SoFD-R1Q!Y?Ds< zDyGNll)v}VmVKJ{PFSbQauoOZiK}ybrc*UY-JSG4t^Y z$ED_gSP*ck6iBBq_;@>j=p}(QJU1d)1&bV)=pEV=%F8f&M*A-(^@Q(iwGWPjPMI~G zXEy)Ct=;nK3r&8m(?6B)Y)e`D%0FAm|DUtaonLS>$vnJA!$ha|=O>1ge}7YhVj8$) zPtQqgQFfSpt@vgJf4R%U>#5IHDRnKJ`lhMGNF?y&WYtr~SGB^slsq1@M?c;MaT5ar zp|}F7V*z3&kopw=z^6>*aeT+BJ(YIcyXu)TKj83vKZ_8neG*eX?`!sDU~F3ejION= zOy7YtB;J5D7y#q*2av&X$In^JQzbS$P}yCwtUQVzqG5y%S~a115gbp zzQJ)$&_1ZTm$sM7-vrodhI7^>Gw!h0v^_TYnbp!Y$7cvUIe&jy#too(OpYO*EDT1m8P5Hfcfs{n{nyNEjOSNMWInKP`sgj}I86l{ zmZGhuK=q*ThXHul5Y*4Wzys987~*XN*88Y1TC9F;>usNRew^a2UnZ0Y<<8kvobCH( zdxCVZhyyIIF|dAp2vW}t#9UyF2!avpE?^iulv#Ve%%sS2Ln&vB-MvM--}b-qk2FXY zi@Tlkr}B=Yf)cBz2%DQt+|JU1Nu0To_kLvV&s~{tU#5Y}>|yiXH}Eh}Q#Si(GwH#} zO6_a;6I*f@GY0q7*ZT|X74O`0t*IdXIW!DF9>5v~1ogwiz!2<i9Xz%oH)webBk=pIK@hVAsL6Hp)uV3j?pIa@_jJ^NX?8k$N-2U5`E$yr~GEca! zH)+kjOvgNsf%w7-?0#Taty`PkefRqE9y3uEp>xW8D$kCeyV@42WteUIGIz5R+aC|L zkg|Kc?0!;7j~5p@ioOu=o8zYG%6%-l@KcCWmOmTN8gP2q)2M$vsK;(oG6TzP zJ1C!U8OOjNrqMEg70@_PIX54uj~AvFM8hmWWx`c};}XsT*$o0v`+@Ov6Dr3Ds!O13 zBHdImi^gsOxg8c>gUxM}gx3O~zo-$1;4ndIw}7MXxPO^e@xO*ZJqgR+&k7Rvwq#${ zX7qOaoMcsZTswq4AFK$Rcfl-J@`2GHL1>t_6hYK7Fc2;a7{nwNyPW~12T*w+4%7## z3*Z3Ba3m&N8b=z1*q^lM?W*fbdb1>lJEkR=~ReANST6^MnUlp zs#}3&AUJ-(>4Avw0=B0}tp}KE%?p{X)q@ISAOPBloc3U0LsR?BZsdg3gKfvKAI1MP zss~>^jo?whVLyuhX=eY2MGJ7)&(Py78})V0Lyf1(sT+=L3~N61Ygz5oCD9gQ${dkB ztKUch;|mBtZ45Ag#T`nT1j!K5CIhNERRSb{Z7tfg%h>wL8-V76+OME?EHZ%AUsf<66Yo#7aF?> zYgsx-+(t=wfyz5-#36cp4~l;%OZsN5nU+#p>rV*1k101@{ndjVo1hZ!01MUlN=yPx8HzTu%})egiZLJZ1hTG8n;pACcO0@T3Lb8wt(gt xSUHb8uK^PSt0yL$Xiy%2%5)2$8^L8B5pE!*EF!uNrh~o6^$BJj49-Oi3;>6SwPgSR literal 0 HcmV?d00001 From 0c06b335b384150a25159844181f281d1a5c89c0 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Mon, 27 Jun 2022 16:03:02 -0700 Subject: [PATCH 12/16] Incorporate PR feedback, drop generics --- exp/lighthorizon/index/cmd/batch/map/main.go | 2 +- exp/lighthorizon/index/cmd/map_test.go | 16 ++++++++++++---- exp/lighthorizon/index/cmd/single_test.go | 11 +++++------ 3 files changed, 18 insertions(+), 11 deletions(-) diff --git a/exp/lighthorizon/index/cmd/batch/map/main.go b/exp/lighthorizon/index/cmd/batch/map/main.go index e26654c7c3..9f16b186ee 100644 --- a/exp/lighthorizon/index/cmd/batch/map/main.go +++ b/exp/lighthorizon/index/cmd/batch/map/main.go @@ -45,7 +45,7 @@ func NewBatchConfig() (*BatchConfig, error) { } checkpoints := historyarchive.NewCheckpointManager(0) - if checkpoints.IsCheckpoint(uint32(firstCheckpoint) - 1) { + if !checkpoints.IsCheckpoint(uint32(firstCheckpoint - 1)) { return nil, fmt.Errorf( "%s (%d) must be the first ledger in a checkpoint range", firstCheckpointEnv, firstCheckpoint) diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index 7b6729ddb8..c026331b43 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -74,7 +74,7 @@ func TestMap(t *testing.T) { // Then, build the *same* indices using the single-process tester. t.Logf("Building baseline for ledger range [%d, %d]", startLedger, endLedger) - hashes, participants := CreateBaselineIndices(t, txmetaSource, startLedger, endLedger) + hashes, participants := IndexLedgerRange(t, txmetaSource, startLedger, endLedger) require.NotNil(t, hashes) require.NotNil(t, participants) @@ -96,7 +96,7 @@ func TestMap(t *testing.T) { t.Logf("Connected to index #%d at %s", i+1, indexUrl) } - assertParticipantsEqual(t, keys(participants), stores) + assertParticipantsEqual(t, keysU32(participants), stores) for account, checkpoints := range participants { assertParticipantCheckpointsEqual(t, account, checkpoints, stores) } @@ -119,7 +119,7 @@ func assertParticipantsEqual(t *testing.T, assert.Lenf(t, indexGroupAccountSet, len(expectedAccountSet), "quantity of accounts across indices doesn't match") - mappedAccountSet := keys(indexGroupAccountSet) + mappedAccountSet := keysSet(indexGroupAccountSet) require.ElementsMatch(t, expectedAccountSet, mappedAccountSet) } @@ -161,7 +161,15 @@ func assertParticipantCheckpointsEqual(t *testing.T, } } -func keys[T any](dict map[string]T) []string { +func keysU32(dict map[string][]uint32) []string { + result := make([]string, 0, len(dict)) + for key := range dict { + result = append(result, key) + } + return result +} + +func keysSet(dict map[string]struct{}) []string { result := make([]string, 0, len(dict)) for key := range dict { result = append(result, key) diff --git a/exp/lighthorizon/index/cmd/single_test.go b/exp/lighthorizon/index/cmd/single_test.go index 7175961540..5dd0de143e 100644 --- a/exp/lighthorizon/index/cmd/single_test.go +++ b/exp/lighthorizon/index/cmd/single_test.go @@ -95,8 +95,7 @@ func testSingleProcess(t *testing.T, ledgerRange historyarchive.Range) { ) require.NoError(t, err) - hashes, participants := CreateBaselineIndices(t, - txmetaSource, firstLedger, lastLedger) + hashes, participants := IndexLedgerRange(t, txmetaSource, firstLedger, lastLedger) store, err := index.Connect(tmpDir) require.NoError(t, err) @@ -164,16 +163,16 @@ func AssertParticipantsEqual(t *testing.T, expected map[string][]uint32, actual } } -// CreateBaselineIndices will connect to a dump of ledger txmeta for the given -// ledger range and build two maps from scratch (i.e. without using the indexer) -// by ingesting them manually: +// IndexLedgerRange will connect to a dump of ledger txmeta for the given ledger +// range and build two maps from scratch (i.e. without using the indexer) by +// ingesting them manually: // // - a map of tx hashes to TOIDs // - a map of accounts to a list of checkpoints they were active in // // These should be used as a baseline comparison of the indexer, ensuring that // all of the data is identical. -func CreateBaselineIndices( +func IndexLedgerRange( t *testing.T, txmetaSource string, startLedger, endLedger uint32, // inclusive From cabdd40c1db9136b50e46f2bff166ebf7c206ef8 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Wed, 29 Jun 2022 13:21:26 -0500 Subject: [PATCH 13/16] Whitespace fixup --- .../index/cmd/batch/reduce/set.go | 26 +++++++++---------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/exp/lighthorizon/index/cmd/batch/reduce/set.go b/exp/lighthorizon/index/cmd/batch/reduce/set.go index e57b88775b..99e6f6282e 100644 --- a/exp/lighthorizon/index/cmd/batch/reduce/set.go +++ b/exp/lighthorizon/index/cmd/batch/reduce/set.go @@ -4,26 +4,26 @@ import "sync" // SafeStringSet is a simple thread-safe set. type SafeStringSet struct { - lock sync.RWMutex - set map[string]struct{} + lock sync.RWMutex + set map[string]struct{} } func NewSafeStringSet() *SafeStringSet { - return &SafeStringSet{ - lock: sync.RWMutex{}, - set: map[string]struct{}{}, - } + return &SafeStringSet{ + lock: sync.RWMutex{}, + set: map[string]struct{}{}, + } } func (set *SafeStringSet) Contains(key string) bool { - defer set.lock.RUnlock() - set.lock.RLock() - _, ok := set.set[key] - return ok + defer set.lock.RUnlock() + set.lock.RLock() + _, ok := set.set[key] + return ok } func (set *SafeStringSet) Add(key string) { - defer set.lock.Unlock() - set.lock.Lock() - set.set[key] = struct{}{} + defer set.lock.Unlock() + set.lock.Lock() + set.set[key] = struct{}{} } From 4fa41fbe83df7513d9eec01057a801a3e383d21d Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Wed, 29 Jun 2022 13:35:32 -0500 Subject: [PATCH 14/16] Adjust end range to be a multiple of batch size --- exp/lighthorizon/index/cmd/batch/map/main.go | 2 +- exp/lighthorizon/index/cmd/map_test.go | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/exp/lighthorizon/index/cmd/batch/map/main.go b/exp/lighthorizon/index/cmd/batch/map/main.go index 9f16b186ee..0a162d0761 100644 --- a/exp/lighthorizon/index/cmd/batch/map/main.go +++ b/exp/lighthorizon/index/cmd/batch/map/main.go @@ -66,7 +66,7 @@ func NewBatchConfig() (*BatchConfig, error) { } firstLedger := uint32(firstCheckpoint + batchSize*jobIndex) - lastLedger := firstLedger + uint32(batchSize) + lastLedger := firstLedger + uint32(batchSize) - 1 return &BatchConfig{ Range: historyarchive.Range{Low: firstLedger, High: lastLedger}, TxMetaSourceUrl: txmetaSourceUrl, diff --git a/exp/lighthorizon/index/cmd/map_test.go b/exp/lighthorizon/index/cmd/map_test.go index c026331b43..4c352425e3 100644 --- a/exp/lighthorizon/index/cmd/map_test.go +++ b/exp/lighthorizon/index/cmd/map_test.go @@ -41,8 +41,8 @@ func TestMap(t *testing.T) { if !checkpointMgr.IsCheckpoint(startLedger - 1) { startLedger = checkpointMgr.NextCheckpoint(startLedger-1) + 1 } - if !checkpointMgr.IsCheckpoint(endLedger) { - endLedger = checkpointMgr.PrevCheckpoint(endLedger - batchSize) + if (endLedger-startLedger)%batchSize != 0 { + endLedger = checkpointMgr.PrevCheckpoint((endLedger / batchSize) * batchSize) } require.Greaterf(t, endLedger, startLedger, @@ -50,6 +50,9 @@ func TestMap(t *testing.T) { batchCount := (endLedger - startLedger + batchSize) / batchSize // ceil(ledgerCount / batchSize) + t.Logf("Using %d batches to process ledger range [%d, %d]", + batchCount, startLedger, endLedger) + require.Truef(t, batchCount == 1 || checkpointMgr.IsCheckpoint(startLedger+batchSize-1), "expected batch size (%d) to result in checkpoint blocks, "+ From 3a99a2ba35ca06a2176e19dc8150c6b311225b3f Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Thu, 30 Jun 2022 10:41:54 -0700 Subject: [PATCH 15/16] Tiny fixup around errors --- exp/lighthorizon/index/builder.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/exp/lighthorizon/index/builder.go b/exp/lighthorizon/index/builder.go index e10b1ae648..2d30c33393 100644 --- a/exp/lighthorizon/index/builder.go +++ b/exp/lighthorizon/index/builder.go @@ -242,18 +242,15 @@ func (builder *IndexBuilder) Build(ctx context.Context, ledgerRange historyarchi } func (b *IndexBuilder) Watch(ctx context.Context) error { - latestLedger, seqErr := b.ledgerBackend.GetLatestLedgerSequence(ctx) - if seqErr != nil { - log.Errorf("Failed to retrieve latest ledger: %v", seqErr) - return seqErr + latestLedger, err := b.ledgerBackend.GetLatestLedgerSequence(ctx) + if err != nil { + log.Errorf("Failed to retrieve latest ledger: %v", err) + return err } - nextLedger := b.lastBuiltLedger + 1 - log.Infof("Catching up to latest ledger: (%d, %d]", - nextLedger, latestLedger) - - if err := b.Build(ctx, historyarchive.Range{ + log.Infof("Catching up to latest ledger: (%d, %d]", nextLedger, latestLedger) + if err = b.Build(ctx, historyarchive.Range{ Low: nextLedger, High: latestLedger, }); err != nil { From e3201f66beb495742472688d4806a70136032935 Mon Sep 17 00:00:00 2001 From: George Kudrayvtsev Date: Thu, 30 Jun 2022 12:23:14 -0700 Subject: [PATCH 16/16] Update lastBuiltLedger w/ safely concurrent writes --- exp/lighthorizon/index/builder.go | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/exp/lighthorizon/index/builder.go b/exp/lighthorizon/index/builder.go index 2d30c33393..53a92a106e 100644 --- a/exp/lighthorizon/index/builder.go +++ b/exp/lighthorizon/index/builder.go @@ -6,6 +6,7 @@ import ( "io" "math" "os" + "sync" "sync/atomic" "time" @@ -101,7 +102,6 @@ func BuildIndices( chunk.High = min(chunk.High, ledgerRange.High) chunk.Low = max(chunk.Low, ledgerRange.Low) - fmt.Printf("Submitted [%d, %d] for work\n", chunk.Low, chunk.High) ch <- chunk } @@ -164,7 +164,9 @@ type IndexBuilder struct { store Store ledgerBackend ledgerbackend.LedgerBackend networkPassphrase string - lastBuiltLedger uint32 + + lastBuiltLedgerWriteLock sync.Mutex + lastBuiltLedger uint32 modules []Module } @@ -237,20 +239,23 @@ func (builder *IndexBuilder) Build(ctx context.Context, ledgerRange historyarchi } } + builder.lastBuiltLedgerWriteLock.Lock() builder.lastBuiltLedger = max(builder.lastBuiltLedger, ledgerRange.High) + builder.lastBuiltLedgerWriteLock.Unlock() + return nil } -func (b *IndexBuilder) Watch(ctx context.Context) error { - latestLedger, err := b.ledgerBackend.GetLatestLedgerSequence(ctx) +func (builder *IndexBuilder) Watch(ctx context.Context) error { + latestLedger, err := builder.ledgerBackend.GetLatestLedgerSequence(ctx) if err != nil { log.Errorf("Failed to retrieve latest ledger: %v", err) return err } - nextLedger := b.lastBuiltLedger + 1 + nextLedger := builder.lastBuiltLedger + 1 log.Infof("Catching up to latest ledger: (%d, %d]", nextLedger, latestLedger) - if err = b.Build(ctx, historyarchive.Range{ + if err = builder.Build(ctx, historyarchive.Range{ Low: nextLedger, High: latestLedger, }); err != nil { @@ -258,7 +263,7 @@ func (b *IndexBuilder) Watch(ctx context.Context) error { } for { - nextLedger = b.lastBuiltLedger + 1 + nextLedger = builder.lastBuiltLedger + 1 log.Infof("Awaiting next ledger (%d)", nextLedger) // To keep the MVP simple, let's just naively poll the backend until the @@ -287,7 +292,7 @@ func (b *IndexBuilder) Watch(ctx context.Context) error { return errors.Wrap(timedCtx.Err(), "awaiting next ledger failed") default: - buildErr := b.Build(timedCtx, historyarchive.Range{ + buildErr := builder.Build(timedCtx, historyarchive.Range{ Low: nextLedger, High: nextLedger, })