1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
5672
5673
5674
5675
5676
5677
5678
5679
5680
5681
5682
5683
5684
5685
5686
5687
5688
5689
5690
5691
5692
5693
5694
5695
5696
5697
5698
5699
5700
5701
5702
5703
5704
5705
5706
5707
5708
5709
5710
5711
5712
5713
5714
5715
5716
5717
5718
5719
5720
5721
5722
5723
5724
5725
5726
5727
5728
5729
5730
5731
5732
5733
5734
5735
5736
5737
5738
5739
5740
5741
5742
5743
5744
5745
5746
5747
5748
5749
5750
5751
5752
5753
5754
5755
5756
5757
5758
5759
5760
5761
5762
5763
5764
5765
5766
5767
5768
5769
5770
5771
5772
5773
5774
5775
5776
5777
5778
5779
5780
5781
5782
5783
5784
5785
5786
5787
5788
5789
5790
5791
5792
5793
5794
5795
5796
5797
5798
5799
5800
5801
5802
5803
5804
5805
5806
5807
5808
5809
5810
5811
5812
5813
5814
5815
5816
5817
5818
5819
5820
5821
5822
5823
5824
5825
5826
5827
5828
5829
5830
5831
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
6001
6002
6003
6004
6005
6006
6007
6008
6009
6010
6011
6012
6013
6014
6015
6016
6017
6018
6019
6020
6021
6022
6023
6024
6025
6026
6027
6028
6029
6030
6031
6032
6033
6034
6035
6036
6037
6038
6039
6040
6041
6042
6043
6044
6045
6046
6047
6048
6049
6050
6051
6052
6053
6054
6055
6056
6057
6058
6059
6060
6061
6062
6063
6064
6065
6066
6067
6068
6069
6070
6071
6072
6073
6074
6075
6076
6077
6078
6079
6080
6081
6082
6083
6084
6085
6086
6087
6088
6089
6090
6091
6092
6093
6094
6095
6096
6097
6098
6099
6100
6101
6102
6103
6104
6105
6106
6107
6108
6109
6110
6111
6112
6113
6114
6115
6116
6117
6118
6119
6120
6121
6122
6123
6124
6125
6126
6127
6128
6129
6130
6131
6132
6133
6134
6135
6136
6137
6138
6139
6140
6141
6142
6143
6144
6145
6146
6147
6148
6149
6150
6151
6152
6153
|
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "7e32a042",
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"......\n",
"fixed bad single file torrent 4f269d8aefd647ee270842d53ec98aebd23a4afe\n",
"fixed bad single file torrent 7b09ae0b612dafc1744562dccbbe4becf4d633c3\n",
"47843 @ 432.03022854588926 s\n"
]
}
],
"source": [
"from time import monotonic\n",
"from sys import path\n",
"path.append(\"/root/projects/travnik\")\n",
"from travnik import glob\n",
"print(\"......\")\n",
"start = monotonic()\n",
"torrents = glob(\"/root/projects/travnik\")\n",
"print(len(torrents), \"@\", monotonic()-start, \"s\")\n",
"# t = Torrent()\n",
"# t.file(\"/root/projects/travnik/449a38ef7e042bd2d75e8921aa02f6f244165d9d.torrent\")\n",
"# print(t.sha1.hex())\n",
"# for path, length in t.paths():\n",
"# print(path, length)\n",
"# print(t)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "a4419e5e",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"5.217101574176922 torrenti so se zbirali 16.265196759259258 dni. en torrent je bil najden v povprečju na 29.373429759839475 sekund, v 47843 so metapodatki 3084321 datotek v skupni velikosti 259.2602232018344 TiB\n"
]
}
],
"source": [
"s = monotonic()\n",
"prej = None\n",
"skup = 0\n",
"dat = 0\n",
"vel = 0\n",
"for torrent in sorted([torrent for sha1, torrent in torrents.items()], key=lambda x:x.dict.get(b'creation date')):\n",
" č = torrent.dict.get(b'creation date')\n",
" dat += sum(1 for path, size in torrent.paths())\n",
" vel += sum(size for path, size in torrent.paths())\n",
" if not prej:\n",
" prej = č\n",
" continue\n",
" if prej + 60*10 > č:\n",
" skup += č-prej\n",
" prej = č\n",
"print(monotonic()-s, \"torrenti so se zbirali\", skup/86400, \"dni. en torrent je bil najden v povprečju na\", skup/len(torrents), \"sekund, v\", len(torrents), \"so metapodatki\", dat, \"datotek\", \"v skupni velikosti\", vel/(1024**4), \"TiB\")"
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "e170de45",
"metadata": {
"scrolled": false
},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_device_pixel_ratio', {\n",
" device_pixel_ratio: fig.ratio,\n",
" });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute('tabindex', '0');\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;' +\n",
" 'z-index: 2;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'pointer-events: none;' +\n",
" 'position: relative;' +\n",
" 'z-index: 0;'\n",
" );\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'left: 0;' +\n",
" 'pointer-events: none;' +\n",
" 'position: absolute;' +\n",
" 'top: 0;' +\n",
" 'z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" /* This rescales the canvas back to display pixels, so that it\n",
" * appears correct on HiDPI screens. */\n",
" canvas.style.width = width + 'px';\n",
" canvas.style.height = height + 'px';\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" /* User Agent sniffing is bad, but WebKit is busted:\n",
" * https://bugs.webkit.org/show_bug.cgi?id=144526\n",
" * https://bugs.webkit.org/show_bug.cgi?id=181818\n",
" * The worst that happens here is that they get an extra browser\n",
" * selection when dragging, if this check fails to catch them.\n",
" */\n",
" var UA = navigator.userAgent;\n",
" var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n",
" if(isWebKit) {\n",
" return function (event) {\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We\n",
" * want to control all of the cursor setting manually through\n",
" * the 'cursor' event from matplotlib */\n",
" event.preventDefault()\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" } else {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" canvas_div.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" canvas_div.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" fig.canvas_div.style.cursor = msg['cursor'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * https://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" // from https://stackoverflow.com/q/1114465\n",
" var boundingRect = this.canvas.getBoundingClientRect();\n",
" var x = (event.clientX - boundingRect.left) * this.ratio;\n",
" var y = (event.clientY - boundingRect.top) * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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rwIEO75y5rQwgp2c8ke3coKd6I4dLUcAAQQQQAABBBBAAAEECHbicw8Q7Pg4lrNmzbJ27drZH3/8YTVr1rTJkydb//79bdWqVT7WEo6iCHbCMQ60AgEEEEAAAQQQQAABBBAoiwDBTlnUwnlNooKdCy64wKZMmWK9evWye+65Z4sRufTSS+3uu++2bt26uUCmLEfxYGft2rW2Zs0a23333TMq7ttvv7Vhw4bZa6+9Zj/99JPVqVPHDj30UOvevbudddZZtsMOO6RVnvqrUOmZZ55Jnb9kyRK7+eab7Y033rCVK1faXnvtZeedd55de+21VqlSpbTK1UkEO2lTcSICCCCAAAIIIIAAAgggEDoBgp3QDUmZG5S4YEeBhm7gFStWWJUqVRzcunXrbM8997Tq1au7GTd+BTtlGZWPPvrIjj/+eGvQoIENHjzYBTp//fWXzZ8/34VRd955pzVu3DitoksKdl566SWbNm2anXPOOXbggQfavHnzrGfPnta1a1cbM2ZMWuUS7KTNxIkIIIAAAggggAACCCCAQCgFCHZCOSxlalTigh3NYPn+++/tmmuusXPPPdehPfbYYzZixAjbf//9U0uoCgsLbfTo0S5MUQh08MEH2/XXX29nnHFGCvqFF15wS61++OEHO+qoo9xsnwsvvLDUpVjfffedXXHFFfbBBx/Y33//bfXr17fhw4e7IEeH6lSgU7VqVVPAU6FCha0GVefk5eW5P1+2bJkr75VXXnHnHnPMMXb77bfbfvvtZzfeeKPddNNNW1z/5ptvWtu2bbcqU/3UbCW5pHswYyddKc5DAAEEEEAAAQQQQAABBMInQLATvjEpa4sSGey0adPGnn/+ebfUSYeClZNPPtm0lMrbG0dLk5566ikbN26cHXTQQTZ79my75JJL7OWXXzZdrzBHf64/6927t33yySd25ZVXuqVTpe2x88UXX7hQ5+ijj7addtrJLQu79dZbbeHChVavXj377LPPrGnTpjZ16lQ7++yztzmm//zzjx1++OHWqlUrFy5pedbQoUNtzpw5NnfuXNuwYYP16NHDzU568MEHXVm1atUqcbnVddddZ5rJoz6kexDspCvFeQgggAACCCCAAAIIIIBA+AQIdsI3JmVtUSKDnfvuu8/22WcfW7BggZv9ouVOCmouuugiF+xMmDDB7WujZVstWrRI2ervFaho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\" width=\"1142\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.1759076388552785 za 70 različnih odjemalcev\n"
]
}
],
"source": [
"s = monotonic()\n",
"def uas(normalize=True, minrepr=0):\n",
" odjemalci = {}\n",
" for sha1, torrent in torrents.items():\n",
" odjemalec = torrent.dict.get(b'source').get(b'v')\n",
" if normalize and odjemalec is not None:\n",
" if b'/' in odjemalec:\n",
" odjemalec = odjemalec.split(b'/')[0]\n",
" elif b' (' in odjemalec:\n",
" odjemalec = odjemalec.split(b' (')[0]\n",
" else:\n",
" odjemalec = odjemalec.split(b' ')[0]\n",
" odjemalec = odjemalec.replace(b'\\xc2\\xb5', b'\\xce\\xbc').decode()\n",
" if odjemalec not in odjemalci.keys():\n",
" odjemalci[odjemalec] = 1\n",
" else:\n",
" odjemalci[odjemalec] += 1\n",
" trueodj = {\"ostali\": 0}\n",
" count = 0\n",
" for key, value in odjemalci.items():\n",
" count += 1\n",
" if value < minrepr:\n",
" trueodj[\"ostali\"] += value\n",
" else:\n",
" trueodj[key] = value\n",
" trueodj = [(v, k) for k, v in trueodj.items()]\n",
" return trueodj, count\n",
"odjemalci, count = uas(True, minrepr=0.01*len(torrents))\n",
"odjemalci = sorted(odjemalci, reverse=False)\n",
"from matplotlib import pyplot\n",
"%matplotlib notebook\n",
"fig, axes = pyplot.subplots()\n",
"from math import log\n",
"# axes.pie([log(sights) if sights else 0 for sights, name in odjemalci], labels=[name for sights, name in odjemalci])\n",
"axes.barh([name if name is not None else \"neznan\" for sights, name in odjemalci], [sights for sights, name in odjemalci])\n",
"axes.set_title(\"log skala odjemalcev\")\n",
"pyplot.xscale(\"log\")\n",
"fig.show()\n",
"print(monotonic()-s, \"za\", count, \"različnih odjemalcev\")"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "52de34d6",
"metadata": {
"scrolled": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.19374532182700932 s 41\n"
]
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_device_pixel_ratio', {\n",
" device_pixel_ratio: fig.ratio,\n",
" });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute('tabindex', '0');\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;' +\n",
" 'z-index: 2;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'pointer-events: none;' +\n",
" 'position: relative;' +\n",
" 'z-index: 0;'\n",
" );\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'left: 0;' +\n",
" 'pointer-events: none;' +\n",
" 'position: absolute;' +\n",
" 'top: 0;' +\n",
" 'z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" /* This rescales the canvas back to display pixels, so that it\n",
" * appears correct on HiDPI screens. */\n",
" canvas.style.width = width + 'px';\n",
" canvas.style.height = height + 'px';\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" /* User Agent sniffing is bad, but WebKit is busted:\n",
" * https://bugs.webkit.org/show_bug.cgi?id=144526\n",
" * https://bugs.webkit.org/show_bug.cgi?id=181818\n",
" * The worst that happens here is that they get an extra browser\n",
" * selection when dragging, if this check fails to catch them.\n",
" */\n",
" var UA = navigator.userAgent;\n",
" var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n",
" if(isWebKit) {\n",
" return function (event) {\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We\n",
" * want to control all of the cursor setting manually through\n",
" * the 'cursor' event from matplotlib */\n",
" event.preventDefault()\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" } else {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" canvas_div.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" canvas_div.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" fig.canvas_div.style.cursor = msg['cursor'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * https://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" // from https://stackoverflow.com/q/1114465\n",
" var boundingRect = this.canvas.getBoundingClientRect();\n",
" var x = (event.clientX - boundingRect.left) * this.ratio;\n",
" var y = (event.clientY - boundingRect.top) * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABEcAAAMMCAYAAACxHsmvAAAgAElEQVR4XuzdCbiN5f7/8W+SscxJsk0dZArpaDJE6qTOOWYNRJI5JTLlyDyHg5Ah6kSGEupKpZIhGhRKKGmQIVPhLxnjfz7377fWb9vWtp89rb2etd73de3rZO9nPc/9vO7n+V3/9fnf9/e+5Nx/m9EQQAABBBBAAAEEEEAAAQQQQACBGBW4hHAkRkee20YAAQQQQAABBBBAAAEEEEAAASdAOMKDgAACCCCAAAIIIIAAAggggAACMS1AOBLTw8/NI4AAAggggAACCCCAAAIIIIAA4QjPAAIIIIAAAggggAACCCCAAAIIxLQA4UhMDz83jwACCCCAAAIIIIAAAggggAAChCM8AwgggAACCCCAAAIIIIAAAgggENMChCMxPfzcPAIIIIAAAggggAACCCCAAAIIEI7wDCCAAAIIIIAAAggggAACCCCAQEwLEI7E9PBz8wgggAACCCCAAAIIIIAAAgggQDjCM4AAAggggAACCCCAAAIIIIAAAjEtQDgS08PPzSOAAAIIIIAAAggggAACCCCAAOEIzwACCCCAAAIIIIAAAggggAACCMS0AOFITA8/N48AAggggAACCCCAAAIIIIAAAoQjPAMIIIAAAggggAACCCCAAAIIIBDTAoQjMT383DwCCCCAAAIIIIAAAggggAACCBCO8AwggAACCCCAAAIIIIAAAggggEBMCxCOxPTwc/MIIIAAAggggAACCCCAAAIIIEA4wjOAAAIIIIAAAggggAACCCCAAAIxLUA4EtPDz80jgAACCCCAAAIIIIAAAggggADhCM8AAggggAACCCCAAAIIIIAAAgjEtADhSEwPPzePAAIIIIAAAggggAACCCCAAAKEIzwDCCCAAAIIIIAAAggggAACCCAQ0wKEIzE9/Nw8AggggAACCCCAAAIIIIAAAggQjvAMIIAAAggggAACCCCAAAIIIIBATAsQjsT08HPzCCCAAAIIIIAAAggggAACCCBAOMIzgAACCCCAAAIIIIAAAggggAACMS1AOBLTw8/NI4AAAggggAACCCCAAAIIIIAA4QjPAAIIIIAAAggggAACCCCAAAIIxLQA4UhMDz83jwACCCCAAAIIIIAAAggggAAChCM8AwgggAACCCCAAAIIIIAAAgggENMChCMxPfzcPAIIIIAAAggggAACCCCAAAIIEI7wDCCAAAIIIIAAAggggAACCCCAQEwLEI7E9PBz8wgggAACCCCAAAIIIIAAAgggQDjCM4AAAggggAACCCCAAAIIIIAAAjEtQDgS08PPzSOAAAIIIIAAAggggAACCCCAAOEIzwACCCCAAAIIIIAAAggggAACCMS0AOFITA8/N48AAggggAACCCCAAAIIIIAAAoQjPAMIIIAAAggggAACCCCAAAIIIBDTAoQjMT383DwCCCCAAAIIIIAAAggggAACCBCO8AwggAACCCCAAAIIIIAAAggggEBMCxCOxPTwc/MIIIAAAggggAACCCCAAAIIIEA4wjOAAAIIIIAAAggggAACCCCAAAIxLUA4EtPDz80jgAACCCCAAAIIIIAAAggggADhCM8AAggggAACCCCAAAIIIIAAAgjEtADhSEwPPzePAAIIIIAAAggggAACCCCAAAKEIzwDCCCAAAIIIIAAAggggAACCCAQ0wKEIzE9/Nw8AggggAACCCCAAAIIIIAAAggQjvAMIIAAAggggAACCCCAAAIIIIBATAsQjsT08HPzCCCAAAIIIIAAAggggAACCCBAOMIzgAACCCCAAAIIIIAAAggggAACMS1AOBLTw8/NI4AAAggggAACCCCAAAIIIIAA4QjPAAIIIIAAAggggAACCCCAAAIIxLQA4UhMDz83jwACCCCAAAIIIIAAAggggAAChCM8AwgggAACCCCAAAIIIIAAAgggENMChCMxPfzcPAIIIIAAAggggAACCCCAAAIIEI7wDCCAAAIIIIAAAggggAACCCCAQEwLEI7E9PBz8wgggAACCCCAAAIIIIAAAgggQDjCM4AAAggggAACCCCAAAIIIIAAAjEtQDgS08PPzSOAAAIIIIAAAggggAACCCCAAOEIzwACCCCAAAIIIIAAAggggAACCMS0AOFITA8/N48AAggggAACCCCAAAIIIIAAAoQjPAMIIIAAAggggAACCCCAAAIIIBDTAoQjMT383DwCCCCAAAIIIIAAAggggAACCBCO8AwggAACCCCAAAIIIIAAAggggEBMCxCOxPTwc/MIIIAAAggggAACCCCAAAIIIEA4wjOAAAIIIIAAAggggAACCCCAAAIxLUA4EtPDz80jgAACCCCAAAIIIIAAAggggADhCM8AAggggAACCCCAAAIIIIAAAgjEtADhSEwPPzePAAIIIIAAAggggAACCCCAAAKEIzwDCCCAAAIIIIAAAggggAACCCAQ0wKEIzE9/Nw8AggggAACCCCAAAIIIIAAAggQjvAMIIAAAggggAACCCCAAAIIIIBATAsQjsT08HPzCCCAAAIIIIAAAggggAACCCBAOMIzgAACCCCAAAIIIIAAAggggAACMS1AOBLTw8/NI4AAAggggAACCCCAAAIIIIAA4QjPAAIIIIAAAggggAACCCCAAAIIxLQA4UhMDz83jwACCCCAAAIIIIAAAggggAAChCM8AwgggAACCCCAAAIIIIAAAgggENMChCMxPfzcPAIIIIAAAggggAACCCCAAAIIEI7wDCCAAAIIIIAAAggggAACCCCAQEwLEI7E9PBz8wgggAACCCCAAAIIIIAAAgggQDjCM4AAAggggAACCCCAAAIIIIAAAjEtQDgS08PPzSOAAAIIIIAAAggggAACCCCAAOEIzwACCCCAAAIIIIAAAggggAACCMS0AOFITA8/N48AAggggAACCCCAAAIIIIAAAoQjPAMIIIAAAggggAACCCCAAAIIIBDTAoQjMT383DwCCCCAAAIIIIAAAggggAACCBCO8AwggAACCCCAAAIIIIAAAggggEBMCxCOxPTwc/MIIIAAAggggAACCCCAAAIIIEA4wjOAAAIIIIAAAggggAACCCCAAAIxLUA4EtPDz80jgAACCCCAAAIIIIAAAggggADhCM8AAggggAACCCCAAAIIIIAAAgjEtADhSEwPf9I3f/bsWduzZ49dccUVdskllyT9AY5AAAEEEEAAAQQQQAABBGJY4Ny5c+7uc+XKxXcoHz0HhCM+GqyM6OquXbssLi4uIy7NNRFAAAEEEEAAAQQQQAAB3wocOXLEBSQ0fwgQjvhjnDKsl3qh8+TJYzt37uTFzrBR4MIIIIAAAggggAACCCDgF4H/9//+n/v/YCYc8cuI/U8/CUf8NV5h761e7Ny5c/Nih12eCyKAAAIIIIAAAggggIAfBfgO5cdRIxzx56iFsde82GHE5lIIIIAAAggggAACCCDgewG+Q/lzCJk54s9xC1uvebHDRs2FEEAAAQQQQAABBBBAIAoE+A7lz0EkHPHnuIWt17zYYaPmQggggAACCCCAAAIIIBAFAnyH8ucgEo74c9zC1mte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RVm1S82aNWtMAczu3buD4YgKt+rz77//vivcmiNHDvfTokULd7z6o3OoRsny5cutYsWKds8993i6c8IRT0wchAACCCCAAAIIIJBAgHCERyJWBQhH/DnyhCOpGDeFI+XLl3dFVDV7Q8tXFIqoPkhgK1+v4Yh2nuncubOrPfLSSy+d16tx48bZ6NGj3Xa8NWvWdMtldFxg5ogOVoFW1Rn59ddfLbCV7+nTp90sk//85z8uTMmfP7/dcsstruCqAhIvjXDEixLHIIAAAggggAACCCQUIBzhmYhVAcIRf4484Ugqxk3hSOXKld2sjmhtvNjROrLcFwIIIIAAAggggAACCKSHAN+h0kM1/c9JOJIKY8KRVODxUQQQQAABBBBAAAEEEEAgCgUIR/w5qIQjqRi3jApHzp0755bvvPbaa25pzYYNG9wMlvRoLKtJD1XOiQACCCCAAAIIhE+A5S3hs+ZKCEiAcMSfzwHhSASP24oVK6x27drn1RZRd99++22rX7++6e/a5aZAgQKWOXPmC+5Ey320883PP//sjmnSpIkNHz7csmXL5vmuCUc8U3EgAggggAACCCAQkQKEIxE5LHQqigUIR/w5uIQjETxuiYUjzz33nCvQumPHjkR7P2fOHGvTpo3NnDnTbr31VtPWvg8//LDdd999pgKvXhvhiFcpjkMAAQQQQAABBCJTgHAkMseFXkWvAOGIP8c26sIRLXW5/vrr3eyIGTNmWJYsWaxDhw42YMAAN0Jjx461WbNm2Q8//GD58uVz2+OOGjXKLr/8cvf3F1980W2/O3v2bOvevbvt3LnTbXurHWS0jEU7wRw5csRtk6uZGdqhRu3UqVP2r3/9yxRKaFeZChUq2MiRI039CdV++uknK1GixHlLYvS5vHnz2ocffui2Adbf47dWrVq5f8bfzaZYsWKmcyVsjz32mG3dutU++OCD4J90P5999pmtXr3a89NKOOKZigMRQAABBBBAAIGIFCAcichhoVNRLEA44s/BjcpwRDU4unXrZg8++KB9/PHHbsbEu+++a3feeacLNCpVquTChx9//NE6depkderUMW2lq6ZwpF27di7UULhx9OhRa9SokVWtWtXy5MnjwhEFK40bN3Zb5Gomhpq211VIMWLECCtcuLAtWrTIhSWbNm2yUqVKXfB0JBWO1KhRw5YsWeKu8+2331quXLks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AAHCkXD2AcIRn+22ZcsW27Fjh5UvX97nGWYbNmywIkWKWMmSJX2fE+3AvIQ00a6Z2+eEI/HocS4CCCCAAAIIIIAAAgikmwDhSDhbnHAkSrv9888/tmvXLtt3332TooUTFY789ddfLriJVghHognxOQIIIIAAAggggAACCCDwPwHCkXD2hrQMRzQC5K677rJRo0aZOu5JJ51kgwcPtpNPPtk+/PBDa9KkiU2ePNnuvvtu+/LLL23KlCk2c+bMPabV/P3333bHHXfYq6++aoULF7brrrvO1qxZY5s2bXLHqWSfVlO5cmXr0KGDLV++3MaMGWNly5a1e+65x/3OK926dbPx48fbzz//bIcccohdfvnl1rt3bxdkDBs2zK6++uo9etrLL79sV111lf3000/WqVMnmz59uhUqVMiaN29uTz75pB188MHueC9UufXWW61fv372ww8/uNBnn332ybXnEo6E84tNrRFAAAEEEEAAAQQQQKBgBAhHCsY93rumZThy22232dixY+2FF16wI444wh566CGbOHGiCy0UhigcqVOnjj388MN25JFHWpkyZVzQkHXNkQceeMAeffRRd43q1avb448/biNGjHDn5haObN682e6//347++yzXR0UwCxZssSOPfZY15YKLpo2bWqHHXaYLV682K6//noXwnTt2tW2b99uvXr1csHNtGnT3PGlS5e2/fff30488UQrUaKEW99Ewc3NN9/spvMo7PHCET3P6aefbgMGDHCBTu3atfcKRxQc6ccr+mJnZGRYRuc3rFDR4vH2t4Sez5ojCeXkYggggAACCCCAAAIIIJAAAcKRBCAWwCXSLhzZunWrG7GhURiXXXaZI9cUE43q6Ny5sxs94gUcF1xwQWaTZJ/OolEdXbp0cT8qGoWhIKVu3bq5hiMNGza01157zZ2jKTu6Tt++fe3GG2+M2PyDBg2y0aNH26effpoZcmRfGHbq1KnWokUL+/77712QobJ06VKrWbOmzZ8/3z2T6t+/f39bvXq1VahQIceupuNUn+yFcKQAvp3cEgEEEEAAAQQQQAABBEInQDgSuiZzFU67cEQjQ4477jg3rUSjRrzSunVrF5q0b9/ehSOa1nL44Ydnfp41HNHUGY0m0VSbRo0aZR7Tpk0b2717d67hSMeOHd2UHq+oLm3btnVTZ1Q0mkSjPzSKRYvAahRI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/vvdTjpaDFb11DNECke0/olGwGiXnLVr17qFYbVLTe/evd12xn4K4YgfJY5BAAEEEEAAAQQQQAABBAhHwtwH0iIcCXMDFXTdGRJW0C3A/RFAAAEEEEAAAQQQQCBMArxDham1/ldXwpFwtltgteaLHRg1N0IAAQQQQAABBBBAAIEUEOAdKpyNSDgSznYLrNZ8sQOj5kYIIIAAAggggAACCCCQAgK8Q4WzEQlHwtlugdWaNUcCo+ZGCCCAAAIIIIAAAgggkAIChCPhbETCkf+2W58+fdxCqVnLwQcfbGvWrHG/0s4vr7zyyh6fn3LKKTZv3rzM351xxhk2c+bMPY655JJLbNSoUZm/q1y5sv344497HNOtWzcbOHBg5u/22WefvXrTM888YzfeeKP7vbeQa/aD3nvvPWvevLn79YcffmhNmjTZ6zpa8PXYY4/13VsJR3xTcSACCCCAAAIIIIAAAgggwFa+Ie0DhCP/bTiFI2PHjnVb33qlcOHCVqFCBfdPhSPaHUZb6HpFO76UK1cu898KR6pVq2b33Xdf5u+01W7p0qUz/61w5Nprr7Xrr78+83failc/XlE4ovt4QYd+r2voWipeOKK6aoter6gu3i40XjiybNkyK1WqVOYxeh49l99COOJXiuMQQAABBBBAAAEEEEAAASMcCWknIBz5b8MpHHnrrbds0aJFEZtS4Yi2+tUxORWFI8cff7zbVjenonCkc+fO7ienonBE2++2atUq4iFeOPL555+7+0UqXjjyxx9/WJkyZfLcPQlH8kzHiQgggAACCCCAAAIIIJCGAkyrCWejE45kCUcGDRrkRmgULVrUNGWmf//+duSRR7ojFI4oGNHIDIUNjRs3tgceeMAOOuigzJZXOLJkyRL7559/TFNyWrRoYffee6+VLFky8xiFIzt27LCdO3daRkaGXXTRRXbXXXdljvjQgQpHDj/8cPvzzz+tSpUqbqRJhw4drFChQu46Xjii83XM0UcfbbfffrtdeOGFmffxwhHdT8fUqFHD7rnnnohTbbJ2XdVNP17RF1v3yej8hhUqWjypevkPA1smVX2oDAIIIIAAAggggAACCCBAOBLOPkA48t9203od27Ztc9NiNH2mX79+9s0337iwo3z58jZ69Gg3b9IucQAAIABJREFU9eWII46w77//3nr16mV///23ffbZZy5MUXn++eddmHHIIYfYV199ZT169LCjjjrKpk6dmtk7Bg8ebCeccIKVLVvW5s+f74654IIL7IUXXsg8Rvc+88wz3TSa6dOnW+/evd1xCjdU1q1bZ6+99po1aNDABSYTJ050QY3WRPn3v//tjtF0mlmzZtmJJ57owg4d/+yzz7q1SBo1apRjb4209ooOJhwJ5xecWiOAAAIIIIAAAggggECwAoQjwXon6m6EIzlIbt261apWrWpdu3a1O+64Y6+jfv31VxeUaLHVNm3aRLyKgpOTTjrJBSgKRCKVN9980434UOChECZSeeSRR9w6Jps2bcqx3Tt16uQWg/3yyy9zPOb88893o1IUpuRUGDmSqK8W10EAAQQQQAABBBBAAIF0FCAcCWerE47k0m7NmjVzIz+0U0ykouks1113nWm3mUhF02s0qkSjNrRrTaSyevVqq1ixotv1RlN5IpU5c+bY6aef7nbO0XSdSGX48OGuLtu3b8/xiTS65PXXXzftWOO3sOaIXymOQwABBBBAAAEEEEAAAQRYkDWsfYBwJIeW0wgKjRzRWh+a1pK9rF+/3q0L8txzz1n79u0jXkVTa2rXru1GdOQ0leWdd94xjejQ9r6VKlWKeJ0hQ4a4dUm0IKw3hSf7gV26dLFx48bZypUrc+yLGqGyYcMG++CDD3z3V8IR31QciAACCCCAAAIIIIAAAgiwW01I+wDhyH8bTuGCQgoFFGvXrnVrjijUWLx4sZvuorU42rZta4ceeqhbELVnz572008/uVEYWnB1xYoVptEb5557rh144IG2dOlSu/POO926IQsWLHDb53788cduhEiTJk3cwq/6vRZS1dSbCRMmuJq8/fbbboRI/fr13bkzZsxw19GCsI8//rg7RmuLFClSxOrWrevWHNE5qs+DDz7orqeiHXO0GKu2+tXirxoxMnDgQNM0npymAUXqw4QjIf1mU20EEEAAAQQQQAABBBAoEAGm1RQIe9w3JRz5L2G7du3cAqZa+6NChQp26qmn2v333+92edFUFW2rq61zNXpDAYkCDn2unVxUVq1a5RZD1WiRLVu2uN+3bNnS7VZTrlw5d8zChQvt5ptvdgu9amSK1izRfbWuSfHi/9kJZvLkyW7x1eXLl9vu3bvdbjmaLtOxY0fbd999M8MRBSEabaLQRYvIamtgbzFWHfTQQw+5US2atqOQRSGJ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bNhgBx98sClYSETZsmWL7dixw8qXL+8ul1+mkeoaazjy+++/W4kSJax48eIxPbr6SJ06daxGjRo2efLkmM7N74OTKRxR3ypSpIiVLFkyz4+dl2tccskltm7dOnvppZfsgAMOyOyLea4EJyKAAAIIIBBFgHCELoIAAgggkFICQb3IF+ToiqAbLChTPVes4UjQFkHcLxnCEYVu++23XxCPG/EeJ510krVs2dL69u1bYHXgxggggAAC6SVAOJJe7c3TIoAAAikhMHbsWPfStHz5cjdioG7dujZhwgQbNGjQXi9TmjahYf2rV6+2O+64w95//30rVKiQnX766fb444+7aRlTpkyxCy64wNasWbPH1BStQ/HFF1/YzJkzLdq0mt27d1u/fv3sueeeM41mqF69uhvR0rx58xzNVa9atWq5z7UGRuHChe2mm26y+++/P3MUiKbL3Hbbbfb222+70RyNGze2J554wo4++mh3XvZpNevXr7dbbrnFPvroIzeipGrVqtazZ0+3PovK0KFD7b777rNVq1Y5B6/861//srJly9orr7yyx5QhhUDZX1ATZRoJJns4oro+9dRTro00vSO3aTU//PCDValSxT7//HN3rIpGiOi5vDrrd0uWLLGuXbs6I03R0rFqX1lp/Rp56Rp//fWX+2zw4MFulFKk4qfvRDpPrhoV8dtvv7lRERdeeKFrV5Xsz/jTTz9Zp06dbPr06a7N1KeefPJJN1po2bJlbtrJ119/7f7TK48++qi7ntbnUd/s0KGDffDBB66PV6pUyW6++WbXr7ziBWCnnHKKu7aCEXlmnxITKbzSdC5Nu9E1IpXs19DzqT76/o4ZM8a1zz333ON+p5J9BNS9997r+uTixYtdnT/++GP3vW/btq3pOTWyhIIAAggggEC8AoQj8QpyPgIIIIBAoAK//vqre7l76KGHrHXr1m6qi15y27dv7+px7bXX2v/93/+5RTZVypUrZ3///bd7yW3YsKFbq2Lfffd1QcZnn31mX375pQslDj/8cHvggQfc+Sq7du1yv9PLuV7aooUjeoHWC5zCB4U1evHV7/Qi7gUZ2aH00qg66J4KRT799FN3L71oXn/99e5whTaaQqTrlipVyrp16+YWoV26dKmb7pA9HFEINHLkSDvrrLPc8ZMmTbLbb7/d5syZY3rxVWBy6KGH2rvvvmtnnnmmu4cCmEMOOcQFMFp/I+uoGE2xyS/TSB3He/nWc6utND1q2rRpmYbxhiPy0XQa2ffo0cMZyea0006zY445xgUIv/zyi5144omueo888oi98847rg0iTS3x+klufSf7cyrck+moUaOsZs2aLrBQCOe1edZnVHijumjqkPqF+rKCDdVFba+iURYtWrRwoZpX9Du1Zf/+/V3Io/5+3nnn2YEHHmhz5851/UzfkYsvvtidomDjzTffdN8p9THdV8FdfoUj+t6qvqqjPO6++273XVHAIw/1X4VAXbp0ceGHQiF9j7ROjMK6tWvX2nXXXWeNGjVy300KAggggAAC8QoQjsQryPkIIIAAAoEKLFy40L0s6q/aRxxxxF73jjQFREGFwhT9dd37q7SmDegv3nr51gua/iL91Vdfub/Oq2iEyfnnn+9e1PSX7WjhiIIUrX+iUQde0SKxJ598shv5EKnoxVMveXop9OqlRWYnTpzowg+9kFerVi3z5V3X0MiQjIwMN8Ljoosu2isciXQfTU/QSJaHH37YfazgQS/JL774ovu3Rrvor/M///yzC4qyTxnKL9NIdZWDRhNoJJDCoqlTp1rFihUzD403HFH7KJTQiAuFS9GKwg+1/4gRI1y4EKlE6zvZz9FoB4Vd6m+R6pD1GfX8Cj40AkTtrqK+oVBl/vz5rn8phNOixArNVL799lsX9KhfaU2VSEV9VaNWFEyoqI219opGqWSdTpNf4YiCytdee83dW0GMwjmFHjfeeKP7ncJMLcqrvqjy/PPPu9BGI54UFKko4NN3VGGWRtFQEEAAAQQQiEeAcCQePc5FAAEEEAhcQC+r55xzjnsx1H8q2NCUBL3Aei952Rdk1YugXkb333//Peq7bds2F1xo1IauV79+fffyddhhh9mVV17pRqBo5xSV3MIRHVe6dGkXVGjai1c0YkMjAjQaIVLRi+eRRx7pRpl4RaGAnufPP/90oz40dUD/XaGFVzQyRX/h10492UeOyEfTeUaPHu2mEmkqjn50/BtvvOEuof/UyAG9HBctWtTVWdNG9JKt4iccSYRpJBOFIwpDVC9t16wQJ2uJNxw599xzrUKFCi5cilQUVslVbSYfeaqfKHzQiI1IJVrfyX6O+liDBg1cKKDREaqTXvI1okkl6zNqaozaReFI1qL+rmlhGjGl0VQKTmbPnu1GVijoUsCm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\" width=\"1095\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3 [1, '', '93f549c401bebe4f86ef23626e0fed3d06183b02']\n",
"5555555 [1, '555555555555555555', '93f549c401bebe4f86ef23626e0fed3d06183b02']\n",
"name.utf8 [1, 'Connections', 'a23296ce90328791cb6974cf6f6306da4dd89735']\n",
"unique_torrent [1, 1, '2c3ea79de0771079e41fc25f4cabf23e11041829']\n",
"www.baidu.com [1, 'www.baidu.com', '43b238596c66575e7dfcd4d5b1d0fadb6c393adc']\n",
"entropy [1, 1460043970, '0635e6c7d348c2603501e9fa53e4cf07f9e31b5e']\n",
"license [1, OrderedDict([(b'creative-commons', OrderedDict([(b'attributionAuthor', b'Dave Doobie Aaron'), (b'attributionTitle', b'Doobie'), (b'attributionUrl', b'http://fb.com/doobiebrooklyn'), (b'licenseUrl', b'http://creativecommons.org/licenses/by-nc/4.0/')]))]), '1d670c41fd340c8ee280157400744402740fc1fd']\n",
"还 [1, '百度', '647e1210953d6080f714f0f8dabffe6ee9852800']\n",
"originator [1, b'0\\x82\\x03:0\\x82\\x02\"\\x02\\x01\\x010\\r\\x06\\t*\\x86H\\x86\\xf7\\r\\x01\\x01\\x05\\x05\\x000L1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02US1\\x0b0\\t\\x06\\x03U\\x04\\x08\\x13\\x02CA1\\x170\\x15\\x06\\x03U\\x04\\n\\x13\\x0eBitTorrent Inc1\\x170\\x15\\x06\\x03U\\x04\\x03\\x13\\x0ecom.bittorrent0\\x1e\\x17\\r140520235304Z\\x17\\r160509235304Z0z1\\x0b0\\t\\x06\\x03U\\x04\\x06\\x13\\x02US1\\x0b0\\t\\x06\\x03U\\x04\\x08\\x0c\\x02CA1\\x170\\x15\\x06\\x03U\\x04\\n\\x0c\\x0eBitTorrent Inc1\\x1f0\\x1d\\x06\\x03U\\x04\\x03\\x0c\\x16com.bittorrent.bundles1$0\"\\x06\\t*\\x86H\\x86\\xf7\\r\\x01\\t\\x01\\x16\\x15neteng@bittorrent.com0\\x82\\x01\"0\\r\\x06\\t*\\x86H\\x86\\xf7\\r\\x01\\x01\\x01\\x05\\x00\\x03\\x82\\x01\\x0f\\x000\\x82\\x01\\n\\x02\\x82\\x01\\x01\\x00\\xdc\\x88\\x0ePoR--\\xadlr\\xdf\\xdb*\\xf7u\\xb2\\xac\\xe2-m\\xb0y\\xc5K\\x0f\\x84\\xaf\\xedj\\xe9\\xad\\x88:\\x00\\xe8VK\\xef\\xce\\xf1\\r\\x83\\xb6\\x0c\\xb9n\\xdf\\xc2X\\xae,\\xbdOf\\xb2j*l~\\xaeO\\xc6V\\x81\\x04\\x03\\x11R\\x12\\x03t\\x02\\xda\\xc7\\x1d\\xb1\\x1b\\xe8\\xed\\x88Z\\xcc|\\xb5\\xc0IZuY\\x1b\\x9c\\x93\\xde\\xa1\\xe1\\xadFR\\xc6\\x1d\\xbd\\x80\\xf6\\xc1zV\\xa2\\x8c\\xa2\\xd90\\x06\\xe1.\\xc2\\xc3e\\x15\\xfc,5ki\\xa8\\x87i\\xbe[\\xb4`\\xc9-\\x81\\x81w\\x1d\\x811\\xb4y\\x97\\xda\\x81L\\xe6\\xces\\x9b\\xd0\\x7f\\x9e\\x93\\xffZ/\\xe2R\\x8fIP4&=ia^\\xe9\\x9c\\xbf{\\xc3\\xce\\xf3\\x9a\\x06\\x04\\xf0I\\x11\\xfb\\xc1\\xb9U8v:\\xad87\\x9a\\xeb\\xad\\x1d\\x90\\xa7\\xeb#\\xce\\x81PPXct\\x80\\'\\x8dv,Y}|\\x1b\\xb3F\\xe1\\xeb\\x85\\xd2Y\\xe7\\x9f\\x8c\\xb1y\\xa2\\xeb\\xd2\\x9aU\\x8b\\xc2\\x05\\xf3zpQ\\xf4\\xd4\\x18$\\xc1\\xc2\\xfc{1J\\x1f\\x8c\\xa7\\x0efM,\\'\\x02\\x03\\x01\\x00\\x010\\r\\x06\\t*\\x86H\\x86\\xf7\\r\\x01\\x01\\x05\\x05\\x00\\x03\\x82\\x01\\x01\\x00\\x1e}\\xb1\\x9f\\x8e\\x07L\\xaa\\xd2\\xb5\\xe0eR\\xe9\\xfb\\x18t\\xf7rJn~\\xe5%\\xc1\\x8d\\xa1\\xa5>\\xbe#Q\\xed\\x17x\\xa4B\\x83M\\x1eg\\xef\\x1dbt\\t\\xcc\\xd7\\xca\\x10\\xb2\\xad_\\x02\\x07#\\x08g7\\xae\\xf3\"\\xc9\\xd5v:#)?e\\x98\\xd4\\xe6\\xd2@u\\x7f\\xbac\\xf7\"\\xa4]\\x81k\\xca-\\xe3\\x08\\x18\\x8e$\\xf3c\\xa0\\xd4\\xd3\\xf6**\\xf4\\xe2\\xe1W|f\\xea\\xfd\\xb7\\x12E\\xa3D\\xa2+.`\\xb3V\\x04.!H\\xeb\\xcet\\x84\\x08\\xfc\\xde\\x1c\\x85\\x1e\\xdf\\x04n2?\\x03\\xdc\\xd35\\x10S9\\xd1\\x8d\\x92\\x9c)#\\xfd8\\x97\\xe5\\x87\\x0c\\xe7\\xc7\\xcf\\x8a\\x91\\xef9H\\x83\\xecaK_e9_\\xf9\\xef\\xd3q\\x03\\x05\\x13\\xb6\\'\\x8f\\xb3\\x1c\\x03[\\x99\\xa5T\\x84I\\xcc\\xdb\\xdc^\\x05S%\\x85\\x17!\\xc6\\xaa\\xa6\\xc0\\x0f\\xff%\\xcf\\xf3\\x10]\\xc0Q\\x94]\\xbfD\\xc3\\xf9\\xb5s\\xe6\\x99\\xa2\\xa3\\xf0\\xb0#\\xa9_\\xbbze\\xe1\\xc9\\xc9\\xe8I\\xdb\\xd8\\xbe\\tB\\xa6\\xecQ\\x87\\xca\\x0c\\xe2\\x8e%\\xd8\\xcc', '058b52ccb029e60a355edcfe498e8eb44812e3f1']\n",
" [2, 1, 'fa6fbc7d7796e49fbdf47731fe06a6e20ee74bb5']\n",
"abc [2, 'abc', '9c8047972d058dee41bab8ab68ad5da7c24275ed']\n",
"nnm-club_cool [4, 1, '57f6facb1bcef159b8075b578053fb4790e0c8d5']\n",
"tracker [8, '', 'e8ca2609b174df7b5c26538fb6f96d77a367da42']\n",
"x-amz-bucket [10, 'quranwave', '3af8e25c9eeca9402351820d8681fe0945c63cdb']\n",
"x-amz-key [10, 'torrent/70.zip', '3af8e25c9eeca9402351820d8681fe0945c63cdb']\n",
"attr [14, 'h', 'c9a279c4dff3b38ef806abb98515382798907654']\n",
"unique [14, 'fbvPqZTXkKQzRJzy6LXkdIp3iJoTNe', '3a84117d98683bd4a657a37932886d206486c11e']\n",
"comment [15, 'Torrent downloaded from torrent cache at http://torcache.net/', 'e92cd8e1ed1defad6d5211a42d2dbdf1e368b834']\n",
"sha256 [18, b'\\xfe\\x01\\x01\\xa4\\xf5Z\\xcd\\xa4\\xd9\\t\\x7f\\x8d\\x1c\\x9d\\x1a\\x89\\xdcV\\x9e\\x92\\xd6A\\xbf\\xf9\\x81\\x9a\\xea^\\xc8\\xcfT\\xcf', '1c565cb3249a8da64dbf7a82b3ed39e637e6e239']\n",
"creation date [55, 1400017482, '4488d559d4404875022d53c6039b0025c947ac84']\n",
"cross_seed_entry [55, '02e940fec782a353d2e767cecde08041', 'b7c0ac4a9834c8e39f543f3f721eb90fbb58e179']\n",
"md5sum [56, 'e27e7b621f0adbcf072e4f13d78c4fc8', 'ef0c6b03d16457e1134bc63c18d527221639da8e']\n",
"file tree [95, OrderedDict([(b'01 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 306045), (b'pieces root', b'\\xc6\\xaa\\xb3/\\x00\\xb3\\xe8V\\xc8\\xc2\\xa7\\xdd\\xe9\\x1b\\x8c\\xe4\\x80\\x91\\xa6\\x0e\\x9c\\xfe\\x92\\x0eck<\\xca\\x02\\x9b\\xdam')]))])), (b'02 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 11369005), (b'pieces root', b'\\xd9=I\\xd6\\x8cN\\x17tch:Si\\xb1\\x12a9h1\\xf3\\x0b\\x06\\x8f\\xe5q\\xab\\xb7\\x00\\x18O\\xe2\\xac')]))])), (b'03 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 18234404), (b'pieces root', b'3\\xb4\\xf0\\xbc\\x80\\xb5\\xa2\\x14\\xc02\\xf1\\xd4\\xc9\\x95\\xae [\\x07\\x08\\xdc\\x12j\\xcdA\\xa4{\\x9f\\xe3\\xf04g\\x83')]))])), (b'04 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8120626), (b'pieces root', b'\\xd4\\xbf$\\xadv\\xfb\\xafW\\xa01\\xcf\\xb1\\x83\\xe1\\xecW\\x90\\x01\\xcd\\xd5\\x7f\\xcc\\x02wv\\xcd\\x18\\xda\\xa3\\x00\\x1d\\xdd')]))])), (b'05 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 15192077), (b'pieces root', b'8\\xe3B\\xc5kK\\x18g9\\xaf\\x7f[\\xcf}\\x193\\x8d\\x9d\\xa3\\xdf\\x9c\\xfc\\x04\\x9a5\\x02\\xdf\\xf1\\xc3\\xbd\\xc9\\x02')]))])), (b'06 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 19926721), (b'pieces root', b'\\xb3\\xd90a!a\\x01\\x1aYr\\xf2\\x11\\xb4\\xd5\\xcc\\xe9\\xdb4G\\x8fX9ja\\xf2\\xf8\\x0c\\xb9\\xdbq\\xcdF')]))])), (b'07 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9389134), (b'pieces root', b'k|\\x0e\\xaf\\n\\xc3&,Z\"\\x95\\xe2\\xa0(\\x83\\xa8\\x91\\x8a\\xdc\\xb3\\xf5\\xebi\\xfbR\\x9b\\xfc\\xe6G.\\xbaC')]))])), (b'08 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 11024608), (b'pieces root', b\"\\xc3,\\xd6/\\xf9F;!'5\\xdbl2\\x94\\xaf\\xf6\\n\\x86\\xc0\\x1b\\x08\\xe5\\t\\x97\\xa7\\x8b\\x04\\xb8\\x82\\xb2\\x87<\")]))])), (b'09 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 18047158), (b'pieces root', b'\\xe1&\\x0f\\x08\\xe4\\xa5|E\\x1e\\x11\\x9a\\xfe\\x9d\\xe5u\\x19\\x86S\\x0b\\x055\\x83\\xfe\\xf0.\\xfd\\xb1\\xf4\\x00\\xaf:\\xd4')]))])), (b'10 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 12329479), (b'pieces root', b'V\\xbf\\x88\\x17\\xb7\\xe3\\xa73\\xfaF-@ut.;\\xf2\\xb0R\\xe7\\xd4J*\\xa6\\xbe\\xa51*\\x8b^\\xc1\\xbd')]))])), (b'11 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8220520), (b'pieces root', b'\\xd8\\x92bdA]r3&\\x83\\xa1J0\\xc2\\x01,\\x93\\xf6\\xd7\\x1d\\xf5;\\x12\\xfd\\xd5[\\xc9\\x86\\x98\\xa1\\x93\\xc9')]))])), (b'12 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 14647898), (b'pieces root', b\"\\x037\\xe1\\x17\\x02\\xb5\\xe89\\xd1RO\\x94\\t\\x98\\xb7\\x19:\\xbeF\\x13\\x9f\\x88\\xbc\\xbfC\\xdaE\\x82'iD\\xd2\")]))])), (b'13 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9183082), (b'pieces root', b'\\x1c\\x88\\x18\\x03\\x0e2\\x94\\\\Y\\xb4\\xcb\\x87\\xea\\x9a\\xe9\\xfcj\\xb3z\\xa0\\x1f\"P\\x06*\\xee\\xfa/6\\xb4\\x1eO')]))])), (b'14 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8584563), (b'pieces root', b\"\\x11\\x88\\xb1\\x80\\xb1\\x9a\\x06t'\\x80\\x15p\\xfa\\x17\\xcf\\xdej\\x93\\x82}%$\\xd49\\xf1\\x7f\\xb1\\x14\\xb1}\\xde\\xe5\")]))])), (b'15 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8667736), (b'pieces root', b'\\xfb\\x1a\\x130JY\\xc7\\x86\\x07\\x89\\xa8\\xaa\\xc2\\x97\\x0e6(\\xe0\"\\xe7)\\xa0z\\xbb\\x98\\xf2S\\x82\\xd4\\xe1e2')]))])), (b'16 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8380183), (b'pieces root', b'*\\xe4\\x92\\xc4\\xca.\\xd8\\xc7s\\xa0\\xe7\\x16\\x0f\\xec\\xb5\\xd4\\xc9\\xf8\\x8e,\\x1d\\xc9\\x97\\xad$\\x9d\\xa7\\\\\\x82\\x18\\x80O')]))])), (b'17 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 10952719), (b'pieces root', b'\\xc3s\\x18\\xd5\\xc97\\x19T\\x14[\\xe6\\x98\\x93\\x9b>\\xcb\\x82\\x92\\xa9rgl\\xc2\\xe5ny\\x92\\x0b&]\\xa2\\xcb')]))])), (b'18 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 18408693), (b'pieces root', b'\\xdf\\xe7<\\x94\\x97\\xa5\\x06\\t!\\xc9\\x00I\\\\\\xd9Q\\xffu.u\\xdd\\xae\\xdd\\xe4t\\x04V\\xe9\\xcb\\x84\\xd4\\x0e\\x02')]))])), (b'19 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 17103827), (b'pieces root', b'-\\xda/\\x9e\\xee\\xe50\\xbb\\x8cv\\xdc\\xf99\\xfco;rw\\x9e&\\x13\\xa3\\xd0\\x15\\xd6]\\xbc\\xe6P\\xbd\\xe5\\x95')]))])), (b'20 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9902808), (b'pieces root', b'J\\xb3\\x7f\\xd1lq\\x8f!\\xce\\xfa\\x9b\\x03\\xb7*\\xbaT\\xfd^\\x83\\xb5\\xd1\\xe1x\\n|I?&\\x7f3\\xf6s')]))])), (b'21 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 16769039), (b'pieces root', b'\"\\xdf\\xf8\\x99&\\xd8\\x81\\xe6HO\\xe2\\xb8L\\xfe\\\\pum\\xca<\\x17\\xd6\\x93\\x9a$\\x989v\\xf3($\\xc4')]))])), (b'22 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 15115177), (b'pieces root', b'n\\xb3+H\\xe9\\xe8b[\\xe7\\xa5\\x18\\x82\\xb1\\x9d49\\xb2 \\x80\\xcb@\\x11\\x9e\\xd0\\xe0\\x10\\x1dx\\x04ki\\xa2')]))])), (b'23 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 11751439), (b'pieces root', b'\\xb8\\x96r\\x8b\\x99\\x08Lc\\xeaa\\n\\xf9m \\xd8\\xd1i\\xc9\\xeb\\xe5=\\xcc\\xbd\\x95\\x86\\x1b~\\x00U\\xa7\\xfe\\xaf')]))])), (b'24 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 10140209), (b'pieces root', b'\\x91\\xdf\\xd9\"\\x9aE1[\\xc4\\xe3;\\xb3\\x13\\x85\\xa0\\xca \\xab\\xf9\\xd6\\xfdG\\xa9\\xeb\\xd4\\xf6Z\\xb5\\xdf\\xad\\x16:')]))])), (b'25 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9116207), (b'pieces root', b'\\x9c~\\x9c\\x08\\\\f*\\xf85\\xac\\xc8Yh\\xc6\\xdeZ\\xe4\\x85\\xf5l\\x82lc\\xa2\\t\\xdfG\\xc2Isv\\xed')]))])), (b'26 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 16717632), (b'pieces root', b'\\xb7\"1vkY\\xbe\\xcd\\xc6\\xb4Ip\\xb8\\xb1}\\x9e\\x12\\xd9\\x06\\x1d\\xa3b\\x01#\\xbf\\xe3\\xcd\\xea\\xa8\\xb2\\xfc\\xd3')]))])), (b'27 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 12950148), (b'pieces root', b'\\xe3\\x93P\\x959h\\xc1\\xfb\\xa6\\xfe\\xb3\\t\\xc9\\xf96\\xe4\\x93-s\\xd7\\x9cm\\xf6\\x15\\xc4Z\\xddZ4\\xb9\\x97\\\\')]))])), (b'28 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 15921002), (b'pieces root', b'v\\xceh\\x0e\\x9b;\\n\\xb1\\xb0\\xf4\\xf2/7\\xee\\xab\\x9c\\x1boz\\x99y\\xb4\\x1f\\xd0h\\xac\\xdf_ \\xc9\\xc7\\xd1')]))])), (b'29 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9768641), (b'pieces root', b'\\xc9s}\\xae\\x99S\\xb8\\x83<\\xc6\\xb1\\xd8\\xf7\\xffR\\xa6\\xcbT|\\xeb\\xee\\xdeG\\xfeX*\\xe2\\xc1\\x12\\x90\\xbd\\xd8')]))])), (b'30 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 6324241), (b'pieces root', b'\\x02\\tB\\xed\\x80\\xf9T(\\xd9~\\xed\\xd3(\\xd9\\x90\\xc5\\xac\\xd6\\xc0\\xb0#\\x89O\\x1d\\xcc\\xe2i\\xaa\\xf2\\xa1=|')]))])), (b'31 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 15366368), (b'pieces root', b'm\\xc2\\x90\\x94\\x90\\xf4\\x01\\xef\\xdf\\x82\\xa6\\xc8\\xfe\\xee\\xc7\\x06*1\\xa6\\xc2\\xe1\\x8e9\\xf7\\x10\\xaa\\xf6Ra\\xc6\\x1e\\x06')]))])), (b'32 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 14097446), (b'pieces root', b\"\\xbf\\xe8\\x14\\x15\\x13\\xb1xT\\xef\\x19\\xe5Dmh\\xd48<\\x93$\\xca\\xc9\\x92\\xedX\\x01\\xb4\\xda\\xf1\\xf0\\xd7\\xdc'\")]))])), (b'33 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 8691562), (b'pieces root', b'H\\x12\\x831\\x18MfTp\\xe1!\\xb6\\xaf)3\\xb5\\xfa\\xad\\xaf\\xd6\\xd1\\x94X\\x8a\\xea\\x17\\xc2\\xbb\\xa8\\xda\\xf6\\x16')]))])), (b'34 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 18585492), (b'pieces root', b'\\xd6x\\xafd\\xfc\\xdd\\x9c,\\x95\\xdd>\\xbaE\\x03\\x11\\xbf\\xdb\\x80\\x9a\\x8b?\\x91\\xdf\\xe2o\\xa1\\x7f k3\\xf9}')]))])), (b'35 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 14333175), (b'pieces root', b'\\xe1\\x04\\xa9\\x8ah\\xa6W2\\xd5\\xb7\\xf7\\x11*\\xd0\\x82\\r\\x1b\\x11\\xafq\\\\\\x86C(\\xfa\\x99\\xb3\\xdc]\\xee\\x04\\xf0')]))])), (b'36 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 16783668), (b'pieces root', b'\\x9a\\r\\x10j\\x87Z.g\\x95I+D\\xcd,w\\x83\\xd1F\\x16\\xa7\\xd0\\\\`7\\xfbZ:3\\xa1\\x19%t')]))])), (b'37 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 19032708), (b'pieces root', b'\\x07\\xf9\\xb6\\x9cW\\xbb \\\\0\\xf6B=\\xf74\\xf9\\x1cO\\x0b\\xe6\\x93_\\xe0\\xb1O\\xf2\\x82yL\\xc8\\xdc{\\x8e')]))])), (b'38 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 14793348), (b'pieces root', b'-m\\x9b\\xa0\\x02W,!\\xe2\"Bjb\\xcc\\xe0\\x104\\xb5\\xfen\\xb8\\xed\\xfe\\xda\\xe0\\x1fZr\\x89\\xf5$\\xf6')]))])), (b'39 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 9859340), (b'pieces root', b\"G\\xedO\\x8c\\x80\\xd6\\xf3\\xa1CGP\\x13\\x03\\xc7\\x9fI\\xd7Y\\n\\xf1v\\xd8'\\xb3$9:/a\\tg\\xfa\")]))])), (b'40 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 21681312), (b'pieces root', b' W\\xcd\\xcc\\xb9<\\x11\\xbc\\x0e\\x9e\\xfcm\\x04;\\x98^\\xd8\\xb0QvA\\x1c\\x81&\\xb8\\x16\\xb0+\\x1enB\\xfd')]))])), (b'41 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 13917724), (b'pieces root', b'm\\x7f}\\xbb#\\xb9\\xaf7\\x95\\x94\\x88Y\\xfe<\\x15\\x8a\\x1c\\xa1\\xdd9\\x93nK\\x8b/\\xcchX\\x1d\\xce\\x16\\x95')]))])), (b'42 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 14964290), (b'pieces root', b'Kk]\\xbe\\xef9\\x12\\xe4\\xd4u\\xafaN\\xde\\xfbD\\x80E\\x1a#|o\\xe3\\xb4\\xdd/dvB\\xbd\\xd7u')]))])), (b'43 - King of Alchemy - Simon Archer.mp3', OrderedDict([(b'', OrderedDict([(b'length', 421404), (b'pieces root', b'XE\\xb8\\x05Ih\\x80\\xd2L$j\\xe8\\x88h\\xcd\\x1d\\xafhs\\xa8\\xdd\\xfc\\x08\\xba\\x19\\xb6\\xd4\\xc4I@`\\x92')]))])), (b'Simon Archer - King of Alchemy.m3u', OrderedDict([(b'', OrderedDict([(b'length', 6855), (b'pieces root', b'\\x8e\\x90\\x18t\\x8e\\xe8\\x8f\\x11\\x01EY\\x86\\xac\\xb8\\xa5\\x9d\\xce\\xf0\\xe6\\xf0\\x01k\\xf0\\xcfu]YN\\xf5bv\\x9e')]))]))]), '44b84847f7d829225c788e161017e484526e5259']\n",
"sha1 [109, b'\\xbe^\\xdc\\xd8\\x99\\x98\\xf0\\xe8_\\x8d\\xcbZ\\xc7\\xd21\\t`\\xec\\x9c\\xee', 'b4bf549d9d48bce1c1e026ff451ee76069b98c00']\n",
"collections [119, [b'org.archive.relaxingsounds'], 'ed7d4e9657cbfcde6baf89ace313ae77a1cefe91']\n",
"meta version [298, 2, '18d35502fca02a30811e4e001809ddd4147167e6']\n",
"filehash [314, b'\\xc9m.\\x93\\xbd\\x18fj:\\xb3${\\x9ak\\x9e\\xdbUI\\xf2\\xb5', '44af4eb9d35b94218b6fe5eb25a30b8e22fa5844']\n",
"ed2k [399, b',\\xf0O\\x9e\\x829\\x8e\\x1b{\\xf58\\xea\\x94\\n\\xe8\\x92', '44af4eb9d35b94218b6fe5eb25a30b8e22fa5844']\n",
"source [908, 'BT世界网 https://www.btsj6.com/', '417ef639eb95fbf68175a6a6b03076f9ee5f5744']\n",
"file-duration [1283, [0, 0, 39097], '449a9054916600bc0a395a47c4a2421aa06ad04a']\n",
"file-media [1283, [-1, -1, 0], '449a9054916600bc0a395a47c4a2421aa06ad04a']\n",
"profiles [1283, [OrderedDict([(b'acodec', b'aac'), (b'height', 0), (b'vcodec', b''), (b'width', 0)])], '449a9054916600bc0a395a47c4a2421aa06ad04a']\n",
"publisher-url.utf-8 [1766, 'http://my155.cc', '4488cffb9ad5afc1174bc96754e9887158ce03eb']\n",
"publisher.utf-8 [1830, '小隻馬', '4488cffb9ad5afc1174bc96754e9887158ce03eb']\n",
"publisher-url [2602, 'http://my155.cc', '4488cffb9ad5afc1174bc96754e9887158ce03eb']\n",
"publisher [2746, '小隻馬', '4488cffb9ad5afc1174bc96754e9887158ce03eb']\n",
"name.utf-8 [3724, '60 Assorted Magazines Collection PDF September 4 2022 Set 3', '449a9e0e7375b6b6b7f55bdd6214f034a2edd4b8']\n",
"private [5625, 0, '449f65629260c258a999e6474f22ae00e83ee47a']\n",
"length [15890, 5209971966, '449a38ef7e042bd2d75e8921aa02f6f244165d9d']\n",
"name [47843, 'Big Buck Bunny', 'dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c']\n",
"piece length [47843, 262144, 'dd8255ecdc7ca55fb0bbf81323d87062db1f6d1c']\n"
]
}
],
"source": [
"s = monotonic()\n",
"keys = {}\n",
"for sha1, torrent in torrents.items():\n",
" for key in torrent.dict.get(b'info').keys():\n",
" if key.decode() not in keys.keys():\n",
" value = torrent.dict.get(b'info').get(key)\n",
" if type(value) is bytes:\n",
" try:\n",
" value = value.decode()\n",
" except UnicodeDecodeError:\n",
" pass\n",
" keys[key.decode()] = [1, value, sha1.hex()]\n",
" else:\n",
" keys[key.decode()][0] += 1\n",
"sort = sorted(keys, key=lambda x: keys[x][0])\n",
"print(monotonic()-s, \"s\", len(keys))\n",
"%matplotlib notebook\n",
"fig, ax = pyplot.subplots();\n",
"ax.barh(sort, [keys[x][0] for x in sort])\n",
"pyplot.xscale(\"log\")\n",
"pyplot.xlabel(\"število pojavitev ključa v slovarju info\")\n",
"fig.show() ## TODO komentiraj\n",
"for i in sort:\n",
" print(i, keys[i])"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "fea0f2b6",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.11555601400323212 s 92.3207156741843 brez ključa source, publisher, publisher-url ali comment 853 virov\n"
]
},
{
"data": {
"text/html": [
"<table>\n",
"<tbody>\n",
"<tr><td>PMEDIA </td><td style=\"text-align: right;\">163</td></tr>\n",
"<tr><td>http://tapochek.net/index.php </td><td style=\"text-align: right;\">130</td></tr>\n",
"<tr><td>高清下载吧! </td><td style=\"text-align: right;\">122</td></tr>\n",
"<tr><td>https://FreeCourseWeb.com </td><td style=\"text-align: right;\">122</td></tr>\n",
"<tr><td>灣搭拉咩拉 </td><td style=\"text-align: right;\"> 93</td></tr>\n",
"<tr><td>脫拉庫 </td><td style=\"text-align: right;\"> 88</td></tr>\n",
"<tr><td>第一會所新片@SIS001 </td><td style=\"text-align: right;\"> 82</td></tr>\n",
"<tr><td>大师兄福利网 </td><td style=\"text-align: right;\"> 79</td></tr>\n",
"<tr><td>2048 </td><td style=\"text-align: right;\"> 77</td></tr>\n",
"<tr><td>1024社區最新地址 </td><td style=\"text-align: right;\"> 75</td></tr>\n",
"<tr><td> </td><td style=\"text-align: right;\"> 74</td></tr>\n",
"<tr><td>LostFilm.TV </td><td style=\"text-align: right;\"> 64</td></tr>\n",
"<tr><td>[https://tanhuazu.com] 探花族社区 </td><td style=\"text-align: right;\"> 47</td></tr>\n",
"<tr><td>2048核基地 </td><td style=\"text-align: right;\"> 46</td></tr>\n",
"<tr><td>https://hjd.tw </td><td style=\"text-align: right;\"> 44</td></tr>\n",
"<tr><td>1024核工厂 </td><td style=\"text-align: right;\"> 43</td></tr>\n",
"<tr><td>RV原创 </td><td style=\"text-align: right;\"> 42</td></tr>\n",
"<tr><td>1024社區 </td><td style=\"text-align: right;\"> 41</td></tr>\n",
"<tr><td>小贾_KTXP </td><td style=\"text-align: right;\"> 39</td></tr>\n",
"<tr><td>國產精品 </td><td style=\"text-align: right;\"> 37</td></tr>\n",
"<tr><td>麻豆之神 </td><td style=\"text-align: right;\"> 36</td></tr>\n",
"<tr><td>吃雞大神 </td><td style=\"text-align: right;\"> 34</td></tr>\n",
"<tr><td>b48t.com </td><td style=\"text-align: right;\"> 34</td></tr>\n",
"<tr><td>https://crackshash.com/ </td><td style=\"text-align: right;\"> 33</td></tr>\n",
"<tr><td>老含及 </td><td style=\"text-align: right;\"> 33</td></tr>\n",
"<tr><td>欧宝 </td><td style=\"text-align: right;\"> 31</td></tr>\n",
"<tr><td>https://rh2048.com </td><td style=\"text-align: right;\"> 30</td></tr>\n",
"<tr><td>小隻馬 </td><td style=\"text-align: right;\"> 27</td></tr>\n",
"<tr><td>1024 </td><td style=\"text-align: right;\"> 27</td></tr>\n",
"<tr><td>AV大平台 </td><td style=\"text-align: right;\"> 27</td></tr>\n",
"<tr><td>@蜂鳥论坛@ </td><td style=\"text-align: right;\"> 26</td></tr>\n",
"<tr><td>Weagogo </td><td style=\"text-align: right;\"> 25</td></tr>\n",
"<tr><td>第一會所新片 </td><td style=\"text-align: right;\"> 25</td></tr>\n",
"<tr><td>JAV Torrent 掲示板 </td><td style=\"text-align: right;\"> 25</td></tr>\n",
"<tr><td>发发发 </td><td style=\"text-align: right;\"> 22</td></tr>\n",
"<tr><td>刷刷刷 </td><td style=\"text-align: right;\"> 21</td></tr>\n",
"<tr><td>https://1tors.ru/ </td><td style=\"text-align: right;\"> 21</td></tr>\n",
"<tr><td>1024工厂 </td><td style=\"text-align: right;\"> 20</td></tr>\n",
"<tr><td>hjd.tw </td><td style=\"text-align: right;\"> 20</td></tr>\n",
"<tr><td>不予 </td><td style=\"text-align: right;\"> 19</td></tr>\n",
"<tr><td>小樱 </td><td style=\"text-align: right;\"> 17</td></tr>\n",
"<tr><td>(美女裸聊直播 uur68.com) </td><td style=\"text-align: right;\"> 17</td></tr>\n",
"<tr><td>xue0117 </td><td style=\"text-align: right;\"> 17</td></tr>\n",
"<tr><td>美女裸聊直播 </td><td style=\"text-align: right;\"> 15</td></tr>\n",
"<tr><td>xp1024 </td><td style=\"text-align: right;\"> 15</td></tr>\n",
"<tr><td>老司机论坛 </td><td style=\"text-align: right;\"> 15</td></tr>\n",
"<tr><td>b'\\xcf\\xeb\\xb7\\xa2\\xc8\\xb4\\xb2\\xbb\\xbb\\xe1' </td><td style=\"text-align: right;\"> 15</td></tr>\n",
"<tr><td>olo </td><td style=\"text-align: right;\"> 14</td></tr>\n",
"<tr><td>nyaa001 </td><td style=\"text-align: right;\"> 13</td></tr>\n",
"<tr><td>b'dioguitar23(\\xb2\\xc4\\xa4\\xbb\\xa4\\xd1\\xc5]\\xa4\\xfd)\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 13</td></tr>\n",
"<tr><td>https://discord.gg/vbJ7RTn </td><td style=\"text-align: right;\"> 13</td></tr>\n",
"<tr><td>PiRaX @ TamilBlasters.Net </td><td style=\"text-align: right;\"> 13</td></tr>\n",
"<tr><td>愛在黑夜001 </td><td style=\"text-align: right;\"> 13</td></tr>\n",
"<tr><td>b'\\xb3\\xcc\\xb7sAV \\xa4\\xd1\\xaa\\xc5\\xbd\\xd7\\xbe\\xc2 IP' </td><td style=\"text-align: right;\"> 12</td></tr>\n",
"<tr><td>Zamunda.NET </td><td style=\"text-align: right;\"> 12</td></tr>\n",
"<tr><td>[animelayer.ru] Animelayer </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>發片小王子@18p2p </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>https://infocon.org/ </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>约战竞技场 </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>orion </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>規懶趴會 </td><td style=\"text-align: right;\"> 11</td></tr>\n",
"<tr><td>BT世界网 https://www.btsj6.com/ </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>threesixtyp </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>U6A6磁力搜索---U6A6.COM </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>cangkong </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@dioguitar23.net </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>0 </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>BBVC </td><td style=\"text-align: right;\"> 10</td></tr>\n",
"<tr><td>dio88.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 9</td></tr>\n",
"<tr><td>1024核工厂/ </td><td style=\"text-align: right;\"> 9</td></tr>\n",
"<tr><td>百撸社区 </td><td style=\"text-align: right;\"> 9</td></tr>\n",
"<tr><td>Zelka.ORG </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>b'\\xc1\\xf9\\xd4\\xc2\\xc1\\xaa\\xc3\\xcb' </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>百撸社区|高清资源 </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>dioguitar23.co(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>x </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>buxxa </td><td style=\"text-align: right;\"> 8</td></tr>\n",
"<tr><td>[tp.m-team.cc] M-Team - TP </td><td style=\"text-align: right;\"> 7</td></tr>\n",
"<tr><td>PMEDIA NETWORK </td><td style=\"text-align: right;\"> 7</td></tr>\n",
"<tr><td>6969bt.com </td><td style=\"text-align: right;\"> 7</td></tr>\n",
"<tr><td>www.dio8899.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 7</td></tr>\n",
"<tr><td>BT-btt.com </td><td style=\"text-align: right;\"> 7</td></tr>\n",
"<tr><td>Mp4Ba </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>性吧RV原创 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>K8bet </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>Burnbit </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>94i88影城-点击跳转 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>hotaru </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>b'\\xb7\\xf6\\xba~\\xad\\xd1\\xbc\\xd6\\xb3\\xa1 dioguitar23 \\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>00armand00 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>么么哒 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>https://www.javhdbbs.com </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>XP1024 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>[https://majomparade.eu] </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>鱼香肉丝 </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>Hotaru </td><td style=\"text-align: right;\"> 6</td></tr>\n",
"<tr><td>atrrea </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>rutracker.org </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>olo@SIS001 </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>广东雨神 </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>b'\\xab\\xb0\\xa5\\xab\\xad\\xb7\\xb1\\xa1~\\xc5]\\xa7\\xd9\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>YURASUKA </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>♥im520♥ </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>arsenal-fan </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>[http://x-torrents.org] X-Torrents.org </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>arsenal-fan@avsp2p.com </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>1stDragon </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@mw6.me </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>成年人的小游戏 </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>99BT工厂 @ 5120911 </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>HiHBT 精品薈萃 </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>https://www.1024btgc.com </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>hhd800.com </td><td style=\"text-align: right;\"> 5</td></tr>\n",
"<tr><td>杏吧论坛 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>zgome@18p2p </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>顶冠文化 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>XIU </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>b'\\x9e\\xb3\\xb4\\xee\\xc0\\xad\\xdf\\xe3\\xc0\\xad@kb978.com' </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>https://downloadcursos.top/ </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>youiv </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>yoy123 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>上善若水@www.sexinsex.net </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>RZK </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>Torrent downloaded from torrent cache at http://torcache.net/ </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>魔王之家 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>rxrj </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>杏吧 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>dio66.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>更多精彩!尽在99BT工厂@5120911 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>xueru10405 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>1030社區---1030.ws </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>www.crackshash.com </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>nyaa.si </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>M88(明陞) </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>www.dio7777.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>GF@1024核工廠 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>Western/HD-Jiggly </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>【RV原创】【sex8.cc】 </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>kenelm </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>https://DesignOptimal.com </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>>亞捷視圖< </td><td style=\"text-align: right;\"> 4</td></tr>\n",
"<tr><td>m6688.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>1314 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>oldman原創DVD@18p2p.com </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>sogood@18p2p </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>? nike ? </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>https://toonshub.xyz </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>黑色点击 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>https://www.torrentdosfilmes.tv/ </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>1024社区 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王) </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>嗨咻阁 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>枫雪动漫 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>【神秘巨星CI】 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@bbs.hotavxxx.com </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>GIF出处系列 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>https://www.terralibera.net/ </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>dioguitar23@dio66.net </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@hotavxxx.com </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>chikan </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>神秘巨星CI </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>萌你一脸@第一会所 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>罗马教皇@草榴社区 luckjam@sexinsex.net </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>uid-346380 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>Download from Sajber.org/blog </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>美女裸聊约炮 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>@微信订阅号专注稀有汁源 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>susun=eastv </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>bbvc </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>草榴社区 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>rh2048.com/ </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>www.javhdbbs.com </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>2048核基地!! </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>衣选集团 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>b'\\xc1\\xf9\\xd4\\xc2\\xcc\\xec\\xbf\\xd5' </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>Gfker@1024核工廠 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>b'99\\xa5\\xfd\\xa5\\xcd' </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>18p2p by_UID 1380364 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>漫之学园 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>https://bbs2048.org/ </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>9200 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>安西教练 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>MingYSub </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>尘封追忆+色十八 </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>Downloaded from CracksHash.com </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>https://rutor.org </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>jav20s8.com/ </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>[http://baibako.tv] BaibaKo.TV </td><td style=\"text-align: right;\"> 3</td></tr>\n",
"<tr><td>MN Nambiar @ TamilBlasters.Net </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>老司机 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>dioguitar23.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>https://media.defcon.org/ </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>https://sexasia.net/feed </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>http://www.acgyinghua.com/ </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xab\\xb0\\xa5\\xab\\xad\\xb7\\xb1\\xa1 dioguitar23 \\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>Lucian2009@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>www.dio889.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>TYBBX2 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>roger92402094 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>https://downloadcursos.top </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>lxdng1218 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>飘嫖 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>红馆-红人馆-网络红人之家 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>CHANNEL NEO </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>ccc32.com </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@dio999.com </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>注册就送39元,联系:330545486 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xb7\\xf6\\xba~\\xad\\xd1\\xbc\\xd6\\xb3\\xa1@\\xb4A\\xab\\xbd\\xa8\\xe0' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>ITELLYOU </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>Aidoru-Online </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>联系TG:yyllzy,fulihuoqu </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>MP4BA电影网 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>強片皇帝999 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>sogclub No.2 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>D2mp4 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>【U6A6.COM】_全网磁力最快更新 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>mmklp@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>ssss1111@18p2p </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>感冒清@sis001 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>afnami@64.78.163.55 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>1024核工厂最新地址 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>11.55 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>西門吹水 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>goldpuzjying </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>uid=1591117 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>[http://rudub.tv] RuDub.TV </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>https://to-url.com/torrent-igruha </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>蜂鸟色区 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xb3\\xc7\\xca\\xd0\\xefL\\xc7\\xe9~\\xc4\\xa7\\xbd\\xe4\\xd4\\xad\\x84\\x93' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>百撸社区|高清影片 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>[http://energy-torrent.com] Energy-Torrent </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>SoushkinBoudera </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>[http://bko.baibako.tv] BaibaKo.TV </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>冷月无声 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>奥利给 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xab\\xb0\\xa5\\xab\\xad\\xb7\\xb1\\xa1~\\xa4p\\xb9t\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'tanw\\xa9\\xceyk3325@www.sogclub.com' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>3Li </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'giogio99\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>buxxa=bbvc </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>BradPitt </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>pin0314(1470)@www.mycould.com </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xa4\\xc6\\xb0\\xa9\\xc0s@mimip2p' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>遁去的壹 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>弄死你娃L@2018x.win </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>downloadcursos.top </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>KTXP_秋沫 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>Domaha.tv </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>水母飄 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>月岚星辰520@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>xinnian </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>kaniuniu </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>dio889.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>清雨 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>www.loliba.info </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>crazylazy </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>感冒清@sis001.com </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>淘宝天猫优惠券秒杀 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>会飞的象@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>mule_by_SpeedPluss.ORG </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>bigwai </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>深深可许@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>BT伙计 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>最新地址 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>judexkwok(SIS) </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>ntlv0@hotmail.com </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>sex8.cc </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>b'\\xb7\\xf6\\xba~\\xad\\xd1\\xbc\\xd6\\xb3\\xa1~\\xaf\\xab\\xad\\xb7\\xa4p\\xa4l\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>Betway(必威) </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>天空树蜡香 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>更多精彩!尽在99BT工厂 </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>suchuanxia^@^18p2p </td><td style=\"text-align: right;\"> 2</td></tr>\n",
"<tr><td>gnhyc11@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>fyoulapk@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>塔卡小爹賽 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HD一条街论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dioguitar23原創 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb3\\xce\\xbf\\xd5\\xd1\\xa7\\xd4\\xb0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cnmzlwb </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zb77@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.asmr.one/work/RJ374870 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[uid-1591117] </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>奈特羅德 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://mega.nz/#F!DK4lCSwB!QdwaMCT3SpOxISAgnuX7nQ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>小葫芦@www.sis001.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>柏林没有梦 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ls611 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>qqtnt007 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>3E523E31D247_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 626225292 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://elamigosedition.com/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>guroemon </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lyf634041775 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>1234567890 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://bitnova.info/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>asfile@SIS001 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xbd\\xad\\xc4\\xcf\\xb7\\xe7\\xd3\\xea' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mikocon @ bbs.2djgame.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://mm.aayun.cc </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>aqcd123 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>维尼 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>iii </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>pornolab </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>极影字幕 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc9\\xab\\xd6\\xd0\\xc9\\xab@ypzhq\\xd4\\xad\\xb4\\xb4' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>roger92402094(SIS) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>erest </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Baslilon=Baslilon23 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sigma </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>寂寞如漫天雪花 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>C:\\Users\\pongphon\\OneDrive\\Desktop\\New folder (2)\\FC2PPV 1218169 [Odorless video] [Leaked] JULIA High image quality BEB-016 JULIA Sweaty Backroom .ts </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 2131292835 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>不予@暗香阁 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sogclub No.2 BY sogclub </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>uid-1591117 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xba\\xda\\xc2\\xfb\\xb0\\xc5' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>微信一夜ONS协会 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'KUHO\\xd2\\xd5\\xca\\xf5\\xc1\\xaa\\xc3\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb6\\xc0\\xa5i\\xa8\\xe0_by_FDZone.org' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>中文字幕無水印 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://www.wozai020.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sop168 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'SP\\xa7\\xe4\\xbc\\xd6\\xa4l@\\xaa\\xe1\\xa9M\\xa9|' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>tiantianlu186@公仔箱論壇 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>luckyjune </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>SK`|yEsMan<sk·> </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'@aaming2002@\\xa3\\xa2\\xb3\\xd5\\xba\\xba\\xa3\\xa2\\xc9\\xab\\xd6\\xd0\\xc9\\xab\\xa3\\xa2\\xc3\\xce\\xb9\\xab\\xd4\\xb0\\xa3\\xa2MimiP2P\\xa3\\xa2\\xa3\\xc4.\\xa3\\xc3P2P\\xa3\\xa2WaiKeungSite\\xa3\\xa2p2pZONE\\xa3\\xa2Mr.P2P\\xa3\\xa2' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hkkane@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.4hu.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xaeL\\xaa\\xef\\xacK@99p2p' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>夜蒅星宸@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>【更多资源用加手机QQ-17182252050】 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jjjhn2003@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>XIEYUXIA </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'@\\xc0\\xcb\\xb7\\xad\\xd4\\xc6@' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yjs521 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hhbb_zcm </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>twsb.co </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.musicastorrent.com/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>pandafood#panda1314#gg5123 獨家首發 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>探花族 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zhoudehua200 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>AV大平台 - 发布页 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'tanw\\xa9\\xceyk3325' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Rivera@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd7\\xcf\\xc3\\xb5\\xb9\\xe5' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[kp.m-team.cc] M-Team - TP </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.spankhash.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>UID 235465@www.mimip2p.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>草榴社区@MianSheng </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Странник </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hgr168168 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>BJ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mecaca </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>昆仑虚之巅@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[欧美美@草榴社区] </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>没线的风筝 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>尼尼撸-综合网站 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>100%真人激情裸聊 www.78xo.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jettej </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Daddy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>diamond </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>中文片库 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://worldmkv.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'yatsingkoon@\\xa1\\xb9\\xb6q\\xb3c\\xa4\\xc0\\xa8\\xc9\\xbd\\xd7\\xbe\\xc2\\xa1\\xb9' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>入微 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://discord.com/invite/wweVHZd6qg </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>602@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>3484988vikci@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>evilzy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>化骨龍 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.kobo.com/ebook/an-archdemon-s-dilemma-how-to-love-your-elf-bride-volume-13 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cqkd_czy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>不辣de皮特 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kaito </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>u3c3.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>☆影视帝国论坛☆ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>aaa23 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hevcbay.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>gn7650104 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>老舅电影 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>捕鼠人 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.gamestorrents.nu/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>公主殿下@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb8\\xb4\\xbb\\xee126' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>微信公众号:卡其影视分享 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>百虎动画 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>425307@癡漢俱樂部 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>avp2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>GIFchuchushipin </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>EndlesSea </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Tanhuazu-探花族 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>推特搞啥呢 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>@K8bet.io@ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Misfits </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>黑暗虫洞 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>magazinesbb.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc9\\xab\\xd6\\xd0\\xc9\\xab\\xd5\\x93\\x89\\xaf@www.SIS.xxx' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>草榴社区@z10271 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>冰封爱河 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'[http://www.uniongang.net] \\xd4\\xe8\\xeb\\xfc\\xec\\xfb \\xee\\xf2 ELEKTRI4KA | \\xdd\\xcb\\xc5\\xca\\xd2\\xd0\\xc8\\xd7\\xca\\xc0 \\xed\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zhangqq789@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wangye6 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ann@myfun4u.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kino9999@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'CHD\\xc1\\xaa\\xc3\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>satu@hongfire </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>polee </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>GM3089@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>BT工厂 @ 5120911 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sklc-P2P101.COM </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb0\\xcb\\xd6\\xd8\\xf7\\xec' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xcc\\xda\\xb7\\xc9\\xd4\\xda\\xcf\\xdf' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'doa_o[\\xb9\\xc5\\xce\\xef\\xce\\xdd]' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>缘聚岛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>素人辣妹正妹報報 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'sweetsmile@CHD\\xc1\\xaa\\xc3\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>javtv.me </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zhaochuan99 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>四魂制作组 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>动漫花園 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>View my conspiracy torrents at </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>春卅娘@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 904012437 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wearebest@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HTCdesireHD@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>shinjico </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>得得撸 www.dedelu.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Western&HD-Jiggly </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ningchia </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>filelist.ro </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dengzhi123_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xab\\xb0\\xa5\\xab\\xad\\xb7\\xb1\\xa1 dioguitar23(\\xb2\\xc4\\xa4\\xbb\\xa4\\xd1\\xc5]\\xa4\\xfd)\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HZHJS </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Audible </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>skyuz </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ever </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>El tio WAPILLO :v </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>草莓TV </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>加菲豆@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yaoshiqiao </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>PB </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb9\\xda\\xa4\\xbd\\xb6\\xe9\\xaeT\\xbc\\xd6\\xa4u\\xa7{@p16847' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>54CECB5A0EA7_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc0\\xcb\\xd7\\xd3\\xd0\\xa1\\xb5\\xb6' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>rendell_by_mimip2p.net, rendellxx_by_fdzone.org, rendell@SexInSex! </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://e-hentai.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jinzebin86@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>birdmanfocker@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>GH37DgaBef6rQJyE2nvqb5YpS </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>AVdian@126.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>亞瑟王 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'Bianca_Cooper_Touch99.com \\xa6\\xb3\\xa7\\xf3\\xa6h\\xa6n\\xb9\\xcf' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wT3j6PNrC5aOcD04yJ7xRotF8 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>村花论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc4\\xfa_\\x89\\xf4\\xb9\\xab\\x88@\\x8a\\xca\\x98\\xb7\\xb9\\xa4\\xb7\\xbb' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>FISH321@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>第一会所 sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>huPE@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>houlai=biaoqian </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'qilibi@\\xc1\\xf9\\xd4\\xc2\\xc2\\x93\\xc3\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>天池妖尊 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sing0212000 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wandy_by_FDZone.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>XO@kazamis </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>KOOK </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HQC </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mc733 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>爱游戏 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>1158012^@^18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'Bianca_Cooper \\xa7\\xf3\\xa6h\\xac\\xfc\\xb9\\xcf\\xa5u\\xa6bTouch99' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>xiaocuitj </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>星星不舔屄 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.crnaberza.com CrnaBerza </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>boby@mimip2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>magnet360@163.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Japanadultvideos 論壇 <-----按此瀏覽更多 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[http://x-torrents.nu] X-Torrents.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>euphoricer </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zlb273692399@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>花和尚 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb4\\xbf\\xb0\\xae\\xc9\\xe7\\xc7\\xf8/wbzt' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>三石@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JackyCheung@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xbf\\xe7\\xca\\xa1\\xbe\\xdc\\xb7\\xf1@9999999' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>菜牙电影网 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mehappy2012 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.jp.square-enix.com/music/sem/page/chrono/trigger_revival/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Scientists used to invent telephones, airplanes, microwave ovens... now all they invent is statistics that say they should get more funding. </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>RoxMarty </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>rczhi@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kkk8568 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kenan2763 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>arthurwarlike@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb3\\xc7\\xca\\xd0\\xefL\\xc7\\xe9~~\\xcb\\xba\\xd2\\xb9\\xd4\\xad\\x84\\x93' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>東方明珠=ccvvm </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>从小缺钙 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Jackie </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.lupola.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ashow.cc </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>品色影院 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>8400327@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>gamezealot@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>uhla454@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>宅鱼 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>1024核工厂 Bt7086 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hilllxs </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>豺狼也柔情 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>99堂 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>老肥 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Chikyuji-Animes, 2006 maggle! </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>chaorentwo@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>若無其事@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hhd000.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>掠风窃尘 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd3\\xd5\\xbb\\xf3\\xd3\\xe9\\xc0\\xd6\\xcd\\xf8\\xb5\\xe3\\xbb\\xf7\\xbd\\xf8\\xc8\\xeb \\xa8w\\xec\\xe1\\xbf\\xa1\\xc9\\xd9\\xec\\xe1\\xa8w' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Kura999 from WaikeungBBS </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>XFSUB </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>huiasd </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'Rory @ D.C.\\xb8\\xea\\xb0T\\xa5\\xe6\\xacy\\xba\\xf4' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://t.me/deletetvwrestling </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dodododo </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Rambo@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xce\\xde\\xd0\\xc4\\xce\\xde\\xb4\\xe6' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>filmplay </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>avdian@126.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>1025 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>956828@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>夜游神 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb2\\xbb\\xb5\\xc3\\xb2\\xbb\\xc9\\xab' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>vbiukj </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jnd16d </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>烽火不熄 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>pietro716 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Lus </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\x98Y\\xd4\\xad\\xa4\\xe6\\x97@' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>國產無碼 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd0\\xc2\\xc7\\xd7\\xc3\\xdc\\xb0\\xae\\xc8\\xcb\\xc2\\xdb\\xcc\\xb3@\\xd6\\xc1\\xd7\\xf0\\xcc\\xec\\xc1\\xfa' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wangzhifeng@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dabohong_by_fdzone.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>TODO </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb7\\xc9\\xd3\\xb0\\xbf\\xcd\\xcd\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yav.me </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Torrent downloaded from torrent cache at torcache.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://www.jizhang1.space/?3316427 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>handsomemouse@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>面瘫 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yyyyyuuuuu@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>狼主@SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>1394130143@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jove </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>电骡爱好者 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>westkyo@www.sis001.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lzmcmbj@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)@dioguitar23.me </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>VISTOR_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>chris930 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[WMAN-LorD] [UHD] [4K] [2160p] [REAL4K] [TGx] </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'A\\xab\\xac\\xa4\\xa3\\xa8}\\xc3\\xc8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb8\\xfc\\xb6\\xe0\\xb8\\xfc\\xd0\\xc2\\xb5\\xe7\\xd3\\xb0\\xcf\\xc2\\xd4\\xd8\\xc7\\xeb\\xb5\\xe3\\xbb\\xf7\\xd5\\xe2\\xc0\\xef' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>destiny999@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HOUSEKEEPER </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>RV原创组 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc3\\xe2\\xb7\\xd1\\xd4\\xda\\xcf\\xdf\\xd2\\xf4\\xc0\\xd6' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.1024pk.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>爱城 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>amge50@www.sogclub.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>OneStar </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'Jocky123#\\xb8\\xfc\\xb6\\xe0\\xb5\\xc4\\xbe\\xab\\xb2\\xca\\xd3\\xb0\\xc6\\xac!' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://getcomics.info </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>点击-海量种子 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>btziyuan </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[http://x-torrents.org] X-Torrents.org (ex X-Torrents.ru) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.lspback.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>foxmoder996 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://share.dmhy.org/topics/list/user_id/712935 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>玛尔亲王@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>rtjhuytu </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>淨空法師專集網站 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xa1\\xb6\\xbd\\xcc\\xd3\\xfd\\xca\\xd6\\xc0\\xad\\xca\\xd6\\xa1\\xb7' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mc733+zgome </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Goddess </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>NikeのB@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'dvt\\xb0\\xc9' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>微博:止于影书,公众号:影遇见书,@小鱼 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>free4 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>靜風@sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dcsk_By_FDZone.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sigma@www.mimip2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>看翍荭尘 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>bjiok </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lins2b </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>小馬克_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>FSFS555@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>flowerff </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lascruces </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>?nike? </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>SEX8.CC </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb3\\xc9\\xc8\\xcb\\xc2\\xdb\\xcc\\xb3\\xbf\\xaa\\xb7\\xc5\\xd7\\xa2\\xb2\\xe1' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>APKMAZA.CO </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>13121152@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>UID 185363@www.mimip2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xa4^\\xa4\\xa2\\xb5\\xbe@FDZone.org' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>更多资源联系qq1273288348 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://nyaa.si/user/mrshowoff </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://boards.4channel.org/h/#s=hentai+upscales </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mimu@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd7\\xd3\\xc7\\xe9 \\xd7\\xa3\\xba\\xd8\\xc9\\xab\\xd6\\xd0\\xc9\\xab \\xcb\\xc4\\xd6\\xdc\\xc4\\xea \\xcc\\xd8\\xb1\\xf0\\xcb\\xae\\xd3\\xa1\\xd1\\xb9\\xd6\\xc6' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>殇情 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>风来西林 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'Nike\\xa4\\xce\\xa3\\xc2' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[www.pttime.org] PT时间 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>QxR </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sunchiua_by_P2Pzone.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wazx528 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>popgofansub </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc3\\xe2\\xb7\\xd1\\xb5\\xe7\\xd3\\xb0\\xcf\\xc2\\xd4\\xd8\\xbb\\xf9\\xb5\\xd8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>gremichaem </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd0\\xc7\\xb3\\xbd\\xd0\\xa1\\xb7\\xe7\\xa3\\xa6\\xbe\\xab\\xc9\\xf1\\xc9\\xab\\xcb\\xd8\\xa3\\xa6cookiexp\\xa3\\xc0\\xd1\\xb0\\xba\\xfc\\xc9\\xe7\\xc7\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sukebei.nyaa.si </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>pademon18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>aaamfk+zgome+bbryans </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cyxy@http://38.114.38.172/forum/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd3\\xd7\\xc5\\xae\\xbc\\xab\\xc6\\xb7' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://e-hentai.org/g/2375721/1b5e081312/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>18P2P_dioguitar23.co(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'AV\\xce\\xc4\\x99n\\xa3\\xfcADULT INTEGRATED COMMUNITY' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>UID 1357210@18P2P.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>fuckkkingou </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>闲云野鹤 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>LAPUMiA.NeT </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>adult_cn </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>psoke </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>18p2p@liyang8926 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>littlefatbee </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>秋叶TV </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>msy91 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Niraya </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.kobo.com/ebook/that-time-i-got-reincarnated-as-a-slime-vol-13-light-novel </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 941661648 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yamyedye@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dansnow </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>H2CO3 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\x8e\\xf7\\x8e\\xf7@\\x88\\xc3\\x91\\xe9\\x9a\\xa0\\x8c\\xb4\\x91n' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kamigami </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>G@1024核工廠 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>The Seaside Corpse </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xadw\\xbd\\xde_by_FDZone.ORG' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>fangbayern </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>君乐 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Doctor Who </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>第一流氓@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Deviloid.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc1\\xf9\\xd4\\xc2\\xc1\\xaa\\xc3\\xcb hgfhgf' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wcer@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.yitarx.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wuchengzhou9000@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>nwcd </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>p2p_user@mimip2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zza@live.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>清风浪子@草榴社区 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://www.zone54.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ssan998 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>xxfhd.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>mybmw320_by_SpeedPluss.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>woaibt@1024核工厂 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'[http://www.uniongang.tv] \\xd4\\xe8\\xeb\\xfc\\xec\\xfb \\xee\\xf2 ELEKTRI4KA | \\xdd\\xcb\\xc5\\xca\\xd2\\xd0\\xc8\\xd7\\xca\\xc0 \\xed\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hegongc163 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>t66y </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cctc55 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>tto@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Antidot Team </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Torrent Galaxy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>萤火虫IT服务全国连锁 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>葬爱@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>贴心话 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>xuerui810405 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>SoulSeek </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>abbt@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lixuhua </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xcc\\x93\\x9fo' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>animekayo.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>qiupianhao </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>173489627 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wak11110@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>[http://hdtracker.org] HD TRACKER </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.eien-acg.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>index0123 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hndwje </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://www.meitubb.com/forum.php </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://anidb.net/file/3082403 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>更多精彩 @ 卡卡拉 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>olo@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://e-hentai.org/g/2255154/778b4d24e6/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sujinding@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>MKO </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>chleicool=fym0624=patpat608 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>撸二九论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>flybird186 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'[http://hdclub.org] \\xd2\\xf0\\xe5\\xea\\xe5\\xf0 HDClub - \\xf1\\xea\\xe0\\xf7\\xe0\\xf2\\xfc \\xe1\\xe5\\xf1\\xef\\xeb\\xe0\\xf2\\xed\\xee \\xf4\\xe8\\xeb\\xfc\\xec\\xfb HD, \\xf1\\xea\\xe0\\xf7\\xe0\\xf2\\xfc Blu-ray \\xf4\\xe8\\xeb\\xfc\\xec\\xfb, HD DVD \\xe8 HD audio, HDTV \\xf2\\xee\\xf0\\xf0\\xe5\\xed\\xf2'</td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://www.omgyes.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>DVD 2008 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'[http://uniongang.tv] \\xd4\\xe8\\xeb\\xfc\\xec\\xfb \\xee\\xf2 ELEKTRI4KA | \\xdd\\xcb\\xc5\\xca\\xd2\\xd0\\xc8\\xd7\\xca\\xc0 \\xed\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb9\\xfd\\xc5\\xab\\xd6\\xc6\\xd4\\xec\\xb2\\xa9\\xbf\\xcd' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>3267506 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>中国电信 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>9clonely </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xd2\\xf9\\xc3\\xf1\\xcd\\xf2\\xcb\\xea' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>幸运流星@四仔论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Lista Espiritualista </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>雪光梦想 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://exhentai.org/g/1964478/8ed0a899ca </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>olo@sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>3zi@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Andy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb7\\xd6\\xcf\\xed' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>24262830. </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>食色性者 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>aj11@mimip2p.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>srwH </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>鴻仔 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>校园迷糊大王 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>WCG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'(\\xd3\\xf4\\xc3\\xc6)\\xb0\\xae\\xbf\\xb4\\xb5\\xe7\\xd3\\xb0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kiva@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xbb\\xd8\\xbc\\xd2001@18p2p' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>ffxx </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>chikan@T66Y </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>瑞倪维儿护肤专卖 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>auriga@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yinchong818@(sis) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>酷安 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 14486345 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>若無其事@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'stormly+taitan12+zhaoZero41+chinami2002+glen246+faberge@darkeagle-\\xbax\\x84\\xf0\\xaa\\xc0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>CMCT团队荣誉出品 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kennyboy </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>2AV.COM </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>DoraemonLL </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>duwangyang </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cjy21 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>cnman@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>zwl508 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>hangzhouyang </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>99BT工厂 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>TorrentLeech.org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>MPCStar </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sharemovie </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sexav.tv </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>bbking </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>giga17100 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>QQ272286821 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>尤里 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>吴天@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>MyAV@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xa5\\xda\\xa9`\\xa5\\xdd\\xa5\\xeb\\xa5\\xed\\xa9`\\xa5\\xb9' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>牛丝社 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>汐 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>nvsdyi </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>oldman@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'dioguitar23\\xad\\xec\\xb3\\xd0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb6\\xe0\\xb2\\xca\\xc9\\xe7\\xc7\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lianghua@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>aiai2013 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>computerking123@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'dioguitar23(\\xb2\\xc4\\xa4\\xbb\\xa4\\xd1\\xc5]\\xa4\\xfd)@hotavxxx.com' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>梦幻天堂·龙网@航子(www.LWgod.cc) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dio99.com(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>deatht </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>18P2Pjheang168 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>性吧发片部 ou89279546 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc4\\xfa' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>jasonchan@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://t.me/zongmange </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>asiamarket@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>huanglaoda@xuhu </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>sxjjh7171 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>喜歡下雨天@SIS001 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Nikola </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>好人 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xcf\\xeb\\xb0l\\x85s\\xb2\\xbb\\x95\\xfe' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Wowshadow.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Fp </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>色花堂—FVG </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xba\\xda\\xb0\\xb5\\xca\\xa5\\xb5\\xee' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>xmq </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>kilin </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://mmgg.cctve.cn/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>UID: 661086 UID: 1258553 UID: 78965 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>WOLF字幕组 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>chaijoe@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://one2048.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lloveppp@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>(同城裸聊约炮) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'[https://tracker.0day.kiev.ua] \\xd2\\xf0\\xe5\\xea\\xe5\\xf0 0day.kiev.ua' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Ferech </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>SRD </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>プリズム☆ま~じカル ~PRISM Generations!~ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Blu-Ray </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wuaibin </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 1081189358 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xb2D\\xad\\xb7\\xae\\xf6\\xa4l' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>哆学家 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Forest of Good and Evil 1-2 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>DOBI </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>QQ:649020789 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 383208255 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>http://ehtracker.org/2135832/announce </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>shuangyuboy@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>№追风少年☆@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dontknowhat (TGx) </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>LAPUMiA.Org </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>fhm2888@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://rips.club/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>魅影论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>最新网址 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>Zamunda.SE </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>整理不易,请保种 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://freeplay.space/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xacn\\xacn\\xad^\\xb6\\xaf\\xa4Q\\xa4K\\xa5{ \\xad\\xba\\xad\\xb6' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wo010101 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>abner166@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>dioguitar23(第六天魔王)原創 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>life小絮 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>tvboxnow </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>撸一发吧 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>haobu3455 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>anikaiser@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'5Q \\xcb\\xae\\xe9\\xbf\\xcd\\xa4@\\xc6\\xe6\\xd1\\xc8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>javkiss </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>wangxiaowu005@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>lanyidong </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>www.preall.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>18p2p~海綿體 原創 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc1x\\xd3\\xc2\\xeb\\x85\\xcc\\xec\\xeaP\\xeb\\x85\\xe9L' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>吉时综合论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>愛在黑夜 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>天使动漫 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>LJZ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>spider. </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xbb\\xb7\\xc7\\xf2\\xbc\\xab\\xcf\\xde\\xcf\\xc2\\xd4\\xd8' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>HHH </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>蜂鸟-日本同步-首发 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc5\\xb0\\xb0\\xae\\xd3\\xd7\\xd3\\xd7' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yakupe </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>UID-968398@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'\\xc3\\xa8\\xba~\\xad\\xd1\\xbc\\xd6\\xb3\\xa1@\\xb4A\\xab\\xbd\\xa8\\xe0' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'lniklegend[\\xe3n\\xa4\\xeb\\xad\\xec\\xb3\\xd0\\xb2\\xd5]' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>JPopsuki 2.0 600921940 </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>https://exhentai.org/g/1701233/d6aed3161e/ </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>b'you15648g \\xad\\xec\\xb3\\xd0\\xb5o\\xb0e' </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"<tr><td>yihyii@www.sogclub.com </td><td style=\"text-align: right;\"> 1</td></tr>\n",
"</tbody>\n",
"</table>"
],
"text/plain": [
"'<table>\\n<tbody>\\n<tr><td>PMEDIA </td><td style=\"text-align: right;\">163</td></tr>\\n<tr><td>http://tapochek.net/index.php </td><td style=\"text-align: right;\">130</td></tr>\\n<tr><td>高清下载吧! </td><td style=\"text-align: right;\">122</td></tr>\\n<tr><td>https://FreeCourseWeb.com </td><td style=\"text-align: right;\">122</td></tr>\\n<tr><td>灣搭拉咩拉 </td><td style=\"text-align: right;\"> 93</td></tr>\\n<tr><td>脫拉庫 </td><td style=\"text-align: right;\"> 88</td></tr>\\n<tr><td>第一會所新片@SIS001 </td><td style=\"text-align: right;\"> 82</td></tr>\\n<tr><td>大师兄福利网 </td><td style=\"text-align: right;\"> 79</td></tr>\\n<tr><td>2048 </td><td style=\"text-align: right;\"> 77</td></tr>\\n<tr><td>1024社區最新地址 </td><td style=\"text-align: right;\"> 75</td></tr>\\n<tr><td> </td><td style=\"text-align: right;\"> 74</td></tr>\\n<tr><td>LostFilm.TV </td><td style=\"text-align: right;\"> 64</td></tr>\\n<tr><td>[https://tanhuazu.com] 探花族社区 </td><td style=\"text-align: right;\"> 47</td></tr>\\n<tr><td>2048核基地 </td><td style=\"text-align: right;\"> 46</td></tr>\\n<tr><td>https://hjd.tw </td><td style=\"text-align: right;\"> 44</td></tr>\\n<tr><td>1024核工厂 </td><td style=\"text-align: right;\"> 43</td></tr>\\n<tr><td>RV原创 </td><td style=\"text-align: right;\"> 42</td></tr>\\n<tr><td>1024社區 </td><td style=\"text-align: right;\"> 41</td></tr>\\n<tr><td>小贾_KTXP </td><td style=\"text-align: right;\"> 39</td></tr>\\n<tr><td>國產精品 </td><td style=\"text-align: right;\"> 37</td></tr>\\n<tr><td>麻豆之神 </td><td style=\"text-align: right;\"> 36</td></tr>\\n<tr><td>吃雞大神 </td><td style=\"text-align: right;\"> 34</td></tr>\\n<tr><td>b48t.com </td><td style=\"text-align: right;\"> 34</td></tr>\\n<tr><td>https://crackshash.com/ </td><td style=\"text-align: right;\"> 33</td></tr>\\n<tr><td>老含及 </td><td style=\"text-align: right;\"> 33</td></tr>\\n<tr><td>欧宝 </td><td style=\"text-align: right;\"> 31</td></tr>\\n<tr><td>https://rh2048.com </td><td style=\"text-align: right;\"> 30</td></tr>\\n<tr><td>小隻馬 </td><td style=\"text-align: right;\"> 27</td></tr>\\n<tr><td>1024 </td><td style=\"text-align: right;\"> 27</td></tr>\\n<tr><td>AV大平台 </td><td style=\"text-align: right;\"> 27</td></tr>\\n<tr><td>@蜂鳥论坛@ </td><td style=\"text-align: right;\"> 26</td></tr>\\n<tr><td>Weagogo </td><td style=\"text-align: right;\"> 25</td></tr>\\n<tr><td>第一會所新片 </td><td style=\"text-align: right;\"> 25</td></tr>\\n<tr><td>JAV Torrent 掲示板 </td><td style=\"text-align: right;\"> 25</td></tr>\\n<tr><td>发发发 </td><td style=\"text-align: right;\"> 22</td></tr>\\n<tr><td>刷刷刷 </td><td style=\"text-align: right;\"> 21</td></tr>\\n<tr><td>https://1tors.ru/ </td><td style=\"text-align: right;\"> 21</td></tr>\\n<tr><td>1024工厂 </td><td style=\"text-align: right;\"> 20</td></tr>\\n<tr><td>hjd.tw </td><td style=\"text-align: right;\"> 20</td></tr>\\n<tr><td>不予 </td><td style=\"text-align: right;\"> 19</td></tr>\\n<tr><td>小樱 </td><td style=\"text-align: right;\"> 17</td></tr>\\n<tr><td>(美女裸聊直播 uur68.com) </td><td style=\"text-align: right;\"> 17</td></tr>\\n<tr><td>xue0117 </td><td style=\"text-align: right;\"> 17</td></tr>\\n<tr><td>美女裸聊直播 </td><td style=\"text-align: right;\"> 15</td></tr>\\n<tr><td>xp1024 </td><td style=\"text-align: right;\"> 15</td></tr>\\n<tr><td>老司机论坛 </td><td style=\"text-align: right;\"> 15</td></tr>\\n<tr><td>b'\\\\xcf\\\\xeb\\\\xb7\\\\xa2\\\\xc8\\\\xb4\\\\xb2\\\\xbb\\\\xbb\\\\xe1' </td><td style=\"text-align: right;\"> 15</td></tr>\\n<tr><td>olo </td><td style=\"text-align: right;\"> 14</td></tr>\\n<tr><td>nyaa001 </td><td style=\"text-align: right;\"> 13</td></tr>\\n<tr><td>b'dioguitar23(\\\\xb2\\\\xc4\\\\xa4\\\\xbb\\\\xa4\\\\xd1\\\\xc5]\\\\xa4\\\\xfd)\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 13</td></tr>\\n<tr><td>https://discord.gg/vbJ7RTn </td><td style=\"text-align: right;\"> 13</td></tr>\\n<tr><td>PiRaX @ TamilBlasters.Net </td><td style=\"text-align: right;\"> 13</td></tr>\\n<tr><td>愛在黑夜001 </td><td style=\"text-align: right;\"> 13</td></tr>\\n<tr><td>b'\\\\xb3\\\\xcc\\\\xb7sAV \\\\xa4\\\\xd1\\\\xaa\\\\xc5\\\\xbd\\\\xd7\\\\xbe\\\\xc2 IP' </td><td style=\"text-align: right;\"> 12</td></tr>\\n<tr><td>Zamunda.NET </td><td style=\"text-align: right;\"> 12</td></tr>\\n<tr><td>[animelayer.ru] Animelayer </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>發片小王子@18p2p </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>https://infocon.org/ </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>约战竞技场 </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>orion </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>規懶趴會 </td><td style=\"text-align: right;\"> 11</td></tr>\\n<tr><td>BT世界网 https://www.btsj6.com/ </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>threesixtyp </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>U6A6磁力搜索---U6A6.COM </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>cangkong </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@dioguitar23.net </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>0 </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>BBVC </td><td style=\"text-align: right;\"> 10</td></tr>\\n<tr><td>dio88.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 9</td></tr>\\n<tr><td>1024核工厂/ </td><td style=\"text-align: right;\"> 9</td></tr>\\n<tr><td>百撸社区 </td><td style=\"text-align: right;\"> 9</td></tr>\\n<tr><td>Zelka.ORG </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>b'\\\\xc1\\\\xf9\\\\xd4\\\\xc2\\\\xc1\\\\xaa\\\\xc3\\\\xcb' </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>百撸社区|高清资源 </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>dioguitar23.co(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>x </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>buxxa </td><td style=\"text-align: right;\"> 8</td></tr>\\n<tr><td>[tp.m-team.cc] M-Team - TP </td><td style=\"text-align: right;\"> 7</td></tr>\\n<tr><td>PMEDIA NETWORK </td><td style=\"text-align: right;\"> 7</td></tr>\\n<tr><td>6969bt.com </td><td style=\"text-align: right;\"> 7</td></tr>\\n<tr><td>www.dio8899.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 7</td></tr>\\n<tr><td>BT-btt.com </td><td style=\"text-align: right;\"> 7</td></tr>\\n<tr><td>Mp4Ba </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>性吧RV原创 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>K8bet </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>Burnbit </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>94i88影城-点击跳转 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>hotaru </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>b'\\\\xb7\\\\xf6\\\\xba~\\\\xad\\\\xd1\\\\xbc\\\\xd6\\\\xb3\\\\xa1 dioguitar23 \\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>00armand00 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>么么哒 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>https://www.javhdbbs.com </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>XP1024 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>[https://majomparade.eu] </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>鱼香肉丝 </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>Hotaru </td><td style=\"text-align: right;\"> 6</td></tr>\\n<tr><td>atrrea </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>rutracker.org </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>olo@SIS001 </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>广东雨神 </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>b'\\\\xab\\\\xb0\\\\xa5\\\\xab\\\\xad\\\\xb7\\\\xb1\\\\xa1~\\\\xc5]\\\\xa7\\\\xd9\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>YURASUKA </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>♥im520♥ </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>arsenal-fan </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>[http://x-torrents.org] X-Torrents.org </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>arsenal-fan@avsp2p.com </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>1stDragon </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@mw6.me </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>成年人的小游戏 </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>99BT工厂 @ 5120911 </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>HiHBT 精品薈萃 </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>https://www.1024btgc.com </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>hhd800.com </td><td style=\"text-align: right;\"> 5</td></tr>\\n<tr><td>杏吧论坛 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>zgome@18p2p </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>顶冠文化 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>XIU </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>b'\\\\x9e\\\\xb3\\\\xb4\\\\xee\\\\xc0\\\\xad\\\\xdf\\\\xe3\\\\xc0\\\\xad@kb978.com' </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>https://downloadcursos.top/ </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>youiv </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>yoy123 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>上善若水@www.sexinsex.net </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>RZK </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>Torrent downloaded from torrent cache at http://torcache.net/ </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>魔王之家 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>rxrj </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>杏吧 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>dio66.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>更多精彩!尽在99BT工厂@5120911 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>xueru10405 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>1030社區---1030.ws </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>www.crackshash.com </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>nyaa.si </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>M88(明陞) </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>www.dio7777.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>GF@1024核工廠 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>Western/HD-Jiggly </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>【RV原创】【sex8.cc】 </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>kenelm </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>https://DesignOptimal.com </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>>亞捷視圖< </td><td style=\"text-align: right;\"> 4</td></tr>\\n<tr><td>m6688.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>1314 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>oldman原創DVD@18p2p.com </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>sogood@18p2p </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>? nike ? </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>https://toonshub.xyz </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>黑色点击 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>https://www.torrentdosfilmes.tv/ </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>1024社区 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>dioguitar23(第六天魔王) </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>嗨咻阁 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>枫雪动漫 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>【神秘巨星CI】 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@bbs.hotavxxx.com </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>GIF出处系列 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>https://www.terralibera.net/ </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>dioguitar23@dio66.net </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@hotavxxx.com </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>chikan </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>神秘巨星CI </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>萌你一脸@第一会所 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>罗马教皇@草榴社区 luckjam@sexinsex.net </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>uid-346380 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>Download from Sajber.org/blog </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>美女裸聊约炮 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>@微信订阅号专注稀有汁源 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>susun=eastv </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>bbvc </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>草榴社区 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>rh2048.com/ </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>www.javhdbbs.com </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>2048核基地!! </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>衣选集团 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>b'\\\\xc1\\\\xf9\\\\xd4\\\\xc2\\\\xcc\\\\xec\\\\xbf\\\\xd5' </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>Gfker@1024核工廠 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>b'99\\\\xa5\\\\xfd\\\\xa5\\\\xcd' </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>18p2p by_UID 1380364 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>漫之学园 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>https://bbs2048.org/ </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>9200 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>安西教练 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>MingYSub </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>尘封追忆+色十八 </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>Downloaded from CracksHash.com </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>https://rutor.org </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>jav20s8.com/ </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>[http://baibako.tv] BaibaKo.TV </td><td style=\"text-align: right;\"> 3</td></tr>\\n<tr><td>MN Nambiar @ TamilBlasters.Net </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>老司机 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>dioguitar23.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>https://media.defcon.org/ </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>https://sexasia.net/feed </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>http://www.acgyinghua.com/ </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xab\\\\xb0\\\\xa5\\\\xab\\\\xad\\\\xb7\\\\xb1\\\\xa1 dioguitar23 \\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>Lucian2009@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>www.dio889.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>TYBBX2 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>roger92402094 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>https://downloadcursos.top </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>lxdng1218 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>飘嫖 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>红馆-红人馆-网络红人之家 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>CHANNEL NEO </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>ccc32.com </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@dio999.com </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>注册就送39元,联系:330545486 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xb7\\\\xf6\\\\xba~\\\\xad\\\\xd1\\\\xbc\\\\xd6\\\\xb3\\\\xa1@\\\\xb4A\\\\xab\\\\xbd\\\\xa8\\\\xe0' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>ITELLYOU </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>Aidoru-Online </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>联系TG:yyllzy,fulihuoqu </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>MP4BA电影网 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>強片皇帝999 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>sogclub No.2 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>D2mp4 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>【U6A6.COM】_全网磁力最快更新 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>mmklp@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>ssss1111@18p2p </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>感冒清@sis001 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>afnami@64.78.163.55 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>1024核工厂最新地址 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>11.55 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>西門吹水 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>goldpuzjying </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>uid=1591117 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>[http://rudub.tv] RuDub.TV </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>https://to-url.com/torrent-igruha </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>蜂鸟色区 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xb3\\\\xc7\\\\xca\\\\xd0\\\\xefL\\\\xc7\\\\xe9~\\\\xc4\\\\xa7\\\\xbd\\\\xe4\\\\xd4\\\\xad\\\\x84\\\\x93' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>百撸社区|高清影片 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>[http://energy-torrent.com] Energy-Torrent </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>SoushkinBoudera </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>[http://bko.baibako.tv] BaibaKo.TV </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>冷月无声 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>奥利给 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xab\\\\xb0\\\\xa5\\\\xab\\\\xad\\\\xb7\\\\xb1\\\\xa1~\\\\xa4p\\\\xb9t\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'tanw\\\\xa9\\\\xceyk3325@www.sogclub.com' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>3Li </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'giogio99\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>buxxa=bbvc </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>BradPitt </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>pin0314(1470)@www.mycould.com </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xa4\\\\xc6\\\\xb0\\\\xa9\\\\xc0s@mimip2p' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>遁去的壹 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>弄死你娃L@2018x.win </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>downloadcursos.top </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>KTXP_秋沫 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>Domaha.tv </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>水母飄 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>月岚星辰520@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>xinnian </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>kaniuniu </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>dio889.net(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>清雨 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>www.loliba.info </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>crazylazy </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>感冒清@sis001.com </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>淘宝天猫优惠券秒杀 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>会飞的象@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>mule_by_SpeedPluss.ORG </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>bigwai </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>深深可许@第一会所 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>BT伙计 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>最新地址 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>judexkwok(SIS) </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>ntlv0@hotmail.com </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>sex8.cc </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>b'\\\\xb7\\\\xf6\\\\xba~\\\\xad\\\\xd1\\\\xbc\\\\xd6\\\\xb3\\\\xa1~\\\\xaf\\\\xab\\\\xad\\\\xb7\\\\xa4p\\\\xa4l\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>Betway(必威) </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>天空树蜡香 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>更多精彩!尽在99BT工厂 </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>suchuanxia^@^18p2p </td><td style=\"text-align: right;\"> 2</td></tr>\\n<tr><td>gnhyc11@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>fyoulapk@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>塔卡小爹賽 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HD一条街论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dioguitar23原創 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb3\\\\xce\\\\xbf\\\\xd5\\\\xd1\\\\xa7\\\\xd4\\\\xb0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cnmzlwb </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zb77@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.asmr.one/work/RJ374870 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[uid-1591117] </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>奈特羅德 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://mega.nz/#F!DK4lCSwB!QdwaMCT3SpOxISAgnuX7nQ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>小葫芦@www.sis001.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>柏林没有梦 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ls611 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>qqtnt007 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>3E523E31D247_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 626225292 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://elamigosedition.com/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>guroemon </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lyf634041775 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>1234567890 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://bitnova.info/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>asfile@SIS001 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xbd\\\\xad\\\\xc4\\\\xcf\\\\xb7\\\\xe7\\\\xd3\\\\xea' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mikocon @ bbs.2djgame.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://mm.aayun.cc </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>aqcd123 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>维尼 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>iii </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>pornolab </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>极影字幕 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc9\\\\xab\\\\xd6\\\\xd0\\\\xc9\\\\xab@ypzhq\\\\xd4\\\\xad\\\\xb4\\\\xb4' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>roger92402094(SIS) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>erest </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Baslilon=Baslilon23 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sigma </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>寂寞如漫天雪花 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>C:\\\\Users\\\\pongphon\\\\OneDrive\\\\Desktop\\\\New folder (2)\\\\FC2PPV 1218169 [Odorless video] [Leaked] JULIA High image quality BEB-016 JULIA Sweaty Backroom .ts </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 2131292835 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>不予@暗香阁 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sogclub No.2 BY sogclub </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>uid-1591117 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xba\\\\xda\\\\xc2\\\\xfb\\\\xb0\\\\xc5' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>微信一夜ONS协会 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'KUHO\\\\xd2\\\\xd5\\\\xca\\\\xf5\\\\xc1\\\\xaa\\\\xc3\\\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb6\\\\xc0\\\\xa5i\\\\xa8\\\\xe0_by_FDZone.org' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>中文字幕無水印 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://www.wozai020.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sop168 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'SP\\\\xa7\\\\xe4\\\\xbc\\\\xd6\\\\xa4l@\\\\xaa\\\\xe1\\\\xa9M\\\\xa9|' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>tiantianlu186@公仔箱論壇 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>luckyjune </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>SK`|yEsMan<sk·> </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'@aaming2002@\\\\xa3\\\\xa2\\\\xb3\\\\xd5\\\\xba\\\\xba\\\\xa3\\\\xa2\\\\xc9\\\\xab\\\\xd6\\\\xd0\\\\xc9\\\\xab\\\\xa3\\\\xa2\\\\xc3\\\\xce\\\\xb9\\\\xab\\\\xd4\\\\xb0\\\\xa3\\\\xa2MimiP2P\\\\xa3\\\\xa2\\\\xa3\\\\xc4.\\\\xa3\\\\xc3P2P\\\\xa3\\\\xa2WaiKeungSite\\\\xa3\\\\xa2p2pZONE\\\\xa3\\\\xa2Mr.P2P\\\\xa3\\\\xa2' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hkkane@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.4hu.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xaeL\\\\xaa\\\\xef\\\\xacK@99p2p' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>夜蒅星宸@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>【更多资源用加手机QQ-17182252050】 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jjjhn2003@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>XIEYUXIA </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'@\\\\xc0\\\\xcb\\\\xb7\\\\xad\\\\xd4\\\\xc6@' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yjs521 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hhbb_zcm </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>twsb.co </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.musicastorrent.com/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>pandafood#panda1314#gg5123 獨家首發 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>探花族 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zhoudehua200 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>AV大平台 - 发布页 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'tanw\\\\xa9\\\\xceyk3325' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Rivera@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd7\\\\xcf\\\\xc3\\\\xb5\\\\xb9\\\\xe5' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[kp.m-team.cc] M-Team - TP </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.spankhash.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>UID 235465@www.mimip2p.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>草榴社区@MianSheng </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Странник </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hgr168168 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>BJ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mecaca </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>昆仑虚之巅@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[欧美美@草榴社区] </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>没线的风筝 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>尼尼撸-综合网站 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>100%真人激情裸聊 www.78xo.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jettej </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Daddy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>diamond </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>中文片库 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://worldmkv.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'yatsingkoon@\\\\xa1\\\\xb9\\\\xb6q\\\\xb3c\\\\xa4\\\\xc0\\\\xa8\\\\xc9\\\\xbd\\\\xd7\\\\xbe\\\\xc2\\\\xa1\\\\xb9' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>入微 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://discord.com/invite/wweVHZd6qg </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>602@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>3484988vikci@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>evilzy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>化骨龍 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.kobo.com/ebook/an-archdemon-s-dilemma-how-to-love-your-elf-bride-volume-13 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cqkd_czy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>不辣de皮特 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kaito </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>u3c3.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>☆影视帝国论坛☆ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>aaa23 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hevcbay.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>gn7650104 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>老舅电影 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>捕鼠人 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.gamestorrents.nu/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>公主殿下@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb8\\\\xb4\\\\xbb\\\\xee126' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>微信公众号:卡其影视分享 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>百虎动画 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>425307@癡漢俱樂部 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>avp2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>GIFchuchushipin </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>EndlesSea </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Tanhuazu-探花族 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>推特搞啥呢 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>@K8bet.io@ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Misfits </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>黑暗虫洞 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>magazinesbb.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc9\\\\xab\\\\xd6\\\\xd0\\\\xc9\\\\xab\\\\xd5\\\\x93\\\\x89\\\\xaf@www.SIS.xxx' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>草榴社区@z10271 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>冰封爱河 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'[http://www.uniongang.net] \\\\xd4\\\\xe8\\\\xeb\\\\xfc\\\\xec\\\\xfb \\\\xee\\\\xf2 ELEKTRI4KA | \\\\xdd\\\\xcb\\\\xc5\\\\xca\\\\xd2\\\\xd0\\\\xc8\\\\xd7\\\\xca\\\\xc0 \\\\xed\\\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zhangqq789@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wangye6 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ann@myfun4u.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kino9999@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'CHD\\\\xc1\\\\xaa\\\\xc3\\\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>satu@hongfire </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>polee </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>GM3089@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>BT工厂 @ 5120911 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sklc-P2P101.COM </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb0\\\\xcb\\\\xd6\\\\xd8\\\\xf7\\\\xec' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xcc\\\\xda\\\\xb7\\\\xc9\\\\xd4\\\\xda\\\\xcf\\\\xdf' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'doa_o[\\\\xb9\\\\xc5\\\\xce\\\\xef\\\\xce\\\\xdd]' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>缘聚岛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>素人辣妹正妹報報 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'sweetsmile@CHD\\\\xc1\\\\xaa\\\\xc3\\\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>javtv.me </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zhaochuan99 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>四魂制作组 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>动漫花園 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>View my conspiracy torrents at </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>春卅娘@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 904012437 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wearebest@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HTCdesireHD@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>shinjico </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>得得撸 www.dedelu.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Western&HD-Jiggly </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ningchia </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>filelist.ro </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dengzhi123_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xab\\\\xb0\\\\xa5\\\\xab\\\\xad\\\\xb7\\\\xb1\\\\xa1 dioguitar23(\\\\xb2\\\\xc4\\\\xa4\\\\xbb\\\\xa4\\\\xd1\\\\xc5]\\\\xa4\\\\xfd)\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HZHJS </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Audible </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>skyuz </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ever </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>El tio WAPILLO :v </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>草莓TV </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>加菲豆@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yaoshiqiao </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>PB </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb9\\\\xda\\\\xa4\\\\xbd\\\\xb6\\\\xe9\\\\xaeT\\\\xbc\\\\xd6\\\\xa4u\\\\xa7{@p16847' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>54CECB5A0EA7_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc0\\\\xcb\\\\xd7\\\\xd3\\\\xd0\\\\xa1\\\\xb5\\\\xb6' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>rendell_by_mimip2p.net, rendellxx_by_fdzone.org, rendell@SexInSex! </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://e-hentai.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jinzebin86@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>birdmanfocker@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>GH37DgaBef6rQJyE2nvqb5YpS </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>AVdian@126.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>亞瑟王 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'Bianca_Cooper_Touch99.com \\\\xa6\\\\xb3\\\\xa7\\\\xf3\\\\xa6h\\\\xa6n\\\\xb9\\\\xcf' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wT3j6PNrC5aOcD04yJ7xRotF8 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>村花论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc4\\\\xfa_\\\\x89\\\\xf4\\\\xb9\\\\xab\\\\x88@\\\\x8a\\\\xca\\\\x98\\\\xb7\\\\xb9\\\\xa4\\\\xb7\\\\xbb' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>FISH321@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>第一会所 sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>huPE@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>houlai=biaoqian </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'qilibi@\\\\xc1\\\\xf9\\\\xd4\\\\xc2\\\\xc2\\\\x93\\\\xc3\\\\xcb' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>天池妖尊 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sing0212000 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wandy_by_FDZone.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>XO@kazamis </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>KOOK </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HQC </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mc733 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>爱游戏 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>1158012^@^18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'Bianca_Cooper \\\\xa7\\\\xf3\\\\xa6h\\\\xac\\\\xfc\\\\xb9\\\\xcf\\\\xa5u\\\\xa6bTouch99' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>xiaocuitj </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>星星不舔屄 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.crnaberza.com CrnaBerza </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>boby@mimip2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>magnet360@163.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Japanadultvideos 論壇 <-----按此瀏覽更多 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[http://x-torrents.nu] X-Torrents.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>euphoricer </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zlb273692399@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>花和尚 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb4\\\\xbf\\\\xb0\\\\xae\\\\xc9\\\\xe7\\\\xc7\\\\xf8/wbzt' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>三石@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JackyCheung@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xbf\\\\xe7\\\\xca\\\\xa1\\\\xbe\\\\xdc\\\\xb7\\\\xf1@9999999' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>菜牙电影网 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mehappy2012 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.jp.square-enix.com/music/sem/page/chrono/trigger_revival/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Scientists used to invent telephones, airplanes, microwave ovens... now all they invent is statistics that say they should get more funding. </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>RoxMarty </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>rczhi@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kkk8568 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kenan2763 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>arthurwarlike@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb3\\\\xc7\\\\xca\\\\xd0\\\\xefL\\\\xc7\\\\xe9~~\\\\xcb\\\\xba\\\\xd2\\\\xb9\\\\xd4\\\\xad\\\\x84\\\\x93' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>東方明珠=ccvvm </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>从小缺钙 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Jackie </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.lupola.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ashow.cc </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>品色影院 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>8400327@草榴社區 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>gamezealot@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>uhla454@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>宅鱼 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>1024核工厂 Bt7086 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hilllxs </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>豺狼也柔情 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>99堂 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>老肥 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Chikyuji-Animes, 2006 maggle! </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>chaorentwo@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>若無其事@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hhd000.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>掠风窃尘 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd3\\\\xd5\\\\xbb\\\\xf3\\\\xd3\\\\xe9\\\\xc0\\\\xd6\\\\xcd\\\\xf8\\\\xb5\\\\xe3\\\\xbb\\\\xf7\\\\xbd\\\\xf8\\\\xc8\\\\xeb \\\\xa8w\\\\xec\\\\xe1\\\\xbf\\\\xa1\\\\xc9\\\\xd9\\\\xec\\\\xe1\\\\xa8w' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Kura999 from WaikeungBBS </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>XFSUB </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>huiasd </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'Rory @ D.C.\\\\xb8\\\\xea\\\\xb0T\\\\xa5\\\\xe6\\\\xacy\\\\xba\\\\xf4' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://t.me/deletetvwrestling </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dodododo </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Rambo@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xce\\\\xde\\\\xd0\\\\xc4\\\\xce\\\\xde\\\\xb4\\\\xe6' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>filmplay </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>avdian@126.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>1025 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>956828@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>夜游神 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb2\\\\xbb\\\\xb5\\\\xc3\\\\xb2\\\\xbb\\\\xc9\\\\xab' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>vbiukj </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jnd16d </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>烽火不熄 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>pietro716 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Lus </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\x98Y\\\\xd4\\\\xad\\\\xa4\\\\xe6\\\\x97@' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>國產無碼 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd0\\\\xc2\\\\xc7\\\\xd7\\\\xc3\\\\xdc\\\\xb0\\\\xae\\\\xc8\\\\xcb\\\\xc2\\\\xdb\\\\xcc\\\\xb3@\\\\xd6\\\\xc1\\\\xd7\\\\xf0\\\\xcc\\\\xec\\\\xc1\\\\xfa' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wangzhifeng@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dabohong_by_fdzone.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>TODO </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb7\\\\xc9\\\\xd3\\\\xb0\\\\xbf\\\\xcd\\\\xcd\\\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yav.me </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Torrent downloaded from torrent cache at torcache.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://www.jizhang1.space/?3316427 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>handsomemouse@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>面瘫 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yyyyyuuuuu@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>狼主@SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>1394130143@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jove </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>电骡爱好者 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>westkyo@www.sis001.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lzmcmbj@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dioguitar23(第六天魔王)@dioguitar23.me </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>VISTOR_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>chris930 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[WMAN-LorD] [UHD] [4K] [2160p] [REAL4K] [TGx] </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'A\\\\xab\\\\xac\\\\xa4\\\\xa3\\\\xa8}\\\\xc3\\\\xc8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb8\\\\xfc\\\\xb6\\\\xe0\\\\xb8\\\\xfc\\\\xd0\\\\xc2\\\\xb5\\\\xe7\\\\xd3\\\\xb0\\\\xcf\\\\xc2\\\\xd4\\\\xd8\\\\xc7\\\\xeb\\\\xb5\\\\xe3\\\\xbb\\\\xf7\\\\xd5\\\\xe2\\\\xc0\\\\xef' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>destiny999@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HOUSEKEEPER </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>RV原创组 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc3\\\\xe2\\\\xb7\\\\xd1\\\\xd4\\\\xda\\\\xcf\\\\xdf\\\\xd2\\\\xf4\\\\xc0\\\\xd6' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.1024pk.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>爱城 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>amge50@www.sogclub.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>OneStar </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'Jocky123#\\\\xb8\\\\xfc\\\\xb6\\\\xe0\\\\xb5\\\\xc4\\\\xbe\\\\xab\\\\xb2\\\\xca\\\\xd3\\\\xb0\\\\xc6\\\\xac!' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://getcomics.info </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>点击-海量种子 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>btziyuan </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[http://x-torrents.org] X-Torrents.org (ex X-Torrents.ru) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.lspback.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>foxmoder996 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://share.dmhy.org/topics/list/user_id/712935 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>玛尔亲王@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>rtjhuytu </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>淨空法師專集網站 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xa1\\\\xb6\\\\xbd\\\\xcc\\\\xd3\\\\xfd\\\\xca\\\\xd6\\\\xc0\\\\xad\\\\xca\\\\xd6\\\\xa1\\\\xb7' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mc733+zgome </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Goddess </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>NikeのB@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'dvt\\\\xb0\\\\xc9' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>微博:止于影书,公众号:影遇见书,@小鱼 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>free4 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>靜風@sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dcsk_By_FDZone.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sigma@www.mimip2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>看翍荭尘 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>bjiok </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lins2b </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>小馬克_by_FDZone.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>FSFS555@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>flowerff </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lascruces </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>?nike? </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>SEX8.CC </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb3\\\\xc9\\\\xc8\\\\xcb\\\\xc2\\\\xdb\\\\xcc\\\\xb3\\\\xbf\\\\xaa\\\\xb7\\\\xc5\\\\xd7\\\\xa2\\\\xb2\\\\xe1' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>APKMAZA.CO </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>13121152@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>UID 185363@www.mimip2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xa4^\\\\xa4\\\\xa2\\\\xb5\\\\xbe@FDZone.org' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>更多资源联系qq1273288348 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://nyaa.si/user/mrshowoff </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://boards.4channel.org/h/#s=hentai+upscales </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mimu@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd7\\\\xd3\\\\xc7\\\\xe9 \\\\xd7\\\\xa3\\\\xba\\\\xd8\\\\xc9\\\\xab\\\\xd6\\\\xd0\\\\xc9\\\\xab \\\\xcb\\\\xc4\\\\xd6\\\\xdc\\\\xc4\\\\xea \\\\xcc\\\\xd8\\\\xb1\\\\xf0\\\\xcb\\\\xae\\\\xd3\\\\xa1\\\\xd1\\\\xb9\\\\xd6\\\\xc6' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>殇情 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>风来西林 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'Nike\\\\xa4\\\\xce\\\\xa3\\\\xc2' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[www.pttime.org] PT时间 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>QxR </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sunchiua_by_P2Pzone.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wazx528 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>popgofansub </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc3\\\\xe2\\\\xb7\\\\xd1\\\\xb5\\\\xe7\\\\xd3\\\\xb0\\\\xcf\\\\xc2\\\\xd4\\\\xd8\\\\xbb\\\\xf9\\\\xb5\\\\xd8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>gremichaem </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd0\\\\xc7\\\\xb3\\\\xbd\\\\xd0\\\\xa1\\\\xb7\\\\xe7\\\\xa3\\\\xa6\\\\xbe\\\\xab\\\\xc9\\\\xf1\\\\xc9\\\\xab\\\\xcb\\\\xd8\\\\xa3\\\\xa6cookiexp\\\\xa3\\\\xc0\\\\xd1\\\\xb0\\\\xba\\\\xfc\\\\xc9\\\\xe7\\\\xc7\\\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sukebei.nyaa.si </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>pademon18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>aaamfk+zgome+bbryans </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cyxy@http://38.114.38.172/forum/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd3\\\\xd7\\\\xc5\\\\xae\\\\xbc\\\\xab\\\\xc6\\\\xb7' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://e-hentai.org/g/2375721/1b5e081312/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>18P2P_dioguitar23.co(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'AV\\\\xce\\\\xc4\\\\x99n\\\\xa3\\\\xfcADULT INTEGRATED COMMUNITY' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>UID 1357210@18P2P.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>fuckkkingou </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>闲云野鹤 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>LAPUMiA.NeT </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>adult_cn </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>psoke </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>18p2p@liyang8926 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>littlefatbee </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>秋叶TV </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>msy91 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Niraya </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.kobo.com/ebook/that-time-i-got-reincarnated-as-a-slime-vol-13-light-novel </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 941661648 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yamyedye@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dansnow </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>H2CO3 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\x8e\\\\xf7\\\\x8e\\\\xf7@\\\\x88\\\\xc3\\\\x91\\\\xe9\\\\x9a\\\\xa0\\\\x8c\\\\xb4\\\\x91n' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kamigami </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>G@1024核工廠 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>The Seaside Corpse </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xadw\\\\xbd\\\\xde_by_FDZone.ORG' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>fangbayern </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>君乐 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Doctor Who </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>第一流氓@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Deviloid.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc1\\\\xf9\\\\xd4\\\\xc2\\\\xc1\\\\xaa\\\\xc3\\\\xcb hgfhgf' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wcer@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.yitarx.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wuchengzhou9000@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>nwcd </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>p2p_user@mimip2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zza@live.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>清风浪子@草榴社区 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://www.zone54.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ssan998 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>xxfhd.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>mybmw320_by_SpeedPluss.ORG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>woaibt@1024核工厂 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'[http://www.uniongang.tv] \\\\xd4\\\\xe8\\\\xeb\\\\xfc\\\\xec\\\\xfb \\\\xee\\\\xf2 ELEKTRI4KA | \\\\xdd\\\\xcb\\\\xc5\\\\xca\\\\xd2\\\\xd0\\\\xc8\\\\xd7\\\\xca\\\\xc0 \\\\xed\\\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hegongc163 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>t66y </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cctc55 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>tto@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Antidot Team </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Torrent Galaxy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>萤火虫IT服务全国连锁 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>葬爱@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>贴心话 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>xuerui810405 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>SoulSeek </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>abbt@18p2p.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lixuhua </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xcc\\\\x93\\\\x9fo' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>animekayo.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>qiupianhao </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>173489627 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wak11110@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>[http://hdtracker.org] HD TRACKER </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.eien-acg.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>index0123 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hndwje </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://www.meitubb.com/forum.php </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://anidb.net/file/3082403 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>更多精彩 @ 卡卡拉 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>olo@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://e-hentai.org/g/2255154/778b4d24e6/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sujinding@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>MKO </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>chleicool=fym0624=patpat608 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>撸二九论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>flybird186 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'[http://hdclub.org] \\\\xd2\\\\xf0\\\\xe5\\\\xea\\\\xe5\\\\xf0 HDClub - \\\\xf1\\\\xea\\\\xe0\\\\xf7\\\\xe0\\\\xf2\\\\xfc \\\\xe1\\\\xe5\\\\xf1\\\\xef\\\\xeb\\\\xe0\\\\xf2\\\\xed\\\\xee \\\\xf4\\\\xe8\\\\xeb\\\\xfc\\\\xec\\\\xfb HD, \\\\xf1\\\\xea\\\\xe0\\\\xf7\\\\xe0\\\\xf2\\\\xfc Blu-ray \\\\xf4\\\\xe8\\\\xeb\\\\xfc\\\\xec\\\\xfb, HD DVD \\\\xe8 HD audio, HDTV \\\\xf2\\\\xee\\\\xf0\\\\xf0\\\\xe5\\\\xed\\\\xf2'</td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://www.omgyes.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>DVD 2008 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'[http://uniongang.tv] \\\\xd4\\\\xe8\\\\xeb\\\\xfc\\\\xec\\\\xfb \\\\xee\\\\xf2 ELEKTRI4KA | \\\\xdd\\\\xcb\\\\xc5\\\\xca\\\\xd2\\\\xd0\\\\xc8\\\\xd7\\\\xca\\\\xc0 \\\\xed\\\\xe0 Uniongang' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb9\\\\xfd\\\\xc5\\\\xab\\\\xd6\\\\xc6\\\\xd4\\\\xec\\\\xb2\\\\xa9\\\\xbf\\\\xcd' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>3267506 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>中国电信 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>9clonely </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xd2\\\\xf9\\\\xc3\\\\xf1\\\\xcd\\\\xf2\\\\xcb\\\\xea' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>幸运流星@四仔论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Lista Espiritualista </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>雪光梦想 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://exhentai.org/g/1964478/8ed0a899ca </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>olo@sis001 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>3zi@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Andy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb7\\\\xd6\\\\xcf\\\\xed' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>24262830. </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>食色性者 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>aj11@mimip2p.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>srwH </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>鴻仔 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>校园迷糊大王 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>WCG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'(\\\\xd3\\\\xf4\\\\xc3\\\\xc6)\\\\xb0\\\\xae\\\\xbf\\\\xb4\\\\xb5\\\\xe7\\\\xd3\\\\xb0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kiva@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xbb\\\\xd8\\\\xbc\\\\xd2001@18p2p' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>ffxx </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>chikan@T66Y </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>瑞倪维儿护肤专卖 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>auriga@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yinchong818@(sis) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>酷安 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 14486345 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>若無其事@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'stormly+taitan12+zhaoZero41+chinami2002+glen246+faberge@darkeagle-\\\\xbax\\\\x84\\\\xf0\\\\xaa\\\\xc0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>CMCT团队荣誉出品 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kennyboy </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>2AV.COM </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>DoraemonLL </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>duwangyang </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cjy21 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>cnman@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>zwl508 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>hangzhouyang </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>99BT工厂 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>TorrentLeech.org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>MPCStar </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sharemovie </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sexav.tv </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>bbking </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>giga17100 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>QQ272286821 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>尤里 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>吴天@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>MyAV@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xa5\\\\xda\\\\xa9`\\\\xa5\\\\xdd\\\\xa5\\\\xeb\\\\xa5\\\\xed\\\\xa9`\\\\xa5\\\\xb9' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>牛丝社 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>汐 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>nvsdyi </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>oldman@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'dioguitar23\\\\xad\\\\xec\\\\xb3\\\\xd0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb6\\\\xe0\\\\xb2\\\\xca\\\\xc9\\\\xe7\\\\xc7\\\\xf8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lianghua@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>aiai2013 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>computerking123@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'dioguitar23(\\\\xb2\\\\xc4\\\\xa4\\\\xbb\\\\xa4\\\\xd1\\\\xc5]\\\\xa4\\\\xfd)@hotavxxx.com' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>梦幻天堂·龙网@航子(www.LWgod.cc) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dio99.com(第六天魔王)@最新AV海量免費播放~魔王在線 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>deatht </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>18P2Pjheang168 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>性吧发片部 ou89279546 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc4\\\\xfa' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>jasonchan@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://t.me/zongmange </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>asiamarket@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>huanglaoda@xuhu </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>sxjjh7171 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>喜歡下雨天@SIS001 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Nikola </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>好人 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xcf\\\\xeb\\\\xb0l\\\\x85s\\\\xb2\\\\xbb\\\\x95\\\\xfe' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Wowshadow.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Fp </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>色花堂—FVG </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xba\\\\xda\\\\xb0\\\\xb5\\\\xca\\\\xa5\\\\xb5\\\\xee' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>xmq </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>kilin </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://mmgg.cctve.cn/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>UID: 661086 UID: 1258553 UID: 78965 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>WOLF字幕组 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>chaijoe@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://one2048.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lloveppp@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>(同城裸聊约炮) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'[https://tracker.0day.kiev.ua] \\\\xd2\\\\xf0\\\\xe5\\\\xea\\\\xe5\\\\xf0 0day.kiev.ua' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Ferech </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>SRD </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>プリズム☆ま~じカル ~PRISM Generations!~ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Blu-Ray </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wuaibin </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 1081189358 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xb2D\\\\xad\\\\xb7\\\\xae\\\\xf6\\\\xa4l' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>哆学家 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Forest of Good and Evil 1-2 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>DOBI </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>QQ:649020789 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 383208255 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>http://ehtracker.org/2135832/announce </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>shuangyuboy@第一會所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>№追风少年☆@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dontknowhat (TGx) </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>LAPUMiA.Org </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>fhm2888@第一会所 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://rips.club/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>魅影论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>最新网址 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>Zamunda.SE </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>整理不易,请保种 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://freeplay.space/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xacn\\\\xacn\\\\xad^\\\\xb6\\\\xaf\\\\xa4Q\\\\xa4K\\\\xa5{ \\\\xad\\\\xba\\\\xad\\\\xb6' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wo010101 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>abner166@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>dioguitar23(第六天魔王)原創 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>life小絮 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>tvboxnow </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>撸一发吧 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>haobu3455 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>anikaiser@18p2p </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'5Q \\\\xcb\\\\xae\\\\xe9\\\\xbf\\\\xcd\\\\xa4@\\\\xc6\\\\xe6\\\\xd1\\\\xc8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>javkiss </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>wangxiaowu005@www.SexInSex.net </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>lanyidong </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>www.preall.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>18p2p~海綿體 原創 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc1x\\\\xd3\\\\xc2\\\\xeb\\\\x85\\\\xcc\\\\xec\\\\xeaP\\\\xeb\\\\x85\\\\xe9L' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>吉时综合论坛 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>愛在黑夜 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>天使动漫 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>LJZ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>spider. </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xbb\\\\xb7\\\\xc7\\\\xf2\\\\xbc\\\\xab\\\\xcf\\\\xde\\\\xcf\\\\xc2\\\\xd4\\\\xd8' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>HHH </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>蜂鸟-日本同步-首发 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc5\\\\xb0\\\\xb0\\\\xae\\\\xd3\\\\xd7\\\\xd3\\\\xd7' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yakupe </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>UID-968398@18P2P </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'\\\\xc3\\\\xa8\\\\xba~\\\\xad\\\\xd1\\\\xbc\\\\xd6\\\\xb3\\\\xa1@\\\\xb4A\\\\xab\\\\xbd\\\\xa8\\\\xe0' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'lniklegend[\\\\xe3n\\\\xa4\\\\xeb\\\\xad\\\\xec\\\\xb3\\\\xd0\\\\xb2\\\\xd5]' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>JPopsuki 2.0 600921940 </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>https://exhentai.org/g/1701233/d6aed3161e/ </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>b'you15648g \\\\xad\\\\xec\\\\xb3\\\\xd0\\\\xb5o\\\\xb0e' </td><td style=\"text-align: right;\"> 1</td></tr>\\n<tr><td>yihyii@www.sogclub.com </td><td style=\"text-align: right;\"> 1</td></tr>\\n</tbody>\\n</table>'"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"s = monotonic()\n",
"def sources():\n",
" sources = {}\n",
" for sha1, torrent in torrents.items():\n",
" source = torrent.dict.get(b'info').get(b'source')\n",
" if source is None:\n",
" source = torrent.dict.get(b'info').get(b'publisher')\n",
" if source is None:\n",
" source = torrent.dict.get(b'info').get(b'publisher-url')\n",
" if source is None:\n",
" source = torrent.dict.get(b'info').get(b'comment')\n",
" try:\n",
" if type(source) is bytes:\n",
" source = source.decode().strip()\n",
" except UnicodeDecodeError:\n",
" pass\n",
" if source not in sources.keys():\n",
" sources[source] = 1\n",
" else:\n",
" sources[source] += 1\n",
" return sources\n",
"sources = sources()\n",
"sort = sorted(sources, reverse=True, key=lambda x:sources[x])\n",
"sort.remove(None)\n",
"print(monotonic()-s, \"s\", sources[None]/len(torrents)*100, \"brez ključa source, publisher, publisher-url ali comment\", len(sources), \"virov\")\n",
"from tabulate import tabulate\n",
"tabulate([[x, sources[x]] for x in sort], tablefmt=\"html\")"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "4bd1f517",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"...\n",
"8.8120769248344 s 284089 različnih tipov v 2515100 datotekah in 203.7606503055813 TiB\n"
]
}
],
"source": [
"s = monotonic()\n",
"def removeminorities(population, minrepr=0, ostalo=\"ostalo\"):\n",
" true = {ostalo: 0}\n",
" for key, value in population.items():\n",
" if value < minrepr:\n",
" true[ostalo] += value\n",
" else:\n",
" true[key] = value\n",
" return true\n",
"from mimetypes import guess_type\n",
"def ext(mime=False, minreprratio=0):\n",
" bycount = {}\n",
" bysize = {}\n",
" bysizerepresentative = {}\n",
" filescount = 0\n",
" bytescount = 0\n",
" for sha1, torrent in torrents.items():\n",
" try:\n",
" representatives = {}\n",
" for path, size in torrent.paths():\n",
" filescount += 1\n",
" bytescount += size\n",
" if mime:\n",
" ext = guess_type(path.pop().decode(encoding=\"iso-8859-2\"))[0]\n",
" else:\n",
" ext = path.pop().split(b'.').pop().decode(encoding=\"iso-8859-2\").lower()\n",
" if ext not in bycount.keys():\n",
" bycount[ext] = 1\n",
" else:\n",
" bycount[ext] += 1\n",
" if ext not in bysize.keys():\n",
" bysize[ext] = size\n",
" else:\n",
" bysize[ext] += size\n",
" if ext not in representatives.keys():\n",
" representatives[ext] = size\n",
" else:\n",
" representatives[ext] += size\n",
" except AttributeError:\n",
" print(sha1.hex(), torrent)\n",
" raise AttributeError\n",
" try:\n",
" representative = sorted(representatives, key=lambda x:representatives[x]).pop()\n",
" except IndexError:\n",
" print(sha1.hex(), torrent)\n",
" raise IndexError\n",
" if representative not in bysizerepresentative.keys():\n",
" bysizerepresentative[representative] = 1\n",
" else:\n",
" bysizerepresentative[representative] += 1\n",
" truebycount = removeminorities(bycount, minreprratio*filescount, \"ostale\")\n",
" truebysize = removeminorities(bysize, minreprratio*bytescount, \"ostale\")\n",
" truebysizerepresentative = removeminorities(bysizerepresentative, minreprratio*len(torrents), \"ostale\")\n",
" for data in [truebycount, truebysize, truebysizerepresentative]:\n",
" data = [(v, k) for k, v in data.items()]\n",
" return truebycount, truebysize, truebysizerepresentative, len(bycount), filescount, bytescount\n",
"print(\"...\")\n",
"bycount, bysize, bysizerepresentative, kinds, filescount, bytescount = ext(False, 0.0005)\n",
"print(monotonic()-s, \"s\", kinds, \"različnih tipov v\", filescount, \"datotekah in\", bytescount/(1024**4), \"TiB\")"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "82ab922a",
"metadata": {},
"outputs": [
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_device_pixel_ratio', {\n",
" device_pixel_ratio: fig.ratio,\n",
" });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute('tabindex', '0');\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;' +\n",
" 'z-index: 2;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'pointer-events: none;' +\n",
" 'position: relative;' +\n",
" 'z-index: 0;'\n",
" );\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'left: 0;' +\n",
" 'pointer-events: none;' +\n",
" 'position: absolute;' +\n",
" 'top: 0;' +\n",
" 'z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" /* This rescales the canvas back to display pixels, so that it\n",
" * appears correct on HiDPI screens. */\n",
" canvas.style.width = width + 'px';\n",
" canvas.style.height = height + 'px';\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" /* User Agent sniffing is bad, but WebKit is busted:\n",
" * https://bugs.webkit.org/show_bug.cgi?id=144526\n",
" * https://bugs.webkit.org/show_bug.cgi?id=181818\n",
" * The worst that happens here is that they get an extra browser\n",
" * selection when dragging, if this check fails to catch them.\n",
" */\n",
" var UA = navigator.userAgent;\n",
" var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n",
" if(isWebKit) {\n",
" return function (event) {\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We\n",
" * want to control all of the cursor setting manually through\n",
" * the 'cursor' event from matplotlib */\n",
" event.preventDefault()\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" } else {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" canvas_div.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" canvas_div.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" fig.canvas_div.style.cursor = msg['cursor'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * https://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" // from https://stackoverflow.com/q/1114465\n",
" var boundingRect = this.canvas.getBoundingClientRect();\n",
" var x = (event.clientX - boundingRect.left) * this.ratio;\n",
" var y = (event.clientY - boundingRect.top) * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,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uXNnF+A1a9bM1hocBAEIQAAC4RJAxIXLl9UhAAEIpBSBZ5991jp06ODRuMGDB+/22Zs3b25ffvmlC6qwxyeffGLFihWzihUrJpWIO/DAA61t27YR8Rkvp8WLF1utWrVyJFYRcfFSZz4EIACB3CeAiMt95pwRAhCAQEoSyE0Rlx5wskTiEHEp+WjwoSEAAQjETQARFzcyDoAABCCQPAT+/e9/e0Ts448/tttvv91ee+01K1SokF1wwQV233332eGHHx75MH///beNHDnSxo0bZ6tWrbLixYvbueee6+mRpUuXzvJDb9y40W699VZ76aWXPGVSUbDKlSv7uRs1auSpjfPnz99jjV27dvlrf/75p40YMcImTZrk59bxEn16LbhGpQgqwqb3CxcuvNtaderUsb/++ss/p0Ys6ZRKq1TKY/rIYMAsuLbMPrjev/vuu+3BBx80pZIqDfLOO++04cOH+yFBOuX27dudzeuvv+7Xvtdee1mVKlWsf//+1qJFi8jy2pf0o0GDBpF1FMXUOm+//bb98ccfdtxxx9kNN9xgV1xxReR8DRs23GONQYMGmT6ThiJ1Q4YMsQULFti2bdvs+OOPt5tvvtnatWsXOS6jSNy6det8P/7zn//Y3LlzrVKlSsnzEHClEIAABAogAURcAdxUPhIEIACBgEAgSMqVK+df1CWolixZYgMGDHCR9cEHH0SMR3r06OH1VL169fIv7BI3mrfffvu5ODrssMMyBSuxpzkSMVp38+bN/m8Jm/bt29tXX31lV155pa1YscJmzpwZWee0004zicdmzZrZO++8Y/369bO6deva999/bxIfEpISHkWLFrU5c+a46FGtnT5HMJYtW+Zi5P7777drr73WX84NERew7dq1q6dA/vDDDy5ad+7c6SItEHG//fab1wGec845dvTRR7tglZi+9957Pe3x8ssv92t+//337eyzzzYJMXHXkJgVw6+//trTJI844gjnUqJECRe8Sl+VaBQ3CawZM2Z4Pdttt93mTDUkwPXz5ptvuiiX4NUei+3kyZM9dTNtrWB6ESfxeP755/sa2oOs7gOePAhAAAIQyB0CiLjc4cxZIAABCOQJgUBoKGIj0RAMmYx07NjRhYB+B0KoZ8+eHlkKxocffuhf+m+55RYXaJmNgw46yLp16+bRvcxGZumUEhKXXHKJTZ8+3Vq3bh05PKjveuihh+zqq6+2HTt2uJCQGHr66acj82SiMmrUKDf1kLjRCFvESaQeddRRdt5557lwCsa7775rZ5xxhqWNoKXnIZGnKN5VV13lQjeIHmpeZumU4iPx++2331qZMmUiS0pcKcKpzx4I3sxq4iR0JYa1p3vvvXdkDUVlP/roI1uzZo1HONOKOH3ONm3aWJMmTeypp55yQc+AAAQgAIG8J4CIy/s94AogAAEIhEYgEHESRKeeemrkPBJE+kKvVLyxY8faww8/bBJw+oIvEZB2KBKkiJAiRZkNCSuJkT59+niUTOdK31ogMxF36aWX2osvvuhpmOlTCiVY6tev7y0LNPr27esi86effnLRIkGkOWeeeaZNnTo1cnlhiziljUpAPffccy5y0g6dWz9p3SmnTZvmQvOzzz6z33//PTJdokipkcHITMQdeeSR7hQpTmmHPrMinboeRdkyMzZZvny5p0AqXfa6667bbY3HH3/c917RUgm9QMQpWvfoo496dFPHZZTuGdqNy8IQgAAEIJAlAUQcNwgEIACBAkwgEHGKsiiVL+0oWbKknX766R7hueOOOzyFTymB6evfJMqU3qgoUGZj06ZNvsasWbN8rsSI+sappk3n0chMxDVu3NjTCzMbSjFUPZmGhMYJJ5xgjzzyiCn9U/VZShvUb0XFghG2iFME87LLLvPaMkXe0g6liEqcBSJOkToJvYsuusidO8VDkTAJZ9Ufpq29y0zEab5q+CS40w6dv169epGIamYibuHChS50sxqqtdNagYhT2qRSPyXeJe4YEIAABCCQfwgg4vLPXnAlEIAABBJOIFGROEW93nvvvZiub/Xq1V47JeMOCYd58+ZlKeKUKqg6t2Be+pMoVVM1ZsFQeqeiQhIXEkZKYdQ5ZRgSj4hTOuPs2bNNph1phyJQivZlZWwSTyROKaKffvqp1wOmjWYpAqm00FhEXLRInNg1bdo000icaupkhCITk7Qpq2k/txiLdSDiXn75ZRf2MmN55ZVXst13LqabhkkQgAAEIBAXAURcXLiYDAEIQCC5CESriVOdk8RE8CW/d+/eNnr06MiHVMPn2rVruyuiIm3xDEXiFAFSmqSGolGKHMnJMe2QkNE1SJRJoEUbisKpRk5GKIoS3njjje6gmXbEEom76667/HOpnkwiSUORJ0X6lH6YlYj79ddfrVSpUjHV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shNPPNFXnDRpku2111529dVX2+23326FChXy19etW2fdunWzN954w0qWLGl33nmn3XLLLXb99df7TyyDByMWSsyBAAQgAAEIQAACEMgLAnxXDZ86Ii6HjNOLuI8++si6du3q4m3x4sV25ZVX2qhRo6x79+5+psaNG9umTZvskUcesX322cduvPFG+/DDD23o0KFxi7gy10+1wkX2z+En4HAIQAACEIAABCAAgYJI4Lu7muXJx0LEhY8dEZdDxulF3IYNG2zJkiWRyFv//v1t+PDhNnPmTDvuuOPs+OOPt0WLFlnNmjX9zMuXL7dKlSrZfffdl6mI++9//2v6CYYejDJlyhgiLoebx+EQgAAEIAABCECgABNAxBXczUXExbi33333nR1zzDH2ySef2Mknnxw5Kr2Iq1Chgo0bNy7y/uzZs61ly5b23HPP2d57721t27Z1QVa4cOHInEMPPdQGDhyYqYj797//bYMHD97jShFxMW4e0yAAAQhAAAIQgEAKEkDEFdxNR8TFuLeJEHGqkbvooov2EHGHHHKIDRo0iEhcjHvBNAhAAAIQgAAEIACB6AQQcdEZJeuMlBNxioLddNNNNnnyZFNaotIalcpYq1Yt+/XXX61Xr172yiuv2NatW6106dJuOtK5c+dIemSw0Q0aNLC33nrLmjdv7jVtf//9t/eLK1KkiL3zzjtWo0YNn3rzzTfbXXfdtVs65dy5c23ChAl+HrUnUJuCAQMG2JAhQ2K6j8gzjgkTkyAAAQhAAAIQgAAE8oAA31XDh55yIu66667z1MaxY8dauXLlbMSIETZnzhyvTVNK48KFC+3xxx+3ww47zF/7448/7IILLvA6ttq1a9trr71mJ5xwgu27776mNMimTZu6UYncKK+44gr79NNP3bBEQu7rr792Q5Pff//dRZzSKs8++2x79913rUmTJnbppZfavffe6wYoJUqUsB9++MHXTT+oiQv/QeAMEIAABCAAAQhAIBqBvIpsRbuu/PY+Ii78HUkpEScxpdRFRcE6dOjgdP/66y8rX768pzJKeEm8pa1pC7Yg1nTKqlWrukCUkFNUrkePHpFInEScRJvE4o4dO7zFwLBhw/zcigK+8MILLu7SD2riwn8QOAMEIAABCEAAAhCIRgARF43Q/72PiIuNU05mpZSI+/zzz6169eomQaYoXDBatWrl4k71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BCAAgYJGAOFW0HaUz1NQCSDiwt9ZRFwaxrfeeqvNmDHDo2WVKlWyt99+26NpL7/8skngScQdcsgh1r59e5szZ46p1cCXX35pZcuW9dRIiThF1xShk1hTbZyMTvSa0ikl4rp162Yff/yxr6decRKCajNQr149F5AZpVRSExf+g8AZIAABCEAg/xNAxOX/PeIKISACiLjw7wNE3P8YKw3ysMMO8x5up59+eoS8RJfcJa+88koXcZMnT/YonISexFjp0qXtmGOO8fRIibhJkybZihUrXNitX7/eXSq1thqAB+mUzz//vM2dO9d7xy1YsMDr4/78809vSXDsscfusevUxIX/IHAGCEAAAhDI/wQQcfl/j7hCCCDicuceQMT9j7NSJBUVO+CAA3YjL3GlKNvw4cNdxCkVUgItGHpPjb4HDRrkZiaBiPv1119d1Enspa2f69Spk6dapm34rQbgSsdUBK9cuXJ77DyRuNx5GDgLBCAAAQjkbwKIuPy9P1wdBAICROLCvxcQcf9jrN5tp512mte+HX300RHy6gl3/PHHe+2a+sCVKFHCUyT1eq9evezJJ5+04sWLu0GJhKBSJ1euXGmBiNNc1cSpT5yib0qX3H///V0MBuPNN9+0s88+25599lnvFRdt8GBEI8T7EIAABCAAAQhAAAJ5RYDvquGTR8T9j/GWLVvcSfLxxx+3yy67LEJezpNKm7zooots3Lhx1q5dO3vuuefcbVIOlLfccoudeeaZPkcmKIMHD3YBp59ChQp5bZ3W3rRpk0f56tSpY4sXL/bXJOY0JNymTp3qKZV777131F3H2CQqIiZAAAIQgECCCRAFSzBQloNAASaAiAt/cxFxaRjfdttt7kx5zz33uDDTDSjRJjH22GOPeTql+sSp5q1Ro0be/0294N555x1Pg1QkTT3fZFqiNgJqHbBhwwZvBh60I5BgmzJlih8/evRoj8i1aNHCTVLef//9DHecdMrwHwTOAAEIQAACWRNAxHGHQAACsRJAxMVKKvvzEHFp2El8jRkzxh566CFPiVRNm1wl1bz7uuuucxEnU5LWrVu7GYmElyJ3SpWUoJs9e7anY953330u/GR6IkMUtSEIRJxq4l566SV/TwJu+/btbnzy4YcfWq1atTLcSYxNsn+DcyQEIAABCCSGACIuMRxZBQKpQAARF/4uI+KiMA4aecu8RCJOaZIyIVH7AP0EQ6Jt5syZLvw0r0ePHl5DJwOTk046abezqH5OolAulyNGjPAInloVZDaIxIX/IHAGCEAAAhDImgAijjsEAhCIlQAiLlZS2Z+HiItBxBUrVszFmCJmEnFVq1Z1Ada3b1/v7aYhEacUTL0mwafWAmoroOjesGHD7KabbvJ5jz76qLtYqiZO4q1///5eg/fuu+96DzoZo0QbPBjRCPE+BCAAAQhAAAIQgEBeEeC7avjkEXExiDi5U0p8SZBJxFWoUMFNSCTmlAYZiDhF38455xyvo1OjcLlcdu3a1VMs1V9OTcJ/+eUXF3gSfD///LM3+laLgZo1a3qqpsxSog2MTaIR4n0IQAACqUeASFnq7TmfGAL5lQAiLvydQcTFIOKUPinzEpmW9OnTx10llTL52muvueukInQSZqqnO/HEEyNpl0qtnDBhgnXp0sWPkYNl5cqV3cjkjz/+sFdffdXq16/v7QrUZ27NmjW211577XFFpFOG/yBwBghAAALJTgARl+w7yPVDoOAQQMSFv5eIuBgZS7x98803NmfOHG9FMH/+fLv88su9B9zmzZvthhtusJ9++sl27txpd911lztQ/vjjjxYIsFatWnkbAQ39luHJ+vXrrUiRIm6cIpMUGaJkNDA2iXGTmAYBCEAghQkg4lJ48/noEMhnBBBx4W8IIi5Gxkp1VO2aUiOV8igBJmG37777eoqlhJyEm4xK9DNq1Cg3NFFvOBmgqP/brFmz/GyKwh155JEepZMjpdoTqFH4qaeemuHVZBaJ++2330z1egwIQAACEIAABCAAAQjkFwKIuPB3AhEXI2MJpkMPPdSFnNInp02b5i0FZFqiXnCrVq3aYyVF2BSt6969u11wwQUu4hRV0++iRYt6Ldxff/3lf69evdqdLWMZ1MTFQok5EIAABAo2ASJvBXt/+XQQSGYCiLjwd69AijgJIzXsVu2ZTEniHWrgrXo3pUimrVFTpEzCS026r7nmGo/AKaKm8ylCV6VKFRs4cKAblGzbts1r6L766is3OdG1BCJu5MiRVqlSJX+vZMmStnXrVjv33HNNrQcyGtTExbuDzIcABCBQ8Akg4gr+HvMJIZCsBBBx4e9coeeee25XmzZtPP1PP2pKHfRG07+TcUh8qQWALPxl/R/PkDCrXbu2C7Xzzz9/t0PVPkDiUD3dTjjhBH9Ppidr16719EqdS3/L3EQ3b4kSJaxOnTo2b948XysQcaqjW7FihZ1++ul+nePGjbNu3bp5DZ1EXfpBTVw8O8hcCEAAAqlBABGXGvvMp4RAMhJAxIW/a4X+ES27lManyJHSBGXaIRv8ffbZxw466KCoVyDRp75oGY1q1arZk08+meUasRyvlERZ8Wc0JIzKly8feWvGjBkuwF555RU3DdGI9Xi1ENBnad68uadAZmfIaVKRvPfff9/5qe5NNXGqmdOQIBOTlStXRpZXqqb2QNE8pWCmH0TisrMTHAMBCECgYBNAxBXs/eXTQSCZCSDiwt+9HKdTLlu2zN0YJVbSj9NOO83FTFYjluMzW6dTp07eLPu4447L8hw5PT7WbVCETQ6T6h1XsWJFPywWERfc6HK8VMuBaIMHIxoh3ocABCAAAQhAAAIQyCsCfFcNn7yLOEV6rrrqKnvzzTc9LbBs2bLWs2dPu+6666JeQSwiTIssWbLE+vXr5/3WFPFSGqIEjurJoonAWESYPsOAAQM8hVJGI/oMEnhqth3teLUGUN+39OOKK67IUJxmBGX69Ol2ySWX2EsvveQNv4ORkYiT2JORSalSpXzayy+/7OmWmaVTpj8fxiZRb0smQAACEEh6AkTakn4L+QAQSFkCiLjwt95FnNIoZbbRrFkzr+N69913vY/Z+PHjrV27dlleRSwiTuJEqZWqtbv55pvdFn/hwoVWt25dF3SJEHHt27e39957z1Mpq1ev7m6RasSt16OJuAoVKngKaTCWLl3qourBBx/0Rt3RhmrkVPt24403uuFJMNR+QH3l0qdTirXq4fRbN7nq4dQnTgI0o0E6ZbQd4H0IQAACBY8AIq7g7SmfCAKpQgARF/5OZ5pOKTGiqNw/xic5FnG33HKLTZ482b7++muvtUs7YhGB0URY4cKF3Rny1VdftUaNGu1xvdGOT5uO+fPPP7sga9q0qYu4WIaibZ07d95jqurblPKZXsSpjq9Hjx7eKFxGKLq+uXPn2iGHHJLh6TA2iWUXmAMBCECgYBFAxBWs/eTTQCCVCCDiwt/tiIh75JFHbOzYsfb99997M+o///zTUx5V35XViEWEKaolw5SJEyfusVQsx0cTYTI9kZ2/rju9SNQJox0fiDildjZu3NgkCmWMogbd8YxYXD2DPnEyP9GQo+XMmTMzNYfRHCJx8ewCcyEAAQgUDAKIuIKxj3wKCKQiAURc+LvuIm7q1Kmm+i/Z5yvNT66Kd999t33wwQfutJhTEacWBgceeGBoIu7bb7+1Vq1a5VjEKa3xjTfesEWLFnlaaTxDEbf0InXw4MEmcfzFF19E1lPEUOmlurmVxinRHIxy5cp5i4dogwcjGiHehwAEIAABCEAAAhDIKwJ8Vw2fvIu4a6+91htPv/7665EzKi1RNWWJEHESMxI4YaVT7rfffi6IFD3Lbjrlvffea4MGDfK6OvV5i3eoTcB5553nxw4ZMsQPV/SxXr163hBc0TYJOqVW6lrFe+PGjXbEEUd47aGafauxuI5JP4jExbsbzIcABCCQfwkQYcu/e8OVQQACiSGAiEsMx6xWcREnM5CBAweaInLHHHOMPfXUU3b//ff734kQcaozUwRKNWIyNilevLi3HlBT7UQZm6gmTSJU1y1jE0W45FIpY5Zo6ZRr1qxxEaUauBYtWkR4FS1a1K811pFROqX6wSktVW6fY8aMsccee8zUSy4YQTqlxF3wk/581MTFugPMgwAEIJD/CSDi8v8ecYUQgEDOCCDicsYvlqN3azGgaJFEhazyJV5kl59exMnJUk20g3qxWGradCGqW7vppps8WqahCJUMQVR7lwh3yu3bt1tgoCLRqBYD+rfEXTQRJ9MVRQvTj3haDOjYzGriJNxkZCKnTJ0r7QhE3BlnnGEHHHCA7b///ntcB5G4WG5l5kAAAhBIDgKIuOTYJ64SAhDIPgFEXPbZxXpk3M2+X3vtNU8NDJwbYxVxwQVt3brVe7KpjYFMSGI5PpoIyy/NvjMTcZdeeqmLt5o1a9qCBQt2M0yJxdgk/WbyYMR6ezMPAhCAAAQgAAEIQCC3CfBdNXzicYk41Yupjuvyyy+3zZs3+9XFIsKCjyHTjh07dnjdmoTgKaecEtPxySDi5s2b5xHMbdu2uYmLDGKUprp48WJ3ztR7aqYu8xRF/cQxaPYtgdenT59M0ykzE3Flrp9qhYvsGbkL/7bhDBCAAARSiwDRs9Tabz4tBCCQMwKIuJzxi+XouERc8+bNPb1SNV3Dhw/39VV7JvfJjMZJJ53kph3BUG3X0KFDXbzJBVLpg7Ecr5RIOTxmNKZPn25ydcxq5OT4E044YTcHybTnkQmJxJjGzp07TS0KVOOnJt8aSoPUv2VY8vfff3saqtI+jzrqKFPKp+Zr6H0dr8jkuHHjdquZC9bRWsHQg1GmTBlDxMVyizMHAhCAQM4JIOJyzpAVIACB1CGAiAt/r+MSceFfTv47g0RmILbSX51EV9r3Vq1aZf369bOlS5e6gNOoUaOGPfTQQ6aaNxnGqCG5DFgOPvhgN3aZMWOGC71ff/3VihUrZjJZUYuHtANjk/x3X3BFEIBAahFAxKXWfvNpIQCBnBFAxOWMXyxHI+JioRTDnBUrVtiAAQPcdVOtGRR5kwnMiy++aGp2rh+ZrajNgMSe2gwoqik3TLlSjho1KtN0SoxNYtgApkAAAhAIkQAiLkS4LA0BCBQ4Aoi48LcUEZcgxlWrVvUUR9XvPfPMM7Z69Wp33qxWrZqbuKiHnJqnS+gpFVXCrG7dujZ//vzdrkBRuWiDByMaId6HAAQgAAEIQAACEMgrAnxXDZ88Ii4BjFXfdthhh7lZy0UXXWQjRoyw0qVLe4+6K6+80u655x5vMSBxJwfLH374wVRfqN586mmnOWpD0L17d38t2ggeDGriopHifQhAAALRCRBli86IGRCAAATiIYCIi4dW9uYi4rLHbbejlDp5xBFHWJ06dWzu3Lku1u677z5btGiRC7uWLVtap06dbMqUKVa5cmU3aZFTp9IrS5YsaevXr/co3o033ugplekH6ZQJ2CSWgAAEIJAJAUQctwYEIACBxBJAxCWWZ0arIeISxFj983r37m1ff/21r6hm5kqVlJmJ+sRJxH322WdeB1e/fv1IGmUsIg5jkwRtEstAAAIQyIAAIo7bAgIQgEBiCSDiEssTERc+T3eaVA3cK6+84lG4n376yWvh1BtOvfVmzZoVuQo5WyoCp0ic3CnlWJnRIBKXCxvHKSAAgZQlgIhL2a3ng0MAAiERQMSFBDbNskTiEsi4fPnyuzlMqvdb0aJFrWHDht4bbuLEifbwww/bSy+9ZIrc9e3b1/vCqa1AViIu/SXyYCRw01gKAhCAAAQgAAEIQCChBPiumlCcGS6GiEsgYwk19YVT1E01corAtW/f3i655BJv5C0Rp9eHDRvmBidq8t22bVtbvHixLVmyxN+TQUr6QSQugZvEUhCAQIEkQDStQG4rHwoCEEhSAoi48DcOEZdAxkcffbQ37JZbpW7ecuXKea+4bt26uZGJRJyMS2R6Egw1Ar/mmmusSJEi3nYgoxYD1MQlcJNYCgIQKJAEEHEFclv5UBCAQJISQMSFv3GIuAQyTp9OqaVPPvlkd6eUECtUqJBNmjTJOnbsGDnrW2+95emW1MQlcCNYCgIQSDkCiLiU23I+MAQgkI8JIOLC3xxEXAIZV6hQwa699lq74YYbIquecMIJ3jsuEHFBy4FgQiwiLv0l8mAkcNNYCgIQgAAEIAABCEAgoQT4rppQnBkuhohLh+X555+3yy67zH755RcrXLiwtwQ45ZRT3ITk7rvv9tlq3K2bs2nTpp4eqehanz597Ntvv7VKlSrZxx9/bM8995wNGDDAG3vXqlXL3nvvPdt7772tdevW9uOPP9r777/vawUirmrVql4fp3q6aINm39EI8T4EIJAMBIieJcMucY0QgAAE4ieAiIufWbxHIOLSEfvtt9/s0EMPtQ8//NBOPfVUGz16tN1xxx12zDHH+GsaVapU8WjbfvvtZ1deeaWblAwfPtzuueceb/Rds2ZNX2PHjh3ebkC1bnr94osvtlGjRrnwW758uVWsWDEi4rSuesypGXj6gbFJvLc18yEAgWQggIhLhl3iGiEAAQjETwARFz+zeI9AxGVATOKtQ4cOHl1r1aqVR9IUIdu0aZMblciFcunSpR5N69y5c0SQ6YZV1G7lypVWunRpF38yMdm6das1atTIHn30Ue8dN2jQII+6KVIXROJ0nCJ4GQ2MTeK9rZkPAQgkAwFEXDLsEtcIAQhAIH4CiLj4mcV7BCIuA2ISb998843NmTPHDj/8cJs/f75dfvnlLsrUsFtRODXxnjBhgjtLStgFQwJNqZRqGRCMK664wrZs2WIzZszwl0aMGOH94ZYtW+ZulKqlU3Tuuuuuy3D/iMTFe1szHwIQSAYCiLhk2CWuEQIQgED8BBBx8TOL9whEXDpiqolT2qP6uilKdvbZZ7tzpKJziqbpbzXqrl27ttfEychEUbRFixZ5j7dSpUrZH3/8YZ9//rmvLMdKpVZu3LjRjy1RooQNHDjQunfvbvXq1fMUze3bt9u8efN8vVgGD0YslJgDAQhAAAIQgAAEIJAXBPiuGj51RFw6xqqJO+SQQ7wdgAxOZGwiI5KDDz7YBZiEmKJxQXqlUiKVMtmsWTMXam3atPEaOBmjBCJu3bp1dvzxx9u0adN8roxQZHJyxhln2EEHHWSvv/66r63onc4bbWBsEo0Q70MAAvmdAFG4/L5DXB8EIACB7BNAxGWfXaxHIuIyIKWo2/r16z1lUi0C2rdv7y0CNP766y//rZq4rl272uLFi120BaNLly42fvx4j8bJ+ESRuL322stOOukkmzVrlq+pmjqJvk8++cT+/PNPT8mUKJTYK1my5B5XRDplrLcz8yAAgWQhgIhLlp3iOiEAAQjETwARFz+zeI9AxGVATDVxElwyKClevLgtXLjQa+IUgZO5icSZRN7RRx9ta9eutQMOOCCyigSXXCm/+uorj75JxCnNUkYnWlM1cGpdIKF31VVXucD74IMPXOR99tlnVq1atT2uCGOTeG9r5kMAAvmdACIuv+8Q1wcBCEAg+wQQcdlnF+uRiLgMSAW94lQT16RJExdsEnb77rtvJJ1yypQpLtIaN25svXv33mOVsmXL+nyJOJmW6CcYSplM2/T7u+++8xYGisydfPLJe6xFJC7W25l5EIBAshBAxCXLTnGdEIAABOIngIiLn1m8RyDiMiAW9IpTTZycJ1XLduKJJ3oUTumPMiIpVqyYHXHEEe5eqZo2Ren69etns2fPNh1/7LHH2l133WW9evXy4yZOnOj1choScTpe8zTkWqn3FPGrW7du1D2kJi4qIiZAAAL5lADiLZ9uDJcFAQhAIIEEEHEJhJnJUoi4TMCoLk7pjWr2rZo1mZCocbfG3Llz3cRErQOKFCliqoNbsGCB18FJ+KmRd7t27TxV8uqrr/aUzPr169uYMWM8kie3yv33398dLatWreri7+677yYSF/79zhkgAIE8JoCIy+MN4PQQgAAEcoEAIi58yIi4TBj37dvX7rnnHvvyyy/d3OSss85yExOJL6VXKpqmNgNKqdQcNerWe4rAyQjllltu8ZWVTlmjRg379ttv7YsvvvBIXcuWLe20005zwdezZ08XeO+8806mIo6auPAfBM4AAQjkDgFEXO5w5iwQgAAE8pIAIi58+oi4GBlLxEnMPfjgg5EjWrRo4a0BjjvuOH/9+++/j7yntEvVxGlIvFWvXt02bNhgQ4cO9QidauYUvXv66ae9pcHUqVO9/k7iUMYnaQc1cTFuEtMgAIF8TwARl++3iAuEAAQgkGMCiLgcI4y6ACIuKqL/myARJ9ORUaNGRY5QRE3945R6edNNN1m3bt1cuD355JMu+CTy5EK5YsUKb0OgZuEScnfccYeVKVPGm33v3LnT0zAVwdM8RexkcpLV4MGIcdOYBgEIQAACEIAABCCQ6wT4rho+ckRcjIyzEnGdO3d2kad0StXPqX+cWgnMmzfPI3BKqVT9nGrstm7d6nVxavKtn23btnmLgpdfftmjempFkLZlQUaXh7FJjJvGNAhAIM8JEHnL8y3gAiAAAQjkOgFEXPjIEXExMs5KxE2YMMEjcnKbVO83GZUsW7bMUyPPPfdcP4NMTdRmQK+pj5yGIniqpZPA0xqZDdIpY9wkpkEAAvmOACIu320JFwQBCEAgdAKIuNARGyIuRsbRRJzcKz/88EN3q1SKpNIjO3ToYG+88YY3/lb0TWmTGorGKdqm95999llTX7rmzZtneiUYm8S4SUyDAATyHQFEXL7bEi4IAhCAQOgEEHGhI0bEJQqxRJ6iakOGDPGIm0xOZHiiyJzcKtVWQEYmSrWUoFPkTtE3zVWPuawGkbhE7RLrQAACuU0AEZfbxDkfBCAAgbwngIgLfw9SOhKnCJhs/n/55Rd3hPz000/tlFNOMbUXUN82jR49ephuREXM1Ceuf//+3t/tsMMOs1atWtmwYcM8qhaIOBmcLF261Bt4S3zJCOW6667ztWRoMmDAABs5cqS99tpr/qOo3ZQpU+yiiy6Kebd5MGJGxUQIQAACEIAABCAAgVwmwHfV8IGntIhTDZsiZEqDVH2aGntLaMkdUq9pVKlSxW644QZv9l23bl27/fbbrVmzZt7su1evXm5cIgfKQMTpGPWIU/84uVeqBk4RN/2++eab7ccff/SWAiNGjLBNmzaZUiVVI6c2BDomloGxSSyUmAMBCOSEABG0nNDjWAhAAAKpTQARF/7+p7SIE16JN9Wm9enTxyNrtWrVssGDB7vA+v333+2oo47yyJr6uxUtWtQeffTRyK4oPbJBgwZuTPLUU0+5GJPQW7hwoc+57777XNCpZ1zjxo2tY8eOdvnll5vcLMeNGxdJp1TapRqCP/TQQxnuOOmU4T8InAECENidACKOOwICEIAABLJLABGXXXKxH5fyIk7i7ZtvvrE5c+bY4YcfbvPnz3ehpYicatUUhfvpp5+879vy5cttn332idBVGwG1CNh77739ONW+qeZN0bVgKLqnlMpVq1b5S4rITZw40c8RDJ1DqZxvvvlmhjuHsUnsNzQzIQCBxBBAxCWGI6tAAAIQSEUCiLjwdz3lRVxQF/fWW29ZkyZNbP369R6VU9NuGZBIyKlmTamOiqb17t17t11RBE7plKtXr/Z+cF26dLGBAwfuJuIk5FauXJmliFMPOTlZZjQyi8QpHbRYsWLh3yWcAQIQgAAEIAABCEAAAjESQMTFCCoH01JexAV1cTI4UfrktGnTbPbs2W5YIhEnU5KePXt6KqQicq+//noEd6dOnTyqFgxF2RSpGzRokKdRakgYysBEjb/1t+aoqfedd97p0b6ff/7Z0zRVP/fEE0/EtJXUxMWEiUkQgECMBIi6xQiKaRCAAAQgEBMBRFxMmHI0KeVF7ikXoAAAIABJREFUnOipLk6RMEXMrrnmGhdvRx55pP3111+2ZMkSq1q1qn3++ed22mmneT1b9+7d3ZFy8eLFfozMSuRYWbt2bRdl27dvt6lTp3qbAUX1JNBmzpzpGyURp6E6uLvuustflxCUWcoLL7yQ4WZSE5eje5yDIQCBKAQQcdwiEIAABCCQSAKIuETSzHgtRNw/XNRS4J577rEvv/zSa980Tj75ZFu7dq2nVwbCS0Lt1ltvtffee89UD1exYkUrXbq0C73vvvsukk755JNPevqkGn+rH5zq4fbbb7+IiNN6Z555pjtglixZ0i6++GJvaSAxqH+nH9TEhf8gcAYIpDIBRFwq7z6fHQIQgEDiCSDiEs80/YoFTsTJCVL1bLk1ZFqiH4m4YPzxxx924okn2g8//ODRumrVqkXek4A74ogjXBwGQymdEnuqy5PbZfpBJC63dpPzQCA1CSDiUnPf+dQQgAAEwiKAiAuL7P9fN+lFnPqzSTBJuCkCpkja22+/7Xb9cpyUMFJ0S33Z0jbUVuNu1botW7bMj7/tttu8xcAnn3ziUTgd17BhQ69lU4NvzTv99NNt8uTJ9tFHH9mNN97okbNjjz3WUyiVOqn2A0OGDPFjlFqpdEylSz7++OPeG05pkxJxcrN84IEHIjVxqpVTHZ4cLuvXrx9113kwoiJiAgQgAAEIQAACEIBAHhHgu2r44AuEiJOouvrqq93eX2mOcpKUeYhqziSK5CApo5KgofaWLVs89fH888/3BtwSYNdff723Gkgv4lQHN3LkSNt///2tXbt2dvTRR3uapNbeunWrnXvuuREny19++cUFY9myZT1dUnVvStNUpE31boGxibZVzcMl5HSTK51SpilK38wonTL9bYCxSfgPBmeAQKoQIAqXKjvN54QABCCQewQQceGzLhAiTiJJ4isYinZdddVV9vDDD0dekxgLGmo/8sgjHnlbs2ZNpFZt7NixbliSXsTJWfKcc87xdSTcJPpWrFhhFSpU8NfU3FvHKIVSQ5E5pUoqSnfggQe6kFP7ATlf7rXXXqbIoSJu9erVszFjxriIC6Jv69aty1DEkU4Z/oPAGSCQqgQQcam683xuCEAAAuERQMSFxzaid/6JXO0K/zThnUGiqFKlSp6ymFbEZdVQW8210/dlk/tk9erV9xBxGzZs8CbgGuoH16tXLxdkwWjatKmnXkpo6XejRo1cGCrFUhG7OnXqeCNv1c0pWqjrlTGK/q0WA4reyc1SI7OaOIxNwrt/WBkCqU4AEZfqdwCfHwIQgEDiCSDiEs80/YoFIhKnGjaJomgiLhBuSp1UamXanm96T+ukj8Sp3YBMRzQmTJjgaZdqAB4MCaxZs2a5UNNQRE7tCTS3Vq1aVq5cOW8/oDYGGoGIk+hLe736O7OaOCJx4T8InAECqUoAEZeqO8/nhgAEIBAeAURceGwj+qEgROIyEnGKesncJBgyJTnllFP8NaVTDhgwwNMpFS3TUKPtbt26ZSnilP6o5t+KoAXNvHWMjn355ZdNZikSdOohJzG4Y8cO/3vTpk1eG3fvvfd6hE6vK92yVKlSfm6lfxYuXDjTFgPpbwMejPAfDM4AAQhAAAIQgAAEIJA9AnxXzR63eI4qsJG4ww47zIYPH+4GI08//bQLL0Xf1LhbN9YxxxxjzZs3d+dJ1awpwiYHSkXUlFYZuFOmj8QpnVJtDCTYVO8mExPVum3cuNEUlZNYk1j84IMPPA1ThiVKsaxcubI3Er/wwgvdQEVROqWABjVxus533nknpr3D2CQmTEyCAAQyIEDkjdsCAhCAAATCJoCIC5vwP0GgghqJe/DBBz0qpnYDcnyUKYlcIIMhEaZonYTbSSedZH369LEOHTr4v6tUqRIRcZdccolt27bN1wrSKTt27GgyPJEQe+WVV+yoo47yGjuJuKBpt8SijEpkYKJ+cTJDUbRNc3QtcrVUmmVQEycHzUsvvTTDHSedMvwHgTNAIFUIIOJSZaf5nBCAAATyjgAiLnz2SS/iMkKk9ET1Z2vZsmXMBBWt69y5s7cDKFq0aOQ4/VveL0FdnN7IrJm3BNq0adNsyZIlkeOvuOIKT6d88cUX/TXNUcuCK6+80tMrNaJdL8YmMW8jEyEAgSgEEHHcIhCAAAQgEDYBRFzYhAtAJC67Ik6NwdUmQH3fFEVTmqRMRyZNmhSVukRazZo1I828L7jggohAS2tyohc7derkRih6Pa2IUy1dYMYSTcRlFomTwCxWrFjU62UCBCAAAQhAAAIQgAAEcosAIi580ikbiRsxYoSbnKhmTemQitrdeeed3tQ77UgrwiTy1Ehc0TbdnHvvvbdH0ZQqqZRNRcwUAVTbAUX2JN60ntIzFyxYEBFxSqfcZ599bOfOnT5XAk/z0rYuyGrrqYkL/8HgDBBIRgJE2ZJx17hmCEAAAgWPACIu/D0tkCIukdjSizjV0ind8o033rCvvvrKI20nnHCCqc+cRNzo0aPdPEVCTe6T7du3d6dK1dqpn93ChQvdbEU/crVUbZ0MT7IScdTEJXJHWQsCBZcAIq7g7i2fDAIQgEAyEUDEhb9bBVbEKWqWvvVAdnCmFXFaT6mXMkuRYYlGz5497dFHH7UHHnjAli5dampDkLZ9gI5XPVz37t1t6NChbq7y6quv2mWXXeZ1dorCac2sRBw1cdnZOY6BQOoRQMSl3p7ziSEAAQjkRwKIuPB3BRGXBWO1EpABSVDTJmGo1gRqDaBUSo3Zs2db27Ztbfv27TZjxgxr166d94ZLOxRJa926tU2ZMsXbD7Rq1coGDhzokTuJuC5duvi/0zYRT3982ubgejDKlCljZa6faoWL7J7+Gf4twxkgAIH8SgARl193huuCAAQgkFoEEHHh73eBFHGKfk2cOHE3eqtWrbLvv//ebrrpJo98HXrooSbnSPWPCwSZRNqJJ55o++67r8n4RGmSSp1UI+958+a5WFPd2uuvv+4mKGonoL5wGzZs8DYF55xzjkfiZHyyePFibxmg61D9nermJODUd06tDCTC5IaZdowfP97TM6MNHoxohHgfAhCAAAQgAAEIQCCvCPBdNXzyBVLEybXxvPPOc0E2ZMgQpygTETXclki69tprvUZNKY6qR1NETEPC7KOPPvL+cV27dvXWAmoCLhFXrVo1nyMRp0beag+gyJte//jjj+3WW2/1qN1ff/3l6ZY6X8OGDa1OnTredFyNv6+66iqvozv99NNt6tSpNmDAABeHahquFEuZrKRtb5DZ9mNsEv6DwRkgkGwEiMIl245xvRCAAAQKLgFEXPh7WyBFXCDI0tbESWRNnz7d69bkKKkhd8p//etf3htOjbgl4vS3jEiCoabcEnFKe7zvvvtc5EkIPvbYY3bLLbdEonE9evQwtQ2QUYnWV8qk5vfv399r3xSp02jWrJmfS1E8RQe1rvrOSfQpSpfRwNgk/AeBM0Ag2Qkg4pJ9B7l+CEAAAgWHACIu/L1MGRGnmrTixYubUhaDobRKCT2lWZYtW9ZFnBwkVfOWXsStWbPGOnbs6CmWipgpCqehVgH6kXBTDV316tXt/PPPt4cfftg2btzoaZsNGjSwwYMH244dO6xGjRruXKm0y/Xr17uhSb9+/dwYZd26dRnuOMYm4T8InAECyU4AEZfsO8j1QwACECg4BBBx4e9lyog4RcYOOeQQGzduXITqp59+6nVqq1ev9hq1jBwtVeemdgKKkqmXnETfJZdcYqeddpq99dZb3iw87ShSpIivNXnyZJ+X1skyOJ8icOXLl48Ym9SqVcvTO4M0zKBGL1iXSFz4DwJngECyE0DEJfsOcv0QgAAECg4BRFz4e1lgRVyTJk28ybYiXhqZpVMq3VGukEE6ZZCCqajZN998Y2effbZHzNKKuNtvv91r3BSxU3ROqZH6+4cffrAjjzzSlFpZsWJFF3Fjx471fnCqm5PgW7lypd18883eP07NxdU4XKJN761du9ZTN1VLl9XgwQj/weAMEIAABCAAAQhAAALZI8B31exxi+eoAiviZDKiyJcMRA488EBTNEvGJnKE7NWrl3399ddew5be2CQQcTq2bt26blwiI5O0Im7UqFF222232SOPPOLGJQsWLLA+ffrY33//7cYmakOgc0rEqeH3/fff7w3AJSRnzpxpjRs39mvTmhKLEoSqz9McicASJUrstodE4uK5pZkLgeQjQBQt+faMK4YABCAAgcwJIOLCvzsKrIhTFE0tBFT3JuOQWFsMpG8QrpRJRcYkuGRQEgw5VyoCp0ieoniqfVO9m8xO6tevH0mnHDRoUMT98tRTT/WInMxUlG4pB00JQfWVk+ulXDMl+NIPauLCfxA4AwTykgAiLi/pc24IQAACEEg0AURcoonuuV6BFXHhozP78MMPPRKnFElF39KO7777zl+bP3++izoN1dzJIKVevXr25ptvWvPmze3BBx/010qXLu1ROtXdpR9E4nJjNzkHBPKOACIu79hzZghAAAIQSDwBRFzimaZfERGXA8ZffPGFp1vGK+Ik6mSWEog4RflkupKZiEt/iTwYOdg0DoUABCAAAQhAAAIQCJUA31VDxeuLI+JywHj79u2eRqkUSNXXpR1q6q12BGo/oBq3vn372pw5czydUk2+VQOXUxFX5vqpVrjI/jn4BBwKAQjkNQGicHm9A5wfAhCAAAQSTQARl2iie65X4EVckNaoBt6qd0v0UP+30aNHm8xOzjjjDO8Nt2TJEk+XfPrpp+2II45wN8rZs2e7AYr6ycmFsmbNmjGLONIpE71rrAeB/EMAEZd/9oIrgQAEIACBxBBAxCWGY1arIOJyyFiOlMOGDfMWAxJnRx11lDtgDh061J0qn3nmGRd5EpH6t/rVTZ8+3fvExRqJw9gkh5vE4RDIxwQQcfl4c7g0CEAAAhDIFgFEXLawxXUQIi4DXDt37vSImVwnszPkiKmo3/fff29ly5aNLKHG4g0aNPConUTc9ddf7z8aOh/GJtmhzTEQSG4CiLjk3j+uHgIQgAAE9iSAiAv/rigwIk4RsYyabqsZt1wiFf1S42/1fKtUqZJb+59++ulOeMKECS6mJk2aZP369fMm399++623FLjuuuvs+eef9z5zEmCqf9Px6Y9Tnzg1+z7//PO9Z5x6zKmBt1oHXHrppS7clEKpNfS7a9euvoYMTdRQ/Nlnn8XYJPz7nTNAAAIQgAAEIAABCIRMABEXMuB/li8wIk6915TSeN9999mZZ55p69ats2XLllmjRo1cxB133HE2cuRIF2Bqur1o0SJbvny57b333i7i1By8Vq1aLgRlRCLL/w4dOriYe/TRR61YsWLe323FihUm0xIZlgTHqXXA8OHDbcuWLda6dWurXr26qb+c1lKD8TZt2riRSe/eva179+7uaKk6OZ2zWbNmdsMNN9j7778ft4jD2CT8B4QzQCAMAkTfwqDKmhCAAAQgkF8IIOLC34kCIeIkng4//HB74IEH9nCJDIxNxo4dG4l+Bc6RS5cudXEnMaY6tk8//dQFmIbEmwTYwoULPaqm8fPPP1uZMmVs4sSJdtFFF0WOkxhUZE0plHKsfOqpp+ySSy6xV1991caNG2cDBw70CKAE41VXXbVHOqUEZe3atb1+TselHxibhP8gcAYI5CYBRFxu0uZcEIAABCCQ2wQQceETLxAiLpam25qjSJuG+rKpNUDQiFsirkePHi7AVJumoXYAiqDptb322iuyE6prkzmJhJmOu+aaazxlUtE4ibjixYvbc88956Lt6quvthkzZphSPXfs2GHlypVzM5MrrrjCnSyLFCnir+v9bdu2earmtddeu8euY2wS/oPAGSCQmwQQcblJm3NBAAIQgEBuE0DEhU+8QIi4WJpup20xsHnzZq9FUxsAia+gJk6vB0MtAdq2bbuHiJNQk7hTr7e0xwUiTnV0s2bN8qheMDp16mRTp051x0qlU8rUpEmTJh6VUwRx9erV1rRpU3ewzKgNApG48B8EzgCB3CSAiMtN2pwLAhCAAARymwAiLnziBULEZdV0O6M+cbGIuKzSKR977DF75ZVXbMqUKd42QLVvMj+RAJOIUyROdXivvfaalSxZ0lMwFy9e7CKuXr16bmwiIxWZraxfv96KFi1qv/32W6YiLv1twIMR/oPBGSAAAQhAAAIQgAAEskeA76rZ4xbPUQVCxOkDZ9Z0+5xzznFBFW8kTmu2bNkyYmxy0EEHWf/+/d0MRW6Sc+fOtYsvvthNT+Q4KSMT1cVJxN17772eOimxt++++9p5553n9XT33HOPyS2zVKlS3r7g4Ycftl27dtmQIUM8GkckLp5bl7kQyJ8EiLLlz33hqiAAAQhAIPcIIOLCZ11gRFxGTbeVriijkOyKONXOqcWA6uP+/PNPq1+/vt11111Wp04de/LJJ+2PP/7wiNrKlSvdzVJuk+oxJ4MVuU1qnoZq6JRiKedMzVfLAUXxVGtXo0YNd6q88MILMxVx1MSF/yBwBggkigAiLlEkWQcCEIAABJKVACIu/J0rMCIufFT/d4ZojbwbNmzoEbyMhsxMFixY4P3k9LeicOeee673lrvgggvcvTKjQU1cbu0u54FAzgkg4nLOkBUgAAEIQCC5CSDiwt8/RFycjGVYIofK77//3sqWLRs5Wq8prVIGJ2o/oPeVMqnx5ZdfWuPGjd3JUlE6DUXx1IJAdXPTpk3zaKHcMtV/LtrgwYhGiPchAAEIQAACEIAABPKKAN9VwyePiIuT8datW709waRJk6xdu3Z+tNIulU4p50m1FVDvObUYUO83DbUUUPqlauUk9hSty2h89NFHnl4ZbQQPBs2+o5HifQiES4CoW7h8WR0CEIAABJKTACIu/H3L1yIuI+v/8JFEP4OEmoxN1Mj7yCOPtFtvvdXeeOMNNzYZNWqUG5msXbvWjU2UMilHSvWfGzFihPXs2dMNTVQ7J8H2448/ushTfZyOKVGixB4XQDpl9D1hBgTyggAiLi+oc04IQAACEMjvBBBx4e+QOlvvSnsamXHIlCM/jPwq4hSNCxp5y7WyT58+9uKLL3qLAYm4n376ybp16+apknpfzpRHH320z5OxiUxOZJDy1VdfmdY64ogj7OmnnzY5aWY0MDbJD3cj1wCBPQkg4rgrIAABCEAAAnsSQMSFf1cU+sdYY9f48eMjZ5IlvtIFEznUSy2WWq/058yvIi4eNmriLabqI5d2iInq5FQ3p55zmZma6BgicfEQZy4Eco8AIi73WHMmCEAAAhBIHgKIuPD3qlCLFi12KTIU65CV/x133OGpghs3brTjjz/eo0pyWdQImmvLQv+hhx7yqJ7SBzt37rzHKVQjJgEpi34JRzk0KuXwwAMP9LmBiNPvfv36eS81pSYqjVENtIOh9UeOHOmujzIIue222+yyyy7zt9ViQCmNkydPjsyXgDrqqKO8SbeuS+/r70ceecTWrVtnlStXtgEDBljbtm1jxZLhPJmbVKhQwWbMmGH/cN5tjiJ1SsFctGhRhimUWZ2YByNH28LBEIAABCAAAQhAAAIhEuC7aohw/7d0oeLFi+9SpEhNquWueOedd3p6X2ZDvc6U3qcm1zLpkKDSa0uWLLFKlSpFRFz58uW9ubXmFClSxBtcpx9KPaxevbpp7qpVq7xeTI20Jf4CEafea5pz//33e0RLcxS1Wrhwoc+ZOXOmtW/f3tMYGzVqZC+88IILPjk/ykBE/5YByYYNGyLiUK/JQXL9+vVWrFgxr2mT0NIa+gxvv/22qcfcyy+/7EyyOwJOEpdpI20Sr4MGDbL33nvPTjzxxLiXx9gkbmQcAIGEEyAKl3CkLAgBCEAAAgWEACIu/I0s9I+g2VWuXDkXUYo+7dixw+SSKOGV0VBtl6zyb7nllsjbcmGsVauWPfjggxERJ0GkRtnxDFntq9Zs06ZNERGnSFnaxtnLli3z6F/g/qh+ayeccIJHBoMh0fb77797nZqibhKQEk5BdK5Dhw7+OadOnerzDjvsMI+KnX766ZE1FKmTwPv666/j+QiRuYpYKiqoSKAilcFQnZyilmIVROd0LrldduzYMcNzkU6ZrS3gIAiESgARFypeFocABCAAgSQmgIgLf/N2c6dUKqEEnVIPW7duvcfZgw156623dotQ3XDDDd4EW0IoSKdUU2sJrKzGm2++aUOHDnWDD60tYbV9+3Y3+zjggAM8nVK2/XpN7o3BOOSQQzxqJldHpWEqEqi/gzF69GjTj9I0NRS909/z5s1z0aZI4zPPPOMiSumMEqE6X9qxbds2nyeTkoyG3CYVBcyssbfq3FQPJxGo9MxgZGZSoqih+GU0MDYJ/0HgDBCIlwAiLl5izIcABCAAgVQhgIgLf6f3aDGgdELVa/3rX//KVMSpKXX9+vUj78tx8YsvvrDXX389IuI++eQTd2vMbKheTP3UlLaodEiJMQk/2fSr75rSOwMRp0hU0Dhb60nESaRdfvnlfpwEnf4Ohv49ZswYW7Fihb+k1EulRcrCX2mWvXv39to3pWcqonfaaaeZhKmijMFQVEypjk888US2RFw8WxdNEBKJi4cmcyGQOwQQcbnDmbNAAAIQgEDyEUDEhb9nu4m4wApfqYlpRVHay8gsnVLRrAceeCBmETd9+nS7+OKL3XkxEGgyTFFKZ1oRp3TKtI2zFdlK20w7s3RKRdJU+6Yh4xIZjNx444320ksvWdmyZd3ERGPLli12+OGH2+OPPx5Jt9TrZ511llWrVs32228/Gzt2rAs+CU5FxVTDJxEaDEUvFYHUezKJkUjU37/88ouvKS6qD1RKp9IslWaqOrxgRBNx6W8DauLCfzA4AwQyI4B4496AAAQgAAEIZE0AERf+HVLo3Xff3aWaLIkQ1bnJAXLp0qXe3yyjoSiXTDkk9BRpk7ukxEl6Y5NokbhPP/3UTU+0nlwpFS27+eabvfl1WhEnYxPNk7GJ2hT06tXLRZlMQTQkmlQDp/fVZ01W/jI2Ue2ZhFgwJJo095tvvjGlcZ555pm7vSeRpZRNib9nn33WxeSaNWusf//+pho6XaMEpNIk9bmVaqnPrvo2HSchKOGmdfTa4MGDPRIoh0ulSiqlUrWE//C2Ll26+PUrAqgRTcQRiQv/QeAMEIiVACIuVlLMgwAEIACBVCWAiAt/5wv9Iz52bd682S33JTZuv/323ez7019C2hYDcnysWrVqhi0Gook4rataNln76/xKz1QKoyKAaUWcUjXlgHnTTTe5qJL40r8V/QpGVi0Ggjmqu5MBSmDiIuEUjLlz57pIK126tKdZKpVT9Xn69+eff+7TJAhlqtKpUyf/vBkJL4k4fR7V0ckcRjwlLCXm9BNEHBVJ1DoSiLGIOGriwn8QOAMEYiWAiIuVFPMgAAEIQCBVCSDiwt/5PWriwj9l/juD0h0lvtKmSEq0SfTJRTIQcWoVoNo6icjMRJwcNhWVVI2dRJxSRnUjyykzGFrj1FNP9QhmLCKOSFz+u2e4otQlgIhL3b3nk0MAAhCAQGwEEHGxccrJrJQXcYqITZw4McJQkTqJsIoVK5pqBNV+oG/fvp6mKRGnZuMyXJGI0xz1mpOzpfrbqV5QxilK21R7gbRD7pk6Tg6ZMnKR46aamqutgQReVk6X6TeYByMntzzHQgACEIAABCAAAQiESYDvqmHS/b+1U17E/fbbb15Ppxo/tRtQfZtq/uRK2axZM2/SrUbgO3fudOGm99VDT60KVKunOjnV6Clapt+aU7RoUW+voPq5oDWCDFI0tI7el6GKavz+/PNPf03va+6ll14aMV3JbPsxNgn/weAMEMiIAFE47gsIQAACEIBAdAKIuOiMcjoj5UWcAMpcRT8yd1GPuhIlSniUrUmTJhGzF9XiycykZs2aNmLECGvUqJHXyfXo0cOdK5WK2aZNGzcwUWRNLRfUa09rqcZv//33N9UJaqjuT/Nuu+02j/bJ4ETGK4oKqsG4zpN2kE6Z09uc4yGQGAKIuMRwZBUIQAACECjYBBBx4e8vIi6diFPTcrlPSljVqVPHxZ2Gom66IYN0Sr0uEaaIXBB9k7NllSpV3AAlqImTKKtVq5Y3F5c4k8FJ3bp1PZ1SkTsZxWgNrSVTmYwGxibhPwicAQKxEEDExUKJORCAAAQgkOoEEHHh3wGIuHQiLmh9oMia+skFQyJOhiQSbxJd6hWnSJ16x6m9gFozNG3a1KNtEoFpjU3UsiAYcvMsU6aMt0EoVaqUizg1Fc+qJo5IXPgPAmeAQCwEEHGxUGIOBCAAAQikOgFEXPh3ACIunYhTOuWhhx5qkyZN8v5zGkqHVLuB7t27u4hT+wClVSpSpybnqmeTi6UicUqvVCPxkiVLuulJMGRsoh5yMkpRvZzEoloOaB31rcPYJPybnTNAAAIQgAAEIAABCIRPABEXPmNEXDoRJ+RXX321qXecWgkceeSRXq/2xhtvWNeuXV3Ebdy40UWd0iPV46558+b2wQcf2KpVq3zHZGii46pXr+4iTyYphxxyiAs7maJIJMpIRY3NFZGT+MuOiCtz/VQrXGT/8O8SzgCBFCdABC7FbwA+PgQgAAEIxEUAERcXrmxNRsRlIOIUjZOQkyvlQQcdZH369HGzEqVJBjVySpHs0qWLu1Kqfu7mm2+2Cy+80HvLSdSpIfjxxx/vhieqf5OZiZqZn3vuuVahQgVvV6D6uRtvvNENTWSWoobmGQ3SKbN1b3MQBBJGABGXMJQsBAEIQAACKUAAERf+JiPicsA4fUNwLdWiRQt3pFQUr2XLlnbwwQd7fzgNtTK47777IhG74NSK0o0ePdqFXkYDY5McbBKHQiABBBBxCYDIEhCAAAQgkDIEEHHhbzUiLgeMJeLSRue0VFrhll7ESajpZ+XKlbudVUJvzJgxdtlll2V4NZlF4tTjTu6XDAhAAAIQgAAEIAABCORgmfx1AAAgAElEQVQXAoi48HcCERcnY9XDnXTSSda7d2+vfZOIu+SSS7z1wPPPP+/NutU3bs2aNdaqVSvvD7dgwQIXaBJ9SqeUuclXX33lETv9Vgqm1pFhisxOog2afUcjxPsQyBkBIm8548fREIAABCCQ2gQQceHvPyIuG4xleqIom8Sc6uEk5po1a+b1chJpcptUjZt+q++cRNu7775re++9t5166qm2fPly/z18+HC76KKL3OBE/ePKlSsXVyQOY5NsbB6HQCAGAoi4GCAxBQIQgAAEIJAJAURc+LcGIi6bjK+55hobP36895LbZ599bNGiRd5qQOJOjpXvv/++v6fUSUXbKleu7GdSPzm5XL722msesdu5c6fXyvXs2TPTK6EmLpubxGEQyCYBRFw2wXEYBCAAAQhA4B8CiLjwbwNEXDYZ//HHH96kWy6TixcvtmrVqu22UocOHUwOlg8//LA3BE8/1GJAPeXat29vkydPzvIqcKfM5iZxGASySQARl01wHAYBCEAAAhBAxOXKPYCIixOzBJVaAagZuJqAa6iJt1oFaMyZM8duuOEGd6DctWuXNW3a1F5++WWfKwMTjccff9yuv/567w8nZ0q1J7jzzjs9ghfL4H83YqHEHAhAAAIQgAAEIACBvCDAd9XwqSPi4mR83XXX2bRp06xo0aJeE6dI3CeffOIpk0qnVNpk1apVbcuWLR5lGzZsmJ8hEHELFy50ExTVx6n1gNIoJQzVBDxeEUdNXJybx3QIRCFABI5bBAIQgAAEIJBzAoi4nDOMtgIiLhqhNO///vvvHjlr0qSJLVmyxE1LJL5k868G3uoRp9TIdevW2XvvvWc1atSwM8880yTcFJkrX768NwSfN2+eR++uvfZae/XVV90MRaJQTcYzGqRTxrFJTIVADggg4nIAj0MhAAEIQAAC/yOAiAv/VkDExcH4888/t+rVq3sUTc6TEmgaSpl86623XMh9//33NmDAAE+R1Jg5c6a1bt3a2w1Mnz7dBV/JkiXtm2++sUKFCvmchg0b2ttvv23q+3bggQfucUUYm8SxSUyFQA4IIOJyAI9DIQABCEAAAoi4XLsHEHFxoFbkTf3cJNTkPBkMOVKq59vPP//sv5944onIe7Nnz3bHyiCdUse3adPGhV4w1AB80KBBmaZTEomLY5OYCoEcEEDE5QAeh0IAAhCAAAQQcbl2DyDi4kCtdMpDDz3UJLoUHVPDb5mcHHPMMR5te/DBB73X2+WXX26zZs2yq6++2t9XfZzSKCdOnOhOlVqnT58+1q9fP0/L/Ouvv+zvv//Osldc2sskRB3HpjEVAhCAAAQgAAEIQCBXCfBdNXzciLg4GctVUsYmag9w++23eyqlGnnLebJBgwb29NNPW61atdzsROmVmzZtsvXr17vQO/30093IpH79+t4jrmPHjl4np/q4P//805YuXbpbhC+zSwseDIxN4tw8pkMgAwJE37gtIAABCEAAAoklgIhLLM+MVkPExcl4+/btHkFTDzilSKrR91lnnWVr1qzxht9PPfWUXXnllb6qRJuicorIKa1SdXE//vijm5+oDYFMUc477zwrXLiw184pGpfRIJ0yzk1iOgTiIICIiwMWUyEAAQhAAAIxEEDExQAph1MQcTkAmFHD7++++86jbkcffbQLO/V/e+SRR+zLL7/0aJ0MUBSx69y5swvBxo0b24YNGzyl8uOPP87wajA2ycEmcSgEohBAxHGLQAACEIAABBJLABGXWJ4ZrYaIywFj1bPVrFnTBZgiaRdccIGnWA4cONCOPPJIu/vuu72NQK9evTx6V7x4cZs/f759+OGHLt4k+MaOHWsvvviip1dK4J122ml7XFFmkTi5WcrtkgEBCEAAAhCAAAQgAIH8QgARF/5OIOKyyVhplap5U2+3bdu22a5du1yoKao2btw4X1UR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\" width=\"881\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_device_pixel_ratio', {\n",
" device_pixel_ratio: fig.ratio,\n",
" });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute('tabindex', '0');\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;' +\n",
" 'z-index: 2;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'pointer-events: none;' +\n",
" 'position: relative;' +\n",
" 'z-index: 0;'\n",
" );\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'left: 0;' +\n",
" 'pointer-events: none;' +\n",
" 'position: absolute;' +\n",
" 'top: 0;' +\n",
" 'z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" /* This rescales the canvas back to display pixels, so that it\n",
" * appears correct on HiDPI screens. */\n",
" canvas.style.width = width + 'px';\n",
" canvas.style.height = height + 'px';\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" /* User Agent sniffing is bad, but WebKit is busted:\n",
" * https://bugs.webkit.org/show_bug.cgi?id=144526\n",
" * https://bugs.webkit.org/show_bug.cgi?id=181818\n",
" * The worst that happens here is that they get an extra browser\n",
" * selection when dragging, if this check fails to catch them.\n",
" */\n",
" var UA = navigator.userAgent;\n",
" var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n",
" if(isWebKit) {\n",
" return function (event) {\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We\n",
" * want to control all of the cursor setting manually through\n",
" * the 'cursor' event from matplotlib */\n",
" event.preventDefault()\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" } else {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" canvas_div.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" canvas_div.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" fig.canvas_div.style.cursor = msg['cursor'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * https://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" // from https://stackoverflow.com/q/1114465\n",
" var boundingRect = this.canvas.getBoundingClientRect();\n",
" var x = (event.clientX - boundingRect.left) * this.ratio;\n",
" var y = (event.clientY - boundingRect.top) * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAoAAAAHgCAYAAAA10dzkAAAgAElEQVR4XuydBbhUZdf+F410dyNdojTSXdIiIYIgIUhJg/ASApLSIZ2HblREGoFDI90icQCpP/lK/b97fdeebzjMObNPzt4z93Nd5+KcmZ2/Z+2Zm7WetVaUN/8zhIMESIAESIAESIAESMBnCEShAPSZueaNkgAJkAAJkAAJkIASoACkIZAACZAACZAACZCAjxGgAPSxCeftkgAJkAAJkAAJkAAFIG2ABEiABEiABEiABHyMAAWgj004b5cESIAESIAESIAEKABpAyRAAiRAAiRAAiTgYwQoAH1swnm7JEACJEACJEACJEABSBsgARIgARIgARIgAR8jQAHoYxPO2yUBEiABEiABEiABCkDaAAmQAAmQAAmQAAn4GAEKQB+bcN4uCZAACZAACZAACVAA0gZIgARIgARIgARIwMcIUAD62ITzdkmABEiABEiABEiAApA2QAIkQAIkQAIkQAI+RoAC0McmnLdLAiRAAiRAAiRAAhSAtAESIAESIAESIAES8DECFIA+NuG8XRIgARIgARIgARKgAKQNkAAJkAAJkAAJkICPEaAA9LEJ5+2SAAmQAAmQAAmQAAUgbYAESIAESIAESIAEfIwABaCPTThvlwRIgARIgARIgAQoAGkDJEACJEACJEACJOBjBCgAfWzCebskQAIkQAIkQAIkQAFIGyABEiABEiABEiABHyNAAehjE87bJQESIAESIAESIAEKQNoACZAACZAACZAACfgYAQpAH5tw3i4JkAAJkAAJkAAJUADSBkiABEiABEiABEjAxwhQAPrYhPN2SYAESIAESIAESIACkDZAAiRAAiRAAiRAAj5GgALQxyact0sCJEACJEACJEACFIC0ARIgARIgARIgARLwMQIUgD424bxdEiABEiABEiABEqAApA2QAAmQAAmQAAmQgI8RoAD0sQnn7ZIACZAACZAACZAABSBtgARIgARIgARIgAR8jAAFoI9NOG+XBKxOYPv27VKuXDnZtm2blC1bVi/3P//5jwwaNEjevHnjuPxMmTJJ3rx5ZcOGDZFyS1OmTJE4ceJIixYt3jrflStXJHPmzDJnzpx33jNzYa7u18x+2OaPP/6QzZs3S5cuXSRRokRmd3tru8WLF8vt27f1GKEdkT0Xob1O7kcCJPB/BCgAaQ0kQAKWIuBKEF27dk3wU6xYMY8JQIjNZMmSCa7Pefz3v/+VI0eOSNasWSV58uQhZhkWATh69Gjp0aOHXL58WSDCQjNq1qwpJ06cEAjZ0A4KwNCS434k4DkCFICeY88zkwAJuCBgVhBFtugISgCGdRLN3q+r81AAhpU+9ycB3yVAAei7c88793ICRtj08OHDMmTIENmyZYtEiRJFatWqJePGjXvLW/X69WuBmJg9e7Z6kxImTChVq1aVYcOGSbp06YIktWbNGqlbt64eu0KFCm9tN3XqVPn666/l2LFjkj9/fn3v4MGDMnjwYNm9e7c8ffpUcuXKJX369JFPP/3UsW9YQsAI03bq1En69eunIWMM3NP48ePl7NmzGsItU6aM3hfObYxLly5J3759ZefOnXL37l0Np0LwjRkzRj744AP1rv31119v3V/GjBnVaxaSEPCZM2c01Irz4FoaNGggNWrUkE8++eStkPdvv/0mkyZNkkOHDsk///yjcwC+33//vXohMYz5DTw5RujczJwixL5jx4535tcItf/7778ycuRIWbhwodpFggQJBB5DvObs7XQlxl3NhZc/crw9ErAVAQpAW00XL5YEzBMwBAKECgRWxYoV5eTJk/Ldd99J9uzZZf/+/RIjRgw9YNu2bWXGjBnSsWNH/YKHqMF2sWPHFghIQ3QEPvvLly8lbdq0UqlSJRUJzqNo0aKC9yFiMCBMICrxOs4Dkenn5ydz5859a/1caAQgBAtCoRMmTND7MNbpDR8+XIVd48aNpVmzZiruwAX/HjhwQLJly6bXljNnTnn16pUMHDhQMmTIoKIL6+vAAiIJIV6INVwzhA1GrFixpGDBgqYF4K1bt1QIg/nQoUMlZcqUsmjRItm1a5dcvXr1LQE4bdo0efDggeTJk0fPifkYO3asPH/+XP788089BkLiEGITJ06UVatWSerUqfW6cufOrULNzJyeOnVK2rRpIxcvXpTVq1c7pg+hdghIiFNcX8+ePaVEiRIqgsEI1wQx/9577+k+zgIwqLkwb7nckgRIIDIIUABGBmWegwQ8QMAQgF27dlXxYAws+m/atKkKNvwLrxS8YfDWTZ482bGdv7+/ijUIKHieghrffvutwNt38+ZNFQYYp0+fViECcQKxh4FzQDDguNGjR3ccDh5JiEQImqhRo+oau5AkgSxf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\" width=\"640\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"/* Put everything inside the global mpl namespace */\n",
"/* global mpl */\n",
"window.mpl = {};\n",
"\n",
"mpl.get_websocket_type = function () {\n",
" if (typeof WebSocket !== 'undefined') {\n",
" return WebSocket;\n",
" } else if (typeof MozWebSocket !== 'undefined') {\n",
" return MozWebSocket;\n",
" } else {\n",
" alert(\n",
" 'Your browser does not have WebSocket support. ' +\n",
" 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n",
" 'Firefox 4 and 5 are also supported but you ' +\n",
" 'have to enable WebSockets in about:config.'\n",
" );\n",
" }\n",
"};\n",
"\n",
"mpl.figure = function (figure_id, websocket, ondownload, parent_element) {\n",
" this.id = figure_id;\n",
"\n",
" this.ws = websocket;\n",
"\n",
" this.supports_binary = this.ws.binaryType !== undefined;\n",
"\n",
" if (!this.supports_binary) {\n",
" var warnings = document.getElementById('mpl-warnings');\n",
" if (warnings) {\n",
" warnings.style.display = 'block';\n",
" warnings.textContent =\n",
" 'This browser does not support binary websocket messages. ' +\n",
" 'Performance may be slow.';\n",
" }\n",
" }\n",
"\n",
" this.imageObj = new Image();\n",
"\n",
" this.context = undefined;\n",
" this.message = undefined;\n",
" this.canvas = undefined;\n",
" this.rubberband_canvas = undefined;\n",
" this.rubberband_context = undefined;\n",
" this.format_dropdown = undefined;\n",
"\n",
" this.image_mode = 'full';\n",
"\n",
" this.root = document.createElement('div');\n",
" this.root.setAttribute('style', 'display: inline-block');\n",
" this._root_extra_style(this.root);\n",
"\n",
" parent_element.appendChild(this.root);\n",
"\n",
" this._init_header(this);\n",
" this._init_canvas(this);\n",
" this._init_toolbar(this);\n",
"\n",
" var fig = this;\n",
"\n",
" this.waiting = false;\n",
"\n",
" this.ws.onopen = function () {\n",
" fig.send_message('supports_binary', { value: fig.supports_binary });\n",
" fig.send_message('send_image_mode', {});\n",
" if (fig.ratio !== 1) {\n",
" fig.send_message('set_device_pixel_ratio', {\n",
" device_pixel_ratio: fig.ratio,\n",
" });\n",
" }\n",
" fig.send_message('refresh', {});\n",
" };\n",
"\n",
" this.imageObj.onload = function () {\n",
" if (fig.image_mode === 'full') {\n",
" // Full images could contain transparency (where diff images\n",
" // almost always do), so we need to clear the canvas so that\n",
" // there is no ghosting.\n",
" fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n",
" }\n",
" fig.context.drawImage(fig.imageObj, 0, 0);\n",
" };\n",
"\n",
" this.imageObj.onunload = function () {\n",
" fig.ws.close();\n",
" };\n",
"\n",
" this.ws.onmessage = this._make_on_message_function(this);\n",
"\n",
" this.ondownload = ondownload;\n",
"};\n",
"\n",
"mpl.figure.prototype._init_header = function () {\n",
" var titlebar = document.createElement('div');\n",
" titlebar.classList =\n",
" 'ui-dialog-titlebar ui-widget-header ui-corner-all ui-helper-clearfix';\n",
" var titletext = document.createElement('div');\n",
" titletext.classList = 'ui-dialog-title';\n",
" titletext.setAttribute(\n",
" 'style',\n",
" 'width: 100%; text-align: center; padding: 3px;'\n",
" );\n",
" titlebar.appendChild(titletext);\n",
" this.root.appendChild(titlebar);\n",
" this.header = titletext;\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (_canvas_div) {};\n",
"\n",
"mpl.figure.prototype._init_canvas = function () {\n",
" var fig = this;\n",
"\n",
" var canvas_div = (this.canvas_div = document.createElement('div'));\n",
" canvas_div.setAttribute('tabindex', '0');\n",
" canvas_div.setAttribute(\n",
" 'style',\n",
" 'border: 1px solid #ddd;' +\n",
" 'box-sizing: content-box;' +\n",
" 'clear: both;' +\n",
" 'min-height: 1px;' +\n",
" 'min-width: 1px;' +\n",
" 'outline: 0;' +\n",
" 'overflow: hidden;' +\n",
" 'position: relative;' +\n",
" 'resize: both;' +\n",
" 'z-index: 2;'\n",
" );\n",
"\n",
" function on_keyboard_event_closure(name) {\n",
" return function (event) {\n",
" return fig.key_event(event, name);\n",
" };\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'keydown',\n",
" on_keyboard_event_closure('key_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'keyup',\n",
" on_keyboard_event_closure('key_release')\n",
" );\n",
"\n",
" this._canvas_extra_style(canvas_div);\n",
" this.root.appendChild(canvas_div);\n",
"\n",
" var canvas = (this.canvas = document.createElement('canvas'));\n",
" canvas.classList.add('mpl-canvas');\n",
" canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'pointer-events: none;' +\n",
" 'position: relative;' +\n",
" 'z-index: 0;'\n",
" );\n",
"\n",
" this.context = canvas.getContext('2d');\n",
"\n",
" var backingStore =\n",
" this.context.backingStorePixelRatio ||\n",
" this.context.webkitBackingStorePixelRatio ||\n",
" this.context.mozBackingStorePixelRatio ||\n",
" this.context.msBackingStorePixelRatio ||\n",
" this.context.oBackingStorePixelRatio ||\n",
" this.context.backingStorePixelRatio ||\n",
" 1;\n",
"\n",
" this.ratio = (window.devicePixelRatio || 1) / backingStore;\n",
"\n",
" var rubberband_canvas = (this.rubberband_canvas = document.createElement(\n",
" 'canvas'\n",
" ));\n",
" rubberband_canvas.setAttribute(\n",
" 'style',\n",
" 'box-sizing: content-box;' +\n",
" 'left: 0;' +\n",
" 'pointer-events: none;' +\n",
" 'position: absolute;' +\n",
" 'top: 0;' +\n",
" 'z-index: 1;'\n",
" );\n",
"\n",
" // Apply a ponyfill if ResizeObserver is not implemented by browser.\n",
" if (this.ResizeObserver === undefined) {\n",
" if (window.ResizeObserver !== undefined) {\n",
" this.ResizeObserver = window.ResizeObserver;\n",
" } else {\n",
" var obs = _JSXTOOLS_RESIZE_OBSERVER({});\n",
" this.ResizeObserver = obs.ResizeObserver;\n",
" }\n",
" }\n",
"\n",
" this.resizeObserverInstance = new this.ResizeObserver(function (entries) {\n",
" var nentries = entries.length;\n",
" for (var i = 0; i < nentries; i++) {\n",
" var entry = entries[i];\n",
" var width, height;\n",
" if (entry.contentBoxSize) {\n",
" if (entry.contentBoxSize instanceof Array) {\n",
" // Chrome 84 implements new version of spec.\n",
" width = entry.contentBoxSize[0].inlineSize;\n",
" height = entry.contentBoxSize[0].blockSize;\n",
" } else {\n",
" // Firefox implements old version of spec.\n",
" width = entry.contentBoxSize.inlineSize;\n",
" height = entry.contentBoxSize.blockSize;\n",
" }\n",
" } else {\n",
" // Chrome <84 implements even older version of spec.\n",
" width = entry.contentRect.width;\n",
" height = entry.contentRect.height;\n",
" }\n",
"\n",
" // Keep the size of the canvas and rubber band canvas in sync with\n",
" // the canvas container.\n",
" if (entry.devicePixelContentBoxSize) {\n",
" // Chrome 84 implements new version of spec.\n",
" canvas.setAttribute(\n",
" 'width',\n",
" entry.devicePixelContentBoxSize[0].inlineSize\n",
" );\n",
" canvas.setAttribute(\n",
" 'height',\n",
" entry.devicePixelContentBoxSize[0].blockSize\n",
" );\n",
" } else {\n",
" canvas.setAttribute('width', width * fig.ratio);\n",
" canvas.setAttribute('height', height * fig.ratio);\n",
" }\n",
" /* This rescales the canvas back to display pixels, so that it\n",
" * appears correct on HiDPI screens. */\n",
" canvas.style.width = width + 'px';\n",
" canvas.style.height = height + 'px';\n",
"\n",
" rubberband_canvas.setAttribute('width', width);\n",
" rubberband_canvas.setAttribute('height', height);\n",
"\n",
" // And update the size in Python. We ignore the initial 0/0 size\n",
" // that occurs as the element is placed into the DOM, which should\n",
" // otherwise not happen due to the minimum size styling.\n",
" if (fig.ws.readyState == 1 && width != 0 && height != 0) {\n",
" fig.request_resize(width, height);\n",
" }\n",
" }\n",
" });\n",
" this.resizeObserverInstance.observe(canvas_div);\n",
"\n",
" function on_mouse_event_closure(name) {\n",
" /* User Agent sniffing is bad, but WebKit is busted:\n",
" * https://bugs.webkit.org/show_bug.cgi?id=144526\n",
" * https://bugs.webkit.org/show_bug.cgi?id=181818\n",
" * The worst that happens here is that they get an extra browser\n",
" * selection when dragging, if this check fails to catch them.\n",
" */\n",
" var UA = navigator.userAgent;\n",
" var isWebKit = /AppleWebKit/.test(UA) && !/Chrome/.test(UA);\n",
" if(isWebKit) {\n",
" return function (event) {\n",
" /* This prevents the web browser from automatically changing to\n",
" * the text insertion cursor when the button is pressed. We\n",
" * want to control all of the cursor setting manually through\n",
" * the 'cursor' event from matplotlib */\n",
" event.preventDefault()\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" } else {\n",
" return function (event) {\n",
" return fig.mouse_event(event, name);\n",
" };\n",
" }\n",
" }\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mousedown',\n",
" on_mouse_event_closure('button_press')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseup',\n",
" on_mouse_event_closure('button_release')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'dblclick',\n",
" on_mouse_event_closure('dblclick')\n",
" );\n",
" // Throttle sequential mouse events to 1 every 20ms.\n",
" canvas_div.addEventListener(\n",
" 'mousemove',\n",
" on_mouse_event_closure('motion_notify')\n",
" );\n",
"\n",
" canvas_div.addEventListener(\n",
" 'mouseenter',\n",
" on_mouse_event_closure('figure_enter')\n",
" );\n",
" canvas_div.addEventListener(\n",
" 'mouseleave',\n",
" on_mouse_event_closure('figure_leave')\n",
" );\n",
"\n",
" canvas_div.addEventListener('wheel', function (event) {\n",
" if (event.deltaY < 0) {\n",
" event.step = 1;\n",
" } else {\n",
" event.step = -1;\n",
" }\n",
" on_mouse_event_closure('scroll')(event);\n",
" });\n",
"\n",
" canvas_div.appendChild(canvas);\n",
" canvas_div.appendChild(rubberband_canvas);\n",
"\n",
" this.rubberband_context = rubberband_canvas.getContext('2d');\n",
" this.rubberband_context.strokeStyle = '#000000';\n",
"\n",
" this._resize_canvas = function (width, height, forward) {\n",
" if (forward) {\n",
" canvas_div.style.width = width + 'px';\n",
" canvas_div.style.height = height + 'px';\n",
" }\n",
" };\n",
"\n",
" // Disable right mouse context menu.\n",
" canvas_div.addEventListener('contextmenu', function (_e) {\n",
" event.preventDefault();\n",
" return false;\n",
" });\n",
"\n",
" function set_focus() {\n",
" canvas.focus();\n",
" canvas_div.focus();\n",
" }\n",
"\n",
" window.setTimeout(set_focus, 100);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'mpl-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'mpl-button-group';\n",
" continue;\n",
" }\n",
"\n",
" var button = (fig.buttons[name] = document.createElement('button'));\n",
" button.classList = 'mpl-widget';\n",
" button.setAttribute('role', 'button');\n",
" button.setAttribute('aria-disabled', 'false');\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
"\n",
" var icon_img = document.createElement('img');\n",
" icon_img.src = '_images/' + image + '.png';\n",
" icon_img.srcset = '_images/' + image + '_large.png 2x';\n",
" icon_img.alt = tooltip;\n",
" button.appendChild(icon_img);\n",
"\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" var fmt_picker = document.createElement('select');\n",
" fmt_picker.classList = 'mpl-widget';\n",
" toolbar.appendChild(fmt_picker);\n",
" this.format_dropdown = fmt_picker;\n",
"\n",
" for (var ind in mpl.extensions) {\n",
" var fmt = mpl.extensions[ind];\n",
" var option = document.createElement('option');\n",
" option.selected = fmt === mpl.default_extension;\n",
" option.innerHTML = fmt;\n",
" fmt_picker.appendChild(option);\n",
" }\n",
"\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"};\n",
"\n",
"mpl.figure.prototype.request_resize = function (x_pixels, y_pixels) {\n",
" // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n",
" // which will in turn request a refresh of the image.\n",
" this.send_message('resize', { width: x_pixels, height: y_pixels });\n",
"};\n",
"\n",
"mpl.figure.prototype.send_message = function (type, properties) {\n",
" properties['type'] = type;\n",
" properties['figure_id'] = this.id;\n",
" this.ws.send(JSON.stringify(properties));\n",
"};\n",
"\n",
"mpl.figure.prototype.send_draw_message = function () {\n",
" if (!this.waiting) {\n",
" this.waiting = true;\n",
" this.ws.send(JSON.stringify({ type: 'draw', figure_id: this.id }));\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" var format_dropdown = fig.format_dropdown;\n",
" var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n",
" fig.ondownload(fig, format);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_resize = function (fig, msg) {\n",
" var size = msg['size'];\n",
" if (size[0] !== fig.canvas.width || size[1] !== fig.canvas.height) {\n",
" fig._resize_canvas(size[0], size[1], msg['forward']);\n",
" fig.send_message('refresh', {});\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_rubberband = function (fig, msg) {\n",
" var x0 = msg['x0'] / fig.ratio;\n",
" var y0 = (fig.canvas.height - msg['y0']) / fig.ratio;\n",
" var x1 = msg['x1'] / fig.ratio;\n",
" var y1 = (fig.canvas.height - msg['y1']) / fig.ratio;\n",
" x0 = Math.floor(x0) + 0.5;\n",
" y0 = Math.floor(y0) + 0.5;\n",
" x1 = Math.floor(x1) + 0.5;\n",
" y1 = Math.floor(y1) + 0.5;\n",
" var min_x = Math.min(x0, x1);\n",
" var min_y = Math.min(y0, y1);\n",
" var width = Math.abs(x1 - x0);\n",
" var height = Math.abs(y1 - y0);\n",
"\n",
" fig.rubberband_context.clearRect(\n",
" 0,\n",
" 0,\n",
" fig.canvas.width / fig.ratio,\n",
" fig.canvas.height / fig.ratio\n",
" );\n",
"\n",
" fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_figure_label = function (fig, msg) {\n",
" // Updates the figure title.\n",
" fig.header.textContent = msg['label'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_cursor = function (fig, msg) {\n",
" fig.canvas_div.style.cursor = msg['cursor'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_message = function (fig, msg) {\n",
" fig.message.textContent = msg['message'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_draw = function (fig, _msg) {\n",
" // Request the server to send over a new figure.\n",
" fig.send_draw_message();\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_image_mode = function (fig, msg) {\n",
" fig.image_mode = msg['mode'];\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_history_buttons = function (fig, msg) {\n",
" for (var key in msg) {\n",
" if (!(key in fig.buttons)) {\n",
" continue;\n",
" }\n",
" fig.buttons[key].disabled = !msg[key];\n",
" fig.buttons[key].setAttribute('aria-disabled', !msg[key]);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_navigate_mode = function (fig, msg) {\n",
" if (msg['mode'] === 'PAN') {\n",
" fig.buttons['Pan'].classList.add('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" } else if (msg['mode'] === 'ZOOM') {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.add('active');\n",
" } else {\n",
" fig.buttons['Pan'].classList.remove('active');\n",
" fig.buttons['Zoom'].classList.remove('active');\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Called whenever the canvas gets updated.\n",
" this.send_message('ack', {});\n",
"};\n",
"\n",
"// A function to construct a web socket function for onmessage handling.\n",
"// Called in the figure constructor.\n",
"mpl.figure.prototype._make_on_message_function = function (fig) {\n",
" return function socket_on_message(evt) {\n",
" if (evt.data instanceof Blob) {\n",
" var img = evt.data;\n",
" if (img.type !== 'image/png') {\n",
" /* FIXME: We get \"Resource interpreted as Image but\n",
" * transferred with MIME type text/plain:\" errors on\n",
" * Chrome. But how to set the MIME type? It doesn't seem\n",
" * to be part of the websocket stream */\n",
" img.type = 'image/png';\n",
" }\n",
"\n",
" /* Free the memory for the previous frames */\n",
" if (fig.imageObj.src) {\n",
" (window.URL || window.webkitURL).revokeObjectURL(\n",
" fig.imageObj.src\n",
" );\n",
" }\n",
"\n",
" fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n",
" img\n",
" );\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" } else if (\n",
" typeof evt.data === 'string' &&\n",
" evt.data.slice(0, 21) === 'data:image/png;base64'\n",
" ) {\n",
" fig.imageObj.src = evt.data;\n",
" fig.updated_canvas_event();\n",
" fig.waiting = false;\n",
" return;\n",
" }\n",
"\n",
" var msg = JSON.parse(evt.data);\n",
" var msg_type = msg['type'];\n",
"\n",
" // Call the \"handle_{type}\" callback, which takes\n",
" // the figure and JSON message as its only arguments.\n",
" try {\n",
" var callback = fig['handle_' + msg_type];\n",
" } catch (e) {\n",
" console.log(\n",
" \"No handler for the '\" + msg_type + \"' message type: \",\n",
" msg\n",
" );\n",
" return;\n",
" }\n",
"\n",
" if (callback) {\n",
" try {\n",
" // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n",
" callback(fig, msg);\n",
" } catch (e) {\n",
" console.log(\n",
" \"Exception inside the 'handler_\" + msg_type + \"' callback:\",\n",
" e,\n",
" e.stack,\n",
" msg\n",
" );\n",
" }\n",
" }\n",
" };\n",
"};\n",
"\n",
"\n",
"/*\n",
" * return a copy of an object with only non-object keys\n",
" * we need this to avoid circular references\n",
" * https://stackoverflow.com/a/24161582/3208463\n",
" */\n",
"function simpleKeys(original) {\n",
" return Object.keys(original).reduce(function (obj, key) {\n",
" if (typeof original[key] !== 'object') {\n",
" obj[key] = original[key];\n",
" }\n",
" return obj;\n",
" }, {});\n",
"}\n",
"\n",
"mpl.figure.prototype.mouse_event = function (event, name) {\n",
" if (name === 'button_press') {\n",
" this.canvas.focus();\n",
" this.canvas_div.focus();\n",
" }\n",
"\n",
" // from https://stackoverflow.com/q/1114465\n",
" var boundingRect = this.canvas.getBoundingClientRect();\n",
" var x = (event.clientX - boundingRect.left) * this.ratio;\n",
" var y = (event.clientY - boundingRect.top) * this.ratio;\n",
"\n",
" this.send_message(name, {\n",
" x: x,\n",
" y: y,\n",
" button: event.button,\n",
" step: event.step,\n",
" guiEvent: simpleKeys(event),\n",
" });\n",
"\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (_event, _name) {\n",
" // Handle any extra behaviour associated with a key event\n",
"};\n",
"\n",
"mpl.figure.prototype.key_event = function (event, name) {\n",
" // Prevent repeat events\n",
" if (name === 'key_press') {\n",
" if (event.key === this._key) {\n",
" return;\n",
" } else {\n",
" this._key = event.key;\n",
" }\n",
" }\n",
" if (name === 'key_release') {\n",
" this._key = null;\n",
" }\n",
"\n",
" var value = '';\n",
" if (event.ctrlKey && event.key !== 'Control') {\n",
" value += 'ctrl+';\n",
" }\n",
" else if (event.altKey && event.key !== 'Alt') {\n",
" value += 'alt+';\n",
" }\n",
" else if (event.shiftKey && event.key !== 'Shift') {\n",
" value += 'shift+';\n",
" }\n",
"\n",
" value += 'k' + event.key;\n",
"\n",
" this._key_event_extra(event, name);\n",
"\n",
" this.send_message(name, { key: value, guiEvent: simpleKeys(event) });\n",
" return false;\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onclick = function (name) {\n",
" if (name === 'download') {\n",
" this.handle_save(this, null);\n",
" } else {\n",
" this.send_message('toolbar_button', { name: name });\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.toolbar_button_onmouseover = function (tooltip) {\n",
" this.message.textContent = tooltip;\n",
"};\n",
"\n",
"///////////////// REMAINING CONTENT GENERATED BY embed_js.py /////////////////\n",
"// prettier-ignore\n",
"var _JSXTOOLS_RESIZE_OBSERVER=function(A){var t,i=new WeakMap,n=new WeakMap,a=new WeakMap,r=new WeakMap,o=new Set;function s(e){if(!(this instanceof s))throw new TypeError(\"Constructor requires 'new' operator\");i.set(this,e)}function h(){throw new TypeError(\"Function is not a constructor\")}function c(e,t,i,n){e=0 in arguments?Number(arguments[0]):0,t=1 in arguments?Number(arguments[1]):0,i=2 in arguments?Number(arguments[2]):0,n=3 in arguments?Number(arguments[3]):0,this.right=(this.x=this.left=e)+(this.width=i),this.bottom=(this.y=this.top=t)+(this.height=n),Object.freeze(this)}function d(){t=requestAnimationFrame(d);var s=new WeakMap,p=new Set;o.forEach((function(t){r.get(t).forEach((function(i){var r=t instanceof window.SVGElement,o=a.get(t),d=r?0:parseFloat(o.paddingTop),f=r?0:parseFloat(o.paddingRight),l=r?0:parseFloat(o.paddingBottom),u=r?0:parseFloat(o.paddingLeft),g=r?0:parseFloat(o.borderTopWidth),m=r?0:parseFloat(o.borderRightWidth),w=r?0:parseFloat(o.borderBottomWidth),b=u+f,F=d+l,v=(r?0:parseFloat(o.borderLeftWidth))+m,W=g+w,y=r?0:t.offsetHeight-W-t.clientHeight,E=r?0:t.offsetWidth-v-t.clientWidth,R=b+v,z=F+W,M=r?t.width:parseFloat(o.width)-R-E,O=r?t.height:parseFloat(o.height)-z-y;if(n.has(t)){var k=n.get(t);if(k[0]===M&&k[1]===O)return}n.set(t,[M,O]);var S=Object.create(h.prototype);S.target=t,S.contentRect=new c(u,d,M,O),s.has(i)||(s.set(i,[]),p.add(i)),s.get(i).push(S)}))})),p.forEach((function(e){i.get(e).call(e,s.get(e),e)}))}return s.prototype.observe=function(i){if(i instanceof window.Element){r.has(i)||(r.set(i,new Set),o.add(i),a.set(i,window.getComputedStyle(i)));var n=r.get(i);n.has(this)||n.add(this),cancelAnimationFrame(t),t=requestAnimationFrame(d)}},s.prototype.unobserve=function(i){if(i instanceof window.Element&&r.has(i)){var n=r.get(i);n.has(this)&&(n.delete(this),n.size||(r.delete(i),o.delete(i))),n.size||r.delete(i),o.size||cancelAnimationFrame(t)}},A.DOMRectReadOnly=c,A.ResizeObserver=s,A.ResizeObserverEntry=h,A}; // eslint-disable-line\n",
"mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Left button pans, Right button zooms\\nx/y fixes axis, CTRL fixes aspect\", \"fa fa-arrows\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\\nx/y fixes axis\", \"fa fa-square-o\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o\", \"download\"]];\n",
"\n",
"mpl.extensions = [\"eps\", \"jpeg\", \"pgf\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\", \"webp\"];\n",
"\n",
"mpl.default_extension = \"png\";/* global mpl */\n",
"\n",
"var comm_websocket_adapter = function (comm) {\n",
" // Create a \"websocket\"-like object which calls the given IPython comm\n",
" // object with the appropriate methods. Currently this is a non binary\n",
" // socket, so there is still some room for performance tuning.\n",
" var ws = {};\n",
"\n",
" ws.binaryType = comm.kernel.ws.binaryType;\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" function updateReadyState(_event) {\n",
" if (comm.kernel.ws) {\n",
" ws.readyState = comm.kernel.ws.readyState;\n",
" } else {\n",
" ws.readyState = 3; // Closed state.\n",
" }\n",
" }\n",
" comm.kernel.ws.addEventListener('open', updateReadyState);\n",
" comm.kernel.ws.addEventListener('close', updateReadyState);\n",
" comm.kernel.ws.addEventListener('error', updateReadyState);\n",
"\n",
" ws.close = function () {\n",
" comm.close();\n",
" };\n",
" ws.send = function (m) {\n",
" //console.log('sending', m);\n",
" comm.send(m);\n",
" };\n",
" // Register the callback with on_msg.\n",
" comm.on_msg(function (msg) {\n",
" //console.log('receiving', msg['content']['data'], msg);\n",
" var data = msg['content']['data'];\n",
" if (data['blob'] !== undefined) {\n",
" data = {\n",
" data: new Blob(msg['buffers'], { type: data['blob'] }),\n",
" };\n",
" }\n",
" // Pass the mpl event to the overridden (by mpl) onmessage function.\n",
" ws.onmessage(data);\n",
" });\n",
" return ws;\n",
"};\n",
"\n",
"mpl.mpl_figure_comm = function (comm, msg) {\n",
" // This is the function which gets called when the mpl process\n",
" // starts-up an IPython Comm through the \"matplotlib\" channel.\n",
"\n",
" var id = msg.content.data.id;\n",
" // Get hold of the div created by the display call when the Comm\n",
" // socket was opened in Python.\n",
" var element = document.getElementById(id);\n",
" var ws_proxy = comm_websocket_adapter(comm);\n",
"\n",
" function ondownload(figure, _format) {\n",
" window.open(figure.canvas.toDataURL());\n",
" }\n",
"\n",
" var fig = new mpl.figure(id, ws_proxy, ondownload, element);\n",
"\n",
" // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n",
" // web socket which is closed, not our websocket->open comm proxy.\n",
" ws_proxy.onopen();\n",
"\n",
" fig.parent_element = element;\n",
" fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n",
" if (!fig.cell_info) {\n",
" console.error('Failed to find cell for figure', id, fig);\n",
" return;\n",
" }\n",
" fig.cell_info[0].output_area.element.on(\n",
" 'cleared',\n",
" { fig: fig },\n",
" fig._remove_fig_handler\n",
" );\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_close = function (fig, msg) {\n",
" var width = fig.canvas.width / fig.ratio;\n",
" fig.cell_info[0].output_area.element.off(\n",
" 'cleared',\n",
" fig._remove_fig_handler\n",
" );\n",
" fig.resizeObserverInstance.unobserve(fig.canvas_div);\n",
"\n",
" // Update the output cell to use the data from the current canvas.\n",
" fig.push_to_output();\n",
" var dataURL = fig.canvas.toDataURL();\n",
" // Re-enable the keyboard manager in IPython - without this line, in FF,\n",
" // the notebook keyboard shortcuts fail.\n",
" IPython.keyboard_manager.enable();\n",
" fig.parent_element.innerHTML =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
" fig.close_ws(fig, msg);\n",
"};\n",
"\n",
"mpl.figure.prototype.close_ws = function (fig, msg) {\n",
" fig.send_message('closing', msg);\n",
" // fig.ws.close()\n",
"};\n",
"\n",
"mpl.figure.prototype.push_to_output = function (_remove_interactive) {\n",
" // Turn the data on the canvas into data in the output cell.\n",
" var width = this.canvas.width / this.ratio;\n",
" var dataURL = this.canvas.toDataURL();\n",
" this.cell_info[1]['text/html'] =\n",
" '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n",
"};\n",
"\n",
"mpl.figure.prototype.updated_canvas_event = function () {\n",
" // Tell IPython that the notebook contents must change.\n",
" IPython.notebook.set_dirty(true);\n",
" this.send_message('ack', {});\n",
" var fig = this;\n",
" // Wait a second, then push the new image to the DOM so\n",
" // that it is saved nicely (might be nice to debounce this).\n",
" setTimeout(function () {\n",
" fig.push_to_output();\n",
" }, 1000);\n",
"};\n",
"\n",
"mpl.figure.prototype._init_toolbar = function () {\n",
" var fig = this;\n",
"\n",
" var toolbar = document.createElement('div');\n",
" toolbar.classList = 'btn-toolbar';\n",
" this.root.appendChild(toolbar);\n",
"\n",
" function on_click_closure(name) {\n",
" return function (_event) {\n",
" return fig.toolbar_button_onclick(name);\n",
" };\n",
" }\n",
"\n",
" function on_mouseover_closure(tooltip) {\n",
" return function (event) {\n",
" if (!event.currentTarget.disabled) {\n",
" return fig.toolbar_button_onmouseover(tooltip);\n",
" }\n",
" };\n",
" }\n",
"\n",
" fig.buttons = {};\n",
" var buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" var button;\n",
" for (var toolbar_ind in mpl.toolbar_items) {\n",
" var name = mpl.toolbar_items[toolbar_ind][0];\n",
" var tooltip = mpl.toolbar_items[toolbar_ind][1];\n",
" var image = mpl.toolbar_items[toolbar_ind][2];\n",
" var method_name = mpl.toolbar_items[toolbar_ind][3];\n",
"\n",
" if (!name) {\n",
" /* Instead of a spacer, we start a new button group. */\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
" buttonGroup = document.createElement('div');\n",
" buttonGroup.classList = 'btn-group';\n",
" continue;\n",
" }\n",
"\n",
" button = fig.buttons[name] = document.createElement('button');\n",
" button.classList = 'btn btn-default';\n",
" button.href = '#';\n",
" button.title = name;\n",
" button.innerHTML = '<i class=\"fa ' + image + ' fa-lg\"></i>';\n",
" button.addEventListener('click', on_click_closure(method_name));\n",
" button.addEventListener('mouseover', on_mouseover_closure(tooltip));\n",
" buttonGroup.appendChild(button);\n",
" }\n",
"\n",
" if (buttonGroup.hasChildNodes()) {\n",
" toolbar.appendChild(buttonGroup);\n",
" }\n",
"\n",
" // Add the status bar.\n",
" var status_bar = document.createElement('span');\n",
" status_bar.classList = 'mpl-message pull-right';\n",
" toolbar.appendChild(status_bar);\n",
" this.message = status_bar;\n",
"\n",
" // Add the close button to the window.\n",
" var buttongrp = document.createElement('div');\n",
" buttongrp.classList = 'btn-group inline pull-right';\n",
" button = document.createElement('button');\n",
" button.classList = 'btn btn-mini btn-primary';\n",
" button.href = '#';\n",
" button.title = 'Stop Interaction';\n",
" button.innerHTML = '<i class=\"fa fa-power-off icon-remove icon-large\"></i>';\n",
" button.addEventListener('click', function (_evt) {\n",
" fig.handle_close(fig, {});\n",
" });\n",
" button.addEventListener(\n",
" 'mouseover',\n",
" on_mouseover_closure('Stop Interaction')\n",
" );\n",
" buttongrp.appendChild(button);\n",
" var titlebar = this.root.querySelector('.ui-dialog-titlebar');\n",
" titlebar.insertBefore(buttongrp, titlebar.firstChild);\n",
"};\n",
"\n",
"mpl.figure.prototype._remove_fig_handler = function (event) {\n",
" var fig = event.data.fig;\n",
" if (event.target !== this) {\n",
" // Ignore bubbled events from children.\n",
" return;\n",
" }\n",
" fig.close_ws(fig, {});\n",
"};\n",
"\n",
"mpl.figure.prototype._root_extra_style = function (el) {\n",
" el.style.boxSizing = 'content-box'; // override notebook setting of border-box.\n",
"};\n",
"\n",
"mpl.figure.prototype._canvas_extra_style = function (el) {\n",
" // this is important to make the div 'focusable\n",
" el.setAttribute('tabindex', 0);\n",
" // reach out to IPython and tell the keyboard manager to turn it's self\n",
" // off when our div gets focus\n",
"\n",
" // location in version 3\n",
" if (IPython.notebook.keyboard_manager) {\n",
" IPython.notebook.keyboard_manager.register_events(el);\n",
" } else {\n",
" // location in version 2\n",
" IPython.keyboard_manager.register_events(el);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype._key_event_extra = function (event, _name) {\n",
" // Check for shift+enter\n",
" if (event.shiftKey && event.which === 13) {\n",
" this.canvas_div.blur();\n",
" // select the cell after this one\n",
" var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n",
" IPython.notebook.select(index + 1);\n",
" }\n",
"};\n",
"\n",
"mpl.figure.prototype.handle_save = function (fig, _msg) {\n",
" fig.ondownload(fig, null);\n",
"};\n",
"\n",
"mpl.find_output_cell = function (html_output) {\n",
" // Return the cell and output element which can be found *uniquely* in the notebook.\n",
" // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n",
" // IPython event is triggered only after the cells have been serialised, which for\n",
" // our purposes (turning an active figure into a static one), is too late.\n",
" var cells = IPython.notebook.get_cells();\n",
" var ncells = cells.length;\n",
" for (var i = 0; i < ncells; i++) {\n",
" var cell = cells[i];\n",
" if (cell.cell_type === 'code') {\n",
" for (var j = 0; j < cell.output_area.outputs.length; j++) {\n",
" var data = cell.output_area.outputs[j];\n",
" if (data.data) {\n",
" // IPython >= 3 moved mimebundle to data attribute of output\n",
" data = data.data;\n",
" }\n",
" if (data['text/html'] === html_output) {\n",
" return [cell, data, j];\n",
" }\n",
" }\n",
" }\n",
" }\n",
"};\n",
"\n",
"// Register the function which deals with the matplotlib target/channel.\n",
"// The kernel may be null if the page has been refreshed.\n",
"if (IPython.notebook.kernel !== null) {\n",
" IPython.notebook.kernel.comm_manager.register_target(\n",
" 'matplotlib',\n",
" mpl.mpl_figure_comm\n",
" );\n",
"}\n"
],
"text/plain": [
"<IPython.core.display.Javascript object>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/html": [
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA7EAAAS2CAYAAAD7gS5vAAAgAElEQVR4XuzdCZwUxd3/8d+zCCgoh8qhsoAYT0TAW+KBmmjEmICiqIhHRPB6ZDWCCCqgeEEIYPCIEEFFOQQFb318CMZbPNDghYocKijKEUTBi7/fel69/2XZZXp2p6amZz79eu0rsttTVf2u6kl/p6p7/mvDL5uxIYAAAggggAACCCCAAAIIIJDjAv+ljRCb471E8xBAAAEEEEAAAQQQQAABBJwAIZaBgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoAAAggggAACCCCAAAIIEGIZAwgggAACCCCAAAIIIIAAAokRIMQmpqtoKAIIIIAAAggggAACCCCAACGWMYAAAggggAACCCCAAAIIIJAYAUJsYrqKhiKAAAIIIIAAAggggAACCBBiGQMIIIAAAggggAACCCCAAAKJESDEJqaraCgCCCCAAAIIIIAAAggggAAhljGAAAIIIIAAAggggAACCCCQGAFCbGK6ioYigAACCCCAAAIIIIAAAggQYhkDCCCAAAIIIIAAAggggAACiREgxCamq2goAggggAACCCCAAAIIIIAAIZYxgAACCCCAAAIIIIAAAgggkBgBQmxiuoqGIoBAZQJdunSx9u3b2zXXXGNTpkyxG2+80ebMmWM1a9YEDQEENiNwxx13uHPmmWeesSVLltivf/1re/bZZ+1Xv/oVbggggAACCOSsACE2Z7uGhiGAQFyBL774wvbZZx+74YYb7IorrrD/+Z//caE22u6//3778ssvraSkJG6RVd6vZcuW1rFjR5swYYIrY+HChbbzzjvb+PHj7eyzz65yufnwwsGDB9uQIUNsw4YNpYcjK22zZ8/eyGv48OF2+eWXez/sb7/91oYNG+b6LGpLVKn68JxzzrFPPvnE1K/Z3DRWZKLx43NTX/zmN7+xAw880P73f//XTjvtNLv00ktLq6yoHeXHuNp55JFH2gMPPGBdu3bNWHMrGi9xC8/EOa/3k7322ss6d+4ct9qN9ovO/aqM5c2Nyyo1JuCLXnzxRXv66afd+2+DBg0CtoSqEUAgnwQIsfnUmxwLAgUsMGnSJDv99NPdbKyCUtnt97//vc2bN897IFCdb775ptWrV8922WWXjUIZIdasolDy7rvvOieFBW3VufCvyvD/6quvrFGjRjZo0CDXvrLb8uXL7eOPP3YfiNSuXbsqxVf5Nar3P//5z0YfxlS5sBQvVEhv06aN+yDo+eeft6KiotJXVNSO8mM8F0NsJs75rbfe2oXy6AOpdP2rM5Y3Ny7TbUfo/f/yl79Y3759g3wYFPrYqR8BBPwJEGL92VIyAgjkiEAmLmireijMxP5/uTgza9W58K9KH+VTWKjK8WfiNYTYihWrM5Z9jcvvvvvOttxyS/vl4m+TRmv2t06dOpkYEhuVQYjNOCkFIoDALwKEWIYBAgh4EYgCyxtvvGHXXXedu+dOF04nnHCCjRw50s1+RdvPP/9sutC566673Kf19evXt9/97ndueXCzZs022z7Nlg0cONCeeOIJt2RYs6C77babm43VMkktEdU9fuW3aEnr999/75aTTpw40dWt1yv06ndRG7WcULNP+nvZWSqVedBBB9kPP/xgOk5tcZYTV7ZUNE7IUx06Jl3k3n777W6G46233rJtt93W/vSnP7nZxBo1apQe7ooVK+yqq66ymTNnmqzkqSWjmrHe3Oyilv6NHTvWli5d6kzKbt26dXNLXT/99NPS+451X+WoUaPs7bffdv2seytvuummjWYSq7qcWL49e/a06dOn2+TJk13/rFu3zvWx/v3ZZ5+5vlI/XX/99RstWZw1a5Zde+219u9//9t0ka79DjjgALv33nvdeNFS7/LbWWed5Wbf4i4njo5Ls/1Dhw61xx9/3AWF448/3o11jedou/XWW909qO+//76tXbvWWrVqZT169HBLeMvew11+jGg2WDODzz333EbN/emnn6x58+ZuHD744IPub3HGdFSIlt3+7W9/cz7adC/sf//3f9u5557r/p3OcmKVJQOtOvjmm2/cEmUd7+67757yPeaxxx5z5/F7771nO+64o1100UWujPLLz+P4pTrn45wTFYW8I444onTZ+7Jly9zsvdqtcbTTTjs5Kx3DFlts4Y63ohBb0VgujxO9rrJxqd9rxlz1v/rqq6Yx0K5dO1e3xly0ReP3qaeecufJI4884t43FGT1/qr/vu2226x///42d+5c+8Mf/uD20woAnTM636Jz6+STT3bnVt26dUvLl5H6SWNP79WLFi2yXXfd1e2nc1RbdG6UP5Z//vOf7n0sznt/uu9FKQcbOyCAQF4IEGLzohs5CARyTyC6eGnRooWdcsopLlC+8847dvXVV7uQ+corr5RetPfu3dvuvPNOu/jii93Fjy7itJ+CgMLh9ttvX+kB6mJM++jCSeWuWrXK/VvLUxW2tFy1V69eblnoQw89VFrOwQcf7C6gdNGnYNCvXz/r0KGDuxDTxaGCx2uvvWZbbbWVPfzww/bHP/7R3Wur44g2BZE999zTbrnlFnfhry1bIVZhQSFUF6AKCbqYVjt0UTlmzBjXFgU9XWDq2BUGtFxUx6oHXx1zzDHuNZVtCqNt27Z1QVYBMtrk27RpU1fPiBEj3K91AaugrPtHTzzxRBeidB+gytBFdrRUuCohVvWpTIWbRx991Pbbbz93T+1xxx3n7uG88sor7bDDDnN1qd80Bl566SVno3Gk/tHf1V7dj6eL8ieffNJZqW8VxjWGFNqi41TQ1XLwdEOs+kFjTvUpFKptWuKuD2ei7bLLLnNtVHiuVauW+wBCY1cf7pTdr3x4VHv79Olj8+fPd0Eh2vThTadOndwYVRlxx7Rerw8y9AGTfPXBhsa8xtXKlStdiNGWTojV2NeHFzpmBSHdn65+UN+V/WCl/JhTPx577LF2yCGHmHwUyvQhku51X7x48Ub3UMfx29w5H/ecePnll+2oo45y9/rqvUibPszRWFaAVUDXB1oDBgxwY0VjTh9gyFEhXlv5EFvRWK7o/Fu/fv1mx6U+lPvtb3/rzme9b8lYYVTvT7qtQmNQWzR+FbD1PqcH4OmDE33Yc/TRR7sxqlCqMvbee293PPvvv7/rQ31ApWNTHXrf1ljRuRd9GKnyFWLV540bN3b3r+tDFvWbAvYHH3zgPqBROfqdPijRhyw77LCDa5sc5RnnvT+d96JK39D4AwII5J0AITbvupQDQiA3BKLAohmmv/71r6WN0mxN9+7d3cyn/jcKghdeeKGbtYk2hR8FMF1I6SK/sm2bbbZx4UMzXpVtlS0n1qyDLjo146AL+WhTeNVsnS4ML7jgAvvxxx/dDKYu/O67777S/XSRrtnHzz//3Lbbbjv3+2yFWF3IanZVsyfRprD+j3/8w80Ya3bu73//u51//vk2depU00xKtOmiUm3Xw1Z0MVzZpotWfZDwwgsvlO6i2V/1lS6AdeGrJ9rqYlVOClrRplk0ha3DDz/czTxqSzfE6n7EaGZJs5v6QESbZpYUPHUcmomONh2nLuD1gch5553n+lVlaJZJgbyibXPLNtMNseXbo+CsYKoZ4Ipm9hQ49aPgoQ8ANFPesGFD18zy4fHrr792M5QKC2XPBx2vxoLCgmYA445pjRH1z6mnnurOxcq2dEKswnTZD0b0oCd9gKWApw+NKtv0N40jfdii8aZtzZo17lzSrGnZB4GVLWNzfpWd8+mcE5XdE6tzSu8DCnc6z6JNH+qof/R7hbSyIbaysVyZyebGpcL+ggULnJfaqC2ajVVQVvDXeIvG75lnnml33333RlVFs9X6AEFhPdq0ekIzuvqQUYE22qJzSeehPkDSpjqaNGliH374oel9WJs+eNA41RjVB2zaKltOnM57f5z3okoHGH9AAIG8FCDE5mW3clAIhBeIAosCoS5Aok2BUDNgWrI5btw4tyRWoUihVcGx7BZ9Wq9Zkco2BUvNvP75z392s6Sqq/xX61R2QXvGGWeULgcsHzKKi4s3CmC6OFXI1iyMZqx00ah9Dj30UBcSoy1bIVbHrNmuslt0b6KWyurYFHAUKhQIyh6flj/q4lNBVhetlW2a0dUMsy42oyWhmoHSpv7Spj5UYNRXGmlJY9lNbdCyQV3YaksnxOrDBS0F1hjQDE7Zp5qq3QqMOo6yy9IVdnQxrf5WmNNFvl6vdmmMaYZUgbvslskQW9ZJdUSBSWNG3tq0LF0zxvpgQAGt7KZxrg9utFUUHhWEtI9CimbNNGOqma1LLrnEeWiLO6YV9DULpifHKhRVtqUTYvV1PSoz2jQbt8cee7i+iGYHy9ejmUHNyKl/NFtXdlPdCl9lQ2xcv8rO+XTOicpCrD7Q2nfffUuXb0dt1ix569atSz/8ikLs5sZyZe6VjUt5aYzrQ6OyH/qpnOjDKc18yz0KseU/7NK+CrGa4Sw/BvV+pveL119/faOmaQZb/aQPjW6++Wb3N72n6EMQfQhTdtOY1Gyv3tu1VRZi03nvj/NeVOkg5g8IIJCXAoTYvOxWDgqB8AJRYNEMkZazld20HFUXzlreqyV4Wq6nmZjy978qlGp5rz7p39zFnsqYMWOG21cXnlo2pws61aOtsgtazUJqeVxlm2YoNFOhTUsUdYEaXahrRkKzhGVnJrRftkKslsWWd4lmNjQ7rKWn8tOF9EcffbTJISroKyRouXBlWxSSNJuuJciRQTRDrddpxkVLiSvbFLYU+LWlE2K1hFwX8prx0vLUsptm3hVudH9h+U33dGqprpZWatPyaY0FhenoHlSFPvloy2SI1Uxq2aXv5WdyFT4VqvWBgEw1VjTzqA8ENGsb3SeodlUUHqMxp+XQWn6rftDropk/vS7umI76TW3ShzGVbemE2PJfsRPnoWZ6f1D9Ooc1A1h200yeAlMUYtPxq+ycT+ecqCzE6tzRh3GVbVqKrfe06Pg3N5YrK6OycRl5aRl4+fNOM+q6v1rLebUkOBp/FX1AqBCr8aqxU3bT7HxF7xfRPrrvXqs9tEX3xEa3L0T7lH8PrCzEpvPeH+e9qNIO4Q8IIJCXAoTYvOxWDgqB8AKZmonVrKeWI8bZdJGrewN18asZBV3sa6vsglYzJAo70X7l69CMR9mH0miWTBdumg3T8lzNYqnOsvf7xQmxWo6o2RE9NKnspnuCNbtS2fLJaF9dgMadiVXw0YxtRTOxclI43dymmStdFOs4tb8uWNXuaGY0mm2cNm1a6XLf8uVFyxLTCbEKL5pJ1QWzluRqSWS0pZqJ1b2h5WeHFKS1KkCzfQrG+rtmkbIZYqP7WhVuoqXROqZoNjtViI0e4qQZZc1uauWCxl7ZlQpxx7SPmdiqhNhoZlFhPNVMbDp+m5uJjXtOVBZiNdOoe0Uru81By2n1E4XYzY3lys69zc3EakZU7yGVzcRGKwKiEKtVEmWXBqvO6OFwuge67KYPF9UnZe/PLvt3BfLoO5OrG2JTzcSWf+9P9V4U5/8j2AcBBPJHgBCbP33JkSCQUwKp7omNlrxGSw41OzZ69OjSY9CFl5auanZGn9ins2kmVss1tdxU20knneSCWLSsNSpLYUbLL8su49xcPZqF1TI+ze5pRkcPmdFDjcpucUJsdN+Z7qWNlpnqYUia6dUsSJwQG+ee2CioaDmuTKItmhkp/6Cqio5dAV/3wOnDAd1zqwfd6L7maNOFevREUj0gZnNbOiFWD4bSEm4tE9f9zrpgl7023curmUjda60ZzWhTkNaHC+UfRlW2TatXr3YBXMsiNUOrpZMKBWp7tEwy2j/de2JTzcQqpGmc60OAaJWA+lr3hGq2LFWIVbv0QYJm2tV3ut9YHyKoX9Id0+o3zVprlvuee+6ptNt8z8Sq4rj3xKbjV9k5n845ofvcdZ5H93RHSFo+ryCsABjdw1wRYPkHO1U0liuD39y41APodE+z7ovVrRnadH+wls1rxrL8PbHphFgFc72n6dgqenJ32fbGDbFRv2klhx60Fm3pvvenei/a7JsPf0QAgbwTIMTmXZdyQAjkhkD5pxNrmWP0dGI9zVMX7Xo6qzbdR6fgoSWeCkzR04n11E3dAxc9NKn8kSmQKFTpQlz3gGnmVBdsWsqnBzVFD2GK2qLll7pnNnoKp2a2NGunh5ioboVmLRXUkj0FCj2RuGz4U32ahVF7tI8uwvSk2bJbnBCrC1DN8GrJn8KU7jfTLJMuPvW3OCE2ejqxnoCrNuiiWh8CKOjpOLVFT2JVmXo6cZs2bVyY10Wq+mNzTyeOjkkXx9GsoY65oodBaTZXTy/VE371wCVd2OsDA/Wxnn6qurVVJcSWfV304KTo6cS6Z1YfcsgxejqxAnX0dGJ96KB9tOxbD+CRh2aYFHb1cCg9oVlbtKxXfaCvKopmmzIdYjVDpgdMKYQoNKs9mo3SeNfS8DghVvddauxo6b0e9qRAXPYrfNIZ09HTiXWvbfR0YgUNzQJGfZaNEKtArnEjFwU9HYM+UNC9xLrNIDof0vGr7JxP55zQbKXuL9VMuc77aGWGzDVjqQCpDyXUHypX/ajzUONO/VM+xFY0ljf3bl3ZuIyeTqz7cvVBj95Hdc7r3Kzo6cTphFjNwmqmXx/I6AMizTjrPUDvTSpf/RPdtx03xEb36ut9Xs9C0HuszOSZznt/nPei3Ph/P1qBAALZECDEZkOZOhAoQIHoIlIPCNF/6wJdFz1a5qeZJH0tQ9mgpNnB6Mm60ffEKhxt7nti9VUU+g5BLevVBaPukVRY0TJRhYQ6deq4KjQ7odkq3f+qIKqL4ujCWPe2KfxpZlihVE94VZ36TkhdIGq2quymJyprJlLBSYGw/BYnxOo1+moUPXlZdeoCWbO6unAs/72YFQ2daCmgZifVRj0pWOFLT7jV66PvqdRr9eAWBb3oe2J1f7JCvx4utLnviS1br16v4Kt7F+Vc/rtyta/Kl6P6W/2imUYtd9WyRz18q+wFfNmQrmPRpgtdbRVd+Ov30eyxgpeOUaFB40rLajWjreCph8mondFSZ82wK/hq6bUCkZaH6onKuhDXhxfRpvue9WGCApzaXtXviU01E6v69DVBupdR/a4PQ9QXuvdaH96UD7EKK/oAovymsacxHz3lu/zf0xnTGvfR98Rq3OhDAAUzhVdt+t/y7Sg/xqOQUpXlxFHb9R2mclFQ1djRg570fablz4e4fps75+OeE/r6Iy1z1gdpesJ02e+JVdDXfalqtz7cUSDTzKXCuD5Y0oc3ccdyRee4flfZuNTfou+J1QdwCnf6cETnafT9rNqnKsuJ9ToFWa0WUX9q/Cms631Vs9Jayh+tHokbYlWm3ut0H7vOQ7W3/PfExn3vj/NeVJknv0cAgfwSIMTmV39yNAjkjEAUYstf2OdMAxPckMruZ0vwIdH0cgJaAaBZSN3HG3LLlXaENKBuBBBAAIHcEyDE5l6f0CIE8kKAEOuvGwmx/mxDl6xlm5pl1Qy2njRb/mFH2WpfrrQjW8dLPQgggAACyRIgxCarv2gtAokRIMT66ypCrD/b0CXrvNFyey0x1kOIyn5lTzbblivtyOYxUxcCCCCAQHIECLHJ6StaigACCCCAAAIIIIAAAggUvAAhtuCHAAAIIIAAAggggAACCCCAQHIECLHJ6StaigACCCCAAAIIIIAAAggUvAAhtuCHAAAIIIAAAggggAACCCCAQHIECLHJ6StaigACCCCAAAIIIIAAAggUvAAhNk+HgL5M/PPPP3dfwK4vJGdDAAEEEEAAAQQQQACBzAls2LDB1qxZYzvuuKMVFRVlrmBKSilAiE1JlMwdPv30UysuLk5m42k1AggggAACCCCAAAIJEViyZIk1a9YsIa3Nj2YSYvOjHzc5itWrV1uDBg1MJ1W9ekn7lVQAACAASURBVPXy9Cg5LAQQQAABBBBAAAEEwgj85z//cZNGq1atsvr164dpRIHWSojN047XSaWTSWGWEJunncxhIYAAAggggAACCAQT4Ho7GL1ul/yv//plPfeGcE2gZh8CnFQ+VCkTAQQQQAABBBBAAIH/E+B6O9xIIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91ozJ5VXXgpHAAEEEEAAAQQQKHABrrfDDQBCbDh7rzVzUnnlpXAEEEAAAQQQQACBAhfgejvcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c1J55aVwBBBAAAEEEEAAgQIX4Ho73AAgxIaz91pzdFIVl0y1otp1vNZF4QgggAACCCCAAAIIZFtg4U3HZ7vKjeojxIbjJ8SGs/daMyHWKy+FI4AAAggggAACCAQWIMQG7oCA1RNiA+L7rJoQ61OXshFAAAEEEEAAAQRCCxBiQ/dAuPoJseHsU9b80UcfWfv27a1GjRq2atWqlPuX3YEQmxYXOyOAAAIIIIAAAggkTIAQm7AOy2BzCbEZxMxkUT/88IN16NDBGjVqZC+++CIhNpO4lIUAAggggAACCCCQeAFCbOK7sMoHQIitMp1Zx44drU2bNm6m9O6777ZatWrZddddZ927d7eLL77Ypk2bZo0bN7YxY8bYcccdZ7Nnz7YjjzzSHn30URswYIB98MEH1rZtWxs3bpwrp+x2xRVX2Oeff25HH320lZSUEGKr0U+8FAEEEEAAAQQQQCD/BAix+dencY+IEBtXqoL9FGLfeOMN69evn3Xr1s2mTJligwYNsmOPPda6dOniQu7IkSNt6tSptnjxYnv11VddiN1zzz1t9OjR1rRpUxdm582bZ/Pnz7eaNWu6WmbNmmU9e/a0uXPn2oMPPhgrxK5fv970E21aTlxcXGw8nbgaHcxLEUAAAQQQQAABBHJWgBCbs13jvWGE2GoQK6T+9NNP9txzz7lS9N/169e3E0880e655x73u2XLltkOO+xgL730kq1bt86F2MmTJ7vQq23FihXWrFkzmzBhgp1yyin29ddfu/tgJ06caIcffrj7fZyZ2MGDB9uQIUM2ORpCbDU6mJcigAACCCCAAAII5KwAITZnu8Z7wwix1SBWiG3durXdeuutpaW0aNHCLSXu27ev+92GDRusqKjIZs6cafXq1XMhdtGiRda8efPS1yi0du7c2c3iKgDvtttudtNNN7m/xw2xzMRWoyN5KQIIIIAAAggggEDiBAixieuyjDWYEFsNSoXYdu3a2ahRo0pLadmypZs51U+0/YJsDz30kDVo0KDSEKvlx9dcc43b55tvvil9rULwzz//7O67vfPOO+1Pf/pTrBbzdOJYTOyEAAIIIIAAAgggkFABQmxCOy4DzSbEVgOxqiFW985q6bC2lStXuuXE48ePd79777333LLkaNMM7s033+yeULzTTjtZw4YNY7WYEBuLiZ0QQAABBBBAAAEEEipAiE1ox2Wg2YTYaiBWNcRqCbIe7NSkSRMbOHCge4DThx9+6J5uXH6Lu5y4/OsIsdXoWF6KAAIIIIAAAgggkPMChNic7yJvDSTEVoO2qiH2kUcesf79+7vgqq/YGTt2rPvfijZCbDU6iJcigAACCCCAAAII5K0AITZvuzblgRFiUxJlbofoe2K1hFj3vvrcmIn1qUvZCCCAAAIIIIAAAqEFCLGheyBc/YTYLNqHCLGrV692T0VmQwABBBBAAAEEEEAAgcwJRJNGXG9nzjRuSYTYuFIZ2I8QmwFEikAAAQQQQAABBBBAIAcECLHhOoEQG87ea82cVF55KRwBBBBAAAEEEECgwAW43g43AAix4ey91sxJ5ZWXwhFAAAEEEEAAAQQKXIDr7XADgBAbzt5rzTzYySsvhSOAAAIIIIAAAokSCP0QpERhxWwsITYmlIfdCLEeUHOhSEJsLvQCbUAAAQQQQAABBHJDgBCb+X4gxGbeNG6JhNi4UhncLxsPeCLEZrDDKAoBBBBAAAEEEEi4ACE28x1IiM28adwSCbFxpTK4HyE2g5gUhQACCCCAAAIIIJBSgBCbkijtHQixaZNl7AWE2IxRxi+IEBvfij0RQAABBBBAAAEEqi9AiK2+YfkSCLGZN41bIiE2rtRm9uvYsaO1adPGatSoYXfffbfVqlXLrrvuOuvevbtdfPHFNm3aNGvcuLGNGTPGjjvuOCsfYr/77jvr2rWrff311/b444/b8ccfb0cccYTddNNNpbUuX77cdtxxR3v66aftyCOPTNlqlhOnJGIHBBBAAAEEEECgYAQIsZnvakJs5k3jlkiIjSuVIsS+8cYb1q9fP+vWrZtNmTLFBg0aZMcee6x16dLFFHJHjhxpU6dOtcWLF9urr77qgujKlSvtlw6w3//+97blllvajBkzrG7dui7sDh8+3BYuXOj+rk2/U6jV64uKijZpzfr1600/0aaTqri42IpLplpR7ToZOEqKQAABBBBAAAEEEEiqACE28z1HiM28adwSCbFxpVKE2J9++smee+45t5f+u379+nbiiSfaPffc4363bNky22GHHeyll16ydevWuRD7/vvvu9C7yy672KRJk9wMrrZo1nXWrFl22GGHud916NDBDj30UBs2bFiFLRk8eLANGTJkk78RYjPQwRSBAAIIIIAAAggkXIAQm/kOJMRm3jRuiYTYuFIpQmzr1q3t1ltvLd2rRYsWbilx37593e82bNjgZlBnzpxp9erVcyG2WbNmdsABB9gDDzzgliKX3Tp16mTNmze3O+64wz755BNr1aqVzZ0719q2bVthS5iJzUBHUgQCCCCAAAIIIJCnAoTYzHcsITbzpnFLJMTGlUoRYtu1a2ejRo0q3atly5ZWUlLifqJNS4Mfeugha9CggQuxvXv3tunTp5tmXHVPbdntvvvusz59+tjSpUvd7KtmaufNmxe7tdwTG5uKHRFAAAEEEEAAgbwXIMRmvosJsZk3jVsiITaulIcQq3tihw4d6pYc62FPe+21V2kta9eutSZNmrjw2r9/f+vRo4f737gbITauFPshgAACCCCAAAL5L0CIzXwfE2Izbxq3REJsXClPIVazspdeeqkLqwqye+yxR2lNerrxO++8Y2+//bZ7yJOWF8fdCLFxpdgPAQQQQAABBBDIfwFCbOb7mBCbedO4JRJi40p5DLEq+pJLLnFfxaMgu9tuu7naoq/bOfzww+3ZZ59Nq6WE2LS42BkBBBBAAAEEEMhrAUJs5ruXEJt507glEmLjSiVsP0JswjqM5iKA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xC+88IJdeeWV9tlnnxFis9gvVIUAAgggkBkBQmxmHCkFAQSSIUCIDddPhNgs2pcPsap65MiR7qnDWi58+OGHW/fu3e3MM88kxGaxX6gKAQQQQCAzAoTYzDhSCgIIJEOAEBuunwix4ey91sw9sV55KRwBBBBAoAIBQizDAgEECkmAEBuutwmx4ey91kyI9cpL4QgggAAChFjGAAIIFLgAITbcACDEhrP3WjMnlVdeCkcAAQQQQAABBBAocAGut8MNAEJsOHuvNXNSeeWlcAQQQAABBBBAAIECF+B6O9wAIMSGs/daMyeVV14KRwABBBBAAAEEEChwAa63ww0AQmw4e681c0+sV14KRwABBApCgAc1FUQ3c5AIIFBFAUJsFeEy8DJCbAYQc7EIQmwu9gptQgABBJIlQIhNVn/RWgQQyK4AITa73mVrI8Rmwf7ss8923wM7Y8aMLNT2f1UQYrNGTUUIIIBA3goQYvO2azkwBBDIgAAhNgOIVSyCEFtFuHRetnr1atuwYYM1aNAgnZdVa19CbLX4eDECCCCAwC8ChFiGAQIIIFC5ACE23OggxIaz91ozIdYrL4UjgAACBSFAiC2IbuYgEUCgigKE2CrCZeBlhNgMIKYqouxy4o4dO9ree+/tXjJx4kSrUaOGXXDBBXbdddfZL53hfr906VLr2bOnzZo1y5o2bWrXX3+9DRgwwEpKStxPnI0QG0eJfRBAAAEENidAiGV8IIAAApULEGLDjQ5CbBbsy4fY119/3c4991wXXl977TXr1auXjRo1ys477zzXmt/+9rf21Vdf2R133GE1a9a0yy67zF599VW74YYbKg2x69evN/1Em06q4uJiKy6ZakW162ThKKkCAQQQQCDfBAix+dajHA8CCGRSgBCbSc30yiLEpudVpb3Lh9gvv/zS3nnnndKZ1/79+9vDDz9s7777rr3//vu255572pw5c2z//fd39X300Ue266672siRIysNsYMHD7YhQ4Zs0j5CbJW6jBchgAACCPwiQIhlGCCAAAKVCxBiw40OQmwW7MuH2FatWtldd91VWvPMmTOta9eutm7dOnv00Ufdf2tWtaioqHSfbbfd1q655hpmYrPQX1SBAAIIIPB/AoRYRgICCCBAiM3FMUCIzUKvpBNiH3nkETv55JM3CbENGza0QYMGcU9sFvqLKhBAAAEECLGM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r483Bqml0912262iAxBiK2JKupMQm5Rf5wQIECBAgACBmgSE2Jr4amosxNbEV33j7FbhI444In72s5/F+973vrzQypUr88/Efv3rX4/Pfe5zmy3uK3aqN29vLYXY9jYijocAAQIECBAgULmAEFu5Vb33FGLrLdpO6rkS204G4i0OQ4ht/2PkCAkQIECAAAECWxIQYtPNDSE2nX2pPQuxpfLWpbgQWxdGRQgQIECAAAECSQSE2CTseadCbDr7Unu2qErlVZwAAQIECBAgQKDBBZxvp5sAQmw6+1J7tqhK5VWcAAECBAgQIECgwQWcb6ebAEJsOvtSe7aoSuVVnAABAgQIECBAoMEFnG+nmwBCbDr7Unv2mdhSeTco7rOtbWetJwIECBAgQIBAexEQYtONhBCbzr7UnoXYUnmF2Lbj1RMBAgQIECBAoF0KCLHphkWITWSffd/raaedFvPnz4/Vq1dHz5494+STT45p06bV5YiE2LowVlTEldiKmOxEgAABAgQIENiqBITYdMMpxCayv/POO+PYY4+NRYsWxZ577hljx46NAw88UIhNNB61dCvE1qKnLQECBAgQIECgYwoIsenGTYhNZD99+vS4/PLL46mnnsqPYMSIETFkyBAhNtF41NKtEFuLnrYECBAgQIAAgY4pIMSmGzchNoF9dtvw7NmzW3ru379/DBgwoCXETpo0KX72s5/FL3/5yw2Obr/99ovjjjsupk6d2upRu524VaK67SDE1o1SIQIECBAgQIBAhxEQYtMNlRCbwP6ll16Kb33rW3H11VfH4sWLo3PnzvHRj360JcQuW7YsBg8eHE888UTstdde+REuX748Bg0aFI8//njsvfferR61ENsqUd12EGLrRqkQAQIECBAgQKDDCAix6YZKiE1knz3AKftZsWJFfgQb3068//7755+TveCCC/LXzz///Ljrrrvi17/+9WaPuLm5ObKf9Vu2qJqamqJpwrzo1LV7onfZGN0KsY0xzt4lAQIECBAgQODNAkJsuvkgxCayby3EXnbZZTFz5sx47LHHInuScfbwpwkTJsQ555yz2SOeMmXKZm8zFmLLH2AhtnxjPRAgQIAAAQIE2puAEJtuRITYRPathdg//vGP0a9fv1iyZEm8+uqrcdhhh8UzzzwTffr0cSU20ZhtqVshtp0NiMMhQIAAAQIECLSBgBDb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DTfkn2fNwuwll1ySP+gpC6Tnn39+PPvsszFs2LDIrtJ+5CMf2WKIzaqfffbZMX/+/DzI7r333q0etRArxLY6SexAgAABAgQIECBQtYAQWzVdzQ2F2JoJNy2Qhdjss63ZV+qk2oRYITbV3NMvAQIECBAgQKARBITYdKMsxJZgL8SWgFpFSQ92qgJNEwIECBAgQIAAgYoEhNiKmErZSYgtgbU9hdiXXnopevToUcK7VJIAAQIECBAgQIBA4woIsenGXohNZ19qzxZVqbyKEyBAgAABAgQINLiA8+10E0CITWdfas8WVam8ihMgQIAAAQIECDS4gPPtdBNAiE1nX2rPFlWpvIoTIECAAAECBAg0uIDz7XQTQIhNZ19qz1vj04k9qKnUKaM4AQIECBAgQIBAAQEhtgBWnXcVYusM2l7KCbHtZSQcBwECBAgQIECAwNYoIMSmG1UhNp19rFq1Kvbff/945plnYvXq1dGrV6+6HY0QWzdKhQgQIECAAAECBAhsIiDEppsUQmw6+xg9enS89tprceeddwqxFYyD24krQLILAQIECBAgQIBAmwgIsW3CvNlOhNga7bPvhB08eHB07tw5Zs+eHV26dImLLrooTjzxxDjrrLNi/vz50bt375g+fXocddRRLb19+9vfjhtvvDEuvPDC+MAHPtASYrPvdd1tt91iwYIF8cEPfrBl/1tuuSVOOumkeP7552P77bdv9ahdiW2VyA4ECBAgQIAAAQIEqhYQYqumq7mhEFsjYRZiH3rooTj33HPjhBNOyIPp5MmTY9SoUXHcccdF9vqVV14Z8+bNi5UrV0b37t3j0UcfzYPrr371q3jyySdj5MiRG1yJHTt2bHTr1i2uu+66lqPLfpcF5BtuuKGiIxZiK2KyEwECBAgQIECAAIGqBITYqtjq0kiIrZExC6lr166Ne++9N6+U/blnz54xZsyYmDNnTv675557Lvr27RsPPPBADB06NIYPHx4TJ06MT37yk7Fo0aJNQnGa9nEAACAASURBVGx2FfZTn/pUftU1C73ZAunTp0/cfPPNcfTRR2/2iJubmyP7Wb9lbZqamqJpwrzo1LV7je+yfTR3O3H7GAdHQYAAAQIECBAgEPk5enben91J2aNHDyRtKCDE1oidhdiBAwfGjBkzWir1798/v5U4C6rZtm7duujUqVMsXLgwD61/+tOf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sgcBAgQIECBAgEAaASE2jXvWqxCbyF6IbR1eiG3dyB4ECBAgQIAAAQJpBITYNO5CbInuI0aMiP322y/e9ra3xfe+973o0qVLnH766TFlypS8141D7L/8y7/EjBkz4sc//nHeZtiwYXm7T3ziE/n+t9xyS/7nxYsXx+DBg1s9crcTt0pkBwIECBAgQIAAAQJVCwixVdPV3NCV2JoJN18gC7EPP/xwfPGLX8zD5wMPPBAnn3xyHlKPOOKIlhB77LHHxoQJE+LWW2+Nu+66K975znfmBa+66qo4//zz45FHHoltt902D64XXHBBvm8lmxBbiZJ9CBAgQIAAAQIECFQnIMRW51aPVkJsPRQ3UyMLsWvXro1777235dXhw4fH4YcfHpdeemkeYm+66aZYuHBhLFmyJH7605/GHnvssUGlD33oQ/kHxrOruJ06dcoDcNZuc1tzc3NkP+u3rF1TU1M0TZgXnbp2L+ldllvW7cTl+qpOgAABAgQIECBQvYAQW71drS2F2FoFt9A+C7EDBw7MbxFev2VXXXfeeeeYOXNmHkaz0Nq1a9f45S9/GbvssssmlV544YXYe++98wC7bNmy2H333bd4tNltylOnTt3kdSG2pAFWlgABAgQIECBAoKEFhNh0wy/ElmSfhdghQ4bEtGnTWnrIvk6nV69eMWvWrDzEnnLKKTF37tz8s68nnnjiJkeSXZ09+uij8xCb3Y6cfU52S5srsSUNpLIECBAgQIAAAQIENiMgxKabFkJsSfaVhNjse2LXrVuXf2b22muvjY9//OMtR/Piiy/mn4MdP358PPfcc3HPPffEQw89FN26davoiH0mtiImOxEgQIAAAQIECBCoSkCIrYqtLo2E2Lowblqk0hCbXZ2dP39+nHTSSXHdddfF2LFj82If+9jHYuXKlXHffffFa6+9ll+F/cAHPrDB7clvdehCbEkDqywBAgQIECBAgACBNwSE2HTTQIgtyb5IiM0OYd68eTFu3Lj4/ve/H6+88kp87nOfy59uvP5pxQ8++GAccsghkV29zW4xbm0TYlsT8joBAgQIECBAgACB6gWE2Ortam0pxNYq2E7bC7HtdGAcFgECBAgQIECAwFYhIMSmG0YhNp19qT0LsaXyKk6AAAECBAgQINDgAkJsugkgxKazL7Vni6pUXsUJECBAgAABAgQaXMD5droJIMSm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qzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2bFGVyqs4AQIECBAgQIBAgws43043AYTYdPal9mxRlcqrOAECBAgQIECAQIMLON9ONwGE2HT2pfZsUZXKqzgBAgQIECBAgECDCzjfTjcBhNh09qX2/NJLL0WvXr3i6aefjh49epTal+IECBAgQIAAAQIEGk0gC7FNTU2xZs2a6NmzZ6O9/aTvV4hNyl9e53/84x/zRWUjQIAAAQIECBAgQKA8geyi0R577FFeBypvIiDEbqWT4vXXX48//elPscMOO8Qbg5zsXR500EGxePHiZP1X0nGqYyyr33rWraVWtW2Ltqtk//X/pdSdCZtfEZUYVrKWytwnxTGW1Wc969ZSq9q2RdtVur91uuUVVKlhmWuwtdopjrHMPutVu9Y61bQv2qbS/a3RTVfBunXr4uWXX47dd989OnXq1Noy8XodBYTYOmIqtanAvvvuG48++mi7pkl1jGX1W8+6tdSqtm3RdpXs7zMrb70EKzFMvYhTHGNZfdazbi21qm1btF2l+1unW15llRqmXKcpjrHMPutVu9Y61bQv2qbS/a3RlCtM3xsLCLHmRKkCM2bMiDPPPLPUPmotnuoYy+q3nnVrqVVt26LtKtnfP7xvvUoqMax1ndXaPsUxltVnPevWUqvatkXbVbq/dbrlVVKpYa3rrJb2KY6xzD7rVbvWOtW0L9qm0v2t0VpWiLb1FhBi6y2qHgEC7U7AP7ztbkgcEIFNBKxTk4JA+xawRtv3+DTa0QmxjTbi3i+BBhRobm6Or3/96zFp0qTo2rVrAwp4ywTav4B12v7HyBE2toA12tjj397evRDb3kbE8RAgQIAAAQIECBAgQIDAFgWEWJODAAECBAgQIECAAAECBDqMgBDbYYbKgRIgQIAAAQIECBAgQICAEGsOECBAgAABAgQIECBAgECHERBiO8xQOVACBAgQIECAAAECBAgQEGLNAQIECBAgQIAAAQIECBDoMAJCbIcZKgdKgEAZAk8//XScdNJJ8cILL8Q222wTF1xwQXz0ox8toys1CRCoQuDll1+Oww8/PP7xj3/E2rVr4+yzz47x48dXUUkTAgTKFPjb3/4W//RP/5T/G/qNb3yjzK7UJhBCrElAgEBDCzz77LPx/PPPx5AhQ/IgO2zYsHj88cdju+22a2gXb55AexHIgmv2/ZTdu3eP7CR50KBBsXjx4th5553byyE6DgIE3hD46le/Gv/93/8d/fr1E2LNiNIFhNjSiXVAgEBHEthvv/3i9ttvj6ampo502I6VQEMIvPjiizF06NB48MEHY5dddmmI9+xNEugIAll4Pe+88+LDH/5wLFu2TIjtCIPWwY9RiO3gA+jwCTS6wM9//vO4/PLL85Pa7KrqggULYvTo0RuwXHXVVfk+2esDBw6MadOmxfvf//5N6JYsWRInn3xy/g+wjQCB+gjUY42uWbMmDjvssPwqT7aWzzzzzPocnCoECEQ91uixxx6br837779fiDWn2kRAiG0TZp0QIFCWwJ133hm/+MUv8tuAjz/++E1C7I033ph/5jULsu9973vju9/9bnzve9+LRx99NL/laf22atWqPNhmrx1yyCFlHa66BBpOoF5rNIPLbv0fM2ZM3HLLLdGnT5+Gs/SGCZQhUOsaXbhwYdx33315OGj6rQAAC2dJREFUiJ01a5YQW8YgqbmJgBBrUhAgsNUIvPF/aJuE2IMPPjgPuN/+9rdb3mf24Insau3Xv/71/HfZ5+2OOOKI/GExWeC1ESBQjkC1a/TNR3PGGWfkD3ryALZyxkjVxhaoZo1OmjQprr/++ujcuXO88sor+UPYvvSlL8WFF17Y2JjefakCQmypvIoTINCWAhv/4/vaa6/lD4O56aab4rjjjms5lHPOOSeWLl0a99xzT6xbty4+8YlPxD777BNTpkxpy8PVF4GGE6hmjWZXX7t16xY9evSI//3f/433vOc9MXfu3Mg+v24jQKC+AtWs0TcfgSux9R0P1bYsIMSaHQQIbDUCG//j+6c//Sne/va357cbv/kW4UsuuSRmz56dP4U4uwXq0EMP3eCE+LrrrovBgwdvNS7eCIH2IlDNGs0+737qqafm/8Ep+8muxGY/NgIE6i9QzRoVYus/Diq2LiDEtm5kDwIEOojAlv7xzR40kV29Wb997WtfiyyoPvbYYx3knTlMAluHgDW6dYyjd7H1ClijW+/Ybm3vTIjd2kbU+yHQwAK13gbVwHTeOoE2EbBG24RZJwSqFrBGq6bTsI0FhNg2BtcdAQLlCWzpgRQHHHBA/nTi9du+++4b2dcBrH+wU3lHpDIBAm8WsEbNBwLtW8Aabd/j4+j+fwEh1mwgQKBDC2RPQnziiSfy9zB06ND45je/GSNHjoyddtop/wqd9V+x853vfCe/pfjqq6+Oa665JpYvXx79+/fv0O/dwRPoCALWaEcYJcfYyALWaCOPfsd970Jsxx07R06AwBsCixYtykPrxtu4cePy76vLtuwq7GWXXRbPPvtsDBo0KK688sr8YU42AgTKF7BGyzfWA4FaBKzRWvS0TSUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJCLGp5PVLgAABAgQIECBAgAABAoUFhNjCZBoQIECAAAECBAgQIECAQCoBITaVvH4JECBAgAABAgQIECBAoLCAEFuYTAMCBAgQIECAAAECBAgQSCUgxKaS1y8BAgQIECBAgAABAgQIFBYQYguTaUCAAAECBAgQIECAAAECqQSE2FTy+iVAgAABAgQIECBAgACBwgJCbGEyDQgQIECAAAECBAgQIEAglYAQm0pevwQIECBAgAABAgQIECBQWECILUymAQECBAgQIECAAAECBAikEhBiU8nrlwABAgQIECBAgAABAgQKCwixhck0IECAAAECBAgQIECAAIFUAkJsKnn9EiBAgAABAgQIECBAgEBhASG2MJkGBAgQIECAAAECBAgQIJBKQIhNJa9fAgQIECBAgAABAgQIECgsIMQWJtOAAAECBAgQIECAAAECBFIJZCH2/wN3UHpVkxXFgAAAAABJRU5ErkJggg==\" width=\"945\">"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sortcount = sorted(bycount, reverse=False, key=lambda x: bycount[x])\n",
"sortsize = sorted(bysize, reverse=False, key=lambda x: bysize[x])\n",
"sortsizerepresentative = sorted(bysizerepresentative, reverse=False, key=lambda x: bysizerepresentative[x])\n",
"from matplotlib import pyplot\n",
"%matplotlib notebook\n",
"for desc, data in {\"po številu datotek\": (sortcount, bycount), \"po velikosti datotek\": (sortsize, bysize), \"po številu po velikosti največjih datotek torrentov\": (sortsizerepresentative, bysizerepresentative)}.items():\n",
" fig, axes = pyplot.subplots()\n",
" # axes.pie([data[1][key] for key in data[0]], labels=data[0])\n",
" axes.barh(data[0], [data[1][key] for key in data[0]])\n",
" pyplot.xscale(\"log\")\n",
" axes.set_title(desc)\n",
" fig.show()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3 (ipykernel)",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.9"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
|