Advertisement
Guest User

Untitled

a guest
Apr 24th, 2014
185
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 40.98 KB | None | 0 0
  1. import bpy
  2. import operator
  3. from timeit import timeit
  4.  
  5. get = operator.itemgetter
  6. col = bpy.context.scene.col
  7.  
  8. desired_output = [44, 496, 308, 827, 196, 267, 166, 362, 37, 763, 966, 513, 243, 893, 816, 32, 967, 545, 313, 327,
  9. 733, 501, 721, 474, 91, 825, 193, 450, 537, 89, 349, 408, 884, 222, 722, 3, 928, 232, 657, 19, 663, 699,
  10. 385, 40, 738, 205, 565, 662, 631, 137, 941, 285, 584, 69, 695, 737, 156, 979, 870, 112, 995, 792, 939, 1,
  11. 134, 510, 674, 27, 996, 163, 505, 664, 915, 815, 821, 797, 99, 514, 133, 298, 330, 869, 0, 135, 890, 637,
  12. 102, 938, 747, 947, 743, 278, 833, 191, 783, 744, 356, 123, 984, 366, 384, 53, 489, 210, 932, 897, 158, 779,
  13. 8, 209, 855, 840, 162, 553, 883, 705, 280, 669, 706, 487, 452, 100, 592, 859, 841, 140, 520, 764, 438, 169,
  14. 543, 110, 590, 768, 690, 332, 283, 430, 971, 767, 63, 367, 532, 440, 623, 412, 665, 523, 753, 377, 124, 286,
  15. 956, 612, 807, 908, 507, 350, 473, 17, 793, 363, 397, 675, 353, 618, 282, 383, 854, 47, 402, 201, 626, 892,
  16. 935, 718, 104, 281, 316, 207, 798, 696, 812, 180, 139, 48, 468, 670, 276, 555, 389, 629, 524, 919, 84, 835,
  17. 185, 577, 444, 910, 858, 824, 200, 451, 684, 85, 625, 739, 948, 211, 976, 178, 927, 141, 634, 36, 922, 322,
  18.  533, 111, 789, 602, 344, 761, 863, 138, 343, 624, 583, 95, 902, 713, 771, 419, 325, 24, 729, 256, 604, 216,
  19.  517, 115, 479, 608, 398, 697, 735, 539, 318, 417, 680, 224, 974, 598, 896, 142, 571, 23, 433, 610, 913, 720,
  20.   994, 73, 161, 593, 802, 262, 770, 357, 652, 842, 601, 157, 993, 773, 640, 335, 542, 55, 987, 688, 221, 646,
  21.    698, 296, 75, 554, 219, 594, 460, 287, 67, 160, 693, 981, 632, 567, 823, 103, 975, 295, 727, 114, 143, 596,
  22.     458, 231, 549, 667, 822, 900, 74, 416, 46, 498, 312, 837, 197, 265, 167, 360, 28, 165, 297, 129, 550, 844,
  23.      483, 613, 431, 973, 72, 847, 409, 957, 826, 192, 247, 33, 619, 710, 391, 820, 253, 683, 66, 246, 724, 531,
  24.      328, 943, 425, 159, 339, 22, 394, 380, 370, 64, 461, 497, 731, 906, 372, 811, 421, 636, 31, 645, 678, 302,
  25.      153, 873, 628, 413, 484, 656, 38, 144, 509, 354, 866, 784, 435, 260, 648, 43, 499, 307, 839, 198, 266, 168,
  26.       359, 10, 261, 375, 679, 214, 292, 960, 439, 227, 82, 475, 734, 972, 39, 865, 491, 748, 982, 912, 49, 130,
  27.       885, 150, 561, 275, 909, 750, 152, 692, 117, 853, 263, 921, 77, 903, 962, 730, 488, 997, 79, 980, 991, 320,
  28.       16, 399, 638, 238, 76, 745, 502, 181, 464, 242, 766, 944, 621, 208, 122, 881, 891, 654, 658, 818, 672, 871,
  29.       228, 101, 615, 202, 808, 940, 422, 234, 653, 911, 860, 154, 879, 364, 600, 931, 741, 21, 172, 423, 673, 803,
  30.       289, 736, 707, 934, 14, 836, 186, 963, 805, 528, 515, 346, 65, 758, 597, 749, 12, 620, 309, 259, 516, 918, 933,
  31.       864, 239, 41, 888, 580, 882, 992, 576, 338, 254, 476, 681, 13, 936, 493, 901, 20, 492, 788, 462, 212, 777, 248,
  32.       57, 442, 887, 215, 300, 726, 305, 445, 899, 895, 109, 341, 149, 521, 834, 187, 447, 108, 303, 794, 525, 26, 414,
  33.        317, 400, 904, 459, 96, 905, 857, 213, 348, 304, 5, 183, 781, 390, 249, 293, 371, 116, 728, 52, 403, 269, 368,
  34.         443, 977, 572, 88, 333, 351, 504, 481, 273, 607, 120, 605, 633, 708, 145, 257, 666, 701, 712, 552, 18, 828,
  35.         195, 639, 314, 9, 177, 643, 404, 321, 345, 650, 540, 725, 206, 627, 999, 642, 310, 757, 538, 78, 953, 686, 754,
  36.          379, 270, 418, 94, 782, 519, 155, 875, 719, 71, 829, 188, 774, 655, 11, 557, 588, 386, 336, 945, 81, 589, 428,
  37.          867, 347, 790, 990, 272, 582, 86, 801, 251, 689, 799, 179, 635, 93, 702, 830, 194, 599, 929, 291, 50, 760, 711,
  38.           392, 127, 809, 961, 471, 785, 795, 566, 660, 182, 522, 121, 659, 453, 503, 407, 876, 682, 15, 449, 252, 786,
  39.           405, 326, 29, 241, 746, 762, 898, 703, 131, 556, 527, 845, 2, 949, 358, 716, 877, 546, 337, 436, 862, 83, 717,
  40.           245, 647, 756, 526, 80, 467, 376, 759, 630, 585, 970, 752, 220, 606, 59, 843, 916, 454, 382, 850, 723, 58,
  41.           831, 189, 203, 986, 595, 274, 715, 983, 952, 544, 25, 872, 240, 235, 832, 190, 495, 105, 146, 568, 559, 478,
  42.           644, 485, 352, 775, 106, 894, 574, 923, 878, 355, 889, 611, 968, 569, 132, 700, 603, 299, 393, 319, 6, 806,
  43.           886, 988, 814, 170, 819, 223, 954, 791, 98, 342, 578, 924, 617, 846, 30, 324, 687, 401, 732, 494, 917, 677,
  44.           455, 740, 329, 614, 742, 204, 755, 506, 125, 535, 530, 778, 395, 547, 410, 244, 587, 315, 62, 284, 427, 804,
  45.           420, 415, 42, 969, 641, 661, 477, 264, 61, 171, 958, 334, 511, 709, 591, 107, 174, 437, 563, 151, 586, 548,
  46.           456, 226, 45, 500, 311, 838, 199, 268, 164, 361, 118, 880, 388, 536, 136, 907, 426, 173, 955, 60, 470, 787, 434,
  47.           255, 512, 765, 769, 965, 90, 937, 694, 964, 800, 250, 579, 942, 411, 113, 469, 671, 622, 365, 230, 306, 925,
  48.           926, 237, 119, 184, 998, 236, 946, 874, 126, 714, 796, 570, 147, 323, 959, 457, 668, 56, 424, 369, 258, 951,
  49.           387, 486, 290, 914, 776, 87, 446, 518, 463, 432, 277, 813, 233, 288, 301, 930, 340, 651, 560, 396, 564, 97,
  50.           217, 534, 482, 374, 558, 851, 7, 848, 466, 373, 480, 704, 34, 465, 294, 649, 68, 176, 529, 950, 381, 616, 148,
  51.           490, 508, 279, 128, 331, 429, 868, 271, 676, 225, 229, 691, 70, 751, 852, 581, 35, 609, 541, 780, 472, 856, 989,
  52.           978, 849, 378, 54, 772, 551, 448, 218, 575, 810, 175, 441, 685, 92, 406, 562, 817, 51, 985, 573, 861, 4, 920]
  53.  
  54. def orig():
  55.     flt_neworder = [
  56.         x[1] for x in sorted(
  57.             zip(
  58.                 [x[0] for x in sorted(enumerate(col), key=lambda x: x[1].label)],
  59.                 range(len(col))
  60.             )
  61.         )
  62.     ]
  63.  
  64.     #bpy.data.texts.new("").write(repr(flt_neworder))
  65.     assert flt_neworder == desired_output
  66.  
  67. def origmod():
  68.     d = [item.label for item in col]
  69.     flt_neworder = [
  70.         x[1] for x in sorted(
  71.             zip(
  72.                 [x[0] for x in sorted(enumerate(d), key=lambda x: x[1])],
  73.                 range(len(d))
  74.             )
  75.         )
  76.     ]
  77.  
  78.     assert flt_neworder == desired_output
  79.  
  80. def orignew():
  81.     flt_neworder = list({k: i for i, (k, v) in enumerate(sorted(enumerate(item.label for item in col), key=operator.itemgetter(1)))}.values())
  82.     assert flt_neworder == desired_output
  83.  
  84. def orig3():
  85.     flt_neworder = [None] * len(col)
  86.     for j, (_, i) in enumerate(sorted(zip((item.label for item in col), range(len(col))))): flt_neworder[i] = j
  87.  
  88.     assert flt_neworder == desired_output
  89.  
  90. def rewrite():
  91.     idata = list(enumerate(item.label for item in col))
  92.     sdata = sorted(idata, key=lambda x: x[1])
  93.     flt_neworder = [sdata.index(x) for x in idata]
  94.  
  95.     assert flt_neworder == desired_output
  96.  
  97. def rewriteop():
  98.     idata = list(enumerate(item.label for item in col))
  99.     sdata = sorted(idata, key=operator.itemgetter(1))
  100.     flt_neworder = [sdata.index(x) for x in idata]
  101.  
  102.     assert flt_neworder == desired_output
  103.  
  104. def rewriteuniq():
  105.     d = [item.label for item in col]
  106.     sdata = sorted(d)
  107.     flt_neworder = [sdata.index(x) for x in d]
  108.  
  109.     assert flt_neworder == desired_output
  110.    
  111. def orig4():
  112.     flt_neworder = list(map(get(0), sorted(enumerate(sorted(enumerate(item.label for item in col), key=get(1))), key=get(1))))
  113.    
  114.     assert flt_neworder == desired_output
  115.  
  116.    
  117.    
  118. class MyColl(bpy.types.PropertyGroup):
  119.     #name = bpy.props.StringProperty()
  120.     label = bpy.props.StringProperty()
  121.     description = bpy.props.StringProperty()
  122.  
  123. # Demo data
  124. coll_data = (
  125.     ('Lorem ipsum [1]', ''),
  126.     ('ipsum [2]', ''),
  127.     ('dolor [3]', ''),
  128.     ('sit [4]', ''),
  129.     ('amet, [5]', ''),
  130.     ('consectetur adipiscing [6]', ''),
  131.     ('adipiscing elit. Fusce [7]', ''),
  132.     ('elit. [8]', ''),
  133.     ('Fusce [9]', ''),
  134.     ('quis venenatis justo, [10]', ''),
  135.     ('venenatis justo, bibendum [11]', ''),
  136.     ('justo, [12]', ''),
  137.     ('bibendum tristique [13]', ''),
  138.     ('tristique sem. Etiam [14]', ''),
  139.     ('sem. Etiam venenatis [15]', ''),
  140.     ('Etiam [16]', ''),
  141.     ('venenatis ligula dolor, [17]', ''),
  142.     ('ligula [18]', ''),
  143.     ('dolor, [19]', ''),
  144.     ('eget [20]', ''),
  145.     ('pulvinar ipsum [21]', ''),
  146.     ('ipsum porttitor id. [22]', ''),
  147.     ('porttitor id. Proin [23]', ''),
  148.     ('id. Proin sit [24]', ''),
  149.     ('Proin [25]', ''),
  150.     ('sit [26]', ''),
  151.     ('amet gravida [27]', ''),
  152.     ('gravida leo. Praesent [28]', ''),
  153.     ('leo. [29]', ''),
  154.     ('Praesent elementum [30]', ''),
  155.     ('elementum eu tortor [31]', ''),
  156.     ('eu tortor at [32]', ''),
  157.     ('tortor [33]', ''),
  158.     ('at porttitor. Aliquam [34]', ''),
  159.     ('porttitor. Aliquam [35]', ''),
  160.     ('Aliquam [36]', ''),
  161.     ('ut augue nisl. [37]', ''),
  162.     ('augue [38]', ''),
  163.     ('nisl. [39]', ''),
  164.     ('Donec [40]', ''),
  165.     ('non pellentesque [41]', ''),
  166.     ('pellentesque eros. [42]', ''),
  167.     ('eros. [43]', ''),
  168.     ('Integer purus [44]', ''),
  169.     ('purus ante, luctus [45]', ''),
  170.     ('ante, luctus [46]', ''),
  171.     ('luctus [47]', ''),
  172.     ('non neque [48]', ''),
  173.     ('neque a, [49]', ''),
  174.     ('a, [50]', ''),
  175.     ('vehicula convallis massa. [51]', ''),
  176.     ('convallis massa. [52]', ''),
  177.     ('massa. [53]', ''),
  178.     ('Nam ornare purus [54]', ''),
  179.     ('ornare purus [55]', ''),
  180.     ('purus ac [56]', ''),
  181.     ('ac vestibulum tempor. [57]', ''),
  182.     ('vestibulum tempor. Sed [58]', ''),
  183.     ('tempor. Sed [59]', ''),
  184.     ('Sed volutpat scelerisque [60]', ''),
  185.     ('volutpat [61]', ''),
  186.     ('scelerisque [62]', ''),
  187.     ('varius. [63]', ''),
  188.     ('Aenean a justo [64]', ''),
  189.     ('a justo [65]', ''),
  190.     ('justo nulla. [66]', ''),
  191.     ('nulla. Duis [67]', ''),
  192.     ('Duis [68]', ''),
  193.     ('volutpat adipiscing ipsum, [69]', ''),
  194.     ('adipiscing [70]', ''),
  195.     ('ipsum, non ultricies [71]', ''),
  196.     ('non ultricies sem [72]', ''),
  197.     ('ultricies sem semper [73]', ''),
  198.     ('sem semper scelerisque. [74]', ''),
  199.     ('semper scelerisque. Quisque [75]', ''),
  200.     ('scelerisque. Quisque lacinia [76]', ''),
  201.     ('Quisque lacinia a [77]', ''),
  202.     ('lacinia a [78]', ''),
  203.     ('a diam eget [79]', ''),
  204.     ('diam eget tempor. [80]', ''),
  205.     ('eget [81]', ''),
  206.     ('tempor. Aenean a [82]', ''),
  207.     ('Aenean a [83]', ''),
  208.     ('a tortor neque. [84]', ''),
  209.     ('tortor neque. [85]', ''),
  210.     ('neque. [86]', ''),
  211.     ('Quisque varius quam [87]', ''),
  212.     ('varius [88]', ''),
  213.     ('quam vel [89]', ''),
  214.     ('vel [90]', ''),
  215.     ('quam consequat, [91]', ''),
  216.     ('consequat, sit [92]', ''),
  217.     ('sit amet [93]', ''),
  218.     ('amet [94]', ''),
  219.     ('sagittis quam elementum. [95]', ''),
  220.     ('quam elementum. [96]', ''),
  221.     ('elementum. Ut [97]', ''),
  222.     ('Ut vitae [98]', ''),
  223.     ('vitae [99]', ''),
  224.     ('enim eros. Maecenas [100]', ''),
  225.     ('eros. [101]', ''),
  226.     ('Maecenas interdum [102]', ''),
  227.     ('interdum arcu ut [103]', ''),
  228.     ('arcu [104]', ''),
  229.     ('ut turpis accumsan [105]', ''),
  230.     ('turpis accumsan rutrum. [106]', ''),
  231.     ('accumsan [107]', ''),
  232.     ('rutrum. Class aptent [108]', ''),
  233.     ('Class [109]', ''),
  234.     ('aptent taciti sociosqu [110]', ''),
  235.     ('taciti sociosqu [111]', ''),
  236.     ('sociosqu [112]', ''),
  237.     ('ad litora torquent [113]', ''),
  238.     ('litora torquent per [114]', ''),
  239.     ('torquent [115]', ''),
  240.     ('per conubia nostra, [116]', ''),
  241.     ('conubia nostra, per [117]', ''),
  242.     ('nostra, [118]', ''),
  243.     ('per inceptos [119]', ''),
  244.     ('inceptos himenaeos. [120]', ''),
  245.     ('himenaeos. Quisque [121]', ''),
  246.     ('Quisque mauris tellus, [122]', ''),
  247.     ('mauris [123]', ''),
  248.     ('tellus, [124]', ''),
  249.     ('sodales ac lacus [125]', ''),
  250.     ('ac [126]', ''),
  251.     ('lacus quis, [127]', ''),
  252.     ('quis, feugiat [128]', ''),
  253.     ('feugiat adipiscing [129]', ''),
  254.     ('adipiscing libero. [130]', ''),
  255.     ('libero. [131]', ''),
  256.     ('Sed mattis [132]', ''),
  257.     ('mattis rhoncus odio, [133]', ''),
  258.     ('rhoncus odio, [134]', ''),
  259.     ('odio, eget [135]', ''),
  260.     ('eget convallis [136]', ''),
  261.     ('convallis felis [137]', ''),
  262.     ('felis venenatis [138]', ''),
  263.     ('venenatis quis. [139]', ''),
  264.     ('quis. [140]', ''),
  265.     ('Morbi enim [141]', ''),
  266.     ('enim lectus, feugiat [142]', ''),
  267.     ('lectus, feugiat [143]', ''),
  268.     ('feugiat nec euismod [144]', ''),
  269.     ('nec euismod non, [145]', ''),
  270.     ('euismod [146]', ''),
  271.     ('non, laoreet quis [147]', ''),
  272.     ('laoreet quis erat. [148]', ''),
  273.     ('quis erat. Vestibulum [149]', ''),
  274.     ('erat. [150]', ''),
  275.     ('Vestibulum convallis velit [151]', ''),
  276.     ('convallis velit mi, [152]', ''),
  277.     ('velit [153]', ''),
  278.     ('mi, sed ultrices [154]', ''),
  279.     ('sed ultrices justo [155]', ''),
  280.     ('ultrices justo [156]', ''),
  281.     ('justo [157]', ''),
  282.     ('elementum id. [158]', ''),
  283.     ('id. Curabitur [159]', ''),
  284.     ('Curabitur scelerisque enim [160]', ''),
  285.     ('scelerisque enim et [161]', ''),
  286.     ('enim [162]', ''),
  287.     ('et nunc [163]', ''),
  288.     ('nunc [164]', ''),
  289.     ('elementum, nec convallis [165]', ''),
  290.     ('nec [166]', ''),
  291.     ('convallis eros [167]', ''),
  292.     ('eros suscipit. [168]', ''),
  293.     ('suscipit. [169]', ''),
  294.     ('Maecenas [170]', ''),
  295.     ('eu ante [171]', ''),
  296.     ('ante [172]', ''),
  297.     ('nec tortor varius [173]', ''),
  298.     ('tortor varius [174]', ''),
  299.     ('varius [175]', ''),
  300.     ('placerat. Sed convallis [176]', ''),
  301.     ('Sed [177]', ''),
  302.     ('convallis dui [178]', ''),
  303.     ('dui ante, sed [179]', ''),
  304.     ('ante, sed ornare [180]', ''),
  305.     ('sed [181]', ''),
  306.     ('ornare sem [182]', ''),
  307.     ('sem [183]', ''),
  308.     ('aliquet a. [184]', ''),
  309.     ('a. Maecenas id [185]', ''),
  310.     ('Maecenas [186]', ''),
  311.     ('id nulla [187]', ''),
  312.     ('nulla [188]', ''),
  313.     ('consequat, lobortis [189]', ''),
  314.     ('lobortis est [190]', ''),
  315.     ('est nec, laoreet [191]', ''),
  316.     ('nec, laoreet urna. [192]', ''),
  317.     ('laoreet urna. [193]', ''),
  318.     ('urna. Pellentesque sit [194]', ''),
  319.     ('Pellentesque [195]', ''),
  320.     ('sit amet massa [196]', ''),
  321.     ('amet [197]', ''),
  322.     ('massa feugiat, ultrices [198]', ''),
  323.     ('feugiat, ultrices [199]', ''),
  324.     ('ultrices tellus [200]', ''),
  325.     ('tellus sit [201]', ''),
  326.     ('sit [202]', ''),
  327.     ('amet, gravida nunc. [203]', ''),
  328.     ('gravida nunc. [204]', ''),
  329.     ('nunc. [205]', ''),
  330.     ('Pellentesque [206]', ''),
  331.     ('nec purus [207]', ''),
  332.     ('purus vel [208]', ''),
  333.     ('vel arcu vestibulum [209]', ''),
  334.     ('arcu [210]', ''),
  335.     ('vestibulum aliquet ut [211]', ''),
  336.     ('aliquet [212]', ''),
  337.     ('ut ac [213]', ''),
  338.     ('ac [214]', ''),
  339.     ('neque. Fusce [215]', ''),
  340.     ('Fusce [216]', ''),
  341.     ('ut [217]', ''),
  342.     ('egestas lectus. Sed [218]', ''),
  343.     ('lectus. Sed sapien [219]', ''),
  344.     ('Sed sapien [220]', ''),
  345.     ('sapien mauris, eleifend [221]', ''),
  346.     ('mauris, eleifend quis [222]', ''),
  347.     ('eleifend quis [223]', ''),
  348.     ('quis tempor [224]', ''),
  349.     ('tempor a, [225]', ''),
  350.     ('a, eleifend nec [226]', ''),
  351.     ('eleifend nec [227]', ''),
  352.     ('nec massa. [228]', ''),
  353.     ('massa. Proin ullamcorper [229]', ''),
  354.     ('Proin ullamcorper [230]', ''),
  355.     ('ullamcorper [231]', ''),
  356.     ('pharetra risus faucibus [232]', ''),
  357.     ('risus faucibus egestas. [233]', ''),
  358.     ('faucibus [234]', ''),
  359.     ('egestas. Donec [235]', ''),
  360.     ('Donec pretium [236]', ''),
  361.     ('pretium [237]', ''),
  362.     ('condimentum metus at [238]', ''),
  363.     ('metus at lacinia. [239]', ''),
  364.     ('at lacinia. Suspendisse [240]', ''),
  365.     ('lacinia. Suspendisse [241]', ''),
  366.     ('Suspendisse imperdiet, [242]', ''),
  367.     ('imperdiet, mi [243]', ''),
  368.     ('mi et pellentesque [244]', ''),
  369.     ('et pellentesque [245]', ''),
  370.     ('pellentesque [246]', ''),
  371.     ('pulvinar, libero [247]', ''),
  372.     ('libero dui facilisis [248]', ''),
  373.     ('dui facilisis nunc, [249]', ''),
  374.     ('facilisis nunc, at [250]', ''),
  375.     ('nunc, at [251]', ''),
  376.     ('at vestibulum mauris [252]', ''),
  377.     ('vestibulum [253]', ''),
  378.     ('mauris turpis [254]', ''),
  379.     ('turpis ac magna. [255]', ''),
  380.     ('ac [256]', ''),
  381.     ('magna. Donec [257]', ''),
  382.     ('Donec fermentum [258]', ''),
  383.     ('fermentum mi [259]', ''),
  384.     ('mi ultricies [260]', ''),
  385.     ('ultricies [261]', ''),
  386.     ('porttitor [262]', ''),
  387.     ('viverra. [263]', ''),
  388.     ('Nulla accumsan, [264]', ''),
  389.     ('accumsan, [265]', ''),
  390.     ('mauris [266]', ''),
  391.     ('sed congue [267]', ''),
  392.     ('congue rhoncus, elit [268]', ''),
  393.     ('rhoncus, [269]', ''),
  394.     ('elit [270]', ''),
  395.     ('nisl sodales mauris, [271]', ''),
  396.     ('sodales mauris, [272]', ''),
  397.     ('mauris, [273]', ''),
  398.     ('ac viverra [274]', ''),
  399.     ('viverra risus [275]', ''),
  400.     ('risus nibh eget [276]', ''),
  401.     ('nibh eget [277]', ''),
  402.     ('eget libero. [278]', ''),
  403.     ('libero. Maecenas [279]', ''),
  404.     ('Maecenas vitae [280]', ''),
  405.     ('vitae odio at [281]', ''),
  406.     ('odio at [282]', ''),
  407.     ('at nisi pellentesque [283]', ''),
  408.     ('nisi pellentesque [284]', ''),
  409.     ('pellentesque dapibus. [285]', ''),
  410.     ('dapibus. Nulla [286]', ''),
  411.     ('Nulla lobortis at [287]', ''),
  412.     ('lobortis at [288]', ''),
  413.     ('at mauris id [289]', ''),
  414.     ('mauris [290]', ''),
  415.     ('id [291]', ''),
  416.     ('convallis. Nam accumsan [292]', ''),
  417.     ('Nam accumsan orci [293]', ''),
  418.     ('accumsan orci [294]', ''),
  419.     ('orci [295]', ''),
  420.     ('vitae [296]', ''),
  421.     ('neque luctus [297]', ''),
  422.     ('luctus semper. [298]', ''),
  423.     ('semper. Quisque vestibulum [299]', ''),
  424.     ('Quisque vestibulum [300]', ''),
  425.     ('vestibulum [301]', ''),
  426.     ('dapibus posuere. Suspendisse [302]', ''),
  427.     ('posuere. Suspendisse ac [303]', ''),
  428.     ('Suspendisse ac [304]', ''),
  429.     ('ac [305]', ''),
  430.     ('mauris iaculis, [306]', ''),
  431.     ('iaculis, [307]', ''),
  432.     ('auctor ligula non, [308]', ''),
  433.     ('ligula non, semper [309]', ''),
  434.     ('non, semper turpis. [310]', ''),
  435.     ('semper turpis. [311]', ''),
  436.     ('turpis. Nulla [312]', ''),
  437.     ('Nulla facilisi. [313]', ''),
  438.     ('facilisi. Lorem ipsum [314]', ''),
  439.     ('Lorem ipsum dolor [315]', ''),
  440.     ('ipsum dolor sit [316]', ''),
  441.     ('dolor sit amet, [317]', ''),
  442.     ('sit amet, [318]', ''),
  443.     ('amet, consectetur adipiscing [319]', ''),
  444.     ('consectetur adipiscing [320]', ''),
  445.     ('adipiscing elit. [321]', ''),
  446.     ('elit. Duis [322]', ''),
  447.     ('Duis adipiscing diam [323]', ''),
  448.     ('adipiscing diam a [324]', ''),
  449.     ('diam [325]', ''),
  450.     ('a [326]', ''),
  451.     ('ligula sodales, [327]', ''),
  452.     ('sodales, in molestie [328]', ''),
  453.     ('in molestie felis [329]', ''),
  454.     ('molestie felis [330]', ''),
  455.     ('felis venenatis. [331]', ''),
  456.     ('venenatis. [332]', ''),
  457.     ('Nulla [333]', ''),
  458.     ('sollicitudin [334]', ''),
  459.     ('eu velit [335]', ''),
  460.     ('velit [336]', ''),
  461.     ('sit [337]', ''),
  462.     ('amet blandit. [338]', ''),
  463.     ('blandit. Etiam [339]', ''),
  464.     ('Etiam [340]', ''),
  465.     ('nec [341]', ''),
  466.     ('pharetra est, [342]', ''),
  467.     ('est, semper condimentum [343]', ''),
  468.     ('semper condimentum nunc. [344]', ''),
  469.     ('condimentum [345]', ''),
  470.     ('nunc. Nam [346]', ''),
  471.     ('Nam [347]', ''),
  472.     ('blandit posuere [348]', ''),
  473.     ('posuere [349]', ''),
  474.     ('lectus, eget [350]', ''),
  475.     ('eget [351]', ''),
  476.     ('vehicula felis [352]', ''),
  477.     ('felis accumsan eget. [353]', ''),
  478.     ('accumsan [354]', ''),
  479.     ('eget. [355]', ''),
  480.     ('Donec et [356]', ''),
  481.     ('et eros enim. [357]', ''),
  482.     ('eros enim. [358]', ''),
  483.     ('enim. Morbi [359]', ''),
  484.     ('Morbi id [360]', ''),
  485.     ('id [361]', ''),
  486.     ('ipsum [362]', ''),
  487.     ('pretium, [363]', ''),
  488.     ('ultrices erat sed, [364]', ''),
  489.     ('erat [365]', ''),
  490.     ('sed, faucibus [366]', ''),
  491.     ('faucibus neque. [367]', ''),
  492.     ('neque. [368]', ''),
  493.     ('Duis nisi nunc, [369]', ''),
  494.     ('nisi nunc, [370]', ''),
  495.     ('nunc, [371]', ''),
  496.     ('dictum [372]', ''),
  497.     ('ac tempus [373]', ''),
  498.     ('tempus nec, euismod [374]', ''),
  499.     ('nec, [375]', ''),
  500.     ('euismod [376]', ''),
  501.     ('in nisl. Fusce [377]', ''),
  502.     ('nisl. [378]', ''),
  503.     ('Fusce ac [379]', ''),
  504.     ('ac [380]', ''),
  505.     ('justo elementum, [381]', ''),
  506.     ('elementum, tempor [382]', ''),
  507.     ('tempor sapien [383]', ''),
  508.     ('sapien [384]', ''),
  509.     ('fermentum, congue [385]', ''),
  510.     ('congue [386]', ''),
  511.     ('nisi. Lorem ipsum [387]', ''),
  512.     ('Lorem [388]', ''),
  513.     ('ipsum dolor sit [389]', ''),
  514.     ('dolor [390]', ''),
  515.     ('sit amet, consectetur [391]', ''),
  516.     ('amet, consectetur adipiscing [392]', ''),
  517.     ('consectetur adipiscing [393]', ''),
  518.     ('adipiscing elit. [394]', ''),
  519.     ('elit. Cras [395]', ''),
  520.     ('Cras congue [396]', ''),
  521.     ('congue [397]', ''),
  522.     ('erat nunc, [398]', ''),
  523.     ('nunc, [399]', ''),
  524.     ('at dapibus [400]', ''),
  525.     ('dapibus [401]', ''),
  526.     ('velit feugiat at. [402]', ''),
  527.     ('feugiat at. [403]', ''),
  528.     ('at. Nunc [404]', ''),
  529.     ('Nunc imperdiet pulvinar [405]', ''),
  530.     ('imperdiet [406]', ''),
  531.     ('pulvinar venenatis. [407]', ''),
  532.     ('venenatis. Integer [408]', ''),
  533.     ('Integer [409]', ''),
  534.     ('tempor interdum [410]', ''),
  535.     ('interdum quam vitae [411]', ''),
  536.     ('quam vitae ultrices. [412]', ''),
  537.     ('vitae [413]', ''),
  538.     ('ultrices. Maecenas [414]', ''),
  539.     ('Maecenas [415]', ''),
  540.     ('a [416]', ''),
  541.     ('tortor [417]', ''),
  542.     ('ac lorem [418]', ''),
  543.     ('lorem consequat ultrices [419]', ''),
  544.     ('consequat ultrices [420]', ''),
  545.     ('ultrices quis [421]', ''),
  546.     ('quis [422]', ''),
  547.     ('ac odio. [423]', ''),
  548.     ('odio. Suspendisse suscipit [424]', ''),
  549.     ('Suspendisse suscipit [425]', ''),
  550.     ('suscipit congue urna. [426]', ''),
  551.     ('congue urna. [427]', ''),
  552.     ('urna. [428]', ''),
  553.     ('Nulla ullamcorper velit [429]', ''),
  554.     ('ullamcorper velit [430]', ''),
  555.     ('velit pretium interdum [431]', ''),
  556.     ('pretium interdum [432]', ''),
  557.     ('interdum [433]', ''),
  558.     ('volutpat. Nulla [434]', ''),
  559.     ('Nulla vestibulum viverra [435]', ''),
  560.     ('vestibulum viverra dui. [436]', ''),
  561.     ('viverra dui. [437]', ''),
  562.     ('dui. [438]', ''),
  563.     ('Curabitur eu [439]', ''),
  564.     ('eu [440]', ''),
  565.     ('nibh [441]', ''),
  566.     ('augue. [442]', ''),
  567.     ('Nulla quam [443]', ''),
  568.     ('quam ipsum, [444]', ''),
  569.     ('ipsum, [445]', ''),
  570.     ('aliquet id bibendum [446]', ''),
  571.     ('id bibendum [447]', ''),
  572.     ('bibendum quis, [448]', ''),
  573.     ('quis, vehicula [449]', ''),
  574.     ('vehicula nec [450]', ''),
  575.     ('nec ante. [451]', ''),
  576.     ('ante. Ut [452]', ''),
  577.     ('Ut tincidunt tortor [453]', ''),
  578.     ('tincidunt tortor [454]', ''),
  579.     ('tortor nisl, non [455]', ''),
  580.     ('nisl, non semper [456]', ''),
  581.     ('non [457]', ''),
  582.     ('semper [458]', ''),
  583.     ('nulla tempus [459]', ''),
  584.     ('tempus at. Quisque [460]', ''),
  585.     ('at. Quisque [461]', ''),
  586.     ('Quisque molestie, ante [462]', ''),
  587.     ('molestie, [463]', ''),
  588.     ('ante [464]', ''),
  589.     ('sed vehicula faucibus, [465]', ''),
  590.     ('vehicula [466]', ''),
  591.     ('faucibus, [467]', ''),
  592.     ('augue nisl [468]', ''),
  593.     ('nisl ultrices [469]', ''),
  594.     ('ultrices tellus, [470]', ''),
  595.     ('tellus, [471]', ''),
  596.     ('ac tincidunt [472]', ''),
  597.     ('tincidunt enim [473]', ''),
  598.     ('enim [474]', ''),
  599.     ('mauris ut purus. [475]', ''),
  600.     ('ut purus. Donec [476]', ''),
  601.     ('purus. Donec [477]', ''),
  602.     ('Donec aliquam [478]', ''),
  603.     ('aliquam [479]', ''),
  604.     ('felis [480]', ''),
  605.     ('nulla, sed cursus [481]', ''),
  606.     ('sed cursus purus [482]', ''),
  607.     ('cursus purus pharetra [483]', ''),
  608.     ('purus [484]', ''),
  609.     ('pharetra [485]', ''),
  610.     ('ut. Curabitur sit [486]', ''),
  611.     ('Curabitur [487]', ''),
  612.     ('sit amet velit [488]', ''),
  613.     ('amet [489]', ''),
  614.     ('velit sed lectus [490]', ''),
  615.     ('sed lectus lacinia [491]', ''),
  616.     ('lectus lacinia eleifend. [492]', ''),
  617.     ('lacinia eleifend. Morbi [493]', ''),
  618.     ('eleifend. Morbi quis [494]', ''),
  619.     ('Morbi quis mauris [495]', ''),
  620.     ('quis mauris [496]', ''),
  621.     ('mauris quam. [497]', ''),
  622.     ('quam. Cras nec [498]', ''),
  623.     ('Cras nec dolor [499]', ''),
  624.     ('nec [500]', ''),
  625.     ('dolor condimentum, lacinia [501]', ''),
  626.     ('condimentum, lacinia [502]', ''),
  627.     ('lacinia urna ut, [503]', ''),
  628.     ('urna ut, [504]', ''),
  629.     ('ut, [505]', ''),
  630.     ('tempor augue. Integer [506]', ''),
  631.     ('augue. [507]', ''),
  632.     ('Integer tortor [508]', ''),
  633.     ('tortor massa, tincidunt [509]', ''),
  634.     ('massa, tincidunt [510]', ''),
  635.     ('tincidunt viverra massa [511]', ''),
  636.     ('viverra massa [512]', ''),
  637.     ('massa eget, [513]', ''),
  638.     ('eget, condimentum [514]', ''),
  639.     ('condimentum [515]', ''),
  640.     ('imperdiet [516]', ''),
  641.     ('nunc. Cras [517]', ''),
  642.     ('Cras varius [518]', ''),
  643.     ('varius [519]', ''),
  644.     ('interdum turpis. [520]', ''),
  645.     ('turpis. [521]', ''),
  646.     ('Donec [522]', ''),
  647.     ('interdum sapien id [523]', ''),
  648.     ('sapien id arcu [524]', ''),
  649.     ('id [525]', ''),
  650.     ('arcu [526]', ''),
  651.     ('rutrum [527]', ''),
  652.     ('blandit. Mauris [528]', ''),
  653.     ('Mauris feugiat tortor [529]', ''),
  654.     ('feugiat tortor at [530]', ''),
  655.     ('tortor at diam [531]', ''),
  656.     ('at diam [532]', ''),
  657.     ('diam posuere, dignissim [533]', ''),
  658.     ('posuere, [534]', ''),
  659.     ('dignissim fringilla turpis [535]', ''),
  660.     ('fringilla turpis [536]', ''),
  661.     ('turpis tristique. [537]', ''),
  662.     ('tristique. Sed eleifend [538]', ''),
  663.     ('Sed eleifend [539]', ''),
  664.     ('eleifend ac lacus [540]', ''),
  665.     ('ac lacus sit [541]', ''),
  666.     ('lacus sit [542]', ''),
  667.     ('sit amet fringilla. [543]', ''),
  668.     ('amet [544]', ''),
  669.     ('fringilla. [545]', ''),
  670.     ('Sed dictum [546]', ''),
  671.     ('dictum scelerisque [547]', ''),
  672.     ('scelerisque laoreet. Duis [548]', ''),
  673.     ('laoreet. Duis [549]', ''),
  674.     ('Duis [550]', ''),
  675.     ('euismod [551]', ''),
  676.     ('dui eu ultrices [552]', ''),
  677.     ('eu [553]', ''),
  678.     ('ultrices [554]', ''),
  679.     ('iaculis. Proin ultrices [555]', ''),
  680.     ('Proin ultrices tellus [556]', ''),
  681.     ('ultrices [557]', ''),
  682.     ('tellus at [558]', ''),
  683.     ('at [559]', ''),
  684.     ('elementum dictum. [560]', ''),
  685.     ('dictum. [561]', ''),
  686.     ('Aliquam aliquet [562]', ''),
  687.     ('aliquet sagittis est, [563]', ''),
  688.     ('sagittis est, [564]', ''),
  689.     ('est, commodo dapibus [565]', ''),
  690.     ('commodo [566]', ''),
  691.     ('dapibus [567]', ''),
  692.     ('enim. Suspendisse [568]', ''),
  693.     ('Suspendisse potenti. Maecenas [569]', ''),
  694.     ('potenti. Maecenas [570]', ''),
  695.     ('Maecenas eu [571]', ''),
  696.     ('eu consectetur enim, [572]', ''),
  697.     ('consectetur enim, feugiat [573]', ''),
  698.     ('enim, [574]', ''),
  699.     ('feugiat vestibulum [575]', ''),
  700.     ('vestibulum magna. [576]', ''),
  701.     ('magna. Praesent [577]', ''),
  702.     ('Praesent eget elementum [578]', ''),
  703.     ('eget elementum ipsum, [579]', ''),
  704.     ('elementum ipsum, in [580]', ''),
  705.     ('ipsum, in consequat [581]', ''),
  706.     ('in consequat metus. [582]', ''),
  707.     ('consequat metus. [583]', ''),
  708.     ('metus. [584]', ''),
  709.     ('Ut metus [585]', ''),
  710.     ('metus neque, pharetra [586]', ''),
  711.     ('neque, pharetra [587]', ''),
  712.     ('pharetra [588]', ''),
  713.     ('ac [589]', ''),
  714.     ('condimentum non, [590]', ''),
  715.     ('non, pellentesque [591]', ''),
  716.     ('pellentesque pharetra [592]', ''),
  717.     ('pharetra ligula. Curabitur [593]', ''),
  718.     ('ligula. Curabitur [594]', ''),
  719.     ('Curabitur sit amet [595]', ''),
  720.     ('sit [596]', ''),
  721.     ('amet nibh [597]', ''),
  722.     ('nibh dolor. Cras [598]', ''),
  723.     ('dolor. Cras aliquam, [599]', ''),
  724.     ('Cras [600]', ''),
  725.     ('aliquam, nisi [601]', ''),
  726.     ('nisi eu egestas [602]', ''),
  727.     ('eu egestas [603]', ''),
  728.     ('egestas eleifend, nisl [604]', ''),
  729.     ('eleifend, nisl [605]', ''),
  730.     ('nisl libero posuere [606]', ''),
  731.     ('libero posuere ante, [607]', ''),
  732.     ('posuere ante, [608]', ''),
  733.     ('ante, nec [609]', ''),
  734.     ('nec vulputate [610]', ''),
  735.     ('vulputate nisi dolor [611]', ''),
  736.     ('nisi [612]', ''),
  737.     ('dolor quis leo. [613]', ''),
  738.     ('quis leo. [614]', ''),
  739.     ('leo. [615]', ''),
  740.     ('Nulla vel odio [616]', ''),
  741.     ('vel odio quis [617]', ''),
  742.     ('odio [618]', ''),
  743.     ('quis eros [619]', ''),
  744.     ('eros consectetur facilisis. [620]', ''),
  745.     ('consectetur facilisis. Proin [621]', ''),
  746.     ('facilisis. Proin sagittis [622]', ''),
  747.     ('Proin sagittis [623]', ''),
  748.     ('sagittis lacus ac [624]', ''),
  749.     ('lacus ac tincidunt [625]', ''),
  750.     ('ac tincidunt [626]', ''),
  751.     ('tincidunt [627]', ''),
  752.     ('porta. Nam sit [628]', ''),
  753.     ('Nam sit [629]', ''),
  754.     ('sit [630]', ''),
  755.     ('amet [631]', ''),
  756.     ('risus nisl. Cras [632]', ''),
  757.     ('nisl. Cras lobortis [633]', ''),
  758.     ('Cras lobortis [634]', ''),
  759.     ('lobortis mattis [635]', ''),
  760.     ('mattis est [636]', ''),
  761.     ('est [637]', ''),
  762.     ('eget vehicula. Nullam [638]', ''),
  763.     ('vehicula. [639]', ''),
  764.     ('Nullam mattis [640]', ''),
  765.     ('mattis felis tempor, [641]', ''),
  766.     ('felis tempor, [642]', ''),
  767.     ('tempor, [643]', ''),
  768.     ('elementum [644]', ''),
  769.     ('sapien vitae, consequat [645]', ''),
  770.     ('vitae, consequat massa. [646]', ''),
  771.     ('consequat massa. [647]', ''),
  772.     ('massa. Pellentesque [648]', ''),
  773.     ('Pellentesque [649]', ''),
  774.     ('sed commodo [650]', ''),
  775.     ('commodo odio, sed [651]', ''),
  776.     ('odio, [652]', ''),
  777.     ('sed [653]', ''),
  778.     ('aliquet [654]', ''),
  779.     ('neque. Proin pellentesque [655]', ''),
  780.     ('Proin pellentesque sit [656]', ''),
  781.     ('pellentesque sit [657]', ''),
  782.     ('sit [658]', ''),
  783.     ('amet mauris ut [659]', ''),
  784.     ('mauris ut [660]', ''),
  785.     ('ut cursus. Maecenas [661]', ''),
  786.     ('cursus. Maecenas [662]', ''),
  787.     ('Maecenas [663]', ''),
  788.     ('quis pharetra [664]', ''),
  789.     ('pharetra est. Vestibulum [665]', ''),
  790.     ('est. [666]', ''),
  791.     ('Vestibulum sed velit [667]', ''),
  792.     ('sed velit [668]', ''),
  793.     ('velit id sapien [669]', ''),
  794.     ('id sapien scelerisque [670]', ''),
  795.     ('sapien [671]', ''),
  796.     ('scelerisque luctus [672]', ''),
  797.     ('luctus [673]', ''),
  798.     ('non aliquet [674]', ''),
  799.     ('aliquet lacus. [675]', ''),
  800.     ('lacus. [676]', ''),
  801.     ('Ut non [677]', ''),
  802.     ('non [678]', ''),
  803.     ('iaculis [679]', ''),
  804.     ('ipsum, eu tincidunt [680]', ''),
  805.     ('eu tincidunt [681]', ''),
  806.     ('tincidunt [682]', ''),
  807.     ('nunc. Curabitur [683]', ''),
  808.     ('Curabitur [684]', ''),
  809.     ('gravida commodo [685]', ''),
  810.     ('commodo sapien [686]', ''),
  811.     ('sapien eu [687]', ''),
  812.     ('eu egestas. [688]', ''),
  813.     ('egestas. Duis [689]', ''),
  814.     ('Duis bibendum [690]', ''),
  815.     ('bibendum quam [691]', ''),
  816.     ('quam quis [692]', ''),
  817.     ('quis turpis [693]', ''),
  818.     ('turpis pellentesque, [694]', ''),
  819.     ('pellentesque, a lobortis [695]', ''),
  820.     ('a [696]', ''),
  821.     ('lobortis lectus sodales. [697]', ''),
  822.     ('lectus [698]', ''),
  823.     ('sodales. [699]', ''),
  824.     ('Aenean vel [700]', ''),
  825.     ('vel elit [701]', ''),
  826.     ('elit [702]', ''),
  827.     ('pharetra, tincidunt [703]', ''),
  828.     ('tincidunt [704]', ''),
  829.     ('ligula eget, feugiat [705]', ''),
  830.     ('eget, [706]', ''),
  831.     ('feugiat [707]', ''),
  832.     ('tellus. Nunc [708]', ''),
  833.     ('Nunc placerat [709]', ''),
  834.     ('placerat blandit nisi [710]', ''),
  835.     ('blandit nisi [711]', ''),
  836.     ('nisi quis laoreet. [712]', ''),
  837.     ('quis laoreet. [713]', ''),
  838.     ('laoreet. Nullam id [714]', ''),
  839.     ('Nullam id [715]', ''),
  840.     ('id erat quis [716]', ''),
  841.     ('erat quis [717]', ''),
  842.     ('quis neque [718]', ''),
  843.     ('neque [719]', ''),
  844.     ('mattis [720]', ''),
  845.     ('venenatis quis at [721]', ''),
  846.     ('quis at [722]', ''),
  847.     ('at metus. [723]', ''),
  848.     ('metus. Morbi sodales [724]', ''),
  849.     ('Morbi [725]', ''),
  850.     ('sodales urna [726]', ''),
  851.     ('urna iaculis eros [727]', ''),
  852.     ('iaculis [728]', ''),
  853.     ('eros sollicitudin porttitor. [729]', ''),
  854.     ('sollicitudin porttitor. Mauris [730]', ''),
  855.     ('porttitor. Mauris sit [731]', ''),
  856.     ('Mauris sit amet [732]', ''),
  857.     ('sit [733]', ''),
  858.     ('amet [734]', ''),
  859.     ('ante [735]', ''),
  860.     ('vitae mauris consequat [736]', ''),
  861.     ('mauris consequat pharetra [737]', ''),
  862.     ('consequat pharetra [738]', ''),
  863.     ('pharetra vitae vel [739]', ''),
  864.     ('vitae [740]', ''),
  865.     ('vel libero. Donec [741]', ''),
  866.     ('libero. [742]', ''),
  867.     ('Donec tempus bibendum [743]', ''),
  868.     ('tempus bibendum [744]', ''),
  869.     ('bibendum augue [745]', ''),
  870.     ('augue sit amet [746]', ''),
  871.     ('sit [747]', ''),
  872.     ('amet [748]', ''),
  873.     ('interdum. Sed ac [749]', ''),
  874.     ('Sed [750]', ''),
  875.     ('ac [751]', ''),
  876.     ('magna lobortis, imperdiet [752]', ''),
  877.     ('lobortis, [753]', ''),
  878.     ('imperdiet nisi in, [754]', ''),
  879.     ('nisi in, elementum [755]', ''),
  880.     ('in, [756]', ''),
  881.     ('elementum risus. Sed [757]', ''),
  882.     ('risus. Sed [758]', ''),
  883.     ('Sed [759]', ''),
  884.     ('tristique, massa [760]', ''),
  885.     ('massa [761]', ''),
  886.     ('ut [762]', ''),
  887.     ('tincidunt [763]', ''),
  888.     ('elementum, tortor [764]', ''),
  889.     ('tortor mi [765]', ''),
  890.     ('mi venenatis [766]', ''),
  891.     ('venenatis magna, [767]', ''),
  892.     ('magna, [768]', ''),
  893.     ('a [769]', ''),
  894.     ('pellentesque metus [770]', ''),
  895.     ('metus [771]', ''),
  896.     ('diam et [772]', ''),
  897.     ('et dui. Aliquam [773]', ''),
  898.     ('dui. Aliquam [774]', ''),
  899.     ('Aliquam sed [775]', ''),
  900.     ('sed tortor [776]', ''),
  901.     ('tortor [777]', ''),
  902.     ('vitae sem adipiscing [778]', ''),
  903.     ('sem adipiscing [779]', ''),
  904.     ('adipiscing semper at [780]', ''),
  905.     ('semper at vel [781]', ''),
  906.     ('at vel [782]', ''),
  907.     ('vel sapien. [783]', ''),
  908.     ('sapien. [784]', ''),
  909.     ('Quisque eleifend massa [785]', ''),
  910.     ('eleifend massa ut [786]', ''),
  911.     ('massa ut mollis [787]', ''),
  912.     ('ut [788]', ''),
  913.     ('mollis sodales. [789]', ''),
  914.     ('sodales. [790]', ''),
  915.     ('Duis egestas, odio [791]', ''),
  916.     ('egestas, odio [792]', ''),
  917.     ('odio [793]', ''),
  918.     ('eu [794]', ''),
  919.     ('pulvinar interdum, [795]', ''),
  920.     ('interdum, urna [796]', ''),
  921.     ('urna nunc iaculis [797]', ''),
  922.     ('nunc iaculis [798]', ''),
  923.     ('iaculis [799]', ''),
  924.     ('purus, [800]', ''),
  925.     ('eget [801]', ''),
  926.     ('molestie quam [802]', ''),
  927.     ('quam [803]', ''),
  928.     ('ante [804]', ''),
  929.     ('quis ipsum. Vestibulum [805]', ''),
  930.     ('ipsum. [806]', ''),
  931.     ('Vestibulum leo lectus, [807]', ''),
  932.     ('leo lectus, [808]', ''),
  933.     ('lectus, [809]', ''),
  934.     ('rutrum et [810]', ''),
  935.     ('et ligula [811]', ''),
  936.     ('ligula eu, blandit [812]', ''),
  937.     ('eu, [813]', ''),
  938.     ('blandit mattis dolor. [814]', ''),
  939.     ('mattis dolor. [815]', ''),
  940.     ('dolor. [816]', ''),
  941.     ('Morbi convallis felis [817]', ''),
  942.     ('convallis felis sed [818]', ''),
  943.     ('felis sed faucibus [819]', ''),
  944.     ('sed faucibus [820]', ''),
  945.     ('faucibus euismod. [821]', ''),
  946.     ('euismod. Integer venenatis [822]', ''),
  947.     ('Integer venenatis nibh [823]', ''),
  948.     ('venenatis nibh non [824]', ''),
  949.     ('nibh non [825]', ''),
  950.     ('non imperdiet [826]', ''),
  951.     ('imperdiet [827]', ''),
  952.     ('congue. [828]', ''),
  953.     ('Morbi adipiscing velit [829]', ''),
  954.     ('adipiscing velit eget [830]', ''),
  955.     ('velit [831]', ''),
  956.     ('eget justo [832]', ''),
  957.     ('justo pharetra [833]', ''),
  958.     ('pharetra [834]', ''),
  959.     ('mattis. Sed aliquam [835]', ''),
  960.     ('Sed aliquam feugiat [836]', ''),
  961.     ('aliquam feugiat [837]', ''),
  962.     ('feugiat [838]', ''),
  963.     ('lorem, [839]', ''),
  964.     ('ac mattis [840]', ''),
  965.     ('mattis [841]', ''),
  966.     ('ligula iaculis [842]', ''),
  967.     ('iaculis [843]', ''),
  968.     ('at. Lorem ipsum [844]', ''),
  969.     ('Lorem ipsum [845]', ''),
  970.     ('ipsum dolor sit [846]', ''),
  971.     ('dolor sit [847]', ''),
  972.     ('sit amet, [848]', ''),
  973.     ('amet, consectetur adipiscing [849]', ''),
  974.     ('consectetur adipiscing [850]', ''),
  975.     ('adipiscing [851]', ''),
  976.     ('elit. [852]', ''),
  977.     ('Ut [853]', ''),
  978.     ('tincidunt est leo, [854]', ''),
  979.     ('est leo, a [855]', ''),
  980.     ('leo, [856]', ''),
  981.     ('a ultrices felis [857]', ''),
  982.     ('ultrices felis aliquam [858]', ''),
  983.     ('felis aliquam vel. [859]', ''),
  984.     ('aliquam [860]', ''),
  985.     ('vel. Morbi [861]', ''),
  986.     ('Morbi [862]', ''),
  987.     ('id sapien fermentum, [863]', ''),
  988.     ('sapien fermentum, condimentum [864]', ''),
  989.     ('fermentum, [865]', ''),
  990.     ('condimentum justo [866]', ''),
  991.     ('justo quis, [867]', ''),
  992.     ('quis, rhoncus velit. [868]', ''),
  993.     ('rhoncus velit. Praesent [869]', ''),
  994.     ('velit. Praesent varius [870]', ''),
  995.     ('Praesent varius [871]', ''),
  996.     ('varius [872]', ''),
  997.     ('orci velit, sed [873]', ''),
  998.     ('velit, [874]', ''),
  999.     ('sed [875]', ''),
  1000.     ('commodo massa vehicula [876]', ''),
  1001.     ('massa vehicula eu. [877]', ''),
  1002.     ('vehicula eu. [878]', ''),
  1003.     ('eu. Suspendisse id [879]', ''),
  1004.     ('Suspendisse [880]', ''),
  1005.     ('id nulla [881]', ''),
  1006.     ('nulla [882]', ''),
  1007.     ('nec enim [883]', ''),
  1008.     ('enim [884]', ''),
  1009.     ('auctor dignissim [885]', ''),
  1010.     ('dignissim ut [886]', ''),
  1011.     ('ut [887]', ''),
  1012.     ('ut [888]', ''),
  1013.     ('augue. Ut aliquet [889]', ''),
  1014.     ('Ut aliquet vulputate [890]', ''),
  1015.     ('aliquet vulputate augue [891]', ''),
  1016.     ('vulputate augue [892]', ''),
  1017.     ('augue vel tempus. [893]', ''),
  1018.     ('vel [894]', ''),
  1019.     ('tempus. Vestibulum [895]', ''),
  1020.     ('Vestibulum pharetra [896]', ''),
  1021.     ('pharetra scelerisque [897]', ''),
  1022.     ('scelerisque magna, [898]', ''),
  1023.     ('magna, ac [899]', ''),
  1024.     ('ac egestas [900]', ''),
  1025.     ('egestas velit iaculis [901]', ''),
  1026.     ('velit [902]', ''),
  1027.     ('iaculis [903]', ''),
  1028.     ('non. [904]', ''),
  1029.     ('Mauris felis enim, [905]', ''),
  1030.     ('felis [906]', ''),
  1031.     ('enim, condimentum [907]', ''),
  1032.     ('condimentum vel [908]', ''),
  1033.     ('vel est in, [909]', ''),
  1034.     ('est [910]', ''),
  1035.     ('in, cursus [911]', ''),
  1036.     ('cursus ultricies [912]', ''),
  1037.     ('ultricies [913]', ''),
  1038.     ('risus. [914]', ''),
  1039.     ('Pellentesque fringilla, [915]', ''),
  1040.     ('fringilla, [916]', ''),
  1041.     ('lacus [917]', ''),
  1042.     ('id [918]', ''),
  1043.     ('fermentum consequat, sem [919]', ''),
  1044.     ('consequat, sem augue [920]', ''),
  1045.     ('sem [921]', ''),
  1046.     ('augue cursus diam, [922]', ''),
  1047.     ('cursus diam, [923]', ''),
  1048.     ('diam, ut [924]', ''),
  1049.     ('ut eleifend [925]', ''),
  1050.     ('eleifend [926]', ''),
  1051.     ('nisl lorem [927]', ''),
  1052.     ('lorem [928]', ''),
  1053.     ('et lorem. [929]', ''),
  1054.     ('lorem. Quisque [930]', ''),
  1055.     ('Quisque at [931]', ''),
  1056.     ('at leo [932]', ''),
  1057.     ('leo in [933]', ''),
  1058.     ('in erat [934]', ''),
  1059.     ('erat lobortis [935]', ''),
  1060.     ('lobortis sollicitudin. [936]', ''),
  1061.     ('sollicitudin. Aliquam sollicitudin [937]', ''),
  1062.     ('Aliquam sollicitudin id [938]', ''),
  1063.     ('sollicitudin [939]', ''),
  1064.     ('id erat [940]', ''),
  1065.     ('erat [941]', ''),
  1066.     ('in [942]', ''),
  1067.     ('pellentesque. Etiam id [943]', ''),
  1068.     ('Etiam id dapibus [944]', ''),
  1069.     ('id dapibus [945]', ''),
  1070.     ('dapibus nisi. [946]', ''),
  1071.     ('nisi. Nam aliquam [947]', ''),
  1072.     ('Nam aliquam lectus [948]', ''),
  1073.     ('aliquam lectus [949]', ''),
  1074.     ('lectus vel eros [950]', ''),
  1075.     ('vel eros molestie, [951]', ''),
  1076.     ('eros molestie, ac [952]', ''),
  1077.     ('molestie, ac interdum [953]', ''),
  1078.     ('ac interdum [954]', ''),
  1079.     ('interdum justo consequat. [955]', ''),
  1080.     ('justo [956]', ''),
  1081.     ('consequat. Vivamus eget [957]', ''),
  1082.     ('Vivamus eget felis [958]', ''),
  1083.     ('eget [959]', ''),
  1084.     ('felis tempor, [960]', ''),
  1085.     ('tempor, [961]', ''),
  1086.     ('consectetur nunc at, [962]', ''),
  1087.     ('nunc at, auctor [963]', ''),
  1088.     ('at, auctor odio. [964]', ''),
  1089.     ('auctor [965]', ''),
  1090.     ('odio. Nam [966]', ''),
  1091.     ('Nam quis suscipit [967]', ''),
  1092.     ('quis [968]', ''),
  1093.     ('suscipit [969]', ''),
  1094.     ('massa. Etiam mi [970]', ''),
  1095.     ('Etiam mi libero, [971]', ''),
  1096.     ('mi libero, sagittis [972]', ''),
  1097.     ('libero, sagittis [973]', ''),
  1098.     ('sagittis [974]', ''),
  1099.     ('id tellus [975]', ''),
  1100.     ('tellus [976]', ''),
  1101.     ('vitae, [977]', ''),
  1102.     ('vestibulum sollicitudin erat. [978]', ''),
  1103.     ('sollicitudin erat. [979]', ''),
  1104.     ('erat. [980]', ''),
  1105.     ('Maecenas risus [981]', ''),
  1106.     ('risus ligula, gravida [982]', ''),
  1107.     ('ligula, [983]', ''),
  1108.     ('gravida [984]', ''),
  1109.     ('at massa sed, [985]', ''),
  1110.     ('massa [986]', ''),
  1111.     ('sed, aliquam [987]', ''),
  1112.     ('aliquam feugiat [988]', ''),
  1113.     ('feugiat nunc. Proin [989]', ''),
  1114.     ('nunc. [990]', ''),
  1115.     ('Proin eu [991]', ''),
  1116.     ('eu lorem [992]', ''),
  1117.     ('lorem sem. Maecenas [993]', ''),
  1118.     ('sem. Maecenas [994]', ''),
  1119.     ('Maecenas [995]', ''),
  1120.     ('vitae malesuada [996]', ''),
  1121.     ('malesuada [997]', ''),
  1122.     ('tellus. Aliquam urna. [998]', ''),
  1123.     ('Aliquam [999]', ''),
  1124.     ('urna. [1000]', ''),
  1125. )
  1126.  
  1127. def register():
  1128.     bpy.utils.register_module(__name__)
  1129.     bpy.types.Scene.col = bpy.props.CollectionProperty(type=MyColl)
  1130.     bpy.types.Scene.col_idx = bpy.props.IntProperty(default=0)
  1131.  
  1132.     # Add demo data
  1133.     scene = bpy.context.scene
  1134.     scene.col.clear()
  1135.     if 1: #len(scene.col) < 1:
  1136.         for label, description in coll_data:
  1137.             item = scene.col.add()
  1138.             item.label = label
  1139.             item.description = description
  1140.  
  1141.  
  1142. def unregister():
  1143.     bpy.utils.unregister_module(__name__)
  1144.     del bpy.types.Scene.col
  1145.     del bpy.types.Scene.col_idx
  1146.  
  1147.  
  1148. if __name__ == "__main__":
  1149.     register()
  1150.    
  1151.     for fn in (orig, origmod, orignew, orig3, orig4, rewrite, rewriteop, rewriteuniq):
  1152.         print(fn.__name__ + ':', timeit(fn, number=1000))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement