##// END OF EJS Templates
Moving files to top level.
Moving files to top level.

File last commit:

r16104:11e003af
r16112:43623688
Show More
Progress Bars.ipynb
9177 lines | 226.2 KiB | text/plain | TextLexer

Two Examples of Progress Bars¶

This notebook demonstrates two ways of creating progress bars using simple animations. A better approach after IPython 2.0 would be to use the IntProgressWidget or FloatProgressWidget in IPython.html.widgets.

A Javascript Progress Bar¶

Here is a simple progress bar using HTML/Javascript:

In [1]:
import uuid
import time
from IPython.display import HTML, Javascript, display

divid = str(uuid.uuid4())

pb = HTML(
"""
<div style="border: 1px solid black; width:500px">
  <div id="%s" style="background-color:blue; width:0%%">&nbsp;</div>
</div> 
""" % divid)
display(pb)
for i in range(1,101):
    time.sleep(0.1)
    
    display(Javascript("$('div#%s').width('%i%%')" % (divid, i)))
 
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)
SandBoxed(IPython.core.display.Javascript object)

The above simply makes a div that is a box, and a blue div inside it with a unique ID (so that the javascript won't collide with other similar progress bars on the same page).

Then, at every progress point, we run a simple jQuery call to resize the blue box to the appropriate fraction of the width of its containing box, and voilà a nice HTML/Javascript progress bar!

ProgressBar class¶

And finally, here is a progress bar class extracted from PyMC, which will work in regular Python as well as in the IPython Notebook

In [2]:
from __future__ import print_function
import sys, time

class ProgressBar:
    def __init__(self, iterations):
        self.iterations = iterations
        self.prog_bar = '[]'
        self.fill_char = '*'
        self.width = 50
        self.__update_amount(0)

    def animate(self, iter):
        print('\r', self, end='')
        sys.stdout.flush()
        self.update_iteration(iter + 1)

    def update_iteration(self, elapsed_iter):
        self.__update_amount((elapsed_iter / float(self.iterations)) * 100.0)
        self.prog_bar += '  %d of %s complete' % (elapsed_iter, self.iterations)

    def __update_amount(self, new_amount):
        percent_done = int(round((new_amount / 100.0) * 100.0))
        all_full = self.width - 2
        num_hashes = int(round((percent_done / 100.0) * all_full))
        self.prog_bar = '[' + self.fill_char * num_hashes + ' ' * (all_full - num_hashes) + ']'
        pct_place = (len(self.prog_bar) // 2) - len(str(percent_done))
        pct_string = '%d%%' % percent_done
        self.prog_bar = self.prog_bar[0:pct_place] + \
            (pct_string + self.prog_bar[pct_place + len(pct_string):])

    def __str__(self):
        return str(self.prog_bar)
In [3]:
p = ProgressBar(1000)
for i in range(1001):
    time.sleep(0.002)
    p.animate(i)
 [                       0%                       ]
 [                       0%                       ]  1 of 1000 complete
 [                       0%                       ]  2 of 1000 complete
 [                       0%                       ]  3 of 1000 complete
 [                       0%                       ]  4 of 1000 complete
 [                       1%                       ]  5 of 1000 complete
 [                       1%                       ]  6 of 1000 complete
 [                       1%                       ]  7 of 1000 complete
 [                       1%                       ]  8 of 1000 complete
 [                       1%                       ]  9 of 1000 complete
 [                       1%                       ]  10 of 1000 complete
 [                       1%                       ]  11 of 1000 complete
 [                       1%                       ]  12 of 1000 complete
 [                       1%                       ]  13 of 1000 complete
 [                       1%                       ]  14 of 1000 complete
 [*                      2%                       ]  15 of 1000 complete
 [*                      2%                       ]  16 of 1000 complete
 [*                      2%                       ]  17 of 1000 complete
 [*                      2%                       ]  18 of 1000 complete
 [*                      2%                       ]  19 of 1000 complete
 [*                      2%                       ]  20 of 1000 complete
 [*                      2%                       ]  21 of 1000 complete
 [*                      2%                       ]  22 of 1000 complete
 [*                      2%                       ]  23 of 1000 complete
 [*                      2%                       ]  24 of 1000 complete
 [*                      3%                       ]  25 of 1000 complete
 [*                      3%                       ]  26 of 1000 complete
 [*                      3%                       ]  27 of 1000 complete
 [*                      3%                       ]  28 of 1000 complete
 [*                      3%                       ]  29 of 1000 complete
 [*                      3%                       ]  30 of 1000 complete
 [*                      3%                       ]  31 of 1000 complete
 [*                      3%                       ]  32 of 1000 complete
 [*                      3%                       ]  33 of 1000 complete
 [*                      3%                       ]  34 of 1000 complete
 [**                     4%                       ]  35 of 1000 complete
 [**                     4%                       ]  36 of 1000 complete
 [**                     4%                       ]  37 of 1000 complete
 [**                     4%                       ]  38 of 1000 complete
 [**                     4%                       ]  39 of 1000 complete
 [**                     4%                       ]  40 of 1000 complete
 [**                     4%                       ]  41 of 1000 complete
 [**                     4%                       ]  42 of 1000 complete
 [**                     4%                       ]  43 of 1000 complete
 [**                     4%                       ]  44 of 1000 complete
 [**                     5%                       ]  45 of 1000 complete
 [**                     5%                       ]  46 of 1000 complete
 [**                     5%                       ]  47 of 1000 complete
 [**                     5%                       ]  48 of 1000 complete
 [**                     5%                       ]  49 of 1000 complete
 [**                     5%                       ]  50 of 1000 complete
 [**                     5%                       ]  51 of 1000 complete
 [**                     5%                       ]  52 of 1000 complete
 [**                     5%                       ]  53 of 1000 complete
 [**                     5%                       ]  54 of 1000 complete
 [***                    6%                       ]  55 of 1000 complete
 [***                    6%                       ]  56 of 1000 complete
 [***                    6%                       ]  57 of 1000 complete
 [***                    6%                       ]  58 of 1000 complete
 [***                    6%                       ]  59 of 1000 complete
 [***                    6%                       ]  60 of 1000 complete
 [***                    6%                       ]  61 of 1000 complete
 [***                    6%                       ]  62 of 1000 complete
 [***                    6%                       ]  63 of 1000 complete
 [***                    6%                       ]  64 of 1000 complete
 [***                    7%                       ]  65 of 1000 complete
 [***                    7%                       ]  66 of 1000 complete
 [***                    7%                       ]  67 of 1000 complete
 [***                    7%                       ]  68 of 1000 complete
 [***                    7%                       ]  69 of 1000 complete
 [***                    7%                       ]  70 of 1000 complete
 [***                    7%                       ]  71 of 1000 complete
 [***                    7%                       ]  72 of 1000 complete
 [***                    7%                       ]  73 of 1000 complete
 [***                    7%                       ]  74 of 1000 complete
 [****                   8%                       ]  75 of 1000 complete
 [****                   8%                       ]  76 of 1000 complete
 [****                   8%                       ]  77 of 1000 complete
 [****                   8%                       ]  78 of 1000 complete
 [****                   8%                       ]  79 of 1000 complete
 [****                   8%                       ]  80 of 1000 complete
 [****                   8%                       ]  81 of 1000 complete
 [****                   8%                       ]  82 of 1000 complete
 [****                   8%                       ]  83 of 1000 complete
 [****                   8%                       ]  84 of 1000 complete
 [****                   9%                       ]  85 of 1000 complete
 [****                   9%                       ]  86 of 1000 complete
 [****                   9%                       ]  87 of 1000 complete
 [****                   9%                       ]  88 of 1000 complete
 [****                   9%                       ]  89 of 1000 complete
 [****                   9%                       ]  90 of 1000 complete
 [****                   9%                       ]  91 of 1000 complete
 [****                   9%                       ]  92 of 1000 complete
 [****                   9%                       ]  93 of 1000 complete
 [****                   9%                       ]  94 of 1000 complete
 [*****                 10%                       ]  95 of 1000 complete
 [*****                 10%                       ]  96 of 1000 complete
 [*****                 10%                       ]  97 of 1000 complete
 [*****                 10%                       ]  98 of 1000 complete
 [*****                 10%                       ]  99 of 1000 complete
 [*****                 10%                       ]  100 of 1000 complete
 [*****                 10%                       ]  101 of 1000 complete
 [*****                 10%                       ]  102 of 1000 complete
 [*****                 10%                       ]  103 of 1000 complete
 [*****                 10%                       ]  104 of 1000 complete
 [*****                 11%                       ]  105 of 1000 complete
 [*****                 11%                       ]  106 of 1000 complete
 [*****                 11%                       ]  107 of 1000 complete
 [*****                 11%                       ]  108 of 1000 complete
 [*****                 11%                       ]  109 of 1000 complete
 [*****                 11%                       ]  110 of 1000 complete
 [*****                 11%                       ]  111 of 1000 complete
 [*****                 11%                       ]  112 of 1000 complete
 [*****                 11%                       ]  113 of 1000 complete
 [*****                 11%                       ]  114 of 1000 complete
 [******                12%                       ]  115 of 1000 complete
 [******                12%                       ]  116 of 1000 complete
 [******                12%                       ]  117 of 1000 complete
 [******                12%                       ]  118 of 1000 complete
 [******                12%                       ]  119 of 1000 complete
 [******                12%                       ]  120 of 1000 complete
 [******                12%                       ]  121 of 1000 complete
 [******                12%                       ]  122 of 1000 complete
 [******                12%                       ]  123 of 1000 complete
 [******                12%                       ]  124 of 1000 complete
 [******                13%                       ]  125 of 1000 complete
 [******                13%                       ]  126 of 1000 complete
 [******                13%                       ]  127 of 1000 complete
 [******                13%                       ]  128 of 1000 complete
 [******                13%                       ]  129 of 1000 complete
 [******                13%                       ]  130 of 1000 complete
 [******                13%                       ]  131 of 1000 complete
 [******                13%                       ]  132 of 1000 complete
 [******                13%                       ]  133 of 1000 complete
 [******                13%                       ]  134 of 1000 complete
 [*******               14%                       ]  135 of 1000 complete
 [*******               14%                       ]  136 of 1000 complete
 [*******               14%                       ]  137 of 1000 complete
 [*******               14%                       ]  138 of 1000 complete
 [*******               14%                       ]  139 of 1000 complete
 [*******               14%                       ]  140 of 1000 complete
 [*******               14%                       ]  141 of 1000 complete
 [*******               14%                       ]  142 of 1000 complete
 [*******               14%                       ]  143 of 1000 complete
 [*******               14%                       ]  144 of 1000 complete
 [*******               14%                       ]  145 of 1000 complete
 [*******               15%                       ]  146 of 1000 complete
 [*******               15%                       ]  147 of 1000 complete
 [*******               15%                       ]  148 of 1000 complete
 [*******               15%                       ]  149 of 1000 complete
 [*******               15%                       ]  150 of 1000 complete
 [*******               15%                       ]  151 of 1000 complete
 [*******               15%                       ]  152 of 1000 complete
 [*******               15%                       ]  153 of 1000 complete
 [*******               15%                       ]  154 of 1000 complete
 [********              16%                       ]  155 of 1000 complete
 [********              16%                       ]  156 of 1000 complete
 [********              16%                       ]  157 of 1000 complete
 [********              16%                       ]  158 of 1000 complete
 [********              16%                       ]  159 of 1000 complete
 [********              16%                       ]  160 of 1000 complete
 [********              16%                       ]  161 of 1000 complete
 [********              16%                       ]  162 of 1000 complete
 [********              16%                       ]  163 of 1000 complete
 [********              16%                       ]  164 of 1000 complete
 [********              17%                       ]  165 of 1000 complete
 [********              17%                       ]  166 of 1000 complete
 [********              17%                       ]  167 of 1000 complete
 [********              17%                       ]  168 of 1000 complete
 [********              17%                       ]  169 of 1000 complete
 [********              17%                       ]  170 of 1000 complete
 [********              17%                       ]  171 of 1000 complete
 [********              17%                       ]  172 of 1000 complete
 [********              17%                       ]  173 of 1000 complete
 [********              17%                       ]  174 of 1000 complete
 [*********             18%                       ]  175 of 1000 complete
 [*********             18%                       ]  176 of 1000 complete
 [*********             18%                       ]  177 of 1000 complete
 [*********             18%                       ]  178 of 1000 complete
 [*********             18%                       ]  179 of 1000 complete
 [*********             18%                       ]  180 of 1000 complete
 [*********             18%                       ]  181 of 1000 complete
 [*********             18%                       ]  182 of 1000 complete
 [*********             18%                       ]  183 of 1000 complete
 [*********             18%                       ]  184 of 1000 complete
 [*********             19%                       ]  185 of 1000 complete
 [*********             19%                       ]  186 of 1000 complete
 [*********             19%                       ]  187 of 1000 complete
 [*********             19%                       ]  188 of 1000 complete
 [*********             19%                       ]  189 of 1000 complete
 [*********             19%                       ]  190 of 1000 complete
 [*********             19%                       ]  191 of 1000 complete
 [*********             19%                       ]  192 of 1000 complete
 [*********             19%                       ]  193 of 1000 complete
 [*********             19%                       ]  194 of 1000 complete
 [**********            20%                       ]  195 of 1000 complete
 [**********            20%                       ]  196 of 1000 complete
 [**********            20%                       ]  197 of 1000 complete
 [**********            20%                       ]  198 of 1000 complete
 [**********            20%                       ]  199 of 1000 complete
 [**********            20%                       ]  200 of 1000 complete
 [**********            20%                       ]  201 of 1000 complete
 [**********            20%                       ]  202 of 1000 complete
 [**********            20%                       ]  203 of 1000 complete
 [**********            20%                       ]  204 of 1000 complete
 [**********            21%                       ]  205 of 1000 complete
 [**********            21%                       ]  206 of 1000 complete
 [**********            21%                       ]  207 of 1000 complete
 [**********            21%                       ]  208 of 1000 complete
 [**********            21%                       ]  209 of 1000 complete
 [**********            21%                       ]  210 of 1000 complete
 [**********            21%                       ]  211 of 1000 complete
 [**********            21%                       ]  212 of 1000 complete
 [**********            21%                       ]  213 of 1000 complete
 [**********            21%                       ]  214 of 1000 complete
 [***********           22%                       ]  215 of 1000 complete
 [***********           22%                       ]  216 of 1000 complete
 [***********           22%                       ]  217 of 1000 complete
 [***********           22%                       ]  218 of 1000 complete
 [***********           22%                       ]  219 of 1000 complete
 [***********           22%                       ]  220 of 1000 complete
 [***********           22%                       ]  221 of 1000 complete
 [***********           22%                       ]  222 of 1000 complete
 [***********           22%                       ]  223 of 1000 complete
 [***********           22%                       ]  224 of 1000 complete
 [***********           23%                       ]  225 of 1000 complete
 [***********           23%                       ]  226 of 1000 complete
 [***********           23%                       ]  227 of 1000 complete
 [***********           23%                       ]  228 of 1000 complete
 [***********           23%                       ]  229 of 1000 complete
 [***********           23%                       ]  230 of 1000 complete
 [***********           23%                       ]  231 of 1000 complete
 [***********           23%                       ]  232 of 1000 complete
 [***********           23%                       ]  233 of 1000 complete
 [***********           23%                       ]  234 of 1000 complete
 [************          24%                       ]  235 of 1000 complete
 [************          24%                       ]  236 of 1000 complete
 [************          24%                       ]  237 of 1000 complete
 [************          24%                       ]  238 of 1000 complete
 [************          24%                       ]  239 of 1000 complete
 [************          24%                       ]  240 of 1000 complete
 [************          24%                       ]  241 of 1000 complete
 [************          24%                       ]  242 of 1000 complete
 [************          24%                       ]  243 of 1000 complete
 [************          24%                       ]  244 of 1000 complete
 [************          25%                       ]  245 of 1000 complete
 [************          25%                       ]  246 of 1000 complete
 [************          25%                       ]  247 of 1000 complete
 [************          25%                       ]  248 of 1000 complete
 [************          25%                       ]  249 of 1000 complete
 [************          25%                       ]  250 of 1000 complete
 [************          25%                       ]  251 of 1000 complete
 [************          25%                       ]  252 of 1000 complete
 [************          25%                       ]  253 of 1000 complete
 [************          25%                       ]  254 of 1000 complete
 [************          26%                       ]  255 of 1000 complete
 [************          26%                       ]  256 of 1000 complete
 [************          26%                       ]  257 of 1000 complete
 [************          26%                       ]  258 of 1000 complete
 [************          26%                       ]  259 of 1000 complete
 [************          26%                       ]  260 of 1000 complete
 [************          26%                       ]  261 of 1000 complete
 [************          26%                       ]  262 of 1000 complete
 [************          26%                       ]  263 of 1000 complete
 [************          26%                       ]  264 of 1000 complete
 [*************         27%                       ]  265 of 1000 complete
 [*************         27%                       ]  266 of 1000 complete
 [*************         27%                       ]  267 of 1000 complete
 [*************         27%                       ]  268 of 1000 complete
 [*************         27%                       ]  269 of 1000 complete
 [*************         27%                       ]  270 of 1000 complete
 [*************         27%                       ]  271 of 1000 complete
 [*************         27%                       ]  272 of 1000 complete
 [*************         27%                       ]  273 of 1000 complete
 [*************         27%                       ]  274 of 1000 complete
 [*************         28%                       ]  275 of 1000 complete
 [*************         28%                       ]  276 of 1000 complete
 [*************         28%                       ]  277 of 1000 complete
 [*************         28%                       ]  278 of 1000 complete
 [*************         28%                       ]  279 of 1000 complete
 [*************         28%                       ]  280 of 1000 complete
 [*************         28%                       ]  281 of 1000 complete
 [*************         28%                       ]  282 of 1000 complete
 [*************         28%                       ]  283 of 1000 complete
 [*************         28%                       ]  284 of 1000 complete
 [*************         28%                       ]  285 of 1000 complete
 [**************        29%                       ]  286 of 1000 complete
 [**************        29%                       ]  287 of 1000 complete
 [**************        29%                       ]  288 of 1000 complete
 [**************        29%                       ]  289 of 1000 complete
 [**************        29%                       ]  290 of 1000 complete
 [**************        29%                       ]  291 of 1000 complete
 [**************        29%                       ]  292 of 1000 complete
 [**************        29%                       ]  293 of 1000 complete
 [**************        29%                       ]  294 of 1000 complete
 [**************        30%                       ]  295 of 1000 complete
 [**************        30%                       ]  296 of 1000 complete
 [**************        30%                       ]  297 of 1000 complete
 [**************        30%                       ]  298 of 1000 complete
 [**************        30%                       ]  299 of 1000 complete
 [**************        30%                       ]  300 of 1000 complete
 [**************        30%                       ]  301 of 1000 complete
 [**************        30%                       ]  302 of 1000 complete
 [**************        30%                       ]  303 of 1000 complete
 [**************        30%                       ]  304 of 1000 complete
 [***************       31%                       ]  305 of 1000 complete
 [***************       31%                       ]  306 of 1000 complete
 [***************       31%                       ]  307 of 1000 complete
 [***************       31%                       ]  308 of 1000 complete
 [***************       31%                       ]  309 of 1000 complete
 [***************       31%                       ]  310 of 1000 complete
 [***************       31%                       ]  311 of 1000 complete
 [***************       31%                       ]  312 of 1000 complete
 [***************       31%                       ]  313 of 1000 complete
 [***************       31%                       ]  314 of 1000 complete
 [***************       32%                       ]  315 of 1000 complete
 [***************       32%                       ]  316 of 1000 complete
 [***************       32%                       ]  317 of 1000 complete
 [***************       32%                       ]  318 of 1000 complete
 [***************       32%                       ]  319 of 1000 complete
 [***************       32%                       ]  320 of 1000 complete
 [***************       32%                       ]  321 of 1000 complete
 [***************       32%                       ]  322 of 1000 complete
 [***************       32%                       ]  323 of 1000 complete
 [***************       32%                       ]  324 of 1000 complete
 [****************      33%                       ]  325 of 1000 complete
 [****************      33%                       ]  326 of 1000 complete
 [****************      33%                       ]  327 of 1000 complete
 [****************      33%                       ]  328 of 1000 complete
 [****************      33%                       ]  329 of 1000 complete
 [****************      33%                       ]  330 of 1000 complete
 [****************      33%                       ]  331 of 1000 complete
 [****************      33%                       ]  332 of 1000 complete
 [****************      33%                       ]  333 of 1000 complete
 [****************      33%                       ]  334 of 1000 complete
 [****************      34%                       ]  335 of 1000 complete
 [****************      34%                       ]  336 of 1000 complete
 [****************      34%                       ]  337 of 1000 complete
 [****************      34%                       ]  338 of 1000 complete
 [****************      34%                       ]  339 of 1000 complete
 [****************      34%                       ]  340 of 1000 complete
 [****************      34%                       ]  341 of 1000 complete
 [****************      34%                       ]  342 of 1000 complete
 [****************      34%                       ]  343 of 1000 complete
 [****************      34%                       ]  344 of 1000 complete
 [*****************     35%                       ]  345 of 1000 complete
 [*****************     35%                       ]  346 of 1000 complete
 [*****************     35%                       ]  347 of 1000 complete
 [*****************     35%                       ]  348 of 1000 complete
 [*****************     35%                       ]  349 of 1000 complete
 [*****************     35%                       ]  350 of 1000 complete
 [*****************     35%                       ]  351 of 1000 complete
 [*****************     35%                       ]  352 of 1000 complete
 [*****************     35%                       ]  353 of 1000 complete
 [*****************     35%                       ]  354 of 1000 complete
 [*****************     36%                       ]  355 of 1000 complete
 [*****************     36%                       ]  356 of 1000 complete
 [*****************     36%                       ]  357 of 1000 complete
 [*****************     36%                       ]  358 of 1000 complete
 [*****************     36%                       ]  359 of 1000 complete
 [*****************     36%                       ]  360 of 1000 complete
 [*****************     36%                       ]  361 of 1000 complete
 [*****************     36%                       ]  362 of 1000 complete
 [*****************     36%                       ]  363 of 1000 complete
 [*****************     36%                       ]  364 of 1000 complete
 [******************    37%                       ]  365 of 1000 complete
 [******************    37%                       ]  366 of 1000 complete
 [******************    37%                       ]  367 of 1000 complete
 [******************    37%                       ]  368 of 1000 complete
 [******************    37%                       ]  369 of 1000 complete
 [******************    37%                       ]  370 of 1000 complete
 [******************    37%                       ]  371 of 1000 complete
 [******************    37%                       ]  372 of 1000 complete
 [******************    37%                       ]  373 of 1000 complete
 [******************    37%                       ]  374 of 1000 complete
 [******************    38%                       ]  375 of 1000 complete
 [******************    38%                       ]  376 of 1000 complete
 [******************    38%                       ]  377 of 1000 complete
 [******************    38%                       ]  378 of 1000 complete
 [******************    38%                       ]  379 of 1000 complete
 [******************    38%                       ]  380 of 1000 complete
 [******************    38%                       ]  381 of 1000 complete
 [******************    38%                       ]  382 of 1000 complete
 [******************    38%                       ]  383 of 1000 complete
 [******************    38%                       ]  384 of 1000 complete
 [*******************   39%                       ]  385 of 1000 complete
 [*******************   39%                       ]  386 of 1000 complete
 [*******************   39%                       ]  387 of 1000 complete
 [*******************   39%                       ]  388 of 1000 complete
 [*******************   39%                       ]  389 of 1000 complete
 [*******************   39%                       ]  390 of 1000 complete
 [*******************   39%                       ]  391 of 1000 complete
 [*******************   39%                       ]  392 of 1000 complete
 [*******************   39%                       ]  393 of 1000 complete
 [*******************   39%                       ]  394 of 1000 complete
 [*******************   40%                       ]  395 of 1000 complete
 [*******************   40%                       ]  396 of 1000 complete
 [*******************   40%                       ]  397 of 1000 complete
 [*******************   40%                       ]  398 of 1000 complete
 [*******************   40%                       ]  399 of 1000 complete
 [*******************   40%                       ]  400 of 1000 complete
 [*******************   40%                       ]  401 of 1000 complete
 [*******************   40%                       ]  402 of 1000 complete
 [*******************   40%                       ]  403 of 1000 complete
 [*******************   40%                       ]  404 of 1000 complete
 [********************  41%                       ]  405 of 1000 complete
 [********************  41%                       ]  406 of 1000 complete
 [********************  41%                       ]  407 of 1000 complete
 [********************  41%                       ]  408 of 1000 complete
 [********************  41%                       ]  409 of 1000 complete
 [********************  41%                       ]  410 of 1000 complete
 [********************  41%                       ]  411 of 1000 complete
 [********************  41%                       ]  412 of 1000 complete
 [********************  41%                       ]  413 of 1000 complete
 [********************  41%                       ]  414 of 1000 complete
 [********************  42%                       ]  415 of 1000 complete
 [********************  42%                       ]  416 of 1000 complete
 [********************  42%                       ]  417 of 1000 complete
 [********************  42%                       ]  418 of 1000 complete
 [********************  42%                       ]  419 of 1000 complete
 [********************  42%                       ]  420 of 1000 complete
 [********************  42%                       ]  421 of 1000 complete
 [********************  42%                       ]  422 of 1000 complete
 [********************  42%                       ]  423 of 1000 complete
 [********************  42%                       ]  424 of 1000 complete
 [********************* 43%                       ]  425 of 1000 complete
 [********************* 43%                       ]  426 of 1000 complete
 [********************* 43%                       ]  427 of 1000 complete
 [********************* 43%                       ]  428 of 1000 complete
 [********************* 43%                       ]  429 of 1000 complete
 [********************* 43%                       ]  430 of 1000 complete
 [********************* 43%                       ]  431 of 1000 complete
 [********************* 43%                       ]  432 of 1000 complete
 [********************* 43%                       ]  433 of 1000 complete
 [********************* 43%                       ]  434 of 1000 complete
 [********************* 44%                       ]  435 of 1000 complete
 [********************* 44%                       ]  436 of 1000 complete
 [********************* 44%                       ]  437 of 1000 complete
 [********************* 44%                       ]  438 of 1000 complete
 [********************* 44%                       ]  439 of 1000 complete
 [********************* 44%                       ]  440 of 1000 complete
 [********************* 44%                       ]  441 of 1000 complete
 [********************* 44%                       ]  442 of 1000 complete
 [********************* 44%                       ]  443 of 1000 complete
 [********************* 44%                       ]  444 of 1000 complete
 [**********************45%                       ]  445 of 1000 complete
 [**********************45%                       ]  446 of 1000 complete
 [**********************45%                       ]  447 of 1000 complete
 [**********************45%                       ]  448 of 1000 complete
 [**********************45%                       ]  449 of 1000 complete
 [**********************45%                       ]  450 of 1000 complete
 [**********************45%                       ]  451 of 1000 complete
 [**********************45%                       ]  452 of 1000 complete
 [**********************45%                       ]  453 of 1000 complete
 [**********************45%                       ]  454 of 1000 complete
 [**********************46%                       ]  455 of 1000 complete
 [**********************46%                       ]  456 of 1000 complete
 [**********************46%                       ]  457 of 1000 complete
 [**********************46%                       ]  458 of 1000 complete
 [**********************46%                       ]  459 of 1000 complete
 [**********************46%                       ]  460 of 1000 complete
 [**********************46%                       ]  461 of 1000 complete
 [**********************46%                       ]  462 of 1000 complete
 [**********************46%                       ]  463 of 1000 complete
 [**********************46%                       ]  464 of 1000 complete
 [**********************47%                       ]  465 of 1000 complete
 [**********************47%                       ]  466 of 1000 complete
 [**********************47%                       ]  467 of 1000 complete
 [**********************47%                       ]  468 of 1000 complete
 [**********************47%                       ]  469 of 1000 complete
 [**********************47%                       ]  470 of 1000 complete
 [**********************47%                       ]  471 of 1000 complete
 [**********************47%                       ]  472 of 1000 complete
 [**********************47%                       ]  473 of 1000 complete
 [**********************47%                       ]  474 of 1000 complete
 [**********************48%                       ]  475 of 1000 complete
 [**********************48%                       ]  476 of 1000 complete
 [**********************48%                       ]  477 of 1000 complete
 [**********************48%                       ]  478 of 1000 complete
 [**********************48%                       ]  479 of 1000 complete
 [**********************48%                       ]  480 of 1000 complete
 [**********************48%                       ]  481 of 1000 complete
 [**********************48%                       ]  482 of 1000 complete
 [**********************48%                       ]  483 of 1000 complete
 [**********************48%                       ]  484 of 1000 complete
 [**********************49%                       ]  485 of 1000 complete
 [**********************49%                       ]  486 of 1000 complete
 [**********************49%                       ]  487 of 1000 complete
 [**********************49%                       ]  488 of 1000 complete
 [**********************49%                       ]  489 of 1000 complete
 [**********************49%                       ]  490 of 1000 complete
 [**********************49%                       ]  491 of 1000 complete
 [**********************49%                       ]  492 of 1000 complete
 [**********************49%                       ]  493 of 1000 complete
 [**********************49%                       ]  494 of 1000 complete
 [**********************50%                       ]  495 of 1000 complete
 [**********************50%                       ]  496 of 1000 complete
 [**********************50%                       ]  497 of 1000 complete
 [**********************50%                       ]  498 of 1000 complete
 [**********************50%                       ]  499 of 1000 complete
 [**********************50%                       ]  500 of 1000 complete
 [**********************50%                       ]  501 of 1000 complete
 [**********************50%                       ]  502 of 1000 complete
 [**********************50%                       ]  503 of 1000 complete
 [**********************50%                       ]  504 of 1000 complete
 [**********************51%                       ]  505 of 1000 complete
 [**********************51%                       ]  506 of 1000 complete
 [**********************51%                       ]  507 of 1000 complete
 [**********************51%                       ]  508 of 1000 complete
 [**********************51%                       ]  509 of 1000 complete
 [**********************51%                       ]  510 of 1000 complete
 [**********************51%                       ]  511 of 1000 complete
 [**********************51%                       ]  512 of 1000 complete
 [**********************51%                       ]  513 of 1000 complete
 [**********************51%                       ]  514 of 1000 complete
 [**********************52%                       ]  515 of 1000 complete
 [**********************52%                       ]  516 of 1000 complete
 [**********************52%                       ]  517 of 1000 complete
 [**********************52%                       ]  518 of 1000 complete
 [**********************52%                       ]  519 of 1000 complete
 [**********************52%                       ]  520 of 1000 complete
 [**********************52%                       ]  521 of 1000 complete
 [**********************52%                       ]  522 of 1000 complete
 [**********************52%                       ]  523 of 1000 complete
 [**********************52%                       ]  524 of 1000 complete
 [**********************53%                       ]  525 of 1000 complete
 [**********************53%                       ]  526 of 1000 complete
 [**********************53%                       ]  527 of 1000 complete
 [**********************53%                       ]  528 of 1000 complete
 [**********************53%                       ]  529 of 1000 complete
 [**********************53%                       ]  530 of 1000 complete
 [**********************53%                       ]  531 of 1000 complete
 [**********************53%                       ]  532 of 1000 complete
 [**********************53%                       ]  533 of 1000 complete
 [**********************53%                       ]  534 of 1000 complete
 [**********************54%*                      ]  535 of 1000 complete
 [**********************54%*                      ]  536 of 1000 complete
 [**********************54%*                      ]  537 of 1000 complete
 [**********************54%*                      ]  538 of 1000 complete
 [**********************54%*                      ]  539 of 1000 complete
 [**********************54%*                      ]  540 of 1000 complete
 [**********************54%*                      ]  541 of 1000 complete
 [**********************54%*                      ]  542 of 1000 complete
 [**********************54%*                      ]  543 of 1000 complete
 [**********************54%*                      ]  544 of 1000 complete
 [**********************55%*                      ]  545 of 1000 complete
 [**********************55%*                      ]  546 of 1000 complete
 [**********************55%*                      ]  547 of 1000 complete
 [**********************55%*                      ]  548 of 1000 complete
 [**********************55%*                      ]  549 of 1000 complete
 [**********************55%*                      ]  550 of 1000 complete
 [**********************55%*                      ]  551 of 1000 complete
 [**********************55%*                      ]  552 of 1000 complete
 [**********************55%*                      ]  553 of 1000 complete
 [**********************55%*                      ]  554 of 1000 complete
 [**********************56%**                     ]  555 of 1000 complete
 [**********************56%**                     ]  556 of 1000 complete
 [**********************56%**                     ]  557 of 1000 complete
 [**********************56%**                     ]  558 of 1000 complete
 [**********************56%**                     ]  559 of 1000 complete
 [**********************56%**                     ]  560 of 1000 complete
 [**********************56%**                     ]  561 of 1000 complete
 [**********************56%**                     ]  562 of 1000 complete
 [**********************56%**                     ]  563 of 1000 complete
 [**********************56%**                     ]  564 of 1000 complete
 [**********************56%**                     ]  565 of 1000 complete
 [**********************57%**                     ]  566 of 1000 complete
 [**********************57%**                     ]  567 of 1000 complete
 [**********************57%**                     ]  568 of 1000 complete
 [**********************57%**                     ]  569 of 1000 complete
 [**********************57%**                     ]  570 of 1000 complete
 [**********************57%**                     ]  571 of 1000 complete
 [**********************57%**                     ]  572 of 1000 complete
 [**********************57%**                     ]  573 of 1000 complete
 [**********************57%**                     ]  574 of 1000 complete
 [**********************57%**                     ]  575 of 1000 complete
 [**********************58%***                    ]  576 of 1000 complete
 [**********************58%***                    ]  577 of 1000 complete
 [**********************58%***                    ]  578 of 1000 complete
 [**********************58%***                    ]  579 of 1000 complete
 [**********************58%***                    ]  580 of 1000 complete
 [**********************58%***                    ]  581 of 1000 complete
 [**********************58%***                    ]  582 of 1000 complete
 [**********************58%***                    ]  583 of 1000 complete
 [**********************58%***                    ]  584 of 1000 complete
 [**********************59%***                    ]  585 of 1000 complete
 [**********************59%***                    ]  586 of 1000 complete
 [**********************59%***                    ]  587 of 1000 complete
 [**********************59%***                    ]  588 of 1000 complete
 [**********************59%***                    ]  589 of 1000 complete
 [**********************59%***                    ]  590 of 1000 complete
 [**********************59%***                    ]  591 of 1000 complete
 [**********************59%***                    ]  592 of 1000 complete
 [**********************59%***                    ]  593 of 1000 complete
 [**********************59%***                    ]  594 of 1000 complete
 [**********************60%****                   ]  595 of 1000 complete
 [**********************60%****                   ]  596 of 1000 complete
 [**********************60%****                   ]  597 of 1000 complete
 [**********************60%****                   ]  598 of 1000 complete
 [**********************60%****                   ]  599 of 1000 complete
 [**********************60%****                   ]  600 of 1000 complete
 [**********************60%****                   ]  601 of 1000 complete
 [**********************60%****                   ]  602 of 1000 complete
 [**********************60%****                   ]  603 of 1000 complete
 [**********************60%****                   ]  604 of 1000 complete
 [**********************61%****                   ]  605 of 1000 complete
 [**********************61%****                   ]  606 of 1000 complete
 [**********************61%****                   ]  607 of 1000 complete
 [**********************61%****                   ]  608 of 1000 complete
 [**********************61%****                   ]  609 of 1000 complete
 [**********************61%****                   ]  610 of 1000 complete
 [**********************61%****                   ]  611 of 1000 complete
 [**********************61%****                   ]  612 of 1000 complete
 [**********************61%****                   ]  613 of 1000 complete
 [**********************61%****                   ]  614 of 1000 complete
 [**********************62%*****                  ]  615 of 1000 complete
 [**********************62%*****                  ]  616 of 1000 complete
 [**********************62%*****                  ]  617 of 1000 complete
 [**********************62%*****                  ]  618 of 1000 complete
 [**********************62%*****                  ]  619 of 1000 complete
 [**********************62%*****                  ]  620 of 1000 complete
 [**********************62%*****                  ]  621 of 1000 complete
 [**********************62%*****                  ]  622 of 1000 complete
 [**********************62%*****                  ]  623 of 1000 complete
 [**********************62%*****                  ]  624 of 1000 complete
 [**********************63%*****                  ]  625 of 1000 complete
 [**********************63%*****                  ]  626 of 1000 complete
 [**********************63%*****                  ]  627 of 1000 complete
 [**********************63%*****                  ]  628 of 1000 complete
 [**********************63%*****                  ]  629 of 1000 complete
 [**********************63%*****                  ]  630 of 1000 complete
 [**********************63%*****                  ]  631 of 1000 complete
 [**********************63%*****                  ]  632 of 1000 complete
 [**********************63%*****                  ]  633 of 1000 complete
 [**********************63%*****                  ]  634 of 1000 complete
 [**********************64%******                 ]  635 of 1000 complete
 [**********************64%******                 ]  636 of 1000 complete
 [**********************64%******                 ]  637 of 1000 complete
 [**********************64%******                 ]  638 of 1000 complete
 [**********************64%******                 ]  639 of 1000 complete
 [**********************64%******                 ]  640 of 1000 complete
 [**********************64%******                 ]  641 of 1000 complete
 [**********************64%******                 ]  642 of 1000 complete
 [**********************64%******                 ]  643 of 1000 complete
 [**********************64%******                 ]  644 of 1000 complete
 [**********************65%******                 ]  645 of 1000 complete
 [**********************65%******                 ]  646 of 1000 complete
 [**********************65%******                 ]  647 of 1000 complete
 [**********************65%******                 ]  648 of 1000 complete
 [**********************65%******                 ]  649 of 1000 complete
 [**********************65%******                 ]  650 of 1000 complete
 [**********************65%******                 ]  651 of 1000 complete
 [**********************65%******                 ]  652 of 1000 complete
 [**********************65%******                 ]  653 of 1000 complete
 [**********************65%******                 ]  654 of 1000 complete
 [**********************66%*******                ]  655 of 1000 complete
 [**********************66%*******                ]  656 of 1000 complete
 [**********************66%*******                ]  657 of 1000 complete
 [**********************66%*******                ]  658 of 1000 complete
 [**********************66%*******                ]  659 of 1000 complete
 [**********************66%*******                ]  660 of 1000 complete
 [**********************66%*******                ]  661 of 1000 complete
 [**********************66%*******                ]  662 of 1000 complete
 [**********************66%*******                ]  663 of 1000 complete
 [**********************66%*******                ]  664 of 1000 complete
 [**********************67%*******                ]  665 of 1000 complete
 [**********************67%*******                ]  666 of 1000 complete
 [**********************67%*******                ]  667 of 1000 complete
 [**********************67%*******                ]  668 of 1000 complete
 [**********************67%*******                ]  669 of 1000 complete
 [**********************67%*******                ]  670 of 1000 complete
 [**********************67%*******                ]  671 of 1000 complete
 [**********************67%*******                ]  672 of 1000 complete
 [**********************67%*******                ]  673 of 1000 complete
 [**********************67%*******                ]  674 of 1000 complete
 [**********************68%********               ]  675 of 1000 complete
 [**********************68%********               ]  676 of 1000 complete
 [**********************68%********               ]  677 of 1000 complete
 [**********************68%********               ]  678 of 1000 complete
 [**********************68%********               ]  679 of 1000 complete
 [**********************68%********               ]  680 of 1000 complete
 [**********************68%********               ]  681 of 1000 complete
 [**********************68%********               ]  682 of 1000 complete
 [**********************68%********               ]  683 of 1000 complete
 [**********************68%********               ]  684 of 1000 complete
 [**********************69%********               ]  685 of 1000 complete
 [**********************69%********               ]  686 of 1000 complete
 [**********************69%********               ]  687 of 1000 complete
 [**********************69%********               ]  688 of 1000 complete
 [**********************69%********               ]  689 of 1000 complete
 [**********************69%********               ]  690 of 1000 complete
 [**********************69%********               ]  691 of 1000 complete
 [**********************69%********               ]  692 of 1000 complete
 [**********************69%********               ]  693 of 1000 complete
 [**********************69%********               ]  694 of 1000 complete
 [**********************70%*********              ]  695 of 1000 complete
 [**********************70%*********              ]  696 of 1000 complete
 [**********************70%*********              ]  697 of 1000 complete
 [**********************70%*********              ]  698 of 1000 complete
 [**********************70%*********              ]  699 of 1000 complete
 [**********************70%*********              ]  700 of 1000 complete
 [**********************70%*********              ]  701 of 1000 complete
 [**********************70%*********              ]  702 of 1000 complete
 [**********************70%*********              ]  703 of 1000 complete
 [**********************70%*********              ]  704 of 1000 complete
 [**********************71%*********              ]  705 of 1000 complete
 [**********************71%*********              ]  706 of 1000 complete
 [**********************71%*********              ]  707 of 1000 complete
 [**********************71%*********              ]  708 of 1000 complete
 [**********************71%*********              ]  709 of 1000 complete
 [**********************71%*********              ]  710 of 1000 complete
 [**********************71%*********              ]  711 of 1000 complete
 [**********************71%*********              ]  712 of 1000 complete
 [**********************71%*********              ]  713 of 1000 complete
 [**********************71%*********              ]  714 of 1000 complete
 [**********************72%**********             ]  715 of 1000 complete
 [**********************72%**********             ]  716 of 1000 complete
 [**********************72%**********             ]  717 of 1000 complete
 [**********************72%**********             ]  718 of 1000 complete
 [**********************72%**********             ]  719 of 1000 complete
 [**********************72%**********             ]  720 of 1000 complete
 [**********************72%**********             ]  721 of 1000 complete
 [**********************72%**********             ]  722 of 1000 complete
 [**********************72%**********             ]  723 of 1000 complete
 [**********************72%**********             ]  724 of 1000 complete
 [**********************73%**********             ]  725 of 1000 complete
 [**********************73%**********             ]  726 of 1000 complete
 [**********************73%**********             ]  727 of 1000 complete
 [**********************73%**********             ]  728 of 1000 complete
 [**********************73%**********             ]  729 of 1000 complete
 [**********************73%**********             ]  730 of 1000 complete
 [**********************73%**********             ]  731 of 1000 complete
 [**********************73%**********             ]  732 of 1000 complete
 [**********************73%**********             ]  733 of 1000 complete
 [**********************73%**********             ]  734 of 1000 complete
 [**********************74%***********            ]  735 of 1000 complete
 [**********************74%***********            ]  736 of 1000 complete
 [**********************74%***********            ]  737 of 1000 complete
 [**********************74%***********            ]  738 of 1000 complete
 [**********************74%***********            ]  739 of 1000 complete
 [**********************74%***********            ]  740 of 1000 complete
 [**********************74%***********            ]  741 of 1000 complete
 [**********************74%***********            ]  742 of 1000 complete
 [**********************74%***********            ]  743 of 1000 complete
 [**********************74%***********            ]  744 of 1000 complete
 [**********************75%***********            ]  745 of 1000 complete
 [**********************75%***********            ]  746 of 1000 complete
 [**********************75%***********            ]  747 of 1000 complete
 [**********************75%***********            ]  748 of 1000 complete
 [**********************75%***********            ]  749 of 1000 complete
 [**********************75%***********            ]  750 of 1000 complete
 [**********************75%***********            ]  751 of 1000 complete
 [**********************75%***********            ]  752 of 1000 complete
 [**********************75%***********            ]  753 of 1000 complete
 [**********************75%***********            ]  754 of 1000 complete
 [**********************76%***********            ]  755 of 1000 complete
 [**********************76%***********            ]  756 of 1000 complete
 [**********************76%***********            ]  757 of 1000 complete
 [**********************76%***********            ]  758 of 1000 complete
 [**********************76%***********            ]  759 of 1000 complete
 [**********************76%***********            ]  760 of 1000 complete
 [**********************76%***********            ]  761 of 1000 complete
 [**********************76%***********            ]  762 of 1000 complete
 [**********************76%***********            ]  763 of 1000 complete
 [**********************76%***********            ]  764 of 1000 complete
 [**********************77%************           ]  765 of 1000 complete
 [**********************77%************           ]  766 of 1000 complete
 [**********************77%************           ]  767 of 1000 complete
 [**********************77%************           ]  768 of 1000 complete
 [**********************77%************           ]  769 of 1000 complete
 [**********************77%************           ]  770 of 1000 complete
 [**********************77%************           ]  771 of 1000 complete
 [**********************77%************           ]  772 of 1000 complete
 [**********************77%************           ]  773 of 1000 complete
 [**********************77%************           ]  774 of 1000 complete
 [**********************78%************           ]  775 of 1000 complete
 [**********************78%************           ]  776 of 1000 complete
 [**********************78%************           ]  777 of 1000 complete
 [**********************78%************           ]  778 of 1000 complete
 [**********************78%************           ]  779 of 1000 complete
 [**********************78%************           ]  780 of 1000 complete
 [**********************78%************           ]  781 of 1000 complete
 [**********************78%************           ]  782 of 1000 complete
 [**********************78%************           ]  783 of 1000 complete
 [**********************78%************           ]  784 of 1000 complete
 [**********************79%*************          ]  785 of 1000 complete
 [**********************79%*************          ]  786 of 1000 complete
 [**********************79%*************          ]  787 of 1000 complete
 [**********************79%*************          ]  788 of 1000 complete
 [**********************79%*************          ]  789 of 1000 complete
 [**********************79%*************          ]  790 of 1000 complete
 [**********************79%*************          ]  791 of 1000 complete
 [**********************79%*************          ]  792 of 1000 complete
 [**********************79%*************          ]  793 of 1000 complete
 [**********************79%*************          ]  794 of 1000 complete
 [**********************80%*************          ]  795 of 1000 complete
 [**********************80%*************          ]  796 of 1000 complete
 [**********************80%*************          ]  797 of 1000 complete
 [**********************80%*************          ]  798 of 1000 complete
 [**********************80%*************          ]  799 of 1000 complete
 [**********************80%*************          ]  800 of 1000 complete
 [**********************80%*************          ]  801 of 1000 complete
 [**********************80%*************          ]  802 of 1000 complete
 [**********************80%*************          ]  803 of 1000 complete
 [**********************80%*************          ]  804 of 1000 complete
 [**********************81%**************         ]  805 of 1000 complete
 [**********************81%**************         ]  806 of 1000 complete
 [**********************81%**************         ]  807 of 1000 complete
 [**********************81%**************         ]  808 of 1000 complete
 [**********************81%**************         ]  809 of 1000 complete
 [**********************81%**************         ]  810 of 1000 complete
 [**********************81%**************         ]  811 of 1000 complete
 [**********************81%**************         ]  812 of 1000 complete
 [**********************81%**************         ]  813 of 1000 complete
 [**********************81%**************         ]  814 of 1000 complete
 [**********************82%**************         ]  815 of 1000 complete
 [**********************82%**************         ]  816 of 1000 complete
 [**********************82%**************         ]  817 of 1000 complete
 [**********************82%**************         ]  818 of 1000 complete
 [**********************82%**************         ]  819 of 1000 complete
 [**********************82%**************         ]  820 of 1000 complete
 [**********************82%**************         ]  821 of 1000 complete
 [**********************82%**************         ]  822 of 1000 complete
 [**********************82%**************         ]  823 of 1000 complete
 [**********************82%**************         ]  824 of 1000 complete
 [**********************83%***************        ]  825 of 1000 complete
 [**********************83%***************        ]  826 of 1000 complete
 [**********************83%***************        ]  827 of 1000 complete
 [**********************83%***************        ]  828 of 1000 complete
 [**********************83%***************        ]  829 of 1000 complete
 [**********************83%***************        ]  830 of 1000 complete
 [**********************83%***************        ]  831 of 1000 complete
 [**********************83%***************        ]  832 of 1000 complete
 [**********************83%***************        ]  833 of 1000 complete
 [**********************83%***************        ]  834 of 1000 complete
 [**********************84%***************        ]  835 of 1000 complete
 [**********************84%***************        ]  836 of 1000 complete
 [**********************84%***************        ]  837 of 1000 complete
 [**********************84%***************        ]  838 of 1000 complete
 [**********************84%***************        ]  839 of 1000 complete
 [**********************84%***************        ]  840 of 1000 complete
 [**********************84%***************        ]  841 of 1000 complete
 [**********************84%***************        ]  842 of 1000 complete
 [**********************84%***************        ]  843 of 1000 complete
 [**********************84%***************        ]  844 of 1000 complete
 [**********************85%****************       ]  845 of 1000 complete
 [**********************85%****************       ]  846 of 1000 complete
 [**********************85%****************       ]  847 of 1000 complete
 [**********************85%****************       ]  848 of 1000 complete
 [**********************85%****************       ]  849 of 1000 complete
 [**********************85%****************       ]  850 of 1000 complete
 [**********************85%****************       ]  851 of 1000 complete
 [**********************85%****************       ]  852 of 1000 complete
 [**********************85%****************       ]  853 of 1000 complete
 [**********************85%****************       ]  854 of 1000 complete
 [**********************86%****************       ]  855 of 1000 complete
 [**********************86%****************       ]  856 of 1000 complete
 [**********************86%****************       ]  857 of 1000 complete
 [**********************86%****************       ]  858 of 1000 complete
 [**********************86%****************       ]  859 of 1000 complete
 [**********************86%****************       ]  860 of 1000 complete
 [**********************86%****************       ]  861 of 1000 complete
 [**********************86%****************       ]  862 of 1000 complete
 [**********************86%****************       ]  863 of 1000 complete
 [**********************86%****************       ]  864 of 1000 complete
 [**********************87%*****************      ]  865 of 1000 complete
 [**********************87%*****************      ]  866 of 1000 complete
 [**********************87%*****************      ]  867 of 1000 complete
 [**********************87%*****************      ]  868 of 1000 complete
 [**********************87%*****************      ]  869 of 1000 complete
 [**********************87%*****************      ]  870 of 1000 complete
 [**********************87%*****************      ]  871 of 1000 complete
 [**********************87%*****************      ]  872 of 1000 complete
 [**********************87%*****************      ]  873 of 1000 complete
 [**********************87%*****************      ]  874 of 1000 complete
 [**********************88%*****************      ]  875 of 1000 complete
 [**********************88%*****************      ]  876 of 1000 complete
 [**********************88%*****************      ]  877 of 1000 complete
 [**********************88%*****************      ]  878 of 1000 complete
 [**********************88%*****************      ]  879 of 1000 complete
 [**********************88%*****************      ]  880 of 1000 complete
 [**********************88%*****************      ]  881 of 1000 complete
 [**********************88%*****************      ]  882 of 1000 complete
 [**********************88%*****************      ]  883 of 1000 complete
 [**********************88%*****************      ]  884 of 1000 complete
 [**********************89%******************     ]  885 of 1000 complete
 [**********************89%******************     ]  886 of 1000 complete
 [**********************89%******************     ]  887 of 1000 complete
 [**********************89%******************     ]  888 of 1000 complete
 [**********************89%******************     ]  889 of 1000 complete
 [**********************89%******************     ]  890 of 1000 complete
 [**********************89%******************     ]  891 of 1000 complete
 [**********************89%******************     ]  892 of 1000 complete
 [**********************89%******************     ]  893 of 1000 complete
 [**********************89%******************     ]  894 of 1000 complete
 [**********************90%******************     ]  895 of 1000 complete
 [**********************90%******************     ]  896 of 1000 complete
 [**********************90%******************     ]  897 of 1000 complete
 [**********************90%******************     ]  898 of 1000 complete
 [**********************90%******************     ]  899 of 1000 complete
 [**********************90%******************     ]  900 of 1000 complete
 [**********************90%******************     ]  901 of 1000 complete
 [**********************90%******************     ]  902 of 1000 complete
 [**********************90%******************     ]  903 of 1000 complete
 [**********************90%******************     ]  904 of 1000 complete
 [**********************91%*******************    ]  905 of 1000 complete
 [**********************91%*******************    ]  906 of 1000 complete
 [**********************91%*******************    ]  907 of 1000 complete
 [**********************91%*******************    ]  908 of 1000 complete
 [**********************91%*******************    ]  909 of 1000 complete
 [**********************91%*******************    ]  910 of 1000 complete
 [**********************91%*******************    ]  911 of 1000 complete
 [**********************91%*******************    ]  912 of 1000 complete
 [**********************91%*******************    ]  913 of 1000 complete
 [**********************91%*******************    ]  914 of 1000 complete
 [**********************92%*******************    ]  915 of 1000 complete
 [**********************92%*******************    ]  916 of 1000 complete
 [**********************92%*******************    ]  917 of 1000 complete
 [**********************92%*******************    ]  918 of 1000 complete
 [**********************92%*******************    ]  919 of 1000 complete
 [**********************92%*******************    ]  920 of 1000 complete
 [**********************92%*******************    ]  921 of 1000 complete
 [**********************92%*******************    ]  922 of 1000 complete
 [**********************92%*******************    ]  923 of 1000 complete
 [**********************92%*******************    ]  924 of 1000 complete
 [**********************93%********************   ]  925 of 1000 complete
 [**********************93%********************   ]  926 of 1000 complete
 [**********************93%********************   ]  927 of 1000 complete
 [**********************93%********************   ]  928 of 1000 complete
 [**********************93%********************   ]  929 of 1000 complete
 [**********************93%********************   ]  930 of 1000 complete
 [**********************93%********************   ]  931 of 1000 complete
 [**********************93%********************   ]  932 of 1000 complete
 [**********************93%********************   ]  933 of 1000 complete
 [**********************93%********************   ]  934 of 1000 complete
 [**********************94%********************   ]  935 of 1000 complete
 [**********************94%********************   ]  936 of 1000 complete
 [**********************94%********************   ]  937 of 1000 complete
 [**********************94%********************   ]  938 of 1000 complete
 [**********************94%********************   ]  939 of 1000 complete
 [**********************94%********************   ]  940 of 1000 complete
 [**********************94%********************   ]  941 of 1000 complete
 [**********************94%********************   ]  942 of 1000 complete
 [**********************94%********************   ]  943 of 1000 complete
 [**********************94%********************   ]  944 of 1000 complete
 [**********************95%*********************  ]  945 of 1000 complete
 [**********************95%*********************  ]  946 of 1000 complete
 [**********************95%*********************  ]  947 of 1000 complete
 [**********************95%*********************  ]  948 of 1000 complete
 [**********************95%*********************  ]  949 of 1000 complete
 [**********************95%*********************  ]  950 of 1000 complete
 [**********************95%*********************  ]  951 of 1000 complete
 [**********************95%*********************  ]  952 of 1000 complete
 [**********************95%*********************  ]  953 of 1000 complete
 [**********************95%*********************  ]  954 of 1000 complete
 [**********************96%*********************  ]  955 of 1000 complete
 [**********************96%*********************  ]  956 of 1000 complete
 [**********************96%*********************  ]  957 of 1000 complete
 [**********************96%*********************  ]  958 of 1000 complete
 [**********************96%*********************  ]  959 of 1000 complete
 [**********************96%*********************  ]  960 of 1000 complete
 [**********************96%*********************  ]  961 of 1000 complete
 [**********************96%*********************  ]  962 of 1000 complete
 [**********************96%*********************  ]  963 of 1000 complete
 [**********************96%*********************  ]  964 of 1000 complete
 [**********************97%********************** ]  965 of 1000 complete
 [**********************97%********************** ]  966 of 1000 complete
 [**********************97%********************** ]  967 of 1000 complete
 [**********************97%********************** ]  968 of 1000 complete
 [**********************97%********************** ]  969 of 1000 complete
 [**********************97%********************** ]  970 of 1000 complete
 [**********************97%********************** ]  971 of 1000 complete
 [**********************97%********************** ]  972 of 1000 complete
 [**********************97%********************** ]  973 of 1000 complete
 [**********************97%********************** ]  974 of 1000 complete
 [**********************98%********************** ]  975 of 1000 complete
 [**********************98%********************** ]  976 of 1000 complete
 [**********************98%********************** ]  977 of 1000 complete
 [**********************98%********************** ]  978 of 1000 complete
 [**********************98%********************** ]  979 of 1000 complete
 [**********************98%********************** ]  980 of 1000 complete
 [**********************98%********************** ]  981 of 1000 complete
 [**********************98%********************** ]  982 of 1000 complete
 [**********************98%********************** ]  983 of 1000 complete
 [**********************98%********************** ]  984 of 1000 complete
 [**********************99%***********************]  985 of 1000 complete
 [**********************99%***********************]  986 of 1000 complete
 [**********************99%***********************]  987 of 1000 complete
 [**********************99%***********************]  988 of 1000 complete
 [**********************99%***********************]  989 of 1000 complete
 [**********************99%***********************]  990 of 1000 complete
 [**********************99%***********************]  991 of 1000 complete
 [**********************99%***********************]  992 of 1000 complete
 [**********************99%***********************]  993 of 1000 complete
 [**********************99%***********************]  994 of 1000 complete
 [*********************100%***********************]  995 of 1000 complete
 [*********************100%***********************]  996 of 1000 complete
 [*********************100%***********************]  997 of 1000 complete
 [*********************100%***********************]  998 of 1000 complete
 [*********************100%***********************]  999 of 1000 complete
 [*********************100%***********************]  1000 of 1000 complete